CFC For S7 e
CFC For S7 e
Preface, Contents
Essentials of CFC 1
Documentation 5
Manual
Appendices
Technical Specifications A
Abbreviations B
Index
Edition 01/2005
A5E00345244-01
Safety Guidelines
This manual contains notices you have to observe in order to ensure your personal safety, as well as to
prevent damage to property. The notices referring to your personal safety are highlighted in the manual
by a safety alert symbol, notices referring to property damage only have no safety alert symbol. The
notices shown below are graded according to the degree of danger.
Danger
! indicates that death or severe personal injury will result if proper precautions are not taken.
Warning
! indicates that death or severe personal injury may result if proper precautions are not taken.
Caution
! with a safety alert symbol indicates that minor personal injury can result if proper precautions are not
taken.
Caution
without a safety alert symbol indicates that property damage can result if proper precautions are not
taken.
Attention
indicates that an unintended result or situation can occur if the corresponding notice is not taken into
account.
If more than one degree of danger is present, the warning notice representing the highest degree of
danger will be used. A notice warning of injury to persons with a safety alert symbol may also include a
warning relating to property damage.
Qualified Personnel
The device/system may only be set up and used in conjunction with this documentation. Commissioning
and operation of a device/system may only be performed by qualified personnel. Within the context of
the safety notices in this documentation qualified persons are defined as persons who are authorized to
commission, ground and label devices, systems and circuits in accordance with established safety
practices and standards.
Prescribed Usage
Note the following:
Warning
! This device and its components may only be used for the applications described in the catalog or the
technical description, and only in connection with devices or components from other manufacturers
which have been approved or recommended by Siemens.
Correct, reliable operation of the product requires proper transport, storage, positioning and assembly
as well as careful operation and maintenance.
Trademarks
All names identified by ® are registered trademarks of the Siemens AG.
The remaining trademarks in this publication may be trademarks whose use by third parties for their
own purposes could violate the rights of the owner.
Copyright Siemens AG 2005 All rights reserved Disclaimer of Liability
The distribution and duplication of this document or the utilization We have reviewed the contents of this publication to ensure
and transmission of its contents are not permitted without express consistency with the hardware and software described. Since
written permission. Offenders will be liable for damages. All rights, variance cannot be precluded entirely, we cannot guarantee full
including rights created by patent grant or registration of a utility consistency. However, the information in this publication is
model or design, are reserved reviewed regularly and any necessary corrections are included
in subsequent editions.
Siemens AG
Automation and Drives Siemens AG 2005
Postfach 4848, 90327 Nuremberg, Germany Technical data subject to change.
Siemens Aktiengesellschaft A5E00345244-01
Preface
For a complete description of CFC for other systems, you also require the
supplementary CFC descriptions for the particular system
(for example, "CFC for M7").
Audience
This manual is intended for personnel involved in configuring, commissioning, and
service.
Validity
This manual is valid for CFC software version 6.1 and higher.
Standard
The CFC software is based on the international standard DIN EN 61131-3
(IEC 1131-3) for programming languages for programmable logic controllers.
Conventions
References to other documentation are indicated by numbers in slashes /.../.
Based on the number, you can check the full title of the documentation in the
References at the end of the manual.
CFC for S7
A5E00345244-01 iii
Preface
Further Support
If you have any technical questions, please get in touch with your Siemens
representative or agent responsible.
You will find your contact person at:
http://www.siemens.com/automation/partner
You will find a guide to the technical documentation offered for the individual
SIMATIC Products and Systems here at:
http://www.siemens.com/simatic-tech-doku-portal
The online catalog and order system is found under:
http://mall.ad.siemens.com/
Training Centers
Siemens offers a number of training courses to familiarize you with the
SIMATIC S7 automation system. Please contact your regional training center or
our central training center in D 90327 Nuremberg, Germany for details:
Telephone: +49 (911) 895-3200.
Internet: http://www.sitrain.com
CFC for S7
iv A5E00345244-01
Preface
Technical Support
You can reach the Technical Support for all A&D products
• Via the Web formula for the Support Request
http://www.siemens.com/automation/support-request
• Phone: + 49 180 5050 222
• Fax: + 49 180 5050 223
Additional information about our Technical Support can be found on the Internet
pages http://www.siemens.com/automation/service
CFC for S7
A5E00345244-01 v
Preface
CFC for S7
vi A5E00345244-01
Contents
CFC for S7
A5E00345244-01 vii
Contents
CFC for S7
viii A5E00345244-01
Contents
5 Documentation 5-1
5.1 Printing a CFC...................................................................................................5-1
5.1.1 Footer ................................................................................................................5-2
5.2 Chart Reference Data .......................................................................................5-3
5.2.1 Lists of the Chart Reference Data.....................................................................5-4
5.3 Logs...................................................................................................................5-4
A Technical Specifications A-1
A.1 [S7] Technical Specifications ........................................................................... A-1
A.2 Field/Name Lengths and Conventions ............................................................. A-2
A.3 [S7] Data types................................................................................................. A-3
B Abbreviations B-1
Index
CFC for S7
A5E00345244-01 ix
Contents
CFC for S7
x A5E00345244-01
1 Essentials of CFC
Introduction
This chapter provides you with basic information about CFC, shows how it fits into
the STEP 7 software package, describes the block concept, and explains the steps
required from creating the project structure to testing the program.
For a description of installation, authorization, and starting up the CFC software,
refer to the readme file shipped with the CFC package.
1.1 General
What is CFC?
CFC (Continuous Function Chart) is a graphic editor that can be used in
conjunction with the STEP 7 software package. It is used to create the entire
software structure of the CPU from ready-made blocks. When working with the
editor, you place blocks on function charts, assign parameters to them, and
interconnect them.
Interconnecting means, for example, that values are transferred from one output to
one or more inputs during communication between the blocks.
CFC for S7
A5E00345244-01 1-1
Essentials of CFC
SIMATIC Manager
The SIMATIC Manager is used for all PLCs as the graphic interface to coordinate
the tools and objects. The SIMATIC Manager manages tools and data and is used,
for example, for creating and modifying a project structure (CPU, CFC charts) and
to start the CFC Editor.
SIMATIC Manager
WinCC
STEP 7 Tool
CFC
AS3xx OS
AS4xx
Further Components
Depending on your programmable controller, you can use further components, for
example different language packages for creating block types and tools for creating
input data for the CFC charts such as I/O data that you can reference from within
CFC.
CFC for S7
1-2 A5E00345244-01
Essentials of CFC
Overflow Page
If there are so many interconnections to other sheets, so that not all entries can be
included because the sheet bar is full, an overflow page is created automatically.
The overflow page is an extension of the sheet bars and contains no further
objects.
Nested Charts
A CFC chart can be inserted in another CFC chart (chart-in-chart technique). This
allows hierarchical structures to be created. Each inserted chart can be opened just
like any other chart, edited, and individually modified.
A chart can be “encapsulated" for further use; in other words, it is given chart I/Os.
For each chart, you can decide which block I/Os are available at the chart I/Os.
For further information about creating nested charts, refer to this manual, Chapter 3
or look in the online help.
CFC for S7
A5E00345244-01 1-3
Essentials of CFC
Display in a Chart
You can customize the display of the various chart elements. With blocks, you can,
for example, decide whether the type name or the FB/FC assignment is displayed
in the block headers and whether the data type and I/O name or the comment is
displayed for I/Os. The width of the blocks and the sheet bars is variable The wide
display of blocks shows the I/Os and names, the narrow display shows only the
names.
For more detailed information, refer to the online help.
Sheet 1 Sheet 4
Sheet 2 Sheet 5
Sheet 3 Sheet 6
CFC for S7
1-4 A5E00345244-01
Essentials of CFC
setpo1
W_DW DW_R
Contr
PID_S 2 OB100
BOEN ENO BO
BOCOM_RTS QLMNUP BO
BOLMNR_HS OLMNDN BO
_
BOLMNR_LS PV RE
BOLMNR_ON ER RE
BOLMNUP PROC_S
BOLMNDN
BOPVPER_ON
stre_sim 1 OB100
TICYCLE BO EN ENO BO
RESP_INT _
BO INV_UP OUTV RE
manvar
_
REPN_IN _
BO INV_DOWN LMNR RE
W PV_PER BO COM_RST OLMNR_HS BO
RERAIN TI CYCLE QLMNR_LS BO
TITI RE DISV
REDEADB W TI MTR_TM
_
RE PV_FAC RE GAIN
REPV_OFF _
RE LMNR_HLM
_
TI PULSE_TM _
RE LMNR_LLM
TI BRAK_TM TI TM_LAG1
TI MTR_TM TI TM_LAG2
RE DISV TI TM_LAG3
distur1
CFC for S7
A5E00345244-01 1-5
Essentials of CFC
CFC for S7
1-6 A5E00345244-01
Essentials of CFC
Block Families
Blocks are grouped together according to their functional properties to form block
families. When it is created, each block receives a family identifier. The following
blocks, for example, make up block families:
- the conversion blocks for adapting various data types
CONVERT (BO_BY, BY_DW, W_DW, ... etc.).
- the multiplexer blocks =
MULTIPLX (MUX8_R, MUXn_DI, ... etc.)
- the blocks with math (floating point) functions
MATH_FP (SQRT, ADD_R, ... etc.)
The names of the block families are used, among other things as a criterion for
sorting blocks in the CFC catalog.
Organization Blocks
The interface between the operating system of the CPU and the user program are
the tasks known in S7 as organization blocks (OBs). Using these OBs, specific
program sections can be executed at certain times and in certain situations. There
are OBs for CPU startup (cold restart, hot restart), for process interrupts, for cyclic
interrupts (with different time bases) etc.
Organization blocks or tasks are not blocks in the sense understood in CFC; they
can neither be inserted nor edited in CFC. After calling the run sequence editor, the
blocks placed in the CFC chart are displayed in the OBs in the order in which they
are processed.
CFC for S7
A5E00345244-01 1-7
Essentials of CFC
Further Distinctions
Blocks also differ in their type. When a block is created, it must be “declared" as a
function block (FB), a function (FC) or a basic operation (BOP).
• An FB is a block with memory; in other words, the data exist during processing
from cycle to cycle and can be accessed. To make this data accessible, a data
block (DB) is created for each block instance. In a complex block, the FB has
further subsidiary FBs for which only one common DB is created.
• An FC is a block without memory; in other words, the values generated by the
block are processed immediately. No data block is required here. An FC does
not have default values at the outputs.
• A BOP (like the FC) is also a block without memory. Basic operations are
program components in CFC that are entered as SCL statements during
compilation and are used for simple functions such as AND, OR etc.
CFC for S7
1-8 A5E00345244-01
Essentials of CFC
Blocks: Here, you will find the existing (imported) blocks and BOPs sorted
alphabetically under "All Blocks" and according to families and the blocks of the
current S7 program that you can insert in the chart.
From this window, you can also insert a text box (new text) and a nested chart
(new chart) in the current chart.
Libraries:Here you will find the block libraries from which you can insert new
blocks into the chart. The libraries known to the SIMATIC Manager are
displayed.
The blocks are sorted in alphabetical order under "All Blocks" and according to
families.
From this window, you can also insert a text box (new text) and a nested chart
(new chart) in the current chart.
Charts: Here, you will find the CFC charts of the current S7 program that you
can insert (copy) or open.
Unplaced blocks: Here, you will find the blocks of the current program that are
no longer displayed in a CFC chart. The CFC chart to which the blocks were
assigned is also displayed here. The catalog is displayed only when unplaced
blocks exist.
In the lower part of the catalog, you will find the following buttons:
Find block or chart: You can specify a block or chart name in the box and
search for it with the “Find" button. The folder (for example of the block family) in
which the object is located is opened. You only need to type the first few letters.
The search stops when an object with these letters is found. During the search, a
dialog box with a progress bar is displayed. Here, you can also stop the search if
it takes too long.
Close folders: Below the “Find" button there is a “Close" button. With this
button, you can close all the open folders in the catalog.
CFC for S7
A5E00345244-01 1-9
Essentials of CFC
Message Blocks
When you insert a block with message capability into the CFC chart, a message is
created automatically. This block has a message structure with default attributes
and message texts; in other words, the PLC sends the message when an event
occurs without any extra configuration on the part of the user. The signals that form
messages can also have associated values that allow dynamic values to be
entered in the message texts.
You can edit the attributes (such as message class, message type) and the
message texts for the individual block instances with the message configuration
functions (Special Properties: “Messages"). If the “Messages" button is not
activated, the block is not capable of sending messages.
AS-OS Communication
When you have completed configuring the messages, the data required on the OS
for communication between the AS and OS is transferred to the OS (OS
compilation). Depending on the selection, this data is transferred to one or more
destination operator stations and is used on these stations by graphic objects or
faceplates. To make this transfer, the “AS-OS Engineering" software package must
be installed.
For more detailed information compiling the OS , refer to the online help of AS-OS
Engineering.
CFC for S7
1-10 A5E00345244-01
Essentials of CFC
Import Blocks
The way in which block types are included and, in some cases, imported depends
on the PLC.
For more detailed information, refer to Section 3.3.1.
CFC for S7
A5E00345244-01 1-11
Essentials of CFC
CFC for S7
1-12 A5E00345244-01
2 First Steps
Introduction
This chapter “First Steps" is intended as a primer for newcomers to CFC who want
to get to know the package quickly. The example is divided into various tasks and
guides you step-by-step from the simplest configuration jobs to the creation of a
chart with chart I/Os and blocks in CFC.
Note:
You will find a ready-made example in the SIMATIC Manager as follows:
File > Open... > “Sample projects" tab > ZDt04_01_CFC (German).
(English: ZEn..., French: ZFr..., Spanish: ZEs..., Italian: ZIt...)
In this example, it is assumed that CFC will be used in the STEP 7 environment.
This means that the STEP 7 standard package, SCL, and CFC are installed. The
PLC used is either S7-300 or S7-400.
You can create the sample project “CFCEXA_2" described below with the
SIMATIC Manager.
CFC for S7
A5E00345244-01 2-1
First Steps
CFC for S7
2-2 A5E00345244-01
First Steps
Aim
You will now create a controller with process simulation in which the process is
simulated by a sliding average value. You will use two blocks for this, SAMP_AVE
and CONT_C. The SAMP_AVE block forms the average value from a number of
input values and the CONT_C is a PID controller that controls this variable average
value.
The “”Process
block simulates the process The “”Contr
block controls the process variable
Contr
CONT_C OB35
Process Continuous PID 1/-
2. In the catalog, click the button of the libraries. Here you can open the
CFC Library. This is a collection of block libraries.
3. Now open the folder ELEM_300. This is a library with blocks suitable for the
S7-3xx CPU. If you are using the S7-4xx CPU, open the folder ELEM_400.
You can drag blocks from the list that appears to the chart.
In the folder, the blocks are stored sorted in block families or are all
together in alphabetical order in "All Blocks" .
4. Click on the + character in front of the "All Blocks", folder to expand it.
5. Click CONT_C, hold down the mouse button and drag the block to the chart.
Position it to the top right on sheet 1.
6. Then take the block SAMP_AVE and position it on the left beside the CONT_C
block.
CFC for S7
A5E00345244-01 2-3
First Steps
7. Double-click on a free position close to the two blocks to change to the sheet
You can also interconnect in the opposite order: First click on the input and
then the output. As an alternative, you can also drag a block I/O to the I/O you
want to interconnect using the mouse.
The two blocks are now interconnected.
CFC for S7
2-4 A5E00345244-01
First Steps
4. Some I/Os that are currently invisible will, however, be needed later in the test
mode to input values. We will make these visible again.
MAN_ON
SP_INT
PV_IN
MAN
GAIN
TN
TV
DEADB_W
LMN.
Setting Parameters for the I/Os and Selecting Them for Testing
1. In the "Inputs/Outputs" tab, go to the column "Watched" and set all the visible
I/Os.
2. In the "Value" column, enter "20" for SP_INT
(this is the default setpoint for the controller).
Close the Object Properties by clicking "OK".
You can also set parameters directly for an individual I/O:
1. Double-click the block input MAN_ON of the controller.
2. In the "Value" box, change the "1" to "0".
This disables the "Manual Mode" that would interrupt the control loop.
3. Close the dialog box by clicking "OK".
Follow the same procedure with the SAMP_AVE block (using the Properties dialog
of the individual I/Os or in the Properties dialog of the block as described below).
1. Double-click the SAMP_AVE block header. Name this block “Process".
2. In the "Inputs/Outputs" tab, set the input N in the "Watched" column (if it is nor
already set).
3. In the "Value" column, enter the value "30" for N.
(This is the number of input values to be used for the average value.)
4. Close the dialog box by clicking "OK".
The blocks are now interconnected and have the parameters required for our
process simulation.
CFC for S7
A5E00345244-01 2-5
First Steps
CFC for S7
2-6 A5E00345244-01
First Steps
CFC for S7
A5E00345244-01 2-7
First Steps
The Result
In this part of the example, you have got to know the elementary aspects of
configuring in CFC. You have created a project with the SIMATIC Manager,
created a CFC chart, and inserted blocks from a library. You have interconnected
the blocks and set parameters. You have created an executable program and
downloaded it to the CPU. In the test mode, you were able to monitor and modify
the dynamic response of the control loop.
CFC for S7
2-8 A5E00345244-01
First Steps
Introduction
The blocks of a chart have certain run-time properties. These run-time properties
determine when and in which order the blocks are executed on the CPU. To
structure their execution, the blocks are installed in OBs.
In this example, the default installation of the blocks is in OB35 (cyclic interrupt 100
ms) and because they are also involved in a restart, they are installed in OB100
(warm restart).
So that you do not need to worry about the run sequence for every block, CFC
installs the blocks one after the other after a particular block. This block is also the
"Predecessor for Installation" for a block installed later. This attribute is
automatically passed on to the last block to be installed. In the CFC status bar (to
the bottom right in the window) and due to the light-green color of the runtime
properties box of the block, you can see which block is currently the "Predecessor
for Installation".
When you create a CFC chart, a run-time group is created automatically and has
the same name as the chart.
You can assign attributes to the run-time group that decide the scan rate of the OB
cycle and the phase offset with which the blocks are executed.
CFC for S7
A5E00345244-01 2-9
First Steps
CFC for S7
2-10 A5E00345244-01
First Steps
(Later, you will learn a more elegant method of "rewiring" without deleting and
interconnecting again).
3. Click LMN of "Contr2" and then IN of "Process1".
4. Click OUT of "Process1" and then PV_IN of "Contr2".
With the blocks positioned as shown, the interconnection appears as follows:
Branch
Contr1
CONT_C OB 35
Process Continuous PID 1/3
SAMP_AVE 0 BO MAN_ON LMN R
OB 35
Sliding averag 1/4 20.0 R SP_INT
R IN OUT R R PV_IN
30 I N 0.0 R MAN
2.0 R GAIN
20s TI TN
10s TI TV
0.0 R DEADB_W
Contr2
CONT_C OB 35
Continuous PID 1/5
0 BO MAN_ON LMN R
R SP_INT
R PV_IN
0.0 R MAN
2.0 R GAIN
20s TI TN
10s TI TV
0.0 R DEADB_W
CFC for S7
A5E00345244-01 2-11
First Steps
The Result
In this part, you have learnt that the blocks of the CFC chart have certain run-time
properties on the CPU and that you can modify them. You have also seen that
substructures known as run-time groups are used in the run sequence and which
attributes you can assign to them.
You have copied blocks within a chart and seen that the interconnections between
the blocks are retained. You have modified interconnections and once again
created an executable program. You have seen the difference between
downloading the entire program and downloading changes only.
CFC for S7
2-12 A5E00345244-01
First Steps
Preparations
1. Create a new chart by clicking in the toolbar. In the dialog box, enter the
object name : "Sim_reg" and confirm with "OK". The new chart is displayed.
2. By clicking on in the toolbar, the chart "Sim_reg" and the chart "Control"
are displayed one beside the other.
6. Open the block catalog in the catalog by clicking on the button and then
on the block family MULTIPLX.
7. Drag the block SEL_R to sheet 1 and give it the name "Switch" (in the
Properties dialog).
To include the "Switch" block in our example, you must now "rewire" an existing
interconnection; In other words you modify an interconnection without deleting the
existing one.
8. On the "Contr" block, select the PV_IN input, hold down the mouse button and
drag the I/O to "Switch" IN1. The output OUT of "Process" is now connected to
IN1 of "Switch".
As an alternative, you could also delete the existing connection and create new
interconnections.
The output of "Switch" must now be connected to the input for the process variable
of "Contr".
9. Connect "Switch" OUT with "Contr" PV_IN.
The "Switch" now switches depending on the value of the input K, the value of the
input IN0 (K=1) or IN1 (K=0) to output OUT.
In a real project, this would allow you to switch over between a process simulation
(IN1) and a real process (process value from the process connected to IN0).
CFC for S7
A5E00345244-01 2-13
First Steps
The sheet bar displays the I/O names and comments, I/O type, and data type
applied to the chart I/Os.
You have now created all the chart I/Os for the chart.
7. You can now close the window of the chart I/Os by clicking again and can
"tidy up" the chart to make it clearer to read.
CFC for S7
2-14 A5E00345244-01
First Steps
8. Move the blocks in the chart so that as few connection lines as possible cross
over other lines. One possible arrangement is shown below.
Switch
Process
Contr
CFC for S7
A5E00345244-01 2-15
First Steps
1. Click the button in the toolbar. In the dialog box, enter "Top Chart" in
Object name: and confirm with "OK". The new chart is displayed.
5. So that you can see that this is a copy of the previously created chart, open it
by selecting it and then selecting the Open command using the right mouse
button.
In the title bar, you will recognize that this is a "nested chart" by the path: ...\\Top
Chart\Sim_reg.
In the catalog of the charts, a + box is displayed in front of "Top Chart". By clicking
the box (or double-clicking the chart icon), you can open up the tree and the
hierarchy of the chart becomes visible: The "Sim_reg" chart is displayed in this
branch as an active chart (icon of the open folder).
To return to the top chart, you can select "Open Parent Chart" with the right mouse
button or select the path for the "Top Chart" in the "Window" menu.
The Result
In this part, you have learnt how to edit a chart so that it has chart I/Os that allow it
to be interconnected to other block I/Os and to be used as often as required. You
have seen how a chart can be inserted like a block with the chart-in-chart
technique. You have seen that, in contrast to the block, the inserted chart can be
opened and modified.
With the chart-in-chart technique, you can create nested charts and therefore
create a structure according to technological aspects with greater clarity.
CFC for S7
2-16 A5E00345244-01
First Steps
FB number: 110
Symbolic name: REG_1
Name (header): REG_1
Family: CONTROL
Author: TEST
Version (Header): 0.1
5. Confirm the dialog box with "OK".
The compilation is started and progress is indicated in a dialog. After successful
compilation, the "FB110" block is in the block folder and the symbol name "REG_1
is entered in the symbol table.
CFC for S7
A5E00345244-01 2-17
First Steps
CPU. Click .
You receive a message that the program has been changed and must first be
compiled.
6. Answer the question "Do you want to compile now and then download?" with
"Yes".
You see a dialog box with the tabs "Compile Charts as Program" and
"Download S7".
7. Select "Scope: Changes" in both tabs and start with "OK".
8. Then change to the test mode to watch and change the I/Os of the
block.
With the SIM input, you can change over between internal simulation (= 0) and
external process value (of the PV input) (= 1).
Final Comments
In this brief example, you have got to know a few of the possibilities available with
CFC. The exercises have illustrated how simply and conveniently you can create a
program for an automation task that can then be run on the CPU.
Once you have worked through this example, you will know CFC well enough to
start tackling more complex tasks.
The following chapters and the comprehensive online help of CFC will provide you
with more information.
CFC for S7
2-18 A5E00345244-01
3 Working with the CFC Editor
Overview
This chapter describes how to configure an entire software structure for a CPU
using the CFC editor.
Requirements
Using the SIMATIC Manager, you have created a project with a program folder for
a specific AS (for example an S7 program for SIMATIC S7) including a chart folder.
Note:
CFC is "upwards compatible", this means that programs modified with other tools
and not with the CFC editor lead to inconsistencies.
CFC for S7
A5E00345244-01 3-1
Working with the CFC Editor
Creating a Chart
You normally create a chart with the SIMATIC Manager (Menu command "Insert >
S7 Software > CFC"); this is, however, also possible directly in the CFC editor
("Chart > New" menu command). The name must be unique on the CPU (this is
checked by the system) and can be a maximum of 22 characters long.
When you create a new chart, a new run-time group is created automatically and
installed in the run sequence according to the chart installation pointer. The name
of the run-time group matches the chart name.
Opening a Chart
You can open a chart with the SIMATIC Manager. Select a project and the project
folder, open the charts folder and double-click the required chart to open it and
start the CFC editor at the same time.
In the CFC Editor, the "Chart" menu always displays the last four charts that you
edited (and closed) as a menu item. If you select one of these names, the
corresponding chart is opened or if it is already open it is displayed.
You can open a chart that is not displayed in the "Chart" menu by selecting the
"Chart > Open" menu command, selecting the project in the dialog box, selecting
the program folder and the "CFC" object type and opening the selected chart by
double-clicking it.
CFC for S7
3-2 A5E00345244-01
Working with the CFC Editor
Copying/Moving a Chart
Copying entire charts allows you to duplicate or move structures or substructures
you have tested, even to other CPUs.
When you copy/move charts, the resources (block types, FBs and FCs including
symbols and the system attributes and the called blocks of multiple instance
blocks), are also copied if they do not already exist in the destination.
Remember that the Copy/Move function has effects on existing interconnections
and blocks etc. If a block type in the destination CPU is incompatible with the block
type you are copying (number, order, name, and data types of the block I/Os), the
chart will not be copied.
In this case, before you copy the chart again:
- You must copy the relevant block type either to the block folder of the
source program or to the block folder of the destination program.
- Select the block type in the "Chart Folder" box with the menu command
"Options > Block Types..." and make a central block type change with the
"New Version" button.
The copied blocks retain the run-time properties of the blocks from the source
CPU; in other words, they are installed in the run sequence as they were installed
in the source CPU. If no task with the same name exists on the destination CPU, a
log with the missing tasks is output and the copy function is rejected.
If you copy/move a chart to another chart folder, the interconnections that go to
other charts become textual interconnections. These open textual
interconnections can be closed again (made into real block interconnections) if the
chart with the interconnection partners is also copied or moved to this chart folder
or if the chart is copied/moved back to the original folder.
If textual interconnections already exist in a chart and the chart is copied/moved,
the textual interconnections are taken with the chart.
For more information on textual interconnections, refer to Section 3.6.3.
When copying charts, remember that interconnections to shared addresses are
also copied depending on the default setting. You can make this setting in the
"Settings for Copying/Moving" dialog box (menu command "Options > Customize >
Copy/Move...").
CFC charts can also be copied/moved between different target systems (for
example SIMATIC S7 ↔ SIMATIC M7). Once again, the block types used in both
target systems must be identical; in other words, they must be compatible since
they are not copied.
Closing/Deleting Charts
Since all the changes in the chart are saved immediately, you can close the chart
or exit the editor at any time.
You can delete a CFC chart in the SIMATIC Manager.
CFC for S7
A5E00345244-01 3-3
Working with the CFC Editor
Chart partition A
Chart "CFC1" Chart partition B
Chart partition C
Chart partition D
CFC for S7
3-4 A5E00345244-01
Working with the CFC Editor
Depending on the view (sheet or overview), the ID of the current chart partition is
displayed along with the sheet number or with "Overview" in the status bar.
Example:
You can only delete the active chart partition. If the active chart partition is empty,
it is deleted after you select the "Edit > Delete Chart Partition" menu command. If
the chart partition contains objects, you will be prompted for confirmation before it
is deleted.
With the "View > Chart Inputs/Outputs" menu command or the button in the
toolbar, you can open (and close) the "Chart Inputs/Outputs" window.
The procedure for creating chart I/Os is described in detail in the example in
Section 2.4.1.
System Attributes
Just as in blocks, you can also assign system attributes to the individual chart I/Os
of a chart.
A chart with chart I/Os does not have system attributes itself (apart from those of
the I/Os). You can assign these attributes when the chart is compiled as a block
type (see Section 3.11.2).
CFC for S7
A5E00345244-01 3-5
Working with the CFC Editor
Notes:
• You can only interconnect unconnected I/Os with the chart I/Os if the I/Os have
a compatible data type.
• If an I/O is already interconnected, it is not possible to change the data type.
• Chart outputs cannot be assigned parameters if they are interconnected.
Remedy: You assign parameters to the output of the block; this value is then
entered for the corresponding chart output.
• With inputs, you can assign the chart I/O to several block/chart inputs.
CFC for S7
3-6 A5E00345244-01
Working with the CFC Editor
Navigating in a Chart
To open a nested chart, select the chart within its parent chart and select the
"Open" menu command with the right mouse button or in the "Edit" menu. You can
also open the chart by double-clicking a free position in the body (not the header or
I/O). By repeating this, you can work down to the lowest chart nested in the
hierarchy.
To move up through the hierarchy (as far as the top chart), select the nested chart
and then select the "Open Parent Chart" menu command with the right mouse
button or in the "Chart" menu.
You can also open a chart in the chart catalog. Select a chart and then select the
"Open" menu command with the right mouse button.
CFC for S7
A5E00345244-01 3-7
Working with the CFC Editor
Interconnecting
If the nested chart has I/Os, you can interconnect it in the chart with other nested
charts, with blocks, or with shared addresses.
How to assign block I/Os to the chart I/Os is described in Section 2.4.1. You can
use the same procedure when you want to connect the chart I/Os of nested charts
to chart I/Os of charts higher up in the hierarchy.
You can also make this interconnection if you select a block/chart I/O and then
select "Connection to Chart I/O..." with the right mouse button or in the "Insert"
menu. The "Chart Inputs/Outputs" window does not need to be open. A dialog box
is displayed with the list of all available I/Os; in other words if you have selected an
input, a list of chart I/Os of the type "IN", and if you have selected an output, a list
of the type "OUT".
Note:
Remember that the chart you have inserted by dragging it from the chart catalog
to the current CFC chart is a copy. This nested chart no longer has any
relationship to the original chart; in other words, modifications that you make in
one of the charts are only available in that chart.
Replacing
You can replace a nested chart with another (nested) chart. The interconnections
of the "old chart" are retained in the new chart as far as possible.
To replace a nested chart, drag and drop the new chart from the charts catalog
directly over the nested chart you want to replace. The chart is replaced when the
mouse pointer was positioned within the chart you are replacing and you answered
the prompt as to whether or not the chart should be replaced with "OK".
This "replace" function can, for example, be useful if you have configured nested
charts as encapsulated functions and intend them for different uses. The following
situation might arise:
You have encapsulated a (sub)function as a nested chart and interconnected the
nested chart in a chart. The subfunction is, for example, a controller for a
ventilation system of which there are different variants depending on where they
are used. Within the overall structure, these variants can be interchanged without
needing to change interconnections.
CFC for S7
3-8 A5E00345244-01
Working with the CFC Editor
Help
The online help provides you with a description of the blocks shipped with CFC that
you can display by clicking the block with the "Help arrow" (in the CFC chart, in the
block folder or in the catalog) or by pressing F1 for the selected block.
Note:
The "CFC Library" contains the blocks for the CPU 3xxx in the "ELEM_300" folder.
These blocks cannot be run on a CPU 4xxx.
Number Conflict
If a block type is imported, and already exists with the same object name (block
number, for example FB61) but with a different symbolic name, a dialog opens in
which you can rename the block (same response as in the SIMATIC Manager
when copying blocks with the same object name).
CFC for S7
A5E00345244-01 3-9
Working with the CFC Editor
Note:
The central block change is not made if the category of the block type has been
changed (for example FB <--> FC).
The idea of central block type changes relates to FBs and FCs. The types of
BOPs cannot be changed since they are an integral part of CFC.
CFC for S7
3-10 A5E00345244-01
Working with the CFC Editor
Same Version
If you import block types and the same version already exists in the chart folder,
you will be informed that you do not need to import and will see a list of the
identical block types.
Blocks in Libraries
If you have made a type change to blocks that were previously only in the library,
please remember to include the blocks in the S7 program (block folder) first before
you update the blocks in the chart folder with "New Version".
If you have made a type change to blocks within the S7 program (in the block
folder), please remember that the library may also be updated.
CFC for S7
A5E00345244-01 3-11
Working with the CFC Editor
If the interface description (block I/Os) or the system attributes of a block type are
changed in the CFC chart, all instance blocks are automatically adapted.
Depending on the change to the interface, this may have effects that require further
action.
CFC for S7
3-12 A5E00345244-01
Working with the CFC Editor
Effects on WinCC
• If a block type is changed, DBs with new DB numbers can be created by
compressing and compiling. To ensure online access is retained, the data must
be transferred to WinCC again (OS compilation).
• If block I/Os intended for operator control and monitoring are affected (attribute
S7_m_c=true), the following rules apply:
- If an I/O is added, this is known in WinCC following the OS compilation and
can be used in WinCC.
- If an I/O is deleted, the WinCC tag no longer exists. The existing
interconnection(s) must also be deleted in WinCC.
- If the name of an I/O is changed, the name of the WinCC tag also
changes. The interconnections of the picture elements, block icons and
faceplates must be adapted.
• Whenever a change is made that affects WinCC, a new OS compilation is
necessary.
CFC for S7
A5E00345244-01 3-13
Working with the CFC Editor
Inserting in a Chart
You can insert blocks both in the sheet view and in the overview.
You can select a block type from other charts from the catalog of the blocks or
libraries and drag it to your chart. These are copied automatically to the current S7
program and imported into the CFC chart. They then also appear in the block
catalog (in a family of CFC blocks and in "All Blocks").
If you drag the block to a position where there is not enough space for the current
block size, it is inserted as an "overlapping block". The block I/Os of overlapping
blocks are not visible and the header and body are displayed in light gray. Once
you move this block to a free position, it is displayed as normal.
If you want to insert blocks from the "S7 Program" of the block catalog, please
remember the following:
These blocks in the S7 program are not yet known to CFC (even if a block of this
type has already been imported). This means that when you want to insert a block
from the S7 program into the chart, a check is always made to determine whether
the block has already been imported.
Blocks that have already been imported are in one of the block families or, if the
block is not assigned to a family (specified in the header), it will be in the "Other
Blocks" folder. There are also listed in alphabetical order in the "All Blocks" folder.
Note:
Inserting blocks from the block families is the fastest way of placing blocks in your
chart since no check is required. You should always select this method when a
block type has already been imported.
CFC for S7
3-14 A5E00345244-01
Working with the CFC Editor
You can drag a text box (icon: New Text) from the block catalog and insert it at
any position in the chart. You can enter text after you have opened the text box
with a single click. You can adapt the size of the box to the text you have entered.
For more detailed information about editing the text box, refer to the online help.
CFC for S7
A5E00345244-01 3-15
Working with the CFC Editor
CFC for S7
3-16 A5E00345244-01
Working with the CFC Editor
Note
You can jump from a selected block instance to the associated block type (Edit >
Go To > Block Type). If the source of the block is in the project, the relevant
editing tool is opened (LAD/STL/FBD or SCL) with which you can edit the block
type. Otherwise, LAD/STL/FBD is opened with which you can read information on
the block (Exception: The system attributes of the I/Os can be edited.).
"General" Tab
Here you can see all the properties adopted from the block type or created when
you inserted the block (and the system-specific options).
You can change the properties listed below for blocks and nested charts:
The Name of the block is unique throughout the entire chart and is displayed in the
block header (maximum 16 characters).
The Comment is a freely selectable text that appears in the block header. A
maximum of 14 characters of this comment are displayed in the block header. In
small blocks, a maximum of 7 characters are displayed.
The options listed below are only available with blocks:
Set the "Operator C and M possible" option when you intend the blocks to be
used for operator control and monitoring on an OS. This activates the "Operator
Control and Monitoring" button, the "Block icon" check box (includingh the input
box) and the "MES-relevant" check box.
The "Operator Control and Monitoring" button opens a dialog in which the block
I/Os that can be controlled and monitored are displayed with their WinCC attributes
that can be edited here.
Blocks intended for operator control and monitoring can be displayed in WinCC
with a block icon (with which a faceplate can be called). If there are different block
icons available for a block type, so that different variants of a type can be
distinguished (for example the MOTOR block as a motor, fan, pump etc.), these
can be assigned to specific instances.
In the input field, you specify which block icon will be displayed in WinCC for this
block.
With the MES-relevant check box, you decide whether or not the information of this
block is transferred to the enterprise levels MIS / MES when requested.
With the "Messages" button, you open the dialog box for configuring messages.
Here, you can edit the message texts.
CFC for S7
A5E00345244-01 3-17
Working with the CFC Editor
With the "Read-back enabled" check box, you can enable (default) or disable this
block for reading back.
"Inputs/Outputs" Tab
You can assign parameters to block I/Os, add comments to them, include them in
the watch list etc. see also Section 3.5.
CFC for S7
3-18 A5E00345244-01
Working with the CFC Editor
Note
In the properties dialogs, you can make several entries by editing or select them
from a drop-down list (for example, units, enumerations etc.). Using entries from a
drop-down list ensures a uniform notation in the various applications (for example,
process tag list, CFC editor, SFC editor) and avoids difficulties caused by using
special characters.
CFC for S7
A5E00345244-01 3-19
Working with the CFC Editor
icon in the toolbar or by selecting the menu commands "Edit > Invert Input" or
"Invert" in the context-sensitive menu.
As an alternative, you can also double-click the block input to open the Properties
dialog box and then set the "Inverted" check box.
Clearing an Inversion
To cancel the inversion, repeat the functions described above.
You can also cancel the inversion by deleting the interconnection at the input or
moving it to another input or making a new connection to the input.
Points to Note:
• If you copy a signal from an inverted input to another input, the new input is not
automatically inverted. You must invert an input explicitly.
• If you move an interconnection from an inverted input to a non-inverted input,
the new input is not automatically inverted and the inversion is canceled at the
input that is no longer interconnected.
• Inputs assigned to a chart I/O cannot be inverted.
Solution: Insert a NOT block into the connection.
CFC for S7
3-20 A5E00345244-01
Working with the CFC Editor
Note
When using the system attribute "S7_enum", system attributes of the type
"S7_string_0" ... "S7_string_25" that may exist at the same I/O are not effective.
CFC for S7
A5E00345244-01 3-21
Working with the CFC Editor
CFC for S7
3-22 A5E00345244-01
Working with the CFC Editor
In CFC, you can select the block I/Os intended for operator control and monitoring
(system attribute S7_m_c := 'true') for archiving in WinCC.
The I/Os identified as being relevant for archiving are created as archive tags
during compilation of the OS in the OS project and, if it does not already exist, a
process value archive is also created automatically.
Prerequisite: In the "Compile (Multiple) OSs" wizard, the option "Archive tags" is
set and in the object properties of the OS, the setting "Create/update archive tags"
is set.
If an I/O relevant for archiving is deleted later or is changed to "No archiving", the
corresponding archive tag is deleted the next time you compile the OS.
If there are no more archive-relevant I/Os available, the process value archive is
deleted if it also contains no more archive tags.
You can select the tags in the object properties of the I/O (for a single I/O) or in the
"Inputs/Outputs" tab in the object properties of the block (for multiple I/Os).
Procedure
In the drop-down list box of the input field, you can choose whether and how the
I/O will be archived:
• "No archiving" (S7_archive := 'false')
The I/O will not be archived (any longer).
• "Archiving" (S7_archive := 'shortterm')
The I/O will be archived on the OS or on an archive server.
• "Long-term archiving" (S7_archive := 'longterm')
The values archived on the OS or on the archive server will be stored for long-
term archiving on CD, DVD, MOD, tape ... .
The system attribute S7_archive is permitted for all OCM-capable I/Os of the data
type BOOL, BYTE, WORD, DWORD, INT, DINT and REAL.
Note
If a new block type is used in a project, the existing block instances remain
unchanged in terms of the system attribute "S7_archive". New instances of the
block type will inherit this attribute.
CFC for S7
A5E00345244-01 3-23
Working with the CFC Editor
The enterprise control levels MIS and MES require specific information from the
automation level. To ensure that only information relevant for MIS/MES is
transferred, the projects can be created with a suitable filter.
The system attribute "S7_mes := 'true'" is used as the filter and can be set for
blocks and block I/Os also intended for operator control monitoring (S7_m_c :=
'true'). The system attribute is specified by the block type and can be modified in
the block instances.
Procedure
• In the "Blocks" dialog, "General" tab, you can activate or deactivate the entire
block for the MIS/MES system by setting or resetting the "MES-relevant" check
box. The option can only be changed when "Operator C and M possible" is set.
• You can make the change to the system attribute (S7_mes := 'true') for
OCM-capable I/Os
- in the "Properties - Block" dialog in the "Inputs/Outputs" for several I/Os
or
- in the "Properties - Input/Output" dialog for a single I/O with the
"MES-relevant" check box.
CFC for S7
3-24 A5E00345244-01
Working with the CFC Editor
3.6 Interconnections
In a CFC chart, an interconnection is the connection between
• an output of a block/chart and
- one or more inputs of another or the same block or chart
- an output of a chart
- a run-time group (only BOOL data type)
- objects outside the CFC data management (for example shared
addresses)
• an input of a block/chart and
• an output of a different or the same block/chart
- a chart I/O (within a chart)
- objects outside the CFC data management (for example shared
addresses)
• The data types of the input and output must be compatible. The interconnected
blocks/charts can be in the same sheet, in different sheets of the same chart,
or in other charts belonging to the same CPU.
One special form of a block interconnection is the textual interconnection with
which the interconnection partner can also be located in a different chart folder or is
not even known yet (see Section 3.6.3).
You can also modify (rewire), copy, and delete these interconnections. By tracking
signals (see Section 3.6.6) and using the sheet bar jumps, you can navigate
through the chart.
You can make interconnections in the sheet view and overview. In the overview,
the mouse pointer shows you a screen tip for an I/O if you move the mouse pointer
slowly over the I/Os. This allows you to identify the required I/O and select it with a
mouse click.
Interconnections from one sheet to another or from one chart to another can be
created easily by opening several windows at the same time and using the sheet
view.
Note:
• Each interconnectable input or output of a block is displayed in the chart with
an I/O pin. Inputs that cannot be interconnected because the attribute "S7_link
:= false" is set can be recognized because the I/O pin is missing.
Not being interconnectable means that this input cannot be interconnected
either with the I/O of a block or nested chart or with shared addresses. If the
CFC chart has chart I/Os, it is nevertheless possible to connect the I/O to a
chart I/O of the same chart.
• There are certain interconnection rules for the block I/Os of the data types
ANY, STRING, STRUCT and DATE_AND_TIME.
For information on the interconnection rules, refer to the online help.
CFC for S7
A5E00345244-01 3-25
Working with the CFC Editor
Inserting
With the "Insert > Interconnection to Run-Time Group" menu command, you
display a dialog box with a list of all the OBs on the CPU and a list with the
corresponding run-time groups. After selecting the required run-time group (double-
click), the interconnection is entered in the sheet bar.
Deleting
If you delete the run-time group, the interconnection is automatically deleted. The
Enable attribute of the run-time group is set to "1" again.
To delete the run-time group, select the small field in the sheet bar and press "Del".
CFC for S7
3-26 A5E00345244-01
Working with the CFC Editor
Origin
A textual interconnection occurs
• automatically as a path reference (chart\block.I/O) with PH path (if it exists),
when copying or moving to a different chart folder. When copying, the textual
interconnection is produced at the input on the copy, and when moving both on
the moved object and on the remaining object if the corresponding output is no
longer in the same chart folder. The interconnection is deleted at the output if
the input is no longer in the same chart folder.
• when entered by the user at the input (select the input and right-click or with
the menu command “Insert > Textual Interconnection”)
- as a path reference (chart\block.I/O) with PH path (if it exists).
The interconnection is closed immediately if the interconnection partner is
located in the same chart folder. If the interconnection partner is placed in
the chart folder later, the interconnection can be closed using the menu
command "Options > Make Textual Interconnection". A real block
interconnection results.
- as an interconnection request (any character string containing a concrete
path reference, for example a comment). This interconnection request
cannot be closed (warning in the log) and must be interconnected manually
by the user.
• if there is a central type change if the data type of the interconnected I/Os no
longer matches after the change.
Please remember that a textual interconnection does not result
• if the source of an interconnection is deleted. In this case, the real
interconnection is deleted.
• with internal and connections to chart I/Os whose interconnection source
(nested chart or block) is deleted or moved. In this case, the assignment to the
chart I/O is lost.
• when there is a central type change involving a name change with interface
change. Note: If there is a name change without an interface change, the
interconnection remains.
CFC for S7
A5E00345244-01 3-27
Working with the CFC Editor
CFC for S7
3-28 A5E00345244-01
Working with the CFC Editor
General Information:
• A textual interconnection can be made up of a maximum of 512 printable
characters.
• A textual interconnection can coexist with a closed interconnection or another
textual interconnection.
• When a textual interconnection is closed, the actions and error messages are
listed in the log and displayed. You can view the log at any time with the menu
command "Options > Logs > Make Textual Interconnections tab".
• During compilation, open textual interconnections are tolerated; in other words,
a warning is generated and the compiler follows the procedure below:
- Input: The code is generated and the default value of the block type is
used for the open interconnection.
- Output: The interconnection is ignored in the generated code.
CFC for S7
A5E00345244-01 3-29
Working with the CFC Editor
SFC Access
A special form of interconnection is direct SFC access from actions or transitions to
inputs or outputs (of the block or nested chart) in the CFC chart. This type of SFC
access can be "rewired" in the CFC chart; in other words, it can be moved from
one I/O to a different I/O with a compatible data type. If the I/O is interconnected,
you can decide whether only the SFC access or also the interconnection will be
moved.
• Only move the SFC access: Hold down the ALT key and drag the selected
I/O to the required new I/O. The SFC access symbol is moved to the new I/O;
any existing interconnection is not moved.
• Move interconnection and SFC access: Drag the selected I/O to the required
new I/O. A message is displayed asking whether you want to move the SFC
accesses as well. If you answer with "yes", the interconnection and the SFC
access are moved, if you answer with "no" only the interconnection is moved.
• Delete the SFC access: You cannot delete an SFC access in the CFC chart.
In the CFC chart, a marker on the block I/O indicates these SFC accesses. Write
and read access are indicated differently.
A marker above the I/O means "read access" and below the I/O means "write
access". The color of the marker is the same as used to indicate the data type of
the connection.
SFC References
You can display the SFC references in the "Properties - Inputs/Outputs" dialog. If
the I/Os involve SFC access, this dialog box contains the "SFC Access..." button
with which you can display a dialog box with the list of SFC references.
Double-click the name of a listed SFC chart to open the relevant chart where the
referenced object is displayed as selected.
CFC for S7
3-30 A5E00345244-01
Working with the CFC Editor
CFC for S7
A5E00345244-01 3-31
Working with the CFC Editor
CFC for S7
3-32 A5E00345244-01
Working with the CFC Editor
CFC for S7
A5E00345244-01 3-33
Working with the CFC Editor
3.6.6 Structures
Using a structure, any data can be put together in a tree structure and then applied
to a block I/O. In the block display, a structure has an I/O name and a type; the
type is "ST".
A structure is made up of several elements (with a nesting depth of up to 8 levels):
• Elementary data type (BOOL, WORD, .. )
• Structure
A structure element contains the following information:
• Type (of the elementary data type, otherwise "ST")
• The name
• The value (only with the elementary data type)
Interconnecting
A block I/O with a structure can only be interconnected with another structure not
with an elementary data type. The structures you interconnect must be compatible;
in other words, the order, the data type, and the element name of the elementary
data types contained must be identical. The names of the structures can be
different.
The elements within a structure cannot be interconnected separately, only the
block I/O can be interconnected as an entire structure.
For more detailed information, refer to the online help.
CFC for S7
3-34 A5E00345244-01
Working with the CFC Editor
Note:
• In structures, the system attributes for "operator control and monitoring" or
"message" must not be used at any point.
• A block I/O with a structure cannot be interconnected with a shared address
that refers to an entire data block (DBx); interconnections to structures within
the DB are possible (DBx.name_st).
CFC for S7
A5E00345244-01 3-35
Working with the CFC Editor
Note
If a system attribute "S7_string_0" ... "S7_string_25" and the system attribute
"S7_enum" is assigned to the I/O, only the enumeration will be used as the value
identifier (system attribute "S7_enum").
Configuration
In the component view of the SIMATIC Manager, you create the "Shared
declarations" directly below the project node. With the Insert new object > Shared
declarations context menu command, you insert the folder with the underlying
folders "Enumerations" and "Units" in the project.
You can delete, copy, move and create these folders individually. The "Shared
declarations" folder must not contain more than one folder of the same type.
With the "Shared Declarations" folder selected, the "Insert new object" context
menu provides the menu items "Enumerations", "Enumeration", "Units" and "Unit".
You can also insert the "Enumeration" or "Unit" object if no "Enumerations" or
"Units" folder exists; it is then created automatically the same time.
If you insert the "Enumerations" or "Units" folder, an existing folder of this type is
overwritten if you confirm the displayed prompt. It is also overwritten if you
renamed the existing folder earlier.
The "Units" folder already contains a list of units installed with CFC. You can
extend or modify these as required. The "Enumerations" folder does not yet contain
ready-made enumerations. You yourself must insert or declare the enumerations
and their values manually.
CFC for S7
3-36 A5E00345244-01
Working with the CFC Editor
Inserting an Enumeration
You can create a new enumeration with the "Shared declarations" or
"Enumerations" folder selected using the Insert new object > Enumeration
context menu.
You can change the object name and the display name in the object properties of
the enumeration.
You can specify the object name of the enumeration so that it matches the value
of the system attribute "S7_enum" of the block I/O for which this enumeration will
be used.
Note
In the object properties of a block I/O (or in the process object view), the
"Enumeration" box is active when the system attribute "S7_enum" is assigned to
the I/O. It is irrelevant whether the value of the system attribute matches the
existing name of the enumerations in the project. You can assign the required
enumeration to the I/O at any time using a drop-down list box.
The display name of the enumeration can be translated into different languages
and is transferred to WinCC when you compile the OS.
When you create the enumeration, "0.1" is entered automatically as the version.
You can change the version in the object properties of the enumeration.
You can assign any number of values to the enumeration. (For enumerations that
will be used for I/Os with the data type BOOL, only two values are practical.)
Inserting values
You create a new value with the Insert new object > Value context menu
command.
The first value to be entered contains the numeric value 0; this number is
incremented with each further value added.
The display name of the value is displayed in the object properties of the block I/Os
under "Value". Each existing value of an enumeration can be selected there from a
drop-down list box.
You can identify the enumeration for use in SIMATIC BATCH for a control strategy
(Properties Enumeration, "General" tab, "Control strategy" option). When you set
the option, the symbol of the enumeration and the value changes its appearance.
CFC for S7
A5E00345244-01 3-37
Working with the CFC Editor
You can create a new unit with the "Units" folder selected using the Insert new
object > Unit context menu command.
If you want to undo a change to the units or remove added units, you can insert the
"Units" folder again. The content of the existing folder is then overwritten with the
basic set from CFC.
The object name is the text that is displayed as the unit. In the object properties,
you can change the name, version, author and comment:
CFC for S7
3-38 A5E00345244-01
Working with the CFC Editor
Single Block
The run-time properties of each block are displayed in the part of the block header
on a colored background.
Task name
Position of the block in the run-time group
Position of the run-time group in the task (for a block in a task, -" is displayed here)
or
position of the block in the task
In the CFC, the blocks that are not executed are highlighted optically (Identifier:
Red field with yellow exclamation point). This is located in the Run Sequence box
in the upper left corner.
For more detailed information, refer to the CFC online help, topic "Display of block
execution".
CFC for S7
A5E00345244-01 3-39
Working with the CFC Editor
Entire CPU
You can obtain a complete view of the run sequence as follows:
• By double-clicking the run-time properties box in the block header.
The run-time editor is started and the task in which the block is installed (first
point of installation) is opened in the run sequence window. The relevant block
is selected.
• By selecting the menu command "Edit > Run Sequence..." or clicking the
button.
The run-time editor is started and the window with the run sequence is
displayed. If a block was selected, the task in which the block is installed (first
installation point) in the run sequence is opened. The relevant block is
selected.
In this window, you can edit the run sequence of the entire CPU
(see Section 3.8.2).
• By selecting the "Options > Chart Reference Data..." menu command or the
button.
A separate application with its own window and menu commands/toolbar
buttons is started.
In the "Run Sequence" view (activated with "View > Run Sequence" or by
clicking the ) button), the complete run sequence of the current CPU is
displayed (blocks with information on block type and comment). The tasks in
which objects are installed are opened. You can print out the view of the run
sequence as a list.
In this window, you cannot edit the run sequence.
CFC for S7
3-40 A5E00345244-01
Working with the CFC Editor
CFC for S7
A5E00345244-01 3-41
Working with the CFC Editor
CFC for S7
3-42 A5E00345244-01
Working with the CFC Editor
With the menu command "Edit > Run Sequence..." or by clicking the icon in
the toolbar, you open a divided window with the hierarchy window on the left and a
detailed window on the right. This is structured similar to the Windows Explorer and
working with it is similar.
Moving Objects
You can move an object (chart, run-time group or block) by selecting it (in the right
or left window) and dragging it to the object after which you want to install it (drag-
and-drop).
If you drag an object to a run-time group,
• the object is installed at the first position within the run-time group when the
structure is expanded [-].
• the object is installed after the run-time group if the structure is not expanded
[+].
• and the run-time group is empty, you will be asked whether or not you want to
install the block within the run-time group. If you acknowledge with "yes" the
object will be installed inside, if you answer "no", it will be installed after the
run-time group.
If you drag an object to a block/chart within the run-time group, the object will be
installed after this block/chart.
If you drag an object to a task, it is installed before the existing installed objects.
Note
When moving blocks, make sure that all blocks of a chart are located only in the
relevant run-time group. After moving a block to another group, the chart-oriented
structure would longer exist and would make it difficult or even impossible to work
on a chart-by-chart basis in multiuser engineering.
Removing a Block
You can only remove blocks (delete) from a task if they are installed more than
once in the run sequence. The block must remain installed at least once.
If the block is installed only once, you cannot delete it. If it exists more than once,
the block is deleted and the run sequence of the blocks following this position is
updated.
CFC for S7
A5E00345244-01 3-43
Working with the CFC Editor
Installing Blocks
You can install blocks and runtime groups more than once in different tasks using
Copy and Paste. SFC charts cannot be installed more than once in cyclic tasks. To
install, use the relevant menu commands or the icons in the toolbar or drag the
objects while holding down the CTRL key (see also: Moving Objects).
You can also install blocks by dragging them directly from a CFC chart to the
required position in the run sequence (when both windows are displayed at the
same time).
Note
Objects with the system identifier "@" are installed automatically in the run
sequence when the block drivers are generated and should only be edited with
the SIMATIC Manager function "Options > Charts > Generate Module Drivers...";
in other words, they should not be moved or deleted manually.
CFC for S7
3-44 A5E00345244-01
Working with the CFC Editor
Applications
Run-time groups are optional but are created automatically when you create a
new chart. They are used to structure tasks (OBs). The blocks are installed
sequentially in the run-time groups.
With the run-time groups, you can do the following:
• Remove or reconnect selected blocks for execution on the AS.
• Execute selected blocks with a specific scan rate (every nth number of cycles)
and/or with a phase offset to achieve better load balance on the CPU.
• If OBs contain a large number of installed blocks, these can be put together in
smaller units.
Advantage: Instead of creating one "large" FC when you compile each OB,
"smaller" FCs are created depending on the number of run-time groups.
If the program is modified later, only the run-time groups/FCs that actually
contain modified blocks are given the "modified" ID.
This means that later delta compilations and downloads of changes take far
less time.
• When branching and merging a project in multiuser engineering, the blocks of
the chart are handled as groups. This allows you to work on a chart-by-chart
basis and to decide the run sequence of the blocks regardless of the run
sequence of other charts.
CFC for S7
A5E00345244-01 3-45
Working with the CFC Editor
• Manual
You can create run-time groups manually at any time (create new groups with
a menu command or copy existing groups). If you copy a run-time group and
insert it in the run sequence, a continuous number is appended to the name
(without brackets).
You create a run-time group by selecting the task in the left-hand window in
which the run-time group will be installed or the object following which the run-
time group will be installed. With the "Insert > Run-Time Group..." menu
command, you start the "Insert Run-Time Group" dialog. Here, you can specify
the properties of the run-time group.
CFC for S7
3-46 A5E00345244-01
Working with the CFC Editor
This function optimizes the run sequence of a program according to the data flow
so that as few dead times as possible occur on the CPU while the program is
running. The optimization is separate for OBs/tasks and run-time groups.
You start the optimization in the run-time editor using the menu command Options
> Optimize Run Sequence.
Note:
The data flow may be reversed when blocks are interconnected over INOUT
parameters; in other words, from input to output. This cannot be taken into account
when optimizing the run sequence. In this case, you must optimize the run
sequence yourself and exclude the relevant runtime group from the optimization.
CFC for S7
A5E00345244-01 3-47
Working with the CFC Editor
Note
If the address spaces for I/O digital modules have been packed in HW Config
("Pack Addresses"), the driver generator can no longer supply the relevant blocks
with unique addresses. To ensure that there is a defined slot assignment for each
submodule, the addresses must not be packed.
For this functionality, blocks types are used that have the effect of separating the
hardware and software configuration:
• The channel-specific blocks are inserted in the chart and interconnected by the
user with appropriate signal names from the symbol table. These blocks used
for signal preprocessing are part of the technological function and are always
processed along with it.
The following types are available for signal preprocessing:
- Standard channel blocks:
CH_AI, CH_AO, CH_DI, CH_DO., CH_CNT, CH_CNT1 and CH_MS.
These are used only for signal processing of S7-300/400 SM modules. You
use these standard blocks when you want to achieve a memory and run-
time optimization and no PA devices need to be processed.
- Universal channel blocks:
CH_U_AI, CH_U_AO, CH_U_DI, CH_U_DO.
These blocks are used for signal processing of S7-300/400 SM modules or
a PA field device. The advantage of these blocks is that you can create
CFC charts that are independent of the hardware I/O used later. The
disadvantage is that the universal blocks require more memory and take
up more run time.
CFC for S7
3-48 A5E00345244-01
Working with the CFC Editor
- PA channel blocks:
PA_AI, PA_AO, PA_DI, PA_DO, PA_TOT.
These blocks are specially intended for use with the PA field devices. They
are used mainly when the special properties of these devices are required.
In contrast to the CH blocks, not only the signal itself is processed, but all
variables according to the selected desired configuration of the device in
the defined hardware configuration.
• The blocks for diagnostics and monitoring of I/O modules, field devices, links
and for signaling and displaying CPU events and states are generated
automatically by the system (inserted in the system charts from the block
library by the driver generator), assigned parameter values, and
interconnected.
For more detailed information on the functions, functionality, and message
capability of the CH blocks, refer to the context-sensitive help (F1) for the block.
CFC for S7
A5E00345244-01 3-49
Working with the CFC Editor
• The user configures the hardware with the symbolic names of the I/O signals.
The signal names are entered directly in the symbol table by HW Config (select
module, menu command in HW Config: "Edit > Symbols...").
• The user configures the technological functions in CFC, Here, the CH_ blocks
(or PA_ blocks) are used and they are interconnected with the signal names
from the symbol table ("Insert > Interconnection to Address...").
• The user starts the driver generator that creates, interconnects and assigns
parameters to all module drivers in the SIMATIC Manager with the menu
command "Options > Charts > Generate Module Drivers...". The following
phases are run through automatically:
- All the channel blocks (_AI, _AO, _DI, _DO) used in the CFC charts are
identified. Then all the I/Os are detected (for example Value, O_SP,
I_OUT_D, ...) that are interconnected with the symbols of the input/output
channels configured in HW Config. With the PA_AO-/PA_DO blocks this
can also be several symbols that need to be interconnected. Here, only a
"leading" symbol needs to be interconnected, the others are identified and
interconnected automatically by the "Generate Module Drivers" function.
Using the addresses of the symbols in the symbol table, the corresponding
module and the channel of the module are identified from the hardware
configuration data. Based on the module type, the corresponding
diagnostic block type (MOD or PADP) is obtained and a block instance
then created in the system chart for each I/O module.
- The parameters required for the diagnostic blocks are obtained from the
HW Config data and entered in the block instances (also in the SUBNET
block for optimizing the run time in the error OBs).
- The interconnection between the channel-specific output on the
MOD/PADB block and the corresponding input on the CH block is created.
If the module supports "value status", the address of the value status is
obtained and interconnected with the CH/PA block.
If changes are made in the configuration (hardware or software), the changes must
be processed using the driver generator. The existing driver blocks are then not
deleted and recreated but simply have parameters reassigned. Blocks that are no
longer required are deleted (except for those included by the user) and additional
required blocks are created. If block types have already been imported those from
the CFC data management are used and not those from the library.
CFC for S7
3-50 A5E00345244-01
Working with the CFC Editor
System charts are generated automatically and all the necessary diagnostic blocks
are inserted in them. The system charts have the names "@1", "@2", etc.
Note:
Objects identified by the "@" character should not be modified by the user, but
should only be manipulated using the "Generate Module Drivers" function. In the
same way, diagnostic blocks should not be inserted manually.
Driver blocks created by the user must be inserted from the block catalog. If "@"
blocks are copied, these are deleted the next time the "Generate Module Drivers"
function is executed.
CFC for S7
A5E00345244-01 3-51
Working with the CFC Editor
In the multiproject, you can compare all block types used in the individual projects
with the block types in the master data library and update them. Block types that
are not used in CFC; in other words of which no block instances exist, are not
updated.
Assuming that the newest versions are kept in the block folder of the master data
library, you can use the update function to make sure that all or only certain block
types have the same current version in all or selected projects of the multiproject or
a single project. Updating the block types also updates all the corresponding block
instances in the relevant charts (central type synchronization).
Procedure:
1. Select the blocks to be updated in the block folder in the SIMATIC Manager (or
all blocks with Ctrl + A).
2. Select the menu command "Options > Charts > Update block types..." .
The dialog page 1(3) "Select the S7 program to be checked." is displayed. This
lists all the S7 programs in the multiproject and they are displayed as selected.
3. Check the selection and, if required, exclude the S7 programs in which you do
not want to update any blocks.
4. Click on the "Next" button.
A check mark in the "Status" column indicates which programs have already
been checked.
On completion of the check, you move on to dialog page 2(3) "Select the block
types to be updated.". Based on the block types selected in the library, this
page lists those in the individual S7 programs that have a different version. To
help you decide whether to select blocks, the "Consequence" column shows
you the effects of the new import. The following consequences are displayed:
- All associated instances will be modified (no further consequences!).
- The OS must be recompiled. All associated instances will be modified.
With the "Options > Wizard: 'Compile Multiple OSs' > Start..." menu
command, or with an OS selected and the "Compile" context menu
command, you can start the wizard for compiling the OS.
- Downloading entire program in operating mode STOP; in other words,
it is no longer possible to download changes in RUN mode. All associated
instances will be modified.
5. Check the selection and, if required, exclude the blocks you do not want to
update due to the consequences.
6. Click on the "Next" button.
CFC for S7
3-52 A5E00345244-01
Working with the CFC Editor
A check mark in the "Status" column indicates which blocks have already been
updated.
On completion of the update, you move on to the next dialog page 3(3) "Log".
Here, you will see all the information on what took place during the update and
the results such as:
- Start of the type update
- The log path
- The library
- The selected blocks
- The selected S7 programs
- The updated blocks
- End of the type update
7. If you want to print the log, Click on the "Print" button, otherwise click "Close" to
close the dialog.
If you stop the update with the "Cancel" button, all the updates made up to this
point are retained. These are also included in the log.
You can update block types of a library that is not the master data library of a
multiproject in individual projects of your choice. This central type update also
synchronizes all the relevant block instances. Block types that are not used in CFC;
in other words of which no block instances exist, are not updated.
Procedure:
1. Open the required library in the SIMATIC Manager (for example PCS 7
Library).
2. Select the block types you want to update in a project in the block folder of the
library.
3. Select the menu command "Options > Charts > Update block types..." .
The "Open project" dialog box opens.
4. Select the project in which you want to update the block types and click "OK".
Page 1(3) of the dialog "Update block types" opens.
5. Follow the same steps as described in "Updating block types in the
multiproject" (starting at point 3).
CFC for S7
A5E00345244-01 3-53
Working with the CFC Editor
3.11 Compiling
You can compile the chart (in other words all charts of the chart folder) as program
or as block type.
Relationships
If you want to control the assignment of resources on the CPU using the
"Customize Compilation" function, it is important understand the relationships
explained below.
The structure you configure in CFC is mapped to the S7 machine objects FC and
DB.
FCs are required to call the blocks processed in the CFC chart according to the
configured run sequence, as follows:
• One FC for each OB used
• One FC for each run-time group
DBs are used as follows:
• An instance DB is created for each instance of an FB.
• To store interim results for example from FCs, CFC-internal DBs are created.
One of these DBs is required per data type. When the maximum length (4
Kbytes) is reached, a further DB is created.
What is Compiled?
When you compile, you can choose between two options
• Range: Entire program
If you compile the entire program, the content of the entire chart folder is
compiled regardless of whether changes have been made or not.
• Range: Changes
If you compile the changes, only the objects that have changed since the last
compilation are compiled. Changes are solely changes in content
(interconnections, block attributes, number of inputs etc.), but not the
movement of objects within the chart. By selecting "changes only" the time
required for compilation is significantly shorter and this should be the setting
you normally choose.
Note
When you compile the changes, the check extends only over this scope. If you
want everything to be checked, start the Check Consistency function.
CFC for S7
3-54 A5E00345244-01
Working with the CFC Editor
Consistency Check
During compilation, a consistency check is made automatically. You can also start
this check manually, for example before you overwrite an old executable CFC
program by compiling.
CFC for S7
A5E00345244-01 3-55
Working with the CFC Editor
log, you can check whether compilation was correct and can print out the log with
the "Print" button.
You can also display the log again and, if required, print it out with the "Options >
Logs..." menu command.
Note
Compiling the entire program does not necessarily mean a complete download. If
the program was already loaded on the CPU prior to compiling, it is possible to
download the changes only.
CFC for S7
3-56 A5E00345244-01
Working with the CFC Editor
CFC for S7
A5E00345244-01 3-57
Working with the CFC Editor
Note:
With the programs created in CFC, you must always download to the Target
system from CFC, since only the download function of CFC guarantees the
consistency of the configuration data with the AS data.
The same download function is also used if you select the "AS >
Compile/Download Objects" menu command in the SIMATIC Manager.
On the other hand, copying blocks in the "Offline Block Folder" to insert them in
the "Online Block Folder" is not permitted.
CFC for S7
3-58 A5E00345244-01
Working with the CFC Editor
Notes:
• Compiling the entire program does not necessarily mean a complete
download. If the program was already loaded on the CPU prior to compiling, it
is possible to download the changes only.
• If a full download is aborted, no download of changes is possible until the full
download is completed. Reason: The blocks were deleted on the CPU prior to
the download.
• You can compile a program as often as you wish (changes only or entire
program) without losing the ability to download changes.
Download
You can download a program as follows:
• Entire program
• "Changes only"
• Download to test CPU (entire program).
CFC for S7
A5E00345244-01 3-59
Working with the CFC Editor
• You can compile a program as often as you wish (changes only or entire
program) without losing the ability to download changes.
• If a changes download was aborted, the remaining parts can be downloaded in
a renewed attempt.
• If you make changes to a program and test the program on another system or
with PLCSIM prior to downloading to the running system, it will no longer be
possible to download changes only.
• Remedy: If you use the option "Scope: Download to Test CPU (Entire
Program)", the ability to download changes to the original CPU is retained.
Caution!
! Further causes of a stop are listed in the online help topic "Reasons for STOP
when Downloading Changes Online". Please read this topic before you download
changes online to the CPU in the "RUN-P" mode.
CFC for S7
3-60 A5E00345244-01
Working with the CFC Editor
CFC for S7
A5E00345244-01 3-61
Working with the CFC Editor
Modified Data
You can save (read back) the parameters of all CFC charts contained in the chart
folder of the active chart and whose AS data were changed (for example limit
values or control parameters changed by operator input from an OS with WinCC).
Reading Back
You start the read back function with the "Chart > Read Back...." menu command.
If you select "Program of the CPU" as the source in the "Read back" dialog box,
the program on the CPU (online block folder) is read back to the chart folder with
the current parameters.
Another method of reading back when you previously read out the data from the
CPU using the SIMATIC Manager in the online view (with the "AS > Upload" menu
command) is to specify "Program Offline" as the source in the "Read Back" dialog
box. The data are then read from the offline block folder and written to the chart
folder.
In either case, in the dialog you can select whether you want to read back all
parameters of the block inputs or only the parameters assigned the system
attribute for "operator control and monitoring" (S7_m_c:='true') or with the specific
designation for read back (S7_read_back := 'true').
CFC for S7
3-62 A5E00345244-01
Working with the CFC Editor
• Note on H CPUs: If the H CPU is in the solo mode, for example after the
failure of a CPU and there was a CPU failover, an online access results in a
selection dialog being displayed. In this dialog, you can select the required
CPU. In the redundant mode, this dialog does not appear.
Note on Downloading HW Config Data:
Note that when downloading HW Config data, the data is taken from the load
memory. Changes made during operator control and monitoring or in test mode
only exist in the work memory. By adopting the data from the load memory,
changes in work memory are lost because they are overwritten by the initial values
of the load memory. If you have read back prior to downloading the HW Config
data to obtain the values entered by the operator, you can transfer the ease by
downloading the entire program to the CPU (in STOP).
For the "OCM-capable parameters" and "Designated parameters" scope, the
following applies:
• Values of FC inputs are ignored.
For the "All parameters" scope, the following applies:
• FC inputs interconnected with chart I/Os are read back. This also applies to
chart I/Os with multiple interconnections to block inputs (FB and FC).
CFC for S7
A5E00345244-01 3-63
Working with the CFC Editor
Basic Options
• Networked PCs.
The project is located on the server and several engineers configure defined
parts of the project at the same time (AS, OS). Make sure that the charts of a
AS or the pictures of an OS are edited on only one PC (by one user) at any
one time.
• Projects within a Multiproject.
The projects of a multiproject are stored centrally on one computer and can be
distributed for editing on other computers. To edit the individual stations, the
projects are transferred to the workstations of the engineers involved. Several
projects can be present on the one workstation computer at the same time.
After editing and merging back into the multiproject, the data that are relevant
beyond a single project must be synchronized with system support (menu
command "File > Multiproject > Adjust Projects") and the relevant interproject
functions must be started (for example, compile OS). This function should be
run at the latest when the configuration is being prepared for commissioning.
• Distributing and Merging Project Data.
You can distribute the charts of an S7 program in several (branch) projects.
Distributing individual charts of a project and merging them again after
separate editing is possible with the new run-sequence model as of V6.0 that
allows chart-oriented structuring of the run sequence.
See also: Run Sequence Model of CFC, Section 3.8.1 and
Textual Interconnections When Branching and Merging Project Data,
Section 3.14.1
CFC for S7
3-64 A5E00345244-01
Working with the CFC Editor
CFC for S7
A5E00345244-01 3-65
Working with the CFC Editor
In conjunction with branching projects and creating separate configurable units that
can then be merged later again, there are certain aspects to take into account with
textual interconnections.
Sequence and Procedure
When you distribute a project (known as the master project here), you copy part of
the chart folder to one or more other chart folders, for example to temporary
projects (branch projects) for different configuration engineers. Generally, this
involves one or more (but not all) charts that are transferred to a different project.
The interconnections to other charts are converted to textual interconnections at
the inputs and deleted at the outputs.
When you return the edited charts back to the master project later (copy or move),
charts with the same name are detected in the master project and you are asked
whether you want to overwrite the existing object. If you answer "no", the chart is
inserted as a copy ("none" with multiple charts), if you answer "yes", the existing chart
is overwritten ("All" with multiple charts). Before the chart is inserted from the branch
project, it is deleted in the master project, but in contrast to normal deletion (Del)
textual interconnections result.
With the menu command "Options > Make Textual Interconnections", you convert
these back to real interconnections.
Instead of copying charts to other projects, you can also move them (cut and
paste). The advantage of copying is, however, that you still have a functional
master project until you return the edited charts.
Notes:
• When an interconnection is broken, neither of the interconnection partners
must be renamed, otherwise the textual interconnection cannot be closed
again.
• Changes to charts in the master project are discarded when charts of the same
name are returned to the master project from branch projects.
• An unwanted interconnection can result in the master project if, for example,
interconnections between charts are modified in the branch project and only
one of the charts involved is returned to the master project .
Example: In chart CFC_A, there is an interconnection to a block in chart
CFC_B. Both charts are copied to a branch project and edited there. During
editing, the interconnection between the charts is deleted. Only CFC_A is
returned to the master project . A textual interconnection results in CFC_B of
the master project, that can also be closed. Result: The interconnection
deleted in the branch project reappears in the master project.
• Textual interconnections created before copying/moving are included in the
target project. This might be a concrete path reference (that can be closed) or
a character string (required connection that will only be configured in the target
project).
CFC for S7
3-66 A5E00345244-01
4 Test and Commissioning
Overview
To support you when commissioning a new project, the CFC editor includes test
functions allowing you to monitor and, if necessary, modify the block I/Os on the
AS.
4.1 General
The CFC editor has two operating modes: The Edit mode and the Test mode.
• In the Edit mode, you configure the entire software structure for a CPU offline
(see also Chapter 3 "Working with the CFC Editor").
• When you change to the Test mode, you can monitor and assign parameters
to the block I/Os; in other words, monitor and modify values online.
During a test, there must be a unique assignment between objects in the graphic
program representation and the physical addresses on the CPU. For this reason, in
the Test mode, in contrast to the Edit mode, you cannot make changes that affect
the structure of the user program (for example inserting or deleting blocks,
changing interconnections from inputs and outputs etc.).
Requirements
To use the test and startup functions, the user program created in the CFC editor
must first be compiled free of errors and downloaded to the CPU.
CFC for S7
A5E00345244-01 4-1
Test and Commissioning
Note:
The "Last download-relevant change" time stamp is also changed by assigning
parameters to block I/Os in the Test mode.
The user program that you downloaded to the CPU is only identical with the user
program in CFC and the machine code when all the time stamps are identical.
From the time stamps that match or do not match, you can see whether changes
have been made in the user program and can decide whether you need to
recompile or download again.
CFC for S7
4-2 A5E00345244-01
Test and Commissioning
Note:
If you download the entire user program, all the blocks on the CPU are deleted
after you confirm a prompt. In this case, you do not need to clear the CPU
memory first. When you clear the CPU memory, not only the user data of the CPU
but also the connections to the module are deleted.
CFC for S7
A5E00345244-01 4-3
Test and Commissioning
Test Modes
Testing can be done in one of two modes:
• Process Mode
• Laboratory Mode
You can select the mode for the test in the Edit mode using the menu commands in
the "Debug" menu. It is not possible to change over once you are in the Test mode.
In the process mode, the communication for online dynamic display of the blocks
is restricted and causes only limited extra load on the CP and bus. When the Test
mode is activated, all blocks have the status "watch off".
The laboratory mode allows convenient and efficient testing and commissioning.
In the laboratory mode, in contrast to the process mode, communication for online
dynamic display of CFC charts is unrestricted. When the Test mode is activated, all
blocks have the status "watch on". You can monitor the I/Os registered for testing.
Select the menu command "Debug > Test Mode"or Click the icon in the
toolbar. The Test mode is activated. You can now activate the debug menu
functions; Most of the functions of the Edit mode become inactive.
If the user program has been modified in the meantime, a message will be
displayed when you change to the Test mode.
CFC for S7
4-4 A5E00345244-01
Test and Commissioning
You deactivate the test mode by clicking on the icon again in the toolbar or
by selecting the "Debug > Test Mode" menu command.
CFC for S7
A5E00345244-01 4-5
Test and Commissioning
When you activate the Test mode, the "watch on" function is also activated for
CFC charts in the "laboratory mode".
This means that in the Test mode, you can display the development of the values
of block /chart I/Os registered for display; in other words, the values are read out
cyclically from the CPU and displayed. You can modify the options for this dynamic
display and the parameters of the I/Os in the Test mode.
In the "process mode", the "watch off" function is activated. This means that
you must first select the blocks for dynamic display (in the chart) that you want to
monitor; following this, you select "watch on".
If, on the other hand, there is an overload, you can remove individual blocks/charts
from the watch list (select the block/chart and then the "watch off" menu
command).
Notice: If watching is deactivated, and you select an I/O to register it for testing
with , watching will be activated for this and for all other I/Os of this block
previously registered for testing.
When you activate the Test mode, the connections to the CPU are established for
all I/Os listed in a dynamic display window. You activate the "watch" function with a
check mark in the "Watch" column for the individual I/Os.
Note:
• You cannot watch block I/Os that are not stored in DBs. This also applies, for
example, to unconnected inputs of FCs or BOPs and for outputs of the data
type STRING, DATE_AND_TIME, ANY.
• In the Test mode, function blocks (FBs) do not indicate the value of the
connected source at interconnected inputs if EN=0 is set. The value with
which the block was last executed is displayed at these interconnected inputs.
Remember that the value of interconnected inputs can change when EN=0 is
set to EN=1. FCs and BOPs, on the other hand, always show the value of the
interconnected source.
CFC for S7
4-6 A5E00345244-01
Test and Commissioning
in the toolbar.
In the Test mode, watching is also activated at the same time; in other words, the
I/O is shown on a yellow background and is displayed with its current value. If
watching had been deactivated for this block/chart previously, the watch function is
activated for all other I/Os that were previously added to the watch list.
You can remove I/Os from the watch list by selecting the I/O and then selecting the
"Test > Remove from Watch List" menu command or by clicking the
in the toolbar.
As an alternative:You can also select and deselect I/Os of a block/chart for testing
in the Edit mode by displaying the "Object Properties" for a selected block and
selecting or deselecting the I/Os in the "Watched" column in the "Inputs/Outputs"
tab.
Note:
You should avoid watching too many I/Os at one time, otherwise there is a large
communication load on the bus and on the CPU. If the load is too great (for
example >500 in the 1s watch cycle), the watchdog may respond; The I/O values
are then marked as temporarily "disturbed".
icon in the toolbar. In the laboratory mode, this function applies to all
blocks; in the process mode only to the blocks previously selected in the chart.
• By selecting the menu command "Debug > Watch Off" or by clicking the
icon, you can stop the watch; in other words, the values of the I/Os are no
longer refreshed.
In the laboratory mode, this applies to all blocks; in the process mode only to
the blocks selected in the chart.
All the input and output values activated in the watch list are updated within the
monitoring cycle.
CFC for S7
A5E00345244-01 4-7
Test and Commissioning
CFC for S7
4-8 A5E00345244-01
Test and Commissioning
The dynamic display window can be opened and arranged in the window of the
CFC editor along with any chart windows. You can adjust the size of the window.
There is only one dynamic display window without a separate menu for all the
charts of a CPU. When the window is closed (or when the CFC editor is exited) the
content is saved (only the static content, not the values) and loaded again when
you open the window.
You can create and manage any number of dynamic displays for each CPU. Each
display has its own name that you enter when you create it and that you can modify
at any time. In the Dynamic display window, only one dynamic display can be
active at any one time. You make your selection in the combo box in the header.
This bar also contains the buttons for creating, deleting and renaming dynamic
displays.
In this window, the values of I/Os from different charts of a CPU can be displayed,
monitored, and changed. The relevant chart does not need to be open. The
connection to the CPU must be established.
The dynamic display window is activated and deactivated with "View > Dynamic
Display". This is divided into columns (you can vary the width) and includes the
following titles and information:
• Status:
In this column, a status message is displayed (for example CPU fault, value
error, ....).
• Watch
In a check box, you can decide whether or not the I/O is watched; in other
words, whether or not the value is displayed dynamically.
• Chart displays the name of the chart. If the chart is a nested chart, the names
of the higher-level charts (parents) are also shown (for example,
Topchart\Sim_reg ).
• Block Shows the name of the CFC block or nested chart (for example, switch,
controller, ...)
CFC for S7
A5E00345244-01 4-9
Test and Commissioning
• I/O Shows the name of the I/O (for example LMN, IN1, ...)
• Value shows the actual value of the block I/O read from the CPU (if the check
box is set in the "Watch" column). If there are problems with a value #### is
displayed.
• Unit Shows the text for the selected physical unit (if it exists) (for example s,
%, ...)
• Comment shows the comment for the I/O (if it exists).
Tip: If the text cannot be displayed completely because the column is not wide
enough, you can see the complete text in a screen tip by positioning the mouse
pointer on the column entry.
Inserting I/Os
You can insert I/Os into the dynamic display in the Edit or in the Test mode. The
way in which this function works is analogous to adding and removing block/chart
I/Os in the open chart window.
You can include I/Os from an open chart in the dynamic display window as follows:
• Select the required block I/O and then select "Debug > Inputs/Outputs >
Include in Dynamic Display".
• Drag the required chart I/O to the dynamic display window with the mouse.
Block I/Os with data type STRUCT: Before the I/O is entered in the dynamic
display, a dialog box is displayed in which you can select the structure element for
the value to be displayed.
If you want to include all I/Os of a block or a nested chart in the dynamic display,
you can select the block or chart and drag it to the dynamic display window.
Exception: I/Os of the STRUCT data type are not included.
Deleting I/Os
To delete I/Os, select the relevant line or lines in the dynamic display and remove it
(or them) with the context command (right mouse button) "Delete".
Watching Values
You can watch or monitor the values of block or chart I/Os without opening the
relevant charts.
The value is displayed dynamically (on a yellow background) according to the
selected watch cycle when:
• The Test mode is activated,
• The I/O (or element of a structure) has been enabled for watching (selection in
the "Watch" column)
• The connection to the CPU is established.
If an error is affecting a value, this is displayed as #### and the value of an I/O that
cannot be monitored is displayed as ------.
CFC for S7
4-10 A5E00345244-01
Test and Commissioning
Opening a Chart
If you select a row in the dynamic display, you can jump to the chart in which the
watched I/O is located. With the menu command "Edit > Go To > Chart", the
corresponding chart is opened and the I/O is selected.
CFC for S7
A5E00345244-01 4-11
Test and Commissioning
You can create and manage any number of trend displays for each CPU. Each
display has its own name that you enter when you create it and that you can modify
at any time. In the trend display window, only one trend display can be active at
any one time. You select the trend in the drop-down list box in the "Trend display:"
box in the header. This bar also contains the buttons for creating, deleting,
renaming, and exporting trend displays.
The trend display window is activated and deactivated with View > Trend display.
For more detailed information on the trend display window, refer to the online help
in the topic "Trend display window"
CFC for S7
4-12 A5E00345244-01
5 Documentation
Overview
This chapter provides you with an overview of how to create comprehensive
documentation for your CFC configuration structure. This includes the following:
• The chart
• The chart reference data
• The logs
CFC for S7
A5E00345244-01 5-1
Documentation
5.1.1 Footer
CFC for S7
5-2 A5E00345244-01
Documentation
Overview
With the menu command "Options > Chart Reference Data..." or by clicking the
icon in the toolbar, you can start and application and display and print out
various information in lists or as a tree structure (see Section 5.2.1).
These lists help you to check your configuration structure.
Various Versions
A list created once by the system is not updated automatically. Each list provides
information about the status of the project at the time the list was created. Several
versions of these lists can be opened at the same time.
If required, you can update the list using the "View > Update" menu command or
with the "F5" key.
Further Functions
You can generate lists not only of the project currently being edited in CFC, but
also access all other CFC projects. This allows you to compare several projects.
Lists of several projects can be opened at the same time.
With the "Edit > Find..." menu command, you can search for terms (text strings) in
the active window. If a term is found, the location is displayed.
If you double-click the name in the first column, you can open the chart in which the
point of use is located. The relevant object is then selected.
Documentation
Along with the printed charts, the reference data provide you with complete
documentation of your configuration structure.
Export
You can save the generated list as a file in the CSV format (for example for use in
EXCEL) with the "Reference Data > Create Export File..." menu command.
CFC for S7
A5E00345244-01 5-3
Documentation
5.3 Logs
The logs do not belong to the documentation of the configuration structure but can
provide important information during configuration and trial startups if errors occur.
For further information on the logs, refer to the online help of the "Logs" dialog box.
CFC for S7
5-4 A5E00345244-01
A Technical Specifications
Hardware Requirements
• SIMATIC PG or PC
• Pentium processor 1 GHz (or higher)
• RAM at least 512 Mbytes (or more)
• Graphics card SVGA 1024 x 768 (or higher)
• MPI connection for online operation
• SIMATIC S7-300, S7-400
Software Requirements
CFC for S7
A5E00345244-01 A-1
Technical Specifications
CFC for S7
A-2 A5E00345244-01
Technical Specifications
For a detailed description of the data types, refer to the online help.
CFC for S7
A5E00177297-01 A-3
Technical Specifications
CFC for S7
A-4 A5E00345244-01
B Abbreviations
DB Data Block
ES Engineering System
FB Function Block
FC Function Code
OB Organization Block
OS Operator Station
PC Personal Computer
CFC for S7
A5E00345244-01 B-1
Abbreviations
PG Programming Device
PH Plant Hierarchy
CFC for S7
B-2 A5E00345244-01
Index
Compile
A block type 3-57
program 3-54
Adding/removing I/Os in the watch list 4-7 Compile OS 1-10
Archive tags 3-23 Configuring units 3-38
AS-OS communication 1-10 Consistency check 3-55
Copying
B chart 3-3
to a different CPU 3-16
Basic operation 1-8
CPU program
Block comment 3-17
starting 4-2
Block family 1-7
stopping 4-2
Block I/O
setting values 4-8
Block icon 3-17 D
Block input Data type extension 3-12
inverted 3-20 DB 3-54
Block installation pointer 3-42 Delete Empty Run-Time Groups 3-55
Block instance 1-6 Deleting textual interconnection 3-33
Block libraries 1-9 Displaying module information 4-3
Block type 1-6 DOCPRO 5-2
Blocks Download
aligning 3-15 program 3-59
copying 3-16 Downloading F programs 3-60
deleting 3-16 Downloading HW Config data 3-63
importing 3-9 Downloading to a test CPU 3-60
moving 3-16 Driver and message concept 3-48
new version 3-10 Dynamic display 4-9
overlapping 1-8
BOP 1-8
E
C Edit mode 4-1
Enable attribute 3-26
Catalog 1-9 Enumeration 3-37
Change log 3-58, 4-4
Changing the watch cycle 4-4
F
Chart 1-3
copying 3-3 FB 1-8
creating 3-2 FC 1-8, 3-54
opening 3-2
Chart I/Os 3-5 G
Chart installation pointer 3-45
Chart partition 1-3 Generate module drivers 3-48, 3-55
Chart partitions Generic block 1-7
inserting deleting 3-4
Chart reference data 5-3
Chart-in-chart 3-7
Closing textual interconnections 3-55
Commissioning
preparing 4-2
CFC for S7
A5E00345244-01 Index-1
Index
P
H Printing a chart 5-1
H CPU Probe tip 4-8
downloading 3-60 Process mode 4-4
read back 3-63
R
I Read back 3-62
Importing blocks types 3-9 Resetting a CPU 4-3
Include user data blocks 3-61 Resources on the CPU 3-54
Interconnecting Runtime group 3-45
to runtime groups 3-26 Run-time group
Interconnection creating 3-46
copying 3-32 Runtime groups
deleting 3-33 interconnecting 3-26
rewiring 3-32 Runtime properties 3-15
to SFC charts 3-30 Run-time properties 3-39
to shared addresses 3-26
S
K Schriftfeld 5-2
Keywords (DOCPRO) 5-2 Scope of compilation 3-54
Set time and date 4-3
L Several configuration engineers 3-64
SFC access 3-30
Laboratory mode 4-4 Shared address 3-26
Libraries 1-9 Shared declarations 3-36
Logs 5-4 Sheet 1-3
Sheet bar jump 3-31
M Sheet view 1-5
Signal tracking 3-31
Message block 1-10 SIMATIC Manager 1-2
Metaknowledge 3-49 STEP 7 environment 1-2
MIS / MES 3-24 Structure 3-34
Multiple instance block 1-7 System attributes
Multiple interconnection for chart I/Os 3-5
deleting 3-33
Multiple users 3-1
Multi-user mode 3-1 T
Test
N preparing 4-2
Test CPU 3-60
Nested chart 1-3, 3-7 Test mode 4-1
Number conflict 3-9 Test modes 4-4
Text box 3-15
O Textual interconnection 3-27
Object properties 3-17 Textual interconnections 3-3
Operator control block 1-10 Time stamp 4-2
Optimize code 3-57 Tolerant type import 3-12
Optimize run sequence 3-47 Top chart 3-7
Organization block 1-7 Trend display 4-12
Overflow page 1-3
Overlapping blocks 1-8
Overview 1-4
CFC for S7
Index-2 A5E00345244-01
Index
W
U WinCC 3-13
Update Sampling Time 3-55
Updating S7 block types 3-52 X
User program
downloading 3-58 XML files 3-49
V
Value identifier 3-21
CFC for S7
A5E00345244-01 Index-3
Index
CFC for S7
Index-4 A5E00345244-01