S7-GRAPH - Programming Sequential Control Systems
S7-GRAPH - Programming Sequential Control Systems
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Installation Designing a Sequential Control System Based on the Example of a Drill Working with an S7-GRAPH Creating a Project
Manual
Programming the Structure of a Sequencer Programming Conditions and Actions Saving and Compiling S7-GRAPH FB Parameter Assignment and Call Downloading the S7-GRAPH-FB and Instance-DB Monitoring and Testing the Sequential Control System Printing the Sequencer Overview of all Actions Configuration Instructions Instance DB Glossary, Index
Edition 02/2004
A5E00290656-01
Safety Guidelines
This manual contains notices intended to ensure personal safety, as well as to protect the products and connected equipment against damage. These notices are highlighted by the symbols shown below and graded according to severity by the following texts:
! ! !
Danger
indicates that death, severe personal injury or substantial property damage will result if proper precautions are not taken.
Warning
indicates that death, severe personal injury or substantial property damage can result if proper precautions are not taken.
Caution
indicates that minor personal injury can result if proper precautions are not taken.
Caution
indicates that property damage can result if proper precautions are not taken.
Notice
draws your attention to particularly important information on the product, handling the product, or to a particular part of the documentation.
Qualified Personnel
Only qualified personnel should be allowed to install and work on this equipment. Qualified persons are defined as persons who are authorized to commission, to ground and to tag circuits, equipment, and systems in accordance with established safety practices and standards.
Correct 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. This product can only function correctly and safely if it is transported, stored, set up, and installed correctly, and operated and maintained as recommended.
Trademarks
SIMATIC, SIMATIC HMI and SIMATIC NET are registered trademarks of SIEMENS AG. Third parties using for their own purposes any other names in this document which refer to trademarks might infringe upon the rights of the trademark owners. Copyright Siemens AG 2004 All rights reserved
The reproduction, transmission or use of this document or its contents is not permitted without express written authority. Offenders will be liable for damages. All rights, including rights created by patent grant or registration of a utility model or design, are reserved.
Disclaimer of Liability
We have checked the contents of this manual for agreement with the hardware and software described. Since deviations cannot be precluded entirely, we cannot guarantee full agreement. However, the data in this manual are reviewed regularly and any necessary corrections included in subsequent editions. Suggestions for improvement are welcomed.
Siemens AG
Bereich Automation and Drives Geschaeftsgebiet Industrial Automation Systems Postfach 4848, D- 90327 Nuernberg Siemens AG 2004 Technical data subject to change.
Siemens Aktiengesellschaft
A5E00290656-01
Preface
Purpose of the Manual
This manual provides you with a complete overview of programming with S7-GRAPH. It supports you during the installation and setting up of the software. It includes explanations of how to create a program, the structure of user programs, and the individual language elements. The manual is intended for persons with the appropriate qualifications who are involved in programming, configuration, commissioning, and service of programmable logic controllers. We recommend that you familiarize yourself with the example in Chapter 3 "Designing a Sequential Control System Based on the Example of a Drill". This will help you to get to know S7-GRAPH quickly.
Required Experience
To understand the manual, you should have general experience of automation engineering. In addition to, computer literacy and the knowledge of other working equipment similar to the PC (e.g. programming devices) under the operating systems MS Windows 2000 Professional or MS Windows XP Professional are required. Since S7-GRAPH is a component of the STEP 7 basic software, you should have knowledge of the basic software conveyed in the "Programming with STEP 7 V5.x" manual.
iii
Preface
Basics of STEP 7: Getting Started and Exercises with STEP 7 V5.3 Programming with STEP 7 V5.3 Configuring Hardware and Connections with STEP 7 V5.3 Converting from S5 to S7 LAD/FBD/STL manuals for S7-300/400 Standard and System Functions for S7-300/400
STEP 7 reference:
6ES7810-4CA07-8BW1 Reference work describing the LAD, FBD and STL programming languages as well as standard and system functions as a supplement to the STEP 7 basics.
iv
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
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
Preface
The languages of the SIMATIC Hotlines and the authorization hotline are generally German and English.
vi
Preface
vii
Preface
viii
Contents
1 Product Overview 1.1 2 1-1 What's New? .....................................................................................................1-4 2-1
Installation 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.2.2 2.2.3 2.2.4
Automation License Manager ...........................................................................2-1 User Rights Through The Automation License Manager..................................2-1 Installing the Automation License Manager ......................................................2-3 Guidelines for Handling License Keys ..............................................................2-4 Installation .........................................................................................................2-4 Installing S7-GRAPH.........................................................................................2-4 Starting the Installation Program.......................................................................2-5 Notes on Installation..........................................................................................2-6 Uninstalling S7-GRAPH ....................................................................................2-6 3-1
Designing a Sequential Control System Based on the Example of a Drill 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15
Technological Task and Functional Diagram....................................................3-3 Selecting the Structure of the Sequencer .........................................................3-5 Defining the System Signals .............................................................................3-6 Creating the Drill Project in the SIMATIC Manager ..........................................3-7 Creating a Symbol Table...................................................................................3-8 Creating an S7-GRAPH FB and Programming a Sequencer ...........................3-9 Programming Step Actions .............................................................................3-11 Programming Transitions ................................................................................3-11 Programming Monitoring Functions ................................................................3-13 Specifying the Standard Function Block .........................................................3-14 Saving and Closing the Sequencer.................................................................3-15 Including the Sequencer in the STEP 7 Program ...........................................3-16 Downloading the Program to the CPU and Testing the Sequencer ...............3-18 Test Function: Control Sequencer ..................................................................3-19 Modifying the Sequencer ................................................................................3-20 4-1
Working with an S7-GRAPH 4.1 4.2 4.3 4.4 4.5 4.5.1 4.5.2 4.5.3
Starting S7-GRAPH ..........................................................................................4-1 The S7-GRAPH User Interface .........................................................................4-2 Settings for the Work Area ................................................................................4-9 Customizing a Display Level, Colors and Fonts .............................................4-11 Tools for Editing the Sequencer......................................................................4-14 Display and Position of the Toolbars ..............................................................4-14 Editing the Sequencer with the Toolbars ........................................................4-15 Navigating in the Sequencer ...........................................................................4-16 5-1
Creating the Project in the SIMATIC Manager..................................................5-1 S7-GRAPH FB or S7-GRAPH Source File? .....................................................5-2 S7-GRAPH FB ..................................................................................................5-2 S7-GRAPH Source File.....................................................................................5-3 Opening an S7-GRAPH FB or an S7-GRAPH Source File ..............................5-3
ix
Contents
Programming the Structure of a Sequencer 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 6.10 6.11 6.12
6-1
Sequencer - Principle........................................................................................6-2 Structures of a Sequencer ................................................................................6-3 Rules for the Structure of a Sequencer.............................................................6-4 Elements of a Sequencer..................................................................................6-4 Step/Transition Pair and Initial Step..................................................................6-5 Jump..................................................................................................................6-6 Alternative Branch.............................................................................................6-7 Simultaneous Branch ........................................................................................6-8 Branch Stop ......................................................................................................6-9 New Sequencer.................................................................................................6-9 Permanent Instructions ...................................................................................6-10 Block Comment...............................................................................................6-11 7-1
Programming Conditions and Actions 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 7.10 7.11 7.12 7.13 7.14
Actions...............................................................................................................7-3 Standard Actions ...............................................................................................7-4 Event-Dependent Actions .................................................................................7-6 Counters, Timers, and Arithmetic in Actions.....................................................7-9 Conditions .......................................................................................................7-15 Ladder Logic Elements for Programming Conditions .....................................7-18 Logic Operations with Ladder Logic Elements................................................7-20 FBD Elements for Programming Conditions ...................................................7-22 Logic Operations with FBD Elements .............................................................7-24 S7-GRAPH Addresses in Conditions ..............................................................7-25 Supervision Errors and Acknowledgment .......................................................7-26 Comment, Extended Name, Number, Name ..................................................7-28 Programming with Symbolic Addresses .........................................................7-29 Block Parameters and Variables in the S7-GRAPH FB..................................7-30 8-1
Saving and Compiling 8.1 8.2 8.3 8.4 8.4.1 8.4.2 8.4.3 8.4.4 8.4.5 8.4.6 8.4.7 8.5 8.6
Saving and Compiling .......................................................................................8-2 Rules for Saving an S7-GRAPH FB..................................................................8-2 Rules for Saving an S7-GRAPH Source File ....................................................8-3 Settings for Saving and Compiling ....................................................................8-3 Settings in the "General" Tab............................................................................8-4 Settings in the "Compile/Save" Tab: FB Parameters........................................8-6 Settings in the "Compile/Save" Tab: Executability............................................8-7 Settings in the "Compile/Save" Tab: Interface Description...............................8-8 Settings in the "Compile/Save" Tab: Sequencer Properties .............................8-9 Settings in the "Compile/Save" Tab: Warnings...............................................8-10 Settings in the "Messages" Tab ......................................................................8-10 Saving .............................................................................................................8-11 Compiling ........................................................................................................8-15 9-1
S7-GRAPH FB Parameter Assignment and Call 9.1 9.2 9.3 9.4 9.5 9.6
Calling the S7-GRAPH FB in the S7 Program ..................................................9-1 Calling the S7-GRAPH FB ................................................................................9-2 Selecting an FB Parameter Set ........................................................................9-3 Parameter Sets of the FB..................................................................................9-4 Input Parameters of the S7-GRAPH FB ...........................................................9-6 Output Parameters of the S7-GRAPH FB.........................................................9-9
Contents
The Modes of the Sequential Control System ................................................9-11 Automatic Mode (SW_AUTO) .........................................................................9-12 Manual mode (SW_MAN) ...............................................................................9-13 Inching mode (SW_TAP) ................................................................................9-14 Automatic or Switch to Next Mode (SW_TOP) ...............................................9-15 Selecting a Step with S_SEL ..........................................................................9-16 Selecting a Step with S_PREV or S_NEXT ....................................................9-16 Progressing to the next Step with T_PUSH ....................................................9-16 10-1
Downloading Blocks from the Programming Device to the CPU ....................10-1 Uploading Blocks from the CPU to the Programming Device.........................10-3 11-1
11
Monitoring and Testing the Sequential Control System 11.1 11.1.1 11.1.2 11.1.3 11.2
Monitoring and Test Functions in the S7-GRAPH ..........................................11-2 Monitoring the Status Information ...................................................................11-2 Control Sequencer ..........................................................................................11-4 Synchronization...............................................................................................11-4 Test Functions of STEP 7 ...............................................................................11-5 12-1
12
13
Standard Actions with and without Interlock ...................................................13-1 Event-Dependent Actions - with and without Interlock ...................................13-2 Counters in Actions .........................................................................................13-9 Timers in Actions...........................................................................................13-14 Arithmetic in Actions......................................................................................13-19 14-1
14
General Level and Program Structure ............................................................14-2 Points to Note about Programming Sequencers.............................................14-8 Linking to Operator Control and Monitoring Systems ...................................14-12 15-1
15
Instance DB 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 15.10 15.11 15.12 15.13
Settings for the Instance DB ...........................................................................15-1 Assignment of Instance DB and S7-GRAPH FB.............................................15-2 Automatic Creation of the Instance DB on Saving..........................................15-3 Creating the Instance DB Later.......................................................................15-3 Displaying and Printing the Content of the Instance DB.................................15-3 Accessing the Instance DB .............................................................................15-4 Structure of an Instance DB ............................................................................15-4 Outline of the Structure of the Instance DB ....................................................15-4 FB Parameters ................................................................................................15-5 The Transition Structure..................................................................................15-9 The Step Structure ........................................................................................15-11 Sequencer Status..........................................................................................15-13 Internal Data Area .........................................................................................15-18
Glossary Index
xi
Contents
xii
Product Overview
1-1
Product Overview
FB i Comments for...
(2)
(3)
FC70/71/72
S1 T1 S2 T2 DB i
1-2
Product Overview
Step1
S1 Step1
Action Action
Motor
Conditions
Input1
Input2 T2 Transition2
Conditions
1-3
Product Overview
1.1
What's New?
Version 5.3 of the S7-GRAPH programming software has the following extended functions and modifications compared with Version 5.2.
Installation
S7-GRAPH is released for MS Windows 2000 Professional and MS Windows XP Professional. As of S7-GRAPH V5.3 there is a new licensing procedure. User rights are no longer issued by means of authorizations but now by means of license keys. License Keys are managed in the Automation License Manager (see User Rights through the Automation License Manager). The "AuthorsW" program is no longer used.
1-4
Installation
2.1
2.1.1
The Automation License Manager has its own integrated online help. To obtain help after the license manager is installed, press F1 or select the Help > Help on License Manager. This online help contains detailed information on the functionality and operation of the Automation License Manager.
Licenses
Licenses are required to use STEP 7 program packages whose legal use is protected by licenses. A license gives the user a legal right to use the product. Evidence of this right is provided by the following: The CoL (Certificate of License), and The license key
2-1
Installation
License Keys
The license key is the technical representation (an electronic "license stamp") of a license to use software. SIEMENS AG issues a license key for all of its software that is protected by a license. When the computer has been started, such software can only be used in accordance with the applicable license and terms of use after the presence of a valid license key has been verified. Notes You can use the software without a license key to familiarize yourself with the user interface and functions. However, a license is required and necessary for full, unrestricted use of the software in accordance with the license agreement If you have not installed the license key, you will be prompted to do so at regular intervals.
License Keys can be stored and transferred among various types of storage devices as follows: On license key diskettes On the local hard disk On network hard disk
For further information on obtaining and using license keys, please refer to the online help for the Automation License Manager.
Types of Licenses
The following different types of application-oriented user licenses are available for software products from Siemens AG. The actual behavior of the software is determined by which type license key is installed for it. The type of use can be found on the accompanying Certificate of License.
License Type Single License Floating License Trial License Description The software can be used on any single computer desired for an unlimited amount of time. The software can be used on a computer network ("remote use") for an unlimited amount of time. The software can be used subject to the following restrictions: Upgrade License A period of validity of up to a maximum of 14 days, A total number of operating days after the day of first use, A use for tests and validation (exemption from liability).
Certain requirements in the existing system may apply with regard to software upgrades: An upgrade license may be used to convert an "old version X" of the software to a newer version X+. An upgrade may be necessary due to an increase in the volume of data being handled in the given system.
2-2
Installation
2.1.2
Notes You can use the standard software without a license key to familiarize yourself with the user interface and functions. However, a license is required and necessary for full, unrestricted use of the software in accordance with the license agreement If you have not installed the license key, you will be prompted to do so at regular intervals.
You can subsequently install license keys in the following ways: Install license keys from diskettes Install license keys downloaded from the Internet. In this case, the license keys must be ordered first. Use floating license keys available in a network
For detailed information on installing license keys, refer to the online help for the Automation License Manager. To access this help, press F1 or select the Help > Help on License Manager menu command.
Notes In Windows 2000/XP, license keys authorization will only be operational if they are if it is installed on a local hard disk and have write-access status. Floating licenses can also be used within a network ("remote" use).
2-3
Installation
2.1.3
Caution Please note the information on handling license keys that is available in the online help and the Readme.wri on the Automation License Manager. If you do not follow these guidelines, the license keys may be irretrievably lost.
To access online help for the Automation License Manager, press F1 for contextsensitive help or select the Help > Help on License Manager menu command. This help section contains all the information you need on the function and handling of license keys.
2.2
2.2.1
Installation
Installing S7-GRAPH
S7-GRAPH contains a Setup program that installs the package automatically. Prompts on the screen guide you step by step through the entire installation. The Setup program is started as usual when installing software in Windows.
A programming device (PG) is a personal computer designed specifically for use in an industrial environment. It is fully equipped for programming SIMATIC programmable controllers. Disk space: For the space required on your hard disk, refer to the "Readme". MPI interface (optional): You only require the MPI interface between the programming device or PC) and PLC if you want to communicate with the PLC via MPI. For this connection you require either: a PC/MPI cable connected to the communications port of your device or an MPI board installed in your device.
-
External Prommer (optional): An external prommer is only required when you want to blow EPROMs using your PC.
S7-GRAPH for S7-300/400 Programming Sequential Control Systems A5E00290656-01
2-4
Installation
2.2.2
In the interests of "clean" data management, you should uninstall an older installation before installing the new version. Simply overwriting an older version also has the disadvantage that when you later uninstall the program, existing parts of the older installation will not be removed.
2-5
Installation
2.2.3
Notes on Installation
2.2.4
Uninstalling S7-GRAPH
To uninstall the software, use the usual method under Windows: 1. Under Windows, open the dialog for installing/uninstalling programs by doubleclicking the "Add/Remove Programs" icon in the "Control Panel". 2. Select the S7-GRAPH entry in the list of installed programs. Click the "Add/Remove" button to uninstall the program. If the "Remove Released File" dialogs appear, click the "No" button if you are unsure whether you want to remove the file or not.
2-6
You first learn how to configure a sequential control system efficiently and will then be guided step by step through the tasks you need to perform in the SIMATIC Manager and in S7-GRAPH so that you can create the sequential control system, download it to the CPU and test it.
The correctly programmed sample is supplied with S7-GRAPH as a project called "ZEn02_01_S7GRAPH_Drill".
3-1
Requirements
To allow you to program and test the "drill" example, you require the following hardware and software: Programming device/PC with STEP 7 standard package and the S7-GRAPH optional package MPI connection to the programmable logic controller
-
A programmable logic controller (in our example an S7-300) consisting of the following: standard rail, 24V power supply, CPU 314, and a digital input/output module (8DI + 8DO) As an alternative to the PLC: The "PLC Simulation" S7 optional package
3-2
Create sequencer: create and open S7 Graph FB1 in the SIMATIC Manager Program sequencer Program OB1 with FB1 call and corresponding instance DB (DB1)
Download sample program (DB1, FB1, OB1) to the CPU in the SIMATIC Manager and test the sequencer
3.1
Task
You want to program a sequential control system to automate a drill. The setup of the drill is shown by a technological drawing and the process sequence in the form of a function diagram.
Lower drill
Raise drill Drill motor on Feedback signal: - Drill running - Drill stopped
Cooling pump
Clamp device
Feedback signal: Selected clamping pressure reached
3-3
Initial State
The initial state of the drill is defined as follows: The drill motor and cooling pump are stopped The carriage/drill is in the upper position There is no work piece in the clamping device
3-4
3.2
Dividing the Drilling Process into Individual Steps - Structure of the Sequencer
The drilling process is described by S7-GRAPH in the form of a sequencer. A sequencer represents a sequence of single steps and conditions that control how the process moves on to the next single step. To specify the structure of the sequencer, follow the steps outlined below: 1. Break down the drilling process into steps and specify the order of the steps (for example "step S2 follows S1" or "step S3 follows either step S4 or S7"). 2. For each step, specify the actions that must be performed in the step (for example in S1 the action "Drill ready" or in S3 the action "Turn on drill motor"). 3. Then decide for every step which conditions must be met so that the process can move on to the next step (for example for T1 the condition "Drill started start button pressed" or for T5 the condition "Drill in upper position").
T6 S1
Drill program started (start button pressed) Monitor clamping Work piece clamped with selected pressure Drill ready (initial step)
T1 S2 T2 S3
Turn on drill motor Clamp work piece
T3 T7 S7 T8 S4
Turn on cooling pump
T4 S5
Raise drill
T5 S6
Release work piece, turn off drill motor and cooling pump
Work piece is released, cooling pump stopped, drill motor stopped Waiting time 500 ms
T6 S1
S = step T = transition
3-5
3.3
3-6
3.4
Creating a Project
Projects for sequential control systems do not differ from other projects in STEP 7. To create a new project in the SIMATIC Manager, follow the steps outlined below: 1. Select the menu command File > New. 2. Name the project "Drill".
Inserting an S7 Program
In this example, hardware configuration is unnecessary since the default addressing of the input/output module in slot 4 is used. You can therefore immediately insert an S7 program in the project folder in the SIMATIC Manager. The S7 program serves as a folder for the blocks of the user program, the source files and the symbols. Follow the steps below: 1. Select the "Drill" project. 2. Select the menu command Insert > Program > S7 Program. 3. Name the S7 program "Drill Program". The folders for source files, blocks, and symbols are created automatically when you insert an S7 program. An empty OB1 is also created in the Blocks folder.
3-7
3.5
3-8
3.6
Creating an S7-GRAPH FB
The S7-GRAPH FB will contain the sequencer. To create an S7-GRAPH FB, follow the steps outlined below: 1. Open the "Blocks" folder in "Drill Program" in the SIMATIC Manager. 2. Select the menu command Insert > S7 Block > Function Block. 3. Set "S7-GRAPH" as the language in the "Properties" dialog box. Result: The empty FB with the default number 1 is created in the "Blocks" folder.
Programming a Sequencer
After you have started the S7-GRAPH editor by double-clicking FB1 the system inserts the first step (initial step) and the first transition. It is advisable to create the structure at the "Sequencer" display level. To display conditions and actions, activate the View > Display With > Conditions and Actions menu command. Using the mouse and the "Sequencer" toolbar at the left-hand edge of the screen, you can then position all the remaining steps and transitions, the alternative branch and the jump from the end of the sequencer to the start of the sequencer. There are two ways of doing this and both are illustrated here.
3-9
Method 2: "Drag-and-Drop"
1. Return to the SIMATIC Manager and create function block FB2 in the "Blocks" folder as described above. Once again select "GRAPH" as the source language. 2. Start the S7-GRAPH editor by double-clicking FB2 in the "Blocks" folder. 3. Select the menu command Insert > Drag-and-Drop. 4. With the mouse, select the icon insert step + transition and then click on the last transition of the individual elements until you arrive at step/transition 6. 5. Select the icon open alternative branch and open the alternative branch for the coolant by clicking on step 3. The branch begins with transition 7. 6. With the mouse, select the icon insert step + transition, to insert step 7 (S7) and transition 8 (T8). 7. Select the icon close alternative branch and first select transition 8 and then transition 3. 8. Now complete the sequencer structure with insert jump by first selecting transition 6 and then step 1.
Note Close fFB2 before you start to program step actions.. You only created this FB to try out the second method of creating a sequencer structure. When you close the FB, answer all prompts with "No". For the rest of the exercise, you will be working in FB1.
3-10
3.7
2. Insert an empty action line by clicking the action box. 3. Enter the actions. An action consists of an instruction and an address. For the drill program, four different instructions are necessary in the steps: S R Set output Reset output
N Non holding: As long as the step is active, the signal state of the address is 1. D Delay: The address is set to 1 after the defined time has elapsed following activation of the step and is reset when the step is deactivated.
3.8
Programming Transitions
The bit logic instructions "normally open contact", "normally closed contact" and "comparator" are used for the step enabling conditions in the transitions. To program transitions: 1. Set the "LAD" view and select the appropriate icons in the "LAD/FBD" toolbar insert normally-open contact insert normally-closed contact insert comparator 2. Position the symbols at the appropriate points by clicking the transition lines. You can exit the insert mode at any time with the ESC key. 3. Enter the addresses. Click the placeholder "??.?" of the required text field. Then enter an absolute or symbolic address (for example I 0.7, "Start_switch"). 4. If you wish, you can also enter a comment for the sequencer. In the "sequencer" view, the comment field is at the top left and can be opened by clicking it with the mouse.
3-11
Clamp_pres s ok" _
Clamp_on S "Clamp_workp"
S3 Mo... "Drill_moto "Coolant_ r_running" sel" "Drill_moto "Coolant_ r_running " sel" T7 Trans7 S7 Coo... "Cool_pres s _ok" T8 Trans8
Motor_on S "Dr_mot_on"
T3 Trans3
Coolant_on S "Cool_pump_on"
"Drill_d own"
Lower_drill N "Lower_drill""
"Cl_press "Drill_mot "Cool_press _ok" r_stopped _ok" o " CMP Term_M_pump_off.T >= T#500MS
When programming comparators, you can use the system information for steps as the addresses. The addresses have the following significance: Step_name.T: current or last activation time of the step Step_name.U: current or last activation time of the step without the time of a disturbance
3-12
3.9
3-13
3.10
For this example, use the compilation option "Full code". The most suitable FC depends on the performance of your CPU. Select one of the following standard FCs:
FC Number FC72 FC70/FC71 Functionality As default, you work with FC72. Remember, that your CPU must be capable of processing blocks with more than 8 Kbytes. These two FCs are less than 8 Kbytes in size and can therefore be loaded on a smaller CPU. FC70 uses the diagnostic functionality of SFC17/18 and can only be used on CPUs that have these functions available. If your CPU does not have these functions, you must use FC71 and do without diagnostic capability. If you want to check whether or not your CPU contains these SFCs, select the menu command PLC > Obtainable Nodes in the SIMATIC Manager or click the corresponding button in the toolbar. Open the "Blocks" folder in the S7 program. FC73 This block requires less than 8 Kbytes of memory so that it can be executed on all CPUs. Using this FC considerably reduces the memory requirements of the S7-GRAPH FBs. You must also select the option "Interface Description: Memory minimized" in the block settings. The following restrictions, do, however, apply: The blocks created do not have diagnostic capability When you monitor the sequential control system, you will see the status display only for the selected active element.
3-14
3.11
Note The warning "S1 without content" in the compiler log simply means that no action is programmed in step 1.
3. To close the sequencer, select the menu command File > Close.
3-15
3.12
Programming OB1
The sequential control program for the drill is called and started in organization block OB1. You can create OB1 in LAD, FBD, STL or SCL (here it was created in LAD). Program OB1 as shown in the following diagram. Follow the steps below: 1. Open the "Blocks" folder in the "Drill Program" S7 program in the SIMATIC Manager. 2. Start the LAD/STL/FBD editor by double-clicking OB1. 3. With the menu command View, select the programming language LAD. 4. Select segment 1 and insert the sequencer call using the program element catalog by double-clicking FB1 (Seq_drill). 5. Type in the name of the corresponding instance data block (IDB_Seq_drill) above the LAD box. 6. Select the input parameter INIT_SQ, insert a normally open element using the "LAD" toolbar and label it M0.0 ("INIT_SQ"). Using this parameter, you can set the sequencer to the initial step (in the example step 1) in the online mode. 7. Select the menu command File > Save and close the organization block with the menu command File > Close.
Note All other block parameters can be ignored for the example.
3-16
3-17
3.13
Caution It is best to download the S7-GRAPH block in the STOP mode since following downloading of the instance DB, the sequencer is automatically set to the initial state. You should only download S7-GRAPH blocks in the RUN-P mode when the sequencer is in the initial state or in the OFF state. If you download the blocks the sequencer in a different state, for example when overwriting an old block, problems may occur in the synchronization of the sequencer with the process.
Caution A monitoring time is programmed in step 2. If the step activation time exceeds the configured monitoring time (500 ms) in the supervision condition, the system recognizes a supervision error and the disturbed step is displayed in red. If a fault occurs, you must first satisfy the condition for progressing to the next transition. Using the PG function Debug > Control Sequencer you can then enter an acknowledgment (see also "Control Sequencer"). This does not apply to the inching mode, since the step enabling condition must be satisfied and the acknowledgment received within one cycle.
3-18
3.14
Acknowledge
If the "Acknowledge errors" option is clicked, you acknowledge a pending error message with the "Acknowledge" button. In this way, you can acknowledge a disturbance caused, for example, by the configured monitoring time in Step 2 being exceeded. Note, however, that before you acknowledge the error you must make sure that the supervision or interlock conditions that led to the error are no longer satisfied. After an error has occurred, you can enable the next step in the sequencer by satisfying the step enable condition because the last step enable condition in the cycle in which you acknowledge has priority over the supervision. You must nevertheless acknowledge the error. If the error was caused because the undisturbed activation time stepname.U has exceeded the configured monitoring time, you can move on the sequencer by clicking the "Acknowledge" button. This is possible because the Step name.U variable is set to "0" when you acknowledge.
Initialize
With the "Initialize" button, you can restart the sequencer completely with the defined initial step.
3-19
Note that before you activate a step you must first deactivate the currently active step since only one step can be active at any one time in a linear sequencer. In other words, you can only activate the required step when you have deactivated the currently active step. If you have set a new mode, the original mode is indicated in bold face. After you have controlled your sequencer in the manual mode, you can return to the automatic mode and close the "Control Sequencer" dialog box.
3.15
3. Enter the value 5 s for the monitoring time. 4. Save the sequencer with the menu command File > Save, since the sequencer must be recompiled.
3-20
2. Accept the defaults by clicking "OK". 3. Confirm the prompt to overwrite the existing blocks.
Include Instance DB
If you have not cleared the system default "Include Instance DB", S7-GRAPH checks whether the instance DB has changed since it was last downloaded and whether it must be updated. The option "Download with Instance DB" is enabled in the "Download" dialog box. Otherwise, S7-GRAPH does not check the instance DB and leaves you to decide whether or not to download the instance DB again. The option "Download with Instance DB" is not clicked in the "Download" dialog box.
3-21
3-22
4.1
Starting S7-GRAPH
Starting S7-GRAPH
There are two ways of starting S7-GRAPH: Startup under Windows: Start S7-GRAPH by via the Windows "Start" button on the taskbar. S7-GRAPH is found under Simatic > STEP 7 > S7-GRAPH - Programming Sequential Control Systems. Startup via SIMATIC Manager In the SIMATIC Manager, double-click an S7-GRAPH FB or an S7-GRAPH source file. S7-GRAPH opens and displays the selected block in the default view.
4-1
4.2
These sections describe the elements of the user interface numbered in the figure. (1) Toolbars (2) Work area (3) Menu bar (4) Title bar (5) Overview window (6) Detail Window (7) Status bar
4-2
Toolbars
The toolbars contain buttons with which you can start frequently required and currently available menu commands. The names of the toolbars in S7-GRAPH are visible when the toolbars are positioned within the main window.
Name Standard View Sequencer LAD/FBD Content Contains functions for handling files (opening, saving etc.) and for editing (copying, pasting etc.). Contains symbols for selecting various views (for example how S7-GRAPH FBs are displayed, display of symbolic names etc.). Contains buttons for editing the sequencer (for example inserting a step transition pair). Contains buttons for inserting Ladder Logic/FBD elements (for example comparator).
Working Area
The working area is a window within S7-GRAPH in which the sequences of an S7-GRAPH FB or an S7-GRAPH source file are displayed and can be edited. Within the main window of S7-GRAPH, you can open several at the same time. You can cascade, tile or overlap these windows.
Menu Bar
Just like other Windows applications, S7-GRAPH has a menu bar below the title bar of the main window. The display of the menu commands is context-sensitive. The menu commands are either active (black) or inactive (gray) depending on whether or not the command can be applied to the currently selected object.
Title Bar
The title bar at the upper edge of a window contains the standard Windows buttons and the following information: Title of the software Number of the open FB and DB or name and number of the open source Displayed element Path of the block or source
4-3
Overview Window
This window is snapped to the left edge of the working window by default. However, you can also snap it to the right, upper or lower edge of the window. This window contains three tabs:
"Graphics" Tab
These tabs display the individual sequencers and permanent operations in textual form. If required, If required, you can expand these to show more graphical detail, e.g. the structure of a sequence or specific operations. Here you can copy, cut, past or delete complete sequences or elements of such. An element of the sequencer's structure you select from the "Graphics" tab will be displayed for editing in the working window.
4-4
"Sequences" Tab
This tab displays all sequencers in a well arranged tiled view. This kind of display is especially useful for the status view. Here, too, you can select an element of the sequencer for editing in the working window. In the actual "Sequences" tab you can not edit sequencers.
"Variables" Tab
4-5
Displays the variable declaration with the IN, OUT, IN_OUT, STAT and TEMP segments and further program elements: Symbols from the symbol table, preprogrammed blocks from the block folder and blocks from libraries. A further folder displays the steps and transitions - including their components - of the S7-GRAPH function block which you can use as addresses in the program. In this tab, you can modify existing parameter sets, system parameters can be deleted but cannot be edited. It is also possible to extend your own parameters. If you want to use a parameter or a program element in the sequencer, you can drag it from the variable declaration window to the sequencer using the mouse and position it at the required location. Changes you have made to the parameters in the variable declaration window are automatically updated in the sequencer so that no inconsistencies can result. With the F1 key, detailed help is available on declaring variables in the variable declaration window. For more detailed information on the declared variables and program elements, refer to the "Details" window (Variables tab). You can open this window with the menu command View > Details.
"Details" Window
The "Details" window is displayed at the bottom edge of the screen and includes the following tabs:
Variables
The content of this tab depends on the selection you made in the "Variables" tab of the overview window. Here you can view detailed information on: Variables Symbols from the symbol table Programmed blocks from the block folder Blocks from libraries Steps and transitions of the S7-GRAPH FB
4-6
In this tab, you can declare new variables with the menu command Insert > Declaration Line. If you want to use a variable, block parameter or a program element in the sequencer, you can drag it from the variable declaration window to the sequencer using the mouse and position it at the required location.
Addresses
This tab contains a list of the addresses used in the block with their locations, symbols, and data types. During monitoring, the tab displays a further column when "Single Step" or "Permanent Instructions" is set displaying the current status value of the address during program execution. Whether or not this is displayed depends on the setting for the working area.
Setting for the Working Area Sequencer Single step display Permanent operations Displayed Addresses Addresses in the program Addresses of the step and corresponding transition Addresses used in the permanent operation
Forward Cross-references
Shows the use of addresses in the memory areas Q, M, T, and C within the user program. The up references tab displays all the addresses supplied with values in the current block and evaluated at other points in the program.
Backward Cross-references
The down references tab displays all the addresses supplied with the values of other locations in the program and evaluated in the current block.
4-7
Status Bar
The status bar is at the bottom edge of the main window of S7-GRAPH. By selecting the menu command View > Status Bar, you can display or hide the status bar. In the left half of the status bar you will see brief information about the selected menu command. The right-hand side of the status bar contains the following information: The following symbols identify the various connection and operating states:
Symbol Display offline Description You are editing a block stored on the PG/PC. With S7-300 and S7-400 S7-300 and S7-400 S7-300
CONNECTED
S7-400 S7-400
S7-400
The following displays are shown on a colored background in the status bar:
Display FRCE STOP HALT Disconnected RUN/RUN-P with "Sequence Control" and "Enable Monitoring" Color Yellow Red Yellow White Green scroll bar with indication: "AUTO", for automatic mode "MAN", for manual mode "TAP", for jog mode "TOP", for automatic mode or switching to the next step
4-8
Group Error
A red bar indicates that an group error has occurred.
Abs/Sym
The address priority set in the properties of the block folder. The address priority specifies whether the absolute addresses or the symbols are valid if changes are made in the symbol table.
Ins/OVR/Rd
Insert/Overwrite Editing mode for input Read The block/source is read-only.
Chg/Chg. Interface
Indicates that the block has been changed and whether the change involves the interface.
4.3
Sequencer
In the "Sequencer" view, one of the sequencers contained in the FB is displayed. If several sequencers exist, you can change from one to the other by selecting the "Graphic" tab in the overview window. This display level can be used to configure the sequencers. At this level, you can specify the structure of the sequencers and select the numbers, names and comments for steps and transitions. You can call menu command View > Display With > Conditions and Actions to display the contents of the configured steps and transitions.
4-9
The following elements are displayed: The block comment The layout of the steps, transitions, and branches As an option, you can display the contents of the steps and transitions Depending on the zoom factor, step and transition names are displayed
Single-Step Display
The single-step level always shows only one step-transition pair. All details can be programmed at this display level, as follows: Action: Actions executed within the step Supervision: Conditions for monitoring the displayed step Interlock: Conditions for interlocking the displayed step Transition: Conditions for switching from the current step to the next step comments Numbers and names of the displayed step / transition pair Name extensions. List of the symbolic addresses
Note You can use menu command Edit > Go To to display a different step without having to move to a different view. Use the cursor keys to change to the next or previous step.
Permanent Instructions
At the permanent instructions display level, you can program the following: Permanent instructions before the sequencer Permanent instructions after the sequencer
4-10
4.4
4-11
4-12
Color
You can change the color of the following elements:
Element Selected element Step active/transition valid Step not active Error LAD/FBD satisfied Operator input error Create Mode Selected element Elements Inactive step Disturbed step Satisfied conditions in transition, supervision, interlock and permanent instructions Non-satisfied conditions in transitions, supervision, interlock, and permanent instructions Non-executed transitions, supervision conditions or interlocks Synchronization points Monitor Mode
Synchronization point
Font
You can change the font for the following elements:
Area Step/transition number Step/transition name LAD/FBD The extended name. Actions Comments Numbers of the steps/transitions Name of the steps/transitions LAD/FBD addresses Titles of the action tables Contents of the action tables Contents of the comment fields
4-13
Lines
You can change the line style (thickness) for the following types of line:
Line Style Normal line Sensitive line The entry applies to all lines of the sequencers Line to which the currently selected Graph element can be appended.
4.5
4.5.1
4-14
4.5.2
4-15
4.5.3
After you double-click on a global address, the S7 program performs a search for "opposing" address instances, that is, for write access addresses it tries to find instances of read access addresses and vice versa. The menu commands Go To > Previous local instance / Next local instance shows all instances of local addresses in the S7-GRAPH block.
4-16
Creating a Project
This chapter explains how to create and open your project. The chapter also explains decision criteria for working with S7-GRAPH FBs or S7-GRAPH source files.
Create an S7 Graph FB
5.1
5-1
Creating a Project
5.2
Note If you find that you cannot program a sequencer in one session, first save the data as an S7-GRAPH source file or create an S7-GRAPH source file in the first place.
5.3
S7-GRAPH FB
You can create an S7-GRAPH FB both in SIMATIC Manager or directly in S7-GRAPH, as follows: In S7-GRAPH, select menu command File > New to generate a new function block in the S7-GRAPH language. In the SIMATIC Manager, select menu command Insert > S7 Block > Function Block to generate a new function block. Here you also select the S7-GRAPH language.
5-2
Creating a Project
5.4
5.5
5-3
Creating a Project
5-4
(2) (3)
S1 T1 S2 T2
(4)
(5)
The heart of a sequential control system is made up of the S7-GRAPH FBs (1). These contain the following: The program for step by step execution of the controller in sequencers (4). Permanent instructions (3)(5) that are valid for all sequencers of the FB (and are displayed in a separate window) A block comment (2) with which you can describe the entire block.
6-1
6.1
Sequencer - Principle
A sequencer consists of a series of steps and transitions that are activated in a fixed order depending on the step enabling conditions.
As long as the actions of a step are being executed, this step is active. If several steps are being executed at the same time, they are all active steps. An active step is exited when any active disturbances have been eliminated or confirmed and the transition following the step is satisfied.
The next step following the satisfied transition becomes active. At the end of a sequencer, there is a jump to any step in this sequencer or to another sequencer of the FB. This allows cyclic operation of the sequencer. a branch stop. The sequence of steps stops when the branch stop is reached.
Step
The control task is divided into single steps. Actions are formulated in the steps that are executed by the controller in a certain status (for example for controlling the outputs or activating and deactivating steps).
Active Step
An active step is a step whose actions are currently being executed. A step is activated, as follows: When the conditions of the previous transition are satisfied or When the step is defined as an initial step and the sequencer has been initialized or When it is called by an event-dependent action.
Note Avoid using a jump from a transition to an immediately preceding step. To make this jump statement possible, insert an empty step and transition without conditions.
6-2
6.2
Structures of a Sequencer
The simplest structure of a sequencer is a linear sequence of steps and transitions without branches. A linear sequencer starts with a step and finishes with a transition that can be followed either by a jump to any step or by a branch stop. The linear sequence can be extended by the following: Branches (alternative branch, simultaneous branch), Jumps to any steps, Further sequencers operating either dependent on the first sequencer or completely independently. Permanent instructions located before or after the sequencer.
S1
6-3
6.3
A branch can only be joined to a branch at the left of the branch that is to be closed. Jumps can be added following a transition at the end of a branch. These lead to a junction before a step in the same or in a different sequencer in the current FB. A sequencer stop can be added after a transition at the end of a branch and disables execution of this branch. Permanent instructions can be defined before or after the sequencer in the reserved field. These are called once in each cycle.
6.4
Elements of a Sequencer
The following list shows the elements that can make up a sequencer and the corresponding element buttons in the "Sequencer" toolbar with which you can create these elements: Step + Transition Jump Open Alternative Branch Close Alternative Branch Open Simultaneous Branch Close Simultaneous Branch Branch Stop Insert Sequencer You program the structure of the sequencer at the "Sequencer" display level.
6-4
A sequencer can contain a maximum of 256 branches with up to 125 alternative branches or up to 249 simultaneous branches.
It is not practical to generate more than 20 to 30 branches (depends on the CPU) due to their influence on program runtime.
6.5
Step/Transition Pair
As default, the S7-GRAPH FB already contains one step/transition pair to which you can append further step/transition pairs. Steps and transitions can only be inserted in pairs in a sequencer. When you insert steps and transitions, they are automatically assigned a number. To ensure a better overview, you can renumber steps and transitions within a certain range later so that the numbering is consecutive.
Initial Step
The initial step is the step in a sequencer that becomes active without previously querying conditions when an S7-GRAPH FB is first called. The initial step is not necessarily the first step in a sequencer. When a sequencer is run through cyclically, this step (just like every other step) only becomes active when the conditions of the previous transition are satisfied. The sequencer is initialized by the FB parameter INIT_SQ = 1. In other words the sequencer starts with the initial step.
6-5
6.6
Jump
A jump is the change from a transition to any step within the sequencer or within another sequencer in the same FB. A jump always follows a transition and closes the sequencer or the path of the branch at this point. In contrast to a branch stop, the jump has the effect of repeating the execution of the sequencer or parts of it. The jump (1) and the jump destination (2) are displayed graphically as an arrow but the connection itself is not visible.
T4 S1 T1 S2 T2 S3 S6 S8 T3 T8 S4 S9 T4
1 2
T8 T12 S9 T9 S7 S11 T7 T11 S12 T12 T14 S1 T10 S13 T13 S14
S5 T5
S1
6-6
6.7
Alternative Branch
An alternative branch consists of two or more parallel sub branches (a maximum of 125). Each path in an alternative branch begins with a transition. Only the branch path whose transition switches first is executed. An alternative branch therefore corresponds to an OR operation in which only one path can be active. Each path in an alternative branch ends with a transition and can be closed by a branch stop or a jump.
T5 Tz S1 T1 S2 T2 S3 T3 S4 T4 S5 T5 Jump Jump T6 Sm Tm Sn Tn Tx Sy Ty Tx+1 Sz Tz T7 Sx
6-7
6.8
Simultaneous Branch
A simultaneous branch consists of more than one parallel path (a maximum of 249) each of which starts with a step. The path are executed simultaneously. A simultaneous branch corresponds to an AND branch. The transition before the simultaneous branch (in the figure T1 and T7) activates the first steps of the individual simultaneous branch paths. Every path in a simultaneous branch ends with a step and is completed by a successor transition. If more than one simultaneous branch path joins to a transition, this transition only enables the next step when all active simultaneous branch paths have been executed.
T5 S1 T1 S2 T2 S3 T3 Tx S4 T4 S5 T5 Sy S6 Tm Sm Sx Sz S7 T7
1 2 3
: Simultaneous sub-branch 1 : Simultaneous sub-branch 2 : Simultaneous sub-branch 3 with a further simultaneous branch
6-8
6.9
Branch Stop
A branch stop at the end of a linear sequencer (1) or at the end of a path of an alternative branch (2) terminates the sequencer. The sequencer is not executed cyclically. A branch stop at the end of a branch path of a simultaneous branch (3) terminates only this branch path. The execution of the other paths in the simultaneous branch continues. A branch stop always follows a transition.
1 2 3
T3 S1 T1
T3 S1 T1 S2 T2 S3 T3 S1 S3 T3 T6 S2 T2 S5 S1 T1 T4
S2 S4 T5 S3 T3 S1 T2
S4 T4 S5 T5
Caution If all the paths of a sequencer are completed with a branch stop, the sequencer can only be restarted by the parameter INIT_SQ.
6.10
New Sequencer
An S7-GRAPH FB can consist of several sequencers. Each sequencer can 1. be executed independent of the other sequencers and therefore at the same time. 2. be used with a jump to continue it or connect it as the branch of another sequencer. This allows you to represent technically complicated functions in one block providing you with a clearer structure for the program. In every sequencer, an initial step can identify the first active step.
6-9
6.11
Permanent Instructions
Permanent instructions are conditions (1) and block calls (2) located before or after the sequencer. These are executed once per scan cycle regardless of the state of the sequencer. You can program any number of permanent instructions in an S7-GRAPH FB. Each permanent instruction is assigned a number. You program permanent instructions in the "permanent instructions" view.
1 E2.3 E0.0 M2.0
(1)
E2.5
2 CALL (2)
Permanent Condition
Conditions that must be satisfied at more than one point in the sequencers can be programmed once centrally as permanent conditions. You can use the Ladder Logic elements: normally-open contact, normally-closed contact, and comparator or the FBD elements AND box, OR box, and comparator. A maximum of 32 Ladder Logic/FBD elements can be programmed per permanent condition. The result of combining the conditions is stored in a ladder coil or in an FBD assignment with which the functions set and reset are available. The address used (for example a memory bit) can be queried in a transition, interlock, and supervision.
6-10
Function blocks and system function blocks must be assigned an instance DB when they are called. The blocks must already exist in the "Blocks" folder of the S7 program before they are called. The names of the blocks can be specified in absolute form (for example FC1) or, if they are declared in the symbol table, symbolically (for example Motor 1). When the blocks are called, you must supply the formal parameters of the called block with actual values.
6.12
Block Comment
Every S7-GRAPH FB can include a block comment. The block comment can be a maximum of 2048 characters long. It has no influence on the execution of the program. Block comments are displayed only in the "Sequencer" view.
6-11
6-12
Supervision
V
S1
Step1
Step1
(6)
T1
Trans1
(7)
Address
Symbol
Type
Comment
(8)
Field for the step comment Area for interlock conditions Area for supervision conditions Symbol for the step
Area for transition conditions Empty action table Symbol for transition Symbol table for symbolic programming
7-1
7-2
7.1
Actions
In the steps, you program actions that, for example, control the inputs, outputs and memory bits, activate or deactivate the steps of the sequencer or call blocks. This means that actions contain instructions for process control. These actions are executed in order from "top" to "bottom" when the step is active. You program the step contents in the action table at the "single step" display level. You can also select the "Sequencer" display level and display the actions with the menu command View > Display With > Conditions and Actions.
Components of an Action
An action consists of the following: (1): An optional event (for example S1) and an instruction (for example N) and (2): An address (for example M4.3) or an assignment (for example A:=B+C).
Step is active
S4
Step4 Order of execution
Categories of Actions
Actions are divided into the following categories: Standard actions With and without interlock
-
Event-dependent actions With and without interlock To activate and deactivate steps
-
7-3
7.2
Standard Actions
R[C]
Q,I,M,D
m.n
D[C]
Q,I,M,D
m.n
[ ] = optional addition to the interlock; m = byte address; n = bit address; address range: 0.0 to 65535.7 Address D: DBi.DBXm.n = data block number i; DBXm.n = bit in the DB; SFB/FB = System function block/ function block; SFC/FC = System function/function For CALL[C] FB/SFB, an instance DB is required.
Note You can open the called block or its instance DB using the Open Block function or by right-clicking or double-clicking on the block.
7-4
Time Constant
All actions that contain the instructions D or L require a time to be specified. Times are programmed as constants with the syntax T#<const> and can be combined as required. <const>= nD (n days), nH (n hours), nM (n minutes), nS (n seconds), nMS (n milliseconds), where n = a number (integer) Example: T#2D3H: time constant = 2 days and 3 hours
S4
(1) (2)
(1): As long as the step is active, the signal at output Q1.0 is set to 1. (2): 1 minute and 20 seconds after step activation and providing the step is still active, the signal at output Q1.1 is set to 1. If the step is no longer active, the signal at Q1.1 is 0.
7-5
7.3
Events
Event-Dependent Actions
An action can be logically combined with an event. An event is the change in the signal state of a step, a supervision or an interlock or the acknowledgment of a message or a registration is set. If an action is logically combined with an event, the signal state of the event is recognized by edge detection. This means that the instructions can only be executed in the cycle in which the event took place.
Supervision
1 V1 0
V1: Supervision error occurred (disturbance) V0: Supervision error cleared (no disturbance)
Disturbance V0 t
Interlock
1 L1 0 [C = 0] t L0
L0: Interlock condition entering state L1: Interlock condition leaving state (for example disturbance) C: Interlock condition is satisfied
A1: A message is acknowledged R1: A registration is set (rising edge at input REG_EF / REG_S)
A1=1
7-6
After the event is detected, the following applies to the next step cycle: Address has signal state 1 (N) once Address set to signal state 0 (S) once Address set to signal state 0 (R) once Block is called once (CALL)
m = byte address; n = bit address; address range: 0.0 to 65535.7 Address D: DBi.DBXm.n = data block number i; DBXm.n = bit in the DB; SFBi / FBi = (system) function block number i; SFCi / FCi = (system) function number i
7-7
OFF[C]
S_ALL
ON, OFF
OFF
S_ALL
i: step number
Note If a step is both activated and deactivated in one cycle, deactivating has higher priority.
S4
Step 4
1 2 3
(1): As soon as the step is active and the interlock is satisfied, output Q1.0 is set to 0 and remains set to 0. (2): As soon as the supervision error occurs, all active steps are deactivated, except for step S4 in which the action is located. (3): As soon as the interlock condition is satisfied, the specified block (FC10) is called.
7-8
7.4
Counters in Actions
All counters in actions are always dependent on an event, in other words the event determines the time at which the instruction is activated. You also have the option of combining counters with an interlock. The count instructions combined with the interlock are only executed when the conditions of the interlock are satisfied (letter C added) as well as the event occurring. Counters without an interlock are executed when the event occurs. The counters in actions behave like the counters in other S7 programming languages: There is no overflow and no underflow and with a counter reading of 0, the counter bit is also 0, otherwise it is 1.
Event S1, S0, L1, L0, V1, V0, A1, R1 Instruction CS[C] Address Identifier C Address Location X Meaning: Set: As soon as the event occurs [and the interlock is satisfied], the initial counter value is loaded in the counter. Initial counter value X Count up: As soon as the event occurs [and the interlock is satisfied], the counter value is incremented by "1". Count down: As soon as the event occurs [and the interlock is satisfied], the counter value is decremented by "1". Reset: As soon as the event occurs [and the interlock is satisfied], the counter value is reset to 0.
<initial counter value> S1, S0, L1, L0, V1, V0, A1, R1 S1, S0, L1, L0, V1, V0, A1, R1 CU[C] C
CD[C]
CR[C]
7-9
Timers in Actions
All timers in actions are always dependent on an event, in other words the event determines the time at which the instruction is activated. You also have the option of combining timers with an interlock. The timer instructions combined with an interlock are only executed when the conditions of the interlock are satisfied in addition to the event occurring (additional letter C). Timers without an interlock are executed when the event occurs.
Event S1, S0, L1, L0, V1, V0, A1, R1 Instruction TL[C] Address Identifier T Address Location X Meaning: Extended pulse, non-latching behavior of the timer bit (status of the timer): As soon as the event occurs, the timer starts. The condition C is only relevant for the point at which the timer starts. Once the timer starts, it continues to run regardless of the interlock and step activity. During the period <time>, the timer bit is set to "1", afterwards it is reset to "0". The started timer can be restarted by an event occurring. The timer bit remains set to "1", the timer starts again with the value of <time>. time X Latching on delay, latching behavior of the timer bit (status of the timer): As soon as the event occurs, the timer starts. The condition C is only relevant for the point at which the timer starts. Once the timer starts, it continues to run regardless of the interlock and step activity. During the <time>, the timer bit is set to "0". The started timer can be restarted by an event occurring. The timer bit remains set to "0", the total time the timer runs is extended by <time>. The timer bit is set to "1" only after the total time has elapsed. time X Reset: As soon as the event occurs [and the interlock is satisfied], the timer is stopped. Timer bit (status of the timer) and timer value are reset to "0".
7-10
Time (duration)
All actions containing one of the TL or TD instructions require a time (duration) to be specified. The time is programmed with the following syntax: <time> = IWy, QWy, MWy, LWy, DBWy, DIWy; variable of the type S5TIME, WORD; S5T#time_cnstant Y = 0 ... 65534
Arithmetic in Actions
You can provide statements with simple arithmetic expressions in actions. There are assignments in the form A:=B, A:=func(B) and A:=B<operator>C. An action containing an arithmetic expression requires the N instruction. The action can be dependent on an event. This means that the assignment can either be executed only when the relevant event occurs or in each cycle in which the step is active. As an option, the action can also be combined with an interlock (letter C added).
Event -Instruction N[C] Assignment A:=B A:=func(B) A:=B<operator>C S0, S1, V0, V1, L0, L1, A1, R1 N[C] A:=B A:=func(B) A:=B<operator>C After the event occurs [and the interlock is true], the assignment is executed. Meaning As long as the step is active [and the interlock is satisfied], the assignment is executed.
7-11
Direct Assignments
You can enter direct assignments with the syntax A:=B. The following data types can be used for a direct assignment: 8 bits: BYTE, CHAR 16 bits: WORD, INT, DATE, S5TIME 32 bits: DWORD, DINT, REAL, TIME, TIME_OF_DAY
The following table is an overview of all the permitted types of assignment. You can assign not only addresses of the same type but also addresses with different data types with the same length and addresses of different lengths to each other:
8 Bits BYTE CHAR 8 Bits BYTE := CHAR := 16 Bits WORD := INT := DATE := S5TIME := 32 Bits DWORD := DINT := REAL := TIME := TIME_OF_ DAY := ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 16 Bits WORD INT DATE S5 TIME 32 Bits DWORD DINT REAL TIME TIME_OF _DAY
7-12
Assignment with Built-in Function Math functions: A := NEGR(B) A := ABS(B) A := SQR(B) A := SQRT(B) A := LN(B) A := EXP(B) A := SIN(B) A := ASIN(B) A := COS(B) A := ACOS(B) A := TAN(B) A := ATAN(B) A := NEG(B)
Comment
REAL negation REAL absolute value REAL square REAL square root REAL logarithm to base e REAL exponent to base e REAL sine REAL arc sine REAL cosine REAL arc cosine REAL tangent REAL arc tangent Negation (two's complement) (STL instructions: NEGI, NEGD, NEGR)
Other Functions: A := NOT(B) A := SWAP(B) A := RLDA(B) A := RRDA(B) One's complement (STL instructions: INVI, INVD) Swap bytes (STL instructions: TAD, TAW) Rotate 32 bits left by 1 bit via CC1 (STL instruction: RLDA) Rotate 32 bits right by 1 bit via CC1 (STL instruction: RRDA)
7-13
Step 4 S1 CU S1 N
Z23 A:=A+1
Two alternatives for counting production cycles: (1): As soon as the step is active, the counter C23 is incremented by 1. The counter therefore counts the number of times the step is activated. (2): As soon as the step becomes active, the value of A is incremented by 1. In this way, the arithmetic can be used to count actions based on the number of activations of the step.
7-14
7.5
Conditions
Conditions are binary states of the process that are combined with each other as LAD or FBD elements (normally-open contact, normally-closed contact, AND box, OR box, comparator) in the LAD diagram or in the function block diagram according to Boolean logic. The result of the logic operation (RLO) can influence individual actions of a step, the entire step, the enabling of the next step or the entire sequencer. Logic operations are programmed in Ladder Logic or FBD. Conditions are : Events (for example active step is exited) and States (for example input I2.1 is set)
Transition
In a transition, you program conditions that control how the sequencer passes control from one step to the next.
Interlock
C
Supervision
V
S1
Step1 E2.3
T1
Trans1
E2.5
A transition is displayed and programmed at the single step display level. You can also select the "Sequencer" display level and display the transitions with the menu command View > Display With > Conditions and Actions. The transition passes control to the next step of the sequencer when the logic operation of the conditions is satisfied, in other words when the network produces the result 1. The step following the transition becomes active. The transition does not pass control to the next step of the sequencer if the logic operation of the conditions is not satisfied; in other words, when the network produces the result 0. The active step remains active.
7-15
Empty Transition
Transitions without programmed conditions are empty transitions. This does not affect the execution of the sequencer. The active step is run through only once. The following step becomes valid.
Skipping Steps
If both the transition before a step and the transition after a step are valid at the same time, the step does not become active. In the "Compile/Save" tab of the "Block Settings" dialog box (menu command Options > Block Settings), the option "Skip Steps" must be selected.
Interlock
An interlock is a programmable condition for interlocking the step that influences the execution of individual actions.
E2.3 E2.5 Interlock
C
Supervision
V C
S1
Step1
T1
Trans1
If the logic operation of the conditions is satisfied, the actions combined with interlocks are executed. If the logic operation of the conditions is not satisfied, there is a disturbance: Actions combined with an interlock are not executed An interlock error is signaled (event L1).
You program an interlock at the single step display level. A maximum of 32 Ladder Logic/FBD elements can be programmed per interlock. The result of the operation is managed automatically by the system. A programmed interlock is indicated by the letter C following the step at all display levels.
Caution If you program an interlock this is only used in the actions when their instructions have been extended by the letter C.
Empty Interlock
An interlock without a condition (in other words without Ladder Logic or FBD elements) behaves like a satisfied interlock.
S7-GRAPH for S7-300/400 Programming Sequential Control Systems A5E00290656-01
7-16
Supervision
A supervision is a programmable condition for monitoring a step that influences the way in which the sequencer passes control from one step to the next.
Interlock
C
Supervision
IN1 IN2
CMP == I
S1
Step1
V
T1
Trans1
A programmed supervision is indicated by the letter V to the left of the step at all display levels. You program supervisions at the single step display level. A maximum of 32 Ladder Logic/FBD elements can be programmed per supervision. The result is managed automatically by the system. If the logic operation of the conditions is satisfied, there is a disturbance and the event V1 is signaled. The sequencer does not pass control to the next step. The current step, however, remains active. The step activation time Si.U is stopped as soon as the condition is satisfied. If the logic operation of the conditions is not satisfied, there is no disturbance. If the successor transition is satisfied, the sequencer passes control to the next step.
Permanent Instructions
You program permanent instructions with the familiar Ladder Logic/FBD elements. For more detailed information, refer to the "Permanent Instructions" section in "Programming the Structure of a Sequencer".
7-17
7.6
<Address>
I, Q, M, T, C The normally open contact has data bit signal state "1", when the signal state of the address is "1". The address specifies the bit whose signal state is queried.
I, Q, M, T, C The normally closed contact has data bit signal state "1", when the signal state of the address "0". The address specifies the bit whose signal state is queried.
<Operand> BOOL
I, Q, M, data You use coils only in the permanent bit instructions of a sequencer. The address contains the result of the conditions that were programmed within the permanent instructions (logic operations with normally open contacts, normally closed contacts, compare boxes). It specifies the bit to which the signal state is assigned.
<Operand> BOOL
-----(S)
I, Q, M, data "Set coil" is only executed when the bit result of logic operation (RLO) of the previous permanent instructions is "1". The <address> is then set to "1". An RLO of "0" has no effect, so the current signal state of the address is not changed. The address specifies which bit will be set.
<Operand> BOOL
-----(R)
I, Q, M, data "Reset coil" is only executed when bit the result of logic operation (RLO) of the previous permanent instructions is "1". The <address> is then set to "0". An RLO of "0" has no effect, so the current signal state of the address is not changed. The address specifies which bit will be reset.
7-18
Entering Addresses
There are two ways of entering addresses: Click the placeholder "??.?" of the required text field. Then enter an absolute or symbolic address (for example I1.0, "limit_switch"). You can use both the German mnemonics (E, A) and the English mnemonics (I, O) for addresses. Set the mnemonics you require in the SIMATIC Manager. Select the address and then select an absolute or symbolic address from the drop-down list box (for example I1.0, "Limit switch"). The address is then entered.
7-19
7.7
a transition The condition is satisfied when the signal state at input I '0.0 is "1" AND and the signal state at input I 0.1 is "0". The condition is satisfied when The signal state at input I 0.0 is "1" The compare box produces the result true" after comparing the two addresses.
OR
E0.0
OR
7-20
Addresses
Data
Memory Area
Description
The compare box has the signal state "1" when the comparison between the two addresses IN1 and IN2 is true. INT: 16-bit integer comparator Parameter: words DINT: 32-bit integer comparator and comparator for timers Parameter: double words, timers REAL: 32-bit floating-point number comparator Parameter: double words
Note: When you enter the comparator you only need to specify the data type D/R/I explicitly when you enter the 32 bit values without specifying a type (for example when accessing absolute addresses in the double word area). Otherwise the data type is detected by the system so that the specification can be omitted.
7-21
7.8
FBD Elements
An FBD program follows the signal flow of a logic string. The individual FBD elements carry binary information: Signal state "0" (current not flowing) or "1" (current flowing).
FBD Element Insert binary input
<Address>
Address
Data type
Memory Area I, Q, M, T, C, D, L
Description The instruction adds a further binary input to an AND or OR box after the position selected. The address specifies the bit whose signal state is queried.
<Operand> BOOL
None:
--
--
Output
You use output operations only in the permanent instructions of a sequencer. <Operand> BOOL I, Q, M, D, L The address contains the result of the conditions that were programmed within the permanent instructions (logic operations before the output box). It specifies the bit to which the signal state is assigned.
Assign output
<Address>
=
Set output
<Operand> BOOL
<Address>
S
I, Q, M, D, L This instruction is executed only when the RLO of the previous permanent instruction is "1". The <address> is then set to "1". An RLO of "0" has no effect, so the current signal state of the address is not changed. The address specifies which bit will be set.
Reset output
I, Q, M, T, C, D, L
<Address>
R
This instruction is executed only when the RLO of the previous permanent instruction is "1". The <address> is then reset to "0". An RLO of "0" has no effect, so the current signal state of the address is not changed. The address specifies which bit will be reset.
7-22
Entering Addresses
There are two ways of entering addresses: Click the placeholder "??.?" of the required text field. Then enter an absolute or symbolic address (for example I1.0, "limit_switch"). You can use both the German mnemonics (E, A) and the English mnemonics (I, O) for addresses. Set the mnemonics you require in the SIMATIC Manager. Select the address and then select an absolute or symbolic address from the drop-down list box (for example I1.0, "Limit switch"). The address is then entered.
7-23
7.9
Address
Data type
Memory Area I, Q, M, T, C, D, L
Description The instruction provides the signal "1" when the signal state of all <addresses> is "1". If the signal state of an <address> is "0", the instruction produces the result "0". The address specifies the bit whose signal state is queried.
<Operand> BOOL
&
OR operation
<Address> <Address>
<Operand> BOOL
I, Q, M, T, C, D, L
>=1
The instruction provides the signal "1" when the signal state of one of the <addresses> is "1". If the signal state of all <address> is "0", the instruction produces the result "0". The address specifies the bit whose signal state is queried.
Compare box
CMP == IN1 IN2
== > <
I, Q, M, D, L, The result of the logic operation has constant the signal state "1" when the comparison between the two addresses IN1 and IN2 is true. INT: 16-bit integer comparison : Parameter words DINT: 32-bit integer comparison : Parameter double words REAL: 32-bit floating-point number comparison Parameter: double words
Note: When you enter the comparator you only need to specify the data type D/R/I explicitly when you enter the 32 bit values without specifying a type (for example when accessing absolute addresses in the double word area). Otherwise the data type is detected by the system so that the specification can be omitted.
7-24
7.10
Meaning Current or last activation time of step i Total activation time of step i without the time of a disturbance Indicates whether or not step i is active
Used in Comparator, assignment Comparator, assignment Normally open contact/normally closed contact Normally open contact/normally closed contact
Transi.TT Transition i is satisfied Check whether all conditions of transition i are satisfied
You can use S7-GRAPH-specific addresses just like all other addresses in LAD and FBD or in actions.
Valve
CMP >=D
S003.U T#5s
IN1 IN2
7-25
7.11
Disturbance V0
No disturbance
Disturbance: conditions in the supervision are satisfied No disturbance: conditions in the supervision are not satisfied
Whether or not an error must be acknowledged can be set as "definable" not only in the settings in the dialog box but alternatively also using the relevant parameter (EN_ACKREQ) in the parameter set.
7-26
Actions with V1 are executed once in the next sequencer cycle. Step activation time Si.U is stopped
Yes
No
No
Yes
Yes
Yes
No
No SV not true?
No SV not true?
Sequencer switches
Yes
End
7-27
7.12
Step Comment
A step comment can contain a maximum of 2048 characters. It has no influence on the execution of the program. Step comments are displayed only at the single step display level. If you do not enter an extended step name, the step name is displayed instead.
Step Number (for example S1) and Step Name (for example Step1)
The step name and step number must be unique and can be adapted at any of the display levels. The step number is automatically assigned by the system (range: 1 to 999). If the step number of the first step is set manually in a branch path, when further step-transition pairs are inserted, the numbers are assigned automatically by the system in ascending order starting at the manually entered number. This simply leads to interrupted numbering of the steptransition pairs. You can renumber the steps and transitions at any time so that individual areas are consecutively numbered. The step name is automatically assigned by the system (range: step1 to step999). It can consist of a maximum of 24 alphanumeric characters. The first character must be a letter. If the zoom factor is too low, the display of step names is suppressed. If you modify the name of a step in the "Step Properties" dialog box, S7-GRAPH automatically searches for the old name and replaces it throughout the entire program when you save or compile. All instructions in which the step is referenced are therefore updated.
7-28
Transition Number (for example T1) and Transition Name (for example Trans1)
The transition name and transition number must be unique and can be adapted later in all three programming language representations. The transition number is assigned automatically by the system (range: 1 to 999). If the transition number of the first transition is assigned manually in a branch path, when you insert further step-transition pairs, the numbers are assigned by the system automatically starting at the number entered manually. This simply leads to interrupted numbering of the step-transition pairs. You can renumber the steps and transitions at any time so that individual areas are consecutively numbered. The transition name is automatically assigned by the system (range: Trans1 to Trans999). It can consist of a maximum of 24 alphanumeric characters. The first character must be a letter. If the zoom factor is too low, the display of the transition name is suppressed. You can modify the transition name in the "Transition Properties" dialog box.
7.13
7-29
Instead of the absolute block identifier FB11, use the symbolic name Seq_drill".
7.14
7-30
8-1
8.1
Each FB has an instance DB that can be understood as the memory of the FB. This contains all the data and parameters required to execute the FB. The instance DB can be created either automatically during compilation or later using a menu command. The size of the instance DB depends on the number of programmed steps and transitions but is a minimum of 300 bytes. Before saving the S7-GRAPH FB or S7-GRAPH source file, you can start a consistency check. Errors and warnings during the compilation of an S7-GRAPH source file can but do not need to be corrected. Errors during the compilation of an S7-GRAPH FB must, however, be corrected before the FB can be saved.
-
If you want to download several sequencers to the PLC at the same time, it is often better to include the system functionality in one of the supplied standard blocks. This reduces the size of every S7-GRAPH block by approximately 5000 bytes. The requirement of the standard block must, however, be added to this (once) (FC70 approx. 8200 bytes, FC71 approx. 7750 bytes, FC72 approx. 10700 bytes, FC73 approx. 8150 bytes).
8.2
8-2
8.3
Note If your S7-GRAPH source file is error-free, you can then create an S7-GRAPH FB with File > Compile.
8.4
Select the menu command Options > Application Settings. The dialog has a further tab that is relevant for saving and compiling. The "General" tab determines, among other things, the data to be created when you save your program.
8-3
8.4.1
On Saving
The settings decide which data are created when you save your program. Include instance DB: If you select this option, whenever a function block is compiled or downloaded, S7-GRAPH checks whether the instance DB requires updating and if necessary updates it automatically. If you do not select this option, you must create or update the instance DB manually with the menu command File > Generate Instance DB. Caution If you have set the option "Message with ALARM_SQ/ALARM_S (SFC17/SFC18)" in the "Messages" tab (Options > Application Settings menu command) the instance DB is automatically included. If the instance DB is deleted, make sure you only recreate it with S7-GRAPH, otherwise messages are lost. Generate reference data If you select this option, the reference data are created automatically when you save the block. If you do not select the option, you can nevertheless create or update the reference data manually with the menu command Options > Reference Data. Generate PDIAG data If you select this option, S7-GRAPH generates diagnostic data that can be displayed on an operator interface system. Use extended names for display system Click this check box if you want to use the extended names of the step names for the diagnostic systems.
8-4
IEC-compliant
S7-GRAPH as of V5.1 complies with the PLCopen Basis Level for sequential control systems as stipulated in the DIN EN 61131-3 standard. If you have a sequential control system that conforms with the standard, you can now import it into the STEP 7 data management as an ASCII file using the SIMATIC Manager and then edit it in S7-GRAPH. To create sequential control systems conforming with the standard, select the "IEC-compliant" option. This setting has the following effects: All sequential control systems must contain an initial step. Otherwise, an error is indicated during compilation and no block is created. Direct identifiers in source files and blocks (for example M0.0) are preceded by the % character (%M0.0) Addresses in source files are always represented by their absolute addresses. Compare instructions are displayed without a data type specification if the data type of the address is unambiguous. The "Addresses in Source Files Absolute/Symbolic" option is not available and is set to absolute.
8-5
To ensure that the source files comply with the PLCopen Standard, the following modifications are made automatically: "function_block" is replaced by "program" The semicolon is used as the separator The "Condition:=" expression is suppressed The program name is displayed symbolically in the source file The pseudo comment "$_Jump" is no longer required to recognize jumps.
8.4.2
Caution If you edit a user-defined parameter set and then select a standard parameter set later in this tab, you will lose the self-defined parameters.
8-6
8.4.3
8-7
8.4.4
8-8
8.4.5
8-9
8.4.6
8.4.7
The following entries are possible only in the "Application Settings" dialog box. They do, however, also apply to the current block.
8-10
8.5
Saving
8-11
With the following formula, you can estimate how much space is required for an S7-GRAPH FB and instance DB in the work memory (n = number of steps). FB = 150 Byte + n * 16 Byte DB = 236 Byte + n * 26 Byte Each programmed condition requires an additional 2-4 bytes, each action requires 6-8 bytes.
8-12
Dependent on Approx. 8200 the number bytes and size of the sequencers No restriction arithm. functions, timers, and counters can only be used with S7-GRAPH V5.1 and higher
No user-defined parameters, arithm. functions, timers, and counters can only be used with S7-GRAPH V5.1 and higher, no messages with SFC17/SFC18 however messages can be sent with SFC52
No restriction
no messages can be sent and therefore no connection to process diagnostics no step activation time (.U) "Skip Steps" option not possible No user-specific step and transition numbering possible
less than 8 Kbytes and can be loaded on smaller CPUs. particularly suitable for small applications (for example 30 steps)
Can only be No restriction loaded on CPUs that have SFC17 and SFC18 (ALARM_S and ALARM_SQ).
Due to the 8 Kbyte limit, cannot be loaded on the following: all CPU 313 all CPU314 all CPU314 IFM CPU315-1 (up to version 1AF02)
no restrictions
CPU
no special Can only be No restriction requirements loaded on CPUs that have The 8 Kbyte limit must be SFC17 and SFC18 adhered to (ALARM_S and both for the FB and for the ALARM_SQ). (all S7-400 DB. CPUs and all newer S7-300 CPUs)
The CPU must No restriction be capable of loading blocks larger than 8 Kbytes (all S7-400 and S7-300 CPUs from Version 1AF03 / -2AF03 of the CPU315 onwards)
8-13
The following options are available when you save an open object (block or source file): 1. Select the menu command File > Save or click the "Save" button in the toolbar. The object is saved under its present name. 2. If you require a copy of the current object, select the menu command File > Save As. The "Save As" dialog appears which you can specify the object name and path of the copy. 3. If you select the menu command File > Close, the Close button or the menu command File > Exit and the modified object has not yet been saved, you will be prompted to decide whether or not you want to save or discard the modifications or cancel the Close command.
Caution If the sequencer still contains errors, it cannot be saved as an FB. As an alternative, you can save it as an S7-GRAPH source file in which you can continue to work. This allows you to eliminate the errors at a later point in time.
8-14
8.6
Compiling
Compiling produces a program that can be understood by the CPU. During compilation, the syntax of the program is checked, the S7-GRAPH FB is created and, if required, the instance DB.
Requirements
Before an FB can be compiled, all the errors must be eliminated. You can have S7-GRAPH check your blocks as follows: Either run a consistency check prior to compilation or Compile more than once.
8-15
Caution If errors are indicated, S7-GRAPH has not created an FB. You must eliminate the errors before the S7-GRAPH FB can be saved.
Caution If errors are indicated, S7-GRAPH has not created an FB. You must first eliminate the errors before you can compile the file into an FB.
8-16
9.1
(2)
DB i
(3)
S1 T1
9-1
9.2
Note You only need to assign values to the parameters of the FB that you actually require during operation.
9-2
9.3
You want to use your sequencer only in the automatic mode. You do not require any further control or monitoring functions.
You want to operate your sequencer in various modes. You also require feedback about the process and have the option of acknowledging messages. Apart from the options provided by the standard parameter set, you require further operator control and monitoring functions for service and commissioning. This parameter set applies to blocks as of version 4. Apart from the options provided by the standard parameter set, you require further operator control and monitoring functions for service and commissioning. This parameter set applies to blocks as of version 5x.
You can also modify existing parameter sets in the variable declaration window. You can, for example, delete unnecessary parameters from a standard parameter set. System parameters cannot be modified however you can define user-specific parameters to meet your requirements.
Caution Defined parameter names must not be used as step names (and vice-versa).
Caution If you edit a user-defined parameter set and then select a standard parameter set later in this tab, you will lose the self-defined parameters.
9-3
9.4
Minimum BOOL BOOL
9-4
Maximum <= V4 BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL INT BOOL BOOL BOOL EN
Maximum V5/ user-defined BOOL INT BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL (*) BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL INT BOOL BOOL BOOL BOOL BOOL BOOL EN
DB Sequencer FB Sequencer ENO BOOL INT BOOL BOOL TIME TIME (*) DWORD (*) DWORD (*) WORD INT BOOL DWORD (*) DWORD (*) DWORD (*) BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL (*) BOOL BOOL BOOL BOOL BOOL BOOL BOOL
S_NO OFF_SQ S_MORE INIT_SQ S_ACTIVE ACK_EF ERR_FLT HALT_SQ HALT_TM SQ_HALTED ZERO_OP TM_HALTED EN_IL OP_ZEROED EN_SV IL_ENABLED S_PREV SV_ENABLED S_NEXT AUTO_ON SW_AUTO TAP_ON SW_TAP MAN_ON SW_MAN S_SEL S_ON S_OFF T_PUSH
OFF_SQ S_NO INIT_SQ S_MORE ACK_EF S_ACTIVE REG_EF S_TIME ACK_S S_TIMEOK REG_S S_CRITLOC HALT_SQ S_CRITLOCERR HALT_TM S_CRITSUP ZERO_OP S_STATE EN_IL T_NO EN_SV T_MORE EN_ACKREQ T_CRIT EN_SSKIP T_CRITOLD DISP_SACT T_CRITFLT L DISP_SEF ERROR DISP_SALL FAULT S_PREV ERR_FLT S_NEXT SQ_ISOFF SW_AUTO SQ_HALTED SW_TAP TM_HALTED SW_TOP OP_ZEROED SW_MAN IL_ENABLED S_SEL SV_ENABLED S_SELOK ACKREQ_ENABLED S_ON SSKIP_ENABLED S_OFF SACT_DISP T_PREV SEF_DISP T_NEXT SALL_DISP T_PUSH AUTO_ON TAP_ON TOP_ON MAN_ON
Note: The parameters marked with (*) are not available for FC73
9-5
9.5
Parameter EN
Description Controls execution of the FB (enable input). If EN is not connected, the FB is always executed.
OFF_SEQUENCE:
Min. !
Std. !
Max. !
Userdef. !
OFF_SQ
BOOL
Sequencer off, in other words deactivate all steps INIT_SQ ACK_EF BOOL BOOL
INIT_SEQUENCE:
! !
! !
! !
Acknowledge all errors, force switching to next step REG_EF ACK_S REG_S HALT_SQ HALT_TM BOOL BOOL BOOL BOOL BOOL
REGISTRATE_ERROR_FAULT:
! ! ! ! ! ! !
Stop/reactivate sequencer
HALT_TIMES:
Stop/reactivate all step activation times and time-dependent instructions (L and D) of the sequencer ZERO_OP BOOL
ZERO_OPERANDS:
Reset all addresses of the instructions N, D, L in active steps to zero and do not execute CALL instructions in actions/reactivate addresses and CALL instructions. EN_IL BOOL
ENABLE_INTERLOCKS:
Deactivate/reactivate interlocks (the sequencer behaves as if interlocks were satisfied) EN_SV BOOL
ENABLE_SUPERVISIONS:
Deactivate/reactivate supervision conditions (the sequencer behaves as if supervision conditions were not satisfied) EN_ACKREQ DISP_SACT DISP_SEF BOOL BOOL BOOL
ENABLE_ACKNOWLEDGE_REQUIRED:
! ! !
Display steps with errors and disturbed steps only DISP_SALL BOOL
DISPLAY_ALL_STEPS:
9-6
Parameter S_PREV
Description
PREVIOUS_STEP:
Min.
Std. !
Max. !
Userdef. !
Automatic mode: Pages back through the currently active steps. The step number is indicated in S_NO. Manual mode: Indicate previous step (next lower number) in S_NO. S_NEXT BOOL
NEXT_STEP:
Automatic mode: Page forwards through the currently active steps. The step number is indicated in S_NO. Manual mode: Indicates the number of the next step (next higher number) in S_NO. SW_AUTO BOOL
SWITCH_MODE_AUTOMATIC:
Mode change: Manual mode (automatic execution is not triggered) S_SEL INT
STEP_SELECT:
Selects a specific step for the output parameter S_NO. Activate/deactivate in the manual mode with S_ON, S_OFF. S_SELOK S_ON S_OFF T_PREV T_NEXT BOOL BOOL BOOL BOOL BOOL
STEP_SELECT_OK:
! ! ! ! ! ! ! ! !
9-7
Parameter T_PUSH
Description
PUSH_TRANSITION:
Min.
Std. !
Max. !
Userdef. !
Transition passes control when the condition is satisfied and T_PUSH (edge) Requirement: Inching (SW_TAP) or automatic or step -by-step (SW_TOP) mode If the block is Version V4 (or earlier), the first valid transition switches. If the block is Version V5 and if the input parameter T_NO is specified, the transition whose number is displayed switches. Otherwise, the first valid transition switches. EN_SSKIP BOOL
ENABLE_STEP _SKIPPING:
Parameter set: Min. = Minimum; Std. = Standard; Max. = Maximum; User-def. User-defined
9-8
9.6
Parameter ENO
Enable output. When the FB is active and ! no error has occurred, ENO has the value 1, otherwise 0
STEP_NUMBER
S_NO S_MORE
INT BOOL
! !
! !
! !
Other steps exist and can be selected in S_NO S_ACTIVE S_TIME S_TIMEOK S_CRITLOC S_CRITLOC ERR S_CRITSUP S_STATE T_NO T_MORE BOOL TIME TIME DWORD DWORD DWORD WORD INT BOOL
STEP_ACTIVE
! ! ! ! ! ! ! ! !
Other valid transitions available for display T_CRIT T_CRITOLD T_CRITFLT ERROR FAULT ERR_FLT SQ_ISOFF SQ_HALTED TM_HALTED OP_ZEROED DWORD DWORD DWORD BOOL BOOL BOOL BOOL BOOL BOOL BOOL
TRANSITION_CRITERIA:
! ! ! ! ! ! ! ! ! ! ! ! ! ! !
Group disturbance
SEQUENCE_IS_OFF:
Sequencer stopped
TIMES_ARE_HALTED:
Timers stopped
OPERANDS_ARE_ZEROED:
Addresses reset
S7-GRAPH for S7-300/400 Programming Sequential Control Systems A5E00290656-01
9-9
Description
INTERLOCK_IS_ENABLED:
Min.
Std.
Max. ! !
Userdef. ! ! !
Interlock enabled
SUPERVISION_IS_ENABLED:
Supervision enabled
ACKNOWLEDGE_REQUIRED_IS_ ENABLED:
! ! !
Display only steps with error and disturbed steps in S_NO SALL_DISP AUTO_ON TAP_ON TOP_ON MAN_ON BOOL BOOL BOOL BOOL BOOL
ALL_STEPS_WERE_DISPLAYED:
! ! ! ! ! ! ! ! ! ! !
Indicates the manual mode Parameter set: Min. = Minimum; Std. = Standard; Max. = Maximum; User-def. = User-defined
9-10
9.7
Selecting Modes
You select one of the four modes using the input parameters of the FB. Apply a rising edge to one of the following parameters to activate the corresponding mode. SW_AUTO (Automatic Mode) SW_MAN (Manual Mode) SW_TAP (Inching Mode) SW_TOP (Automatic or Switch to next)
9-11
9.7.1
9-12
9.7.2
Caution The input parameters DISP_SACT, DISP_SEF, DISP_SALL influence the number of steps displayed at the S_NO parameter. In the manual mode, an unsuitable parameter assignment can mean that no step is displayed. If you want to display all the steps, set the DISP_SALL parameter to TRUE or delete the three input parameters DISP_SACT, DISP_SEF, DISP_SALL.
9-13
9.7.3
9-14
9.7.4
9-15
9.7.5
9.7.6
2. Activate the selected step with the input parameter S_ON (edge change from 0 to 1).
Note Remember that this procedure can lead to somewhat longer reaction times.
9.7.7
Caution If the block is Version V4 (or earlier), the first valid transition switches. If the block is Version V5 and if the input parameter T_NO is specified, the transition whose number is displayed switches. If there is no T_NO input parameter, the first valid transition switches.
9-16
9-17
10
10.1
Whenever possible, download the S7-GRAPH block in the STOP mode since following downloading of the instance DB, the sequencer is automatically set to the initial state. The S7-GRAPH FB is called in a block (for example OB1) that is executed cyclically, and the block has already been downloaded to the CPU.
10-1
3. If the blocks already exist on the CPU, confirm the prompt to overwrite the blocks.
Caution You should only download S7-GRAPH blocks in the RUN mode when the sequencer is in the initial state or in the OFF state. If you download the blocks the sequencer in a different state, when overwriting an old block, problems may occur in the synchronization of the sequencer with the process. For example, both latching and non-latching actions of the steps active at the time of downloading are not reset. If it is not possible to change the sequencer to the initial state or to the OFF state, deactivate all steps (for example using the "Control Sequencer" function) before you download the blocks to the CPU.
10-2
10.2
10-3
10-4
11
11-1
11.1
11.1.1
11-2
satisfied
satisfied
S4
N S1 S S0 R Sequence of execution A 4.2 A 4.3 A 4.4 1 1 0
11-3
11.1.2
Control Sequencer
Control Sequencer is a test function with which you can test the sequencer with S7-GRAPH in all modes. All the settings and entries for the dialog box have the same effect as the corresponding FB parameters. The entries in the "Sequencer Control" dialog box can be different from the settings you used to compile the sequencers. The dialog box settings have priority.
11.1.3
Synchronization
S7-GRAPH helps you to locate possible synchronization points between the process and sequencer. A process is no longer synchronized when it is changed to a different statusGlossStatus manually. This can, for example, be the result when you change to the manual mode in which you can activate any step even if the previous transition is not satisfied. To be able to continue the process automatically and to locate possible synchronization points, you can start the Synchronization function. You can choose two different strategies for the synchronization: S7-GRAPH indicates all steps for which the previous transition is satisfied and the transition following the step is not satisfied.
Requirements
The sequencer is being controlled in the manual mode. You have selected your synchronization strategy in the "Application settings General" dialog box. The block is compiled with the option "Synchronization". You can find this option in the tab "Compile / Save" (menu command Options > Block settings).
11-4
Starting Synchronization
To start synchronization: 1. Select the menu command Debug > Synchronization. S7-GRAPH now searches for all steps that meet the synchronization condition. All steps found are marked yellow. 2. Select one or more of these steps to be selected using the mouse pointer that changes to a crosshair. You can also select other steps that are not marked yellow.
3. Activate the selected steps with the "Activate" button. 4. Now switch the sequencer back to the automatic mode.
11.2
These functions provide you with further methods of debugging and supply important information about the use of blocks and addresses. You can also select these test functions directly in the SIMATIC Manager.
Note If you require more detailed information about these topics, display the help texts relating to the menu commands in the SIMATIC Manager.
11-5
From the detailed information about the message, you can found out where the error occurred.
Details of event: 4 of 100 Graph 7 interlock error entered state Step 3 FB Number 7, DB Number 9 Event entering state Event ID: 16#9162
11-6
Reference list
Overview of all the symbols found in the symbol table but not used in the parts of the user program for which reference data exist. Overview of all the absolute addresses that are used in parts of the user program for which reference data exist but for which there is no symbol defined in the symbol table.
If the reference data "Program Structure" or "Cross-Reference List" are displayed, you can jump to the point in the user program at which a selected block or address is used with the menu command Edit > Go To > Location.
11-7
11-8
12
12.1
12-1
The active block can also be displayed in symbolic / absolute format or as a LAD/FBD block.
A dialog box is then opened in which you can select various print options such as the printer and number of copies. Confirm with OK to send the document to the printer.
12-2
13
13.1
Explanation
Address range
When Schritt is active, the signal state of the address = 1. When the step is active, the address is set to 1 and then remains set to 1. When the step is active, the address is set to 0 and then remains set to 0. T#<const> n seconds after step activation the signal state of the address is 1 for the duration of the step activation. This does not apply if the step is active for a time shorter than n seconds.
L CALL
T#<const> If the step is active, the address has signal 0.0 to state 1 for n seconds. 65535.7 As long as the step is active, the specified block is called. As long as the step is active and the condition (interlock) is satisfied, the signal state of the address is 1. 0.0 to 65535.7
NC
Q, I, M, D m.n
SC
Q, I, M, D m.n
As long as the step is active and the 0.0 to condition (interlock) is satisfied, the 65535.7 address is set to 1 and then remains set to 1. As long as the step is active and the 0.0 to condition (interlock) is satisfied, the 65535.7 address is set to 0 and then remains set to 0. T#<const> n seconds after step activation and as long 0.0 to as the step is active and the condition 65535.7 (interlock) is satisfied, the signal state of the address is 1. If the step is not active, the signal state of the address is 0.
RC
Q, I, M, D m.n
DC
Q, I, M, D m.n
13-1
Explanation
Address range
Q, I, M, D m.n
T#<const> If the step is active and the condition 0.0 to (supervision) is satisfied, the address has 65535.7 the signal 1 for n seconds. If the step is not active, the address has signal 0. As long as the step is active and the condition (interlock) is satisfied, the specified block is called.
Block number
13.2
Q, I, M, D m.n Q, I, M, D m.n
As soon as the step becomes active (enters state), the signal state of the address is 1. As soon as the step becomes active (enters state), the address is set to 1 and then remains set to 1. As soon as the step becomes active (enters state), the address is set to 0 and then remains set to 0. As soon as the step becomes active (enters state), the specified block is called. As soon as the step becomes active (enters state), step i is activated. As soon as the step becomes active (enters state), step i is deactivated. As soon as the step becomes active (enters state), all steps are deactivated except for the step in which the action is located.
S1 S1 S1
S1
NC
Q,I,M,D
m.n
As soon as the step becomes active (enters state) and the condition (interlock) is satisfied, the signal state of the address is 1. As soon as the step becomes active (enters state) and the condition (interlock) is satisfied, the address is set to 1 and then remains set to 1.
S1
SC
Q, I, M, D m.n
13-2
Explanation
Address range
Q, I, M, D m.n
As soon as the step becomes active (enters state) and the condition (interlock) is satisfied, the address is set to 0 and then remains set to 0. As soon as the step becomes active and the condition (interlock) is satisfied, the specified block is called. As soon as the step becomes active (enters state) and the condition (interlock) is satisfied, step i is activated. As soon as the step becomes active (enters state) and the condition (interlock) is satisfied, step i is deactivated. As soon as the step becomes active (enters state) and the condition (interlock) is satisfied, all steps are deactivated except for the step in which the action is located.
0.0 to 65535.7
S1
Block number I
S1
S1
OFFC S
S1
OFFC S_ALL
As soon as the step is deactivated (leaves state), the signal state of the address is 1. As soon as the step is deactivated (leaves state), the address is set to 1 and then remains set to 1. As soon as the step is deactivated (leaves state), the address is set to 0 and then remains set to 0. As soon as the step is deactivated (leaves state), the specified block is called.
S0 S0
As soon as the step is deactivated (leaves state), step i i = step is activated. number As soon as the step is deactivated (leaves state), step i i = step is also deactivated. number
13-3
m.n
As soon as a supervision error occurs while the step is active or a supervision error had been detected before the step became active, the signal state of the address is 1. As soon as a supervision error occurs while the step is active or a supervision error had been detected before the step became active, the address is set to 1 and then remains set to 1. As soon as a supervision error occurs while the step is active or a supervision error had been detected before the step became active, the address is set to 0 and then remains set to 0. As soon as a supervision error occurs while the step is active or a supervision error had been detected before the step became active, the specified block is called. As soon as a supervision error occurs while the step is active or a supervision error had been detected before the step became active, step i is activated. As soon as a supervision error occurs while the step is active or a supervision error had been detected before the step became active, step i is deactivated. As soon as a supervision error occurs while the step is active or a supervision error had been detected before the step became active, all steps are deactivated except for the step in which the action is located.
0.0 to 65535.7
V1
Q,I,M,D
m.n
0.0 to 65535.7
V1
Q,I,M,D
m.n
0.0 to 65535.7
V1
Block number I
V1
V1
OFF
V1
OFF
S_ALL
V1
NC
Q,I,M,D
Mn
As soon as a supervision error occurs while the step is active or a supervision error had been detected before the step became active and the condition (interlock) is satisfied, the signal state of the address is 1. As soon as a supervision error occurs while the step is active or a supervision error had been detected before the step became active and the condition (interlock) is satisfied, the address is set to 1 and then remains set to 1. As soon as a supervision error occurs while the step is active or a supervision error had been detected before the step became active and the condition (interlock) is satisfied, the address is set to 0 and then remains set to 0.
0.0 to 65535.7
V1
SC
Q,I,M,D
m.n
0.0 to 65535.7
V1
RC
Q,I,M,D
m.n
0.0 to 65535.7
13-4
Action Event V1 InAddress struction CALL FB, FC, C SFB, SFC ONC S Location
Explanation
Address range
Block number
As soon as a supervision error occurs while the step is active or a supervision error had been detected before the step became active and the condition (interlock) is satisfied, the specified block is called. As soon as a supervision error occurs while the step is active or a supervision error had been detected before the step became active and the condition (interlock) is satisfied, step i is activated. As soon as a supervision error occurs while the step is active or a supervision error had been detected before the step became active and the condition (interlock) is satisfied, step i is deactivated. 0.0 to 65535.7
V1
V1
OFFC S
0.0 to 65535.7
V1
OFFC S_ALL
As soon as a supervision error occurs while the step is 0.0 to active or a supervision error had been detected before 65535.7 the step became active and the condition (interlock) is satisfied, all steps are deactivated except for the step in which the action is located.
V0
Q,I,M,D
m.n
V0
Q,I,M,D
m.n
V0
CALL FB, FC, SFB, SFC ON OFF S S I I As soon as a supervision error leaves the state (is eliminated or acknowledged), step i is activated. As soon as a supervision error leaves the state (is eliminated or acknowledged), step i is also deactivated. i = step number i = step number
V0 V0
13-5
m.n
As soon as the interlock condition is satisfied (enters state) when the step is active, the signal state of the address is 1.
0.0 to 65535.7
L0
Q,I,M,D
m.n
As soon as the interlock condition is satisfied when the 0.0 to step is active (enters state), the address is set to 1 and 65535.7 then remains set to 1. As soon as the interlock condition is satisfied when the 0.0 to step is active (enters state), the address is set to 0 and 65535.7 then remains set to 0. As soon as the interlock condition is satisfied when the step is active (enters state), the specified block is called. As soon as the interlock condition is satisfied when the step is active (enters state), step i is activated. As soon as the interlock condition is satisfied when the step is active (enters state), step i is deactivated. i = step number i = step number
L0
Q,I,M,D
m.n
L0
Block number I I
L0 L0
m.n
As soon as the interlock condition is no longer satisfied 0.0 to (leaves state) while the step is active or if the interlock 65535.7 condition is not satisfied when the step becomes active, the signal state of the address is 1. As soon as the interlock condition is satisfied when the step is no longer satisfied (leaves state) while the step is active or if the interlock condition is not satisfied when the step becomes active, the address is set to 1 and then remains set to 1. As soon as the interlock condition is satisfied when the step is no longer satisfied (leaves state) while the step is active or if the interlock condition is not satisfied when the step becomes active, the address is set to 0 and then remains set to 0. As soon as the interlock condition is satisfied when the step is no longer satisfied (leaves state) while the step is active or if the interlock condition is not satisfied when the step becomes active, the specified block is called. As soon as the interlock condition is satisfied when the step is no longer satisfied (leaves state) while the step is active or if the interlock condition is not satisfied when the step becomes active, step i is activated. i = step number 0.0 to 65535.7
L1
Q,I,M,D
m.n
L1
Q,I,M,D m.n
0.0 to 65535.7
L1
Block number
L1
ON
13-6
Explanation
Address range
As soon as the interlock condition is satisfied when the step is no longer satisfied (leaves state) while the step is active or if the interlock condition is not satisfied when the step becomes active, step i is also deactivated. As soon as the interlock condition is satisfied when the step is no longer satisfied (leaves state) while the step is active or if the interlock condition is not satisfied when the step becomes active, all steps are deactivated except for the step in which the action is located.
i = step number
L1
OFF
S_ALL
A1 A1 A1
If a message is acknowledged, the signal state of the address is 1 . As soon as a message is acknowledged, the address is set to 1 and then remains set to 1. As soon as a message is acknowledged, the address is set to 0 and then remains set to 0. As soon as a message is acknowledged, the specified block is called. As soon as a message is acknowledged, step i is activated. As soon as a message is acknowledged, step i is deactivated. As soon as a message is acknowledged and the condition (interlock) is satisfied, the address has signal state 1. As soon as a message is acknowledged and the condition (interlock) is satisfied, the address is set to 1 and then remains set to 1. As soon as a message is acknowledged and the condition (interlock) is satisfied, the address is set to 0 and then remains set to 0. As soon as a message is acknowledged and the condition (interlock) is satisfied, the specified block is called. As soon as a message is acknowledged and the condition (interlock) is satisfied, step i is activated. As soon as a message is acknowledged and the condition (interlock) is satisfied, step i is deactivated.
i = step number i = step number 0.0 to 65535.7 0.0 to 65535.7 0.0 to 65535.7
A1
SC
Q,I,M,D
m.n
A1
RC
Q,I,M,D
m.n
A1
A1 A1
Block number I I
13-7
R1 R1 R1
As soon as a registration is set, the address has signal state = 1. As soon as a registration is set, the address is set to 1 and then remains set to 1. As soon as a registration is set, the address is set to 0 and then remains set to 0. As soon as a registration is set, the specified block is called. As soon as a registration is set, step i is activated.
R1
SC
Q,I,M,D
m.n
R1
RC
Q,I,M,D
m.n
R1
R1 R1
Block number I I
i = step number As soon as a registration is set, step i is deactivated. i = step number 0.0 to As soon as a registration is set and the condition (interlock) is satisfied, the signal state of the address is 65535.7 1. As soon as a registration is set and the condition 0.0 to (interlock) is satisfied, the address is set to 1 and then 65535.7 remains set to 1. 0.0 to As soon as a registration is set and the condition (interlock) is satisfied, the address is set to 0 and then 65535.7 remains set to 0. As soon as a registration is set and the condition (interlock) is satisfied, the specified block is called. As soon as a registration is set and the condition (interlock) is satisfied, step i is activated. As soon as a registration is set and the condition (interlock) is satisfied, step i is deactivated. i = step number i = step number
Address D: Format: DBi.DBXm.n (i = block number, m = byte address, n = bit address) For CALL[C] FB/SFB, an instance DB is required.
13-8
13.3
Counters in Actions
These actions are executed once when the event occurs and the corresponding step is active. When the sequencer is run through after this, an event-dependent action is executed again only if the event reoccurs.
As soon as the step becomes active (enters state), the initial counter value is loaded in the counter.
x = counter number
S1 S1 S1 S1
CU CD CR CSC
X X X X
As soon as the step becomes active (enters state), the counter is incremented by 1. As soon as the step becomes active (enters state), the counter is decremented by 1. As soon as the step becomes active (enters state), the counter is reset to 0. As soon as the step becomes active (enters state) and the condition (interlock) is satisfied, the initial counter value is loaded in the counter.
S1
CUC
As soon as the step becomes active (enters state) x = counter and the condition (interlock) is satisfied, the counter number is incremented by 1. As soon as the step becomes active (enters state) x = counter and the condition (interlock) is satisfied, the counter number is decremented by 1. As soon as the step becomes active (enters state) x = counter and the condition (interlock) is satisfied, the counter number is reset to 0.
S1
CDC
S1
CRC
13-9
As soon as the step is deactivated (leaves state), the initial counter value is loaded in the counter.
x = counter number
S0 S0 S0
CU CD CR
C C C
X X X
As soon as the step is deactivated (leaves state), the counter is incremented by 1. As soon as the step is deactivated (leaves state), the counter is decremented by 1. As soon as the step is deactivated (leaves state), the counter is reset to 0.
As soon as the interlock condition is no longer x = counter satisfied (leaves state) while the step is active or if number the interlock condition is not satisfied when the step becomes active, the initial counter value is loaded in the counter. As soon as the interlock condition is no longer x = counter satisfied (leaves state) while the step is active or if number the interlock condition is not satisfied when the step becomes active, the counter is incremented by 1. As soon as the interlock condition is no longer x = counter satisfied (leaves state) while the step is active or if number the interlock condition is not satisfied when the step becomes active, the counter is decremented by 1. As soon as the interlock condition is no longer x = counter satisfied (leaves state) while the step is active or if number the interlock condition is not satisfied when the step becomes active, the counter is reset to 0.
L1
CU
L1
CD
L1
CR
13-10
As soon as the interlock condition is satisfied when the step is active (enters state), the initial counter value is loaded in the counter. As soon as the interlock condition is satisfied when the step is active (enters state), the counter is incremented by 1. As soon as the interlock condition is satisfied when the step is active (enters state), the counter is decremented by 1.
x = counter number
L0
CU
L0
CD
L0
CR
As soon as the interlock condition is satisfied when x = counter the step is active (enters state), the counter is reset number to 0.
As soon as a supervision error occurs while the step x = counter is active or a supervision error had been detected number before the step became active, the initial counter value is loaded in the counter. As soon as a supervision error occurs while the step x = counter is active or a supervision error had been detected number before the step became active, the counter is incremented by 1. As soon as a supervision error occurs while the step x = counter is active or a supervision error had been detected number before the step became active, the counter is decremented by 1. As soon as a supervision error occurs while the step x = counter is active or a supervision error had been detected number before the step became active, the counter is reset to 0. As soon as a supervision error occurs while the step x = counter is active or a supervision error had been detected number before the step became active and the condition (interlock) is satisfied, the initial counter value is loaded in the counter. As soon as a supervision error occurs while the step x = counter is active or a supervision error had been detected number before the step became active and the condition (interlock) is satisfied, the counter is incremented by 1.
V1
CU
V1
CD
V1
CR
V1
CSC
V1
CUC
13-11
Explanation
Address range
As soon as a supervision error occurs while the step x = counter is active or a supervision error had been detected number before the step became active and the condition (interlock) is satisfied, the counter is decremented by 1. As soon as a supervision error occurs while the step x = counter is active or a supervision error had been detected number before the step became active and the condition (interlock) is satisfied, the counter is reset to 0.
V1
CRC
As soon as a supervision error leaves the state (is eliminated or acknowledged), the initial counter value is loaded in the counter. As soon as a supervision error leaves the state (is eliminated or acknowledged), the counter is incremented by 1. As soon as a supervision error leaves the state (is eliminated or acknowledged), the counter is decremented by 1.
x = counter number
V0
CU
V0
CD
V0
CR
As soon as a supervision error leaves the state (is x = counter eliminated or acknowledged), the counter is reset to number 0.
13-12
As soon as a message is acknowledged), the initial x = counter number counter value is loaded in the counter.
A1 A1 A1 A1
CU CD CR CSC
X X X X
As soon as a message is acknowledged, the counter is incremented by 1. As soon as a message is acknowledged, the counter is decremented by 1. As soon as a message is acknowledged, the counter is reset to 0. As soon as a message is acknowledged and the condition (interlock) is satisfied, the initial counter value is loaded in the counter. As soon a message is acknowledged and the condition (interlock) is satisfied, the counter is incremented by 1. As soon a message is acknowledged and the condition (interlock) is satisfied, the counter is decremented by 1.
A1
CUC
A1
CDC
A1
CRC
As soon as a message is acknowledged and the x = counter condition (interlock) is satisfied, the counter is reset number to 0.
R1 R1 R1 R1
CU CD CR CSC
As soon as a registration is set, the initial counter value is loaded in the counter.
x = counter number
X X X X
As soon as a registration is set, the counter is incremented by 1. As soon as a registration is set, the counter is decremented by 1. As soon as a registration is set, the counter is reset to 0. As soon as a registration is set and the condition (interlock) is satisfied, the initial counter value is loaded in the counter.
13-13
Address range
R1
CDC
R1
CRC
As soon a registration is set and the condition (interlock) is satisfied, the counter is incremented by 1. As soon a registration is set and the condition (interlock) is satisfied, the counter is decremented by 1. As soon as a registration is set and the condition (interlock) is satisfied, the counter is reset to 0.
13.4
Timers in Actions
These actions are executed once when the event occurs and the corresponding step is active. When the sequencer is run through after this, an event-dependent action is executed again only if the event reoccurs.
TL
T <time>
S1
TD
T <time>
S1
TR
S1
TLC
T <time>
S1
TDC
T <time>
S1
TRC
As soon as the step becomes active (enters state) the timer starts. For the specified time, the timer bit (status of the timer) is set to 1, when the time elapses, it is reset to 0. As soon as the step becomes active (enters state) the timer starts. For the specified time, the timer bit (status of the timer) is set to 0, when the time elapses, it is set to 1. As soon as the step becomes active (enters state) the timer stops. Timer bit (status of the timer) and timer value are reset to 0. As soon as the step becomes active and the condition (interlock) is satisfied, the timer starts. For the specified time, the timer bit (status of the timer) is set to 1, when the time elapses, it is reset to 0. As soon as the step becomes active and the condition (interlock) is satisfied, the timer starts. For the specified time, the timer bit (status of the timer) is set to 0, when the time elapses, it is set to 1. As soon as the step becomes active and the condition (interlock) is satisfied, the timer stops. Timer bit (status of the timer) and timer value are reset to 0.
x = no. of timer
x = no. of timer
x = no. of timer
x = no. of timer
13-14
T <time>
As soon as the step is deactivated (leaves state) x = no. the timer starts. For the specified time, the timer bit of timer (status of the timer) is set to 1, when the time elapses, it is reset to 0. As soon as the step is deactivated (leaves state) x = no. the timer starts. For the specified time, the timer bit of timer (status of the timer) is set to 0, when the time elapses, it is set to 1. As soon as the step is deactivated (leaves state) the timer stops. Timer bit (status of the timer) and timer value are reset to 0. x = no. of timer
S0
TD
T <time>
S0
TR
T <time>
L1
TD
T <time>
L1
TR
As soon as the interlock condition is satisfied when the step is no longer satisfied (leaves state) while the step is active or if the interlock condition is not satisfied when the step becomes active, the timer starts. For the specified time, the timer bit (status of the timer) is set to 1, when the time elapses, it is reset to 0. As soon as the interlock condition is satisfied when the step is no longer satisfied (leaves state) while the step is active or if the interlock condition is not satisfied when the step becomes active, the timer starts. For the specified time, the timer bit (status of the timer) is set to 0, when the time elapses, it is set to 1. As soon as the interlock condition is satisfied when the step is no longer satisfied (leaves state) while the step is active or if the interlock condition is not satisfied when the step becomes active, the timer stops. Timer bit (status of the timer) and timer value are reset to 0.
x = no. of timer
x = no. of timer
x = no. of timer
13-15
T <time>
As soon as the interlock condition is satisfied when x = no. the step is active (enters state), the timer starts. of timer For the specified time, the timer bit (status of the timer) is set to 1, when the time elapses, it is reset to 0. As soon as the interlock condition is satisfied when x = no. the step is active (enters state), the timer starts. of timer For the specified time, the timer bit (status of the timer) is set to 0, when the time elapses, it is set to 1. As soon as the interlock condition is satisfied when x = no. the step is active (enters state), the timer stops. of timer Timer bit (status of the timer) and timer value are reset to 0.
L0
TD
T <time>
L0
TR
T <time>
As soon as a supervision error occurs while the x = no. step is active or a supervision error had been of timer detected before the step became active, the timer starts. For the specified time, the timer bit (status of the timer) is set to 1, when the time elapses, it is reset to 0. As soon as a supervision error occurs while the x = no. step is active or a supervision error had been of timer detected before the step became active, the timer starts. For the specified time, the timer bit (status of the timer) is set to 0, when the time elapses, it is set to 1. As soon as a supervision error occurs while the step is active or a supervision error had been detected before the step became active, the timer stops. Timer bit (status of the timer) and timer value are reset to 0. As soon as a supervision error occurs while the step is active or a supervision error had been detected before the step became active and the condition (interlock) is satisfied, the timer starts. For the specified time, the timer bit (status of the timer) is set to 1, when the time elapses, it is reset to 0. x = no. of timer
V1
TD
T <time>
V1
TR
V1
TLC
T <time>
x = no. of timer
13-16
Explanation
Address range
T <time>
As soon as a supervision error occurs while the x = no. step is active or a supervision error had been of timer detected before the step became active and the condition (interlock) is satisfied, the timer starts. For the specified time, the timer bit (status of the timer) is set to 0, when the time elapses, it is set to 1. As soon as a supervision error occurs while the step is active or a supervision error had been detected before the step became active and the condition (interlock) is satisfied, the timer stops. Timer bit (status of the timer) and timer value are reset to 0. x = no. of timer
V1
TRC
T <time>
As soon as a supervision error leaves the state (is x = no. eliminated or acknowledged), the timer starts. For of timer the specified time, the timer bit (status of the timer) is set to 1, when the time elapses, it is reset to 0. As soon as a supervision error leaves the state (is x = no. eliminated or acknowledged), the timer starts. For of timer the specified time, the timer bit (status of the timer) is set to 0, when the time elapses, it is set to 1. As soon as a supervision error leaves the state (is eliminated or acknowledged), the timer stops. Timer bit (status of the timer) and timer value are reset to 0. x = no. of timer
V0
TD
T <time>
V0
TR
13-17
T <time>
As soon as a message is acknowledged, the timer x = no. starts. For the specified time, the timer bit (status of of timer the timer) is set to 1, when the time elapses, it is reset to 0. As soon as a message is acknowledged, the timer x = no. starts. For the specified time, the timer bit (status of of timer the timer) is set to 0, when the time elapses, it is set to 1. As soon as a message is acknowledged, the timer stops. Timer bit (status of the timer) and timer value are reset to 0. As soon as a message is acknowledged and the condition (interlock) is satisfied, the timer starts. For the specified time, the timer bit (status of the timer) is set to 1, when the time elapses, it is reset to 0. x = no. of timer x = no. of timer
A1
TD
T <time>
A1
TR
A1
TLC
T <time>
A1
TDC
T <time>
As soon as a message is acknowledged and the x = no. condition (interlock) is satisfied, the timer starts. of timer For the specified time, the timer bit (status of the timer) is set to 0, when the time elapses, it is set to 1. As soon as a message is acknowledged and the condition (interlock) is satisfied, the timer stops. Timer bit (status of the timer) and timer value are reset to 0. x = no. of timer
A1
TRC
T <time>
R1
TD
T <time>
R1
TR
As soon as a registration is set, the timer starts. For the specified time, the timer bit (status of the timer) is set to 1, when the time elapses, it is reset to 0. As soon as a registration is set, the timer starts. For the specified time, the timer bit (status of the timer) is set to 0, when the time elapses, it is set to 1. As soon as a registration is set, the timer stops. Timer bit (status of the timer) and timer value are reset to 0.
x = no. of timer
x = no. of timer
x = no. of timer
13-18
Action Event R1
Address range
T <time>
R1
TDC
T <time>
R1
TRC
As soon as a registration is set and the condition (interlock) is satisfied, the timer starts. For the specified time, the timer bit (status of the timer) is set to 1, when the time elapses, it is reset to 0. As soon as a registration is set and the condition (interlock) is satisfied, the timer starts. For the specified time, the timer bit (status of the timer) is set to 0, when the time elapses, it is set to 1. As soon as a registration is set and the condition (interlock) is satisfied, the timer stops. Timer bit (status of the timer) and timer value are reset to 0.
x = no. of timer
x = no. of timer
x = no. of timer
13.5
Arithmetic in Actions
These actions are either executed in every cycle in which the relevant step is active or once when the relevant event occurs.
Explanation Assignment
--
NC
As long as the step is active and the condition (interlock) is satisfied, the arithmetic is executed.
As soon as the step becomes active (enters state), the arithmetic is executed.
S1
NC
As soon as the step becomes active (enters state) and the condition (interlock) is satisfied, the arithmetic is executed.
13-19
As soon as the interlock condition is no longer satisfied (leaves state) while the step is active or if the interlock condition is not satisfied when the step becomes active, the arithmetic is executed.
As soon as the interlock condition is satisfied (enters state) when the step is active, the arithmetic is executed.
As soon as a supervision error occurs while the step is active or a supervision error had been detected before the step became active, the arithmetic is executed. As soon as a supervision error occurs while the step is active or a supervision error had been detected before the step became active and the condition (interlock) is satisfied, the arithmetic is executed.
V1
NC
13-20
As soon as a supervision error leaves the state (is eliminated or acknowledged), the arithmetic is executed.
A1
NC
As soon as a message is acknowledged and the condition (interlock) is satisfied, the arithmetic is executed.
R1
NC
As soon as a registration is set and the condition (interlock) is satisfied, the arithmetic is executed.
13-21
13-22
14
Configuration Instructions
Introduction
To automate your sequential control system with S7-GRAPH, in addition to the functions for the automatic mode, a range of further functions is also available. Before you can use the S7-GRAPH functions, you must make sure that certain conditions are met. To make it easier for you to get used to S7-GRAPH, the most important points are summarized in this chapter in the form of brief configuration instructions. The following aspects are dealt with: Which general structures exist and how do these affect the program structure of the sequencer? What is important when programming and using sequencers? How are operator interface systems connected?
14-1
Configuration Instructions
14.1
Station n: Save
Save, remove
The individual levels have the following significance: Cell level The cell level encompasses functions with a central or wider reaching significance, for example preparations for enabling operation and modes. The blocks at the cell level provide signals that are relevant for all blocks of the coordination and unit level in this cell. Coordination level The coordination level includes various coordination functions, for example for the automatic mode and retraction following a break in operation. For each station, at least one sequencer is required for coordination at this level. Unit level The unit level includes functions for activating individual units of equipment, for example motors and valves. This includes all the lower-level functions, for example interlocks and supervision conditions independent of the sequencer and direct manual intervention in the operation of the units.
14-2
Configuration Instructions
OB 1 (cyclic)
Station n Save Sequencers Station 1 Turn Station 1 Insert, weld Unit station n Unit station 1 Manual mode, Interlocks Hydraulics Pneumatics
The various functions at the individual levels are executed cyclically in the order in which they are called: The sequencers are preceded by the central, higher-level functions of the cell level. The various sequencers for the individual stations are called by an FB "Sequencers" that is called in OB1. The program sections for manual mode, the interlocks and permanent monitoring functions for the units follow the sequencers. If the manufacturing cell includes robots, program sections for supplying and clearing robot interface are also required.
14-3
Configuration Instructions
Enabling Operation
In production facilities, utilities such as hydraulic and pneumatic systems are often required and the functions of all other units depend on them being available. It therefore makes sense to turn on the hydraulic and pneumatic systems centrally after turning on the machinery and to generate ready signals for the other blocks. The following diagram is an example of how general operation of the system can be enabled in S7-GRAPH.
S1 Init "Controlpow_ok" CMP Init.U MD6 "Hydraulic_ok" "Pneumatic_ok" S2 Con... T2 Trans2 S3 Uni... "Central_start" T3 Trans3 S4 Pro... "Emer_off" T4 "Door_ closed" Trans4 S5 Pro... "Acknowledge" T5 Trans5 S2 "Hydraulic_ok" T6 "Pneumatic_ok" Trans6 No_Process_enabled Process_enabled N "Unit_ready" N "Process_enabled" Unit_ready N "Unit_ready" >=D
T1 Trans1 T5 T6
Controller_on N "Controller_on"
S2
After turning on the controller, step 1 (initial step) is activated using the INIT_SQ parameter and the signals Unit_ready and Process_enabled are reset. After a specified minimum waiting time, step 2 turns on the hydraulic and pneumatic units dependent on the signal Controlpow_ok (control voltage OK) using the Controller_on action. After the feedback indicating that the hydraulic and pneumatic systems are OK, step 3 outputs the message Unit_ready (to various recipients including the central controller).
14-4
Configuration Instructions
Triggered by the signal "Central_start" (start main console of the production equipment), step 4 sets the unit to the ready state and enables automatic execution. With "Emer_off" or loss of the signal "Door_closed", the change to step 5 cancels the Process_enabled. If this is acknowledged, there is a jump to step 2. If a step enabling condition from one of the power systems is canceled while the Process_enabled (step 4) is active, the enable signals are also canceled with the change to step 2. Once the step enabling conditions ("OK_Signal") of the power systems are present again, Central_start can return the unit to the enabled state again. The signals "Controller_on", "Unit_ready" and "Process_enabled" are sent to the other blocks and the central controller. The "Unit_ready" signal also enables the mode selection in the mode block. The "Process_enabled" signal enables the automatic mode.
Handling Modes
Depending on the situation, the user requires different modes for the system and machinery. In unlinked manufacturing cells, for example in body work assembly, these are the modes: Automatic Inching, in other words a variant of the automatic mode with a stop after each process step Automatic or switch to next; in other words the automatic mode with an additional step enabling condition Manual/setup, in other words direct influence on the units or functions
The modes, however, do not have the same effects at all levels. The following overview lists the modes and their effects at the coordination level and unit level (motors, valves etc.).
Mode Automatic Inching Effect at the coordination level Sequencer passes control to next step when the transition is satisfied. The sequencer passes control to the next step when the transition is satisfied and the "Inching" button signal enables the next step. Effect at the unit level Enabling of the drive by the sequencer Enabling of the drive by the sequencer
Automatic or The sequencer progresses when the transition is Enabling of the drive by the sequencer step satisfied or the "Inching" button signal enables the next step. by step mode Manual or setup Enabling of next step suppressed, the status of the Drive enabled by direction buttons sequencer has no effect at the unit level.
14-5
Configuration Instructions
FB sequencer n
Seq_Auto Seq_Inch
Manual
>1 _
Seq_Man
Unit_Hand Unit_Auto
The modes selected at the console are passed on to the sequencers when Process_enabled is active. If Process_enabled is not set, the modes of the sequencers are switched to SW_MAN and step enabling is suppressed. In the automatic or inching modes, the automatic mode is set for the unit functions. The manual mode is passed on directly. If there is no process_enabled, both modes are reset and the process is stopped. The functions of the unit groups are represented in an FB created with LAD/FBD or STL.
14-6
Configuration Instructions
FB sequencer S4
Spind_on S Mot_on
S5
FB interlock/manual control
Cnd1 Cnd2 Cnd3 Cnd4 Carr_fwd Autom. Man Btn_fwd Enable_fwd
&
( )
&
( )
The permanent monitoring functions required for the units can be programmed with S7 PDIAG. Depending on the requirements, the supervision conditions can be formulated so that they are effective both in the automatic and manual modes or specific supervision conditions are programmed for the automatic mode and for the manual mode.
14-7
Configuration Instructions
14.2
Initialization
The sequencer is initialized using the INIT_SQ parameter. If this changes to "1", all steps marked as initial steps are activated. All other steps are deactivated. After turning on the controller, the sequencer is in the same mode as it was when the controller was turned off, in other words if the controller was in the SW_AUTO mode before it was turned off, it will be in this mode when it is turned on again. If you want to avoid this, the sequencer must be set to the required mode (for example SW_MAN) explicitly when it is turned on, for example using the initialization signal. If the status of the process (system or machine) does not correspond to the initial state of the sequencer, you can deal with this in two ways: The process is, for example, changed to the initial state by a command. If you want to change the process to the initial state, it is usually advisable to create a separate sequencer for this purpose. The sequencer must be synchronized with the process state using the synchronize function, in other words, the sequencer must be set to the current part of the process.
Interlocks
In S7-GRAPH, interlocks can be defined for each step. All actions that are executed depending on a condition are only activated when the interlock conditions are satisfied. If the interlock conditions are not satisfied when the step is active, an error message is sent to the console (for example operator panel). The error is cleared when the interlock conditions are satisfied.
14-8
Configuration Instructions
Supervisions
In S7-GRAPH, monitoring conditions can be defined in the form of supervisions for each step. The most common supervision condition is the execution time of the actions. If the supervision condition is satisfied, in other words an error has occurred, an error message is sent to the console (for example operator panel). Such errors are acknowledged via the ACK_EF parameter. The compilation settings (menu command Options > Block Settings) decide whether an acknowledgment is be required when an S7-GRAPH FB is created. Compilation options "Acknowledge Errors" checked: The error is cleared only when an acknowledgment signal is sent and the supervision is no longer satisfied or when an acknowledgment signal is sent and the successor transition is satisfied. If time monitoring was programmed with Si.U, the acknowledgment signal resets the monitoring time so that the supervision condition is no longer satisfied. Compilation options "Acknowledge Errors" not checked: The error is cleared when the supervision conditions are no longer satisfied.
Caution If the step enabling condition is satisfied during the acknowledgment cycle, the next step is enabled. Please remember that the supervisions defined in the sequencer are specific to a particular step and only monitor the execute time of the relevant actions. If, for example, a motor is turned on in step 1, the run-up time can be monitored in step 1. Once this step is deactivated, the motor is no longer monitored in the sequencer. If you want the motor to be monitored permanently and independent of the sequencer, this must implemented at the underlying unit level.
Abort Situations
Abort situations occur when an "immediate stop" or "emergency off" is set due to a critical situation or when a fault occurs in units. In these situations, the following operations are carried out: The sequencers are stopped by switching to SW_MAN. At the unit level, the output signals are deactivated by resetting the automatic enable.
14-9
Configuration Instructions
Synchronization
Synchronization of the sequencer with the state of the process or machine is required at least in the following situations: Case 1: A program change in the installation and startup phase meant that the instance DB had to be regenerated. Case 2: In the manual mode, units were controlled manually so that the state of the sequencer no longer corresponds to the state of the process or machine. Following a manual intervention, and depending on the process, the automatic mode must be resumed starting at the current state of the system or machine; in other words, the current position of the sequencer must be adapted to the process (synchronized).
In Case 1, the menu command Debug > Control Sequencer can be used in the manual mode to set and reset steps directly when working on the programming device so that the state that existed before the program change can be set. In Case 2, synchronization can be achieved directly working on the programming device. Synchronization then involves the following steps: 1. Select the menu command Options > Block Settings and make sure that the "Synchronization" option is selected in the "Compile/Save" tab. 2. Select the menu command Debug > Synchronization. Result: All transition and interlock conditions are detected. The subsequent evaluation shows which steps are located between a satisfied and non-satisfied transition. All steps found are displayed yellow. 3. Click all the steps you want to select with the mouse pointer that changes to a cross-hair. 4. Select the steps with the "Activate" button. In principle, you can also synchronize using a console (for example operator panel). This is possible when permanent execution of transitions and interlock conditions is triggered at the console and the results are displayed and required steps can be activated on the console. Program-controlled synchronization is also possible, when, for example a button signal brings about a change from the initial step to synchronization in a "Synchronization" step in which process state transitions leaving the state are evaluated. Using jump commands, the sequencer can then jump to the suitable step.
14-10
Configuration Instructions
Caution With the menu command Debug > Control Sequencer, you can change the mode of the sequencer directly in S7-GRAPH. If the sequencer and underlying monitoring/manual functions are supplied with parameters as described in Handling Modes, this means that the mode of the sequencer no longer matches the underlying function. If you want to prevent this, the mode change triggered on the programming device can be disabled. The following diagram illustrates the principle.
FB sequencer
Autom. & &
Inch
Man
&
With this logic, the sequencer is reset to the state set by the signals automatic/inching/manual after one cycle.
14-11
Configuration Instructions
14.3
PG
S7 Graph FB sequencer S4 Spind_On S Mot_Ein Execute S KM_on N Carr_fwd
OP
ProTool with ProAgent
S5
OP project
FB/DB
Diagnostic data
PLC
FB/DB
SFC 17/18
14-12
Configuration Instructions
This makes the following functions possible on the operator panel: Display of the current state of the sequencer with current sequencer names and step names Display of a disturbed step (step number and name) Display of the cause of a disturbance, in other words: If a supervision error occurs: Display of the missing step enabling condition If an interlock error occurs: Display of the missing interlock condition.
-
If you have modified addresses in the SIMATIC manager using the Rewire menu command, and the addresses are also used by the sequencer, the corresponding diagnostic data are only updated when you open the corresponding S7-GRAPH FB again and save it.
Creating Messages
To display disturbances on, for example, an operator panel, you must click the option "Message with ALARM_SQ/ALARM_S (SFC17/SFC18) in the "Messages" tab that you can display with the menu command Options > Block Settings. If this option is selected, a message is entered in the message memory of the CPU by the selected SFC and automatically transferred to the operator panels. The message frame contains not only the automatically assigned message number but also the current step number so that the operator panel can display the corresponding texts and depending on the display, the corresponding conditions. Apart from the message, a group error bit is also set that is displayed on the operator panel depending on the display. The following displays are available on the operator panel for the sequencer: Overview level All units are displayed with their current step. Each sequencer block represents such a unit. If a sequencer has a disturbance, this line is marked by . I f this line is selected, you can change directly to the detailed display level with a function key. Message display level The current message with the date and time is displayed. You can change directly to the detailed display from this level. Detailed display The network affected is displayed in Ladder Logic or statement list representation and the missing conditions are marked. In the display, you also have the option of displaying the entire network or the reduced network containing only the conditions affected. This is particularly useful with more extensive logic operations.
Note If you use the standard FC71, you do not require the SFC17/SFC18 blocks. Messages are, however, processed using SFC52 ("WR_USMSG"). If you use the standard FC73, no messages are generated due to the minimized memory configuration.
14-13
Configuration Instructions
14-14
15
Instance DB
Each S7-GRAPH FB is assigned an instance data block that can be understood as representing the memory of the FB. It contains the data belonging to the sequencer, in other words all the data and parameters required to execute the FB: All the FB parameters of the selected FB parameter set step-transition description (for example current or last activation time of a step with and without disturbance times; indicator whether or not a step is active).
15.1
Include Instance DB
To create the instance DB automatically after compiling an error-free FB, click the option "Include Instance DB" in the "General" tab (menu command Options > Application Settings). If you select this option, whenever you compile or download the block, S7-GRAPH checks whether it is necessary to create or update the instance DB and takes whatever action is necessary.
Interface Description
In the "Save/Compile" tab, there are three possible settings for the interface description of the instance DB: Memory minimized (as of V5.1) The interface descriptions are stored in the instance DB as structures. A separate structure with the essential information is created for each step and each transition of the sequencer. This option reduces the memory requirements of your S7-GRAPH FB considerably. The blocks created do not, however, have diagnostic capability. When you monitor the sequential control system, you see the status display for conditions for the active step only. If you use this option, you must use the supplied FC75 standard block.
15-1
Instance DB
Using Standard Function Blocks FC70, FC71, FC72 and FC73 Structure Arrays The interface descriptions are stored in the instance DB as fields (ARRAYs). This option optimizes the memory requirements of your S7-GRAPH function block. The step names are, however, not stored. Symbolic addressing of other blocks is not possible in this case. Individual Structures The interface descriptions are stored in the instance DB as structures (STRUCT). A separate structure with detailed information is created for each step and each transition of the sequencer. This is a convenient method allowing internal and external access using symbolic names. The instance DB can be evaluated both using direct access to the data or using the step and transition names. The structures increase the size of the instance DB but do not affect the performance when executing the sequencer.
15.2
15-2
Instance DB
15.3
Caution The data block must not be created manually or deleted if you have set the option "message with ALARM_SQ / ALARM_S (SFC17 / SFC18)" in the "Messages" tab (menu command Options > Block Settings) otherwise messages can be lost. The instance data block is then included automatically.
15.4
15.5
15-3
Instance DB
15.6
15.7
Structure of an Instance DB
The structure of the instance DB depends on the settings you make in the "Compile / Save" tab (menu command Options > Block Settings ). The following factors affect the content and the size. 1. The parameter set selected for the FB 2. The interface description for the data belonging to steps and transitions (memory minimized/structure arrays/individual structures). The data are entered automatically. 3. The option of entering criteria analysis data. 4. Number and size of user-defined variables
15.8
Area FB parameters
Length Depends on the selected parameter set: 2 bytes: minimum 10 bytes: Standard/Maximum Individual: Maximum V5/User-def. 16 bytes (number of transitions) 16 bytes 32 bytes (number of steps) 32 bytes -
Reserved work area Transitions Reserved work area Steps Sequencer status Internal work area
G7T_0 Transition name (for example Trans1, Trans2) G7S_0 step name (for example Step1, Step2) -
15-4
Instance DB
15.9
FB Parameters
The FB parameters are located in the instance DB. The space required by the FB parameters depends on the setting (minimum, standard, maximum or user-defined parameter set) made in the "Compile / Save" tab selected with the menu command Options > Block Settings . (If, for example, the minimum parameter set is selected, INIT_SQ is the only parameter displayed). The following table shows the maximum parameter set V5 (definable).
Description
OFF_SEQUENCE:
Write Ext. no no no
Initialize sequencer
ACKNOWLEDGE_ERROR_FAULT:
BOOL BOOL
yes yes
no no
yes yes
no no
no no no
no no no
Stop/reactivate sequencer
HALT_TIMES:
Stop/reactivate all step activation times and time-dependent instructions (L and D) of the sequencer ZERO_OP
ZERO_OPERANDS:
BOOL
yes
no
yes
no
Reset all addresses of the instructions N, D, L in active steps to zero and do not execute CALL instructions in actions/reactivate addresses and CALL instructions. EN_IL EN_SV EN_ACKREQ
ENABLE_INTERLOCKS:
no no no
no no no
Deactivate/reactivate interlocks
ENABLE_SUPERVISIONS:
Deactivate/reactivate supervisions
ENABLE_ACKNOWLEDGE_ REQUIRED:
no no no
no no no
15-5
Instance DB
Description
DISPLAY_ALL_STEPS:
Write Ext. no no
Automatic mode: Indicate previous simultaneously active steps in S_NO Manual mode: Indicate previous step (next lower number) S_NEXT
NEXT_STEP:
BOOL
yes
no
yes
no
Automatic mode: Indicate next simultaneously active step in S_NO manual mode: Indicate next step (next higher number) SW_AUTO SW_TAP
SWITCH_MODE_AUTOMATIC:
BOOL BOOL
yes yes
no no
yes yes
no no
yes
no
yes
no
BOOL
yes
no
yes
no
INT
yes
no
yes
no
Selects a specific step for the output parameter S_NO. Activate/deactivate in the manual mode with S_ON, S_OFF. S_SELOK S_ON
STEP_SELECT_OK:
BOOL BOOL
yes yes
no no
yes yes
no no
BOOL
yes
no
yes
no
BOOL
yes
no
yes
no
BOOL BOOL
yes yes
no no
yes yes
no no
Transition passes control when the condition is satisfied and there is a rising edge at T_PUSH; condition: Inching mode (SW_TAP) S_NO
STEP_NUMBER
INT
yes
no
yes
no
15-6
Instance DB
Parameter S_MORE
Description
MORE_STEPS:
Write Ext. no
Further active steps can be selected in S_NO S_ACTIVE S_TIME S_TIMEOK S_CRITLOC S_CRITLOC ERR S_CRITSUP S_STATE T_NO T_MORE
STEP_ACTIVE
no no no no no no no no no
no no no no no no no no no
DWORD yes DWORD yes DWORD yes WORD INT BOOL yes yes yes
Other valid transitions available for display T_CRIT T_CRITOLD T_CRITFLT ERROR FAULT ERR_FLT SQ_ISOFF SQ_HALTED TM_HALTED OP_ZEROED IL_ENABLED
TRANSITION_CRITERIA:
DWORD yes DWORD yes DWORD yes BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL yes yes yes yes yes yes yes yes yes yes
no no no no no no no no no no no no no
yes yes yes yes yes yes yes yes yes yes yes yes yes
no no no no no no no no no no no no no
Group disturbance
SEQUENCE_IS_OFF:
Sequencer off
SEQUENCE_IS_HALTED:
Sequencer stopped
TIMES_ARE_HALTED:
Timers stopped
OPERANDS_ARE_ZEROED:
Addresses reset
INTERLOCK_IS_ENABLED:
Interlocks not deactivated SV_ENABLED SUPERVISION_IS_ENABLED: Supervisions not deactivated ACKREQ_EN ABLED
ACKNOWLEDGE_REQUIRED_IS_ ENABLED:
15-7
Instance DB
Description
STEP_SKIPPING_IS_ENABLED:
Write Ext. no no no
Display list only with steps with error and disturbed steps SALL_DISP AUTO_ON TAP_ON TOP_ON MAN_ON
ALL_STEPS_WERE_DISPLAYED:
no no no no no
no no no no no
15-8
Instance DB
15.10
Description
Write int. no no no no no no
Write Ext. no no no no no no
Transition is valid Transition is satisfied Transition switches The CRIT_FLT entry is invalid Indicates the user-defined transition number CRIT Status of the maximum 32 LAD/FBD elements of the transition in the current processing cycle CRIT_OLD Status of the maximum 32 LAD/FBD elements of the transition in the previous processing cycle CRIT_FLT Copy of CRIT if an error occurs
DWORD
yes
no
yes
no
DWORD
yes
no
yes
no
Internal access uses the transition number followed by the name of the structural element. This means that the following access is possible in conditions or actions: T003.TT T017.CRIT
External access uses only the array element followed by the name of the structural element. Caution: The array index is the internal transition number and not the number assigned by the user. G7T[1].TT G7T[3].CRIT
15-9
Instance DB
Internal access uses the transition number or the transition name followed by the name of the structural element. This means that the following access is possible in conditions or actions: T003.TT T017.CRIT VALVE_ON.TT
External access uses only the transition name (structure name) followed by the name of the structural element. VALVE_ON.TT VALVE_ON.CRIT
15-10
Instance DB
15.11
Component Description S1 L1 V1 R1 A1 S0 L0 V0 X LA VA RA AA SS LS Step is activated interlock leaving state Supervision entering state Reserved Error is acknowledged Step is deactivated Interlock entering state Supervision leaving state Step is active Interlock is not satisfied Supervision active Reserved Reserved System-internal Direct result of the programmed interlock VS Direct result of the programmed supervision SNO User step number T Total step activation time U Step activation time without disturbance CRIT_LOC Status of the maximum 32 LAD/FBD elements in the interlock in the current processing cycle CRIT_LOC_ Copy of CRIT_LOC when the ERR interlock leaves the state CRIT_SUP Status of the maximum 32 LAD/FBD elements in the supervision in the current processing cycle. SM System-internal LP System-internal LN System-internal VP System-internal VN System-internal H_IL_ERR System-internal H_SV_FLT System-internal RESERVED Reserve
Data Type BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL INT TIME TIME DWORD
Read int. yes yes yes no yes yes yes yes yes yes yes no no no yes yes no yes yes yes
Write int. no no no no no no no no no no no no no no no no no no no no
Read Ext. yes yes yes no yes yes yes yes yes yes yes no no no yes yes yes yes yes yes
Write Ext. no no no no no no no no no no no no no no no no no no no no
DWORD DWORD
yes yes
no no
yes yes
no no
no no no no no no no no
no no no no no no no no
no no no no no no no no
no no no no no no no no
15-11
Instance DB
Internal access uses the step number followed by the name of the structural element. This means that the following access is possible in conditions or actions: S003.X S017.T
External access uses only the array element followed by the name of the structural element. Caution: The array index is the internal step number and not the number assigned by the user. G7S[1].X G7S[3].T
Internal access uses the step number or the step name followed by the name of the structural element. This means that the following access is possible in conditions or actions: S003.X S017.T DRY.X
External access uses only the step name (structure name) followed by the name of the structural element, as follows: DRY.X DRY.T
15-12
Instance DB
15.12
Sequencer Status
The sequencer status area consists of several components (arrays or structures) containing information about the status of the sequencer, as follows: Permanent Instructions Component Index Arrays Component Mode Component (Mode of Operation, MOP) Activation Time Component Group Bits Component
The sequencer status area starts at the address: a = FB parameter length + transition array length(s)+step array length(s).
Permanent Instructions
This component of the sequencer status area describes the permanent instructions that can be programmed before or after the sequencer. The component is omitted if no permanent instructions are programmed.
Name PRE_CRIT Description Status of the permanent instruction preceding the sequencer Status of the permanent instructions following the sequencer Data type DWORD Length Read int. 0-n no Write int. no Read Ext. yes Write Ext. no
POST_CRIT
DWORD
0-n
no
no
yes
no
PRE_CNT
Number of permanent WORD instructions preceding the sequencer Number of permanent instructions after the sequencer WORD
no
no
yes
no
POST_CNT
no
no
yes
no
15-13
Instance DB
Index Arrays
The first component of the sequencer status area contains the index arrays for managing the internal step and transition numbers.
Index Name Description TVX TTX TSX S00X SOFFX SONX SAX SERRX SMX S0X S1X Array of valid transitions Array of satisfied transitions Array of switching transitions Data Type BYTE BYTE BYTE Length in Read Bytes int. <intern> <intern> <intern> <intern> <intern> <intern> <intern> no no no no no no no Write int. Read Ext. no no no no no no no no no no no no yes yes yes no no no yes yes no no no yes Write Ext. no no no no no no no no no no no no
Array of steps to be BYTE deactivated (second last cycle) Array_1 of the steps to be deactivated Array_1 of the steps to be activated Array of active steps Array of disturbed steps Array of marked steps Array_2 of the steps to be deactivated Array_2 of the steps to be activated BYTE BYTE BYTE BYTE BYTE BYTE BYTE
S_DISPLAY Copy of the output parameter INT S_NO (can also be evaluated if the minimum parameter set option is selected) S_SEL_OLD System-internal S_DISPIDX T_DISPIDX System-internal System-internal INT BYTE BYTE
2 1 1
no no no
no no no
no no no
no no no
New entries are added at the end. When entries are removed, the array is shifted together. This means that, for example, in the array of active steps (SAX), the step that is active longest has the lowest index.
15-14
Instance DB
Modes
The next component in the sequencer status area describes the modes, in other words the state or mode change and codes. A structure with the following elements is created:
Name AUTO MAN TAP TOP ACK_S REG_S T_PREV T_NEXT LOCK SUP ACKREQ SSKIP OFF INIT HALT TMS_HALT OPS_ZERO SACT_DISP SEF_DISP SALL_DISP S_PREV Description Change to the automatic mode Change to the manual mode Change to the inching mode Change to the automatic or switch to next mode Reserved Reserved Reserved Reserved Activate/deactivate interlock processing Activate/deactivate supervision processing Reserved Reserved Deactivate sequencer Activate initial steps Stop/continue sequencer Stop/continue timers Deactivate/activate actions Reserved Reserved Reserved Automatic mode: Indicate previous simultaneously active step in S_NO Manual mode: Indicate next lower step number S_NEXT Automatic mode: Indicate next simultaneously active step in S_NO Manual mode: Indicate next higher step number S_SELOK S_ON S_OFF T_PUSH Reserved Manual mode: Activate the displayed step Manual mode: Deactivate the displayed step Mode: Inching Transition passes control when the satisfied condition is accepted with T_PUSH REG Reserved BOOL no no no no BOOL BOOL BOOL BOOL no yes yes yes no yes yes yes no yes yes yes no yes yes yes BOOL yes yes yes yes Data Type BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL Read int. yes yes yes yes no no no no yes yes no no yes yes yes yes yes no no no yes Write int. yes yes yes yes no no no no yes yes no no yes yes yes yes yes no no no yes Read Ext. yes yes yes yes no no no no yes yes no no yes yes yes yes yes no no no yes Write Ext. yes yes yes yes no no no no yes yes no no yes yes yes yes yes no no no yes
15-15
Instance DB
Description Acknowledgment of a disturbance Permanent interlock processing Permanent transition processing Permanent interlock processing in manual mode
Example:
By setting MOP.MAN once, the mode changes to MANUAL. This can be set either controlled by the program (for example action in the sequencer) or by the PG function "Modify Variable" or using an operator panel.
Activation Time
The following component consists of a structure containing information about the activation time calculation. This is only evaluated internally by the system.
Structure Name TICKS Description System-internal Length in Bytes 12
15-16
Instance DB
Group Bits
The last component of a sequencer status area contains group bits that monitor the internal sequencer status. A structure is created as follows for these group bits:
Name ERR_FLT ERROR FAULT RT_FAIL NO_SNO NF_OFL SA_OFL TV_OFL MSG_OFL NO_SWI CYC_OP AS_MSG AS_SEND SQ_BUSY SA_BUSY AS_SIG Description Group disturbance interlock error Supervision error Group indication: Runtime error Selected step does not exist Too many steps to activate or deactivate To many active steps Too many valid transitions Too many messages Reserved System-internal System-internal System-internal System-internal System-internal System-internal Data Type BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL Read int. yes yes yes yes yes yes yes yes yes no no no no no no no Write Int. no no no no no no no no no no no no no no no no Read Ext. yes yes yes yes yes yes yes yes yes no no no no no no no Write Ext. no no no no no no no no no no no no no no no no
15-17
Instance DB
15.13
Condition Descriptions
These data are only entered when you select the option "With Data".
Address Description ADR_LOG_T[]: Descriptions for all transitions with content; the start addresses are in the field ADR_LOG_T[]; a 0 is entered here for empty transitions and there is no description. LOG_Ti[] LOG_Tj[] ... LOG_Tk[] This is possibly followed by padding bytes with the value 0 at the end of LOG_Tx so that the following fields start at an even address. ADR_LOG_L[]: Descriptions of all interlock conditions with contents; the start addresses are in the field ADR_LOG_L[]; here, a 0 is entered for empty interlocks and there is no description. LOG_Lp[] LOG_Lq[] ... LOG_Lr[] This is possibly followed by padding bytes with the value 0 at the end of LOG_Ly, so that the following fields start with an even address c S_CNT-2 T_CNT c+2 T_CNT+2 ADR_LOG_T: Addresses of the transition descriptions LOG_Tx ADR_LOG_T[0...T_CNT] ADR_LOG_L: Addresses of the interlocks LOG_Ly ADR_LOG_L[0...S_CNT] WORD[] (T_CNT+1)2 BYTE[] BYTE[] ... BYTE[] Data BYTE[] BYTE[] ... BYTE[] Length
WORD[]
(S_CNT+1)2
15-18
Instance DB
Address c+2 T_CNT+2 S_CNT+4 c+2 T_CNT+2 S_CNT+6 c+2 T_CNT+2 S_CNT+8
Description ADR_T1_CRITFLT: Address of disturbed transition criteria of T1 ADR_T1_CRITFLT == address(G7T[1].CRIT_FLT) ADR_S1_CRITERR: Address of the disturbed interlock criteria of S1 ADR_S1_CRITERR == address(G7S[1].CRIT_ERR) ADR_SERRX: Address of the array of disturbed steps SERRX[] ADR_SERRX == address(SERRX[0]) == e
Data WORD
Length 2
WORD
WORD
n-34
BYTE
MAX_SACT: BYTE Max. number of simultaneously active steps MAX_CRIT: Max. number of criteria per condition T_CNT Number of transitions SUP_CNT: Number of supervisions LOCK_CNT: Number of interlocks S_CNT Number of steps SQ_CNT: Number of branch paths PRS_INPAR: Range of input parameters PRS_OUTPAR: Range of output parameters BYTE BYTE BYTE BYTE BYTE BYTE DWORD DWORD
1 1 1 1 1 1 1 1 1
15-19
Instance DB
Description SQ_FLAGS Compiler flags part 1 SQ_FLAGS Compiler flags part 2 Bit .0 == 1 --> condition descriptions exist SQ_FLAGS Compiler flags part 3 G7_FBMARK: Compatibility FB criteria analysis (010 == 1.0) G7_RELEASE: Graph version number (010 == 1.0) G7_ID2: Graph ID ("7") G7_ID1: Graph ID ("G")
Length 6 1
n-5 n-4
BYTE BYTE
1 1
1 1 1
15-20
Glossary
--A-Action
An action is an instruction to execute a function in an active step.
--C-Checkpoint
A checkpoint is a point in the program cycle at which plant or process states can be influenced or queried. There are various checkpoints, for example System checkpoint User checkpoint
Criteria analysis
Criteria analysis is a software program for S7 Graph, consisting of a criteria FB and extended instance DB. Criteria analysis detects and influences plant and process states of S7 Graph sequential control systems.
--D-Deactivate
Deactivating means that the step is terminated by the relevant transition or by another step.
Glossary-1
Glossary
--E-Edge evaluation
Edge evaluation is required to detect and evaluate the change in a signal state. The term edge is used when a signal state (for example of an input) changes. A rising edge means that the signal changes from state "0" to state "1". In the opposite situation, there is a falling edge.
Execution time
The execution time of an instruction is the time during which the instruction is active; in other words, executed.
--I-Interlock
An interlock is a programmed condition within a step. An interlock influences the execution of individual actions.
--L-LAD branch
The LAD branch corresponds to an OR logic operation on elements in a transition, interlock, or supervision.
Glossary-2
Glossary
Process image
A memory area on the CPU in which the status of the inputs and outputs is entered. 1. Process image input table (PII): PII 2. Process image output table (PIQ): PIQ.
Processing time
The processing time is the time taken by the CPU to process an instruction (action, condition) and is usually in the ms range per instruction.
--S-Sequencers
A sequencer is the heart of a sequential control system. Here, the program for sequential control is created and processed. The sequencer consists of a series of steps whose execution is started in a specified dependent on step enabling conditions.
Step
The control task is divided into single steps. Actions are formulated in the steps that are executed by the controller in a certain status (for example for controlling the outputs or activating and deactivating steps).
Step comment
The step comment is a text in a step with a maximum of 2048 characters.
Glossary-3
Glossary
Start point
The start point is the defined start of the program cycle. When the program starts, the process image input table (PII) is read, effectively querying the plant or process state.
Status
The status is the signal state of the bits of an address on the PLC.
Status display
The status display is the display of the signal state of an address on the monitor of a programming device/PC connected online with the PLC.
Structural element
Structural elements are jumps and transitions in a sequencer.
Supervision
A supervision is a programmable condition within a step. A supervision influences the way in which control passes from one step to the next.
System checkpoint
The system checkpoint is the interface between the system and the user program. At the system control point, you can monitor or modify the signal states of the process variables and set the signal states at outputs from the programming device.
Glossary-4
Glossary
--T-Transition
A transition is the part of the sequencer that contains the conditions for passing control from one step to its successor step. A valid transition is a transition whose predecessor step or steps are active. When a transition is valid and its step enabling conditions are satisfied, control passes to the successor step. The predecessor step is then deactivated and the successor step is activated.
--U-User checkpoint
The user checkpoint is a selectable point in the user program for displaying the signal states of variables.
User program
The user program contains all the blocks and instructions of the program.
Glossary-5
Glossary
Glossary-6
Index
A
Abort situations ............................................ 14-9 Accessing the instance DB .......................... 15-4 Actions ............................................... 7-3, 13-9 ff components ............................................... 7-3 overview of arithmetic ............................ 13-19 overview of counters ................................ 13-9 overview of timers .................................. 13-14 Activation time ........................................... 15-16 Activation time of steps ................................ 7-25 Active step ..................................................... 6-2 Alternative branch.......................................... 6-7 Areas .................................................... 7-1, 7-15 for actions and conditions .......................... 7-1 for conditions............................................ 7-15 Arithmetic in actions.......................... 7-11, 13-19 Assignment of instance DB and S7-GRAPH FB ......................................... 15-2 Assignments with Built-in function................ 7-12 Assignments with operator........................... 7-14 Authorization........................................... 2-1, 2-3 Automatic creation of the instance DB on saving ................................................. 15-3 Automatic mode........................................... 9-11 Automatic mode (SW_AUTO) ...................... 9-12 Automatic mode or switch to next ................ 9-11 Automatic or switch to next mode (SW_TOP) ............................................... 9-15 Automatically compiling on saving an S7-GRAPH FB ......................................... 8-16 Automation License Manager ..........2-1, 2-3, 2-6 Condition ......................................................7-18 programming with Ladder Logic elements .........................7-18 Conditions ................................. 7-15, 7-22, 7-25 Programming with FBD elements.............7-22 specific to S7-GRAPH ..............................7-25 Control sequencer ........................................11-4 Counters in actions................................7-9, 13-9 Creating a symbol table..................................3-8 Creating an S7-GRAPH FB and programming a sequencer..........................3-9 Creating diagnostic data.............................14-12 Creating messages ....................................14-13 Creating the drill project in the SIMATIC Manager......................................3-7 Creating the instance DB later......................15-3 Creating the project in the SIMATIC Manager......................................5-1 Customizing a display level ..........................4-11 Customizing colors and fonts .......................4-13
D
Default display level .....................................4-11 Defining the system signals............................3-6 Details window ...............................................4-6 Direct assignments.......................................7-12 Direct editing mode ......................................4-15 Display and position of the toolbars..............4-14 Displaying and printing the content of the instance DB ..............................................15-3 Displaying reference data.............................11-7 Downloading blocks from the programming device to the CPU ....................................10-1 Downloading the program to the CPU and testing the sequencer ........................3-18 Drag-and-Drop editing mode ........................4-15
B
Bit logic operations....................................... 7-20 Block .......................................... 10-1, 10-2, 10-3 from PG ................................................... 10-1 uploading to the PG from the CPU........... 10-3 Block comment ............................................ 6-11 Boolean logic operation ...................... 7-15, 7-20 Branch stop.................................................... 6-9
E
Editing the sequencer with the toolbars........4-15 Editing Variables ..........................................7-30 Elements of a sequencer................................6-4 Eliminating Errors after Compilation or after the Consistency Check ................8-16 Empty interlock.............................................7-16 Empty steps....................................................7-3 Empty transition............................................7-16 Enabling operation .......................................14-4 Entering FBD elements ................................7-23 Entering Ladder Logic elements...................7-19 Error displaying .................................................4-16 Evaluating the CPU messages.....................11-6 Evaluating the diagnostic buffer ...................11-6
C
Calling the S7-GRAPH FB ...................... 9-1, 9-2 Certificate of License .......................2-1, 2-2, 2-3 Check Block Consistency ............................ 11-8 Comment ..................................................... 7-28 Compiling..................................................... 8-16 compiling an S7-GRAPH source file ........ 8-16 saving and compiling ................................. 8-2 sequencers .............................................. 8-15
Index-1
Index
Event-dependent actions ............................. 13-2 Event-dependent actions - to activate and deactivate steps ......................................... 7-8 Event-dependent actions - with and without interlock ....................................... 13-2 Event-dependent actions - with and without Interlock ......................................... 7-7 Examples ....................................................... 7-4 Extended name............................................ 7-28
step structure..........................................15-11 Transition structure...................................15-9 Interlock........................................................7-16 Interlocks ......................................................14-8 Internal data area .......................................15-18 of the instance DB ..................................15-18 Introduction...................................................14-1
J
Jump...............................................................6-6
F
FB parameters ...................................... 9-3, 15-5 FBD elements ..................................... 7-22, 7-23 FC70/FC71/FC72/FC73............... 8-7, 8-11, 8-13 Functional diagram ........................................ 3-4
L
LAD elements......................................7-19, 7-20 inserting....................................................7-19 logic operations ........................................7-20 Ladder Logic elements .................................7-18 Ladder Logic elements for programming conditions .................................................7-18 Length of the index arrays ..........................15-14 Level structure based on the example of a manufacturing cell ....................................14-2 License............................................ 2-1, 2-2, 2-3 License Key.............................. 2-1, 2-2, 2-3, 2-6 License Keys ..................................................2-4 License Manager............................. 2-1, 2-2, 2-3 License Types ................................................2-3 Enterprise License......................................2-3 Floating License .........................................2-3 Rental License............................................2-3 Single License ............................................2-3 Trial License ...............................................2-3 Upgrade License ........................................2-3 Linking to operator control and monitoring systems ..................................................14-12 Logic operations with FBD elements ............7-24 Logic operations with Ladder Logic elements .............................7-20
G
Group bits .................................................. 15-17 Guidelines Handling License Keys .............................. 2-4 Guidelines for Handling License Keys ........... 2-4
H
Handling modes ........................................... 14-5 Handling supervision errors ......................... 7-26 Handling the interlocks and manual control in the manual mode ................................. 14-7
I
Inching mode ............................................... 9-11 Inching mode (SW_TAP) ............................. 9-14 Including the sequencer in the STEP 7 program ...................................... 3-16 Index arrays ............................................... 15-14 Indicating the modes.................................. 15-16 Individual structures ..................................... 15-2 Initial counter value..................................... 7-9 Initial step....................................................... 6-5 Initialization .................................................. 14-8 Input parameters of the S7-GRAPH FB ......... 9-6 Insert mode.................................................. 7-19 direct ........................................................ 7-19 drag-and-drop .......................................... 7-19 Installation...................................................... 2-6 Installation requirements................................ 2-4 Installing S7-GRAPH ..................................... 2-4 Installing the Automation License Manager ... 2-3 Instance DB ............................ 10-1, 10-2, 15-1 ff accessing................................................. 15-4 automatic ................................................. 10-1 displaying contents .................................. 15-3 including with FB...................................... 15-3 interface description................................. 15-1 internal working area.............................. 15-18 modes .................................................... 15-15 outline of the structure ............................. 15-4 printing ..................................................... 15-3 sequencer status.................................... 15-13
M
Mandatory acknowledgment.........................7-26 Manual mode.......................................9-11, 9-13 Manual mode (SW_MAN).............................9-13 Maximum parameter set...............................15-5 memory requirements..........................8-11, 8-12 Menu bar ........................................................4-3 Mode ...............................................15-15, 15-16 automatic..................................................9-12 automatic or switch to next .......................9-15 in the instance DB ..................................15-15 inching ......................................................9-14 manual......................................................9-13 sequential control system .........................9-11 Modes.............................................9-11 ff, 15-15 Modifications during installation and commissioning........................................14-11 Modifying the Sequencer..............................3-20 Monitoring.....................................................11-6 Monitoring and modifying variables ..............11-6 Monitoring and testing the sequential control system ......................................................11-1
Index-2
Index
Monitoring functions..................................... 3-13 programming............................................ 3-13 Monitoring the status information................. 11-2
for saving and compiling.............................8-2 for the structure of a sequencer..................6-4 Running a consistency check .......................8-15
N
Name .................................................. 7-28, 7-29 Navigating in the sequencer ........................ 4-16 New sequencer.............................................. 6-9 Number ............................................... 7-28, 7-29
S
S7-GRAPH installing .....................................................2-4 starting........................................................4-1 uninstalling .................................................2-6 user interface..............................................4-2 S7-GRAPH addresses in conditions.............7-25 S7-GRAPH FB creating..............................................3-9, 3-10 input parameters ........................................9-6 output parameters ......................................9-9 S7-GRAPH FB ...........................................5-2 S7-GRAPH FB or S7-GRAPH source file?.....5-2 S7-GRAPH Overview .....................................1-1 S7-GRAPH source file....................................5-3 Saving .................................. 3-15, 8-2, 8-3, 8-14 calculating memory requirements.............8-11 saving an S7-GRAPH FB or an S7-GRAPH source file..........................8-14 saving and closing the sequencer ............3-15 saving and compiling ..................................8-2 settings for saving and compiling ...............8-3 Search function ............................................4-16 Selecting a step with S_PREV or S_NEXT: .9-16 Selecting a step with S_SEL: .......................9-16 Selecting an FB parameter set .......................9-3 Selecting the structure of the sequencer ........3-5 Sequencer ......... 3-5, 3-9, 3-10, 3-15, 3-16, 3-18, .................................. 3-20, 3-21, 6-2, 6-3, 6-4 creating.......................................................3-9 including in the STEP 7 program ..............3-16 modifying ..................................................3-20 navigating .................................................4-16 principle ......................................................6-2 saving and closing....................................3-15 selecting the structure ................................3-5 structures....................................................6-3 testing.......................................................3-18 Sequencer status ....................................15-13 ff activation time ........................................15-16 index arrays............................................15-14 modes.....................................................15-15 permanent operations.............................15-13 Sequential control system ............................9-11 automatic mode........................................9-11 inching mode ............................................9-11 manual mode............................................9-11 normal mode ............................................9-11 Setting a display level...................................4-11 Settings for printing ......................................12-1 Settings for the instance DB .........................15-1 Settings for the mnemonics ..........................13-1 Settings for the work area...............................4-9 Settings in the "Compile/Save" tab Executability ...............................................8-7 FB Parameters ...........................................8-6 sequencer properties..................................8-9 Warnings ..................................................8-10
O
OB1.............................................................. 3-16 Opening an S7-GRAPH FB or an S7-GRAPH source file ............................... 5-3 Operating mode selecting................................................... 9-11 Outline of the structure of the instance DB .. 15-4 Output parameters of the S7-GRAPH FB ...... 9-9 Overview window ........................................... 4-4
P
Parameter sets of the FB ............................... 9-4 Parameters ......................................... 7-30, 15-5 insert in sequencer................................... 7-30 of the S7-GRAPH FB ............................... 15-5 Permanent Instructions ............ 4-10, 6-10, 15-13 Permanent operations.................................. 7-17 Printing the sequencer ................................. 12-1 Printout ........................................................ 12-1 Procedure for creating a sequential control system .......................... 3-2 Programming conditions and actions ............. 7-1 Programming monitoring functions .............. 3-13 Programming step actions ........................... 3-11 Programming the structure of a sequencer.... 6-1 Programming transitions .............................. 3-11 Programming with symbolic addresses........ 7-29 Progressing.................................................. 9-16 progressing with T_PUSH........................ 9-16 Project............................................................ 5-1 creating in the SIMATIC Manager.............. 5-1
Q
Querying module information and the operating mode ........................... 11-6
R
Representing the mode in the sequencer .... 14-6 Requirements ....................................... 3-2, 7-26 for signaling and acknowledging .............. 7-26 Rules for creating an S7-GRAPH FB ................... 5-2 for creating an S7-GRAPH source file ....... 5-3 for entering FBD elements ....................... 7-23 for inserting LAD elements....................... 7-19 for saving an S7-GRAPH FB...................... 8-2 for saving an S7-GRAPH source file.......... 8-3
Index-3
Index
Settings in the "Compile/Save" Tab interface description............................ 8-8 Settings in the "Compile/Save" tab Sequencer Properties .......................... 8-9 Settings in the "Compile/Save" tab Warnings............................................ 8-10 Settings in the "General" tab.......................... 8-4 Settings in the "Messages" tab .................... 8-10 Simultaneous branch ..................................... 6-8 Single-Step display ...................................... 4-10 Size of the machine code............................. 8-11 Specifying the program structure and incorporating the sequencer .................... 14-3 Specifying the standard function block......... 3-14 Standard actions ..................................... 7-4, 7-5 Standard actions with and without interlock . 13-1 Standard actions:......................................... 13-1 Standard function blocks FC70 FC71 FC72 FC73 ..................................... 8-7, 8-13 specifying (drill example) ......................... 3-14 Starting S7-GRAPH ....................................... 4-1 Starting the installation program .................... 2-5 Status bar ...................................................... 4-8 Status display for steps and conditions........ 11-3 Status display for the signal state of addresses ............................................ 11-3 Step .......................6-2, 7-15, 7-16, 15-11, 15-12 skipping.................................................... 7-16 STEP 7 test functions .................................. 11-5 Step actions ................................................. 3-11 programming............................................ 3-11 Step description in the instance DB ........... 15-11 Step structure ............................................ 15-11 Step/Transition pair........................................ 6-5 Steps in creating a project ............................. 5-1 Steps/Transitions ........................................... 6-5 Structure arrays ........................................... 15-1 Structure of an instance DB ......................... 15-4 Structures of a sequencer.............................. 6-3 Supervision .................................................. 7-17 Supervision errors........................................ 7-26 Supervision errors and mandatory acknowledgment ...................................... 7-26 Supervisions ................................................ 14-9 SW_AUTO ................................................... 9-11 SW_MAN ..................................................... 9-11 SW_TAP ...................................................... 9-11 SW_TOP...................................................... 9-11 Symbol table .................................................. 3-8 Synchronization ....................... 11-4, 11-5, 14-10 System signals defining ...................................................... 3-6
T
Technological task and functional diagram.....3-3 Test function.................................................3-19 control sequencer.....................................3-19 Test functions ............................ 11-1, 11-2, 11-5 in STEP 7 .................................................11-5 Monitoring and testing the sequential control system .....................11-1 The modes of the sequential control system .........................9-11 Time constant..........................................7-4, 7-5 Timers ..........................................................7-25 actions .................................................13-14 ff activation time of steps .............................7-25 in actions ..................................................7-10 timers in Actions .....................................13-14 timers in conditions...................................7-25 Title bar ..........................................................4-3 Toolbars ................................................4-3, 4-14 displaying .................................................4-14 position .....................................................4-14 Transition...............................................3-11, 6-5 description in the instance DB ..................15-9 programming ............................................3-12 Step/Transition pair and initial step ............6-5 Transition structure.......................................15-9
U
Uninstalling S7-GRAPH..................................2-6 Uninstalling the User Authorization ................2-4 Uploading blocks from the CPU to the programming device.................................10-3 User interface .................................................4-2 User Rights Through The Automation License Manager..............2-3 Using standard function blocks FC70 FC71 FC72 and FC73........................................8-13
V
Variables ......................................................7-30
W
What's new? ...................................................1-4 Work area.......................................................4-9 Working area ..................................................4-3
Z
Zoom ...................................................4-11, 4-12
Index-4