You are on page 1of 1308

Unity Pro

Operating Modes
September 2004
33003101 00
2
Table of Contents

Safety Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
About the Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Part I General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Chapter 1 General Presentation of Unity Pro . . . . . . . . . . . . . . . . . . . . . . 31


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Capabilities of Unity Pro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
New Features of Unity Pro 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Chapter 2 Programming Language Editors . . . . . . . . . . . . . . . . . . . . . . . . 41


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Function Block Diagram FBD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Ladder Diagram (LD) language. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
General information about SFC sequence language . . . . . . . . . . . . . . . . . . . . . 46
Instruction List IL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Structured Text ST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

Chapter 3 Connecting a terminal to a PLC . . . . . . . . . . . . . . . . . . . . . . . . 51


Methodology for connecting from a PC to a PLC . . . . . . . . . . . . . . . . . . . . . . . . 51

Chapter 4 Global project management . . . . . . . . . . . . . . . . . . . . . . . . . . . 53


At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.1 Access security management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Unity Pro access security management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Access security editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
User information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
User information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
User profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Security rules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Recovery procedures after a fault . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

3
Access rights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.2 Project management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Access to Unity Pro software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Services in Offline Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Services in online mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Connection / disconnection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Accessing a PLC via a network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Overview of types of connection possible with Schneider PLCs . . . . . . . . . . . . . 94
Accessing communication parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Project comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Transferring the project between the terminal and the PLC . . . . . . . . . . . . . . . 100
Update of Upload Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Sending a command to the PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Project backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Transferring data between a file and the PLC . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Transferring current values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Memory usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

Chapter 5 Project browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117


At a glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
5.1 Introduction to the project browser. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
At a glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Introduction to the project browser. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Structural view and functional view of the project . . . . . . . . . . . . . . . . . . . . . . . 121
The Zoom In and Zoom Out commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
The commands Contract all and Expand all . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
The Goto command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Project properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Hyperlinks directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Protection of a project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
5.2 Introduction to the various directories of the project browser . . . . . . . . . . . . . . 139
At a glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Station Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Configuration Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Derived data types (DDT) directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Derived FB (DFB) types directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Variables Directory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Communication Directory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Program Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Animation Tables Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Operator Screens Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Documentation Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
5.3 Summaries of the utilities associated with the structure view
and function view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Summary of the services associated with the structural view . . . . . . . . . . . . . . 159

4
Chapter 6 Functional modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
At a glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
6.1 Introduction to the functional modules and associated utilities . . . . . . . . . . . . . 166
At a glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Functional modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Station directory of the functional view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Functional Module Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Functional Module Program Directory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Functional Module Animation Tables Directory. . . . . . . . . . . . . . . . . . . . . . . . . 173
Functional Module Operator Screens Directory . . . . . . . . . . . . . . . . . . . . . . . . 174
Summary of the services associated with the functional view. . . . . . . . . . . . . . 175
6.2 The functional modules and their associated utilities . . . . . . . . . . . . . . . . . . . . 178
At a glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Properties of a functional module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Creating a functional module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Programming a functional module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Protecting program elements of the functional module . . . . . . . . . . . . . . . . . . . 182
Debugging a functional module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Detaching/Deleting a functional module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Functional module export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Functional module import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Creating, deleting, locating, dragging-and-dropping an animation table in a
functional module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Creating, deleting, locating and dragging-and-dropping an operator screen
in a functional module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191

Chapter 7 Library Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195


At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Introduction to the library manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
The library manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Loading an object into the project from the library . . . . . . . . . . . . . . . . . . . . . . 199
Transferring an object from the project to the library. . . . . . . . . . . . . . . . . . . . . 201
Creating a new library and family . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Creating an installable family . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Updating a family or a library. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
The consistency check help wizard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208

Part II Data editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211

Chapter 8 Presentation of the data editor . . . . . . . . . . . . . . . . . . . . . . . . 213


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Accessing the data editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Description of the data editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216

5
Chapter 9 Managing data instances belonging to EDT\DDT\
IODDT families . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Creating variable instances of type EDT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Creating DDT data instances. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Creating an IODDT data instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Administration of an instance of type IODDT. . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Creating several data instances. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Display the variable instances in the editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Changing variable instance attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Creation of an IODDT type data instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246

Chapter 10 Creating derived data types (DDT) . . . . . . . . . . . . . . . . . . . . . 249


At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Accessing Derived Data Types (DDT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
Creating a derived datatype (DDT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Management of Derived Data Types and their elements. . . . . . . . . . . . . . . . . . 257
Creating nested Derived Data Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Saving derived datatypes (DDT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267

Chapter 11 Managing data instances belonging to function


block families (EF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Creating a variable instance from function blocks (EFB/DFB). . . . . . . . . . . . . . 270
Displaying function block variable instances in the editor . . . . . . . . . . . . . . . . . 272
Changing the attribute for variable instances in a function block. . . . . . . . . . . . 275

Chapter 12 Creating user function block data types (DFB). . . . . . . . . . . 279


Creating and managing user function block (DFB) data types . . . . . . . . . . . . . 279

Chapter 13 General Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Configuring the Data Editor columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Description of the editor for selecting data types . . . . . . . . . . . . . . . . . . . . . . . . 285
Filtering data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Analyzing DDT and DFB data types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
Local printing of data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Backing up the data editor context. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297

Part III Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299


At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299

Chapter 14 Presentation of the communication editors . . . . . . . . . . . . . 301


Presentation of the communication editors of the project browser . . . . . . . . . . 301

Chapter 15 Network configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303

6
At a glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Principle of configuring a network under Unity Pro . . . . . . . . . . . . . . . . . . . . . 304
Creating a logical network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Configuring a logic network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
Association of a logical network to network hardware. . . . . . . . . . . . . . . . . . . . 308

Chapter 16 Configuration of X-Way routing stations . . . . . . . . . . . . . . . . 311


At a glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Configuration of multi-network services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
How to configure an X-Way router module . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Examples of X-Way routing stations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Examples of partial routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321

Part IV Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323


At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323

Chapter 17 Accessing Tasks and Sections . . . . . . . . . . . . . . . . . . . . . . . . 325


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
17.1 Access to Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Creation and configuration of a task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
Displaying and modifying task properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
17.2 Accessing Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Creating an FBD, LD, IL or ST section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Properties dialog box for FBD, LD, IL or ST sections . . . . . . . . . . . . . . . . . . . . 333
Creating SFC sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
SFC properties dialog box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
Creating action, transition and macro sections . . . . . . . . . . . . . . . . . . . . . . . . . 342
Action, transition and macro sections properties dialog box . . . . . . . . . . . . . . . 343
Creating subroutine sections (SR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
Subroutine section properties dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Creating timer event sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Timer Event sections properties dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
Creating I/O event sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
I/O Event sections properties dialog box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
Opening a Section. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
Deleting sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
Execution order of sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360

Chapter 18 Unity Pro software options . . . . . . . . . . . . . . . . . . . . . . . . . . . 361


Unity Pro software options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
18.1 Project Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
Choice of configuration parameters for project generation . . . . . . . . . . . . . . . 363

7
Editors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
Language extensions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
Configuration settings for operator screens . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
18.2 Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
General Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
Dates and Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Connection options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
Library configuration options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
The Operator Screens option. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
18.3 Customize Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Customize Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379

Chapter 19 Common Functions of FBD, LD and SFC . . . . . . . . . . . . . . . 381


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
Using bookmarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Display grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
Zoom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
Tracking links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Print Current Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388

Chapter 20 Common FBD and LD Functions . . . . . . . . . . . . . . . . . . . . . . 389


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
Undo and redo changes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
Using connectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
Inspect windows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Initialize search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
Initialize Animation Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
Go to . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
Go to dialog box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399

Chapter 21 FBD Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
21.1 Creating a program with FBD programming language . . . . . . . . . . . . . . . . . . . 402
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
Structure of an FBD program (function block language) . . . . . . . . . . . . . . . . . . 403
Creating an FBD Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
Syntax and Semantics Check during Programming . . . . . . . . . . . . . . . . . . . . . 406
Navigating with the Keyboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
Selecting objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
Deleting, cutting, copying, pasting and moving objects . . . . . . . . . . . . . . . . . . . 410
Displaying the properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
Refining DFBs and subroutines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
21.2 Editing FFBs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
General information about calling an FFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416

8
Calling an FFB via the FFB Input Assistant. . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
Calling an FFB via the data selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
Assign actual parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
Using Public Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
Expanding Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
Negating FFB Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
EN and ENO Show and Hide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
Modifying the execution order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
Properties dialog box for elementary functions, procedures and
sub-routine blocks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
Properties dialog box for elementary and derived function blocks (FBs) . . . . . 439
21.3 Returning from a Subroutine or DFB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
Returning from a Subroutine or DFB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
Return object properties dialog box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
21.4 Calling a Subroutine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
Calling a subroutine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
21.5 Jumps within the Current Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
Jump within the current section. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
Jump object properties dialog box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
21.6 Definition of the Jump Target (Jump Labels) . . . . . . . . . . . . . . . . . . . . . . . . . . 451
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
Definitions of Jump Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
Jump label objects properties dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
21.7 Editing Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
Placing a Link . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
Editing Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
21.8 Entering Comments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
Entering comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
21.9 Online functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
Online functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
21.10 Export/Import. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
Export/Import FBD Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463

Chapter 22 LD Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
22.1 Creating a program with LD programming language . . . . . . . . . . . . . . . . . . . . 466
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
Structure of an LD program (ladder diagram) . . . . . . . . . . . . . . . . . . . . . . . . . . 467
Creating an LD program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
Syntax and semantics check during programming . . . . . . . . . . . . . . . . . . . . . . 472
View for variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
Navigating with the Keyboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475

9
Selecting objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
Deleting, cutting, copying, pasting and moving objects . . . . . . . . . . . . . . . . . . . 479
Displaying the properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482
Refining DFBs and subroutines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
Inserting and deleting lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
22.2 Editing Contacts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
Selecting Contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
Placing contacts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487
Contact properties dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
22.3 Editing Coils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492
Selecting Coils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493
Placing coils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495
Properties dialog box for coils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499
22.4 Editing compare blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501
Placing compare blocks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
Compare block properties dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505
22.5 Editing operation blocks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
Placing Operate Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
Operate block properties dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510
22.6 Editing FFBs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
General information on calling an FFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
Calling an FFB via the FFB input assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514
Calling an FFB via the data selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516
Connecting FFBs to the Left Power Rail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
Assigning Actual Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
Using Public Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528
Expanding Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529
Negating FFB Pins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
EN and ENO Show and Hide. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531
Properties dialog box for elementary functions, procedures and
sub-routine blocks.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532
Properties dialog box for elementary and derived function blocks (FBs). . . . . . 534
22.7 Returning from a Subroutine or DFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
Returning from a subroutine or DFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537
Return object properties dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538
22.8 Jumps within the Current Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
Jumps within the current section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
Jump object properties dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542

10
22.9 Definition of the Jump Target (Jump Labels) . . . . . . . . . . . . . . . . . . . . . . . . . . 543
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
Definitions of jump targets (jump labels) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544
Jump label properties dialog box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546
22.10 Editing Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
Select links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
Combining Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550
Placing links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551
Editing links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558
22.11 Entering Comments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560
Entering comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560
22.12 Online functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562
Online Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562
22.13 Export/Import. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
Export/Import LD Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563

Chapter 23 SFC Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565
23.1 Creating a program with the SFC programming language . . . . . . . . . . . . . . . . 566
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
Structure of an SFC Program (Sequential Function Chart). . . . . . . . . . . . . . . . 567
Creating an SFC Program. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
Syntax and Semantics Check during Programming . . . . . . . . . . . . . . . . . . . . . 571
Navigating with the Keyboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572
Selecting objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
Undo and Redo Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575
Deleting, cutting, copying, pasting and moving objects. . . . . . . . . . . . . . . . . . . 576
Inserting lines and columns. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582
Deleting lines and columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583
Displaying the object properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585
Initialize Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586
Initialize Animation Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587
Refining steps, macro steps and transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . 588
Go to . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590
Go to dialog. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592
23.2 General Information about Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595
Selecting steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596
Placing steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598
23.3 Editing "normal" steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599
Defining the properties of steps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 600
Steps properties dialog box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603
23.4 Editing macro steps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607

11
Defining the properties of macro steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608
Macro Steps Properties Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 611
23.5 Editing input steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613
Defining the properties of InSteps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614
InSteps properties dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615
23.6 Editing Output Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618
Defining the properties of OutSteps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619
OutStep properties dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 620
23.7 Editing actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621
Assigning actions to a step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 622
Display modes for actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628
23.8 Editing Transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629
Placing transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630
Defining transition properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631
Properties dialog box for transitions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635
23.9 Editing Jumps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637
Placing jumps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638
Defining jump properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639
Jump properties dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
23.10 Editing Branches and Joints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641
Selecting Branches and Joints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642
Placing branches and joints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644
Modifying the Properties of Branches and Joints. . . . . . . . . . . . . . . . . . . . . . . . 645
Branches properties dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647
Joints properties dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648
23.11 Inserting Alternative Strings and Simultaneous Strings . . . . . . . . . . . . . . . . . . . 649
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 649
Selecting Alternative Sequences and Parallel Sequences . . . . . . . . . . . . . . . . 650
Placing alternative sequences and parallel sequences . . . . . . . . . . . . . . . . . . . 651
23.12 Inserting Step-Transitions and Transition-Step-Sequences . . . . . . . . . . . . . . . 653
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653
Selecting Step-Transition and Transition-Step Sequences . . . . . . . . . . . . . . . . 654
Placing step-transition and transition-step sequences. . . . . . . . . . . . . . . . . . . . 655
23.13 Editing Links. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657
Links. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658
Placing a Link. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659
Editing links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660
23.14 Entering Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662

12
Entering comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662
23.15 Online functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664
Online functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664
23.16 Export/Import. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665
Export/Import SFC Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665

Chapter 24 Common IL and ST Functions. . . . . . . . . . . . . . . . . . . . . . . . . 667


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667
Selecting Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 668
Deleting, cutting, copying, pasting and moving text . . . . . . . . . . . . . . . . . . . . . 670
Undoing and redoing changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672
Match case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673
Font sizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674
Using Bookmarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675
Go to . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 677
Go to dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679
Searching text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 681
Searching and replacing text. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 682
Call a subroutine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683
Refine DFBs and subroutines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684
Inspect windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685
Enter comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687
Printing the Current Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 688
Initialize search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 689
Initialize Animation table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 690
Displaying the section properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 691
Fullscreen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692

Chapter 25 IL Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693
Structure of an IL program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694
Creating an IL Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 696
Syntax and Semantics Check during Programming . . . . . . . . . . . . . . . . . . . . . 697
Data input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 698
Calling an FFB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 702
Using Public Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706
Online functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707
Export/Import IL Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 708

Chapter 26 ST Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 709


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 709
Structure of an ST program. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 710
Creating an ST Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 712
Syntax and Semantics Check during Programming . . . . . . . . . . . . . . . . . . . . . 713
Data input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714
Calling an FFB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 718

13
Using public variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722
Calling a statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723
Online functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 728
Export/Import IL Sections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 729

Chapter 27 Programming Languages Data Selection Dialog Box . . . . . 731


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 731
Variable selection dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 732
FFB Selection Dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734
FFB Selection Dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 736
Data selection dialog box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737
Function Input Assistant. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 740
Data Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 742
Generate variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744

Chapter 28 I/O Objects tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745


At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745
Introduction to the I/O Object Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 746
I/O Objects Tab for a Processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 748
I/O Objects Tab for a Module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749
Details of Areas in the I/O Objects Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 750
I/O Objects Tab for a Bus Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 752
How to Use the I/O Objects Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 753

Chapter 29 Type Library Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 757


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 757
Dragging and dropping functions and function blocks in an editor. . . . . . . . . . . 758
Type Library Browser window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759
Configuration of the columns in the Type Library browser. . . . . . . . . . . . . . . . . 761

Chapter 30 Search/Replace tool. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763


At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763
Overview of the Search / Replace tool. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764
General functionalities forSearch/Replace. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 766
Searching for data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767
Replacing data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 768
Search data in project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769
Replace variables in a project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 771
Cross-References: Current parameter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773

Chapter 31 User's Function Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775
31.1 DFB Type. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776
DFB Type. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 777
Creating a DFB Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 778
DFB Type Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 779

14
Programming a DFB type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 780
Deleting a DFB type element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782
Archiving a DFB Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783
How to protect a DFB type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784
Deleting a DFB Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 786
How to access the attributes of a DFB type . . . . . . . . . . . . . . . . . . . . . . . . . . . 787
Authorized DFB Type Modifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 788
31.2 DFB Instance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 791
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 791
DFB Instance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792
Creating a DFB Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 793
Creating several DFB Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 794
Deleting a DFB instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 795
Operations on DFB Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 796
Modifying the Attributes of a DFB Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 798
Authorized DFB Instance Modifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 800
31.3 How to Create Nested DFBs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 801
How to Create Nested DFBs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 801

Part V Project configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . 803


At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803

Chapter 32 Introduction to the configuration . . . . . . . . . . . . . . . . . . . . . . 805


At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805
Services offered . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 806
Services offered in offline mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 807
Services offered in online mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 808
Access to project configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 809

Chapter 33 Bus Editors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811


At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811
33.1 Rack configuration on local bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 812
At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 812
Organization of the racks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 813
How to configure the racks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 814
33.2 Configuration of the power supply modules . . . . . . . . . . . . . . . . . . . . . . . . . . . 815
How to configure the power supply modules. . . . . . . . . . . . . . . . . . . . . . . . . . . 815
33.3 Configuration of the processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 817
Choice and replacement of the processor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 817
33.4 Configuration of the modules in the PLC station . . . . . . . . . . . . . . . . . . . . . . . . 819
How to configure the modules in the PLC station . . . . . . . . . . . . . . . . . . . . . . . 819
33.5 Configuration of devices on the field bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 822
At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 822
How to access and create a Fipio field bus. . . . . . . . . . . . . . . . . . . . . . . . . . . . 823
How to create and access RIO\DIO field buses . . . . . . . . . . . . . . . . . . . . . . . . 824
How to configure devices on the RIO/DIO bus . . . . . . . . . . . . . . . . . . . . . . . . . 826

15
33.6 Consumption management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829
At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829
Power consumption budget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 830
Budget on the number of application-specific channels. . . . . . . . . . . . . . . . . . . 832
33.7 Bus editors in online mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 834
Online Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 834

Chapter 34 Modules editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 835


At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 835
34.1 Configuration of Premium processors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 836
At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 836
Configuration of Premium\Atrium processors . . . . . . . . . . . . . . . . . . . . . . . . . . 837
Access to PCMCIA memory cards of Premium processors. . . . . . . . . . . . . . . . 839
Access to control loop configuration for Premium processors . . . . . . . . . . . . . . 840
34.2 Configuration of the Quantum processors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 841
At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 841
Configuration of Quantum processors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 842
Configuration of Modbus ports on Quantum . . . . . . . . . . . . . . . . . . . . . . . . . . . 845
34.3 Configuration of the input\output modules for a Premium\
Atrium or Quantum station . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 847
At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 847
Access to the Premium/Atrium I/O module configuration editor . . . . . . . . . . . . 848
Access the Quantum input/output module configuration editor . . . . . . . . . . . . . 849

Chapter 35 General functionalities of the editor . . . . . . . . . . . . . . . . . . . 851


At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 851
Analysis of the configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 852
Export\Import of the configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 853
Printing the configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 854

Part VI Debugging and adjustment . . . . . . . . . . . . . . . . . . . . . . 855


At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855

Chapter 36 Debugging the program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 857


At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 857
36.1 Safety precautions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 858
At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 858
Modification in RUN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 859
Switch to STOP of a PLC in Debug mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 860
Setting a task to STOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 861
Task deactivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 862
Deactivation of Inputs/Outputs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 863
Use of the Step by Step mode and Breakpoint . . . . . . . . . . . . . . . . . . . . . . . . . 864
Unwanted disconnection in Debug mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 865
36.2 Program Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 866
At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 866

16
Introduction to animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867
Section in textual language (Structured Text or Instruction List). . . . . . . . . . . . 869
Section in Ladder Diagram language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 870
Section in Function Block Diagram language (FBD) . . . . . . . . . . . . . . . . . . . . . 872
Section in Sequential Function Chart language (SFC) . . . . . . . . . . . . . . . . . . . 873
Display of Prepositioned steps, after an on-line modification . . . . . . . . . . . . . . 874
DFB instances (user function blocks) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 875
Representation of forced variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 876
36.3 Debugging in Ladder Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 877
At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 877
Inserting a breakpoint in Ladder Diagram language (LD) . . . . . . . . . . . . . . . . . 878
Step by step execution mode in Ladder Diagram language (LD) . . . . . . . . . . . 880
Inserting a watchpoint in Ladder Diagram language . . . . . . . . . . . . . . . . . . . . . 882
36.4 Debugging in Textual Languages (Structured Text, Instruction List) . . . . . . . . 884
At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 884
Insertion of a breakpoint in textual languages
(Structured Text or Instruction List) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885
Step by step execution mode in textual languages
(Structured Text or Instruction List) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 887
Insertion of a watchpoint in textual languages
(Structured Text or Instruction List) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 889
36.5 Debugging in Function Block Diagram (FBD) Language . . . . . . . . . . . . . . . . . 891
At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 891
Inserting a breakpoint in Function Block Diagram language . . . . . . . . . . . . . . . 892
Step by step execution mode in Function Block Diagram language (FBD). . . . 894
Inserting a watchpoint in Function Block Diagram language (FBD) . . . . . . . . . 896
36.6 Debugging User Function Block (DFB) Instances. . . . . . . . . . . . . . . . . . . . . . . 898
At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 898
Inserting a breakpoint in a DFB instance (user function block) . . . . . . . . . . . . . 899
Step by step execution mode in a DFB instance (user function block) . . . . . . . 901
Inserting a watchpoint in a user function block (DFB) . . . . . . . . . . . . . . . . . . . . 902
36.7 Debugging in Sequential Function Chart Language (SFC) . . . . . . . . . . . . . . . . 903
At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 903
Inserting a breakpoint in Sequential Function Chart language (SFC) . . . . . . . . 904
Step by step execution mode in Sequential Function Chart language (SFC) . . 906
Inserting a watchpoint in Sequential Function Chart language . . . . . . . . . . . . . 909
36.8 Information on Debugging. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 910
At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 910
Tracing task execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 911
Task states during debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 912
Disconnection during the debug phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 913
Operation of the alarm relay in Debug mode . . . . . . . . . . . . . . . . . . . . . . . . . . 914
36.9 PLC debug screen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 915
At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 915
Overview of the CPU debugging screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 916

17
Description of the Task tab: Task checking field. . . . . . . . . . . . . . . . . . . . . . . . 917
Description of the Task tab: Operating mode field . . . . . . . . . . . . . . . . . . . . . . 919
Description of tab: Realtime Clock. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 920
Description of the tab: Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 921

Chapter 37 Viewing and adjusting variables . . . . . . . . . . . . . . . . . . . . . . 923


At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 923
37.1 Introduction to variable animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924
Displaying variables in debug mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924
37.2 Variable Display Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925
Introduction to the Variable Output Window . . . . . . . . . . . . . . . . . . . . . . . . . . . 925
37.3 Variable Display Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 927
Introduction to variable display boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 927
37.4 Animation Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 929
At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 929
Introduction to animation tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 930
Managing animation tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 931
Basic functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 932
Modification mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 934
Forcing Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 936
Multiple modification and forcing of Boolean variables . . . . . . . . . . . . . . . . . . . 937

Chapter 38 PLC Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939
Launching and Exiting the Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 940
Loading a Project in the Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 941
Simulator Icon in the Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 942
Limitations of the PLC Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 944
System Bits and System Words. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 946

Part VII Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 949


At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 949

Chapter 39 Introduction to diagnostics tools . . . . . . . . . . . . . . . . . . . . . . 951


Diagnostics with Unity Pro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 951

Chapter 40 Diagnostics screens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 955


At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 955
40.1 Module and processor diagnostics screens. . . . . . . . . . . . . . . . . . . . . . . . . . . . 956
At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 956
Viewing fault diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 957
Lists of fault diagnostics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 958

Chapter 41 Diagnostics Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 961


At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 961
Reminder of the diagnostics associated with the Viewer. . . . . . . . . . . . . . . . . . 962

18
Operation of the diagnostics in Unity Pro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 963
Description of the Diagnostics Viewer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 964
How to find causes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 966
Configuring the display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 968
Managing error messages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 969
Diagnostics Viewer commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 971
DiagViewer Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 972
Archiving error messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 973

Chapter 42 System diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 975


System diagnostic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 975

Chapter 43 Project diagnostics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 977


Project diagnostic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 977

Part VIII Operator screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 979


At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 979

Chapter 44 General information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 981


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 981
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 982
Creation of Runtime Screens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 983

Chapter 45 First steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 985


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 985
45.1 Working principles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 986
How to access the operator screens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 986
45.2 Menus and tools in the runtime screen editor . . . . . . . . . . . . . . . . . . . . . . . . . . 987
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 987
Menus in the operator screen editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 988
Edit toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 991
45.3 Configuring options from the runtime screen editor . . . . . . . . . . . . . . . . . . . . . 993
General configuration of operator screens . . . . . . . . . . . . . . . . . . . . . . . . . . . . 993

Chapter 46 Editing runtime screens. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 995


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 995
46.1 Editing screens from the browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 996
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 996
Editing operator screens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997
Operator screen editor functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 998
Screen family editor functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1001
Operator screen properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1003
Properties of Operator Screen Families . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1005
46.2 Creating an object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1006
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1006
Introduction of a graphic screen object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1007

19
How to create standard objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1008
How to insert an image in a screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1010
How to create driving objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1011
Operation of the driving objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1013
46.3 Modification of an object’s attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1016
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1016
How to access an object’s attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1017
Design tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1018
Extended colors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1019
Text tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1020
Animation Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1021
Animation type tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1022
Trend diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1025
Bar chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1026
Screen browse tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027
Control tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1028
Image Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1029
Explicit exchanges tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1030
Information on the objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1032
The data selection tool. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1033
46.4 Manipulation of objects in runtime screens . . . . . . . . . . . . . . . . . . . . . . . . . . . 1035
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1035
How to select graphic objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1036
How to move and resize objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1038
How to delete and copy objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1039
How to position objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1040
How to create compound objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1042
46.5 Managing the runtime screens messages editor . . . . . . . . . . . . . . . . . . . . . . . 1043
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1043
Operator screens messages editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1044
How to manage messages linked to operator screens . . . . . . . . . . . . . . . . . . 1045
Find dialog box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1047
Replace dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1048
Message Renumbering Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1049
Message editing and import/export function . . . . . . . . . . . . . . . . . . . . . . . . . . 1050

Chapter 47 Runtime screens in online mode . . . . . . . . . . . . . . . . . . . . . 1053


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1053
Basic functions in online mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1054
How to select an animated object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1055
How to use command objects to modify the variables associated
with objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056
How to view the variables associated with graphic objects . . . . . . . . . . . . . . . 1057
How to modify the variables associated with objects from an animation
table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1058
How to search for cross-references . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1059

20
How to manage the display of operator screens . . . . . . . . . . . . . . . . . . . . . . . 1060
How to modify screen control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1062
How to obtain information on objects when in connected mode . . . . . . . . . . . 1063

Chapter 48 Runtime screens objects library . . . . . . . . . . . . . . . . . . . . . . 1065


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1065
48.1 Managing library objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1066
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1066
The Objects Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1067
How to manage the list of graphic items in the library. . . . . . . . . . . . . . . . . . . 1068
Properties of the object library and its elements . . . . . . . . . . . . . . . . . . . . . . . 1071
Handling the Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1073
48.2 Library objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1075
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1075
Object library actuators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1076
Object library display panels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1079
Automation components of the object library . . . . . . . . . . . . . . . . . . . . . . . . . 1081
Fluid management objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1086
Object library machines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1088
The DFB inputs of the object library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1089
DFB outputs in the object library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1091
DFB public variables in the object library . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1093
DFB private variables in the object library. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1095
Help grid for DFB input in the object library. . . . . . . . . . . . . . . . . . . . . . . . . . . 1097
The interfaces before PID and IMC control of the object library . . . . . . . . . . . 1098
The interfaces before for cascade control of the object library . . . . . . . . . . . . 1099
The interfaces for auto-selective control of the object library . . . . . . . . . . . . . 1100
The interfaces before ON OFF control of the object library. . . . . . . . . . . . . . . 1102
The object library PID and IMC control interfaces. . . . . . . . . . . . . . . . . . . . . . 1103
The interfaces before for cascade tred control of the object library . . . . . . . . 1107
The autoselective regulation interfaces from the object library . . . . . . . . . . . . 1111
The object library ON OFF control interfaces . . . . . . . . . . . . . . . . . . . . . . . . . 1119
Object library symbols. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1121
Object library standardized symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1122

Chapter 49 Appendices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1125


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1125
49.1 Keyboard shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1126
Using the keyboard with the operating screens . . . . . . . . . . . . . . . . . . . . . . . 1126

Part IX Documentation, Import/export . . . . . . . . . . . . . . . . . . 1129


At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1129

Chapter 50 Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1131


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1131
Creating project documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1132

21
Documentation structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1133
Topics in documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1134
Creating project documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1141
Print preview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1144
Page setup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1145
Print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1146
Printer setup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1148

Chapter 51 Import / Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1151


At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1151
51.1 General information on the Import/Export function . . . . . . . . . . . . . . . . . . . . . 1152
At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1152
General information on import/export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1153
Import / Export files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1154
Type of dialog box for the export function . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1155
Type of dialog boxes for the import function . . . . . . . . . . . . . . . . . . . . . . . . . . 1157
Managing conflicts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1158
51.2 Importing/Exporting the various elements of Unity Pro . . . . . . . . . . . . . . . . . . 1159
At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1159
Export of the input/output configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1160
Import of the input/output configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1161
Exporting the program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1162
Importing the program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1164
Exporting DFB types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1166
Importing DFB types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1167
Exporting DDTs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1168
Importing DDTs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1169
Exporting variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1170
Importing variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1172
Exporting the communication network configuration . . . . . . . . . . . . . . . . . . . . 1173
Importing the configuration of a communication network. . . . . . . . . . . . . . . . . 1174
Exporting runtime screens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1175
Importing operator screens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1176
Exporting animation tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1177
Importing animation tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1178
Exporting a functional module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1179
Importing a functional module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1180
Exporting a global project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1181
Importing a global project. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1182
51.3 Wizard for importing the various elements of Unity Pro . . . . . . . . . . . . . . . . . 1183
At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1183
Using the assistant. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1184
Variables tab of the wizard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1186
DFB and DDT tabs of the wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1187
SR, Sections, Events and Macro steps tabs of the wizard . . . . . . . . . . . . . . . 1188
Wizard animation tables tab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1189

22
Wizard functional module tabs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1190
Correspondence file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1191

Appendices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1193
At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1193

Appendix A Hyperlinks in Unity Pro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1195


At a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1195
A.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1196
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1196
Introduction to hyperlinks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1197
Representation and opening of a hyperlink. . . . . . . . . . . . . . . . . . . . . . . . . . . 1198
A.2 Principles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1199
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1199
Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1200
Overview of operate-modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1201
1-step mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1202
2-step mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1203
Description of the Hyperlink Comment Window . . . . . . . . . . . . . . . . . . . . . . . 1204
Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1207
List of barred characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1208
A.3 Hyperlinks in the project browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1209
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1209
Creating a hyperlink in the project browser . . . . . . . . . . . . . . . . . . . . . . . . . . . 1210
Editing the properties of a hyperlink in the project browser. . . . . . . . . . . . . . . 1211
Opening a hyperlink from the project browser. . . . . . . . . . . . . . . . . . . . . . . . . 1212
Deleting a hyperlink in the project browser . . . . . . . . . . . . . . . . . . . . . . . . . . . 1213
A.4 Hyperlink in the data editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1214
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1214
Creating a hyperlink in the data editor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1215
Editing a hyperlink in the data editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1216
Selecting a hyperlink in the data editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1217
Deleting a hyperlink in the data editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1218
A.5 Hyperlinks in the DFB type attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1219
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1219
Creating a hyperlink from DFB type attributes . . . . . . . . . . . . . . . . . . . . . . . . 1220
Editing a hyperlink from DFB type attributes . . . . . . . . . . . . . . . . . . . . . . . . . . 1221
Opening a hyperlink from DFB type attributes . . . . . . . . . . . . . . . . . . . . . . . . 1222
Deleting a hyperlink from DFB type attributes. . . . . . . . . . . . . . . . . . . . . . . . . 1223
A.6 Hyperlinks in animation tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1224
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1224
Creating a hyperlink in an animation table . . . . . . . . . . . . . . . . . . . . . . . . . . . 1225
Editing a hyperlink from an animation table . . . . . . . . . . . . . . . . . . . . . . . . . . 1226
Selecting a hyperlink from an animation table. . . . . . . . . . . . . . . . . . . . . . . . . 1227
Deleting a hyperlink from an animation table . . . . . . . . . . . . . . . . . . . . . . . . . 1228

23
A.7 Hyperlinks in runtime screens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1229
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1229
Creating a hyperlink from operator screens. . . . . . . . . . . . . . . . . . . . . . . . . . . 1230
Editing a hyperlink in the operator screens . . . . . . . . . . . . . . . . . . . . . . . . . . . 1231
Selecting a hyperlink in an operator screen. . . . . . . . . . . . . . . . . . . . . . . . . . . 1232
Deleting a hyperlink in an operator screen . . . . . . . . . . . . . . . . . . . . . . . . . . . 1233
A.8 Hyperlinks in the documentation folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1234
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1234
Creating a hyperlink in the general information of the project folder . . . . . . . . 1235
Editing a hyperlink in the documentation folder . . . . . . . . . . . . . . . . . . . . . . . . 1236
Deleting a hyperlink in the documentation folder . . . . . . . . . . . . . . . . . . . . . . . 1237
A.9 Hyperlinks and drag-and-drop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1238
Drag/drop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1238

Appendix B User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1241


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1241
Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1242
Anchored window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1243
Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1244
Menu commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1245
Toolbar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1247
Output windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1251
Status bar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1253
Directory Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1254
Data selection boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1257
Dialog boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1258

Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1261

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1279

24
Safety Information
§

Important Information

NOTICE Read these instructions carefully, and look at the equipment to become familiar with
the device before trying to install, operate, or maintain it. The following special
messages may appear throughout this documentation or on the equipment to warn
of potential hazards or to call attention to information that clarifies or simplifies a
procedure.
The addition of this symbol to a Danger or Warning safety label indicates
that an electrical hazard exists, which will result in personal injury if the
instructions are not followed.
This is the safety alert symbol. It is used to alert you to potential personal
injury hazards. Obey all safety messages that follow this symbol to avoid
possible injury or death.

DANGER
DANGER indicates an imminently hazardous situation, which, if not avoided,
will result in death, serious injury, or equipment damage.

WARNING
WARNING indicates a potentially hazardous situation, which, if not avoided, can
result in death, serious injury, or equipment damage.

CAUTION
CAUTION indicates a potentially hazardous situation, which, if not avoided, can
result in injury or equipment damage.

25
Safety Information

PLEASE NOTE Electrical equipment should be serviced only by qualified personnel. No responsi-
bility is assumed by Schneider Electric for any consequences arising out of the use
of this material. This document is not intended as an instruction manual for untrained
persons.
© 2004 Schneider Electric. All Rights Reserved.

26
About the Book

At a Glance

Document Scope This document describes programming a Premium, Atrium or Quantum PLC using
the IEC 61131-3 conforming programming languages Function Block Diagram
(FBD), Ladder Diagram (LD), Sequential Function Chart (SFC), Instruction List (IL)
and Structured Text (ST).
This document is valid for Unity Pro Version 2.0.

Validity Note The data and illustrations found in this document are not binding. We reserve the
right to modify our products in line with our policy of continuous product
development. The information in this document is subject to change without notice
and should not be construed as a commitment by Schneider Electric.

Product Related Schneider Electric assumes no responsibility for any errors that may appear in this
Warnings document. If you have any suggestions for improvements or amendments or have
found errors in this publication, please notify us.
No part of this document may be reproduced in any form or by any means, electronic
or mechanical, including photocopying, without express written permission of
Schneider Electric.
All pertinent state, regional, and local safety regulations must be observed when
installing and using this product. For reasons of safety and to ensure compliance
with documented system data, only the manufacturer should perform repairs to
components.
When controllers are used for applications with technical safety requirements,
please follow the relevant instructions.
Failure to use Schneider Electric software or approved software with our hardware
products may result in injury, damage, or improper operating results.
Failure to observe this product related warning can result in injury or equipment
damage.

27
About the Book

User Comments We welcome your comments about this document. You can reach us by e-mail at
techpub@schneider-electric.com

28
General

I
At a Glance

Subject of this This part presents Unity Pro services and describes the different tools used to
Part manage a project: access rights, save/restore, online/offline mode services, etc.

What's in this This part contains the following chapters:


Part?
Chapter Chapter Name Page
1 General Presentation of Unity Pro 31
2 Programming Language Editors 41
3 Connecting a terminal to a PLC 51
4 Global project management 53
5 Project browser 117
6 Functional modules 165
7 Library Manager 195

29
General

30
General Presentation of Unity Pro

1
Introduction

Overview This chapter describes the general features of a project created using Unity Pro.

What's in this This chapter contains the following topics:


Chapter?
Topic Page
Capabilities of Unity Pro 32
User Interface 35
New Features of Unity Pro 2.0 37

31
General Presentation

Capabilities of Unity Pro

Hardware Unity Pro supports the following hardware platforms:


platforms z Quantum
z Premium
z Atrium

Programming Unity Pro provides the following programming languages for creating the user
languages program:
z Function Block Diagram FBD
z Ladder Diagram (LD) language
z Instruction List IL
z Structured Text ST
z Sequential Control SFC
All of these programming languages can be used together in the same project.
All these languages conform to IEC 61131-3.

Block libraries The blocks that are included in the delivery of Unity Pro extensive block libraries
extend from blocks for simple Boolean operations, through blocks for strings and
array operations to blocks for controlling complex control loops.
For a better overview the different blocks are arranged in libraries, which are then
broken down into families.
The blocks can be used in the programming languages FBD, LD, IL and ST.

Elements of a A program can be constructed from:


program z a Mastertask (MAST)
z a Fast task (FAST)
z one to four Helptasks(AUX)
z sections, which are assigned one of the defined tasks
z sections for processing time controlled events (Timerx)
z sections for processing hardware controlled events (EVTx)
z subroutine sections (SR)

Software The following software packages are available:


packages z Unity Pro M
z Unity Pro L
z Unity Pro XL
z Unity Studio
z Unity Developers Edition (UDE)

32
General Presentation

Performance The following table shows the main characteristics of the individual software
scope packages:
Unity Pro M Unity Pro L Unity Pro XL Studio
Programming languages
Function Block Diagram + + + +
FBD
Ladder Diagram (LD) + + + +
language
Instruction List IL + + + +
Structured Text ST + + + +
Sequential Language + + + +
SFC
Libraries
Standard library + + + +
Control library - - + +
(Premium:
only 57 5••)
(Quantum: all
CPUs)
Communication library + + + +
Diagnostics library + + + +
I/O Management library + + + +
System library + + + +
Motion control drive library + + + +
TCP Open library + + + +
Obsolete library + + + +
General information
Create and use data + + + +
structures and fields
Create and use Derived + + + +
Function Blocks (DFBs)
Project browser with + + + +
structural and/or
functional view
Managing access rights + + + +
Operator screen + + + +
Diagnostic viewer + + + +
System diagnostics + + + +
Project diagnostics + + + +

33
General Presentation

Unity Pro M Unity Pro L Unity Pro XL Studio


Old data converter PL7 PL7 converter PL7 converter PL7
converter Concept Converter Concept converter
Converter Concept
Converter
Managing multi-stations - - - +
Supported platforms
Premium P57 00 All CPUs except: All CPUs All CPUs
P57 10 P57 554
P57 20 P57 5634
Quantum - 140 CPU 311 10 All CPUs All CPUs
140 CPU 434 12 U/A*
140 CPU 534 14 U/A*
* Upgrade using Unity
OS
Atrium PCI 57 204 All CPUs All CPUs All CPUs
Simulator + + + +
Openess
Hyperlinks + + + +
VBA scripts + + + +
VBA IDE - - - +
Software components contained in the software package
XBTL1000 + + + +
PowerSuite + + + +
OFS - - - +
Others - - - Unity Pro
XL
Unity Studio Manager - - - +
Visio2002 Enterprise - - - +
Documentation as context + + + +
help and PDF
EXEC Loader + HW + + + +
Firmware

Legend:
+ = available
- = not available

Naming In the following documentation, "Unity Pro" is used as general term for "Unity Pro
convention M", "Unity Pro L" and "Unity Pro XL".

34
General Presentation

User Interface

Overview The user interface consists of several, configurable windows and toolbars.
User interface:

1 2 3 4

Unity Pro: My_Project


File Edit View Services Tools Generate PLC Debug Window Help
RUN STOP

Project Browser LD My_Section [MAST]


3 4
Structural View 1 2 3 4 5
Station Initial filling
Configuration 1
0 : XBus
Cabinet Start cycle Alarm Cycle OK
010 Data Editor
Derived Data 2 / S
Derived FB Variables DDT Temp selection PID OK
Variables & FB
Communicatio Filte 3 S
Program Name
count count ok valid count
Tasks
Name P
MAST 4
Sections Filling up
SFC process Mixer
Unused End of
Actions Initial .8.5(5)
Transition Inital filling .8.2(2)
OR_BOOL
SFC filling feeding AND_BOOL
SFC Mixing
emptying IN1 OUT1
IN1 OUT1 IN2
ST Proportionin
Proportioni IN2

IL Process: IL1
010 Data SFC MY_SFC... LD MY_LD... fbd MY_FBD...

Generat Import/
Ready OFFLINE MBT:127.0.0 NOT BUILT

5 6 7

35
General Presentation

Legend:
Number Description
1 Menu bar (See Main or pulldown menus, p. 1244)
2 Toolbar (See Toolbar, p. 1247)
3 Project Browser (See Project browser, p. 117)
4 Editor window (programming language editors, data editor, etc.)
5 Register tabs for direct access to the editor window
6 Information window (See Output windows, p. 1251) (provides information about
errors which have occurred, signal tracking, import functions, etc.)
7 Status bar (See Status bar, p. 1253)

36
General Presentation

New Features of Unity Pro 2.0

Hot Standby New features of Modicon Quantum Hot Standby with Unity:
z Contains both a Copro and a CPU in the same unit, allowing faster processing
z Faster processing of user data because only the CPU processes user data
z Copro processes communications data allowing the CPU to process only user
data
z Using the Mismatch Override feature, upgrade the Standby's EXEC while the
process is controlled by the Primary.
z Allowing different Application Programs in Primary and Standby using the Logic
Mismatch feature
z The Logic Mismatch feature allows for different application programs in the
Primary and Standby.
z Configure Standby from Primary using Application Program Transfer feature

Language New language editor features include:


Editors z General:
z Zoom to fit (See Zoom to Fit, p. 386) is updated when the section window is
resized.
z You can display FFBs in an alphabetically ordered list independent of the
library in which they are located. This feature is available in dialogs for
selecting FFBs, e.g., Data selection (See FFB Selection Dialog box,
p. 734), Function input assistant (See Function Input Assistant, p. 740),
and Type library browser.
z The new Help on type button allows you to launch the help for the selected
FFB. This feature is available in dialogs for selecting FFBs, e.g., Data
selection (See FFB Selection Dialog box, p. 734), Function input
assistant (See Function Input Assistant, p. 740), and Type library
browser.
z You can use the new Data Properties (See Data Properties, p. 742) dialog
to display and modify variable properties and to edit objects directly in the
language editor.
z You can define new variables directly from the language editor. This means
each time a new variable name is entered by you (e.g., in a text section (See
Entering undeclared variables and declaring them immediately, p. 716), at a
contact (See Assigning actual parameters, p. 489), on an FFB (See Assign
undeclared variables to a pin, p. 425)), a dialog that allows the variable to be
defined appears.
z In the Search/Replace (See Search data in project, p. 769) tool a
compressed view is available.
z Input of REAL and TIME literals has been simplified (See Assigning literals to
a pin, p. 428).

37
General Presentation

z In the graphical editors, the current bookmark (See Using bookmarks, p. 382)
is marked.
z Printing of project documentation (See Documentation, p. 1131) has been
improved.
z LD (ladder diagram):
z Zoom to fit (See Zoom to Fit, p. 386) behavior has been changed.
z New behavior of Mixed Display Mode (See View for variables, p. 473).
z The navigation with the keyboard (See Navigating with the Keyboard, p. 475)
has been improved.
z You can use the FFB link function (See Placing horizontal and vertical links
using FFB links with the mouse, p. 556) to create boolean links.
z You can use the FFB input assistant (See Calling an FFB via the FFB input
assistant, p. 514) to create new FFBs.
z You can use the new Go To (See Go to dialog box, p. 399) dialog to find
positions, bookmarks, or labels in your section.
z FBD (function block diagram):
z You can use the FFB input assistant (See Calling an FFB via the FFB Input
Assistant., p. 418) to create new FFBs.
z The new Go To (See Go to dialog box, p. 399) dialog allows you to easily
find positions, bookmarks and labels in your section.
z SFC (sequential function chart):
z You can create SFC sections in online mode.
z You can delete SFC steps (See Deleting objects, p. 576) in online mode.
z The new Go To (See Go to dialog, p. 592) dialog allows you to easily find
positions, bookmarks, steps, and jumps.
z IL (instruction list):
z The new Go To (See Go to dialog box, p. 679) dialog allows you to easily
find positions, bookmarks, and labels.
z ST (structured text):
z The new Go To (See Go to dialog box, p. 679) dialog allows you to easily
find positions, bookmarks, and labels.

38
General Presentation

Libraries New functions and function blocks:


z New Type-to-Type FFBs in the Base Library:
z REAL_AS_WORD
z TIME_AS_WORD
z UDINT_AS_WORD
z WORD_AS_REAL
z WORD_AS_TIME
z WORD_AS_UDINT
z New error registration FFBs in the Diagnosis Library:
z REGEXT
z UREGDFB
z New Sysclock Family FFB in the System Library:
z R_NTPC
z New Lexium parameters management FFBs from Lexium Family in the Motion
Library:
z LXM_RESTORE
z LXM_SAVE

CANopen Premium and Atrium PLCs could be used as a CANopen Master with the PCMCIA
card TSX CPP 110.
CANopen is a very powerful fieldbus that was originally developed for onboard
automobile systems. It is now used in a wide range of areas.

IO Objects tab Use the IO Object (See I/O Objects tab, p. 745) tab to manage the module’s I/O
objects, a bus device, or a PLC's memory object.

PL7 converter The PL7 converter could now convert PL7 application into Unity Pro V2.0 projects
which use CANopen TSX CPP 110 PCMCIA cards, or Fipio PLC or LXM_SAVE/
LXM_RESTORE function . . ..

STA new file For archiving projects, we could now use a new file format. We explain the
format relationship between STA files and some services supplied by the Unity Pro
software:
z STA file and Offline mode (See Opening an Archived Project, p. 82)
z STA file and Upload information (See Update of Upload Information, p. 104)
z STA file and operating screens (See Image Tab, p. 1029)
z STA file and hyperlinks (See Description of the Hyperlink Comment Window,
p. 1204)

PLC and The compatibility rules between PLC firmware and Unity Pro versions are described
software in this area.
compatibility

39
General Presentation

Fipio FIPIO is a field bus that is used to centralize inputs/outputs of a PLC station and its
industrial peripherals nearest to the section which is operating.
From Premium/Atrium station whose processor has a built-in FIPIO link, the FIPIO
bus is used to connect from 1 to 127 devices such as:
z TBX remote input/output modules
z IP67 remote input/output modules
z Momentum remote input/output modules
z ATV drives
z Lexium drives
z Hirschman transceivers
z AS-i slaves with Fipio/AS-i gateway

New Processors The following table presents the new processors available:
Type Product reference
Premium TSX P57 0244
TSX P57 104
TSX P57 1634
TSX P57 154
TSX P57 254
TSX P57 354
TSX P57 454
TSX P57 4634
TSX P57 554
Atrium TSX PCI57 354
Quantum 140 CPU 671 60

USB Key license If you decide to transfer the Unity Pro license to another terminal you can use:
transfer z a floppy disk
z the network
z USB flash memory

On-line On-line modification of the application-specific module configuration is available.


modification

Backup memory Some PLCs allow you to save the project (See Project backup, p. 107) program
contained in the executable zone of the PLC in the backup memory TSX MFP B
096K.

40
Programming Language Editors

2
Introduction

Overview This chapter describes the different programming languages provided by Unity Pro.

What's in this This chapter contains the following topics:


Chapter?
Topic Page
Function Block Diagram FBD 42
Ladder Diagram (LD) language 44
General information about SFC sequence language 46
Instruction List IL 49
Structured Text ST 50

41
Programming Language Editors

Function Block Diagram FBD

Introduction The FBD editor is used for graphical function block programming according to IEC
61131-3.

Representation Representation of an FBD section:

EN Input ENO Output Inversion ST Expression


Inspection window Link
1 2 3
Variable AND OR AND
cond EN ENO EN ENO EN ENO Error1
IN1 IN1 A<B Result1
%QX4.2.3
Comment TRUE %IX1.5.4 C=D
1 %IX1.5.5

Execution number
Literal Topological Link Crossing
Addresses 4
XOR
EN ENO Error2
5
AND Result2
Tooltip IN4
cond1 EN ENO
IN2 VarX
IN3
E1061 Undefined Symbol

Objects The objects of the FBD (Function Block Diagram) programming language help to
divide a section into a number of:
z Elementary Functions (EFs),
z Elementary Function Blocks (EFBs)
z Derived Function Blocks (DFBs)
z Procedures
z Subroutine calls
z Jumps
z Links
z Actual Parameters
z Text objects to comment on the logic

42
Programming Language Editors

Properties FBD sections have a grid behind them. A grid unit consists of 10 coordinates. A grid
unit is the smallest possible space between 2 objects in an FBD section.
The FBD programming language is not cell oriented but the objects are still aligned
with the grid coordinates.
An FBD section has 300 horizontal grid coordinates (=30 grid units) and 230 vertical
grid coordinates (=23 grid units).
The program can be entered using the mouse or the keyboard.

Input aids The FBD editor offers the following input aids:
z Toolbars for quick and easy access to the desired objects
z Syntax and semantics are checked as the program is being written.
z Incorrect functions and function blocks are displayed in blue
z Unknown words (e.g. undeclared variables) or unsuitable data types are
marked with a red wavy line
z Brief description of errors in the Quickinfo (Tooltip)
z Tabular display of FFBs
z Actual parameters can be entered and displayed as symbols or topological
addresses
z Different zoom factors
z Tracking of links
z Optimization of link routes
z Display of inspection windows

43
Programming Language Editors

Ladder Diagram (LD) language

Introduction The LD editor is used for graphical ladder diagram programming according to IEC
61131-3.

Representation Representation of an LD section:


Left Power Rail
Topological
Right Power Rail
Addresses

%IX1.5.6 %IX1.5.5 %QX2

%IX1.5.6

Execution number Coil


Inspection window
Contact Variable
Function
8 Error
%IX1.5.6 XOR %QX4.2.3 Error
Comment
EN ENO
%Q2 VarX
IN1 OUT
%Q3 E1061 Undefined Symbol
IN2

Tooltip

44
Programming Language Editors

Objects The objects of the LD programming language help to divide a section into a number
of:
z Contacts,
z Coils,
z Elementary Functions (EFs)
z Elementary Function Blocks (EFBs),
z Derived Function Blocks (DFBs)
z Procedures
z Control elements
z Operation and compare blocks which represent an extension to IEC 61131-3
z Subroutine calls
z Jumps
z Links
z Actual Parameters
z Text objects to comment on the logic

Properties LD sections have a background grid that divides the section into lines and columns.
The LD programming language is cell oriented, i.e. only one object can be placed in
each cell.
LD sections can be 11-64 columns and 17-2000 lines in size.
The program can be entered using the mouse or the keyboard.

Input aids The LD editor offers the following input aids:


z Objects can be selected from the toolbar, the menu or directly using shortcut keys
z Syntax and semantics are checked as the program is being written.
z Incorrect objects are displayed in blue
z Unknown words (e.g. undeclared variables) or unsuitable data types are
marked with a red wavy line
z Brief description of errors in the Quickinfo (Tooltip)
z Tabular display of FFBs
z Actual parameters can be entered and displayed as symbols or topological
addresses
z Different zoom factors
z Tracking of FFB links
z Optimizing the link routes of FFB links
z Display of inspection windows

45
Programming Language Editors

General information about SFC sequence language

Introduction The sequence language SFC (Sequential Function Chart), which conforms to IEC
61131-3, is described in this section.
IEC conformity restrictions can be lifted through explicit enable procedures.
Features such as multi token, multiple initial steps, jumps to and from parallel strings
etc. are then possible.

Representation Representation of an SFC section:


S_4_1
Link
Initial Step

T1
Transition condition
(Boolean Variable)
Parallel branch
S_4_2 S_4_5

Step

T_4_2 Alternative branch


%I10.1 VarX %I10.3
Transition condition
(return value of a E1061 Undefined Symbol
Transition section)
S_4_3 S_4_6 S_4_9 S_4_7
Jump

T_4_3
%I10.4 %I10.5

Transition condition Alternative joint


>
S_4_4 S_4_7 (Topological Boolean address)

Parallel joint

1
Transition condition (Boolean Literal)
MS_4_1
Macro Step

Return_Var

46
Programming Language Editors

Objects An SFC section provides the following objects for creating a program:
z Steps
z Macro steps (embedded sub-step sequences)
z Transitions (transition conditions)
z Transition sections
z Action sections
z Jumps
z Links
z Alternative sequences
z Parallel sequences
z Text objects to comment on the logic

Input aids The SFC editor offers the following input aids:
z Toolbars for quick and easy access to the desired objects
z Automatic step numbering
z Direct access to actions and transition conditions
z Syntax and semantics are checked as the program is being written.
z Incorrect objects are displayed in blue
z Unknown words (e.g. undeclared variables) or unsuitable data types are
marked with a red wavy line
z Brief description of errors in the Quickinfo (Tooltip)
z Different zoom factors
z Show/hide the allocated actions
z Tracking of links
z Optimization of link routes

47
Programming Language Editors

Step properties Step properties:

Step Properties
General Actions Comment
Step name StepX Initial Step
Supervision times and delay
'SFCSTEP_TIMES' Literals
Maxim
Minimu
Delay t#1s

Step Properties
General Actions Comment
Tim Action
Identifi Literal OK
Variable Cancel
VariableApply Section
Help
D Motor1 ..

DS Motor1 Accept
New
Delete
Up
Down
Init Search for selected variable...

OK Cancel Apply Help

The step properties are defined using a dialog box that offers the following features:
z Definition of initial steps
z Definition of diagnostics times
z Step comments
z Allocation of actions and their identifiers

48
Programming Language Editors

Instruction List IL

Introduction The IL editor is used for instruction list programming according to IEC 61131-3.

Representation Representation of an IL section:

Label Operators Operands Comments Inspection window

START: LD VarA (* Key 1 *) VarA


ANDN VarB (* and not key 2 *) %I4.2.3
Comment
ST VarC (* Ventilator On *)
LD VarX (* Undeclared Variable *) Tooltip
E1061 Undefined Symbol

Objects An instruction list is composed of a series of instructions.


Each instruction begins on a new line and consists of:
z An operator
z A modifier if required
z One or more operands if required
z A label as a jump target if required
z A comment about the logic if required.

Input aids The IL editor offers the following input aids:


z Syntax and semantics are checked as the program is being written.
z Keywords and comments are displayed in color
z Unknown words (e.g. undeclared variables) or unsuitable data types are
marked with a red wavy line
z Brief description of errors in the Quickinfo (Tooltip)
z Tabular display of the functions and function blocks
z Input assistance for functions and function blocks
z Operands can be entered and displayed as symbols or topological addresses
z Display of inspection windows

49
Programming Language Editors

Structured Text ST

Introduction The ST editor is used for programming in structured text according to IEC 61131-3.

Representation Representation of an ST section:

Operator Operand Comment


Instruction
D := B*B - 4*A*C ; (* Basis Calculation *)
IF D < 0.0 THEN NROOTS := 0 ;
ELSIF D = 0.0 THEN
Inspection window NROOTS := 1 ;
X1 := -B / (2.0*A) ;
ELSE Expression
X1 NROOTS := 2 ;
%QF4.2.3 X1 := (-B + SQRT(D)) / (2.0*A) ;
Comment X2 := (-B - SQRT(D)) / (2.0*A) ;
END_IF ;
Tooltip Varx := 15; (* Undeclared Variable *)
E1061 Undefined Symbol

Objects The ST programming language works with "Expressions".


Expressions are constructions consisting of operators and operands that return a
value when executed.
Operators are symbols representing the operations to be executed.
Operators are used for operands. Operands are variables, literals, function and
function block inputs/outputs etc.
Instructions are used to structure and control the expressions.

Input aids The ST editor offers the following input aids:


z Syntax and semantics are checked as the program is being written.
z Keywords and comments are displayed in color
z Unknown words (e.g. undeclared variables) or unsuitable data types are
marked with a red wavy line
z Brief description of errors in the Quickinfo (Tooltip)
z Tabular display of the functions and function blocks
z Input assistance for functions and function blocks
z Operands can be entered and displayed as symbols or topological addresses
z Display of inspection windows

50
Connecting a terminal to a PLC

3
Methodology for connecting from a PC to a PLC

At a Glance To program a Premium or Quantum PLC using Unity Pro software, it is necessary
to observe certain rules described in the following paragraphs.

Procedure The table below describes how to connect from a PC to a PLC.


Step Action
1 Physically connect your PLC to your computer using the appropriate cables:
For Quantum the possibilities are as follows:
z Modbus cable, product reference 990 NAA 263 20,
z Modbus Plus cable, product reference UNY XCA 42 020,
z Crossed Ethernet cable, product reference 490 NTC 000 05 (1),
z USB cable, product reference UNY XCA USB 033.
For Premium the possibilities are as follows:
z Terminal port cable, product reference TSX PCX 1031 (RS 232/RS 485),
z Terminal port cable, product reference TSX PCX 3030 (USB/RS 485),
z Crossed Ethernet cable, product reference 490 NTC 000 05 (1),
z USB cable, product reference UNY XCA USB 033.
(1) for a PC-PLC link the cable must be a crossed cable, whereas for PC-Hub or PLC-
Hub link you must use a straight-through cable.
2 Check that for the chosen communication protocol, the Driver corresponding to your
operating system is correctly installed.
Note: The documentation on drivers describes the various drivers available according to
the operating system. For example, for the PC to be able to use an X-Way address on
an Ethernet network, you must install the XIP driver.
3 Verify in the toolbar that the simulator icon is unchecked.
4 Choose the address of the PLC (See Accessing a PLC via a network, p. 91) to which you
want to connect and the type of link (See Connection solutions, p. 94) using the PLC →
Set Address... command.
5 Connect by selecting the command: PLC → Connection
Result: You can now perform all the operations available on line, set the PLC to RUN or
to STOP, download projects, or make program modifications, etc.

51
PC<->PLC connection

52
Global project management

4
At a Glance

Subject of this This chapter introduces the various tools used for project management: security and
Chapter user access rights management, project creation, project backup, transfer of the
project to the PLC, management of the user memory, etc.

What's in this This chapter contains the following sections:


Chapter?
Section Topic Page
4.1 Access security management 54
4.2 Project management 76

53
Project management

4.1 Access security management

At a Glance

Subject of this This section introduces the tools used to manage security for a project.
Section

What's in this This section contains the following topics:


Section?
Topic Page
Unity Pro access security management 55
Access security editor 57
User information 58
User information 60
User profile 63
Security rules 68
Recovery procedures after a fault 70
Access rights 71

54
Project management

Unity Pro access security management

At a Glance A security configuration tool lets you limit and control access to the software's
different functionalities.

Note: protected access to the software is optional.

Unity Pro access security concerns the terminal on which the software is installed
and not the project, which has its own protection system.
A log file can be used to keep a chronological record of the various operations
carried out by users with access to the software.

Super user The super user is the only person with rights to manage access security for the
software. The super user defines the list including the names of users who can
access the software and their access rights.
During installation of the software on the station, only the super user can access the
security configurator without any limitation of rights (without a password).

Note: The user name reserved for the super user is Supervisor.

The super user has the following rights. He can:


z create or modify the user list,
z create or modify user profiles,
z modify the rules for software access security,
z modify his password.

Users Software users are defined in the list of users by the super user, if Unity Pro access
security is active. If your name is in the user list, you can access a software instance
by entering your name (exactly as it appears on the list) and your password.

A super user has the following rights. He can:


z access the rights defined by his user profile in read mode,
z modify his password.

User profile The profile for a user comprises all of his access rights. It is defined by a name (2
to16 characters), an optional comment (maximum of 256 characters) and a list of
access rights. Unity Pro provides 5 preconfigured user profiles that cannot be
modified. To complete this list, the super user can create all the personalized profiles
that he requires.

55
Project management

Preconfigured Unity Pro provides the following 5 user profiles:


user profiles
Profile Description
ReadOnly The user can only access the project in read mode, with the
exception of the PLC address, which can be modified. He can
also copy or download the project.
Operate The user has the same rights as with a ReadOnly profile, with
the added possibility of modifying execution parameters
(constants, initial values, task cycle times, etc.).
Adjust The user has the same rights as with an Operate profile, with
the added possibility of uploading a project (transfer to the
PLC) and modifying the PLC operating mode (Run, Stop, ...).
Debug The user has the same rights as with an Adjust£££ profile, with
the added possibility of using the debugging tools.
Program The user has the same rights as with a Debug profile, with the
added possibility of modifying the program.

Default user When the software access security is active, the super user can authorize a given
profile user to open a software instance, without having to enter his name and password.
In this case, this user will have a default profile.

Log information Security editor log information is managed by the Microsoft Windows Event viewer.
generated by the If you want to display the log information you must launch the Event viewer. Here
Security Editor you can filter according to all the server sequentialevents.
You can use all the Event viewer functions, like sort, filter etc.

Confirmation If this option is chosen by the super user, you must enter your name and password
each time secure access is defined for a user action.

Multiple If several Unity Pro instances are executed at the same time on a terminal, each of
instancing the instances provides access to the functionalities defined by the rights of the user
who created the instance. However, the Unity Pro access method used (inactive
security or type of active security) is identical for all the instances.

56
Project management

Access security editor

At a Glance The access security editor is used to define users of the software and their access
rights. It also allows you to define actions which will be protected (user name and
password) and which will be stored in the log file.

Launching the Execute the following commands to launch the access security editor:
access security
Step Action
editor.
1 Activate the access security editor icon by clicking Start → Programs →
Schneider Electric → Unity pro to display the following dialog box:

Enter your user name and password ?

Name: | OK
Password: Cancel

2 Enter your name and password.


3 Confirm with OK.
4 If you are a user (See Users, p. 55), you can access the User information screen
(See At a Glance, p. 58) which allows you to consult your user profile or to
modify your password.
5 If you are the super user (Supervisor) (See Super user, p. 55), you launch the
access security editor (See User information, p. 58), which allows you to
manage security for access to Unity Pro.

57
Project management

User information

At a Glance This tab in the access security editor can be accessed by all users. It is used to
perform the following functions:
z modify one's password. Users, including the super user, can modify only their
own passwords,
z consult one's profile and the associated user rights.

User information The User Information screen is shown below. It shows the user's name and
tab features the 2 areas Password and Profile(s):

Security Editor
FP
FPW

User Information Users Profiles Security Rules

Name: Supervisor

Password

New password:

Confirm new
password:

The password can contain between 2 and 16


characters, including spaces, or remain blank. Apply

Profile(s)

Product: Unity Pro XL

Profile:
Display profile

OK Cancel Help

58
Project management

Description of Password field,


the parameters
Parameter Description
New password: Data entry field for the new password: 2 to 16 characters. This
field can be empty (no characters entered).
Confirm the new Confirmation field for the new password. The contents of this
password field must be identical to that of the New password field.
Apply Command used to apply the new password.
Note: The new password will be entirely acknowledged only if it
is validated with the OK command. Clicking Cancel cancels
acknowledgment of the new password.

Profile(s) field
Parameter Description
Product Used to choose the product for which you would like to consult
your user profile: in our case, Unity Pro.
Profile Shows the name of your user profile for the product.
Display profile Use this command to display all of the access rights included in
your user profile.

59
Project management

User information

At a Glance This tab in the access security editor can only be accessed by the super user (See
Super user, p. 55). It is used to perform the following functions:
z modify the user list,
z assign a profile to each user,
z import/export information for one or more users.

Users tab The Users screen is shown below. It features the User(s) and Profile areas:

Security Editor
FP
FPW

User Information Users Profiles Security Rules


Users

supervisor Add
user_Adjust
user_Debugr
user_Operate Delete
user_Program
user_ReadOnly
Export

Import

Profile

Product: Unity Pro XL

Profile:

Apply

OK Cancel Help

60
Project management

Description of Users field


the parameters
Parameter Description
Users field List of users with access to Unity Pro. The name of the super
user is supervisor.
This field also proposes preconfigured users (See
Preconfigured user profiles, p. 56):
z user_Adjust,
z user_Debug,
z user_Operate,
z user_Program,
z user_ReadOnly.
Add Command used to add a new user to the list.
Delete Command used to delete the selected user(s) from the list.
Export Command used to export the information (name and profiles) of
the selected user(s) to a file. Passwords are not exported.
Import Command used to import the information (name and profiles) of
the selected user(s) from a file. If a user is already on the list, a
warning message is displayed.

Profiles field
Parameter Description
Product Used to choose the product whose user profile you would like
to define.
Profile Used to choose the profile that will be assigned to the selected
user.
Apply Command used to apply the profile assignment. The profile will
be entirely acknowledged only if it is validated with the OK
command. Clicking Cancel cancels assignment of the profile.

61
Project management

Adding a user Use the Add command to display the following dialog box:

Add a User

User name:

Password:

Confirm password:

With the following attributes:


supervisor

The username and password can contain between 2 and 16


characters, including spaces.
The password is not compulsory.

OK Cancel

2 data entry fields are provided:


Parameter Description
User name This field is used to enter the name of the new user (2 to 16
characters). If the name entered is not correct, or if it exists
already, a warning message is displayed.
Password Data entry field for the password: 2 to 16 characters. This field
can be empty (no characters entered).
Confirm password Confirmation field for the password. The contents of this field
must be identical to that of the Password field.
With the following Field used to select the user whose attributes you would like to
attributes retrieve.

62
Project management

User profile

At a Glance This tab in the security editor can be accessed only by the super user (See Super
user, p. 55). It is used to perform the following functions:
z add or delete a profile in the list,
z read and modify the access rights associated with a profile,
z import/export information for one or more user profiles.

User Profiles tab The Profiles icon screen is shown below. It features the Product and Profiles
areas:

Security Editor
FP
FPW

User Information Users Profiles Security Rules

Product: Unity Pro XL

Profiles

Adjust Insert
Debug
Operate
Program Delete
ReadOnly

Edit

Export

Import

OK Cancel Help

63
Project management

Description of Product area


the parameters
Parameter Description
Product Used to specify the product whose user profile you would like to
access.

Profile area
Parameter Description
Profiles field List of user profiles associated with Unity Pro.
Add Command used to add a new user profile to the list.
Delete Command used to delete one or more selected user profiles
from the list. If you delete a profile from the list, users with this
profile will now have the default profile.
Preconfigured user profiles cannot be deleted from the list.
Edit Command used to modify access rights associated with the
selected user profile.
Export Command used for exporting to a file the information (name and
profiles) of the selected user profile(s).
Import Command used for importing from a file the information (name
and profiles) of the selected user profile(s). If a user profile is
already on the list, a warning message is displayed.

64
Project management

Adding a user Use the Add command to display the following dialog box:
profile
Add Profile

Add profile:

With the following attributes:

Program

The profile name can contain between 2 and 16 characters, including


spaces.

OK Cancel

2 data entry fields are provided:


Parameter Description
Add profile: This field is used to enter the name of the new user profile (2
to16 characters). If the name entered is not correct, or if it exists
already, a warning message is displayed.
With the following Field used to choose the user profile whose attributes you
attributes: would like to retrieve.

65
Project management

Modifying a user Use the Edit command to display the following dialog box:
profile
Edit Profile

Tool: Unity Pro XL

Profile: My_Profile

Description:

List of access rights

Access right Log Confirm


Create a new project Yes Yes
Open an existing project Yes Yes
Save a project Yes Yes
Save as a project Yes Yes
Import a project Yes Yes
Build off-line Yes Yes
Build on-line stop Yes Yes
Build on line run Yes Yes
Start, stop or initialize the PLC Yes Yes
Update init values with current values Yes Yes
Transfer project from PLC Yes Yes
Transfer project to PLC Yes Yes

Activated/Deactivated Audit Yes/No Confirm Yes/No

OK Cancel

66
Project management

4 areas are provided for display or data entry:


Parameter Description
Tool Shows the name of the product that you selected in the
previous screen.
Profile Shows the user profile name that you selected in the previous
screen.
Description This data entry field is used to associate a comment with the
user profile modification.
List of access rights This list displays the access rights associated with the selected
user profile.
z Access rights: list of access rights associated with the user
profile.
z Activated/Deactivated: this option is used to activate/
deactivate a designated right for the current profile:
z to activate the right, select Access right in the list. Then
click Activated/Deactivated: a selection mark appears,
z to deactivate the right, select Access right in the list.
Then click Activated/Deactivated: the selection mark
disappears.
z Audit Yes/No: when this option is active, it enables an
operation to be stored in the log file.
To activate/deactivate the option for the corresponding
access right:
z select Access right in the list,
z then click Activated/Deactivated.
z Confirm Yes/No: for an operation to require confirmation,
you must activate this option.
To activate/deactivate the option for the corresponding
access right:
z select Access right in the list,
z then click Confirm Yes/No.

Note: You can view the access rights associated with a preconfigured profile, but
you cannot modify them.

67
Project management

Security rules

At a Glance This tab in the security editor can be accessed only by the super user. It is used to
perform the following functions:
z determine the security rules associated with a product,
z define the default profile,
z activate/deactivate the Log file option,
z activate/deactivate the Confirmation option.

Security rules The Policies screen is shown below. It proposes the Security policy field:
tab
Security Editor
FP
FPW

User Information Users Profiles Security Rules

Product: Unity Pro XL


Access rules

Security off

Security on, unavoidable login


Security on, avoidable login

Security on, access without login

User profile: ReadOnly

Log Confirm

OK Cancel Help

68
Project management

Description of The following table describes the screen parameters:


the parameters
Parameter Description
Product Used to choose the product whose security rules you would like
to define. In our case, Unity Pro.
Access rules Used to define Unity Pro access rules:
z Security off: security is deactivated. You have direct
access to Unity Pro. This is the default setting.
z Security on, unavoidable login: security is active. To
access Unity Pro, it is mandatory that you enter your name
and password, which will determine your profile.
z Security on, avoidable login: security is active. To access
Unity Pro, enter your name and password. In this case, you
will have your user profile. You can also access Unity Pro
without entering your password: in this case you will have
the default user profile.
z Security on, access without login: security is active, but
you have direct access to Unity Pro. The profile then is the
default profile.
When security is deactivated, the Log file and Confirmation
options are also deactivated.
User profile Used to define the default user profile.
Log Used to activate or deactivate the Log file option (this option is
only available if security is active).
If this box is checked, a log file will be created to store Unity Pro
user events.
Confirm Used to activate or deactivate the Confirmation option.
If this box is checked, you must enter your name and password
each time secure access is defined for a user action (See User
profile, p. 63).

Note: The Log file and Confirmation options are not associated with a user, but
apply globally to all Unity Pro products.

69
Project management

Recovery procedures after a fault

At a Glance The access security editor is used to control access to Unity Pro. If a problem
occurs, (access attempted by an illegal user, loss of password, etc.), you must follow
the recovery procedure corresponding to the problem.

Access by an If a user is not recognized by the access security editor and if security is active, there
unknown user are 2 possibilities:
z access is configured with a non-mandatory login (Security on, avoidable
login): in this case, the unknown user can access Unity Pro with the default
profile,
z access is configured with a mandatory login (Security on, unavoidable login):
in this case, the unknown user cannot access Unity Pro.

If the database of the access security editor is damaged or deleted, access to Unity
Pro is forbidden, even if security is not active (Security off).

Loss of If you have forgotten your password, the procedure to follow differs depending upon
password whether you are a user or a super user:
z if you are a user, you must contact the super user. The super user cannot directly
change your password, but he can delete you from the user list and recreate your
entry (without a password).
z if you are the super user, you must reinstall Unity Pro, choosing a customized
installation: only install the access security editor.

Database To protect the database against possible damage, a backup file is created during
protection installation. This hidden file can only be accessed in read mode. It enables the
database to be restored when a fault occurs.

Note: The backup file is maintained and used if the database is damaged. If the
automatic procedure fails, then you must recommence the installation procedure.

70
Project management

Access rights

At a Glance Unity Pro access rights are classified in the following categories:
z project services,
z adjustment/debugging,
z libraries,
z global modification,
z elementary modification of a variable,
z elementary modification of DDT compound data,
z elementary modification of a DFB type,
z elementary modification of a DFB instance,
z bus configuration editor,
z input/output configuration editor,
z runtime screens.

71
Project management

Project services The access rights for this category are as follows:
Access right Description
Create a new project You can create a new project.
Open an existing project You CANopen an existing project.
Save a project You can save the project.
SaveAs a project You can copy the project.
Import a project You can import a project. Partial import is considered to
be a program modification.
Build off-line You can launch generation of the executable in offline
mode.
Build on-line STOP You can launch generation of the executable in online
mode, with the PLCs powered down.
Build on-line RUN You can launch generation of the executable in online
mode, with the PLCs powered up.
Start, stop or initialize the PLC You can command the PLC (power up, power down,
initialization).
Update init values with current You can copy the current values to update the initial
values values.
Transfer project from PLC You can transfer the executable program from the PLC
to the terminal.
Transfer data init values from You can transfer the initial values from the PLC.
PLC
Transfer project to PLC You can transfer the executable program from the
terminal to the PLC.
Transfer data values from file to You can transfer data from a file to the PLC.
PLC
Transfer data values from file to You can transfer data from the PLC to a file.
PLC
Restore project backup in PLC You can restore backup memory contents in the PLC
executable area.
Save to project backup in PLC You can save the project program in the backup
memory.
Set address You can access a PLC via the network.
Modify options You can modify project attributes.

72
Project management

Adjustment/ The access rights for this category are as follows:


Debugging
Access right Description
Modify variable values You can modify the value of the variables.
Force internal bits You can force internal bits.
Force outputs You can force outputs.
Force inputs You can force inputs.
Task management You can command execution of project program tasks
(power up, power down; initialization).
Task cycle time modification You can modify cycle time for cyclical tasks.
Suppress message in viewer You can delete the message displayed in the viewer.
Debug the executable You can debug the executable program.
Replace a project variable You can replace all occurrences of one variable in the
program by another.

Libraries The access rights for this category are as follows:


Access right Description
Create libraries or families You can create libraries or families of user functions.
Delete libraries or families You can delete libraries or families of user functions.
Put an object into library You can insert an object in a library.
Delete an object from library You can delete an object from a library.
Get an object from a library You can import an object from a library to the project.

Global The access rights for this category are as follows:


modification
Access right Description
Modify the documentation You can modify the documentation.
Modify the functional view You can create, delete, or modify a functional module.
Modify the animation tables You can modify the structure of the animation tables
(not the values).
Modify constants value You can modify the value of the project constants.
Modify the program structure You can modify the executable code structure (add/
delete a section; modify the activation conditions for a
section, modify section order.)
Modify program sections You can modify the executable code for a section.
Modify project settings You can modify the generation options.

73
Project management

Elementary The access rights for this category are as follows:


modification of a
Access right Description
variable
Variable add/remove You can add or delete a variable.
Variable main attributes You can modify a variable's name, type, and address.
modifications
Variable minor attributes You can modify the comment and the initial value for a
modifications variable.

Elementary The access rights for this category are as follows:


modification of
Access right Description
DDT compound
data DDT add/remove You can add or delete a compound data item.
DDT modifications You can modify the structure, comment and initial value
for a compound data item.

Elementary The access rights for this category are as follows:


modification of a
Access right Description
DFB type
DFB type add/remove You can add or delete a DFB type.
DFB type structure modification You can modify the structure of a DFB type.
DFB type sections modification You can modify the code section of a DFB type.

Elementary The access rights for this category are as follows:


modification of a
Access right Description
DFB instance
DFB instance modification You can add, delete, or modify (name and type) a DFB
instance.
DFB instance minor attributes You can modify the comment and the initial value for a
modification DFB instance.

Bus The access rights for this category are as follows:


configuration
Access right Description
editor
Modify the configuration You can modify the configuration.
I/O sniffing You can carry out bus configuration sniffing.

74
Project management

Input/output The access rights for this category are as follows:


configuration
Access right Description
editor
Modify the I/O configuration You can modify the input/output configuration.
Adjust the I/O You can adjust inputs/outputs.
Save_param You can save the module input/output parameters
explicitly (initial parameter values are replaced by their
current values).
Restore_param You can restore the module input/output parameters
explicitly (initial parameter values replace their current
values).

Runtime The access rights for this category are as follows:


screens.
Access right Description
Modify screens You can modify the runtime screens.
Modify messages You can modify the runtime messages.
Add/remove screens or families You can add or delete a runtime screen.

75
Project management

4.2 Project management

At a Glance

Subject of this This section introduces the tools used for project management.
Section

What's in this This section contains the following topics:


Section?
Topic Page
Access to Unity Pro software 77
Services in Offline Mode 79
Services in online mode 87
Connection / disconnection 89
Accessing a PLC via a network 91
Overview of types of connection possible with Schneider PLCs 94
Accessing communication parameters 96
Project comparison 99
Transferring the project between the terminal and the PLC 100
Update of Upload Information 104
Sending a command to the PLC 106
Project backup 107
Transferring data between a file and the PLC 109
Transferring current values 112
Memory usage 113

76
Project management

Access to Unity Pro software

At a Glance It is possible to launch several instances of Unity Pro simultaneously on the same
station. However, the access method is identical for all instances and depends on
whether or not the security option has been enabled:
z if security is active, clicking on the Unity Pro icon calls up a login dialog box which
is used to access Unity Pro,
z if security is inactive, you have direct access to Unity Pro.

Security inactive If security is inactive, execute the following commands to launch an instance of Unity
or active in Pro:
no login mode
Step Action
1 Click Start → Programs.
2 Select the group Schneider Electric.
3 Select the group Unity Pro.
Result: A list appears,
z Language selection,
z OS Loader,
z PLC Simulator,
z Readme,
z Registration Tool,
z Types library Update,
z Unity Pro L or XL.
4 From the list, select Unity Pro L or XL.
Result: Unity Pro is launched in the selected language.
Special case:
If you have not yet registered the software, a message warns you of the number
of days of use left, and asks you whether you want to register (see Unity Pro
installation manual).

77
Project management

Other cases When security is active (See Access security management, p. 54), execute the
following commands to launch an instance of Unity Pro:
Step Action
1 Activate the Unity Pro icon: see procedure below.
Result: The dialog box Enter your user name and password is displayed.

Enter your user name and password ?

Name: OK
Password: Cancel

2 Enter your name and password (if necessary).


3 Confirm with OK.

78
Project management

Services in Offline Mode

At a Glance When you access Unity Pro software in offline mode, you can carry out the following
operations:
z Create a new project,
z Open an existing project (STU),
z Open an archived project (STA),
z Convert a PL7 or Concept application,
z Export a project (See Exporting a global project, p. 1181),
z Import a project (See Importing a global project, p. 1182),
z Analyze a project,
z Archive a project,
z Generate a project,
z Save a project in a new file or in an existing file,
z Close a project,
z Exit Unity Pro.

79
Project management

Creating a To create a new project, carry out the following actions:


Project
Step Action
1 Activate the New command in the File menu.
Result: the New Project screen appears.
New Project

PLC Version Description OK


Premium 02.00 Premium
Dev Legacy 02.00 Dev Legacy 32 Cancel
Dev Legacy 02.00 Dev Legacy 32 without Fipio Help
Dev Legacy 02.00 Dev Legacy 32 without I/O
HE Proto 02.00 HE Proto Ethernet
HE Proto 02.00 HE Proto Fipio..
Integrated 02.00 CPU 2 slots with integrated PS
TSX P57 02.00 57-0, 128Kb Program, CANopen
TSX P57 02.00 57-1, 224Kb Program, Unitelway
TSX P57 02.00 57-1, 224Kb Program, Fipio, Unitelway
TSX P57 02.00 57-1, 224Kb Program, Ethernet-TCP/
TSX P57 02.00 57-2, 768Kb Program, Unitelway
TSX P57 02.00 57-2, 768Kb, Program, Fipio, Unitelway
TSX P57 02.00 57-2, 768Kb, Program, Fipio, Unitelway
TSX P57 02.00 57-3, 1.75Mb, Program, Unitelway
TSX P57 02.00 57-3, 1.75Mb, Program, Fipio,
TSX P57 02.00 57-3, 1.75Mb, Program, Ethernet-TCP/

2 Select the processor you wish to use from those proposed.


3 Confirm with OK.

80
Project management

Opening a To open an existing project, carry out the following actions:


Project
Step Action
1 Choose the Open command from the File menu.
2 Select the file related to the project (file *.STU).
3 Confirm with Open.

Opening a project also restores the Unity Pro context, which was saved when the
project was closed. This involves:
z The list of open tools,
z For each tool: its window's size, position, contents and animation status,
z taskbar and tool configuration.

The context file is a companion file to the <Project_name>.STU file. It is saved in the
same directory with the name <Project_name>.CTX.

Note: When a project file is selected, the software provides a certain amount of
information: the project name, associated comment, version and date the project
was generated, PLC targeted by the project, and date of last modification to the
source code.

Note: The STU file is a work file and it cannot be used to switch from one version
to another of Unity Pro software. In this case, you should use the export function in
the project and create an XEF file or use the archive format (STA file).

81
Project management

Opening an To open a project archived in STA format, carry out the following actions:
Archived Project
Step Action
1 Choose the Open command from the File menu.
2 Select the file related to the project (file *.STA).
3 Confirm with Open.

An STA file is a project archive file that can be accessed using the Archive
command in the File menu.
The properties of the STA file are the following:
z The STA file is very compressed (approximately 50 times more so than the STU).
It is used to transfer projects to networks (local or Internet, for example).
z The STA file can be used to transfer projects between versions of Unity Pro
software (for example, between version 1.1 and version 1.2. For version 1.0, only
the XEF file can be used to switch to version 1.1).
z The STA file contains the entire project:
z The PLC binary,
z The Upload information: comments and animation tables,
z The operator screens.

Note: When an STA file is selected, the software provides a certain amount of
information: the project name, associated comment, version and date the project
was generated, PLC targeted by the project, and date of last modification to the
source code, as well as the version of Unity Pro used to create this archive.

Note: as the file is very compressed, loading takes much longer than for an STU
file. This is why we recommend that you use the STA file to archive the project and
the STU file as the actual work file.

Converting an To convert an existing PL7 or Concept application, carry out the following actions:
Existing PL7 or
Step Action
Concept
Application 1 Choose the Open command from the File menu.
2 Select the file related to the application:
z *.FEF or *.DFB, to launch the conversion procedure for a PL7 application,
z *.ASC, to launch the conversion procedure for a Concept application.
3 Confirm with Open.

82
Project management

Shortcuts to To simplify access to your current project(s), the software provides a shortcut for
Recent Projects accessing the last 4 projects used. To do this:
Step Action
1 In the File menu, activate the shortcut to the project you would like to open.

Archiving a To archive a project in STA format, carry out the following actions:
Project
Step Action
1 Select the Archive command from the File menu.
2 If necessary, select the directory where the project will be stored (disk and path).
3 Enter the file name.
4 Confirm with Save.

The properties of the STA file are the following:


z The STA file is very compressed (approximately 50 times more so than the STU).
It is used to transfer projects to networks (local or Internet, for example).
z The STA file can be used to transfer projects between versions of Unity Pro
software (for example, between version 1.1 and version 1.2. For version 1.0, only
the XEF file can be used to switch to version 1.1).
z The STA file contains the entire project:
z The PLC binary,
z The Upload information: comments and animation tables,
z The operator screens.

Note: When an STA file is selected, the software provides a certain amount of
information: the project name, associated comment, version and date the project
was generated, PLC targeted by the project, and date of last modification to the
source code, as well as the version of Unity Pro used to create this archive.

Note: As the file is very compressed, loading takes much longer than for a STU
file. This is why we recommend that you use the STA file to archive the project and
the STU file as the actual work file.

Note: Archiving is possible only if the project was generated and when the Upload
information (See Choice of configuration parameters for project generation ,
p. 363) has been included, when it contains at least the comments.

83
Project management

Analyzing a To analyze the syntax of your project, carry out the following actions:
Project
Step Action
1 Activate the Analyze project command in the Build menu.
Result: the software analyzes the project.
2 Any errors detected are displayed in the information window at the bottom of
your screen.

Analyzing and To analyze and generate your project at the same time (generation of links between
Generating a input/output modules and declared objects in the project, etc.), carry out the
Project following actions:
Step Action
1 Activate the Rebuild All Project command in the Build menu.
Result: the software analyzes and generates the project.
2 Any errors detected are displayed in the information window at the bottom of
your screen.

Analyzing and To analyze and generate only the modified parts of your project, carry out the
Generating following actions:
Modified Project
Step Action
Parts
1 Activate the Build Project command in the Build menu.
Result: the software analyzes and generates the modified parts of your project.
2 Any errors detected are displayed in the information window at the bottom of
your screen.

Note: The Build Project command can be executed only if the Rebuild All
Project command has been executed at least once previously.

84
Project management

Backing up a To back up a new project, carry out the following actions:


New Project
Step Action
1 Activate the Save or Save As command in the File menu.
2 If necessary, select the directory where the project will be stored (disk and path).
3 Enter the file name.
4 Confirm with Save.

Note: If the size of your project exceeds the capacity of one floppy disk, a dialog box with the
instruction to insert a new disk will be displayed onscreen. Follow this procedure until backup
of the entire project has been completed.
To simplify the task, we recommend that you have several blank floppy disks on hand, which
you have formatted and numbered in the order that they will be inserted into the drive.

Backing up an To back up your modifications, carry out the following actions:


Existing Project
Step Action
1 Select the Save command from the File menu.

Closing a Project To close your project, carry out the following actions:
Step Action
1 Activate the Close command in the File menu.
2 If you have modified your project, a dialog box is displayed with the message that
you must save your project.
3 Save your project or close it without saving changes.

Note: Closing a project triggers saving the current context in the file <Project_name>.CTX
(See Opening a Project, p. 81).

Exiting Unity Pro To exit Unity Pro, carry out the following actions:
Step Action
1 Activate the Exit command in the File menu.
2 If you have modified your project, a dialog box is displayed with the message that
you must save your project.
3 Save your project or exit it without saving changes.

85
Project management

86
Project management

Services in online mode

Programming You can access the project in the PLC in online mode in the following two ways:
and monitoring z Programming, the PLC is reserved by the terminal; it is possible to access all the
modes functions of the software. It is not possible to connect in programming mode to a
PLC that is already reserved.
z Monitoring, the PLC is not reserved by the terminal; it is only possible to access
the read-only and animation functions. It is possible to connect in monitoring
mode to a PLC that is already reserved.

Note: The command Tools → Options...Connection tab lets you choose the
default operating mode (See Connection options, p. 376).

Equal or On connection, the data in the PLC and the terminal is compared (See Choice of
Different Modes configuration parameters for project generation , p. 363):
z if the data is identical, this determines an equal online mode (See Equal online
mode, p. 89),
z if the data is different, this determines a different online mode (See Different
online mode, p. 89).

Information in Two types of information are compared between the PLC and the terminal:
the PLC z Executable information is used to identify and execute the project in the PLC:
z identification of the project,
z configuration,
z code sections,
z DDT types,
z DFB types,
z EF and EFB codes,
z project options.
z Upload information:
z project upload information: graphic code for languages with LD contacts and
chart of FBD function blocks, symbols of static and dynamic variables,
z comments: variables, code sections, project, DFBs, etc.,
z animation tables.

87
Project management

User functions The user functions provided in online mode that can be accessed from the PLC
menu are the following:
Function Description
Connection/Disconnection Connection (change to online mode) or disconnection
(change to offline mode).
Set Address Access to a PLC via the network.
Standard mode Choice of connection with a PLC.
Simulator mode Choice of connection with a PLC.
Compare Comparison of terminal/PLC projects.
Transfer Project to PLC Transfer of the program between the terminal and the PLC.
and Transfer Project from
PLC
Transfer Data from File to Transfer of data between a file and the PLC.
PLC
and Transfer Data from PLC
to File
Run/Stop Sending a command to the PLC.
and Init
Update Upload Information Update the Upload information in the PLC.
Update Init Values with The PLC forces the update of the initial values using current
Current Values values (this applies to the variables with the save attribute).
Project Backup Backs up the project in memory.
Memory Consumption Access to PLC memory usage statistics.
Diagnostics Access to the debug function.

Cancel/Repeat The Cancel/Repeat commands in the Edit menu are not available in the following
cases:
z Deletion of a step or macro-step in online mode.
z Switch from normal view to extended view in SFC debug mode and vice-versa.

88
Project management

Connection / disconnection

At a Glance Connection enables you to change from offline to online mode. On connection, data
in the PLC and the terminal is compared:
z if the information is identical, the online mode is Equal,
z if the information is different, the online mode is Different,
By disconnecting, you can return to offline mode from an online mode.

Equal online On connection to the PLC, Unity Pro runs in Equal online mode when executable
mode files and the Upload information are identical in the PLC and in the terminal.
You can modify the project in the same way as for offline mode. Generating the
executable also automatically triggers loading of modifications to the PLC.
If the project program has been modified in the terminal without regenerating the
executable, only the non-modified parts of the project will be animated.
To animate the entire project once again, you must generate the executable and
update the PLC.

Different online On connection to the PLC, Unity Pro runs in Different online mode when executable
mode files and the Upload information are different in the PLC and in the terminal.
To run in Equal online mode, you must transfer the project between the terminal and
the PLC.
In Different online mode, the animation level is limited to access to located variables
via their topological address. Modification of the program is not authorized.

Connection You must execute the following actions to connect up:


procedure
Step Action
1 On first connection: Click (See Accessing a PLC via a network, p. 91) PLC →
Set Address.
2 Choose the connection mode:
z PLC → Standard mode: to connect to a PLC
z PLC → Simulator mode: to connect to a simulator
3 Click PLC → Connection.

Disconnection You must execute the following actions to disconnect:


procedure
Step Action
1 Click PLC → Disconnection.

89
Project management

Automatic In order to avoid online mode switching automatically to offline mode, without your
disconnection explicit request (which is possible if the process executed by the processor is too
large), you are recommended to increase the Timeout communication parameter
(See Accessing communication parameters, p. 96).

90
Project management

Accessing a PLC via a network

Procedure You must carry out the following actions to access a new PLC via the network:
Step Action
1 Activate the PLC → Set address command, which displays the corresponding
screen.
2 In the Address field, enter the address of the new PLC.
3 In the Media drop-down menu, select the type of communication you wish to use
(See Overview of types of connection possible with Schneider PLCs, p. 94).
4 If you wish, modify:
z the communication parameters (See Accessing communication parameters,
p. 96) using the Communication Parameters buttons in the PLC and
Simulator fields,
z the connection bandwidths (See Procedure for accessing bandwidths, p. 97)
using the Bandwidth button.
5 If you wish, carry out a connection test by clicking the Test Connection button.
6 Confirm with OK.

Set Address The screen that lets you access a new PLC (Set Address) is shown below:
screen

Set Address ?

PLC Simulator
Bandwidth
Address Address

SYS 127.0.0.1 Test Connection

Media Media
OK
UNTLW01 TCP / IP
Cancel
Communication Parameters Communication Parameters
?

91
Project management

Description of The following table describes the Set Address screen.


the parameters
Parameter Description
PLC PLC identification field: current PLC address (by default, the address
of the PLC physically wired to the terminal) and type of communication
chosen.
By clicking the Communication Parameters button you access the
PLC communication parameters (See Procedure for accessing PLC
parameters, p. 96).
Simulator Simulator identification field: address and type of communication
chosen.
By clicking the Communication Parameters button you access the
simulator communication parameters (See Procedure for accessing
simulator parameters, p. 97).
Bandwidth Click the Bandwidth button to display the Connected Mode Services
Bandwidth window onscreen (See Procedure for accessing
bandwidths, p. 97).
Test Connection Button enabling you to execute a connection test without closing the
Set Address screen.

92
Project management

Network address The network address syntax is documented in the Architecture and Communication
syntax Services manual.
The following table describes the various authorized addresses according to the
platforms and media supports.
Platform Support Address syntax
Premium Uni-Telway SCP01 X-Way
Uni-Telway UNTLW01 X-Way
Fipway FIP01, FIP02, X-Way
FPP2001
ISAway ISAWAY01 X-Way
PCIway PCIWAY01, X-Way
PCIWAY02
Ethway ETHWAY01, X-Way
ETHWAY02
XIP XIP01 to XIP09 X-Way
Ethernet IP TCP / IP IP address or
"DNS machine name" **
USB USB implicit; no address is necessary as the
connection is point to point. However, it is
possible to enter an X-Way address when the
PLC is acting as an X-Way router
Modbus Plus MBPLUS01 to Modbus Plus Address
MBPLUS04
Quantum Serial Modbus MODBUS01 to Modbus Slave Number
MODBUS04
Modbus Plus MBPLUS01 to Modbus Plus Address
MBPLUS04
Ethernet TCP / IP IP address;Index ** or
"DNS machine name;Index" **
USB USB implicit; no address is necessary as the
connection is point to point
Simulator Ethernet TCP / IP IP address;Index **
"localhost"
"DNS machine name;Index" **
Legend **: "Index" is the Modbus Plus index stipulated in the Modbus Plus bridge you
want to cross.
Note: You must use quotation marks when the address includes characters other
than figures, full stops or semi colons. These are used to avoid this address being
analyzed syntactically.

93
Project management

Overview of types of connection possible with Schneider PLCs

At a Glance Unity Pro connects up to Premium, Atrium and Quantum PLCs in different ways.
Each type of connection has its own characteristics. The following table provides an
overview of the different possibilities.

Connection The following table shows the different solutions that can be used to connect a PLC
solutions with Unity Pro software:
Type of connection Premium and Atrium Quantum
USB (4) On TSX P57 5634 140 CPU 651 50
140 CPU 651 60
Uni-Telway All processors, via terminal port and -
PCMCIA cards
Modbus - All processors have a
Modbus connection which
can be used by Unity Pro.
XIP (2) Via the following modules: -
z TSX ETY 110
z TSX ETY 4103
z TSX ETY 5103
z TSX ETY PORT
z Ethernet channel of TSX P57 5634
Modbus Plus Via PCMCIA cards TSX MBP 100 (1) 140 CPU 311 10
(2)(5) 140 CPU 434-12A
140 CPU 534-14A
140 CPU 651 50
140 CPU 651 60
TCP/IP (2) Via the following modules: Via the following modules:
z TSX ETY 4103 (1) z 140 NOE 211 x0
z TSX ETY 5103 (1) z 140 NOE 251 x0
z TSX ETY PORT (1) z 140 NOE 771 00
z Ethernet channel of TSX P57 5634 z 140 NOE 771 01
z 140 NOE 771 10
z 140 NOE 771 11
z 140 NOE 771 20
z Ethernet channel of:
140 CPU 651 50
140 CPU 651 60
PCI57 On Atrium processors only: -
z TSX PCI 57 204
z TSX PCI 57 354 (3)

94
Project management

Type of connection Premium and Atrium Quantum


Fipio (2) All PLCs connected to the Fipio bus to -
which the PC running Unity Pro is
connected, as well as all those
accessible via X-Way routers
Fipway (2) All PLCs connected to the Fipway -
network to which the PC running Unity
Pro is connected, as well as all those
accessible via X-Way routers

(1) : Cannot be used to view application-specific screens in online mode.


(2) : Requires a valid application to be installed on the PLC and requires the
communication cards or modules used to be configured correctly.
(3) : These processors are available for Unity Pro versions of V1.0 or higher.
(4) : Caution: In this case it is only possible to connect a single PLC to the USB port
of a PC.
(5) : Programming mode (See Programming and monitoring modes, p. 87) cannot
be accessed via a Modbus Plus network.

95
Project management

Accessing communication parameters

Procedure for You must perform the following actions to access the communication parameters of
accessing PLC the PLC:
parameters
Step Action
1 Access the Set Address screen (See Accessing a PLC via a network, p. 91).
2 Click on the Communication Parameters button in the PLC field to display the
following screen:

PLC Communication Parameters

Request failure recovery


Number of tries: 5

Timeout (ms): 6000

Speed at 115 KBds X Driver Settings

OK Cancel ?

3 Modify the parameters you wish to change:


z Enter the number of attempts you wish to be made for failure recovery in the
Number of tries field.
z Enter the timeout delay to be used for failure recovery in the Timeout (ms)
field:
z For Uni-Telway, the recommended value is: 4000 ms.
z For Modbus ASCII, the recommended value is: 6000 ms.
z Check the Speed at 115 KBds box to increase the project loading speed:
from the configured speed to 115 KBds. This option is only available in Uni-
Telway mode for TSX 57 3•• and TSX 57 4•• processors. For all other types
of processor the Speed at 115 KBds option has no effect.
Note: Click on Driver Settings to display the driver management screen.
4 Confirm with OK.
Note: Any modification to the communication parameters of the PLC will only
actually be taken into account if it is confirmed by clicking OK in the Set Address
screen. Clicking Cancel cancels acknowledgment of any modifications.

96
Project management

Procedure for You must perform the following actions to access the communication parameters of
accessing the simulator:
simulator
Step Action
parameters
1 Access the Set Address screen (See Accessing a PLC via a network, p. 91).
2 Click on the Communication Parameters button in the Simulator field to
display the following screen:
Simulator Communication Parameters

Request failure recovery


Number of tries: 5

Timeout (ms): 3000

OK Cancel ?

3 Modify the parameters you wish to change:


z enter the number of attempts you wish to be made for failure recovery in the
Number of tries field,
z enter the timeout delay to be used for failure recovery in the Timeout (ms)
field.
4 Confirm with OK.
Note: Any modification to the simulator communication parameters will only
actually be taken into account if it is confirmed by clicking OK in the Set Address
screen. Clicking Cancel cancels acknowledgment of any modifications.

Procedure for You may divide up the bandwidth quota allocated to Unity Pro for the selected
accessing communication medium between the different functions available in online mode.
bandwidths This screen is used to define the percentage of bandwidth allocated to each of the
4 categories of functionality in online mode:
z Animation Support: animation tables, operator screens, animation of language
editors, application-specific screens. The higher the percentage allocated, the
higher the frequency with which the data in the PLC will be scanned.
z PLC Monitoring: monitoring of the overall operating mode of the PLC (Run or
Stop), or of its tasks for the "Program debugging" function. The higher the
percentage allocated, the higher the frequency with which the state of the PLC
and its tasks will be scanned.
z PLC Screen (PLC debug screen): the higher the percentage allocated, the higher
the frequency with which the PLC and application information will be scanned.
z Diagnostics (Diagnostic Viewer). The higher the percentage allocated, the
higher the frequency with which the alarms in the PLC will be acquired.

97
Project management

This screen is used to optimize performance in online mode, by adjusting the


parameters to suit:
z the characteristics of the project loaded onto the PLC: numerous and frequent
diagnostics alarms, many animation screens open at once
z and the use made of online mode: the most frequently used functions.
Procedure:
Step Action
1 Access the Set Address screen (See Accessing a PLC via a network, p. 91).
2 Click on the Bandwidth button to display the following screen:

Connected Mode Services Bandwidth

Bandwidth sharing
Freeze Percentage

Animation Support: 70

PLC Monitoring: 10

PLC Screen: 10

Diagnostics: 10

OK Cancel Default ?

3 Using the sliders, adjust the parameter values to suit the characteristics of your
project and the functions you use most frequently in online mode.
4 Click on the Default button if you want to revert to the default values.
5 The Freeze option is used for fine adjustment (in increments) of the parameters
to suit the characteristics of the project loaded in the PLC.
It is used to retain the value of a parameter once the response time of the
corresponding function has been determined, and then adjust only the
parameters corresponding to the other functions.
6 Confirm with OK.
Note: Any modification will only actually be taken into account if it is confirmed
by clicking OK in the Set Address screen. Clicking Cancel cancels
acknowledgment of any modifications.

98
Project management

Project comparison

At a Glance Project comparison provides you with a concise overview of the possible differences
between a project embedded in the PLC and a project in the terminal. For each
project, the following information is displayed:
z Name,
z Version,
z Last build: date and time the executable was last generated.

Procedure You must perform the following actions to launch project comparison:
Step Action
1 Activate the PLC → Compare command, which displays the screen below.
PC <--> PLC Comparison

The PC and PLC projects are DIFFERENT.

PC Project PLC Project

Name: Station Name: Station

Version: 0.0.0 Version: 0.0.0

Last 05/04/02 11:51:33 Last 29/03/02 17:04:14


build: build:

Transfer project to PLC Transfer Project from PLC OK

2 Confirm with OK.

Different If the projects are different, 2 commands let you carry out a transfer between the
projects terminal and the PLC or vice versa, thus changing to Equal online mode:
z Transfer Project to PLC, transfer the project from the terminal to the PLC,
z Transfer Project from PLC, transfer the project from the PLC to the terminal.

Note: When the transfer is not possible, the corresponding button is grayed out (for
example, the Transfer Project from PLC command is grayed out when the project
embedded in the PLC is invalid or when information required for uploading is
missing or invalid).

99
Project management

Transferring the project between the terminal and the PLC

At a Glance Transferring a project enables you to:


z copy the current project from the terminal to the memory of the current PLC (PLC
whose address is selected),
z copy the embedded project from the current PLC to the terminal. It then becomes
the current Unity Pro project.

Transfer from the You must carry out the following actions to transfer the current project to a PLC:
terminal to the
Step Action
PLC
1 Use the PLC → Set address command to define the current PLC to which you
would like to transfer your project (See Accessing a PLC via a network, p. 91).
2 Change to online mode (See Connection / disconnection, p. 89).
3 Activate the PLC → Transfer Project to PLC command, which displays the
corresponding screen (See Terminal to PLC transfer screen, p. 101).
4 Check the PLC Run after Transfer box if you want the PLC to switch
automatically to Run after the transfer.
5 Activate the Transfer command.
6 If the project has not been generated in advance, the screen below will be
displayed allowing you to generate it before the transfer (Rebuild All then
Transfer) or interrupt the transfer (Cancel Transfer).
Transfer Project to PLC

Project is not built.

Build Project and Transfer Rebuild All and Transfer Cancel Transfer

7 Transfer progress is displayed onscreen. At any moment, you can interrupt the
transfer by using the Esc key. In this case, the PLC project will be invalid.
Note: In the event that the project is transferred to a Flash Eprom memory card,
the transfer can take several minutes.

100
Project management

Transfer from the You must carry out the following actions to transfer the contents of the PLC to the
PLC to the terminal:
terminal
Step Action
1 Use the PLC → Set address command to define the current PLC to which you
would like to transfer your project (See Accessing a PLC via a network, p. 91).
2 Change to online mode (See Connection / disconnection, p. 89).
3 Activate the PLC → Transfer Project from PLC command to display the
corresponding screen (See PLC to Terminal transfer screen, p. 102).
4 Transfer progress is displayed onscreen. At any moment, you can interrupt the
transfer by using the Esc key.

Terminal to PLC The screen used to transfer the project from the terminal to the PLC is shown below:
transfer screen
Transfer Project to PLC

PC Project Overwritten PLC Project

Name: [invalid project] Name: Station

Version: Version: 0.0.0

Last Last 05/04/02 15:40:07


build: build:

Compatibility:

PLC Execute after Transfer

Transfer Cancel

101
Project management

Description of The following table describes the parameters of the Terminal to PLC transfer screen.
the parameters
Parameter Description
PC Project Identification field for the project in the terminal: name, version,
date and time the executable was last generated.
Overwritten PLC Identification field for the project embedded in the PLC: name,
Project version, date and time the executable was last generated. This
project will be overwritten or updated by the transfer.
Compatibility Restriction of compatibility (only for ascending compatibility). The
configuration declared in the current project is slightly different
from the real PLC configuration, but remains compatible.
PLC Run after Transfer If this box is checked, the PLC changes to Run after the transfer.
Transfer Transfer command.
Cancel Command used to cancel the transfer.

PLC to Terminal The screen used to transfer the project from the PLC to the terminal is shown below:
transfer screen
Transfer Project from PLC
Overwritten PC Project PLC Project

Name: Station Name: Station

Version: 0.0.0 Version: 0.0.0

Last 29/03/02 17:04:14 Last 05/04/02 11:51:33


build: build:

Transfer Project from PLC Cancel

102
Project management

Description of The following table describes the parameters of the PLC to terminal transfer screen.
the parameters
Parameter Description
Overwritten PC Project Identification field for the project in the terminal: name, version,
date and time the executable was last generated. This project will
be overwritten or updated by the transfer.
PLC Project Identification field for the project embedded in the PLC: name,
version, date and time the executable was last generated.
Transfer Project from Transfer command: the project is transferred.
PLC
Cancel Command used to cancel the transfer.

Incompatibility During transfer from the terminal to the PLC, incompatibility between the current
during a transfer project and the PLC configuration triggers display of a message.
During transfer from the PLC to the terminal, incompatibility between the project
embedded in the PLC and the version of Unity Pro also triggers display of a
message.

103
Project management

Update of Upload Information

Upload Upload information consists of:


Information z Project upload information: graphic code for languages with LD contacts and
chart of FBD function blocks, symbols of located and unlocated variables,
z Comments: variables, code sections, project, DFBs, etc.,
z Animation tables.
These are always saved when a project backup is performed on the terminal (STU
or STA file), but may or may not be included with the executable code (See Choice
of configuration parameters for project generation , p. 363) when building the project
which is then transferred to the PLC.

Use of Upload Upload information should only be loaded in the PLC where this is strictly necessary,
Information in order to optimize the available memory size and save this for the executable code,
and also to improve the performance of modifications in online mode.

In coding and debug phase, this information is generally present on the


workstation and therefore does not need to be transferred to the PLC, thus achieving
a real gain in performance.

In maintenance and operation phase, this information should be included in the


PLC where the application needs to be restored on empty terminals (i.e. that do not
have the project STU or STA file). However, in addition to the gain in memory space,
the absence of the Upload information also forms a protection against reading and
writing.

Choice of Upload By default, the upload information necessary to rebuild the project program is not
Information embedded in the PLC.
You can choose the information to have embedded:
z The information necessary for uploading the project,
z Comments,
z The animation tables.

The Tools → Project Settings... command in the Build tab is used to choose the
Upload information (See Choice of configuration parameters for project generation
, p. 363) to be taken into account.

104
Project management

Update When making modifications in online mode, it is possible to choose between 2


modes of updating the Upload information:
z Automatic update; in which case the update of Upload information is implicit on
each build,
z Update on user request; in which case the update is performed explicitly, by the
clicking PLC → Update Upload Information.

The way in which upload information is updated is chosen in the options screen (See
General Options, p. 374), accessible by clicking the Tools → Options command in
the General tab.

Note:
The upload information is updated implicitly whenever a terminal project is
transferred to the PLC (where this is included with the executable code).
On connection, a message asks you to confirm the update of the Upload
information, if this has not already been performed.

105
Project management

Sending a command to the PLC

At a Glance The Run/Stop and Init commands enable the project to be controlled from the
terminal when it is stored on a target PLC:
z Run/Stop launches or stops execution of the project,
z Init initializes the project.

Procedure You must perform the following actions to control the PLC:
Step Action
1 Use the PLC → Set address command to define the target PLC that you wish
to control (See Procedure, p. 91).
2 Change to online mode.
3 Activate the PLC → Run/Stop command to launch or stop execution of the
project or the PLC → Init command to initialize the project.
4 Confirm the command.

106
Project management

Project backup

At a Glance Certain PLCs allow you to save the project program contained in the executable
zone (RAM) of the PLC in the backup memory zone.
The available backup memory card is the TSX MFP B 096K.
The backup memory can be restored to the executable zone of the PLC:
z automatically when the PLC powers up, if the project program is invalid,
z explicitly using a Unity Pro command.

Note: The backup function is not available when the project is already being
executed on a RAM or EPROM memory card.

Comparison You can compare your project with the one contained in the backup memory. To do
this, perform the following actions:
Step Action
1 Activate the command PLC → Project backup → Compare....
Result: A dialog box appears informing you of the result of the comparison.

Backup memory You must perform the following actions to restore the contents of the backup
card → RAM memory to the executable zone of the PLC:
transfer
Step Action
1 Set the WP switch on the backup memory card to ON.
2 Insert the backup memory card into the PLC.
3 Activate the command PLC → Project backup → Restore....
Result: A command confirmation screen is displayed.
4 Confirm with OK.

Note: The PLC must be stopped to restore the backup memory.

107
Project management

RAM → backup You must perform the following actions to transfer the project program to the backup
memory card memory:
transfer
Step Action
1 Set the WP switch on the backup memory card to OFF.
2 Insert the backup memory card into the PLC.
3 Activate the command PLC → Project backup → Save....
Result: A command confirmation screen is displayed.
4 Confirm with OK.
5 Remove the backup memory card from the PLC.
6 Set the WP switch on the backup memory card to ON.

Clearing You must perform the following actions to clear the backup memory:
procedure
Step Action
1 Set the WP switch on the backup memory card to OFF.
2 Insert the backup memory card into the PLC.
3 Activate the command PLC → Project backup → Clear....
Result: A command confirmation screen is displayed.
4 Confirm with OK.

108
Project management

Transferring data between a file and the PLC

At a Glance The data transfer function allows you to store the value of the following data in a file:
z Boolean-type located data: %Mi,
z word-type located data: %MWi,
z unlocated variables,
z function block instances.

Note: For unlocated variables and function block instances, transfer to the PLC of
data saved in the file will be possible if and only if:
z the project for which the data has been saved is the same as that which is going
to receive the data,
z there is no change to the memory zone in which the saved data was located.
The memory zone is modified when you:
z use the Rebuild all Project command,
z modify the types of variables or existing variables and then click the Build
Project command,
z delete the types of variables or existing variables and then click the Build
Project command.

Procedure for You must perform the following actions to transfer the data from the PLC to a file:
saving PLC data
Step Action
1 Activate the PLC → Transfer Data from File to PLC command, which displays
the corresponding screen (See Data transfer screen for transfers to file, p. 111).
2 Using the checkboxes, select the data type(s) to be transferred. For located data
you must also define the range of data to be transferred by entering the start and
end address of the range.
3 Define the path and the name of the file to which the data is to be saved.
4 Confirm with OK.

Note: The PLC may be stopped or in operation. If the PLC is in Run, reading the
data from the PLC may take more than one cycle and the data may be
desynchronized.

109
Project management

Procedure for You must perform the following actions to transfer the data from a file to the PLC:
restoring data to
Step Action
PLC
1 Activate the PLC → Transfer Data from PLC to File command, which displays
the corresponding screen.

Savechoice
File As for Transfer Data from File to PLC ?

Search in:
Save in: Com. Unity Pro
Demo_

appli_station.dat

File name: | Open


Save

Savetype:
File as type: WizardPro
Unity files (*.iwz)
data files (*.DAT) Cancel

2 Select the file to be transferred to the PLC.


3 Confirm with OK.
4 If the PLC is in Run, a transfer confirmation screen is displayed allowing you to
stop the PLC before performing the transfer (Stop), to perform the transfer while
the PLC is still operating (Continue) or to interrupt the transfer (Cancel).

Data transfer confirmation

The PLC is currently in Run mode. You can choose to


stop the PLC to make the transfer faster and safer,
continue in Run mode or cancel the operation.

Stop Continue Cancel

Note: If the PLC is operating (Run) when the transfer is performed, writing the
data to the PLC may take more than one cycle and the data may be
desynchronized.

110
Project management

Data transfer The PLC to file data transfer screen is shown below:
screen for
transfers to file

Transfer Data from PLC to File

Content

%M From: To:

%MW From: To:

Unlocated variable instances

Function block instances (DFB_EFB)

To file
Browse...

OK Cancel Help

Description of The following table shows the parameters of the PLC to file data transfer screen.
the parameters
Parameter Description
Content This field is used to define the type and range of the data to be
transferred. The checkboxes are used to define the type and the
From: and To: fields are used to define the range for located data.
When the file is restored, this information can only be accessed in
read mode.
To file This field is used to define the path and name of the file.
Browse This key can be used to browse the disk to define the file name and
path.

111
Project management

Transferring current values

At a Glance The current value transfer function is used to replace the initial values of certain
variables with their current values.
This function applies to the variables whose archive bit is set to 1:
z located and unlocated variables,
z for EFBs and DFBs:
z public variables,
z private variables,
z input parameters entered in the form of a value,
z output parameters entered in the form of a value.

Procedure You must perform the following actions to transfer current values into initial values:
Step Action
1 Activate the PLC → Update Init Values with Current Values command.

112
Project management

Memory usage

At a Glance The memory usage function is used to view:


z the physical distribution of the PLC memory (internal memory and memory card),
z the space taken up in the memory by a project (data, program, configuration,
system).
It can also be used to reorganize the memory where possible.

Procedure You must perform the following actions to access the memory usage details of the
PLC:
Step Action
1 Activate the PLC → Memory Consumption: command, which displays the
corresponding screen. The memory usage statistics of a project can only be
accessed if you have generated its executable in advance.
2 If you want to reorganize the memory to optimize it, activate the Pack command.

113
Project management

Memory usage The memory usage screen of a PLC with a memory card and data storage is shown
screen below. If the PLC does not have a memory card, only the information relating to the
internal memory is displayed.

Memory Usage
User data Internal memory Cartridge A
360 Kb 1792 Kb
Data 8528 bytes

Declared Data 3840 bytes


26.1 %

User program

Constants 544 bytes

Executable code 1984 bytes


87.4 %
Upload information 3232 bytes
71.4 %

Other

Configuration 208 bytes

System 74944 bytes

Diagnostics 0 bytes < 0.05


2.3 % 0.1 %
0.5 % 0.2 %
Data Storage 1310720 bytes
< 0.05
9.7 %
2.1 %
Memory available

Total Total
322352 bytes 479216 bytes

Maximum Maximum
321712 bytes 479216 bytes
Close Pack Help
Fragmentation 1.4 % Fragmentation 0.0 %

114
Project management

Description of The following information fields are available:


the parameters
Parameter Description
User data This field indicates the memory space (in words) taken up by user data
(objects relating to configuration):
z Data: located data associated with the processor (%M, %MW, %S,
%SW, etc.) or the input/output modules,
z Declared Data: unlocated data (declared in the data editor).
User program This field indicates the memory space (in words) taken up by the project
program:
z Constants: static constants associated with the processor (%KW) and
the input/output modules; initial data values,
z Executable code: executable code of the project program, EFs, EFBs
and DFB types,
z Build information: Upload information for uploading a project (graphic
code of languages, symbols, etc.).
Other This field indicates the memory space (in words) taken up by other data
relating to the configuration and the project structure:
z Configuration: other data relating to configuration (Page0 for a
Quantum PLC, hardware configuration, software configuration),
z System: data used by the operating system (task stack, catalogs, etc.),
z Diagnostic: information relating to process or system diagnostics,
diagnostics buffer,
z Data storage: file and data storage.
Internal This field shows the organization of the PLC's internal memory. It also
memory indicates the memory space available (Total), the largest possible
contiguous memory space (Greatest) and the level of fragmentation.
Memory Card A This field shows the organization of the memory card. It also indicates the
memory space available (Total), the largest possible contiguous memory
space (Greatest) and the level of fragmentation.
Pack This command is used to reorganize the memory structure.

Memory re- Memory re-organization is activated using the Pack command.


organization Memory re-organization can be performed in online or offline mode (PLC in Run or
Stop).

Note: Certain blocks cannot be moved in online mode. You will attain a lower level
of fragmentation by re-organizing the memory in offline mode.

115
Project management

116
Project browser

5
At a glance

Subject of this This chapter introduces the Unity Pro browser that allows you to move around your
chapter project, via the structure view or function view of its directory tree.

What's in this This chapter contains the following sections:


Chapter?
Section Topic Page
5.1 Introduction to the project browser 118
5.2 Introduction to the various directories of the project browser 139
5.3 Summaries of the utilities associated with the structure view 159
and function view

117
Project browser

5.1 Introduction to the project browser

At a glance

About this sub- This sub-chapter provides general information on the project browser.
chapter

What's in this This section contains the following topics:


Section?
Topic Page
Introduction to the project browser 119
Structural view and functional view of the project 121
The Zoom In and Zoom Out commands 123
The commands Contract all and Expand all 126
The Goto command 129
Project properties 132
Hyperlinks directory 133
Protection of a project 135

118
Project browser

Introduction to the project browser

General points The project browser allows you to display the contents of a Unity Pro project and to
move around its various elements: configuration, data, program, etc. To do this you
can display your project in 2 different ways:
z Structural View,
z Functional View.

Structural view The structural view displays the directory tree of the Unity Pro project and allows you
to navigate within this with direct access:
z to the configuration,
z to the DDT and DFB types,
z to the variables (EDT, DDT, DFB and EFB instances),
z to communication functions,
z to the program,
z to the animation tables,
z to the operator screens,
z to the project documentation (title page, general information).
The following illustration shows the structural view of a project:

Project browser
Structural view

Statio
Configuration
Derived Data Types
Derived FB types
Variables & FB instances
Communication
Program
Animation tables
Operator Screens
Documentation

By default, the browser displays the second level of the directory tree. To access the
other levels, you need to expand the directories.

Note: The default project directory name is Station. You can change this name by
accessing the project properties dialog box using the Properties command from
the contextual menu.

119
Project browser

Functional view The functional view displays the directory tree of the project, broken down into
functional modules (See Functional modules, p. 165). This breakdown does not
take into account the order of execution of the program by the PLC.

The following illustration shows the functional view of a project:

Project browser
Functional view

Factory
Washi
Painting
Processing
Conveying

By default, the browser displays the first level of the directory tree. To access the
other levels, you need to expand the directories.

Navigating In the toolbar of the project browser you will find the following icons that allow you to
between the display the various project views:
functional view
Allows you to display the structural view of the project.
and structural
view.

Allows you to display the functional view of the project.

Allows you to display the structural view and the functional view in series (See
Display of both views in series, p. 121).

Allows you to display the structural view and the functional view in parallel (See
Display of both views in parallel, p. 122).

120
Project browser

Structural view and functional view of the project

At a Glance The project browser allows you to simultaneously display the structural view and
functional view of the project. You can choose to display these views:
z in series. Both views are displayed, one next to the other,
z in parallel. Both views are displayed, one above the other.

Display of both The following illustration shows a series display of the structural view and functional
views in series view:

Project browser
Structural view Functional view

Station Factory
Configuration Washing
Program
Derived Data Types
Table
Derived FB types Screen
Variables & FB instances
Valve
Communication
Painting
Program
Tasks Processing
Program
MAST
ST Production
Sections
Table
ST Initialization
Screen
ST Processing
Conveying
SR Sections
Program
Events
Table
Animation tables
? Line1
? Conveying: Line1 Screen
Operator screens
Washing: Valve
Documentation

121
Project browser

Display of both The following illustration shows a parallel display of the structure and functional
views in parallel views:

Project browser
Structural view

Station
Configuration
Derived Data Types
Derived FB types
Variables & FB instances
Communication
Program
Tasks
Events
Animation tables
? Conveying:
Operator Screens
Washing: Valve
Documentation

Functional view

Factory
Washing
Program
Table
Screen
Valve
Painting
Processing
Program
ST Production
Table
Screen
Conveying
Program
Table
? Line1
Screen

122
Project browser

The Zoom In and Zoom Out commands

At a Glance In the functional view and structural view of the project browser, you can display a
specific directory tree level by using the Zoom In command. You can apply this
command in a level below the one you are in. This command is no longer available
once you cannot expand the tree structure any further.
The Zoom Out command allows you to go back to the previous display of the project
browser.

Note: The following steps show how to use the Zoom In and Zoom Out
commands with a structural view. These steps can also be used with a functional
view.

123
Project browser

Displaying a The following table shows you how to use the Zoom in command in the structural
specific level of view:
the directory tree
Step Action
1 In the project browser select the directory you wish to display (for example Program).
Result: The element selected appears in reverse video.
2 Activate the Zoom In command from the Display menu or from the contextual menu.
Result: Only the directory selected appears in the structural view (for example
Program):

Structural view

Program
Tasks
MAST
Sections
ST Faults
ST Factory: Initialization
SR Sections
ST SR0
Events
Timer Events
I/O Events

3 From the directory (for example Program) select the directory (for example
Sections) that you wish to display.
Result: The element selected appears in reverse video.
4 Activate the Zoom In command from the Display menu or from the contextual menu.
Result: Only the directory selected appears in the structural view (for example
Sections):

Structural view

Sectio
ST Faults
ST Factory: Initialization

124
Project browser

Returning to the The following table shows you how to use the Zoom Out command in the structural
structural view of view:
the project
Step Action
1 In the project browser select the directory from the structural view.
Result: The element selected appears in reverse video.
2 Activate the Zoom Out command from the Display menu or from the contextual

menu or by clicking on the icon.

Result: The structural view appears along with the directory tree of the project.

Returning to The following table shows you how to use Zoom Out command in a lower level of
directory tree the directory tree of the structural view:
level
Step Action
1 In the project browser select the directory from the structural view (for example
Sections).
Result: The element selected appears in reverse video.
2

<None>
Program

Expand the menu using the arrow to the right of the icon.
Result: The menu with the choice of different views appears.
3 In the menu (for example Program) select the structural view to be displayed.
Result: The directory (for example Program) appears in the structural view:

Structural view

Program
Tasks
MAST
Sections
ST Faults
ST Factory: Initialization
SR Sections
ST SR0
Events
Timer Events
I/O Events

Selecting None displays the entire structural view of the project.

125
Project browser

The commands Contract all and Expand all

At a Glance In the functional view and structural view of the project browser, you can display a
specific directory tree level and its sub-directories by using the Expand all
command.
The command Contract all allows you to contract an entire directory.

Note: The following steps show how to use the Contract all and Expand all
commands with a structural view. These steps can also be used with a functional
view.

126
Project browser

How to expand a The following table shows you how to use the Expand all command in the structural
directory view:
Step Action
1 In the project browser select the directory you wish to expand (for example Program).
Result: the element selected appears in reverse video:
Project Browser
Structural View

Statio
Configuration
Derived Data Types
Derived FB Types
Variables & FB instances
Communication
Program
Animation tables
Runtime screens
Documentation

2 Activate the Expand all command from the Display menu or from the contextual
menu.
Result: the selected directory is expanded completely:
Project Browser
Structural View

Statio
Configuration
Derived Data Types
Derived FB Types
Variables & FB instances
Communication
Program
Tasks
MAST
Sections
ST Faults
ST Factory: Initialization
SR Sections
ST SR0
Events
TIMER events
I/O Events
Animation tables
Runtime screens
Documentation

127
Project browser

How to contract a The following table shows you how to use the Contract all command in the
directory structural view:
Step Action
1 In the project browser select the directory you wish to contract (for example
Program).
Result: the element selected appears in reverse video:
Project Browser
Structural View

Statio
Configuration
Derived Data Types
Derived FB Types
Variables & FB instances
Communication
Program
Tasks
MAST
Sections
ST Faults
ST Factory: Initialization
SR Sections
ST SR0
Events
TIMER events
I/O Events
Animation tables
Runtime screens
Documentation

2 Activate the Contract all command from the Display menu or from the contextual
menu.
Result: the selected directory is contracted:
Project Browser
Structural View

Statio
Configuration
Derived Data Types
Derived FB Types
Variables & FB instances
Communication
Program
Animation tables
Runtime screens
Documentation

128
Project browser

The Goto command

At a Glance The Goto command allows you to access a desired location in the project browser.
In the functional view or structural view, the levels are not always expanded. The
Goto command allows you to go directly to what you are looking for.

Finding an The following table shows you how to use the Goto command in the structural view
element of the browser:
Step Action
1 Click the right mouse button on the background of the structural view.
Result: The contextual menu appears.

Project browser
Structural view

Statio
Configuration
Derived Data Types
Derived FB types
Variables & FB instances
Communication
Program
Animation tables
Operator Screens
Documentation
Goto crtl+G
Refresh F5

Zoom out

Display modifications

129
Project browser

Step Action
2 Select the Goto command from the menu.
Result: The Go to window appears.

Goto

Location

Communication
Configuration
Documentation
Operator Screens
Events

OK Cancel Next

3 In the window, double-click the element you want to go to.


Result: The element appears shaded in the structural view (Configuration in the
example).

Project browser
Structural view

Station
Configuration
Derived Data Types
Derived FB types
Variables & FB instances
Communication
Program
Animation tables
? Table
Operator Screens
Documentation

4 In the Goto window confirm your choice with OK.

Elements with Where one or more elements have the same name (examples: sections). In the Go
the same name
to window the element appears with a marker. . The Next command in the Go to
window is unshaded. This allows you to pinpoint one by one the different elements
with the same name when the Go to window is active.

130
Project browser

Fast access to an In order to access an element in the window more quickly in the Go to window, you
element can use the Location function. Typing in the first letter of the element gives you
access to the elements beginning with these letters. The following table shows you
how to use the Location function in the structural view of the browser:
Step Action
1 Click the right mouse button on the background of the structural view.
2 Select the Goto command from the menu.
Result: The Go to window appears.

Goto

Location

Communication
Configuration
Documentation
Operator Screens
Events

OK Cancel Next

3 In the Location field type the first letter of the element you want to go to.
Result: The element appears in reverse color in the Go to window.

Goto

Location e

Communication
Configuration
Documentation
Operator Screens
Events

OK Cancel Next

4 In the Go to window confirm your choice with OK.

131
Project browser

Project properties

At a Glance Whichever view is displayed, you can access the project properties by using the
Properties command from the contextual menu (which can be reached by right-
clicking the mouse on the station folder). This gives you access to a dialog box which
allows you to:
z access information on the current project,
z define certain parameters of the project.
The following dialog box can be accessed from the structural view of the project:

Station Properties

General Protection Identification Comment

Name:
Station

Type of file: Unity Pro XL

OK Cancel Apply Help

Description of The dialog box has 4 tabs allowing the actions given below:
the tabs
Tab Description
General Surname: allows you to define the name of the project (Station by default).
Type: indicates the type of Unity Pro software used.
Protection Protection active: by checking this box, you activate the protection of the
sections.
Change Password: allows you to change the password.
Clear Password: allows you to clear the password.
Identification Allows you to identify the project:
z current version with the option of automatic incrementation.
z creation date,
z generation date.
Comment Allows a comment to be associated with the project.

Note: By default, the dialog box is called Station Properties. If you give the project
another name, this dialog box is called "new name" Properties.

132
Project browser

Hyperlinks directory

At a Glance In the Station directory and in all the directories of the project browser, you can
create hyperlinks (See Hyperlinks in Unity Pro , p. 1195) and directories for grouping
of hyperlinks.

Note: You cannot nest a hyperlinks directory in a hyperlinks directory and a hyperlink in a
hyperlink.
The following illustration shows a hyperlink and a hyperlinks directory in the directory
Program :
Project browser
Structural view

Station
Configuration
Derived Data Types
Derived FB types
Variables & FB instances
? Elementary variables
? Derived variables
? I/O derived variables
? Elementary FB instances
? Derived FB instances
Communication
Network
Routing Table
Program
Tasks
MAST
Sections
ST Initialization
ST Processing: Production
Hyperlink
Notes
Hyperlink
Hyperlink
SR Sections
Events
Timer Events
I/O Events
Animation tables
? Conveying: Line1
Operator Screens
Washing: Valve

133
Project browser

Creating a The following table shows you how to create a hyperlinks directory in the structural
hyperlinks view of the browser:
directory
Step Action
1 In the project browser select the directory in which you wish to create a
hyperlinks directory.
Result: The element selected appears in reverse video.
2 Select the Add User Directory.. command from the popup menu.
Result: the User Directory Properties window appears:

Properties of the user directory

General Comment

User name:

OK Cancel Help

3 Give the hyperlinks directory a name in the General tab.


4 In the Comment tab enter the comment associated with the hyperlinks directory.
5 Click OK to confirm your choice.
Result: The hyperlinks directory appears in the project browser.
6 You can now create hyperlinks (See Hyperlinks in Unity Pro , p. 1195) in the
directory provided for this purpose.

134
Project browser

Protection of a project

At a Glance The project protection function is accessible from the Properties screen of the
project in offline mode.
This function is used to protect the program sections.

Note: The protection cannot be activated if there is no password.


The protection is active each time a password-protected project is opened.

135
Project browser

Activation of The following table shows the procedure for activating the protection of sections and
protection and creating the password:
creation of the
Step Action
password
1 In the project browser select the Station directory.
2 Select the Properties command from the popup menu.
3 Select the Protection tab.
Result: The following window appears:

Station Properties
General Protection Indentification Identifiers Comment

Sections
Protection active

Change Password

Clear Password...

OK Cancel Apply Help

4 Activate the protection by checking the Active protection box.


Result: The Change password window appears:

Changing the password

New password:

Enter:

Confirmation:

Cancel OK

5 Enter a password in the Input field.


6 Enter the confirmation of the password in the Confirmation field.
7 Click OK to confirm your choice.

136
Project browser

Notes If a section is configured with a protection (read or read/write), when protection has
been activated this will be indicated by a locked padlock at the section level.
If the section is configured with a protection but the protection is disabled, an open
padlock is displayed at the section level.

Changing the The following table shows the procedure for changing the project protection
password password:
Step Action
1 In the project browser select the Station directory.
2 Select the Properties command from the popup menu.
3 Select the Protection tab.
4 Select the Change Password... button.
Result: The Change password window appears:

Changing the password

Old password:

New password:

Enter:

Confirmation:

Cancel OK

5 Enter the previous password in the Old password field.


6 Enter the new password in the Input field.
7 Enter the confirmation of the new password in the Confirmation field.
8 Click OK to confirm your choice.

137
Project browser

Deleting the The following table shows the procedure for deleting the project protection
password password:
Step Action
1 In the project browser select the Station directory.
2 Select the Properties command from the popup menu.
3 Select the Protection tab.
4 Select the Clear Password... button.
Result: The Access control window appears :

Access control

Password:

Cancel OK

5 Enter the previous password in the Old password field.


6 Click OK to confirm your choice.

138
Project browser

5.2 Introduction to the various directories of the


project browser

At a glance

About this sub- This sub-chapter describes the various directories of the project browser.
chapter

What's in this This section contains the following topics:


Section?
Topic Page
Station Directory 140
Configuration Directory 142
Derived data types (DDT) directory 144
Derived FB (DFB) types directory 145
Variables Directory 147
Communication Directory 149
Program Directory 150
Animation Tables Directory 153
Operator Screens Directory 155
Documentation Directory 158

139
Project browser

Station Directory

At a Glance The Station directory of the structural view allows you to access the structure of the
project and the associated services.
The following illustration shows the Station directory:

Project browser
Structural view

Statio
Configuration
Derived Data Types
Derived FB types
Variables & FB instances
Communication
Program
Animation tables
Operator Screens
Documentation

140
Project browser

Associated The Station directory allows you to access the following services, which can be
services reached via the contextual menu:
Directory Services
Station Export Project: allows you to access export of the global project
(See Exporting a global project, p. 1181).
Properties: allows you to access the properties of the global project.
Configuration allows you to access the hardware configuration (See Configuration
Directory, p. 142) and the parameter settings of the modules.
Derived Data Types allows you to access the DDTs (See Derived data types (DDT)
directory, p. 144).
Derived FB types allows you to access the DFB (See Derived FB (DFB) types directory,
p. 145) types.
Variables & FB allows you to access the variables (See Variables Directory, p. 147)
instances and function block instances.
Communication allows you to access the configuration of the networks (See
Communication Directory, p. 149).
Program allows you to access the project program (See Program Directory,
p. 150).
Animation tables allows you to access the animation tables (See Animation Tables
Directory, p. 153).
Operator Screens allows you to access the operator screens (See Operator Screens
Directory, p. 155).
Documentation allows you to access the documentation (See Documentation
Directory, p. 158).

141
Project browser

Configuration Directory

At a Glance The Configuration directory of the structural view of the project allows you to
access the hardware configuration and the parameter settings of the following
modules: bus, rack, module.
The following illustration shows an example of a directory tree of the Configuration
directory:

Project browser
Structural view

Statio
Configuration
0: X Bus
0: TSX RKY 6EX
(P): TSX PSY 2600M
0 (1): TSX 57304M
2
3
4
2: Fipio
Derived Data Types

Accessible The Configuration directory allows you to access the following services, which can
Services be reached via the contextual menu:
Directory Services
Configuration Import: used to import the configuration (See Import of the input/output
configuration, p. 1161) of the project inputs/outputs (offline mode only).
Import SIS: used to import the configuration (See Import SIS, p. 853) of
a project created using the SIS Automation tool.
Export: used to export the configuration (See Export of the input/output
configuration, p. 1160) of the project inputs/outputs (offline mode only),
Bus Open: used to access the bus editor, X Bus in the above example.
Go to Bus Master: displays the processor in reverse video in the project
navigator, TSX 57304M in the above example.
Rack Open: used to access the bus editor, TSX RKY 6EX in the above
example.
Module Open: used to access the input/output editor (module settings).

142
Project browser

Access From the Configuration directory, you can:


z Configure the PLC rack (See Rack configuration on local bus, p. 812) with:
z a power supply (See Configuration of the power supply modules, p. 815),
z a processor (See Configuration of the processor, p. 817),
z one or more modules (See Configuration of the modules in the PLC station,
p. 819).
z Configure field bus devices (See Configuration of devices on the field bus,
p. 822),
z Access the configuration of the rack elements:
z Premium (See Configuration of Premium processors, p. 836) and Quantum
(See Configuration of the Quantum processors, p. 841) processors,
z modules (See Configuration of the input\output modules for a Premium\Atrium
or Quantum station, p. 847).

143
Project browser

Derived data types (DDT) directory

At a Glance The Derived data types directory of the structural view of the project allows you to
access the DDT types.
The following illustration shows an example of a directory tree of the Derived data
types directory:
Project browser
Structural view

Station
Configuration
0: XBus
2: Fipio
Derived Data Types
pump
valve

Associated The Derived Data Types directory allows you to access the following services,
services which can be reached via the contextual menu:
Directory Services
Derived Data Open: allows you to access the DDT types tab of the data editor (See
Types Presentation of the data editor, p. 213), from which you can:
z create (See Creating a derived datatype (DDT), p. 251) a DDT,
z manage (See Management of Derived Data Types and their elements,
p. 257) a DDT,
Get from Library: allows you read access to one or more DDT types from a
library (See Library Manager, p. 195).
Put in Library: used to archive (See Saving derived datatypes (DDT), p. 267)
all the DDTs in a library (See Library Manager, p. 195).
Export: allows you to access export of all DDT types (See Exporting DDTs,
p. 1168).
Import: allows you to access import of one or more DDT types (See Importing
DDTs, p. 1169).
DDT Open: allows you to access the DDT in the DDT types tab of the data editor.
(Input, Delete: allows you to delete the DDT.
Output, .etc.) Put in Library: allows you write access to the DDT in a library.
Analyze: allows you to analyze (See Analyzing DDT and DFB data types,
p. 294) the DDT.
Properties: allows you to access the DDT properties.
Export: allows you to access export of all DDT types (See Exporting DDTs,
p. 1168).

144
Project browser

Derived FB (DFB) types directory

At a Glance The Derived FB types directory of the structural view of the project allows you to
access the DFB types.
The following illustration shows an example of a directory tree of the Derived FB
types directory:

Project browser
Structural view

Station
Configuration
Derived Data Types
Derived FB types
Motor
Sections
ST ctrl

145
Project browser

Associated The Derived FB types directory allows you to access the following services, which
services can be reached via the contextual menu:
Directory Services
FB Type Open: allows you to access the DFB tab of the data editor (See Creating
a DFB Type, p. 778).
Get from Library: allows you read access to one or more DFB types from
a library (See Library Manager, p. 195).
Put in Library: allows you write access to all DFB types in a library.
Export: allows you to access export of all DFB types (See Exporting DFB
types, p. 1166) of the project.
Import: allows you to access import of one or more DFB types (See
Importing DFB types, p. 1167).
Type de DFB Open: allows you to access the DFB type in the DFB tab of the Data Editor
(Counter, etc.) (See Creating a DFB Type, p. 778).
Delete: allows you to delete the DFB type.
Put in Library: allows you write access to the DFB type in a Library (See
Library Manager, p. 195).
Analyze: allows you to analyze (See Analyzing DDT and DFB data types,
p. 294) the DFB type.
Properties: allows you to access the properties (See How to access the
attributes of a DFB type, p. 787) of the DFB type.
Export: allows you to access export of the DFB type (See Exporting DFB
types, p. 1166).
Sections New Section: allows you to create a new section (See Accessing
Sections, p. 329) in the DFB type.
Section XX Open: allows you to access the section (See Accessing Sections, p. 329)
program language editor.
Delete: allows you to delete the section.
Properties: allows you to access the properties (See Properties dialog
box for FBD, LD, IL or ST sections, p. 333) of the section.

146
Project browser

Variables Directory

At a Glance The Variables & FB instances directory of the structural view of the project is used
to access the variables (EDT, DDT, IODDT)and the function block instances(EFB,
DFB).
The following illustration shows an example of the Variables & FB instances
directory:

Project browser
Structural view

Station
Configuration
Derived Data Types
Derived FB types
Variables & FB instances
? Elementary variables
? Derived variables
? I/O derived variables
? Elementary FB instances
? Derived FB instances

Accessible The Variables & FB instances directory allows you access to the following
Services services, which can be reached via the contextual menu:
Directory Services
Variables & FB instances Open: used to access the variables editor,
Export: used to access the export of all variables (See
Exporting variables, p. 1170) of the project,
Import: used to access the import of all variables (See
Importing variables, p. 1172) of the project.
Elementary variables Open: used to access the tab corresponding to the variables
Derived variables editor,
I/O derived variables Export: used to access the export of all variables (See
Elementary FB instances Exporting variables, p. 1170) of the family selected (EDT,
Derived FB instances DFB, etc.) .

147
Project browser

Access From the Variables & FB instances directory, you can access the different tabs of
the data editor:
z Variables tab,
z Create (See Creating variable instances of type EDT, p. 220) a data instance,
z Create (See Creating an IODDT data instance, p. 230) an IODDT type data
instance,
z Modify (See Changing variable instance attributes, p. 242) attributes of data
instances.
z DDT Types tab,
z Create (See Creating a derived datatype (DDT), p. 251) a data instance,
z Archive (See Saving derived datatypes (DDT), p. 267) DDTs in a library (See
Library Manager, p. 195),
z Function blocks tab,
z Create (See Creating a variable instance from function blocks (EFB/DFB),
p. 270) a data instance,
z Modify (See Changing the attribute for variable instances in a function block,
p. 275) attributes of data instances.
z DFB Types tab,
z Create (See Creating a DFB Type, p. 778) a DFB type,
z Configure settings (See DFB Type Configuration, p. 779) of a DFB type.

148
Project browser

Communication Directory

At a Glance The Communication directory of the structural view of the project allows you to
access the configuration of the networks.
The following illustration shows an example of a directory tree of the
Communication directory:
Project browser
Structural view

Station
Configuration
Derived Data Types
Derived FB types
Variables & FB instances
? Elementary variables
? Derived variables
? I/O derived variables
? Elementary FB instances
? Derived FB instances
Communication
Network
Ethernet
Modbus Plus
Fipway
Routing Table
Xway Table

Associated The Communication directory allows you to access the following services, which
services can be reached via the contextual menu:
Directory Services
Communication Export: allows you to access export of all networks (See Exporting
the communication network configuration, p. 1173).
Import: allows you to access import of one or more networks (See
Importing the configuration of a communication network, p. 1174).
Network New Network: allows you to add a network (See Network
configuration, p. 303) to your project.
Network Open: allows you to access the corresponding network editor:
(Network_1, Modbus Ethernet, Modbus Plus, Fipway.
Plus_A, etc.) Export: allows you to access export of one network (See Exporting
the communication network configuration, p. 1173).
Delete: allows you to delete a network.
Properties: allows you to access the network properties.
Routing Table Open: allows you to access the configuration (See Configuration of
X-Way routing stations, p. 311) of a bridge between 2 networks
(routing tables).

149
Project browser

Program Directory

At a Glance The Program directory of the structural view of the project allows you to define the
structure of the program and to access the language editors of the program
elements: sections, program modules and event processing.
The following illustration shows an example of a directory tree of the Program
directory:
Project browser
Structural view

Station
Configuration
Derived Data Types
Derived FB types
Variables & FB instances
Communication
Program
Tasks
MAST
Sections
ST Init
ST Pumping: Valve_ctrl
ST Pumping: Pump_ctrl
SR Sections
Events
Timer Events
I/O Events
ST Evt 0
ST Evt 4

Services The sequential tasks directories (Tasks, MAST, FAST, etc.) allow you to access the
associated with following services, which can be reached via the contextual menu:
the sequential
Directory Services
tasks directories.
Tasks New Task: allows you to create a new sequential task (See Access to Tasks,
p. 326) (FAST, AUX.). The MAST task is created by default.
Import: allows you to access import of sections (See Importing the program,
p. 1164) and/or program modules of a sequential task.
MAST, Delete: allows you to delete the task. The MAST task cannot be deleted.
FAST, etc. Clear: allows you to clear the contents of the task. This clears all the sections
of the task.
Export: allows you to access export of the sequential tasks (See Exporting the
program, p. 1162).
Properties: allows you to access the properties of the sequential task.

150
Project browser

Services The sections directories allow you to access the following services, which can be
associated with reached via the contextual menu:
the sections
Directory Services
directories
Sections New Section: allows you to create a new "empty" section (See
Accessing Sections, p. 329).
Import: allows you to access import of sections (See Importing the
program, p. 1164).
Create section activation conditions table: allows you to initialize
an animation table, with the activation condition variables associated
with the sections.
For each section Open: allows you to access the section (See Accessing Sections,
p. 329) language editor.
Delete: allows you to delete the section.
Detach: allows you to detach the section of the functional module.
Export: allows you to access export of sections (See Exporting the
program, p. 1162).
Forcing to 0, allows you to choose Force to 0 as the activation
condition of the section (in online mode).
Forcing to 1, allows you to choose Force to 1 as the activation
condition of the section (in online mode).
Unforce: allows you to choose cancel forcing as the activation
condition of the section.
Properties: allows you to access the properties of the section (in
online mode).
For each Section Open: allows you to access the section language editor.
Macro-step, action,
or transition

Note: Only the MAST task can contain one or more sections in SFC language.

151
Project browser

Services The program modules directories (SR Sections) allow you to access the following
associated with services, which can be reached via the contextual menu:
the program
Directory Services
modules
directories SR Sections New SR Section: allows you to create a new "empty" program
module (See Creating subroutine sections (SR), p. 345).
Import: allows you to access import of program module (See
Importing the program, p. 1164).
For each program Open: allows you to access the program module language editor.
module Delete: allows you to delete the program module.
Export: allows you to access export program module (See Exporting
the program, p. 1162).
Properties: allows you to access the properties of the program
module.

Services The event processing directories allow you to access the following services, which
associated with can be reached via the contextual menu:
the event
Directory Services
processing
directories Timer Events, I/O New Event Section: allows you to create a new "empty" event
Events processing (See Creating timer event sections, p. 348).
Import: allows you to access import of event processing (See
Importing the program, p. 1164).
For each event Open: allows you to access the event processing language editor.
processing Delete: allows you to delete the event processing.
Detach: allows you to detach the event processing of the functional
module.
Export: allows you to access export of event processing (See
Exporting the program, p. 1162).
Properties: allows you to access the event processing properties.

152
Project browser

Animation Tables Directory

At a Glance The Animation Tables Directory of the structural view of the project allows you to
access the animation tables.
The following illustration shows an example of a directory tree of the Animation
Tables directory:

Project browser
Structural view

Station
Configuration
Derived Data Types
Derived FB types
Variables & FB instances
Communication
Program
Animation tables
? Conveying: Line 1

153
Project browser

Associated The Animation Tables directory allows you to access the following services, which
services can be reached via the contextual menu:
Directory Services
Animation tables New Animation Table: allows you to create a new animation table
(See Introduction to animation tables, p. 930).
Paste: used to paste an animation table into the clipboard or the
animation tables directory.
Delete all: allows you to delete all the animation tables.
Detach all: allows you to detach all the animation tables from the
functional modules.
Export: allows you to access export of all animation tables (See
Exporting animation tables, p. 1177).
Import: allows you to access import of one or more animation tables
(See Importing animation tables, p. 1178).
For each animation Open: allows you to access the animation table.
table Copy: allows you to duplicate an animation table.
Paste: allows you to add a copy of an animation table to the clipboard
or the animation tables directory.
Delete: allows you to delete the animation table.
Detach: allows you to Detach the animation table from the functional
module.
Export: allows you to access export of the animation table (See
Exporting animation tables, p. 1177).
Properties: allows you to access the animation table properties.

Access The Animation Tables Directory is used to create an animation table. From this
table, you can:
z add (See Basic functions, p. 932) data,
z switch to modification (See Modification mode, p. 934) mode,
z switch to forcing (See Forcing Mode, p. 936) mode,
z modify or force (See Multiple modification and forcing of Boolean variables,
p. 937) several variables.

154
Project browser

Operator Screens Directory

At a Glance The Operator Screens Directory of the structural view of the project are used to
access the operator screens.
The following diagram shows an example of a directory tree of the Operator
Screens directory:

Project browser
Structural view

Station
Configuration
Derived Data Types
Derived FB types
Variables & FB instances
Communication
Program
Animation tables
Operator Screens
Pumping: Management
General
Motor
Valve
Button
Command
LED
Signal

155
Project browser

Associated The Operator Screens directory allows you to access the following services, which
services can be reached via the contextual menu:
Directory Services
Operator Screens New screen: allows you to create a new operator screen.
New family: allows you to create a new family of screens.
Paste: allows you to paste an operator screen into the clipboard or
the operator screen directory.
Delete all: allows you to delete all the operator screens.
Detach all: allows you to detach all the operator screens from the
functional modules.
Import: allows you to access import of one or several screens (See
Importing operator screens, p. 1176) and/or family of screens.
Export: allows you to access export of all screens (See Exporting
runtime screens, p. 1175).
Messages list: allows you to access the message list for the
operator screens.
For each family of New screen: allows you to create a new operator screen.
screens Copy: allows you to duplicate the family of screens and its
associated operator screens.
Paste: allows you to add a copy of a screen family and its operator
screens to the clipboard or the operator screens directory.
Delete: allows you to delete the family of screens.
Detach: allows you to detach the functional module family.
Export: allows you to access export of the family of screens (See
Exporting runtime screens, p. 1175).
Family Properties: allows you to access the properties of the family
of screens.
For each operator Open: allows you to access the operator screens editor.
screen Copy: allows you to duplicate the operator screen.
Paste: allows you to add a copy of an operator screen to the
clipboard or the operator screen directory.
Delete: allows you to delete the operator screen.
Detach: allows you to detach the operator screen from the functional
module.
Export: allows you to access export of the operator screen (See
Exporting runtime screens, p. 1175).
Screen properties: allows you to access the properties of the
operator screen.

156
Project browser

Access The Operator Screens directory is used to create screens. From these screens,
you can:
z create (See Creating an object, p. 1006) objects,
z insert objects from a library (See Managing library objects, p. 1066),
z modify the attributes (See Modification of an object’s attributes, p. 1016) of the
objects,
z manipulate (See Manipulation of objects in runtime screens, p. 1035) the objects
that make up the screen,
z use the screens in online mode (See Runtime screens in online mode, p. 1053).

157
Project browser

Documentation Directory

At a Glance The Documentation directory of the structural view of the project allows you to
access the documentation.
The following illustration shows an example of a Documentation directory:

Project browser
Structural View

Statio
Configuration
Derived Data Types
Derived FB Types
Variables & FB instances
Communication
Program
Animation Tables
Operator Screens
Documentation
? Title Page
? General information

Associated The Documentation directory allows you to access the following services, which
services can be reached via the contextual menu:
Directory Services
Documentation Open: allows you to access the documentation (See Documentation,
p. 1131) tool.
Title Page Print Configuration: also gives access to the print configuration
settings.
General information Open: this heading allows you to specify various information about
the project. A dialog box allows you to enter the information and to
create hyperlinks (See Hyperlinks in the documentation folder,
p. 1234).

158
Project browser

5.3 Summaries of the utilities associated with the


structure view and function view

Summary of the services associated with the structural view

At a Glance The following tables summarize the services associated with the structural view of
the project and indicate the operating modes in which you can use them.

Station Directory The Station directory (See Station Directory, p. 140) allows you to access the
following services.
Directory Services Mode
Off-line On-line On-line
Stop Run
Station Export Project Yes No No
Properties Yes Yes Yes

Configuration The Configuration directory (See Configuration Directory, p. 142) allows you to
Directory access the following services.
Directory Services Mode
Off-line On-line On-line
Stop Run
Configuration Export Yes No No
Import Yes No No
Import SIS Yes No No
Bus Open Yes Yes Yes
Go to Bus Master Yes Yes Yes
Rack Open Yes Yes Yes
Module Open Yes Yes Yes

159
Project browser

Derived Data The Derived Data Types directory (See Derived data types (DDT) directory, p. 144)
Types Directory allows you to access the following services.
Directory Services Mode
Off-line On-line On-line
Stop Run
Derived Data Open Yes Yes Yes
Types Export Yes No No
Import Yes No No
Put in Library Yes No No
Get from Library Yes No No
For each DDT Open Yes Yes Yes
Export Yes Yes No
Put in Library Yes No No
Delete Yes (1) Yes (1) Yes (1)
Analyze YES YES YES
Properties Yes Yes Yes

(1) Only if the DDT type is not instantiated in the project.

Derived FB The Derived FB Types directory (See Derived FB (DFB) types directory, p. 145)
Types Directory allows you to access the following services.
Directory Services Mode
Off-line On-line On-line
Stop Run
FB Type Open Yes Yes Yes
Export Yes No No
Import Yes No No
Put in Library Yes No No
Get from Library Yes No No
For each type of Open Yes Yes Yes
DFB Export Yes No No
Put in Library Yes No No
Delete Yes (1) Yes (1) Yes (1)
Analyze YES YES YES
Properties Yes Yes Yes
Section Open Yes Yes Yes
Delete Yes No No
Properties Yes Yes Yes

(1) Only if the DFB type is not instantiated in the project.

160
Project browser

Variables & FB The Variables & FB instances directory (See Variables Directory, p. 147) allows
instances you to access the following services.
Directory
Directory Services Mode
Off-line On-line On-line
Stop Run
Variables Open Yes Yes Yes
Export Yes No No
Import Yes No No
EDT, DDT, EFB, Open Yes Yes Yes
DFB Export Yes No No

Communication The Communication directory (See Communication Directory, p. 149) allows you
Directory to access the following services.
Directory Services Mode
Off-line On-line On-line
Stop Run
Communication Export Yes No No
Import Yes No No
Network New Network Yes No No
For each network Open Yes Yes Yes
Export Yes Yes Yes
Delete Yes Yes Yes
Properties Yes Yes Yes
Routing Table Open Yes Yes Yes

161
Project browser

Program The Program directory (See Program Directory, p. 150) allows you to access the
Directory following services.
Directory Services Mode
Off-line On-line On-line
Stop Run
Tasks New Task Yes NO No
Import YES NO NO
MAST Clear Yes Yes No
FAST Delete Yes (1) NO No
Export Yes No No
Properties Yes Yes Yes
Sections New Section Yes Yes Yes
Create section activation conditions Yes Yes Yes
table Yes No No
Import
For each section Open Yes Yes Yes
Delete Yes Yes Yes
Detach Yes Yes Yes
Export Yes No No
Force to 0 No Yes Yes
Force to 1 No Yes Yes
Unforce No Yes Yes
Properties Yes Yes Yes
SR Sections New SR Section Yes Yes Yes
Import Yes No No
For each Open Yes Yes Yes
program module Delete Yes (3) Yes (3) Yes (3)
Export Yes No No
Properties Yes Yes Yes
Timer Events, I/O New Event Section Yes Yes Yes
Events Import Yes No No
For each event Open Yes Yes Yes
processing Delete Yes (3) NO No
Detach Yes Yes Yes
Export Yes No No
Properties Yes Yes Yes

(1) Except for MAST task.


(2) Symbolic meaning only.
(3) Only if the program module or the event processing is not called.

162
Project browser

Animation tables The Animation tables directory (See Animation Tables Directory, p. 153) allows
Directory you to access the following services.
Directory Services Mode
Off-line On-line On-line
Stop Run
Animation tables New Animation Table Yes Yes Yes
Paste Yes Yes Yes
Import Yes No No
Export Yes No No
Detach All Yes Yes Yes
Delete All Yes Yes Yes
For each Open Yes Yes Yes
animation table Copy Yes Yes Yes
Paste Yes Yes Yes
Export Yes No No
Delete Yes Yes Yes
Detach Yes Yes Yes
Properties Yes Yes Yes

163
Project browser

Operator The Operator Screens directory (See Operator Screens Directory, p. 155) allows
Screens you to access the following services.
Directory
Directory Services Mode
Off-line On-line On-line
Stop Run
Operator New screen Yes Yes Yes
Screens New family Yes Yes Yes
Detach All Yes Yes Yes
Delete All Yes Yes Yes
Export Yes No No
Import Yes No No
Messages list Yes Yes Yes
For each family of New screen Yes Yes Yes
screens Copy Yes Yes Yes
Paste Yes Yes Yes
Delete Yes Yes Yes
Detach Yes Yes Yes
Export Yes No No
Family Properties Yes Yes Yes
For each screen Open Yes Yes Yes
Copy Yes Yes Yes
Paste Yes Yes Yes
Delete Yes Yes Yes
Detach Yes Yes Yes
Export Yes No No
Screen properties Yes Yes Yes

Documentation The Documentation directory (See Documentation Directory, p. 158) allows you to
Directory access the following services.
Directory Services Mode
Off-line On-line On-line
Stop Run
Documentation Open Yes Yes Yes
Title Page Print Setup Yes Yes Yes
General Open Yes Yes Yes
Information

164
Functional modules

6
At a glance

Aim of this This chapter introduces the functional modules incorporated in a Unity Pro project.
Chapter

What's in this This chapter contains the following sections:


Chapter?
Section Topic Page
6.1 Introduction to the functional modules and associated utilities 166
6.2 The functional modules and their associated utilities 178

165
Functional modules

6.1 Introduction to the functional modules and


associated utilities

At a glance

About this sub- This sub-chapter provides general information on the functional modules and their
chapter associated utilities.

What's in this This section contains the following topics:


Section?
Topic Page
Functional modules 167
Station directory of the functional view 169
Functional Module Directory 170
Functional Module Program Directory 172
Functional Module Animation Tables Directory 173
Functional Module Operator Screens Directory 174
Summary of the services associated with the functional view 175

166
Functional modules

Functional modules

Definition A functional module is a group of program elements intended to perform a PLC


function.
A functional module is comprised:
z program or event processing sections,
z animation tables associated with the functional module,
z runtime screens associated with the functional module,
z a comment (max. 256 characters),
z interleaved functional modules, with these modules, in relation to the main
function, performing one or more PLC sub-functions.

Note: a functional module does not necessarily have a program section, an


animation table or runtime screens.

The other elements that make up a project are not incorporated into the functional
modules:
z the configuration,
z the global variables of a project,
z the DFB and DDT types, which are global to a project,
z the SRi program modules, which are global to a task,
z the documentation.

167
Functional modules

At a glance All the functional modules of the project can be found in the Station Functional
directory of the function view.

The following illustration shows the Station Functional directory:

Vue fonctionnelle

Station fonctionnelle
Traitement
Programme
Table
Ecran
Peinture
Programme
ST Injection
ST Lissage
Table
Ecran
Gestion
Séchage
Convoyage
Programme
Table
? Ligne 1
Ecran

As the default the browser displays the first level of the directory tree. To access the
other levels, you need to expand the directories.

Note: This breakdown does not take into account the order of execution of the
program by the PLC.

168
Functional modules

Station directory of the functional view

At a Glance The Functional Station directory of the functional view allows you to access all the
functional modules of the project and the associated services.
The following illustration shows the Functional Station directory:

Functional view

Functional station
Processing
Painting
Dryer
Conveying

Associated The Functional Station directory allows you to access the following services, which
services can be reached via the contextual menu:
Directory Services
Functional station New Functional Module: allows you to create a new functional
module.
Detach all: allows you to detach all elements included in the
functional modules (sections and animation tables) without deleting
them.
Export: allows you to access export of the global project (See
Exporting a global project, p. 1181).
Import: allows you to access import of a functional module (See
Importing a functional module, p. 1180).
Properties: allows you to access the properties of the global
project.
For each functional allows you to access all the elements of the functional module:
module program, animation tables, operator screens, nested functional
modules.

169
Functional modules

Functional Module Directory

At a Glance The Functional Module directory of the functional view allows you to access all the
elements of a functional module (program, animation tables and operator screens)
and the nested modules.
The following illustration shows an example of a Functional Module directory:

Functional view

Functional station
Processing Functional module
Program
ST Processing
Table
Screen
Verification Interleaved functional module
Program
Table
? Table_1
Screen
Surface state

170
Functional modules

Associated The functional module directory allows you to access the following services, which
services can be reached via the contextual menu:
Directory Services
Functional module: New Functional Module: allows you to create a new nested
Factory1 functional module.
Create: allows you to create a new program element in the functional
module: section, program module or event processing.
Delete: allows you to delete the functional module.
Detach all: allows you to detach all elements included in the
functional module (sections and animation tables) without deleting
them.
Export: allows you to access export of the functional module (See
Exporting a functional module, p. 1179).
Import: allows you to access import of a functional module (See
Importing a functional module, p. 1180).
Create section activation conditions table/CTRL+T: allows you to
initialize an animation table, with the activation conditions associated
with the program elements of the functional module (sections,
program modules and event processings).
Protection of Included Sections: allows you to define the protection
of the program elements (sections, program modules and event
processings) of the function module (no protection, write-protection,
read/write-protection).
Properties: allows you to access the functional module properties.
Program allows you to access the functional module programs (See Functional
Module Program Directory, p. 172).
Table allows you to access the animation tables of the functional module
(See Functional Module Animation Tables Directory, p. 173).
Screen allows you to access the operator screens of the functional module
(See Functional Module Operator Screens Directory, p. 174).

171
Functional modules

Functional Module Program Directory

At a Glance The Program Directory of a functional module allows you to access the program
elements of this module: sections, program modules and event processing.

Associated The Program directory of a functional module allows you to access the following
services services, which can be reached via the contextual menu:
Directory Services
Program Create: allows you to create a new program element in the functional
module: section, program module or event processing.
Detach all: allows you to detach all elements included in the
functional module (sections and animation tables) without deleting
them.
Import: allows you to access import program elements of the
functional module: sections, program modules, event processing
(see (See Importing the program, p. 1164)).
Create section activation conditions table/CTRL+T: allows you to
initialize an animation table, with the activation conditions associated
with the program elements of the functional module: sections.
Protection of Included Sections: allows you to define the protection
of the program elements of the functional module: sections, program
modules and event processing.
Section, SR section, See Program Directory, p. 150 for a description of the associated
event processing services.

172
Functional modules

Functional Module Animation Tables Directory

At a Glance The Table directory of a functional module allows you to access the animation tables
of this module.

Associated The Table directory of a functional module allows you to access the following
services services, which can be reached via the contextual menu:
Directory Services
Table New Animation Table: allows you to create a new animation table.
Detach all: allows you to detach all the animation tables from the
functional module, without deleting them.
Import: allows you to access import of the animation tables (See
Importing animation tables, p. 1178) in the functional module.
For each animation Open: allows you to access the animation table.
table Copy: allows you to duplicate the animation table.
Paste: allows you to add a copy of an animation table into the
animation tables directory in the functional module and the project
browser.
Export: allows you to access export of the animation table (See
Exporting animation tables, p. 1177).
Delete: allows you to delete the animation table.
Detach: allows you to detach the animation table from the functional
module, without deleting it.
Properties: allows you to access the animation table properties.

173
Functional modules

Functional Module Operator Screens Directory

At a Glance The Screen directory of a functional module allows you to access the operator
screens of this module.

Associated The Screen directory of a functional module allows you to access the following
services services, which can be reached via the contextual menu:
Directory Services
Screen Import: allows you to access import of one or more screens (See
Importing operator screens, p. 1176) and/or families of screens.
New family: allows you to create a new family of screens.
New screen: allows you to create a new operator screen.
Detach all: allows you to detach all the screen elements from the
functional module, without deleting them.
For each family of See Operator Screens Directory, p. 155 for a description of the
screens screen families services.
For each operator See Operator Screens Directory, p. 155 for a description of the
screen services available from the screen.

174
Functional modules

Summary of the services associated with the functional view

At a Glance The following tables summarize the services associated with the functional view of
the project and indicate the operating modes in which you can use them.

Functional The Functional Station directory (See Station directory of the functional view,
Station Directory p. 169) allows you to access the following services.
Directory Services Mode
Off-line On-line On-line
Stop Run
Functional New Functional Module Yes Yes Yes
Station Detach All Yes Yes Yes
Export Yes No No
Import Yes No No
Properties Yes Yes Yes

Functional The Functional Module directory (See Functional Module Directory, p. 170) allows
Module Directory you to access the following services.
Directory Services Mode
Off-line On-line On-line
Stop Run
For each New Functional Module Yes Yes Yes
functional Detach All Yes Yes Yes
module Create Yes Yes Yes
Delete Yes Yes Yes
Export Yes No No
Import Yes No No
Protection of Included Sections Yes Yes Yes
Create section activation conditions Yes Yes Yes
table Yes Yes Yes
Properties

175
Functional modules

Functional The Program directory (See Functional Module Program Directory, p. 172) of a
Module Program functional module allows you to access the following services.
Directory
Directory Services Mode
Off-line On-line On-line
Stop Run
Program Create Yes Yes Yes
Import Yes No No
Detach All Yes Yes Yes
Protection of Included Sections Yes Yes Yes
Create section activation conditions Yes Yes Yes
table
For each section, Open Yes Yes Yes
SR sections, Detach Yes Yes Yes
event processing Delete Yes Yes Yes
Export Yes No No
Force to 0 No Yes Yes
Force to 1 No Yes Yes
Unforce No Yes Yes
Properties Yes Yes Yes

Functional The Table directory (See Functional Module Animation Tables Directory, p. 173) of
Module a functional module allows you to access the following services.
Animation
Directory Services Mode
Tables Directory
Off-line On-line On-line
Stop Run
Table New Animation Table Yes Yes Yes
Import Yes No No
Detach All Yes Yes Yes
For each Open Yes Yes Yes
animation table Export Yes No No
Delete Yes Yes Yes
Copy Yes Yes Yes
Paste Yes Yes Yes
Properties Yes Yes Yes
Detach Yes Yes Yes

176
Functional modules

Functional The Screen directory (See Functional Module Operator Screens Directory, p. 174)
Module Operator of a functional module allows you to access the following services.
Screens
Directory Services Mode
Directory
Off-line On-line On-line
Stop Run
Screen New family Yes Yes Yes
New screen Yes No No
Import Yes No No
Detach All Yes Yes Yes
For each family of New screen Yes Yes Yes
screens Copy Yes Yes Yes
Paste Yes Yes Yes
Delete Yes Yes Yes
Export Yes No No
Detach Yes Yes Yes
Family Properties Yes Yes Yes
For each Open Yes Yes Yes
operator screen Copy Yes Yes Yes
Paste Yes Yes Yes
Export Yes No No
Detach Yes Yes Yes
Delete Yes Yes Yes
Screen properties Yes Yes Yes

177
Functional modules

6.2 The functional modules and their associated


utilities

At a glance

About this sub- This sub-chapter is a guide on how to use the utilities associated with the functional
chapter modules.

What's in this This section contains the following topics:


Section?
Topic Page
Properties of a functional module 179
Creating a functional module 180
Programming a functional module 181
Protecting program elements of the functional module 182
Debugging a functional module 183
Detaching/Deleting a functional module 184
Functional module export 187
Functional module import 188
Creating, deleting, locating, dragging-and-dropping an animation table in a 189
functional module
Creating, deleting, locating and dragging-and-dropping an operator screen in 191
a functional module

178
Functional modules

Properties of a functional module

Properties to List of different properties to define:


define z the name comprising 32 characters. This name must be unique for modules
positioned on the same level.
z the definition of the activation conditions of the program elements (sections,
program modules and event processings) of the functional module (Force to 0,
Force to 1, cancel forcing),
z the protection of the program elements (sections, program modules and event
processings) of the functional module (no protection, write-protection, read/write-
protection),
z the comment comprising 256 characters.

Displaying or Carry out the following steps:


editing
Step Action
properties
1 In the functional view, right-click the functional module, in the Functional
Station directory.
2 Click Properties.
2 Perform the editing.
3 Confirm with OK.

Note: The Apply button confirms the editing without closing the window.

179
Functional modules

Creating a functional module

At a Glance A functional module can be created off-line, with the PLC at Stop or in Run.

It can be created at the Station level or at the level of each existing functional
module.

Creating a new Carry out the following actions:


functional
Step Action
module
1 In the functional view, right-click the Functional Station directory.
2 Select New Functional Module.
3 Enter the name and comment and confirm with OK.

Creating a lower Carry out the following actions:


level functional
Step Action
module
1 In the functional view, right-click the module "above", in the Functional Station
directory.
2 Select New Functional Module.
3 Enter the name and comment and confirm with OK.

Moving a A functional module can be moved off-line, with the PLC at Stop or in Run (this has
functional no effect on the execution of the project). The movement corresponds only to a
module modification of the functional architecture of the project (a module is directly
attached to the Functional Station directory level or to another functional module).

Moving a functional module:


Step Action
1 Left-click on the module to be moved (holding down the mouse button),
2 Move the module to the desired position.

180
Functional modules

Programming a functional module

Introduction to A functional module has a program directory that may contain:


programming a z LD, ST, IL sections,
functional z event processings,
module z SFC sections.

Various cases may arise when programming a functional module:


z Case 1: the section, event processing or SFC section already exists in the
structural view,
z Case 2: creating the section or event processing from the functional view.

Case 1: the The section has already been created in the structural view:
section, event
Step Action
processing or
chart already 1 Select the section.
exists in the 2 Move the section to the functional module.
structural view

Case 2: creating The following table shows the principle behind creating a section:
the section or
Step Action
event processing
from the 1 In the functional view, right-click theProgram directory in the Functional
functional view. Station directory.
2 Select the Create command from the contextual menu.
3 Select either New Section or New Event.
4 Enter the various headings in exactly the same way as for creating a section
from the structural view. The name of the functional module is shown again at
the structural view level.

Rules Take into account the following notes:


1 An SFC section can only be created off-line and then only in the Mast task.
2 A macro-step or an event can only be created off-line.
3 The other actions are authorized in off-line mode, with the PLC at Stop or in
Run.
4 The protection of a module applies to all the sections attached to the functional
module and to the lower level modules.

181
Functional modules

Protecting program elements of the functional module

At a Glance In a functional module you are able to define the protection (See Protection of a
project, p. 135) of the program elements (sections, program modules and event
processings) contained in the module.

Protection Procedure:
Select from Then...
the functional module z with the mouse right-click the Program directory in a functional
module of the functional view,
z select Protection of Included Sections,
z select Write or Read/Write.
Result: All the program elements of the module and of the lower
module(s) are protected.
from the Program z with the mouse right-click on the Program directory in a
directory functional module of the functional view,
z select Protection of Included Sections,
z select Write or Read/Write.
Result: All the program elements of the module are protected.

182
Functional modules

Debugging a functional module

At a Glance The organization of a functional module, and the distribution of the sections, event
processings and SFC sections in the various modules has no impact on the
execution of the program. The program is executed in the order shown in the
structural view. To help you debug a functional view, the following are available:
z basic debugging functions,
z the animation table initialization function.

Initializing an This action allows you to initialize an animation table, with the activation conditions
animation table associated with the program elements of the functional module (sections, program
modules and event processings).
Select from Then...
the functional module z right-click with the mouse on the directory of a functional module
in the functional view.
z select Create section activation conditions table.
from the Program z with the mouse right-click on the Program directory in a
directory functional module of the functional view.
z select Create section activation conditions table.

WARNING
Activation conditions for sections
All the activation conditions that are displayed in the animation table are
the conditions used during the last build (partial or total).
Failure to follow this precaution can result in death, serious injury,
or equipment damage.

183
Functional modules

Detaching/Deleting a functional module

At a Glance Detaching elements from a functional module consists of cutting the links between
a functional module and the associated elements (program elements, animation
table and screen)
z the sections contained in the module are not deleted, they are merely detached,
z the animation tables associated with the modules are not deleted, they are
merely detached from the module,
z the screens associated with the modules are not deleted, they are merely
detached from the module.

Note: These actions are authorized off-line and on-line, with PLC at Stop or in Run.

Detaching To detach functional modules carry out the following actions:


Functional
Step Action
Modules
1 Select the Functional Station directory.
2 Select Detach All from the contextual menu.
3 Confirm with Yes.

Detaching a To detach a functional module carry out the following actions:


functional
Step Action
module
1 Select the functional module from the Functional Station directory.
2 Select Detach All from the contextual menu.
3 Confirm with Yes.

Detaching all the To detach all the elements in a directory (Program, Table, Screen) from a functional
elements in a module, you must do the following:
directory from a
Step Action
functional
module 1 Select the Program or Table or Screen directory from the functional module.
2 Select the Detach All command from the contextual menu.
Result: All the elements in the chosen directory are detached from the
functional module.

184
Functional modules

Detaching one To detach one element in a directory (Program, Table, Screen) from a functional
element in a module, you must do the following:
directory from a
Step Action
functional
module 1 Select the element to be detached in the Program or Table or Screen
directory.
2 SelectDetach from the contextual menu.
Result: The element in the chosen directory is detached from the functional
module.

Introduction to Deletion can be carried out in a number of ways:


deleting a z deleting one or more functional modules without deleting the program elements,
functional animation tables and screens,
module z deleting one functional module with deletion of the program elements, animation
tables and screens,
z deleting all the functional modules with deletion of the program elements,
animation tables and screens,
z deleting one section, a macro-step or an event processing in a functional module.

Deleting one or To delete a functional module without deleting the program elements and animation
more functional tables, you must proceed as follows:
modules without
Step Action
deleting the
program 1 From the functional module, detach the module with the Detach all command
elements, in the contextual menu.
animation tables Result: All the elements of the module and the lower level modules are
and screens detached.
2 Delete the module(s) by right-clicking (contextual menu) and selecting the
Delete command.
Note: You must be in off-line mode.

185
Functional modules

Deleting one
functional
CAUTION
module with
deletion of the Deleting the module also deletes the sub-modules.
modules, - the sections contained in the module are deleted,
animation tables - the animation tables associated with the module are deleted,
and screens - the screens associated with the module are deleted.
Failure to follow this precaution can result in injury or equipment damage.

Carry out the following actions:


Step Action
1 Select the module.
2 Select Delete.
3 Confirm with Yes.

Note: This action is authorized for the SFC sections and the events in off-line mode, with the
PLC at Stop. The other elements may be deleted in Run.

Deleting a
section or an
CAUTION
event in a
functional Deleting sections and events.
module A section or an event may be deleted in a functional module. They are then
deleted in the module and in the associated task.
Failure to follow this precaution can result in injury or equipment damage.

Carry out the following actions:


Step Action
1 Select the desired section or event.
2 Select Delete.
3 Confirm with Yes.

Rules Take into account the following rules:


1 In order not to delete the contents of a module, you must detach its elements
before deleting.
2 An SFC section or an event can only be deleted in off-line mode.

186
Functional modules

Functional module export

Exporting a You can export (See Exporting a functional module, p. 1179) a functional module.
functional
module

187
Functional modules

Functional module import

Importing a You can import (See Importing a functional module, p. 1180) a functional module.
functional
module

188
Functional modules

Creating, deleting, locating, dragging-and-dropping an animation table in a


functional module

At a Glance In a functional module you are able to create, delete, locate and drag-and-drop an
animation table.

Creating an Procedure:
animation table
If the table Then...
already exists z select the animation table in the Functional Station directory
of the functional view or the Animation tables directory of the
structural view,
z drop the animation table to a functional module in the Table
directory level.
must be created from z with the mouse right-click the Table directory of the module,
the functional view z select New Animation Table.

Accessing the Carry out the following actions:


properties of an
Step Action
animation table
1 Select the table.
2 Select Properties from the contextual menu.
3 You can edit the name or the comment of a table and its assignment to a module.

Copying an Procedure:
animation table.
If the table Then...
must be copied from the z with the mouse right-click the source table in the Functional
functional view. Station directory of the functional view,
z select Copy,
z select the source table in the Functional Station directory of
the functional view,
z select Paste.
Result: The copy of the table is created in the source table
directory.

189
Functional modules

Opening an Carry out the following actions:


animation table
Step Action
1 Select the table.
2 Select Open from the contextual menu.

Deleting an Carry out the following actions:


animation table
Step Action
1 Select the table.
2 Select Delete from the contextual menu.

Moving an Procedure:
animation table
If using Then...
the drag-and-drop z left-click on the table to be moved (holding down the mouse button),
function z drop the table at the desired position.
Properties from z select the table,
the contextual z select Properties from the contextual menu,
menu z select the name of the module in the Functional Module zone.

Detach all Procedure:


animation tables
If using the Then...
contextual menu
Detach all z select the Table directory of the functional module,
z select Detach All from the contextual menu,
z confirm with Yes.

Detaching an Procedure:
animation table
If using the Then...
contextual menu
Detach z select the animation table,
z select Detach from the contextual menu,
z confirm with Yes.
Properties z select the table,
z select Properties from the contextual menu,
z select "none" in the Functional Module zone.

190
Functional modules

Creating, deleting, locating and dragging-and-dropping an operator screen in a


functional module

At a Glance In a functional module you are able to create, delete, locate and drag-and-drop an
operator screen.

Creating an Procedure:
operator screen
If the screen Then...
already exists z select the operator screen in the Functional Station directory
of the functional view or the Operator Screens directory of the
structural view,
z drop the operator screen in a functional module at the Screen
directory level.
must be created from z with the mouse right-click the Screen directory of the functional
the functional view module,
z select New screen.

Accessing the Procedure:


operator screens
If selected at the level Then...
properties
of the
a family of screens z select the family of screens in the Screen directory of the
structural view,
z Select Family Properties from the contextual menu.
a specific screen z select a screen in the Screen directory of the structural view,
z Select Screen Properties from the contextual menu.

Creating a family Procedure:


of operator
If the family Then...
screens
already exists z select the family of operator screens in the Functional Station
directory of the functional view or the Operator Screen
directory of the structural view,
z drop the family of operator screens in a functional module at the
Screen directory level.
must be created from z with the mouse right-click the Screen directory of the functional
the functional view module,
z select New family.

191
Functional modules

Opening an Carry out the following actions:


operator screen
Step Action
1 Select the operator screen in the Functional Station directory of the functional
view or the Operator Screens directory of the structural view,
2 Select Open from the contextual menu.

Deleting an Procedure:
operator screen
If the screen Then...
does not belong to a z with the mouse right click the operator screen in the Operator
family of screens Screen directory,
z select Delete.
belongs to a family of z from the Screen directory, right-click the operator screen
screens belonging to the family,
z select Delete.

Moving an Procedure:
operator screen
If using Then...
the drag-and-drop z left-click on the operator screen to be moved (holding down the
function mouse button),
z move the operator screen to the desired location.
Screen Properties z select the operator screen,
from the contextual z select Screen Properties from the contextual menu,
menu z select the name of the module in the Location zone.

192
Functional modules

Detaching all Procedure:


screens and
If you have chosen to Then...
families of
detach
screens
the operator screens z select the Screen directory of the functional module,
and the families of z select Detach All from the contextual menu,
screens z confirm with Yes.
the family of screens z in the Screen directory of the functional module, select the
family of screens,
z select Detach from the contextual menu,
a specific screen z select the operator screen in the Screen directory of the
functional module,
z select Detach from the contextual menu,

Accessing the The following table shows the procedure for accessing the operator screens
messages list messages list.
Step Action
1 Select the Operator Screens directory from the structural view.
2 Select Messages list from the contextual menu.

193
Functional modules

194
Library Manager

7
At a Glance

Aim of this This section describes the main functionalities of the library manager.
section

What's in this This chapter contains the following topics:


Chapter?
Topic Page
Introduction to the library manager 196
The library manager 197
Loading an object into the project from the library 199
Transferring an object from the project to the library 201
Creating a new library and family 203
Creating an installable family 206
Updating a family or a library 207
The consistency check help wizard 208

195
Library Manager

Introduction to the library manager

Principle The Unity Pro library contains all the available objects for developing an automation
project, whether these be functions or variables:
z EFs (functions),
z EFBs (function blocks),
z DFBs (user function blocks),
z DDTs (variables),
z ...

The library manager provides a set of functionalities allowing you to modify the
content of the library and also to perform transfers between the library and the
project on which you are working.

When the operation is simple, it runs automatically or asks for your confirmation.
When the operation is more complex, a wizard (See The consistency check help
wizard, p. 208) guides you through the process. This assistance is provided for
loading operations, transfers or deletions.

List of function- Unity Pro 's contextual menus give access to the library manager functionalities
alities available shown below:
z Create a family or a library
z Delete a family or a library
z Cut a family or an object
z Paste a family or an object
z Expand the directory tree of an object, a family or a library
z Rename the current node of the directory tree
z Display the load object wizard
z Customize columns
z Clean the unused types of the project
z Check the versions: consistency between the various versions of the library and
project objects.

196
Library Manager

The library manager

At a Glance To handle the objects of the library, Unity Pro software provides a management tool
from which all the functions for managing this library are accessible:
z Loading an object into the project from the library (See Loading an object into the
project from the library, p. 199).
z Transferring an object from the project to the library (See Transferring an object
from the project to the library, p. 201).
z Deleting an object from the library.
z Updating and managing library versions.
z ...

How to access The table below describes the steps to follow for accessing the library browser.
the manager?
Step Action
1 Select the Tools menu.
2 Select the Types library manager option.
Result: The following window appears:

Types library manager


All Types Variable types FFB Types
Name Name * EF EFB >>
<Application>
Name Type C... Version
<Libset>
DDT1 <Struct> 0.01
Base Lib
DDT2 <Struct> 0.01
Communication
DFB1 <DFB> 0.01
CONT_CTL DFB3 <DFB> 0.02
Custom Lib SuperDDT1 <Struct> 0.02
Diagnostics
I/O Management
Motion
Obsolete Lib
System

Close Get Assistant ?

197
Library Manager

Description of The table below describes the various areas of the browser:
the browser
Area Description
Tabs The tabs allow you to select what you wish to view:
z Functions (FFBs)
z Variables
z All
The left sub-window This sub-window shows the directory trees of the project objects, the
functions libraries (functions classified by family) and the IODDTs.
The right sub-window This sub-window shows the list of objects contained in the selection
made on the left sub-window.
The check boxes above can be used to refine this list.

198
Library Manager

Loading an object into the project from the library

At a Glance Loading objects into the project from the library is a way of reaching the objects used
in a project more quickly without having to scroll through the list of all the other
objects in the library.
Loading takes place automatically when the program is entered in the language
editors but you can also load these objects manually from the library manager.

How to load an The table below describes the steps to follow for loading an object into the project
object from the library.
Step Action
1 Select the Types library manager option from the Tools menu in order to open the library manager.
Result: The following window appears:

Types library manager


All Types Variable types FFB Types
Name Name * EF EFB >>
<Application>
Name Type C... Version
<Libset>
DDT1 <Struct> 0.01
Base Lib
DDT2 <Struct> 0.01
Communication
DFB1 <DFB> 0.01
CONT_CTL DFB3 <DFB> 0.02
Custom Lib SuperDDT1 <Struct> 0.02
Diagnostics
I/O Management
Motion
Obsolete Lib
System

Close Get Assistant ?

199
Library Manager

Step Action
2 Click on the Get Assistant button to bring up the loading assistance window.
Result: The previous window features the following area to its right:

Objects to get
AUTOTUNE
READ_ASYN
SMOVE
D_LOCK
ASI_DIA

>>

<<

Copy into project

3 In this area, create the list of objects to be loaded by selecting them successively from the two sub-windows
in step 1 and then transferring them using the double-arrow buttons.
4 Click on Copy into project to load.
Result: The objects are loaded into the project and now appear in its directory tree.

How does the Loading takes place according to the conditions described in the table below.
loading take
If in the project, the name of the object Then
place?
does not exist the object is transferred automatically.
exists but the types are different the transfer is stopped and will not take place.
A message informs you of the reasons for this.
Note: In order to be able to load this object, you
must rename it and repeat the loading process.
exists and the types are the same Loading takes place when you confirm.
Note: A confirmation request is made by the
consistency check help wizard (See The
consistency check help wizard, p. 208) before
loading takes place.

200
Library Manager

Transferring an object from the project to the library

At a Glance Transferring an object from the project to the library is a way of using objects from
one project in another project without having to import/export between applications.
When an object is transferred into the library, it is accessible from all projects.

How to transfer The table below describes the steps to follow for transferring an object from a project
an object into the library.
Step Action
1 Select the Types library manager option from the Tools menu in order to open the library manager.
Result: The following window appears:

Types library manager


All Types Variable types FFB Types
Name Name * EF EFB >>
<Application>
Name Type C... Version
<Libset>
DDT1 <Struct> 0.01
Base Lib
DDT2 <Struct> 0.01
Communication
DFB1 <DFB> 0.01
CONT_CTL DFB3 <DFB> 0.02
Custom Lib SuperDDT1 <Struct> 0.02
Diagnostics
I/O Management
Motion
Obsolete Lib
System

Close Get Assistant ?

2 Select the project object to be transferred.


3 Select the Copy into library option from the contextual menu (by right-clicking).
4 Choose the destination library and family and confirm your choice.
Result: If the transfer cannot be made automatically, a help window appears enabling you to rectify the
problem.

201
Library Manager

How does the Objects are transferred from a project to the library according to the conditions
transfer take described in the table below.
place?
If in the library, the name of the Then
object
does not exist the object is transferred when you have specified
the family and library into which you wish to transfer
the object.
exists but the types are different the transfer is stopped and will not take place.
A message informs you of the reasons for this.
Note: In order to be able to load this object, you
must rename it and repeat the loading process.
exists and the objects are the same there is nothing to do because the objects are the
same!
exists and the objects only differ by their the transfer only takes place if the version of the
code object to be transferred is greater than or equal to
the version of the library.
Note: A confirmation request is made by the
consistency check help wizard (See The
consistency check help wizard, p. 208) before the
transfer takes place.
exists and the objects have different the transfer is stopped and will not take place.
prototypes A message informs you of the reasons for this.
Note: In order to be able to load this object, you
must rename it and repeat the loading process.

202
Library Manager

Creating a new library and family

At a Glance It is possible to create a customized library. This library will contain objects available
for developing automation projects, such as:
z Derived Data Types (DDT),
z Function block data types (EFB/DFB),
z Elementary function blocks (EF).
The library is linked to a programming terminal. Each project created with this
terminal will be able to use this library. The library family (See Creating an installable
family, p. 206) can be saved in order to use (See Updating a family or a library,
p. 207) it on another terminal.
It is therefore necessary to:
z create a library,
z create one or more families in the new library,
z associate objects (EF, EFB, DFB, DDT) with each of these families.

Unity Pro offers a customizable library, the Custom Lib library. This library contains
a family, the custom FAMILY, but no object.

203
Library Manager

New library The following table shows the procedure for creating a new library.
Step Action
1 Select the Tools menu.
2 Select the Types library manager option.
Result: the following window appears:

Types library manager


All Types Variable types FFB Types
Name Name * EF EFB >>
<Application>
Name Type C... Version
<Libraries>
DDT1 <Struct> 0.01
Base Lib
DDT2 <Struct> 0.01
Communication
DFB1 <DFB> 0.01
CONT_CTL DFB3 <DFB> 0.02
Custom Lib SuperDDT1 <Struct> 0.02
Diagnostics
I/O Management
Motion
Obsolete Lib
System

Close Get Assistant ?

3 In the Name zone, select Libraries.


4 Select the Create a new library command in the contextual menu.
5 Enter the name and confirm.

New family The following table shows the procedure for creating a new family.
Step Action
1 Select the Tools menu.
2 Select the Types library manager option.
3 In the Name zone, select the Custom Lib library or a library that you have
created.
4 Select the Create a new family command in the contextual menu.
5 Enter the name and confirm.

204
Library Manager

Associating an The table below presents the procedure for associating an object with a family.
object
Step Action
1 Select the Tools menu.
2 Select the Types library manager option.
Result: the following window appears:

Types library manager


All Types Variable types FFB Types
Name Name * EF EFB >>
<Application>
Name Type C... Version
<Libraries>
DDT1 <Struct> 0.01
Base Lib
DDT2 <Struct> 0.01
Communication
DFB1 <DFB> 0.01
CONT_CTL DFB3 <DFB> 0.02
Custom Lib SuperDDT1 <Struct> 0.02
Diagnostics
I/O Management
Motion
Obsolete Lib
System

Close Get Assistant ?

3 In the Name zone, select the Custom FAMILY family or a family that you have created.
4 In the Name zone on the right, select the object.
5 Drag and drop the object to the Custom FAMILY or a family that you have created.
Result: the selected object is included in the Custom FAMILY or the new family.

205
Library Manager

Creating an installable family

At a Glance The custom family can be saved in a file. It will then be able to be imported to another
programming terminal.

Procedure The following table shows the procedure for creating an installable family.
Step Action
1 Select the Tools menu.
2 Select the Types library manager option.
3 In the Name zone, expand the Libraries.
4 Select a family from the Custom Lib or a library that you have created.
5 Select the Create an installable family command in the contextual menu.
Result: the following window appears:

Creating an installable family ?

Enter the directory of the New family


installable family:
Browse

Include sub-types

OK Cancel

6 Enter the directory or the family to be saved (installed).


The Browse button can be used to select the directory.
7 Click OK.

206
Library Manager

Updating a family or a library

At a Glance You can update the types library on a programming terminal. You can in this way
insert new EFs,EFBs, DFBs and DDTs in order to use them in your program.

Note: Unity Pro must be closed before starting the update procedure.

Procedure The following table shows the procedure for updating a family.
Step Action
1 Select the Start → Programs → Schneider Electric → Unity Pro → Types
Library Update command.
The Update type library window appears.
2 Enter the directory in which the family is available.
3 Click the Install family button.
4 Answer Yes to the question.
5 Answer OK to the warning and then press Exit.

207
Library Manager

The consistency check help wizard

At a Glance When carrying out complex or multiple operations, a wizard for checking the
consistency of the library or all the project objects appears automatically enabling
you to perform with great ease the actions to be carried out.

When loading or transferring nested objects, the wizard helps you to select the
objects to be transferred. It tells you which operations are possible, which are not
and which require preparation (renaming, updating, etc.).

Note: Depending on the level of consistency of your action, the wizard provides
either a flat representation of the objects or a hierarchical representation. In some
cases, it is possible to select part of the objects to be processed; in other cases, it
is necessary to confirm or cancel the operation in its entirety. Some typical
examples are given in the following paragraphs.

Note: You will notice that the following examples show screens in which the
columns are different. This is possible as you can configure the columns of your
library manager, in the same way that you can with the data editor (See This is how
to define columns, p. 283).

208
Library Manager

Example of The figure below shows an example of a wizard according to a hierarchical view
hierarchical requiring global confirmation. The window shows that certain types of objects
representation already exist in the library and asks you to confirm your wish to save the library
with global types.
confirmation

Copy types into library


Some types already exist in the library
Check the types you want to keep in the library:
Name Library V. Project V. Difference Diagnostics
DFB1 0.01
SuperDDT1 0.02
DDT1 0.01 0.01 No difference You don't need to overwrite an identical type.
SuperDFB2 0.03
DDT2 0.01 0.01 No difference You don't need to overwrite an identical type.
DFB2 0.01
DDT2 0.01 0.01 No difference You don't need to overwrite an identical type.

Show hierarchical tree OK Cancel Help

Example of flat The figure below shows an example of a wizard according to a flat view requiring
representation global confirmation. The window shows that certain types of objects already exist in
with global the library and asks you to confirm your wish to save the library types.
confirmation

Some types already exist in the library


Check the types you want to keep in the library:
Name Library V. Project V. Difference Comment Diagnostics
DFB3 0.02 0.02 No difference You don't need to overwrite an identical type.
SuperDDT1 0.02 0.02 No difference You don't need to overwrite an identical type.
DDT1 0.01 0.01 No difference You don't need to overwrite an identical type.

Show hierarchical tree OK Cancel Help

209
Library Manager

Example of The figure below shows an example of a wizard according to a hierarchical view
hierarchical allowing selective confirmation. The window shows that certain types of objects
representation already exist in the library and asks you to confirm your wish to save some library
with selective types.
confirmation

Copy types into library


Some types already exist in the library
Check the types you want to keep in the library:

Name Difference Library V. Project V. Comment


DFB3 0.03
SuperDDT1 Different prototype 0.03 0.04
DDT1 Different prototype 0.02 0.03

Show hierarchical tree OK Cancel Help

Example of flat The figure below shows an example of a wizard according to a flat view allowing
representation selective confirmation. The window shows that certain types of objects already exist
with selective in the library and asks you to confirm your wish to save some library types.
confirmation

Copy types into library


Some types already exist in the library
Check the types you want to keep in the library:
Name Diagnostics Difference Library V. Project V.
DDT1 You don't need to overwrite an identical type. No difference 0.01 0.01
DDT2 You don't need to overwrite an identical type. No difference 0.01 0.01

Show hierarchical tree OK Cancel Help

210
Data editor

II
Introduction

Object of this This part describes how to use the data editor.
part
It guides the user through the general features available in the data editor in order to:
z create data types,
z instantiate data types,
z search for data types or instances.

What's in this This part contains the following chapters:


Part?
Chapter Chapter Name Page
8 Presentation of the data editor 213
9 Managing data instances belonging to EDT\DDT\IODDT 219
families
10 Creating derived data types (DDT) 249
11 Managing data instances belonging to function block families 269
(EF)
12 Creating user function block data types (DFB) 279
13 General Functions 281

211
Data editor

212
Presentation of the data editor

8
Introduction

Object of this This chapter gives an overview of the data editor.


section

What's in this This chapter contains the following topics:


Chapter?
Topic Page
Accessing the data editor 214
Description of the data editor 216

213
Presentation of the data editor

Accessing the data editor

Introduction The project can be accessed from the structural view in the data editor. It has
features which support the following:
z Creating datatypes,
z Archiving or using function block datatypes in a library,
z Creating datatype instances,
z Displaying data structures in hierarchical manner,
z Searching/sorting/filtering data.

214
Presentation of the data editor

This is who you Project structural view,


access the data Project Browser
editor
Structural View

Project
Configuration
Derived Data Types
Derived FB Types
FB variables and instances
? Elementary Variables
? Derived variables
? I/O Derived variables
? Elementary FB instances
? Elementary FB instances
Communication
Program
Animation Tables
Operator screen
Documentation

Carry out the following steps:


Step Action
1 With the right mouse-button click on the Variables and FB instances directory.
2 Select the Open command.
Result: The data editor opens By default it is shown in the Variables tab.

Data Editor:
Data Editor

Variables DDT Types Function blocks DFB Types


Filter
Name * EDT DDT IODDT
Name Type Address Value Comment

Note: You can open the editor directly via data instances which belong to a family defined by
you. If you want to do this open the editor from one of the subdirectories in the Variables
and FB instances directory. The variables to be display will be placed in the selected
subdirectory.

215
Presentation of the data editor

Description of the data editor

Description of The Variables tab is used to manage the variable instances for the
the different tabs EDT\DDT\IODDT families:

Data Editor

Variables DDT Types Function blocks DFB Types


Filter
Name * EDT DDT IODDT

Name Type Address Value Comment

TheDDT types tab is used to manage derived data types (structures or fields):

Data Editor

Variables DDT Types Function block DFB Types


Filter
Name *
Name Type Comment

The function blocks tab is used to manage the variable instances of the type EFB
or DFB, which belong to the family of the function blocks:

Data Editor

Variables DDT Types Function block DFB Types


Filter
Name * EFB DFB

Name No. Type Value Comment

216
Presentation of the data editor

TheDFB types tab is used to manage data types from derived function blocks
(DFBs):

Data Editor

Variables DDT Types Function block DFB Types


Filter
Name *
Name No. Type Value Comment

Description of Description:
the various fields
Area Description
Name Column where you enter the name (symbol) of the instance or data type.
Type Column where you select the variable.
Address Column where you reference the variable instance with an address in the
controller (located instance).
Value Column where you initialize the variable.
No. Column where you enter the number for the ordinal number of a function
block.
Comment Column where you enter the comment for the variables.
Filter
Button Clicking on this button updates the display corresponding to the filter term
defined in the name field.
By double-clicking on this button you can open a dialog box (See At a Glance,
p. 289) for defining the filters.
Name Column where you enter the name (symbol) of the instance or the data type
you want to display. You can use the place holders (* or ? for this.).
EDT Displaying elementary data types
DDT Displaying derived data types
IODDT Display the derived data types (DDT) that reference inputs/outputs

Note: The various fields can be parameterized (See Configuring the Data Editor
columns, p. 282).

217
Presentation of the data editor

218
Managing data instances
belonging to EDT\DDT\IODDT
families 9
At a Glance

Subject of this This chapter guides the user through the creation and management of data
Chapter instances belonging to the following families:
z Elementary Data Types (EDT),
z Derived Data Types (DDT),
z Input/Output Derived Data Types (IODDT).

What's in this This chapter contains the following topics:


Chapter?
Topic Page
Creating variable instances of type EDT 220
Creating DDT data instances 223
Creating an IODDT data instance 230
Administration of an instance of type IODDT 233
Creating several data instances 237
Display the variable instances in the editor 239
Changing variable instance attributes 242
Creation of an IODDT type data instance 246

219
Managing data instances belonging to EDT\DDT\IODDT families

Creating variable instances of type EDT

Creating an Carry out the following steps:


instance of an
Step Action
unlocated
variable 1 In the Variable Editor select the Variables tab.
2 Double-click on the empty cell Name(marked with an arrow) and enter the name
of the instance.
3 Double-click on the Type cell and enter the type of the instance.
4 Enter a comment if necessary.

Example:

Data Editor

Variables DDT Types Function blocks DFB Types


Filter
Name * EDT DDT IODDT
Name Type Address Value Comment
CD_Motor1 Bool Command conveyor belt motor

220
Managing data instances belonging to EDT\DDT\IODDT families

Creating an Carry out the following steps:


instance of a
Step Action
located variable
1 In the Variable Editor select the Variables tab.
2 Double-click on the empty cell Name(marked with an arrow) and enter the name
of the instance.
3 Double-click on the Type cell and enter the type of the instance.
4 Double-click on the Address cell and enter the storage address for the
controller.
5 Enter a comment if necessary.

Note: Several different instances can be assigned to one address (multiple


assignments).

Example:

Data Editor

Variables DDT Types Function blocks DFB Types


Filter
Name * DDT DDT IODDT
Name
Name Type
Type Address
Address Value
Value Comment
Comment
CD_Motor1 Bool Command conveyor belt motor
NB_Piéces Int %MW100 Number of manufactured parts

221
Managing data instances belonging to EDT\DDT\IODDT families

Creating an Carry out the following steps:


instance of a
Step Action
variable with
direct 1 Double-click on the empty Address cell and enter the storage address for the
addressing controller.
2 Enter a comment if necessary.

Example:

Data Editor

Variables DDT Types Function blocks DFB Types


Filter
Name * EDT DDT IODDT
Name Type Address Value Comment
CD_Motor1 Bool Command conveyor belt motor
NB_Piéces Int %MW100 Number of manufactured parts
Dint %MD5 Number of running cycles

222
Managing data instances belonging to EDT\DDT\IODDT families

Creating DDT data instances

Creating a Proceed as follows to instantiate a structure type data:


structure data
Steps Actions
instance
1 Select the Variables tab from the variable editor.
2 Double-click on the empty Name cell (indicated by an arrow), and enter the name of
the instance.
3 Double-click on the corresponding Type cell, and click on .

The screen below is displayed.

Data Editor: Select variable type


Int

Variable types

Name * DDT IODDT

Libraries/Families Name Type Comment


<Application> IDENTITY <Struct>
<EDT>
<Libset>
<Catalog>

Table

OK Cancel

4 In the Libraries/Families field, select:


z the <Application> directory for a type present in the application,
z the <Libset> directory for a type that has already been archived.
5 Check the Derived box to display the compound data types.
6 Select the desired structure type in the Name column and click OK to confirm.
7 Initialize the elements of the structure by filling in the Value column. To do this,
expand the structure by clicking +.

223
Managing data instances belonging to EDT\DDT\IODDT families

Example:

Data Editor

Variables DDT Types Function Blocks DFB Types


Filter
Name * EDT DDT IODDT
Name Type Address Value Comment
Motor_CD1 Bool Conveyor belt motor command
NB_Parts Int %MW100 Number of parts manufactured
Dint %MD5 Number of cycles in progress
Person_1 IDENTITY Information person _1
Name String Smith Name of person
First name String John First name of person
Age Uint 35 Age of person
Address String 9 Main Street Address of person

Creating a data What is a non type table?


instance from a
non type table
Definition of a table type
Tab: ARRAY[1..10] of BOOL ; Tab type table

Table instantiation
My_Tab1: Tab ;type table
My_Tab2: ARRAY[1..10]OF BOOL ;non type table

Note: My_Tab1 and My_Tab2 are two 2 identical instances, the difference is that
the My_Tab1 instance type is predefined (the type name is Tab) whereas the
My_Tab2 instance type is defined during instantiation.

Carry out the following actions to instantiate a non type table:


Steps Actions
1 Select the Variables tab from the variable editor.
2 Double-click on the empty Name cell (indicated by an arrow), and enter the name of
the instance.

224
Managing data instances belonging to EDT\DDT\IODDT families

Steps Actions
3 Double-click on the corresponding Type cell, and click on .

The screen below is displayed.

Data Editor: Select variable type


Int

Variable types

Name * DDT IODDT

Libraries/Families Name Type Comment


<Application>
<EDT>
<Libset>
<Catalog>

ARRAY

OK Cancel

225
Managing data instances belonging to EDT\DDT\IODDT families

Steps Actions
4 Check the ARRAY box and:
z fill in the field corresponding to the size of the table (example 1..6),
z From the Libraries/Families field, select the types to be displayed:
z the <EDT> directory for an elementary type,
z the <Application> directory for a compound type present in the application,
z the <Library> directory for an archived compound data type in a library.
z in the Name column, select the type of the elements from the table (e.g. String
for an EDT).
See the screen below:

Data Editor: Select variable type


String

Variable types

Name * DDT IODDT

Libraries/Families Name Type Comment


<Application> Int <EDT>
<EDT> Real <EDT>
<Libset> String <EDT>
<Catalog> Time <EDT>
Tod <EDT>
UdInt <EDT>

ARRAY ( 0..6 ) OF

OK Cancel

Click OK to confirm.
6 If you want, initialize the elements of the table by filling in the Value column. To do
this, expand the table by clicking +.

226
Managing data instances belonging to EDT\DDT\IODDT families

Example:

Data Editor

Variables DDT Types Function Blocks DFB Types


Filter
Name * EDT DDT IODDT
Name Type Address Value Comment
Person_1 IDENTITY Information person _1
NB_Parts Int %MW100 Number of parts manufactured
Parts_Colors ARRAY[1...6] OF String Color Range
Parts_Colors[1] String Yellow
Parts_Colors[2] String Green Predefined serial numbers
Parts_Colors[3] String Blue
Parts_Colors[4] String Red
Parts_Colors[5] String White
Parts_Colors[6] String Black
Motor_CD1 Bool Conveyor belt motor command
DInt %MD5 Number of cycles in progress

227
Managing data instances belonging to EDT\DDT\IODDT families

Creating a table Proceed as follows to instantiate a table type data:


data instance
Steps Actions
1 Select the Variables tab from the variable editor.
2 Double-click on the empty Name cell (indicated by an arrow), and enter the name of
the instance.
3 Double-click on the corresponding Type cell, and click on .

The screen below is displayed.

Data Editor: Select variable type


Bool

Variable types

Name * DDT IODDT

Libraries/Families Name Type Comment


<Application> IDENTITY <Struct>
<EDT> SERIAL_NUMBERS Array[1..1000] of String
<Libset>
<Catalog>

Table

OK Cancel

4 In the Libraries/Families field, select:


z the <Applications> directory for a type present in the application,
z the <Library> directory for an archived compound type in a library.
5 Check the Derived box to display the compound data types.
6 Select the desired table type in the Name column and click OK to confirm.
7 If you want, initialize the elements of the table by filling in the Value column. To do
this, expand the table by clicking +.

228
Managing data instances belonging to EDT\DDT\IODDT families

Example:

Data Editor

Variables DDT Types Function Blocks DFB Types


Filter
Name * EDT DDT IODDT
Name Type Address Value Comment
Pressure_Value Int %IW0.2.0.0
Person_2 IDENTITY Information for person 2...
Person_1 IDENTITY Information for person 1...
NB_Parts Int %MW100 Number of parts manufactured
Parts_Identification SERIAL_NUMBERS %MW100 Predefined serial numbers
Parts_Identification[0] String 01-12-02_0...
Parts_Identification[1] String 01-12-02_0...
Parts_Identification[2] String 01-12-02_0...
Parts_Identification[3] String 01-12-02_0...
Parts_Identification[4] String 01-12-02_0...
Parts_Identification[5] String 01-12-02_0...
Parts_Identification[6] String

229
Managing data instances belonging to EDT\DDT\IODDT families

Creating an IODDT data instance

Creating an These data types (structures) are predefined by the manufacturer. They contain
IODDT data input/output language objects that belong to the channel of an application-specific
instance module (or to the module itself).

To create an IODDT data instance, carry out the following actions:


Step Action
1 Select the Variables tab from the variable editor.
2 Double-click on the empty Name cell (indicated by an arrow), and enter the name of
the instance.
3 Double-click on the corresponding Type cell, and click on .

The screen below is displayed:

Data Editor: Select variable type

Bool

Variable types

Name * DDT IODDT

Libraries/Families Name Type Comment


<Application>
<EDT>
<Library>
<Catalog>

ARRAY

OK Cancel

230
Managing data instances belonging to EDT\DDT\IODDT families

Step Action
4 In the Libraries/Families field, expand the <Catalog> directory.
The screen below is displayed:

Data Editor: Select variable type


T_ANA_IN_STD

Variable types
Name * DDT IODDT

Libraries/Families Name Type Comment


<Libraries> T_ANA_IN_EVT <IODDT> I/O of Fast analog input...
<catalog> T_ANA_IN_GE <IODDT> Generic analog input...
Premium T_ANA_IN_MO. <IODDT> Momentum ANA 16 IN
Analog T_ANA_IN_MO. <IODDT> Momentum ANA 4/8 IN
Cam T_ANA_IN_STD <IODDT> Standard analog input
Communication T_ANA_OUT_G <IODDT> Generic analog output
Counting T_ANA_OUT_M <IODDT> Momentum ANA 8 O...

ARRAY

OK Cancel

5 Select the corresponding PLC type , the task and IODDT type.
Click OK to confirm.

Example: Input_Pressure instance of type T_Ana_IN_STD:

Data Editor

Variables DDT Types Function Blocks DFB Types


Filter
Name * EDT DDT IODDT
Name Type Address Value Comment
Dint %MD5 Number of cycles in ...
Motor_CD1 Bool Conveyor belt motor...
Parts_Colors ARRAY[1..6] OF String Color Range
Parts_Identification SERIAL_NUMBERS Predefined serial num...
NB_Parts Int %MW100 Number of parts manufactured
Person_1 IDENTITY Personal information
Input_Pressure T_ANA_IN_STD
CH_ERROR Bool
VALUE Int
EXCH_STS Int
STS_IN_PROGR Bool
CMD_IN_PROGR Bool

231
Managing data instances belonging to EDT\DDT\IODDT families

Linking the Carry out the following actions:


instance with the
Step Action
application-
specific module 1 Select the Variables tab from the variable editor.
2 Check the IODDT box to display only IODDT type instances.
3 Select the IODDT instance from which the link should be made.
4 In the Address column, enter the address corresponding to the module or to its
future slot (the module need not be configured at this stage).
Example:

Data Editor
Variables DDT Types Function Blocks DFB Types
Filter
Name * EDT DDT >>
Name Type Address V... Comment
Input_Pressure T_ANA_IN_STD %ch0.2.0

Rules to observe The rules are as follows:


z an IODDT type data element cannot be embedded in a DDT type data element,
z an IODDT type data element cannot be embedded in IODDT type data element,
z a public or private DFB variable cannot be an IODDT type,
z a DFB input/output parameter can be an IODDT type (except for with certain
modules, in which case this is specified in the pages on each IODDT),
z an IODDT instance cannot be accessed from a DFB section.

232
Managing data instances belonging to EDT\DDT\IODDT families

Administration of an instance of type IODDT

Adding an alias This procedure is used for customizing (changing the name defined by the
manufacturer) elements used to make up an IODDT instance.

To do this carry out the following steps:


Step Action
1 Create one or more variable instances you want to customize that are identical with
the elements of the IODDT.
E.g. Value_Pression, Erreur_Voie:

Data Editor
Variables DDT Types Function blocks DFB Types
Filter
Name * EDT
Name Type Address Value
Dint %MD5
CD_Motor1 Bool
Colors_Pièces ARRAY [1..6] 0F...
Value_Pression Int
Erreur_Voie Bool
Printer input T_ANA_IN_STD %ch.0.2.0
CH_ERROR Bool %IO.2.0.ERR
VALUE Int %IW0.2.0.0
EXCH_STS Int %MW0.2.0.0.

2 Select an element of the instance Entrée_Pression (e.g. VALUE), that you want to
assign the instance Value_Pression just created.

233
Managing data instances belonging to EDT\DDT\IODDT families

Step Action
3 Using the shortcut menu select the Propertiescommand.
The Data properties field opens:
Data Properties: Entrée_Pression VALUE
General attribute

Name Value
Path Entrée_Pression VALUE
Name VALUE
Comment
Program
Type Int
Category: <EDT>
Variable 4
Address
Alias

4 In the Alias area enter the element Value_Pression and then do the same for all
elements that you want to assign.
Along with the alias names and the elements of the IODDT a symbol is shown.
Data Editor
Variables DDT Types Function blocks DFB Types
Filter
Name * EDT
Name Type Address Value
Dint %MD5
CD_Motor1 Bool
Colors_Pièces ARRAY 1..6] 0F...
Value_Pression Int %IW0.2.0.0
Erreur_Voie Bool %IO.2.0.ERR
Printer input T_ANA_IN_STD %ch.0.2.0
Erreur_Voie [.CH_ERROR] Bool %IO.2.0.ERR
Value_Pression [.VALUE] Int %IW0.2.0.0
EXCH_STS Int %MW0.2.0.0.
STS_IN_PROGR Bool %MW0.2.0.0.0

Rules:
The alias descriptions are only allowed for elements of type IODDT.

An alias must be a data type that belongs to the EDT (Elementary Data Type) family.

The type and address for an alias cannot be changed as these attributes are
defined by the IODDT element.

Name and Comments can be changed.

234
Managing data instances belonging to EDT\DDT\IODDT families

The "Data The Data properties field can be opened from the IODDT structure element . In
properties" field such a case Alias is the field attribute; it contains the names of the EDT variables.
Example:

Data Properties: Entrée_Pression VALUE

General attribute

Name Value
Path Entrée_Pression VALUE
Name VALUE
Comment
Program
Type Int
Category: <EDT>
Variable 4
Address
Alias Value_Pression

The Data properties field can be opened from the EDT instance . In such a case
Alias from is the field attribute; it contains the names of the elements of the IODDT
structure.
Example:

Data Properties: Value_Pression

General attribute

Name Value
Name Value_Pression
Comment
Program
Alias for Entrée_Pression VALUE
Type Int
Category: <EDT>
Address %IW0.2.0.0

235
Managing data instances belonging to EDT\DDT\IODDT families

Disconnecting Carry out the following steps:


an alias
Step Action
1 Select the element from the appropriate IODDT structure.
2 From the shortcut menu select the command Properties, and the following dialog box
will appear.
Dialog box:
Data Properties: Entrée_Pression VALUE
General attribute

Name Value
Path Entrée_Pression VALUE
Name VALUE
Comment
Program
Type Int
Category: <EDT>
Variable 4
Address
Alias Value_Pression

3 Double-click on the target alias, delete the element in edit mode (Value_Pression) and
click accept.
The symbols shown on the element disappear:
Data Editor
Variables DDT Types Function blocks DFB Types
Filter
Name * EDT DDT IODDT
Name Type Address Value Comment
Value_Pression Int
NB_Pièces Int %MW100
Erreur_Voie Bool %IO.2.0.ERR
Printer input T_ANA_I... %ch.0.2.0
Erreur_Voie [.CH_ERROR] Bool %IO.2.0.ERR
VALUE Int %ch.0.2.0
EXCH_STS Int %MW0.2.0.0.
STS_IN_PROGR Bool %MW0.2.0.0.0
CMD_IN_PROGR Bool %MW0.2.0.0.1

Note: The alias instance returns to being a normal EDT instance and the attributes
for the element to which the instance is assigned are retained. The element for the
IODDT structure contains all of the manufacturer defined names again.

236
Managing data instances belonging to EDT\DDT\IODDT families

Creating several data instances

Procedure You have two choices:


z with the Copy\Paste function,
z with the Import function.

Copying\Pasting Carry out the following actions:


instances
Step Action
1 Select the Variables tab from the variable editor.
2 Select the desired instances (rows).
Data Editor
Variables DDT Types Function BlocksDFB Types
Filter
Name * EDT DDT IODDT
Name Type Address... Comment
Parts_Identification SERIAL_NUMBE Predefined serial
NB_Parts Int %MW100 Number of parts
Dint %MD5 Number of cycles in
Parts_Colors ARRAY [1..6] Color Range 1
Person_1 IDENTITY Personal information
Motor_CD1 Bool Conveyor belt motor
Pressure_Value Int %IW0.2.0.0
Channel_Error Bool %I0.2.0.ERR

3 Select the Copy command in the contextual menu.


4 Select the free space (row) from which the instances will be copied
5 Select the Paste command in the contextual menu. The new instances will be
created and renamed
Example:

Data Editor
Variables DDT Types Function DFB Types
Filter
Name * EDT DDT IODDT
Name Type Address... Comment
Dint %MD5 Number of cycles in
Parts_Colors ARRAY[1...6] OF String Color Range 1
Person_1 IDENTITY Personal information
Motor_CD1 Bool Conveyor belt motor
Pressure_Value Int %IW0.2.0.0
Channel_Error Bool %I0.2.0.ER
Input_Pressure T_ANHA_IN_ST %ch0.2.0
Parts_Colors_1 ARRAY[1...6] OF String Color Range 2
Person_2 IDENTITY Personal information

237
Managing data instances belonging to EDT\DDT\IODDT families

Note: The renaming rules are as follows:


z An instance name <Name>_<Number> or <Name> becomes
<Name>_<Number+1> or <Name_1> after renaming
z An address %MW1 is renamed %MW2, though an exception is made for %MFs
where the increment is 2. If the renaming address already exists, then you must
use the first index that follows.

Importing See "Importing variables" (See Importing variables, p. 1172).


instances

238
Managing data instances belonging to EDT\DDT\IODDT families

Display the variable instances in the editor

Display The variable instances can be displayed in ascending or descending alphabetical


sequence in a order. This sequence will be used in a column chosen by you.
column For this, click on the area that contains the name of the column in question which
determines the sorting order. After that the corresponding arrow will turn blue.
Sorting in descending alphabetical order in the column Name
Data Editor

Variables DDT Types Function blocks DFB Types


Filter
Name * EDT DDT IODDT
Name Type Address... Comment
Valeur_Pression Int %IW0.2.0.0
Person_2 IDENTITY Personal Information
Person_1 IDENTITY Personal Information
NB_Pièces Int %MW100 Number of manufact...
Identification_Pièces SERIAL_NUMBERS: Predefined seri...
Erreur_Voie Bool %I0.2.0.ERR
Printer input T_ANA_IN_STD %CH0.2.0
Couleurs_Pièces ARRAY[1..6] OF String Area of colors 2
Colors_Parts ARRAY[1..6] OF String Area of colors 1
CD_Motor1 Bool Command conveyor belt motor
Dint %MD5 Number of run...

Sorting in ascending alphabetical order in the column Type


Data Editor

Variables DDT Types Function blocks DFB Types


Filter
Name * EDT DDT IODDT
Name Type Address... Comment
Colors_Parts ARRAY[1..6] OF String Area of colors 1
Coulors_Parts ARRAY[1..6] OF String Area of colors 2
CD_Motor1 Bool Command conveyor belt motor
Erreur_Voie Bool %I0.2.0.ERR
Dint %MD5 Number of run...
Person_1 IDENTITY Personal Informati...
Person_2 IDENTITY Personal Informati...
NB_Pièces Int %MW100 Number of manufact...
Valeur_Pression Int %IW0.2.0.0
Identification_Pièces SERIAL_NUMBERS: Predefined serie...
Printer input T_ANA_IN_STD %ch0.2.0

239
Managing data instances belonging to EDT\DDT\IODDT families

Display the To show the elements that belong to an instance of the "derived" type (structure or
elements of an field), carry out the following steps:
instance of the
Step Action
"derived" type
1 In the Variable Editor select the Variables tab.
2 Activate the check box DDT.
2 Click on the + beside the instance of the desired structure or field type and this
will then be shown on screen.
3 Run the operation again if you want to display an interlaced element.

Example: Display the instance Person_1 of the structure type IDENTITY.

Data Editor

Variables DDT Types Function blocks DFB Types


Filter
Name * Elementary Derived Derived I/O
Name Type Address... Comment
Valeur_Pression Int %IW0.2.0.0
Person_2 IDENTITY Personal Information
Person_1 IDENTITY Personal Information
Name String Name of the Person
First name String First name of the person
Age Uint Age of the Person
Address String Address of the person
Information STATUS
Married Bool 0 = no, 1 = yes
Number_Children Uint
Occupation String
NB_Pièces Int %MW100 Number of manufact...
Identification_Pièces SERIAL_NUMBERS: Predefined seri...

240
Managing data instances belonging to EDT\DDT\IODDT families

Displaying the For anunopened field Data Properties:


instance
Step Action
attributes
1 In the Variable Editor select the Variables tab.
2 Select the desired instance.
3 From the context menu select the command Properties and the attributes will
be displayed in the field.

Example:

Data Properties: Couleurs_Pièces_1


General attributes

Name Value
Name Couleurs_Pièces_1
Comment Area of colors 2
Address
Program
Constants 0
Save
Enet NO
Type Array[1..6] of String
Category <Array>
Size 96

For a field that is already open Data Properties:


After the instance has been chosen, the field Data properties is updated
automatically with the display for the attribute in question.

Sorting the See Filtering data, p. 289


variable
instances

241
Managing data instances belonging to EDT\DDT\IODDT families

Changing variable instance attributes

Changing the Carry out the following steps:


name of an
Step Action
instance
1 In the Variable Editor select the Variables tab.
2 Double-click on the instance name and enter the new name.

Note: The instance name can only be used once.

Changing the There are three options.


type of an
instance In the Variable Editor select the Variables tab:
Double-click on the variables’ type and ... then...
enter the desired type

Dint ...

use a field of type select the desired type

EBool
EBool
Int
Real
Time
Tod
UdInt
Uint
Word

click the button select the appropriate type in the "Variables


type selection" (See Description of the editor
for selecting data types, p. 285) window

242
Managing data instances belonging to EDT\DDT\IODDT families

Changing the Carry out the following steps:


address of an
Step Action
instance
1 In the Variable Editor select the Variables tab.
2 Double-click on the instance address and enter the new address.

Note: Several different instances can be assigned to one address (multiple


assignment).

Changing an Carry out the following steps:


attribute in the
Step Action
"Data
Properties" field 1 In the Variable Editor select the Variables tab.
2 Select the desired instance.
3 Using the shortcut menu select the Propertiescommand.
4 In the Data properties field select the desired attribute.
5 Change the attribute.

Assigning an address for the CD_Motor1 instance (the variable is located):

Data Properties: CD_Motor1


General attribute

Name Value
Name CD_Motor1
Comment Command conveyor belt motor
Address %M20
Prog. Read/write
Value
Constants 0
Save 0
Type Boolean
Category: <EDT>
Variable 1

243
Managing data instances belonging to EDT\DDT\IODDT families

Changing the Carry out the following steps:


attribute in
Step Action
several
instances 1 In the Variable Editor select the Variables tab.
2 Select the desired instances.
3 Using the shortcut menu select the Propertiescommand.
4 In the Data properties field select the desired attribute.
5 Change the attribute.

Note: For this functionality the following restrictions apply:


z names and addresses cannot be changed,
z the contents of the attribute to be changed must be the same for all selected
instances,
z the change must be tolerated by all the instances selected,
z for sub-element instances with different superordinate elements, multiple
selection is not possible.

Example: As can be seen in the following graphic, the three instances have the
same type and can be changed from Bool to Ebool.

Data Editor
Variables DDT Types Function blocks DFB Types
Filter
Name * Elementary Derived >>
Name Type Address Come
NB_Pièces Int %MW100 Number
CD_Motor3 EBool Comman
CD_Motor2 EBool Comman
CD_Motor1 EBool Comman
Number
Data Properties: {...}
V Boolean
E General attribute
E
Name Value
P, Persona
Name
P, Persona
Comment Command conveyor belt
I Address Number
C Prog. Read/write Scope
Value
Constants 0
Save 0
Type EBool
Category: <EDT>
Variable 1

244
Managing data instances belonging to EDT\DDT\IODDT families

Rule for The internal organization of an instance of type structure (type, that belongs to
instances of the the DDT family) cannot be changed via the instance, but rather via the type of the
type Structure instance (DDT type tab).

In contrast, the changes listed above (instance name, type, address) are applied
directly to the instances and do not affect the internal organization, only the
instantiation of the type.

245
Managing data instances belonging to EDT\DDT\IODDT families

Creation of an IODDT type data instance

At a Glance In the software installation principle the following must be carried out in order:
z create an IODDT type instance,
z associate the IODDT instance with the module,
z generate the project.
The following examples present the creation and association with a channel of an
IODDT instance of the type T_GEN_MOD. The principle is the same for all the other
IODDTs of the application-specific modules.

Creation of an To create an IODDT type instance, carry out the following actions:
IODDT type
Step Action
instance
1 Using the variable editor, select the Variables tab.
2 Double-click on an empty Name cell, and enter the name of the instance.
3 Double-click on the corresponding Type cell, and press on the button

...
.
The following screen is displayed:

DATAEDITOR: Variable type selection


Bool

Variable types
Name * Derive Derived I/

Libraries/Families Name Type Comment


<Application>
<EDT>
<Libset>
<Catalog>

Table

OK Cancel

246
Managing data instances belonging to EDT\DDT\IODDT families

Step Action
4 In the zone Libraries/Families deploy the Premium subdirectory of the Catalog
directory.
Result: the following screen is displayed.

Variable types

Name * Derive Derived I/


Libraries/Families Name Type Comment
Premium T_ANA_... <IODDT> Momentum
Analog T_ANA_I.. <IODDT> Standard analog input
Cam T_ANA_I.. <IODDT> Fast analog input IODDT
Common T_ANA_I.. <IODDT> Generic analog input
Counting T_ANA_I.. <IODDT> Momentum ANA16

Table

5 Select the Module directory in the Libraries/Families zone.


Result: the IODDT type appears.

Variable types

Name * Derived Derived I/O

Libraries/Families Name Type Comment


Cam T_GEN_MO <IODDT> Standard MOD
Common
Up counting
Discrete
Module

Table

Select in the Type column the IODDT type desired (in our example T_GEN_MOD).
Validate with OK.

247
Managing data instances belonging to EDT\DDT\IODDT families

IODDT instance To link an IODDT type instance to the channel of an application-specific module,
link with the carry out the following actions:
application-
Step Action
specific module
1 Using the variable editor, select the Variables tab.
2 Check the Derived I/O box, so that only IODDT type instances are displayed.
3 Select the IODDT instance from which the link is to be created.
4 In the Address column, enter the address corresponding to the module or to its
future slot (the module need not be configured at this stage).
Example:

Data Editor
Variables DDT types Function blocks DFB types
Filter
Name * Elementary Derived Derived I/O
Name Type Address Value Comment
Input_Pressure T_GEN_MOD %CH0.2.MOD

Rules to observe The rules are as follows:


z an IODDT data type cannot be imbricated in a DDT data type,
z an IODDT data type cannot be imbricated in another IODDT data type,
z the public or private variable of a DFB cannot be of the type IODDT,
z the input/output parameter of a DFB can be of the type IODDT,
z it is not possible to access an IODDT type instance from a DFB section.

248
Creating derived data types (DDT)

10
At a Glance

Subject of this This chapter guides the user through the creation and management of DDTs
Chapter (Derived Data Types).

What's in this This chapter contains the following topics:


Chapter?
Topic Page
Accessing Derived Data Types (DDT) 250
Creating a derived datatype (DDT) 251
Management of Derived Data Types and their elements 257
Creating nested Derived Data Types 261
Saving derived datatypes (DDT) 267

249
Creating derived data types (DDT)

Accessing Derived Data Types (DDT)

Procedure There are two ways of accessing the part of the variable editor that will allow you to
create derived data types:
z from the structural view of the project, via the Variables & FB instances
directory,
z from the structural view of the project, via the Derived Data Types directory.

Access via the Carry out the following actions:


"Variables & FB
Step Action
instances"
directory 1 From the structural view of the project, position yourself on the "Variables & FB
instances" directory.
2 Select the Open command in the contextual menu.
3 Select the DDT types tab from the variable editor.

Example:

Data Editor

Variables DDT Types Function Blocks DFB Types


Filter
Name *
Name Type Address Value Comment

Access via the Carry out the following actions:


"Derived Data
Step Action
Types" directory
1 From the structural view of the project, position yourself on the "Derived Data
Types" directory.
2 Select the Open command in the contextual menu. The data editor opens and
is automatically positioned on the DDT Types tab.

250
Creating derived data types (DDT)

Creating a derived datatype (DDT)

Introduction A derived datatype has a:


z field
z or a structure:
z Structure for input/output data, the type is not created by the user in this case,
but by the manufacturer (IODDT),
z Structure for other data; in this case the type is created by user.

Note: The derived datatypes can be created and changed in Unity Pro L and
Unity Pro XL.

This is how you Carry out the following steps:


create a
Step Action
structure type
1 In the Data Editor in theDDT types tab (marked with an arrow) double-click the empty
cell for Name and enter the type name of the structure; the type <Struct> is selected
by default.
2 Call up the newly created structure by clicking on +.
Example:
Data Editor
Variables DDT Function DFB
Filt
Name *
Name Type Comment
IDENTITÄT <Struct>

251
Creating derived data types (DDT)

Step Action
3 Double-click on the Name, cell and enter the name of the first element in the
structure, its name and its comment (optional).
Example:

Data Editor
Variables DDT Types Function blocks DFB Types
Filte
Name *
Name Type Comment
IDENTITÄT <Struct>
Name String Name of the Person

4 Double-click on the next cell (marked with an arrow) to enter the name of the next
element etc.
5 Change to the name of the type of the structure (IDENTITY), and select the entry
Analyze typefrom the shortcut menu.

The structure was successfully analyzed (the symbol changed):

Data Editor

Variables DDT Types Function blocks DFB Types


Filter
Name *
Name T... Comment
IDENTITÄT <Struct>
Name String Name of the Person
First name String First name of the person
Age Uint Age of the Person
Address String Address of the person

252
Creating derived data types (DDT)

The structure IDENTITY is created in the project structure view:

Project Browser
Structural View

Project
Configuration
Derived Data Types
IDENTIT
Derived FB Types
FB variables and instances
Communication
Program
Animation Tables
Operator screen
Documentation

Note: Using the shortcut menu and the Open command you can access the
IDENTITY structure.

253
Creating derived data types (DDT)

This is how you Carry out the following steps:


create a field
Step Action
type
1 In the Data Editor in theDDT types tab (marked with an arrow) double-click the empty
cell for Name and enter the field type name. The type <Struct> is selected by default.
2 Double-click on the cellType, select <Field> and confirm by double-clicking on it.
The following window appears:

Data Editor: Variable types selection


ARRAY[0..1] OF Bool

Variable types
Name * DDT

Libraries/Families Name Type Comment


<Application> Bool <EDT>
<EDT> Byte <EDT>
<Library> Date <EDT>
Dint <EDT>
Dt <EDT>
DWord <EDT>

ARRA ( 0..1 ) OF

OK Cancel

254
Creating derived data types (DDT)

Step Action
3 The ARRAY checkbox is automatically checked:
z fill in the field with the size of the field (example 1-6),
z In the libraries/families area select the types that should be displayed:
z the <EDT> directory for a primitive type,
z the <Application> directory for a derived type already in the application,
z the <Library> directory for a derived type archived in a library.
See the following window:

Data Editor: Variable types selection


String

Variable types
Name * DDT
Libraries/Families Name Type Comment
<Application> Dt <EDT>
<EDT> DWord <EDT>
<Libraries> EBool <EDT>
Int <EDT>
Real <EDT>
String <EDT>

ARRA ( 0..1000 ) OF

OK Cancel

Confirm with OK.


4 Move to the name of the field type and select the entryAnalyze typefrom the shortcut
menu.

255
Creating derived data types (DDT)

The field was successfully analyzed (the symbol changed):

Data Editor

Variables DDT Types Function blocks DFB Types


Filter
Name *
Name Type Comment
SERIAL_NUMBERS: ARRAY[0..1000] OF String
NUMBER_SERIES[0] String
NUMBER_SERIES[1] String
NUMBER_SERIES[2] String
NUMBER_SERIES[3] String
NUMBER_SERIES[4] String
NUMBER_SERIES[5] String
NUMBER_SERIES[6] String
NUMBER_SERIES[7] String
NUMBER_SERIES[8] String

The field type SERIAL_NUMBERS is created in the project structure view:

Project Browser
Structural View

Project
Configuration
Derived Data Types
IDENTITY
SERIAL_NUM
Derived FB Types
FB variables and instances
Communication
Program
Animation Tables
Operator screen
Documentation

Note: Using the shortcut menu and the Open command you can access the
SERIAL_NUMBERS field type.

256
Creating derived data types (DDT)

Management of Derived Data Types and their elements

Inserting an Carry out the following actions:


element into a
Steps Action
Derived Data
Type 1 Expand the desired data type from the DDT types tab in the data editor.
2 Position yourself on the element on top of which you want to insert another element,
and then use the contextual menu to select the Insert New command.
Inserting an element above the Address element:

Data Editor

Variables DDT Types Function Blocks DFB Types


Filter
Name *
Name Type Comment
IDENTITY <Struct>
Name Strin Name of person
First name String First name of person
Age Uint Age of person

Address String Address of person


Inform... STATUS

NUMBER... ARRAY[0..1000] OF String


STATUS <Struct> Additional information

3 Enter the element attributes in the row that has just been created.

257
Creating derived data types (DDT)

Copying an Copying can be done within the same data type or between different data types.
element Carry out the following actions:
belonging to a
Steps Action
Derived Data
Type 1 Expand the data type from which you want to copy the element from the DDT
types tab in the data editor.
2 Select the desired element.
3 Select the Copy command in the contextual menu.
4 Copying in the same type:
Either:
z you position yourself on the empty row,
z position yourself over the element for which you want to insert a new
element, and then use the contextual menu to select the Insert New
command.

Copying into another type:


Expand the data type in which you want to copy the element, and then either:
z you position yourself on the empty row,
z position yourself over the element for which you want to insert a new
element, and then use the contextual menu to select the Insert New
command.
5 Select the Paste command in the contextual menu.

Note: The name of the copied element is created automatically, and, if the copy is
made within the same type, the element is renamed.

258
Creating derived data types (DDT)

Copying a Carry out the following actions:


Derived Data
Steps Action
Type
1 Select the desired data type from the DDT types tab in the data editor.
2 Select the Copy command in the contextual menu.
3 Position yourself on the empty row and select the Paste command in the
contextual menu.

Note: The name of the copied type is created automatically, and if the original
name was IDENTITY the new type will be named IDENTITY_1.

Example:

Data Editor

Variables DDT Types Function Blocks DFB Types

Filter
Name *
Name Type Comment
IDENTITY <Struct>
Name String Name of person
First name String First name of person
Age Uint Age of person
IDENTITY_1 <Struct>
Name String Name of person
First name String First name of person
Age Uint Age of person

259
Creating derived data types (DDT)

Deleting an Carry out the following actions:


element
Step Action
belonging to a
Derived Data 1 Expand the data type from which you want to delete the element from the DDT
Type Types tab in the data editor.
2 Select the desired element.
3 Select the Delete command in the contextual menu.

Note: Elements belonging to protected data types cannot be deleted.

Deleting a Carry out the following actions:


Derived Data
Step Action
Type
1 Select the desired data type from the DDT types tab in the data editor.
2 Select the Delete command in the contextual menu.

Note: The following cannot be deleted:


z protected data types,
z data types instantiated in the application.

260
Creating derived data types (DDT)

Creating nested Derived Data Types

Introduction Data types belonging to the DDT family can be nested. This nesting can be
organized in the following manner:
z structures containing tables or structures,
z tables containing tables or structures,
z a combination of the different nestings.

Table containing Carry out the following actions:


structures
Step Action
1 From the DDT types tab of the data editor, double-click in the empty Name cell
(indicated by an arrow), and enter the name of the table type. The type <Struct> is
chosen by default.
2 Double-click on the corresponding Type cell, select <ARRAY> and double-click to
confirm.
The following window is displayed.

Data Editor: Select variable type


ARRAY[0..1] OF Bool

Variable types

Name * DDT

Libraries/Families Name Type Comment


<Application> Bool <EDT>
<EDT> Byte <EDT>
<Libset> Date <EDT>
Dint <EDT>
Dt <EDT>
DWord <EDT>

ARRAY ( 0..1 ) OF Bool

OK Cancel

261
Creating derived data types (DDT)

Step Action
3 The ARRAY box is checked automatically:
z fill in the field corresponding to the size of the table,
z In the Libraries/Families field, select:
z the <Applications> directory for a type present in the application,
z the <Libset> directory for a type that has already been archived,
See the screen below:

Data Editor: Select variable type


IDENTITY

Variable types

Name * DDT

Libraries/Families Name Type Comment


<Application> IDENTITY <Struct>
<EDT> SERIAL... ARRAY[0...
<Libset> PERS... <Struct>
STATUS <Struct> Additional information

ARRAY ( 1..50 ) OF IDENTITY

OK Cancel

4 Check the DDT box to display the Derived Data Types.


5 Select the desired structure in the Name column and click OK to confirm.
6 Position yourself on the name of the table type, and then use the contextual menu to
select Analyze Type.

262
Creating derived data types (DDT)

PERSONNEL table containing IDENTITY structures:

Data Editor

Variables DDT Types Function Blocks DFB Types


Filter
Name *
Name Type Comment
IDENTITY <Struct>
SERIAL_NUMBERS ARRAY[0..1000] OF String
STATUS <Struct> Additional information
PERSONAL ARRAY[1..50] OF IDENTITY
PERSONAL[1] IDENTITY
Name String Name of person
First name String First name of person
Age Uint Age of person
Address String Address of person
Information STATUS
PERSONAL[2] IDENTITY

Structure Carry out the following actions (it is assumed that you're starting with an existing
containing a structure):
structure
Step Action
1 From the DDT types tab, expand the structure type to which you want to add a
structure type element by clicking on +.
2 Double-click in the empty Name cell, and enter the name of the new structure type
element.

263
Creating derived data types (DDT)

Step Action
3 Double-click on the corresponding Type cell, and click on .

The screen below is displayed.


Data Editor: Select variable type
Bool

Variable types

Name * DDT

Libraries/Families Name Type Comment


<Application> IDENTITY <Struct>
<EDT> SERIAL_NUMBER ARRAY[0...
<Libset> PERSONAL ARRAY[1...
STATUS <Struct> Inform...

ARRAY

OK Cancel

4 z In the Libraries/Families field, select the directory:


z <Applications> for a type present in the application,
z <Libset> for a type that has already been archived.
See the screen below:
Data Editor: Select variable type
STATUS

Variable types
Name * Derived

Libraries/Families Name Type Comment


<Application> IDENTITY <Struct>
<EDT> SERIAL_NUMBER ARRAY[0...
<Libset> PERSONAL ARRAY[1...
STATUS <Struct> Inform...

ARRAY

OK Cancel

5 Check the DDT box to display the Derived Data Types.


6 Select the desired structure in the Name column and click OK to confirm.
7 Position yourself on the name of the structure type, and then use the contextual menu
to select Analyze Type.

264
Creating derived data types (DDT)

Example: IDENTITY structure containing an Information structure of the type


STATUS

Data Editor
Variables DDT Types Function Blocks DFB Types
Filter
Name *
Name Type Comment
IDENTITY <Struct>
Name String Name of person
First name String First name of person
Age Uint Age of person
Address String Address of person
Information STATUS
Married Bool 0=no, 1=yes
Nb_children Uint
Profession String

SERIAL_NUMBERS ARRAY[0..1000] OF String


STATUS <Struct> Additional information
PERSONAL ARRAY[1..50] OF IDENTITY

265
Creating derived data types (DDT)

Combinations of The example below represents:


the different z a PERSONNEL table composed of IDENTITY structures,
nestings. z IDENTITY structures composed of STATUS structures,
z STATUS structures composed of Children_Names tables.

Example:

Data Editor
Variables DDT Types Function Blocks DFB Types
Filter
Name *
Name Type Comment
PERSONAL ARRAY[1..50] OF IDENTITY
PERSONAL1 IDENTITY
Name String Name of person
First name String First name of person
Age Uint Age of person
Address String Address of person
Information STATUS
Married Bool 0=no, 1=yes
Nb_children Uint
Profession String
Childrens' first names ARRAY[1..7] OF String
First names child1 String
First names child2 String
First names child3 String
First names child4 String
First names child5 String
First names child6 String
First names child7 String
First names child8 String
PERSONAL2 IDENTITY

266
Creating derived data types (DDT)

Saving derived datatypes (DDT)

Description of In the interests of reuse, you can put datatypes that you created in your library into
how to save another application.

Putting a Carry out the following steps:


datatype into the
Step Action
library
1 In the Variable Editor select the DDT types tab.
2 Select the datatype that you want to save in the library.
3 Using the shortcut menu select the Copy into librarycommand.
The following dialog box opens:
Copy type in library
Chose a family:
Name
Custom Lib

OK Cancel Help

4 Show the desired family, to select the directory where you want to archive the
datatype.
5 Confirm with OK.

Note: This procedure can also be started from the project browser in the Derived Data
Types directory.

Restoring a See loading an object from the library. (See Loading an object into the project from
datatype in the the library, p. 199)
library

267
Creating derived data types (DDT)

268
Managing data instances
belonging to function block
families (EF) 11
Introduction

Object of this This chapter guides the user through the creation and management of data
section instances belonging to block function types such as:
z Elementary function blocks (EFB),
z Derived function blocks (DFB).

What's in this This chapter contains the following topics:


Chapter?
Topic Page
Creating a variable instance from function blocks (EFB/DFB) 270
Displaying function block variable instances in the editor 272
Changing the attribute for variable instances in a function block 275

269
Managing data instances belonging to function block families (EF)

Creating a variable instance from function blocks (EFB/DFB)

Creating a Carry out the following steps:


function block
Steps Actions
instance
1 In the Variable Editor select the function blocks tab.
2 Double-click the empty cell for Name (marked with an arrow) and enter the name of
the instance and confirm by pressing the inputbutton.
The following window appears:

Data Editor: FB Type Selection


Help about type

Functions and Function Block Types

Name * EFB DFB

Libraries/Families Name Type Comment


<Application>
<Library>

OK Cancel

270
Managing data instances belonging to function block families (EF)

Steps Actions
3 In the libraries/families area select the following:
z the <Applications> directory for a type already in the application,
z the <Library> directory for a type archived already.
Example: Select an EFB type archived in the Diagnostics library:

Data Editor: FB Type Selection


D_GRP Help about type

Functions, Function Block Types


Name * EFB DFB

Libraries/Families Name Type Comment


<Application> D_LOCK <EFB> Enable diagnostics
<Library> D_ACT <EFB> Procedure diagnostic
Base Lib D_DYN <EFB> Dynamic diagnostic
Communication D_GRP <EFB> Signalgroup diagnosis
CONT_CTL D_PRE <EFB> Precondition for editing...
Custom Lib D_REA <EFB> Reaction diagnosis
Diagnostics
I/O management
Motion
Obsolete Lib
System

OK Cancel

5 In the Name column select the EFB or DFB type and confirm with OK.

Example:
Data Editor
Variables DDT Types Function blocks DFB Types
Filter
Name * EFB DFB

Name no Type Value Comment


Contrôle_Process D_GRP EFB Diagnostic
<Inputs>
ED 1 Bool Input diagnostics release
DTIME 2 Time Preset time
IN 3 Bool Signalgroup diagnosis
<Outputs>
ERR 1 Bool Diagnostics output
<Inputs/Outputs.>
<public>
AREA_NR Byte no comment
OP_CTRL Bool no comment

271
Managing data instances belonging to function block families (EF)

Displaying function block variable instances in the editor

Display The variable instances can be displayed in ascending or descending alphabetical


sequence in a order. This sequence will be used in a column chosen by you.
column To do this, click on the area that contains the name of the column in question and
the arrow will turn blue.
Sorting in descending alphabetical order in the column Name

Data Editor
Variables DDT Types Function blocks DFB Types
Filter
Name * EFB DFB

Name no Type Value Comment


Contrôle_Process_1 D_GRP
Control_Process D_GRP EFB Diagnostics
Compteur_Pièces_2 Compteur_Pièces
Compteur_Pièces_1 Compteur_Pièces
Compteur_Pièces Compteur_Pièces

Sorting in ascending alphabetical order in the column Type

Data Editor
Variables DDT Types Function blocks DFB Types
Filter
Name * EFB DFB

Name no Type Value Comment


Counter_Parts Counter_Parts
Counter_Parts_1 Counter_Parts
Counter_Parts_2 Counter_Parts
Control_Process D_GRP EFB Diagnostics
Control_Process_1 D_GRP

272
Managing data instances belonging to function block families (EF)

Displaying To show the elements that belong to an instance of the function block type, carry out
elements from the following actions:
one function
Step Action
block instance
1 In the Variable Editor select the function blocks tab.
2 Click on the + beside the instance of the desired function block type and this will
then be shown on screen.
3 Carry out the procedure again if you want to display the interface data or the
internal data for the function block on the screen.

Example: Display the instance Controle_Process of the type EFB

Data Editor
Variables DDT Types Function blocks DFB Types
Filter
Name * EFB DFB

Name no Type Value Comment


Control_Process_1 D_GRP
Control_Process D_GRP EFB Diagnostic
<Inputs>
ED 1 Bool Input diagnostics release
DTIME 2 Time Preset time
IN 3 Bool Signalgroup diagnosis
<Outputs>
ERR 1 Bool Diagnostics output
<Inputs/Outputs.>
<public>
AREA_NR Byte no comment
OP_CTRL Bool no comment
Counter_Parts_2 Counter_Parts

273
Managing data instances belonging to function block families (EF)

Displaying the For anunopened field Data Properties:


attributes
Step Action
1 In the Variable Editor select the function blocks tab.
2 Select the variable instance.
3 From the context menu select the command Properties and the attributes will
be displayed in the field.

Example:

Data Properties: control_Process


General attributes

Name Value
Name Control_Process
Comment EFB Diagnostics
Type D_GRP
Category <EFB>
Size 0
Diag
Used 5
Custom

For a field that is already open Data Properties:


After the instance has been chosen, the field Data properties is updated
automatically with the display for the attribute in question.

Sorting the See Filtering data, p. 289.


variable
instances

274
Managing data instances belonging to function block families (EF)

Changing the attribute for variable instances in a function block

Detailed The internal organization for a variable instance of function blocks (input / output
information parameters, public / private variables, code) cannot be changed from the
instance, but rather from the instance type ("DFB Types" tab).

The changes listed below do not effect the internal organization of the function block,
but rather its instantiation.

Changing the Carry out the following steps:


name of an
Step Action
instance
1 In the Variable Editor select the function blocks tab.
2 Double-click on the instance name, enter the new name and confirm.

Note: The instance name can only be used once.

Changing the There are three options.


type of an In the Variable Editor Function blocks tab:
instance
Double-click on the variable type and ... then...
enter the desired type,

D_GRP ...
depending on the input, an automatic search
is carried out.
use a field of type select the desired type.
D_GRP
D_GRP
Parts counter

select the type in the "FB type selection" (See


click the button ...
Description of the editor for selecting data
types, p. 285) window.

275
Managing data instances belonging to function block families (EF)

Changing an Carry out the following steps:


attribute in the
Step Action
"Data
Properties" field 1 In the Variable Editor select the function blocks tab.
1 Select the desired instance.
2 Using the shortcut menu select the Propertiescommand.
3 In the Data properties field select the desired attribute.
4 Change the attribute.

Example: As can be seen in the following display, the DFB type "Counter_Piéces"
is replaced by the "Counter_Piéces_HS" type.

Data Properties: compteur_Pièces_2


General attribute

Name Value
Name Counter_Pièces_2
Comment
Type Counter_Pièces_HS
Category: <DFB>
Variable 6
Diag 0
Used
Custom...

Changing an Carry out the following steps:


attribute, that
Step Action
belongs to
several function 1 In the Variable Editor select the function blocks tab.
block instances 2 Select the desired instances.
3 Using the shortcut menu select the Propertiescommand.
4 In the Data properties field select the attribute to be changed.
5 Change the attribute.

Note: For this functionality the following restrictions apply:


z names and addresses cannot be changed,
z the contents of the attribute to be changed must be the same for all selected
instances,
z the change must be tolerated by all the instances selected.

276
Managing data instances belonging to function block families (EF)

Example: As can be seen in the following graphic, the two instances have the same
type and can be changed from typeD_GRP to the type D_DYN.

Data Editor

Variables DDT Types Function blocks DFB Types


Filter
Name * EFB DFB

Name no Type Value Comment


Contrôle_Process_1 D_DYN
Counter_Pièces_1
Contrôle_Process D_DYN EFB Diagnostic
Counter_Pièces_2 Counter_Pièces_HS
Counter_Pièces_1 Counter_Pièces
Counter_Pièces Counter_Pièces_HS
toto Counter_Pièces

Data Properties: {...}


General attribute

Name Value
Name Counter_Pièces_2
Comment
Type D_DYN
Category: <EFB>
Variable 0
Diag 1
Used
Custom...

277
Managing data instances belonging to function block families (EF)

278
Creating user function block data
types (DFB)
12
Creating and managing user function block (DFB) data types

At a Glance See User's Function Blocks, p. 775

In this chapter, you'll find the operating modes concerning the DFB types tab in the
variable editor. It deals with:
z access to DFB types,
z creating DFB types,
z programming DFB types,
z managing DFB type elements,
z nesting of DFB types,
z saving DFB types.

279
Creating user function block data types (DFB)

280
General Functions

13
Introduction

Object of this This chapter guides the user through the use of the general features available in the
section data editor.

What's in this This chapter contains the following topics:


Chapter?
Topic Page
Configuring the Data Editor columns 282
Description of the editor for selecting data types 285
Filtering data 289
Analyzing DDT and DFB data types 294
Local printing of data 296
Backing up the data editor context 297

281
General Functions

Configuring the Data Editor columns

Introduction In every Variable Editor tab you can configure the column display (a default
configuration is suggested). This lets you:
z define the columns you want to display,
z define the sequence for the columns shown.

Description of In the following table the different columns available in the Data Editor under various
the different tabs are shown.
columns
Column name Description of the contents of the column
available
Name Contains the name of the instance or data type
Type Contains the data type
Address Contains an address in the controller for referencing the
variables
Value Contains the initial value for the variables
Comment Contains the comment for the variables
Alias Contains a name selected by the user which makes it possible
to change an IODDT element to a name defined by the
manufacturer.
Global data Shows if the variable is a variable that was swapped between
different stations via the network.
Group Contains the number of the group (the variables) in which the
variable is transported.
Enet ID Number for the unique display of a variable in the group (the
variables).
Save Shows if the variable accepts the mechanism for updating
initial values with current values.
Used Shows the number of times the variables are used in the
program and in other parts of the project (animation tables,
user windows).
Program RW Shows if the variable can or cannot be written by the program.
Constants Shows if the variable is a constant or not.
Custom Free text for use for an external tool or for special user
requirements.
No. Contains the number for the order number for a function block.
Version Contains the number for the type version.

282
General Functions

This is how to Carry out the following actions:


define columns
Step Action
1 Select the desired tab in the Data Editor.
2 Via the shortcut menu start the Column Configuration Editor using the command
Customize column.
The following window appears.

Data Editor
Variables DDT Types Function blocks DFB Types
Filter
Name * >>

Name
Column Configuration
CD_Moteur
Name
CD_Motor
CD_Motor Name
Color_Parts Type
Color_Parts Address
Print input Value
Comment
Erreur_Voie
Alias
Identification_Parts
NB_Parts Global data
Save
Person_1
Person_2 Used
Program RW
Valeur_Pression
Constants
Custom

OK Cancel Default Help

3 Check the checkboxes that correspond to the columns you wish to display.
4 Confirm the changes using the command OK.

Note: TheName and Type columns are required.

Purposes of the buttons:


Button Purpose
OK This is used to accept a configuration and exit the configurator
Cancel This is used to discard the changes and exit the configurator
Default This lets you define the configuration to be the default
? Accessing the Help for the Column Configurator

283
General Functions

Changing the Carry out the following steps:


sequence the
Step Action
columns are
displayed in 1 In the Variable Editor select the desired tab.
2 Via the shortcut menu start the Column Configuration Editor using the command
Customize Columns .
3 Place the cursor on the chosen attribute and drag it to the desired location by
clicking on the two buttons to the right of the window.
4 Confirm by clicking on OK.

Note: The first column must always have the attribute Name.

284
General Functions

Description of the editor for selecting data types

Introduction The editor for selecting data types makes the following possible:
z Selection:
z of derived data types (typical structures/fields),
z the function block data types (EFB\DFB),
z Creating non-typical fields.

At a Glance The editor for selecting the data type can be accessed by double-clicking the

Type column and clicking on the button in the data editor.


Depending on the tab used to start the editor for the selection of the data type, one
of the following windows is displayed:
Tab Variables:

Data Editor: Variable types selection


Int

Variable types

Name * DDT IODDT

Libraries/Families Name Type Comment


<Application> IDENTITY <Struct>
<EDT> SERIAL_NUMBERS: ARRAY[0...
<Library> PERSONNEL ARRAY[1...
<Catalog> STATUS <Struct> Additional information
T_ANA_I... <IODDT> Default analog input

ARRAY

OK Cancel

285
General Functions

Tab DDT Types:

Data Editor: Variable types selection


ARRAY[0.. 1] OF Bool

Variable types

Name * DDT

Libraries/Families Name Type Comment


<Application> Bool <EDT>
<EDT> Byte <EDT>
<Library> Date <EDT>
Dint <EDT>
Dt <EDT>
DWord <EDT>

ARRAY ( 0..1 ) OF Bool

OK Cancel

Tab Function blocks:

Data Editor: FB Type Selection


Counter_Parts_HS Help about type

Functions and Function Block Types

Name * EFB DFB

Libraries/Families Name Type Comment


<Application> Counter... <DFB> Parts counter
<Library> Counter... <DFB>
D_DYN <EFB> Dynamic diagnostics - A...
D_GRP <EFB> Signalgroup diagnostics

OK Cancel

Note: Access to the editor for the selection of the data types is not possible via the
DFB types tab.

286
General Functions

Description of This area contains directories and subdirectories where various selectable data
the area types are classified.
Libraries/ If you choose one of the directories or subdirectories, the types for the right-hand
Families side of the columns Name/Type/Commentare shown.
z The directory <Application> shows the data types used in the project:
z the Derived Data Types (DDT); the checkbox DDT must be activated.
z the Derived Data Types (DFB); the checkbox DFB must be activated.
z the derived data types that refer to the inputs/outputs (IODDT); the check box
IODDT must be activated.
z the data types for the elementary function blocks (EFB); the checkbox EFB
must be activated,
z the <EDT> directory shows the types for the elementary data,
z the <library> directory that is organized into special libraries contains the
families made available by the manufacturer or the functions archived by
the user:
z the Derived Data Types (DDT); the checkbox DDT must be activated.
z the data types for the sequence controls (SFC); the checkbox DDT must be
activated,
z the data types for the derived function blocks (DFB); the checkbox DFB must
be activated,
z the elementary function blocks (EFB); the checkbox EFB must be activated,
z the <Catalog> directory that shows the derived data types that reference inputs/
outputs (IODDT) from the manufacturer ; the checkbox IODDT must be
activated.

287
General Functions

Check box If this checkbox is activated, you can use the editor to select the field types to have
ARRAY a single size or several sizes (maximum six dimensions).
Example: Field with two dimensions 10x4 Dint

Data Editor: Variable types selection


Dint

Variable types

Name * DDT IODDT

Libraries/Families Name Type Comment


<Application> Boolean <EDT>
<EDT> Byte <EDT>
<Library> Date <EDT>
<Catalog> Dint <EDT>
Dt <EDT>
DWord <EDT>

ARRAY ( 0..10,5..8 ) OF Dint

OK Cancel

Filtering You can create filters in the data editor to display the data types according to your
requirements.
The field Name is used to enter the name of the data type that you want to display
in the Name/Type/Comment area. You can use place holder symbols (* or ?) to
carry out multiple search operations.

Clicking on the button updates the display corresponding to the filter term
defined in the field Name .

By double-clicking on this button you open the Filtering data (See The
dialog box Filtering data, p. 290) dialog box where you can define various filter
attributes.

288
General Functions

Filtering data

Introduction You can create filters in the data editor to display the data according to your
requirements.
A filter is the sum of the conditions applied to various attributes.
In every tab, it is standard for all variable instances or data types to be shown.
The various filters you have defined are saved when the data editor is closed and
restored when it is opened again.

At a Glance The filter parameterization in the data editor is determined depending on the tab
chosen.
Tab Variables
Filter
Name * EDT DDT IODDT

Tab DDT Types or DFB Types


Filter
Name *

Tab Function Blocks


Filter
Name * EFB DFB

Description of the different fields:


Area Purpose
Button Clicking on this button updates the display corresponding to the filter term defined
in the name field.
By double-clicking on this button you open the Filtering data (See The dialog box
Filtering data, p. 290) dialog box where you can define the conditions for the
individual attributes.
Name Field where the name (symbol) of the instance or the data type you want to display
can be entered. You can use the place holder (* or ?) for this.
EDT The activated check box authorizes the display of the Elementary Data Types
(EDT).
EFB The activated check box authorizes the display of the Elementary Function Blocks
(EFB).
DDT The activated check box authorizes the display of the Derived Data Types (DDT).
DFB The activated check box authorizes the display of the Derived Function Blocks
(DFB).
IODDT The activated check box authorizes the display of the Derived Data Types (DDT)
that reference inputs/outputs (IODDT).

289
General Functions

The dialog box The dialog box Filtering data make it possible to:
Filtering data z view the current filter conditions,
z change the current filter conditions,
z define new filter conditions,
The contents of the Filtering data dialog box depends on the tab from which it was
called.
Dialog box opened via the Variables tab:

Filtering data
General
Name Condition Inverted
Comment
Type
Address
Global data Yes
Alias for Yes
Value Custom
Save Apply
Constants Yes
Custom
Used >0

OK Cancel Default Help

Dialog box opened via the DDT types tab:

Filtering data
General
Name Condition Inverted
Comment

OK Cancel Default Help

290
General Functions

Dialog box opened via the Function blocks tab:

Filtering data
General
Name Condition Inverted
Comment
Diag. Apply
Type
Custom
Used >0

OK Cancel Default Help

Dialog box opened via the DFB types tab:

Filtering data
General
Name Condition Inverted
Comment
Diag. Apply
Protection Protected

OK Cancel Default Help

291
General Functions

Description of Description:
the dialog box
Column Description
columns
Filtering data Name This column contains the attributes for the (Variables, DDT types,
Function blocks or DFB types) tab used to open the dialog box.
Check the box for the attributes that you want to filter.
Condition The column allows you to define the filter condition for every attribute.
Inverted Using this checkbox you can invert the filter condition for the attribute in
question.

Options for defining a filter for variables:


Name Condition inverted deactivated inverted activated
Comment Free text All variables whose comment All variables whose
e.g. *motor* attribute contains the word comment attribute does not
motor are filtered. contain the word motor are
filtered.
Type Free text All variables of data type Int All variables not of data type
e.g. Int are filtered. Int are filtered.
Address Free text All variables with the address All variables that do not have
e.g. %MW1 %MW1 are filtered. the address %MW1 are
filtered.
Global data Yes All variables defined as global All variables not defined as
data are filtered. global data are filtered.
Alias for Yes All variables defined as an All variables not defined as
alias are filtered. an alias are filtered.
Value Custom All variables defined with an All variables not defined with
initial value are filtered. an initial value are filtered.
Save Apply All variables that accept All variables that do not
saving and restore operations accept saving and restore
are filtered. operations are filtered.
Constants Yes All variables defined as All variables not defined as
constants are filtered. constants are filtered.
Custom Free text All variables are filtered if their All variables whose user-
e.g. *HMI* user-defined text (free text for defined text does not contain
use in an external tool or for the word HMI are filtered.
special user requirements)
contains the word HMI.
Used >0 All variables used in the All variables not used in the
project are filtered. project are filtered.

292
General Functions

Options for defining a filter for DDT types:


Name Condition inverted deactivated inverted activated
Comment Free text All DDT types whose All DDT types whose comment
e.g. *motor* comment attribute contains attribute does not contain the
the word motor are filtered. word motor are filtered.

Options for defining a filter for function blocks:


Name Condition inverted deactivated inverted activated
Comment Free text All function blocks whose All function blocks whose
e.g. *motor* comment attribute contains the comment attribute does not
word motor are filtered. contains the word motor are
filtered.
Diag. Apply All function blocks that accept All function blocks that do not
the attribute Diag. are filtered. accept the attribute Diag.
are filtered.
Type Free text All function blocks of type TON All function blocks not of type
e.g. TON are filtered. TON are filtered.
Custom Free text All function blocks are filtered if All function blocks whose
e.g. *HMI* their user-defined text (free text user-defined text does not
for use in an external tool or for contain the word HMI are
special user requirements) filtered.
contains the word HMI.
Used >0 All function blocks used in the All function blocks not used in
project are filtered. the project are filtered.

Options for defining a filter for DFB types:


Name Condition inverted deactivated inverted activated
Comment Free text All DFB types whose comment All DFB types whose
e.g. *motor* attribute contains the word comment attribute does not
motor are filtered. contain the word motor are
filtered.
Diag. Apply All DFB types that accept the All DFB types that do not
attribute Diag. are filtered. accept the attribute Diag.
are filtered.
Protection Protected All protected DFB types are All non-protected DFB types
filtered. are filtered.

293
General Functions

Analyzing DDT and DFB data types

At a Glance DDTs (Derived Data Types) and DFB user function block data types (user-defined
Derived Data Types) have two possible statuses after they have been created.
These are:
z modification in progress,
z analysis complete.

This means that if you instantiate data of a type which is being modified, the instance
created has the characteristics of the type analyzed before modification.

If no error is detected on the type after analysis, the corresponding instances in the
application are updated.

Local data Local analysis tests the conformity of the selected data type in relation to
analysis corresponding instances in the entire project.

In the case of a DFB type, each section of the type is analyzed separately.

Proceed as follows to launch a local analysis:


Step Action
1 Select the desired type from the DDT types or DFB types tab.
2 Select the Analyze Type command in the contextual menu.
3 Check the result of the analysis in the output window at the bottom of the screen.

Note: If you double-click on an error line in the output window you are re-directed
to the source of the error.

294
General Functions

Global data Global analysis tests the conformity of all the selected data types in relation to
analysis corresponding instances in the entire project.

Proceed as follows to launch a global analysis:


Step Action
1 Select the Build -> Analyse project command from the menu.
2 Check the result of the analysis in the display window at the bottom of the screen.

Note: If you double-click on an error line in the output window you are re-directed
to the source of the error.

295
General Functions

Local printing of data

Introduction Printing is customized. It is carried out depending on:


z the tab selected,
z the filtering of variables,
z the sorting of variables,
z the expansion of variables.

How to print Carry out the following actions:


Step Action
1 Choose your customization from the data editor:
z choice of tab,
z choice of filter (See Filtering data, p. 289):
z choice of sort (ascending/descending alphabetical order)
z expanding of structured variables,
2 Select the menu command File->Print

Note: Local printing takes protection into account. Only on-screen information is
printed.

296
General Functions

Backing up the data editor context

Principles The editor configuration (visual appearance) is saved when you exit the variable
editor. This stores:
z the dimension and position of the editor window,
z the tab selected,
z the variable display filter,
z the configuration of the columns of each tab.

The information that is not saved is shown below:


z an instance or an expanded variable type returns to contracted mode when the
editor is reopened.
z the selection of single or multiple variables.

297
General Functions

298
Communication

III
At a Glance

Subject of this This part describes the communication editors.


Part

What's in this This part contains the following chapters:


Part?
Chapter Chapter Name Page
14 Presentation of the communication editors 301
15 Network configuration 303
16 Configuration of X-Way routing stations 311

299
Communication

300
Presentation of the
communication editors
14
Presentation of the communication editors of the project browser

At a Glance The communication editors allow you to configure and manage the different
communication entities at project level.

They are accessible through the project browser by clicking the Communication
tab.

Illustration The figure below shows an example of the project browser

Project Browser

Structural View

Station
Configuration
Derived Data Types
Derived FB Types
Variables & FB instances
? Elementary Variables
? Derived Variables
? IO Derived Variables
? Elementary FB instances
? Derived FB
Communication
Program
Animation tables
Operator Screens
Documentation

301
Presentation of the communication tab

302
Network configuration

15
At a glance

Object of this This chapter presents the various tools for configuring a network at the global level
chapter and at the station level.

What's in this This chapter contains the following topics:


Chapter?
Topic Page
Principle of configuring a network under Unity Pro 304
Creating a logical network 305
Configuring a logic network 307
Association of a logical network to network hardware 308

303
Network configuration

Principle of configuring a network under Unity Pro

At a glance Under Unity Pro the installation of a network takes place from the application
browser and from the hardware configuration editor.
The method calls for the following four steps:
z creation of a logic network
z configuration of the logic network
z declaration of the module or of the PCMCIA card
z association of the card or of the module with the logic network
These four methods are presented further on in this documentation.

Note: The advantage of this method is that from the second step onwards, you can
design your communication application (you do not need to have the hardware to
start work) and use the simulator for functional testing of it.

Note: The first two phases are performed from the project browser and the next
two from the hardware configuration editor.

In this manual we present to you the method. For details of the configurations of the
various networks please refer to the specific documentation:
z Ethernet configuration,
z Modbus Plus configuration,
z Fipway configuration,

304
Network configuration

Creating a logical network

At a Glance The first step in implementing a communication network consists of creating a


logical network.

The procedure is given later in this documentation.

Creating a logical The following table describes how to create a network from the application browser.
network
Step Action
1 Right click the Networks sub-tab of the Communication tab of the project
browser and choose the New Network option.
Result:

Add network

Network Comment

List of available networks:

None

Change name:

OK Cancel Help

305
Network configuration

Step Action
2 Choose the network that you wish to create from the list of available networks
and choose a meaningful name for it.
Result: example of an Ethernet network.

Add network

Network Comment

List of available networks:


Ethernet

Change name:

Factory

OK Cancel Help

Note: By clicking the Comment tab you can also add a comment if you so wish.
3 Click OK and a new logical network is created.
Result: We have just created the Ethernet network that appears in the project
browser.
Communication
Networks
Factory Ethernet
Routing table

Note: As you can see, a small icon indicates that the logical network is not
associated with any PLC hardware. Elsewhere, the small blue "v" sign indicates
that the project requires a regeneration in order to be able to be used in the PLC.

306
Network configuration

Configuring a logic network

At a Glance The second step in implementing a communication network consists of configuring


a logic network.

The process to be followed is given in the remainder of this documentation.

We shall access the network configuration; to find out how to configure the various
networks, please refer to the specific documentation.
z Ethernet configuration,
z Modbus Plus configuration,
z Fipway configuration.

Configuring a The table below describes how to access the configuration of a network from the
logic network project browser.
Step Action
1 In the project browser, expand the directory tree under the Networks sub-tab of
the Communication tab to display all the networks of the application.
Example:

Communication
Networks
Ethernet packaging
Ethernet factory
Fipway machining
Modbus Plus painting
2 Double-click the network you wish to configure to obtain the configuration
window of the network.
Note: The windows differ according to the network family chosen. But for all
networks, it is from this window that you can configure the Global Data, the IPO
scanning, the Peer Cop utilities, the common words, etc.
Note: For Ethernet networks an intermediate step is necessary which involves
choosing the family of the module that will be used in the hardware configuration.

307
Network configuration

Association of a logical network to network hardware

At a Glance The last step in implementing a communication network consists of associating a


logical network with a network module or a Modbus Plus or Fipway card. Although
the screens differ, the procedure is the same for each item of network hardware.

How to associate The following table describes how to associate a logical network to network
a logical network hardware declared in the hardware configuration editor.
Step Action
1 Open the hardware configuration editor.
2 Right-click the hardware (Ethernet module or PCMCIA Fipway or Modbus Plus
card) that you wish to associate with a logical network
3 Select the channel and function.
Result: For a TSX ETY 4103 module we have:

0.2: TSX ETY 4103

ETHERNET TCP IP, BASIC WEB SERVER MODULE

TSX ETY 4103 Config


Channel 0

Function:
ETH TCP IP

Task:
MAST

Network link:
No link

308
Network configuration

Step Action
4 In the Network link field, select the network to be associated with the card.
Result:

0.2: TSX ETY 4103

ETHERNET TCP IP, BASIC WEB SERVER MODULE

TSX ETY 4103 Config


Channel 0

Function:
ETH TCP IP

Task:
MAST

Network link:
Ethernet_factory

5 Confirm your choice and close the window.


Result: The logical network is associated with the hardware. The icon
associated with this logical network changes and indicates the link with a
PLC. Furthermore, the rack, module and channel numbers are updated in
the configuration screen of the logical network. In our example we obtain
the following project browser:

Communication
Networks
Ethernet_factory
Routing Table

309
Network configuration

310
Configuration of X-Way
routing stations
16
At a glance

Object of this This chapter presents the operating modes necessary for the configuration of the X-
chapter Way routing stations.

What's in this This chapter contains the following topics:


Chapter?
Topic Page
Configuration 312
Configuration of multi-network services 313
How to configure an X-Way router module 315
Examples of X-Way routing stations 319
Examples of partial routing 321

311
Configuration of X-Way routing

Configuration

At a glance In an intermediate station, the management of several network couplers calls for a
configuration phase in order to distribute to the various network entities the
functional characteristics.

Station Station
Terminal stations
{1.1} {1.2}

1 network 1 2
4
Intermediate
stations
Station {1.4}
and {3.1}

network 1
2
Terminal
Station stations Station
{2.2} {3.2}
Configuration of
Unity Pro station

CAUTION
Consistency of routing data
The multi-network routing information is constructed at the station level
at the time of configuration of each bridge. No consistency check is
performed among all the routing data of the same network architecture.
Failure to follow this precaution can result in injury or equipment
damage.

312
Configuration of X-Way routing

Configuration of multi-network services

At a Glance In a station that supports various network modules, each network connection point
is considered as an address for the station. When configuring each module, it is
necessary to define for each connection point the list of numbers of the networks
that are accessible.

Depending on the processor selected during hardware configuration, a bridge


station can only manage 3 or 4 network modules. The table will therefore have a
maximum of 4 elements.

Illustration A specific screen allows entry of routing data for all the network modules of a station.

X-Way table

Network Network
1 Ethernet_1 Ethernet_2
2 Ethernet Ethernet

1 2
3

Selection of accessible networks

Access networks Available networks

12 1
2
3
Delete network list 4
5
6
7
8
9
10
11
13
14
15

4 OK Cancel

313
Configuration of X-Way routing

Elements and This table describes the various zones that make up the configuration screen:
functions
Label Field Function
1 Logical Used to display the logical network name.
network
2 Network type Used to display the network type.
3 Accessible Used:
networks z for the unshaded Logical Network zone, to enter the list of
networks accessible by this module,
z for the shaded Logical Network zones, to display the list of
networks accessible by these modules.
4 Available Used to select the networks accessible by a module configured
networks as a bridge.
A list of numbers from 1 to 127 shows the networks available
for a connection point. Each network number selected as being
accessible is removed from the list of available networks in
order to avoid configuration errors.

314
Configuration of X-Way routing

How to configure an X-Way router module

At a Glance Before configuring the module as an X-Way router, the logical networks of the
station must first be created.

Procedure The following procedure is used to access then configure the module of the station
as an X-Way router.
Step Action
1 Open up the Communication tab of your project browser and click the X-Way
table tab of the Routing table tab.
Result: The following window appears.

X-Way table

Network Network Network


Ethernet_1 Fipway_1 Ethernet_2

Ethernet Fipway Ethernet

Delete network list

If the list of accessible networks of the module is empty, the window appears
automatically (without double-clicking).

315
Configuration of X-Way routing

Step Action
2 Double click the field in reverse video in order to configure the first network.
Result
The Selection of accessible networks window appears.

Selection of accessible networks

Access networks Available networks

12 1
2
3
4
5
6
7
8
9
10
11
13
14
15

OK Cancel

3 Double click the number of the required network from the Available networks
scroll list.

Result
The network number is assigned in the Access networks scroll list.
4 Perform operation 3 as many times as necessary to define all the networks
accessible by the module.
Then proceed to step 5.
5 Confirm the selection by clicking OK.
6 Confirm the configuration of the X-Way router by closing the window or clicking
the Enable button in the toolbar.

316
Configuration of X-Way routing

How to remove It is possible to remove the bridge function from the module.
the bridge
Step Action
function
1 Access the following X-Way window.

X-Way table

Network Network Network


Ethernet_1 Fipway_1 Ethernet_2

Ethernet Fipway Ethernet

5
7
9
10

Delete network list

2 Click Delete network list.


3 Confirm the configuration

317
Configuration of X-Way routing

How to remove It is possible to remove access to a single network.


access to a
Step Action
network
1 Access the following X-Way window of the accessible networks.

Selection of accessible networks

Access networks Available networks

1
5
2
7
3
9
4
10
6
8
11
12
14
15
16
17

OK Cancel

2 Double click the numbers of the accessible networks to be removed (left


column).
Result
The network number is reassigned in the Available networks scroll list.
3 Confirm the selection by clicking OK.
4 Confirm the configuration of the router.

318
Configuration of X-Way routing

Examples of X-Way routing stations

At a Glance Each station must be configured in order to define the list of accessible networks.

network 1 Ethernet

1 2
0 5 2 4 5
Uni-Telway
R2 R1

Fipway 3 4 Fipway 7
network 11 network 12 5 4 Fipway
B 0 5 network 13

R3

6 Fipway
network 21
A

Configuration of The module at slot 2 can only access network 12.


station R1 The module at slot 4 can only access network 11.
The module at slot 5 can access networks 13 and 21.

The bridge configuration of the station is therefore as follows:


X-Way table
Network Network Network
Fipway_2 Ethernet_3 Fipway_4
Fipway Ethernet Fipway
12 1 13
11 21

Delete network list

319
Configuration of X-Way routing

Configuration of The module at slot 0 can only access network 11.


station R2 The module at slot 5 can access networks 1, 12, 13 and 21.

The bridge configuration of the station is therefore as follows:

X-Way table
Network Network
Fipway_0 Ethernet_5
Fipway Ethernet
11 1
12
13
21

Delete network list

Configuration of The module at slot 0 can access networks 13, 12, 1 and 11.
station R3 The module at slot 5 can only access network 21.

The bridge configuration of the station is therefore as follows:

X-Way table
Network Network
Fipway_0 Ethernet_5
Fipway Ethernet
1 21
11
12
13

Delete net link

320
Configuration of X-Way routing

Examples of partial routing

At a Glance When configuring a module as a bridge, it is possible to assign to it only a part of the
available networks, instead of all of them. This selection is used to define a partial
routing.

Illustration Each station must be configured in order to define the list of accessible networks.

network #1 Ethernet

1 2
0 5 2 4 5
Uni-Telway
R2 R1

Fipway 3 4 Fipway 7
network #11 network #12 5 4 Fipway
B 0 5 network #13

R3

6 Fipway
network #21
A

321
Configuration of X-Way routing

Configuration of The module at slot 2 is not involved in the routing of data.


station R1 The module at slot 4 can access networks #1 and #11.
The module at slot 5 can access networks #13 and #21.

The bridge configuration of the station is therefore as follows:

X-Way table
Network Network
Ethernet_4 Fipway_5
Ethernet Fipway
1 13
11 21

Delete network list

Configuration of The module at slot 0 can only access network #11.


station R2 The module at slot 5 can access networks #1, #13 and #21. Network #12 is
inaccessible.

The bridge configuration of the station is therefore as follows:

X-Way table
Network Network
Fipway_0 Ethernet_5
Fipway Ethernet
11 1
13
21

Delete network list

Configuration of The module at slot 0 can access networks #13, #1 and #11. Network #12 is no
station R3 longer accessible.
The module at slot 5 can only access network #21.
The bridge configuration of the station is therefore as follows:

322
Programming

IV
At a Glance

Subject of this This part describes the programming editors.


part

What's in this This part contains the following chapters:


Part?
Chapter Chapter Name Page
17 Accessing Tasks and Sections 325
18 Unity Pro software options 361
19 Common Functions of FBD, LD and SFC 381
20 Common FBD and LD Functions 389
21 FBD Editor 401
22 LD Editor 465
23 SFC Editor 565
24 Common IL and ST Functions 667
25 IL Editor 693
26 ST Editor 709
27 Programming Languages Data Selection Dialog Box 731
28 I/O Objects tab 745
29 Type Library Browser 757
30 Search/Replace tool 763
31 User's Function Blocks 775

323
Programming

324
Accessing Tasks and Sections

17
Introduction

Overview This section describes how to access tasks and sections.

What's in this This chapter contains the following sections:


Chapter?
Section Topic Page
17.1 Access to Tasks 326
17.2 Accessing Sections 329

325
Accessing Tasks and Sections

17.1 Access to Tasks

At a Glance

Subject of this This section covers the creation and modification of program tasks.
Section

What's in this This section contains the following topics:


Section?
Topic Page
Creation and configuration of a task 327
Displaying and modifying task properties 328

326
Accessing Tasks and Sections

Creation and configuration of a task

General The first operation you need to perform to create an application program is to define
the tasks.
By default, only the master task is proposed. It is possible to create the following
tasks:
the FAST task and the auxiliary tasks AUX0 to 3.

Creating a Task Carry out the following actions:


Step Action
1 In the project browser, double-click on the program directory.
The MAST directory appears in the Tasks directory.
2 Right-click on the Tasks directory, and then execute the New task... command from
the contextual menu.
3 Click on New task..., and the following dialog box appears:

4 Select the task:


z FAST: Fast task
z AUX 0 , AUX1, AUX2 or AUX3: Auxiliary tasks (for processors with auxiliary
tasks)
5 Select the type of scanning:
z Periodic
z or cyclic (for master task only)
6 Set the task period.
7 Set the Watchdog value which must be greater than the period value.
8 The Comment tab can be used to add a comment to describe the role of the task
for example.

327
Accessing Tasks and Sections

Displaying and modifying task properties

General This procedure should be followed to display and/or modify the properties of an
existing task.

Task Properties Carry out the following actions:


Step Action
1 In the project browser, double-click on the program directory.
The MAST directory (as well as the FAST and AUX directories if they have been
created) appears in the Tasks directory.
2 Right-click on the MAST, FAST, or AUX directory, and then execute the Properties
command from the contextual menu.
3 Click on Properties, and the following dialog box appears:

4 Select the type of task:


z Periodic
z or cyclic
5 If you have selected a periodic task, set the task period.
6 Set the Watchdog value which must be greater than the period value.
7 The Comment tab can be used to add a comment to describe the role of the task
for example.

328
Accessing Tasks and Sections

17.2 Accessing Sections

Introduction

Overview This section describes accessing sections.

What's in this This section contains the following topics:


Section?
Topic Page
Creating an FBD, LD, IL or ST section 330
Properties dialog box for FBD, LD, IL or ST sections 333
Creating SFC sections 336
SFC properties dialog box 338
Creating action, transition and macro sections 342
Action, transition and macro sections properties dialog box 343
Creating subroutine sections (SR) 345
Subroutine section properties dialog box 347
Creating timer event sections 348
Timer Event sections properties dialog box 351
Creating I/O event sections 354
I/O Event sections properties dialog box 356
Opening a Section 358
Deleting sections 359
Execution order of sections 360

329
Accessing Tasks and Sections

Creating an FBD, LD, IL or ST section

Introduction FBD, LD, IL or ST sections can be created:


z in any task (MAST, FAST, AUX)
z in offline and online mode

Information for An LD section contains 11-64 columns and 17-2000 lines.


creating LD The number of columns is set in the Tools → Project Settings dialog box, on the
sections Editors tab in the Number of columns text box.
These settings are only valid for new sections and not for existing sections. Always
define the number of columns before you create a new LD section.
(The number of lines can be increased or reduced during the creation of section
contents.)

330
Accessing Tasks and Sections

Creating a Creating a section:


section
Step Action
1 Left-click the Sections directory of the desired task, or place the cursor using the
arrow keys on this directory.
2 Select (right-click or Shift+F10 key combination) the New Section menu
command from the shortcut menu.
Result: The properties dialog box (See Properties dialog box for FBD, LD, IL or
ST sections, p. 333) for the section is opened.
3 Enter the section name.
The section name must be unique in the entire project and conform to the
general naming conventions.
4 Select the programming language of the section.
5 Select the type of access protection if necessary from the Protection list box:
z None
No protection
z Read-Only
Write protection
z No read & write
Read and write protection
See also section Protection of a project, p. 135.
6 Select the functional module to which the section is allocated from the
Localization (See Localization tab, p. 334) tab if necessary.
See also section Functional modules, p. 165.
7 Define a Boolean variable in the Condition (See Condition tab, p. 334) tab with
which the section can be activated/deactivated (section active when variable=1)
if required.
You have the following options to select variables:
z You can enter the name of the variable/address directly or copy it from the
clipboard.
z Use the ... command button to open a dialog box for variable selection. (See
Description of the data editor, p. 216)
Activate the Can be forced check box when you want to force the variable.
8 Only applies to Quantum projects:
Assign a read RIO drop and a write RIO drop to the section in the Remote IO
(See Remote IO tab, p. 335) tab if required.
See also section Executing Quantum sections with distributed inputs/outputs in
the Reference manual.
9 Enter a comment in the Comment tab if desired.
10 Confirm all entries with OK.

331
Accessing Tasks and Sections

Displaying or Displaying or modifying section properties:


modifying
Step Action
section
properties 1 Left-click the desired section, or place the cursor on this section with the arrow
keys.
2 Select (right-click or Shift+F10 key combination) the Properties menu
command from the shortcut menu.
Result: The properties dialog box (See Properties dialog box for FBD, LD, IL or
ST sections, p. 333) for the section is opened.
3 Implement the desired changes.
4 Confirm all entries with OK.

Importing/ See sections:


exporting a z Importing the program, p. 1164
section z Exporting the program, p. 1162

332
Accessing Tasks and Sections

Properties dialog box for FBD, LD, IL or ST sections

Structure of the The properties dialog box consists of five tabs for Quantum projects and four tabs
properties dialog for Premium or Atrium projects:
box z General (See General tab, p. 333)
Enter the name, the programming language and the type of access protection of
the section in this tab.
z Localization (See Localization tab, p. 334)
You can enter the functional module of the section in this tab.
z Condition (See Condition tab, p. 334)
You can enter a Boolean variable which can activate/deactivate the section in this
tab.
z Remote IO (See Remote IO tab, p. 335)
This tab is only available for Quantum projects.
Assign a read RIO drop and a write RIO drop to the section in this tab.
z Comment (See Comment tab, p. 335)
You can enter a comment in this tab.

General tab Representation of the General tab:


Elements of the General tab:
Element Description
Name Enter the name of the section in this text box.
The section name must be unique in the entire project and conform to the
general naming conventions.
Language Select the programming language of the section from this list box.
Note: The programming language can only be defined for new sections.
The programming language cannot be changed for existing sections.
Protection Select the type of access protection from this list box.
z None
No protection
z Read-Only
Write protection
z No read & write
Read and write protection
See also section Protection of a project, p. 135.
OK Use this button to accept all entries and close the dialog box.
Apply Use this button to accept all entries without closing the properties dialog box.
Note: This button is only available in the properties dialog box for existing
sections.

333
Accessing Tasks and Sections

Localization tab Representation of the Localization tab:


Elements of the Localization tab:
Element Description
Task The task of the section is displayed in this field.
Functional module Select the functional module to which the section is allocated to in this
list box.
See also section Functional modules, p. 165.
OK Use this button to accept all entries and close the dialog box.
Apply Use this button to accept all entries without closing the properties
dialog box.
Note: This button is only available in the properties dialog box for
existing sections.

Condition tab Display of the Register Condition:


Elements of the Condition tab:
Element Description
Variable You can enter Boolean variables which can conditionally activate/
deactivate the section in this tab.
In this area, you can enter the following:
z Name
z You can directly enter the name of the variable/address or
paste it from the clipboard.
z Using the button ...to open a variable selection dialog box (See
Description of the data editor, p. 216).
z Comment
The comments about the selected variables are displayed in this
text box.
Can be forced If you activate this checkbox you can force the selected variables.
OK Use this button to accept all entries and close the dialog box.
Apply Use this button to accept all entries without closing the properties
dialog box.
Note: This button is only available in the properties dialog box for
existing sections.

334
Accessing Tasks and Sections

Remote IO tab Representation of the Remote IO tab (only for Quantum projects):
Elements of the Remote IO tab:
Element Description
Remote drop Select the remote drop to read/write from this list box.
Already configured drops are displayed in black; non-configured in
red.
See also section Executing Quantum sections with distributed inputs/
outputs in the Reference manual.
Read > Use this button to accept the selected station as the station to read.
I.e. when processing starts on the current section, the inputs for this
station are read.
Write > Use this button to accept the selected station as the station to write.
I.e. when processing ends on the current section, the outputs for this
station are written.
Delete Use this button to reset the selection of drops to read/write.
OK Use this button to accept all entries and close the dialog box.
Apply Use this button to accept all entries without closing the properties
dialog box.
Note: This button is only available in the properties dialog box for
existing sections.

Comment tab Representation of the Commenttab:


Elements of the Comment tab:
Element Description
Text box A comment about the section can be entered in this text box.
OK Use this button to accept all entries and close the dialog box.
Apply Use this button to accept all entries without closing the properties
dialog box.
Note: This button is only available in the properties dialog box for
existing sections.

335
Accessing Tasks and Sections

Creating SFC sections

Introduction SFC sections can be created:


z only in the MAST task
z in offline and online mode
When creating an SFC section, the following three directories are created in addition
to the actual SFC section:
z Unused macros
In this directory, all macro sections are stored which were created but are no
longer being used (See Deleting objects, p. 576).
z Actions
This directory contains all Action sections (See Defining a new action section,
p. 625) for the current SFC section.
z Transitions
This directory contains all transition sections (See Defining the transition
condition as a section, p. 633) for the current SFC section.

Creating SFC Creating SFC sections:


sections
Step Action
1 Left-click the Sections directory for the MAST task or place the cursor on this directory
using the arrow keys.
2 Select (right-click or Shift+F10 key combination) the New Section menu command
from the shortcut menu.
Result: The properties dialog box (See SFC properties dialog box, p. 338) for the
section is opened.
3 Enter the section name.
The section name must be unique in the entire project and conform to the general
naming conventions.
4 Select the programming language SFC.
5 If necessary, assign an automation area from 0-15 to the section in the Area number
list box.
This automation area (area number) can be used as sorting criteria in the diagnostic
viewer (See Description of the Diagnostics Viewer, p. 964).
It makes sense to assign the area number corresponding to the functional unit.
Example:
Cutting: No. 1
Milling: No. 2
Thread cutting: No. 3
In the example, the Area number must have the value 1, 2 or 3.
6 If you want an explicit acknowledgment of all diagnostic results for the SFC section
(e.g. exceeding the step monitoring times) to be required in the diagnostic viewer (See
Description of the Diagnostics Viewer, p. 964), activate the Operator control check
box.

336
Accessing Tasks and Sections

Step Action
7 Select the type of access protection if necessary from the Protection list box:
z None
No protection
z Read-Only
Write protection
z No read & write
Read and write protection
See also section Protection of a project, p. 135.
8 Select the functional module to which the section is allocated from the Localization
(See Localization tab, p. 340) tab if necessary.
See section Functional modules, p. 165
9 Define a Boolean variable in the Condition (See Condition tab, p. 340) tab with which
the section can be activated/deactivated (section active when variable=1) if required.
You have the following options to select ariables:
z You can enter the name of the variable/address directly or copy it from the
clipboard.
z Using the command button ...to open a variable selection dialog box (See
Description of the data editor, p. 216).
Activate the Can be forced check box when you want to force the variable.
10 Only applies to Quantum projects:
Assign a read RIO drop and a write RIO drop to the section in the Remote IO (See
Remote IO tab, p. 341) tab if required.
See also section Executing Quantum sections with distributed inputs/outputs in the
Reference manual.
11 Enter a comment in the Comment tab if desired.
12 Confirm all entries with OK.

Displaying or Displaying or modifying section properties:


modifying
Step Action
section
properties 1 Left-click the target section, or place the cursor on this section with the arrow keys.
2 Select (right-click or Shift+F10 key combination) the Properties... menu command
from the shortcut menu..
Result: The properties dialog box (See SFC properties dialog box, p. 338) for the
section is opened.
3 Implement the desired changes.
4 Confirm all entries with OK.

Importing/ See sections:


exporting z Importing the program, p. 1164
sections z Exporting the program, p. 1162

337
Accessing Tasks and Sections

SFC properties dialog box

Structure of the The properties dialog box consists of five tabs for Quantum projects and four tabs
properties dialog for Premium or Atrium projects:
box z General (See General tab, p. 339)
You can enter the name, the programming language, the type of access
protection and diagnostic settings for the section in this tab.
z Localization (See Localization tab, p. 340)
You can enter the functional module of the section in this tab.
z Condition (See Condition tab, p. 340)
You can enter a Boolean variable which can activate/deactivate the section in this
tab.
z Remote IO (See Remote IO tab, p. 341)
This tab is only available for Quantum projects.
Assign a read RIO drop and a write RIO drop to the section in this tab.
z Comment (See Comment tab, p. 341)
You can enter a comment in this tab.

338
Accessing Tasks and Sections

General tab Representation of the General tab:


Elements of the General tab:
Element Description
Name Enter the name of the section in this text box.
The section name must be unique in the entire project and conform to
the general naming conventions.
Language Select the programming language of the section from this list box.
Note: The programming language can only be defined for new
sections. The programming language cannot be changed for existing
sections.
Area number This list box is used to assign an automation area to a section, see
also Creating SFC sections, p. 336.
This automation area (area number) can be used as sorting criteria in
the diagnostic viewer (See Description of the Diagnostics Viewer,
p. 964).
The valid range for Area number 0...15.
Operator control When you activate this check box, any diagnostics events occurring in
the SFC section (e.g. violation of the step supervision times) must be
acknowledged in the diagnostics viewer (See Description of the
Diagnostics Viewer, p. 964).
Protection Select the type of access protection from this list box.
z None
No protection
z Read-Only
Write protection
z No read & write
Read and write protection
See also section Protection of a project, p. 135.
OK Use this command button to accept all entries and close the dialog
box.
Apply Use this command button to accept all entries without closing the
properties dialog box.
Note: This command button is only available in the properties dialog
box for existing sections.

339
Accessing Tasks and Sections

Localization tab Representation of the Localization tab:


Elements of the Localization tab:
Element Description
Task The task of the section is displayed in this field.
Functional module Select the functional module to which the section is allocated to in this
list box.
See also section Functional modules, p. 165.
OK Use this command button to accept all entries and close the dialog
box.
Apply Use this command button to accept all entries without closing the
properties dialog box.
Note: This command button is only available in the properties dialog
box for existing sections.

Condition tab Representation of the Condition tab:


Elements of the Condition tab:
Element Description
Variable You can enter a Boolean variable which can conditionally activate/
deactivate the section in this tab.
You can enter the following in this area:
z Name
z You can enter the name of the variable/address directly or copy
it from the clipboard.
z Use the ... command button to open a dialog box for variable
selection (See Description of the data editor, p. 216).
z Comment
The comment about the selected variable is displayed in this text
box.
Can be forced When you activate this check box, you can force the selected variable.
OK Use this command button to accept all entries and close the properties
dialog box.
Apply Use this command button to accept all entries without closing the
properties dialog box.
Note: This command button is only available in the properties dialog
box for existing sections.

340
Accessing Tasks and Sections

Remote IO tab Representation of the Remote IO tab (only for Quantum projects):
Elements of the Remote IO tab:
Element Description
Remote drop Select the remote drop to read/write from this list box.
Already configured drops are displayed in black; non-configured in
red.
See also section Executing Quantum sections with distributed inputs/
outputs in the Reference manual.
Read > Use this ommand button to accept the selected drop from the list box
as a read drop. This means that when the current section starts to be
processed the inputs of this drop are read.
Write > Use this command button to accept the selected drop from the list box
as a write drop. This means that when the current section starts to be
processed the outputs of this drop are written.
Delete Use this command button to reset the selected read/write drops.
OK Use this command button to accept all entries and closes the
properties dialog box.
Apply Use this command button to accept all entries without closing the
properties dialog box.
Note: This command button is only available in the properties dialog
box for existing sections.

Comment tab Representation of the Comment tab:


Elements of the Comment tab:
Element Description
Text box A comment about the section can be entered in this text box.
OK Use this command button to accept all entries and close the properties
dialog box.
Apply Use this command button to accept all entries without closing the
properties dialog box.
Note: This command button is only available in the properties dialog
box for existing sections.

341
Accessing Tasks and Sections

Creating action, transition and macro sections

Creating action, The descriptions are found in the following sections:


transition and z Creating action sections (See Defining a new action section, p. 625)
macro sections z Creating transition sections (See Defining the transition condition as a section,
p. 633)
z Creating macro sections (See Defining the properties of macro steps, p. 608)

Displaying or Displaying or modifying section properties:


modifying
Step Action
section
properties 1 Left-click the target section, or place the cursor on this section with the arrow
keys.
2 Select (right-click or Shift+F10 key combination) the menu command
Properties from the shortcut menu.
Result: The properties dialog box (See Action, transition and macro sections
properties dialog box, p. 343) for the section is opened.
3 Modify the section name as required.
Note that when you modify the name, the name of a link between the section and
the element calling (action, transition or macro section) is deleted.
4 Select the type of access protection if necessary from the Protection list box:
z None
No protection
z Read-Only
Write protection
z No read & write
Read and write protection
See also section Protection of a project, p. 135.
5 Enter a comment in the Comment tab if desired.
6 Confirm all entries with OK.

342
Accessing Tasks and Sections

Action, transition and macro sections properties dialog box

Structure of the The properties dialog box consists of three tabs:


properties dialog z General (See General tab, p. 343)
box The name and the programming language are displayed in this tab. You can also
define the type of protection for the section.
z Localization (See Localization tab, p. 344)
You can enter the functional module of the section in this tab.
z Comment (See Comment tab, p. 344)
You can enter a comment in this tab.

General tab Representation of the General tab:


Elements of the General tab:
Element Description
Name The name of the section is displayed in this field.
Note that when you modify the name, the name of a link between the
section and the element calling (action, transition or macro section) is
deleted.
Language The programming language of the section is displayed in this list box.
Note: The programming language can only be defined when creating
the section. The programming language cannot be changed for
existing sections.
Protection Select the type of access protection from this list box.
z None
No protection
z Read-Only
Write protection
z No read & write
Read and write protection
See also section Protection of a project, p. 135.
OK Use this command button to accept all entries and close the properties
dialog box.
Apply Use this command button to accept all entries without closing the
properties dialog box.

343
Accessing Tasks and Sections

Localization tab Representation of the Localization tab:


Elements of the Localization tab:
Element Description
Task The task of the section is displayed in this field.
Functional module Select the functional module to which the section is to be allocated to
in this list box.
See also section Functional modules, p. 165.
OK Use this command button to accept all entries and close the properties
dialog box.
Apply Use this command button to accept all entries without closing the
properties dialog box.
Note: This command button is only available in the properties dialog
box for existing sections.

Comment tab Representation of the Comment tab:


Elements of the Comment tab:
Element Description
Text box A comment about the section can be entered in this text box.
OK Use this command button to accept all entries and close the properties
dialog box.
Apply Use this command button to accept all entries without closing the
properties dialog box.
Note: This command button is only available in the properties dialog
box for existing sections.

344
Accessing Tasks and Sections

Creating subroutine sections (SR)

Introduction Subroutine sections can be created:


z in offline and online mode
Subroutines are expansions to IEC 61131-3 and must be explicitly enabled via the
Tools → Project Settings dialog box, in the Language extensions tab by
activating the Allow subroutines check box.

Information for An LD section contains 11-64 columns and 17-2000 lines.


creating LD The number of columns is set via the Tools → Project Settings dialog box, in the
sections Editors tab in the Number of columns text box.
These settings are only valid for new sections and not for existing sections. Always
define the number of columns before you create a new LD section.
(The number of lines can be increased or reduced during the creation of section
contents.)

Creating Creating subroutines:


subroutine
Step Action
sections
1 Left-click the SR Sections directory for the target task, or place the cursor on this
directory using the arrow keys.
2 Select (right-click or Shift+F10 key combination) the New SR Section menu
command from the shortcut menu.
Result: The properties dialog box (See Subroutine section properties dialog box,
p. 347) for the section is opened.
3 Enter the section name.
The section name must be unique in the entire project and conform to the
general naming conventions.
4 Select the programming language of the section.
5 Enter a comment in the Comment tab.
6 Confirm all entries with OK.

345
Accessing Tasks and Sections

Displaying or Displaying or modifying the section properties:


modifying the
Step Action
section
properties 1 Left-click the target section, or place the cursor on this section with the arrow
keys.
2 Select (right-click or the Shift+F10 key combination) the Properties... menu
command from the shortcut menu.
Result: The properties dialog box (See Subroutine section properties dialog
box, p. 347) for the section is opened.
3 Implement the desired changes.
4 Confirm all entries with OK.

Importing/ See section:


exporting z Importing the program, p. 1164
sections z Exporting the program, p. 1162

346
Accessing Tasks and Sections

Subroutine section properties dialog box

Structure of the The properties dialog box consists of two tabs:


properties dialog z General (See General tab, p. 347)
box Enter the name and the programming language of the section in this tab. The
display indicates whether the subroutine is used in the project.
z Comment (See Comment tab, p. 347)
You can enter a comment in this tab.

General tab Representation of the General tab:


Elements of the General tab:
Element Description
Name Enter the name of the subroutine section in this text box.
The section name must be unique in the entire project and conform to
the general naming conventions.
Language The programming language of the section is displayed in this list box.
Note: The programming language can only be defined when creating
the section. The programming language cannot be changed for
existing sections.
Is called This check box indicates whether the subroutine is used in the project.
OK Use this command button to accept all entries and close the dialog
box.
Apply Use this command button to accept all entries without closing the
properties dialog box.

Comment tab Representation of the Comment tab:


Elements of the Comment tab:
Element Description
Text box A comment about the section can be entered in this text box.
OK Use this command button to accept all entries and close the dialog
box.
Apply Use this command button to accept all entries without closing the
properties dialog box.
Note: This command button is only available in the properties dialog
box for existing sections.

347
Accessing Tasks and Sections

Creating timer event sections

Introduction Timer event sections can only be created in offline mode.


The following can be modified in offline mode:
z the number of the timer event,
z the time base,
z the unit of the preset value,
z the unit for the phase,
z the type of access protection,
z the functional module,
z comments.
In online mode in stop mode, the following can be changed:
z the unit of the preset value,
z the unit for the phase,
z the type of access protection,
z the functional module,
z comments.

Information for An LD section contains 11-64 columns and 17-2000 lines.


creating LD The number of columns is set via the Tools → Project Settings dialog box, in the
sections Editors tab in the Number of columns text box.
These settings are only valid for new sections and not for existing sections. Always
define the number of columns before you create a new LD section.
(The number of lines can be increased or reduced during the creation of section
contents.)

348
Accessing Tasks and Sections

Creating timer Creating timer event sections:


event sections
Step Action
1 Left-click the Timer Events directory of the Events task, or place the cursor on
this directory with the arrow keys.
2 Select (right-click or Shift+F10 key combination) the New Event Section menu
command from the shortcut menu.
Result: The properties dialog box (See Timer Event sections properties dialog
box, p. 351) for the section is opened.
3 Enter the number of the timer event in the Timer number list box.
The maximum number of timer events depends on the selected CPU, see also
section Timer section in the Reference manual.
4 Enter the time base for the preset value and phase in the Time base list box.
Note: Select the largest time base to reduce system load.
5 Enter the units for the preset value in the Preset text box.
The valid range is 0...1023.
Preset value = Preset x Timer base
6 Enter the unit for the phase in the Phase text box.
The valid range is 0...1023.
Phase value = Phase x Timer base
7 Select the programming language of the section.
8 Select the type of access protection if necessary from the Protection list box:
z None
No protection
z Read-Only
Write protection
z No read & write
Read and write protection
See also section Protection of a project, p. 135.
9 Select the functional module to which the section is allocated from the
Localization (See Localization tab, p. 334) tab if necessary.
See also section Functional modules, p. 165.
10 Enter a comment in the Comment tab if desired.
11 Confirm all entries using OK.

349
Accessing Tasks and Sections

Displaying or Displaying or modifying section properties:


modifying the
Step Action
section
properties 1 Left-click the target section, or place the cursor on this section with the arrow
keys.
2 Select (right-click or Shift+F10 key combination) the Properties... menu
command from the shortcut menu..
Result: The properties dialog box (See Timer Event sections properties dialog
box, p. 351) for the section is opened.
3 Implement the desired changes (See Introduction, p. 348).
4 Confirm all entries using OK.

Importing/ See sections:


exporting z Importing the program, p. 1164
sections z Exporting the program, p. 1162

350
Accessing Tasks and Sections

Timer Event sections properties dialog box

Structure of the The properties dialog box consists of three tabs:


properties dialog z General (See General tab, p. 352)
box In this tab, you can enter the timer event number, the timer time value, the
programming language and the type of access protection for the timer event
section, see also section Event processing in the Reference manual.
z Localization (See Localization tab, p. 353)
You can enter the functional module of the section in this tab.
z Comment (See Comment tab, p. 353)
You can enter a comment in this tab.

351
Accessing Tasks and Sections

General tab Representation of the General tab:


Elements of the General tab:
Element Description
Timer number Enter the name of the timer event in this list box.
The maximum number of timer events depends on the selected CPU,
see also section Timer section in the Reference manual.
Time base Enter the time base for the preset value and phase in this list box.
The following values are available:
z 1 ms
z 10 ms
z 100 ms
z 1 sec
The default value is 10 ms.
Note: Select the largest time base to reduce system load.
Preset Enter the unit for the preset value in this text box.
The valid range is 0...1023.
Preset value = Preset x Timer base
Phase Enter the units for the phase in this text box.
The valid range is 0...1023.
Phase value = Phase x Timer base
Language The programming language of the section is displayed in this list box.
Note: The programming language can only be defined when creating
the section. The programming language cannot be changed for
existing sections.
Protection Select the type of access protection from this list box.
z None
No protection
z Read-Only
Write protection
z No read & write
Read and write protection
See also section Protection of a project, p. 135.
OK Use this command button to accept all entries and close the properties
dialog box.
Apply Use this command button to accept all entries without closing the
properties dialog box.

352
Accessing Tasks and Sections

Localization tab Representation of the Localization tab:


Elements of the Localization tab:
Element Description
Functional module Select the functional module to which the section is to be allocated to
in this list box.
See also section Functional modules, p. 165.
OK Use this command button to accept all entries and close the properties
dialog box.
Apply Use this command button to accept all entries without closing the
properties dialog box.
Note: This command button is only available in the properties dialog
box for existing sections.

Comment tab Representation of the Comment tab:


Elements of the Comment tab:
Element Description
Text box A comment about the section can be entered in this text box.
OK Use this command button to accept all entries and close the properties
dialog box.
Apply Use this command button to accept all entries without closing the
properties dialog box.
Note: This command button is only available in the properties dialog
box for existing sections.

353
Accessing Tasks and Sections

Creating I/O event sections

Introduction I/O event sections can be created in offline and online mode.

Information for An LD section contains 11-64 columns and 17-2000 lines.


creating LD The number of columns is set via the Tools → Project Settings dialog box, in the
sections Editors tab in the Number of columns text box.
These settings are only valid for new sections and not for existing sections. Always
define the number of columns before you create a new LD section.
(The number of lines can be increased or reduced during the creation of section
contents.)

Creating I/O Creating I/O event sections:


event sections
Step Action
1 Left-click the I/O Events directory of the Events task, or place the cursor arrow
on this directory.
2 Select (right-click or Shift+F10 key combination) the New Event Section menu
command from the shortcut menu.
Result: The properties dialog box (See I/O Event sections properties dialog box,
p. 356) for the section is opened.
3 Enter the number of the I/O event in the I/O Event number list box.
The maximum number of I/O events depends on the selected CPU, see also
section Event section (See Creating I/O event sections, p. 354) in the Reference
manual.
4 Select the programming language of the section.
5 Select the type of access protection if necessary from the Protection list box:
z None
No protection
z Read-Only
Write protection
z No read & write
Read and write protection
See also section Protection of a project, p. 135.
6 Select the functional module to which the section is allocated from the
Localization (See Localization tab, p. 334) tab if necessary.
See also section Functional modules, p. 165
7 Enter a comment in the Comment tab if desired.
8 Confirm all entries with OK.

354
Accessing Tasks and Sections

Displaying or Displaying or modifying section properties:


modifying
Step Action
section
properties 1 Left-click the target section, or place the cursor on this section with the arrow
keys.
2 Select (right-click or Shift+F10 key combination) the Properties... menu
command from the shortcut menu.
Result: The properties dialog box (See I/O Event sections properties dialog box,
p. 356) for the section is opened.
3 Implement the desired changes.
4 Confirm all entries with OK.

Importing/ See section:


exporting z Importing the program, p. 1164
sections z Exporting the program, p. 1162

355
Accessing Tasks and Sections

I/O Event sections properties dialog box

Structure of the The properties dialog box consists of three tabs:


properties dialog z General (See General tab, p. 343)
box Enter the I/O event number, the programming language and the type of access
protection for the I/O event section in this tab, see also section Event processing
in the Reference manual.
z Localization (See Localization tab, p. 344)
You can enter the functional module of the section in this tab.
z Comment (See Comment tab, p. 344)
You can enter a comment in this tab.

General tab Representation of the General tab:


Elements of the General tab:
Element Description
I/O Event number You can enter the number of the I/O event in this list box.
The maximum number of I/O events depends on the selected CPU,
see also section Event section (See Creating I/O event sections,
p. 354) in the Reference manual.
Language The programming language of the section is displayed in this list box.
Note: The programming language can only be defined when creating
the section. The programming language cannot be changed for
existing sections.
Protection Select the type of access protection from this list box.
z None
No protection
z Read-Only
Write protection
z No read & write
Read and write protection
See also section Protection of a project, p. 135.
OK Use this command button to accept all entries and close the properties
dialog box.
Apply Use this command button to accept all entries without closing the
properties dialog box.

356
Accessing Tasks and Sections

Localization tab Representation of the Localization tab:


Elements of the Localization tab:
Element Description
Functional module Select the functional module to which the section is to be allocated to
in this list box.
See also section Functional modules, p. 165.
OK Use this command button to accept all entries and close the properties
dialog box.
Apply Use this command button to accept all entries without closing the
properties dialog box.
Note: This command button is only available in the properties dialog
box for existing sections.

Comment tab Representation of the Comment tab:


Elements of the Comment tab:
Element Description
Text box A comment about the section can be entered in this text box.
OK Use this command button to accept all entries and close the properties
dialog box.
Apply Use this command button to accept all entries without closing the
properties dialog box.
Note: This command button is only available in the properties dialog
box for existing sections.

357
Accessing Tasks and Sections

Opening a Section

Opening a Opening a section:


section
Step Action
1 Click the left mouse button on the section desired (section, subroutine, event), or
place the cursor on this section with the arrow keys.
2 Select (right mouse button or key combination Shift+F10 the menu command
Open from the shortcut menu.
or
Double click on the section.
Result: The section is opened.

358
Accessing Tasks and Sections

Deleting sections

Deleting Deleting sections:


sections
Step Action
1 Left-click the target section (section, subroutine, event), or place the cursor on
this section with the arrow keys.
2 Select (right-click or Shift+F10 key combination) the Delete menu command
from the shortcut menu.
Result: The section is deleted.

359
Accessing Tasks and Sections

Execution order of sections

Introduction The execution of sections is carried out according to the order displayed in the
structural view.
The arrangement of the actions, transition, macro steps, subroutines, and event
sections has no influence on the execution order as their execution is program or
event controlled.
The execution order of sections can be changed exclusively in the structural view.
The changes can be made:
z in offline mode
z in online mode in stop mode

Modifying the Modifying the execution order:


execution order
Step Action
1 Click on the desired section with the left mouse button and hold the mouse
button down.
2 Move the section to the required position within the current task or into another
task.

360
Unity Pro software options

18
Unity Pro software options

Subject of this This chapter describes the options in Unity Pro software. The software provides 3
Chapter types of option:
z Project Settings: they are specific to the generated project and to how it is
executed on the PLC (for example: acknowledgment of diagnostics functions,
execution of SFC language, etc.).
z Options..: they are specific to the workstation and may therefore differ from one
station to another for the same project (for example: the way in which errors are
displayed, direction of movement of selection after data entry, etc.)
z Custom..: they are used to customize the ergonomics of the workstation
(contents of toolbar etc.).

What's in this This chapter contains the following sections:


Chapter?
Section Topic Page
18.1 Project Settings 362
18.2 Options 373
18.3 Customize Dialog Box 379

361
Unity Pro software options

18.1 Project Settings

Introduction

Overview This section describes the Tools → Project settings dialog box tab.

What's in this This section contains the following topics:


Section?
Topic Page
Choice of configuration parameters for project generation 363
Editors 365
Language extensions 366
Configuration settings for operator screens 371

362
Unity Pro software options

Choice of configuration parameters for project generation

At a Glance This dialog box that can be accessed with the Tools → Project Settings...
command → Build tab can be used to generate the project.

Dialog box The dialog box below shows the project generation settings.

Description The table below describes the various functions offered:


Fields Description
Warnings during Displays in the view window during the analysis phase the error
analyses messages relating to the following subjects (when the corresponding
box is checked):
Variables not used: variables that have been defined in the project
but are not used in the program.
Multiple writing of variable: variables that are assigned several
times to different places in the program.
Parameters not assigned: EFB or DFB parameters that have not
been assigned.
Multiple use of an FB instance: EFB or DFB instances used
several times at different places in the program.
Overlapping of addresses: variables defined with overlapping
addresses (example: Var1 symbol of the variable %MW10 and
Vartab symbol of the variable %MW0:20).
Upload Information If Include is selected, the non-executable code designed to restore
(See Update of the source of the project on a terminal is simultaneously loaded with
Upload Information, the executable code when transferring the project to the PLC.
p. 104) In this executable code, the check boxes Comments and Animation
tables are used to include (or not) comments associated with the
variables and animation tables respectively.
If Without is selected (default setting), the executable code alone is
loaded when the project is transferred to the PLC.

363
Unity Pro software options

Fields Description
Diagnostics If Application diagnostics is selected, the error messages relating
to application diagnostics (diagnostics DFB) will appear in the
Diagnostics Viewer.
Application level is used to display the cause of a fault that has
occurred on a diagnostics DFB input:
z if No cause of fault is selected: no cause search is performed,
z if Local diagnostic is selected: the cause is searched for in the
section which triggered the alarm.
Note: Cause finding involves searching for the state in which or the
point at which the variables linked to the diagnostics input which
triggered the alarm are used.
If System diagnostics is selected, the error messages relating to
system diagnostics will appear in the Diagnostics Viewer.
Using Language, you can choose the language in which the error
messages are displayed.
Memory allocated Used to define an additional memory area reserved for the creation
to unlocated of new unlocated variables when modifying the project in online
variables mode.
In online mode, if this size is exceeded, an error message is shown.
Code generation With LD link animation: allows you to choose whether or not to
include information on Ladder Diagram link animation in the
generated code.
Optimized code: used to reduce the size of the code generated. This
option has the following consequences:
z On Premium PLCs and on Quantum 140 CPU 6•• PLCs, the bit
%S18 is no longer managed for arithmetic operations on
Elementary Data Types and tables.
z On Quantum 140 CPU 3••/4••/5•• PLCs, the bit %S18 is no longer
managed for arithmetic operations on Elementary Data Types and
the bit %S20 is no longer managed for table indexing (the
threshold values are still checked, however).
Virtual connected This mode is used to modify a project on a non-connected terminal,
mode as if this terminal were connected to the PLC.
It is then simply a case of connecting the terminal to the PLC and
activating the command Build → Build Project in order to have these
modifications taken into consideration in the PLC. This transfer will
not stop the PLC and only the changes made will be taken into
account. The purpose of this mode is to warn you by message when
an online modification is not possible. If however you choose to make
the change, the virtual connected mode is then aborted.
Analysis alone is authorized in this mode, no generation is possible.
Reset This button is used to reset all the settings to their default values.

364
Unity Pro software options

Editors

Introduction The Editors tab contains LD and SFC section display settings.

Representation Appearance of the Editorstab:


Items in the Editors tab:
Element Description
Right-justify coils If this checkbox is checked, coils (See Placing coils, p. 495)
are automatically placed on the right power rail.
Number of Columns Define the number of columns in an LD section in this text
box.
The valid range is 11-64.
Note: These settings are only valid for new LD sections and
not for existing sections.
Reset You can reset the settings in the dialog box to the default
settings with this button.
Mixed display mode In this area you define the available area for variable
comments, symbols and addresses in mixed display mode
(See View for variables, p. 473).
The settings made here only apply to the current project. If
you want them to apply to future projects, you must repeat
the settings in the Dates and Languages tab in the Tools
→ Options dialog box.
Cell height
z Comment lines
Sets the maximum number of comment lines shown in
mixed display mode.
From 0 to 20 lines are possible.
z Symbol lines
Sets the maximum number of symbol lines shown in
mixed display mode.
From 0 to 20 lines are possible.
z Address lines
Sets the maximum number of address lines shown in
mixed display mode.
From 0 to 5 lines are possible.
Column width
Using these option buttons you set the width of the columns
in mixed display mode (from one to three standard column
widths).

365
Unity Pro software options

Language extensions

Introduction The Language extensions tab contains settings for enabling expansions in the
various programming languages.

Note: When you want to create an application that conforms 100 % to


IEC 61131-3, you must deactivate all checkboxes in this tab.

Representation Representation of the Data & Languagestab:

General General:
Element Description
Reset You can reset the settings in the dialog box with this button.

Elements of the Source structure elements area:


Element Description
Allow procedures When you activate this checkbox, you can use procedures in
your project.
Allow subroutines When you activate this checkbox, you can use subroutines in
your project.

366
Unity Pro software options

Sequential Elements of the Sequential Function Chart (SFC) area:


Function Chart
Element Description
(SFC)
Allow macro sections When you activate this checkbox, you can use macro sections in
your project, see also section Macro steps and macro sections in
the Reference manual.
Allow multiple token When you activate this checkbox, the sequential control works in
the "Multi token" operating mode, see also section Multi token in
the Reference manual.
Max. number of active This text box is only available if the Allow multiple token
steps/sections checkbox activated.
You can define the maximum number of active steps per section
(including all their macro sections) in this text box.
The valid range is 1-100.
Max. number of active This text box is only available if the Allow multiple token
actions/sections checkbox activated.
You can define the maximum number of active actions per section
(including all their macro sections) in this text box.
The valid range is 1-100.
Set steps: hold This text box is only available if the Allow multiple token
previous step(s) in checkbox activated.
active status When you activate this checkbox, all currently active steps remain
active when new steps are set by the user (Animation Panel or
function block).
When you deactivate this checkbox, all currently active steps are
deactivated when new steps are set by the user (Animation Panel
or function block).
Parallel branch: Allow This text box is only available if the Allow multiple token
jump in/out checkbox activated.
When you activate this checkbox, jumps can be made into or out
of a parallel sequence, see also section Jump into a parallel
sequence and section Jump out of a parallel sequence in the
Reference manual.
Parallel processing of This text box is only available if the Allow multiple token
all transactions checkbox activated.
When you activate this checkbox, all transitions of an alternative
branch are processed in parallel (x-out-n-select), see also section
x-out-n-select in the Reference manual.
When you deactivate this checkbox, all transitions of an alternative
branch are processed in sequence (1-out-n-select), see also
section Alternative sequences in the Reference manual.

367
Unity Pro software options

Graphical Elements of the Graphical languages (FBD/LD) area:


languages (FBD/
Element Description
LD)
Usage of ST expressions When you activate this checkbox, you can use ST expressions
as actual parameters on FFB inputs and contacts.

Identifier Elements of the Identifier area:


Element Description
Allow leading digits When you activate this checkbox, you can use leading digits in
names (e.g. section names, variable names, step names etc.).
The names must contain at least one letter in addition to the
leading digits.
Allow extended character When you activate this checkbox, you can use the ASCII 8 bit
set character set in names (e.g. section names, variable names,
step names etc.).

368
Unity Pro software options

Data types Elements of the Data types area:


Element Description
Allow usage of EBOOL When you activate this checkbox, you can use the EBOOL data
edge type for edge recognition.
Allow INT/DINT in place When you activate this checkbox, for generic parameters of
of ANY_BIT data type ANY_BIT you can use the parameters of data type
INT or DINT (not UINT and UDINT).
For example:
Allowed:
AND (AnyBitParam := IntVar1, AnyBitParam2 := IntVar2):
Not allowed:
AND_WORD (WordParam1 := IntVar1, WordParam2 :=
IntVar2); (in this case AND_INT must be used.)
AND_ARRAY_WORD (ArrayInt, ...) (In this case an
explicit type conversion must be performed using
INT_ARR_TO_WORD_ARR (...).
Allow bit extraction of When you activate this checkbox, you can extract individual bits
INT_WORD from a INT or WORD, see also section Single bits in words in the
Reference manual.
Directly represented When you activate this checkbox, you can
ARRAY variables z declare references via indexed addresses (e.g. %MW1[3])
see also section References using indexed addresses in the
Reference manual
z Reference bits and words as tables (Array) (e.g. %MW1:16)
see also section Table of bits and words in the Reference
manual
or
z you can use a combination of both of them (e.g.
%MW1[3]:16).
Dynamic arrays When you activate this checkbox, you can use dynamic arrays,
[ANY_ARRAY_XXX] see also section Tables in the Reference manual.
allowed
Disable array size When you activate this check box, no compatibility check is
compatibility check made on the arrays when one array is assigned to another, see
also section Tables in the Reference manual.
Note: This option only applies to multi-dimensional arrays.

369
Unity Pro software options

Textual Elements of the Textual languages (IL/ST) area:


languages
Element Description
(IL/ST)
Allow empty parameters When you activate this checkbox, it is not necessary to assign
in informal call a value to all formal parameters when making informal calls of
functions (ST) and function blocks (IL/ST).
See also section Informal call (ST) and section Informal call (IL)
in the Reference manual.
Allow jump and label (ST) When you activate this checkbox, you can use jumps and labels
in ST, see also section Labels and jumps in the Reference
manual.
Allow multi assignment When you activate this checkbox, you can use multi
[a:=b:=c;] (ST) assignments in ST, see also section Multi assignments in the
Reference manual.
Allow nested comments When you activate this checkbox, you can nest comments
without it being reported as an error.

370
Unity Pro software options

Configuration settings for operator screens

At a Glance The configuration box accessible via the command Tools → Project Settings →
Operator Screens tab is used to:
z manage the control of screens by the PLC,
z manage the detection of displayed screens,
z manage the display or masking of screen numbers in the project browser,
z manage the display of full screen at opening.

Advanced The screen below shows the project configuration dialog box.
configuration
dialog box

Description The following table describes the various functions offered by the project
configuration dialog box.
Field Description
Controlled screen This field is used to enter the screen control variable. In online
mode, this variable enables the PLC to select the screen to be
displayed. To the right of this field is the button, which can be
used to access the variable instances selection window.
Type Type of variable.
Comment Comment on the variable.
Displaying screens When this box is checked, screen control in online mode is
controlled via the PLC controlled via the PLC. It is the value of the control variable that
determines the screen displayed.
Display screen number When this box is checked, the screen number is displayed to the
in the project browser left of the screen name in the project browser and in the title bar
of the screen.
Last opened screen: This field is used to enter the variable containing the number of
Variable the last screen opened by the user or the PLC.
To the right of this field is the button, which can be used to
access the variable instances selection window.
Type Type of variable.
Comment Comment on the variable.
Images When this button is pressed, the project space is cleaned of all
unused images.
Full screen at opening When this box is checked, the operator screens open in Full
screen mode (the menu bars and the scroll bars are hidden).

371
Unity Pro software options

Control variable The control variable enables the PLC to select the screen to be displayed. This
variable can be binary or numeric.

Binary control The diagram below gives an example of the trend of the control variable where it is
variable binary.
For each of the steps of the trend diagram, the control variable operates as follows.
Step Operation
1 its value is equal to 1 for more than 1 second:
z the screens are displayed one after another (1 second per screen)
according to their position in the project browser (the PLC selects the
screens by scrolling through the list from top to bottom)
2 and its value is equal to 0 for more than 1 second:
4 z the screen selected by the PLC (n = current screen) remains displayed.
3 its value is equal to 1 for less than 1 second:
z on each pulse, the PLC selects the screen (n+1) in the list of operator
screens. The pulses are used to move forward screen by screen until the
chosen screen is reached.

Numeric control The control variable is numeric and its value corresponds to an operator screen
variable number. Therefore, the screen editor displays (if it exists) the screen whose number
is equal to the variable value.

372
Unity Pro software options

18.2 Options

Introduction

Overview This section describes the Tools → Options dialog box tab.

What's in this This section contains the following topics:


Section?
Topic Page
General Options 374
Dates and Languages 375
Connection options 376
Library configuration options 377
The Operator Screens option 378

373
Unity Pro software options

General Options

At a Glance This dialog box accessible via the Tools → Options → General tab command
contains a set of general options.

General options The dialog box below shows the general options.
dialog box

Description The table below describes the various functions offered:


Fields Description
Automatic When this option is selected, the project version is automatically
incrementation of incremented on each save.
the project version
Display errors / If Message box is selected, all error messages are displayed in
messages dialog boxes.
If Output Window is selected, all error messages are displayed in
the output window.
Upload information If Automatic is selected, all online modifications are made on both
management (See the executable code and the non-executable code designed to
Update of Upload restore the project on the terminal.
Information, p. 104) If At user request is selected, the online modifications are only
made on the executable code in the PLC processor. The non-
executable code must be updated implicitly using the PLC →
Update Upload Information command.
An indicator at the foot of the screen is displayed if the non-
executable code has not been updated.
Restore context When this box is checked, the windows have the same arrangement
when the project is opened as when it is closed. A .CTX file is
generated, which saves the context.
Project path Path where the .STU project files are saved or from where they are
retrieved when opening.
Source path Path where the import/export source files are kept (example: .XEF
files)
Working directory Work area used by the software.
Reset The reset button restores the default settings.

374
Unity Pro software options

Dates and Languages

Introduction The Data & Languages tab contains settings for entering data.

Note: The changes made in this tab become active when the respective dialog box
(e.g. Data editor) is closed and then opened again.

Representation Representation of the Dates & Languages tab:


Items of the Data & Languages tab:
Element Description
Direction to move This options button allows you to specify which neighboring cell
selection after becomes active when you press the Enter key.
entering information
Open edit session If this checkbox is checked, the input mode is automatically opened
for pressed Char key for the currently active cell when a character key is pressed. The
contents of the active cell are overwritten with the new contents.
Reset If this button is pressed, then the default settings are reactivated.
Automatically assign If you check this checkbox, the properties dialog box (e.g. for
variable to a new contacts, coils, steps, transitions) or the FFB Input assistant (e.g. for
graphical object functions, function blocks) is opened for assigning the formal
parameter of the object when you place a graphical object
Mixed display mode In this area you define the available area for variable comments,
symbols and addresses in mixed display mode (See View for
variables, p. 473).
The setting made here only apply to the future projects. If you want
them to the current project, you must repeat the settings in the
Editors tab in the Tools → Project settings dialog box.
Cell height
z Comment lines
Sets the maximum number of comment lines shown in mixed
display mode.
From 0 to 20 lines are possible.
z Symbol lines
Sets the maximum number of symbol lines shown in mixed
display mode.
From 0 to 20 lines are possible.
z Address lines
Sets the maximum number of address lines shown in mixed
display mode.
From 0 to 5 lines are possible.
Column:width
Using these option buttons you set the width of the columns in mixed
display (from one to three standard column widths).

375
Unity Pro software options

Connection options

At a Glance This dialog box accessible via the Tools → Options → Connection tab command
contains the options relating to the connection (See Services in online mode,
p. 87)of the terminal to the PLC.

Connection The dialog box below shows the connection options.


options dialog
box

Description The table below describes the various functions offered.


Fields Description
PLC connection When several terminals simultaneously access the same PLC, this
identification information can be used to identify which terminal holds the PLC
reservation. By default, the network name of the terminal is
proposed; this name can be changed.
Default connection If Use programming mode is selected, the terminal connects, by
mode default, in programming mode.
If Use monitoring mode is selected, the terminal connects, by
default, in monitoring mode (read-only access).
If Ask for connection mode is selected, the terminal asks, on each
connection to a PLC, in which mode the connection is to be made:
programming mode or monitoring mode.
If Mandatory programming mode is selected, the terminal can only
connect in programming mode. If the PLC is reserved, a connection
refusal then follows.

376
Unity Pro software options

Library configuration options

At a Glance This dialog box accessible via the Tools → Options → Library settings tab
command contains a set of options relating to libraries.

Dialog box The dialog box below shows the library configuration options.

Description The table below describes the various functions offered.


Fields Description
Current library Library status: information on the status of the library: available or
not available.
Diagnostics: information on the validity of the library: OK (valid) or
not valid.
Library contents Families: indicates the number of families available.
Libraries: indicates the number of libraries available.
FFBs: indicates the number of function blocks available.
Custom Library: indicates whether or not user libraries exist.
Library path Current Location indicates the path where the libraries are located.

377
Unity Pro software options

The Operator Screens option

At a Glance The configuration box accessible via the Tools → Project Settings → Operator
Screens tab command is used to:
z enable or prevent use of the magnetic grid,
z display the mouse position,
z enable edit in online mode,
z enable selection of an object in online mode,
z display or hide the vertical scroll bar,
z display or hide the horizontal scroll bar,
z specify the default size of new operator screens.

Description The following table describes the various functions offered by the configuration
dialog box.
Field Description
Grid When this box is checked, the grid is displayed according to the step
defined.
Step Is used to define the step of the grid, i.e. the space between the
horizontal and vertical lines of the grid. The steps permitted are
between 5 and 100 pixels, with an increment of 5 pixels.
Alignment of When this box is checked, the objects are automatically positioned on
objects on grid the points of the grid when they are handled (creation, modification,
movement, etc.).
If this box is not checked, the objects are not aligned on the grid.
Display mouse When this box is checked, the position of the mouse is displayed in the
position status bar. If an object is selected, the display indicates the position of
its top left corner, its dimensions and its animation settings (if they
exist).
Vertical scroll bar When this box is checked, the vertical scroll bar is displayed.
Horizontal scroll bar When this box is checked, the horizontal scroll bar is displayed.
Edit in online mode When this box is checked, this authorizes the editing of screens in
online mode (creation, modification and deletion of screens).
Enable selection in When this box is checked, this enables the selection of an object in
online mode online mode.
Default screen size These 2 fields allow you to define the default size of new screens. The
values entered do not change the size of screens already created.
Screen opening If you check the Mono-Instance box, when a new screen opens, the
latter replaces the previous one in the display window.
If the check the Multi-Instance box, each time a new screen is opened,
the screen is displayed in a new window. In online mode, if several
screens are opened simultaneously, this can slow down performance.

378
Unity Pro software options

18.3 Customize Dialog Box

Customize Dialog Box

Calling the dialog You have the following options to call the dialog box:
box z Use the Tools → Customize menu command.
or
z Use the Toolbar menu command from a toolbar shortcut menu or the toolbar
itself.

Structure of the The dialog box consists of two tabs:


dialog box z Toolbars
In this tab, you can show/hide toolbars, create new toolbars and define the
appearance of the toolbars.
z Tools
In this tab, you can define the menu commands for starting external applications.

Toolbars tab Representation of the Toolbars tab:


Elements of the Toolbars tab:
Element Description
Toolbars Displays the currently available toolbars.
To display a toolbar, activate the respective check box.
To hide a toolbar, deactivate the respective check box.
Toolbar name Displays the name of the selected toolbar.
Show Tooltips When you activate this check box, tooltips are displayed for each
toolbar symbol.
Cool Look When you activate this check box, the toolbar symbols are displayed
in flat form.
New... Use this command button to open the dialog box for defining new
toolbars, see also Creating your own toolbars, p. 1250.
Reset Use this command button to restore the original state of the toolbar
selected in the Toolbars list box.

379
Unity Pro software options

Tools tab Representation of the Tools tab:


Elements of the Tools tab:
Element Description
Contents menu Displays the defined menu commands.
Menu Text Enter the name of the new menu command in this text box.
Command Enter the path of the file to be executed in this text box.
Arguments Enter the arguments to transfer when the application is started in this
text box.
Initial Directory Enter the path of the application’s working directory in this text box.
Add Use this command button to define a new menu command for starting
an external application, see also Starting external applications,
p. 1246.
Remove Use this command button to delete the selected menu command.
Up Use this command button to move the selected menu command up by
one position.
Down Use this command button to move the selected menu command down
by one position.

380
Common Functions of
FBD, LD and SFC
19
Introduction

Overview This chapter describes the common menus and dialogs of the FBD, LD and SFC
editors.

What's in this This chapter contains the following topics:


Chapter?
Topic Page
Using bookmarks 382
Display grid 384
Zoom 385
Tracking links 387
Print Current Section 388

381
FBD, LD and SFC

Using bookmarks

Introduction Bookmarks are used to mark positions in the margin (gray column on the left edge
of the section) and allow the marked positions to be easily found in large sections.
An example of a bookmark in SFC:
The current bookmark is indicated using a horizontal arrow (). If the window is
scrolled, resized or the zoom factor changed, the current bookmark is removed.

Setting You have the following options to set a bookmark:


bookmarks z Execute the command Edit → Bookmarks > → Toggle bookmarks . (There
must not be any current bookmarks in the visible area or they will be deleted).
The bookmark is inserted in the middle of the visible area of the margin (gray
column on the left edge of the section) and is marked as the current bookmark.
z Press the Ctrl+F2 key combination. (There must not be any current bookmarks
in the visible area or they will be deleted).
The bookmark is inserted in the middle of the visible area of the margin (gray
column on the left edge of the section) and is marked as the current bookmark.
or
z Place the mouse pointer in the margin (gray column on the left edge of the
section) at the position to be marked and use the Toggle Bookmark menu
command from the shortcut menu for the margin.
The bookmark is inserted at the mouse pointer and marked as the current
bookmark.

Removing single You have the following options to to remove a bookmark:


bookmarks z Select the bookmark to be deleted as the current bookmark (e.g. with Next
bookmark) and use the Edit → Bookmark > → Toggle bookmark command.
z Select the bookmark to be deleted as the current bookmark (e.g. with Next
Bookmark) and press the Ctrl+F2key combination.
or
z Place the mouse pointer on the bookmark to be removed and use the Toggle
Bookmark menu command from the shortcut menu for the bookmark.

Removing all You have the following options to remove all bookmarks in the current section:
bookmarks z Use the Edit → Bookmark> → Clear all Bookmarks menu command.
or
z Press the Ctrl+Shift+F2 key combination.

382
FBD, LD and SFC

Searching for You have the following options to search for bookmarks (search down):
bookmarks z Use the Edit → Bookmark> → Next Bookmark menu command.
(search down) z Use the Edit → Go to → Bookmark → Next menu command.
or
z Press the F2 key.
If a current bookmark is selected, a jump is made to the next one and the last one is
marked as the current bookmark.
If no current bookmark is selected, the margin is search from top to bottom for the
next bookmark, which is marked as the current bookmark.
When the end of the section is reached, the search starts again from the top.

Searching for You have the following options to search for bookmarks (search up):
bookmarks z Use the Edit → Bookmark> → Previous Bookmark menu command.
(search up) z Use the Edit → Go to → Bookmark → Previous menu command.
or
z Press the Shift+F2 key combination.
If a current bookmark is selected, a jump is made to the previous one and the last
one is marked as the current bookmark.
If no current bookmark is selected, the margin is search from the bottom to the top
for the next bookmark, which is marked as the current bookmark.
When the start of the section is reached, the search starts again from the bottom.

383
FBD, LD and SFC

Display grid

Displaying the The editor window has a grid background as default which splits the window into
grid lines and columns.
Use the View → Grid menu command to to show or hide the grid.
The active mode is indicated by way of a check-symbol before the menu command.

384
FBD, LD and SFC

Zoom

Introduction Several Zoom functions are available to provide an optimal display of the elements
in the current section (overview of the entire contents or display of details).

Zoom factor in % The Zoom factors given in percentages increase or decrease the view of the section
in proportion to its normal size. To see the section in its normal size, select 100%.
The following Zoom factors are available:
z 50%
Decreases the section contents to half their normal size.
z 75%
Decreases the section contents to three-quarters of their normal size.
z 100%
Displays the section contents in normal size.
z 200%
Increases the section contents to double their normal size.
The menu command to set the Zoom factor is available.
z via the View → Zoommenu.
z Using the Zoom shortcut menu for the section.
You can see which mode is active by way of a check-symbol before the menu
command.

Custom... This dialog box has two functions:


z Displaying the current Zoom factor as a percentage
When the dialog box is opened, the Magnification % list box displays the the
current Zoom factor.
z Defining any Zoom factor as a percentage
You can define the Zoom factor by entering the Zoom factor as a percentage or
by selecting a percentage from the list of already used Zoom factors.
The menu commands to set the user-defined Zoom factor is available:
z via the menuView → Zoom → User-defined....
z using the Zoom → User-definedshortcut menufor the section.
You can see which mode is active by way of a check-symbol before the menu
command.

385
FBD, LD and SFC

Zoom to Fit For FBD and SFC sections the contents are minimized horizontally and vertically so
that the whole section can be seen.
For LD sections the contents are minimized horizontally so that the whole section
width can be seen.
If the size of the section is changed, the section contents are automatically adapted
to the new size.
The menu command to set the window size is available.
z via the menuView → Zoom → Zoom to fit.
z via the shortcut menuZoom → Zoom to fit for the section.
z using the key combination Ctrl-=
You can see which mode is active by way of a check-symbol before the menu
command.

Zoom to Decreases or increases the section contents so that the selected element(s) is (are)
Selection displayed as large as possible and in focus.
The menu command to zoom to the selection is available.
z via the menuView → Zoom → Zoom to fit.
You can see which mode is active by way of a check-symbol before the menu
command.

Zooms out by To reduce current display by 25 %:


25% z select the menu View → Zoom → Zoom out.
z select the shortcut menu View → Zoom out for the section.
z press the key combination Ctrl--
z click the symbol.

Zoom in To zoom in on current display by 25 %:


z select the menu View → Zoom → Zoom in.
z select the shortcut menu View → Zoom out for the section.
z press the key combination Ctrl-+
z click the symbol.

Fullscreen To display the application window in full-screen mode:


z select the View → Full screen menu.
z press the key combination Ctrl-F8
z click the symbol.
To end the full screen mode press Esc or use the toolbar menu.

386
FBD, LD and SFC

Tracking links

Introduction There are different view functions available to provide optimum display of links
(display source, display destination, display entire link).

Displaying the Displaying the source (start point) of a link:


source of a link
Step Action
1 Select the link whose source you want to display.
2 Use the Edit → Link → Go to Source menu command.
or
Use the Go to Source menu command from the shortcut menu.
Result: The focus of the section is changed to display the source (start point) of
the link. The current zoom factor remains unchanged.

Displaying the Displaying the destination (end point) of a link:


destination of a
Step Action
link
1 Select the link whose destination you want to display.
2 Use the Edit → Link → Go to destination menu command.
or
Use the Go to destination menu command from the shortcut menu.
Result: The focus of the section is changed to display the destination (end point)
of the link. The current zoom factor remains unchanged.

Displaying the Displaying the entire link:


entire link
Step Action
1 Select the link that should be displayed in its entirety.
2 Use the Edit → Link → Zoom menu command.
or
Use the Zoom menu command from the shortcut menu.
Result: Decreases or increases the section contents so that the selected links
are displayed as large as possible and in focus.

387
FBD, LD and SFC

Print Current Section

Introduction There are the following ways to print the current section:
z Print the section using the menu command
z Print the section using the print documentation

Print the section Carry out the following steps to print the current section using the menu command:
using the menu
Step Action
command
1 Open the print dialog using:
z the menu command File → Print,
z or the key combination Ctrl+P
or
z the symbol .
2 Press OK to start printing the current section.

Print the section Carry out the following steps to print the current section using the print
using the print documentation:
documentation
Step Action
1 Double-click on Documentation in the project browser.
Result: An overview of your system is open, see also Documentation, p. 1131
2 Select Program → Tasks → MAST/FAST/AUX → ... to print the section.
3 Select the menu command Print from the sections context menu.
4 Press OK to start printing the current section.

388
Common FBD and LD Functions

20
Introduction

Overview This chapter describes the common menus and dialog boxes of the FBD and LD
editor.

What's in this This chapter contains the following topics:


Chapter?
Topic Page
Undo and redo changes 390
Using connectors 391
Inspect windows 393
Initialize search 395
Initialize Animation Table 396
Go to 397
Go to dialog box 399

389
LBD and LD

Undo and redo changes

Undo changes You have the following options to undo the recent changes:
z Use the Edit → Undo menu command.
z Press the Ctrl+Z key combination.
or
z Select the symbol.
One change is undone each time the function is executed.
The function can be executed a maximum of 10 times.

Redo changes Changes that have been undone using Undo can be restored:
z Use the Edit → Redo menu command.
z Press the Ctrl+Y key combination.
or
z Select the symbol.
One undone change is restored each time the function is executed.
The function can be executed a maximum of 10 times.

390
LBD and LD

Using connectors

Introduction To avoid links overlapping each other, they can also be represented in the form of
connectors, see also section Links in the Reference manual.

Displaying links Displaying links as connectors:


as connectors
Step Action
1 Select the desired link.
2 Use the Edit → Link → Show as Connector menu command.
or
Use the Show as Connector menu command from the shortcut menu.
Result: The link is displayed as a connector.

Displaying Displaying connectors as links:


connectors as
Step Action
links
1 Select the desired connector.
2 Use the Show as Link menu command from the shortcut menu.
Result: The connector is displayed as a link.
Note: Although the connector is now displayed as a link, the name of the
connector is still occupied and cannot be used for another link. If the connector
name is used for another link, the connector must be explicitly deleted, see
Deleting connectors, p. 392.

391
LBD and LD

Renaming Renaming connector:


connector
Step Action
1 Double-click the target connector (source).
Result: The editor mode is activated.
2 Enter the new name.
Note: The name must be unique within the current section and may not already
be used by a connector, this also applies to connectors that are to be displayed
as links. To enable an occupied connector name, the connector must be
explicitly deleted, see Deleting connectors, p. 392.
Confirm the entry using Enter.
Result: The connector (source and target) is renamed.

Deleting Deleting connectors:


connectors
Step Action
1 Select the desired connector.
2 Use the Delete connector menu command from the shortcut menu.
Result: The connector is displayed as a link and the connector name is deleted.

392
LBD and LD

Inspect windows

Introduction In offline mode, the name, address (if available) and the comment (if available) of
the associated variable are displayed in inspect windows.
In online mode, the name, address (if available) and the current value of the variable
are displayed in inspect windows.
The current values can be displayed:
z Decimal, e.g. 15
z Binary, e.g. 00001111
z Hexadecimal, e.g. F
z Floating point, e.g. 15.4
z Exponent, e.g. 1.3e+003
z Literal, e.g. 'otto'

Generating an Generating an inspect window:


inspect window
Step Action
1 In FBD: Select the desired FFB pin.
In LD: Select the desired contact, the desired coil or the desired FFB pin.
2 You have the following options to generate inspect windows:
z Use the Edit → New → Inspect window menu command.
z Use the Place Inspect menu command from the shortcut menu.
z Press the F9 key.
or
z Select the symbol.
Result: The inspect window is generated.

Resizing Position the mouse pointer on the right or left edge of an inspect window (the correct
position is indicated by the or mouse pointer symbol), click the left mouse button
and drag the mouse right or left.

Changing the Position the mouse pointer on the inspect window, click the left mouse button and
position move the inspect window to the target position.

393
LBD and LD

Anchoring the You can anchor all inspect windows of a section to their relative positions within the
position section (the inspect window stays in its onscreen position even if the page is
scrolled), or to their absolute position (the inspect window is scrolled along with the
rest of the section contents).
To switch between modes, select the View → Floating Inspect Windows menu
command.
You can see which mode is active by way of a check-symbol in front of the menu
command.

Setting a zone Setting a zone monitor:


monitor
Step Action
1 Position the mouse pointer on the inspect window.
2 Use the Settings menu command from the shortcut menu.
Result: The properties dialog box for the inspect window is opened.
3 Enter a minimum and a maximum value for the variable to be monitored.
4 Enter the format of the variable displayed in the section.
5 Confirm the entries with OK.
Result:
z If the current value is within the defined range, the inspect window is
displayed in cyan.
z If the current value is outside the defined range, the inspect window is
displayed in yellow.
z If the current value is above the defined range, the inspect window is
displayed in magenta.

Hiding inspect To hide and show the inspect windows select the View → Hide Inspect Windows
windows menu command.
You can see which mode is active (hide inspect windows) by way of a check-symbol
in front of the menu command.

Deleting inspect Position the cursor on the inspect window to be deleted and select the Delete
windows Inspect menu command from the shortcut menu.

394
LBD and LD

Initialize search

Introduction The Initialize Search function transfers the name of the selected element (search
text) to the Element text box in the Cross-References (See Search data in
project, p. 769) window.

Selecting the Process the following steps to select the search text:
search text
Step Action
1 Select the element to search for (search text).
The following elements can be searched for:
z Variable
(To search for a variable, select the variable.)
z EFB/DFB Instance
(To search for an EFB/DFB instance, select the EFB/DFB.)
2 Use the Services → Initialize Search menu command.
or
Select the menu command Initialize search from the sections shortcut menu.
or
Press the Ctrl+U key combination.
Result: The search text is transferred to the Element text box in the Cross-
References (See Search data in project, p. 769) window.

395
LBD and LD

Initialize Animation Table

Introduction The Initialize Animation Table transfers the selected variables to the Animation
table (See Basic functions, p. 932).

Selecting the Process the following steps to select variables:


variables
Step Action
1 Select the variables to transfer to the Animation table.
The following items can be selected:
z Variable
(To transfer one or more variables, select the variable(s) desired.)
z FFB
(To transfer all variables of an FFB, select the FFB.)
2 Use the Services → Initialize Animation table menu command.
or
Select the menu command Animation Table from the sections shortcut menu.
or
Press the Ctrl+T key combination.
Result: The variable(s) is/are transferred to the Animation table (See Basic
functions, p. 932).

396
LBD and LD

Go to

Introduction The Go tofunction is used to jump to:


z a specific location in the current section,
z a specific bookmark in the current section or
z a specific mark in the current section.

Open the dialog The following options are available to open theGo todialog box.
z Use the menu command Edit → Go to,
z select the menu command Go to from the sections shortcut menu,
z Press the key combination Ctrl+G.
or
z Choose the symbol.

Go to a location Go to a certain position in the current section by carrying out the following steps:
Step Action
1 Open (See Open the dialog, p. 397) the Go todialog box.
2 Select the Position (See Position tab, p. 399) tab.
3 Enter the line or column number.
4 Confirm the entry using the command button Go to.
Result: The desired position is displayed.

Go to a Go to a certain bookmark in the current section by carrying out the following steps:
bookmark
Step Action
1 Open (See Open the dialog, p. 397) the Go todialog box.
2 Choose theActions (See Register tab Bookmarks, p. 400)tab.
3 Select a bookmark in the list.
4 Double click on the selected bookmark or press the Go tocommand button.
Result: The bookmark is shown and marked as the current bookmark (See
Using bookmarks, p. 382).

397
LBD and LD

Go to a location Go to a certain location in the current section by carrying out the following steps:
Step Action
1 Open (See Open the dialog, p. 397) the Go todialog box.
2 Select the Location (See Register tab Location, p. 400)tab.
3 Select a location in the list.
4 Double click on the selected location or press the Go tocommand button.
Result: The desired location is displayed.

398
LBD and LD

Go to dialog box

Call the dialog See Open the dialog, p. 397


box:

Call the dialog The Go todialog box is made up of three tabs:


box z Location
Go to a certain position in the current section using this tab:
z Bookmarks
Go to a certain bookmark in the current section using this tab:
z Label
Go to a certain location in the current section using this tab:

Position tab Elements of the Position tab


Element Description
For symbols that are not printed, the dialog box is closed after every search.
For printed symbols the dialog box remains open until you close it.
Row The number of the row to be displayed can be entered in this text box.
Column The number of the column to be displayed can be entered in this text box.
Go to Display the current position using the button desired position (See Go to a
location, p. 397).
Close Use this button to close the dialog.
Help Use this button to call up the dialog help.

399
LBD and LD

Register tab Elements of the tab Bookmark:


Bookmarks
Element Description
For symbols that are not printed, the dialog box is closed after every search.
For printed symbols the dialog box remains open until you close it.
Bookmark: Select the bookmark to be displayed from this list box.
Prev If a current bookmark (See Using bookmarks, p. 382) is selected, a jump is
made to the previous one and the last one is marked as the current bookmark.
If no current bookmark is selected, the margin is search from the bottom to the
top for the next bookmark, which is marked as the current bookmark.
When the start of the section is reached, the search starts again from the
bottom.
Next If a current bookmark (See Using bookmarks, p. 382) is selected, a jump is
made to the previous one and the last one is marked as the next bookmark.
If no current bookmark is selected, the margin is search from top to bottom for
the next bookmark, which is marked as the current bookmark.
When the end of the section is reached, the search starts again from the top.
Go to Display the current position using the button desired bookmark (See Go to a
bookmark, p. 397).
Close Use this button to close the dialog.
Help Use this button to call up the dialog help.

Register tab Elements of the tab Bookmark:


Location
Element Description
For symbols that are not printed, the dialog box is closed after every
search.
For printed symbols the dialog box remains open until you close it.
Locations: Select the location to be displayed from this text box.
You can enter the name of the location in the text box with the
keyboard or using the drop-down list by clicking with the mouse.
Go to Display the current position using the button desired location (See Go
to a location, p. 398).
Close Use this button to close the dialog.
Help Use this button to call up the dialog help.

400
FBD Editor

21
Introduction

Overview This chapter describes the menus and dialogs of the FBD editor.
For a description of the syntax for the FBD programming language, please refer to
the Function Block Diagram FBD chapter in the Reference manual.

What's in this This chapter contains the following sections:


Chapter?
Section Topic Page
21.1 Creating a program with FBD programming language 402
21.2 Editing FFBs 415
21.3 Returning from a Subroutine or DFB 441
21.4 Calling a Subroutine 444
21.5 Jumps within the Current Section 447
21.6 Definition of the Jump Target (Jump Labels) 451
21.7 Editing Links 455
21.8 Entering Comments 460
21.9 Online functions 462
21.10 Export/Import 463

401
FBD Editor

21.1 Creating a program with FBD programming


language

Introduction

Overview This section describes the basics for creating a program in the FBD programming
language.

What's in this This section contains the following topics:


Section?
Topic Page
Structure of an FBD program (function block language) 403
Creating an FBD Program 405
Syntax and Semantics Check during Programming 406
Navigating with the Keyboard 407
Selecting objects 408
Deleting, cutting, copying, pasting and moving objects 410
Displaying the properties 413
Refining DFBs and subroutines 414

402
FBD Editor

Structure of an FBD program (function block language)

Properties of an Properties of an FBD program:


FBD program z FBD sections have a grid behind them.
z A grid section consists of ten grid units. A grid unit is the smallest possible space
between two objects in an FBD section.
z An FBD section contains 360 horizontal grid units (= 36 grid sections) and 240
vertical grid units (= 24 grid sections).
z The FBD programming language is not cell oriented but the objects are still
aligned with the grid units.
z The execution order is determined by the position of the FFBs in the section
(executed from left to right and from top to bottom). If the FFBs are connected to
a network using graphical links, the execution order is determined by the signal
flow, see also section Execution order of the FFBs in the Reference manual.
The execution order can be influenced in several ways, see also section
Changing the execution order in the Reference manual.
z A syntax and semantics check (See Syntax and Semantics Check during
Programming, p. 406) is performed immediately after the statement is entered.
The result of this check is displayed in colored text and objects.
z Syntactically or semantically incorrect sections can be saved.

FBD program The objects of the programming language FBD (Function Block Diagram) help to
objects divide a section into a number of:
z EFs and EFBs (See Calling an FFB via the data selection, p. 420) (Elementary
Functions and Elementary Function Blocks),
z DFBs (See Calling an FFB via the data selection, p. 420) (Derived Function
Blocks) and
z Procedures (See Calling an FFB via the data selection, p. 420)
These objects, combined under the name FFBs, can be linked with each other by:
z Links (See Editing Links, p. 455) or
z Actual Parameters (See Assign actual parameters, p. 423).
Comments for the logic of the program can be added using text objects (See
Entering comments, p. 460).

403
FBD Editor

Edit and view Edit and view functions of the FBD Editor:
functions z Selecting objects (See Selecting objects, p. 408)
z Deleting objects (See Deleting objects, p. 410)
z Cutting (See Cutting objects, p. 410), copying (See Copying objects to the
clipboard, p. 411) and pasting (See Pasting objects from the clipboard, p. 411)
objects
z Moving (See Moving objects, p. 412) objects (also between different FBD/LD
sections)
z Undo (See Undo changes, p. 390) and Redo (See Redo changes, p. 390)
z Using bookmarks (See Using bookmarks, p. 382)
z Searching and replacing (See Search/Replace tool, p. 763) variables and
function blocks and DFB instances.

Input assistants Input assistants for the FBD Editor:


z Function input assistants (See Actual parameter assignment using the function
input assistant, p. 430) for functions, function blocks and procedures

Online functions Online functions of the FBD Editor:


z Display the current value (See Inspect windows, p. 393).
z Setting breakpoints (See Inserting a breakpoint in Function Block Diagram
language, p. 892)
z Setting watchpoints (See Inserting a watchpoint in Function Block Diagram
language (FBD), p. 896)
z Step by Step (See Step by step execution mode in Function Block Diagram
language (FBD), p. 894)

404
FBD Editor

Creating an FBD Program

Creating an FBD Carry out the following procedures to create an FBD program:
program
Step Action
1 Creating an FBD section. (See Creating an FBD, LD, IL or ST section, p. 330)
2 Place the desired FFB in the section, see also Calling an FFB via the data
selection, p. 420.
3 Assign the necessary current parameters to the FFB, also see Assign actual
parameters, p. 423.
Note: As soon as the text is entered several checks are made, such as syntax/
semantic error checks, correct spelling of variable names etc. A detailed
description of syntax is found in chapter Function Block Diagram FBD in the
Reference manual.
The results of the checks are indicated by a color folder, see also Syntax and
Semantics Check during Programming, p. 406.
4 Create a graphical link between FFBs, also see Placing a Link, p. 457.

405
FBD Editor

Syntax and Semantics Check during Programming

Introduction A syntax and semantics check is carried out during program creation. The result of
this check is displayed in color text and objects.

Representation Meaning of colors and labels:


Color Meaning
black Syntax and semantics are correct
blue Possible causes:
z Associated variable is not declared
z Data type of the variables does not match the data type of the pin
red wavy line Faulty text, e.g. variables which are not declared, variables with an incorrect
data type, ...

Quickinfo If the cursor is placed over a faulty text or object a Quickinfo (Tooltip) with a brief
description of the cause of the error appears.

406
FBD Editor

Navigating with the Keyboard

Using the The following keys and key combinations are provided for navigation:
keyboard
Key combinations Motion
Cursor left Moves the cursor to the left
Cursor right Moves the cursor to the right
Cursor up Moves the cursor up
Cursor down Moves the cursor down
Ctrl+Left Moves the cursor one grid point to the left
Ctrl+Right Moves the cursor one grid point to the right
Ctrl+Up Moves the cursor one grid point up
Ctrl+Down Moves the cursor one grid point down
Home Shows the beginning of the current line
End Shows the end of the current line
Ctrl+Home Shows the top left cell of the section (the position of the
cursor is not affected by this function)
Ctrl+End Shows the bottom right cell of the section (the position of
the cursor is not affected by this function)
Page Up Scrolls one page up (the position of the cursor is not
affected by this function)
Page Down Scrolls one page down (the position of the cursor is not
affected by this function)
Ctrl+Page Up Scrolls one page to the left (the position of the cursor is not
affected by this function)
Ctrl+Page Down Scrolls one page to the right (the position of the cursor is
not affected by this function)
Spacebar Selects the object at the cursor position.
Ctrl+space bar Adds the object at the cursor position to the current
selection (multiple selection).
Enter In Select mode: Opens the properties dialog box for the
selected object/pin.
In Insert mode: Places the selected object at the cursor
position.

407
FBD Editor

Selecting objects

Select and Objects are selected in select mode.


placement mode Select mode can be activated using:
z the Edit → Select Mode menu command
z the symbol
or
z the Esc key
The cursor symbol indicates that select mode is active.

Selecting an Selecting an object:


object
Using the mouse Using the keyboard
Left-click the object you want to select. 1. Move the cursor to the object to be
selected, see also Navigating with the
Keyboard, p. 407.
2. Press the spacebar.

Selecting several Selecting several objects:


objects
Using the mouse Using the keyboard
1. Click the left mouse button and keep it 1. Move the cursor to the first object to be
pressed. selected, see also Navigating with the
2. Drag the mouse across the objects you Keyboard, p. 407.
want to select. 2. Press the spacebar.
or 3. Move the cursor to the next object to be
1. Left-click the first object you want to select. selected
2. Press the Ctrl key and keep it pressed. 4. Press the Ctrl+spacebar key
3. Left-click the next object you want to combination.
select. 5. Repeat these steps until the desired
4. Repeat these steps until the desired objects are selected.
objects are selected.

Selecting all Selecting all (entire contents of the section):


(entire contents
Using the mouse Using the keyboard
of the section)
Use the Edit → Select All menu command. Press the Ctrl+A key combination.

408
FBD Editor

Deselecting Deselecting objects:


objects
Using the mouse Using the keyboard
Left-click an empty space 1. Move the cursor to an empty space in the section, see also
in the section. Navigating with the Keyboard, p. 572.
2. Press the spacebar.

409
FBD Editor

Deleting, cutting, copying, pasting and moving objects

Deleting objects Deleting objects:


Using the mouse Using the keyboard
1. Select (See Selecting objects, p. 408) the 1. Select (See Selecting objects, p. 408) the
object to be deleted. object to be deleted.
2. Use the Edit → Delete menu command. 2. Press the Entf key.
Result: The selected object is deleted. The actual parameters (and the links for FFBs) are
deleted together with the object, even if they are not selected explicitly.
Please also pay careful attention to the Notes (See Notes, p. 436) on deleting from FFBs
using an execute afterreference.

Cutting objects Cutting objects:


Using the mouse Using the keyboard
1. Select (See Selecting objects, p. 408) the 1. Select (See Selecting objects, p. 408) the
object to be cut. object to be cut.
2. Use the Edit → Cut menu command. 2. Press the Ctrl+X key combination.
or
Use the menu command Cut in the
shortcut menu (right mouse button).
or
Click the symbol.
Result: The selected object is cut from the section and copied to the clipboard. This is also
the case for the actual parameters. Links are also cut. But they are only copied to the
clipboard if they (and their partner objects) are selected explicitly.
Please also pay careful attention to the Notes (See Notes, p. 436) on deleting from FFBs
using an execute afterreference.

The cut object can be inserted (See Pasting objects from the clipboard, p. 411) in
any other position (also in another FBD section).

410
FBD Editor

Copying objects Copying objects to the clipboard:


to the clipboard
Using the mouse Using the keyboard
1. Select (See Selecting objects, p. 408) the 1. Select (See Selecting objects, p. 408) the
object to be copied. object to be copied.
2. Use the Edit → Copy menu command. 2. Press the Ctrl+C key combination.
or
Use the Copy menu command from the
shortcut menu (right-click).
or
Click the symbol.
Result: The selected object is copied to the clipboard. This is also the case for the actual
parameters. Links are only copied to the clipboard if they (and their partner objects) are
selected explicitly.
Please also pay careful attention to the Notes (See Notes, p. 436) on copying from FFBs
using an execute afterreference.

The cut object can be inserted (See Pasting objects from the clipboard, p. 411) in
any other position (also in another FBD section).

Pasting objects Pasting objects from the clipboard:


from the
Using the mouse Using the keyboard
clipboard
1. Use the menu command Edit → Insert. 1. Press the Ctrl+V key combination.
or 2. Move the cursor to the target position
Use the menu command Paste in the using the arrow keys.
shortcut menu (right mouse button). 3. Press Enter.
or
Click the symbol.
2. Left-click the target position.
Note: A new instance is automatically created for FFBs. Links are only pasted if they (and
their partner objects) were explicitly copied to the clipboard together with the FFB.
Please also pay careful attention to the Notes (See Notes, p. 436) on copying from FFBs
using an execute afterreference.

411
FBD Editor

Moving objects Moving objects:


Using the mouse Using the keyboard
1. Select (See Selecting objects, p. 408) the 1. Position (See Selecting objects, p. 408)
object to be moved. the cursor on the object to be moved.
2. Position the mouse pointer on the 2. Press the spacebar.
selected object. (on one of the selected 3. Press the Shift key and keep it pressed.
objects if several are selected). 4. Move the object to the target position
Result: The mouse pointer changes its using the arrow keys.
symbol to .
3. Click the left mouse button and keep it
pressed.
Result: The mouse pointer changes its
symbol to .
4. Drag the object to the new position and
release the mouse button.
Result: The selected object is moved from the original position to the target position. The
object's actual parameters are moved together with the object. FFBs still have their links and
they are adjusted to the new position of the FFB.
Note:The move operation is also possible across sections between different opened FBD
sections.

Copying objects Copying objects via drag & drop:


via drag & drop
Using the mouse Using the
keyboard
1. Select (See Selecting objects, p. 408) the object to be copied. -
2. Position the mouse pointer on the selected object.
Result: The mouse pointer changes its symbol to .
3. Click the left mouse button and keep it pressed.
4. Press the Ctrl key and keep it pressed.
Result: The mouse pointer changes its symbol to .
5. Drag the object to the new position.
Note:This is also possible across sections between different opened
FBD sections.
6. Release the mouse button.
Result: A copy of the selected object is pasted at the target position. The
object's actual parameters (variable/address) are copied together with
the object. A new instance is automatically created for FFBs. Links are
only copied if they (and their partner objects) are selected explicitly.
Please also pay careful attention to the Notes (See Notes, p. 436) on
copying from FFBs using an execute afterreference.

412
FBD Editor

Displaying the properties

Displaying the You have the following options to display the object properties dialog box:
object properties z Double-click the object.
z Select (See Selecting an object, p. 408) the object and use the Edit →
Properties... dialog box..
z Select (See Selecting an object, p. 408) the object and use the
Properties...command.from the shortcut menu.
z Select (See Selecting an object, p. 408) the object and then press the Alt+Enter
key combination.
When the properties dialog box is called without an object being selected, the
section properties dialog box (See Properties dialog box for FBD, LD, IL or ST
sections, p. 333) is opened.
If several objects are selected, the commands do not work.

View data You have the following options to display the section properties dialog box (See
properties Data Properties, p. 742):
z using the data editor (See Data editor, p. 211)
1. Selecting one or several lines in a list editor
2. Using the shortcut menu select the Propertiescommand.
z via the FBD section
1. Selecting one or several element(s) in the FBD section.
2. From the context menu select the command Data properties or press Ctrl +
Enter.

413
FBD Editor

Refining DFBs and subroutines

Introduction This function makes it possible to "look into" a DFB or subroutine. This makes it
possible to see the internal state of the DFB/subroutine when animation is used, or
to make changes to the logic very quickly.

Refining DFBs Process the following steps to refine DFBs:


Step Action
1 Select the DFB.
2 You have the following options to to refine DFBs:
z Use the Services → Refine menu command.
z Use the Refine menu command from the shortcut menu.
or
z Press the Ctrl+Q key combination.
Result: If the DFB contains only one section, this will be opened automatically.
If the DFB contains several sections, a selection dialog is opened.
3 Select the desired DFB section.
Result: The DFB section is opened.
Note: With nested DFBs, several refine processes are possible.

Refining Process the following steps to refine subroutines:


subroutines
Step Action
1 Select the subroutine block (See Calling a subroutine, p. 444).
2 You have the following options to refine subroutines:
z Use the Services → Refine menu command.
z Use the Refine menu command from the shortcut menu.
or
z Press the Ctrl+Q key combination.
Result: The subroutine is opened.
Note: With nested subroutines several refine processes are possible.

414
FBD Editor

21.2 Editing FFBs

Introduction

Overview This section describes the various possibilities to edit elementary functions,
elementary function blocks, derived function blocks and procedures in the FBD
programming language.

What's in this This section contains the following topics:


Section?
Topic Page
General information about calling an FFB 416
Calling an FFB via the FFB Input Assistant. 418
Calling an FFB via the data selection 420
Assign actual parameters 423
Using Public Variables 431
Expanding Functions 432
Negating FFB Pins 433
EN and ENO Show and Hide 434
Modifying the execution order 435
Properties dialog box for elementary functions, procedures and sub-routine 437
blocks.
Properties dialog box for elementary and derived function blocks (FBs) 439

415
FBD Editor

General information about calling an FFB

Introduction FFB is the generic term for:


z Elementary Function (EF)
z Elementary Function Block (EFB)
z Derived Function Block (DFB)
z Procedure
(Procedures are an expansion to IEC 61131-3 and must be enabled explicitly in
the Tools → Project Settingsdialog box, on the Language Extensions tab by
selecting the Allow procedures checkbox).
FFBs can be placed in any free space.
If an FFB is placed in a space that is already occupied by an object, an error
message is returned.

Declaring block Function blocks (elementary and derived) have internal states. If the inputs have the
instances same values, the value on the output can have another value during the individual
executions. For example, with a counter the value on the output is incremented.
The instance name serves as a unique identification for the function block in a
project.
Instances can be declared:
z By selecting a function block type and its placement in a section.
z By the declaration of the block instance in the FFB input assistant (See Function
Input Assistant, p. 740) its placement in the section.
z By the declaration of the block instance in the Data editor (See Managing data
instances belonging to function block families (EF) , p. 269).

416
FBD Editor

an FFB call FFBs can be called in the following ways:


z Via the FFB Input Assistant... (See Calling an FFB via the FFB Input Assistant.,
p. 418) menu command
z Use the Edit → FFB input assistant... menu command.
z Use the menu commandfrom the shortcut menu.
or
z Press the Ctrl+I key combination.
z Via the data selection (See Calling an FFB via the data selection, p. 420)
z Use the Edit → Data Selection.
z Use the menu commandData selection...from the shortcut menu.
z Press the Ctrl+D key combination.
or
z Select the symbol.
z Via the Types library browser (See Type Library Browser, p. 757) per drag &
drop
z Use the Tools → Types Library Manager menu command.
or
z Press the Alt+3 key combination.

417
FBD Editor

Calling an FFB via the FFB Input Assistant

Activating the You have the following options to activate the FFB input assistant:
FFB input z Use the Edit → FFB Input Assistant... menu command. (no object may be
assistant selected).
z Use the menu command from the shortcut menu (no object may be selected).
or
z Press the key combination Ctrl+I (no object may be selected).
The active FFB placement mode is indicated by the cursor symbol.

Selecting an FFB Process the following steps to select an FFB type via the FFB input assistant:
type via the FFB
Step Action
input assistant
1 From the FFB input assistant....from the shortcut menu (right-click) for the FFB
input assistant (See Activating the FFB input assistant, p. 418)section.
The FFB input assistant (See Function Input Assistant, p. 740) is opened.
2 You have the following options to enter the FFB type with the:FFB Type text box:
z You can enter the FFB type in the textbox:
In this case, continue with step 6 of the procedure.
z You can select the FFB type from the list of recently used names using the
symbol.
In this case, continue with step 6 of the procedure.
z Using the button ... open the FFB selection dialog (See FFB Selection Dialog
box, p. 736).
3 Select the library from the Libraries/Families column which contains the desired
function block.
Tip: If you do not know where to find the FFB you are looking for select the
Libset, entry to see a list of all the FFBs available independently of their libraries.
4 Select the desired function block from the Name column.
5 Confirm the selection with OK.
Result: The dialog box is closed and FFB input assistant is activated.
6 You have the following options to enter the block instance for function blocks in
the instance text box:
z You can accept the name which is suggested.
z You can change the name which is suggested.
7 The number of inputs (See Expanding Functions, p. 432)can be increased with
some elementary functions.
Expandable pins can be recognized from the following display:
To add further pins select the last pin in the structure and press Add pin.

418
FBD Editor

Step Action
8 To assign the current parameter double-click the Entry field cell of the first
formal parameter and enter the parameter to be used.
You have the following options to enter the variables/addresses:
z You can enter the variable name and confirm using Enter.
z You can select the variable/address from the list of recently used variables/
addresses using the symbol.
or
z Using the button ...to open a variable selection dialog box (See Variable
selection dialog box, p. 732).
Assign an actual parameter to all formal parameters of the function block in this
way.
9 Confirm the entries using the OK button.
Result: The FFB input assistant is closed and the FFB input mode is activated.
The active FFB placement mode is indicated by the cursor symbol.
10 To place the FFB , and click the desired location in the FBD section.
or
Use the arrow keys to move the cursor to the target position, and press Enter.
Result: The FFB is inserted and a syntax and semantics check (See Syntax and
semantics check during programming, p. 472) is performed.

419
FBD Editor

Calling an FFB via the data selection

Set data You have the following options to activate the data exchange:
selection to z Use the Edit → Data Selection... menu command.
active z Use the menu commandData selection...from the shortcut menu (right-click) for
the section.
z Press the Ctrl+D key combination.
or
z Select the symbol.

Note: When executing the commands no object can be selected in the section.

The active FFB placement mode is indicated by the cursor symbol.

Note In the Tools → Options dialog box on the Data and Languages tab, if the
Automatically assign a variable to a new graphical object checkbox is selected,
then the corresponding input assistant is automatically opened when an FFB is
placed. The procedures explained here are used when the checkbox is cleared.

420
FBD Editor

Selecting an FFB Process the following steps to select an FFB type via the Data selection:
type via the Data
Step Action
Selection
1 From the Data selection....from the shortcut menu (right-click) for the Data
selection (See Set data selection to active, p. 420)section.
Result:
A data selection box (See Data selection boxes, p. 1257) is opened.
2 You have the following options to enter the FFB type:
z You can now enter the FFB type and confirm using Enteror the button.
In this case, continue with step 7 of the procedure.
z You can select the name from the list of recently used names using the FFB
type symbol and confirm using Enteror the button.
In this case, continue with step 7 of the procedure.
z You can delete your entry by pressing Escor clicking the button.
z Using the button ...you can open the dialog box for FFB selection (See FFB
Selection Dialog box, p. 734).
Example of a FFB type selection (See Function Types/Function Block Types
tab, p. 735) dialog box:
3 Select the Function Types, Function Block Types tab.
Result:
The tab used for selecting an FFB type is opened.
4 Select the library and family from the Libraries/Families column which contains
the desired function block.
Tip: If you do not know where to find the FFB you are looking for select the
Libset, entry to see a list of all the FFBs available independently of their libraries.
5 Select the desired function block from the Name column.
6 Confirm the selection with OK.
Result: The dialog box is closed and FFB placement mode is activated.
7 To place the FFB , and click the desired location in the FBD section.
or
Use the arrow keys to move the cursor to the target position, and press Enter.
Result: For the selected FFB type, an instance name is automatically generated
(only valid for function blocks), the FFB is inserted and placement mode remains
active so that further FFBs can be inserted. To end insert mode press Esc.
Note: The automatically generated instance names can be changed to improve
clarity, see also Managing data instances belonging to function block families
(EF) , p. 269.

421
FBD Editor

Selecting a block Process the following steps to select a block instance that has already been
instance declared:
Step Action
1 Activate FFB placement mode.
Result:
A data selection box (See Data selection boxes, p. 1257) is opened.
2 Press the button ..., to open the FFB selection dialog (See FFB Selection Dialog
box, p. 734).
3 Select the Function Blocks tab (if it is not already active).
Result:
The tab used for selecting a block instance is opened and the desired selection
of block instances (See Function Blocks tab, p. 734) is displayed.
4 Select the desired block instance from the Name column.
5 Confirm the selection with OK.
Result: The dialog box is closed and FFB placement mode is activated.
6 Click the target position in the FBD section.
or
Use the arrow keys to move the cursor to the target position, and press Enter.
Result: The selected block instance is inserted and the placement mode
remains active so that more block instances can be inserted. To end insert mode
press Esc.

422
FBD Editor

Assign actual parameters

Introduction Inputs and outputs are required to transfer values to or from an FFB. These are
called formal parameters.
Objects are linked to formal parameters; these objects contain the current process
states. They are called actual parameters.
The data type of the actual parameter must match the data type of the input/output
(formal parameter). The only exceptions are generic inputs/outputs whose data type
is determined by the actual parameter. If all actual parameters consist of literals, a
suitable data type is selected for the function block.
Formal and Actual Parameters:
Permitted actual parameters are:
z Variables
z Enter already declared variables (See Assign declared variables to a pin,
p. 424)
z Enter undeclared variables (See Assign undeclared variables to a pin, p. 425)
z Formal parameters of other function blocks (See Assigning formal parameters to
a pin, p. 427)
z Literals (See Assigning literals to a pin, p. 428)
z ST Expression (See Assigning ST expressions to a pin, p. 429)
ST expressions as formal parameters on FBB inputs are an extension of IEC
61131-3 and must be explicitly enabled via the Tools → Project Settings dialog
box, in the Language extensions tab by selecting the Usage of ST
expressions checkbox.
z Links (See Editing Links, p. 455) to other FBD objects

Note: Please take note of the section Information about Programming in the
Reference manual.

You can make actual parameter assignments for


z each pin individually
or
z with the function input assistant (See Actual parameter assignment using the
function input assistant, p. 430) for all pins

423
FBD Editor

Assign declared Process the following steps to assign undeclared variables to a pin. (See also
variables to a pin Creating variable instances of type EDT, p. 220.)
Step Action
1 Open a data selection box for the desired FFB pin by:
z double-clicking the pin.
z selecting the pin and clicking the Edit → Data Selection... menu command.
z selecting the pin and clicking the Data Selection menu command on the
shortcut menu.
z selecting the pin and pressing the Ctrl+D key combination.
or
z selecting the pin and clicking the symbol.
Result:
The data selection box (See Data selection boxes, p. 1257) opens.
2 You have the following options to enter variables:
z You can now enter the variable name and confirm using Enteror the button.
z You can select the variable names from the list of recently used names using
the symbol and confirm using Enteror the button.
z You can delete your entry by pressing Escor clicking the button.
z Using the button... open a variable selection dialog (See Variable selection
dialog box, p. 732) and confirm the selected variables there with OK.
Result: The selected variable is inserted and a syntax and semantics check
(See Syntax and Semantics Check during Programming, p. 406) is performed.

424
FBD Editor

Assign Process the following steps to assign undeclared variables to a pin:


undeclared
Step Action
variables to a pin
1 Open a data selection box for the desired FFB pin by:
z double-clicking the pin.
z selecting the pin and clicking the Edit → Data Selection... menu command.
z selecting the pin and clicking the Data Selection menu command on the
shortcut menu.
z selecting the pin and pressing the Ctrl+D key combination.
or
z selecting the pin and clicking the symbol.
Result:
A data selection box (See Data selection boxes, p. 1257) opens.
2 Enter the variable name and confirm using Enteror the symbol.
Result: The variable declaration dialog box opens.

3 Change the default data type, if desired.


Note: If you wish to declare the variable later, close the dialog box using the
symbol. In this case, the variable name is enabled on the pin, but not declared.
4 If you do want to assign the variable an address and/or comment, use the
symbol for obtaining an advanced dialog and enter the address and/or comment.

5 Confirm with Enter or the symbol.


Result:The variable is declared and enabled on the selected pin.

6 Enter all actual parameters in this way.

425
FBD Editor

Declaring Process the following steps to declare variables on a pin:


variables on a
Step Action
pin
1 Open the variable declaration dialog box for the desired variable by.
z Select an undeclared variable (red wavy line under the variable name) and
the Create Variable command from the shortcut menu.
z Select an undeclared variable (red wavy line under the variable name) and
the Shift+Enter key combination.
Result: The variable declaration dialog box opens.

2 If you do not want to assign an address or comment, confirm using Enter or the
symbol.
Result: The variable is declared and the red wavy line under the variable name
disappears.

3 If you do want to assign the variable an address and/or comment, use the
symbol for obtaining an advanced dialog and enter the address and/or comment.

4 Confirm with Enter or the symbol.


Result: The variable is declared and the red wavy line under the variable name
disappears.

426
FBD Editor

Assigning formal Process the following steps to assign formal parameters to a pin:
parameters to a
Step Action
pin
1 Select the desired FFB pin.
2 Open a data selection box by:
z double-clicking the pin.
z selecting the pin and clicking the Edit → Data Selection menu command.
z selecting the pin and clicking the Data Selection menu command on the
shortcut menu.
z selecting the pin and pressing the Ctrl+D key combination.
or
z selecting the pin and clicking the symbol.
Result:
The data selection box (See Data selection boxes, p. 1257) opens.
3 You have the following options to enter the formal parameter:
z You can enter the formal parameter name and confirm using Enter or the
button.
z You can select the formal parameter name from the list of recently used
names using the symbol and confirm using Enteror the button.
z You can delete your entry by pressing Escor clicking the button.
z Using the button...to open a variable selection dialog box (See Variable
selection dialog box, p. 732).
4 Select the Function Block tab.
Result:
The function block instances are displayed.
5 Expand the display of the inputs, outputs and public variables by clicking their +
symbols.
Result:
You can now see all available inputs, outputs and public variables of the function
block.
6 Select the desired formal parameter and confirm with OK.
7 Result: The formal parameter selected is inserted and a syntax and semantics
check (See Syntax and Semantics Check during Programming, p. 406) is
performed.

427
FBD Editor

Assigning Process the following steps to assign literals to a pin:


literals to a pin
Step Action
1 Select the desired FFB pin.
2 Open a data selection box by:
z double-clicking the pin.
z selecting the pin and clicking the Edit → Data Selection menu command.
z selecting the pin and clicking the Data Selection menu command on the
shortcut menu.
z selecting the pin and pressing the Ctrl+D key combination.
or
z selecting the pin and clicking the symbol.
Result:
The data selection box (See Data selection boxes, p. 1257) opens.
3 Enter the literal (e.g. 0, 1, TRUE, FALSE, 1.0, 3.5, t#2ms) and confirm using
the Enterbutton.
Tips:When in the Tools → Project Settings dialog box, on the Language
extensions tab, the Allow leading digits checkbox is cleared, the following
simplifications for entering literals are possible:
z When assigning TIME literals to a pin of the TIME data type, it suffices to
enter the numerical value and the unit (such as h, m, s). The prefix (t#) is
automatically added.
z When assigning REAL literals to a pin of the REAL data type, for integers it
suffices to enter the numerical value. The decimal marker (t#) is
automatically added.
Result: The literal is inserted and a syntax and semantics check (See Syntax
and Semantics Check during Programming, p. 406) is performed.

428
FBD Editor

Assigning ST Process the following steps to assign ST expressions to a pin:


expressions to a
Step Action
pin
1 Make sure that the Usage of ST expressions checkbox is activated in the Tools
→ Project Settings dialog box.
2 Select the desired FFB pin.
3 Open a data selection box by:
z double-clicking the pin.
z selecting the pin and clicking the Edit → Data Selection menu command.
z selecting the pin and clicking the Data Selection menu command on the
shortcut menu.
z selecting the pin and pressing the Ctrl+D key combination.
or
z selecting the pin and clicking the symbol.
Result:
The data selection box (See Data selection boxes, p. 1257) opens.
4 Enter the ST expression (e.g. MUX(1,var1,var2), VarA * VarB, VarA <
VarB) and confirm pressing Enter.
Result: The ST expression selected is inserted and a syntax and semantics
check (See Syntax and Semantics Check during Programming, p. 406) is
performed.
If the variables have already been declared (see also Creating variable instances
of type EDT, p. 220), the procedure ends here.
If the variables have not yet been declared, continue with step 5.
5 Declare all variables used, either:
z using the data editor (See Creating variable instances of type EDT, p. 220)
or
z using Create variable in the context menu (possible when only one variable
of the ST statement is undeclared).

429
FBD Editor

Actual parameter Process the following steps to change actual parameter assignment with the
assignment function input assistant:
using the
Step Action
function input
assistant 1 Select the desired FFB.
2 Open the function input assistant (See Function Input Assistant, p. 740):
z The Edit → FFB Input Assistant... menu command..
z The FFB Input Assistant... menu commandfrom the shortcut menu.
or
z The Ctrl+I key combination.
Result:
The function input assistant will be opened.
3 Double click the Entry Field cell of the first formal parameter and enter the actual
parameter to be used.
You have the following options to enter the variables/addresses:
z You can enter the variable name and confirm using Enter.
z You can select the variable/address from the list of recently used variables/
addresses using the symbol.
or
z Using the button...to open a variable selection dialog box (See Variable
selection dialog box, p. 732).
Assign an actual parameter to all formal parameters of the function block in this
way.
4 Confirm the entries using the OK button.
Result: The actual parameter is inserted and a syntax and semantics check
(See Syntax and Semantics Check during Programming, p. 406) is performed.

430
FBD Editor

Using Public Variables

Introduction In addition to inputs/outputs, some function blocks also provide public variables.
These variables transfer statistical values (values that are not influenced by the
process) to the function block. They are used for setting parameters for the function
block.
The assignment of values to public variables is made via their initial values.
Public variables are read via the instance name of the function block and the names
of the public variables.

Assigning Carry out the following steps to assign a value to a public variable:
Values to Public
Step Action
Variables
1 Place a function block in the section, see also Calling an FFB via the data
selection, p. 420.
2 Open the data editor, see also Accessing the data editor, p. 214.
3 Select the Function Block tab.
Result:
The function block instances are displayed.
4 Expand the display of the public variables by clicking the respective + symbols.
Result:
You can now see all available public variables of the function block.
5 Enter the desired value for the public variable in the Value box.

Reading public See Assigning formal parameters to a pin, p. 427


variables

431
FBD Editor

Expanding Functions

Introduction The number of inputs can be increased with some elementary functions.
You find out which functions can be expanded by referring to the descriptions for the
individual functions.

Note: Only expand the function by the number of inputs actually required as non-
occupied inputs are assigned a 0 as standard.

Expanding a Carry out the following steps to expanding a function:


function
Step Action
1 Select the function.
2 Position the mouse pointer on the bottom point to be expanded.
3 Press the left mouse button and drag the function to the required size.
4 Release the mouse key.
Result: The desired number of inputs/outputs have been added.

432
FBD Editor

Negating FFB Pins

Introduction FFB pins (inputs and outputs) of the data type BOOL can be negated.
Negated pins are identified with a circle symbol:

Note: Negated pins must be connected with a graphical link or a variable. Open
negated pins are not allowed.

Negating an FFB FFB pins can be negated in the following ways:


pin z Select the pin to be negated and execute the menu command Negate Pin in the
shortcut menu (right-click).
or
z Launch the Inversion tool using
z the menu command New → Inversion Tool,
z the menu command Inversion Tool in the shortcut menu (right-click)
or
z the icon
and click on the pin to be negated.

433
FBD Editor

EN and ENO Show and Hide

Introduction With all FFBs, one EN input and one ENO output can be configured, see also EN and
ENO in the Reference manual.

EN and ENO show To show or hide EN and ENO, carry out the following steps:
or hide
Step Action
1 Select the FFB.
2 Open the properties dialog box (See Displaying the properties, p. 413) for the
FFB.
3 Check the FFB Properties check box Show EN/ENO to show EN/ENO, or
uncheck it to hide EN/ENO.
Note: If EN or ENO is occupied by an actual parameter or connected with a link,
EN/ENO cannot be hidden.

434
FBD Editor

Modifying the execution order

Introduction The execution order is determined by the position of the FFBs in the section
(executed from left to right and from top to bottom) and is displayed with execution
numbers. If the FFBs are connected to a network using graphical links, the execution
order is determined by the signal flow, see also section Execution order in the
Reference manual.
You can already influence the execution order when creating the program.
z The use of links in place of actual parameters
z The position of networks
In some cases it might be necessary to explicitly modify the execution order.
By using Execute After in an FFB properties dialog the execution order of two FFBs
can be defined.
FFBs whose execution order has been explicitly modified receive the instance name
/ function number of the previously executed FFB as an additional entry in front of
the execution number.

Modifying the In the example, the execution order of FFB 1.4 and FFB 1.5 has to be switched.
execution order Process the following steps to modify the execution order using an FFB properties
dialog box.
Step Action
1 Select the FFB to be executed second.
2 Open the properties dialog box (See Displaying the properties, p. 413) for the
FFB.
3 In the Execute After list box, select the function number / instance name of the
FFB to be executed before the selected FFB.
Result:The execution sequence of both FFBs are exchanged. To indicate that
the execution order was changed, the execution number is shown in a black
field.
Note:Only one reference of an instance is allowed, e.g. the instance ".6" may
only be referenced once.

435
FBD Editor

Notes When using Execute after please note the following:


z If an FFB that is referenced by another FFB is deleted, the execution order
attribute of the referencing FFB is reset.
Example:
1. FBI_1 has an "Execute After" reference to FBI_2.

2. FBI_2 is deleted.

3. For FBI_1 the attribute for determining the execution sequence is deleted.

z If an FFB deletion operation carried out on a referenced FFB is undone


usingUndo it is reset to its former state.
Example:
1. FBI_1 has an "Execute After" reference to FBI_2.

2. FBI_2 is deleted.

3. For FBI_1 the attribute for determining the execution sequence is deleted.

4. Execute from Edit → Undo.


5. FBI_2 is inserted again and FBI_1 and FBI_2 has an "Execute After"
reference.

z If an FFB that has an "Execute After" reference pointing to another FFB is copied,
the attribute which defines the execution order attribute of the FFB is reset during
insertion.
Example:
1. FBI_1 has an "Execute After" reference to FBI_2.

2. FBI_1 is copied and the copy (FBI_3) inserted in the section.


3. For FBI_3 the attribute for determining the execution sequence is deleted.

436
FBD Editor

Properties dialog box for elementary functions, procedures and sub-routine


blocks.

Calling the See Displaying the properties, p. 413


properties dialog
box

Structure of the The properties dialog box consists of two tabs:


properties dialog z FFB Properties
box General information about functions/procedures/sub-routine calls is displayed in
this tab and you can change their order of execution.
z Comment
You can enter a comment about the functions/procedures/sub-routine calls in this
tab.

FFB Properties Representation of the FFB Properties tab:


tab Elements of the FFB Properties tab:
Element Description
Function number Specifies the name of the function number and the current execution
order. This name cannot be modified.
Execute After You can define the FFB execution order in this list. Select the FFB
from this list after which the current FFB should be executed, see also
Modifying the execution order, p. 435.
Show EN/ENO When you activate this checkbox the pins EN/ENO are displayed.
When you uncheck this checkbox the pins EN/ENO are no longer
displayed.
Note: If EN or ENO is occupied by an actual parameter or connected
with a link, the pins EN/ENO cannot be hidden.
Input Displays the formal parameters, the data types and the actual
parameter of the inputs.
If the input is not yet linked, the entry N.L. appears(not linked).
Output Displays the formal parameters, the data types and the actual
parameter of the outputs.
If the output is not yet linked, the entry N.L. appears(not linked).
OK Use this button to accept all entries and close the dialog box.
Apply Use this button to accept all entries without closing the properties
dialog box.

437
FBD Editor

Comment tab Representation of theComment:


Elements of the Comment tab:
Element Description
Text box Enter a comment about the FFB.
This comment is displayed in the tooltip when the cursor is placed over
the function/procedure.
OK Use this button to accept all entries and close the dialog box.
Apply Use this button to accept all entries without closing the properties
dialog box.

438
FBD Editor

Properties dialog box for elementary and derived function blocks (FBs)

Calling the See Displaying the properties, p. 413


properties dialog
box

Structure of the The properties dialog box consists of two tabs:


properties dialog z FFB Properties
box General information about FBs is displayed in this tab and you can change their
execution order.
z Comment
A comment about the FB can be entered in this tab.

FFB Properties Representation of the FFB Properties tab:


tab Elements of the FFB Properties tab:
Element Description
Instance Name Specifies the name of the block instance. You can change this name
in the data editor, see also Managing data instances belonging to
function block families (EF) , p. 269.
Execute After You can define the FFB execution order in this list. Select the FFB
from this list after which the current FFB should be executed, see also
Modifying the execution order, p. 435.
Show EN/ENO When you activate this checkbox the pins EN/ENO are displayed.
When you uncheck this checkbox the pins EN/ENO are no longer
displayed.
Note: If EN or ENO is occupied by an actual parameter or connected
with a link, the pins EN/ENO cannot be hidden.
Input Displays the formal parameters, the data types and the actual
parameter of the FB inputs.
If the input is not yet linked, the entry N.L. appears(not linked).
Output Displays the formal parameters, the data types and the actual
parameter of the FB outputs.
If the output is not yet linked, the entry N.L. appears(not linked).
OK Use this button to accept all entries and close the dialog box.
Apply Use this button to accept all entries without closing the properties
dialog box.

439
FBD Editor

Comment tab Representation of the tab Comment:


Elements of the Comment tab:
Element Description
Version: Specifies version of the FB code.
Text box Enter a comment about the FB.
This comment is displayed in the tooltip when the cursor is placed over
the FB.
OK Use this button to accept all entries and close the dialog box.
Apply Use this button to accept all entries without closing the properties
dialog box.

440
FBD Editor

21.3 Returning from a Subroutine or DFB

Introduction

Overview This section describes how to return from a subroutine or DFB to the FBD
programming language.

What's in this This section contains the following topics:


Section?
Topic Page
Returning from a Subroutine or DFB 442
Return object properties dialog box 443

441
FBD Editor

Returning from a Subroutine or DFB

Introduction Every subroutine and every DFB (derived function block) is exited after being
processed, i.e. you return to the main program called.
If the subroutine/DFB is left prematurely, the return to the main program can be
forced by the return object.
If the status of the left link is 1, a return from the subroutine or DFB to the main
program is performed.
Return objects can only be used in subroutines or DFBs. They cannot be used in
main programs.
To generate a conditional return, a return object is linked to a Boolean FFB output.

Selecting the You have the following options to select return objects:
return object z Use the Edit → New → Return menu command.
or
z Choose the symbol.
The active placement mode for return objects is indicated by the cursor symbol.

Note In the Tools → Options dialog box, in the Data and Languages tab, if the
Automatically affect a variable on a new graphical object check box is activated,
its properties dialog box is automatically opened when an object is placed. The
procedure explained here is valid for deactivated check boxes.

Executing a Process the following steps to execute a return:


return
Step Action
1 Create a subroutine (See Creating subroutine sections (SR), p. 345) or a DFB (See
Creating a DFB Type, p. 778) in the FBD programming language.
2 Create the logic for the subroutine/DFB.
3 Create the logic for return.
4 Select the return object.
5 Click the target position in the FBD section, or use se the arrow keys to move the
cursor to the target position, and press Enter.
Result:The return object is inserted.
6 Create a connection between the return logic and return object using a graphical link
(See Placing a Link, p. 457).

442
FBD Editor

Return object properties dialog box

Calling the See Displaying the properties, p. 413


properties dialog
box

Structure of the Representation of the properties dialog box:


properties dialog Elements of the properties dialog box:
box
Element Description
Text box Enter a comment about the return object.
OK Use this command button to accept all entries and close the dialog box.
Apply Use this command button to accept all entries without closing the properties
dialog box.

443
FBD Editor

21.4 Calling a Subroutine

Calling a subroutine

Introduction In FBD, subroutines are called using a special subroutine block, see also section
Subroutine call in the Reference manual.
The subroutine to be called must be located in the same task as the FBD section
calling.
For an unconditional subroutine call (See Unconditional subroutine call, p. 445), EN
and ENO of the subroutine block are hidden (See EN and ENO Show and Hide,
p. 434) or the input EN is assigned the value 1.
For a conditional subroutine call (See Conditional subroutine call, p. 446), EN and
ENO of the subroutine block are shown (See EN and ENO Show and Hide, p. 434)
and the input EN is linked with a Boolean FFB output.
For a parallel call of several subroutines (See Parallel call of several subroutines,
p. 446), EN and ENO of the subroutine blocks are shown (See EN and ENO Show and
Hide, p. 434) and the output ENO is connected to the EN input of the next subroutine
block.
Subroutine calls are expansions to IEC 61131-3 and must be explicitly enabled via
the Tools → Project Settings dialog box, in the Language extensions tab by
activating the Allow subroutines check box.

Activating the You have the following options to activate the placement mode for subroutine
placement mode blocks:
for subroutine z Use the Edit → New → Subroutine menu command.
blocks z Use the Subroutine menu command from the shortcut menu.
or
z Select the symbol.
The active placement mode for subroutine blocks is indicated by the cursor symbol.

Note In the Tools → Options dialog box, in the Data and Languages tab, if the
Automatically affect a variable on a new graphical object check box is activated,
its properties dialog box is automatically opened when an object is placed. The
procedures explained here are used when the check box is cleared.

444
FBD Editor

Placing Placing subroutine blocks:


subroutine
Step Action
blocks:
1 Activate the placement mode for subroutine blocks, see also Activating the
placement mode for subroutine blocks, p. 444.
2 Click the target cell in the FBD section.
or
Use the arrow keys to move the cursor to the target position, and press Enter.
Result: The selected subroutine block is inserted and the selection mode is active
again.
3 z Placing other subroutine blocks:
Click the target cell in the FBD section.
or
Use the arrow keys to move the cursor to the target position, and press Enter.
z To return to selection mode:
Press the Esc key.
z To insert other objects:
Select the object you wish to insert.

Unconditional Unconditional subroutine call:


subroutine call
Step Action
1 Place a subroutine block in the section, see also Placing subroutine blocks:, p. 445.
2 Place the mouse pointer on the subroutine block.
Result: The mouse pointer changes its symbol to .
3 Double-click the EN input of the subroutine block.
Result: A data selection box is opened.
4 Enter 1 or TRUE for the unconditional subroutine call.
5 Double-click the SR_NAME input of the subroutine block.
Result: A selection dialog box for selecting the subroutine to be called is opened.
6 Enter the name of the subroutine, or click the symbol and select the subroutine to be
called from the list. Confirm the entry with Enter.
Result: The subroutine call is inserted into the section and a syntax and semantics
check (See Syntax and semantics check during programming, p. 472) is performed.
If the subroutine has already been created (see also Creating subroutine sections
(SR), p. 345), the procedure ends here.
If the subroutine has not yet been created, continue with step 7.
7 Create the subroutine, see alsoCreating subroutine sections (SR), p. 345.

445
FBD Editor

Conditional Conditional subroutine call:


subroutine call
Step Action
1 Execute the Unconditional subroutine call, p. 445 procedure, but do not assign a
value to the EN input.
2 Create a Boolean logic for the subroutine call.
3 Connect the logic’s Boolean output to the EN input of the subroutine block.
Note: To execute the conditional subroutine call you can also allocate any
Boolean variable to the EN input.

Parallel call of Calling several subroutines:


several
Step Action
subroutines
1 Execute the Unconditional subroutine call, p. 445 procedure for all subroutines
to be called in parallel.
2 Connect the ENO outputs and the EN inputs of the subroutine block.
3 Possibly create a Boolean logic for the first subroutine block.

446
FBD Editor

21.5 Jumps within the Current Section

Introduction

Overview This section describes jumps within the current FBD section.

What's in this This section contains the following topics:


Section?
Topic Page
Jump within the current section 448
Jump object properties dialog box 450

447
FBD Editor

Jump within the current section

Introduction Jump objects execute jumps to a jump target (See Definitions of Jump Labels,
p. 452) within the current section.
When the status of the left link is 1, a jump is made to a label (in the current section).
To generate a conditional jump, a jump object is linked to a Boolean FFB output.
To generate an unconditional jump, the jump object is assigned the value 1 using
the AND function for example.

Selecting the You have the following options to select jump objects:
jump object z Use the Edit → New → Jump menu command.
or
z Choose the symbol.
The active placement mode for jump objects is indicated by the cursor symbol.

Note In the Tools → Options dialog box, in the Data and Languages tab, if the
Automatically affect a variable on a new graphical object check box is activated,
its properties dialog box is automatically opened when an object is placed. The
procedure explained here is valid for deactivated check boxes.

448
FBD Editor

Executing a jump Process the following steps to execute a jump:


Step Action
1 Create the logic for the jump.
2 Select the jump object.
3 Click the target position in the FBD section.
or
Use the arrow keys to move the cursor to the target position, and press Enter.
Result:The jump object is inserted.
4 Create a link between the jump logic and jump object using a graphical link (See
Placing a Link, p. 457).
5 To enter the jump target, open the properties dialog box (See Displaying the
properties, p. 413) of the jump object.
Result: The properties dialog box for the jump object is opened, see also Jump
object properties dialog box, p. 450.
6 You have the following options to enter the jump target:
z You can now enter the name of the jump target and confirm using Enter.
or
z You can select the name of the jump target from the list of available jump
targets using the symbol and confirm using Enter.
Result: The jump target is inserted and a syntax and semantics check (See
Syntax and Semantics Check during Programming, p. 406) is performed.
If the jump target has already been defined (see also Jump target (See Definition
of the Jump Target (Jump Labels), p. 451)), the procedure ends here.
If the jump target has not yet been declared, continue with step 7.
7 Specify the jump target, see also Jump target (See Definition of the Jump Target
(Jump Labels), p. 451).

449
FBD Editor

Jump object properties dialog box

Calling the See Displaying the properties, p. 413


properties dialog
box

Structure of the The properties dialog box consists of two tabs:


properties dialog z General
box You can enter the jump target of the jump (See Executing a jump, p. 449) in this
tab.
z Comment
A comment about the jump object can be entered in this tab.

General tab Representation of the General tab:


Elements of the General tab:
Element Description
Jump Label Enter the jump target in this text box, see also Definitions of Jump Labels,
p. 452.
OK Use this command button to accept all entries and close the dialog box.
Apply Use this command button to accept all entries without closing the properties
dialog box.

Comment tab Representation of the Comment tab:


Elements of the Comment tab:
Element Description
Text box Enter a comment about the jump object.
OK Use this command button to accept all entries and close the dialog box.
Apply Use this command button to accept all entries without closing the properties
dialog box.

450
FBD Editor

21.6 Definition of the Jump Target (Jump Labels)

Introduction

Overview This section describes how to define jump targets in the FBD programming
language.

What's in this This section contains the following topics:


Section?
Topic Page
Definitions of Jump Labels 452
Jump label objects properties dialog box 454

451
FBD Editor

Definitions of Jump Labels

Introduction Jump labels create a jump target for jumps (See Jump within the current section,
p. 448) within the current section.
Jump labels are represented as text with a colon at the end.
The text is limited to 32 characters and must be unique across the entire section.
The text must conform to general naming conventions.
Jump labels can only be placed between the first two grid points on the left edge of
the section.

Note: Jump labels may not "dissect" networks, i.e. an assumed line from the jump
label to the right edge of the section may not be crossed by any object. This also
applies to the connections.

To find a specific jump label use the Gehe zu (See Go to a location, p. 398)dialog
box.

Selecting the You have the following options to to select jump labels:
jump label z Use the Edit → New → Jump Label menu command.
or
z Choose the symbol.
The active placement mode for jump labels is indicated by the cursor symbol.

Note In the Tools → Options dialog box, in the Data and Languages tab, if the
Automatically affect a variable on a new graphical object checkbox is activated,
its properties dialog box is automatically opened when an object is placed. The
procedure explained here is valid for deactivated checkboxes.

452
FBD Editor

Placing a jump Placing a jump label:


label
Step Action
1 Select the jump label.
2 Click with the mouse on the target position between the first two grid points on
the left edge of the FBD section.
or
Use the arrow keys to move the cursor to the target positions between the first
two grid points on the left edge of the FBD section, and press Enter.
Result: The jump label is inserted and the selection mode is active again.
3 To insert further jump objects:
z Click the target cell in the FBD section.
or
Use the arrow keys to move the cursor to the target position, and press
Enter.
z To return to selection mode:
Press the Esc key.
z To insert other objects:
Select the object you wish to insert.

Definition of the Definition of the Name:


Name
Step Action
1 To enter the name, open the properties dialog box (See Displaying the
properties, p. 413) for the jump label.
Result: The jump label properties dialog box is opened, see also Jump label
objects properties dialog box, p. 454.
2 You have the following options to enter the name of the jump label:
z You can now enter the name and confirm using Enter.
or
z You can select the name of the jump from the list of available jumps using the
symbol and confirm using Enter.
Result: The name is inserted and a syntax and semantics check (See Syntax
and Semantics Check during Programming, p. 406) is performed.

453
FBD Editor

Jump label objects properties dialog box

Calling the See Displaying the properties, p. 413


properties dialog
box

Structure of the The properties dialog box consists of two tabs:


properties dialog z General
box You can enter the name of the jump label (See Placing a jump label, p. 453) in
this tab.
z Comment
A comment about the jump label can be entered in this tab.

General tab Representation of the General tab:


Elements of the General tab:
Element Description
Jump Label You can enter the name of the jump label in this list box.
The text is limited to 32 characters and must be unique across the
entire section. The text must conform to general naming conventions.
OK Use this command button to accept all entries and close the dialog
box.
Apply Use this command button to accept all entries without closing the
properties dialog box.

Comment tab Representation of the Comment tab:


Elements of the Comment tab:
Element Description
Text box Enter a comment about the jump label object.
OK Use this command button to accept all entries and close the dialog
box.
Apply Use this command button to accept all entries without closing the
properties dialog box.

454
FBD Editor

21.7 Editing Links

Introduction

Overview Editing links in the FBD programming language.

What's in this This section contains the following topics:


Section?
Topic Page
Links 456
Placing a Link 457
Editing Links 458

455
FBD Editor

Links

Introduction Links are vertical and horizontal connections between FFBs.


Attention should be paid to the following programming information:
z Links can be used for every data type.
z The data types of the inputs/outputs to be linked must be the same.
z Several links can be connected with one FFB output. However, only one may
have an FFB output.
z Only inputs and outputs can be linked together. A link between several outputs
cannot be made. This means that OR links are not possible using links in FBD.
An OR function should always be used.
z An overlap of links with other objects is permitted.
z No loop can be configured with links because in this case the execution sequence
in the section cannot be clearly determined. Loops must be terminated with actual
parameters (see Terminating loops).
z To avoid links crossing each other, links can also be represented in the form of
connectors (See Using connectors, p. 391).

Note: A detailed description about Links can be found in the Reference manual.

Selecting links You have the following options to activate the placement mode:
z Use the Edit → New → Link menu command.
z Press the F6 key.
or
z Select the symbol.
The and cursor symbols indicate which mode is active.

Representation The link points are identified by a filled-in circle.


Crossed links are indicated by a "broken" link.

456
FBD Editor

Placing a Link

Placing a link Carry out the following steps to place a link using the mouse:
using the mouse
Step Action
1 Activate the placement mode for links, see also Links, p. 456.
2 Place the mouse pointer on the start point of the link.
Note: The correct position is shown by the mouse pointer symbol.
3 Click the left mouse button on the start point and drag mouse pointer to the target
point of the link.
Tips:
z By clicking between the start point and target position you can place intermediate
points; for example, to avoid crossing other objects.
z You can leave this mode at any time by pressing Esc.
4 Click on the target position with the left mouse button.
Result: The link is inserted. When the cursor is placed over a link, the Quickinfo
(Tooltip) shows the source and destination of the link.
See also Editing Links, p. 458

Placing a link Carry out the following steps to place a link using the keyboard:
using the
Step Action
keyboard
1 Activate the placement mode for links, see also Links, p. 456.
2 Use the cursor keys to move the cursor to the start point of the link, and press Enter.
Note: The correct position is shown by the cursor symbol.
3 Use the cursor keys to move the cursor to the target position of the link.
Tips:
z By pressing the Enter key between the start point and target position you can
place intermediate points; for example, to avoid crossing other objects.
z You can leave this mode at any time by pressing Esc.
4 Press Enter.
Result: The link is inserted. When the cursor is placed over a link, the Quickinfo
(Tooltip) shows the source and destination of the link.
See also Editing Links, p. 458

457
FBD Editor

Editing Links

Editing links Links consist of one or more segments connected to one another.
When cutting (See Cutting objects, p. 410), deleting (See Deleting objects, p. 410),
copying (See Copying objects to the clipboard, p. 411) and moving (See Moving
objects, p. 412) links, the action is executed for the entire link.
If a link is selected, the target points are displayed at their beginnings, ends and at
every direction change

Modifying Modifying connections:


connections
Step Action
1 Select the link and place the mouse pointer on the connection to be modified.
2 Left-click the connection to be modified and drag the mouse pointer to the new
connection.
3 Left-click the new target position.
Result: The link route is modified.

Creating sizing The creation of angles in links can only be made using sizing handles. If no sizing
handles handles are available they can be created. Process the following steps to create
sizing handles in links:
Step Action
1 Select the link.
2 Press the Ctrl key and place the mouse pointer at the target position.
Note: The correct position is shown by the mouse pointer symbol.
3 Left-click the target position.
Result:
The sizing handle is created.

458
FBD Editor

Moving links Process the following procedures to move a link segment vertically or horizontally:
vertically/
Step Action
horizontally
1 Select the link.
2 Place the mouse pointer on the item to be moved.
Note: The correct position is shown by the mouse pointer symbol.
3 Click the left mouse button and drag the segment to the target position.
4 Release the mouse button.
Result:
The change is made.

Creating angles Process the following steps to create angles in links:


in FFB links
Step Action
1 Select the link.
2 Place the mouse pointer on a source position.
Note: The correct position is shown by the mouse pointer symbol.
3 Click the left mouse button and drag the source point to the target position.
4 Release the mouse button.
Result:
The change is made.

Determining the Determining the optimum link route:


optimum
Step Action
connection route
1 Select the link.
2 Use the Edit → Link → Route menu command.
or
Use the Route menu command from the shortcut menu.
Result: The current link route is changed to the optimum route.

459
FBD Editor

21.8 Entering Comments

Entering comments

Introduction Comments can be placed in FBD in the form of text objects.


Text objects can overlap other objects.
The size of the object, depending on the size of the text, can be extended vertically
and horizontally to fill additional grid units.
The same rules apply for entering text and navigating within text objects as for
editing ASCII text in standard text editors. (To create a line break in text objects you
must press the Ctrl+Enter key combination).

Note: Keep in mind that each change to a comment (e.g. change to a comment
text, change to the size of the text object) makes it necessary to recreate the
section involved (Generation → Generate project).

Selecting the text You have the following options to select text objects:
object z Use the Edit → New → Comment menu command.
z Use the Comment menu command from the shortcut menu.
z Press the F8 key.
or
z Select the symbol.
The active placement mode for text objects is indicated by the cursor symbol.

460
FBD Editor

Placing text Placing text objects:


objects:
Step Action
1 Select the text object.
2 Click the target position in the FBD section.
or
Use the arrow keys to move the cursor to the target position, and press Enter.
Result: The selected text object is inserted and the selection mode is active
again.
3 Enter the comment.
4 Confirm the text entered by:
z Clicking with the mouse outside of the text object
or
z Pressing the Enter key.
5 To insert additional text objects:
z Click the target position in the FBD section.
or
Use the arrow keys to move the cursor to the target position, and press
Enter.
z To return to selection mode:
Press the Esc key.
z To insert other objects:
Select the object you wish to insert.

461
FBD Editor

21.9 Online functions

Online functions

Online functions The description of online functions is found in chapter Debugging in Function Block
Diagram (FBD) Language, p. 891.

462
FBD Editor

21.10 Export/Import

Export/Import FBD Sections

Export/Import The description for exporting/importing sections is found in the chapter Import /
Export, p. 1151.

463
FBD Editor

464
LD Editor

22
Introduction

Overview This chapter describes the menus and dialog boxes of the LD editor.
For a description of the syntax for the LD programming language, please refer to the
Ladder Diagram LD chapter in the Reference manual.

What's in this This chapter contains the following sections:


Chapter?
Section Topic Page
22.1 Creating a program with LD programming language 466
22.2 Editing Contacts 485
22.3 Editing Coils 492
22.4 Editing compare blocks 501
22.5 Editing operation blocks 506
22.6 Editing FFBs 511
22.7 Returning from a Subroutine or DFB 536
22.8 Jumps within the Current Section 539
22.9 Definition of the Jump Target (Jump Labels) 543
22.10 Editing Links 547
22.11 Entering Comments 560
22.12 Online functions 562
22.13 Export/Import 563

465
LD Editor

22.1 Creating a program with LD programming


language

Introduction

Overview This section describes the basics for creating a program in the LD programming
language.

What's in this This section contains the following topics:


Section?
Topic Page
Structure of an LD program (ladder diagram) 467
Creating an LD program 470
Syntax and semantics check during programming 472
View for variables 473
Navigating with the Keyboard 475
Selecting objects 477
Deleting, cutting, copying, pasting and moving objects 479
Displaying the properties 482
Refining DFBs and subroutines 483
Inserting and deleting lines 484

466
LD Editor

Structure of an LD program (ladder diagram)

Introduction The structure of an LD program corresponds to a rung for relay switching.


The left power rail is located on the left side of the LD editor. This left power rail
corresponds to the phase (L conductor) of a rung. With LD programming, in the
same way as in a rung, only the LD objects which are linked to a power supply, that
is to say connected with the left power rail, are "processed". The right power rail
corresponds to the neutral conductor.
All contacts and FFB inputs must be directly or indirectly connected with the left
power rail and all coils and FFB outputs must be directly or indirectly connected with
the right power rail to allow current flow.
A group of connected objects that are not connected to other objects (except for the
power rails), is called a network or rung.

Properties of an Properties of an LD program:


LD program z An LD section contains 11-64 columns and 17-2000 lines.
The number of columns is set via the Tools → Project Settings dialog box, in
the Editors tab in the Number of columns text box.
Note:This setting is only valid for new sections and not for existing sections.
The number of lines can be increased (See Rules for inserting lines, p. 484) or
reduced (See Rules for deleting lines, p. 484) during the creation of section
contents.
z LD programs are cell oriented, i.e. only one object can be placed in each cell.
z The processing sequence of the individual objects in an LD program is
determined by the data flow within the section. Networks connected to the left
power rail are processed from top to bottom (connection to the left power rail).
Separate networks within the section are processed in the order in which they are
placed (top to bottom) (see also section Execution order and signal flow in the
Reference manual).
z A syntax and semantics check (See Syntax and semantics check during
programming, p. 472) is performed immediately after the statement is entered.
The result of this check is displayed in colored text and objects.
z Syntactically or semantically incorrect sections can be saved.

467
LD Editor

LD program The objects of the LD programming language help to divide a section into a number
objects of:
z Contacts (See Editing Contacts, p. 485),
z Coils (See Editing Coils, p. 492),
z EFs and EFBs (See Editing FFBs, p. 511) (Elementary Functions and
Elementary Function Blocks),
z DFBs (See Editing FFBs, p. 511) (derived function blocks)
z Procedures (See Editing FFBs, p. 511)
z operate blocks (See Editing operation blocks, p. 506),
z compare blocks (See Editing compare blocks, p. 501),
z jumps (See Jumps within the Current Section, p. 539) within the section and
z subroutine calls (See Calling a subroutine, p. 498)
These objects can be linked with each other through:
z Links (See Editing Links, p. 547) or
z actual parameters (See Assigning Actual Parameters, p. 520) (only FFBs).
Comments for the logic of the program can be added using text objects (See
Entering comments, p. 560).

Edit and view Edit and view functions of the LD editor:


functions z Selecting objects (See Selecting objects, p. 477)
z Deleting objects (See Deleting objects, p. 479)
z Cutting (See Cutting objects, p. 479), copying (See Copying objects to the
clipboard, p. 480) and pasting (See Pasting objects from the clipboard, p. 480)
objects
z Moving (See Moving objects, p. 481) objects (also between different LD/FBD
sections)
z Replacing objects
z Undo (See Undo changes, p. 390) and Redo (See Redo changes, p. 390)
z Using bookmarks (See Using bookmarks, p. 382)
z Searching and replacing (See Search/Replace tool, p. 763) variables and
function blocks and DFB instances

Input assistants Input assistants for the LD editor:


z Function input assistants (See Changing the actual parameter assignment using
the function input assistant, p. 527) for functions, function blocks and procedures

468
LD Editor

Online functions Online functions of the LD editor:


z Display the current value (See Inspect windows, p. 393).
z Setting breakpoints (See Inserting a breakpoint in Ladder Diagram language
(LD), p. 878)
z Setting watchpoints (See Inserting a watchpoint in Ladder Diagram language,
p. 882)
z Step by Step (See Step by step execution mode in Ladder Diagram language
(LD), p. 880)

469
LD Editor

Creating an LD program

Introduction The LD editor window is made up of cells and 1 object can be placed in each one.
The cells are separated visually using a grid (See Display grid, p. 384) which can be
switched off.
When creating a program with the keyboard, the selected (active) cell has a gray
background, see also Creating an LD program with the keyboard, p. 471.
When creating a program with the mouse, this gray field is not relevant.

Creating an LD Process the following steps to create an LD program with the mouse:
program with the
Step Action
mouse
1 Create an LD section. (See Creating an FBD, LD, IL or ST section, p. 330)
2 Select the desired object (see also Editing Links, p. 547) using:
z the menu commands in the Edit → New → <Object> menu
or
z the symbols for the objects in the toolbar
Result: The mouse pointer indicates the selected object (placement mode).
Note: As soon as the text is entered several checks are made, such as syntax/
semantic error checks, correct spelling of variable names etc. A detailed description
of syntax is found in chapter Ladder Diagram (LD) in the Reference manual.
The results of the checks are indicated by a colored folder, see also Syntax and
semantics check during programming, p. 472.
3 Click the target cells in the LD section.
Result: The selected object is inserted and the selection mode is active again.
Note: If you want to insert several objects of the same type, press and hold the Ctrl
key and insert any number of selected objects by clicking with the left mouse button.
Return to selection mode by clicking the symbol or pressing the Esc key.
4 To enter the respective actual parameters (variable/address), double-click the object.
Result: The properties dialog box for the object is opened.
5 Enter the desired actual parameter and a comment (if required) and confirm the
entries with OK.
Result: In entry mode, the names of the associated variables are displayed above
the object. In mixed display mode, the addresses and comments are displayed in
addition to the names of the variables (if available), see also View for variables,
p. 473.
6 Repeat these steps until all objects are entered.

470
LD Editor

Creating an LD Process the following steps to create an LD program with the keyboard:
program with the
Step Action
keyboard
1 Create an LD section. (See Creating an FBD, LD, IL or ST section, p. 330)
2 Place the field with the gray background on the cell where the object should be
inserted, see also Navigating with the Keyboard, p. 475.
3 Select the desired object (see also Editing Links, p. 547) using the function keys
for the objects.
Result: The cursor symbol indicates the selected object.
Note: As soon as the text is entered several checks are made, such as syntax/
semantic error checks, correct spelling of variable names etc. A detailed
description of syntax is found in chapter Ladder Diagram (LD) in the Reference
manual.
The results of the checks are indicated by a color folder, see also Syntax and
semantics check during programming, p. 472.
4 Confirm the selection using the Enter key.
Result: The selected object is inserted into the cell with the gray background and
the gray field is automatically shifted to the next cell.
Note: If you want to insert several objects of the same type, press and hold the
Ctrl key and insert any number of selected objects with the Enter key. To return
to selection mode, press the Esc key.
5 Press the Enter key to open a shortcut menu for the selected object.
6 To enter the respective actual parameters (variable/address), use the
Properties menu command from the shortcut menu.
Result: The properties dialog box for the object is opened.
7 Enter the desired actual parameter and a comment (if required) and confirm the
entries with OK.
Result: In entry mode, the names of the associated variables are displayed
above the object. In mixed display mode, the addresses and comments are
displayed in addition to the names of the variables (if available), see also View
for variables, p. 473.
8 Repeat these steps until all objects are entered.

471
LD Editor

Syntax and semantics check during programming

Introduction Syntax and semantics check is performed directly when creating the program. The
result of this check is displayed in colored text and objects.

Representation Meaning of colors and labels:


Color Meaning
Black Syntax and semantics are correct
Blue Possible causes:
z Associated variable is not declared
z Data type of the variable does not match the data type of the pin
z Input or output pin not connected
Red wavy line Faulty text, e.g. variables which are not declared, variables with an incorrect
data type, ...

Tooltip If the cursor is placed over a faulty text or object a tooltip with a brief description of
the cause of the error appears.

472
LD Editor

View for variables

Variables display Depending on the size set for the cells, it may be the case that variable names are
not shown in full.
A maximum of 3 columns are available to display the variables. The space available
depends on various factors:
z On the position
z If an element (e.g. a contact) was placed directly on the left power rail, columns
1-3 are available for the variable names.
z If an element (e.g. a coil) was placed directly on the right hand power rail,
columns 9-11 are available for the variable names.
z If an element (e.g. a contact) was placed arbitrarily in the section, the column
to the right and the column to the left of the elements are available for the
variable names.
z From the availability of the cells:
z Only cells that are not occupied by other objects are available to display the
variable name.
z If an unused cell is between two objects, it is automatically reserved for the
variable names of the left hand object and is not available to the right hand
object (even if it is not used by the left hand object).
The gray fields indicate which area is available for the variable names of the
individual objects.
Tip: There are two options for displaying the full variable names:
z Select the variable and the full variable name is shown in the status line.
z Place the cursor on the variable and a Quickinfo (Tooltip) will appear with the full
variable name.

Display modes The following view modes are available for variables:
for variables z Input mode
z Mixed display mode
You can switch between the two modes using:
z The View → Mixed Display Mode menu command
z The Ctrl+M key combination.
You can see that the mode (Mixed display mode) is active by way of a check-
symbol in front of the menu command.

Input mode In input mode, only the symbolic name is displayed for variables and only the
address for direct addresses.

473
LD Editor

Mixed display In mixed display mode, the symbolic name and the address associated with the
mode variables are displayed when a unique association is possible.
(At this time, this functionality is only available for variables on LD-objects (contact,
coil, comparative module, operation module). In mixed display mode, a display of
variables that are directly connected to an FFB-I/O is not possible.

Note: The cell heights and column widths to display additional information can be
set for the current project in the Editors tab (See Editors, p. 365) in the dialog box
Extras → Project settings and for future projects in the Data and Languages
(See Dates and Languages, p. 375) tab of the dialog box Extras → Options.

474
LD Editor

Navigating with the Keyboard

Using the The following keys and key combinations are provided for navigation:
keyboard
Key combinations Motion
Cursor left Moves the gray field in a cell to the left by one cell and selects
the contents of that cell.
If the first line is reached, the previous line is automatically
selected.
Cursor right Moves the gray field in a cell to the right by one cell and selects
the contents of that cell.
If the last line is reached, the next line is automatically selected.
Cursor up Moves the gray field in a cell to the up by one cell and selects the
contents of that cell
Cursor down Moves the gray field in a cell to the down by one cell and selects
the contents of that cell
Ctrl+Left Moves the cursor 1 pixel left and moves the gray field to the
cursor position
Ctrl+Right arrow Moves the cursor 1 pixel right and moves the gray field to the
cursor position
Ctrl+Up arrow Moves the cursor 1 pixel up and moves the gray field to the
cursor position
Ctrl+Down arrow Moves the cursor 1 pixel down and moves the gray field to the
cursor position
Ctrl+Shift+Left arrow Moves the cursor one cell left
Ctrl+Shift+Right arrow Moves the cursor one cell right
Ctrl+Shift+Up Moves the cursor one cell up
Ctrl+Shift+Down arrow Moves the cursor one cell down
Shift+Left arrow Moves the selected object and the gray field to the left by one cell
This also applies to several selected objects, the gray field must
be behind one of the selected objects.
Shift+Right arrow Moves the selected object and the gray field to the right by one
cell.
This also applies to several selected objects, the gray field must
be behind one of the selected objects.
Shift+Up arrow Moves the selected object and the gray field up by one cell.
This also applies to several selected objects, the gray field must
be behind one of the selected objects.
Shift+Down arrow Moves the selected object and the gray field down one cell.
This also applies to several selected objects, the gray field must
be behind one of the selected objects.

475
LD Editor

Key combinations Motion


Home Positions the gray field in the first column and shows this new
location.
End Positions the gray field in the last column and shows this new
location.
Ctrl+Home Positions the gray field in the upper left hand cell in this section
and shows this new location.
Ctrl+End Positions the gray field in the upper right hand cell in this section
and shows this new location.
Page Up Scrolls the position of the gray field one page up and shows this
new position.
Page Down Scrolls the position of the gray field one page down and shows
this new position.
Ctrl+Page Up Scrolls the position of the gray field one page left and shows this
new position.
Ctrl+Page Down Scrolls the position of the gray field one page right and shows
this new position.
Space bar Selects the object in the cells highlighted in gray.
If several objects are in the gray highlighted field, the next object
in the cell is selected every time you press the space bar.
The position of the gray field is not affected by this function.
See also Selecting objects, p. 477.
Ctrl + space bar If several objects are in the gray highlighted cells, every time you
press the shortcut key combination Ctrl+space bar the next
object is inserted in the currently selected cells (multiple
selection).
The position of the gray field is not affected by this function.
Shift + space bar Inserts all objects in the currently selected cells highlighted in
gray (multiple selection) and moves the position of the gray field
one cell to the right.
Enter In Select mode: Opens the properties dialog box for the selected
contact / coils. When you are finished press Enter to cancel
press Esc.
In Insert mode: Inserts the selected object into the currently
selected cells highlighted in gray and moves the position of the
gray field one cell to the right.
Alt+Enter Opens the properties dialog box for the selected object/pin.
Tab Select the next pin in an FFB if the FFB or an FFB pin is selected.
Esc Activates Select mode.

476
LD Editor

Selecting objects

Select and Objects are selected in select mode.


placement mode Select mode can be activated using:
z the Edit → Select Mode menu command
z the symbol,
or
z the Esc key
The cursor symbol indicates that select mode is active

Selecting an Selecting an object:


object
Using the mouse Using the keyboard
Left-click the object Move the gray field to the cell with the object to be selected, see also
you want to select. Navigating with the Keyboard, p. 475.
Note: If several objects are in the gray highlighted field, the next object
in the cell is selected every time you press the spacebar.

Selecting several Selecting several objects:


objects
Using the mouse Using the keyboard
1. Click the left mouse button Selecting several objects in differentcells:
and keep it pressed. 1. Move the gray field to the cell with the first object to be
2. Drag the mouse across the selected, see also Navigating with the Keyboard,
objects you want to select. p. 475.
or 2. Press the Shift+spacebar key combination.
1. Left-click the first object you Result: The object is added to the current selection and
want to select. the gray field is shifted one cell to the right.
2. Press the Ctrl key and keep 3. Repeat these steps until all desired objects are
it pressed. selected.
3. Left-click the next object you Selecting several objects in one cell:
want to select. 1. Move the gray field to the cell with the objects to be
4. Repeat these steps until all selected, see also Navigating with the Keyboard,
desired objects are selected. p. 475.
2. Press the spacebar until the first desired object is
selected.
3. Press the Ctrl+spacebar key combination to select the
next object in the cell.
4. Repeat these steps until all desired objects are
selected.

477
LD Editor

Selecting by Selecting by lines:


lines
Using the mouse Using the keyboard
Selecting the contents of a line: -
1. Left-click the number of the line you want to select in the line box.
Selecting the contents of several lines:
1. Left-click the number of the first line you want to select in the line
box.
2. Press the Shift key and keep it pressed.
3. Left-click the number of the last line you want to select in the line
box.
Note: Pressing the Shift key makes it possible to combine this
procedure with the procedure for selecting columns.

Selecting by Selecting by columns:


columns
Using the mouse Using the keyboard
Selecting the contents of a column: -
1. Left-click the number of the column you want to select in the line
box.
Selecting the contents of several columns:
1. Left-click the number of the first column you want to select in the
line box..
2. Press the Shift key and keep it pressed.
3. Left-click the number of the last column you want to select in the
line box.
Note: Pressing the Shift key makes it possible to combine this
procedure with the procedure for selecting lines.

Selecting all Selecting all (entire contents of the section):


(entire contents
Using the mouse Using the keyboard
of the section)
Use the Edit → Select All menu command. Press the Ctrl+A key combination.

Deselecting all Selecting several objects:


objects
Using the mouse Using the keyboard
Left-click an empty space 1. Move the gray field to an empty space, see also Navigating
in the section. with the Keyboard, p. 475.
2. Press the spacebar.

478
LD Editor

Deselecting Deselecting objects:


objects
Using the mouse Using the keyboard
Left-click an empty space in the section. Move the gray field or press the space bar.

Deleting, cutting, copying, pasting and moving objects

Deleting objects Deleting objects:


using the mouse Using the keyboard
1. Select (See Selecting objects, p. 477) the Deleting the selected object:
object to be deleted. 1. Select (See Selecting objects, p. 477) the
2. Use the Edit → Delete menu command. object to be deleted.
2. Press the Del key.
Deleting the object left of the gray field:
1. Press the Backspace key.
Result: The selected object is deleted. The actual parameters (and the links for FFBs) are
deleted together with the object, even if they were not selected explicitly. Boolean links are
only deleted if they are selected explicitly.

Cutting objects Cutting objects:


Using the mouse Using the keyboard
1. Select (See Selecting objects, p. 477) the 1. Select (See Selecting objects, p. 477) the
object to be cut. object to be cut.
2. Use the Edit → Cut menu command. 2. Press the Ctrl+X key combination.
or
Use the menu command Cut in the
shortcut menu (right mouse button).
or
Click the symbol.
Result: The selected object is cut from the section and copied to the clipboard. This is also
the case for the actual parameters. FFB links are also cut. But they are only copied to the
clipboard if they (and their partner objects) are selected explicitly.

The cut object can be inserted (See Pasting objects from the clipboard, p. 480)
again at any other position (even in another LD section).

479
LD Editor

Copying objects Copying objects to the clipboard:


to the clipboard
Using the mouse Using the keyboard
1. Select (See Selecting objects, p. 477) the 1. Select (See Selecting objects, p. 477) the
object to be copied. object to be copied.
2. Use the Edit → Copy menu command. 2. Press the Ctrl+C key combination.
or
Use the Copy menu command from the
shortcut menu (right-click).
or
Click the symbol.
Result: The selected object is copied to the clipboard. This is also the case for the actual
parameters. FFB links are only copied to the clipboard if they (and their partner objects) are
selected explicitly.

The cut object can be inserted (See Pasting objects from the clipboard, p. 480)
again at any other position (even in another LD section).

Pasting objects Pasting objects from the clipboard:


from the
Using the mouse Using the keyboard
clipboard
1. Use the menu command Edit → Insert. 1. Press the Ctrl+V key combination.
or 2. Move the cursor to the target position
Use the menu command Paste in the using the arrow keys.
shortcut menu (right mouse button). 3. Press Enter.
or
Click the symbol.
2. Left-click the target position.
Note for pasting contacts and coils: If the target position already contains a contact or coil,
the already existing object is overwritten by the new object.
Note for pasting FFBs: A new instance is automatically created for FFBs. FFB links are only
pasted if they (and their partner objects) were explicitly copied to the clipboard together with
the FFB.

480
LD Editor

Moving objects Moving objects:


Using the mouse Using the keyboard
1. Select (See Selecting objects, p. 477) the object 1. Position (See Selecting objects,
to be moved. p. 477) the gray field on the object
2. Position the mouse pointer on the selected to be moved.
object. (On one of the selected objects if more 2. Press the spacebar.
than one is selected). 3. Press the Shift key and keep it
Result: The mouse pointer changes its symbol to pressed.
. 4. Move the object to the target
3. Click the left mouse button and keep it pressed. position using the arrow keys.
Result: The mouse pointer changes its symbol to
.
4. Drag the object to the new position and release
the mouse button.
Result: The selected object is moved from the original position to the target position. The
object's actual parameters are moved together with the object. FFBs still have their FFB-links
and they are adjusted to the new position of the FFB. Boolean links are only kept for
horizontal movement operations.
Note: A moving of FFBs to cells that are already occupied (e.g. by contact, coil, other FFB,
boolean link), is not possible.
Note:The move operation is also possible across sections between different opened LD
sections.

Copying objects Copying objects via drag & drop:


via drag & drop
Using the mouse Using the
keyboard
1. Select (See Selecting objects, p. 477) the object to be copied. -
2. Position the mouse pointer on the selected object.
Result: The mouse pointer changes its symbol to .
3. Click the left mouse button and keep it pressed.
4. Press the Ctrl key and keep it pressed.
Result: The mouse pointer changes its symbol to .
5. Drag the object to the new position.
Note:This is also possible across sections between different opened LD
sections.
6. Release the mouse button.
Result: A copy of the selected object is pasted at the target position. The
object's actual parameters (variable/address) are copied together with the
object. A new instance is automatically created for FFBs. FFB links are only
copied if they (and their partner objects) are selected explicitly.

481
LD Editor

Displaying the properties

Displaying the You have the following options to display the object properties dialog box:
object properties z Double-click the object.
z Select (See Selecting an object, p. 477) the object and use the Edit →
Properties... dialog box..
z Select (See Selecting an object, p. 477) the object and use the
Properties...commandfrom the shortcut menu.
z Select (See Selecting an object, p. 477) the object and then press the Alt+Enter
key combination.
When the properties dialog box is called without an object being selected, the
section properties dialog box (See Properties dialog box for FBD, LD, IL or ST
sections, p. 333) is opened.
If several objects are selected, the commands do not work.

View data You have the following options to display the section properties dialog box (See
properties Data Properties, p. 742):
z using the data editor (See Data editor, p. 211)
1. Selecting one or several lines in a list editor
2. Using the shortcut menu select the Propertiescommand.
z via the LD section
1. Selecting one or several element(s) in the LD section.
2. From the context menu select the command Data properties or press Ctrl +
Enter.

482
LD Editor

Refining DFBs and subroutines

Introduction This function makes it possible to "look into" a DFB or subroutine. This makes it
possible to see the internal state of the DFB/subroutine when animation is used, or
to make changes to the logic very quickly.

Refining DFBs Process the following steps to refine DFBs:


Step Action
1 Select the DFB.
2 You have the following options to refine DFBs:
z Use the Services → Refine menu command.
z Use the Refine menu command from the shortcut menu.
or
z Press the Ctrl+Q key combination.
Result: If the DFB contains only one section, this will be opened automatically.
If the DFB contains several sections, a selection dialog is opened.
3 Select the desired DFB section.
Result: The DFB section is opened.
Note: With nested DFBs, several refine processes are possible.

Refining Process the following steps to refine subroutines:


subroutines
Step Action
1 Select the subroutine block (See Calling a subroutine, p. 444).
2 You have the following options to to refine subroutines:
z Use the Services → Refine menu command.
z Use the Refine menu command from the shortcut menu.
or
z Press the Ctrl+Q key combination.
Result: The subroutine section is opened.
Note: With nested subroutines several refine processes are possible.

483
LD Editor

Inserting and deleting lines

Rules for The following rules apply when inserting lines:


inserting lines z The same number of lines are inserted as are selected in the line box.
z The new lines are inserted above the first selected line.
z The first selected line may not contain any objects.

Note: The number of columns must be specified in the Tools → Project Settings
dialog box, on the Editors tab, in the Number of columns text box before the LD
section is created. The number of columns for LD sections cannot be changed
later.

Inserting lines Inserting lines:


Step Action
1 Select (See Selecting by lines, p. 478) the desired number of lines in the line box
(click the line numbers).
2 Use the Insert Line menu command from the shortcut menu of the line box or
use the Edit → Insert Line menu command.
Result: The selected number of lines is inserted above the first selected line.

Rules for The following rules apply when deleting lines:


deleting lines z The lines to be deleted may not contain any objects.

Note: The number of columns must be specified in the Tools → Project Settings
dialog box, on the Editors tab, in the Number of columns text box before the LD
section is created. The number of columns for LD sections cannot be changed
later.

Deleting lines Deleting lines:


Step Action
1 Select (See Selecting by columns, p. 478) the desired number of lines to be
deleted from the line box (click the line numbers).
2 Use the Delete Line menu command from the shortcut menu of the line box or
use the Edit → Delete Line menu command.
Result: The selected lines are deleted.

484
LD Editor

22.2 Editing Contacts

Introduction

Overview This section describes how to edit contacts in the LD programming language.

What's in this This section contains the following topics:


Section?
Topic Page
Selecting Contacts 486
Placing contacts 487
Contact properties dialog box 490

485
LD Editor

Selecting Contacts

Introduction A contact is an LD element that transfers a status on the horizontal link to its right
side. This status comes from the Boolean AND link of the status of the horizontal link
on the left side with the status of the relevant Boolean current parameter.

Selecting Selecting contacts:


contacts
Contact type Description Call via the menu command Call via a
key
N.O. contact For normally open contacts, the Edit → New → N.O. Contact F3
status of the left link is copied to or
the right link, if the status of the Contacts → N.O. Contact in
relevant Boolean actual the shortcut menu
parameter is 1. Otherwise, the
status of the right link is 0.
N.C. contact For normally closed contacts, Edit → New → N.C. Contact Shift+F3
the status of the left link is or
copied to the right link, if the Contacts → N.C. Contact in
status of the relevant Boolean the shortcut menu
actual parameter is 0.
Otherwise, the status of the
right link is 0.
Positive With contacts for detection of Edit → New → Positive Ctrl+F3
transition positive transitions, the right transition contact
contact link for a program cycle is 1 if a or
transfer of the relevant actual Contacts → Positive
parameter goes from 0 to 1 and transition contact in the
the status of the left link is 1 at shortcut menu
the same time. Otherwise, the
status of the right link is 0.
Negative With contacts for detection of Edit → New → Negative Ctrl+Shift
transition negative transitions, the right transition contact +F3
contact link for a program cycle is 1 if a or
transfer of the relevant actual Contacts → Negative
parameter goes from 1 to 0 and transition contact in the
the status of the left link is 1 at shortcut menu
the same time. Otherwise, the
status of the right link is 0.

486
LD Editor

Placing contacts

Introduction Contacts can be placed in any free cell except cells directly on the right power rail.
If a contact is placed in a cell that was previously occupied by a contact, coil, a
Boolean link or a label, the cell contents are replaced by the new contact.
If a contact is placed in a cell that is already occupied by another object (e.g. FFBs),
an error message is returned.
A placed contact automatically creates a connection with its neighboring objects on
the left and right if they are of the Bool data type and there are no free cells between
them.
The following are permitted as actual parameters for contacts:
z Boolean variables
z Boolean literals (0, 1, FALSE, TRUE)
z Boolean addresses (topological addresses or symbolic addresses)
z ST expressions that return a Boolean result (e.g. VarA > VarB)
ST expressions as formal parameters on contacts are an extension of IEC 61131-
3 and must be explicitly enabled via the Tools → Project Settings dialog box, in
the Language extensions tab by selecting the Usage of ST expressions
checkbox.

Note In the Tools → Options dialog box on the Data and Languages tab, if the
Automatically assign a variable to a new graphical object checkbox is selected,
then the corresponding properties dialog box is automatically opened when an
object is placed. The procedures explained here are used when the checkbox is
cleared.

487
LD Editor

Placing Placing contacts:


contacts:
Step Action
1 Select the desired contact, see also Selecting contacts, p. 486.
2 Click the target cell in the LD section.
or
Use the arrow keys to move the gray field to the target position, and press
Enter.
Result: The selected contact is inserted.
3 To place further contacts of the same type:
z Click the target cell in the LD section.
or
Use the arrow keys to move the gray field to the target position and press
Enter.
z To return to selection mode:
Press the Esc key.
z To insert other objects:
Select the object you wish to insert.

488
LD Editor

Assigning actual Assigning actual parameters:


parameters
Step Action
1 Open the properties dialog box (See Displaying the properties, p. 482) for the contact.
Result: The contacts properties dialog box is opened, see also Calling the properties
dialog box, p. 490.
2 You have the following options to enter the actual parameters:
z You can now enter the actual parameter and confirm using Enter.
z You can select the actual parameter from the list of recently used names using the
symbol and confirm using Enter.
or
z Using the button ... you can open a variable selection dialog box (See Variable
selection dialog box, p. 732) and confirm the selected variables there with OK.
3 Confirm the selected variable with OK.
Result:
z If the selected variable is declared, it is enabled in the section. A syntax and
semantics check (See Syntax and semantics check during programming, p. 472)
is performed and the procedure ends here.
z If the variable is not declared, a variable declaration dialog box opens. In this case,
continue with the following steps of this procedure.
Variable declaration dialog box
Note: If you wish to declare the variable later, close the dialog box using the
symbol. In this case, the variable name is enabled in the section, but not declared.
4 If you do not want to assign the variable an address or comment, confirm using Enter
or the symbol.
Result:The variable is declared and enabled in the section. A syntax and semantics
check (See Syntax and semantics check during programming, p. 472) is performed
and the procedure ends here.
5 If you do want to assign the variable an address and/or comment, use the symbol for
obtaining an advanced dialog and enter the address and/or comment.
6 Confirm with Enter or the symbol.
Result:The variable is declared and enabled in the section. A syntax and semantics
check (See Syntax and semantics check during programming, p. 472) is performed
immediately after the statement is entered.

Usage of ST To enter ST expressions for contacts the same rules apply as for entering ST
expressions expressions for FFB pins. (See Assigning ST expressions to a pin, p. 526)

489
LD Editor

Contact properties dialog box

Calling the See Displaying the properties, p. 482


properties dialog
box

Structure of the The contact properties dialog box consists of two tabs:
properties dialog z General
box In this tab, you can enter the actual parameter (See Assigning actual parameters,
p. 489) of the contact.
z Comment
In this tab, a comment about the contact can be entered.

General tab Representation of the General tab:


Elements of the General tab:
Element Description
BOOLEAN Enter the name of the actual parameter in this text box.
Expression You have the following options:
z You can enter the name of the variable/address directly or paste it
from the clipboard.
z You can select the name of the variable from the list of recently
used names using the symbol.
or
z Use the ... command button to open a dialog box for variable
selection (See Variable selection dialog box, p. 732).
The actual parameters which are permitted are:
z Boolean variables
z Boolean constants
z Boolean addresses (topological addresses or symbolic addresses)
z ST expressions that return a Boolean result (e.g. BoolVar1 OR
BoolVar1)
z Literals (1 or 0 or TRUE or FALSE)
OK Use this command button to accept all entries and close the dialog
box.
Apply Use this command button to accept all entries without closing the
properties dialog box.

490
LD Editor

Comment tab Elements of the Comment tab:


Element Description
Text box Enter a comment about the contact.
OK Use this command button to accept all entries and close the dialog box.
Apply Use this command button to accept all entries without closing the properties
dialog box.

491
LD Editor

22.3 Editing Coils

Introduction

Overview This section describes how to edit coils in the LD programming language.

What's in this This section contains the following topics:


Section?
Topic Page
Selecting Coils 493
Placing coils 495
Properties dialog box for coils 499

492
LD Editor

Selecting Coils

Introduction A coil is an LD element which transfers the status of the horizontal link on the left
side, unchanged, to the horizontal link on the right side. The status is saved in the
respective Boolean actual parameter. Coils normally follow contacts or FFBs,
(functions and function blocks), but they can also be followed by contacts.

Selecting coils Selecting coils:


Coil type Description Call via menu command Call via
keyboard
Coil With coils, the status of the left Edit → New → Coil F5
link is copied to the relevant or
Boolean actual parameter and Coils → Coil from the
the right link. shortcut menu
Negated coils With negated coils, the status Edit → New → Negated Coil Shift + F5
of the left link is copied onto the or
right link. The inverted status of Coils → Negated Coil from
the left link is copied to the the shortcut menu
relevant Boolean actual
parameter. If the left link is 0,
the right link is also 0 and the
respective Boolean actual
parameter is 1.
Positive With coils for detection of Edit → New → Positive -
transition- positive transitions, the status transition-sensing coil
sensing coil of the left link is copied to the or
right link. The relevant Boolean Coils → Positive transition-
actual parameter is 1 for a sensing coil from the
program cycle, if a transition shortcut menu
from 0 to 1 is made on the left
link.
Negative With coils for detection of Edit → New → Negative -
transition- negative transitions, the status transition-sensing coil
sensing coil of the left link is copied to the or
right link. The relevant Boolean Coils → Negative transition-
actual parameter is 1 for a sensing coil from the
program cycle, if a transition shortcut menu
from 1 to 0 is made on the left
link.

493
LD Editor

Coil type Description Call via menu command Call via


keyboard
Set coil With set coils, the status of the Edit → New → Set Coil Alt + F5
left link is copied onto the right or
link. The relevant Boolean Coils → Set Coil from the
actual parameter is set to 1 if shortcut menu
the left link has the status 1,
otherwise it remains
unchanged. The relevant
Boolean actual parameter can
be reset through the reset coil.
Reset coil With reset coils, the status of Edit → New → Reset Coil Shift+Alt+
the left link is copied onto the or F5
right link. The relevant Boolean Coils → Reset Coil from the
actual parameter is set to 0 if shortcut menu
the left link has the status 1,
otherwise it remains
unchanged. The relevant
Boolean actual parameter can
be set through the set coil.
Halt coil With halt coils, if the status of Edit → New → Halt coil -
the left link is 1, the program or
execution is stopped Coils → Halt coil from the
immediately. (With halt coils shortcut menu
the status of the left link is not
copied to the right link.)
Call coil With call coils, the status of the Edit → New → Call Coil F4
left link is copied to the right or
link. If the status of the left link Coils → Call Coil from the
is 1, the corresponding shortcut menu
subroutine is called.
Subroutine calls are
expansions to IEC 61131-3 and
must be explicitly enabled via
the Tools → Project Settings
dialog box, in the Language
extensions tab by selecting
the Allow subroutines check
box.

494
LD Editor

Placing coils

Introduction Coils can be placed in any free cell except cells directly on the left power rail.
If all coils are to be placed on the right power rail, select the Tools → Project
Settings menu, and in the Editors tab, check the Right-justify coils (See Editors,
p. 365) checkbox.
If a coil is placed in a cell that is already occupied by a coil, contact, a Boolean link
or a label, the cell contents are replaced by the new coil.
If a coil is placed in a cell that is already occupied by another object (e.g. FFBs), an
error message is returned.
A placed coil automatically creates a connection with its neighboring objects on the
left and right if they are of the BOOL data type, even if free cells are between them.
The following are permitted as actual parameters for coils:
z Boolean variables
z Boolean addresses (topological addresses or symbolic addresses)

Note In the Tools → Options dialog box on the Data and Languages tab, if the
Automatically assign a variable to a new graphical object checkbox is selected,
then the corresponding properties dialog box is automatically opened when an
object is placed. The procedures explained here are used when the checkbox is
cleared.

495
LD Editor

Placing Coils Placing Coils


Step Action
1 Select the desired coil, see also Selecting coils, p. 493.
2 Click the target cell in the LD section.
or
Use the arrow keys to move the gray field to the target position, and press
Enter.
Result: The selected coil is inserted.
In the Tools → Project Settings dialog box, on the Editors tab, if the Right-
justify coils (See Editors, p. 365) checkbox is selected and the last cell in the
current row (cell directly on the right power rail) is not occupied, the coil is placed
automatically on the right power rail. If this cell is already occupied, the coil is
inserted into the current cell (cursor position gray field).
3 To place further coils of the same type:
z Click the target cell in the LD section.
or
Use the arrow keys to move the gray field to the target position and press
Enter.
z To return to selection mode:
Press the Esc key.
z To insert other objects:
Select the object you wish to insert.

496
LD Editor

Assigning actual Assigning actual parameters:


parameters
Step Action
1 Open the properties dialog box (See Displaying the properties, p. 482) for the coil.
Result: The coils properties dialog box is opened, see also Properties dialog box for
coils, p. 499.
2 You have the following options to enter the actual parameters:
z You can now enter the variable/address name and confirm using Enter.
z You can select the variable name from the list of recently used names using the
symbol and confirm using Enter.
or
z Using the button ... you can open a variable selection dialog box (See Variable
selection dialog box, p. 732) and confirm the selected variables there with OK.
3 Confirm the selected variable with OK.
Result:
z If the selected variable is declared, it is enabled in the section. A syntax and
semantics check (See Syntax and semantics check during programming, p. 472)
is performed and the procedure ends here.

z If the variable is not declared, a variable declaration dialog box opens. In this
case, continue with the following steps of this procedure.
Variable declaration dialog box

Note: If you wish to declare the variable later, close the dialog box using the
symbol. In this case, the variable name is enabled in the section, but not declared.
4 If you do not want to assign the variable an address or comment, confirm using Enter
or the symbol.
Result:The variable is declared and enabled in the section. A syntax and semantics
check (See Syntax and semantics check during programming, p. 472) is performed
and the procedure ends here.
5 If you do want to assign the variable an address and/or comment, use the symbol
for obtaining an advanced dialog and enter the address and/or comment.
6 Confirm with Enter or the symbol.
Result:The variable is declared and enabled in the section. A syntax and semantics
check (See Syntax and semantics check during programming, p. 472) is performed.

497
LD Editor

Calling a Calling a subroutine:


subroutine
Step Action
1 Place a call coil in the section, see also Selecting coils, p. 493.
Note: Subroutine calls are expansions to IEC 61131-3 and must be explicitly
enabled via the Tools → Project Settings dialog box, in the Language
extensions tab by selecting the Allow subroutines checkbox.
2 Open the properties dialog box (See Displaying the properties, p. 482) for the
coil.
Result: The coils properties dialog box is opened, see also Properties dialog box
for coils, p. 499.
3 Click the symbol and select the subroutine to call from the list and confirm using
Enter.
Note: The subroutine to be called must be located in the same task as the LD
section called.
Result: The subroutine call is inserted into the section and a syntax and
semantics check (See Syntax and semantics check during programming, p. 472)
is performed.
If the subroutine has already been created (see also Creating subroutine
sections (SR), p. 345), the procedure ends here.
If the subroutine has not yet been created, continue with step 4.
4 Create the subroutine, see alsoCreating subroutine sections (SR), p. 345.

498
LD Editor

Properties dialog box for coils

Calling the See Displaying the properties, p. 482


properties dialog
box

Structure of the The properties dialog box for coils, negated coils, coils for sensing positive/
properties dialog negative transitions and set/reset coils consists of two tabs:
box z General
In this tab, you can enter the actual parameter (See Assigning actual parameters,
p. 497) of the coil.
z Comment
In this tab, a comment about the coil can be entered.
The properties dialog box for halt coils consists of one tab:
z Comment
In this tab, a comment about the coil can be entered.
The properties dialog box for call coils consists of two tabs:
z General
In this tab, you can enter the name of the subroutine to be called (See Calling a
subroutine, p. 498).
z Comment
In this tab, a comment about the coil/subroutine call can be entered.

499
LD Editor

General tab Elements of the General tab:


Element Description
BOOLEAN This text box is only available for coils, negated coils, coils for
Expression sensing positive/negative transitions and set/reset coils.
Enter the name of the actual parameter in this text box.
You have the following options:
z You can directly enter the name of the variable/address or paste it
from the clipboard.
z You can select the name of the variable from the list of recently
used names using the symbol.
or
z Use the ... command button to open a dialog box for variable
selection (See Variable selection dialog box, p. 732).
The actual parameters which are permitted are:
z Boolean variables
z Boolean addresses (topological addresses or symbolic addresses)
Subroutine This text box is only available for call coils.
You can enter the name of the subroutine to be called in this text box.
You have the following options:
z You can directly enter the name of the subroutine or paste it from
the clipboard.
or
z You can select the name of the subroutine from the list of
subroutines using the symbol.
OK Use this command button to accept all entries and close the dialog
box.
Apply Use this command button to accept all entries without closing the
properties dialog box.

Comment tab Elements of the Comment tab:


Element Description
Text box Enter a comment about the coil.
OK Use this command button to accept all entries and close the dialog
box.
Apply Use this command button to accept all entries without closing the
properties dialog box.

500
LD Editor

22.4 Editing compare blocks

Introduction

Overview This section describes how to edit compare blocks in the LD programming language.

What's in this This section contains the following topics:


Section?
Topic Page
Placing compare blocks 502
Compare block properties dialog box 505

501
LD Editor

Placing compare blocks

Introduction Compare blocks are only available in the LD programming language. They are used
to execute a compare expression (<, >, <=, >=, =, <>) in the ST programming
language.

Note: The same functionality is also possible using ST expressions (See Assigning
ST expressions to a pin, p. 526).

If the state of the left link is 1 and the result of the comparison is 1, the state of the
right link is 1.
Compare blocks can be placed in any free cell except the last cell directly on the right
power rail.
A compare block requires 1 line and 2 columns.
If a compare block is placed in a cell that is occupied by a Boolean link, and the
following cell is either empty or also occupied by a Boolean link, then these cells will
be occupied by the placed compare block.
If a compare block is placed in a cell, and this cell or the following cell is already
occupied by another object, an error message is returned.
A placed compare block automatically creates a connection with its neighboring
objects on the left and right if they are of the BOOL data type and there are no free
cells between them.

Activating You have the following options to activate the compare block placement mode:
compare block z Use the Edit → New → Compare Block menu command.
placement mode z Use the Common Objects → Compare Block menu command from the shortcut
menu.
z Press the Ctrl+F7 key combination.
or
z Choose the symbol.
The active compare block placement mode is indicated by the cursor symbol.

Note In the Tools → Options dialog box on the Data and Languages tab, if the
Automatically assign a variable to a new graphical object checkbox is selected,
then the corresponding properties dialog box is automatically opened when an
object is placed. The procedures explained here are used when the checkbox is
cleared.

502
LD Editor

Placing a Placing a compare block:


compare block
Step Action
1 Activate the compare block placement mode.
2 Click the target cell in the LD section.
or
Use the arrow keys to move the gray field to the target position, and press
Enter.
Result:The compare blocks is placed.
3 Placing other compare blocks:
z Click the target cell in the LD section.
or
Use the arrow keys to move the gray field to the target position and press
Enter.
z To return to selection mode:
Press the Esc key.
z To insert other objects:
Select the object you wish to insert.

503
LD Editor

Defining the Defining the compare operation:


compare
Step Action
operation
1 Open the properties dialog box (See Displaying the properties, p. 482) for the
compare block.
Result: The properties dialog box for the compare block is opened, see also
Compare block properties dialog box, p. 505.
2 Enter the desired compare operation in the text box, see also General tab, p. 505.
3 Confirm the compare operation with OK.
Result:
z If the selected variables are declared, they are enabled in the section. A syntax
and semantics check (See Syntax and semantics check during programming,
p. 472) is performed and the procedure ends here.
z If the more than one of the selected variables are not declared, they are enabled
in the section but not declared. A syntax and semantics check (See Syntax and
semantics check during programming, p. 472) is performed. Declare them at
this time, using the data editor. See also Creating variable instances of type
EDT, p. 220.
z If the one of the selected variables is not declared, a variable declaration dialog
box opens. In this case, continue with the following steps of this procedure.
Variable declaration dialog box
Note: If you wish to declare the variable later, close the dialog box using the
symbol. In this case, the variable name is enabled in the section, but not
declared.
4 If you do not want to assign the variable an address or comment, confirm using
Enter or the symbol.
Result: The variable is declared and enabled in the section. A syntax and
semantics check (See Syntax and semantics check during programming, p. 472) is
performed and the procedure ends here.
5 If you do want to assign the variable an address and/or comment, use the symbol
for obtaining an advanced dialog and enter the address and/or comment.
6 Confirm with Enter or the symbol.
Result:The variable is declared and enabled in the section. A syntax and semantics
check (See Syntax and semantics check during programming, p. 472) is performed.

504
LD Editor

Compare block properties dialog box

Calling the See Displaying the properties, p. 482


properties dialog
box

Structure of the The properties dialog box consists of two tabs:


properties dialog z General
box In this tab, you can enter the compare operation (See Defining the compare
operation, p. 504).
z Comment
In this tab, a comment about the compare block can be entered.

General tab Representation of the General tab:


Elements of the General tab:
Element Description
ST Expression Enter the compare operation in this text box, see also Placing compare
blocks, p. 502.
You have the following options to variables for the comparison operation:
z You can enter the name of the variable/address directly or copy it from
the clipboard.
z Using the command button ...to open a variable selection dialog box
(See Variable selection dialog box, p. 732).
A compare block can contain up to 4,096 characters. If not all characters
can be displayed, the beginning of the string sequence is followed by an
ellipsis (...).
OK Use this command button to accept all entries and close the dialog box.
Apply Use this command button to accept all entries without closing the properties
dialog box.

Comment tab Representation of theCommenttab:


Elements of the Comment tab:
Element Description
Text box Enter a comment about the compare block.
OK Use this command button to accept all entries and close the dialog box.
Apply Use this command button to accept all entries without closing the properties
dialog box.

505
LD Editor

22.5 Editing operation blocks

Introduction

Overview This section describes how to edit operate blocks in the LD programming language.

What's in this This section contains the following topics:


Section?
Topic Page
Placing Operate Blocks 507
Operate block properties dialog box 510

506
LD Editor

Placing Operate Blocks

Introduction Operate blocks are only available in the LD programming language. They are used
to execute an ST statement.
When the status of the left link is 1, the ST statement in the block is executed.
All ST statements are allowed except the control statements:
z (RETURN,
z JUMP,
z IF,
z CASE,
z FOR
z etc.)
For operate blocks, the state of the left link is passed to the right link (regardless of
the result of the ST statement).
Operate blocks can be placed in any free cell.
A operate block requires 1 line and 4 columns.
If an operate block is placed in a cell that is occupied by a Boolean link, and the
following cells are either empty or also occupied by Boolean links, then these cells
will be occupied by the placed operate block.
If an operate block is placed in a cell, and this cell or the following 3 cells are already
occupied by another object, an error message is returned.
A placed operate block automatically creates a connection with its neighboring
objects on the left if they are of the BOOL data type and there are no free cells
between them.

Activating You have the following options to activate the operate block placement mode:
operate block z Use the Edit → New → Operate Block menu command.
placement mode z Use the Common Objects → Operate Block menu command from the shortcut
menu.
z Press the key combination Alt+F7.
or
z Choose the symbol.
The active operate block placement mode is indicated by the cursor symbol.

Note In the Tools → Options dialog box on the Data and Languages tab, if the
Automatically assign a variable to a new graphical object checkbox is selected,
then the corresponding properties dialog box is automatically opened when an
object is placed. The procedures explained here are used when the checkbox is
cleared.

507
LD Editor

Placing an Placing an operate block:


operate block
Step Action
1 Activate operate block placement mode.
2 Click the target cell in the LD section.
or
Use the arrow keys to move the gray field to the target position and press Enter.
Result: The operation block is placed.
3 Placing other operate blocks:
z Click the target cell in the LD section.
or
Use the arrow keys to move the gray field to the target position and press
Enter.
z To return to selection mode:
Press the Esc key.
z To insert other objects:
Select the object you wish to insert.

508
LD Editor

Defining the Defining the operation:


operation
Step Action
1 Open the properties dialog box (See Displaying the properties, p. 482) for the
operate block.
Result: The operate block properties dialog box is opened, see also Operate
block properties dialog box, p. 510.
2 Enter the desired ST statement in the text box, see also General tab, p. 510.
3 Confirm the ST statement with OK.
Result:
z If the selected variables are declared, they are enabled in the section. A
syntax and semantics check (See Syntax and semantics check during
programming, p. 472) is performed and the procedure ends here.
z If the more than one of the selected variables are not declared, they are
enabled in the section but not declared. A syntax and semantics check (See
Syntax and semantics check during programming, p. 472) is performed.
Declare them at this time, using the data editor. See also Creating variable
instances of type EDT, p. 220.
z If the one of the selected variables is not declared, a variable declaration
dialog box opens. In this case, continue with the following steps of this
procedure.
Variable declaration dialog box
Note: If you wish to declare the variable later, close the dialog box using the
symbol. In this case, the variable name is enabled in the section, but not
declared.
4 If you do not want to assign the variable an address or comment, confirm using
Enter or the symbol.
Result:The variable is declared and the ST statement is enabled in the section.
A syntax and semantics check (See Syntax and semantics check during
programming, p. 472) is performed and the procedure ends here.
5 If you do want to assign the variable an address and/or comment, use the
symbol for obtaining an advanced dialog and enter the address and/or comment.
6 Confirm with Enter or the symbol.
Result:The variable is declared and the ST statement is enabled in the section.
A syntax and semantics check (See Syntax and semantics check during
programming, p. 472) is performed.

509
LD Editor

Operate block properties dialog box

Calling the see Displaying the properties, p. 482


properties dialog
box

Structure of the The properties dialog box consists of two tabs:


properties dialog z General
box Enter the operation (See Defining the operation, p. 509) in this tab.
z Comment
In this tab, a comment about the operate block can be entered.

General tab Representation of the General tab:


Elements of the General tab:
Element Description
ST Statement Enter the operation in this text box, see also Placing Operate Blocks, p. 507.
You have the following options to select variables for the operation:
z You can enter the name of the variable/address directly or copy it from
the clipboard.
z Using the command button ...to open a variable selection dialog box
(See Variable selection dialog box, p. 732).
An operate block can contain up to 4,096 characters. If not all characters
can be displayed, the beginning of the string sequence is followed by an
ellipsis (...).
OK Use this command button to accept all entries and close the dialog box.
Apply Use this command button to accept all entries without closing the properties
dialog box.

Comment tab Representation of the Commenttab:


Elements of the Comment tab:
Element Description
Text box Enter a comment about the operate block.
This comment is displayed above the operate block if the mixed display mode
(See View for variables, p. 473) is activated.
OK Use this command button to accept all entries and close the dialog box.
Apply Use this command button to accept all entries without closing the properties
dialog box.

510
LD Editor

22.6 Editing FFBs

Introduction

Overview This section describes the various possibilities to edit elementary functions,
elementary function blocks, derived function blocks and procedures in the LD
programming language.

What's in this This section contains the following topics:


Section?
Topic Page
General information on calling an FFB 512
Calling an FFB via the FFB input assistant 514
Calling an FFB via the data selection 516
Connecting FFBs to the Left Power Rail 519
Assigning Actual Parameters 520
Using Public Variables 528
Expanding Functions 529
Negating FFB Pins 530
EN and ENO Show and Hide 531
Properties dialog box for elementary functions, procedures and sub-routine 532
blocks.
Properties dialog box for elementary and derived function blocks (FBs) 534

511
LD Editor

General information on calling an FFB

Introduction FFB is the generic term for:


z Elementary Function (EF)
z Elementary Function Block (EFB)
z Derived Function Block (DFB)
z Procedure
(Procedures are an expansion to IEC 61131-3 and must be enabled explicitly in
the Tools → Project Settingsdialog box, on the Language Extensions tab by
selecting the Allow procedures checkbox).
FFBs can be placed in any free space.
If an FFB is to be placed in an area that is already occupied by an object (contact,
coil, other FFB, link), an error message is returned.

Declaring block Function blocks (elementary and derived) have internal states. If the inputs have the
instances same values, the value on the output can have another value during the individual
executions of the function block. For example, with a counter the value on the output
is incremented.
The instance name serves as a unique identification for the function block in a
project.
Instances can be declared:
z By selecting a function block type and its placement in a section.
z By the declaration of the block instance in the FFB input assistant (See Function
Input Assistant, p. 740) and its placement in the section.
z By the declaration of the block instance in the Data editor (See Managing data
instances belonging to function block families (EF) , p. 269).

512
LD Editor

Calling FFBs FFBs can be called in the following ways:


z Via the FFB Input Assistant (See Calling an FFB via the FFB input assistant,
p. 514) menu command
z Use the Edit → FFP input assistant... menu command.
z Use the menu command FFB Input Assistant...in the shortcut menu.
or
z Press the Ctrl+I key combination.
z Via the data selection (See Calling an FFB via the data selection, p. 516)
z Use the menuc ommand Edit → Data Selection.
z Use the menu commandData selection... in the shortcut menu.
z Press the Ctrl+D key combination.
or
z Select the symbol.
z Via the Types library browser (See Type Library Browser, p. 757) per drag &
drop
z Use the Tools → Types Library Manager menu command.
or
z Press the Alt+3 key combination.

513
LD Editor

Calling an FFB via the FFB input assistant

Activating the You have the following options to activate the FFB input assistant:
FFB input z Use the Edit → FFB Input Assistant... menu command. (no object may be
assistant selected).
z Use the menu command from the shortcut menu (no object may be selected).
or
z Press the key combination Ctrl+I (no object may be selected).
The active FFB placement mode is indicated by the cursor symbol.

Selecting an FFB Process the following steps to select an FFB type via the FFB input assistant:
type via the Input
Step Action
Assistant
1 From the FFB input assistant....from the shortcut menu (right-click) for the FFB
input assistant (See Set data selection to active, p. 516)section.
Result:
The FFB input assistant (See Function Input Assistant, p. 740) is opened.
2 You have the following options to enter the FFB type with the:FFB Type text box:
z You can enter the FFB type in the textbox:
In this case, continue with step 6 of the procedure.
z You can select the FFB type from the list of recently used names using the
symbol.
In this case, continue with step 6 of the procedure.
z Using the button ... open the FFB selection dialog (See FFB Selection Dialog
box, p. 736).
3 Select the library from the Libraries/Families column which contains the desired
function block.
Tip: If you do not know where to find the FFB you are looking for select the
Libset, entry to see a list of all the FFBs available independently of their libraries.
4 Select the desired function block from the Name column.
5 Confirm the selection with OK.
Result: The dialog box is closed and FFB input assistant is activated.
6 You have the following options to enter the block instance for function blocks in
the instance text box:
z You can accept the name which is suggested.
z You can change the name which is suggested.
7 The number of inputs (See Expanding Functions, p. 432)can be increased with
some elementary functions.
Expandable pins can be recognized from the following display:
To add further pins select the last pin in the structure and press Add pin.

514
LD Editor

Step Action
8 To assign the current parameter double-click the Entry field cell of the first
formal parameter and enter the parameter to be used.
You have the following options to enter the variables/addresses:
z You can enter the variable name and confirm using Enter.
z You can select the variable/address from the list of recently used variables/
addresses using the symbol.
or
z Using the button ...to open a variable selection dialog box (See Variable
selection dialog box, p. 732).
Assign an actual parameter to all formal parameters of the function block in this
way.
9 Confirm the entries using the OK button.
Result: The FFB input assistant is closed and the FFB input mode is activated.
The active FFB placement mode is indicated by the cursor symbol.
10 To place the FFB , and click the target cell in the LD section.
or
Use the arrow keys to move the gray field to the target position and press Enter.
Result: The FFB is inserted and a syntax and semantics check (See Syntax and
semantics check during programming, p. 472) is performed.

515
LD Editor

Calling an FFB via the data selection

Set data You have the following options to activate the data exchange:
selection to z Use the Edit → Data Selection menu command.
active z Use the menu commandData selection...from the shortcut menu (right-click) for
the section.
z Press the Ctrl+D key combination.
or
z Select the symbol.

Note: When executing the commands no object can be selected in the section.

The active FFB placement mode is indicated by the cursor symbol.

Note In the Tools → Options dialog box on the Data and Languages tab, if the
Automatically assign a variable to a new graphical object checkbox is selected,
then the corresponding properties dialog box is automatically opened when an
object is placed. The procedures explained here are used when the checkbox is
cleared.

516
LD Editor

Selecting an FFB Process the following steps to select an FFB type via the Data selection:
type via the Data
Step Action
Selection
1 From the Data selection....from the shortcut menu (right-click) for the Data
selection (See Set data selection to active, p. 516)section.
Result:
A data selection box (See Data selection boxes, p. 1257) is opened.
2 You have the following options to enter the FFB type:
z You can now enter the FFB type and confirm using Enteror the button.
In this case, continue with step 7 of the procedure.
z You can select the name from the list of recently used names using the FFB
type symbol and confirm using Enteror the button.
In this case, continue with step 7 of the procedure.
z You can delete your entry by pressing Escor clicking the button.
z Using the button ...you can open the dialog box for FFB selection (See FFB
Selection Dialog box, p. 734).
3 Select the Function Types, Function Block Types tab.
Result:
The tab used for selecting an FFB type (See Function Types/Function Block
Types tab, p. 735) is opened.
4 Select the library and family from the Libraries/Families column which contains
the desired function block.
Tip: If you do not know where to find the FFB you are looking for select the
Libset, entry to see a list of all the FFBs available independently of their libraries.
5 Select the desired function block from the Name column.
6 Confirm the selection with OK.
Result: The dialog box is closed and FFB placement mode is activated.
7 To place the FFB , and click the target cell in the LD section.
or
Use the arrow keys to move the gray field to the target position and press Enter.
Result: For the selected FFB type, an instance name is automatically generated
(only valid for function blocks), the FFB is inserted and placement mode remains
active so that further FFBs can be inserted. To end insert mode press Esc.
Note: The automatically generated instance names can be changed to improve
clarity, also see Managing data instances belonging to function block families
(EF) , p. 269.

517
LD Editor

Selecting a block Process the following steps to select a block instance that has already been
instance declared:
Step Action
1 Activate FFB placement mode.
Result:
A data selection box (See Data selection boxes, p. 1257) is opened.
2 Press the button ..., to open the FFB selection dialog (See FFB Selection Dialog
box, p. 734).
3 Select the Function Blocks tab (if it is not already active).
Result:
The tab used for selecting a block instance (See Function Blocks tab, p. 734)
is opened and the desired selection of block instances is displayed.
4 Select the desired block instance from the Name column.
5 Confirm the selection with OK.
Result: The dialog box is closed and FFB placement mode is activated.
6 Click the target cell in the LD section.
or
Use the arrow keys to move the gray field to the target position and press Enter.
Result: The selected block instance is inserted and the placement mode
remains active so that more block instances can be inserted. To end insert mode
press Esc.

518
LD Editor

Connecting FFBs to the Left Power Rail

Introduction FFBs are only processed if at least one Boolean input is linked with the left power
rail. If the FFB has no Boolean input, the EN input of the FFB must be used.
If the FFB should be executed conditionally, the Boolean input can be pre-linked
using contacts or other FFBs, see also section EN and ENO in the User manual.
If the EN input is not linked with the left power rail, it must be deactivated (See EN
and ENO Show and Hide, p. 531), otherwise the FFB will never be processed.

Examples Unconditional FFB call


Unconditional FFB call
Conditional FFB call

519
LD Editor

Assigning Actual Parameters

Introduction Input and output are required to transfer values to or from an FFB. These are called
formal parameters.
Objects are linked to formal parameters; these objects contain the current process
states. They are called actual parameters.
The data type of the actual parameter must match the data type of the input/output
(formal parameter). The only exceptions are generic inputs/outputs whose data type
is determined by the actual parameter. If all actual parameters consist of literals, a
suitable data type is selected for the function block.
Formal and Actual Parameters:
Permitted actual parameters are:
z Variables
z Enter already declared variables (See Assign declared variables to a pin,
p. 521)
z Enter undeclared variables (See Assign undeclared variables to a pin, p. 522)
z Formal parameters of other function blocks (See Assigning formal parameters to
a pin, p. 524)
z Literals (See Assigning literals to a pin, p. 525)
z ST expressions (See Assigning ST expressions to a pin, p. 526)
ST expressions as formal parameters on FBB inputs are an extension of IEC
61131-3 and must be explicitly enabled via the Tools → Project Settings dialog
box, in the Language extensions tab by selecting the Usage of ST
expressions checkbox.
z Links (See Editing Links, p. 547) to other LD objects

Note: Please take note of the section Information about Programming in the
Reference manual.

You can make actual parameter assignments for


z each pin individually
or
z with the function input assistant (See Changing the actual parameter assignment
using the function input assistant, p. 527) for all pins

520
LD Editor

Assign declared Process the following steps to assign undeclared variables to a pin. (See also
variables to a pin Creating variable instances of type EDT, p. 220.)
Step Action
1 Open a data selection box for the desired FFB pin by:
z double-clicking the pin.
z selecting the pin and clicking the Edit → Data Selection... menu command.
z selecting the pin and clicking the Data Selection menu command on the
shortcut menu.
z selecting the pin and pressing the Ctrl+D key combination.
or
z selecting the pin and clicking the symbol.
Result:
The data selection box (See Data selection boxes, p. 1257) opens.
2 You have the following options to enter variables:
z You can now enter the variable name and confirm using Enteror the button.
z You can select the variable names from the list of recently used names using
the symbol and confirm using Enter or the button.
z You can delete your entry by pressing Esc or the symbol.
z Using the button ... you can open a variable selection dialog box (See
Variable selection dialog box, p. 732) and confirm the selected variables
there with OK.
Result: The selected variable is inserted and a syntax and semantics check
(See Syntax and semantics check during programming, p. 472) is performed.

521
LD Editor

Assign Process the following steps to assign undeclared variables to a pin:


undeclared
Step Action
variables to a pin
1 Open a data selection box for the desired FFB pin by:
z double-clicking the pin.
z selecting the pin and clicking the Edit → Data Selection... menu command.
z selecting the pin and clicking the Data Selection menu command on the
shortcut menu.
z selecting the pin and pressing the Ctrl+D key combination.
or
z selecting the pin and clicking the symbol.
Result:
A data selection box (See Data selection boxes, p. 1257) opens.
2 Enter the variable name and confirm using Enteror the symbol.
Result: The variable declaration dialog box opens.

3 Change the default data type, if desired.


Note: If you wish to declare the variable later, close the dialog box using the
symbol. In this case, the variable name is enabled on the pin, but not declared.
4 If you do want to assign the variable an address and/or comment, use the
symbol for obtaining an advanced dialog and enter the address and/or comment.

5 Confirm with Enter or the symbol.


Result:The variable is declared and enabled on the selected pin.

6 Enter all actual parameters in this way.

522
LD Editor

Declaring Process the following steps to declare variables on a pin:


variables on a
Step Action
pin
1 Open the variable declaration dialog box for the desired variable by.
z Select an undeclared variable (red wavy line under the variable name) and
the Create Variable command from the shortcut menu.
z Select an undeclared variable (red wavy line under the variable name) and
the Shift+Enter key combination.
Result: The variable declaration dialog box opens.

2 If you do not want to assign an address or comment, confirm using Enter or the
symbol.
Result: The variable is declared and the red wavy line under the variable name
disappears.

3 If you do want to assign the variable an address and/or comment, use the
symbol for obtaining an advanced dialog and enter the address and/or comment.

4 Confirm with Enter or the symbol.


Result: The variable is declared and the red wavy line under the variable name
disappears.

523
LD Editor

Assigning formal Process the following steps to assign formal parameters to a pin:
parameters to a
Step Action
pin
1 Select the desired FFB pin.
2 Open a data selection box by:
z double-clicking the pin.
z the Edit → Data Selection menu command.
z the Data Selection menu command from the shortcut menu.
or
z the Ctrl+D key combination.
Result:
The data selection box (See Data selection boxes, p. 1257) opens.
3 You have the following options to enter the formal parameter:
z You can enter the formal parameter name and confirm using Enter or the
button.
z You can select the formal parameter name from the list of recently used
names using the symbol and confirm using Enter or the button.
z You can delete your entry by pressing Esc or clicking the button.
z Using the button...to open a variable selection dialog box (See Variable
selection dialog box, p. 732).
4 Select the Function Block tab.
Result:
The function block instances are displayed.
5 Expand the display of the inputs, outputs and public variables by clicking their +
symbols.
Result:
You can now see all available inputs, outputs and public variables of the function
block.
6 Select the desired formal parameter and confirm with OK.
7 Result: The formal parameter selected is inserted and a syntax and semantics
check (See Syntax and Semantics Check during Programming, p. 406) is
performed.

524
LD Editor

Assigning Process the following steps to assign literals to a pin:


literals to a pin
Step Action
1 Select the desired FFB pin.
2 Open a data selection box by:
z double-clicking the pin.
z selecting the pin and clicking the Edit → Data Selection menu command.
z selecting the pin and clicking the Data Selection menu command on the
shortcut menu.
z selecting the pin and pressing the Ctrl+D key combination.
or
z selecting the pin and clicking the symbol.
Result:
The data selection box (See Data selection boxes, p. 1257) opens.
3 Enter the literal (e.g. 0, 1, TRUE, FALSE, 3.5, t#2ms) and confirm using Enter.
Tips: If the in the dialog box Tools → Project settings in the Language
Extensions tab Allow leading digits checkbox is cleared, the following
simplifications for entering literals are possible:
z When assigning TIME literals to a pin of the TIME data type, it suffices to
enter the numerical value and the unit (such as h, m, s). The prefix (t#) is
automatically added.
z When assigning REAL literals to a pin of the REAL data type, for integers it
suffices to enter the numerical value. The decimal marker (t#) is
automatically added.
Result: The literal is inserted and a syntax and semantics check (See Syntax
and semantics check during programming, p. 472) is performed.

525
LD Editor

Assigning ST Process the following steps to assign ST expressions to a pin:


expressions to a
Step Action
pin
1 Make sure that the Usage of ST expressions checkbox is activated in the Tools
→ Project Settings dialog box.
2 Select the desired FFB pin.
3 Open a data selection box by:
z double-clicking the pin.
z selecting the pin and clicking the Edit → Data Selection menu command.
z selecting the pin and clicking the Data Selection menu command on the
shortcut menu.
z selecting the pin and pressing the Ctrl+D key combination.
or
z selecting the pin and clicking the symbol.
Result:
The data selection box (See Data selection boxes, p. 1257) opens.
4 Enter the ST expression [e.g. MUX(1,var1,var2), VarA * VarB, VarA <
VarB] and confirm using Enter.
Result: The ST expression selected is inserted and a syntax and semantics
check (See Syntax and semantics check during programming, p. 472) is
performed.
If the variables have already been declared (see also Creating variable instances
of type EDT, p. 220), the procedure ends here.
If the variables have not yet been declared, continue with step 5.
5 Declare all variables used, either:
z using the data editor (See Creating variable instances of type EDT, p. 220)
or
z using Create variable in the context menu (possible when only one variable
of the ST statement is undeclared).

526
LD Editor

Changing the Process the following steps to change actual parameter assignment with the
actual parameter function input assistant:
assignment
Step Action
using the
function input 1 Select the FFB.
assistant 2 Open the function input assistant (See Function Input Assistant, p. 740):
z The Edit → FFB Input Assistant... menu command..
z The FFB Input Assistant... menu commandfrom the shortcut menu.
or
z The Ctrl+I key combination.
Result:
The function input assistant will be opened.
3 Double click the Entry Field cell of the first formal parameter and enter the actual
parameter to be used.
You have the following options to enter the variables/addresses:
z You can enter the variable name and confirm using Enter.
z You can select the variable/address from the list of recently used variables/
addresses using the symbol.
or
z Using the button...to open a variable selection dialog box (See Variable
selection dialog box, p. 732).
Assign an actual parameter to all formal parameters of the function block in this
way.
4 Confirm the entries using the OK button.
Result: The actual parameter is inserted and a syntax and semantics check
(See Syntax and semantics check during programming, p. 472) is performed.

527
LD Editor

Using Public Variables

Introduction In addition to inputs/outputs, some function blocks also provide public variables.
These variables transfer statistical values (values that are not influenced by the
process) to the function block. They are used for setting parameters for the function
block.
The assignment of values to public variables is made via their initial values.
Public variables are read via the instance name of the function block and the names
of the public variables.

Assigning Carry out the following steps to assign a value to a public variable:
Values to Public
Step Action
Variables
1 Place a function block in the section, see also Calling an FFB via the data
selection, p. 516.
2 Open the data editor, see also Accessing the data editor, p. 214.
3 Select the Function Block tab.
Result:
The function block instances are displayed.
4 Expand the display of the public variables by clicking the respective + symbols.
Result:
You can now see all available public variables of the function block.
5 Enter the desired value for the public variable in the Value box.

Reading public See Assigning formal parameters to a pin, p. 524


variables

528
LD Editor

Expanding Functions

Introduction The number of inputs can be increased with some elementary functions.
You find out which functions can be expanded by referring to the descriptions for the
individual functions.

Note: Only expand the function by the number of inputs actually required as non-
occupied inputs are assigned a 0 as standard.

Expanding a Carry out the following steps to expanding a function:


function
Step Action
1 Select the function.
2 Position the mouse pointer on the bottom point to be expanded.
3 Press the left mouse button and drag the function to the required size.
4 Release the mouse key.
Result: The desired number of inputs/outputs have been added.

529
LD Editor

Negating FFB Pins

Introduction FFB pins (inputs and outputs) of the data type BOOL can be negated.
Negated pins are identified with a circle symbol:

Note: Negated pins must be connected with a graphical link or a variable. Open
negated pins are not allowed.

Negating an FFB FFB pins can be negated in the following ways:


pin z Select the pin to be negated and execute the menu command Negate Pin in the
shortcut menu (right-click).
or
z Launch the Inversion tool by clicking on the icon, then click on the pin to be
negated.

530
LD Editor

EN and ENO Show and Hide

Introduction With all FFBs, one EN input and one ENO output can be configured, see also in the
Reference manual.

EN and ENO show To show or hide EN and ENO, carry out the following steps:
or hide
Step Action
1 Open the properties dialog box (See Displaying the properties, p. 482) for the
FFB.
2 Check the FFB Properties check box Show EN/ENO to show EN/ENO, or
uncheck it to hide EN/ENO.
Note: If EN or ENO is occupied by an actual parameter or connected with a link,
EN/ENO cannot be hidden.

531
LD Editor

Properties dialog box for elementary functions, procedures and sub-routine


blocks.

Calling the see Displaying the properties, p. 482


properties dialog
box

Structure of the The properties dialog box consists of two tabs:


properties dialog z FFB Properties
box General information regarding functions/procedures is displayed in this register.
z Comment
You can enter a comment about the functions/procedures/sub-routine blocks in
this tab.

FFB Properties Representation of the FFB Properties tab:


tab Elements of the FFB Properties tab:
Element Description
Function Specifies the name of the function number and the current execution
order. This name cannot be modified.
Show EN/ENO When you activate this checkbox the pins EN/ENO are displayed.
When you uncheck this checkbox the pins EN/ENO are no longer
displayed.
Note: If EN or ENO is occupied by an actual parameter or connected
with a link, the pins EN/ENO cannot be hidden.
Input Displays the formal parameters, the data types and the actual
parameter of the inputs.
If the input is not yet linked, the entry N.L. appears.
Output Displays the formal parameters, the data types and the actual
parameter of the outputs.
If the output is not yet linked, the entry N.L. appears.
OK Use this button to accept all entries and close the dialog box.
Apply Use this button to accept all entries without closing the properties
dialog box.

532
LD Editor

Comment tab Representation of the tab Comment:


Elements of the Comment tab:
Element Description
Text box Enter a comment about the FFB.
This comment is displayed in the tooltip when the cursor is placed over
the function/procedure.
OK Use this button to accept all entries and close the dialog box.
Apply Use this button to accept all entries without closing the properties
dialog box.

533
LD Editor

Properties dialog box for elementary and derived function blocks (FBs)

Calling the see Displaying the properties, p. 482


properties dialog
box

Structure of the The properties dialog box consists of two tabs:


properties dialog z FFB Properties
box General information regarding the FB is displayed in this register.
z Comment
A comment about the FB can be entered in this tab.

FFB Properties Representation of the FFB Properties tab:


tab Elements of the FFB Properties tab:
Element Description
Instance Specifies the name of the block instance. You can change this name
in the data editor, see also Managing data instances belonging to
function block families (EF) , p. 269.
Show EN/ENO When you activate this checkbox the pins EN/ENO are displayed.
When you uncheck this checkbox the pins EN/ENO are no longer
displayed.
Note: If EN or ENO is occupied by an actual parameter or connected
with a link, the pins EN/ENO cannot be hidden.
Input Displays the formal parameters, the data types and the actual
parameter of the FB inputs.
If the input is not yet linked, the entry N.L. appears.
Output Displays the formal parameters, the data types and the actual
parameter of the FB outputs.
If the output is not yet linked, the entry N.L. appears.
OK Use this button to accept all entries and close the dialog box.
Apply Use this button to accept all entries without closing the properties
dialog box.

534
LD Editor

Comment tab Representation of the tab Comment:


Elements of the Comment tab:
Element Description
Version: Specifies version of the FB code.
Text box Enter a comment about the FB.
This comment is displayed in the tooltip when the cursor is placed over
the FB.
OK Use this button to accept all entries and close the dialog box.
Apply Use this button to accept all entries without closing the properties
dialog box.

535
LD Editor

22.7 Returning from a Subroutine or DFB

Introduction

Overview This section describes how to return from a subroutine or DFB to the LD
programming language.

What's in this This section contains the following topics:


Section?
Topic Page
Returning from a subroutine or DFB 537
Return object properties dialog box 538

536
LD Editor

Returning from a subroutine or DFB

Introduction Every subroutine and every DFB (derived function block) is exited after being
processed, i.e. you return to the main program called.
If the subroutine/DFB is left prematurely, the return to the main program can be
forced by the return object.
If the status of the left link is ON, a return from the subroutine or DFB to the main
program is performed.
Return objects can only be used in subroutines or DFBs. They cannot be used in
main programs.
To generate a conditional return, a return object is placed at the end of a series of
contacts.

Selecting the You have the following options to select return objects:
return object z Use the Edit → New → Return menu command.
z Use the Common Objects → Return menu command from the shortcut menu.
z Choose the symbol.
The active placement mode for return objects is indicated by the cursor symbol.

Note In the Tools → Options dialog box on the Data and Languages tab, if the
Automatically assign a variable to a new graphical object check box is selected,
then the corresponding properties dialog box is automatically opened when an
object is placed. The procedure explained here is valid for deactivated check
boxes.

Placing return Placing return objects:


objects:
Step Action
1 Create a subroutine (See Creating subroutine sections (SR), p. 345) or a DFB (See
Creating a DFB Type, p. 778) in the LD programming language.
2 Create the logic for the subroutine/DFB.
3 Select the return object.
4 Click the target cell in the LD section, or Use the arrow keys to move the gray field
to the target position and press Enter.
Result:The return object is inserted.
5 To insert further return objects:
z Click the target cell in the LD section or Use the arrow keys to move the gray field
to the target position and press Enter.
z To return to selection mode: Press the Esc key.
z To insert other objects: Select the object you wish to insert.

537
LD Editor

Return object properties dialog box

Calling the See Displaying the properties, p. 482


properties dialog
box

Structure of the Representation of the properties dialog box:


properties dialog Elements of the properties dialog box:
box
Element Description
Text box Enter a comment about the return object.
OK Use this command button to accept all entries and close the dialog box.
Apply Use this command button to accept all entries without closing the properties
dialog box.

538
LD Editor

22.8 Jumps within the Current Section

Introduction

Overview This section describes jumps within the current LD section.

What's in this This section contains the following topics:


Section?
Topic Page
Jumps within the current section 540
Jump object properties dialog box 542

539
LD Editor

Jumps within the current section

Introduction Jump objects execute jumps to a jump target (See Definitions of jump targets (jump
labels), p. 544) within the current section.
When the status of the left link is 1, a jump is made to a label (in the current section).
To generate an unconditional jump, the jump object must be placed directly on the
left power rail.
To generate a conditional jump, a jump object is placed at the end of a series of
contacts.

Selecting the You have the following options to select jump objects:
jump object z Use the Edit → New → Jump menu command.
z Use the Common Objects → Jump menu command from the shortcut menu.
or
z Choose the symbol.
The active placement mode for jump objects is indicated by the cursor symbol.

Note In the Tools → Options dialog box on the Data and Languages tab, if the
Automatically assign a variable to a new graphical object check box is selected,
then the corresponding properties dialog box is automatically opened when an
object is placed. The procedure explained here is valid for deactivated check
boxes.

540
LD Editor

Placing jump Placing jump objects:


objects:
Step Action
1 Select the jump object.
2 Click the target cell in the LD section.
or
Use the arrow keys to move the gray field to the target position, and press
Enter.
Result:The jump object is inserted.
3 To insert further jump objects:
z Click the target cell in the LD section.
or
Use the arrow keys to move the gray field to the target position, and press
Enter.
z To return to selection mode:
Press the Esc key.
z To insert other objects:
Select the object you wish to insert.

Defining the Defining the jump target:


jump target
Step Action
1 Open the properties dialog box (See Displaying the properties, p. 482) for the
jump object.
Result: The properties dialog box for the jump object is opened, see also Jump
object properties dialog box, p. 542.
2 You have the following options to enter the jump target:
z You can now enter the name of the jump target and confirm using Enter.
or
z You can select the name of the jump target from the list of available jump
targets using the symbol and confirm using Enter.
Result: The jump target is inserted and a syntax and semantics check (See
Syntax and semantics check during programming, p. 472) is performed.
If the jump target has already been defined (see also Jump target (See
Definitions of jump targets (jump labels), p. 544)), the procedure ends here.
If the jump target has not yet been declared, continue with step 3.
3 Specify the jump target, see also Jump target (See Definitions of jump targets
(jump labels), p. 544).

541
LD Editor

Jump object properties dialog box

Calling the see Displaying the properties, p. 482


properties dialog
box

Structure of the The properties dialog box consists of two tabs:


properties dialog z General
box Enter the jump target of the jump (See Placing jump objects:, p. 541) in this tab.
z Comment
In this tab, a comment about the jump can be entered.

General tab Representation of the General tab:


Elements of the General tab:
Element Description
Jump Label Enter the jump target in this text box, see also Definitions of jump
targets (jump labels), p. 544.
OK Use this command button to accept all entries and close the properties
dialog box.
Apply Use this command button to accept all entries without closing the
properties dialog box.

Comment tab Representation of the Comment tab:


Elements of the Comment tab:
Element Description
Text box Enter a comment about the jump object.
OK Use this command button to accept all entries and close the properties
dialog box.
Apply Use this command button to accept all entries without closing the
properties dialog box.

542
LD Editor

22.9 Definition of the Jump Target (Jump Labels)

Introduction

Overview This section describes how to define jump targets in the LD programming language.

What's in this This section contains the following topics:


Section?
Topic Page
Definitions of jump targets (jump labels) 544
Jump label properties dialog box 546

543
LD Editor

Definitions of jump targets (jump labels)

Introduction Jump labels create a jump target for jumps (See Jumps within the current section,
p. 540) within the current section.
Jump labels (jump targets) are represented as text with a colon at the end.
The text is limited to 32 characters and must be unique across the entire section.
The text must conform to general naming conventions.
Jump labels can only be placed in the first cell directly on the power rail.

Note: Jump labels may not "dissect" networks, i.e. an assumed line from the jump
label to the right edge of the section may not be crossed by any object. This also
applies to Boolean links and FFB links.

To find a specific jump label use the Gehe zu (See Go to a location, p. 398)dialog
box.

Selecting the You have the following options to to select jump labels:
jump label z Use the Edit → New → Jump Label menu command.
z Use the Common Objects → Jump Label menu command from the shortcut
menu,
or
z Choose the symbol.
The active placement mode for jump labels is indicated by the cursor symbol.

Note In the Tools → Options dialog box on the Data and Languages tab, if the
Automatically assign a variable to a new graphical object checkbox is selected,
then the corresponding properties dialog box is automatically opened when an
object is placed. The procedure explained here is valid for deactivated checkboxes.

544
LD Editor

Placing jump Placing jump objects


objects
Step Action
1 Select the jump label.
2 Click the target cell on the left power rail.
or
Use the arrow keys to move the gray field to the target position on the left power
rail, and press Enter.
Result:The return object is inserted.
3 Placing other jump label objects:
z Click the target cell in the LD section.
or
Use the arrow keys to move the gray field to the target position and press
Enter.
z To return to selection mode:
Press the Esc key.
z To insert other objects:
Select the object you wish to insert.

Position of the Position of the Name


Name
Step Action
1 To enter the name, open the properties dialog box (See Displaying the
properties, p. 482) for the jump label.
Result: The jump label properties dialog box is opened, see also Jump label
properties dialog box, p. 546.
2 You have the following options to enter the name of the jump label:
z You can now enter the name and confirm using Enter.
or
z You can select the name of the jump from the list of available jumps using the
symbol and confirm using Enter.
Result: The name is inserted and a syntax and semantics check (See Syntax
and semantics check during programming, p. 472) is performed.

545
LD Editor

Jump label properties dialog box

Calling the See Displaying the properties, p. 482


properties dialog
box

Structure of the The properties dialog box consists of two tabs:


properties dialog z General
box Enter the name of the jump label (See Placing jump objects, p. 545) in this tab.
z Comment
In this tab, a comment about the jump label can be entered.

General tab Representation of the General tab:


Elements of the General tab:
Element Description
Jump Label Enter the name of the jump label in this list box.
The text is limited to 32 characters and must be unique across the
entire section. The text must conform to the general naming
conventions.
OK Use this command button to accept all entries and close the dialog
box.
Apply Use this command button to accept all entries without closing the
properties dialog box.

Comment tab Representation of the Comment tab:


Elements of the Comment tab:
Element Description
Text box Enter a comment about the jump label object.
OK Use this command button to accept all entries and close the dialog
box.
Apply Use this command button to accept all entries without closing the
properties dialog box.

546
LD Editor

22.10 Editing Links

Introduction

Overview Editing links in the LD programming language.

What's in this This section contains the following topics:


Section?
Topic Page
Select links 548
Combining Links 550
Placing links 551
Editing links 558

547
LD Editor

Select links

Introduction Links are connections between LD objects (contacts, coils, FFBs etc).
There are two types of links:
z Boolean links
Boolean links comprise one or more segments that connect Boolean objects
(contacts, coils) with one another.
With Boolean links there are:
z Horizontal connections
Horizontal connections enable series switching of contacts and coils.
The segments of this link can be created individually or as a complex link
comprising several segments.
z Vertical connections
Vertical connections enable parallel switching of contacts and coils.
z FFB links
FFB links are a combination of horizontal and vertical segments that connect FFB
inputs/outputs with other objects.
To avoid links crossing each other, FFB links can also be represented in the form
of connectors (See Using connectors, p. 391).
FFB links are represented with double line thickness to distinguish them from
Boolean links.

Note: A detailed description about links, see also section Links in the Reference
manual.

548
LD Editor

Selecting links Selecting links:


Type of Call via menu command Call via Call via key Cursor
connection symbol symbol
Horizontal Edit → New → Horizontal F7
connection (See Connection
Placing horizontal or
links, p. 551) Link → Horizontal
Connection from the shortcut
menu
Link tool mode (See - Alt + F6
Placing horizontal
links in link-tool
mode, p. 552)
(horizontal
connection)
Vertical connection Edit → New → Vertical Shift + F7
(See Placing vertical Connection
links, p. 553) or
Link → Vertical connexion
from the shortcut menu
FFB link (See Edit → New → Link F6 ,
Placing an FFB link
with the mouse,
p. 554)

549
LD Editor

Combining Links

Boolean links Horizontal and vertical Boolean links can be combined in any way.

Contacts and Contacts and coils link automatically to existing horizontal or vertical links if no free
coils cells are found between them.

Crossing If two Boolean links cross each other they are automatically connected. Since
Boolean links Boolean links may not cross each other there is no special label for them.

Crossing FFB If two FFB links cross each other a connection is not made between them. Crossed
links links are indicated by a "broken" link.

Crossing FFB If FFB links and Boolean links cross each other, a connection is not made between
links and them. Crossed links are indicated by a "broken" link.
Boolean links

550
LD Editor

Placing links

Placing Process the following steps to place a horizontal link:


horizontal links
Step Action
1 Activate the placement mode for horizontal links, see also Select links, p. 548.
2 Click the target cell in the LD section.
or
Use the arrow keys to move the gray field to the target position and press Enter.
Result: The link is inserted.
See also
z Combining Links, p. 550
z Placing horizontal and vertical links with FBB links
using the mouse (See Placing horizontal and vertical links using FFB links
with the mouse, p. 556)
using the keyboard (See Placing horizontal and vertical links using FFB links
with the keyboard, p. 557)
z Editing links, p. 558
3 To place further links of the same type:
z Click the target cell in the LD section.
or
Use the arrow keys to move the gray field to the target position and press
Enter.
z To return to selection mode:
Press the Esc key.
z To insert other objects:
Select the object you wish to insert.

551
LD Editor

Placing Process the following steps to place a horizontal link in link-tool mode:
horizontal links
Step Action
in link-tool mode
1 Activate the link-tool mode, see also Select links, p. 548.
2 Click the target cell in the LD section.
or
Use the arrow keys to move the gray field to the target position and press Enter.
Result: The link is inserted and a connection is created to the neighboring
Boolean objects to the left and right.
If there are no neighboring Boolean objects available, a connection to the power
rail is made. This function is a good way to connect coils with the right power rail.
See also
z Combining Links, p. 550
z Placing horizontal and vertical links with FBB links
using the mouse (See Placing horizontal and vertical links using FFB links
with the mouse, p. 556)
using the keyboard (See Placing horizontal and vertical links using FFB links
with the keyboard, p. 557)
z Editing links, p. 558
3 To place further links of the same type:
z Click the target cell in the LD section.
or
Use the arrow keys to move the gray field to the target position and press
Enter.
z To return to selection mode:
Press the Esc key.
z To insert other objects:
Select the object you wish to insert.

552
LD Editor

Placing vertical On the right side of the cells, there is space to create a vertical link to the cell below.
links Process the following steps to place a vertical link:
Step Action
1 Activate the placement mode for vertical links, see also Select links, p. 548.
2 Click the contact which should be connected with the cell below.
or
Use the arrow keys to move the gray field to the target position and press Enter.
Result: The link is inserted and the selection mode is active again.
See also
z Combining Links, p. 550
z Placing horizontal and vertical links with FBB links
using the mouse (See Placing horizontal and vertical links using FFB links
with the mouse, p. 556)
using the keyboard (See Placing horizontal and vertical links using FFB links
with the keyboard, p. 557)
z Editing links, p. 558
3 To place further links of the same type:
z Click the target cell in the LD section.
or
Use the arrow keys to move the gray field to the target position and press
Enter.
z To return to selection mode:
Press the Esc key.
z To insert other objects:
Select the object you wish to insert.

553
LD Editor

Placing an FFB Process the following steps to place an FFB link using the mouse:
link with the
Step Action
mouse
1 Activate the placement mode for FFB links. See also Select links, p. 548.
2 Place the mouse pointer on the start point of the link.
Notes: When creating an FFB link, first select the output pin and then the input
pin. The cursor symbol indicates the correct position .
3 Click the left mouse button on the start point and drag mouse pointer to the target
point of the link.
Note: For FFB links, at least one FFB input or output must be used. An FFB link
between contacts and coils is automatically resolved into a combination of
horizontal and vertical links.
Tips:
z By clicking between the start point and target position you can place
intermediate points; for example, to avoid crossing other objects.
z By clicking Esc, you quit the mode and the delete the link segments you
created.
z By clicking Enter you quit the mode, and the link segments you created are
resolved into a combination of horizontal and vertical links.
4 Click on the target position with the left mouse button
Result: The link is inserted. When the cursor is placed over an FFB link, the
tooltip displays the source and the destination of the link.
See also
z Combining Links, p. 550
z Editing links, p. 558

554
LD Editor

Placing an FFB Process the following steps to place an FFB link using the keyboard:
link with the
Step Action
keyboard
1 Use the arrow keys to move the gray cell cursor to the source object (for
example, contact) of the link.
Note: When creating an FFB link, first select the output pin and then the input
pin.
2 Activate the placement mode for horizontal links using F6. See also Select links,
p. 548.
3 Press the Ctrl+Enter key combination.
Result: The output pin of the object in the gray cell is selected as the start point
of the FFB link.
4 Use the Ctrl+arrow keys to move the cursor to the target position of the link.
Tips:
z By pressing the Ctrl+Enter key combination between the start point and
target position you can place intermediate points; for example, to avoid
crossing other objects.
z By clicking Esc, you quit the mode and the delete the link segments you
created.
z By clicking Enter you quit the mode, and the link segments you created are
resolved into a combination of horizontal and vertical links.
Note: For FFB links, at least one FFB input or output must be used. An FFB link
between contacts and coils is automatically resolved into a combination of
horizontal and vertical links.
5 Press the Ctrl+Enter key combination.
Result: The link is inserted.
Tip:When the cursor is placed over an FFB link, the tooltip displays the source
and the destination of the link.
See also
z Combining Links, p. 550
z Editing links, p. 558

555
LD Editor

Placing The functions for creating FFB links can also be used to create horizontal and
horizontal and vertical links between other objects (not FFBs). If an FFB link involves no input or
vertical links output, the FFB link is automatically resolved into a combination of horizontal and
using FFB links vertical links. To do this, process the following steps:
with the mouse
Step Action
1 Activate the placement mode for FFB links. See also Select links, p. 548.
2 Place the mouse pointer on the start point of the link.
Notes: When creating an FFB link, first select the output pin and then the input
pin. The cursor symbol indicates the correct position .
3 Click the left mouse button on the start point and drag mouse pointer to the target
point of the link.
Tips:
z By clicking between the start point and target position you can place
intermediate points; for example, to avoid crossing other objects.
z By clicking Esc, you quit the mode and the delete the link segments you
created.
z By clicking Enter you quit the mode, and the link segments you created are
resolved into a combination of horizontal and vertical links.
4 Click on the target position with the left mouse button
Result:The link is inserted and the FFB link is automatically resolved into a
combination of horizontal and vertical links.
See also
z Combining Links, p. 550
z Editing links, p. 558

556
LD Editor

Placing The functions for creating FFB links can also be used to create horizontal and
horizontal and vertical links between other objects (not FFBs). If an FFB link involves no input or
vertical links output, the FFB link is automatically resolved into a combination of horizontal and
using FFB links vertical links. To do this, process the following steps:
with the
Step Action
keyboard
1 Use the arrow keys to move the gray cell cursor to the source object (for
example, contact) of the link.
Note: When creating an FFB link, first select the output pin and then the input
pin.
2 Activate the placement mode for horizontal links using F6. See also Select links,
p. 548.
3 Press the Ctrl+Enter key combination.
Result: The output pin of the object in the gray cell is selected as the start point
of the FFB link.
4 Use the Ctrl+arrow keys to move the cursor to the target position of the link.
Tips:
z By pressing the Ctrl+Enter key combination between the start point and
target position you can place intermediate points; for example, to avoid
crossing other objects.
z By clicking Esc, you quit the mode and the delete the link segments you
created.
z By clicking Enter you quit the mode, and the link segments you created are
resolved into a combination of horizontal and vertical links.
5 Press the Ctrl+Enter key combination.
Result:The link is inserted and the FFB link is automatically resolved into a
combination of horizontal and vertical links.
See also
z Combining Links, p. 550
z Editing links, p. 558

557
LD Editor

Editing links

Editing Boolean Horizontal and vertical Boolean links contain one or more independent segments.
links When cutting (See Cutting objects, p. 479), deleting (See Deleting objects, p. 479),
copying (See Copying objects to the clipboard, p. 480) and moving (See Moving
objects, p. 481) horizontal and vertical links, the action is executed for the explicitly
selected (See Selecting objects, p. 477) segment.

Editing FFB links FFB links comprise one or more segments connected to one another.
When cutting (See Cutting objects, p. 479), deleting (See Deleting objects, p. 479),
copying (See Copying objects to the clipboard, p. 480) and moving (See Moving
objects, p. 481) FFB links, the action is executed for the entire link.
If an FFB link is selected, the target points are displayed at their beginnings, ends
and at every direction change

Modifying Modifying connections:


connections
Step Action
1 Select the link and place the mouse pointer on the connection to be modified.
2 Left-click the connection to be modified and drag the mouse pointer to the new
connection.
3 Left-click the new target position.
Result: The link route is changed.

Creating sizing The creation of angles in FFB links can only be made using sizing handles. If no
handles sizing handles are available they can be created. Process the following steps to
create sizing handles in FFB links:
Step Action
1 Select the FFB link.
2 Press the Ctrl key and place the mouse pointer at the target position.
Note: The correct position is indicated by the mouse pointer symbol.
3 Left-click the target position.
Result:
The sizing handle is created.

558
LD Editor

Moving FFB links Process the following procedures to move an FFB link segment vertically or
vertically/ horizontally:
horizontally
Step Action
1 Select the FFB link.
2 Place the mouse pointer on the item to be moved.
Note: The correct position is indicated by the mouse pointer symbol.
3 Click the left mouse button and drag the segment to the target position.
4 Release the mouse button.
Result:
The change is made.

Creating angles Process the following steps to create angles in FFB links:
in FFB links
Step Action
1 Select the FFB link.
2 Place the mouse pointer on the source position.
Note: The correct position is indicated by the mouse pointer symbol.
3 Click the left mouse button and drag the source point to the target position.
4 Release the mouse button.
Result:
The change is made.

Determining the Determining the optimum link route:


optimum link
Step Action
route
1 Select the link.
2 Use the Edit → Link → Route menu command.
or
Use the Route menu command from the shortcut menu.
Result: The current link route is changed to the optimum route.

559
LD Editor

22.11 Entering Comments

Entering comments

Introduction Comments can be placed in ladder diagram LD in the form of text objects.
Text objects can overlap other objects.
The size of the object, depending on the size of the text, can be extended vertically
and horizontally to fill further grid units.
The same rules apply for entering text and navigating within text objects as for
editing ASCII text in standard text editors. (To create a line break in text objects you
must press the Ctrl+Enter key combination).

Note: Keep in mind that each change to a comment (e.g. change to a comment
text, change to the size of the text object) makes it necessary to recreate the
section involved (Generation → Generate project).

Selecting the text You have the following options to select text objects:
object z Use the Edit → New → Comment menu command.
z Use the Common objects → Comment menu command from the shortcut
menu.
z Press the F8 key.
or
z Select the symbol.
The active placement mode for text objects is indicated by the cursor symbol.

560
LD Editor

Placing text Placing text objects:


objects:
Step Action
1 Select the text object.
2 Click the target cell in the LD section.
or
Use the arrow keys to move the gray field to the target position and press Enter.
Result:The text object is inserted.
3 Enter the comment.
4 Confirm the text entered with:
z Clicking with the mouse outside of the text object
or
z Pressing the Enter key.
5 To insert further text objects:
z Click the target cell in the LD section.
or
Use the arrow keys to move the gray field to the target position and press
Enter.
z To return to selection mode:
Press the Esc key.
z To insert other objects:
Select the object you wish to insert.

561
LD Editor

22.12 Online functions

Online Functions

Online Functions The description of online functions is found in chapter Debugging in Ladder
Language, p. 877.

562
LD Editor

22.13 Export/Import

Export/Import LD Sections

Export/Import The description for exporting/importing sections is found in the chapter Import /
Export, p. 1151.

563
LD Editor

564
SFC Editor

23
Introduction

Overview This chapter describes the menus and dialogs of the SFC editor.
For a description of the syntax for the SFC programming language, please refer to
the Sequential Function Chart SFC chapter in the Reference manual.

What's in this This chapter contains the following sections:


Chapter?
Section Topic Page
23.1 Creating a program with the SFC programming language 566
23.2 General Information about Steps 595
23.3 Editing "normal" steps 599
23.4 Editing macro steps 607
23.5 Editing input steps 613
23.6 Editing Output Steps 618
23.7 Editing actions 621
23.8 Editing Transitions 629
23.9 Editing Jumps 637
23.10 Editing Branches and Joints 641
23.11 Inserting Alternative Strings and Simultaneous Strings 649
23.12 Inserting Step-Transitions and Transition-Step-Sequences 653
23.13 Editing Links 657
23.14 Entering Comments 662
23.15 Online functions 664
23.16 Export/Import 665

565
SFC Editor

23.1 Creating a program with the SFC programming


language

Introduction

Overview This section describes how to create a program in the SFC programming language.

What's in this This section contains the following topics:


Section?
Topic Page
Structure of an SFC Program (Sequential Function Chart) 567
Creating an SFC Program 570
Syntax and Semantics Check during Programming 571
Navigating with the Keyboard 572
Selecting objects 573
Undo and Redo Changes 575
Deleting, cutting, copying, pasting and moving objects 576
Inserting lines and columns 582
Deleting lines and columns 583
Displaying the object properties 585
Initialize Search 586
Initialize Animation Table 587
Refining steps, macro steps and transitions 588
Go to 590
Go to dialog 592

566
SFC Editor

Structure of an SFC Program (Sequential Function Chart)

Introduction IEC conforming sequential control is created from SFC sections (top level),
transition sections and action sections.
SFC sections are only permitted in the projects master task. SFC sections can not
be used in other tasks or DFBs.
Each SFC section contains one or more SFC networks (sequences).

Structure of an Zero or more actions belong to every step. A transition condition belongs to every
SFC section transition.
The last transition of the sequence is always connected to the first step of the
sequence (using a graphical link or jump label). Step sequences run cyclically.

567
SFC Editor

Properties of an Properties of an SFC program:


SFC program z SFC section always have a grid background.
z An SFC section contains a maximum of 200 lines and 32 columns.
z SFC objects can theoretically be placed in every unoccupied cell.
z Steps, transitions and jumps each require a cell. Branches and joints do not
require their own cell, but are inserted into the respective cell of the step or
transition. Text objects can be placed anywhere in the window.
z Steps and transitions are linked with one another through directional links. Two
steps can never be directly linked, and must always be separated by a transition,
see also section in the Reference manual.
z To prevent step sequences being subdivided, 99 linked steps with the transitions
are vertically displayed along with a locking jump with its transition.
z A maximum of 1024 steps can be placed per SFC section (including all their
macro sections).
z A maximum of 100 steps can be active per SFC section (including all their macro
sections) (multi token), see also Tools → Project Settings dialog box,
Language extensions tab, Sequential Function Chart (SFC) (See Sequential
Function Chart (SFC), p. 367) area.
z A maximum of 100 actions can be active per SFC section (including all their
macro sections) (multi token), see also Tools → Project Settings dialog box,
Language extensions tab, Sequential Function Chart (SFC) (See Sequential
Function Chart (SFC), p. 367) area.
z A maximum of 64 steps can be set simultaneously per SFC section (multi token),
see also Tools → Project Settings dialog box, Language extensions tab,
Sequential Function Chart (SFC) (See Sequential Function Chart (SFC),
p. 367) area.
z A maximum of 20 actions can be assigned to each SFC step.
z The processes of the active signal status take place along the directional links,
triggered by the connecting of a transition. The direction of the string process
follows the directional links and runs from the under side of the predecessor step
to the top side of the successive step. Branches are processed from left to right.
z A syntax and semantics check (See Syntax and Semantics Check during
Programming, p. 571) is performed immediately after the statement is entered.
The result of this check is displayed in colored text.
z Syntactically or semantically incorrect sections can be saved.

568
SFC Editor

SFC program The objects of the programming language SFC (Sequential Function Chart) help to
objects divide a section into a number of:
z Step (See Editing "normal" steps, p. 599)
z Macro Step (See Editing macro steps, p. 607) (embedded sub-step sequence)
z Transitions (See Editing Transitions, p. 629) (transition conditions)
z Jump (See Editing Jumps, p. 637)
z Alternative Sequence (See Editing Branches and Joints, p. 641)
z Parallel Sequence (See Editing Branches and Joints, p. 641)
These objects can be linked with each other using links (See Editing Links, p. 657).
Comments for the logic of the program can be added using text objects (See
Entering comments, p. 662).

Edit and view Edit and view functions of the SFC editor:
functions z Selecting objects (See Selecting objects, p. 573)
z Deleting objects (See Deleting objects, p. 576)
z Cutting (See Cutting objects, p. 577), copying (See Copying objects to the
clipboard, p. 578) and pasting (See Pasting objects from the clipboard, p. 579)
objects
z Moving (See Moving objects (Drag & Drop), p. 580) objects
z Undo (See Undo changes, p. 575) and Redo (See Redo changes, p. 575)
z Using bookmarks (See Using bookmarks, p. 382)
z Finding and replacing (See Search/Replace tool, p. 763) variables

Online functions Online functions of the SFC editor:


z Setting breakpoints (See Inserting a breakpoint in Sequential Function Chart
language (SFC), p. 904)
z Controlling (See Step by step execution mode in Sequential Function Chart
language (SFC), p. 906) SFC sequences

569
SFC Editor

Creating an SFC Program

Creating an SFC Carry out the following procedures to create an SFC program:
program
Step Action
1 Creating an SFC Section. (See Creating SFC sections, p. 336)
2 Place the desired SFC element in the section and define its properties:
z Step (See General Information about Steps, p. 595)
z Macro step (See Editing macro steps, p. 607)
z Transitions (See Editing Transitions, p. 629)
z Jumps (See Editing Jumps, p. 637)
z Alternative strings (See Editing Branches and Joints, p. 641)
z Simultaneous strings (See Editing Branches and Joints, p. 641)
z Links (See Editing Links, p. 657)
3 Create the last transition of the string and the first step of the string using
graphical links or a jump link (cyclical string processing).

570
SFC Editor

Syntax and Semantics Check during Programming

Introduction A syntax and semantics check is carried out during program creation. The result of
this check is displayed using color objects and text.

Representation Representation of colors and labels:


Color Description
Black step symbol Error free step
Blue step symbol Possible errors are:
z Input pin not connected
z Output pin not connected
z Assigned action variable not declared
z Assigned SFCSTEP_TIMES variable not declared
Filled yellow step symbol Minimum supervision time for the step below limit
(only Online)
Filled magenta step symbol Maximum supervision time for the step exceeded
(only Online)
Black transition symbol Error free transition variable
Black transition symbol Error free transition section
Blue transition symbol Possible errors are:
z Input pin not connected
z Output pin not connected
Red wavy line Assigned transition variable not declared
Black jump symbol Error free jump
Blue jump symbol Possible errors are:
z Input pin not connected
z Jump target not defined
z Invalid jump target

Quickinfo If the cursor is placed over faulty text or object, a Quickinfo (Tooltip) with a brief
description of the cause of the error appears.

571
SFC Editor

Navigating with the Keyboard

Using the The following keys and key combinations are provided for navigation:
keyboard
Key combinations Motion
Cursor left Moves the cursor to the left
Cursor right Moves the cursor to the right
Cursor up Moves the cursor up
Cursor down Moves the cursor down
Ctrl+Left Moves the cursor one cell left
Ctrl+Right Moves the cursor one cell right
Ctrl+Up Moves the cursor one cell up
Ctrl+Down Moves the cursor one cell down
Home Moves the cursor to the first displayed pixel of the current line
End Moves the cursor to the last displayed pixel of the current line
Ctrl+Home Shows the top left cell of the section (the position of the cursor is not
affected by this function)
Ctrl+End Shows the bottom right cell of the section (the position of the cursor is
not affected by this function)
Page Up Scrolls one page up (the position of the cursor is not affected by this
function)
Page Down Scrolls one page down (the position of the cursor is not affected by
this function)
Ctrl+Page Up Scrolls one page left (the position of the cursor is not affected by this
function)
Ctrl+Page Down Scrolls one page right (the position of the cursor is not affected by this
function)

572
SFC Editor

Selecting objects

Select and Selecting objects occurs in select mode.


placement mode Select mode can be activated by:
z Using the Edit → Select Mode menu command
z Using the symbol
or
z Pressing the Esc key
The cursor symbol indicates that select mode is active.

Selecting an Selecting an object:


object
Using the mouse Using the keyboard
Left-click the object you 1. Move the cursor to the object to be selected, see also
want to select. Navigating with the Keyboard, p. 572.
2. Press the spacebar.

Selecting several Selecting several objects:


objects
Using the mouse Using the keyboard
1. Click the left mouse button and keep it 1. Move the cursor to the first object to be
pressed. selected, see also Navigating with the
2. Drag the mouse across the objects you Keyboard, p. 572.
want to select. 2. Press the spacebar.
or 3. Move the cursor to the next object to be
1. Left-click the first object you want to select. selected
2. Press the Ctrl key and keep it pressed. 4. Press the Ctrl+spacebar key
3. Left-click the next object you want to combination.
select. 5. Repeat these steps until the desired
4. Repeat these steps until the desired objects are selected.
objects are selected.

573
SFC Editor

Selecting by Selecting by lines:


lines
Using the mouse Using the keyboard
Selecting the contents of a line: -
1. Left-click the number of the line you want to select in the line box.
Selecting the contents of several lines:
1. Left-click the number of the first line you want to select in the line
box.
2. Press the Shift key and keep it pressed.
3. Left-click the number of the last line you want to select in the line
box.
Note: Pressing the Shift key makes it possible to combine this
procedure with the procedure for selecting by columns.

Selecting by Selecting by columns:


columns
Using the mouse Using the keyboard
Selecting the contents of a column: -
1. Left-click the number of the column you want to select in the line
box.
Selecting the contents of several columns:
1. Left-click the number of the first column you want to select in the
line box.
2. Press the Shift key and keep it pressed.
3. Left-click the number of the last column you want to select in the
line box.
Note: Pressing the Shift key makes it possible to combine this
procedure with the procedure for selecting by lines.

Selecting all Selecting all (entire contents of the section):


(entire contents
Using the mouse Using the keyboard
of the section)
Use the Edit → Select All menu command. Press the Ctrl+A key combination.

Deselecting Deselecting objects:


objects
Using the mouse Using the keyboard
Left-click an empty space 1. Move the cursor to an empty space in the section, see also
in the section. Navigating with the Keyboard, p. 572.
2. Press the spacebar.

574
SFC Editor

Undo and Redo Changes

Undo changes Undo the last changes in the following ways:


z Use the Edit → Undo menu command.
z Press the Ctrl+Z key combination.
or
z Select the symbol.
Undo one change each time the function is carried out.
The function can be executed a maximum of 10 times.
If steps or transitions have been deleted, "Undo" means that the step and transition
are restored, including the information assigned to them.
If a deleted step/deleted transition has an action/transition section assigned to it,
only the reference to the action/transition section is restored and not the action/
transition section itself.

Redo changes Using Redo, you can redo changes that have been made:
z Use the menu command Edit → Redo.
z Press the Ctrl+Y key combination.
or
z Select the symbol.
Redo one undone action each time the function is carried out.
The function can be executed a maximum of 10 times.

Limits After any of the following actions has been carried outUndo and Redo cannot be
used.
z Deleting a step or a macro step in online mode.
z Toggling between Normal View and Advanced View and vice versa.

575
SFC Editor

Deleting, cutting, copying, pasting and moving objects

Deleting objects Deleting objects:


Using the mouse Using the keyboard
1. Select (See Selecting objects, p. 573) the 1. Select (See Selecting objects, p. 573) the
object to be deleted. object to be deleted.
2. Use the Edit → Delete menu command. 2. Press the Entf key.
Result:
z The selected object (and its graphical link when available) is deleted from the section.
z If action sections are assigned to a step, (in offline mode) you are asked to confirm
whether the action sections should be deleted. (In Online mode no confirmation is sought
and the action section remains until it is explicitly deleted.)
z If a transition section is assigned to a transition, (in offline mode) you are asked to confirm
whether the transition section should also be deleted. (In online mode no confirmation is
sought and the transition section remains until it is explicitly deleted.)
z (If a transition variable is assigned in transition it remains until it is explicitly deleted.)
z If steps or transitions are deleted, whose variables assigned to them (e.g.
SFCSTEP_STATE) are used in other sections, an error message is returned and the
operation is not executed.
z When deleting macro steps, the associated macro step section is moved to the Unused
macros directory for the current SFC section.
z If a step or macro step is deleted in online mode it cannot be undone using Undo.

Note: To delete entire rows or columns from a section, select the lines or columns
in the line box, see also Deleting lines and columns, p. 583.

576
SFC Editor

Cutting objects Cutting objects:


Using the mouse Using the keyboard
1. Select (See Selecting objects, p. 573) the 1. Select (See Selecting objects, p. 573) the
object to be cut. object to be cut.
2. Use the Edit → Cut menu command. 2. Press the Ctrl+X key combination.
or
Use the menu command Cut in the
shortcut menu (right mouse button).
or
Click the symbol.
Result:
z The selected object (and its graphical link when available) is deleted from the section.
z If action sections are assigned to a step, (in offline mode) you are asked to confirm
whether the action sections should be deleted. (In Online mode no confirmation is sought
and the action section remains until it is explicitly deleted.)
z If a transition section is assigned to a transition, (in offline mode) you are asked to confirm
whether the transition section should also be deleted. (In online mode no confirmation is
sought and the transition section remains until it is explicitly deleted.)
z (If a transition variable is assigned in transition it remains until it is explicitly deleted.)
z If steps or transitions are deleted, whose variables assigned to them (e.g.
SFCSTEP_STATE) are used in other sections, an error message is returned and the
operation is not executed.
z When deleting macro steps, the associated macro step section is moved to the Unused
macros directory for the current SFC section.
z If a step or macro step is deleted in online mode it cannot be undone using Undo.

The cut object can be inserted (See Pasting objects from the clipboard, p. 579) in
any other position (also in another SFC section).

577
SFC Editor

Copying objects Copying objects to the clipboard:


to the clipboard
Using the mouse Using the keyboard
1. Select (See Selecting objects, p. 573) the 1. Select (See Selecting objects, p. 573) the
object to be copied. object to be copied.
2. Use the Edit → Copy menu command. 2. Press the Ctrl+C key combination.
or
Use the Copy menu command from the
shortcut menu (right-click).
or
Click the symbol.
Result:
z The selected object and associated information is copied to the clipboard.
z Graphical links can only be copied if they and their partner objects are explicitly selected.
z If action sections are assigned to a step, only the reference to the action section is copied
to the clipboard, not the action section itself.
z If transition sections are assigned to a transition, only the reference to the transition
section is copied to the clipboard, not the transition section itself.
z When copying macro steps, only the macro step is copied and not its macro step section.

The copied object can be inserted (See Pasting objects from the clipboard, p. 579)
in any other position (also in another SFC section).

578
SFC Editor

Pasting objects Pasting objects from the clipboard:


from the
Using the mouse Using the keyboard
clipboard
1. Use the menu command Edit → Insert. 1. Press the Ctrl+V key combination.
or 2. Move the cursor to the target position
Use the menu command Paste in the using the arrow keys.
shortcut menu (right mouse button). 3. Press Enter.
or
Click the symbol.
2. Left-click the target position.
Result:
z The objects contained in the clipboard and their associated information are inserted into
the section.
z Graphical links can only be inserted if they and their partner objects have been explicitly
copied to the clipboard.
z If the objects to be inserted are placed on a graphical link, the link is undone and the
objects are inserted into the structure.
z When inserting steps and macro steps they are automatically assigned a unique name.
z If an action section is assigned to a step, only the reference to the action section is
inserted into the section together with the step and not the action section itself.
If an action section is not declared in the current section, the action with the action section
is deleted when it is inserted.
z If a transition section is assigned to a transition, only the reference to the transition section
is inserted into the section together with the transition and not the transition section itself.
A transition section may only be referenced once in the project. That means if a reference
is already available for a transition, only the transition object is inserted (without a
reference).
z When inserting macro steps, only the macro step is inserted and not its macro step
section. A new macro step section is created instead. The names of the steps within this
macro step section are automatically matched to the (new) macro step names.

579
SFC Editor

Moving objects Moving objects (Drag & Drop):


(Drag & Drop)
Using the mouse Using the keyboard
1. Select (See Selecting objects, p. 573) the 1. Position (See Selecting objects, p. 573)
object to be moved. the cursor on the object to be moved.
2. Position the mouse pointer on the 2. Press the spacebar.
selected object. (on one of the selected 3. Press the Shift key and keep it pressed.
objects if several are selected). 4. Move the object to the target position
Result: The mouse pointer changes its using the arrow keys.
symbol to .
3. Click the left mouse button and keep it
pressed.
Result: The mouse pointer changes its
symbol to .
4. Drag the object to the new position and
release the mouse button.
Result:
z The selected object is moved from its original position to the target position.
z Graphical links can only be moved if they and their partner objects are explicitly selected.
z If the objects to be moved are placed on a graphical link, the link is undone and the objects
are inserted into the structure.
z Graphical links can only be kept if they and their partner objects are explicitly selected.

The move operation is also possible across sections between different opened SFC
sections.

580
SFC Editor

Copying objects Copying objects via drag & drop:


via drag & drop
Using the mouse Using the
keyboard
1. Select (See Selecting objects, p. 573) the object to be copied. -
2. Position the mouse pointer on the selected object.
Result: The mouse pointer changes its symbol to .
3. Click the left mouse button and keep it pressed.
4. Press the Ctrl key and keep it pressed.
Result: The mouse pointer changes its symbol to .
5. Drag the object to the target position.
6. Release the mouse button.
Result:
z The copy of the selected object and its associated information is inserted into
the target position.
z Graphical links can only be copied if they and their partner objects are
explicitly selected.
z If the objects to be copied are placed on a graphical link, the link is undone
and the objects are inserted into the structure.
z When copying steps and macro steps they are automatically assigned a
unique name.
z If an action section is assigned to a step, only the reference to the action
section is inserted into the section together with the step and not the action
section itself.
If an action section is not declared in the current section, the action with the
action section is deleted when it is inserted.
z If a transition section is assigned to a transition, only the reference to the
transition section is inserted into the section together with the transition and
not the transition section itself.
A transition section may only be referenced once in a project. That means if
a reference is already available for a transition, only the transition object is
inserted (without a reference).
z When copying macro steps, only the macro step is copied and not its macro
step section. A new macro step section is created instead. The names of the
steps within this macro step section are automatically matched to the (new)
macro step names.

581
SFC Editor

Inserting lines and columns

Rules for The following rules apply when inserting lines:


inserting lines z The total number of lines in an SFC section cannot be changed.
However, the objects of an SFC section can be moved downwards by lines within
the available section and therefore empty lines can be inserted into the string.
z The same number of lines is inserted as selected in the line box.
z As many lines can be inserted as there are empty lines at the end of the section.
z The new lines are inserted above the first selected line (i.e. all objects of the
selected lines are moved down).
z When lines are inserted within existing links, these links are kept and are adjusted
to the new position of the objects.

Inserting lines Inserting lines:


Step Action
1 Select (See Selecting by lines, p. 574) the desired number of lines in the line box (click
the line numbers).
2 Use the Insert cells menu command from the shortcut menu of the line box or the Edit
→ Line operation → Insert cellscommand.
Result: The number of selected lines is inserted above the first selected line.

Rules for The following rules apply when inserting columns:


inserting z The total number of columns in an SFC section cannot be changed.
columns However, the objects of an SFC section can be moved right by columns within
the available section and therefore empty columns can be inserted into the string.
z The same number of columns is inserted as is selected in the column box.
z As many columns can be inserted as there are empty columns at the right border
of the section.
z The new columns are inserted above the first selected column (i.e. all objects of
the selected columns are moved right).
z When columns are inserted within existing branches or joints, the affected
branches or joints are expanded by the corresponding number of columns.

Inserting Inserting columns:


columns
Step Action
1 Select (See Selecting by columns, p. 574) the desired number of columns in the
columns box (click the line numbers).
2 Use the Insert cells menu command from the shortcut menu of the columns box or the
Edit → Line operation → Insert cellscommand.
Result: The number of selected columns is inserted in front of the first selected column.

582
SFC Editor

Deleting lines and columns

Rules for The following rules apply when deleting lines:


deleting lines z The total number of lines in an SFC section cannot be changed.
However, the objects of an SFC section can be deleted by lines and the objects
of the following lines can be moved up.
z The same number of lines are deleted as are selected in the line box.
z The objects of the selected line(s) are deleted and the objects of the following
lines are moved up by the respective number of lines.
z If lines are deleted within existing links, these links are kept and are adjusted to
the new position of the objects.

Deleting lines Deleting lines:


Step Action
1 Select (See Selecting by lines, p. 574) the desired number of lines in the line box
(click the line numbers).
2 You have the following options to delete the selected lines:
z Select the menu command Move and delete cells in the rows shortcut menu,
z execute the command Edit → Line box → Move and delete cells,
or
z Press the Del key.
Result: The selected number of lines is deleted.

Rules for The following rules apply when deleting columns:


deleting columns z The total number of columns in an SFC section cannot be changed.
However, the objects of an SFC section can be deleted by columns and the
objects of the following lines can be to the left.
z The same number of columns are deleted as are selected in the column box.
z The objects of the selected column(s) are deleted and the objects of the following
columns are moved to the left by the respective number of columns.
z If columns are deleted within existing branches or joints, the affected branches or
joints are contracted by the respective number of columns.

583
SFC Editor

Deleting Deleting columns:


columns
Step Action
1 Select (See Selecting by columns, p. 574) the desired number of columns in the
columns box (click the line numbers).
2 You have the following options to delete the selected columns:
z Select the menu command Move and delete cells in the rows shortcut menu
or,
z execute the command Edit → Line box → Move and delete cells,
or
z Press the Del key.
Result: The selected number of columns is deleted.

584
SFC Editor

Displaying the object properties

Displaying the You have the following options to display the object properties dialog box:
object properties z Double-click the object.
z Select (See Selecting an object, p. 573) the object and use the Edit →
Properties... dialog box..
z Select (See Selecting an object, p. 573) the object and use the
Properties...command.from the shortcut menu.
z Select (See Selecting an object, p. 573) the object and then press the Alt+Enter
key combination.
When the properties dialog box is called without an object being selected, the
section properties dialog box (See SFC properties dialog box, p. 338) is opened.
If several objects are selected, the commands do not work.

View data You have the following options to display the section properties dialog box (See
properties Data Properties, p. 742):
z using the data editor (See Data editor, p. 211)
1. Selecting one or several lines in a list editor
2. Using the shortcut menu select the Propertiescommand.
z via the SFC section
1. Selecting one or several transitions in the SFC section.
2. From the context menu select the command Data properties or press Ctrl +
Enter.

585
SFC Editor

Initialize Search

Introduction The Initialize Search function transfers the name of the selected element (search
text) to the Element text box in the Cross-References (See Search data in
project, p. 769) window.

Selecting the Process the following steps to select the search text:
search text
Step Action
1 Select the element to search for (search text).
The following elements can be searched for:
z step variables
(To search for a step variable, select the step symbol.)
z transition variables
(To search for a transition variable, select the transition symbol.)
2 Use the Services → Initialize Search menu command.
or
Select the menu command Initialize search from the sections shortcut menu.
or
Press the Ctrl+U key combination.
Result: The search text is transferred to the Element text box in the Cross-
References (See Search data in project, p. 769) window.

586
SFC Editor

Initialize Animation Table

Introduction The Initialize Animation Table transfers the selected variables to the Animation
table (See Basic functions, p. 932).

Selecting the Process the following steps to select variables:


variables
Step Action
1 Select the variables to transfer to the Animation table.
The following items can be selected:
z step variables
(To transfer step variables, select the step symbol.)
z transition variables
(To accept a transition variable, select the transition symbol.)
2 Use the Services → Initialize Animation table menu command.
or
Select the menu command Animation Table from the sections shortcut menu.
or
Press the Ctrl+T key combination.
Result: The variable(s) is/are transferred to the Animation table (See Basic
functions, p. 932).

587
SFC Editor

Refining steps, macro steps and transitions

Introduction This function makes it possible to "look into" a macro step or a transition (section).
This makes it possible to see the internal state of the macro/transition section when
animation is used, or to make changes to the logic very quickly.

Refining steps Process the following steps to refine steps:


Step Action
1 Select the step.
2 You have the following options to display to refine steps:
z Use the Services → Refine menu command.
z Use the Refine menu command from the shortcut menu.
or
z Press the Ctrl+Q key combination.
Result: If the step contains only one action section, this will be opened
automatically.
If the step contains several action sections, a selection dialog box is opened.
3 Select the desired action section.
Result: The action section is opened.

Refining macro Process the following steps to refine macro steps:


steps
Step Action
1 Select the macro step.
2 You have the following options to refine macro steps:
z Use the Services → Refine menu command.
z Use the Refine menu command from the shortcut menu.
or
z Press the Ctrl+Q key combination.
Result: The macro section is opened.
Note: With nested macro steps several refine processes are possible.

588
SFC Editor

Refining Process the following steps to refine transitions:


transitions
Step Action
1 Select the transition.
2 You have the following options to refine transitions:
z Use the Services → Refine menu command.
z Use the Refine menu command from the shortcut menu.
or
z Press the Ctrl+Q key combination.
Result: The transition section is opened.

589
SFC Editor

Go to

Introduction The Go tofunction is used to jump to:


z a specific location in the current section,
z a specific bookmark in the current section or
z a specific step or macro step in the current section or
z a specific jump in the current section.

Open the dialog The following options are available to open theGo todialog box.
z Use the menu command Edit → Go to,
z select the menu command Go to from the sections shortcut menu,
z Press the key combination Ctrl+G.
or
z Choose the symbol.

Jump to a Go to a certain location in the current section by carrying out the following steps:
Position
Step Action
1 Open (See Open the dialog, p. 590) the Go todialog box.
2 Select the Position (See Position tab, p. 592) tab.
3 Enter the line and/or column number.
4 Confirm the entry using the command button Go to.
Result: The desired position is displayed.

Jump to Go to a certain bookmark in the current section by carrying out the following steps:
Bookmark
Step Action
1 Open (See Open the dialog, p. 590) the Go todialog box.
2 Choose theActions (See Register tab Bookmarks, p. 593)tab.
3 Select a bookmark in the list.
4 Double click on the selected bookmark or press the Go tocommand button.
Result: The bookmark is shown and marked as the current bookmark (See
Using bookmarks, p. 382).

590
SFC Editor

Jump to a Step Jump to a certain step or macro step in the current section by carrying out the
following steps:
Step Action
1 Open (See Open the dialog, p. 590) the Go todialog box.
2 Select the Search (See tab Step, p. 594) tab.
3 Select a step or a macro step in the list.
4 Double click on the selected step or macro step or press the Go tocommand
button.
Result: The desired step is displayed.

Jump to a Jump Go to a certain jump in the current section by carrying out the following steps:
Step Action
1 Open (See Open the dialog, p. 590) the Go todialog box.
2 Select the Jump (See Tab Jump, p. 594) tab.
3 Select a jump in the list.
4 Double click on the selected jump or press the Go tocommand button.
Result: The desired jump is displayed.

591
SFC Editor

Go to dialog

Call the dialog see Open the dialog, p. 590


box:

Call the dialog The Go todialog box is made up of three tabs:


box z Location
Go to a certain position in the current section using this tab:
z Bookmarks
Go to a certain bookmark in the current section using this tab:
z Step
This tab is used to a jump to a certain step or macro step in the current section
z Jump
Go to a certain jump in the current section using this tab:

Position tab Representation of the tab Position:


Elements of the Position tab
Element Description
For symbols that are not printed, the dialog box is closed after every
search.
For printed symbols the dialog box remains open until you close it.
Row The number of the row to be displayed can be entered in this text box.
Column The number of the column to be displayed can be entered in this text
box.
Go to Display the current position using the button desired position (See
Jump to a Position, p. 590).
Close Use this button to close the dialog.
Help Use this button to call up the dialog help.

592
SFC Editor

Register tab Representation of theBookmark tab:


Bookmarks Elements of the tab Bookmark:
Element Description
For symbols that are not printed, the dialog box is closed after every
search.
For printed symbols the dialog box remains open until you close it.
Bookmark: Select the bookmark to be displayed from this list box.
Prev If a current bookmark (See Using bookmarks, p. 382) is selected, a
jump is made to the previous one and the last one is marked as the
current bookmark.
If no current bookmark is selected, the margin is search from the
bottom to the top for the next bookmark, which is marked as the
current bookmark.
When the start of the section is reached, the search starts again from
the bottom.
Next If a current bookmark (See Using bookmarks, p. 382) is selected, a
jump is made to the previous one and the last one is marked as the
next bookmark.
If no current bookmark is selected, the margin is search from top to
bottom for the next bookmark, which is marked as the current
bookmark.
When the end of the section is reached, the search starts again from
the top.
Go to Display the current position using the button desired bookmark (See
Jump to Bookmark, p. 590).
Close Use this button to close the dialog.
Help Use this button to call up the dialog help.

593
SFC Editor

Tab step Display of the Register Step:


Elements of the register tab Step:
Element Description
For symbols that are not printed, the dialog box is closed after every
search.
For printed symbols the dialog box remains open until you close it.
Steps: You can enter the names of the steps and macro steps to be shown in
this text box.
You can enter the name of the step or macro step in the text box with
the keyboard or using the drop-down list by clicking with the mouse.
Go to Display the desired step or macro step (See Jump to a Step, p. 591)
using the button.
Close Use this button to close the dialog.
Help Use this button to call up the dialog help.

Tab Jump Display of the Register Jump:


Elements in the Jumptab:
Element Description
For symbols that are not printed, the dialog box is closed after every
search.
For printed symbols the dialog box remains open until you close it.
Locations: You can enter the names of the jump to be shown in this text box.
You can enter the name of the jump in the text box with the keyboard
or using the drop-down list by clicking with the mouse.
Go to Display the current position using the button desired jump (See Jump
to a Jump, p. 591).
Close Use this button to close the dialog.
Help Use this button to call up the dialog help.

594
SFC Editor

23.2 General Information about Steps

Introduction

Overview This section provides general information about using steps in the SFC
programming language.

What's in this This section contains the following topics:


Section?
Topic Page
Selecting steps 596
Placing steps 598

595
SFC Editor

Selecting steps

Introduction An SFC section is a "status machine", i.e. the status is indicated by the active steps.
Zero or more actions belong to every step.

Selecting steps Selecting steps:


Step type Description Call via menu Call via Call via Cursor
command symbol keyboard symbol
"Normal" step A step becomes active, when the Edit → New → Step F3
(See Defining upstream transition is satisfied, or
the properties and is normally inactive when the Step menu command
of steps, downstream is satisfied. from the shortcut menu
p. 600) Zero or more actions belong to
every step. Steps without action
are known as waiting steps.
See also section Step in the
Reference manual.
Initial Step The initial status of a sequence is Edit → New → Step F3
(See Defining characterized by the initial step, or
an initial step, which is active when initializing the Step menu command
p. 601) project containing the SFC from the shortcut menu
section. Initial steps are not usually
assigned an action. With single
token (conforming to IEC 61131-
3), only one initial step is permitted
per sequence.
With multi token, any number (0 up
to all steps in the string) of initial
steps are possible.
See also section Step in the
Reference manual.

596
SFC Editor

Step type Description Call via menu Call via Call via Cursor
command symbol keyboard symbol
Macro Step Macro steps are used to call macro Edit → New → Macro Ctrl+F3
(See Defining sections and therefore the Step
the properties hierarchical structure of sequence or
of macro control. Macro Step menu
steps, p. 608) Macro sections calls are command from the
expansions to IEC 61131-3 and shortcut menu
must be explicitly enabled via the
Tools → Project Settings dialog
box, in the Language extensions
tab by activating the Allow macro
sections check box.
See also section Macro steps and
macro sections in the Reference
manual.
InStep (See Every macro section begins with - - - -
Defining the an InStep.
properties of InSteps are created automatically
InSteps, in macro sections and cannot be
p. 614) deleted or inserted.
See also section InStep in the
Reference manual.
OutStep (See Every macro section ends with an - - - -
Defining the OutStep.
properties of OutSteps are created
OutSteps, automatically in macro sections
p. 619) and cannot be deleted or inserted.
See also section OutStep in the
Reference manual.

597
SFC Editor

Placing steps

Introduction Steps can be placed in any free cell.


If a step is placed in a cell that is already occupied by an object, an error message
is returned.
If a step is placed in a cell where the neighboring cell above or below already
contains a step, an error message is returned because a transition must be placed
between two steps (see also section Connection rules in the Reference manual).
A step which is placed always connects automatically with the neighboring objects
above and below if there are no free cells between them.

Note In the Tools → Options dialog box on the Data and Languages tab, if the
Automatically assign a variable to a new graphical object check box is selected,
then the corresponding properties dialog box is automatically opened when an
object is placed. The procedures explained here are used when the check box is
cleared.

Placing steps: Placing steps:


Step Action
1 Select the desired step, see also Selecting steps, p. 596.
2 Click the target cell in the SFC section.
or
Use the arrow keys to move the cursor to the target position, and press Enter.
Result: The selected step is inserted.
3 To place further steps of the same type:
z Click the target cell in the SFC section.
or
Use the arrow keys to move the cursor to the target position, and press
Enter.
z To return to selection mode:
Press the Esc key.
z To insert other objects:
Select the object you wish to insert.

598
SFC Editor

23.3 Editing "normal" steps

Introduction

Overview This section describes how to edit "normal" steps in the SFC programming
language.

What's in this This section contains the following topics:


Section?
Topic Page
Defining the properties of steps 600
Steps properties dialog box 603

599
SFC Editor

Defining the properties of steps

Introduction The following can be defined for steps:


z the step name (See Defining the step name, p. 600)
z whether the step is an initial step (See Defining an initial step, p. 601)
z the supervision times and the delay time
z as a literal (See Defining the supervision time/delay time as a literal, p. 601)
z as a SFCSTEP_TIMES variable (See Defining the supervision time/delay time
as an SFCSTEP_TIMES variable, p. 602)
z the actions assigned (See Assigning actions to a step, p. 622)
z a comment (See Enter a comment, p. 602)
To find a specific jump in the current section use the Gehe zu (See Jump to a Step,
p. 591)dialog box.

Defining the step Defining the step name:


name
Step Action
1 Open the properties dialog box (See Displaying the object properties, p. 585) for
the step.
Result: The step properties dialog box is opened, see also Steps properties
dialog box, p. 603.
2 In order to change the name of the step, enter a step name in the Step Name
text box, see also section Step names in the Reference manual.
3 Confirm the step names with OK.
Result: The selected step name is enabled, the properties dialog box is closed,
and a syntax and semantics check (See Syntax and Semantics Check during
Programming, p. 571) is performed.

600
SFC Editor

Defining an initial Defining an initial step:


step
Step Action
1 Open the properties dialog box (See Displaying the object properties, p. 585) for
the step.
Result: The step properties dialog box is opened, see also Steps properties
dialog box, p. 603.
2 In order to define an initial step, activate the Initial Step check box, see also
section Step types in the Reference manual.
3 Confirm the entry with OK.
Result: The selected step is enabled in the section as an initial step, the
properties dialog box is closed, and a syntax and semantics check (See Syntax
and Semantics Check during Programming, p. 571) is performed.

Defining the Defining the supervision time/delay time as a literal:


supervision time/
Step Action
delay time as a
literal 1 Open the properties dialog box (See Displaying the object properties, p. 585) for
the step.
Result: The step properties dialog box is opened, see also Steps properties
dialog box, p. 603.
2 In the Supervision times and delay time area, activate the Literal option
button if it isn't already activated.
3 Enter a value for the minimum supervision time, the maximum supervision time
and the delay time, see also section Step times in the Reference manual.
4 Confirm the entries with OK.
Result: The step times are enabled, the properties dialog box is closed, and a
syntax and semantics check (See Syntax and Semantics Check during
Programming, p. 571) is performed.

601
SFC Editor

Defining the Defining the supervision time/delay time as an SFCSTEP_TIMES variable:


supervision time/
Step Action
delay time as an
SFCSTEP_TIMES 1 Open the properties dialog box (See Displaying the object properties, p. 585) for the
variable step.
Result: The step properties dialog box is opened, see also Steps properties dialog
box, p. 603.
2 In the Supervision times and delay time area, activate the 'SFCSTEP_TIMES'
variable option button if it isn't already activated.
3 In the data selection box (See Data selection boxes, p. 1257), specify a variable of the
SFCSTEP_TIMES data type, see also section SFCSTEP_TIMES in the Reference
manual.
You have the following options to enter variables:
z You can enter the name of the variable.
z You can select the name of the variable from the list of recently used names using
the symbol.
z Use the command button. You can open a variable selection dialog box (See
Variable selection dialog box, p. 732) and confirm the selected variables there with
OK.
4 Confirm the entries with OK.
Result: The selected SFCSTEP_TIMES variable is enabled, the properties dialog box
is closed, and a syntax and semantics check (See Syntax and Semantics Check
during Programming, p. 571) is performed.
If the variable has already been declared (see also Derived variable declaration (See
Creating DDT data instances, p. 223)), the procedure ends here.
If the SFCSTEP_TIMES variable has not yet been declared, process the following
steps.
5 Declare a derived variable of the SFCSTEP_TIMES data type, see also Derived
variable declaration (See Creating DDT data instances, p. 223).
6 Enter a value for the minimum supervision time, the maximum supervision time and
the delay time, see also section Step times in the Reference manual.
Result: The SFCSTEP_TIMES variable is declared and the step frame is displayed in
black.

Enter a comment Enter a comment:


Step Action
1 Open the properties dialog box (See Displaying the object properties, p. 585) for
the step.
2 Select the Comment tab and enter a step comment.
3 Confirm the comment with OK.
Result: The comment is accepted and the properties dialog box is closed.

602
SFC Editor

Steps properties dialog box

Calling the See Displaying the object properties, p. 585


properties dialog
box

Structure of the The steps properties dialog box consists of three tabs:
properties dialog z General (See General tab, p. 604)
box In this tab you can define:
z the step name (See Defining the step name, p. 600)
z whether it is an initial step (See Defining an initial step, p. 601)
z the step supervision times and delay time as a variable (See Defining the
supervision time/delay time as an SFCSTEP_TIMES variable, p. 602) or literal
(See Defining the supervision time/delay time as a literal, p. 601)
z Actions (See Actions tab, p. 605)
In this tab you can define:
z the actions assigned to the step as an action variable (See Defining an action
variable, p. 624) or as an action section (See Defining a new action section,
p. 625)
z the identifier (See Defining the identifier, p. 626) allocated to the action
z the time period for the identifier (See Defining the identifier, p. 626)
z the execution order (See Modifying the execution order of actions, p. 627) of
the actions
z Comment (See Comment tab, p. 606)
In this tab, you can enter a comment (See Enter a comment, p. 602) about the
step.

603
SFC Editor

General tab Representation of the General tab:


Elements of the General tab:
Element Description
Step Name Enter the step name (See Defining the step name, p. 600) in this text
box.
Initial Step When this check box is activated, the current step becomes an initial
step (See Defining an initial step, p. 601).
Supervision times Define the step supervision times and delay time in this area, see also
and delay time section Step times in the Reference manual.
The contents of this area depends on the selected option:
z 'SFCSTEP_TIMES' variable
When you activate this option button, you can enter the step
supervision and delay times as variables (See Defining the
supervision time/delay time as an SFCSTEP_TIMES variable,
p. 602) of the SFCSTEP_TIME data type in the Name of
'SFCSTEP_TIMES' typed variable data selection box (See Data
selection boxes, p. 1257), see also section Step times in the
Reference manual.
z Literals
When you activate this option button, you can enter the step
supervision and delay times as literals (See Defining the
supervision time/delay time as a literal, p. 601), see also section
Step times in the Reference manual.
z Maximum
Enter the maximum supervision time for the current step in this
text box, see also
z Minimum
Enter the minimum supervision time for the current step in this
text box.
z Delay
Enter the delay time for the current step in this text box.
OK Use this command button to accept all entries and close the dialog
box.
Apply Use this command button to accept all entries without closing the
properties dialog box.

604
SFC Editor

Actions tab Representation of the register tab Actions:


Elements of the Actions tab:
Element Description
Identifier Select the identifier (See Defining the identifier, p. 626) for the current
action from this list box, see also section Identifiers in the Reference
manual.
Time Define the time period for the identifiers (See Defining the identifier,
p. 626) L (time limited), D (time delayed) or DS (delayed and saved) in
this area.
The contents of this area depends on the selected option:
z Literal
When you activate this option button, you can enter the time period
as literals in the text box.
z Variable
When you activate this check box, you can enter the time period as
a TIME data type in the data selection box (See Data selection
boxes, p. 1257).
Action Define the action in this area.
The contents of this area depends on the selected option:
z Variable
When you activate this check box, you can enter the action as an
action variable (See Defining an action variable, p. 624) in the data
selection box (See Data selection boxes, p. 1257).
z Section
When you activate this check box, you can enter the action as an
action section (See Defining a new action section, p. 625) in the list
box.
Action list box All actions of the current step are displayed in this list box.
Edit Action section This command button is only available when an action section is
selected in the action list box.
Use this command button to close the properties dialog box and open
the selected action section.
Init Search for This command button is only available when an action variable is
selected variable selected in the action list box.
Use this command button to close the properties dialog box and open
the selected action section.
The name of the action variable is applied using this command button
in theCross-references (See Search data in project, p. 769)
window.
Accept action Use this command button to replace the definitions of the selected
action in the action list box with the modified definitions (See Modifying
an action, p. 623).

605
SFC Editor

Element Description
New action Use this command button to insert the new action (See Defining a new
action, p. 622) into the action list box.
Delete action Use this command button to delete the selected action in the action list
box. (See Deleting actions, p. 627)
Note: When deleting actions with action sections you are asked to
confirm whether the action section should be deleted. Please note that
deleted sections cannot be restored using Edit → Undo.
Move up Use this command button to move the selected actions in the action
list box one position up, see also Modifying the execution order of
actions, p. 627.
Move down Use this command button to move the selected actions in the action
list box one position down, see also Modifying the execution order of
actions, p. 627.
OK Use this command button to accept all entries and close the dialog
box.
Apply Use this command button to accept all entries without closing the
properties dialog box.

Comment tab Representation of theCommenttab:


Elements of the Comment tab:
Element Description
Text box Enter a comment about the step.
OK Use this command button to accept all entries and close the dialog
box.
Apply Use this command button to accept all entries without closing the
properties dialog box.

606
SFC Editor

23.4 Editing macro steps

Introduction

Overview This section describes how to edit macro steps in the SFC programming language.
Macro steps are expansions to IEC 61131-3 and must be explicitly enabled via the
Tools → Project Settings dialog box, in the Language extensions tab by
activating the Allow macro sections check box.

What's in this This section contains the following topics:


Section?
Topic Page
Defining the properties of macro steps 608
Macro Steps Properties Dialog Box 611

607
SFC Editor

Defining the properties of macro steps

Introduction The following can be defined for macro steps:


z the macro step name (See Defining the macro step name, p. 608)
z the logic of the macro section (See Editing the macro section, p. 608)
z the supervision times and the delay time
z as a literal (See Defining the supervision time/delay time as a literal, p. 609)
z as a SFCSTEP_TIMES variable (See Defining the supervision/delay time as
an SFCSTEP_TIMES variable., p. 610)
z a comment (See Enter a comment, p. 610)

Defining the Defining the macro step name:


macro step name
Step Action
1 Open the properties dialog box (See Displaying the object properties, p. 585) for
the macro step.
Result: The macro step properties dialog box is opened, see also Macro Steps
Properties Dialog Box, p. 611.
2 In order to change the name of the step, enter a name in the Step Name text
box, see also section Macro step names in the Reference manual.
3 Confirm the macro step name with OK.
Result: The macro step name selected is enabled for the macro step and the
steps within the macro step section. The properties dialog box is closed and a
syntax and semantics check (See Syntax and Semantics Check during
Programming, p. 571) is performed.

Editing the Editing the macro section:


macro section
Step Action
1 Open the properties dialog box (See Displaying the object properties, p. 585) of
the macro step, and press the Edit command button.
or
Select the macro step and process the Services → Refine menu command.
Result: The macro step properties dialog box is closed and the macro section of
the macro step is opened.
2 Create the macro section logic, see also section Macro sections in the Reference
manual.

608
SFC Editor

Defining the Defining the supervision time/delay time as a literal:


supervision time/
Step Action
delay time as a
literal 1 Open the properties dialog box (See Displaying the object properties, p. 585) for
the macro step.
Result: The macro step properties dialog box is opened, see also Macro Steps
Properties Dialog Box, p. 611.
2 In the Supervision times and delay time area, activate the Literal option
button if it isn't already activated.
3 Enter a value for the minimum supervision time, the maximum supervision time
and the delay time, see also section Step times in the Reference manual.
4 Confirm the entries with OK.
Result: The step times are enabled, the properties dialog box is closed, and a
syntax and semantics check (See Syntax and Semantics Check during
Programming, p. 571) is performed.

609
SFC Editor

Defining the Defining the supervision time/delay time as an SFCSTEP_TIMES variable:


supervision/
Step Action
delay time as an
SFCSTEP_TIMES 1 Open the properties dialog box (See Displaying the object properties, p. 585) for the
variable. macro step.
Result: The macro step properties dialog box is opened, see also Macro Steps
Properties Dialog Box, p. 611.
2 In the Supervision times and delay time area, activate the 'SFCSTEP_TIMES'
variable option button if it isn't already activated.
3 In the data selection box (See Data selection boxes, p. 1257), specify a variable of the
SFCSTEP_TIMES data type, see also section SFCSTEP_TIMES in the Reference
manual.
You have the following options to enter variables:
z You can enter the name of the variable.
z You can select the name of the variable from the list of recently used names using
the symbol.
z Use the command button to open a variable selection dialog box (See Variable
selection dialog box, p. 732) and confirm the selected variables there with OK.
4 Confirm the entries with OK.
Result: The selected SFCSTEP_TIMES variable is enabled, the properties dialog box
is closed, and a syntax and semantics check (See Syntax and Semantics Check
during Programming, p. 571) is performed.
If the variable has already been declared (see also Derived variable declaration (See
Creating DDT data instances, p. 223)), the procedure ends here.
If the SFCSTEP_TIMES variable has not yet been declared, process the following
steps.
5 Declare a derived variable of the SFCSTEP_TIMES data type, see also Derived
variable declaration (See Creating DDT data instances, p. 223).
6 Enter a value for the minimum supervision time, the maximum supervision time and
the delay time, see also section Step times in the Reference manual.
Result: The SFCSTEP_TIMES variable is declared and the macro step frame is
displayed in black.

Enter a comment Enter a comment:


Step Action
1 Open the properties dialog box (See Displaying the object properties, p. 585) for
the macro step.
2 Select the Comment tab and enter a macro step comment.
3 Confirm the comment with OK.
Result: The comment is accepted and the properties dialog box is closed.

610
SFC Editor

Macro Steps Properties Dialog Box

Calling the see Displaying the object properties, p. 585


properties dialog
box

Structure of the The macro steps properties dialog box consists of 3 tabs:
properties dialog z General (See Tab General, p. 612)
box In this tab you can define:
z the macro step names (See Defining the macro step name, p. 608)
z the step supervision time and delay time as a variable (See Defining the
supervision/delay time as an SFCSTEP_TIMES variable., p. 610) or literal (See
Defining the supervision time/delay time as a literal, p. 609)
z Comment (See Tab Comment, p. 612)
A comment (See Enter a comment, p. 610) about the step can be entered in this
tab.

611
SFC Editor

Tab General Representation of the General tab:


Items of the General tab:
Item Description
Step name Enter the macro step name (See Defining the macro step name, p. 608)
in this text box.
Edit Use this command button to close the properties dialog box and open the
macro step section.
Supervision You define the step supervision time and delay time in this range, see also
times and delay section Step times in the Reference manual.
time The contents of this area depends on the option selected:
z 'SFCSTEP_TIMES' variable
If you check this option button you can enter in the data selection box
(See Data selection boxes, p. 1257) Name of 'SFCSTEP_TIMES'
typed variables the Step supervision and delay times as variables
(See Defining the supervision/delay time as an SFCSTEP_TIMES
variable., p. 610) of the SFCSTEP_TIME data type.
z Literals
If you check this option button you can enter the Step supervision and
delay times as literals (See Defining the supervision time/delay time as
a literal, p. 609).
z Maximum
Enter the maximum supervision time for the current macro step in
this text box.
z Minimum
Enter the minimum supervision time for the current macro step in
this text box.
z Delay
Enter the delay time for the current macro step in this text box.
OK This command button enables all entries and closes the dialog box.
Apply This command button enables all entries without closing the properties
dialog box.

Tab Comment Representation of the Actions tab:


Items of the Comment tab:
Item Description
Text box Enter a comment about the step.
OK This command button enables all entries and closes the dialog box.
Apply This command button enables all entries without closing the
properties dialog box.

612
SFC Editor

23.5 Editing input steps

Introduction

Overview This section describes how to edit input steps in the SFC programming language.

What's in this This section contains the following topics:


Section?
Topic Page
Defining the properties of InSteps 614
InSteps properties dialog box 615

613
SFC Editor

Defining the properties of InSteps

Introduction The following can be defined for InSteps:


z the supervision times and the delay time (See Defining the supervision time/delay
time, p. 614)
z the actions assigned (See Assigning actions to a step, p. 622)
z a comment (See Entering a comment, p. 614)

Defining the Defining the supervision time/delay time as a literal:


supervision time/
Step Action
delay time
1 Open the properties dialog box (See Displaying the object properties, p. 585) for
the InStep.
Result: The properties dialog box for the step is opened, see also InSteps
properties dialog box, p. 615.
2 Enter a value for the minimum supervision time, the maximum supervision time
and the delay time, see also section Step times in the Reference manual.
3 Confirm the entries with OK.
Result: The step times are enabled, the properties dialog box is closed, and a
syntax and semantics check (See Syntax and Semantics Check during
Programming, p. 571) is performed.

Entering a Entering a comment:


comment
Step Action
1 Open the properties dialog box (See Displaying the object properties, p. 585) for
the InStep.
2 Select the Comment tab and enter a step comment.
3 Confirm the comment with OK.
Result: The comment is enabled and the properties dialog box is closed.

614
SFC Editor

InSteps properties dialog box

Calling the see Displaying the object properties, p. 585


properties dialog
box

Structure of the The InStep properties dialog box consists of three tabs:
properties dialog z General (See General tab, p. 615)
box In this tab you can define:
z the step supervision time and the delay time (See Defining the supervision
time/delay time, p. 614)
z Actions (See Actions tab, p. 616)
In this tab you can define:
z the actions assigned to the step as an action variable (See Defining an action
variable, p. 624) or as an action section (See Defining a new action section,
p. 625)
z the identifier (See Defining the identifier, p. 626) allocated to the action
z the time period for the identifier (See Defining the identifier, p. 626)
z the execution order (See Modifying the execution order of actions, p. 627) of
the actions
z Comment (See Comment tab, p. 617)
In this tab, comment (See Entering a comment, p. 614) about the InStep can be
entered.

General tab Representation of the General tab:


Elements of the General tab:
Element Description
Step Name The names of InSteps cannot be changed, see also section Step names in the
Reference manual.
Supervision Define the step supervision times and the delay time in this area, see also
times and section Step times in the Reference manual. For InSteps, the steps times can
delay time be exclusively defined as literals (See Defining the supervision time/delay time
as a literal, p. 601).
z Maximum
Enter the maximum supervision time for the current InStep in this text box.
z Minimum
Enter the minimum supervision time for the current InStep in this text box.
z Delay
Enter the delay time for the current InStep in this text box.
OK Use this command button to accept all entries and close the dialog box.
Apply Use this command button to accept all entries without closing the properties
dialog box.

615
SFC Editor

Actions tab Representation of the Actions tab:


Elements of the Actions tab:
Element Description
Identifier Select the identifier (See Defining the identifier, p. 626) for the current
action from this list box, see also section Identifiers in the Reference
manual.
Time Define the time period for the identifiers (See Defining the identifier,
p. 626) L (time limited), D (time delayed) or DS (delayed and saved) in
this area.
The contents of this area depends on the option:
z Literal
When you activate this option button, you can enter the time period
as literals in the text box.
z Variable
When you activate this check box, you can enter the time period in
the data selection box (See Data selection boxes, p. 1257) as a
TIME data type.
Action Define the action in this area.
The contents of this area depends on the selected option:
z Variable
When you activate this check box, you can enter the action as an
action variable (See Defining an action variable, p. 624) in the data
selection box (See Data selection boxes, p. 1257).
z Section
When you activate this check box, you can enter the action as an
action section (See Defining a new action section, p. 625) in the list
box.
Action list box All actions of the current step are displayed in this list box.
Edit Action section This command button is only available when an action section is
selected in the action list box.
Use this command button to close the properties dialog box and open
the action section selected.
Accept action Use this command button to replace the definitions of the selected
action in the action list box with the modified definitions (See Modifying
an action, p. 623).
New action Use this command button to insert the new action (See Defining a new
action, p. 622) in the action list box.

616
SFC Editor

Element Description
Delete action Use this command button to delete the selected action in the action list
box. (See Deleting actions, p. 627)
Note: When deleting actions with action sections you are asked to
confirm whether the action section should be deleted. Note that
deleted sections cannot be restored using the Edit → Undo menu
command.
Up Use this command button to move the selected actions in the action
list box one position up, see also Modifying the execution order of
actions, p. 627.
Down Use this command button to move the selected actions in the action
list box one position down, see also Modifying the execution order of
actions, p. 627.
OK Us this command button to accept all entries and close the dialog box.
Apply Use this command button to accept all entries without closing the
properties dialog box.

Comment tab Representation of the Comment tab:


Elements of the Comment tab:
Element Description
Text box Enter a comment about the InStep.
OK Use this command button to accept all entries and close the dialog
box.
Apply Use this command button to accept all entries without closing the
properties dialog box.

617
SFC Editor

23.6 Editing Output Steps

Introduction

Overview This section describes how to edit output steps in the SFC programming language.

What's in this This section contains the following topics:


Section?
Topic Page
Defining the properties of OutSteps 619
OutStep properties dialog box 620

618
SFC Editor

Defining the properties of OutSteps

Introduction The following can be defined for OutSteps:


z the delay time (See Defining the delay time, p. 619)
z a comment (See Entering a comment, p. 619)

Defining the Defining the delay time as a literal:


delay time
Step Action
1 Open the properties dialog box (See Displaying the object properties, p. 585) for
the OutStep.
Result: The properties dialog box for the step is opened, see also OutStep
properties dialog box, p. 620.
2 Enter the value of the delay time, see also section Step times in the Reference
manual.
3 Confirm the entries with OK.
Result: The delay time is enabled, the properties dialog box is closed, and a
syntax and semantics check (See Syntax and Semantics Check during
Programming, p. 571) is performed.

Entering a Entering a comment:


comment
Step Action
1 Open the properties dialog box (See Displaying the object properties, p. 585) for
the OutStep.
2 Select the Comment tab and enter a step comment.
3 Confirm the comment with OK.
Result: The comment is enabled and the properties dialog box is closed.

619
SFC Editor

OutStep properties dialog box

Calling the see Displaying the object properties, p. 585


properties dialog
box

Structure of the The OutStep properties dialog box consists of two tabs:
properties dialog z General (See General tab, p. 620)
box In this tab you can define:
z the delay time (See Defining the supervision time/delay time, p. 614)
z Comment (See Comment tab, p. 620)
In this tab, a comment (See Entering a comment, p. 614) about the OutStep can
be entered.

General tab Representation of the General tab:


Elements of the General tab:
Element Description
Step Name The names of OutSteps cannot be changed, see also section Step names in
the Reference manual.
Supervision Define the delay time in this area, see also section Step times in the
times and Reference manual. For OutSteps, the delay time can be exclusively defined
delay time as literal (See Defining the delay time, p. 619).
z Maximum
Not available
z Minimum
Not available
z Delay
Enter the delay time for the current OutStep in this text box.
OK Use this command button to accept all entries and close the dialog box.
Apply Use this command button to accept all entries without closing the properties
dialog box.

Comment tab Representation of the Comment tab:


Elements of the Comment tab:
Element Description
Text box Enter a comment about the OutStep.
OK Use this command button to accept all entries and close the dialog box.
Apply Use this command button to accept all entries without closing the
properties dialog box.

620
SFC Editor

23.7 Editing actions

Introduction

Overview This section describes how to edit actions in the SFC programming language.

What's in this This section contains the following topics:


Section?
Topic Page
Assigning actions to a step 622
Display modes for actions 628

621
SFC Editor

Assigning actions to a step

Introduction Each step contains zero or a maximum of 20 actions, see also section Actions in the
Reference manual.
The following can be defined for actions:
z as action variable (See Defining an action variable, p. 624), see also section
Action variables in the Reference manual
z as action section (See Defining a new action section, p. 625) of the programming
languages FDB, LD, IL or ST, see also section Action sections in the Reference
manual
z as Identifiers (See Defining the identifier, p. 626), see also section Identifiers in
the Reference manual
z the order (See Modifying the execution order of actions, p. 627) in which the
defined actions should be processed

Defining a new Defining a new action:


action
Step Action
1 Open the properties dialog box (See Displaying the object properties, p. 585) for
the step.
Result: The step properties dialog box is opened, see also Steps properties
dialog box, p. 603.
2 Select the Actions tab.
Result: The dialog box for defining actions is opened.
3 In the Action area, define an action as
z action variable (See Defining an action variable, p. 624)
or
z action section (See Defining a new action section, p. 625)
4 If necessary, define an Identifier in the Identifier symbol (See Defining the
identifier, p. 626) list box.
5 Confirm the definitions for the action with the New action button.
Result: The action is enabled in the action list box.
6 Confirm the entries with OK.
Result: The actions are accepted, the properties dialog box is closed, and a
syntax and semantics check (See Syntax and Semantics Check during
Programming, p. 571) is performed.

622
SFC Editor

Modifying an Modifying an action:


action
Step Action
1 Open the properties dialog box (See Displaying the object properties, p. 585) for
the step.
Result: The step properties dialog box is opened, see also Steps properties
dialog box, p. 603.
2 Select the Actions tab.
Result: The dialog box for defining actions is opened.
3 Select the action to modify from the actions list box.
Result: The properties of the selected action are enabled in the Identifier, Time
and Action areas.
4 If necessary, modify in the Action area
z action variable (See Defining an action variable, p. 624)
or
z action section (See Defining a new action section, p. 625)
Note: When modifying action sections you are asked to confirm whether the
current action section should be deleted. Please note that deleted sections
cannot be undone usingEdit → Undo .
5 If necessary, define an Identifier in the Identifier symbol (See Defining the
identifier, p. 626) list box.
6 Confirm the changes for the action with the Accept action button.
Result: The definitions of the selected action in the action list box are replaced
with the changed definitions.
7 Confirm the entries with OK.
Result: The actions are accepted, the properties dialog box is closed, and a
syntax and semantics check (See Syntax and Semantics Check during
Programming, p. 571) is performed.

623
SFC Editor

Defining an Defining an action variable:


action variable
Step Action
1 Select the Actions tab from the step properties dialog box, if it isn't already
activated.
2 In the Action area, activate the Variable option button, if it isn't already
activated.
3 Enter a Boolean variable/address, or a Boolean element of a multi-element
variable in the data selection box (See Data selection boxes, p. 1257), see also
section Action variables in the Reference manual.
You have the following options to enter variables:
z You can enter the name of the variable.
z You can select the name of the variable from the list of recently used names
using the symbol.
or
z Using the button... you can open a variable selection dialog box (See
Variable selection dialog box, p. 732) and confirm the selected variables
there with OK.
4 If necessary, define an identifier (See Defining the identifier, p. 626) for the
action.
If you do not define an identifier, the action section is automatically assigned the
identifier N (no identifier).
5 Click the New action button to insert a new action (See Defining a new action,
p. 622), or the Accept action button to modify an existing action (See Modifying
an action, p. 623).
Result: The action is enabled in the action list box.
6 If the action variable has not been declared, declare it as BOOL data type, see
also Creating variable instances of type EDT, p. 220.

624
SFC Editor

Defining a new Defining a new action section:


action section
Step Action
1 Select the Actions tab from the step properties dialog box, if it isn't already
activated.
2 In the Action area, activate the Section option button.
3 Enter the name of the action section in the list box, see also section Action
sections in the Reference manual.
4 If necessary, define an identifier (See Defining the identifier, p. 626) for the
action section.
If you do not define an identifier, the action section is automatically assigned the
identifier N (no identifier).
5 Click the New action button to insert a new action (See Defining a new action,
p. 622), or the Accept action button to modify an existing action (See Modifying
an action, p. 623).
Result: The action is enabled in the action list box.
6 Click the Edit Action section button to create the action section logic.
Result: A dialog box is opened for defining the programming language for the
action section.
7 Select the desired programming language for the action section and confirm the
selection with OK.
Information for creating LD sections: An LD section contains 11-64 columns
and 17-2000 lines. The number of columns is defined using the Tools → Project
Settings...dialog box, in the Editors tab, in the Number of columns text box.
These settings are only valid for new sections and not for existing sections.
Always define the number of columns before you create a new LD section. (The
number of lines can be increased or reduced during the creation of section
contents.)
Result: The step properties dialog box is closed and the action section is
opened.
8 Create the action section logic, see also section Action sections in the Reference
manual.
Note: If the action sections subprograms are called in the Tools → Project
settings... → Language extensions dialog box, the options Subprograms
allowed and Multi Token allowed must be activated.
Please note that the subroutine called from the action section do not affect the
sequence string control, i.e.
z the identifier assigned to the action section has no effect on the subroutine,
z the subroutine remains active when the calling step is deactivated.

625
SFC Editor

Defining the Defining the identifier for an action:


identifier
Step Action
1 Select the Actions tab from the step properties dialog box, if it isn't already
activated.
2 Select the desired identifier from the Identifier list box, see also section
Identifiers in the Reference manual.
3 If you select an identifier of type L (time limited), D (time delayed) or DS (delayed
and saved), you are assigning a time period for the identifier.
You can define the time period as a literal or as a variable of the TIME data type:
z Literal
1. In the Time area, activate the Literal option button, if it isn't already
activated.
2. Enter a time period, e.g. 500 ms, 1 sec.
z Variable
1. Activate the Variable option button in the Time area.
2. You have the following options to enter variables:
You can enter the name of the variable.
You can select the name of the variable from the list of recently used
names using the symbol.
or
Using the button... you can open a variable selection dialog box (See
Variable selection dialog box, p. 732) and confirm the selected variables
there with OK.
3. If the variable is not already declared, declare it as a variable of the TIME
data type and assign the variables with the desired time period, see also
Creating variable instances of type EDT, p. 220.
4 Define the action variable (See Defining an action variable, p. 624) or the action
section (See Defining a new action section, p. 625).
5 Click the New action button to insert a new action (See Defining a new action,
p. 622), or the Accept action button to modify an existing action (See Modifying
an action, p. 623).
Result: The action is enabled with the identifier in the action list box.

626
SFC Editor

Modifying the Modifying the execution order of actions:


execution order
Step Action
of actions
1 Select the Actions tab from the step properties dialog box, if it isn't already
activated.
2 Select the action from the action list box whose execution order you want to
change.
Note: If several actions are assigned to a step, they are executed in the order
they are listed in the action list box.
Exception: Regardless of their position in the action list box, actions with the
identifier P1 are always processed first and actions with the identifier P0 are
always processed last, see also section Identifiers in the Reference manual.
3 Move the selected action to the target position using the Move up and Move
down buttons.

Deleting actions Deleting actions:


Step Action
1 Select the Actions tab from the step properties dialog box, if it isn't already
activated.
2 Select the action to be deleted from the actions list box.
The following selection options are available:
z Selecting an action
1. Click the action.
z Selecting several non-sequential actions
1. Press the Shift key and keep it pressed.
2. Click the first action to be selected.
3. Click the last action to be selected.
z Selecting several sequential actions
1. Press the Ctrl key and keep it pressed.
2. Click the actions to be selected.
3 To delete the selected action(s), click the Delete action button.
Note: When deleting actions with action sections you are asked to confirm
whether the action section should be deleted. Please note that deleted sections
CANNOT be restored using Edit → Undo.

627
SFC Editor

Display modes for actions

Introduction The following display modes are available:


z Input mode
z Expanded display
You have the following options to switch between modes:
z Use the View → Expanded Display menu command.
or
z Press the Ctrl+E key combination.
You can see which mode is active (Expanded Display) by way of a check-symbol in
front of the menu command.

Input mode Only the step symbol is displayed in this mode.

Expanded In addition to the step symbol, this mode displays the actions assigned to the section
display and their properties (identifier, name of the action variable/section and the time
period defined for the identifier, if available). If more than two actions are assigned
to a step you can scroll the list.

628
SFC Editor

23.8 Editing Transitions

Introduction

Overview This section describes how to edit transitions in the SFC programming language.

What's in this This section contains the following topics:


Section?
Topic Page
Placing transitions 630
Defining transition properties 631
Properties dialog box for transitions 635

629
SFC Editor

Placing transitions

Introduction A transition provides the condition through which the checks of one or more pre-
transition steps pass on one or more consecutive steps along the corresponding
link.
Transitions can be placed in any free cell.
If a transition is placed in a cell that is already occupied by an object, an error
message is returned.
If a transition is placed in a cell where the neighboring cell above or below already
contains a transition, an error message is returned because a step must be placed
between two transitions (see also section Connection rules in the Reference
manual).
A transition which is placed always connects automatically with the neighboring
objects above and below if there are no free cells between them.

Activating You have the following options to activate the transition placement mode:
transition z Use the Edit → New → Transition menu command.
placement mode z Use the Transition menu command from the shortcut menu.
z Press the Shift+F3 key combination.
or
z Select the symbol.
The active transition placement mode is indicated by the cursor symbol.

Note In the Tools → Options dialog box on the Data and Languages tab, if the
Automatically assign a variable to a new graphical object check box is selected,
then the corresponding properties dialog box is automatically opened when an
object is placed. The procedures explained here are used when the check box is
cleared.

Placing Placing transitions:


transitions
Step Action
1 Activate the transition placement mode.
2 Click the target cell in the SFC section, or use the arrow keys to move the cursor
to the target position, and press Enter.
Result: The transition is inserted and the selection mode is active again.
3 To insert further transitions:
z Click the target cell in the SFC section, or use the arrow keys to move the
cursor to the target position, and press Enter.
z To return to selection mode: Press the Esc key.
z To insert other objects: Select the object you wish to insert.

630
SFC Editor

Defining transition properties

Introduction The following can be defined for transitions:


z the assigned transition condition
z as variable (See Defining the transition condition as a variable, p. 631)
z as transition section (See Defining the transition condition as a section, p. 633)
z whether the transition condition should be inverted (See Inverting the transition
condition, p. 634) (trigger the transition when 0)
z a comment (See Enter a comment, p. 634)

Defining the Defining the transition condition as a variable:


transition
Step Action
condition as a
variable 1 Open the properties dialog box (See Displaying the object properties, p. 585) for
the transition.
Result: The properties dialog box for the transition is opened, see also
Properties dialog box for transitions, p. 635.
2 In the Type of transition condition area, activate the Variable option button, if
it isn't already activated.
3 In the BOOL variable, value or address data selection box (See Data selection
boxes, p. 1257), enter a Boolean variable/address, a Boolean element for a
multi-element variable or a Boolean literal, see also section Transition conditions
in the Reference manual.
You have the following options to enter variables:
z You can enter the name of the variable.
z You can select the name of the variable from the list of recently used names
using the symbol.
or
z Using the command button ... you can open a variable selection dialog box
(See Variable selection dialog box, p. 732) and confirm the selected variables
there with OK.

631
SFC Editor

Step Action
4 Confirm the entry with OK.
Result:
z If the selected variable is already declared, the transition condition is
accepted, the properties dialog box is opened, a syntax and semantics check
is (See Syntax and Semantics Check during Programming, p. 571) carried
out and the procedure is ended.

z If the selected variable is not declared, a variable declaration dialog box


opens. In this case, continue with the following steps of this procedure.
Variable declaration dialog box

Note: If you wish to declare the variable later, close the dialog box using the
symbol. In this case, the variable name is enabled in the section, but not
declared. You can declare the variables later in the Data Editor (See Creating
variable instances of type EDT, p. 220) or by selecting the transition and the
executing the menu command Generate Variable in the shortcut menu.
5 If you do not want to assign the variable an address or comment, confirm using
Enter or the symbol.
Result:The variable is declared and enabled in the section. A syntax and
semantics check (See Syntax and Semantics Check during Programming,
p. 571) is performed and the procedure ends here.
6 To assign an address or comment, use the symbol.
Result: The dialog box expands.
7 Enter the address or comment, or both.
8 Confirm with Enter or the symbol.
Result:The variable is declared and enabled in the section. A syntax and
semantics check (See Syntax and Semantics Check during Programming,
p. 571) is performed.

632
SFC Editor

Defining the Defining the transition condition as a section:


transition
Step Action
condition as a
section 1 Open the properties dialog box (See Displaying the object properties, p. 585) for
the transition.
Result: The properties dialog box for the transition is opened, see also
Properties dialog box for transitions, p. 635.
2 In the Type of transition condition area, activate the TRANSITIONS section
option button.
3 Enter the name of the transition section in the text box, see also section
Transition section in the Reference manual.
You have the following options to enter the section name:
z You can enter the section name.
or
z You can select the name of the section from the list of transition sections
which are defined but not yet used with the symbol.
4 To create the logic for the transition section, click the Edit command button.
Result: A dialog box to define the programming language of the transition
section is opened.
5 Select the desired programming language for the transition section and confirm
the selection with OK.
Information for creating LD sections: An LD section contains 11-64 columns
and 17-2000 lines. The number of columns is set via the Tools → Project
Settings dialog box, in the Editors tab in the Number of columns text box.
These settings are only valid for new sections and not for existing sections.
Always define the number of columns before you create a new LD section. (The
number of lines can be increased or reduced during the creation of section
contents.)
Result: The properties dialog box is closed and the transition section is opened.
6 Create the logic for the transition section, see also section Transition section in
the Reference manual.

633
SFC Editor

Inverting the Inverting the transition condition:


transition
Step Action
condition
1 Open the properties dialog box (See Displaying the object properties, p. 585) for
the transition.
Result: The properties dialog box for the transition is opened, see also
Properties dialog box for transitions, p. 635.
2 To invert the transition condition, activate the Invert transition condition check
box.
3 Confirm the entry with OK.
Result: The transition condition is represented as inverted in the section, the
properties dialog box is closed and a syntax and semantics check (See Syntax
and Semantics Check during Programming, p. 571) is performed.

Enter a comment Enter a comment:


Step Action
1 Open the properties dialog box (See Displaying the object properties, p. 585) for
the transition.
2 Select the Comment tab and enter a transition comment.
3 Confirm the comment with OK.
Result: The comment is accepted and the properties dialog box is closed.

634
SFC Editor

Properties dialog box for transitions

Calling the see Displaying the object properties, p. 585


properties dialog
box

Structure of the The transition properties dialog box consists of two tabs:
properties dialog z Transition Condition (See Transition Condition tab, p. 636)
box In this tab you can define:
z the transition condition assigned to the transition as a transition variable (See
Defining the transition condition as a variable, p. 631) or as a transition section
(See Defining the transition condition as a section, p. 633)
z whether the transition condition should be inverted (See Inverting the
transition condition, p. 634)
z Comment (See Comment tab, p. 636)
In this tab, a comment (See Enter a comment, p. 602) about the transition can be
entered.

635
SFC Editor

Transition Representation of the Transition Condition tab:


Condition tab Elements of the Transition Condition tab:
Element Description
Invert transition If you activate this check box, the transition condition is inverted
condition (trigger the transition when 0).
Type of transition In this area, you can define the transition condition, see also section
condition Transition conditions in the Reference manual.
The contents of this area depends on the selected option:
z Variable
If you activate this option button, you can enter a Boolean variable/
address, a Boolean element of a multi-element variable or a
Boolean literal in the BOOL variable, value or address data
selection box (See Data selection boxes, p. 1257).
z TRANSITION section
When you activate this option button, you can go to the
TRANSITION Section text box and enter the name of the
transition section.
Note: This text box is only used for referencing transition sections.
If you want to rename an existing transition section, you must
execute this in the properties dialog of the transitions section.
Edit This command button is only available when the TRANSITION section
option button is activated in the Type of transition condition area.
Use this command button to close the properties dialog box and open
the respective transition section.
OK Use this command button to accept all entries and close the dialog
box.
Apply Use this command button to accept all entries without closing the
properties dialog box.

Comment tab Representation of theCommenttab:


Elements of the Comment tab:
Element Description
Text box Enter a comment about the transition.
OK Use this command button to accept all entries and close the dialog
box.
Apply Use this command button to accept all entries without closing the
properties dialog box.

636
SFC Editor

23.9 Editing Jumps

Introduction

Overview This section describes how to edit jumps in the SFC programming language.

What's in this This section contains the following topics:


Section?
Topic Page
Placing jumps 638
Defining jump properties 639
Jump properties dialog box 640

637
SFC Editor

Placing jumps

Introduction Jumps are used to represent directional links which are not displayed in full length.
Jumps can be placed in any free cell.
If a jump is placed in a cell that is already occupied by an object, an error message
is returned.
If a jump is placed in a cell where the neighboring cell above already contains a step,
an error message is returned because a transition must be placed between a step
and a jump (see also section Connection rules in the Reference manual).
A jump which is placed always connects automatically with the neighboring objects
above if there are no free cells between them.
To find a specific jump in the current section use the Gehe zu (See Jump to a
Jump, p. 591)dialog box.

Activating the You have the following options to activate the jump placement mode:
jump placement z Use the Edit → New → Jump menu command.
mode z Use the Jump menu command from the shortcut menu.
or
z Choose the symbol.
The active jump placement mode is indicated by the cursor symbol.

Note In the Tools → Options dialog box on the Data and Languages tab, if the
Automatically assign a variable to a new graphical object check box is selected,
then the corresponding properties dialog box is automatically opened when an
object is placed. The procedures explained here are used when the check box is
cleared.

Placing jumps Placing jumps:


Step Action
1 Activate the jump placement mode.
2 Click the target cell in the SFC section, or use the arrow keys to move the
cursor to the target position, and press Enter.
Result: The jump is inserted and the selection mode is active again.
3 To insert further jumps:
z Click the target cell in the SFC section, or use the arrow keys to move the
cursor to the target position, and press Enter.
z To return to selection mode: Press the Esc key.
z To insert other objects: Select the object you wish to insert.

638
SFC Editor

Defining jump properties

Introduction The following can be defined for jumps:


z the jump target (See Defining the jump target, p. 639), see also section Jump in
the Reference manual.
z a comment (See Entering a comment, p. 639)

Defining the Defining the jump target:


jump target
Step Action
1 Open the properties dialog box (See Displaying the object properties, p. 585) for the
jump.
Result: The jump properties dialog box is opened, see also Jump properties dialog
box, p. 640.
2 Enter the name of the target step in the text box, see also section Jump in the
Reference manual.
Note: With multi-token, you can enable the option to jump into a parallel sequence or
out of a parallel sequence, see also the Tools → Project Settings dialog box, in the
Language extensions tab, Sequential control (SFC) (See Sequential Function
Chart (SFC), p. 367) area.
You have the following options to enter the target step name:
z You can enter the step name.
z You can select the name of the step from the list of steps used in the current
section with the symbol.
3 Confirm the selection with OK.
Result: The properties dialog box is closed, the jump target is accepted and a syntax
and semantics check (See Syntax and Semantics Check during Programming,
p. 571) is performed.
4 Create the logic for the transition section, see also section Transition section in the
Reference manual.

Entering a Entering a comment:


comment
Step Action
1 Open the properties dialog box (See Displaying the object properties, p. 585) for the
jump.
2 Select the Comment tab and enter a jump comment.
3 Confirm the comment with OK.
Result: The comment is enabled and the properties dialog box is closed.

639
SFC Editor

Jump properties dialog box

Calling the You have the following options to call the properties dialog box:
properties dialog z Double-click the jump.
box z Select the jump and use the Edit → Properties... menu command.
z Select the jump and use the Object Properties... menu command from the
shortcut menu.

Structure of the The jump properties dialog box consists of two tabs:
properties dialog z Jump target (See Jump target tab, p. 640)
box You can define the Jump target (See Defining the jump target, p. 639) this tab.
z Comment (See Comment tab, p. 640)
In this tab, a comment (See Enter a comment, p. 602) about the transition can be
entered.

Jump target tab Representation of the Jump target tab:


Elements of the Jump target tab:
Element Description
Step Name Enter the name of the target step (See Defining the jump target,
p. 639) in this text box, see also section Jumps in the Reference
manual.
OK Use this command button to accept all entries and close the dialog
box.
Apply Use this command button to accept all entries without closing the
properties dialog box.

Comment tab Representation of the Comment tab:


Elements of the Comment tab:
Element Description
Text box Enter a comment about the transition.
OK Use this command button to accept all entries and close the dialog
box.
Apply Use this command button to accept all entries without closing the
properties dialog box.

640
SFC Editor

23.10 Editing Branches and Joints

Introduction

Overview This section describes how to edit branches and joints in the SFC programming
language.

What's in this This section contains the following topics:


Section?
Topic Page
Selecting Branches and Joints 642
Placing branches and joints 644
Modifying the Properties of Branches and Joints 645
Branches properties dialog box 647
Joints properties dialog box 648

641
SFC Editor

Selecting Branches and Joints

Introduction Alternative sequences and parallel sequences are differentiated in SFC:


z Alternative sequence
The alternative sequence offers the option to program conditional branches in
the control flow of the SFC structure, see also section Alternative Branches and
Alternative Joints in the Reference manual.
Alternative sequences consist of:
z Alternative branch
With alternative branches, as many transitions follow a step under the
horizontal line as there are different processes.
z Alternative joint
All alternative branches are linked to a single branch using alternative joints or
jumps where they are then continued to be processed.
z Parallel sequence
With parallel sequences the connection of an individual transition leads to the
parallel activation of several (maximum 32) steps (branches). After this activation,
the individual branches are processed independently from one another, see also
section Parallel Branches and Parallel Joints in the Reference manual.
Parallel sequences consist of:
z Parallel branch
With parallel branches, as many transitions follow a step under the horizontal
line as there are parallel processes.
z Parallel joint
In accordance to IEC 61131-1, all parallel branches are joined at their ends by
a common parallel joint. The transition to a parallel connection is evaluated
when all previous steps of the transition are set.
If a parallel branch is combined using an alternative joint, this is only possible
with Multi-Token-Operation, see also dialog box Tools → Project Settings
tab Language extensions area Sequential control (SFC) (See Sequential
Function Chart (SFC), p. 367).

642
SFC Editor

Selecting Selecting Branches and Joints:


Branches and
Type Call via menu command Call via Call via Cursor
Joints
symbol keyboard symbol
Alternative branch (See Edit → New → Alternative F4
Placing branches and branch
joints, p. 644) or
Branches and Joints →
Alternative branch
shortcut menu
Alternative joint (See Edit → New → Alternative Shift+F4
Placing branches and joint
joints, p. 644) or
Branches and Joints →
Alternative joint shortcut
menu
Parallel branch (See Edit → New → Parallel F5
Placing branches and branch
joints, p. 644) or
Branches and Joints →
Parallel branch shortcut
menu
Parallel joint (See Edit → New → Parallel Shift+F5
Placing branches and joint
joints, p. 644) or
Branches and Joints →
Parallel joint shortcut menu

643
SFC Editor

Placing branches and joints

Introduction Branches and joints do not require their own cell, but are inserted into the respective
cell of the step or transition.
If a branch or joint is placed in a cell that already contains a branch or joint an error
message is returned (see also section Connection rules in the Reference manual).
A branch or joint which is placed connects automatically with the neighboring objects
above and below if there are no free cells between them.

Placing Placing branches or joints:


branches or
Step Action
joints
1 Select the desired branch or joint, see also Selecting Branches and Joints,
p. 642.
2 Click the target cell in the SFC section.
or
Use the arrow keys to move the cursor to the target position, and press Enter.
Result: The selected branch or joint is inserted and the selection mode is active
again.
3 To place further elements of the same type:
z Click the target cell in the SFC section.
or
Use the arrow keys to move the cursor to the target position, and press
Enter.
z To return to selection mode:
Press the Esc key.
z To insert other objects:
Select the object you wish to insert.

644
SFC Editor

Modifying the Properties of Branches and Joints

Introduction The following can be defined for branches:


z the number of output pins
z by dragging the mouse (See Defining the number of pins using the mouse,
p. 645)
z using the properties dialog box (See Defining the number of pins using the
properties dialog box, p. 646)
z the position of the input pin
z using the properties dialog box (See Defining the position of the input or output
pin, p. 646)
The following can be defined for joints:
z the number of input pins
z by dragging the mouse (See Defining the number of pins using the mouse,
p. 645)
z using the properties dialog box (See Defining the number of pins using the
properties dialog box, p. 646)
z the position of the output pins
z using the properties dialog box (See Defining the position of the input or output
pin, p. 646)

Defining the Defining the number of pins using the mouse:


number of pins
Step Action
using the mouse
1 Select the branch or joint.
Result: A change label is placed at both ends of the branch or joint.
2 Place the mouse pointer on one of the change labels.
Result: The mouse pointer changes its symbol to .
3 Drag the branch or joint in the desired direction using the mouse.
Result: The branch or joint is expanded to the desired number of pins.

645
SFC Editor

Defining the Defining the number of pins using the properties dialog box:
number of pins
Step Action
using the
properties dialog 1 Open the properties dialog box (See Displaying the object properties, p. 585) for
box the branch or joint.
Result: The properties dialog box for the branch (See Branches properties
dialog box, p. 647) or joint (See Joints properties dialog box, p. 648) is opened.
2 Enter the desired number of output pins (for branches) or the desired number of
input pins (for joints).
3 Confirm the entry with OK.
Result: The number of pins is accepted.

Defining the Defining the position of the input pin (for branches) or output pin (for joints):
position of the
Step Action
input or output
pin 1 Open the properties dialog box (See Displaying the object properties, p. 585) for
the branch or joint.
Result: The properties dialog box for the branch (See Branches properties
dialog box, p. 647) or joint (See Joints properties dialog box, p. 648) is opened.
2 Enter the target position of the input pin (for branches) or the position of the
output pin (for joints).
Note: The position numbers start at 0.
3 Confirm the entry with OK.
Result: The position of the input or output pin is accepted.

646
SFC Editor

Branches properties dialog box

Calling the see Displaying the object properties, p. 585


properties dialog
box

Build Representation of the dialog box:


Elements of the dialog box:
Element Description
OutPin number Enter the number of output pins (See Defining the number of pins
using the properties dialog box, p. 646) of the branch in this text box.
InPin position Enter the position of the input pin (See Defining the position of the
input or output pin, p. 646) of the branch in this text box.
Note: The position numbers start at 0.
OK Use this command button to accept all entries and close the properties
dialog box.
Apply Use this command button to accept all entries without closing the
properties dialog box.

647
SFC Editor

Joints properties dialog box

Calling the see Displaying the object properties, p. 585


properties dialog
box

Build Representation of the dialog box:


Elements of the dialog box:
Element Description
InPin number Enter the number of input pins (See Defining the number of pins using
the properties dialog box, p. 646) of the branch in this text box.
OutPin position Enter the position of the output pin (See Defining the position of the
input or output pin, p. 646) of the branch in this text box.
Note: The position numbers start at 0.
OK Use this command button to accept all entries and close the dialog
box.
Apply Use this command button to accept all entries without closing the
properties dialog box.

648
SFC Editor

23.11 Inserting Alternative Strings and Simultaneous


Strings

Introduction

Overview This section describes how to insert alternative strings and simultaneous strings in
the SFC programming language.

What's in this This section contains the following topics:


Section?
Topic Page
Selecting Alternative Sequences and Parallel Sequences 650
Placing alternative sequences and parallel sequences 651

649
SFC Editor

Selecting Alternative Sequences and Parallel Sequences

Introduction You can place alternative sequence and parallel sequence objects (branches,
steps, transitions, joints) individually or place entire alternative sequences or parallel
sequences. You can select any number of branches or transitions (with alternative
sequences) or steps (with parallel sequences).
See also section Branches and Joints in the Reference manual.

Selecting Selecting alternative sequences and parallel sequences


Sequences
Sequence type Call via menu command Call via Cursor
symbol symbol
Alternative sequence Sequences → Alternative Sequence
(See Placing an shortcut menu
alternative sequence,
p. 651)
Parallel Sequence (See Sequences → Parallel Sequence
Placing a parallel shortcut menu
sequence, p. 652)

650
SFC Editor

Placing alternative sequences and parallel sequences

Introduction Alternative sequences and branches can only be placed in free cells. The number
of free cells required depends on the size of the sequence to be inserted.
If a cell, in which an alternative sequence or parallel sequence is to be placed, is
already occupied by an object, an error message is returned.
An alternative sequence or parallel sequence which is placed always connects
automatically with the neighboring objects above and below if there are no free cells
between them, see also section Connection rules in the Reference manual.

Placing an Placing an alternative sequence:


alternative
Step Action
sequence
1 Activate the placement mode for alternative sequences, see also Selecting
Alternative Sequences and Parallel Sequences, p. 650.
Result: The dialog box for defining the sequence size is opened.
2 Enter the number of transition-step sequences to be inserted per branch in the
Rows to insert text box.
3 Enter the number of branches to be inserted into the Columns to insert text box.
4 Confirm the entries with OK.
Result: The dialog box is closed and the cursor changes its symbol to .
5 Click the cell where the input pin of the alternative sequence should be placed.
or
Use the arrow keys to move the cursor to the target position, and press Enter.
Result: The alternative sequence is inserted into the section.
6 Define the properties of the placed steps (See Defining the properties of steps,
p. 600) and transitions (See Defining transition properties, p. 631).

651
SFC Editor

Placing a parallel Placing a parallel sequence:


sequence
Step Action
1 Activate the placement mode for parallel sequences, see also Selecting
Alternative Sequences and Parallel Sequences, p. 650.
Result: The dialog box for defining the sequence size is opened.
2 Enter the number of step-transition sequences to be inserted per branch in the
Rows to insert text box.
3 Enter the number of branches to be inserted into the Columns to insert text box.
4 Confirm the entries with OK.
Result: The dialog box is closed and the cursor changes its symbol to .
5 Click the cell where the input pin of the alternative sequence should be placed.
or
Use the arrow keys to move the cursor to the target position, and press Enter.
Result: The parallel sequence is inserted into the section.
6 Define the properties of the placed steps (See Defining the properties of steps,
p. 600) and transitions (See Defining transition properties, p. 631).

652
SFC Editor

23.12 Inserting Step-Transitions and Transition-Step-


Sequences

Introduction

Overview This section describes how to insert step transitions and transition step sequences
using the SFC programming language.

What's in this This section contains the following topics:


Section?
Topic Page
Selecting Step-Transition and Transition-Step Sequences 654
Placing step-transition and transition-step sequences 655

653
SFC Editor

Selecting Step-Transition and Transition-Step Sequences

Introduction You can place the steps and transitions individually or place complete Step-
Transitions or Transition-Steps. Any number of steps and transitions can be
selected.

Selection Selecting Step-Transitions and Transition-Step Sequences:


Sequence type Call via the menu command Call via Cursor
the icon symbol
Insert Step-Transition- Sequence → Step-Transition
Sequence (See Placing Sequence shortcut menu
a step-transition
sequence, p. 655)
Transition-Step Sequence → Transition-Step
Sequence (See Placing Sequence shortcut menu
a transition-step
sequence, p. 656)

654
SFC Editor

Placing step-transition and transition-step sequences

Introduction Step-transition and transition-step sequences can only be placed in free cells. The
number of free cells required depends on the size of the sequence to be inserted.
If a cell, in which the step-transition or transition-step sequence is to be placed, is
already occupied by an object, an error message is returned.
A step-transition or transition-step sequence which is placed always connects
automatically with the neighboring objects above and below if there are no free cells
between them, see also section Connection rules in the Reference manual.

Placing a step- Placing a step-transition sequence:


transition
Step Action
sequence
1 Activate the placement mode for step-transition sequences, see also Selecting
Step-Transition and Transition-Step Sequences, p. 654.
Result: The dialog box for defining the number of step-transition sequences is
opened.
2 Enter the number of step-transition sequences to be inserted into the Rows to
insert text box.
3 Confirm the entry with OK.
Result: The dialog box is closed and the cursor changes its symbol to .
4 Click the cell where the input pin of the step-transition sequence should be
placed.
or
Use the arrow keys to move the cursor to the target position, and press Enter.
Result: The step-transition sequences are inserted into the section.
5 Define the properties of the placed steps (See Defining the properties of steps,
p. 600) and transitions (See Defining transition properties, p. 631).

655
SFC Editor

Placing a Placing a transition-step sequence:


transition-step
Step Action
sequence
1 Activate the placement mode for transition-step sequences, see also Selecting
Step-Transition and Transition-Step Sequences, p. 654.
Result: The dialog box for defining the number of transition-step sequences is
opened.
2 Enter the number of transition-step sequences to be inserted into the Rows to
insert text box.
3 Confirm the entry with OK.
Result: The dialog box is closed and the cursor changes its symbol to .
4 Click the cell where the input pin of the transition-step sequence should be
placed.
or
Use the arrow keys to move the cursor to the target position, and press Enter.
Result: The transition-step sequences are inserted into the section.
5 Define the properties of the placed steps (See Defining the properties of steps,
p. 600) and transitions (See Defining transition properties, p. 631).

656
SFC Editor

23.13 Editing Links

Introduction

Overview Editing links in the SFC programming language.

What's in this This section contains the following topics:


Section?
Topic Page
Links 658
Placing a Link 659
Editing links 660

657
SFC Editor

Links

Introduction Links connect steps and transitions, transitions and steps, etc.
Attention should be paid to the following programming information:
z Links between objects of the same type (step with step, transition with transition,
etc.) are not possible.
z Links are possible between:
z Unused object outputs
z Used or unused step inputs
(i.e. step inputs can be connected using links)
z Overlapping links and other SFC objects (step, transition, jump, etc.) is not
possible.
z Overlapping links and links is possible.
z Crossing links and links is possible. Crossed links are indicated by a "broken" link.

z The signal flow is generally from top to bottom. In exceptional cases (e.g. return)
it can also be from bottom to top. This special case is indicated using an arrow
symbol.

Note: A detailed description about links can be found in section Links in the
Reference manual.

Selecting links You have the following options to activate the placement mode:
z Use the Edit → New → Link menu command.
z Use the Link menu command from the shortcut menu.
z Press the F6 key.
or
z Select the symbol.
The and cursor symbols indicate which mode is active.

658
SFC Editor

Placing a Link

Placing a link Carry out the following steps to place a link using the mouse:
using the mouse
Step Action
1 Activate the placement mode for links, see also Links, p. 658.
2 Place the mouse pointer on the start point of the link.
Note: The correct position is shown by the mouse pointer symbol.
3 Click the left mouse button on the start point and drag mouse pointer to the target
point of the link.
Tips:
z By clicking between the start point and target position you can place
intermediate points; for example, to avoid crossing other objects.
z You can leave this mode at any time by pressing Esc.
4 Click on the target position with the left mouse button.
Result: The link is inserted.
See also Editing links, p. 660

Placing a link Carry out the following steps to place a link using the keyboard:
using the
Step Action
keyboard
1 Activate the placement mode for links, see also Links, p. 658.
2 Use the cursor keys to move the cursor to the start point of the link, and press
Enter.
Note: The correct position is shown by the cursor symbol.
3 Use the cursor keys to move the cursor to the target position of the link.
Tips:
z By pressing the Enter key between the start point and target position you can
place intermediate points; for example, to avoid crossing other objects.
z You can leave this mode at any time by pressing Esc.
4 Press Enter.
Result: The link is inserted.
See also Editing links, p. 660

659
SFC Editor

Editing links

Editing links Links are comprised of one or more segments connected to one another.
When cutting (See Cutting objects, p. 577), deleting (See Deleting objects, p. 576),
copying (See Copying objects to the clipboard, p. 578) and moving (See Moving
objects (Drag & Drop), p. 580) links, the action is executed for the entire link.
If a link is selected, the target points are displayed at their beginnings, ends and at
every direction change

Moving links Process the following procedures to move a link segment vertically or horizontally:
vertically/
Step Action
horizontally
1 Select the link.
2 Place the mouse pointer on the item to be moved.
Note: The correct position is indicated by the mouse pointer symbol.
3 Click the left mouse button and drag the segment to the target position.
4 Release the mouse button.
Result:
The change is made.

Creating angles Process the following steps to create angles in links:


in FFB links
Step Action
1 Select the link.
2 Place the mouse pointer on a change label.
Note: The correct position is indicated by the mouse pointer symbol.
3 Click the left mouse button and drag the change label to the target position.
4 Release the mouse button.
Result:
The change is made.

660
SFC Editor

Creating a sizing The creation of angles in links can only be made using sizing handles. If no sizing
handle handles are available they can be created. Process the following steps to create
sizing handles in links:
Step Action
1 Select the link.
2 Press the Ctrl key and place the mouse pointer at the target position.
Note: The correct position is indicated by the mouse pointer symbol.
3 Left-click the target position.
Result:
The sizing handle is created.

Determining the Determining the optimum link route:


optimum link
Step Action
route
1 Select the link.
2 Use the Edit → Link → Route menu command.
or
Use the Route menu command from the shortcut menu.
Result: The current link route is changed to the optimum route.

661
SFC Editor

23.14 Entering Comments

Entering comments

Introduction Comments can be placed in SFC in the form of text objects.


Text objects can overlap other objects.
The size of the object, depending on the size of the text, can be extended vertically
and horizontally to fill additional grid units.
The same rules apply for entering text and navigating within text objects as for
editing ASCII text in standard text editors. (To create a line break in text objects you
must press the Ctrl+Enter key combination).

Note: Keep in mind that each change to a comment (e.g. change to a comment
text, change to the size of the text object) makes it necessary to recreate the
section involved (Generation → Generate project).

Selecting the text You have the following options to select text objects:
object z Use the Edit → New → Comment menu command.
z Use the Comment menu command from the shortcut menu.
z Press the F8 key.
or
z Select the symbol.
The active placement mode for text objects is indicated by the cursor symbol.

662
SFC Editor

Placing text Placing text objects:


objects:
Step Action
1 Select the text object.
2 Click the target position in the SFC section.
or
Use the arrow keys to move the cursor to the target position, and press Enter.
Result: The selected text object is inserted and the selection mode is active
again.
3 Enter the comment.
4 Confirm the text entered by:
z Clicking with the mouse outside of the text object
or
z Pressing the Enter key.
5 To insert additional text objects:
z Click the target position in the SFC section.
or
Use the arrow keys to move the cursor to the target position, and press
Enter.
z To return to selection mode:
Press the Esc key.
z To insert other objects:
Select the object you wish to insert.

663
SFC Editor

23.15 Online functions

Online functions

Online functions The description of online functions is found in chapter Debugging in Sequential
Function Chart Language (SFC), p. 903.

664
SFC Editor

23.16 Export/Import

Export/Import SFC Sections

Export/Import The description for exporting/importing sections is found in the chapter Import /
Export, p. 1151.

665
SFC Editor

666
Common IL and ST Functions

24
Introduction

Overview This chapter describes the common menus and dialog boxes of the IL and ST editor.

What's in this This chapter contains the following topics:


Chapter?
Topic Page
Selecting Text 668
Deleting, cutting, copying, pasting and moving text 670
Undoing and redoing changes 672
Match case 673
Font sizes 674
Using Bookmarks 675
Go to 677
Go to dialog box 679
Searching text 681
Searching and replacing text 682
Call a subroutine 683
Refine DFBs and subroutines 684
Inspect windows 685
Enter comments 687
Printing the Current Section 688
Initialize search 689
Initialize Animation table 690
Displaying the section properties 691
Fullscreen 692

667
IL and ST

Selecting Text

Selecting one or Selecting one or more characters:


more characters
Using the mouse Using the keyboard
1. Left click with mouse and keep it pressed. 1. Press the Shift key and keep it pressed.
2. Drag the mouse across the characters you 2. Use the arrow keys to move the insertion
want to select. point over the characters to be selected.
or
1. Place the insertion point in front of the first
character you want to select.
2. Press the Shift key and keep it pressed.
3. Click the left mouse button behind the last
character you want to select.

Selecting a word Selecting a word:


Using the mouse Using the keyboard
Double click on the word to be selected. 1. Press the Shift key and keep it pressed.
2. Use the arrow keys to move the insertion
point over the word to be selected.

668
IL and ST

Selecting one or Selecting one or more lines:


more lines
Using the mouse Using the keyboard
1. Click the left mouse button at the height of 1. Press the Shift key and keep it pressed.
the line to be selected in the left margin. 2. Use the arrow keys to move the insertion
or point over the characters to be selected.
1. Click the left mouse button at the height of
the first line to be selected in the left
margin.
2. Press and hold the mouse button down
and drag the cursor down to the last line to
be selected.
or
1. Place the insertion point at the start of the
first line you want to select.
2. Left click the mouse and keep it pressed.
3. Drag the cursor to the end of the last line to
be selected.
4. Release the mouse key.
or
1. Place the insertion point at the start of the
first line you want to select.
2. Press the Shift key and keep it pressed.
3. Click the left mouse button behind the last
line you want to select.

Select all Select all (entire contents of the section):


(entire contents
Using the mouse Using the keyboard
of the section)
Use the menu command Edit → Select all. Press the key combination Ctrl+A.
or
Press the Ctrl key, and left mouse click in the
left margin.

669
IL and ST

Deleting, cutting, copying, pasting and moving text

Deleting Text Deleting text:


Using the mouse Using the keyboard
1. Select (See Selecting Text, p. 668) the text 1. Select (See Selecting Text, p. 668) the
to be deleted. text to be deleted.
2. Use the Edit → Delete menu command. 2. Press the Entf key.

Cutting Text Cutting text:


Using the mouse Using the keyboard
1. Select (See Selecting Text, p. 668) the text 1. Select (See Selecting Text, p. 668) the
to be cut. text to be cut.
2. Use the Edit → Cut menu command. 2. Press the Ctrl+X key combination.
or
Use the Cut menu command from the
shortcut menu (right-click).
or
Click the symbol.

The text which is cut can be pasted (See Pasting Text from the Clipboard, p. 671) at
any location (also in another IL or ST section).

Copying Text Copying text into the clipboard:


into the
Using the mouse Using the keyboard
Clipboard
1. Select (See Selecting Text, p. 668) the text 1. Select (See Selecting Text, p. 668) the
to be copied. text to be copied.
2. Use the Edit → Copy menu command. 2. Press the Ctrl+C key combination.
or
Use the Copy menu command from the
shortcut menu (right-click).
or
Click the symbol.

The text which is copied can be pasted (See Pasting Text from the Clipboard,
p. 671) at any location (also in another IL or ST section).

670
IL and ST

Pasting Text Pasting text from the clipboard:


from the
Using the mouse Using the keyboard
Clipboard
1. Place the cursor at the target position. 1. Place the cursor at the target position.
2. Use the menu command Edit → Insert. 2. Press the Ctrl+V key combination.
or
Use the menu command Paste in the
shortcut menu (right mouse button).
or
Click the symbol.

Moving Text Moving text:


Using the mouse Using the
keyboard
1. Select (See Selecting Text, p. 668) the text to be moved. -
2. Position the mouse pointer on the selected text.
3. Click the left mouse button and keep it pressed.
4. Drag the text to the new position.
Note: This can also be done between sections in various open IL and
ST sections.
5. Release the mouse button.
Result: The selected text is moved from the original position to the target
position.

Copying text Copying text:


Using the mouse Using the
keyboard
1. Select (See Selecting Text, p. 668) the text to be moved. -
2. Position the mouse pointer on the selected text.
3. Click the left mouse button and keep it pressed.
4. Press the Ctrl key and keep it pressed.
5. Drag the text to the new position.
Note: This can also be done between sections in various open IL and
ST sections.
6. Release the mouse button first and then the Ctrl key.
Result: A copy of the selected text is pasted at the target position.

671
IL and ST

Undoing and redoing changes

Undo changes You have the following options to undo the recent changes:
z Use the Edit → Undo menu command.
z Press the Ctrl+Z key combination.
or
z Select the symbol.
One change is undone each time the function is executed.
The function can be executed a maximum of 10 times.

Redo changes Changes that have been undone using Undo can be restored:
z Use the Edit → Redo menu command.
z Press the Ctrl+Y key combination.
or
z Select the symbol.
One undone change is restored each time the function is executed.
The function can be executed a maximum of 10 times.

672
IL and ST

Match case

All caps text Process the following steps to display text in All Caps:
Step Action
1 Select the text to display in All Caps.
2 You have the following options to convert the selected text:
z Use the Edit → All caps menu command.
z Press the Shift+Alt+U key combination.
z Select the symbol.

Lower case text Process the following steps to display text in lower case:
Step Action
1 Select the text to display in lower case.
2 You have the following options to convert the selected text:
z Use the Edit → Lower case menu command.
z Press the Alt+U key combination.
z Select the symbol.

673
IL and ST

Font sizes

Introduction Several font sizes are available to provide an optimal display of the text in the current
section (overview of the entire contents or display of details).

Reducing the You have the following options to reduce the current font size:
font size z Press the Ctrl+-key combination.
z Select the symbol.
z Select the symbol.

Increasing the You have the following options to increase the current font size:
font size z Press the Ctrl++ key combination.
z Select the symbol.
z Select the symbol.

674
IL and ST

Using Bookmarks

Introduction Bookmarks are used to mark text lines and allow these marked lines to be easily
found in large sections.
An example of a line marked with a bookmark:

Setting a single You have the following options to set a bookmark:


bookmark z Place the cursor in the line to be marked and carry out the menu command Edit
→ Bookmark> → Toggle Bookmark.
z Place the cursor in the line to be marked and press the key combination Ctrl+F2.
or
z Place the mouse pointer in the margin (gray column on the left edge of the
section) for the line to be marked and carry out the menu command Toggle
Bookmark in the shortcut menu for the margin.

Setting multiple Setting a bookmark in each line which contains a defined search text can be done
bookmarks in the following ways:
z Use the menu command Edit → Find...to open the search dialog box, enter the
search text and press the command button Select all.
or
z Press the key combination Ctrl+F to open the search dialog box, enter the search
text and press the command button Select all.
Also see Searching text, p. 681

Removing single You have the following options to to remove a bookmark:


bookmarks z Place the cursor in the line with the bookmark to be removed and carry out the
menu command Edit → Bookmark> → Toggle Bookmark.
z Place the cursor in the line with the bookmark to be removed and press the key
combination Ctrl+F2.
or
z Place the mouse pointer on the bookmark to be removed and use the Toggle
Bookmark menu command from the shortcut menu for the bookmark.

Removing all You have the following options to remove all bookmarks in the current section:
bookmarks z Use the Edit → Bookmark> → Clear all Bookmarks menu command.
or
z Press the Ctrl+Shift+F2 key combination.

675
IL and ST

Searching for You have the following options to search for bookmarks (search down):
bookmarks z Use the Edit → Bookmark> → Next Bookmark menu command.
(search down) z Use the Edit → Go to → Bookmark → Next menu command.
or
z Press the F2 key.

Searching for You have the following options to search for bookmarks (search up):
bookmarks z Use the Edit → Bookmark> → Previous Bookmark menu command.
(search up) z Use the Edit → Go to → Bookmark → Previous menu command.
or
z Press the Shift+F2 key combination.

676
IL and ST

Go to

Introduction The Go tofunction is used to jump to:


z a specific line in the current section,
z a specific bookmark in the current section or
z a specific mark in the current section,

Open the dialog The following options are available to open theGo todialog box.
z Use the menu command Edit → Go to,
z select the menu command Go to from the sections shortcut menu.
z Press the key combination Ctrl+G.
or
z Choose the symbol.

Go to a line Go to a certain line in the current section by carrying out the following steps:
Step Action
1 Open (See Open the dialog, p. 677) the Go todialog box.
2 Select the Line (See tab Line, p. 679)tab.
3 Enter the line number.
4 Confirm the entry using the command button Go to.
Result: The desired line is displayed.

Go to a Go to a certain bookmark in the current section by carrying out the following steps:
bookmark
Step Action
1 Open (See Open the dialog, p. 677) the Go todialog box.
2 Choose theActions (See Register tab Bookmarks, p. 680)tab.
3 Select a bookmark in the list.
4 Double click on the selected bookmark or press the Go tocommand button.
Result: The desired bookmark is displayed.

677
IL and ST

Go to a location Go to a certain location in the current section by carrying out the following steps:
Step Action
1 Open (See Open the dialog, p. 677) the Go todialog box.
2 Select the Location (See Register tab Location, p. 680)tab.
3 Select a location in the list.
4 Double click on the selected location or press the Go tocommand button.
Result: The desired location is displayed.

678
IL and ST

Go to dialog box

Call the dialog See Open the dialog, p. 677


box:

Call the dialog The Go todialog box is made up of three tabs:


box z Row
Go to a certain location in the current line using this tab.
z Bookmarks
Go to a certain bookmark in the current section using this tab:
z Label
Go to a certain location in the current section using this tab:

tab Line Elements of the tab Line:


Element Description
For symbols that are not printed, the dialog box is closed after every
search.
For printed symbols the dialog box remains open until you close it.
Line number The number of the row to be displayed can be entered in this text box.
Go to Display the current position using the button desired line (See Go to
a line, p. 677).
Close Use this button to close the dialog.
Help Use this button to call up the dialog help.

679
IL and ST

Register tab Elements of the tab Bookmark:


Bookmarks
Element Description
For symbols that are not printed, the dialog box is closed after every
search.
For printed symbols the dialog box remains open until you close it.
Bookmark: Select the bookmark to be displayed from this list box.
Prev Display the current position using this button.
When the start of the section is reached, the search starts again from
the bottom.
Next Display the next bookmark using this button.
When the end of the section is reached, the search starts again from
the top.
Go to Display the current position using the button desired bookmark (See
Go to a bookmark, p. 677).
Close Use this button to close the dialog.
Help Use this button to call up the dialog help.

Register tab Elements of the tab Bookmark:


Location
Element Description
For symbols that are not printed, the dialog box is closed after every
search.
For printed symbols the dialog box remains open until you close it.
Locations: Select the location to be displayed from this text box.
You can enter the name of the location in the text box with the
keyboard or using the drop-down list by clicking with the mouse.
Go to Display the current position using the button desired location (See Go
to a location, p. 678).
Close Use this button to close the dialog.
Help Use this button to call up the dialog help.

680
IL and ST

Searching text

Searching text When searching text, you can define the search text and various options for the
search.
You have the following options to search for text:
z Use the Edit → Find menu command.
z Press the key combination Ctrl+F.
z click the symbol.
This function is only used for searching and in some cases marking search terms.
To search and replace text, use the Edit → Replace menu command, see also
Searching and replacing text, p. 682.
For intelligent search and replace of variables and FFBs you can use the Tools →
Search/Replace (See Search/Replace tool, p. 763) menu command.

Representation Search dialog display


Elements of the dialog box
Element Description
Find: Enter the text to be found. You can insert text from the clipboard or from the
list of recently used terms.
Find whole If you select this option, only the whole term is searched for and not parts of
words only the term.
Match case If you select this option, only terms are searched whose capitalization matches
the text in the Find what text box.
Direction Select the desired direction here.
Find Next Use this command button to search for the next instance of the search target
in the section.
Select All Use this command button to mark all lines in the section that contain the
search term with a bookmark, see also Using Bookmarks, p. 675.

Find Previous You have the following options to find earlier instances of the term defined in the
Find dialog box:
z Use the Edit → Previous menu command.
z press the Shift+F3 key combination.

Find Next You have the following options to find later instances of the term defined in the Find
dialog box:
z Use the Edit → Find Next menu command.
z press the F3 key.

681
IL and ST

Searching and replacing text

Searching and You have the following options to to search and replace text:
replacing text z Use the Edit → Replace menu command.
z Press the Ctrl+H key combination.
This function is used to search and replace simple text.
For intelligent search and replace of variables and FFBs you can use the Tools →
Search/Replace (See Overview of the Search / Replace tool, p. 764) menu
command.

Representation Representation of the Find dialog box


Elements of the dialog box
Element Description
Find what Enter the text to be found. You can insert text from the
clipboard or from the list of recently used terms.
Replace with Enter the new text. You can insert text from the clipboard or
from the list of recently used terms. In order to delete the text
in the Find what text box, leave the Replace with text box
empty.
Find whole words only If you select this option, only the whole term is searched for
and not parts of the term.
Match case If you select this option, only terms are searched whose
capitalization matches the text in the Find what text box.
Replace with Select the area where the replace operation should be
performed:
z Selection
The replace procedure is performed in the text area
selected in the section.
z Complete file
The replace procedure is performed in the entire section.
Find Next Use this command button to search for the next instance of the
search target in the section. (No replacement is made.)
Replace Use this command button to replace the selected occurrence
of the search term and select the next occurrence.
Replace All Use this command button to replace all occurrences of the
search term in the area defined in Replace with with the
replacement term.

682
IL and ST

Call a subroutine

Introduction The subroutine to be called must be located in the same task as the section calling.
Subroutines can also be called from within subroutines.
Subroutine calls are expansions to IEC 61131-3 and must be explicitly enabled via
the Tools → Project Settings dialog box, in the Language extensions tab by
activating the Allow subroutines check box.
In IL, a subroutine call consists of the CAL operator, followed by the name of the
subroutine section, followed by an empty parameter list (optional), e.g.
CAL SR_Name
or
CAL SR_Name ()
In ST, a subroutine call consists of the name of the subroutine section, followed by
an empty parameter list, followed by a semicolon, e.g.
SR_Name () ;
The name of subroutine is shown in boldface to identify that these subroutines can
be refined (See Refine DFBs and subroutines, p. 684).
You can enter the name of the subroutine section just like any other text, or use the
input assistant.

Entering the Process the following steps to enter a subroutine section name with the input
name of the assistant:
subroutine
Step Action
section with
input assistant 1 Place the cursor at the target position.
2 Use the Edit → New → Select subroutine menu command.
or
Select the symbol.
Result:
A selection dialog box for selecting the subroutine to be called is opened.
3 Click the symbol, select the subroutine to be called from the list and confirm
pressing Enter.
Note: The subroutine to be called must be located in the same task as the
section calling.
Result: The name of the subroutine section is enabled in the section.
4 Complete the subroutine call.
IL example:

ST example:

683
IL and ST

Refine DFBs and subroutines

Introduction This function makes it possible to "look into" a DFB or subroutine. This makes it
possible to see the internal state of the DFB/subroutine when animation is used, or
to make changes to the logic very quickly.
Refinable objects are labeled in boldface, e.g.
CAL SR_Name
or
MY_DFB (IN1 := var1, IN2 := var12, OUT => var3);

Refining DFBs Process the following steps to refine DFBs:


Step Action
1 Place the cursor on the DFB instance name.
2 You have the following options to refine DFBs:
z Use the Services → Refine menu command.
z Use the Refine menu command from the shortcut menu.
or
z Press the Ctrl+Q key combination.
Result: If the DFB contains only one section, this will be opened automatically.
If the DFB contains several sections, a selection dialog is opened.
3 Select the desired DFB section.
Result: The DFB section is opened.
Note: With nested DFBs several refine processes are possible.

Refining Process the following steps to refine subroutines:


subroutines
Step Action
1 Position the cursor on the subroutine call.
2 You have the following options to refine subroutines:
z Use the Services → Refine menu command.
z Use the Refine menu command from the shortcut menu.
or
z Press the Ctrl+Q key combination.
Result: The subroutine is opened.
Note: With nested subroutines several refine processes are possible.

684
IL and ST

Inspect windows

Introduction In offline mode, the name, address (if available) and the comment (if available) of
the associated variable are displayed in inspect windows.
In online mode, the name, address (if available) and the current value of the variable
are displayed in inspect windows.
The current values can be displayed:
z Decimal, e.g. 15
z Binary, e.g. 00001111
z Hexadecimal, e.g. F
z Floating point, e.g. 15.4
z Exponent, e.g. 1.3e+003
z Literal, e.g. 'otto'

Generating an Generating an inspect window:


inspect window
Step Action
1 Position the cursor in front of or in the target variable.
2 You have the following options to generate inspect windows:
z Use the Edit → New → Inspect window menu command.
z Use the Place Inspect menu command from the shortcut menu.
z Press the F9 key.
or
z Select the symbol.
Result: The inspect window is generated.

Resizing Position the mouse pointer on the right or left edge of an inspect window (the correct
position is indicated by the or mouse pointer symbol), click the left mouse button
and drag the mouse right or left.
The size selected applies to all inspect windows within the current section.

Changing the Position the mouse pointer on the inspect window, click the left mouse button and
position move the inspect window to the target position.

685
IL and ST

Anchoring the You can anchor all inspect windows of a section to their relative positions within the
position section (the inspect window stays in its onscreen position even if the page is
scrolled), or to their absolute position (the inspect window is scrolled along with the
rest of the section contents).
To switch between modes, select the View → Floating Inspect Windows menu
command.
You can see which mode is active by way of a check-symbol in front of the menu
command.

Setting a zone Setting a zone monitor:


monitor
Step Action
1 Position the mouse pointer on the inspect window.
2 Use the Settings menu command from the shortcut menu.
Result: The properties dialog box for the inspect window is opened.
3 Enter a minimum and a maximum value for the variable to be monitored.
4 Enter the format of the variable displayed in the section.
5 Confirm the entries with OK.
Result:
z If the current value is within the defined range, the inspect window is
displayed in cyan.
z If the current value is outside the defined range, the inspect window is
displayed in yellow.
z If the current value is above the defined range, the inspect window is
displayed in magenta.

Hiding inspect To hide and show the inspect windows select the View → Hide Inspect Windows
windows menu command.
You can see which mode is active (hide inspect windows) by way of a check-symbol
in front of the menu command.

Deleting inspect Position the cursor on the inspect window to be deleted and select the Delete
windows Inspect menu command from the shortcut menu.

686
IL and ST

Enter comments

Introduction In the IL and ST editors, comments start with the string (* and end with the string
*). Any comment can be entered between these two strings.

Note: Keep in mind that each change to a comment (e.g. change to a comment
text, change to the size of the text object) makes it necessary to recreate the
section involved (Generation → Generate project).

In accordance with IEC 61131-3, nesting of comments is not permitted. If it is


necessary to nest comments you must enable them via the Tools → Project
Settings dialog box, in the Language extensions tab by activating the Allow
nested comments check box.

Placing a Placing a comment:


comment
Step Action
1 Place the cursor at the target position.
2 You have the following options for placing a comment:
z Use the Edit → New → Comment menu command.
z Use the Comment menu command from the shortcut menu.
z Press the F8 key.
or
z Select the symbol.
Result: The strings for the start and end of the comments are inserted.
3 Enter the comment between the two strings.

687
IL and ST

Printing the Current Section

Introduction There are the following ways to print the current section:
z Print the section using the menu command
z Print the section using the print documentation

Print the section Carry out the following steps to print the current section using the menu command:
using the menu
Step Action
command
1 Open the print dialog using:
z the menu command File → Print,
z or the key combination Ctrl+P
or
z the symbol .
2 Press OK to start printing the current section.

Print the section Carry out the following steps to print the current section using the print
using the print documentation:
documentation
Step Action
1 Double-click on Documentation in the project browser.
Result: An overview of your system is open, see also Documentation, p. 1131
2 Select Program → Tasks → MAST/FAST/AUX → ... to print the section.
3 Select the menu command Print from the sections shortcut menu.
4 Press OK to start printing the current section.

688
IL and ST

Initialize search

Introduction The Initialize Search function transfers the name of the selected element (search
text) to the Element text box in the Cross-References (See Search data in
project, p. 769) window.

Selecting the Process the following steps to select the search text:
search text
Step Action
1 Select the element to search for (search text).
The following elements can be searched for:
z Variable
(To search for a variable, select the variable.)
z EFB/DFB Instance
(To search for an EFB/DFB instance, select the name of the EFB/DFB
instance.)
2 Use the Services → Initialize Search menu command.
or
Select the menu command Initialize search from the sections shortcut menu.
or
Press the Ctrl+U key combination.
Result: The search text is transferred to the Element text box in the Cross-
References (See Search data in project, p. 769) window.

689
IL and ST

Initialize Animation table

Introduction The Initialize Animation Table transfers the selected variables to the Animation
table (See Basic functions, p. 932).

Selecting the Process the following steps to select variables:


variables
Step Action
1 Select the variables to transfer to the Animation table.
The following items can be selected:
z single variable
(To accept a variable, select the variable.)
z several variables
(To accept several variables, select the entire text area in which the variables
are located.)
2 Use the Services → Initialize Animation table menu command.
or
Select the menu command Animation Table from the sections shortcut menu.
or
Press the Ctrl+T key combination.
Result: The variable(s) is/are transferred to the Animation table (See Basic
functions, p. 932).

690
IL and ST

Displaying the section properties

View section You have the following options to display the section properties dialog box (See
properties Properties dialog box for FBD, LD, IL or ST sections, p. 333):
z Use the Edit → Data Selection...menu command.
z Use the Propertiesfrom the shortcut menu.
z Press the Ctrl+Enter key combination.

View Data You have the following options to display the section properties dialog box (See
Properties Data Properties, p. 742):
z using the data editor (See Data editor, p. 211)
1. Selecting one or several lines in a list editor
2. Using the shortcut menu select the Propertiescommand.
z via the IL/ST section.
1. Selecting one or several element(s) in the IL/ST section.
2. From the context menu select the command Data properties or press Ctrl +
Enter.

691
IL and ST

Fullscreen

Fullscreen You have the following options to display the section application window in full
screen mode:
z Select the View → Full screen menu.
z Press the key combination Ctrl-F8.
z Click the symbol.
To end the full screen mode press Esc or use the menu.

692
IL Editor

25
Introduction

Overview This chapter describes the specific menus and dialog boxes of the IL editor.
For a description of the syntax for the IL programming language, please refer to the
Instruction List IL chapter in the Reference manual.

What's in this This chapter contains the following topics:


Chapter?
Topic Page
Structure of an IL program 694
Creating an IL Program 696
Syntax and Semantics Check during Programming 697
Data input 698
Calling an FFB 702
Using Public Variables 706
Online functions 707
Export/Import IL Sections 708

693
IL Editor

Structure of an IL program

Introduction An IL program (Instruction List) consists of a list of statements that are executed in
sequence by the controller. Using these statements you can call function blocks,
functions and procedures conditionally or unconditionally, process assignments and
jumps conditionally or unconditionally within a section.

Properties of an Properties of an IL program:


IL program z Statements consist of:
z an operator,
z with modifier if necessary,
z an operand if required and
z a comment if required.
z In addition, every statement can be provided with a label.
z Every statement begins on a new line.
z Each line is limited to 300 characters.
z Line breaks are possible in statements (multi-line statements).
z Labels, symbols and comments can be placed anywhere in a section.
(Comments can be entered anywhere where empty spaces are permitted.)
z A syntax and semantics check (See Syntax and Semantics Check during
Programming, p. 697) is performed immediately after the statement is entered.
The result of this check is displayed in colored text.
z Syntactically or semantically incorrect sections can be saved.

694
IL Editor

Edit and view Edit and view functions of the IL editor:


functions z Entering text using the insert or overwrite mode (See Writing in insert/overwrite
mode, p. 696)
z Deleting text (See Deleting Text, p. 670)
z Selecting text (See Selecting Text, p. 668) (characters, words, lines, all)
z Cutting (See Cutting Text, p. 670), copying (See Copying Text into the Clipboard,
p. 670) and pasting (See Pasting Text from the Clipboard, p. 671) text
z Moving text (See Moving Text, p. 671) (also between different ST/IL sections)
z Undo (See Undo changes, p. 672) and Redo (See Redo changes, p. 672)
z Go To function (See Go to, p. 677)
z Using bookmarks (See Using Bookmarks, p. 675)
z Searching for text and marking the result (See Searching text, p. 681)
z Searching and replacing text (See Searching and replacing text, p. 682)
z Searching and replacing variables and function blocks and DFB instances
z Displaying text in selectable fonts and sizes
The text display type can be selected from the View → Select Font menu
command. This configuration applies to all sections of the IL and ST
programming languages.
z Intelligent text indentation
The text indentation of a new line is taken from the previous one.
z Display the position (line, column) of the cursor in the status bar.

Input assistants Input assistant for the IL editor:


z Input assistant for variables (See Data input, p. 698)
z Input assistant for functions, function blocks and procedures (See Calling an
FFB, p. 702)

Online functions Online functions of the IL editor:


z Displaying actual values (See Inspect windows, p. 685).
z Setting breakpoints (See Insertion of a breakpoint in textual languages
(Structured Text or Instruction List), p. 885)
z Setting watchpoints (See Insertion of a watchpoint in textual languages
(Structured Text or Instruction List), p. 889)
z Step by Step (See Step by step execution mode in textual languages (Structured
Text or Instruction List), p. 887)

695
IL Editor

Creating an IL Program

Writing in insert/ Text can be entered in insert or overwrite modes


overwrite mode z Insert mode
The characters entered are inserted in the current position of the insert marker in
addition to the existing characters.
z Overwrite mode
The characters entered are inserted in the current position of the insert marker
and overwrite the existing characters.
Switching between the modes is done using the Insert key.
The current mode is displayed in the status bar using INS for insert mode and OVR
for overwrite mode.

Creating an IL Carry out the following procedures to create an IL program:


program
Step Action
1 Creating an IL Section (See Creating an FBD, LD, IL or ST section, p. 330).
2 Enter the first operator (e.g. LD).
Note: As soon as the text is entered several checks are made, such as syntax/
semantic error checks, correct spelling of keywords and variable names etc. A
detailed description of syntax is found in chapter Instruction List IL in the
Reference manual.
The results of the checks are indicated by a color folder, see also Syntax and
Semantics Check during Programming, p. 697.
3 Use the TAB key or spaces to separate operands from operators.
4 Enter the operands (e.g. il).
5 Confirm the line with the ENTER key.
6 Repeat these steps until all instructions are entered.

696
IL Editor

Syntax and Semantics Check during Programming

Introduction A syntax and semantics check is carried out during program creation. The result of
this check is displayed in color text.

Representation Representation of colors and labels:


Labeling Description
blue Keyword (e.g. LD, AND, ST,...)
Note: Function block input operators (see also section Input operator
requirements in the Reference manual) are not treated as keywords.
red Operators (that are not keywords)
green Comment
black standard text (e.g. variable, address, label, ...)
bold The name of DFBs and subroutines are shown in boldface to identify that
these objects can be refined (See Refine DFBs and subroutines, p. 684).
underlining In DFB sections, the formal parameters of the DFBs are shown underlined.
red wavy line Faulty text:
z Syntax error
e.g. spelling errors in keywords, non-declared variables, incorrect block
call, ...
z Semantic error
e.g. division by zero, value range exceeded/underflow (recognized by the
system when entered)
Inverted text Text is selected

Quickinfo If the cursor is placed over faulty text a Quickinfo (Tooltip) with a brief description of
the cause of the error appears.

697
IL Editor

Data input

Introduction You have different options for using data in your IL section.
z Using already declared variables (See Entering declared variables using data
selection, p. 699)
z you can use a data selection dialog box,
or
z you can enter the variable name just like any other text.
z Use undeclared variables and declare them later (See Entering undeclared
variables and declaring them later, p. 699)
You can define variable names when creating your IL section and then declare
all variables used.
z Use undeclared variables and declare them immediately (See Entering
undeclared variables and declaring them immediately, p. 700)
You can define variable names when creating your IL section and declare them
immediately.
z Declaration of variables directly in the IL section. (See Declaration of variables
directly in the IL section., p. 700)
You can declare variables in the Data Editor (See Creating variable instances of
type EDT, p. 220), but also directly in the IL section.
z Using formal parameters from function blocks (inputs/outputs, public variables)
(See Using formal parameters, p. 701)
z You can use a data selection dialog box.
or
z You can enter the formal parameter name just like any other text.

698
IL Editor

Entering Carry out the following steps to enter a declared variable using data selection:
declared
Step Action
variables using
data selection 1 Declare the required variables, see also Creating variable instances of type EDT,
p. 220.
2 Place the cursor at the target position.
3 Open data selection by:
z The Edit → Data Selection menu command..
z The Data Selection... menu commandfrom the shortcut menu for the
section.
or
z Press the Ctrl+D key combination.
Result:
A data selection box (See Data selection boxes, p. 1257) is opened.
4 You have the following options to enter variables:
z You can now enter the variable name and confirm using Enter or the button.
z You can select the variable names from the list of recently used names using
the symbol and confirm using Enter or the button.
z You can delete your entry by pressing Esc or the button .
z Use the button ...to open a variable selection dialog box (See Data selection
dialog box, p. 737) and in the Variables (See Variables tab, p. 737) tab
confirm the selected variable using the OK button.
Result: The selected variable is inserted into the section and a syntax and
semantics check (See Syntax and Semantics Check during Programming,
p. 697) is performed.

Entering Process the following steps to enter undeclared variables and declare them later:
undeclared
Step Action
variables and
declaring them 1 Place the cursor at the target position.
later 2 Enter the variable name.
Result: The variable selected is accepted. The syntax and semantics check
(See Syntax and Semantics Check during Programming, p. 697) marks the
variable name with a red wavy line to identify it as being undeclared, e.g.

3 Enter all variables in this way.


4 Declare all variables in the Data Editor (See Creating variable instances of type
EDT, p. 220) or directly in the IL section (See Declaration of variables directly in
the IL section., p. 700).
Result: The red wavy line under the variable name disappears.

699
IL Editor

Entering Process the following steps to enter undeclared variables and declare them
undeclared immediately:
variables and
Step Action
declaring them
immediately 1 Place the cursor at the target position.
2 Click Create Variable in the shortcut menu, or press the Shift+Enter key
combination
Result: The variable declaration dialog box opens.

3 Enter the variable name and data type.


4 If you do not want to assign an address or comment, confirm using Enter or the
symbol.
Result: The variable is declared and inserted at the target position in the section.
5 If you do want to assign the variable an address and/or comment, use the
symbol for obtaining an advanced dialog and enter the address and/or comment.

6 Confirm with Enter or the symbol.


Result: The variable is declared and inserted at the target position in the section.

Declaration of Process the following steps to declare variables directly in the IL section.
variables directly
Step Action
in the IL section.
1 Place the cursor in an undeclared variable (undeclared variables are identified
by a red wavy line).
2 Click Create Variable in the shortcut menu, or press the Shift+Enter key
combination
Result: The variable declaration dialog box opens.

Note: The variable name automatically appears in the Name field, if editor
recognizes the text entered in the section as a variable and its syntax is correct.
3 If you do not want to assign an address or comment, confirm using Enter or the
symbol.
Result: The variable is declared and the red wavy line under the variable name
disappears.
4 If you do want to assign the variable an address and/or comment, use the
symbol for obtaining an advanced dialog and enter the address and/or comment.

5 Confirm with Enter or the symbol.


Result: The variable is declared and the red wavy line under the variable name
disappears.

700
IL Editor

Using formal Process the following steps to use formal parameters with data selection:
parameters
Step Action
1 Call the function block whose formal parameters you want to use, see also
Calling a function block (See Calling a function block using the function input
assistant, p. 702).
2 To use the formal parameter, place the cursor at the target position.
3 Open data selection by:
z The Edit → Data Selection menu command..
z The Data Selection... menu commandfrom the shortcut menu for the
section.
or
z Press the Ctrl+D key combination.
Result:
A data selection box (See Data selection boxes, p. 1257) is opened.
4 You have the following options to enter the formal parameter:
z You can enter the formal parameter name and confirm using Enter or the
button.
In this case the procedure ends here.
z You can select the name from the list of recently used names using the
symbol and confirm using Enter or the button.
In this case the procedure ends here.
or
z Use the button ... to open a data selection dialog box (See Data selection
dialog box, p. 737).
5 Select the Function Blocks (See Function Blocks tab, p. 738) tab.
Result:
All declared block instances are displayed.
6 Expand the display of the inputs, outputs, and any inputs/outputs and public
variables by clicking their + symbols.
Result:
You can now see all available inputs/outputs of the function block.
7 Select the desired formal parameter and confirm with OK.
Result: The selected formal parameter is inserted into the section and a syntax
and semantics check (See Syntax and Semantics Check during Programming,
p. 697) is performed.
For example:

701
IL Editor

Calling an FFB

Introduction You have the following options to open FFBs (Elementary Function, Elementary
Function Block, Derived Function Block, Procedure):
z You can enter the call like you enter any text (for syntax, see Calling FFB sections
in the Reference manual),
z you can use the function input assistants,
or
z you can enter the FFB to the section using the drag & drop method.

Note: Procedures are expansions to IEC 61131-3 and must be explicitly enabled
via the Tools → Project Settings dialog box, in the Language extensions tab by
activating the Allow procedures check box.

Calling a Process the following steps to call a function block (elementary or derived) with the
function block function input assistant:
using the
Step Action
function input
assistant 1 Place the cursor at the target position.
Note: No text may be selected in the section.
The following positions are possible:
z On a free position outside of an existing FFB call.
z On a space within an existing FFB call. (In this case, an FFB call is created
within an FFB call.)
2 Open the function input assistant (See Function Input Assistant, p. 740) using:
z the Edit → FFB Input Assistant... menu command..
z The FFB Input Assistant...menu commandfrom the shortcut menu (right-
click) for the section.
z Pressing the Ctrl+I key combination, or select the symbol.
Result:
The function input assistant will be opened.
3 In the FFB type line click the button ...., to open an FFB selection window (See
Function Types/Function Block Types tab, p. 739).
Result:
The FFB selection dialog box is opened.
4 Select the library and family from the Libraries/Families column which contains
the desired function block.
Tip: If you do not know where to find the FFB you are looking for select the
Libset, entry to see a list of all the FFBs available independently of their libraries.
5 Select the desired function block from the Name column.

702
IL Editor

Step Action
6 Confirm the selection with OK.
Result:
z The function block is added to the function input assistant dialog box.
z An instance name is automatically suggested. You can keep this or change it
as you please.
z You can see all available parameters of the function block, see also
Information about programming.
7 The number of inputs can be increased with some elementary functions. (You
find out which functions can be expanded by referring to the descriptions for the
individual functions.)
Expandable pins can be recognized from the following display:
To add further pins select the last pin in the structure and press Add pin.
8 Double-click the Entry field cell of the first parameter and enter the name of the
variable/address or an expression to be used.
You have the following options to enter the variable/address:
z You can now enter the variable name and confirm using Enter.
z You can select the variable/address from the list of recently used variables/
addresses using the symbol.
z Using the button ... to open a variable selection dialog box (See Variables
tab, p. 737).
Assign all parameters of the function block a variable/address in this way.
9 Confirm the entries using the OK button.
Result: The function block call is inserted into the IL section and a syntax and
semantics check (See Syntax and Semantics Check during Programming,
p. 697) is performed.

Calling a Calling a function or procedure using the function input assistant is identical in
function or principle to calling a function block. The only difference is the absence of an instance
procedure using name (step 6 of the procedure Calling a function block using the function input
the function assistant, p. 702).
input assistant

Remarks Some complex FFBs provide additional windows for entering parameters. Access to
this window is gained using the Special Assistant button that appears at the bottom
of the window.

703
IL Editor

Calling a Process the following steps to select a block instance that has already been
function block declared:
instance using
Step Action
the function
input assistant 1 Place the cursor at the target position.
2 Open the function input assistant (See Function Input Assistant, p. 740) using:
z The Edit → FFB Input Assistant menu command.
z The FFB Input Assistant...menu commandfrom the shortcut menu (right-
click) for the section.
z Pressing the Ctrl+I key combination.
z Select the symbol.
Result:
The function input assistant will be opened.
3 In the Instance line click the button ...., to open an FFB selection window (See
Function Blocks tab, p. 734).
Result: The dialog box for selecting function block instances is opened.
4 Select the desired block instance from the Name column and confirm the
selection with OK.
Result:
z The block instance is added to the function input assistant dialog box.
z You can see all available parameters of the function block, see also
Information about programming.
5 Double-click the Entry field cell of the first parameter and enter the name of the
variable/address to be used.
You have the following options to enter the variable/address:
z You can now enter the variable name and confirm using Enter.
z You can select the variable/address from the list of recently used variables/
addresses using the symbol.
z Using the button ... to open a variable selection dialog box (See Variables
tab, p. 737).
Assign all parameters of the function block a variable/address in this way.
6 Confirm the entries using the OK button.
Result: The function block call is inserted into the IL section and a syntax and
semantics check (See Syntax and Semantics Check during Programming,
p. 697) is performed. If the variables are not declared yet a red wavy line under
the name is used to identify them.
7 Declare all variables in the Data Editor (See Creating variable instances of type
EDT, p. 220) or directly in the IL section (See Declaration of variables directly in
the IL section., p. 700).
Result: The red wavy line under the variable name disappears.

704
IL Editor

Changing the Process the following steps to change actual parameters with the function input
actual parameter assistant:
using the
Step Action
function input
assistant 1 Place the cursor inside a word for the FFB to be changed.
Note: No text may be selected and the FFB call to be changed must be
syntactically correct.
2 Open the function input assistant (See Function Input Assistant, p. 740) using:
z The Edit → FFB Input Assistant... menu command..
z The FFB Input Assistant...menu commandfrom the shortcut menu (right-
click) for the section.
z Pressing the Ctrl+I key combination.
or
z Select the symbol.
Result:
The function input assistant is opened with the current actual parameters.
3 Make the desired changes and confirm using OK.

Inserting FFBs FFBs can also be inserted into the section via drag & drop using the Types Library
via drag & drop Browser (See Type Library Browser, p. 757).
You have the following options to activate the Types Library Manager:
z Use the Tools → Types Library Manager menu command.
or
z Pressing the Alt+3 key combination.

705
IL Editor

Using Public Variables

Introduction In addition to inputs/outputs, some function blocks also provide public variables.
These variables transfer statistical values (values that are not influenced by the
process) to the function block. They are used for setting parameters for the function
block.
The assignment of values to public variables is made via their initial values or via the
load and save instructions.
Public variables are read via the instance name of the function block and the names
of the public variables.

Assigning Process the following steps to assign values using the initial value:
Values using the
Step Action
Initial Value
1 Call the function block for whose public variable you want to assign a value, see
also Calling an FFB, p. 702.
2 Open the data editor, see also Accessing the data editor, p. 214.
3 Select the Function Block tab.
Result: The function block instances are displayed.
4 Expand the display of the public variables by clicking the respective + symbols.
Result: You can now see all available public variables of the function block.
5 Enter the desired value for the public variable in the Value box.

Assigning Carry out the following steps to assign values using the load and save instructions:
Values using the
Step Action
Load and Save
Instructions 1 Call the function block for whose public variable you want to assign a value, see
also Calling an FFB, p. 702.
2 Load the value to be assigned to the buffer.
For example:
LD 1
3 Save the buffer contents in a public variable, see also Using formal parameters,
p. 701.
For example:
ST D_ACT1.OP_CTRL

Reading public See Using formal parameters, p. 701


variables

706
IL Editor

Online functions

Online functions The description of online functions is found in chapter Debugging in Textual
Languages (Structured Text, Instruction List), p. 884.

707
IL Editor

Export/Import IL Sections

Export/Import The description for exporting/importing sections is found in the chapter Import /
Export, p. 1151.

708
ST Editor

26
Introduction

Overview This chapter describes the specific menus and dialog boxes of the ST editor.
For a description of the syntax for the ST programming language, please refer to the
Structured Text ST chapter in the Reference manual.

What's in this This chapter contains the following topics:


Chapter?
Topic Page
Structure of an ST program 710
Creating an ST Program 712
Syntax and Semantics Check during Programming 713
Data input 714
Calling an FFB 718
Using public variables 722
Calling a statement 723
Online functions 728
Export/Import IL Sections 729

709
ST Editor

Structure of an ST program

Introduction An ST program (Structured Text) consists of a list of statements that are executed
in sequence by the controller. Using these statements you can call function blocks,
functions and procedures conditionally or unconditionally, make assignments,
execute statements explicitly, repeat statements and execute jumps conditionally or
unconditionally within a section.

Properties of an Properties of an ST program:


ST program z Statements consist of:
z an operator,
z an operand,
z an expression if required and
z a comment if required.
z In addition, every statement can be provided with a label.
z Statements must be concluded with semicolons.
z Several statements (separated by semicolons) may be present in one line.
z A single semi-colon denotes an empty statements.
z Each line is limited to 300 characters.
z Line breaks are possible in statements (multi-line statements).
z Labels, symbols and comments can be placed anywhere in a section.
(Comments can be entered anywhere where empty spaces are permitted.)
z A syntax and semantics check (See Syntax and Semantics Check during
Programming, p. 713) is performed immediately after the statement is entered.
The result of this check is displayed in colored text.
z Syntactically or semantically incorrect sections can be saved.

710
ST Editor

Edit and view Edit and view functions of the ST editor:


functions z Entering text using the insert or overwrite mode (See Writing in insert/overwrite
mode, p. 712)
z Selecting text (See Selecting Text, p. 668) (characters, words, lines, all)
z Deleting text (See Deleting Text, p. 670)
z Cutting (See Cutting Text, p. 670), copying (See Copying Text into the Clipboard,
p. 670) and pasting (See Pasting Text from the Clipboard, p. 671)
z Moving text (See Moving Text, p. 671) (also between different ST/IL sections)
z Undo (See Undo changes, p. 672) and Redo (See Redo changes, p. 672)
z Go To function (See Go to, p. 677)
z Using bookmarks (See Using Bookmarks, p. 675)
z Searching for text and marking the result (See Searching text, p. 681)
z Searching and replacing text (See Searching and replacing text, p. 682)
z Searching and replacing variables and function blocks and DFB instances
z Displaying text in selectable fonts and sizes
The text display type can be selected from the View → Select Font menu
command. This configuration applies to all sections of the IL and ST
programming languages.
z Intelligent text indentation
The text indentation of a new line is taken from the previous one.
z Display the position (line, column) of the cursor in the status bar.

Input assistants Input assistant for the ST editor:


z Input assistant for variables (See Data input, p. 714)
z Input assistant for functions, function blocks and procedures (See Calling an
FFB, p. 718)
z Input assistant for statements (See Calling a statement, p. 723)

Online functions ST editor online functions:


z Displaying actual values (See Inspect windows, p. 685).
z Setting breakpoints (See Insertion of a breakpoint in textual languages
(Structured Text or Instruction List), p. 885)
z Setting watchpoints (See Insertion of a watchpoint in textual languages
(Structured Text or Instruction List), p. 889)
z Step by Step (See Step by step execution mode in textual languages (Structured
Text or Instruction List), p. 887)

711
ST Editor

Creating an ST Program

Writing in insert/ Text can be entered in insert or overwrite modes


overwrite mode z Insert mode
The characters entered are inserted in the current position of the insert marker in
addition to the existing characters.
z Overwrite mode
The characters entered are inserted in the current position of the insert marker
and overwrite the existing characters.
Switching between the modes is done using the Insert key.
The current mode is displayed by INS for insert mode and OVR for overwrite mode.

Creating an ST Carry out the following procedures to create an ST program:


program
Step Action
1 Creating an ST section (See Creating an FBD, LD, IL or ST section, p. 330).
2 Enter the first instruction (e.g. VarA := VarB).
Note: As soon as the text is entered several checks are made, such as syntax/
semantic error checks, correct spelling of keywords and variable names etc. A
detailed description of syntax is found in chapter Structured Text in the
Reference manual.
The results of the checks are indicated by a color folder, see also Syntax and
Semantics Check during Programming, p. 713.
3 Terminate the instruction with the closing operator (;).
4 Confirm the line with the ENTER key.
5 Repeat these steps until all instructions are entered.

712
ST Editor

Syntax and Semantics Check during Programming

Introduction A syntax and semantics check is carried out during program creation. The result of
this check is displayed in color text.

Representation Representation of colors and labels:


Labeling Description
blue Keyword (e.g. IF, FOR, WHILE,...)
Note: IL specific keywords (e.g. LD, CAL, ST) are not keywords in ST, but
are still labeled as such for technical reasons.
red Operators (that are not keywords)
green Comment
black standard text (e.g. variable, address, label, ...)
bold The name of DFBs and subroutines are shown in boldface to identify that
these objects can be refined (See Refine DFBs and subroutines, p. 684).
underlining In DFB sections, the formal parameters of the DFBs are shown underlined.
red wavy line Faulty text:
z Syntax error
e.g. spelling errors in keywords, non-declared variables, incorrect block
call, ...
z Semantic error
e.g. division by zero, value range exceeded/underflow (recognized by the
system when entered)
Inverted text Text is selected

Quickinfo If the cursor is placed over faulty text, a Quickinfo (Tooltip) with a brief description of
the cause of the error appears.

713
ST Editor

Data input

Introduction You have different options for using data in your ST section.
z Using already declared variables (See Entering declared variables using data
selection, p. 715)
z You can use a data selection dialog box.
or
z you can enter the variable name just like any other text.
z Use undeclared variables and declare them later (See Entering undeclared
variables and declaring them later, p. 715)
You can define the variable name when creating your ST section and then
declare all variables used.
z Use undeclared variables and declare them immediately (See Entering
undeclared variables and declaring them immediately, p. 716)
You can define variable names when creating your ST section and declare them
immediately.
z Declaration of variables directly in the ST section. (See Declaration of variables
directly in the ST section., p. 716)
You can declare variables in the Data Editor (See Creating variable instances of
type EDT, p. 220), but also directly in the ST section.
z Using formal parameters from function blocks (inputs/outputs, public variables)
(See Using formal parameters, p. 717)
z You can use a data selection dialog box.
or
z You can enter the formal parameter name just like any other text.

714
ST Editor

Entering Carry out the following steps to enter a declared variable using data selection:
declared
Step Action
variables using
data selection 1 Declare the required variables, see also Creating variable instances of type EDT,
p. 220.
2 Place the cursor at the target position.
3 Open data selection by:
z The Edit → Data Selection menu command..
z The Data Selection... menu commandfrom the shortcut menu for the
section.
or
z Press the Ctrl+D key combination.
Result:
A data selection box (See Data selection boxes, p. 1257) is opened.
4 You have the following options to enter variables:
z You can now enter the variable name and confirm using Enter or the button.
z You can select the variable names from the list of recently used names using
the symbol and confirm using Enter or the button.
z You can delete your entry by pressing Esc or the button .
z Use the button ...to open a variable selection dialog box (See Data selection
dialog box, p. 737) and in the Variables (See Variables tab, p. 737) tab
confirm the selected variable using the OK button.
Result: The selected variable is enabled in the section.

Entering Process the following steps to enter undeclared variables and declare them later:
undeclared
Step Action
variables and
declaring them 1 Place the cursor at the target position.
later 2 Enter the variable name.
Result: The variable selected is accepted. The syntax and semantics check
(See Syntax and Semantics Check during Programming, p. 713) marks the
variable name with a red wavy line to identify it as being undeclared, e.g.
3 Enter all variables in this way.
4 Declare all variables in the Data Editor (See Creating variable instances of type
EDT, p. 220) or directly in the ST section (See Declaration of variables directly
in the ST section., p. 716).
Result: The red wavy line under the variable name disappears.

715
ST Editor

Entering Process the following steps to enter undeclared variables and declare them
undeclared immediately:
variables and
Step Action
declaring them
immediately 1 Place the cursor at the target position.
2 Click Create Variable in the shortcut menu, or press the Shift+Enter key
combination
Result: The variable declaration dialog box opens.

3 Enter the variable name and data type.


4 If you do not want to assign an address or comment, confirm using Enter or the
symbol.
Result: The variable is declared and inserted at the target position in the section.
5 If you do want to assign the variable an address and/or comment, use the
symbol for obtaining an advanced dialog and enter the address and/or comment.

6 Confirm with Enter or the symbol.


Result: The variable is declared and inserted at the target position in the section.

Declaration of Process the following steps to declare variables directly in the ST section.
variables directly
Step Action
in the ST section.
1 Place the cursor in an undeclared variable (undeclared variables are identified
by a red wavy line).
2 Click Create Variable in the shortcut menu, or press the Shift+Enter key
combination
Result: The variable declaration dialog box opens.

Note: The variable name automatically appears in the Name field, if editor
recognizes the text entered in the section as a variable and its syntax is correct.
3 If you do not want to assign an address or comment, confirm using Enter or the
symbol.
Result: The variable is declared and the red wavy line under the variable name
disappears.
4 If you do want to assign the variable an address and/or comment, use the
symbol for obtaining an advanced dialog and enter the address and/or comment.

5 Confirm with Enter or the symbol.


Result: The variable is declared and the red wavy line under the variable name
disappears.

716
ST Editor

Using formal Process the following steps to use formal parameters with data selection:
parameters
Step Action
1 Call the function block whose formal parameters you want to use, see also
Calling a function block (See Calling a function block using the function input
assistant, p. 718).
2 To use the formal parameter, place the cursor at the target position.
3 Open data selection by:
z The Edit → Data Selection menu command..
z The Data Selection... menu commandfrom the shortcut menu for the
section.
or
z Press the Ctrl+D key combination.
Result:
A data selection box (See Data selection boxes, p. 1257) is opened.
4 You have the following options to enter the formal parameter:
z You can enter the formal parameter name and confirm using Enter or the
button.
In this case the procedure ends here.
z You can select the name from the list of recently used names using the
symbol and confirm using Enter or the button.
In this case the procedure ends here.
or
z Using the button ... to open a data selection dialog box (See Data selection
dialog box, p. 737).
5 Select the Function Blocks (See Function Blocks tab, p. 738) tab.
Result:
All declared block instances are displayed.
6 Expand the display of the inputs, outputs, and any inputs/outputs and public
variables by clicking their + symbols.
Result:
All available formal parameters are displayed now.
7 Select the desired formal parameter and confirm with OK.
Result: The selected formal parameter is inserted into the section and a syntax
and semantics check (See Syntax and Semantics Check during Programming,
p. 713) is performed.
For example:

717
ST Editor

Calling an FFB

Introduction You have the following options to open FFBs (Elementary Function, Elementary
Function Block, Derived Function Block, Procedure):
z You can enter the call like you enter any text (for syntax, see the section Calling
FFBs in the Reference manual),
z You can use the function input assistants,
or
z You can enter the FFB to the section using the drag & drop method.

Note: Procedures are expansions to IEC 61131-3 and must be explicitly enabled
via the Tools → Project Settings dialog box, in the Language extensions tab by
activating the Allow procedures check box.

Calling a Process the following steps to call a function block (elementary or derived) with the
function block function input assistant:
using the
Step Action
function input
assistant 1 Place the cursor at the target position.
Note: No text may be selected in the section.
The following positions are possible:
z On a free position outside of an existing FFB call.
z On a space within an existing FFB call. (In this case, an FFB call is created
within an FFB call.)
2 Open the function input assistant (See Function Input Assistant, p. 740):
z The Edit → FFB Input Assistant... menu command..
z The FFB Input Assistant...menu commandfrom the shortcut menu (right-
click) for the section.
z Press the Ctrl+Ikey combination.
z Select the symbol.
Result: The function input assistant will be opened.
3 Click the FFB-Typ button in the....column, to open an FFB selection window
(See Function Types/Function Block Types tab, p. 739).
Result: The FFB selection dialog box is opened.
4 Select the library and family from the Libraries/Families column which contains
the desired function block.
Tip: If you do not know where to find the FFB you are looking for select the
Libset, entry to see a list of all the FFBs available independently of their libraries.
5 Select the desired function block from the Name column.

718
ST Editor

Step Action
6 Confirm the selection with OK.
Result:
z The function block is added to the function input assistant dialog box.
z An instance name is automatically suggested. You can keep this or change it
as you please.
z You can see all available parameters of the function block, see also
Information about programming.
7 The number of inputs can be increased with some elementary functions. (You
find out which functions can be expanded by referring to the descriptions for the
individual functions.)
Expandable pins can be recognized from the following display:
To add further pins select the last pin in the structure and press Add pin.
8 Double-click the Entry field cell of the first parameter and enter the name of the
variable/address or an expression to be used.
You have the following options to enter the variable/address:
z You can now enter the variable name and confirm using Enter.
z You can select the variable/address from the list of recently used variables/
addresses using the symbol.
z Using the button ... to open a variable selection dialog box (See Variables
tab, p. 737).
Assign all parameters of the function block a variable/address in this way.
9 Confirm the entries using the OK button.
Result: The function block call is inserted into the ST section and a syntax and
semantics check (See Syntax and Semantics Check during Programming,
p. 713) is performed.

Calling a Calling a function or procedure using the function input assistant is identical in
function or principle to calling a function block. The only difference is the absence of an instance
procedure using name (step 5 of the procedure Calling a function block using the function input
the function assistant, p. 718).
input assistant

Remarks Some complex FFBs provide additional windows for entering parameters. Access to
this window is gained using the Special Assistant button that appears at the bottom
of the window.

719
ST Editor

Calling a Process the following steps to select a block instance that has already been
function block declared:
instance using
Step Action
the function
input assistant 1 Place the cursor at the target position.
2 Open the function input assistant (See Function Input Assistant, p. 740):
z The Edit → FFB Input Assistant... menu command..
z The FFB Input Assistant...menu commandfrom the shortcut menu (right-
click) for the section.
z Press the Ctrl+Ikey combination.
z Select the symbol.
Result: The function input assistant will be opened.
3 Click the Instance button in the....column, to open an FFB selection window
(See Function Blocks tab, p. 734).
Result: The dialog box for selecting function block instances is opened.
4 Select the desired block instance from the Name column and confirm the
selection with OK.
Result:
z The block instance is added to the function input assistant dialog box.
z You can see all available parameters of the function block, see also
Information about programming.
5 Double-click the Entry field cell of the first parameter and enter the name of the
variable/address to be used.
You have the following options to enter the variable/address:
z You can now enter the variable name and confirm using Enter.
z You can select the variable/address from the list of recently used variables/
addresses using the symbol.
z Using the button ... to open a variable selection dialog box (See Variables
tab, p. 737).
Assign all parameters of the function block a variable/address in this way.
6 Confirm the entries using the OK button.
Result: The function block call is inserted into the ST section and a syntax and
semantics check (See Syntax and Semantics Check during Programming,
p. 713) is performed. If the variables are not declared yet a red wavy line under
the name is used to identify them.
7 Declare all variables in the Data Editor (See Creating variable instances of type
EDT, p. 220) or directly in the ST section (See Declaration of variables directly
in the ST section., p. 716).
Result: The red wavy line under the variable name disappears.

720
ST Editor

Changing the Process the following steps to change actual parameters with the function input
actual parameter assistant:
using the
Step Action
function input
assistant 1 Place the cursor inside a word of the FFB to be changed.
Note: No text may be selected and the FFB call to be changed must be
syntactically correct.
2 Open the function input assistant (See Function Input Assistant, p. 740):
z The Edit → FFB Input Assistant... menu command..
z The FFB Input Assistant...menu commandfrom the shortcut menu (right-
click) for the section.
z Press the Ctrl+Ikey combination.
z Select the symbol.
Result:
The function input assistant is opened with the current actual parameters.
3 Make the desired changes and confirm using OK.

Inserting FFBs FFBs can also be inserted into the section via drag & drop using the Types Library
via drag & drop Browser (See Type Library Browser, p. 757).
You have the following options to activate the Types Library Manager:
z Use the Tools → Types Library Manager menu command.
or
z Press the Alt+3 key combination.

721
ST Editor

Using public variables

Introduction In addition to inputs/outputs, some function blocks also provide public variables.
These variables transfer statistical values (values that are not influenced by the
process) to the function block. They are used for setting parameters for the function
block.
The assignment of values to public variables is made via their initial values or
assignments.
Public variables are read via the instance name of the function block and the names
of the public variables.

Assigning values Process the following steps to assign values using the initial value:
using the initial
Step Action
value
1 Call the function block for whose public variable you want to assign a value, see
also Calling an FFB, p. 718.
2 Open the data editor, see also Accessing the data editor, p. 214.
3 Select the Function Block tab.
Result:
The function block instances are displayed.
4 Expand the display of the public variables by clicking the respective + symbols.
Result:
You can now see all available public variables of the function block.
5 Enter the desired value for the public variable in the Value box.

Assigning values Process the following steps to assign values using the assignment operator:
using the
Step Action
assignment
operator 1 Call the function block for whose public variable you want to assign a value, see
also Calling an FFB, p. 718.
2 Call the public variable, see also Using formal parameters, p. 717.
For example:
D_ACT1.OP_CTRL
3 Assign a value to the public variable.
For example:
D_ACT1.OP_CTRL := 1 ;

Reading public See Using formal parameters, p. 717


variables

722
ST Editor

Calling a statement

Introduction You can call a statement (IF, FOR, WHILE, REPEAT, CASE) in the same way that you
enter text (syntax, see section Statement in the Reference manual) or using an input
assistant.

Selecting Selecting statements:


statements
Statement Description Call via menu Call via key
command combination
IF The IF statement determines that a statement Edit → New → F4
or a group of statements will only be executed IF Statement
if its related Boolean expression has the value
1 (true). If the condition is 0, the statement or
the statement group will not be executed.
See also in the Reference manual:
IF...THEN...END_IF,
ELSE and
ELSIF...THEN
FOR, The FOR statement repeats a statement Edit → New → F5
sequence until the END_FOR statement. The FOR
number of repetitions is determined by the Statement
start value, the end value and the control
variable.
See also in the Reference manual:
FOR...TO...BY...DO...END_FOR,
WHILE The WHILE statement causes a sequence of Edit → New → F6
statements to be executed repeatedly until its WHILE
related Boolean expression is 0. If the Statement
expression is false right from the start, the
group of statements will not be executed at all.
See also in the Reference manual:
WHILE...DO...END_WHILE,
REPEAT The REPEAT statement causes a sequence of Edit → New → Shift + F6
statements to be executed repeatedly (at least REPEAT
once) until its related Boolean condition is 1. Statement
See also in the Reference manual:
REPEAT...UNTIL...END_REPEAT,

723
ST Editor

Statement Description Call via menu Call via key


command combination
CASE The CASE statement consists of an INT data Edit → New → Shift + F4
type expression (the "selector") and a list of CASE
statement groups. Each group is provided with Statement
a label which consists of one or several integer
numbers (INT, DINT, UINT, UDINT) or areas
of integer values. The first group of statements
is executed, whose label contains the
calculated value of the selector. Otherwise
none of the statements will be executed.
See also in the Reference manual:
CASE...OF...END_CASE,

724
ST Editor

Calling a IF Process the following steps to call a IF statement with the input assistant:
statement using
Step Action
the input
assistant 1 Place the cursor at the beginning of an empty line.
2 Select the input assistant for IF statements, see also Selecting statements,
p. 723.
Result:
An empty IF statement is inserted into the section.
3 Complete the IF statement with your data.
Result: A syntax and semantics check (See Syntax and Semantics Check
during Programming, p. 713) is performed immediately after the statement is
entered.
Note: An input assistant is also provided for entering variables (See Data input,
p. 714) and calling FFBs (See Calling an FFB, p. 718) (functions, function blocks
and procedures).
For example:

Calling a FOR Process the following steps to call a FOR statement with the input assistant:
statement using
Step Action
the input
assistant 1 Place the cursor at the beginning of an empty line.
2 Select the input assistant for FOR statements, see also Selecting statements,
p. 723.
Result:
An empty FOR statement is inserted into the section.
3 Complete the FOR statement with your data.
Result: A syntax and semantics check (See Syntax and Semantics Check
during Programming, p. 713) is performed immediately after the statement is
entered.
Note: An input assistant is also provided for entering variables (See Data input,
p. 714) and calling FFBs (See Calling an FFB, p. 718) (functions, function blocks
and procedures).
For example:

725
ST Editor

Calling a WHILE Process the following steps to call a WHILE statement with the input assistant:
statement using
Step Action
the input
assistant 1 Place the cursor at the beginning of an empty line.
2 Select the input assistant for WHILE statements, see also Selecting statements,
p. 723.
Result:
An empty WHILE statement is inserted into the section.
3 Complete the WHILE statement with your data.
Result: A syntax and semantics check (See Syntax and Semantics Check
during Programming, p. 713) is performed immediately after the statement is
entered.
Note: An input assistant is also provided for entering variables (See Data input,
p. 714) and calling FFBs (See Calling an FFB, p. 718) (functions, function blocks
and procedures).
For example:

Calling a REPEAT Process the following steps to call a REPEAT statement with the input assistant:
statement using
Step Action
the input
assistant 1 Place the cursor at the beginning of an empty line.
2 Select the input assistant for REPEAT statements, see also Selecting statements,
p. 723.
Result:
An empty REPEAT statement is inserted into the section.
3 Complete the REPEAT statement with your data.
Result: A syntax and semantics check (See Syntax and Semantics Check
during Programming, p. 713) is performed immediately after the statement is
entered.
Note: An input assistant is also provided for entering variables (See Data input,
p. 714) and calling FFBs (See Calling an FFB, p. 718) (functions, function blocks
and procedures).
For example:

726
ST Editor

Calling a CASE Process the following steps to call a CASE statement with the input assistant:
statement using
Step Action
the input
assistant 1 Place the cursor at the beginning of an empty line.
2 Select the input assistant for CASE statements, see also Selecting statements,
p. 723.
Result:
An empty CASE statement is inserted into the section.
3 Complete the CASE statement with your data.
Result: A syntax and semantics check (See Syntax and Semantics Check
during Programming, p. 713) is performed immediately after the statement is
entered.
Note: An input assistant is also provided for entering variables (See Data input,
p. 714) and calling FFBs (See Calling an FFB, p. 718) (functions, function blocks
and procedures).
For example:

727
ST Editor

Online functions

Online functions The description of online functions is found in chapter Debugging in Textual
Languages (Structured Text, Instruction List), p. 884.

728
ST Editor

Export/Import IL Sections

Export/Import The description for exporting/importing sections is found in the chapter Import /
Export, p. 1151.

729
ST Editor

730
Programming Languages Data
Selection Dialog Box
27
Introduction

Overview This chapter describes the dialog boxes provided for data selection that can be
called from the various programming languages.

What's in this This chapter contains the following topics:


Chapter?
Topic Page
Variable selection dialog box 732
FFB Selection Dialog box 734
FFB Selection Dialog box 736
Data selection dialog box 737
Function Input Assistant 740
Data Properties 742
Generate variables 744

731
Data Selection Dialog Box

Variable selection dialog box

Structure of the The variable selection dialog box consists of two tabs:
properties dialog z Variables (See Variables tab, p. 732)
box You can select an elementary variable or an element of a multi-element variable
in this tab.
z Function Blocks (See Function Blocks tab, p. 733)
You can select a formal parameter of a function block instance in this tab.

Variables tab Elements of the Variables tab:


Element Description
Text box The selected variables are displayed in this text box.
button Double click the button to open a dialog box for filtering (See Filtering
data, p. 289) variables.
Name The name of the variable to search for can be entered in this text box.
You can also use the wildcard * and ?.
In Structure When you activate this checkbox, variables that are elements of a
multi-variable are also displayed.
Name The names of the variables are displayed in this column.

732
Data Selection Dialog Box

Function Blocks Elements of the Function Blocks tab:


tab
Element Description
Text box The selected function block instances are displayed in this text box.
Help about type Use this button to open the help for the function block instances
shown.
button Use this button to open a dialog box for filtering (See Filtering data,
p. 289) function block instances.
Name The name of the function block instance to search for can be entered
in this text box. You can also use the wildcard * and ?.
Default name When you activate this checkbox, the function block instances are
displayed whose default names (e.g. FBI_19_3, TON_1) have not
been changed.
EFB When you activate this checkbox, the instances of elementary function
blocks (EFBs) are displayed.
DFB When you activate this checkbox, the instances of derived function
blocks (DFBs) are displayed.
Name This column displays the names of the function block instances and
their formal parameters (inputs, outputs, public variables).
Type This column displays the types of the function block instances and the
data types of their formal parameters (inputs, outputs, public
variables).
Comment This column displays comments about the function block instances
and their formal parameters (inputs, outputs, public variables).

733
Data Selection Dialog Box

FFB Selection Dialog box

Structure of the The dialog box for selecting function block instances and function types/function
properties dialog block types consists of two tabs in FBD and LD:
box z Function Blocks (See Function Blocks tab, p. 734)
You can select a function block instance in this tab.
z Function Types/Function Block Types (See Function Types/Function Block
Types tab, p. 735)
You can select a function type or function block type in this tab.

Function Blocks Elements of theFunction Blocks tab:


tab
Element Description
Text box The selected function block instances are displayed in this text box.
button Double click the button to open a dialog box for filtering (See Filtering
data, p. 289) function block instances.
Name The name of the function block instance to search for can be entered
in this text box. You can also use the wildcards * and ?.
Default name When you activate this checkbox, the function block instances are
displayed whose default names (e.g. FBI_19_3, TON_1) have not
been changed.
EFB When you activate this checkbox, the instances of elementary function
blocks (EFBs) are displayed.
DFB When you activate this checkbox, the instances of derived function
blocks (DFBs) are displayed.
Name This column displays the names of the function block instances and
their formal parameters (inputs, outputs).
Type This column displays the types of the function block instances and the
data types of their formal parameters (inputs, outputs).
Comment This column displays comments about the function block instances
and their formal parameters (inputs, outputs).

734
Data Selection Dialog Box

Function Types/ Elements of the Function Types/Function Block Types tab:


Function Block
Element Description
Types tab
Text box The selected function block instances are displayed in this text box.
Help about type Use this button to open the help for the function block instances
shown.
button Use this button to open a dialog box for filtering (See Filtering data,
p. 289) function and function block types.
Name The name of the function type or function block type to search for can
be entered in this text box. You can also use the wildcards * and ?.
EF When you activate this checkbox, Elementary Function types (EFs)
are displayed.
EFB When you activate this checkbox, Elementary Function Block types
(EFBs) are displayed.
DFB When you activate this checkbox, Derived Function Blocks (DFBs) are
displayed.
Libraries/Families The scope of the displayed function types and function block types is
selected in this column:
z To display all function types and function block types used in the
project, select <Application>.
z To display all function types and function block types of a library
independently of the library assignment, select <Libset>.
z To display all function types and function block types of a library,
select the desired library.
z To display all function types and function block types of a family,
select the desired family.
Name This column displays the names of the function types and function
block types and their formal parameters (inputs, outputs).
Type This column displays the types of the function types and function block
types and the data types of their formal parameters (inputs, outputs).
Comment This column displays comments about the function types and function
block types and their formal parameters (inputs, outputs).

735
Data Selection Dialog Box

FFB Selection Dialog box

Structure of the In the Function Input Assistant dialog box: FFB type selection you can select a
properties dialog function type or function block type in this tab..
box

Function Input Elements of the Function Types/Function Block Types dialog box:
Assistant: FFB
Element Description
Type Selection
Text box The selected function or function block types are displayed in this text box.
Help about type Use this command button to open the help for the function or function
block types shown.
Command button Use this command button to open a dialog box for filtering (See Filtering
data, p. 289) function and function block types.
Name The name of the function type or function block type to search for can be
entered in this text box. You can also use the joker * and ?.
EF When you activate this check box, Elementary Function types (EFs) are
displayed.
EFB When you activate this check box, Elementary Function Block types
(EFBs) are displayed.
DFB When you activate this check box, Derived Function Blocks (DFBs) are
displayed.
Libraries/ The scope of the displayed function types and function block types is
Families selected in this column:
z To display all function types and function block types used in the
project, select <Application>.
z To display all function types and function block types of a library
independently of the library assignment, select <Libset>.
z To display all function types and function block types of a library, select
the desired library.
z To display all function types and function block types of a family, select
the desired family.
Name This column displays the names of the function types and function block
types and their formal parameters (inputs, outputs).
Type This column displays the types of the function types and function block
types and the data types of their formal parameters (inputs, outputs).
Comment This column displays comments about the function types and function
block types and their formal parameters (inputs, outputs).

736
Data Selection Dialog Box

Data selection dialog box

Structure of the The data selection dialog box consists of three tabs in IL and ST:
properties dialog z Variables (See Variables tab, p. 737)
box You can select an elementary variable or an element of a multi-element variable
in this tab.
z Function Blocks (See Function Blocks tab, p. 738)
You can select a function block instance in this tab.
z Function Types/Function Block Types (See Function Types/Function Block
Types tab, p. 739)
You can select a function type or function block type in this tab.

Variables tab Elements of the Variables tab:


Element Description
Text box The selected variables are displayed in this text box.
button Double click the button to open a dialog box for filtering (See Filtering
data, p. 289) variables.
Name The name of the variable to search for can be entered in this text box.
You can also use the wildcards * and ?.
EDT When you activate this checkbox, elementary variables are displayed.
DDT When you activate this checkbox, multi-element variables (derived
variables) are displayed.
IODDT When you activate this checkbox, derived I/O variables (IODDT
variables) are displayed.
Name The names of the variables are displayed in this column.

737
Data Selection Dialog Box

Function Blocks Elements of theFunction Blocks tab:


tab
Element Description
Text box The selected function block instances are displayed in this text box.
button Use this button to open a dialog box for filtering (See Filtering data,
p. 289) function block instances.
Name The name of the function block instance to search for can be entered
in this text box. You can also use the wildcards * and ?.
Default name When you activate this checkbox, the function block instances are
displayed whose default names (e.g. FBI_3, TON_1) have not been
changed.
EFB When you activate this checkbox, the instances of elementary function
blocks (EFBs) are displayed.
DFB When you activate this checkbox, the instances of derived function
blocks (DFBs) are displayed.
Name This column displays the names of the function block instances and
their formal parameters (inputs, outputs, public variables).
Type This column displays the types of the function block instances and the
data types of their formal parameters (inputs, outputs, public
variables).
Comment This column displays comments about the function block instances
and their formal parameters (inputs, outputs, public variables).

738
Data Selection Dialog Box

Function Types/ Elements of the Function Types/Function Block Types tab:


Function Block
Element Description
Types tab
Text box The selected function block types are displayed in this text box.
Help about type Use this button to open the help for the function block types shown.
button Use this button to open a dialog box for filtering (See Filtering data,
p. 289) function and function block types.
Name The name of the function type or function block type to search for can
be entered in this text box. You can also use the wildcards * and ?.
EF When you activate this checkbox, Elementary Function types (EFs)
are displayed.
EFB When you activate this checkbox, Elementary Function Block types
(EFBs) are displayed.
DFB When you activate this checkbox, Derived Function Blocks (DFBs) are
displayed.
Libraries/Families The scope of the displayed function types and function block types is
selected in this column:
z To display all function types and function block types used in the
project, select <Application>.
z To display all function types and function block types of a library
independently of the library assignment, select <Libset>.
z To display all function types and function block types of a library,
select the desired library.
z To display all function types and function block types of a family,
select the desired family.
Name This column displays the names of the function types and function
block types and their formal parameters (inputs, outputs).
Type This column displays the types of the function types and function block
types and the data types of their formal parameters (inputs, outputs).
Comment This column displays comments about the function types and function
block types and their formal parameters (inputs, outputs).

739
Data Selection Dialog Box

Function Input Assistant

Introduction If noFFB is selected when the function input assistant is called the FFB input
assistant is used for assigning parameters to the new FFBs generated.
Example for:
z FBD (See Calling an FFB via the FFB Input Assistant., p. 418)
z LD (See Selecting an FFB type via the Input Assistant, p. 514)
z IL (See Calling a function block using the function input assistant, p. 702)
z ST (See Calling a function block using the function input assistant, p. 718)
If an FFB is selected when the function input assistant is called the FFB input
assistant is used for assigning parameters to the new FFB generated.
Example for:
z FBD (See Actual parameter assignment using the function input assistant,
p. 430)
z LD (See Changing the actual parameter assignment using the function input
assistant, p. 527)
z IL (See Changing the actual parameter using the function input assistant, p. 705)
z ST (See Changing the actual parameter using the function input assistant,
p. 721)

Function Input Elements:


Assistant
Element Description
FFB type Enter the function type or function block type to edit in this text box.
You have the following options to enter the function type or function
block type:
z You can directly enter the type.
z You can select the type from the list of recently used types using
the symbol.
z Using the button ... you can open a dialog box to select FFB (See
Function Types/Function Block Types tab, p. 735) types.
Instance For existing function blocks this textbox shows the name of the
selected function block instance.
For function blocks to be generated enter the name of the selected
function block instance in this textbox.
You have the following options to enter the function instance or
function block instance:
z You can directly enter the instance.
z You can select the instance from the list of recently used instances
using the symbol.
z Using the button ... a dialog box for FFB instances selection (See
Function Blocks tab, p. 734) .

740
Data Selection Dialog Box

Element Description
Name This column displays the formal parameters (inputs, outputs) of the
function instance or function block instance.
Type This column displays the data types of the formal parameters (inputs,
outputs) of the function instance or function block instance.
No. This column displays the pin positions of the formal parameters
(inputs, outputs) of the function instance or function block instance.
Comment This column displays the comments of the formal parameters (inputs,
outputs) of the function instance or function block instance.
Entry field Enter the actual parameters of the function instance or function block
instance in this column.
You have the following options to enter actual parameters:
z You can directly enter the actual parameter.
z You can select the actual parameter from the list of recently used
actual parameters using the symbol.
z Using the button ... a dialog box for variables selection (See
Variable selection dialog box, p. 732) .
Adding a pin Using this button you can increase thenumber of inputs (See
Expanding Functions, p. 432) for expandable functions (e.g. AND,
OR).
Expandable pins can be recognized from the following display:
To add further pins select the last pin in the structure and confirm
using the Add pin button.
Removing pin(s) Using this button you can decrease the number of inputs (See
Expanding Functions, p. 432) for expandable functions (e.g. AND,
OR).
To decrease the number of inputs select the last pin(s) in the structure
and use the Remove pin(s) button.
Help about type Use this button to call up the FFB.
Special Assistant Some complex FFBs provide additional windows for entering actual
parameters. To access these windows use the Special Assistant
button.
OK For new FFBs the FFB insert mode for placing FFBs becomes active.
Use this button to accept the allocated actual parameters for existing
FFBs.
Close With this button, you can close the dialog box without accepting
changes.
Help Use this button to call up the dialog.

741
Data Selection Dialog Box

Data Properties

Introduction The anchored window (See Anchored window, p. 1243) Data Properties is used to
display and modify the variables and FFB properties.
The Data Properties window can be called up
z using the data editor (See Data editor, p. 211)
1. Selecting one or several lines in the data editor
2. Using the shortcut menu, select the Propertiescommand.
z the programming language sections
1. Selecting one or several element(s) in the programming language section.
2. From the context menu select the command Data properties or press CTRL
+ Enter.
How the window behaves and the options in the Data Properties window depend
on whether the window was opened using the Data Editor or the Programming
Languages section.

Note: If more than one object is selected, only the common data for all the selected
objects is displayed. If this data is modified, the modification applies to all the
selected objects. In this way it is possible to assign the same comment to different
variables or assign the same initial value, see also: Changing the attribute in
several instances, p. 244

CAUTION
Danger of loss of data
Please note that any changes made in the Data Properties window do
not just apply to the currently selected instance but to all instances of
the data selected.
Failure to follow this precaution can result in injury or equipment
damage.

742
Data Selection Dialog Box

Structure of the The contents of the window depends on the selected object.
window In the following table the different columns available in the Data Editor under various
tabs are shown.
Column name Description of the contents of the column:
Name Contains the name of the instance or data type.
Type Contains the data type.
Address Contains the address assigned to the variables.
Value Contains the initial value for the variables.
Comment Contains the variables/function blocks commentary.
Via the shortcut menu, the comment can be linked to a Hyperlink (See
Creating a hyperlink in the data editor, p. 1215).
Alias Contains a name selected by the user which makes it possible to change an
IODDT element to a name defined by a manufacturer.
see also: Administration of an instance of type IODDT, p. 233
Save Shows if the variable accepts the mechanism for updating initial values with
current values.
Used Shows the number of times the variable/function block is used in the
program and in other parts of the project (animation tables, user window).
Program RW Shows if the variable can be written by the program.
Constants Shows if the variable is a constant.
Custom Free text for use in an external tool for special user requirements.

743
Data Selection Dialog Box

Generate variables

Items Elements of the dialog box:


Element Description
Name Name of the variables to generate.
Type Datatype of the variables to generate.
If you want to allocate the variable for the elementary data type, you
can select it from the list.
If you want to allocate the variables for the derived data type, enter the
data type in the text box.
This button is only available in the IL and ST editor under the following
conditions:
z The cursor is located where a variable can be inserted (i.e. not in a
word).
z The name of the variable is automatically entered in the text box
Name.
You can confirm the entries using this button and the variable will be
declared and inserted in the section.
In the FBD and LD-Editor:
You can confirm the entries using this button and the variable will be
declared and (if not already inserted) inserted in the section.
In the IL and ST Editor:
You can confirm the entries using this button and the variable will be
declared (but not inserted in the section).
Cancel the generate of the variables using this button.
Use this button to show or hide the Address and Commentarytext
boxes.
Address Address of the variables to generate (optional).
Comment Comment for the variables to generate (optional).

744
I/O Objects tab

28
At a Glance

Subject of this This chapter describes the I/O objects tab, which is used to associate variables with
Chapter the module I/Os and to manage these different variables.

What's in this This chapter contains the following topics:


Chapter?
Topic Page
Introduction to the I/O Object Tab 746
I/O Objects Tab for a Processor 748
I/O Objects Tab for a Module 749
Details of Areas in the I/O Objects Tab 750
I/O Objects Tab for a Bus Device 752
How to Use the I/O Objects Tab 753

745
I/O objects

Introduction to the I/O Object Tab

General Points This tab is used to manage the I/O objects of a module, a field bus device or the
memory and system objects of the PLC.

The following table summarizes the different functionalities according to the type of
device associated with the tab:
Function Processor Module or bus device
Displaying all located objects of the PLC X -
Displaying I/O objects (topological addressing) X (1) X (2)
Filtering all located objects of the PLC X -
Filtering I/O objects X (1) X (2)
Sorting all located objects of the PLC X -
Sorting I/O objects X (1) X (2)
Creating an IODDT variable for a module - X
Creating an IODDT variable for a channel - X
Creating a topological EDT variable - X
Presymbolizing a set of IODDT variables for a - X
module
Presymbolizing a set of topological EDT variables - X
Legend:
X: available functionality,
-: non-available functionality
(1): of all I/O objects of the PLC
(2): only the I/O objects of the module or the device concerned.

Access Rules To access this tab, the following conditions must be met:
z The tab can be accessed from the configuration screen for the module, processor
or bus device (it is located at the same level as the description tab).
z The tab is accessible in offline and online mode.

746
I/O objects

Operating Rules The main operating rules are as follows:


z This tab can be used to create and associate variables, but not to delete them.
z To delete a variable created by this tab, you must use the data editor.
z Multiple presymbolization can only be used on compatible objects (of the same
type).
z For the processors, the tab only allows PLC objects to be displayed (variables
cannot be associated).
z The control loops built into the processor are regarded as module channels, and
consequently, creation and presymbolization are possible.
z It is possible to name a variable derived after symbolization.
For example, if Counter_0 is a T_COUNT_STD type variable, the presymbolized
counting value Counter_0.CUR_MEASURE can be renamed (Value_C0, for
example).

747
I/O objects

I/O Objects Tab for a Processor

At a Glance The processor I/O Objects tab can be used to view PLC objects (system objects,
memory objects) as well as I/O objects, regardless of whether they belong to the X
bus or to a communication bus device (for example, Fipio).

Note: This screen can only be used to view objects; for modifications, use the I/O
objects tab associated with the modules or bus devices (See I/O Objects Tab for
a Module, p. 749).

Description The different areas of the screen are as follows:


Zone Description
CPU objects (See Illustration of the CPU This zone can be used to select PLC system
Objects Area, p. 748) and memory objects that you would like to
view in the Address Name Type zone.
I/O Objects (See Illustration of the I/O Objects This zone can be used to select processor I/O
Area, p. 748) objects that you would like to view in the
Address Name Type zone.
Update (See Illustration of the Update Area, This zone allows you to start the update of the
p. 749) information in the Address Name Type zone.
Address Name Type (See Illustration of the Zone used to view and select data. The
Address Name Type Area, p. 749) contents of this zone are obtained using the
buttons and selections of the previous zones.

748
I/O objects

I/O Objects Tab for a Module

At a Glance For a module, this tab can be used to view module I/O objects and to manage the
association of these objects with variables.

Note: To view PLC objects (system, internal memory or internal constant objects),
use the I/O objects tab associated with the processor (See I/O Objects Tab for a
Processor, p. 748).

Description The different areas of the screen are as follows:


Zone Description
Create I/O variable (See Illustration of the This zone can be used to create variables and
Create I/O Variable Area, p. 748) to associate them with channels or channel
elements.
I/O Objects (See Illustration of the I/O Objects This zone can be used to select processor I/O
Area, p. 748) objects that you would like to view in the
Address Name Type zone.
Update (See Illustration of the Update Area, This zone allows you to start the update of the
p. 749) information in the Address Name Type zone.
Address Name Type (See Illustration of the Zone used to view and select data. The
Address Name Type Area, p. 749) contents of this zone are obtained using the
buttons and selections of the previous zones.

749
I/O objects

Details of Areas in the I/O Objects Tab

At a Glance The I/O Objects tab is available for:


z Modules of the X bus and their channels,
z Processors and their channels,
z Process control loops,
z Communication bus devices.
The following paragraphs give details of the areas available from this tab.

Description of The selection of different objects using checkboxes %S, %SW, %M, %MW, %MD,
the CPU Objects %MF, %MKW, %KD and %KF enables these to be displayed in the Address Name
Area Type area, once the Update Grid with... button is pressed, in the Update area.

Description of The selection of different objects using checkboxes enables these to be displayed
the I/O Objects in the Address Name Type area, once the Update Grid with... button is pressed,
Area in the Update area.
The different objects can be selected by type:
z Channel: for module channels or a bus device.
z Configuration: for configuration language objects.
z System: for language objects managing explicit exchanges.
z State: for status language objects (accessible by READ_STS).
z Parameter: for parametering language objects (accessible by READ_PARAM,
WRITE_PARAM, SAVE_PARAM, RESTORE_PARAM).
z Command: for command language objects (accessible by WRITE_CMD).
z Implicit: for implicit language objects of the module or a bus device.

750
I/O objects

Description of Having selected one or more objects in the Address Name Type area, you can
the Create I/O select an IODDT type and create one or more variables of this type by clicking
Variable Area Create.
Operating rules:
z By selecting a line in the Address Name Type area, you can create a variable
for which you can enter the name.
z By selecting several homogenous (same type) lines from the Address Name
Type area, you can automatically create several variables with identical prefixes
(the first variable with the suffix 0 the second 1, the third 2, etc.).
z When the selected variable(s) is/are EDT type, the type area is grayed out. Type
selection is only available when several types are available.

Description of This field enables you to:


the Address z Display the objects selected in the CPU Objects and I/O Objects areas.
Name Type Area z Select one or more object lines in order to create variables and associate
variables with these.

Description of By clicking the Update Grid with... button, you can update the Address Name
the Update Area Type area from the information selected in the CPU Objects and I/O Objects areas.
The Address Name Type area is also used to select objects in order to create
variable names for them (only true for modules, control loops and communication
bus devices).
The Cancel button is used to cancel the update of object names from the Address
Name Type area.
The Filter on use button is used to display only those objects used in the project.
The addresses, names and types and use checkboxes are used, respectively, to
display:
z The Address column,
z The Name and Type columns,
z In bold the variables used in the program.

751
I/O objects

I/O Objects Tab for a Bus Device

At a Glance All bus devices that have a description window also have an I/O objects tab.
Currently, only Fipio bus devices have an I/O objects tab. This tab behaves in
exactly the same way as the I/O objects of a module (See I/O Objects Tab for a
Module, p. 749) tab.

752
I/O objects

How to Use the I/O Objects Tab

At a Glance The I/O tab is used to facilitate the management of located variables in an
automation project running Unity Pro. For information on the different possible
actions, refer to the pages describing this tab for:
z Processors (See I/O Objects Tab for a Processor, p. 748),
z Modules (See I/O Objects Tab for a Module, p. 749),
z Communication bus devices (See I/O Objects Tab for a Bus Device, p. 752).
A description of the main procedures for carrying out these actions is given below.

How to Display The following table shows the procedure for displaying a list of objects associated
Required with a processor, module or communication bus device.
Objects
Step Action
1 In the CPU objects (See Illustration of the CPU Objects Area, p. 748) area or I/
O objects (See Illustration of the I/O Objects Area, p. 748) area, check the
boxes of the objects you want to display (%S, %SW, %MW, %CH, %M, %MW,
%I, %Q, etc.).
Note: The Select All and Deselect All buttons can be used to check or uncheck
all boxes.
2 In the Update (See Illustration of the Update Area, p. 749) area, click Update
Grid with....
Result: the Address Name Type (See Illustration of the Address Name Type
Area, p. 749) area is updated and displays all the selected variables available
on the processor, module or current bus device.
Note: When searching for names, it is possible to cancel an update in progress
by clicking Cancel.

How to Select an The following table shows the procedure for selecting an object associated with a
Object processor, module or communication bus device.
Step Action
1 In the Address Name Type (See Illustration of the Address Name Type Area,
p. 749) area, click the line of the object to select.
Result: the line appears in reverse video, and the Create I/O variable (See
Illustration of the Create I/O Variable Area, p. 748) area becomes accessible for
modules and communication bus devices, for creating a variable associated with
the selected line.
Note: If the Address Name Type area is empty or contains no object to select,
see the section How to Display Required Objects (See At a Glance, p. 753).

753
I/O objects

How to Create a The following table shows the procedure for creating a variable for a module object
Variable for an or communication bus device object.
Object
Step Action
1 In the Address Name Type (See Illustration of the Address Name Type Area,
p. 749) area, click the line of the object to select.
Result: the line appears in reverse video, and the Create I/O variable (See
Illustration of the Create I/O Variable Area, p. 748) area becomes accessible for
modules and communication bus devices, for creating a variable associated with
the selected line.
Note: If the Address Name Type area is empty or contains no object to select,
see the section How to Display Required Objects (See At a Glance, p. 753).
2 In the Create I/O variable (See Illustration of the Create I/O Variable Area,
p. 748) area, select the type of variable to create (if available).
Note: When the variable is EDT type (such as DINT, INT, BOOL, EBOOL type
variables) or when the available IODDT is unique, the choice of type is not
available.
3 In the Create I/O variable (See Illustration of the Create I/O Variable Area,
p. 748) area, enter the name of the variable to create.
4 In the Create I/O variable (See Illustration of the Create I/O Variable Area,
p. 748) area, click Create.
Result: a new variable is created, which is associated with the object selected
in the Address Name Type (See Illustration of the Address Name Type Area,
p. 749) area.

How to Select a The following table shows the procedure for selecting several objects associated
List of Objects with a module or communication bus device.
Step Action
1 In the Address Name Type (See Illustration of the Address Name Type Area,
p. 749) area, click the left column (gray column of object numbers) on the first
object to select.
2 Now click the mouse button and slide the cursor down to the last element to
select.
Result: the list of selected objects appears in reverse video.

754
I/O objects

How to Create The following table shows the procedure to create variables associated with several
Variables homogenous objects from a module or communication bus device.
Associated with
Step Action
a List of Objects
1 In the Address Name Type (See Illustration of the Address Name Type Area,
p. 749) area, click the left column (gray column of object numbers) on the first
object to select.
2 Now click the mouse button and slide the cursor down to the last element to
select.
Note: If the Address Name Type area is empty or contains no objects to select,
see the section How to Display Required Objects (See At a Glance, p. 753) in
order to select a contiguous list of objects to select.
3 In the Create I/O variable (See Illustration of the Create I/O Variable Area,
p. 748) area, select the type of variable to create (if available).
Note: When the selected variables are EDT type (such as DINT, INT, BOOL,
EBOOL type variables) or when a single IODDT is available, the choice of type
is not available.
Caution: if heterogeneous (not of the same type) objects appear in the list, the
creation of variables will not be available. You must therefore select a list of
homogenous objects.
4 In the Create I/O variable (See Illustration of the Create I/O Variable Area,
p. 748) area, enter the prefix to be associated with all selected objects.
Note: This prefix will be associated with a number to form the name of each
variable. The first object will be number 0, the second 1, the third 2, etc.
Example: if you enter the prefix Valve, the created variables will be: Valve0,
Valve1, Valve2, Valve3, etc.
5 In the Create I/O variable (See Illustration of the Create I/O Variable Area,
p. 748) area, click Create.
Result: the new variables are created and appear in the Address Name Type
(See Illustration of the Address Name Type Area, p. 749) area.

755
I/O objects

Frequently Below is a list of the most commonly asked questions you may have on the use of
Asked Questions the I/O Objects tab.
Question Response
How can I sort the objects list into Simply click on the name of the column to be
alphabetical order in a column? sorted.
How can I display the variables and objects The variables and objects used in a program
used in my project? appear in bold and the others are not yet
used.
How can I filter the objects of the Address Use the check boxes of the Update area.
Name Type area?
Why is the Address Name Type area Possible reasons include:
empty? z You have not yet updated the area by
clicking Update Grid with....
z You have not yet checked the boxes in the
CPU Objects or I/O Objects areas.
z No object for which the boxes are checked
appears in this module, processor or
communication bus device.
Why can’t I create variables? Possible reasons include:
z You are in the processor, and it is
therefore impossible to display the
objects.
z You have selected a list of heterogeneous
objects, and it is only therefore possible to
create lists of variables for objects of the
same type.
z You have selected an object that is
already associated with a variable. You
must go into the data editor to delete this
variable, in order to create another.
z You have selected a list of objects of
which at least one is already associated
with a variable (see previous point).

756
Type Library Browser

29
Introduction

Overview This chapter describes the type library browser.

What's in this This chapter contains the following topics:


Chapter?
Topic Page
Dragging and dropping functions and function blocks in an editor 758
Type Library Browser window 759
Configuration of the columns in the Type Library browser 761

757
Type Library Browser

Dragging and dropping functions and function blocks in an editor

Procedure To insert an FFB using drag & drop, carry out the following steps:
Step Action
1 Open a program section
2 Open the Types Library Browser per drag & drop.
z the Tools → Type Library Browsermenu command.
or
z press the key combination Alt+3.
3 Select the desired function/function block and hold down the left mouse button.
4 Drag the selected function/ function block types in the program section.
5 Release the mouse button.
Result:
z The function/ function block types are inserted in the program section.
z In the Tools → Options dialog box on the Data and Languages tab, if the
Automatically assign a variable to a new graphical object checkbox is
selected, then the Function input assistant (See Function Input Assistant,
p. 740) is automatically opened for inputting the current parameters.

758
Type Library Browser

Type Library Browser window

Calling the Type See Procedure, p. 758.


Library Browser

Structure of the Elements:


window
Element Description
Library name The scope of the displayed function types and function block types is
selected in this column:
z To display all function types and function block types used in the project,
select <Project>.
z To display all function types and function block types of a library
independently of the library assignment, select <Libset>.
z To display all function types and function block types of a library, select
the desired library.
Family name To display all function types and function block types of a library family,
select the desired family.
button Double click the button to open a dialog box for filtering (See Filtering data,
p. 289) functions and function block types.
Text box Name The name of the functions and function block types to search for can be
entered in this text box. You can also use the wildcards * and ?.
EF When you activate this checkbox, Elementary Function types (EFs) are
displayed.
EFB When you activate this checkbox, Elementary Function Block types (EFBs)
are displayed.
DFB When you activate this checkbox, Derived Function Blocks (DFBs) are
displayed.
List Name This column displays the names of the function types and function block
types and their formal parameters.

759
Type Library Browser

Shortcut menu Shortcut menu commands:


structure
Menu command Description
Copy in project This menu command is only available for functions and function block
types that are not used yet in the project.
Use this menu command to load the selected function and function
block types into the project (Select via <Project> in drop down list
Name of the Library )which makes it quicker to access the type in the
project.
Expand data Use this menu command to display the formal parameters of the
selected function and function block type. The same function is also
available above the + symbol in front of the function block type names.
Data summary Use this menu command to hide the formal parameters of the
selected function and function component type. The same function is
also available above the + symbol in front of the function block type
names.
Properties Use this menu command to call the Data Properties (See Data
Properties, p. 742)dialog box for the selected function and function
block type.
Customize columns Using this menu command you can:
z define the columns (See Configuration of the columns in the Type
Library browser, p. 761) to be displayed and
z define the sequence (See Configuration of the columns in the Type
Library browser, p. 761)for the columns shown.
Help about type Use this button to open the help for the selected function or function
block types shown.

760
Type Library Browser

Configuration of the columns in the Type Library browser

Introduction You can use the Column Configuration dialog box to:
z define the columns that you want to display,
z define the sequence for the columns shown.

Call the dialog You can call up the Column configuration dialog box from the shortcut menu in the
box: Type Library browser (See Type Library Browser window, p. 759).

Call the dialog Elements:


box
Element Description
Name This checkbox is to show the names of the functions and function blocks in the
Type Library Browser and cannot be unchecked.
Type When you activate this checkbox, the Type Library Browser and the types
(EFB,FB etc.) for the functions and function blocks are shown.
Version When you activate this checkbox, the Type Library Browser and the versions
of the functions and function blocks types are shown.
Comment When you activate this checkbox, the Type Library Browser and the comments
for the functions and function blocks types are shown.
Use this button to move the location of the selected attribute one place
forward.
The location of the attribute Name cannot be modified.
Use this button to move the location of the selected attribute one place back.
The location of the attribute Name cannot be modified.

761
Type Library Browser

762
Search/Replace tool

30
At a Glance

Subject of this This chapter presents the Search / Replace tool and how to use its main functions:
Chapter z the Search function is used to look for data,
z the Replace function is used to replace data.

What's in this This chapter contains the following topics:


Chapter?
Topic Page
Overview of the Search / Replace tool 764
General functionalities forSearch/Replace 766
Searching for data 767
Replacing data 768
Search data in project 769
Replace variables in a project 771
Cross-References: Current parameter 773

763
Search/Replace

Overview of the Search / Replace tool

Introduction The Search / Replace tool provides you with the following functions:
z the Search function,
z the Replace function.

Search Function This function lets you look for objects such as:
z instances of elementary data types (EDT),
z instances and types of derived data (DDT / IODDT),
z instances and types of function block data (EFB / DFB),
z instances and types of data relating to Sequential Function Charts (SFC),
z topological addresses (%M100).
The search is carried out in the following areas of the project:
z sections that make up the application program,
z animation tables,
z operator screens,
z configuration.

Replace This function lets you replace objects such as:


Function z instances of elementary data types (EDT),
z instances of derived data types (DDT / IODDT),
z instances of function block data (EFB / DFB),
z topological addresses (%M100).
The replacement objects must be declared, except for direct addressing data (%MW,
%DW, etc.) and their type must correspond to that of the objects being replaced.
The replacement is carried out in the following areas of the project:
z sections that make up the application program,
z animation tables,
z operator screens,
z configuration.

Accessing the To access the Search / Replace tool, you must perform the following actions:
Search / Replace
Step Action
Tool
1 From the Tools menu select the Search / Replace command.
Result: The Cross-References window appears.
Note: The Search / Replace tool opens with the Search tab selected by default.

764
Search/Replace

Predefined To access the Search / Replace tool with a predefined search, you must perform
search the following actions:
Step Action
1 Using the data editor, select the object whose references you want to see for the
entire project.
2 From the Tools menu, select the Initialize Search command.
Result: The Cross-References window appears.

765
Search/Replace

General functionalities forSearch/Replace

Copy / Paste You can use copy and paste in the following instances:
z Copying a data item from any given editor in the programming software and
pasting it into an entry field in the window,
z Copying a data item from the window and pasting it into any given editor in the
programming software,
z copying / pasting a data item within a window.

Drag & Drop You can use Drag & Drop in:
z the Search display area:
z drag a data item from any given editor in the programming software and drop
it at the end of the list of displayed references; the corresponding tree is
created,
z the Replace display area:
z drag a data item from any given editor in the programming software and drop
it at the end of the list of displayed references; the corresponding tree is
created with initialized check boxes and the references of the previous data
item are erased,

Protection The Search function is always available. Protection applies to:


z the references in the protected sections of the program, which are not displayed,
z the references in the protected sections of the DFBs, which are not displayed.
The Replace function complies with the protection applied to the different areas of
the project:
z if the application field is in read-only, the Replace button is not available,
z if certain references are protected, they cannot be selected for replacement.

Online mode The use and behavior of Search / Replace in online mode are identical to the use
and behavior in offline mode.

Save context When you close the Search / Replace window, the following data is saved:
z the position and size of the window,
z the selection of search parameters,
z the 10 most recent entries in the drop-down menu,
z the current view (structural or functional),
z the contents of the Unity Pro Search / Replace output window.

766
Search/Replace

Searching for data

Searching for To access the data search function, you must perform the following actions:
data
Step Action
1 From the Tools menu activate the Search/Replace command or press Alt+5.
2 Select the Search tab.
3 You have the following possibilities to the columns to be found you have the
following options:
z enter the search term with the keyboard into the Element,
z or using the drop-down menu,
z open the data editor using the command button ....
4 If necessary also use to enter advanced Search options (See Cross-
References: Current parameter, p. 773)
5 Select the view in which you wish to perform the search:
z for the structural view,
z for the functional view.
6 Run the search by clicking the button.

Example The following screen shows an example of a data search.


In this example, 2 searches are performed:
z for the data instance CD_Motor3: all areas of the structural view containing the
references are displayed,
z for the data type SERIAL_NUMBERS: given that this type is instantiated, the area
of the structural view containing the instance Parts_Identification is
displayed.

Note: A search results report is displayed in the Search/Replace tab in the Unity
Pro output window.

767
Search/Replace

Replacing data

Searching for To access the data search and replace function, you must perform the following
and replacing actions:
data
Step Action
1 From the Tools menu activate the Search/Replace command or press Alt+5.
2 Select the Replace tab.
3 You have the following possibilities to the columns to be found you have the
following options:
z enter the search term with the keyboard into the Element,
z or using the drop-down menu,
z open the data editor using the command button ....
4 If necessary also use to enter advanced Search options (See Cross-
References: Current parameter, p. 773)
5 Select the view in which you wish to perform the search:
z for the structural view,
z for the functional view.
6 Run the search by clicking the button.
7 Activate the displayed directory and check the boxes that correspond to the
references you wish to replace.
8 You have the following options to enter the replace instance:
z enter the term with the keyboard into the withfield,
z using the drop-down menu,
z open the data editor using the command button ....
9 Run the replacement by clicking the Replace button.

768
Search/Replace

Search data in project

Representation The Search tab in the Cross-references dialogis shown.

Description The table describes the different elements of the Search tab in the Cross-
references window.
Element Description
Element This lets you enter the data to search for.
If you click on the drop-down menu the entries for the last ten searches are
displayed.
The button ...lets you open the data editor in order to select the instance or
data type to look for (only the data that can be searched for is displayed).
Button: Execute the search.
Button: This lets you open the Cross-references window: Current parameter (See
Cross-References: Current parameter, p. 773) containing the options for
the next search.
Button: Shows the search result in a similar manner to the structural view in the
project browser.
Button: Shows the search result in a similar manner to the functional view in the
project browser.
Button: Lets you display the path for the element to be found in its full form or in a
shortened form.
z Full form
The path to the element being searched for is shown as a tree structure
in the Name column.
z Shortened form
The path to the element being searched for is shown in the Location
column.
Button: Help Calls up the Help for this dialog box.
Button: This function is only available if the reference being searched for is used
multiple times in the current tree structure.
This makes it possible to use the previous reference being searched for in
the current tree structure ("scrolling back").
Button: This makes it possible to use the next reference being searched for in the
current tree structure ("scrolling forwards").
Name This column shows:
z the name of the instance or type (DDT/IODDT/EFB/DFB) of the element
searched for,
z the path for the element to be found as a tree structure or functional view
(only in its full form)

769
Search/Replace

Element Description
Type This column shows:
z the type and reference of the data searched for,
z the programming language used in the sections, subroutines, events, etc.
that contain references to the data searched for
Usage This column shows:
z the nature of the references to the data searched for (read only, write only,
read / write),
z the data search area.
Location This column shows:
z the path for the element to be found (only in its shortened form)

770
Search/Replace

Replace variables in a project

Representation The Replace tab in the Cross-references dialogis shown.

Description The table describes the different elements of the Replace tab in the Cross-
References window.
Element Description
Replace This lets you enter the data item to search for (only replaceable data is
tolerated).
If you click on the drop-down menu the entries for the last ten searches
are displayed.
The button ...lets you open the data editor in order to select the instance
or data to look for (only instances that can be replace the object are
displayed).
with: This lets you enter the replacement data (only data compatible with the
data being searched for is tolerated).
If you click on the drop-down menu the entries for the last ten searches
are displayed.
The button ...lets you open the data editor in order to select the instance
or data to be replaced (only the instances are that compatible with the
instance being searched for are displayed).
Button: Execute the search.
Button: This lets you open the Cross-references dialog box: Current
parameters (See Cross-References: Current parameter, p. 773)
containing the options for the next search.
Replace button This lets you run the replacement operation in the preselected areas.
Button: Shows the search result in a similar manner to the structural view in the
project browser.
Button: Shows the search result in a similar manner to the functional view in the
project browser.
Button: Lets you display the path for the element to be found in its full form or in
a shortened form.
z Full form
The path to the element being searched for is shown as a tree
structure in the Name column.
z Shortened form
The path to the element being searched for is shown in the Location
column.
Button: Help Calls up the Help for this window.

771
Search/Replace

Element Description
Button: This function is only available if the reference being searched for is used
multiple times in the current tree structure.
This makes it possible to use the previous reference being searched for
in the current tree structure ("scrolling back").
Button: This makes it possible to use the next reference being searched for in the
current tree structure ("scrolling forwards").
Name This column shows:
z the name of the instance or data type (DDT/IODDT/EFB/DFB)
searched for,
z the path for the element to be found as a tree structure or functional
view (only in its full form)
Type This column shows:
z the type and reference of the data searched for,
z the programming language used in the sections, subroutines, events,
etc. that contain references to the data searched for
Usage This column shows:
z the nature of the references to the data searched for (read only, write
only, read / write),
z the data search area.
Location This column shows:
z the path for the element to be found (only in its shortened form)

772
Search/Replace

Cross-References: Current parameter

Introduction The Cross references: current parameters allows parameterization of the options
for the next search.

Representation The dialog displays the Cross references: current parameters dialog box.

Description The following table describes the different parts of theCross references current
parameters dialog box.
Element Description
Scope This lets you define the field in which the data search is to take place.
This field corresponds to:
z either the different parts of the project in which the data can be found
(configuration, program, animation table, etc.),
z or a DFB instance,
z or a structure (DDT types).
Linked This field is made up of 2 parameters:
objects z Max hierarchical level of linked objects which lets you define the
visualized level of nesting for a reference when the Also indirect box in the
References field is checked,
z Overlapping which lets you look for all complete or partial references in the
searched memory area.
References This field is made up of 4 parameters:
z Read which let you display the references in read-only (e.g. input
parameter for a DFB),
z Write which let you display the references in write-only (e.g. output
parameter for a DFB),
z Read or write which let you display the references in write-only (e.g. input
/ output parameter for a DFB),
z Also indirect which can be:
z unchecked, in which case the sub-elements of the reference are not
displayed,
z checked, in which case the sub-elements of the reference are displayed
according to the level of depth defined in the Max hierarchical level of
linked objects parameter.
Default This lets you configure the default parameters.
Help This lets you access the contextual help function.
OK This lets you validate the search parameters.
Cancel This lets you quit the window.

773
Search/Replace

774
User's Function Blocks

31
Introduction

Overview This chapter describes how to use the user's function blocks: DFB.

What's in this This chapter contains the following sections:


Chapter?
Section Topic Page
31.1 DFB Type 776
31.2 DFB Instance 791
31.3 How to Create Nested DFBs 801

775
DFB

31.1 DFB Type

Introduction

Purpose of this This section describes the types of DFB.


section

What's in this This section contains the following topics:


Section?
Topic Page
DFB Type 777
Creating a DFB Type 778
DFB Type Configuration 779
Programming a DFB type 780
Deleting a DFB type element 782
Archiving a DFB Type 783
How to protect a DFB type 784
Deleting a DFB Type 786
How to access the attributes of a DFB type 787
Authorized DFB Type Modifications 788

776
DFB

DFB Type

General A DFB (Derived Function Block) is a user function block that has been customized
information to take the specific nature of your project into consideration.
about DFBs To use a DFB in your application, you must:
z Create a user's function block model calledDFB type,
z Use the available copies of the model called DFB instancesDFB instances in
your project.

How to access a To create a DFB type, you must use the program Unity Pro.
DFB type DFB types are accessed via the Derived FB Types directory in the project browser.

Note: You can also access the DFB types definition tool via the directory Variables
& FB instances.

Access to the To access the DFB types via the Derived FB Types directory, do the following:
DFB types via the
Step Action
Derived FB
Types directory 1 In the structural view of the project browser, right-click on the directory Derived
FB Types.
Result: A shortcut menu is opened.
2 Activate the Open command.
Result: The data editor window is opened. It is positioned directly under the
DFB Types register tab and shows the list of existing DFBs. A double-click on
the first available line indicated by an arrow provides access to the creation of a
new DFB type.

777
DFB

Creating a DFB Type

How to create a To create a DFB type, you must do the following:


DFB type z Enter a name on the empty line to create the empty structure of the DFB type,
z configure the DFB type,
z program the DFB Type (in the codes section).

Creating a DFB Do the following to create the empty structure of a DFB Type:
type
Step Action
1 Open the DFB types (See DFB Type, p. 777) register tab in the data editor.
Result: The list of existing DFBs is displayed.

2 Select the first empty Name cell (shown by an arrow) and enter the parameter
or variable name and confirm with Enter.
Result: The empty structure of the DFB type is now created. This new DFB
added to the list of existing DFBs. It also appears in the directory tree Derived
FB Types.

778
DFB

DFB Type Configuration

How to configure To configure a DFB type, you must:


parameters for a z define the DFB parameters: inputs, outputs and inputs/outputs,
DFB type z enter the DFB variables: public or private,
z enter the DFB description.

Entering Carry out the following to enter the DFB parameters and variables:
parameters and
Step Actions
variables
1 Open the DFB types (See DFB Type, p. 777) register tab in the data editor.
Result: The list of existing DFBs is displayed.
2 Click on the sign + in front of the name of the DFB to set.
Result: The DFB type is opened giving access to it's different folders (inputs,
outputs, etc.).
3 Click on the sign + of the folder that you want to open: inputs, outputs, inputs/
outputs, public, private.
4 Select the first empty Name cell (shown by an arrow) and enter the parameter or
variable name and confirm with Enter.
Result: The data is created in the BOOL data type by default (or in the last type
selected).
5 Repeat steps 4 and 5 for all data to be entered.

Modifying the To modify the DFB parameter type, do the following :


parameter type
Step Actions
1 Double-click in the cell Type associated to the desired parameter.
Result: You now have access to the list of available types (See Data selection dialog
box, p. 737).
2 Choose a new type and confirm with Enter.
Result: The data is replaced by it's new type.

Assigning a new To assign a new pin number to a DFB parameter (when you create a parameter, a
pin number pin number is assigned by default), do the following :
Step Actions
1 Only for the folders inputs,outputs and inputs/outputs:
If you want to assign a new pin number to each data, double-click in the respective cell
No.
Result: The arrow is replaced by an entry field.
2 Enter the desired pin number and confirm with Enter.
Result: The data is assigned to the selected pin number.

779
DFB

Programming a DFB type

How to program To program a DFB type you must:


a DFB type z create the DFB section(s),
z enter the program code for each section.

Creating a Carry out the following actions in order to create a DFB section:
section
Step Action
1 Go to the DFB types (See DFB Type, p. 777) tab of the data editor.
Result: the list of existing DFBs is displayed on the screen.
2 Expand the DFB type that you would like to program.
3 Expand the sections directory by clicking on +.
4 Select the Name cell and enter the name of the section.
Confirm with Enter.
Result: a dialog box is displayed on the screen to allow you to create a new
section.

5 Select the programming language desired in the drop-down menu in the


Language field.
6 Click OK to confirm the command.
Result: the section appears in the sections directory.

7 If the sections directory already contains sections and you want to create a new
one, expand the directory and select the first empty Name cell.
Result: the dialog box used to enter section parameters is displayed on the
screen.
8 Enter the section parameters and confirm with OK.
Result: the new section appears in the sections directory.

780
DFB

Entering the Carry out the following actions in order to enter the program for the section:
program
Step Action
1 Expand the sections directory of the DFB whose code you would like to enter.
Result: the list of sections is displayed on the screen.
2 Right-click on the name of the section to program.
Result: the contextual menu appears.
3 Activate the Open command.
Result: the section programming screen is displayed on the screen, in the
selected language.
4 Enter the section program (See Programming, p. 323).

Programming All language instructions are allowed, except instructions that use input/output
restrictions module variables (READ_STS, SMOVE, etc.).

Connection to a label (JUMP) is only possible within the same section.

You may not use the following objects:


z input/output objects (%I, %Q, etc.),
z the application's global objects (%MW, %KW, ...), except system bits and words %S
and %SW.

Note: When the Create variable option in the contextual menu is used from a DFB
section, the variable created is a private variable.

781
DFB

Deleting a DFB type element

Deleting an To delete an element, do the following:


element
Step Action
1 Open the DFB types (See DFB Type, p. 777) tab of the data editor and expand
the DFB type from which you want to remove an element.
2 Expand the directory that contains the element you want to delete.
3 Either: Or:
Select the element that you Right-click on the element that you wish to delete.
want to delete. Result: A contextual menu appears.
4 Press Delete. Activate the command Delete.
Result: The item is Result: The item is removed from the directory.
removed from the directory.

782
DFB

Archiving a DFB Type

Introduction After having created a DFB type, you can back it up in a user library (See Putting a
datatype into the library, p. 267) if the following conditions are met:
z You are using Unity Pro software,
z The computer is in offline mode,
z You have the required access rights,
z The DFB Type to back up is compatible (the nested DFBs and DDTs are also
compatible),
z The DFB type name doesn't already exist in the library (the name of the nested
DFBs and DDTs must also not already exist in the library).

When a DFB Type is backed up in a library, it can be used if the following conditions
are met:
z You are using Unity Pro software,
z The computer is in offline mode,
z You have the required access rights.

Archiving a DFB To archive a DFB type in a user library, you must do the following:
Type
Step Action
1 Open the DFB types (See DFB Type, p. 777) register tab in the data editor.
2 Right-click on the DFB type that you wish to back up.
Result: A shortcut menu is opened.
3 Activate the Copy into library command.
4 Select the library and the destination family.
Click OK to confirm.

783
DFB

How to protect a DFB type

At a Glance There are 3 levels of protection for a DFB Type:


z read-only: The DFB type parameters directories (inputs, outputs, inputs/
outputs, public, private and sections) are in read only format,
z No Read & Write: The DFB types parameters directories private and sections
are not displayed. All the other the DFB type parameters directories (inputs,
outputs, inputs/outputs and public) can be accessed from the data editor in
read only format.
z No protection: The DFB type is not protected.

Protection of a To protect a DFB Type, you must do the following:


DFB type
Step Action
1 Open the DFB types (See DFB Type, p. 777) register tab in the data editor.
2 Select the DFB Type to protect.
3 Select the menu command Edit → Properties.
Result: The respective screen is displayed.
4 Select the protection level from the drop-down menu.
5 After selecting, enter your password in the New password field (maximum 8
characters).
6 Confirm your password in the Confirmation field.
7 Click OKto confirm.

Modification of To change a DFB Type protection level, you must do the following:
the protection
Step Action
level
1 Open the DFB types (See DFB Type, p. 777) register tab in the variables editor.
2 Select the DFB Type to change the level of protection for.
3 Select the menu command Edit → Properties.
Result: The respective screen is displayed.
4 Select the attribute Protection and click on the related box in the Value column.
Result: A drop-down menu appears.
5 Select the new protection level from the drop-down menu None,Read Only, No
Read&Write).
6 After selecting, enter the current password if the DFB was already protected.
7 Click OKto confirm.

784
DFB

Modify Password To change a DFB type password, you must do the following:
Step Action
1 Open the DFB types (See DFB Type, p. 777) register tab in the variables editor.
2 Select the DFB type to change the password for.
3 Select the menu command Edit → Properties.
Result: The respective screen is displayed.
4 Enable the attribute Protection by clicking on the + sign.
5 Select the attribute Password and click on the related box in the column Value.
Result: The Change password dialog box is opened.
6 Enter the current password in the Enter password field.
7 Enter your new password in the New password field (maximum 8 characters).
8 Confirm your new password in the Confirmation field.
9 Click OKto confirm.

785
DFB

Deleting a DFB Type

Deleting a DFB To delete a DFB type, do the following:


type
Step Action
1 Open the DFB types (See DFB Type, p. 777) tab in the data editor.
Result: The list of existing DFBs is displayed.
2 Either: Or:
Select the DFB that you want Right-click on the DFB that you wish to delete.
to delete. Result: A contextual menu appears.
3 Press Delete. Activate the command Delete.
Result: The item is removed Result: The item is removed from the list.
from the list.

786
DFB

How to access the attributes of a DFB type

Accessing the You should perform the following steps in order to access the attributes of a DFB
attributes of a type:
DFB type
Step Action
1 Go to the DFB types (See DFB Type, p. 777) tab of the data editor.
2 Right-click the DFB type whose attributes you would like to display.
Result: the contextual menu appears.
3 Enable the Properties command.
Result: The corresponding dialog box appears on the screen.

4 If you would like to associate an explanatory text with the definition of the DFB
type (several lines of text with hyperlinks), select the Description tab.
Result: the DFB type description dialog box appears (See Hyperlinks in the
DFB type attributes, p. 1219).

Attribute list The attributes of a DFB type are the following:


z Slot,
z Name,
z Comment,
z Category,
z State (1 if the modification is in progress or O if the analysis has been
completed),
z Diag.
z Size,
z Protection,
z Password,
z Version,
z Date of the last analysis,

Note: All of the attributes of a DFB type can be accessed in read mode.
Only the following attributes can also be accessed in write mode:
z Name,
z Comment,
z Protection,
z Password,
z Diag.

787
DFB

Authorized DFB Type Modifications

At a Glance The modifications possible on a DFB type are defined by the access rights
authorized by your user profile.
The following table summarizes the authorized modifications when you have a
default user profile:
Modification Read only Operation Adjustme Debuggin Program
nt g ming
DFB type in offline mode No No No No Yes
DFB type in online mode No No No No Yes
DFB instance in offline No Yes Yes Yes Yes
mode

Note: In offline mode any kind of modification of a DFB Type is authorized on


condition that a non-blocking protection level is used.

Authorized DFB The following table shows the operations that you can perform with DFB types in
type online mode:
modifications
Action Non-used Used DFB
DFB type type
Create a DFB type Yes No
Delete a DFB type Yes No
Modify the name Yes No
Change Protection Level Yes No
Modify the comment Yes Yes
Modify the description Yes Yes
Export a DFB type No No
Import a DFB type No No
Make a back up to a library of a DFB Type No No
Use a DFB type from a library Yes Yes

788
DFB

Authorized The following table shows the operations that you can perform for the input/output
modifications on parameters of a DFB Type in online mode:
the input/output
Action Non-used Used DFB
parameters
DFB type type
Create a parameter Yes No
Delete a parameter Yes No
Move a parameter Yes No
Modify the name Yes No
Change type Yes No
Modify the comment Yes Yes
Change the initial value Yes Yes
Modify the other attributes Yes No

Authorized The following table shows the operations that you can perform on public variables
modifications on of a DFB type in online mode:
public variables
Action Non-used Used DFB
DFB type type
Create a variable Yes Yes
Delete a variable Yes No
Modify the name Yes No
Change type Yes No
Modify the comment Yes Yes
Change the initial value Yes Yes
Modify the other attributes Yes No

789
DFB

Authorized The following table shows the operations that you can perform on private variables
modifications on of a DFB type in online mode:
private variables
Action Non-used Used DFB
DFB type type
Create a variable Yes Yes
Delete a variable Yes No
Modify the name Yes No
Change type Yes No
Modify the comment Yes Yes
Change the initial value Yes Yes
Modify the other attributes Yes No

Authorized The following table shows the operations that you can perform on the sections of a
modifications of DFB Type in online mode:
the sections
Action Non-used Used DFB
DFB type type
Create a section Yes Yes
Delete a section Yes Yes
Move a section Yes Yes
Modify the name Yes No
Modify the comment Yes Yes
Modify the code Yes Yes

790
DFB

31.2 DFB Instance

Introduction

Purpose of this This section describes DFB instances. DFB instances management is identical to
section the management of EFB instances (See Managing data instances belonging to
function block families (EF) , p. 269).

What's in this This section contains the following topics:


Section?
Topic Page
DFB Instance 792
Creating a DFB Instance 793
Creating several DFB Instances 794
Deleting a DFB instance 795
Operations on DFB Instances 796
Modifying the Attributes of a DFB Instance 798
Authorized DFB Instance Modifications 800

791
DFB

DFB Instance

At a Glance A DFB instances is a copy of a validated DFB type that can be used for
programming.

You can create multiple instances of a same DFB type. In this case the inputs/
outputs parameters and the variables (public and private) are duplicated. The DFB
type code is not duplicated.
You can use the same instance of the DFB multiple times in your application. This
operation is nevertheless strongly discouraged.

The DFB instance name must be different from the name of a Unity Pro reserved
word, a symbol, or from an elementary function (EF) name, or DFB type name.

How to access to To access a DFB instance, you must use the program Unity Pro.
a DFB instance DFB instances are accessed via the Variables & FB instances directory in the
project browser.

Accessing DFB To access the DFB instances via the Derived FB instances directory, you must do
instances via the the following:
Derived FB
Step Action
instances
directory 1 From the project browser structural view, expand the directoryVariables & FB
instances.
2 Double-click on the folder Derived FB instances.
Result: The data editor window is opened. It is automatically placed under the
Function Blocks register tab. The list of instances already in the system is
displayed.

792
DFB

Creating a DFB Instance

At a Glance There are two possible ways in which you can create a DFB instance:
z by inserting a new instance in the function block list,
z by inserting an instance in an editor.

Inserting a new To create a new DFB instance, you must do the following:
DFB instance in
Step Action
the data editor
1 Open the Function Blocks (See DFB Instance, p. 792) register tab in the data
editor.
2 Select the first empty Name cell (shown by an arrow) and enter name of the new
DFB instance and confirm with Enter.

3 Then change the associated attributes (See Modifying the Attributes of a DFB
Instance, p. 798).

Inserting a new To insert a new DFB instance in a language editor, you must do the following:
DFB instance in a
Step Action
language editor
1 Open the language editor (the LD editor for example).
2 Click on an empty zone in the language editor.
Result: A shortcut menu is opened.
3 Activate the Data Selection command.
4 In the drop-down list, select the DFB type of which you wish to insert an
instance.
5 Confirm with Enter.
Result: The mouse cursor is shown as a function block.
6 Click on the location where you wish to insert the DFB instance.
Result: A new DFB instance is created with a default name. It is inserted in the
language editor and created in the data editor at the same time.

793
DFB

Creating several DFB Instances

At a Glance Several DFB instances can be created at once using the import function.

Creation of Several DFB instances.....importing (See Import / Export, p. 1151) a variables


several DFB exchange file (.xscy or .txt format). If you have chosen to export the variables with
instances by the associated DFB types, the latter will also be imported.
importing a
source file

794
DFB

Deleting a DFB instance

Deleting a DFB To delete a DFB instance, you must do the following:


instance
Step Action
1 Open the Function Blocks (See DFB Instance, p. 792) tab in the data editor.
2 Either: Or:
Select the DFB instance that you Right-click on the DFB instance that
want to delete. you wish to delete.
Result: A contextual menu appears.
3 Press Delete. Activate the command Delete.
Result: The item is removed from Result: The item is removed from
the list. the list.

795
DFB

Operations on DFB Instances

At a Glance For each DFB instance, the Function Blocks register tab in the data editor provides
one line of information by default: Instance name, DFB type, comment, etc. From
this screen you can also:
z Apply a filter on the list of instances (See Filtering data, p. 289),
z View the elements of a DFB instance,
z View the attributes of a DFB instance,
z Sort the DFB instances according to their attributes.

Note: The DFB instance structure cannot be modified using the Function Blocks
register tab (name and type of the elements). However, the attributes of the
instance itself can be modified (name, type and comments of the DFB instance).

View the To view the elements of a DFB instance, you must do the following:
elements of a
Step Action
DFB instance
1 Open the Function Blocks (See DFB Instance, p. 792) register tab in the data
editor.
2 Open the DFB instance of which you want to view the elements.

View the To view the attributes of a DFB instance, you must do the following:
elements of a
Step Action
DFB instance
1 Either: Either:
Open the Function Blocks (See Open the DFB instance to gain
DFB Instance, p. 792) register tab in access to its elements.
the data editor.
2 Right-click on the DFB instance Right-click on the element whose
whose attributes you wish to view. attributes you wish to view.
Result: A shortcut menu is opened. Result: A shortcut menu is opened.
3 Activate the Properties command.
Result: The related dialog box is opened.

796
DFB

Attributes list The specific DFB instance attributes are:


z Instance name,
z Comments,
z Type,
z Category,
z Size,
z Diag,
z Used (frequency of use in program),
z Customize.

Note: All the DFB instance attributes are available in read/write mode except the
Category and the Used attributes of instances, which are available in read only.

Sorting DFB To change the classification criteria, do the following:


instances
Step Action
1 Open the Function Blocks (See DFB Instance, p. 792) register tab in the data
editor.
2 Click on the title of the column that you want for the first criteria.
Result: The DFB instance classification criteria become:
z Firstly, a classification by alphabetical order in the column on which you have
clicked,
z then, a classification by alphabetical order by name.
Note: The DFB instances are classified by name alphabetically as default.

797
DFB

Modifying the Attributes of a DFB Instance

At a Glance There are 2 different ways to modify the attributes of a DFB instance:
z From the Function Blocks register tab, for the attributes that are directly
accessible,
z or via the Data Properties dialog box for all attributes.

Modifying an To modify the attributes of a DFB instance, you must do the following:
attribute using
Step Action
the Function
Blocks register 1 Open the Function Blocks (See DFB Instance, p. 792) register tab in the data
tab editor.
2 Double-click on the cell that you wish to change the content of (you can also
highlight this cell and press Enter).
Result: A selection list or an entry field is displayed.

3 Modify the attribute (instance name, instance type, comment) and confirm with
Enter.
Result: The DFB instance is displayed with its new attribute.

Modifying an To modify the attributes of a DFB instance using the Data Properties dialog box,
attribute via the you must do the following:
Data Properties
Step Action
dialog box
1 Open the Function Blocks (See DFB Instance, p. 792) register tab in the data
editor.
2 Right-click on the DFB instance whose attributes you wish to view.
Result: A shortcut menu is opened.
3 Activate the Properties command.
Result: The related dialog box is opened.
4 In the Value column, double-click on the cell of the attribute to modify (you can
also highlight this cell and press Enter).
5 Modify the attribute (instance name, instance type, comment) and confirm with
Enter.
Result: The new attribute is assigned to the DFB instance.

798
DFB

Simultaneous To simultaneously modify an attribute of several DFB instances, you must do the
modification of following:
an attribute of
Step Action
several DFB
instances 1 Open the Function Blocks (See DFB Instance, p. 792) register tab in the data editor.
2 Select the DFB instances of which you want to change an attribute (adjacent or non-
adjacent multi-selection).
3 Right-click on one of the instances that you just selected.
Result: A shortcut menu is opened.
4 Activate the Properties command.
Result: The related dialog box is opened.
5 Modify the attribute value and confirm with Enter.
Result: The new attribute is assigned to the DFB instance.

Limitations The following limitations apply to multiple selections:


z All the selected instances must have the attribute and it must be modifiable,
z The new attribute value must be valid for all the selected instances,
z The attribute name cannot be changed (a DFB instance name is unique).

Note: In a multiple selection, the selected elements must at the same level of the
hierarchy or must be compatible.

Modifying the Modification of one or several (multiple selection) attributes of elements of one or
attributes of the several DFB instances. To do this, you must:
elements of
Step Action
multiple DFB
instances 1 Open the Function Blocks (See DFB Instance, p. 792) register tab in the data editor.
2 Open the DFB instance(s) to modify.
3 Select the elements for which you want to modify the attributes (by pressing Shift if
the multiple selections are adjacent or Ctrl if the multiple selections are non-
adjacent).
4 Right-click on one of the elements that you just selected.
Result: A shortcut menu is opened.
5 Activate the Properties command.
Result: The related dialog box is opened.
6 Modify the attribute value and confirm with Enter.
Result: The new attribute is assigned to the selected elements.

799
DFB

Authorized DFB Instance Modifications

At a Glance The modifications possible on a DFB instance are defined by the access rights
authorized by your user profile (See Authorized DFB Type Modifications, p. 788).

Authorized DFB The following table shows the operations that can be carried out on the DFB
instance instances in offline mode:
modifications
Situation Possible Actions
Actions when there is no DFB instance Create a DFB instance,
selected Paste a DFB instance.
Actions when a DFB instance is selected Delete a DFB instance,
Change the name of a DFB instance,
Change the type of a DFB instance,
Change the comment for a DFB instance,
Duplicate a DFB instance.
Actions when several DFB instances are Delete DFB instances,
selected Change the type of the DFB instances,
Change the comment for the DFB instances,
Duplicate DFB instances.
Actions on all DFB instances Export all DFB instances,
Print locally all DFB instances.

800
DFB

31.3 How to Create Nested DFBs

How to Create Nested DFBs

At a Glance When creating nested DFBs (DFBs with DFB instances as private variables), you
must not exceed 8 nesting levels (including DDT variables).
You must also respect certain chronological rules. The following table describes the
procedure.

Procedure The steps are as follows.


Step Action
1 Create the DFB type of the last level (n)
2 Create the DFB type of the level n-1
3 For this DFB type, create a private variable with a type matching the DFB type
of level n
4 Create the DFB type of the level n-2
5 For this DFB type, create a private variable with a type matching the DFB type
of level n-1
6 Repeat these actions without exceeding 8 levels
7 Create a first level DFB type instance, which you will use in your program.

801
DFB

802
Project configuration

V
At a Glance

Subject of this This part describes how to configure a Premium/Atrium and Quantum PLC station.
Part Its purpose is to guide the user in the configuration:
z of the PLC station,
z of the modules used in the station.

What's in this This part contains the following chapters:


Part?
Chapter Chapter Name Page
32 Introduction to the configuration 805
33 Bus Editors 811
34 Modules editor 835
35 General functionalities of the editor 851

803
Project configuration

804
Introduction to the configuration

32
At a Glance

Aim of this This section gives a very general introduction to the functionalities offered by the
section configuration editor and describes how to access the default configuration.

What's in this This chapter contains the following topics:


Chapter?
Topic Page
Services offered 806
Services offered in offline mode 807
Services offered in online mode 808
Access to project configuration 809

805
Introduction to the configuration

Services offered

Introduction The configuration tool is used to:


z create\modify\save the elements involved in the configuration of the PLC
station,
z set up the application-specific modules comprising the station,
z diagnose the modules configured in the station,
z assess the current discharged from the voltages supplied by the power supply
module declared in the configuration,
z control the number of application-specific channels configured in relation to the
capacities of the processor declared in the configuration.
z assess the occupancy of the processor memory.

The configuration may be performed before or after the programming of the project;
this has the advantage of being able to create generic projects without having to be
concerned with the configuration in the initial stage.

The various services are provided through 2 editors which are:


z the bus editor, which allows you to select and position the modules or devices on
the bus,
z the input/output module editor, which allows you to set up the modules or devices
present on the PLC station bus(es).

At a Glance From the project browser, you can view the hardware configuration of the PLC
station by opening the Configuration directory.

The hardware configuration of the station is displayed in a directory tree.

Note: you may note that each address (slot in the rack) is not necessarily occupied
by an input/output module, and that some modules may occupy 2 slots.

806
Introduction to the configuration

Services offered in offline mode

Introduction These functional options are preset by the bus editor and the input/output module
editor, when the PLC is not connected to the programming terminal.

From the bus The available services are:


editor z selection/replacement of the rack(s),
z selection/replacement of the power supply module,
z selection/replacement/set-up of the processor,
z selection/positioning/replacement of an application-specific module or a device,
z selection/replacement of a PCMCIA card in a module or in the processor,
z the figures for:
z the consumption of power provided by the power supply module,
z the number of application-specific channels configured,
z the memory usage of the PLC.

From the input/ The available services are:


output modules z the set-up of the input/output modules,
editor z the set-up of certain PCMCIA cards,
z the set-up of the application-specific functions.

807
Introduction to the configuration

Services offered in online mode

Introduction These are configurable functional options when the PLC is connected to the
programming terminal.

Certain services are available or not according to whether the type of PLC
connected is:
z Premium/Atrium,
z Quantum.

Premium\Atrium Services offered by the configuration editor:


PLCs
Service PLC in RUN PLC in STOP
mode mode
Adding/moving a module No No
Modification of configuration parameters Yes Yes
Modification of adjustment parameters Yes Yes
Display of errors Yes Yes
Display of status information Yes Yes

Quantum PLCs Services offered by the configuration editor:


Service PLC in RUN PLC in STOP
mode mode
Automatic detection of the PLC configuration No Yes
Adding/moving a module Yes Yes
Modification of configuration parameters Yes Yes
Modification of adjustment parameters Yes Yes
Display of errors Yes Yes
Display of status information Yes Yes

Note: All modifications made in the bus editor are authorized in online mode. But
in order for these to be taken into account, you must generate and transfer the
project to the PLC.

808
Introduction to the configuration

Access to project configuration

Introduction When a project is created, a default configuration is created automatically according


to the choices imposed by the programming software.

These choices concern:


z the PLC family,
z the type of processor used in the station.

These choices determine the power of the configuration, and the available function-
alities (number of inputs/outputs, field buses, languages used, types of data, etc.).

Note: The choice of PLC family is irreversible, only the type of processor may be
changed.

Procedure Carry out the following actions:


Step Action
1 From the project browser, open the Configuration directory.
2 For a Premium station:
From the X-Bus directory or from the directory representing the station, via the
contextual menu select the Open command; the default configuration is
displayed on the screen.
For a Quantum station:
From the directory representing the station, via the contextual menu select the
Open command; the default configuration is displayed on the screen.
3 In the configuration window, via the contextual menu select the Zoom in
command to determine the size of the station.
Click Display → Zoom → Zoom to Fit to optimize the size of the station in
relation to the size of the window.

At this stage the configured physical elements constituting the station are:
z the rack,
z the power supply module (except for a Quantum station),
z the processor.

809
Introduction to the configuration

810
Bus Editors

33
At a Glance

Aim of this This chapter guides the user in the creation of the physical configuration of the PLC
section station.

What's in this This chapter contains the following sections:


Chapter?
Section Topic Page
33.1 Rack configuration on local bus 812
33.2 Configuration of the power supply modules 815
33.3 Configuration of the processor 817
33.4 Configuration of the modules in the PLC station 819
33.5 Configuration of devices on the field bus 822
33.6 Consumption management 829
33.7 Bus editors in online mode 834

811
Bus Editor

33.1 Rack configuration on local bus

At a Glance

Aim of this sub- This sub-section guides the user in the installation of the rack/s constituting the
section station.

What's in this This section contains the following topics:


Section?
Topic Page
Organization of the racks 813
How to configure the racks 814

812
Bus Editor

Organization of the racks

Introduction A default rack is selected when the project is created. It has the following address:
z 0 for a PLC from the Premium/Atrium family,
z 1 for a PLC from the Quantum family.
This rack contains the type of processor selected when the project is created. This
processor can be replaced by a compatible processor.
The number of racks managed is different according to the processor configured.
Processors belonging to the Premium/Atrium family
Type of processors Numbers of racks managed
TSX 57 0244 1 rack
TSX 57 1x4 Up to 4 racks
TSX P57 204 Up to 16 racks
TSX PCI 57 204
TSX P57 254
TSX P57 2634
TSX P57 304
TSX P57 354
TSX P57 3634
TSX P57 454 / TSX PCI 57 354
TSX P57 4634
TSX P57 554
TSX P57 5634

Processors belonging to the Quantum family


Type of processors Numbers of racks managed
140 CPU 311-10 Does not depend on the type of processor
140 CPU 434-12A
140 CPU 534-14A
140 CPU 651-50\60
140 CPU 671-60

813
Bus Editor

How to configure the racks

Introduction You may manipulate the racks of a PLC station:


z either by using the functions provided by the bus editor,
z or from the browser provided by the bus editor.

Functions From the bus editor the following functionalites are offered:
offered by the
If you want to then and
bus editor
select a rack select the address of the rack
eight handles appear around the
selected rack.
Cut/Paste a rack select the rack and, from the select the destination address of the
contextual menu, click Cut rack and, using the contextual
menu, click Paste.
Copy/Paste a rack select the rack and, using the select the destination address of the
contextual menu, click Copy rack and, using the contextual
menu, click Paste.
add a rack select an empty address using the contextual menu, click
or the extension symbol New Device,
replace a rack select the rack and, using the select the required rack from the list
contextual menu, click Replace offered.
Rack,
delete a rack select the rack using the contextual menu, click
Delete Rack,
empty a rack select the rack using the contextual menu, click
Clear Rack,

Bus editor The browser only allows for the addition of one rack in the PLC station.
browser Carry out the following actions:
Step Action
1 From the browser, select the Rack directory and open it by clicking on +
2 select the required rack and, holding down right mouse button, move it to the
required address point; a dialog box is displayed.
3 Specify in the dialog box the required address and confirm with OK.

814
Bus Editor

33.2 Configuration of the power supply modules

How to configure the power supply modules

Introduction When creating an application two boxes are produced according to whether you
select a Premium/Atrium station or a Quantum station:

z in a Premium station a power supply module is configured by default,


z in a Quantum station, there is no power supply module configured by default.

Rules for a The power supply module must occupy the leftmost position of the rack. This
Premium/Atrium position does not have an address.
station
A double format power supply module also occupies the address position 0 (usually
occupied by the processor module), in this case the processor module must be
configured at the address position 1.

There is only one power supply module per rack.

Rules for a The power supply module can occupy any rack position. It has an address.
Quantum station
The power supply modules are single format.

Several power supply modules may be configured in a rack.

815
Bus Editor

Functions From the bus editor the following functionalites are offered:
offered by the
If you want to then and
bus editor
Select a module click on it. Eight handles appear
around the module.
Copy/Paste the module select the module and, using the select the target position and,
contextual menu, click Copy using the contextual menu, click
Paste.
Cut/Paste the module select the module and, using the select the target position and,
contextual menu, click Cut using the contextual menu, click
Paste.
Add a module select the position in the rack select from the proposed list the
required and, using the module required.
contextual menu, click New
Device
Move a module select the module holding down the left mouse
button, move it to the required
position.
Delete a module select the module using the contextual menu, click
Delete Module.

Bus editor The browser is used to add a power supply module in the station.
browser
Carry out the following actions:
Step Action
1 In the browser, select the directory Supply, and display it by clicking on +.
2 Select the power supply module required and, holding down the left mouse
button, move it to the required position.

816
Bus Editor

33.3 Configuration of the processor

Choice and replacement of the processor

Selecting the The choice of processor is made when the project is created, this choice is not
processor irreversible.

Carry out the following actions:


Step Action
1 From the welcome screen of the software, select the New command from the File
menu.
2 Open the type of PLC required and select the processor.
3 Validate with OK.

Rules For a Quantum station:


z the processor may occupy any position in the rack,
z the processor is single format or double format (in this case it occupies 2 slots).

For a Premium station:


z the processor occupies the slot 0, it may occupy slot 1 if a double format power
supply is configured.
z the processor is single format or double format (in this case it occupies 2 slots).

You cannot move or copy a processor in another rack. The processor cannot be
deleted from the rack, it can only be replaced.

817
Bus Editor

Replacement of The configuration editor helps you if you wish to replace the processor. A message
the processor is sent if a replacement is not authorized.

The new processor must belong to the same PLC family as the previously
configured processor.

If certain previously configured input/output modules are no longer supported by the


new processor, when the project is analyzed, error messages are displayed. You
have to resolve these incompatibilities.

Note: This operation is only possible in offline mode (PLC not connected).

You may proceed in accordance with two methods:

Method 1:
Step Action
1 From the bus editor, select the processor.
2 Using the contextual menu, click Replace Processor.
3 Select the required processor.
4 Validate with OK.

Method 2:
Step Action
1 From the bus editor, display the list of processors.
2 Select the required processor.
3 Confirm your selection.

818
Bus Editor

33.4 Configuration of the modules in the PLC station

How to configure the modules in the PLC station

Introduction You have two options for inserting the modules in the rack:
z either you use the functions provided by the bus editor,
z or you use the hardware catalog provided by the bus editor.

Positioning a Carry out the following actions:


module
Step Action
1 Use the mouse to select the position of the module to insert; eight handles appear
around the module.
2 Using the contextual menu, click New Device.
3 Select the required application and module.
4 Click OK to confirm.

Note: The double format modules are shown on the list of modules available when
the slot preceding or following the selected slot is vacant.
In the case of a Premium, the position 0 may only be occupied by a double format
power supply or a processor.

819
Bus Editor

Moving a module A module may be moved:


z into the rack,
z into another rack if the station has several of them.

Carry out the following actions:


Step Action
1 With the mouse, select the required module.
2 Drag and drop the module into new position.

Note: If the module cannot be moved, this is indicated by the bus editor.

Rules:

The objects associated with the module are:


z deleted, then re-created automatically at the new address,
z replaced in:
z the program,
z the variable editor after user confirmation,
z the animation tables,
z the operator screens.

The symbols associated with the moved module objects are attached to the objects
at the new address.

The module that has been moved keeps all its parameters.

For a Premium or Atrium station, if a discrete module with a RUN/STOP-configured


channel is moved, the RUN/STOP bit address remains unchanged. It is necessary
to ensure that the RUN/STOP input corresponds to a valid discrete input address.

When the addresses of the module are used in an EF (e.g.: Send_REQ,


Read_VAR,...), these are not updated automatically.

820
Bus Editor

Copy a module Carry out the following actions:


Step Action
1 With the mouse, select the required module.
2 Using the contextual menu, click Copy.
3 Use the mouse to select the target position, then using the contextual menu click
Paste.

Rules:
The objects associated with the module are copied to the new address.

The duplicated module keeps all its parameters.

The duplication of a module associated with an event (at least one module channel
is associated with an event) is not possible. An event may be associated with
several channels/modules at the same time.

Delete a module Carry out the following actions:


Step Action
1 With the mouse, select the required module.
2 Via the popup menu the select the Delete Module command.

Hardware Using the Hardware catalog, you can insert modules in the rack:
catalog Carry out the following actions:
Step Action
1 From the Configuration directory in the project browser, select the subdirectory
representing the station.
Result: the bus editor and hardware catalog appear.
2 Select the directory of the required specific application in the hardware catalog,
and expand it by clicking on +.
3 Select the module, and, holding down the mouse button, move it to the required
position on the rack in the bus editor.

821
Bus Editor

33.5 Configuration of devices on the field bus

At a Glance

Aim of this sub- This sub-section guides the user in the management of devices on field buses
section managed by the Premium and Quantum stations.

What's in this This section contains the following topics:


Section?
Topic Page
How to access and create a Fipio field bus 823
How to create and access RIO\DIO field buses 824
How to configure devices on the RIO/DIO bus 826

822
Bus Editor

How to access and create a Fipio field bus

Introduction Premium PLCs offer a decentralized input/output architecture solution with the
Fipio bus. You can configure 127 devices.

Procedure To access the Fipio field bus, perform the following actions:
Step Action
1 From the project navigator, deploy the Configuration directory.
Result: the following screen appears
2 Select the Fipio sub-directory and select the Opencommand using the
contextual menu.
Result: the Fipio window appears

Creating a Fipio This operation is used to add, via the software, a device connected to the Fipio bus.
bus
Step Action
1 Access the Fipio configuration screen:
2 Right-click on the logical address of the connection point, at the location where
the module has to be connected (available addresses from 1 to 62 and 64 to
127, addresses 0 and 63 being reserved by the system).
Result: the New Device screen appears.
3 Enter the number of the connection point corresponding to the address.
By default, the Unity Pro software offers the first free consecutive address.
4 In the Reference field, enter the type of device to connect to the bus.
5 In the Communicator field, select the element type enabling communication
on the Fipio bus.
For modules with built-in communicators, this window does not appear.
6 Confirm with Ok.
Result: the module is declared.

Other functions You can also:


z add an extension module to the bus,
z delete, copy, paste bus devices,
z change the Fipio communicator.

823
Bus Editor

How to create and access RIO\DIO field buses

Introduction Quantum PLCs offer a decentralized input/output architecture solution:


z the RIO bus. This network is based on the input/output decentralization network
technology S908. Up to 31 decentralized stations may be configured, each
station being capable of supporting up to 128 input/output words
z DIO bus, this network is based on Modbus Plus technology. 32 subscribers may
be configured over 500m (receiving 64 subscribers over 2000m).

Creating a RIO The following table describes the procedure for creating a RIO bus from a
bus communication module:
Step Action
1 From the bus editor, select the slot where you wish to insert the communication
module.
2 Select New Device in the contextual menu.
Result: The window New Device appears
3 Expand the Communication directory.
Result: The following window appears
4 To create a RIO bus, select a 140 CRP 93x 00 module.
Result: The bus appears in the project browser:

Creating a DIO The following table describes the procedure for creating a DIO bus from a
bus communication module:
Step Action
1 From the bus editor, select the slot where you wish to insert the communication
module.
2 Select New Device in the contextual menu.
Result: The New Device window appears.
3 Expand the Communication directory.
Result: the following window appears
4 To create a bus, select a 140 NOM 2XX 00 module.
Result: The module appears in the rack.
5 Double click the Modbus Plus port of the rack's 140 NOM 2XX 00 module.
Result: The bus configuration window appears.
6 Check the box marked DIO Bus.
7 Confirm the configuration.
Result: The DIO bus appears in the project browser.

824
Bus Editor

Creating a DIO The following table describes the procedure for creating a DIO bus from the
bus from the processor:
processor
Step Action
1 From the bus editor, double click the Modbus Plus port of the processor.
2 Check the box marked DIO Bus.
3 Confirm the configuration.
Result: The DIO bus appears in the project browser.

Access to a RIO To access a bus, execute the following actions:


or DIO bus
Step Action
1 From the project browser open the Configuration directory.
2 Select the RIO bus or DIO bus subdirectory depending on the type of bus which
you want to open and, via the popup menu, select the Open command.
The following window is displayed for the RIO bus:
The following window is displayed for the DIO bus:

825
Bus Editor

How to configure devices on the RIO/DIO bus

Introduction You can configure devices on field buses using the functions provided by the bus
editor.
You can configure modules in the devices on field buses according to two methods:
z either by using the functions provided by the bus editor,
z or from the hardware catalog provided by the bus editor.
You can also make copies, perform movements, or delete modules from a field bus
device.

Configuration of Carry out the following actions:


a device
Step Action
1 From the Configuration directory in the project browser, select the RIO Bus or
DIO Bus subdirectory.
2 Select Open in the contextual menu.
3 Select the connection point and via the popup menu select the New Device
command.
Result: The New Device window appears.
4 Select the required rack and validate with OK.
Result: The rack appears in the bus.

Configuration of Carry out the following actions:


a module in a
Step Action
device
4 Select the required rack (see procedure above: Configuration of a device).
5 To configure a module in the rack, select the module slot.
6 Select New Device in the contextual menu.
Result: The New Device window appears.
7 Select the module to be inserted.
Result: The module appears in the rack.

826
Bus Editor

Hardware Using the hardware catalog, you can insert modules into a device on the field bus:
catalog Proceed with the following steps:
Step Action
1 From the Configuration directory in the project browser, select the DIO Bus
subdirectory.
Result: The field bus editor and hardware catalog appear.
2 Select the directory of the required specific application in the hardware catalog,
and expand it by clicking on +.
3 Select the module, and, holding down the mouse button, move it to the required
position on the rack in the bus editor.

Copy a module Proceed with the following steps:


Step Action
1 With the mouse, select the required module.
2 Using the contextual menu, click Copy.
3 With the mouse, select the target position, then via the popup menu select the
Paste command

Rules:
The duplicated module keeps all its parameters.
The duplication of a module associated with an event (at least one module channel
is associated with an event) is not possible. An event may be associated with
several channels/modules at the same time.

827
Bus Editor

Moving a module A module may be moved:


z into the rack,
z into another rack if the station has several of them.

Proceed with the following steps:


Step Action
1 With the mouse, select the required module.
2 Drag and drop the module into new position.

Note: If the module cannot be moved, this is indicated by the bus editor.

Rules:
The objects associated with the module are:
z deleted, then re-created automatically at the new address,
z replaced in:
z the program,
z the variable editor after user confirmation,
z the animation tables,
z The operator screens.

The symbols associated with the moved module objects are attached to the objects
at the new address.

The module that has been moved keeps all its parameters.

Deleting a Proceed with the following steps:


module
Step Action
1 With the mouse, select the required module.
2 Via the popup menu the select the Delete Module command.

828
Bus Editor

33.6 Consumption management

At a Glance

Aim of this sub- This sub-section guides the user during the selection of modules so as not to exceed
section the limits:
z for consuming power,
z for consuming application-specific channels.

What's in this This section contains the following topics:


Section?
Topic Page
Power consumption budget 830
Budget on the number of application-specific channels 832

829
Bus Editor

Power consumption budget

At a Glance A power consumption budget is made for:


z the rack power supply module,
z each module (processor, input/output module) depending on the rack power
supply module.

This budget is presented in the form of a bar chart where each color has a particular
significance. For each voltage, it indicates:
z the current power flow rate: green,
z the quantity of power still available: white,
z a power overload: red, when an excess occurs, a message is displayed.
z the total power (same color code).

Power supply This consumption budget shows the amount of power discharged by the power
module budget supply for each voltage it supplies, as well as the total power.

When you add or remove a module, the budget is adjusted on opening the Power
Supply and IO Budget window.

Note: The Power Supply and IO Budget window must be closed to be able to
delete or add a module.

How to access a consumption budget:


Steps Action
1 With the mouse, select the power supply module.
2 Using the contextual menu, click Power Supply and IO Budget. The bar chart
is displayed.
3 Select the Power Supply tab.

830
Bus Editor

Budget of the This consumption budget shows the amount of power discharged in the module for
other modules each voltage it uses, as well as the total power.

Note: The Power Supply and IO Budget window must be closed to be able to
delete or add a module.

How to access a consumption budget:


Steps Action
1 With the mouse, select the module of your choice.
2 Using the contextual menu, click Power Supply and IO Budget. The bar chart
is displayed.
3 Select the Power Supply tab.

831
Bus Editor

Budget on the number of application-specific channels

At a Glance A budget on the number of application-specific channels used is made for:


z the processor module of the station,
z each module (processor, I/O module) of the station.

This budget is presented in the form of a bar chart where each color has a particular
significance, it indicates for each application:
z the number of application-specific channels configured: green,
z the number of application-specific channels still available: white,
z the excess application-specific channels (not managed by the processor): red,
when an excess occurs, a message is displayed.

Processor This budget shows the number of channels configured by applications in the
module budget station. These channels are managed by the station processor.

When you add or remove a module, the budget is adjusted on opening the Power
Supply and IO Budget window.

Note: The Power Supply and IO Budget window must be closed to be able to
delete or add a module.

How to access the budget:


Steps Action
1 With the mouse, select the required Processor.
2 Using the contextual menu, click Power Supply and IO Budget. The bar chart is
displayed.
3 Select the I/O tab.

832
Bus Editor

Input/output This budget shows the number of application-specific channels configured in the
modules budget module.

Note: The Power Supply and IO Budget window must be closed to be able to
delete or add a module.

How to access the budget of the number of application-specific channels:


Steps Action
1 Using the mouse select the input/output module of your choice.
2 Using the contextual menu, click Power Supply and IO Budget. The bar chart is
displayed.
3 Select the I/O tab.

833
Bus Editor

33.7 Bus editors in online mode

Online Information

Animation The bus editor uses color animation to inform you about the status of a module on
the bus.

The module's slot number in the rack appears in red if the module is:
z missing,
z faulty,
z badly configured.
Premium PLC:

Quantum PLCs:
If a fault has occurred on a rack module, the rack number appears in red.

Automatic When connected to a Quantum station, the programming software is able to detect
detection of the the different modules that make up the configuration. This operation can be
configuration performed before programming the application, or after the application has been
programmed.

Procedure The following table describes the procedure for detecting the different elements of a
PLC configuration.
Step Action
1 In online mode (PLC in Stop), open the configuration editor.
2 Select the rack.
3 From the Services menu, select Compare/IO-Sniffing....
Result: The following window opens.
4 Check the Slot box if you want:
z to add the module detected on initial configuration,
z to replace the configured module by the one detected.
If the detected module is identical to the configured module, you can keep this
module by checking the Slot box.
If you leave the Slot box unchecked, the module specified on initial configuration
remains.
5 Validate the new configuration by clicking Sniff.
6 Click OK to confirm your choice.
Result: The new configuration appears in the configuration editor.

834
Modules editor

34
At a Glance

Aim of this This section guides the user in the configuration of the modules comprising a
section Premium/Atrium or Quantum station.

What's in this This chapter contains the following sections:


Chapter?
Section Topic Page
34.1 Configuration of Premium processors 836
34.2 Configuration of the Quantum processors 841
34.3 Configuration of the input\output modules for a 847
Premium\Atrium or Quantum station

835
Modules editor

34.1 Configuration of Premium processors

At a Glance

Aim of this sub- This sub-section guides the user in the configuration of processor modules for
section Premium stations.

What's in this This section contains the following topics:


Section?
Topic Page
Configuration of Premium\Atrium processors 837
Access to PCMCIA memory cards of Premium processors 839
Access to control loop configuration for Premium processors 840

836
Modules editor

Configuration of Premium\Atrium processors

Access to the Proceed with the following steps:


configuration
Step Action
screen
1 Select the processor.
2 Using the contextual menu, click Open.
3 Select the Configuration tab.

Configuration of Proceed with the following steps:


the processor
Step Action
1 If you wish, enable the RUN/STOP input (See RUN/STOP input , p. 838).
2 If you wish, enable the Memory Protect.
The protection is activated by an input bit. It prohibits the transfer of a project
into the PLC and modifications in online mode, regardless of the communication
channel. The Run and Stop commands are authorized.
3 If you wish, enable the Automatic start in Run (See Automatic start in Run,
p. 838).
4 Confirm whether the internal words %MWi are to be initialized on cold restart or
not.
5 Define for the application:
z the number of internal bits %M,
z the number of internal bits %MW,
z the number of constants %KW,
The bits and system words are fixed by the manufacturer.
6 The Memory cards field is completed according to the PCMCIA memory card
selected (See Access to PCMCIA memory cards of Premium processors,
p. 839).

837
Modules editor

Pre-set values To select the:


z default values, press the Default values button,
z maximum values, press the Maximum values button,
Window displayed by pressing the Default values button:
Use of the command buttons:
Button Role
Deselect All Is used to invalidate all the default values posted on the right of the check
boxes if they have been selected.
Select All Is used to select all the default values posted on the right of the check boxes.
Cancel Is used to exit.
OK Is used to exit taking the values into account.

Note: With the Maximum values button, the window displayed is the same, only
the values on the right of the check boxes are different.

RUN/STOP input The input %Ir.m.c can be parameterized to switch the PLC to RUN/STOP mode in
the following way:
z %Ir.m.c to 1 -> the PLC switches to RUN (execution of the program),
z %Ir.m.cl to 0 -> the PLC switches to STOP mode (stop program execution).

Note: A STOP command by the input %Ir.m.c is priority compared to a RUN


operation by terminal or by network command.
An error on the RUN/STOP input causes a switch to STOP.

Automatic start The enabling of this option automatically changes the PLC to RUN mode at the time
in Run of a cold start.

Two types of start:


z in the absence of a PCMCIA memory card, the PLC starts on the contents of the
internal RAM of the processor,
z in the presence of a PCMCIA memory card it is its content which fixes the start.

838
Modules editor

Access to PCMCIA memory cards of Premium processors

Introduction This operation describes how to choose a PCMCIA memory card.

Selection of a Carry out the following actions:


PCMCIA card
Step Action
1 Access the rack configuration screen.
2 Select the PCMCIA location and from the popup menu execute the New/
Replace Submodule... command.
3 Select the PCMCIA family, and the card within the family.
4 Confirm with OK
The card is added to the directory tree of the processor:

To delete a PCMCIA memory card, select its location and from the popup menu
execute the Delete Submodule command.

839
Modules editor

Access to control loop configuration for Premium processors

Instructions Carry out the following actions:


Step Action
1 Access the rack configuration screen.
2 Select the location of the process control loops and from the popup menu
execute the Open Subobject command.
The following screen is displayed:
3 Configure the process control loops.

840
Modules editor

34.2 Configuration of the Quantum processors

At a Glance

Aim of this sub- This sub-section guides the user in the configuration of the processor modules for
section the Quantum stations.

What's in this This section contains the following topics:


Section?
Topic Page
Configuration of Quantum processors 842
Configuration of Modbus ports on Quantum 845

841
Modules editor

Configuration of Quantum processors

Accessing the Carry out the following actions:


configuration
Step Action
screen
1 Access the rack configuration screen.
2 Select the processor.
3 Using the contextual menu, click Open Module.
4 Select the Configuration tab.

Configuring the Carry out the following actions:


processor
Step Action
1 If you wish, enable Automatic start in Run.
2 Confirm whether the internal words %MWi are to be initialized on cold restart or
not.
3 The Memory cards field is filled in with the name of the selected PCMCIA
memory card.
4 Define for the application:
z the number of output module bits and internal bits %M (0x: old addressing),
z the number of output words for I/O modules and internal or %MW words (4x:
old addressing),
z the number of %I input module bits (1x: old addressing),
z the number of input/output register words and internal %IW words (3x: old
addressing).

Note: The sizes of the bit objects (%M and %I) are multiples of 128. The sizes
of the word objects (%MW and %IW) are multiples of 8.
5 The Viewer button is used to access the State RAM editor, which is used to
display the different memory zones.

842
Modules editor

Automatic start The enabling of this option automatically changes the PLC to Run mode on cold
in Run start.

Two types of start:


z in the absence of a PCMCIA memory card, the PLC starts on the contents of the
internal RAM of the processor,
z in the presence of a PCMCIA memory card it is its content which fixes the start.

DANGER
Using the "automatic start in RUN" option

z Inserting the PCMCIA card when the PLC is powered up will trigger
automatic start in RUN
z Replacing the processor while powered up will trigger automatic start
in RUN
z Unintentional or careless use of the reset button will trigger automatic
start in RUN
z If the battery is found to be defective in the event of a power outage,
this will trigger automatic start in RUN
It is highly recommended that you use the RUN/STOP input (on
Premium PLCs) or the switch on the front panel of the processor (for
Quantum PLCs) to avoid an unwanted restart when in RUN mode.
Failure to follow this precaution will result in death, serious injury,
or equipment damage.

State RAM The State RAM bar chart allows you to know the size of the "State RAM" memory
memory used in your project in relation to the maximum memory size.

843
Modules editor

State RAM Description of the screen zones


memory editor
Zone Description
Table This table represents the mapping of the memory area selected in the
Memory Area field.
The occupied memory addresses are marked by dashes:
z blue: for module type objects
z red: for objects entered in the program
z blue: for objects defined in the variable editor
The scroll bars can be used to access the entire memory area.
Modules, These checkboxes are used to filter the information displayed in the table.
Variables and If, for example, 'module' is the only thing checked, only module-type
Language information will be displayed.
checkboxes
Address By entering the object and its address in the Address fields and clicking
information on the Go to button, you display directly the address in the table (without
using the scroll bars). This zone also has a display function; it displays the
object and address of the box selected in the table. For module-type
objects, it also gives the topological address of the module concerned.
Memory Area These buttons are used to select the memory area to display in the table:
selection z %M (0x) output module bits and internal bits
buttons z %I (1x) internal module bits
z %IW (3x) input/output register words and internal words
z %MW (4x) I/O module output words and internal words

844
Modules editor

Configuration of Modbus ports on Quantum

Assignment of The Modbus port configuration screen can be used to select the Modbus
Modbus ports communication parameters for 3 ports: ports No. 1, 2 and 3.

Port No. 1 is assigned:


z to the built-in Modbus port for 140 CPU 6•• processors
z to the first built-in Modbus port (MODBUS COMM1) for other Quantum
processors

Port No. 2 is assigned:


z either to the second built-in port (MODBUS COMM2), for processors with 2 built-
in ports
z or to one or several NOM modules.

Port No. 3 is assigned: to one or several NOM modules

Rule for assignment of ports 2 and 3 to NOM modules:


Starting with the lowest slot numbers:
z the first NOM module will be assigned to port 2,
z the second will be assigned to port 3,
z the third will be assigned to port 2,
z the fourth will be assigned to port 3,
z the fifth will be assigned to port 2,
z the sixth will be assigned to port 3.

Note: It is possible to change the assignment order of 2 of them by entering


their slot number in the Head Slot column (see table below).

Important:
The port parameters are only taken into account if the switches on the front panels
of Quantum 140 CPU 3••/4••/5•• processors (used with first built-in port MODBUS
COMM1) and of NOM modules are in the Mem position.

845
Modules editor

Access to the Carry out the following actions:


configuration
Step Action
editor
1 Select the processor and then select the Open module command from the
popup menu.
2 Select the Modbus Port tab.
Result: The following screen appears:

Presentation of Carry out the following actions:


configuration
Step Action
parameters
1 Choose the operating mode: Bridge Mode checkbox
2 Choose the transmission speed:
3 Choose the number of Stop bits:
4 Choose the parity:
5 Choose the Delay which corresponds to the maximum time tolerated between
sending a message and the return of the corresponding response.
6 Choose the Modbus port slave address.
7 By default, if the Head Slot fields are left set to 0, the NOM modules observe the
normal assignment rule described above.
Entering the slot number of a NOM module assigns it to the corresponding port
(the assignment rule is no longer applied for this module but continues to apply
to other modules).
8 Choose the communication mode:
9 Choose the communication protocol:

846
Modules editor

34.3 Configuration of the input\output modules for a


Premium\Atrium or Quantum station

At a Glance

Subject of this This section guides the user through the configuration procedure for input\output
Section modules dedicated to a Premium\Atrium or Quantum station.

What's in this This section contains the following topics:


Section?
Topic Page
Access to the Premium/Atrium I/O module configuration editor 848
Access the Quantum input/output module configuration editor 849

847
Modules editor

Access to the Premium/Atrium I/O module configuration editor

Procedure Carry out the following actions:


Step Action
1 With the mouse, select the module to be configured.
2 Using the contextual menu, click Open Module.

Configuration in The configuration window is an editor from which you configure the module, some
offline mode of your entries are checked, and in some cases you are assisted.

To complete the various fields, refer to the application-specific manual


corresponding to the module in which you will find the procedure and information
necessary for the configuration.

Configuration in In online mode two additional tabs are accessible:


online mode z The Debug tab, used to:
z display the current values of the module data,
z modify/force the data values,
z diagnose the faulty channels.
z The Fault tab, used to display errors occurring in the module.

Note: The content of these tabs is described in the "Debugging and adjustment"
chapter of the corresponding application-specific manuals.

848
Modules editor

Access the Quantum input/output module configuration editor

Instructions Proceed with the following steps:


Step Action
1 With the mouse, select the module to be configured.
2 Using the contextual menu, click Open Module.

Configuration in The configuration window is an editor from which you configure the module, some
offline mode of your entries are checked, and in some cases you are assisted.

To complete the various fields, refer to the application-specific manual


corresponding to the module in which you will find the procedure and information
necessary for the configuration.

Configuration in In online mode, for certain modules, two additional tabs are accessible:
online mode z The Debug tab, used to:
z display the current values of the module data,
z modify/force the data values,
z diagnose the faulty channels.
z the Fault tab which is used to display errors occurring in the module.

Note: The content of these tabs is described in the corresponding application-


specific manuals.

849
Modules editor

850
General functionalities of the
editor
35
At a Glance

Aim of this This section describes the general functions available in the configuration editor.
section

What's in this This chapter contains the following topics:


Chapter?
Topic Page
Analysis of the configuration 852
Export\Import of the configuration 853
Printing the configuration 854

851
General functionalities

Analysis of the configuration

At a Glance The configuration analysis is not a separate functionality, it is started during the
global analysis of the project.

The configuration analysis checks:


z that all the declared modules are compatible,
z that the maximum number of one type of module in the configuration is not
exceeded,
z that the limits of the various types of inputs/outputs managed are not exceeded
z that all the inputs/outputs declared and used in the application are properly
configured.

How to start the Carry out the following actions:


global analysis
Step Action
of the application
1 Select the Build -> Analyse project command from the menu.
2 Check the result of the analysis in the information window at the bottom of the
screen.

852
General functionalities

Export\Import of the configuration

Export The description of the procedure is given in the section "Import/Export


(See Export of the input/output configuration, p. 1160)".

Import The description of the procedure is given in the section "Import/Export


(See Import of the input/output configuration, p. 1161)".

Import SIS This Import SIS command ensures the gateway with the SIS Automation software
version greater than or equal to Schneider Electric 3.0.
This import ensures the automatic generation of the configuration: racks, processor,
input/output modules... from the .XML file resulting from an export made by this tool.
The description of the procedure is given in the section "Import/Export (See Import
of the input/output configuration, p. 1161)".

853
General functionalities

Printing the configuration

Introduction The programming software allows you to generate and print the complete project
documentation file. You can choose to print the configuration alone from this file.

In the project documentation file, the configuration part is made up:


z of the bus editor,
z of the input/output module editor.

The documentation file can be accessed from the project browser in the
"Documentation" directory.

How to print A description of the procedure is given in the chapter on "Documentation.”


(See Documentation, p. 1131)"

854
Debugging and adjustment

VI
At a Glance

Subject of this This part describes the debug and adjustment functions and tools offered by Unity
Part Pro: application debug, variable adjustment, simulator, etc.

What's in this This part contains the following chapters:


Part?
Chapter Chapter Name Page
36 Debugging the program 857
37 Viewing and adjusting variables 923
38 PLC Simulator 939

855
Debugging and adjustment

856
Debugging the program

36
At a Glance

Subject of this This chapter guides the user through how to debug the program depending on the
Chapter language used in its component sections:
z Ladder language,
z textual languages (Structured Text or Instruction List),
z Function Block Diagram language,
z Sequential Function Chart language.

What's in this This chapter contains the following sections:


Chapter?
Section Topic Page
36.1 Safety precautions 858
36.2 Program Animation 866
36.3 Debugging in Ladder Language 877
36.4 Debugging in Textual Languages (Structured Text, Instruction List) 884
36.5 Debugging in Function Block Diagram (FBD) Language 891
36.6 Debugging User Function Block (DFB) Instances 898
36.7 Debugging in Sequential Function Chart Language (SFC) 903
36.8 Information on Debugging 910
36.9 PLC debug screen 915

857
Debugging the program

36.1 Safety precautions

At a Glance

Subject of this This section presents the different safety precautions to respect when debugging a
Section project with Unity Pro.

What's in this This section contains the following topics:


Section?
Topic Page
Modification in RUN 859
Switch to STOP of a PLC in Debug mode 860
Setting a task to STOP 861
Task deactivation 862
Deactivation of Inputs/Outputs 863
Use of the Step by Step mode and Breakpoint 864
Unwanted disconnection in Debug mode 865

858
Debugging the program

Modification in RUN

At a Glance This functionality is used to modify the PLC program where its inputs/outputs control
an industrial process.

Caution
DANGER
RUN modification
You are entirely responsible for RUN modifications. These can create
unsafe situations if not checked with great care.
Failure to follow this precaution will result in death, serious injury,
or equipment damage.

859
Debugging the program

Switch to STOP of a PLC in Debug mode

At a Glance You can switch a PLC to STOP using:


z the command PLC → STOP when running Unity Pro
z the RUN/STOP input for Premium/Atrium
z the switch on the front panel of the processor for Quantum (except 140 CPU 6••)
z The LCD and buttons for Quantum 140 CPU 6••

Precaution In all the above cases, the STOP is only effective at the end of the MAST task cycle.
Caution: in Debug mode, check that neither any breakpoint nor the Step by Step
mode are active before switching the PLC to STOP.
When the PLC is in STOP, all tasks are in STOP. We recommend you check the
behavior of the corresponding Inputs/Outputs.

860
Debugging the program

Setting a task to STOP

At a Glance A task can be set to STOP in different ways:


z Use of a breakpoint or the Step by Step mode.
z Use of the PLC screen (See Overview of the CPU debugging screen, p. 916)
(PLC animation screen).

Precautions ATTENTION: When a task is set to STOP, Inputs/Outputs behave differently to


whena task is deactivated (See Task deactivation, p. 862).
The behavior of outputs differs depending on the type of PLC:
z Premium / Atrium: when a task is set to STOP, the associated outputs
automatically switch to the configured mode (fallback or maintain). The outputs
associated with the other tasks continue to be updated as normal.
z Quantum: when a task is set to STOP, the associated outputs continue to be
updated with the value that preceded the STOP action. The outputs associated
with the other tasks continue to be updated as normal.

CAUTION
Behavior of I/Os when a task is in STOP using Quantum.
Although the user has set the task to STOP, outputs continue to be
updated by the CPU.
In two cases, this can lead to unforeseen behavior:
z where inputs are updated by a task that is still in RUN
z where Inputs/Outputs are mapped in the same memory zone, and
associated with different tasks
We strongly recommend you check that only one task is used to write
each output.
Failure to follow this precaution can result in injury or equipment
damage.

861
Debugging the program

Task deactivation

At a Glance A task can be deactivated in different ways:


z By using system bits (%S30 to %S35).
z By using the PLC screen (See Overview of the CPU debugging screen, p. 916)
(PLC animation screen).

Precautions ATTENTION: when a task is deactivated, Inputs/Outputs behave differently to


whena task is set to STOP. (See Setting a task to STOP, p. 861)
The behavior of outputs differs depending on the type of PLC:

CAUTION
Behavior of I/Os when a task is deactivated.
When a task is deactivated, its code is no longer excuted but the
associated Inputs/Outputs continue to be active.
Failure to follow this precaution can result in injury or equipment
damage.

862
Debugging the program

Deactivation of Inputs/Outputs

At a Glance The inputs associated with a task can be deactivated using the system word %SW8.
The outputs associated with a task can be deactivated using the system word
%SW9.

Precautions ATTENTION: deactivating the Inputs/Outputs does not deactivate the task (See
Task deactivation, p. 862).

CAUTION
Task outputs checked using system word %SW9.
The behavior of outputs differs depending on the type of PLC:
z Premium / Atrium: module outputs located on the X Bus
automatically switch to the configured mode (fallback or maintain).
On the Fipio bus, certain devices do not manage fallback mode.
Here, only maintain mode is possible.
z Quantum: all outputs, as well as the local or remote rack (RIO) are
maintained in the state that preceded the switch to 1 of the
corresponding %SW9 bit.
The Distributed Inputs/Outputs (DIO) are not assigned by the system
word %SW9.
Failure to follow this precaution can result in injury or equipment
damage.

863
Debugging the program

Use of the Step by Step mode and Breakpoint

At a Glance The use of the Breakpoint and Step by Step mode influence the PLC’s operating
modes. You must be careful when using them.

Precautions
CAUTION
Use of the breakpoint or the Step by Step mode.
In Debug mode, the use of a breakpoint (except for an SFC breakpoint
(See Inserting a breakpoint in Sequential Function Chart language
(SFC), p. 904)) or of the Step by Step mode forces the task to STOP.
We therefore advise you carefully check the consequences on the
behavior of the outputs when the task is set to STOP (See Setting a task
to STOP, p. 861).
Failure to follow this precaution can result in injury or equipment
damage.

864
Debugging the program

Unwanted disconnection in Debug mode

Caution If the connection is interrupted between the Unity Pro programming software and the
PLC, the breakpoint is automatically deleted. If the PLC was stopped at breakpoint
level, it automatically switches to STOP after the disconnection Timeout.

865
Debugging the program

36.2 Program Animation

At a Glance

Subject of this This section describes the animation used in the different language editors.
Section

What's in this This section contains the following topics:


Section?
Topic Page
Introduction to animation 867
Section in textual language (Structured Text or Instruction List) 869
Section in Ladder Diagram language 870
Section in Function Block Diagram language (FBD) 872
Section in Sequential Function Chart language (SFC) 873
Display of Prepositioned steps, after an on-line modification 874
DFB instances (user function blocks) 875
Representation of forced variables 876

866
Debugging the program

Introduction to animation

General Program animation is possible if the project that has been opened using the
software is identical to the project in the PLC.

The two connection modes are as follows:


z integral online mode (projects identical),
z degraded online mode (projects different).

In integral online mode, as long as it is authorized for your user profile and the Use
Programming mode option is checked (Tools ->Options menu then Connection
tab) you can:
z debug the project (setting a breakpoint or a watchpoint),
z modify the project, in this case:
z either you generate the project, in which case the modifications are
automatically transferred to the PLC and animation resumes,
z or you do not generate the project, in which case animation of the modified
sections is stopped.

Note: Modification and debugging of the project are not permitted in degraded
mode, or in integral online mode with the "Use monitoring mode" option checked
("Tools ->Options" menu then "Connection" tab).

Animation is managed section by section. You can stop it or restart it section by


section.

Note: CAUTION: The screen is refreshed immediately after the execution of each
section. As a result, for variables which change very quickly it is possible that there
may be differences from time to time between what is displayed and the actual
values in the PLC.

867
Debugging the program

Specific Two types of animation are available:


Features of z standard animation, in which the variables of the active section are refreshed
Animation upon completion of the master task (MAST),
z synchronized animation in which the variables of the active section are
refreshed at the same time as a program element (of the section) containing the
Watchpoint (useful if one of the variables is used in several program sections
and you want to know its value at a specific location)

Depending on which language editor is open, it may not be possible to view the
name of the variable at the same time as it content. The Tool tip function is provided
to compensate for this.
This is a help bubble which is displayed when you move the cursor over the
variables. This help bubble information is then displayed:
z the value of the variable if only its name is visible in the editor,
z the name of the variable if only its value is visible in the editor.

Starting and By default, the sections are animated. To stop the animation of a section click on the
Stopping button in the toolbar. To restart the animation, click the button a second time.
Animation

868
Debugging the program

Section in textual language (Structured Text or Instruction List)

At a Glance Animation of a Section in Structured Text language:

The background color of the editor is gray.

The colors used in offline mode for the various elements (instructions, variables,
comments) are replaced and all text is shown in black. However, the variables are
shown in the following colors:
z for Boolean variables:
z green if the variable is TRUE (1),
z red if the variable is FALSE (0).
z yellow for other types of variable.

Note: Data types other than Booleans, are animated in a display window and not
in the editor. However, it is possible to view their value in a help bubble (Tool tip)
when you position the mouse pointer over the value.

869
Debugging the program

Section in Ladder Diagram language

At a Glance Animation of a section in Ladder Diagram language:

The background color of the editor is gray.

The colors used in offline mode for the various elements (instructions, variables,
comments) are replaced:
z for Boolean variables:
z green if the variable is TRUE (1),
z red if the variable is FALSE (0).
z yellow for numerical types of variable.

Note: Derived data (DDT) instances and function block (EFB\DFB) instances are
animated in a display window and not in the language editor. You can view the
name of a numerical variable (yellow) in a help bubble (Tool tip) when you position
the mouse pointer over the variable.

The result of textual expressions is also animated:


z in green and red for Boolean expressions,
z numerical expressions are replaced by their result, the associated help bubble
(Tool tip) displays the text of the expression.

870
Debugging the program

Animations There are 3 types of link:


z Boolean links between contacts and coils,
z Boolean links between function blocks,
z numerical links between function blocks.

Two sorts of animation are possible depending on the option selected:


z with animation of links (default setting on Quantum) for which:
z Boolean links between contacts and coils are shown in green or red
depending on whether the evaluation of the ladder upstream yields the value
TRUE (1) or FALSE (0),
z Boolean links between function blocks are shown in green or red depending
on whether the output parameter to which they are connected is TRUE (1) or
FALSE (0),
z numerical links between the function blocks are shown in black. They display
the value of the output parameters to which they are connected.
z without animation of links (default setting on Premium) in which closed
contacts and triggered coils are shown in reverse video.

To select an animation, perform the following actions:


Step Action
1 From the menu, select the Tools->Project Settings... command.
Result: The Project Settings (See Choice of configuration parameters for
project generation , p. 363) window is displayed.
2 In the Code generation zone either:
z check the Generate with LD link animation box for animation of links,
z uncheck the Generate with LD link animation box to disable animation of
links.
3 Confirm with OK

Note: When switching from one option to the other the project must be regenerated
and reloaded into the PLC. Animation of links has an adverse effect on the
performance of the project in run.

871
Debugging the program

Section in Function Block Diagram language (FBD)

At a Glance Animation of a section in Function Block Diagram language:

The background color of the editor is gray.

The colors used in offline mode for the various elements (instructions, variables,
comments) are:
z for Boolean variables:
z green if the variable is TRUE (1),
z red if the variable is FALSE (0).
z yellow for numerical types of variable.

Note: Derived data (DDT) instances and function block (EFB\DFB) instances are
animated in a display window and not in the language editor. You can view the
name of a numerical variable (yellow) in a help bubble (Tool tip) when you position
the mouse pointer over the variable.

The result of textual expressions is also animated:


z in green and red for Boolean expressions,
z numerical expressions are replaced by their result, the associated help bubble
(Tool tip) displays the text of the expression.

Animating the There are 2 types of link:


Links z Boolean links between function blocks,
z numerical links between function blocks.

These 2 types of links are animated in the following way:


z Boolean links between function blocks are shown in green or red depending on
whether the output parameters to which they are connected are TRUE (1) or
FALSE (0),
z numerical links between the function blocks are shown in black. They display the
value of the output parameter to which they are connected.

872
Debugging the program

Section in Sequential Function Chart language (SFC)

At a Glance Animation of a section in Sequential Function Chart language:

The background color of the editor is gray.

The colors used for the different elements are:


z for steps:
z green if the step is active,
z white if the step is inactive,
z yellow if the activity time of the step is less than the minimum programmed
time,
z pink if the activity time of the step is greater than the minimum programmed
time.
z for macro-steps:
z when a macro-step becomes active the upper half is shown in green,
z when the OUT step of the macro-step is active the whole of the macro-step is
shown in green,
z when the macro-step becomes inactive it is then shown in white.
z for transitions associated with a Boolean element or a simple Boolean
expression:
z green if the element or the expression is TRUE
z red if the element or the expression is FALSE.
z for transitions associated with a section:
z black as long as the previous step remains inactive,
z green if the conditions in the section are TRUE,
z red if the conditions in the section are FALSE,

CAUTION
SFC editor refresh
In online mode with the animation activated, you can modify the
program and Generate the project. In this case, the animation is not
automatically restarted.
To return to the animation, click Services → Animation
Failure to follow this precaution can result in injury or equipment
damage.

873
Debugging the program

Display of Prepositioned steps, after an on-line modification

At a Glance As part of the on-line modifications associated with a prepositioning of the SFC,
Unity Pro behaves in a specific way when:

z An SFC section uses macro sections


z Sections are animated.
z A prepositioning is performed for this section and for the sections of the macro-
steps.

Procedure Procedure for obtaining the scenario that may cause a problem.
Step Action
1 Perform a modification in one of the sections.
Result:
z The animation of the section is stopped.
z The prepositionings of the SFC and its macro-sections are reset to zero.
2 Use the command Build → Build project to generate the modifications.
3 Use the command PLC → Transfer project to PLC to load the modifications in
the PLC.
Result:
z The animation of the modified section is relaunched and displays the current
state (the prepositioning is reset to zero).
z The animation of the sections belonging to the modified section is not
updated. In fact, these still display the prepositionings despite the fact they
have been deleted.

Solution: Stop the animation of the sections concerned, then relaunch this animation again.

874
Debugging the program

DFB instances (user function blocks)

At a Glance A DFB instance may be made up of one section (IEC 1131-3) or several sections.

Animation of a DFB instance consists in animating a section of the instance


written in one of the programming languages.

The rules governing animation of the DFB sections are the same as for conventional
sections according to the language used such as:
z textual languages (See Section in textual language (Structured Text or Instruction
List), p. 869),
z Ladder Diagram language (See Section in Ladder Diagram language, p. 870),
z Function Block Diagram language (See Section in Function Block Diagram
language (FBD), p. 872).

The animated variables are the variables belonging to the DFB instance that has a
section which is currently being animated, in other words:
z the input, input\output, output parameters,
z the public variables,
z the private variables.

How to Animate a To go to the relevant section of a DFB instance, perform the following operations:
Section of a DFB
Step Action
1 In the animated section of the program, select the DFB instance and from the
contextual menu execute the Refine command.
A window showing the DFB section(s) opens:
2 In this box, choose the section of the DFB that you wish to animate and
confirm with OK.
Section in Structured Text:
3 If the DFB section which is currently animated is a nested instance and you
wish to animate one of its sections, restart the operation.

875
Debugging the program

Representation of forced variables

At a Glance Animation of forced variables:

Note: Forcing only concerns located Boolean variables of EBOOL type.

In animated mode, these variables are represented in the following way:


z framed by a green rectangle if the value is TRUE (1),
z framed by a red rectangle if the value is FALSE (0).

Implementation The table below describes the actions to be performed to force variables from a
language editor:
Step Action
1 Open a section.
2 From the Edit menu, select all variables using the Select all command or
Select a variable.
3 Select the Initialize Animation Table command from the Services menu.
Result: An animation table opens with the variable(s) selected in the section.
4 Click on Force in the animation table.
5 Select the variable to be forced in the animation table.
6 In the animation table click on one of the buttons alongside the desired value or
execute the Force to 0 or Force to 1 commands from the contextual menu.

876
Debugging the program

36.3 Debugging in Ladder Language

At a Glance

Subject of this This section introduces the different tools available and explains how to implement
Section them to debug the program. These tools are:
z the breakpoint,
z step by step execution,
z the watchpoint.

What's in this This section contains the following topics:


Section?
Topic Page
Inserting a breakpoint in Ladder Diagram language (LD) 878
Step by step execution mode in Ladder Diagram language (LD) 880
Inserting a watchpoint in Ladder Diagram language 882

877
Debugging the program

Inserting a breakpoint in Ladder Diagram language (LD)

At a Glance A breakpoint can be used to stop the execution of the task at the point at which it
was set.

During debugging it can be used:


z to examine the behavior of the code,
z to view the value of variables.

There is a single breakpoint at a given point in the project. This is not saved and is
lost on disconnection from the PLC.

It is implemented in online mode, regardless of whether the PLC is in Run or in Stop.

Note: It is not possible to set a breakpoint in an event task.

Element Used for The program element which can be used to set a breakpoint is the rung or a Sub-
Setting a Routine (SR) or user function block (DFB) call within a rung.
Breakpoint
In other words, the following program section:

878
Debugging the program

How to Insert a Carry out the following actions:


Breakpoint
Step Action
1 For example, select a contact in the rung.
2 Set the breakpoint:
z by selecting the Debug->Set Breakpoint command from the menu,
z by selecting the Set Breakpoint command from the contextual menu,
z or by selecting the button in the debug toolbar.

Note: Inserting a new breakpoint automatically clears the old one.

From the menu, select the Debug->Show Breakpoint command to locate the
breakpoint by displaying the section where it has been set in the language editor.

How to Delete a Either you can:


Breakpoint z select the Debug->Clear Breakpoint command from the menu,
z or select the button in the debug toolbar.

879
Debugging the program

Step by step execution mode in Ladder Diagram language (LD)

At a Glance Step by step mode consists in executing the application program rung by rung. For
rungs containing sub-routine (SR) or user function block (DFB) calls, step by step
can be written into the code used to implement them.

This mode is launched by a breakpoint which will have been set in advance. It is
used to examine the behavior of the code, and the value of the variables.

It is implemented in online mode. The section executed in step by step mode stops
the corresponding task, and the links are no longer animated.

Three commands can be used for step by step mode. These are:
z the Step Into command,
z if the current element is a rung which does not contain an SR call or a DFB
instance call, this command executes the rung and moves onto the next rung,
z if the current element is a rung which does contain an SR call or a DFB
instance call, this command executes the start of the rung and moves to the
first SR or DFB call.
z if the current element is an SR or DFB instance call, this command can be
used to step into the code and go to the first element.
z the Step Over command,
z if the current element is a rung, this command executes it in its entirety and
moves onto the next rung,
z if the current element is an SR or DFB instance call, this command executes
it in its entirety as if it were a straightforward element and moves onto the next
element.
z the Step Out command.
z if the current element is part of the code of an SR or DFB instance, this
command can be used to execute all the elements of the SR or the DFB and
to move onto the next element after the SR or DFB call,
z if the current element is an SR call or a DFB instance call, this command
executes the remainder of the current rung in its entirety and moves onto the
next rung,
z if the current element is a rung, this command executes the current section in
its entirety and moves onto the start of the next section.

From step by step mode, if you want to relaunch the execution of the task in order
to return to the breakpoint you set earlier, select the Debug->Go command from
the menu, or click on Go in the toolbar:

880
Debugging the program

Step Into, Step Description of step by step from the breakpoint reached :
Out and Step
Step Action
Over
1 Clicking on the Step Into button moves execution of the program to the SR1 call.
2 or 2’ or If you click on:
2’’ z Step Into (2) execution of the program moves onto %MW1:=0
z Step Out (2’) the rung is executed and execution of the program moves onto
the next rung.
z Step Over (2’’) SR1 is executed and execution of the program moves on to
call SR2.
3 Clicking on Step Out while in SR1 executes SR1 in its entirety and moves
execution of the program on to call SR2.
4 or 4’ or If you click on:
z Step Into (4) execution of the program moves onto %MW2:=0
Clicking on Step Into moves execution of the program onto %MW3:=5, and
so on if you want to use step by step in SR2.
z Step Out (4) the rung is executed and execution of the program moves onto
the next rung,
5 Clicking on Step Out while in SR2 executes SR2 in its entirety and moves
execution of the program onto the next rung.

Note: When program execution is over an instruction, it will not yet have been
executed. It will be executed after a command is pressed.

Specific Case of If you want to perform step by step section by section, execute the Step Out
Step Out command from the first element of each section.

Note: If the next section is an SFC section or a section implementing an action


or a transition (mandatory in the Mast task), this is skipped unless a language
element has a breakpoint.

Rule In step by step mode the task manager will not detect a watchdog overflow for the
task currently being debugged. It will, however, detect infinite loops.

881
Debugging the program

Inserting a watchpoint in Ladder Diagram language

At a Glance When there is no watchpoint, the values of animated variables are displayed at the
end of MAST task processing.

The limitation of this mode of operation is that it does not permit the value of a
variable at a given point in the program to be known if this value is used in different
sections.

The watchpoint is used to synchronize display of animated variables with


execution of a program element (rung) in order to know their exact value at this
specific point in the program.

Variables which are synchronous with the watchpoint must belong to the section
in which the watchpoint is set; display of other variables is synchronous with the end
of the MAST task.

These variables are displayed:


z in the section ladder editor,
z in the display window,
z in a single animation table at a given moment when requested by the user.

Note: It is not possible to set a watchpoint in an event task.

Watchpoint These properties are:


Properties z the watchpoint can be set only in online mode; if the connection is broken, the
watchpoint is lost as well,
z a single watchpoint is allowed at a given moment; the watchpoint is exclusive with
the breakpoint,
z display of animated variables is effective before execution of the rung on which
the watchpoint has been set,
z a counter is incremented each time the rung with the watchpoint is executed, up
to a maximum value of 9999, then reset to 0,
z modification of a section is not authorized if a watchpoint is set.

882
Debugging the program

How to Insert a Carry out the following actions:


Watchpoint
Step Action
1 For example, select a contact in the rung.
2 Set the watchpoint in one of the following ways:
z by selecting the following command from the menu:
Debug->Set Watchpoint,
z by selecting the following command from the contextual menu:
Set Watchpoint,
z or select the button in the toolbar.

Note: Inserting a new watchpoint automatically clears the old one.

How to Locate an Carry out the following actions:


Existing
Step Action
Watchpoint
1 Either:
z by selecting the following command from the menu:
Debug->Show Watchpoint,
z or select the button in the toolbar.
2 The part of the language editor containing the watchpoint is displayed.

How to Carry out the following actions:


Synchronize with
Step Action
an Animation
Table 1 Select the animation table desired.
2 either you can:
z select the following command from the menu:
Debug->Synchronize Animation Table.
z or select the button in the toolbar.

How to Delete a Either you can:


Watchpoint z select the Debug->Clear Watchpoint command from the menu,
z or select the button in the toolbar.

883
Debugging the program

36.4 Debugging in Textual Languages


(Structured Text, Instruction List)

At a Glance

Subject of this This section introduces the different tools available and explains how to implement
Section them to debug the program. These tools are:
z the breakpoint,
z step by step execution,
z the watchpoint.

What's in this This section contains the following topics:


Section?
Topic Page
Insertion of a breakpoint in textual languages (Structured Text or Instruction 885
List)
Step by step execution mode in textual languages (Structured Text or 887
Instruction List)
Insertion of a watchpoint in textual languages (Structured Text or Instruction 889
List)

884
Debugging the program

Insertion of a breakpoint in textual languages (Structured Text or Instruction


List)

At a Glance A breakpoint can be used to stop the execution of the task at the point at which it
was set.

During debugging it can be used:


z to examine the behavior of the code,
z to view the value of variables.

There is a single breakpoint at a given point in the project. This is not saved and is
lost on disconnection from the PLC.

It is implemented in online mode regardless of whether the PLC is in Run or in Stop.

Note: It is not possible to set a breakpoint in an event task.

Element Used for The program element used to set a breakpoint is an instruction.
Setting a
Breakpoint In other words, the following program section:

Line 1 (*Example*)
Line 2 IF(%MW10=14) THEN (*Test condition*)
Line 3 %MW45:=68; (*Execution if condition true*)
Line 4 ELSE
Line 5 %MW45:=24; (*Execution if condition false*)
Line 6 END_IF;
Line 7 %MW10:=12; DFB1_3(prms); %MW0:=%MW0+1;
Line 8

Lines 2, 3, 5 and 7 can hold a breakpoint.


Lines 1, 4, 6 and 8 cannot hold a breakpoint.

Note: On line 7 (several instructions), the breakpoint can be set on the first, second
or third instruction. The instruction with the breakpoint is framed.

885
Debugging the program

How to Insert a Carry out the following actions:


Breakpoint
Step Action
1 Select the desired program element.
2 Set the breakpoint:
z by selecting the following command from the menu:
Debug->Set Breakpoint,
z or by selecting the button in the debug toolbar.

Note: Inserting a new breakpoint automatically clears the old one.

From the menu, select the Debug->Show Breakpoint command to locate the
breakpoint by displaying the section where it has been set in the language editor.

How to Delete a Either you can:


Breakpoint z select the Debug->Clear Breakpoint command from the menu,
z or select the button in the debug toolbar.

886
Debugging the program

Step by step execution mode in textual languages


(Structured Text or Instruction List)

At a Glance Step by step mode consists in executing the application program instruction by
instruction. A line may contain several instructions.

This mode is launched by a breakpoint which will have been set in advance. It is
used to examine the behavior of the code, and the value of the variables.

It is implemented in online mode. The section executed in step by step mode stops
the corresponding task.

Three commands can be used for step by step mode. These are:
z the Step Into command,
z if the current element is an SR (sub-routine) or DFB (user function block)
instance call, this command can be used to step into the code and go to the
first element of the SR or DFB,
z if the current element is an instruction, this command executes it and moves
onto the next instruction.
z the Step Over command,
z if the current element is an SR or DFB instance call, this command executes
it in its entirety as if it were a straightforward element and moves onto the next
instruction,
z if the current element is an instruction, this command executes it and moves
onto the next instruction.
z the Step Out command.
z if the current element is part of the code of an SR or DFB, this command can
be used to execute all the elements of the SR or the DFB and to move onto
the next element of the SR or DFB.
z if the current element is an instruction, this command executes the current
section in its entirety and moves onto the start of the next section.

From step by step mode, if you want to relaunch the execution of the task in order
to return to the breakpoint you set earlier, select the Debug->Go command from
the menu, or click on Go in the toolbar:

887
Debugging the program

Step Into, Step Description of step by step from the breakpoint reached :
Out and Step
Step Action
Over
1 Clicking on the Step Into button moves execution of the program to the SR1 call.
2 or 2’ or If you click on:
2’’ z Step Into (2) execution of the program moves onto %MW1:=0
z Step Out (2’) the section is executed and execution of the program moves
onto the first element of the next section.
z Step Over (2’’) SR1 is executed and execution of the program moves on to
call SR2.
3 Clicking on Step Out while in SR1 executes SR1 in its entirety and moves
execution of the program on to call SR2.
4 or 4’ If you click on:
z Step Into (4) execution of the program moves onto %MW2:=0
Clicking on Step Into moves execution of the program onto %MW3:=5, and
so on if you want to use step by step in SR2.
z Step Over (4) SR2 is executed and execution of the program moves onto the
next instruction.
5 Clicking on Step Out while in SR2 executes SR2 in its entirety and moves
execution of the program onto the next instruction.

Note: When program execution is over an instruction, it will not yet have been
executed. It will be executed after a command is pressed.

Specific Case of If you want to perform step by step section by section, execute the Step Out
Step Out command from the first element of each section.

Note: If the next section is an SFC section or a section implementing an action


or a transition (mandatory in the Mast task), this is skipped unless a language
element has a breakpoint.

Rule In step by step mode the task manager will not detect a watchdog overflow for the
task currently being debugged. It will, however, detect infinite loops.

888
Debugging the program

Insertion of a watchpoint in textual languages (Structured Text or Instruction


List)

At a Glance When there is no watchpoint, the values of animated variables are displayed at the
end of MAST task processing.

The limitation of this mode of operation is that it does not permit the value of a
variable at a given point in the program to be known if this value is used in different
sections.

The watchpoint is used to synchronize display of animated variables with


execution of a program element (instruction) in order to know their exact value at
this specific point in the program.

Variables which are synchronous with the watchpoint must belong to the section
in which the watchpoint is set; display of other variables is synchronous with the end
of the MAST task.

These variables are displayed:


z in the section language editor,
z in the display window,
z in a single animation table at a given moment when requested by the user.

Note: It is not possible to set a watchpoint in an event task.

Watchpoint These properties are:


Properties z the watchpoint can be set only in online mode; if the connection is broken, the
watchpoint is lost as well,
z a single watchpoint is allowed at a given moment; the watchpoint is exclusive with
the breakpoint,
z display of animated variables is effective before execution of the instruction on
which the watchpoint has been set,
z a counter is incremented each time the instruction with the watchpoint is
executed, up to a maximum value of 9999, then reset to 0,
z modification of a section is not authorized if a watchpoint is set.

889
Debugging the program

How to Insert a Carry out the following actions:


Watchpoint
Step Action
1 In the section, select the desired instruction.
2 Set the watchpoint in one of the following ways:
z by selecting the following command from the menu:
Debug->Set Watchpoint,
z by selecting the Set Watchpoint command from the contextual menu,
z or select the button in the toolbar.

Note: Inserting a new watchpoint automatically clears the old one.

How to Locate an Carry out the following actions:


Existing
Step Action
Watchpoint
1 Either:
z by selecting the following command from the menu:
Debug->Show Watchpoint.
z or select the button in the toolbar.
2 The part of the language editor containing the watchpoint is displayed.

How to Carry out the following actions:


Synchronize with
Step Action
an Animation
Table 1 Select the animation table desired.
2 either you can:
z select the following command from the menu:
Debug->Synchronize Animation Table.
z or select the button in the toolbar.

How to Delete a Either you can:


Watchpoint z select the following command from the menu:
Debug->Clear Watchpoint,
z or select the button in the toolbar.

890
Debugging the program

36.5 Debugging in Function Block Diagram (FBD)


Language

At a Glance

Subject of this This section introduces the different tools available and explains how to implement
Section them to debug the program. These tools are:
z the breakpoint,
z step by step execution,
z the watchpoint.

What's in this This section contains the following topics:


Section?
Topic Page
Inserting a breakpoint in Function Block Diagram language 892
Step by step execution mode in Function Block Diagram language (FBD) 894
Inserting a watchpoint in Function Block Diagram language (FBD) 896

891
Debugging the program

Inserting a breakpoint in Function Block Diagram language

At a Glance A breakpoint can be used to stop the execution of the task at the point at which it
was set.

During debugging it can be used:


z to examine the behavior of the code,
z to view the value of variables.

There is a single breakpoint at a given point in the project. This is not saved and is
lost on disconnection from the PLC.

It is implemented in online mode regardless of whether the PLC is in Run or in Stop.

Note: It is not possible to set a breakpoint in an event task.

Element Used for The program element used to set a breakpoint is the function block.
Setting a
Breakpoint In other words, the following program section:
The breakpoint can only be set on 1 block at a time. The number in brackets over
the block corresponds to the order of execution.

892
Debugging the program

How to Insert a Carry out the following actions:


Breakpoint
Step Action
1 Select the desired program element.
2 Set the breakpoint:
z by selecting the following command from the menu:
Debug->Set Breakpoint,
z by selecting the following command from the contextual menu:
Set Breakpoint,
z or by selecting the button in the debug toolbar.

Note: Inserting a new breakpoint automatically clears the old one.

From the menu, select the Debug->Show Breakpoint command to locate the
breakpoint by displaying the section where it has been set in the language editor.

How to Delete a Either you can:


Breakpoint z select the following command from the menu:
Debug->Clear Breakpoint,
z or select the button in the debug toolbar.

893
Debugging the program

Step by step execution mode in Function Block Diagram language (FBD)

At a Glance Step by step mode consists in executing the application program function block by
function block.

This mode is launched by a breakpoint which will have been set in advance. It is
used to examine the behavior of the code, and the value of the variables.

It is implemented in online mode. The section executed in step by step mode stops
the corresponding task.

Three commands can be used for step by step mode. These are: :
z the Step Into command,
z if the current element is an SR (sub-routine) or DFB (user function block)
instance call, this command can be used to step into the code and go to the
first element of the SR or DFB,
z if the current element is a function block, this command executes it and moves
onto the next function block.
z the Step Over command,
z if the current element is an SR or DFB instance call, this command executes
it in its entirety as if it were a straightforward element and moves onto the next
function block,
z if the current element is a function block, this command executes it and moves
onto the next function block.
z the Step Out command.
z if the current element is part of the code of an SR or DFB, this command can
be used to execute all the elements of the SR or the DFB and to move onto
the next element of the SR or DFB.
z if the current element is a function block, this command executes the current
section in its entirety and moves onto the start of the next section.

From step by step mode, if you want to relaunch the execution of the task in order
to return to the breakpoint you set earlier, select the Debug->Go command from
the menu, or click on Go in the toolbar:

894
Debugging the program

Step Into, Step Description of step by step from the breakpoint reached :
Out and Step
Step Action
Over
1 Clicking on the Step Into button moves execution of the program to the SR1 call.
2 or 2’ or If you click on:
2’’ z Step Into (2) execution of the program moves onto %MW1:=0
z Step Out (2’) the section is executed and execution of the program moves
onto the first element of the next section.
z Step Over (2’’) SR1 is executed and execution of the program moves on to
call SR2.
3 Clicking on Step Out while in SR1 executes SR1 in its entirety and moves
execution of the program on to call SR2.
4 or 4’ If you click on:
z Step Into (4) execution of the program moves onto %MW2:=0
Clicking on Step Into moves execution of the program onto %MW3:=5, and
so on if you want to use step by step in SR2.
z Step Over (4) SR2 is executed and execution of the program moves onto the
next function block.
5 Clicking on Step Out while in SR2 executes SR2 in its entirety and moves
execution of the program onto the next function block.

Note: When program execution is over a function block, it will not yet have been
executed. It will be executed after a command is pressed.

Specific Case of If you want to perform step by step section by section, execute the Step Out
Step Out command from the first element of each section.

Note: If the next section is an SFC section or a section implementing an action


or a transition (mandatory in the Mast task), this is skipped unless a language
element has a breakpoint.

Rule In step by step mode the task manager will not detect a watchdog overflow for the
task currently being debugged. It will, however, detect infinite loops.

895
Debugging the program

Inserting a watchpoint in Function Block Diagram language (FBD)

At a Glance When there is no watchpoint, the values of animated variables are displayed at the
end of MAST task processing.

The limitation of this mode of operation is that it does not permit the value of a
variable at a given point in the program to be known if this value is used in different
sections.

The watchpoint is used to synchronize display of animated variables with


execution of a program element (function block) in order to know their exact value
at this specific point in the program.

Variables which are synchronous with the watchpoint must belong to the section
in which the watchpoint is set; display of other variables is synchronous with the end
of the MAST task.

These variables are displayed:


z in the section language editor,
z in the display window,
z in a single animation table at a given moment when requested by the user.

Note: It is not possible to set a watchpoint in an event task.

Watchpoint These properties are:


Properties z the watchpoint can be set only in online mode; if the connection is broken, the
watchpoint is lost as well,
z a single watchpoint is allowed at a given moment; the watchpoint is exclusive with
the breakpoint,
z display of animated variables is effective before execution of the block on which
the watchpoint has been set,
z a counter is incremented each time the function block with the watchpoint is
executed, up to a maximum value of 9999, then reset to 0,
z modification of a section is not authorized if a watchpoint is set.

896
Debugging the program

How to Insert a Carry out the following actions:


Watchpoint
Step Action
1 In the section, select the block desired.
2 Set the watchpoint in one of the following ways:
z by selecting the following command from the menu:
Debug->Set Watchpoint,
z by selecting the following command from the contextual menu:
Set Watchpoint,
z or select the button in the toolbar.

Note: Inserting a new watchpoint automatically clears the old one.

How to Locate an Carry out the following actions:


Existing
Step Action
Watchpoint
1 Either:
z by selecting the following command from the menu:
Debug->Show Watchpoint.
z or select the button in the toolbar.
2 The part of the language editor containing the watchpoint is displayed.

How to Carry out the following actions:


Synchronize with
Step Action
an Animation
Table 1 Select the animation table desired.
2 either you can:
z select the following command from the menu:
Debug->Synchronize Animation Table.
z or select the button in the toolbar.

How to Delete a Either you can:


Watchpoint z select the Debug->Clear Watchpoint command from the menu,
z or select the button in the toolbar.

897
Debugging the program

36.6 Debugging User Function Block (DFB) Instances

At a Glance

Subject of this This section introduces the different tools available and explains how to implement
Section them to debug the DFB instances of the program. These tools are:
z the breakpoint,
z step by step execution,
z the watchpoint.

What's in this This section contains the following topics:


Section?
Topic Page
Inserting a breakpoint in a DFB instance (user function block) 899
Step by step execution mode in a DFB instance (user function block) 901
Inserting a watchpoint in a user function block (DFB) 902

898
Debugging the program

Inserting a breakpoint in a DFB instance (user function block)

At a Glance A breakpoint can be used to stop the execution of the task which contains the DFB
instance in which it has been set.

During debugging it can be used:


z to examine the behavior of the code,
z to view the value of the variables and the input/output parameters of the instance.

There is a single breakpoint at a given point in the project. This is not saved and is
lost on disconnection from the PLC.

It is implemented in online mode regardless of whether the PLC is in Run or in Stop.

Elements Used The program element used to set a breakpoint in a DFB section depends on the
for Setting a language in which the section has been written:
Breakpoint z the rung and the nested DFB call for Ladder Diagram language (See Element
Used for Setting a Breakpoint, p. 878),
z the instruction for textual languages (See Element Used for Setting a
Breakpoint, p. 885),
z the Function Block for Function Block Diagram (See Element Used for Setting
a Breakpoint, p. 892) language.

899
Debugging the program

How to Insert a Access the DFB instance section (See How to Animate a Section of a DFB, p. 875)
Breakpoint from which you wish to insert a breakpoint.

Depending on the language used in the DFB section, proceed in the following
manner:
z for Ladder Diagram language (See How to Insert a Breakpoint, p. 879),
z for textual languages (See How to Insert a Breakpoint, p. 886),
z for Function Block Diagram language (See How to Insert a Breakpoint, p. 886).

If several instances of a DFB are used in the application, the breakpoint is valid for
all calls as the DFB code is shared by all the instances.
The task corresponding to the first call (order of execution) is stopped when the
breakpoint in reached.
By relaunching execution using the Go button the task corresponding to the next
call is stopped and so on.

Note: Inserting a new breakpoint automatically clears the old one.

How to Locate an Carry out the following actions:


Existing
Step Action
Breakpoint
1 Select the following command from the menu:
Debug->Show Breakpoint.
2 The part of the language editor containing the breakpoint is displayed.

How to Delete a Either you can:


Breakpoint z select the following command from the menu:
Debug->Clear Breakpoint,
z or select the button in the debug toolbar.

Erasing a breakpoint does not restart the task. To do this, you have to press .

900
Debugging the program

Step by step execution mode in a DFB instance (user function block)

At a Glance For a DFB section programmed in:


z Ladder Diagram language (See At a Glance, p. 880),
z textual languages (See At a Glance, p. 887),
z Function Block Diagram language (See At a Glance, p. 894).

Step Into, Step Step by step functions are used in the same way for a section belonging to a DFB
Out and Step as for a conventional section.
Over

Note: a DFB section may contain a sub-routine (SR).

For a DFB section programmed in:


z Ladder Diagram language (See Step Into, Step Out and Step Over, p. 881),
z textual languages (See Step Into, Step Out and Step Over, p. 888),
z Function Block Diagram language (See Step Into, Step Out and Step Over,
p. 895).

DFB with Several A DFB may be made up of several sections.


Sections
The Step Out command can be used to move onto the instance following the DFB,
and when applied to the last section allows you to exit the instance.

When you want to quit a DFB instance perform as many Step Out commands as
there are sections. Program execution will go to the first element after the DFB
instance call.

Rule In step by step mode the task manager will not detect a watchdog overflow for the
task containing the DFB instance. It will, however, detect infinite loops.

901
Debugging the program

Inserting a watchpoint in a user function block (DFB)

At a Glance Access the DFB instance section (See How to Animate a Section of a DFB,
p. 875)from which you wish to insert a watchpoint.

For a DFB section programmed in:


z ladder language (See Inserting a watchpoint in Ladder Diagram language,
p. 882),
z textual languages (See Insertion of a watchpoint in textual languages (Structured
Text or Instruction List), p. 889),
z Function Block Diagram language (See Inserting a watchpoint in Function Block
Diagram language (FBD), p. 896).

902
Debugging the program

36.7 Debugging in Sequential Function Chart


Language (SFC)

At a Glance

Subject of this This section introduces the different tools available and explains how to implement
Section them to debug the program. These tools are:
z the breakpoint,
z step by step execution,
z the watchpoint.

What's in this This section contains the following topics:


Section?
Topic Page
Inserting a breakpoint in Sequential Function Chart language (SFC) 904
Step by step execution mode in Sequential Function Chart language (SFC) 906
Inserting a watchpoint in Sequential Function Chart language 909

903
Debugging the program

Inserting a breakpoint in Sequential Function Chart language (SFC)

At a Glance In contrast to other languages, a breakpoint in SFC does not stop execution of the
task corresponding to the point at which it has been set, but freezes the chart and
automatically activates mode "disable transitions"..
For this SFC section (section of the breakpoint), the PLC remains in "disable
transitions" mode until you quit this mode using the Animation panel tool.
In "disable transitions" mode, the background color of the editor is blue.
During debugging it can be used:
z to examine the behavior of the code,
z to view the value of variables.
In contrast to other languages, several breakpoints can be set at a given point in an
SFC section. They are not saved and are lost on disconnection from the PLC.
They are implemented in online mode, regardless of whether the PLC is in Run or
in Stop.

Note: It is not possible to set a breakpoint in an event task.

CAUTION
Use of an SFC breakpoint
An SFC breakpoint freezes the chart but the Inputs/Outputs remain active.
It is entirely your responsibility to ensure that these functionalities are
used correctly.
Failure to follow this precaution can result in injury or equipment
damage.

CAUTION
Risk of unsafe operation and hardware damage.
When you reach a step with a breakpoint, the chart is frozen. However,
BEWARE, as the task and its associated inputs/outputs are still active.
This debug method should only be used for controlling machines tool
or maintenance equipment when these are powered up. This is because
it can create dangerous and destructive situations for the machines or the
processes being controlled.
Failure to follow this precaution can result in injury or equipment
damage.

904
Debugging the program

Element Used for From an SFC section the program element used to set a breakpoint is the step.
Setting a In other words, the following chart section:
Breakpoint From a section which contains the processing of a step or a transition the
program element used to set a breakpoint corresponds to the language used, i.e.:
z Ladder Diagram language (See Element Used for Setting a Breakpoint, p. 878),
z Structured Text or Instruction List language (See Element Used for Setting a
Breakpoint, p. 885),
z Function Block Diagram language (See Element Used for Setting a Breakpoint,
p. 892).

How to Insert a From an SFC section:


Breakpoint
Step Action
1 Select the desired step(s).
2 Set the breakpoint(s) by right-clicking the desired element and selecting the
following command:
Animation → Insert/Remove Breakpoint.

Example:
From a section corresponding to an action or a section corresponding to a
transition the procedures correspond to the language used, i.e.:
z Ladder Diagram language (See How to Insert a Breakpoint, p. 879),
z Structured Text or Instruction List language (See How to Insert a Breakpoint,
p. 886),
z Function Block Diagram language (See How to Insert a Breakpoint, p. 893).

How to Delete a Select the breakpoint to be deleted, then select the Debug ->Clear Breakpoint
Breakpoint from command from the menu.
an SFC section

905
Debugging the program

Step by step execution mode in Sequential Function Chart language (SFC)

At a Glance In SFC language you have 2 debugging levels:


z from an SFC section (chart),
z from a section implementing an action or a transition, where this section is
written in one of the following languages (Ladder, Structured Text, Function Block
Diagram, Instruction List).

Sections In this type of section, debugging behaves in practically the same way as debugging
Implementing for a conventional section using one of the following languages:
Actions or z Ladder Diagram language (See Step by step execution mode in Ladder Diagram
Transitions language (LD), p. 880),
z textual languages (See Step by step execution mode in textual languages
(Structured Text or Instruction List), p. 887),
z Function Block Diagram language (See Step by step execution mode in Function
Block Diagram language (FBD), p. 894).
The specific characteristics of this type of debug are:
z it is impossible to enter a section of an action or a transition in step by step mode
when coming from another section, unless this section contains a breakpoint,
z when you are at the end of a section of an action or a transition it is impossible to
exit it in step by step mode by using the commands Step Into, Step Over, Step
Out, Go is the only command available.

SFC Sections Step by step mode consists in executing the application program step by step.
(Chart)
Note: When program execution is over a step, it will not yet have been executed.
It will be executed after a command is pressed.

This mode is launched by a breakpoint which will have been set in advance (on a
step). It is used to examine the behavior of the code, and the value of the variables.
It is implemented in online mode. The section executed in step by step mode in
contrast to sections in languages other than SFC does not stop the task, but freezes
the chart.
The debugging of an SFC section (chart) is checked using the Animation Panel
(Services->Animation Panel). Each SFC section (chart) has its own tool.

Note: The SFC Animation Panel (Services->Animation Panel) cannot be used to


debug charts corresponding to macro-steps. For such cases, you must use the
standard functions available in the Debug menu or the corresponding toolbar.

906
Debugging the program

Animation Panel To launch the tool, carry out the following actions:
Tool
Step Action
1 Open the editor for the SFC section (chart) that you wish to debug.
2 Select the following command from the menu:
Services->Animation Panel->Show Animation Panel
Result: The tool is displayed.

Animation Panel tool:


Description of different commands:
SFC section name
Parameters zone
Initialize Chart For an SFC section which is currently being executed, do the
following in order:
1) check this box to deactivate the active step(s),
2) uncheck this box to activate the initial steps to start the section.
Disable Time Check Check this box to disable checking of step execution times.
Disable Transitions Check this box to make it possible to freeze the chart in any
transition state. This box must be checked to be able to use the
following buttons: Step Trans Dependent, Step Over and Step
Out
Disable Actions Check this box to stop processing of steps.
Operation zone
Clear Chart Deactivates the active step(s).
Reset Time Errors Resets information on step activity time overruns.
Step Unconditional Move onto the next step without acknowledgment of the transition
condition and the scanning time delay of the transition
(SFCSTEP_TIME.delay).
Step Trans Dependent Move onto the next step with acknowledgment of the transition
condition and the scanning time delay of the transition
(SFCSTEP_TIME.delay).
Step Over If the current element is a step or a macro-step, the command
activates the next transition without acknowledging its scanning
delay (SFCSTEP_TIME.delay) and allows you to move onto the
next step or steps (in the event of divergence). The chart is frozen.
Step Out Only available if the current element is a step belonging to a macro-
step. This command activates the next transition without
acknowledging its scanning delay (SFCSTEP_TIME.delay) and
allows you to move onto the next step or steps (in the event of
divergence) following the macro-step. The chart is frozen.

907
Debugging the program

SFC section name


Set Break On Sets a breakpoint for all selected steps. If no step is selected, this
Selection command clears all the breakpoints.
Set Pre Pos On Sets the pre-positioning markers on the steps and macro-steps of
Selection the SFC section.
Set Pre-positioned Activates all the steps and macro-steps pre-positioned with the Set
Pre Pos On Selection command.
Select active steps Selects the active steps.
Set Selected Steps Activates all the steps and macro-steps selected with the Select
active steps command.

Note: The Step Into command is not available when debugging an SFC section
(chart).

908
Debugging the program

Inserting a watchpoint in Sequential Function Chart language

At a Glance SFC sections do not support watchpoints.

However, a watchpoint can be set on an element in the section that contains


processing for a step or transition; in this case, the procedures correspond to
those described for the language used:
z ladder language (See Inserting a watchpoint in Ladder Diagram language,
p. 882),
z textual languages (See Insertion of a watchpoint in textual languages (Structured
Text or Instruction List), p. 889),
z Function Block Diagram language (See Inserting a watchpoint in Function Block
Diagram language (FBD), p. 896).

909
Debugging the program

36.8 Information on Debugging

At a Glance

Subject of this This section describes how to access additional information during debugging.
Section

What's in this This section contains the following topics:


Section?
Topic Page
Tracing task execution 911
Task states during debugging 912
Disconnection during the debug phase 913
Operation of the alarm relay in Debug mode 914

910
Debugging the program

Tracing task execution

At a Glance Tracing task execution consists of knowing at a given moment (breakpoint reached,
step by step mode in progress) what the task execution path is, that is to say, what
subroutines (SR), user function blocks (DFB) have been called and what the
nesting level is.

For this purpose, a tool is available for your use: the LIFO stack (Last In First Out)
which memorizes all nestings so that you can monitor task execution.

How to Access a Carry out the following actions:


Program
Step Action
Element from the
Stack 1 From a breakpoint or a step-by-step mode in progress either by:
z selecting the following command from the menu:
Debug->Call Stack,
z or by pressing the button in the debug toolbar.
Example: ControlBlocking section having called a Blocking_valve (valve
type) DFB instance in the Control section:
The line number is used for Structured Text and Instruction List editors; for
Ladder and FBD editors, this is the number of the rung or the block that is
displayed.
2 If you select:
z the Control section and you click on Show, the editor positions itself on the
step in progress in the DFB instance; if this is a breakpoint, it is indicated in
the left margin by ,
z the ControlBlocking section and you click on Show, the editor is positioned
on the DFB instance call that is not the step in progress: it is indicated by .

Clicking the Close button closes the window representing the stack: the green
triangle disappears following:
z the resumption of step by step,
z a new call to display the contents of the stack,
z a restart of the task .

911
Debugging the program

Task states during debugging

At a Glance When debugging a project, it can be useful to determine the current state of tasks it
contains. Apart from the master task (MAST), these tasks can include:
z the FAST task,
z the auxiliary tasks (AUX0, AUX1, AUX2, AUX3).

The task state can be:


z HALT task stopped following the PLC's switch to "Halt",
z RUN task currently being executed,
z BKPT task in step by step mode,
z STOP task stopped.

How to To determine the current task state, select the Debug->Task State command from
Determine the the menu.
Project's Task
State

912
Debugging the program

Disconnection during the debug phase

Caused by the For a variety of reasons, you can decide to switch from online mode to offline
User mode even if a breakpoint has been set in a section or if you are in step by step
mode.

In this case, you must confirm your choice:

Following confirmation, all application tasks are stopped.

Caused by a fault When a breakpoint is set in a task section, or when you are in step by step mode, if
a hardware or communication problem is detected, the PLC switches automatically
from online mode to offline mode and the breakpoint is lost without a request for
confirmation.

913
Debugging the program

Operation of the alarm relay in Debug mode

Description
CAUTION
Behavior of the alarm relay in step by step mode, or when using
breakpoints.
The alarm relay (or safety output) changes status on every step or
breakpoint it meets. At the end of each cycle, the outputs are refreshed.
To stop this from happening, you can set bit %S9 to 1 in order to force
outputs to fallback mode.
Failure to follow this precaution can result in injury or equipment
damage.

914
Debugging the program

36.9 PLC debug screen

At a Glance

Aim of this sub- This sub-section shows the debug screen associated with the PLC processor.
section

What's in this This section contains the following topics:


Section?
Topic Page
Overview of the CPU debugging screen 916
Description of the Task tab: Task checking field 917
Description of the Task tab: Operating mode field 919
Description of tab: Realtime Clock 920
Description of the tab: Information 921

915
Debugging the program

Overview of the CPU debugging screen

Role This screen is composed of 3 tabs:


z Task, statuses and execution commands of the program tasks
z Real-time Clock, adjusting the real-time clock
z Information, information on the project and the PLC processor

PLC debug screens

How to access The CPU debug screen is only accessible in online mode using the Tools → PLC
the PLC debug Screen command or by double clicking on the PLC processor in the configuration
screen editor and choosing the Animation tab.
If the connection is interrupted, the screen remains displayed but is inactive.

To activate the commands or carry out the adjustments proposed in these tabs, you
must have appropriate user rights.

916
Debugging the program

Description of the Task tab: Task checking field

At a Glance This field gives you access to the display and settings of the task periods and the
various task execution commands.

Task checking field:


This field may be extended according to the tasks configured in the project: one line
per auxiliary task may be displayed in addition to those in the above screen.

Description The following table describes the role of each of the screen columns.
Column Role
Programmed Value of the configured task period (for a periodic task).
period
Period set In periodic operation, enables the task period to be adjusted. This setting is
lost on a cold start. The value entered in the configuration is then taken into
account.
It is possible to substitute these set values for the initial using the PLC →
Update Init Values with Current Values command.
It is possible to restore task periods configured for the selected task or for all
the periodic tasks with the Services → Restore or Services → Restore all
commands.
Minimum Minimum duration of execution of the task, measured from the last cold
duration restart or reinitialization using the Init Duration command.
Current Duration of the last task cycle.
duration
Maximum Maximum duration of execution of the task, measured from the last cold
duration restart or reinitialization using the Init Duration command.
Watchdog Value of the task watchdog. This value may not be modified.
Operating Operating mode of the task: RUN, STOP or HALT.
mode
Cmd The RUN/STOP buttons associated with the tasks are used to switch to RUN
or STOP.
Status z E (enabled): for active task (the system bits %S30 and %S31 are set at 1),
z D (disabled): for inactive task
(the system bits %S30 and %S31 are set at 0).

917
Debugging the program

Column Role
Task The Enable/Disable buttons associated with the tasks are used to enable or
activation disable a task.
When a task is enabled, the code is scanned and executed. The inputs/
outputs are updated.
When a task is disabled, the code is neither scanned nor executed. The
inputs/outputs are still updated.
Init Duration This command is used to reinitialize the values of the maximum and
minimum durations with the current value in order to carry out new
measurements.

Event The "Events" field is used to check the execution of event processing
Processing The following table describes the role of each of the columns of the screen above.
Column Role
Enable or This button is used to enable or disable all the event processing operations.
disable all If the events appear when the processing operations are disabled, they are
lost. The master task must be in RUN for this command to be authorized.
Status indicates the status of the event processing operations: Enabled or Disabled.
Number Number of event processing operations executed

918
Debugging the program

Description of the Task tab: Operating mode field

At a Glance This field gives access to various simulation buttons:


z Warm restart,
z Cold start,
z Output fallback.

Operating Mode field:


.
This field also indicates the date, time and cause of the last PLC stop.

Description Buttons and functions:


Button Function
Warm restart Click on this button to perform a warm restart of the PLC.
This sets the %S1 bit to 1, which, for example, is used to command a partial
initialization program.
Cold start Click on this button to perform a cold start of the PLC.
This initializes the data, the system, and sets the %S0 bit to 1 which (in this
case) is used for example to command a specific initialization program.
Output Is used to switch the outputs into fallback mode. The values supplied to the
fallback outputs are then the values defined in the configuration (fallback value on
PLC STOP).
When the outputs are in fallback, the Applied outputs button becomes
active and allows you to exit fallback mode.
Applied Is used to stop the fallback mode and to reapply the values supplied by the
outputs program to the outputs.

Specific features Premium/Atrium and Quantum PLCs manage output fallbacks slightly differently
when a task is set to STOP:
z Premium / Atrium: when a task is set to STOP, the associated outputs
automatically switch to the configured mode (fallback or maintain). The outputs
associated with the other tasks continue to be updated as normal.
z Quantum: when a task is set to STOP, the associated outputs continue to be
updated with the value that preceded the STOP action. The outputs associated
with the other tasks continue to be updated as normal.

919
Debugging the program

Description of tab: Realtime Clock

At a Glance This field gives access to the real-time clock settings.

Description Fields and functions:


Field Function
PLC Date Displays the date and time of the PLC processor.
and Time
PC date and Displays the date and time of the PC.
time The icon: is used to access the PC Date and Time setting screen.
The Update PC->PLC button updates the real-time clock of the PLC in line
with the date and time of the PC.
User Date Is used to adjust the date and time using the calendar and the entry fields: Date
and Time and Time.
The Update User->PLC button updates the real-time clock of the PLC in line
with the date and time set by the user.
Incorrect This field displays the cause of the error when a date or time is not accepted.
realtime
clock date

920
Debugging the program

Description of the tab: Information

At a Glance The Information tab is composed of 2 areas:


z the browser, which is used to choose the subject
z the display area in which information concerning the chosen subject is displayed.

TheServices → Print information command is used to print this information.


Information tab:

PLC IDENTIFI- This information is used to identify the PLC processor:


CATION
Element Function
information
PLC RANGE Type of PLC connected: Premium, Quantum...
PROCESSOR NAME Reference of the connected processor
PROCESSOR VERSION Software version of the processor
HARDWARE ID Hardware identifier
NETWORK ADDRESS Network address of the PLC

PLC MEMORY This information is used to identify the types of memory and their size. :
information
Element Function
CPU MEMORY Size of the internal RAM memory
RAM CARTRIDGE Type and size of the RAM cartridge
FLASH CARTRIDGE Type and size of the additional RAM cartridge

921
Debugging the program

APPLICATION This information is used to identify the project:


IDENTIFI-
Element Function
CATION
information NAME Name of the project.
CREATED WITH Software version from which the project has been
created.
DATE Creation date of the project.
MODIFIED WITH Software version with which the project has been
modified.
DATE Date of modification of the project.
VERSION Version of the project.
SIGNATURE Software signature associated with the project.

APPLICATION This information describes the content of the project loaded into the PLC.
OPTION
Element Function
information
NEW TERMINAL SUPPORT Presence or absence of support information for new
console (includes "Upload information", "Comments"
and "Animation tables").
UPLOAD INFORMATION Presence or absence of information needed to upload
the project to the terminal or to the PLC memory.
COMMENTS Presence or absence of comments on variables in the
PLC memory
ANIMATION TABLE Presence or absence of animation tables in the PLC
memory.
SECTION PROTECTION Protection of the project sections
APPLICATION DIAGNOSTICS Application diagnostics: selected or unselected.

OTHER Additional project information. :


APPLICATION
Element Function
information
NEW TERMINAL SUPPORT Update status of support information for new console.
FORCED BITS Display the number of forced bits in the application.
A single click on this line starts an animation table
containing all the forced bits. This service is only
operational if the content of the PLC is identical to the
content of the programming terminal and if there are
forced bits.

922
Viewing and adjusting variables

37
At a Glance

Subject of this This chapter guides the user through how to implement the tools for viewing and
Chapter adjusting project variables. These tools are:
z the variable display window,
z the variable display boxes,
z the animation tables.

What's in this This chapter contains the following sections:


Chapter?
Section Topic Page
37.1 Introduction to variable animation 924
37.2 Variable Display Window 925
37.3 Variable Display Boxes 927
37.4 Animation Tables 929

923
Viewing and adjusting variables

37.1 Introduction to variable animation

Displaying variables in debug mode

At a Glance Variables can be displayed using different language editors (sections) (See
Program Animation, p. 866), and additional tools, which are:
z the variable display window,
z the display boxes,
z the animation tables.

Variables Shown Certain variables used in a section cannot all be animated directly in the language
in the Display editor. These are:
Window z numerical variables in sections that use textual languages (ST, IL),
z numerical variables used in operation and comparison blocks in textual
languages (ST, IL),
z structure variables belonging to the DDT family (derived data type),
z parameters and variables belonging to DFB or EFB instances.

These variables are shown in the display window, called from the language editors.

The window automatically displays the language editor variables visible onscreen;
when the editor runs through the section, the window is updated automatically with
the new variables.

Variables Shown Each box displays the name and value of a single variable.
in the Display
Boxes The boxes can be placed anywhere in the section and can be configured.

Variables Certain variables must be continually monitored, regardless of whether they are
Displayed in the visible or not in the language editor at a given time.
Animation
Tables These variables are displayed in the animation tables, called from the language
editors.

924
Viewing and adjusting variables

37.2 Variable Display Window

Introduction to the Variable Output Window

Opening the Tool The Output Window is launched from the menu with the
"Tools->Variables Window" command.

In online mode, if the language editor is open, the tool automatically contains the
variables displayed by the language editor.

The Output Window includes:


z a line for each variable,
z for each one of the variables, columns describing:
z their name (symbol or address),
z their value,
z their type,
z a comment.

The Output A textual language editor (Structured Text, Instruction List) animates Boolean data.
Window and the Animation of other types of data takes place in the Variables Window; this data
Textual includes:
Language z elementary numerical types,
Editors z derived type (DDT) instance variables, except Boolean types,
z function block (EFB,DFB) instance variables, except Boolean types.

Note: to display variables of the derived data (DDT) or function block data
(EFB\DFB) types, you must expand (+) the name of the corresponding instance.

925
Viewing and adjusting variables

The Output A graphical language editor (LD,FBD) animates Boolean and elementary numerical
Window and the types of data.
Graphical Animation of other types of data can be carried out in the Output Window; this data
Language includes:
Editors z derived type (DDT) instance variables, except Boolean types,
z function block (EFB,DFB) instance variables, except Boolean types,
z numerical variables used in the operation or comparison blocks in the Ladder
Diagram language editor,
z variables for numerical expressions connected to EFB or DFB in the Ladder or
Function Block Diagram language editor.

Note: to display variables of the derived data (DDT) or function block data
(EFB\DFB) types, you must expand (+) the name of the corresponding instance.

926
Viewing and adjusting variables

37.3 Variable Display Boxes

Introduction to variable display boxes

At a Glance Each variable display box displays the name and value of a variable used in the
section.

Main characteristics:
z they are called only via sections written in textual languages (Structured Text,
Instruction List),
z they contain the variable name and value,
z the boxes can be placed anywhere in the section,
z they can be configured.

The display boxes are implemented in offline or online mode.

Creating a Carry out the following actions:


Variable Display
Step Action
Box
1 Select the variable from a section (Structured Text or Instruction List).
2 From the contextual menu, select the "New Inspect Window" command; the
box is displayed in the section.
3 Use the mouse to position the box.

927
Viewing and adjusting variables

Settings Carry out the following actions:


Step Action
1 Select the display box.
2 From the contextual menu, launch the "Settings" command.
3 The following dialog box appears:
Enter the minimum and maximum values for the variable:
z if the variable value is less than the value entered in Minimum value, the
display box is shown in yellow,
z if the variable value falls between the 2 values entered, the display box is
shown in blue,
z if the variable value is greater than the value entered in Maximum value, the
display box is shown in pink.
If no value is entered, the box is shown in blue.
4 Select the type of variable display to be used in the display box (Decimal, Binary,
Hexadecimal, floating default, exponent, literal) by checking the corresponding
box.

Clearing a Carry out the following actions:


Variable Display
Step Action
Box
1 Select the display box.
2 From the contextual menu, launch the "Delete Inspect" command.

928
Viewing and adjusting variables

37.4 Animation Tables

At a Glance

Subject of this This section guides the user through the implementation of animation tables.
Section

What's in this This section contains the following topics:


Section?
Topic Page
Introduction to animation tables 930
Managing animation tables 931
Basic functions 932
Modification mode 934
Forcing Mode 936
Multiple modification and forcing of Boolean variables 937

929
Viewing and adjusting variables

Introduction to animation tables

At a Glance An animation table is divided into 3 areas that include:


z the Mode area,
z the Command area,
z the Display area,

Online and In offline mode, an animation table does not display values associated with the
offline mode variables.

In online mode, an animation table displays the values of the variables.

930
Viewing and adjusting variables

Managing animation tables

Creating a New Carry out the following actions:


Animation Table
Step Action
1 In the project browser, go to the "Animation Tables" directory.
2 From the contextual menu; select the "New Animation Table" command; the table
is created with a default name.
3 If you wish, you can rename the table by clicking on its name in the project browser.

Opening an Carry out the following actions:


Existing
Step Action
Animation Table
1 Select the desired table in the "Animation Tables" directory.
2 Either:
z Select the "Open" command from the contextual menu,
z or double-click on the name of the table.

Variables that were displayed previously in the table are re-loaded into the table.

Attaching an Carry out the following actions:


Animation Table
Step Action
to a Functional
Module 1 Display the Structural View and the Functional View.
2 Select the desired table in the "Animation Tables" directory in Structural View.
3 From the Structural View, use the mouse to drag\drop the animation table into the
desired functional module in the Functional View.

Backing Up an The backup is performed automatically.


Animation Table

Clearing an Carry out the following actions:


Animation Table
Step Action
1 Select the desired table in the "Animation Tables" directory.
2 Select the "Delete" command from the contextual menu.

931
Viewing and adjusting variables

Basic functions

Adding a Data Carry out the following actions:


Item to the
Step Action
Animation Table
1 Move to an empty line
2 Either you can:
z double-click on the empty line.
z move to a variable and from the contextual menu, select the "Insert"
command.
3 Enter the variable name or select it in the "Instance selection" window
launched with the button.

Adding a Data Carry out the following actions:


Item From
Step Action
Another
Animation Table 1 In the source animation table, select the desired data item.
2 Either:
z select the "Copy" command from the contextual menu, and in the
destination animation table, in the desired line, select the "Paste"
command.
z or using the mouse, drag the data item and drop it in the desired line in the
destination animation table.

Note: You can also carry out the same manipulation for multiple selections.
Warning: the drag/drop operation removes the data from the source table and
places it in the destination table, whereas Copy/Paste copies the data from the
destination table without removing it from the source table.

932
Viewing and adjusting variables

Modifying the Carry out the following actions:


Display Format
Step Action
1 In the animation table, select the desired data item.
2 In the contextual menu, select the "Display Format"’ command and choose the
format.

Note: Depending on the display format selected, (Binary, Hexadecimal, ASCII,


String, etc) the value of the data item is preceded by a prefix and followed by a
suffix (except for Decimal format).

Deleting a Carry out the following actions:


Variable
Step Action
1 In the animation table, select the variable(s) desired.
2 Select the "Delete" command from the contextual menu.

Note: Once the deletion has been made, the table is reorganized to fill the empty
lines.

933
Viewing and adjusting variables

Modification mode

Implementing Press the" Modification" button in the Mode area:


Modification
Mode

Modifying an To modify an immediate value, carry out the following actions:


Elementary
Step Action
Variable (EDT)
1 Double-click in the "Value" column on the line corresponding to the variable that
you wish to modify.
2 Use the keyboard to enter the desired value.
3 Confirm your choice by pressing the "Enter" key.

To modify a Boolean value, carry out the following actions:


Step Action
1 Use the mouse to select the Boolean value to be modified.
2 Press one of the buttons corresponding to the desired value, or from the
contextual menu, execute the "Force to 0" or "Force to 1"" commands.

To modify several variables simultaneously, see Modifying Several Boolean


Variables, p. 937

934
Viewing and adjusting variables

Modifying a Derived variables correspond to structures and to tables.


derived variable
(DDT) For a structure, if the elements that compose it are elementary variables,
modifications are made element by element see Modifying an Elementary Variable
(EDT), p. 934.

Note: if the structures are nested, you must expand them (+) until you reach the
elementary variables.

For a table, if the elements that compose it are elementary variables, modifications
are made element by element see Modifying an Elementary Variable (EDT),
p. 934.

Note: If the table contains structure-type elements, follow the procedure described
above.

Modifying a Function block data corresponds to DFBs and EFBs.


Function Block
(FB) Data Item If the elements that compose the function block (input/output parameters, public
variables) are elementary variables; the modifications are carried out element par
element see Modifying an Elementary Variable (EDT), p. 934.

Private variables cannot be accessed by animation tables; only the code for a DFB
section can read or write them.

Note: If the variables are derived (structures, tables), you must expand them (+)
until you reach the elementary variables.

935
Viewing and adjusting variables

Forcing Mode

Implementing Press the "Force" button in the Mode area:


Forcing Mode
This mode is only available for variables responding to these conditions:
z the variable must be an EBool type,
z it must be a located variable,
z the forcing attribute must be validated in the variable editor.

Forcing a To force a located Boolean variable, carry out the following actions:
Variable
Step Action
1 Use the mouse to select the Boolean variable.
2 Press one of the buttons corresponding to the desired value, or from the
contextual menu, execute the "Force to 0" or "Force to 1"" commands.

To force several variables simultaneously, see Forcing Several Boolean (EBool)


Variables, p. 937

When a variable is forced, the letter F is displayed in front of the value:

Unforcing a To unforce a located Boolean variable, carry out the following actions:
Variable
Step Action
1 Use the mouse to select the Boolean variable.
2 Press the . button or execute the "Unforce" command from the contextual
menu.

To unforce several variables simultaneously, see Forcing Several Boolean


(EBool) Variables, p. 937

When a variable is unforced, the letter F no longer appears in front of the value.

936
Viewing and adjusting variables

Multiple modification and forcing of Boolean variables

At a Glance The reason for modifying or forcing a group of several Boolean variables (located)
is to enable the PLC to acknowledge these changes in the same cycle.

Modifying Carry out the following actions:


Several Boolean
Step Action
Variables
1 Click on the button.
The Set value column is added to the table:
2 In the Set value column, modify the value of the Boolean variables you wish.
The contents of the corresponding lines is now shown in bold font:
3 Press the button so that the PLC acknowledges the modifications.

The button clears the Set value column.

Forcing Several Carry out the following actions:


Boolean (EBool)
Step Action
Variables
1 Click on the button.
The Force value column is added to the table:
2 In the Force value column, modify the value of the Boolean variables you wish.
The contents of the corresponding lines is now shown in bold font:
3 Press the button so that the PLC acknowledges the modifications.

The button clears the Force value column.

937
Viewing and adjusting variables

938
PLC Simulator

38
Introduction

Overview The simulator allows you to simulate the CPU of the PLC families Premium and
Quantum.
The use of Breakpoints, Stepping and the Go To function enables you to test your
project in the simulated PLC.

What's in this This chapter contains the following topics:


Chapter?
Topic Page
Launching and Exiting the Simulator 940
Loading a Project in the Simulator 941
Simulator Icon in the Toolbar 942
Limitations of the PLC Simulator 944
System Bits and System Words 946

939
PLC Simulator

Launching and Exiting the Simulator

Launching the The procedure for launching the simulator is as follows:


Simulator
Step Action
1 Select the Unity Pro icon in the toolbar and load an application (See Loading a
Project in the Simulator, p. 941), or select the Simulator program icon from the
Schneider Electric program group.
Results:
z A start melody plays if the Ton option is checked in the options dialog box.
z A small Unity Pro icon appears for 2-3 seconds in the middle of the screen.
z The simulator icon (See Simulator Icon in the Toolbar, p. 942) appears in the
toolbar:
Result: The simulator is now operational.
2 You have the following possibilities to open the simulator dialog box:
z Double click on the simulator icon in the toolbar.
z Call the menu command Simulator-Steuerung from the shortcut menu for
the simulator icon (right mouse button).
Result: The simulator dialog box is opened.

Possible error The following error messages can occur when launching the simulator:
messages
Error message Cause Removal
A simulator is already running! The simulator is already Confirm the error message
active. Only one with OK and use the simulator
simulator can be active. that is already active.
Version information from xxx Invalid file in the Reinstall Unity Pro after
cannot be read (err=0) ! simulator directory uninstalling it.
The DLL xxx is incompatible (...) ! Invalid file in the Reinstall Unity Pro after
simulator directory uninstalling it.
At least one Simulator DLL is Invalid file in the Reinstall Unity Proafter
incompatible. Simulation not simulator directory uninstalling it.
possible !

Exiting the The procedure for exiting the simulator is as follows:


Simulator
Step Action
1 Call the menu command Exit Simulation from the shortcut menu for the
simulator icon in the toolbar or the simulator dialog box.
Result: The simulator is closed.

940
PLC Simulator

Loading a Project in the Simulator

Introduction The process for loading a project to the simulator is identical in principle to loading
a project on a real PLC.

Loading a Loading a project in the simulator:


Project
Step Action
1 Launch the simulator, or select the Unity Soft symbol from the toolbar, see also
Launching the Simulator, p. 940.
2 Select the menu command in your project (Unity Soft) Structure → Regenerate
entire project.
3 Create a connection to the simulator using the menu command PLC →
Connect, see also How to create a connection, p. 941.
Result: The simulator icon in toolbar now looks as follows:
Note: It is standard procedure for the simulator to be installed on the same PC
as the Unity Soft (Local Host). The project can also be loaded on a simulator in
another PC via a TCP/IP connection.
4 Select the menu command Transfer Project to the PLC.
Result: A transfer dialog box appears.
5 Press the Transfer button.
Result: The project is loaded on the simulator and the simulator icon looks as
follows in the toolbar.
6 Select the menu command SPS → Start.
Result: The project is launched on the simulator and the simulator icon looks as
follows in the toolbar.

How to create a It is standard procedure for the simulator to be installed on the same PC as the Unity
connection Soft (Local Host). When the menu command PLC → Connect is selected, a
connection to the Local Host PC is automatically created. The project can also be
loaded on a simulator in another PC via a TCP/IP connection.
In this case you must specify the TCP/IP address of the target PC in the Loading a
project procedure before carrying out step 3 (creating a connection).
Then select the Unity Soft menu command PLC → Set Address, and in the
Simulator text box Address enter the TCP/IP address of the target PC. Then
continue with step 3.
If you want to load the project in the Local Host PC simulator (Unity Soft and
simulator on the same PC), you do not have to carry out this step as the Local Host
PC address is automatically entered.
Representation of the default dialog box:

941
PLC Simulator

Simulator Icon in the Toolbar

Introduction After launching the simulators the simulator icon appears in the toolbar. This icon
identifies the active simulator and displays the different states of the simulated PLC.

General The simulator icon is created according to the following rules:


structure z The background color represents the basic status.
z green
Normal operating mode
z yellow
PLC is in HALT state
z red
PLC is in ERROR state
z A frame around the icon shows the active debug mode.
z blue
Debug mode is active, i.e. at least one breakpoint is set in the project, or there
is at least one user task in debug mode.
z The inner symbol shows the current PLC status, such as RUN, IDLE, STOPPED
etc.
z The color of the inner symbol shows the connection status.
z black
No TCP/IP client is connected.
z red
At least one TCP/IP client is connected.

Normal states Meaning of the symbols:


Icon The simulated PLC is in Meaning
status...

? NOCONF (no configuration) No user project loaded or the loaded project


is invalid.
IDLE The project loaded on the PLC has not been
started or reset with reset.
STOPPED No project is running.

RUN A project with at least one task is running.

942
PLC Simulator

Error states Meaning of the symbols:


Icon The simulated PLC is in Meaning
status...
HALT An error has occurred in the project. The
simulated PLC must be reinitialized or reset
using the Reset command button.
ERROR An fatal error has occurred in the project.
This means communication is no longer
possible. The simulated PLC must be reset
using the Reset command button.

943
PLC Simulator

Limitations of the PLC Simulator

General General limitations


z The PLC simulator simulates a complete project with all its user tasks. However,
the runtime behavior of the simulator cannot be compared to that of a real PLC
and cannot be used to draw conclusions about the behavior of a real PLC. This
includes Multitasking behavior and all time information.
z The SPS Simulator does not support any form of I/O. Although the simulation
contains all project components for I/Os, they are not processed by the PLC
simulator. Inputs and outputs can only be accessed via the project or via the Unity
Pro online functions (read, write, force, animate, ...).
z The PLC simulator does not support triggering of I/O events through setting/
forcing of %I bits.

System The PLC simulator does not support all system functions on all platforms. These
functions functions are only implemented as dummy functions.
This means that all functions and function blocks can be used in the loaded project,
but they do not work as expected and/or they return an error message.
This mainly affects functions and function blocks that accessed special platforms,
such as I/O blocks, communication and hardware specific functions.
The following system functions are supported:
z Diagnostics functions
z Functions to read the date and time
z Propagation delay time
z Object access (except network variables)
z Premium DFBs
z SFC
The following system functions are not supported:
z Closed loop control (CLC)
z Fip IO
z BusX IO
z Quantum IO
z Configuration
z Communication
z Functions to set the date and time

944
PLC Simulator

Communication Communication limitations:


z The PLC simulator only supports TCP/IP based communication (Schneider Port
502). In all other cases a Modbus error is returned.
z Modbus, Modbus Plus or UNITE are not supported by the PLC simulator.
z The PLC simulator does not support communication to other PCs or PLC
simulators, neither remote nor local.
z The PLC simulator has no communication timeout.
z Communication network, such as Uni-Telway, ETHWAY, FIWAY, Modbus,
Modbus Plus, etc., are not supported by the PLC simulator.

945
PLC Simulator

System Bits and System Words

System bits The following subsets of the %S system bits are supported, see also system bits and
words in the Reference manual:
%S0 COLDSTART
%S1 WARMSTART
%S4 TB10MS
%S5 TB100MS
%S6 TB1SEC
%S7 TB1MIN
%S11 WDG
%S12 PLCRUNNING
%S13 1RSTSCANRUN
%S15 STRINGERR
%S17 CARRY
%S18 OVERFLOW
%S19 OVERRUN
%S20 INDEXOVF
%S30 MASTACT
%S31 FASTACT
%S32 AUX0ACT
%S33 AUX1ACT
%S34 AUX2ACT
%S35 AUX3ACT
%S38 ACTIVEVT
%S39 EVTOVR
%S62 MEMPROTOFF
%S68 PLCBAT
%S76 DIAGBUFFCONF
%S77 DIAGBUFFFULL
%S78 HALTONERR
%S80 RSTMSGCNT
%S94 SAVECURRVAL
%S95 RESTINITVAL
%S96 BACKUPPROGOK
%S97 SAVEMWOK

946
PLC Simulator

System word The following subsets of the %SW system word are supported, see also System bits
and words in the Reference manual:
%SW0 MASTPERIOD
%SW1 FASTPERIOD
%SW2 AUX0PERIOD
%SW3 AUX1PERIOD
%SW4 AUX2PERIOD
%SW5 AUX3PERIOD
%SW10 TSKINIT
%SW11 WDGVALUE
%SW15 OSMINORREVIS
%SW17 FLOATSTAT
%SW18 100MSCOUNTER
%SW19 100MSCOUNTER
%SW30 MASTCURRTIME
%SW31 MASTMAXTIME
%SW32 MASTMINTIME
%SW33 FASTCURRTIME
%SW34 FASTMAXTIME
%SW35 FASTMINTIME
%SW36 AUX0CURRTIME
%SW37 AUX0MAXTIME
%SW38 AUX0MINTIME
%SW39 AUX1CURRTIME
%SW40 AUX1MAXTIME
%SW41 AUX1MINTIME
%SW42 AUX2CURRTIME
%SW43 AUX2MAXTIME
%SW44 AUX2MINTIME
%SW45 AUX3CURRTIME
%SW46 AUX3MAXTIME
%SW47 AUX3MINTIME
%SW48 IOEVTNB
%SW49 DAYOFWEEK
%SW50 SEC

947
PLC Simulator

%SW1 HOURMIN
%SW52 MONTHDAY
%SW53 YEAR
%SW54 STOPSEC
%SW55 STOPHM
%SW56 STOPMD
%SW57 STOPYEAR
%SW58 STOPDAY
%SW 70 CURRTIMEDATE
%SW 71 KEYSWITCH
%SW76 LREGDIAG
%SW77 LDEREGDIAG
%SW78 NBERRDIAG
%SW87 MSGNSERVNB
%SW108 FORCEDBITNB
%SW109 FORCEDANANB
%SW124 CPUERR
%SW125 FATALERRTYPE
%SW126 ERRADDR
%SW127 ERRADDR

948
Diagnostics

VII
At a Glance

Subject of this This part describes the various diagnostics tools available in Unity Pro for the
Part programming, maintenance and use of Premium, Atrium and Quantum PLCs.

What's in this This part contains the following chapters:


Part?
Chapter Chapter Name Page
39 Introduction to diagnostics tools 951
40 Diagnostics screens 955
41 Diagnostics Viewer 961
42 System diagnostics 975
43 Project diagnostics 977

949
Diagnostics

950
Introduction to diagnostics tools

39
Diagnostics with Unity Pro

At a Glance Unity Pro diagnostics consist of a set of tools and functionalities which allow you to
intervene at all stages in the development and use of an automation application.
The different resources available are as follows:
z Language Objects (IODDTs).
z Diagnostics screens.
z The Diagnostics Viewer.
z System diagnostics.
z Project diagnostics (diagnostic EFBs and DFBs).

951
Introduction to diagnostics

Using the The following table shows the resources available.


resources
Resource Use
Language objects Language objects are diagnostics tools which can be
used in a project to ascertain the status of a channel or
module (for example the error bit for channel 1 of the
module located in slot 2 of rack 3: %I3.2.1.ERR). These
objects are described at the end of the documentation for
each module. In general they are used in the form of
IODDT variables.
Diagnostics screens (See The diagnostics screens can be accessed from the
Diagnostics screens, p. 955) configuration editor for the processor and the application-
specific modules. To access the desired diagnostics
screen double-click on the element (processor or module)
then select the Fault tab. The fault information messages
are generally very clear (for example: Range over/
undershoot on an analog channel).
The Diagnostics Viewer (See The Diagnostics Viewer is a tool which can be used to
Diagnostics Viewer, p. 961) for view the alarms generated by the system diagnostics and
Unity Pro the diagnostic DFBs. There is a Diagnostics Viewer built
into Unity Pro but there are also Diagnostics Viewers
available for Magelis HMI terminals or via Factory Cast
applications.
System diagnostics (See System System diagnostics is a service which combines the use
diagnostics, p. 975) of system bits and words with the Diagnostics Viewer.
When a project has been built with the System
Diagnostics option (See Choice of configuration
parameters for project generation , p. 363), the system
bits and words automatically generate diagnostics
messages in the Diagnostics Viewers (See Diagnostics
Viewer, p. 961).
Project diagnostics (See Project Project diagnostics consist of specific EFBs and DFBs
diagnostics, p. 977) which are embedded in the code of an automation project
(diagnostics EFBs and DFBs and to provide the user or maintenance personnel with clear
SFC diagnostics) information on the operating conditions of the monitored
process. These program elements will trigger alarms
which can be viewed in the Diagnostics Viewers.
SFC diagnostics go hand in hand with the system
diagnostics, which are an intrinsic part of SFC and enable
step activity times to be monitored.

952
Introduction to diagnostics

Advantages The main advantages of these services are as follows:


z Diagnostics are an integral part of the project. It can therefore be thought out at
the development stage in order to be able to best meet the requirements of the
user and maintenance personnel.
z Errors are logged and dated at source (in the PLC), meaning that the information
provided is an exact representation of the state of the process.
z You can connect several Viewers (Unity Pro, Magelis, Factory Cast) which will
describe the exact state of the process to the user. Each Viewer works
independently and any action taken with one (an acknowledgment for example)
is automatically visible on the others.

953
Introduction to diagnostics

954
Diagnostics screens

40
At a Glance

Subject of this This chapter describes the diagnostics screens enabling the user to perform
Chapter troubleshooting for his automation system.

The screens dealt with are those for:


z Premium and Quantum processor modules,
z an application-specific counting module.

Note: by way of example, only diagnostics for the application-specific


counting module are covered here. For the other modules please refer to the
manuals for the corresponding specific applications.

What's in this This chapter contains the following sections:


Chapter?
Section Topic Page
40.1 Module and processor diagnostics screens 956

955
Diagnostics screens

40.1 Module and processor diagnostics screens

At a Glance

Subject of this This section introduces the user to the counting module diagnostics screens.
Section

Note: By way of example, only diagnostics for application-specific counting


modules are covered here. The diagnostics screens for the other application-
specific modules as well as those for processors are similar.

What's in this This section contains the following topics:


Section?
Topic Page
Viewing fault diagnostics 957
Lists of fault diagnostics 958

956
Diagnostics screens

Viewing fault diagnostics

At a Glance The diagnostic screens on the module or channel are only accessible in connected
mode. When an un-masked fault appears, this is reported:
z in the configuration screen of the rack, with the presence of a red square in the
position of the faulty counting module,
z in all screens at module level (Description and Fault tabs),
z in the module field with the I/O LED.
z in all channel level screens (Configuration, Adjustment, Debug and Fault
tabs),
z in the module field with the I/O LED.
z in the channel field with the channel fault LED.
z in the fault screen that is accessed by the Fault where the fault diagnostics are
described.
The fault is also reported:
z on the module, through the centralized viewing,
z with the dedicated language objects: CH_ERROR (%Ir.m.c.ERR) and module
error MOD_ERROR (%Ir.m.MOD.ERR), %MWr.m.MOD.2, etc., and the status
words.

Note: even if the fault is masked (TSX CTY 2C), it is reported by the flashing of the
LED I/O and in the fault screen.

957
Diagnostics screens

Lists of fault diagnostics

At a Glance The messages displayed on the diagnostics screens are used to assist in debugging
the project. These messages must be concise and are sometimes ambiguous (as
different faults may have the same consequences).
These diagnostics are on two levels: module and channel, the latter being the most
explicit. The lists below show the message headings with suggestions for finding out
what is wrong.

List of the The table below provides a list of the module fault messages.
module fault
Fault indicated Possible interpretation and/or action
messages
Module failure The module has a fault.
Check the module mounting. Change the module.
Faulty channel(s) One or more channels have a fault.
Refer to channel diagnostics.
Self-test The module is running a self-test. Wait until the self-test is complete.
Different hardware and There is a lack of compatibility between the module configured and
software configurations the module in the rack.
Make the configuration and the software configuration compatible.
Module is missing or off Install the module. Fasten the mounting screws.

958
Diagnostics screens

List of channel The table below gives the list of fault messages at channel level.
fault messages
Fault indicated. Other consequences. Possible interpretation and/or action.
External fault or counting input fault: Check the sensor connections.
z encoder or proximity sensor supply fault, Check the sensor power supply.
z line break or short circuit of at least one Check the sensor operation.
encoder differential signal (1A, 1B or 1Z), Delete the fault and acknowledge if the fault
z SSI series frame fault, storing is configured (CTY 2C).
z specific fault on absolute encoder. Counting pulses or incremental encoder:
Outputs are set to 0 in automatic mode. preset or reset to acknowledge the Invalid
Invalid measurement message. measurement message.
Counting application fault: Diagnose the fault more precisely (external
z measurement overrun causes).
z overspeed Check the application again, if necessary.
Outputs are set to 0 in automatic mode. Delete the fault and acknowledge if the fault
Invalid measurement message. storing is configured (CTY 2C).
Counting pulses or incremental encoder:
preset or reset to acknowledge the Invalid
measurement message.
Auxiliary input/output fault: Check the output connections.
z power supply Check the input/output power supply (24V).
z short circuit of at least one output Diagnose the fault more precisely (external
Outputs are set to 0 in automatic mode. causes).
Delete the fault and acknowledge if the fault
storing is configured (CTY 2C).
Internal fault or channel self-test: Module fault has gone down to channel level.
z faulty module, Refer to module level diagnostics.
z module missing or off,
z module running self-test.
Different hardware and software Module fault has gone down to channel level.
configurations Refer to module level diagnostics.
Invalid software configuration: Check and modify the configuration
z incorrect constant constants.
z bit combination not associated with any
configuration
Communication fault Check the connections between the racks.
Application fault: refusal to configure or adjust Diagnose the fault more precisely.

959
Diagnostics screens

960
Diagnostics Viewer

41
At a Glance

Subject of this The following chapter describes the Diagnostics Viewer, used to display error
Chapter messages.

What's in this This chapter contains the following topics:


Chapter?
Topic Page
Reminder of the diagnostics associated with the Viewer 962
Operation of the diagnostics in Unity Pro 963
Description of the Diagnostics Viewer 964
How to find causes 966
Configuring the display 968
Managing error messages 969
Diagnostics Viewer commands 971
DiagViewer Properties 972
Archiving error messages 973

961
Viewer

Reminder of the diagnostics associated with the Viewer

Diagnostics in In order to check the correct operation of your process, the Unity Pro software offers
Unity Pro you 2 types of diagnostics:
z system diagnostics,
z project diagnostics.
The Diagnostics Viewer is used to display error messages.

System System diagnostics are performed automatically. When the PLC detects a system
diagnostics error (for example, a watchdog being exceeded, an input/output error, division by
zero, etc.), information is sent to the Diagnostics Viewer. The Diagnostics Viewer
displays a system error message if in the project settings you have checked the
System diagnostics (See Choice of configuration parameters for project generation
, p. 363) box.

Project Project diagnostics uses diagnostics EFBs and DFBs. In addition, SFC program
diagnostics diagnostics form an integral part of the system and allow you to test the activation
times of the steps.
When the Project diagnostics (See Choice of configuration parameters for project
generation , p. 363) box is checked, information is sent to the viewer when a fault
occurs, which displays an error message.

Diagnostics EFBs and DFBs are function blocks that are programmed to carry out diagnostics in
EFBs and DFBs your project (See Project diagnostics, p. 977).
The graphic representation of a DFB is as follows:

Viewer The Diagnostics Viewer is a tool that is used to display and acknowledge error
messages linked to diagnostics:

962
Viewer

Operation of the diagnostics in Unity Pro

General The Unity Pro diagnostics function monitors the elements of the process to detect
any faults there may be. When a fault occurs, it sends an error message to the
display systems which display this fault.

Illustration The following illustration shows the operation of the Unity Pro diagnostics:

Operation of the The table below describes the various phases of operation of the Unity Pro
diagnostics diagnostics:
Phase Description
1 The diagnostics function blocks built into the project program and the
diagnostics built into the system detect process faults.
2 The faults are stored in the form of date/time stamped messages in the
diagnostics buffer memory.
3 The error messages are then displayed via the following display systems:
Diagnostics Viewer or Human Machine Interface (HMI), used to:
z display messages,
z acknowledge messages that need an acknowledgement,
z initialize animation tables and cross-references,
z launch associated program editors,
z delete diagnostics buffer alarms.

963
Viewer

Description of the Diagnostics Viewer

At a Glance The Diagnostics Viewer is presented in the form of a display window comprising 2
display fields:
z a field that displays the diagnostics error messages,
z a field that provides additional information on the error message selected from
the alarms list.

Diagnostics The following screen presents the Diagnostics Viewer and its 2 display fields:
Viewer 1 List of error messages
2 Additional information on the message selected

Description of For each of the alarms, the error messages list displays the following information:
error messages
Field Description
Acknowledgement The icon and the text indicate the message status: not
acknowledged, acknowledged, deleted or no acknowledgement.
Message Error message. This message is in fact the text you entered in the
comments of the instance of the function block that generated the
error.
Fault Type of diagnostics FB or system bit that detected the error.
Symbol Symbol associated with the fault.
Field Faulty PLC zone.
Appearance Date Date and time of appearance of the fault.
Disappearance Date Date and time of disappearance of the fault.
Acknowledge Date Date and time of acknowledgement of the fault.

964
Viewer

Definition of The Diagnostics Viewer uses the following icons to indicate the message status:
icons
Icon Description
The fault has disappeared and has been acknowledged (if it needed an
acknowledgement).

The fault needs an acknowledgement.

The fault has not disappeared.

The system fault has disappeared and has been acknowledged (if it
needed an acknowledgement).

The system fault has not disappeared.

Description of The additional information field provides the following information for the message
the additional selected in the list:
information field z the alarm type with
z a comment (defined by the user for the diagnostics FB),
z the date of appearance.
z specific data as a function of the type of alarm,
z a list of error variables, if these exist,
z interpretation of the status words as a function of the STO file corresponding to
this alarm.
The following screen gives an example of additional information on an error
message:
If you want to refresh the values of the status words, reselect the message from the
list or press the F5 function key.

Note: If you wish, you can find the element that caused the error displayed in the
viewer. This is called finding the cause. (See How to find causes, p. 966)

965
Viewer

How to find causes

At a Glance Cause finding involves searching for an element which has triggered an alarm on a
diagnostics EFB or DFB input.

Each input with the Diag property can be used to search for causes.

How to find The following table describes the procedure for finding causes.
causes
Step Action
1 Select the alarm in question in the Viewer.
Result: The alarm line is shown in reverse video.
2 Right-click on the input for which you want to search for the cause.
Result: The contextual menu allows you to initialize an animation table and to
search for the DFB input variable so as to ascertain whether it is used in the
program. This is called cause finding.
3 Click on the Initialize Search to search for cross-references to the selected
input.
Result: The Cross-References screen is displayed.

966
Viewer

Lists of The table below specifies the diagnostics inputs (with Diag property selected) of
diagnostics diagnostics EFBs or DFBs in the diagnostics library.
inputs of
Block name Block type Name of diagnostics inputs
diagnostics
EFBs or DFBs ALRM_DIA DFB COND1
COND0
D_ACT EFB UNLOCK
REACT
D_DYN EFB UNLOCK
REACT
D_GRP EFB IN
D_LOCK EFB UNLOCK
D_PRE EFB IN
D_REA EFB REACT
EV_DIA DFB EVENT
COND
MV_DIA DFB EVENT
COND
NEPO_DIA DFB REQ_I
REQ_O
SENSOR_I
SENSOR_O
SECU_I
SECU_O
SECUPERM
TEPO_DIA DFB REQ_I
REQ_O
SENSOR_I
SENSOR_O
SECU_I
SECU_O
SECUPERM
SAFETY_MONITOR DFB -
USER_DIAG_ST_MODEL DFB COND

967
Viewer

Configuring the display

At a Glance The Diagnostics Viewer allows you to configure the display of the error messages.
You can:
z select the columns to be displayed,
z resize the columns,
z choose the color and flashing of the messages.

Selecting the By default the Diagnostics Viewer displays all of its columns, but allows you to
columns to be customize the display by removing columns that are of no use.
displayed To remove a Diagnostics Viewer column, you must perform the following operations:
Step Action
1 Right-click the title of the column selected.
Result: A contextual menu containing the list of columns appears on the screen.
2 Click the title of the column you want to deselect.
Result: The contextual menu disappears and the column no longer appears in
the Diagnostics Viewer.
Note: To reselect a column you have previously deselected, you must proceed
in the same way. In this case, the contextual menu disappears and the column
appears in the Diagnostics Viewer.
3 If you display the contextual menu again (steps 1 and 2), this column will not be
preceded by a pointer (deselected column).

Resizing of To modify the size of a column, carry out the following operations:
columns
Step Action
1 Position your cursor in the column titles header, in between the column you want
to modify and the next column.
Result: The column resizing cursor appears on the screen.
2 When the cursor appears, press and hold the right button of the mouse and
move the mouse to change the column size.
3 Once the correct column size has been reached release the mouse button.
Result: The column is resized.

Choosing the The Properties dialog box of the Diagnostics Viewer (See DiagViewer Properties,
color and p. 972) is used to change the color and flashing of error messages.
flashing of
messages

968
Viewer

Managing error messages

At a Glance The Diagnostics Viewer allows you manage the error messages. You can:
z sort the messages list,
z browse the messages list,
z acknowledge a message in the list,
z delete a message from the list,
z activate another tool,
z delete an alarm from the PLC memory.

Number of The number of messages displayed in the list is defined solely by the size of the
messages available memory.

If the memory becomes insufficient:


z the DIAG information flashes in the status bar,
z the messages associated with faults that have disappeared and have been
acknowledged (if they needed acknowledging) are deleted.

Sorting You can sort the messages by each column contained in the list except for the one
messages containing the icons.

To sort the messages, simply click the header of the column containing the data you
want to sort. If you click the same header a second time it will be sorted in reverse
order.

By default the messages are inserted in the list in chronological order of appearance
of the faults.

Note: Whatever the sort criterion for the list, a new message always appears at the
top of the list.

Browsing the list You can browse the list of messages using:
z the Up, Down, PageUp, PageDown, Home and End keys on the keyboard,
z the mouse. Use the scroll bar if the list contains more messages than can be
displayed.

969
Viewer

Acknowledging a To acknowledge a message that requires acknowledgement, you must select it and
message activate one of the following commands:
z the corresponding heading in the contextual menu (accessible by right-clicking
with the mouse),
z the F6 function key,
z the corresponding button in the toolbar,
z double-clicking the icon of the alarm selected.

You can acknowledge several messages at once (multiple selection). When you
acknowledge a message, an order is sent to the PLC and the associated icon is
modified in the list.

A message can be acknowledged from another viewer. In this case, the Unity Pro
Diagnostics Viewer is advised and the message is displayed as if acknowledged
locally (the associated icon is modified and the message no longer flashes).

Deleting You cannot delete a message that needs acknowledgement or where the
messages from associated fault has not disappeared.
the list
However, you can delete the messages associated with faults that have
disappeared and have been acknowledged. To do this activate:
z the corresponding heading in the contextual menu,
z the Del key.

Deleting an alarm This function is used to delete from the PLC all the messages selected in the list,
from the PLC even if the fault is still present and has not been acknowledged.
memory
Use of this function is only possible if your user profile (See Preconfigured user
profiles, p. 56) is different from ReadOnly or Operate.

Activating If at least one message is selected in the list, you can activate the following Unity
another tool Pro tools:
z the animation tables for displaying the diagnostics function block data (FB alarms
only) and FFB system alarms,
z the cross-references with FB alarms and FFB system alarms only,
z the language editor where the diagnostics function block instance is referenced.

To launch these tools you must activate one of the following commands:
z the corresponding headings in the contextual menu,
z the Ctrl + T (animation tables), Ctrl + U (cross references) and Enter (language
editor) function keys,
z the corresponding buttons in the toolbar.

970
Viewer

Diagnostics Viewer commands

At a Glance Once you have selected one or more error messages, you have a number of options
available for accessing the Diagnostics Viewer commands:
z using the contextual menu,
z using the function keys,
z using the toolbar.

Contextual menu The contextual menu can be accessed by right-clicking a message from the list with
the mouse:
The commands and their function keys from the contextual menu are as follows:
Command Function Description
key
Delete Deletion of the message(s) selected.
Delete in Diag Buffer: Deletion of alarms in the diagnostics buffer.
Retrigger the Fault F5 Reactivation of the diagnostics function block.
Causes
Acknowledgement F6 Acknowledgements of selected message(s).
Initialize Editor Enter Activation of the language editor.
Initialize Search Ctrl + U Activation of the Cross References tool.
Initialize Animation Ctrl + T Activation of the Animation Table tool.
Table
Properties Alt + Enter Display of the Diagnostics Viewer attributes box.

Note: The Initialize Search and Initialize Animation Table commands are also
accessible through the contextual menu in the messages' additional information
area.

971
Viewer

DiagViewer Properties

At a Glance The DiagViewer Properties dialog box, accessible via the DiagViewer Properties
command in the contextual menu, is used to:
z define the color of the error messages,
z define the flashing mode of the error messages,
z choose the fields to be displayed,
z define the archiving mode,
z define the mode of opening the Diagnostics Viewer.

Description The following table describes the various fields of the Properties dialog box:
Field Description
Acknowledge Allows you to define the type of flashing when an error message to be
blink acknowledged appears. Once acknowledged messages no longer flash.
z None: no flashing,
z Icon only: only the icon flashes,
z Entire line: the entire line flashes.
Color Allows you to define the color of the error messages.
Field Allows you to choose the fields to be displayed (fields 0 to 15). By default all
the fields are displayed.
z Select all: selects all fields,
z Clear All: deselects all fields. To select a field check the corresponding box
by clicking the mouse.
Archiving Click this box to generate an archive (See Archiving error messages, p. 973).
The entry field and the Browse button allow you to define the path of the
archive file.
z Cyclic archiving: a new archive file is generated every 1000 saves.
z Periodic archiving: a new archive file is generated every x hours.
z Hour allows you to define the number x (between 1 and 24).
z Additional information field: allows you to store additional data in the file.
general Displaying various information:
information z PLC version.
z diagnostics buffer memory usage.
z number of alarms rejected if the diagnostics buffer is full.
z Show Information in the menu bar is used to display this information in
the title bar of the diagviewer window.
Automatic When this button is checked, the Diagnostics Viewer is automatically
Opening displayed when a fault appears.

972
Viewer

Archiving error messages

At a Glance Archiving is used to store in a file all error messages as soon as they appear,
disappear or are acknowledged. As soon as a message is read in the diagnostics
buffer it is saved in the archive file.
If a fault appears and then disappears, it is represented by a single message in the
Diagnostics Viewer (a single line), but by 2 lines in the archive file.

The Properties (See DiagViewer Properties, p. 972) dialog box allows you to
activate archiving of error messages. It also allows you to define the type of
archiving and the location of the archive file.

Type of archiving You can choose between 2 types of archiving:


z cyclic archiving: in order to avoid the size of the archive file becoming too large,
a new ProjectName.his file is created every 1000 saves. The old file then
changes name and becomes ProjectName.bak.
Caution: if a ProjectName.bak file already exists, it will be overwritten by the
new file of the same name. To avoid a loss of data, you must therefore manage
your archive files.
z periodic archiving: the user defines the frequency with which a new archive file
is created (between 1 and 24 hours). The file is created under the name
ProjectDraft_date_time (for example, for a file created on 31 July 2001 at 12 h
26 min 55 s: ProjectDraft_073101_122655. If the chosen frequency is 1 h, the
next file will be created under the name ProjectDraft_073101_132655, etc.).
Creating a new file does not overwrite the previous file.

973
Viewer

Archive file The archive file is a delimited ASCII file (each item of information is separated by the
format ; character). You can therefore easily import this file into a text editor or a
spreadsheet.
Each line of the file takes the following form:
SystemAlarm ; 256 ; 1 ; 51 ; 0 ; 28/04/03 23:50:13 ; 28/04/03 23:51:15; 28/04/03
23:57:16 ; 0 ; 2; 10003 ;148 ; Arithmetic error ; %S18 (MAST); where:
z SystemAlarm: identifies the fault. The types of fault can be:
z FBAlarm: function block fault,
z SFCAlarm: sequential function chart fault,
z SystemAlarm: system fault,
z UndefAlarm: undefined fault,
z AlarmERROR: errors.
z 256: fault identifier,
z 1: name of this fault,
z 51: state of the diagnostics bits,
z 0: number of the declared area,
z 28/04/03 23:50:13: date and time of appearance of the fault,
z 28/04/03 23:51:15: date and time of acknowledgement of the fault,
z 28/04/03 23:57:16: date and time of disappearance of the fault,
z 0: available number of reasons for the fault,
z 2: status length of the fault,
z 10003: fault type,
z 148: fault classification,
z Arithmetic error; %S18 (MAST): additional data if you have checked the
Additional information field box.
The following table describes the additional information to a message according to
fault type.
Error type Information
FBAlarm Comment
Name of the function block instance
Name of the function block type
Name of the input or output of the faulty block
SFCAlarm Comment
Name of the faulty step
Name of the faulty transition
Format of the reference time
Additional information
SystemAlarm Fault name
Additional information according to the fault:
z watchdog,
z arithmetic,
z task,
z SFC,
z ...

974
System diagnostics

42
System diagnostic

At a Glance The system diagnostic is performed automatically. When the PLC detects a system
error (for example, a watchdog being exceeded, an input/output error, division by
zero, etc.), information is sent to the diagnostic viewer. The diagnostic viewer will
display a system error message if you have checked the System diagnostics (See
Choice of configuration parameters for project generation , p. 363) checkbox.

Note: As with the project diagnostic, the information viewed on the Viewer comes
from the PLC's diag buffer (See Operation of the diagnostics in Unity Pro , p. 963),
consequently the events are dated at the source and give the precise status of the
process monitored.

Implementation The following table describes the procedure to follow to use the system diagnostic
on the Premium, Atrium and Quantum PLCs in Unity Pro.
Step Action
1 Select Tools → Project Settings
Result: the project settings configuration window is displayed.
2 In the Diagnostics area on the Build tab, check the System diagnostics (See
Choice of configuration parameters for project generation , p. 363) checkbox.
3 Confirm with OK.
4 Build your project.
5 Transfer your project to the PLC.
6 Open the Diagnostic Viewer by selecting: Tools → Diagnostic Viewer.
Result: the system diagnostic is operational and each system alarm now
appears in the Viewer.

975
System diagnostics

List of system The following table summarizes the system information monitored automatically by
alarms the system diagnostic service.
monitored
System object Succinct description of the alarm
%S10 Input/output error
%S11 Watchdog overflow!
%S15 Character string fault
%S18 Overflow or arithmetic error
%S19 Task period overrun
%S20 Index overflow
%S39 Saturation in event processing
%S51 Time loss in real time clock
%S67 State of the PCMCIA application memory card battery
%S68 State of processor battery
%S76 Diagnostic buffer configured
%S77 Diagnostic buffer full
%S118 General Fipio I/O fault
%S119 General in-rack I/O fault
%SW0 Master task scanning period
%SW1 Fast task scanning period
%SW2 Period of auxiliary task scanning 0.
%SW3 Period of auxiliary task scanning 1.
%SW4 Period of auxiliary task scanning 2.
%SW4 Period of auxiliary task scanning 3.
%SW11 Watchdog duration
%SW17 Error status for floating operation
%SW76 Diagnostic function: save
%SW77 Diagnostic function: de-registration
%SW78 Diagnostic function: number of errors
%SW125 Type of blocking fault
%SW146 Fipio bus arbiter function display
%SW153 List of Fipio channel manager faults
%SW154 List of Fipio channel manager faults

Note: The Fipio diagnostic is integrated in Unity Pro versions higher than 1.0.

976
Project diagnostics

43
Project diagnostic

At a Glance The project diagnostic uses the diagnostic EFBs and DFBs and the diagnostic
integrated in the SFC to generate alarms on the Diagnostic Viewer.
Each diagnostic EFB and each diagnostic DFB has its own specific operation
described in the diagnostic library. If you cannot find the appropriate EFB or DFB
among these elements, you can create your own diagnostic DFB.

Note: As with the system diagnostic, the information viewed on the Viewer comes
from the PLC's diag buffer (See Operation of the diagnostics in Unity Pro , p. 963),
consequently the events are dated at the source and give the precise status of the
process monitored.

977
Project diagnostics

Implementation The following table describes the procedure to follow to use the project with a
of diagnostic diagnostic EFB or DFB on the Premium, Atrium and Quantum PLCs in Unity Pro.
EFBs or DFBs
Step Action
1 Select Tools → Project Settings
Result: the project settings configuration window is displayed.
2 In the Diagnostics area on the Build tab, check the Application diagnostics
(See Choice of configuration parameters for project generation , p. 363)
checkbox.
3 Choose the language of the messages in the Viewer.
4 Choose the Application level (See Choice of configuration parameters for
project generation , p. 363) (alarm cause search level).
5 Confirm with OK.
6 Integrate the diagnostic EFBs or DFBs in your application.
Note: The messages displayed in the Viewer will be the comments you will have
associated with the instances of your diagnostic EFBs or DFBs.
7 Build your project.
8 Transfer your project to the PLC.
9 Open the Diagnostic Viewer by selecting: Tools → Diagnostic Viewer.
Result: the system diagnostic is operational and each alarm generated by your
EFBs or DFBs now appears in the Viewer.

Implementation The following table describes the procedure to follow to use the SFC diagnostic on
of the SFC the Premium, Atrium and Quantum PLCs in Unity Pro.
diagnostic
Step Action
1 Select Tools → Project Settings
Result: the project settings configuration window is displayed.
2 In the Diagnostics area on the Build tab, check the Application diagnostics
(See Choice of configuration parameters for project generation , p. 363)
checkbox.
3 Confirm with OK.
4 Build your project.
5 Transfer your project to the PLC.
6 Open the Diagnostic Viewer by selecting: Tools → Diagnostic Viewer.
Result: the SFC diagnostic is operational and each alarm linked to the SFC now
appears in the Viewer.

978
Operator screen

VIII
At a Glance

Subject of this This part describes the operator screens built into Unity Pro:
Part

What's in this This part contains the following chapters:


Part?
Chapter Chapter Name Page
44 General information 981
45 First steps 985
46 Editing runtime screens 995
47 Runtime screens in online mode 1053
48 Runtime screens objects library 1065
49 Appendices 1125

979
Operator screens

980
General information

44
Introduction

Object of this This chapter introduces Unity Pro ’s built-in runtime screens: description, creation
section and runtime screens

What's in this This chapter contains the following topics:


Chapter?
Topic Page
Introduction 982
Creation of Runtime Screens 983

981
General information

Introduction

Introduction The operating screens are built-into the software to aid the operating of an
automated process. They use in the Unity Pro software:
z The project browser for browsing through the screens and launching different
tools (the graphics editor, variables editor, messages editor, ...),
z Thegraphics editor for creating or changing screens. In connected mode, it also
allows the viewing of animated screens and process driving,
z The library of objects which presents design objects and enables their insertion
in the screens. It also allows users to create their own objects and insert them in
a library family.

982
General information

Creation of Runtime Screens

Introduction For a given project, you can use the graphic editor to create runtime screens.

These screens are produced with texts and graphic objects that you can draw
yourself (lines, rectangles, curves, etc.) or retrieve from the graphic objects library.
They comprise static (background, title, etc.) and dynamic (animated) parts which
reflect the status of the process.

You must assign a variable to them in order to animate the dynamic objects, the
variables’ value will determine display.

You can also insert driving objects (buttons, input zones, etc.) in your screens to
drive the process.
The screens can then be linked together in order to respond to the specific
automation requirements.

983
General information

984
First steps

45
Introduction

Object of this This chapter gives the elements required for understanding the built-in
chapter runtimescreens: notion of runtime screen editor, main menus, etc.

What's in this This chapter contains the following sections:


Chapter?
Section Topic Page
45.1 Working principles 986
45.2 Menus and tools in the runtime screen editor 987
45.3 Configuring options from the runtime screen editor 993

985
First steps

45.1 Working principles

How to access the operator screens

At a Glance An operator screen is a window just as any other editor (configuration, language,
data editor). This window can be opened, moved, and resized.

Methodology The following table lists the operations to perform in order to access operator
screens.
Step Action
3 View the project in structural view (View → Structural View).
4 In the project browser, expand the folder Operator Screens or the folder of the
family for which you want to open a screen.
5 Open the screen or screens to be viewed. Select a screen to open it and activate
the command Open in the contextual menu.

986
First steps

45.2 Menus and tools in the runtime screen editor

Introduction

Subject of this This section introduces the different menus as well as the toolbars offered by the
section runtime screen editor.

What's in this This section contains the following topics:


Section?
Topic Page
Menus in the operator screen editor 988
Edit toolbar 991

987
First steps

Menus in the operator screen editor

Main menus in The Unity Pro menu bar is identical for all tools accessible from the project browser.
the operator This is a contextual bar; in other words the commands accessible via the menus
screens depend on the element (window, graphic object, etc.) that is activated when the
menu is scrolled down.

The commands of the operator screen editor can be accessed via the menus:
z Edit which enable the creation or modification of the operator screens,
z View is used to define screen properties (background color, size, etc.),
z Services for choosing the editing tool, selecting an animated object, etc.

Edit menu Commands that can be accessed in the Edit menu are.
Field Description
Undo all Undoes all changes made in the screen since the last validation.
Enable Validates all changes made in the screen since the last validation.
Cancel Cancels the last completed change.
Redo Re-performs the changes previously cancelled by a command Cancel.
Cut Deletes from the screen the selected item(s) and places it (them) on the
clipboard.
Copy Copies the selected item(s) and places it (them) on the clipboard.
Paste Pastes the content of the clipboard on the screen.
Delete Deletes from the screen the selected item(s), without copying them in the
clipboard.
Select all Selects all the items contained in the screen
New Sub-menu from which you may select:
Line: Create a line
Rectangle: Create a rectangle
Ellipse: Create an ellipse
Curve: Create a curve
Polygon: Create a closed polygon
Text: Create texts
Image: incorporation of an image
Screen browsing: Create an inter-screen browser button
Controls: Creating a driving object (command) of type:
z button
z checkbox
z entry field
z counter
z cursor
z explicit exchanges

988
First steps

Field Description
Select mode Select one or several objects.
Align Sub-menu from which you may select:
Top: Upper alignment
Bottom: Lower alignment
Left: Left alignment
Right: Right alignment
Flip Sub-menu from which you may select:
Flip Vertical
Flip Horizontal
Group Grouping of objects.
Ungroup Ungrouping of objects.
Order Sub-menu from which you may select:
Foreground: Placing in the foreground
Background: Placing in the background
Properties Is used to define properties of the selected item: color, frame, piloted
variable, related text, etc.
Information Displays information specific to the selected object: type of item, position,
size, related variable.

Display menu Commands accessible from the View menu are as follows.
Field Description
Full screen Full screen display of the graphics editor window.
Open model used Enables user to open the model if it is used in the current screen.
Screen properties Is used to define the properties of the active screen: screen name,
background color, family, etc.

989
First steps

Services Menu The commands accessible from the Services Menu areas follows.
Field Description
Animation Starts or stops the animation of the operator screen
Enable variable Authorizes the user to modify the variables in the PLC from the
modification command items.
Driving via the Used to drive the screens with the PLC. The PLCs requirements are
PLC taken into account by means of a variable defined in the advanced
parameters (See Advanced configuration dialog box, p. 371).
Since the screen is called up by the PLC, editing and modification of the
configuration parameters are disabled.
Driving via the Used to drive the screens via the Operator. The requirements of the PLC
operator are disabled, it is the operator who selects the screen that he wants to
view.
Previous Selects the previous animated object.
animated object
Next animated Selects the next animated object.
object
Initialize search Used to create a list of cross references for variables associated with
objects selected.
Initialize Used to create an animation table made up of the variables associated
animation table with selected items.

Important Right clicking can be used to gain direct access to the functions available for the
current context. This is the contextual menu.

In online mode, all commands are available if they have not been disabled (See The
Operator Screens option, p. 378).

Multi- The operator screen editor is used to open several windows (instances) to open
instantiation simultaneously. Each window contains a different screen. The keyboard command
Ctrl + Tab is used to switch between windows. Even if several windows are open,
only a single tool bar is displayed and acts on the active window alone.
The full screen display is only used to view one screen.

990
First steps

Edit toolbar

At a Glance Clicking Tools → Customize displays the Edit toolbar described above. Each icon
(tool) corresponds to an action concerning one or several objects in the graphical
editor.

Drawing tools for They are used to complete the operations below:
standard objects
Number Description
1 Select one or more objects
2 Create a line
3 Create a rectangle
4 Create an ellipse
5 Create a curve
6 Create a closed polygon
7 Create texts
8 Incorporation of an image
9 Create an inter-screen browser button

Design tools for They are used to complete the operations below:
command
Number Description
objects
1 Create an input zone
2 Create a button
3 Create a check box
4 Create a counter
5 Create a cursor
6 Create an explicit exchange button

991
First steps

Positioning tools They are used to complete the operations below:


for a group of
Number Description
objects
1 Flip Vertical
2 Flip Horizontal
3 Left alignment
4 Right alignment
5 Upper alignment
6 Lower alignment
7 Grouping of objects
8 Ungrouping of objects
9 Placing in the foreground
10 Placing in the background

Screen driving They are used to complete the operations below:


tools
Number Description
1 Driving via the PLC. This service may also be accessed via a keyboard shortcut F2.
2 Driving via the operator. This service may also be accessed via a keyboard shortcut
F3.

Access tools to They are used to complete the operations below:


the animated
Number Description
objects
1 Selects the next animated object. This service may also be accessed via a
keyboard shortcut F4.
2 Selects the previous animated object. This service may also be accessed via a
keyboard shortcut F5.
3 Initialization of an animation table. This service may also be accessed via a
keyboard shortcut CTRL+T.
4 Creates a list of cross-references for variables associated with objects selected.
This service may also be accessed via a keyboard shortcut CTRL+U.
5 Authorizes the user to modify the variables in the PLC from the command items.
This service may also be accessed via a keyboard shortcut F7.

992
First steps

45.3 Configuring options from the


runtime screen editor

General configuration of operator screens

At a Glance General configuration options and settings for all the operator screens can be used
to customize their functions.

The options (See The Operator Screens option, p. 378) are accessible by clicking
Tools → Options → Operator Screens tab.
The settings (See Configuration settings for operator screens, p. 371) are
accessible by clicking Tools → Project Settings → Operator Screens tab.
These modifications are immediate and are automatically saved.

993
First steps

994
Editing runtime screens

46
Introduction

Object of this This chapter describes the different functions offered to the user, for editing the
section runtime screens: create, modify, delete a screen or a family of screens, manage
built-in runtime screen messages etc.

What's in this This chapter contains the following sections:


Chapter?
Section Topic Page
46.1 Editing screens from the browser 996
46.2 Creating an object 1006
46.3 Modification of an object’s attributes 1016
46.4 Manipulation of objects in runtime screens 1035
46.5 Managing the runtime screens messages editor 1043

995
Editing screens

46.1 Editing screens from the browser

Introduction

Subject of this This section describes the different editing actions that users can perform on the
section screens or family of screens: create, modify, delete, etc.

What's in this This section contains the following topics:


Section?
Topic Page
Editing operator screens 997
Operator screen editor functions 998
Screen family editor functions 1001
Operator screen properties 1003
Properties of Operator Screen Families 1005

996
Editing screens

Editing operator screens

Introduction You can access operator screens through the project browser in the directory
Operator Screens. It displays the information linked to each project in a tree
directory.
The screens may be directly associated with the directory or grouped in families of
screens.
The tree directory of operator screens may be expanded and contracted in order to
obtain the required level of display.

Screens The operator screens accept all editing functions:


z Create
z Modify
z Delete
z Move
z Attach/Detach
z Export

Screen families The screens are regrouped in families which accept the same editing functions as
the screens:
z Create
z Modify
z Delete
z Move
z Attach/Detach
z Export

Introduction to The screen below shows the project browser window with in this example a single
the project screen (Menu) and a screen family (Functions).
browser window

997
Editing screens

Operator screen editor functions

At a Glance You can access all functions via the Edit menu or via the context menu by right
clicking in the project browser window.

How to create a The table below shows the procedure for creating a screen.
screen
Step Action
1 Right click the Operator Screens directory contained in the project browser tree
directory.
Result: The relevant contextual menu appears
2 Enable the New screen command.
Result: A new screen with a generic name, appears in the tree directory

How to modify The table below shows the procedure for modifying a screen name.
the name of a
Step Action
screen
1 In the project browser, right click on the screen to be modified.
Result: The relevant contextual menu appears
2 Enable the Screen properties command.
Result: The screen properties dialog box appears
3 Modify the screen name in the Name field and confirm with OK.
Result: The screen appears with a new name, in the tree directory

How to delete a The table below shows the procedure for deleting a screen.
screen
Step Action
1 In the project browser, right click on the screen to be deleted.
Result: The relevant contextual menu appears
2 Activate the Delete command.
Result: The screen is deleted from the directory tree

998
Editing screens

How to move a The table below shows the procedure for moving a screen in the tree directory (for
screen example, change families).
Step Action
1 Right click on the screen to be moved, from the project browser.
Result: The relevant contextual menu appears
2 Enable the Screen properties command.
Result: The screen properties dialog box appears
3 Define in the Location: Family field, the name of the new family under which
you want to place the screen. Click OK to confirm.
Result: The screen is placed in its new position To position it in the root
(Operator Screen directory) leave the Location: Family field empty.

Note: The screen can also be moved with the Drag-Drop function

Operation of When you move a screen from a family to the root, if:
screen z the family is linked to a functional module, the screen loses this link.
movement When you move a screen from a family to another or from the root to a family, if:
z the destination family screen is linked to a functional module, the screen will be
also.
z the destination family screen is not linked to a functional module, the screen will
not be linked to any functional module.

How to attach a The following table summarizes the processes used to attach a screen to a
screen to a functional module.
functional
Step Action
module
1 Display the structural view and the functional view.
2 In the project browser of the structural view, select the screen to be linked to a
functional module.
3 Hold down the left mouse button to maintain the selection.
4 Drag and Drop the screen in the destination functional module of the functional
view.
Result:The screen is now linked to the chosen functional module

999
Editing screens

How to detach a The following table summarizes the processes used to detach a screen from a
screen from a functional module.
functional
Step Action
module
1 In the functional view, right click on the screen to be detached from its functional
module.
Result: The relevant contextual menu appears
2 Activate the Detach command.
Result:The screen loses its link with this functional module It can be linked to
another functional module.

How to delete all The table below shows the procedure for deleting all the screens and families of a
screens and all project.
families
Step Action
1 In the structural view project browser, select the Operator Screen directory.
2 Right click on the Operator Screen directory.
Result: The relevant contextual menu appears
3 Activate the Delete all command.
Result: A dialog box appears
4 Click OK to confirm your choice of deleting all screens and all families.
Result: All screens and all families are deleted from the project

How to export To find out the procedure for exporting operator screens (See Exporting runtime
screens screens, p. 1175).

How to import To find out the procedure for importing operator screens (See Importing operator
screens screens, p. 1176).

1000
Editing screens

Screen family editor functions

At a Glance All functions can be accessed via the Edit menu or by right clicking on the browser
window in the project browser.

How to create a The following table summarizes the processes used to create a screen family.
screen family
Step Action
1 Right click the Operator Screens folder contained in the project browser tree
directory.
Result: The relevant contextual menu appears
2 Enable the command New family.
Result: A new family with a generic name appears in the directory tree.

How to modify The table below shows the procedures for modifying the name of a screen family.
the name of a
Step Action
screen family
1 Right click on the family to be modified, from the project browser.
2 Enable the Family properties command.
Result: The screen family dialog box appears
3 Modify the name of the family in the Name field, and click OK to confirm.
Result: The screen family appears under a new name in the directory tree

How to delete a The following table summarizes the processes used to delete a screen family.
screen family
Step Action
1 Right click on the family to be deleted, from the project browser.
2 Activate the Delete command.
Result: The screen family is deleted from the directory tree

1001
Editing screens

How to move a The following table summarizes the processes used to move a screen family.
screen family
Step Action
1 Select the screen family to move in the project browser.
2 Hold down the left mouse button to maintain the selection.
3 Move the screen family to the desired position in the project browser.
4 Release the mouse button.
Result: The screen family is moved to chosen place

How to attach a The following table summarizes the processes used to attach a screen family to a
screen family to functional module.
a functional
Step Action
module
1 Display the structural view and the functional view.
2 In the project browser of the structural view, select the screen family to be linked
to a functional module.
3 Hold down the left mouse button to maintain the selection.
4 Drag and Drop the screen family to the destination functional module of the
functional view.
Result: The screen family is now linked to the chosen functional module

How to detach a The following table summarizes the processes used to detach a screen family from
screen family a functional module.
from a functional
Step Action
module
1 In the functional view, right click on the screen family to be detached from its
functional module.
Result: The relevant contextual menu appears
2 Activate the Detach command.
Result: The screen family no longer has a link with a functional module It can be
linked to another functional module.

How to export a The export of a screen family takes place in the same way as screen export (See
screen family Exporting runtime screens, p. 1175).

1002
Editing screens

Operator screen properties

At a Glance When a screen is selected, the dialog box that is accessed by clicking Edit →
Screen properties can be used to:
z Modify the screen label
z Modify the value associated with the screen
z Modify the comment associated with a screen
z Modify the screen position
z Modify the screen type
z Modify the color of the screen
z Modify the size of the screen
z Query its creation and modification dates
z Query the number of objects in the screen
z Query the number of variables used in the screen
The dialog box includes three tabs:
z General
z Display
z Information

Tab: General The following table describes the different functions offered by the General tab of
the screen properties dialog box.
Field Description
Name Screen name. It can be modified and can contain a maximum of
200 characters.
Value Screen identification number You can modify this number which
is used when you wish to associate a screen browse (See Screen
browse tab, p. 1027) button to the screen. This number can be
used when the PLC (See The Operator Screens option, p. 378)
controls the screen display in connected mode.
Comment Screen comment
Family Name of the family to which the screen belongs. The button to the
right of the field is used to access the list of existing families.
Functional Module Name of the functional module to which the screen is linked. The
button to the right of the field is used to access the list of existing
the functional modules.

1003
Editing screens

Tab: Display The following table describes the different functions offered by the Display tab of the
screen properties dialog box.
Field Description
Used as Pattern When this box is checked, the screen may be used as a pattern
for any project screen. A pattern screen cannot contain animated
objects.
Uses pattern When this box is checked, the background of this screen uses the
background pattern that you have defined. The right button can
be used to select the model screen.
Default color When this box is checked, the screen background is the default
color used by Windows software for windows.
Custom color When this box is checked, the screen background is the color you
defined (color of the field located on right side of the check box).
The button allows access to the screen color settings.
Size Screen sizes. It can be changed and its default value is 1280
pixels by 1024 pixels.

Tab: Information The following table describes the different functions offered by the Information tab
of the property dialog box of a screen.
Field Description
Information This information cannot be modified; it indicates:
z The screen creation date
z The last screen modification date
z The number of objects contained in the screen
z The number of variables used in the screen

1004
Editing screens

Properties of Operator Screen Families

At a Glance When a screen family is selected, the dialog box accessible via the Edit → Family
Properties command allows you to:
z modify the name of a screen family
z associate the family with a functional module.

Description The following table describes the different functions offered by the properties dialog
box of a family.
Field Description
Family Name of the family to which the screen belongs. It can be
modified and can contain up to 200 characters.
Functional Module Name of the functional module with which the family is
associated. The button to the right of the field is used to access
the list of existing functional modules.

Note: A functional module cannot be created from this dialog box.

1005
Editing screens

46.2 Creating an object

Introduction

Subject of this This section describes how to create or insert an object.


section

What's in this This section contains the following topics:


Section?
Topic Page
Introduction of a graphic screen object 1007
How to create standard objects 1008
How to insert an image in a screen 1010
How to create driving objects 1011
Operation of the driving objects 1013

1006
Editing screens

Introduction of a graphic screen object

General 4 types of objects can be created in a graphic screen :


z standard objects: line, rectangle, ellipse, curve, polyline, text,
z images: bitmap files with the BMP or JPGextension,
z the driving (or command) objects: button, check box, input field, counter, cursor,
explicit exchange object, screen browser button,
z compound objects: group of objects of previous 3 types, created by the user or
from the object library.
All the objects used to create a screen can be static or animated.

1007
Editing screens

How to create standard objects

At a Glance Standard objects are the basic elements of graphic screens.


They are the simple objects which allow the composition of complex objects.

There are two types of standard objects:


z Static objects
z Dynamic or animated objects
Static objects do not have variables associated with them. Their graphic represen-
tation is fixed.
Dynamic objects possess one associated variable, which allows their display to be
modified.

How to create a The create standard object procedure is identical regardless of the object, with the
standard object exception of polygons.
Step Action
1 Select the type of object that you wish to create from the tool palette.
2 Move the mouse cursor to the position where you want to place the top left
corner of your object.
3 Press down the left mouse button.
4 Hold the button down and move the mouse cursor to the position where you
want to place the bottom right corner of the object.
5 Release the button.
Result: The object is created when you release the mouse button
6 Right click on the object.
Result: The contextual menu appears
7 Enable the Properties command.
Result: A contextual dialog box appears This box depends on the type of object
and allows the attributes (See How to access an object’s attributes, p. 1017) to
be fixed.

1008
Editing screens

How to create a The procedure for creating a polygon object is as follows.


polygon object
Step Action
1 Select the type of polygon object that you require from the tool palette.
2 Move the mouse cursor to the position where you want to place the first point of
your object.
3 Press the left mouse button then release.
Result: The object’s start point is created
4 Move the mouse cursor to the position where you want to end the first line.
5 Press the left mouse button then release.
Result: You have just created the first line of your object
6 Repeat steps 4 and 5 to create new lines to form your polygon object.
Result: Segments of consecutive straight lines are created
7 Finish by left clicking on the end point of the object.
Result: The object is created
8 Right click on the object.
Result: The contextual menu appears
9 Enable the Properties command.
Result: A contextual dialog box appears This box depends on the type of object
and allows the attributes (See How to access an object’s attributes, p. 1017) to
be fixed.

1009
Editing screens

How to insert an image in a screen

At a Glance An operator screen can contain one or several bmp, jpg or jpeg format images.

How to insert an Follow the steps below to insert an image in a screen.


image object in a
Step Action
screen
1 Select the image icon from the tool palette.
Result: the selection window of the bitmap file to be inserted appears
2 Select the type of file to display (bmp, jpg or jpeg).
3 Select the file to be inserted and enable the Open command.
Result: the image is inserted in the screen It appears with selection handles.

Rules and Only images in bmp, jpg or jpeg formats are recognized.
precautions for
use Optimize loading time:
z Do not integrate too many images into one screen
z Limit the size of images
z Avoid modifying the image’s proportions and size in the screen

Optimize display quality:


z Avoid modifying the image’s proportions and size in the screen
z If a screen contains several different images, use 24 bit screen depth
If the image (See Image Tab, p. 1029) is not copied in the project, it will not be
exported, during a screen export (See Exporting runtime screens, p. 1175).

1010
Editing screens

How to create driving objects

At a Glance Driving (or command) objets allow the user to perform an action:
z Browse from one screen to another
z Modify the value of a variable
z Send a command to the PLCs task module
There are 7 types of these objects:
z Buttons
z Check boxes
z Input zones
z Counters
z Cursors
z Buttons for browsing between screens
z Objects for explicit exchanges

How to create a The procedure for creating a driving object is as follows.


driving object
Step Action
1 Select the type of driving object that you wish to create from the tool palette.
2 Move the mouse cursor to the position where you want to place the top left
corner of your object.
3 Press down the left mouse button.
4 Hold the button down and move the mouse cursor to the position where you
want to place the bottom right corner of the object.
5 Release the button.
Result: The object is created when you release the mouse button
6 Enable the Selection tool from the tool palette.
7 Right click on the object.
Result: The contextual menu appears
8 Enable the Properties command.
Result: A contextual dialog box appears This box depends on the type of object
and allows the attributes (See How to access an object’s attributes, p. 1017) to
be fixed.

1011
Editing screens

Type of data The table indicates the types of variables that may be driven by the driving objects.
driven according
Object Bit Byte Word Double word Floating
to the driving
point
object
Button X X* X* X* X*
Check box X - - - -
Entry field X X X X X
Counter X X X X X
Cursor X X X X X

Legend:
* : Only in the case of unsynchronized buttons

Note: Driving objects are always placed in the foreground. To prevent command
errors, we strongly advise against placing driving objects between them.

1012
Editing screens

Operation of the driving objects

At a Glance The piloting objects are enabled by clicking on the mouse (or via the keyboard).
Depending on the fixed attribute, these objects act on their associated variables.

Note: The state of associated variables can be changed by the PLC application.
The action of the driven object doesn't constitute a forcing of the variable.

Furthermore, so long as the input of a value has not been validated or that the driven
object maintains control, the displayed value may differ from the real value of the
variable contained in the PLC memory.

How the buttons Depending on its attributes, a button works as follows.


operate
When you click on the and if Then
button, if the associated
variable is...
a bit, driving is unsynchronized, the associated variable
switches to 1 when the left
mouse button is held down,
and switches back to 0 when
released.
digital, driving is unsynchronized, the associated variable takes
the fixed threshold value in
the button attributes.
a bit, driving is synchronized, the state of the associated
variable changes. It moves to
0 if it was at 1, and vice versa.

How a check box A check box works as follows.


operates
When the box Then
is checked, the associated bit is set to 1.
isn’t checked, the associated bit is set to 0.

1013
Editing screens

How an input An input zone works as follows.


zone operates
When and if Then
the entry zone contains a you press Enter, the associated variable takes
value, the value read in the entry
zone.
the associated variable is you did not enter a value in the zone displays the value
modified by the PLC, the entry zone, read in the PLC.

How a counter A counter operates as follows.


operates
When and if Then
the counter is horizontal, you click on the right arrow of the associated variable is
the counter, incremented by one unit.
the counter is horizontal, you click on the left arrow of the associated variable is
the counter, decreased by one unit.
the counter is vertical, you click on the top arrow of the associated variable is
the counter, incremented by one unit.
the counter is vertical, you click on the bottom arrow the associated variable is
of the counter, decreased by one unit.

Note: The increment and decrement value is multiplied by 10, 100 then 1000 when
the arrow is held down.

1014
Editing screens

How a cursor A cursor operates as follows.


operates
When the cursor and if Then
is horizontal, it is moved to the right, the associated variable is incremented
proportionally to the move made and to the
minimum and maximum thresholds defined
for the variable.
is horizontal, it is moved to the left, the associated variable is decremented
proportionally to the move made and to the
minimum and maximum thresholds defined
for the variable.
is vertical, it is moved upwards, the associated variable is incremented
proportionally to the move made and to the
minimum and maximum thresholds defined
for the variable.
is vertical, it is moved downwards, the associated variable is decremented
proportionally to the move made and to the
minimum and maximum thresholds defined
for the variable.

How an inter- An inter-screen browser button operates as follows.


screen browser
When the button Then
button operates
is enabled by a click, the screen with the associated number is displayed.

Note: In the case of Multi-Instance (See Configuration settings for operator


screens, p. 371) mode, clicking on the browser button opens a new window with
the specified screen. If this is not the case, the new screen opens in the current
window.

How an explicit An explicit exchange button operates as follows.


exchange button
When the button Then
operates
is enabled by a click, the associated explicit exchange is launched. The memory zone of
the PLC and that of the module are updated according to the
configured (See Explicit exchanges tab, p. 1030) parameters.

1015
Editing screens

46.3 Modification of an object’s attributes

Introduction

Subject of this This section describes the attributes of objects, how to access these attributes and
section the associated information.

What's in this This section contains the following topics:


Section?
Topic Page
How to access an object’s attributes 1017
Design tab 1018
Extended colors 1019
Text tab 1020
Animation Tab 1021
Animation type tab 1022
Trend diagrams 1025
Bar chart 1026
Screen browse tab 1027
Control tab 1028
Image Tab 1029
Explicit exchanges tab 1030
Information on the objects 1032
The data selection tool 1033

1016
Editing screens

How to access an object’s attributes

At a Glance Each object created in a screen has attributes which depend on its type. These
attributes are accessed via the tabs below.
z Animation (See Animation Tab, p. 1021)
z Type of animation (See Animation type tab, p. 1022)
z Design (See Design tab, p. 1018)
z Text (See Text tab, p. 1020)
z Image (See Image Tab, p. 1029)
z Driving (See Control tab, p. 1028)
z Screen browsing (See Screen browse tab, p. 1027)
z Explicit exchanges (See Explicit exchanges tab, p. 1030)
Access to these attributes is the same for all created objects.

How to access an The table below indicates how to access the settings of object attributes.
object’s
Step Action
attributes
1 Select the object whose attributes you wish to modify.
2 Click on the object with the right mouse button.
Result: The contextual menu appears
3 Enable the Properties command.
Result: A dialog box displays the attributes linked to the kind of object chosen.

1017
Editing screens

Design tab

At a Glance This tab is used to set the design attributes of a graphic object:
z Modification of the object’s contour line
z Modification of the object’s pattern and color

Description The table below describes the settings that you may define.
Field Description
Line Contour line of the graphic object:
z Single line
z Single or complex dotted line
z No contour line
Thickness Thickness of the object’s contour line. It is defined in pixels and may
range from 1 to 10 pixels maximum.
Outline color Color of contour line. The color palette contains 16 predefined colors and
provides access to the extended colors (See Extended colors, p. 1019)
parameter screen.
Pattern The pattern inside the object. This pattern is defined by a frame and a
background color. The available frames are as follows:
z None (the background is transparent)
z Fill (filled with the selected background color)
z Horizontal frame
z Vertical frame
z Diagonal frame to the top
z Diagonal frame to the bottom
z Grid
z Lattice
Round the When this box is checked, the corners of rectangle type objects are
corners rounded.
Background Color of the object’s content (background). The colors palette contains
color 16 predefined colors and provides access to the extended colors (See
Extended colors, p. 1019) parameter screen.

1018
Editing screens

Extended colors

At a Glance This dialog box proposes 48 basic colors and allows you to create personalized
(RGB) colors enhanced with tint, saturation and brightness.

Creating a This table describes how to create a new color, that can be used for the graphic
personalized objects.
color
Step Action
1 Position the cross hair for selecting color, tint and saturation to find the required
shade.
2 Adjust (up or down) the light and color selection cursor to refine your choice.
3 Select a box from Custom Color.
4 Click on the Add to custom colors button to create a new color.

1019
Editing screens

Text tab

At a Glance This tab is used to set the text attributes of a graphic object:
z text input,
z associate a hyperlink,
z select the character font,
z select font size,
z set text alignment,
z select text style,
z select text color.

Description The table below describes the settings that you may define.
Field Description
Text Text of the object. 32635 maximum characters entered on several lines,
separated by a carriage return. If the related variable is of the real type,
users may define a display format as #XX.XXX# (in this case a 5 figure
display with three decimals).
button Allows access to the dialog box to define the hyperlink. This hyperlink
(See Hyperlinks in Unity Pro , p. 1195) will be associated with the text
attribute of the graphic object.
Url Static display of the hyperlink defined by the button.
Font Character font. The fonts available for selection are those installed in
Windows.
Size Font size.
Alignment Text alignment: align left, right or centered in relation to the display area.
Style Text style: bold, underlined, italics or capitals.
Color Text color. The colors palette contains 16 predefined colors and
provides access to the extended colors (See Extended colors, p. 1019)
parameter screen.

1020
Editing screens

Animation Tab

At a Glance All the graphic objects (simple or compound) that you create in a screen can be
animated. This tab allows users to set the animation attributes of a graphic object.
z to decide to animate an object,
z to choose the animation variable,
z to choose the display conditions.

Description The table below describes the settings that you may define.
Field Description
Animated object The object is animated if this box is checked.
button Calls the variable selection tool to select the variable to associate with
the object.
Variable The animation variable linked to the object. Possibilities:
z simple variables,
z the public variables of a function block,
z the parameters (input, output, input/out) of a function block.
Type Type of animation variable linked to the object. The type must be EDT
(Bool, Ebool, Int, Dint, Uint, Udint, Real, Time...). It is not possible to use
structures or tables. However, it is possible to use items from tables or
structures if they are of type EDT.
Comment Comment of the animation variable linked to the object.
Display The object’s display condition:
condition z Permanent: the graphic object is always present on the screen,
z Bit = 0: the graphic object is displayed if the associated variable (bit)
is in state 0,
z Bit = 1: the graphic object is displayed if the associated variable (bit)
is in state 1,
z <, >, =, <>: the graphic object is displayed if the defined condition is
true.
z < = value < =: the graphic object is displayed if the defined condition
is true.

1021
Editing screens

Animation type tab

At a Glance All the graphic objects (simple or compound) that you create in a screen can be
animated. This tab is used to set the animation type which depends on the nature of
the graphic object to be animated:
z to select the object’s display mode,
z to select the display mode of the text linked to the object,
z to select flashing option,
z to select the trend diagram mode,
z to choose bar chart mode.

1022
Editing screens

Description The table below describes the settings that you may define.
Field Description
Standard Display The object is displayed with its attributes if this button is selected.
Value The value taken by the variable is displayed according to the display
mode chosen.
In offline mode, even if this animation style is selected, the text defined
in the Text field of the object is displayed on the screen with the selected
font and size.
Display Choice of display mode:
z Decimal,
z Hexadecimal (value preceded by 16#),
z Binary (value preceded by 2#),
z ASCII.
When the length of the object’s definition zone is too small to display the
value, the field is filled with # characters. The font used is the one defined
in the Text tab (See Text tab, p. 1020).
If the animation variable is of the String type (string of characters), the
Display field cannot be accessed because viewing is automatically in
ASCII.
Message You must select this button to display a message. The Number field
allows you to enter either a message number, or the term Val. In the last
case, the displayed message will be the one whose value is contained
in the variable associated with the object. The Shift field allows you to
enter a value that will be added to the one contained in the variable.
Variable If this button is selected and if the text animation condition is met, the
comment comment associated with the variable is displayed.
Note: This function allows, among other things, to avoid a double entry.
Enter the comment once in the variables editor. This will be used as a
message linked to the variable.
Trend diagram You may use rectangle type objects such as trend diagrams (See Trend
diagrams, p. 1025). Selecting this box will give you access to the trend
diagram’s parametering box.
Bar chart You may use rectangle type objects such as bar charts (See Bar chart,
p. 1026). Selecting this box will give you access to the bar chart’s
parametering box.
Flashing When this box is selected and if the display condition is met, the
background background of the graphic object flashes according to the user-specified
flashing color.

1023
Editing screens

Properties The table below shows the types of animation that may be associated with the
driving objects.

Object Standard Value Message Trend diagram Bar chart Flashing


Line X - - - - X
Rectangle X - - X X X
Ellipse X - - - - X
Curve X - - - - X
Polygon X - - - - X
Text X X X - - X
Compoun X - - - - -
d object
Image X - - - - -
Control X - - - - -

Legend:
X: Yes
- : No

1024
Editing screens

Trend diagrams

At a Glance A trend diagram allows the graphic representation of a variable status, with the
representative curve moving from right to left.
You are advised to limit the number of trend diagrams on a same page because their
display decreases the system’s performance.

Only rectangular type objects can be used as trend diagrams.

Description The table below describes the settings that you may define.
Attribute Description
Sampling Screen refresh period (between 1 and 999 seconds).
The value by default is 1 second.
Definition Length of value display. Each new value is represented by a right
segment whose length is fixed by the definition.
The definition is expressed in pixels between 2 and 20.
The value by default is 2.
Line color Color of the timing diagram’s right segments
The colors palette contains 16 predefined colors and provides access to
the extended colors (See Extended colors, p. 1019) parameter screen.
Threshold: Thresholds between which the value representation develops. For
minimum and binary values, the thresholds must be 0 and 1.
maximum
Display period This value is calculated. It depends on the size of the rectangle, the
sampling value and the definition.
The procedure is as follows:
Period = Rectangle size / Definition x Sampling.

1025
Editing screens

Bar chart

At a Glance Bar charts allow the graphic representation , in rectangular format, of the status of a
variable.

Only rectangular type objects can be used as bar charts.

Description The table below describes the settings that you may define.
Attribute Description
Type of bar chart 1. The bar chart moves from bottom to top.
2. The bar chart moves from top to bottom.
3. The bar chart moves from left to right.
4. The bar chart moves from right to left.
5. The bar chart moves symmetrically in relation to a horizontal axis
corresponding to the average of the thresholds.
6. The bar chart moves symmetrically in relation to a vertical axis
corresponding to the average of the thresholds.
7. The bar charts grow vertically, by symmetrically filling the gap
between the value of the variable and the average of the thresholds.
8. The bar charts grow horizontally, by symmetrically filling the gap
between the value of the variable and the average of the thresholds.
Thresholds Values indicating the range of status displayed. When the associated
variable value is equal to the minimum threshold value, the bar chart is
empty. When this value is equal to the maximum limit value, the bar chart
is full (the rectangle’s color).
By default these values are set to 0 (minimum) and 1000 (maximum).
Default values Values that indicate the thresholds from which the bar chart is displayed
with the default color. When the associated variable value is higher than
the maximum value or lower than the minimum value, the bar chart takes
the default color.
The colors palette contains 16 predefined colors and provides access to
the extended colors (See Extended colors, p. 1019) parameter screen.

1026
Editing screens

Screen browse tab

At a Glance The screen browse buttons allow users to browse between screens (move from one
screen to another). The parametering of a button’s attributes links the button to the
screen. The button’s browser attributes allow users to:
z choose the screen to be displayed,
z define the text displayed in the button,

Description The table below describes the different parameters that you may define.
Field Description
Value This field allows entry of the screen that is displayed when you click on
the button. Two cases are possible:
z the value entered is a number that indicates the screen number to
display,
z you have entered the term VAL. The screen displayed will be the one
whose number is contained in the animation variable linked to the
button object (See Animation Tab, p. 1021).
Name This field indicates the label of the screen you have defined by its
number in the Value field. If you have defined the screen by the term
VAL, this field displays the characters ## ? ##.
None If this box is checked, no text is associated with this button.
Screen number If this box is checked, the screen number is displayed on the button.
Screen label If this box is checked, the screen label is displayed on the button.
Number of char.s If the Screen label box is checked, the field allows you to define the
number of characters to display in the button.
Shift If the Screen label box is checked, the field indicates the position (shift)
of the first character of the label to display in the button.

Note: Each browser button has a logical number that links it to a screen. If this
number is modified, the button will no longer point on the screen.

Note: The software does not take into account the deletion or import of screens.

1027
Editing screens

Control tab

At a Glance This tab allows you to define the characteristics of a control object:
z to choose a control variable,
z to choose the minimum and maximum values,
z to determine the monitoring style.

Description The table below describes the settings that you may define.
Field Description
Variable Variable controlled by the graphic object.
button Calls the variable selection tool to select the variable to associate with
the object.
Type Type of variable linked to the object.
Comment Comment of the variable linked to the object.
< = value <= The control object will not exceed these thresholds.
By default, the minimum value is 0 and the maximum value is 100.
If the variable to control is a bit, these fields are not accessible.
Control element Control style which depends on the type of control object. It allows you
style to modify the representation of the graphical object:
z Border displays a boarder around the object,
z Graduation displays color graduations,
z With latching denotes a button with latching,
z Orientation determines the orientation of the object on the screen,
z Text displays the text with the object.

Note: If the graphic object is a button, and if the control variable is a word, a double
word or a real word, the maximum threshold becomes a dynamic threshold. It is
the value of this threshold that is sent when you click on the button

1028
Editing screens

Image Tab

At a Glance This tab allows you to set the attributes of the .BMP, JPG or JPEG format images
built into the operator screens:
z To choose the image to be displayed,
z To integrate the image into the project,
z To query the size of the image (real and visual).

Description The table below describes the settings that you may define.
Field Description
Name This field indicates the name and the access path to the file.
Image copied When this box is checked, the file is copied and compressed in the
into current project file (.STU or STA for an archive). Loading is faster when using
space the screens and the image is exported at the same time as the screen
during an export (See Exporting runtime screens, p. 1175).
If the image is already built into the project, this box does not appear.
Size This information, accessible in read only gives information on the original
size and the displayed size of the image. Its is used to know if the image
has been modified.
Updating with When this box is checked, the image changes to its original size.
the original size This box does not appear if the original size and the displayed size of the
image are identical.

1029
Editing screens

Explicit exchanges tab

At a Glance Some bits and words are not implicitly exchanged (at each PLC cycle) between the
modules and the PLCs processor. These bits and words are grouped into 3 families:
information on status (STATUS), command (CMD) and parametering (PARAM) and
are explicitly exchanged.

Explicit exchanges are normally made by program, but the user can also initiate
such an exchange by clicking on a button, located in an operator screen.

The explicit exchange tab allows you to define the exchange characteristics:
z to select an explicit exchange instruction,
z to select the text of the button,
z to select the address of the channel to which the exchange will be applied,
z to select the parameters linked to the instruction.

Note: Only the exchanges of objects linked to a channel are authorized.

1030
Editing screens

Description The table below describes the settings that you may define.
Field Description
Instruction Explicit exchange instruction:
z READ_STS: reading of channel status words contained in the
module and updating the data in the PLC.
z WRITE_PARAM: writing of channel parametering words, contained
in the module.
z READ_PARAM: reading of channel parametering words, contained
in the module.
z SAVE_PARAM: backup in a specific memory space of channel
parametering words, contained in the module.
z RESTORE_PARAM: restoration of values saved by SAVE_PARAM.
z WRITE_CMD: implements the execution of a command on a
channel. Only this instruction includes command parameters. The
first parameter is the command number, the other parameters
depend on the type of command sent. For more details, refer to the
documentation for the relevant module.
Text Text that appears on the button.
Channel address Remote: this box is checked if the module to be interrogated is on a
remote station.
In rack: this box is checked if the module to be interrogated is on the
rack of the local station.
Address of the module channel. This address has the form:
z \bus.station\rack.location.channel:
z bus: bus number (shaded if local station),
z station: number of the device connection point (shaded if local
station),
z rack: station rack number,
z position: position of the module on the rack,
z channel: channel number.
Command Only used with the WRITE_CMD instruction. These parameters allow
parameters you to define the command number as well as the values of the 11
parametering words. For more details, refer to the documentation for the
relevant product.

1031
Editing screens

Information on the objects

At a Glance The information screen on the objects, accessible via the Edit → Information
command allows the information on each of the objects contained in a screen to be
displayed. This screen is particularly useful for compound objects.

Description The following table describes the information offered by this screen.
Information Description
Type Type of object. ellipse, button, cursor, object compound, etc.
Position Coordinates of the object’s top left point in pixels.
Size Size of the object in pixels.
Associated Variable linked to a simple object or controlled by a simple object. In the
variable case of a compound object, this field is left blank. The information is
placed in the Grouped object zone.
Grouped object Number of simple animated objects contained in a compound object and
the variables associated with (or controlled by) this compound object. In
the case of a simple-type object, this field is not displayed.

1032
Editing screens

The data selection tool

At a Glance All the graphic objects (simples or compound) that you create in a screen can be
animated (See Animation Tab, p. 1021). The variables selection tool allows you to
associate a variable to animate the object. Variables that can animate objects
include:
z simple variables,
z the public variables of a function block,
z the parameters (input, output, input/out) of a function block.

Procedure The table below presents the procedure for using a variable to animate an object.
Step Action
1 Select to object to parameter in the operator screen.
2 Right click in the contextual menu to select the Properties command.
Result: A dialog box displays the attributes linked to the kind of object chosen.
3 Select the animation tab.
4 Check the Animated Object box.
5 In the Variable field enter the name of the variable or use the button to open the
variables selection tool.
Result: The variables selection tool appears.
6 From the Variables tab or the Function Blocks tab select the variable to be
used to animate the object.
7 Click OK to confirm.

1033
Editing screens

Variables tab The table below describes the elements of the Variables tab of the data selection
tool.
Field Description
Button Clicking on this button opens a dialog box (See At a Glance, p. 289) which you
can use to refine the filter.
Name Column in which you enter the name (symbol) of the instance or data type that
you want to display. You can use wild cards (* or).
EDT Authorizes the display of the Elementary Data Types.
DDT Authorizes the display of Derived Data Types.
IODDT Authorizes the display of the derived data concerning inputs and outputs.
Name Column in which the name (symbol) of the instance or data type is located.
Type Column in which the data type is located.
Comment Column in which the data comment is located.

Function Blocks The table below describes the elements of the Function Blocks tab of the data
tab selection tool.
Field Description
Button Clicking on this button opens a dialog box (See At a Glance, p. 289) which you
can use to refine the filter.
Name Column in which you enter the name (symbol) of the instance or data type that
you want to display. You can use wild cards (* or).
Named by Authorizes the display of data named by default
default
EFB Authorizes the display of Elementary Function Block data types.
DFB Authorizes the display of Derived FB data types.
Name Column in which the name (symbol) of the instance or data type is located.
Type Column in which the data type is located.
Comment Column in which the data comment is located.

1034
Editing screens

46.4 Manipulation of objects in runtime screens

Introduction

Subject of this This section describes how to manipulate objects in the runtime screens. how to
section select objects, move objects, duplicate or delete objects,...

What's in this This section contains the following topics:


Section?
Topic Page
How to select graphic objects 1036
How to move and resize objects 1038
How to delete and copy objects 1039
How to position objects 1040
How to create compound objects 1042

1035
Editing screens

How to select graphic objects

At a Glance When objects have been created in a screen, you may have to select some of them
in order to position them, regroup them, etc. The selection or de-selection of graphic
objects is one of the basic tasks during the construction of an operator screen.

How to select a The following table describes the operations to perform in order to select an object.
single object
If you want to select Then
an isolated object. validate selection mode then click on the object with the left mouse
button.
an object among validate the selection mode, press ALT then right mouse click
several overlaid several times on the area occupied by the objects.
objects. Result: You select each object one after the other even they are
hidden (in the background).
successive objects on press the space bar successively.
a screen. Result: Each time you press the spacebar, you select the next
object even if it is hidden behind another object.

How to select The following table describes the operations to perform in order to select several
several objects objects at the same time.
If you want to select Then
several contiguous frame the objects to be selected by defining a selection zone (this
objects. operate mode is identical to that for the creation of objects).
Result: A rectangle with handles is displayed on the screen. It
regroups all the objects located in the selection zone.
several objects press Shift then click on the objects to be selected while keeping the
scattered in the Shift key held down.
operator screen. Result: A rectangle with handles is displayed on the screen, it
groups all the selected objects.

1036
Editing screens

How to deselect The following table describes the operations to perform in order to deselect an
a selected object object.
or a group of
Step Action
objects
1 Press Shift and hold down this key.
2 Left click on the selected object that you want to deselect.
Result: The selection handles associated with the object disappear, indicating that
the object is no longer part of the selection.

Note: Press ESC to delete the entire active selection. Clicking on the screen
background gives the same results.

1037
Editing screens

How to move and resize objects

Introduction You may have to move or resize objects created in a screen, if any .

How to use the The following table describes the operations to perform in order to move one or
mouse to move several objects with the mouse.
objects
Step Action
1 Select the object or objects to be moved.
2 Click with the left mouse button on a selected objects or in the rectangle representing
the selection.
3 Keep the button held down.
4 Drag the selected object or the rectangle to the desired position.
Result: the selection is represented by a dotted zone as you move it.
5 Release the mouse button.
Result: the selection is placed in its new location.

How to use the The following table describes the operations to perform in order to move one or
keyboard to several objects with the keyboard.
move objects
If you want to move Then
precisely one or after having selected one or several objects to move, press as many
several objects by times as necessary on the keyboard direction (arrow) keys.
using the keyboard Result: the selection represented by a dotted zone can be moved
pixel by pixel or according to the steps of the grid if it is active.
rapidly one or several after having selected one or several objects to move, press on the
objects by using the Shift key, then while holding down this key press as many times as
keyboard necessary on the keyboard direction (arrow) keys.
Result: the selection represented by a dotted zone can be moved in
10 pixel-steps.

How to resize The following table describes the operations to perform to resize one or several
objects objects.
Step Action
1 Select the object or objects to be modified
2 Drag the handles in the desired directions in order to resize the frame.
Result: the selection represented by a dotted zone is resized as you move the mouse.

1038
Editing screens

How to delete and copy objects

At a Glance You may need to delete a graphic object or duplicate the same object in a screen.

How to delete The following table describes the operations to perform in order to delete one or
objects several objects.
Step Action
1 Select the object or objects to be deleted.
Result: The selection is represented by a frame with handles.
2 Press Delete.
Result: The selected objects are deleted. They are not memorized in the clipboard.

How to use the The following table describes the operations to perform in order to copy one or
mouse to copy several objects with the mouse.
objects
Step Action
1 Select the object or objects to be copied.
2 Click with the left mouse button on one of the selected objects or in the rectangle
representing the selection.
3 Hold down the button and press CTRL.
4 Drag the selected object or the rectangle to the desired position.
Result: The selection is represented by a dotted zone as you move it.
5 Release the mouse button.
Result: The copy of the selection is placed in its chosen location.

How to cut, copy The table below indicates the procedures for cutting, copying or pasting one or
or paste objects several objects.
Step Action
1 Select the object or objects to manipulate.
Result: The selection is represented by a frame with handles.
2 Select the command to execute:
z Edit → Cut
z Edit → Copy
z Edit → Paste
Result: Cut deletes the selected item(s) and memorizes it (them) on the clipboard.
Copy duplicates the selected items in the clipboard and Paste duplicates the
clipboard contents on the screen.

1039
Editing screens

How to position objects

At a Glance You may have to position an object in relation to another in a screen:


z to align the objects,
z to make objects symmetrical,
z to position the objects in the foreground and the background in relation to the
others.

How to align a The table below describes the procedure for aligning a group of objects.
group of objects
Step Action
1 Select the objects to align.
Result: The selection is represented by a frame with handles.
2 Select the command to execute in the toolbar:
z Left alignment,
z Right alignment,
z Upper alignment,
z Lower alignment.
Result: The selected objects are aligned according to what has been chosen.

How to make an The table below describes the procedure for flipping an object or a group of objects
object or a group vertically or horizontally.
of objects
Step Action
symmetrical
1 Select the object or objects to be flipped.
Result: The selection is represented by a frame with handles.
2 Select the flip command in the toolbar:
z vertical flip,
z horizontal flip.
Result: The selected object or group of objects is positioned according to the
chosen symmetry.

How to put an The table below describes the procedure for placing an object in the foreground.
object in the
Step Action
foreground
1 Select the object to place in the foreground.
Result: The selected object is equipped with handles.
2 Select the Foreground command in the toolbar.
Result: The selected object is positioned in the foreground.

1040
Editing screens

How to put an The table below describes the procedure for placing an object in the background.
object in the
Step Action
background
1 Select the object to place in the background.
Result: The selected object is equipped with handles.
2 Select the Background command in the toolbar.
Result: The selected object is positioned in the background.

1041
Editing screens

How to create compound objects

At a Glance The objects of a screen are sometimes associated to become a single compound
object (that can be animated). Similarly, you may have to unbind a compound object
into several simple objects, in order to manipulate them individually.

How to Bind a The table below describes the procedures for binding a group of objects.
group of objects
Step Action
1 Select the objects to bind.
Result: The selection is represented by a frame with handles.
2 Activate the Group command.
Result: The objects are grouped in a single compound object. the handles
belonging to the selected objects disappear and a rectangle containing all of the
selected objects and represented by handles is displayed.

How to Unbind a The table below describes the operations to perform to unbind a group of objects.
group of objects
Step Action
1 Select the compound object to unbind.
Result: The selected object is represented by handles.
2 Activate the Ungroup command.
Result: All the objects contained in the compound object are viewed with their
handles. If the object is animated, the animated characteristics are lost.

How to select an The table below describes the operations to perform to modify the characteristics of
element an item belonging to a compound object, without having to ungroup it.
belonging to a
Step Action
compound
object 1 Select the compound object.
Result: The selected object is represented by handles.
2 Press Alt then right click on the compound object, while holding down the Shift
key.
Result: The elements comprising the compound object are selected
successively. The selected object can not be manipulated as a simple object.

1042
Editing screens

46.5 Managing the runtime screens messages editor

Introduction

Subject of this This section describes how to manage the runtime screens messages editor.
section

What's in this This section contains the following topics:


Section?
Topic Page
Operator screens messages editor 1044
How to manage messages linked to operator screens 1045
Find dialog box 1047
Replace dialog box 1048
Message Renumbering Dialog Box 1049
Message editing and import/export function 1050

1043
Editing screens

Operator screens messages editor

At a Glance Messages comprise a text and a label. They are memorized in the project and are
linked to objects via their number. In this way, it is not necessary to create a
message per object and duplicate identical messages.

When a project is created, the message list is empty, and the user needs to fill it in:
by creating your own messages or by importing messages from another file or
another tool.

Displaying the The following table describes the operations to perform in order to display the
message list message list.
Step Action
1 Select the Operator screens directory from the project browser.
2 Select the Message list → Open command in the contextual menu:
Result: The Message list window appears on the screen.

Description The following table describes the commands accessible from the message screen.
Command Description
Find Allows you to search for a string of characters (or a message number).
Replace Allows you to replace a string of characters (or a message number).
Auto Number Allows automatic dialing of messages.
Renumerate Gives access to a dialog box which allows you to define the first automatic
dial number.

1044
Editing screens

How to manage messages linked to operator screens

At a Glance The dialog box for managing messages allows you to create, modify or delete
messages in addition to linking them to a number or a hyperlink.

How to create a The table below describes the operations performed to create a message to be used
message by the operator screen editor.
Step Action
1 Right click on the Operator Screens directory in the project browser.
Result: The relevant contextual menu appears.
2 Click Messages list → Open.
Result: The messages management dialog box appears.
3 Enter a message number in the No. column If you have checked the Auto
number box, the number will be automatically entered, when the message is
validated.
Result: The number entered appears in the list.
4 Enter your message in the Messages column, then press Enter to validate. The
maximum length of a message is 255 characters.
Result: Your message and its associated number appear in the list.
5 Repeat steps 3 and 4, to enter the other messages on the list. Click OK to
confirm the command.
Result: The messages management dialog box closes and the list is
memorized.

1045
Editing screens

How to link a The table below describes the operations performed to link a hyperlink to a
hyperlink to a message.
message
Step Action
1 Open the message list,
2 Right click on the URL message column.
Result: The relevant contextual menu appears.
3 Activate the Create command.
Result: The Insert hyperlink window appears.
4 Enter the name with the document path or the WEB page to link to the message.
Or select it with the Browse button.
5 Click OK to validate the hyperlink.
Result: The hyperlink appears in the URL column.
6 Click OK to confirm the command.
Result: The messages management dialog box closes and the list is
memorized.

How to modify a The following table describes the operations performed to modify an existing
message message.
Step Action
1 Right click on the Operator Screens directory in the project browser.
Result: The relevant contextual menu appears.
2 Click Messages list → Open.
Result: The message screen appears.
3 Right click on the message to be modified.
Result: A cursor appears in the text.
3 Move the cursor to where you want to modify your text. To delete a word, double
click on it to select it and press Del. Enter the new text or the new number then
Enter to validate.
Result: The message is modified.
4 After you complete modifications, click OK to validate.
Result: The new messages are backed up in the project.

Note: Press ESC to delete all the modifications made in the current session.

1046
Editing screens

Find dialog box

At a Glance The Find dialog box allows you to find a string of characters or a number in the list
of messages.

Description The following table describes the different fields offered by the dialog box.
Field Description
Find Allows you to enter the string of characters (or number) you want to find.
Match case If this box is checked, find will match the case of the entered characters
(upper or lower case).
Direction This field allows you to define the search direction in the list: move up or
move down.
Next This command initializes find or starts the next find.
Cancel This command cancels the search.

How to find and Follow the steps below to find or replace a string of characters (or a number) in the
replace a string list of messages:
of characters or a
Step Action
number.
1 Right click on the Operator Screens directory in the project browser.
Result: The relevant contextual menu appears
2 Click Messages list → Open.
Result: The message manager dialog box appears.
3 Enable the Find command to find a string of characters or Replace to find and
replace a string of characters.
Result: A Find dialog box appears
3 Fill in the different fields proposed by the dialog box and start the find or replace
(See Replace dialog box, p. 1048) of the string of characters.
Result: The changes are integrated into the list of messages.
4 After you complete modifications, click OK to validate.
Result: The new messages are backed up in the project.

1047
Editing screens

Replace dialog box

At a Glance Dialog box Replace allows you to find a string of characters (or a number) in the list
of messages and to replace it with another string of characters (or a number). You
may select the item to replace or replace all.

Description The following table describes the different fields offered by the dialog box.
Field Description
Find Allows you to enter the string of characters (or number) you want to find.
Replace This field allows you to enter the string of characters (or number) you
want to replace.
Match case If this box is checked, find will match the case of the entered characters
(upper or lower case).
Next This command initializes find or starts the next find.
Replace This command replaces the string of characters found with the new string
of characters that you defined in the Replace with field.
Replace all This command replaces the string of characters that you defined
throughout the list of messages.
Cancel This command cancels the find/replace command.

1048
Editing screens

Message Renumbering Dialog Box

At a Glance The renumbering dialog box allows you to change a number of one or several
messages in the list automatically.

How to Modify a To modify a message number, you can proceed in the same way as when modifying
Message a message or use the Renumerate command. The table below describes the
Number procedure for modifying a message number using the Renumerate command.
Step Action
1 Right click on the Operator Screens folder in the project browser.
Result: The relevant contextual menu appears.
2 Execute the Messages list → Open command.
Result: The message manager dialog box appears.
3 Left click in the number field of the message to be modified.
Result: The field is selected.
3 Activate the Renumerate command.
Result: The following dialog box appears:
4 Enter the new number and confirm with Enter.
Result: The dialog box disappears and the selected message will be
renumbered from the number entered in the From Number field.
5 After you complete modifications, click OK to validate.
Result: The new numbers are backed up in the project.

1049
Editing screens

Message editing and import/export function

At a Glance The operator screen messages also have edit and import/export functions.

Information on The editing functions are accessed by the commands:


editing functions z Edit → Cut
z Edit → Copy
z Edit → Paste
z Edit → Delete

Note: The paste function also allows messages copied in tools such as Excel or
Word to be pasted directly into the message screen.

They are also accessible via the contextual menu: right click on the message.
There are also other functions in the contextual menu from the messages list.
Function Description
Cancel Cancels the last completed action.
Redo Repeats the last completed action.
Clear message Erases the content of the selected row.
Insert row Inserts a blank row above the selection:
Delete row Deletes the selected row.

You can sort the messages list by:


z the message number (increasing or decreasing order),
z alphabetical order (increasing or decreasing) of messages,
z alphabetical order (increasing or decreasing) of hyperlinks.
To start sorting, just click on the heading of the column you want to sort.

1050
Editing screens

How to import a The table below describes the procedure for importing a list of messages.
list of messages
Step Action
1 Right click on the Operator Screens directory in the project browser.
Result: The relevant contextual menu appears.
2 Execute the Messages list → Import command.
Result: A dialog box is displayed asking you to choose the file to be imported.
3 Select the file to be imported (directory tree and file) then confirm with the Import
command.
Result: Another dialog box is displayed asking you to choose the type of import
to be made.
4 Check the Replace box if you want the selected file to replace the current
messages file.
Check the Merge (Based on new messages) box if you want the new
messages to be added to the current message list, with a change of number.
Check the Merge (Based on new numbers) box if you want the new messages
to be added to the current message list, retaining their original numbers. In this
case the messages on the list with an identical number to the imported
messages will be overwritten.
5 Click OK to confirm the modifications to the list.
Result: The new messages are backed up in the project.

How to export a The table below describes the procedure for exporting a list of messages.
list of messages
Step Action
1 Right click on the Operator Screens directory in the project browser.
Result: The relevant contextual menu appears.
2 Execute the Messages list → Export command.
Result: A dialog box appears to allow you to specify the name of the export file.
4 Choose the directory (directory tree) and enter the name of the export file (the
extension .XCR is automatically added). Click on the Export command to
confirm.
Result: Messages are exported in a text file, each line containing the number
and label of each message. This file can then be used with any text editor.

1051
Editing screens

1052
Runtime screens in online mode

47
Introduction

Object of this This chapter describes how the runtime screens editor works in online mode.
chapter

What's in this This chapter contains the following topics:


Chapter?
Topic Page
Basic functions in online mode 1054
How to select an animated object 1055
How to use command objects to modify the variables associated with objects 1056
How to view the variables associated with graphic objects 1057
How to modify the variables associated with objects from an animation table 1058
How to search for cross-references 1059
How to manage the display of operator screens 1060
How to modify screen control 1062
How to obtain information on objects when in connected mode 1063

1053
Online mode

Basic functions in online mode

Introduction After you create your operator screens, you must change to online mode, in order to
monitor and control the automation process.
To do this, enable the relevant icon or PLC → Connect command

Editing online A screen can only be edited in online mode if you have not given priority (See The
Operator Screens option, p. 378) to the PLC driver.

Display rules for Animated objects which make up a screen are displayed when their display
a simple object condition has been met.

Display rules for When a compound object is animated but its display conditions have not been met,
a compound none of its component items are displayed (even if it is made up of items whose
object display requirements have been met).

Basic points The objects on a page are displayed according to the positioning order assigned to
about display of them by the Foreground or Background commands.
related objects
Note: Command objects are always positioned above other graphic objects.
To avoid control errors or display problems, we advise you do not overlay
command objects.

1054
Online mode

How to select an animated object

At a Glance You may need to select an object in online mode. We advise you to follow the
procedure described below for the process to remain unchanged during the
selection.

How to select an The table below describes the procedure for selecting an object in online mode
animated object
If you want to select then
an animated object using the press F4 or F5.
function keys. Result: The F4 key selects animated objects one after the
other in the order that they were created or repositioned
by the user. The F5 key selects them in the reverse order.
an animated object using the click on the next animated object or previous animated
tool bar. object icons.
Result: It is identical to pressing the F4 and F5 keys.
a control command object. press and hold down the Ctrl key, then left click on the
object.
Result: The object is selected. It no longer commands the
control and its properties can be modified.
any object. press the Space bar.
Result: The Space bar selects all the objects one after the
other according to how they were created or repositioned.
Simultaneously press Caps Lock + Space to select them
in the reverse order.

1055
Online mode

How to use command objects to modify the variables associated with objects

At a Glance In online mode, you may use the command objects in an operator screen to modify
the variables associated with the animated objects. By default, you cannot modify
the command objects when a screen is being opened. You must use the F7 key or
the Services → Enable Variable Modification command to allow these
modifications.

How to use a The following table describes the procedures for using a command object to modify
command object variables.
to modify
Step Action
variables
1 Open the operator screen in which the command objects are located.
2 Press the F7 key or select the Services → Enable Variable Modification
command.
3 Give control to the command object that enables the modification of the variable
settings.
4 Modify the command object settings.

1056
Online mode

How to view the variables associated with graphic objects

At a Glance In online mode you may view the settings of variables associated with an operator
screen in the Variables Window tool. The Variables Window tool only allows you
to view the variables. You cannot edit them.

How to view the The following table describes the operations necessary to display the variables
variables associated with the graphic objects.
associated with
Step Action
graphic objects
1 Select the operator screen.
2 Select the Tools → Variables Window where the variables you want to view are
located.
Result: The Variables Window appears
3 Double click on a variable in the Variables Window.
Result: The object associated with this variable appears in the operator screen,
surrounded by a dotted frame.

1057
Online mode

How to modify the variables associated with objects from an animation table

At a Glance In online mode you may modify the variables associated with the animated objects
from an animation table.

How to modify The table below describes how to modify the variables associated with graphic
the variables objects from an animation table.
associated with
Step Action
objects from an
animation table 1 Select the objects for which you want to modify the variables.
Result: The selected objects appear with handles and have a dotted frame.
2 Use the Ctrl + T shortcut key or enable the Services → Initialize Animation
Table command.
Result: All the variables relating to the selected objects appear in a new
animation table. You can now modify their value.
The diagram below presents an example of an animation table produced by
selecting animated objects.

1058
Online mode

How to search for cross-references

At a Glance In connected mode as in local mode, you can search in the project programs for the
variables linked to an animated object. This is known as the cross references
search.

How to search The table below describes the procedures for searching for cross references in an
for cross animated object.
references
Step Action
1 Select the object(s) in the operator screen.
Result: The selected objects appear with handles and have a dotted frame.
2 Use the Ctrl + U shortcut or click Services → Initialize Search.
Result: All the variables relating to the selected objects appear in the cross
references search window.
The diagram below is an example of a cross reference search performed by
selecting the animated objects.

1059
Online mode

How to manage the display of operator screens

At a Glance You may need to modify the display of screens in connected mode. You may for
example:
z Mask the horizontal and vertical scrollbars,
z Go to full screenmode.

How to mask the The table below describes the procedure for masking scrollbars displayed by the
scroll bars operator screens editor.
Step Action
1 Click Tools → Options.
2 Select the operator screen tab.
Result: The editor configuration (See The Operator Screens option, p. 378)
dialog box is displayed.
2 Uncheck the Horizontal scroll bar and Vertical scroll bar and validate with
OK.
Result: The graphic editor no longer has vertical and horizontal scrollbars.

How to switch to The table below describes the procedure for switching to full screen mode.
full screen mode
Step Action
1 Click Display → Full screen.
Result: The menu and toolbars disappear.

How to exit a full The table below describes the procedure for switching to full screen mode.
screen mode.
Step Action
1 Press Esc to exit the full screen mode.
Result: The screen changes from full screen mode to window mode.

1060
Online mode

How to start the The table below describes the procedure for automatically starting the operator
operator screens screens editor in full screen.
editor
Step Action
automatically
while in full 1 Click Tools → Project settings.
screen mode 2 Select the operator screen tab.
Result: The editor configuration (See Configuration settings for operator
screens, p. 371) dialog box is displayed.
2 Check the Full screen at opening box and validate with OK.
Result: The operator screens editor will be automatically started in full screen
mode.

1061
Online mode

How to modify screen control

At a Glance The control type is determined by the configuration (See Configuration settings for
operator screens, p. 371) options. It can be modified in online mode.

How to set the The following table describes the procedure for changing the control type for
control type in operator screens.
online mode
If you want and if you are then
the screens to be controlled in operator control mode, press F2 or click on the PLC
by the PLC, controlled icon.
the screens to be controlled in PLC control mode, press F3 or click on the
by the operator, Operator controlled icon.

1062
Online mode

How to obtain information on objects when in connected mode

Introduction In connected mode, you can obtain two types of information via the mouse:
z Is the object a driving object,
z which variable is associated to this object.

How to ascertain The table below describes the procedure for ascertaining whether an object is a
whether an driving object.
object is a
Step Action
driving object
1 Position the mouse cursor on the object.
Result: if the object is a driving object, the cursor takes the shape of a hand.

How to find out The table describes the procedure for finding out the name and value of a variable
the name and the associated with an object.
value of a
Step Action
variable
associated with 1 Position the mouse cursor on the object.
an object Result: the name of the variable and its current value in the PLC are displayed.

1063
Online mode

1064
Runtime screens objects library

48
Introduction

Object of this You can access an objects library to create your runtime screens. This chapter
chapter presents a family-specific classification of all these objects: actuators, display
panels, automation components, etc..

What's in this This chapter contains the following sections:


Chapter?
Section Topic Page
48.1 Managing library objects 1066
48.2 Library objects 1075

1065
Objects library

48.1 Managing library objects

Introduction

Subject of this This section describes how to manage the library graphic objects.
section

What's in this This section contains the following topics:


Section?
Topic Page
The Objects Library 1067
How to manage the list of graphic items in the library 1068
Properties of the object library and its elements 1071
Handling the Objects 1073

1066
Objects library

The Objects Library

At a Glance The objects library provides manufacturer objects which can be inserted into the
operator screens. The objects are arranged in families. The library allows operators
to create their own objects and insert them into a library family.
The library may be opened with the Tools → Operator Screen Library command.
The table below provides a description of the objects library.
Number Description
1 The browser displays all the families and objects.
2 The window displays the graphic representation(s) of the selected object.

1067
Objects library

How to manage the list of graphic items in the library

At a Glance The library graphical objects are organized in families for optimum management.
You cannot create new objects outside a family.
The main actions that can be performed on objects or object families are described
below.

How to create an The following table describes the steps to be carried out to create a new object
object family in family in the library.
the library
Step Action
1 Execute the Tools → Operator screens library from the main Unity Pro menu
Result: The object library opens. The browser displays the objects and the
families contained in the library.
2 Right click on the library root.
Result: The relevant contextual menu appears.
3 Enable the command New family.
Result: A new screen family appears in the objects library with a generic name.

How to create an The following table describes the operations to be performed in order to create an
object in the object in the library.
library
Step Action
1 Click Tools → Operator screens library in the toolbar.
Result: The object library opens. The browser displays the objects and the
families contained in the library.
2 Click with the right mouse button on an object family or library object.
Result: The relevant contextual menu appears.
3 Enable the New object command.
Result: A new object appears in the objects library with a generic name.

1068
Objects library

How to rename a The following table describes the operations to be performed in order to rename a
library object or library object family.
object family
Step Action
1 Click Tools → Operator screens library in the toolbar.
Result: The object library opens. The browser displays the objects and the
families contained in the library.
2 Click with the left mouse button on an object family or library object.
3 Press F2.
Result: The label is highlighted and the text input cursor flashes at the end of
the input field.
4 Enter the new name of the object or family using the keyboard.
Result: The object or object family appears with its new name.

How to move an The following table describes the operations to be performed in order to move an
object in the object from a family to another family in the library.
library
Step Action
1 Click Tools → Operator screens library in the toolbar.
Result: The object library opens. The browser displays the objects and the
families contained in the library.
2 Left click on the library object to be moved.
Result: The relevant contextual menu appears.
3 Hold down the left mouse button to maintain the selection.
4 Move the object to the desired family while holding down the button.
Result: The object moves at the same time as the mouse cursor.
3 Release the mouse button.
Result: The object appears in the desired family.

Note: You may move an object in the same family if the Manualsort (See
Properties of the object library and its elements, p. 1071) option is checked.

1069
Objects library

How to open an The following table describes the operations to be performed in order to open an
object in the object in the library.
library
Step Action
1 Click Tools → Operator screens library in the toolbar.
Result: The object library opens. The browser displays the objects and the
families contained in the library.
2 Right click on a library object.
Result: The relevant contextual menu appears.
3 Activate the Open command.
Result: An operator screen window opens. It displays the graphic object or
objects contained in the library object.

Information on The editing functions are accessed by the commands:


editing functions z Edit → Cut
z Edit → Copy
z Edit → Paste
z Edit → Delete
Commands comply with Windows 32 bit ergonomics and apply to objects or families
of objects in the library.
There is also a function for deleting the last completed action.

1070
Objects library

Properties of the object library and its elements

At a Glance The objects library and its elements (family and objects) have properties. They allow
the operator to modify:
z the access pathname of the library file,
z the access pathname of the library images directory,
z the type of family and object sorting in the library browser,
z the type of family and object sorting in the library browser,
z the name of families,
z the name of objects,
z the family linked to the object.

Library The table below presents the procedures for accessing the Library Properties
properties dialog box.
Step Action
1 Execute the Tools → Operator screens library from the main Unity Pro menu.
Result: The object library opens. The browser displays the objects and the
families contained in the library.
2 Select the library root in the browser application.
3 Select the Properties command from the contextual menu.
Result: The Library Properties window appears:
4 The access pathname and the filename (.bib extension) of the library are
indicated in the Library Location field.
The button allows the operator to browse the hard disk to change the pathname
and the file.
5 The Picture Directory Location field contains the access pathname and file
name (extension .bib) of the directory where the images used by the library are
located.
The button allows the operator to browse the hard disk to change the pathname
and the storage directory name.
6 In the Tree Sorting zone you may choose to sort the families and objects.
Sorting can be:
z in alphabetical order, by checking the Alphanumeric Sort box,
z manual (user option), by checking the Manual Sort box.

1071
Objects library

Library The table below presents the procedures for accessing the Family Properties
properties dialog box.
Step Action
1 Execute the Tools → Object Library command from the Unity Pro main menu.
Result: The object library opens. The browser displays the objects and the
families contained in the library.
2 Select a family in the library browser application.
3 Select the Properties command from the contextual menu.
Result: The Family Properties window appears:
4 In the Name field, give the family a name. It can be modified and can contain up
to 255 characters.

Object The table below presents the procedures for accessing the Object Properties
properties dialog box.
Step Action
1 Execute the Tools → Object Library command from the Unity Pro main menu.
Result: The object library opens. The browser displays the objects and the
families contained in the library.
2 Select an object in the library browser application.
3 Select the Properties command from the contextual menu.
Result: The Object Properties window appears.
4 In the Name field, give the object a name. It can be modified and can contain up
to 255 characters.
5 The Family field displays the family with which the object is associated. Select
the arrow on the right side of the field to associate the object with another family.

1072
Objects library

Handling the Objects

At a Glance When you open a library object, Unity Pro opens an operator screen window in edit
mode. The operator screen contains the different graphic objects. From the operator
screen, you can
z use all editing functions in the screen
z select and copy a graphic object in another screen
z bind variables to graphic objects

Edit function An object’s operator screen editor works in the same way as the project operator
screen editor. It has the same functions: The menu and toolbars (See Menus and
tools in the runtime screen editor, p. 987) are identical.

Copying an You can copy graphic objects between the operator screen of an object and:
object z another object operator screen,
z a project operator screen.
In both cases the procedures are identical.

Procedure The table below describes the procedure for copying a graphic object in another
library object or in a project operator screen.
Step Action
1 Open (See How to open an object in the library, p. 1070) a library object.
Result: The operator screen with the graphic objects appears.
2 Right click on a graphic object.
Result: The relevant contextual menu appears.
3 Enable the Copy command.
4 Open a library object or an operator screen in which you want to copy the
graphic object.
5 Right mouse click on the background of the operator screen.
6 Activate the Paste command.
Result: The graphic object appears in the operator screen.

Association of Graphic objects are animated with variables that have topological addresses.
variable Simply replace these variables with your project variables to animate the objects.

1073
Objects library

Procedure The following table describes the procedure for associating project variables with
animation variables for graphic objects.
Step Action
1 Copy a graphic object from the library into an operator screen, then select it.
2 Select the Tools → Variables Window command.
Result: The Variables Window appears with all the variables of the graphic
object
3 Double click on a variable in the Variables Window.
Result: The object associated with this variable appears in the operator screen,
surrounded by a dotted frame.
4 Select the framed object.
5 Select the Properties command from the contextual menu.
Result: The Object Properties window appears.
6 Select the Animation tab.
Result: The variable that you selected initially appears in the Variables field.
7 Click on to open the variables selection tool.
8 Select a project variable and click OK.
Result: The selected variable appears in the Variables field in the Animation
tab and in the variables window.
9 For each of the project variables to be grouped, double-click on the variable in
the variables window and repeat steps 7 and 8.

1074
Objects library

48.2 Library objects

Introduction

Subject of this This section introduces all the library objects and indicates whether they are
section dynamic (that can be animated) or static.

What's in this This section contains the following topics:


Section?
Topic Page
Object library actuators 1076
Object library display panels 1079
Automation components of the object library 1081
Fluid management objects 1086
Object library machines 1088
The DFB inputs of the object library 1089
DFB outputs in the object library 1091
DFB public variables in the object library 1093
DFB private variables in the object library 1095
Help grid for DFB input in the object library 1097
The interfaces before PID and IMC control of the object library 1098
The interfaces before for cascade control of the object library 1099
The interfaces for auto-selective control of the object library 1100
The interfaces before ON OFF control of the object library 1102
The object library PID and IMC control interfaces 1103
The interfaces before for cascade tred control of the object library 1107
The autoselective regulation interfaces from the object library 1111
The object library ON OFF control interfaces 1119
Object library symbols 1121
Object library standardized symbols 1122

1075
Objects library

Object library actuators

Introduction The library of design objects offers as standard actuators used in the industry.
There are two types of objects :
z Dynamic objects that can be animated.
z Static objects.
Dynamic objects have at least one associated variable that allows its operation to
be viewed.
Static objects do not have any variable associated with them. Their graphic
representation is fixed.

Buttons The figure below shows all the available objects.


STOP RUN

ON ON ON

OFF OFF OFF

ON OFF
ON OFF
ON OFF

All the buttons are dynamic objects.

Pumps The figure below shows all the available objects.

All the pumps are dynamic objects.

1076
Objects library

Motors The figure below shows all the available objects.

All the motors are dynamic objects

Jacks The figure below shows all the available objects.

All the jacks are dynamic objects

1077
Objects library

Dynamic gates The figure below shows all the available objects.

Static gates The figure below groups together the available objects.

Dynamic The figure below groups together the available objects.


standard gates

Standard static The figure below groups together the available objects.
gates

1078
Objects library

Object library display panels

Introduction The library of design objects offers as standard display panels used in the industry.
There are two types of objects :
z Dynamic objects that can be animated.
z Static objects.
Dynamic objects have at least one associated variable that allows its operation to
be viewed.
Static objects do not have any variable associated with them. Their graphic
representation is fixed.

Simple dynamic The figure below groups together the available objects.
display panels
0.123456e-10 -32768 0

Simple static The figure below groups together the available objects.
display panels

VU Meters The figure below shows all the available objects.


4 50 50
3 5
2 6

1 7
0 0 100 0 100
TEXT TEXT

VU Meters are all dynamic objects.

1079
Objects library

Indicators The figure below shows all the available objects.

Indicators are all dynamic objects.

Analog value The figure below shows all the available objects.
monitoring ANIN ANOUT
objects Text Text

Text Text

0.00 A M
0.00
UNIT UNI
%MF 6 : MAX %MF 0 : ANOUT
%MF 8 : MIN
%MF 6 : MAX
%MF 8 : MIN
%MF 12 : Alarm L
%MF 10 : Alarm H
%MF 12 : Alarm L
These ANIN and ANOUT objects allow display of an analog value, detection of an
overshoot of the threshold, or fixing the displayed value with the cursor.

1080
Objects library

Automation components of the object library

At a Glance The Manufacturers' object library offers standard automation components used in
the industry.
There are two types of objects:
z Dynamic objects that can be animated.
z Static objects.
Dynamic objects have at least one associated variable that allows its operation to
be viewed.
Static objects do not have any variable associated with them. Their graphic
representation is fixed.

PLCs The figure below shows all the available objects.

These objects are dynamic, a variable indicates if they are in RUN or STOP mode.

1081
Objects library

The CCX The figure below shows all the available objects.

These objects are static.

Magelis The figure below shows all the available objects.

These objects are static.

1082
Objects library

Premium The figure below shows all the available objects.


modules
Module Analogique CPU

Divers Module SCY

Module TOR ATV 08

Module TBX

These objects are static.

Premium media The figure below shows all the available objects.

These objects are static.

1083
Objects library

Quantum The figure below shows all the available objects.


modules
140 140 140 140 140
ACI AC0 AV0 CPU CPS
030 00 020 00 020 00 434 12 111 00

ANA ANA ANA


IN OUT OUT
2MB+T PS
XMB+ 115
2x 230
Modbus VAC
3A

140 140 140 140 140 140 140 140


DAI DAM DA0 DDM DD0 DD0 DDM DDI
353 00 59000 842 10 390 00 353 00 843 00 390 00 353 00

24 115 115 24 24 10-60V 24 24


VAC VAC 230 VDC VDC DC VDC VDC
IN IN/ VAC IN/OUT OUT out IN/OUT IN
OUT OUT

These objects are static.

1084
Objects library

Quantum media The figure below shows all the available objects.

These objects are static.

Weighing The figure below shows all the available components.

PESAGE
NET Texte Kg
Poids Texte Kg

These objects are dynamic.

1085
Objects library

Fluid management objects

Introduction The library of design objects offers as standard distribution objects, storage objects
and the manipulation of fluids.
There are two types of objects :
z Dynamic objects that can be animated.
z Static objects.
Dynamic objects have at least one associated variable that allows its operation to
be viewed.
Static objects do not have any variable associated with them. Their graphic
representation is fixed.

Moving pipes The figure below shows all available objects.

Static pipes The figure below groups together the available objects.

Moving vats The figure below shows all available objects.


TEXT 1

1086
Objects library

Static vats The figure below groups together the available objects.

Stirring rods The figure below shows all available objects.

Stirring rods are dynamic objects.

1087
Objects library

Object library machines

Introduction The library of manufacturers objects offers as standard distribution , storage and
fluids manipulation objects.
There are two types of objects :
z Dynamic objects that can be animated.
z Static objects.
Dynamic objects have at least one associated variable that allows its operation to
be viewed.
Static objects do not have any variable associated with them. Their graphic
representation is fixed.

Static mats The figure below shows all the available objects.

Dynamic mat The figure below groups together the available objects.

Static machines The figure below groups together the available objects.

Dynamic The figure below groups together the available objects.


machines

1088
Objects library

The DFB inputs of the object library

At a Glance The Manufacturers’ object library proposes standard debugging screens for the DFB
that you have created.
These objects are dynamic by definition.
The following objects concern DFB inputs, and are classed according to three types:
z Binary Inputs (boolean),
z Digital inputs (integer),
z Floating point input (integer).

Binary inputs The figure below shows the available objects.


Input_1 Val
Input_2 Val
Input_3 Val
Input_4 Val
Input_5 Val
Input_6 Val
Input_7 Val
Input_8 Val
Input_9 Val
Input_10 Val
Input_11 Val
Input_12 Val
Input_13 Val
Input_14 Val
Input_15 Val
The associated variables are in bits.

1089
Objects library

Digital inputs The figure below shows the available objects.


Input_1 -32768
Input_2 -32768
Input_3 -32768
Input_4 -32768
Input_5 -32768
Input_6 -32768
Input_7 -32768
Input_8 -32768
Input_9 -32768
Input_10 -32768
Input_11 -32768
Input_12 -32768
Input_13 -32768
Input_14 -32768
Input_15 -32768
The associated variables are 16 bit words.

Floating point The figure below shows the available objects.


inputs Input_1 0123456e-10
Input_2 0123456e-10
Input_3 0123456e-10
Input_4 0123456e-10
Input_5 0123456e-10
Input_6 0123456e-10
Input_7 0123456e-10
Input_8 0123456e-10
Input_9 0123456e-10
Input_10 0123456e-10
Input_11 0123456e-10
Input_12 0123456e-10
Input_13 0123456e-10
Input_14 0123456e-10
Input_15 0123456e-10
The associated variables are integers coded in 32 bits

1090
Objects library

DFB outputs in the object library

At a Glance The Manufacturer object library proposes as standard the DFB debug screens that
you have created.
These objects are dynamic by definition.
The following objects concern DFB outputs, and are classified according to three
types:
z Binary outputs (boolean).
z Digital outputs (integer),
z Floating point outputs (Integer).

Binary outputs The figure below shows the available objects.


Output_1 Val
Output_2 Val
Output_3 Val
Output_4 Val
Output_5 Val
Output_6 Val
Output_7 Val
Output_8 Val
Output_9 Val
Output_10 Val
Output_11 Val
Output_12 Val
Output_13 Val
Output_14 Val
Output_15 Val

The associated variables are in bits.

1091
Objects library

Digital outputs The figure below shows the available objects.


Output_1 -32768
Output_2 -32768
Output_3 -32768
Output_4 -32768
Output_5 -32768
Output_6 -32768
Output_7 -32768
Output_8 -32768
Output_9 -32768
Output_10 -32768
Output_11 -32768
Output_12 -32768
Output_13 -32768
Output_14 -32768
Output_15 -32768
The associated variables are 16 bit words.

Floating point The figure below shows the available objects.


outputs Output_1 0123456e-10
Output_2 0123456e-10
Output_3 0123456e-10
Output_4 0123456e-10
Output_5 0123456e-10
Output_6 0123456e-10
Output_7 0123456e-10
Output_8 0123456e-10
Output_9 0123456e-10
Output_10 0123456e-10
Output_11 0123456e-10
Output_12 0123456e-10
Output_13 0123456e-10
Output_14 0123456e-10
Output_15 0123456e-10
The associated variables are integers coded in 32 bits.

1092
Objects library

DFB public variables in the object library

At a Glance The Manufacturer object library proposes as standard the DFB debug screens that
you have created.
These objects are dynamic by definition.
The following objects concern DFB public variables, and are classified according to
three types:
z Binary public variables (boolean),
z Digital public variables (integer),
z Floating point public variables (integer).

Binary public The figure below shows the available objects.


variables Public_1 Val
Public_2 Val
Public_3 Val
Public_4 Val
Public_5 Val
Public_6 Val
Public_7 Val
Public_8 Val
Public_9 Val
Public_10 Val
Public_11 Val
Public_12 Val
Public_13 Val
Public_14 Val
Public_15 Val
The associated variables are in bits.

1093
Objects library

Digital public The figure below shows the available objects.


variables Public_1 -32768
Public_2 -32768
Public_3 -32768
Public_4 -32768
Public_5 -32768
Public_6 -32768
Public_7 -32768
Public_8 -32768
Public_9 -32768
Public_10 -32768
Public_11 -32768
Public_12 -32768
Public_13 -32768
Public_14 -32768
Public_15 -32768
The associated variables are 16 bit words.

Floating point The figure below shows the available objects.


public variables Public_1 0123456e-10
Public_2 0123456e-10
Public_3 0123456e-10
Public_4 0123456e-10
Public_5 0123456e-10
Public_6 0123456e-10
Public_7 0123456e-10
Public_8 0123456e-10
Public_9 0123456e-10
Public_10 0123456e-10
Public_11 0123456e-10
Public_12 0123456e-10
Public_13 0123456e-10
Public_14 0123456e-10
Public_15 0123456e-10
The associated variables are integers coded in 32 bits.

1094
Objects library

DFB private variables in the object library

At a Glance The Manufacturer object library proposes as standard the DFB debug screens that
you have created.
These objects are dynamic by definition.
The following objects concern DFB private variables, and are classified according to
three types:
z Binary private variables (Boolean),
z Digital private variables (integer),
z Floating point public variables (integer).

Binary private The figure below shows the available objects.


variables Private_1 Val
Private_2 Val
Private_3 Val
Private_4 Val
Private_5 Val
Private_6 Val
Private_7 Val
Private_8 Val
Private_9 Val
Private_10 Val
Private_11 Val
Private_12 Val
Private_13 Val
Private_14 Val
Private_15 Val
The associated variables are in bits.

1095
Objects library

Digital private The figure below shows the available objects.


variables Private_1 -32768
Private_2 -32768
Private_3 -32768
Private_4 -32768
Private_5 -32768
Private_6 -32768
Private_7 -32768
Private_8 -32768
Private_9 -32768
Private_10 -32768
Private_11 -32768
Private_12 -32768
Private_13 -32768
Private_14 -32768
Private_15 -32768
The associated variables are 16 bit words.

Floating point The figure below shows the available objects.


private variables Private_1 0123456e-10
Private_2 0123456e-10
Private_3 0123456e-10
Private_4 0123456e-10
Private_5 0123456e-10
Private_6 0123456e-10
Private_7 0123456e-10
Private_8 0123456e-10
Private_9 0123456e-10
Private_10 0123456e-10
Private_11 0123456e-10
Private_12 0123456e-10
Private_13 0123456e-10
Private_14 0123456e-10
Private_15 0123456e-10
The associated variables are integers coded in 32 bits

1096
Objects library

Help grid for DFB input in the object library

Introduction The Manufacturers’ object library proposes standard debugging screens for the DFB
that you have created.
These objects are dynamic by definition except for the following item which consists
of a Help grid for data input.

Grid The figure below represents the grid.

This object is static, no variable is associated with it.

1097
Objects library

The interfaces before PID and IMC control of the object library

Introduction The library of design objects offers as standard debugging and control monitoring
screens.
These objects are dynamic by definition.
The following objects pertain to control loops of the PID and IMCtype, they are
classified according to two types :
z PID and IMC Split Range
z PID and IMC

The interface The figure below represents the interface before.


before PID and
PID/IMC S/R %M0 : L/R state “_sts_1_r”
IMC Split Range %M1 : A/M state “_sts_m_a”
Text
R %M2 : Alarms “_sts_alarms”

R L %MF 0 : PV “_pv”
%MF 2 : SP “_sp”
%MF 4 : OUT “_out_man”
A M
Text %MF 6 : PV_SUP “_pv _sup”
PV SPOV1OV2 %MF 8 : PV INF “_pv_inf”
PV 0.000 Unit
SP 0.000
%MF 10 : Alarm H “_pv_h”
%MF 12 : Alarm L “_pv_l”
OUT *xxxxx %MF 14 : OUT1 “_out1”
1 0.00 2 0.00 %MF 16 : OUT2 “_out2”

The interface The figure below represents the interface before.


before PID and %M0 : L/R state “_sts_1_r”
PID/IMC
IMC %M1 : A/M state “_sts_m_a”
Text
%M2 : Alarms “_sts_alarms”
R
R L
%MF 0 : PV “_pv”
%MF 2 : SP “_sp”
%MF 4 : OUT “_out_man”
A M
PV SP OUT Text %MF 6 : PV_SUP “_pv_ sup”
Unit
%MF 8 : PV INF “_pv_inf”
PV 0.000

SP 0.000 %MF 10 : Alarm H “_pv_h”


%MF 12 : Alarm L “_pv_l”
OUT *xxxxx

1098
Objects library

The interfaces before for cascade control of the object library

Introduction The library of design objects offers as standard debugging and control monitoring
screens.
These objects are dynamic by definition.
The following objects pertain to cascade control loops, they are classified according
to two types:
z Cascade Split Range,
z Cascade.

The PID Split The figure below represents the interface before.
Range Cascade
Cascade S/R
Interface %M0 : L/R state “_sts_1_r_m”
Text %M1 : A/M state “_sts_m_a_e”
R %M2 : Alarms “_sts_alarms_m”
R L %M3 : Cascade status “_sts_1_r_e”
%MF 0 : PV “_pv_m”
C O %MF 2 : SP “_sp_m”
%MF 4 : OUT “_out_man_e”
A M %MF 6 : PV_SUP “_pv sup_m”
Text %MF 8 : PV INF “_pv_inf_m”
PV SPOV1OV2 %MF 10 : Alarm H “_pv_h_m”
PV 0.000 Unit %MF 12 : Alarm L “_pv_l_m”
SP 0.000 %MF 14 : OUT1 “_out1_e”
SP Intern %MF 16 : OUT2 “_out2_e”
OUT *xxxxx %MF 18 : SP Intern “_sp_e”
1 0.00 2 0.00

The interface The figure below represents the interface before.


Cascade
Cascade %M0 : L/R state “_sts_1_r_m”
Text %M1 : A/M state “_sts_m_a_e”
R %M2 : Alarms “_sts_alarms_m”
R L %M3 : Cascade Status “_sts_1_r_e”

C O %MF 0 : PV “_pv_m”
%MF 2 : SP “_sp_m”
%MF 4 : OUT “_out_man_e”
A M
PV SP OUT Text %MF 6 : PV_SUP “_pv sup_m”
PV 0.000 Unit %MF 8 : PV INF “_pv_inf_m”
SP 0.000
%MF 10 : Alarm H “_pv_h_m”
SP Intern
%MF 12 : Alarm L “_pv_l_m”
OUT *xxxxx %MF 18 : SP Intern “_sp_e”

1099
Objects library

The interfaces for auto-selective control of the object library

Introduction The library of design objects offers as standard debugging and control monitoring
screens.
These objects are by definition dynamic.
The following objects are concerned with auto-selective control loops , they are
classed according to four types :
z Self- selective Split Range Constraint
z Auto-selective constraint
z Main self-selective Split Range
z Main self-selective

The Self- The figure below represents the interface before.


selective Split
AutoSel C S/R %M0 : L/R state “_sts_1_r_c2”
Range
Text %M1 : A/M state “_sts_m_a”
Constraint R %M2 : Alarms “_sts_alarms_c2”
interface R L %M4 : Constraint Forcing “_sts_dir2”
F %M5 : Main Forcing “_sts_dir1”
AS C %M6 : Selected loop “_sts_sel_pid1”
%MF 0 : PV “_pv_c2”
%MF 2 : SP “_sp_c2”
A M %MF 4 : OUT “_out_man”
PV SP OV1OV2 Text %MF 6 : PV_SUP “_pv sup_c2”
%MF 8 : PV INF “_pv_inf_c2”
PV 0.000 Unit
%MF 10 : Alarm H “_pv_h_c2”
SP 0.000 %MF 12 : Alarm L “_pv_l_c2”
OUT *xxxxxx %MF 14 : OUT1 “_out1”
1 0.00 2 0.00
%MF 16 : OUT2 “_out2”

The Self- The figure below represents the interface before.


selective
AutoSel C %M0 : L/R state “_sts_1_r_c2”
Constraint %M1 : A/M state “_sts_m_a”
Text
interface R %M2 : Alarms “_sts_alarms_c2”
R L %M4 : Constraint Forcing “_sts_dir2”
F %M5 : Main Forcing “_sts_dir1”
AS C %M6 : Selected loop “_sts_sel_pid1”

%MF 0 : PV “_pv_c2”
A M
%MF 2 : SP “_sp_c2”
Text
PV SP OUT %MF 4 : OUT “_out_man”
%MF 6 : PV_SUP “_pv sup_c2”
PV 0.000 Unit %MF 8 : PV INF “_pv_inf_c2”
SP 0.000
%MF 10 : Alarm H “_pv_h_c2”
OUT *xxxxx %MF 12 : Alarm L “_pv_l_c2”

1100
Objects library

The interface The figure below represents the interface before.


Self-selective
AutoSel M S/R %M0 : L/R state “_sts_1_r_c1”
Main Split Range %M1 : A/M state “_sts_m_a”
Text %M2 : Alarms “_sts_alarms_c1”
R %M4 : Constraint Forcing “_sts_dir2”
R L %M5 : Main Forcing “_sts_dir1”
F %M6 : Selected loop “_sts_sel_pid1”
AS C
%MF 0 : PV “_pv_c1”
A M %MF 2 : SP “_sp_c1”
Text %MF 4 : OUT “_out_man”
PV SPOV1OV2 %MF 6 : PV_SUP “_pv sup_c1”
PV 0.000 Unit %MF 8 : PV INF “_pv_inf_c1”
SP 0.000
%MF 10 : Alarm H “_pv_h_c1”
%MF 12 : Alarm L “_pv_l_c1”
OUT *xxxxx %MF 14 : OUT1 “_out1”
1 0.00 2 0.00 %MF 16 : OUT2 “_out2”

The Main Self- The figure below represents the interface before.
selective
interface AutoSel M %M0 : L/R state “_sts_1_r_c1”
Text %M1 : A/M state “_sts_m_a”
R %M2 : Alarms “_sts_alarms_c1”
R L %M4 : Constraint Forcing “_sts_dir2”
F %M5 : Main Forcing “_sts_dir1”
AS M %M6 : Selected loop “_sts_sel_pid1”

A M %MF 0 : PV “_pv_c1”
%MF 2 : SP “_sp_c1”
PV SP OUT Text
%MF 4 : OUT “_out_man”
%MF 6 : PV_SUP “_pv sup_c1”
PV 0.000 Unit %MF 8 : PV INF “_pv_inf_c1”
SP 0.000 %MF 10 : Alarm H “_pv_h_c1”
OUT *xxxxx %MF 12 : Alarm L “_pv_l_c1”

1101
Objects library

The interfaces before ON OFF control of the object library

Introduction The library of design objects offers as standard debugging and control monitoring
screens.
These objects are dynamic by definition.
The following objects are concerned with control loops of the type ON OFF.

The interface The figure below represents the interface before.


before ON OFF 2
ON OFF ON OFF %M0 : L/R state “_sts_1_r”
and 3 Text %M1 : A/M state “_sts_m_a”
Text
R %M2 : Alarms “_sts_alarms
R %M3 : OUT1 state “_sts_raise1”
R L R L %M4 : OUT2 state “_sts_lower1”

%MF 0 : PV “_pv”
A M A M %MF 2 : SP “_sp”
PV SP Text Text
PV SP
%MF 6 : PV_SUP “_pv _sup”
PV 0.000 Unit
%MF 8 : PV INF “_pv_inf”
PV 0.000 Unit SP 0.000 %MF 10 : Alarm H “_pv_h”
SP 0.000 OUT 0 0 1 %MF 12 : Alarm L “_pv_l”
OUT 0 0 1 OUT 0 0 1

1102
Objects library

The object library PID and IMC control interfaces

Introduction The library of design objects proposes as standard debugging and control
monitoring screens.
These objects are dynamic by definition.
The following objects are concerned with control loops of the type PID and IMC, they
are classed according to four types :
z PID
z Split Range PID
z IMC
z Split Range IMC

The PID interface The figure below represents the interface before.
%M0 : L/R state “_sts_1_r” PID
%M1 : A/M state “_sts_m_a”
%M2 : Alarms “_sts_alarms Text
%MF 0 : PV “_pv” R
%MF 2 : SP “_sp”
R L
%MF 4 : OUT “_out_man”
%MF 6 : PV_SUP “_pv _sup”
%MF 8 : PV INF “_pv_inf”
%MF 10 : Alarm H “_pv_h” A M
%MF 12 : Alarm L “_pv_l” Text
%MF 20 : Kp “_kp”
%MF 22 : Ti “_Ti” Kp 0.000 Te (s.) 0.000 PV 0.000 Unit
%MF 24 : Td “_Td” Ti (s.) 0.000 Outbias 0.000 SP 0.000
%MF 26 : Te “_t_ech” Td (s.) 0.000 DBand 0.000 OUT #xxxx.x
%MF 28 :OUTBIAS “_outbias”
%MF 30 :DBAND “_dband”
PID
Text
R
R L

A M
Text

PV 0.000 SP 0.000 Unit OUT #xxxx.x %

1103
Objects library

The PID Split The figure below represents the interface before.
Range interface %M0 : L/R state “_sts_l_r” PID SPLRG
%M1 : A/M state “_sts_m_a”
%M2 : Alarms “_sts_alarms” Text
%MF 0 : PV “_pv” R
%MF 2 : SP “_sp”
R L
%MF 4 : OUT “_out_man”
%MF 6 : PV_SUP “_pv _sup”
%MF 8 : PV_ INF “_pv_inf”
A M
%MF 10 : Alarm H “_pv_h”
%MF 12 : Alarm L “_pv_l” Text
%MF 14 : OUT1 “_out1”
%MF 16 : OUT2 “_out2” Kp 0.000 Te (s.) 0.000 PV 0.000 Unit
%MF 20 : Kp “_kp” Ti (s.) 0.000 Outbias 0.000 SP 0.000
%MF 22 : Ti “_Ti” Td (s.) 0.000 DBand 0.000 OUT #xxxx.x
%MF 24 : Td “_Td” 1 0.00 2 0.00
%MF 26 : Te “_t_ech”
%MF 28 :OUTBIAS “_outbias”
%MF 30 :DBAND “_dband”
P I D SPLRG
Text
R
R L

A M
Text
PV 0.000 SP 0.000 Unit OUT #xxxx.x % 1 0.00 2 0.00

1104
Objects library

The IMC interface The figure below represents the interface before.
%M0 : L/R state “_sts_1_r” IMC
%M1 : A/M state “_sts_m_a”
Text
%M2 : Alarms “_sts_alarms
%MF 0 : PV “_pv” R
%MF 2 : SP “_sp” R L
%MF 4 : OUT “_out_man”
%MF 6 : PV_SUP “_pv _sup”
%MF 8 : PV INF “_pv_inf”
A M
%MF 10 : Alarm H “_pv_h”
%MF 12 : Alarm L “_pv_l” Text
%MF 20 : Ks “_ks”
%MF 22 : T Open loop “_ol_time” Ks 0.000 Te (s.) 0.000 PV 0.000 Unit
%MF 24 : T Delay “_t_delay” Tbo (s.) 0.000 Perf 0.000 SP 0.000
%MF 26 : Te “_t_ech” Del (s.) 0.000 DBand 0.000 OUT #xxxx.x
%MF 28 :Perf “_cl_perf”
%MF 30 :DBAND “_dband”
IMC
Text
R
R L

A M
Text

PV 0.000 SP 0.000 Unit OUT #xxxx.x %

1105
Objects library

The IMC Split The figure below represents the interface before.
Range interface %M0 : L/R state “_sts_l_r” IMC SPLRG
%M1 : A/M state “_sts_m_a”
Text
%M2 : Alarms “_sts_alarms”
%MF 0 : PV “_pv” R
%MF 2 : SP “_sp” R L
%MF 4 : OUT “_out_man”
%MF 6 : PV_SUP “_pv _sup”
%MF 8 : PV_ INF “_pv_inf”
A M
%MF 10 : Alarm H “_pv_h”
%MF 12 : Alarm L “_pv_l” Text
%MF 14 : OUT1 “_out1”
%MF 16 : OUT2 “_out2” Ks 0.000 Te (s.) 0.000 PV 0.000 Unit
%MF 20 : Ks “_ks” Tbo (s.) 0.000 Perf 0.000 SP 0.000
%MF 22 : T Open loop “_ol_time” Del (s.) 0.000 DBand 0.000 OUT #xxxx.x
%MF 24 : T Delay “_t_delay” 1 0.00 2 0.00
%MF 26 : Te “_t_ech”
%MF 28 :Perf “_cl_perf”
%MF 30 :DBAND “_dband”
I M C SPLRG
Text
R
R L

A M

Text
PV 0.000 SP 0.000 Unit OUT #xxxx.x % 1 0.00 2 0.00

1106
Objects library

The interfaces before for cascade tred control of the object library

Introduction The library of design objects offers as standard debugging and control monitoring
screens.
These objects are dynamic by definition.
The following objects are concerned with control loops of the typecascade , they are
classed according to four types :
z PID Cascade,
z Split Range PID Cascade
z IMC Cascade,
z Split Range IMC Cascade.

The PID Cascade The figure below represents the interface before.
interface %M0 : L/R state “_sts_l_r_m” Cascade P I D
%M1 : A/M state “_sts_m_a_e”
Text
%M2 : Alarms “_sts_alarms_m”
%M3 : Cascade Status “_sts_l_r_e” R
R L
%MF 0 : PV “_pv_m”
%MF 2 : SP “_sp_m”
%MF 4 : OUT “_out_man_e” C O
%MF 6 : PV_SUP “_pv _sup_m”
%MF 8 : PV_ INF “_pv_inf_m” A M
%MF 10 : Alarm H “_pv_h_m” Text
%MF 12 : Alarm L “_pv_l_m” 0.000 Te (s.) 0.000 PV 0.000 Unit
Kp
%MF 18 : SP Intern “_sp_e” Ti (s.) 0.000 Outbias 0.000 SP 0.000
%MF 20 : Kp “_kp_m” Td (s.) 0.000 DBand 0.000 SP Intern
%MF 22 : Ti “_Ti_m” OUT #xxxx.x
%MF 24 : Td “_Td_m”
%MF 26 : Te “_t_ech_m”
%MF 28 :OUTBIAS “_outbias_m”
%MF 30 :DBAND “_dband_m”
Cascade P I D
Text
R
R L

C O

A M
Text
SP Intern 0.000 PV 0.000 SP 0.000 Unit OUT #xxxx.x %

1107
Objects library

The PID Split The figure below represents the interface before.
Range Cascade %M0 : L/R state “_sts_l_r_m” Cascade P I D S P L R G
interface %M1 : A/M state “_sts_m_a_e”
Text
%M2 : Alarms “_sts_alarms_m”
R
%M3 : Cascade Status “_sts_l_r_e”
R L
%MF 0 : PV “_pv_m”
%MF 2 : SP “_sp_m”
C O
%MF 4 : OUT “_out_man_e”
%MF 6 : PV_SUP “_pv _sup_m”
A M
%MF 8 : PV_ INF “_pv_inf_m”
%MF 10 : Alarm H “_pv_h_m” Text
%MF 12 : Alarm L “_pv_l_m” 0.000 PV 0.000 Unit
Kp 0.000 Te (s.)
%MF 14 : OUT1 “_out1_e” Ti (s.) 0.000 Outbias 0.000 SP 0.000
%MF 16 : OUT2 “_out2_e” Td (s.) 0.000 DBand 0.000 1 0.00 SP Intern
%MF 18 : SP Intern “_sp_e” 2 0.00 OUT #xxxx.x
%MF 20 : Kp “_kp_m”
%MF 22 : Ti “_Ti_m”
%MF 24 : Td “_Td_m”
%MF 26 : Te “_t_ech_m”
%MF 28 :OUTBIAS “_outbias_m”
%MF 30 :DBAND “_dband_m”
Cascade P I D S P L R G
Text
R
R L

C O

A M
Text
SP Intern 0.000 PV 0.000 SP 0.000 Unit OUT #xxxx.x % 1 0.00 2 0.00

1108
Objects library

The IMC Cascade The figure below represents the interface before.
interface
%M0 : L/R state “_sts_l_r_m” Cascade I M C
%M1 : A/M state “_sts_m_a_e”
Text
%M2 : Alarms “_sts_alarms_m”
R
%M3 : Cascade Status “_sts_l_r_e”
R L
%MF 0 : PV “_pv_m”
%MF 2 : SP “_sp_m”
C O
%MF 4 : OUT “_out_man_e”
%MF 6 : PV_SUP “_pv _sup_m”
A M
%MF 8 : PV_ INF “_pv_inf_m”
%MF 10 : Alarm H “_pv_h_m” Text
%MF 12 : Alarm L “_pv_l_m” 0.000 PV 0.000 Unit
Ks 0.000 Te (s.)
%MF 18 : SP Intern “_sp_e” Tbo (s.) 0.000 Perf 0.000 SP 0.000
%MF 20 : Ks “_ks” Del (s.) 0.000 DBand 0.000 SP Intern
%MF 22 : T Open loop “_ol_time” OUT #xxxx.x
%MF 24 : T Delay “_t_delay”
%MF 26 : Te “_t_ech_m”
%MF 28 :Perf “_cl_perf”
%MF 30 :DBAND “_dband_m”
Cascade I M C
Text
R
R L

C O

A M
Text
SP Intern 0.000 PV 0.000 SP 0.000 Unit OUT #xxxx.x %

1109
Objects library

The IMC Split The figure below represents the interface before.
Range Cascade %M0 : L/R state “_sts_l_r_m” Cascade I M C S P L R G
interface %M1 : A/M state “_sts_m_a_e”
Text
%M2 : Alarms “_sts_alarms_m”
R
%M3 : Cascade Status “_sts_l_r_e”
R L
%MF 0 : PV “_pv_m”
%MF 2 : SP “_sp_m”
C O
%MF 4 : OUT “_out_man_e”
%MF 6 : PV_SUP “_pv _sup_m”
A M
%MF 8 : PV_ INF “_pv_inf_m”
%MF 10 : Alarm H “_pv_h_m” Text
%MF 12 : Alarm L “_pv_l_m” 0.000 PV 0.000 Unit
Ks 0.000 Te (s.)
%MF 14 : OUT1 “_out1_e” Tbo (s.) 0.000 Perf 0.000 SP 0.000
%MF 16 : OUT2 “_out2_e” Del (s.) 0.000 DBand 0.000 1 0.00 SP Intern
%MF 18 : SP Intern “_sp_e” 2 0.00 OUT #xxxx.x
%MF 20 : Ks “_ks”
%MF 22 : T Open loop “_ol_time”
%MF 24 : T Delay “_t_delay”
%MF 26 : Te “_t_ech_m”
%MF 28 :Perf “_cl_perf”
%MF 30 :DBAND “_dband_m”
Cascade I M P S P L R G
Text
R
R L

C O

A M
Text
SP Intern 0.000 PV 0.000 SP 0.000 Unit OUT #xxxx.x % 1 0.00 2 0.00

1110
Objects library

The autoselective regulation interfaces from the object library

Introduction The library of design objects offers as standard debugging and control monitoring
screens.
These objects are dynamic by definition.
The following objects are concerned with control loops of the type autoselective,
they are classed according to 8 types :
z Main self-selective PID
z Main self-selective Split Range PID
z Self-selective PID Constraint,
z Self-selective PID Split Range Constraint,
z Main self-selective IMC
z Main self-selective Split Range IMC
z Self-selective IMC Constraint,
z Self-selective IMC Split Range Constraint.

The Self- The figure below represents the interface before.


selective PID %M0 : L/R state “_sts_l_r_c1” AutoSelective M P I D
interface %M1 : A/M state “_sts_m_a”
Text
%M2 : Alarms “_sts_alarms_c1”
R
%M4 : Constraint Forcing “_sts_dir1”
R L
%M5 : Main Forcing “_sts_dir1”
F
%M6 : Selected loop “_sts_sel_pid1”
AS C
%MF 0 : PV “_pv_c1”
%MF 2 : SP “_sp_c1”
%MF 4 : OUT “_out_man” A M
%MF 6 : PV_SUP “_pv _sup_c1” Text
%MF 8 : PV_ INF “_pv_inf_c1” 0.000 Te (s.) 0.000 PV 0.000 Unit
Kp
%MF 10 : Alarm H “_pv_h_c1” Ti (s.) 0.000 Outbias 0.000 SP 0.000
%MF 12 : Alarm L “_pv_l_c1” Td (s.) 0.000 DBand 0.000 OUT #xxxx.x
%MF 20 : Kp “_kp_c1”
%MF 22 : Ti ”_ti_c1”
%MF 24 : Td ”_td_c1”
%MF 26 : Te “_t_ech”
%MF 28 :OUTBIAS “_outbias_c1”
%MF 30 :DBAND “_dband_c1”
AutoSelective M P I D
Text
R
R L
F
AS C

A M
Text
PV 0.000 SP 0.000 Unit OUT #xxxx.x %

1111
Objects library

The Self- The figure below represents the interface before.


selective Split %M0 : L/R state “_sts_l_r_c1” AutoSelective M P I D S P L R G
Range PID %M1 : A/M state “_sts_m_a”
Text
interface %M2 : Alarms “_sts_alarms_c1”
R
%M4 : Constraint Forcing “_sts_dir2”
R L
%M5 : Main Forcing “_sts_dir1”
F
%M6 : Selected loop “_sts_sel_pid1”
%MF 0 : PV “_pv_c1” AS C
%MF 2 : SP “_sp_c1”
%MF 4 : OUT “_out_man” A M
%MF 6 : PV_SUP “_pv _sup_c1” Text
%MF 8 : PV_ INF “_pv_inf_c1” Kp 0.000 Te (s.) 0.000 PV 0.000 Unit
%MF 10 : Alarm H “_pv_h_c1” Ti (s.) 0.000 Outbias 0.000 SP 0.000
%MF 12 : Alarm L “_pv_l_c1” Td (s.) 0.000 DBand 0.000 OUT #xxxx.x
%MF 14 : OUT1 “_out1” 1 0.00 2 0.00
%MF 16 : OUT2 “_out2”
%MF 20 : Kp “_kp_c1”
%MF 22 : Ti “_ti_c1”
%MF 24 : Td “_td_c1”
%MF 26 : Te “_t_ech”
%MF 28 :OUTBIAS “_outbias_c1”
%MF 30 :DBAND “_dband_c1”
AutoSelective M P I D S P L R G
Text
R
R L
F
AS C

A M
Text
PV 0.000 SP 0.000 Unit OUT #xxxx.x % 1 0.00 2 0.00

1112
Objects library

The Self- The figure below represents the interface before.


selective PID %M0 : L/R state “_sts_l_r_c2” AutoSelective C P I D
Constraint %M1 : A/M state “_sts_m_a”
Text
interface %M2 : Alarms “_sts_alarms_c2”
R
%M4 : Constraint Forcing “_sts_dir2”
R L
%M5 : Main Forcing “_sts_dir1”
F
%M6 : Selected loop “_sts_sel_pid1”
AS C
%MF 0 : PV “_pv_c2”
%MF 2 : SP “_sp_c2”
%MF 4 : OUT “_out_man” A M
%MF 6 : PV_SUP “_pv _sup_c2” Text
%MF 8 : PV_ INF “_pv_inf_c2” Kp 0.000 Te (s.) 0.000 PV 0.000 Unit
%MF 10 : Alarm H “_pv_h_c2” Ti (s.) 0.000 Outbias 0.000 SP 0.000
%MF 12 : Alarm L “_pv_l_c2” Td (s.) 0.000 DBand 0.000 OUT #xxxx.x
%MF 20 : Kp “_kp_c2”
%MF 22 : Ti ”_ti_c2”
%MF 24 : Td ”_td_c2”
%MF 26 : Te “_t_ech”
%MF 28 :OUTBIAS “_outbias_c2”
%MF 30 :DBAND “_dband_c2”
AutoSelective C P I D
Text
R
R L
F
AS C

A M
Text
PV 0.000 SP 0.000 Unit OUT #xxxx.x %

1113
Objects library

The Self- The figure below represents the interface before.


selective Split %M0 : L/R state “_sts_l_r_c2” AutoSelective C P I D S P L R G
Range PID %M1 : A/M state “_sts_m_a”
Text
Constraint %M2 : Alarms “_sts_alarms_c2”
R
%M4 : Constraint Forcing “_sts_dir2”
interface %M5 : Main Forcing “_sts_dir1”
R L
F
%M6 : Selected loop “_sts_sel_pid1”
AS C
%MF 0 : PV “_pv_c2”
%MF 2 : SP “_sp_c2”
%MF 4 : OUT “_out_man” A M
%MF 6 : PV_SUP “_pv _sup_c2” Text
%MF 8 : PV_ INF “_pv_inf_c2” 0.000 PV 0.000 Unit
Kp 0.000 Te (s.)
%MF 10 : Alarm H “_pv_h_c2” Ti (s.) 0.000 Outbias 0.000 SP 0.000
%MF 12 : Alarm L “_pv_l_c2” Td (s.) 0.000 DBand 0.000 OUT #xxxx.x
%MF 14 : OUT1 “_out1” 1 0.00 2 0.00
%MF 16 : OUT2 “_out2”
%MF 20 : Kp “_kp_c2”
%MF 22 : Ti “_ti_c2”
%MF 24 : Td “_td_c2”
%MF 26 : Te “_t_ech”
%MF 28 :OUTBIAS “_outbias_c2”
%MF 30 :DBAND “_dband_c2”
AutoSelective C P I D S P L R G
Text
R
R L
F
AS C

A M
Text
PV 0.000 SP 0.000 Unit OUT #xxxx.x % 1 0.00 2 0.00

1114
Objects library

The Self- The figure below represents the interface before.


selective IMC %M0 : L/R state “_sts_l_r_c1” AutoSelective M I M C
interface %M1 : A/M state “_sts_m_a”
Text
%M2 : Alarms “_sts_alarms_c1”
R
%M4 : Constraint Forcing “_sts_dir2”
R L
%M5 : Main Forcing “_sts_dir1”
F
%M6 : Selected loop “_sts_sel_pid1”
AS C
%MF 0 : PV “_pv_c1”
%MF 2 : SP “_sp_c1”
%MF 4 : OUT “_out_man” A M
%MF 6 : PV_SUP “_pv _sup_c1” Text
%MF 8 : PV_ INF “_pv_inf_c1” 0.000 PV 0.000 Unit
Ks 0.000 Te (s.)
%MF 10 : Alarm H “_pv_h_c1” Tbo (s.) 0.000 Perf 0.000 SP 0.000
%MF 12 : Alarm L “_pv_l_c1” Del (s.) 0.000 DBand 0.000 OUT #xxxx.x
%MF 20 : Ks “_ks”
%MF 22 : T Open loop “_ol_time”
%MF 24 : T Delay ”_t_delay”
%MF 26 : Te “_t_ech”
%MF 28 :Perf “_cl_perf”
%MF 30 :DBAND “_dband_c1”
AutoSelective M I M C
Text
R
R L
F
AS C

A M
Text
PV 0.000 SP 0.000 Unit OUT #xxxx.x %

1115
Objects library

The Self- The figure below represents the interface before.


selective Split %M0 : L/R state “_sts_l_r_c1” AutoSelective M IMC SPLRG
Range IMC %M1 : A/M state “_sts_m_a”
Text
interface %M2 : Alarms “_sts_alarms_c1”
R
%M4 : Constraint Forcing “_sts_dir2”
R L
%M5 : Main Forcing “_sts_dir1”
F
%M6 : Selected loop “_sts_sel_pid1”
AS C
%MF 0 : PV “_pv_c1”
%MF 2 : SP “_sp_c1”
%MF 4 : OUT “_out_man” A M
%MF 6 : PV_SUP “_pv _sup_c1” Text
%MF 8 : PV_ INF “_pv_inf_c1” 0.000 0.000 PV 0.000 Unit
Ks Te (s.)
%MF 10 : Alarm H “_pv_h_c1” Tbo (s.) 0.000 Perf 0.000 SP 0.000
%MF 12 : Alarm L “_pv_l_c1” Del (s.) 0.000 DBand 0.000 OUT #xxxx.x
%MF 14 : OUT1 “_out1” 1 0.00 2 0.00
%MF 16 : OUT2 “_out2”
%MF 20 : Ks “_ks”
%MF 22 : T Open loop “_ol_time”
%MF 24 : T Delay ”_t_delay”
%MF 26 : Te “_t_ech”
%MF 28 :Perf “_cl_perf”
%MF 30 :DBAND “_dband_c1”
AutoSelective M I M C S P L R G
Text
R
R L
F
AS C

A M
Text
PV 0.000 SP 0.000 Unit OUT #xxxx.x % 1 0.00 2 0.00

1116
Objects library

The Self- The figure below represents the interface before.


selective IMC
%M0 : L/R state “_sts_l_r_c2” AutoSelective C I M C
Constraint %M1 : A/M state “_sts_m_a”
Text
interface %M2 : Alarms “_sts_alarms_c2”
R
%M4 : Constraint Forcing “_sts_dir2”
R L
%M5 : Main Forcing “_sts_dir1”
%M6 : Selected loop “_sts_sel_pid1” F
%MF 0 : PV “_pv_c2” AS C
%MF 2 : SP “_sp_c2”
%MF 4 : OUT “_out_man” A M
%MF 6 : PV_SUP “_pv _sup_c2” Text
%MF 8 : PV_ INF “_pv_inf_c2” Ks 0.000 Te (s.) 0.000 PV 0.000 Unit
%MF 10 : Alarm H “_pv_h_c2” Tbo (s.) 0.000 Perf 0.000 SP 0.000
%MF 12 : Alarm L “_pv_l_c2” Del (s.) 0.000 DBand 0.000 OUT #xxxx.x
%MF 20 : Ks “_ks”
%MF 22 : T Open loop “_ol_time”
%MF 24 : T Delay ”_t_delay”
%MF 26 : Te “_t_ech”
%MF 28 :Perf “_cl_perf”
%MF 30 :DBAND “_dband_c2”
AutoSelective C I M C
Text
R
R L
F
AS C

A M
Text
PV 0.000 SP 0.000 Unit OUT #xxxx.x %

1117
Objects library

The Self- The figure below represents the interface before.


selective Split %M0 : L/R state “_sts_l_r_c2”
AutoSelective C IMC SPLRG
Range IMC %M1 : A/M state “_sts_m_a”
Text
Constraint %M2 : Alarms “_sts_alarms_c2”
%M4 : Constraint Forcing “_sts_dir2” R
interface %M5 : Main Forcing “_sts_dir1” R L
%M6 : Selected loop “_sts_sel_pid1” F
%MF 0 : PV “_pv_c2” AS C
%MF 2 : SP “_sp_c2”
%MF 4 : OUT “_out_man” A M
%MF 6 : PV_SUP “_pv _sup_c2” Text
%MF 8 : PV_ INF “_pv_inf_c2” Ks 0.000 Te (s.) 0.000 PV 0.000 Unit
%MF 10 : Alarm H “_pv_h_c2” Tbo (s.) 0.000 Perf 0.000 SP 0.000
%MF 12 : Alarm L “_pv_l_c2” Del (s.) 0.000 DBand 0.000 OUT #xxxx.x
%MF 14 : OUT1 “_out1” 1 0.00 2 0.00
%MF 16 : OUT2 “_out2”
%MF 20 : Ks “_ks”
%MF 22 : T Open loop “_ol_time”
%MF 24 : T Delay ”_t_delay”
%MF 26 : Te “_t_ech”
%MF 28 :Perf “_cl_perf”
%MF 30 :DBAND “_dband_c2”
AutoSelective C I M C S P L R G
Text
R
R L
F
AS C

A M
Text
PV 0.000 SP 0.000 Unit OUT #xxxx.x % 1 0.00 2 0.00

1118
Objects library

The object library ON OFF control interfaces

Introduction The library of design objects offers as standard debugging and control monitoring
screens.
These objects are dynamic by definition.
The following objects are concerned with control loops of the type ON OFF.

The ON OFF 2 The figure below represents the interface before.


interface
%M0 : L/R state “_sts_l_r” %MF 0 : PV “_pv” ON OFF 2
%M1 : A/M state “_sts_m_a” %MF 2 : SP “_sp” Text
R
%M2 : Alarms “_sts_alarms” %MF 6 : PV_SUP “_pv _sup” R L
%M3 : OUT1 state “_sts_raise1” %MF 8 : PV_ INF “_pv_inf”
A M
%MF 10 : Alarm H “_pv_h”
%MF 12 : Alarm L “_pv_l” Text
PV 0.000 Unit
%MF 32 : Threshold High “_onoff_h” Threshold High 0.000
SP 0.000
%MF 34 : Threshold Low “_onoff_l” Threshold Low 0.000
OUT 0 0 1

ON OFF 2
Text
R
R L

A M

Text
PV 0.000 SP 0.000 Unit OUT 0

1119
Objects library

The ON OFF 3 The figure below represents the interface before.


interface %M0 : L/R state “_sts_l_r” ON OFF 3
%M1 : A/M state “_sts_m_a”
%M2 : Alarms “_sts_alarms” Text
%M3 : OUT1 state “_sts_raise1” R
%M4 : OUT2 state “_sts_lower1”
R L
%MF 0 : PV “_pv”
%MF 2 : SP “_sp”
%MF 6 : PV_SUP “_pv _sup” A M
%MF 8 : PV_ INF “_pv_inf” Text
%MF 10 : Alarm H “_pv_h”
%MF 12 : Alarm L “_pv_l” Threshold High 0.000 PV 0.000 Unit
%MF 32 : Threshold High “_onoff_h” Threshold Low 0.000 SP 0.000
%MF 34 : Threshold Low “_onoff_l” Hyst 0.000 OUT 0 0 1 OUT 0 0 1
%MF 36 : Hysteresis “_hyst”

ON OFF 3
Text
R
R L

A M
Text

PV 0.000 SP 0.000 Unit OUT 0 OUT 0

1120
Objects library

Object library symbols

Introduction The manufacturers’ objects library offers as standard distribution , storage and fluids
manipulation objects.
There are two types of such objects:
z Dynamic objects that can be animated.
z Static objects.
Dynamic objects have at least one associated variable that allows its operation to
be viewed.
Static objects do not have any variable associated with them. Their graphic
representation is fixed.

Arrows The figure below shows all the available objects.

The arrows are all static objects.

Static The figure below shows all the available objects.


pictograms
?

Dynamic The figure below shows the available objects.


pictogram

STOP

1121
Objects library

Object library standardized symbols

Introduction The library of manufacturers’ objects offers as standard distribution , storage and
fluids manipulation objects.
There are two types of objects :
z Dynamic objects that can be animated.
z Static objects.
Dynamic objects have at least one associated variable that allows its operation to
be viewed.
Static objects do not have any variable associated with them. Their graphic
representation is fixed.

Static function The figure below shows all the available objects.
blocks
f(x) PWM AN

LL PID

P
M T ICM R

SF SPP

FF PV

Dynamic The figure below shows the available objects.


function blocks
R R

L I
L R

1122
Objects library

Electric symbols The figure below shows all the available objects.

All electrical symbols are static.

Process Control The figure below shows all the available objects.
symbols
FFI AI FI HI LI PI TI

FE TE

All process control symbols are static

1123
Objects library

1124
Appendices

49
Introduction

Object of this This chapter contains the appendices to the document: keyboard shortcuts, library
section objects.

What's in this This chapter contains the following sections:


Chapter?
Section Topic Page
49.1 Keyboard shortcuts 1126

1125
Appendices

49.1 Keyboard shortcuts

Using the keyboard with the operating screens

Introduction Numerous actions or commands can be performed with the mouse as well as the
keyboard. The keyboard shortcuts that you can use in the project browser or in the
graphic editor are described in the tables below.

Project browser This table describes the project browser keyboard shortcuts
keyboard
Keyboard Result
shortcuts
+ Opens one item in the tree diagram.
- Contracts an item in the tree diagram.
Del Deletes a screen, a message. This is not placed in the clipboard.
Ctrl + X Cuts the selected screen and places it on the clipboard.
Ctrl + C Copies the selected screen and places it on the clipboard.
Ctrl + V Pastes the screen on the clipboard.
F2 Activates automatic controls.
F3 Activates manual control.
F4 Passes to the next active object.
F5 Passes to the last active object.
F6 Starts a search for cross-references in the variables associated with selected
items.
F7 Creates an animation table made up of the variables associated with selected
items.

1126
Appendices

Keyboard This table describes the keyboard shortcuts used in the graphics editor.
shortcuts of the
Keyboard Result
of the graphic
editor. Space Selects the next object.
Modifies the status of a box when it belongs to a selected zone.
Caps Lock + Space Selects the previous object.
Del Delete a selected object. This is not placed in the clipboard.
Alt + backspace Cancels the last completed action.
Enter Displays the properties of the selected object or properties by default.
When online, this key validates a button or a field entry.
Tab Passes to the next area to be selected or the next item to be driven.
Caps Lock + Tab Passes to the next area to be selected or the previous item to be
driven.
Direction arrows Moves the selected item ten pixels in the direction indicated by the
arrow.
Caps Lock + Moves the selected item ten pixels in the direction indicated by the
direction arrows arrow.
Page Up Moves the vertical scroll bar up one page to the top. When online, this
key modifies the value of a variable associated to a cursor.
Page Down Moves the vertical scroll bar down one page. When online, this key
modifies the value of a variable associated to a cursor.
Ctrl + right arrow Moves the horizontal scroll bar to the right.
Ctrl + left arrow Moves the horizontal scroll bar to the left.
Ctrl + X Cuts the selected item and places it on the clipboard.
Ctrl + C Copies the selected item and places it on the clipboard.
Ctrl + V Pastes the object held on the clipboard.
Ctrl + + Links selected items.
Ctrl + - Removes selected item from link
Ctrl + Z Undoes changes made since the last validation.
Ctrl + W Validates all the changes made since the last validation.
Ctrl + left direction When online, this action selects an operation control.
button
Alt + left click Selects an item that is part of a composite item. This action allows
modification of an item’s characteristics without changing those of its
linked items.
Alt + Caps Lock + Allows a multi selection inside a composite item.
left click
Ctrl + A Selects all.

1127
Appendices

1128
Documentation, Import/export

IX
At a Glance

Object of this This part presents the documentation and import/export functions.
part

What's in this This part contains the following chapters:


Part?
Chapter Chapter Name Page
50 Documentation 1131
51 Import / Export 1151

1129
Documentation, Import/export

1130
Documentation

50
Introduction

Overview This section describes how project documentation is created.

What's in this This chapter contains the following topics:


Chapter?
Topic Page
Creating project documentation 1132
Documentation structure 1133
Topics in documentation 1134
Creating project documentation 1141
Print preview 1144
Page setup 1145
Print 1146
Printer setup 1148

1131
Documentation

Creating project documentation

Introduction Unity Pro lets you create the documentation for your project.
The subjects for the documentation are displayed in a tree structure. The structure
contains all the project browser elements that were used, i.e. elements that you have
not used in the project do not appear as subjects in the documentation also. In
addition the structure contains some subjects specific to printing, e.g. the title page
and table of contents.
In the tree structure, you can choose which subjects you want to print or display
(print preview) and which you do not.
For some subject, parameters are available that you can use to define the printout.
For the printout you can choose between the Structural view (See Structural View,
p. 1133) or the Functional view (See Functional view, p. 1133).
You can print this documentation partially or fully after it has been created.

Displaying the To display the documentation structure in the project browser double-click on the
documentation Documentation directory or execute the Open command in the shortcut menu for
structure the directory.

1132
Documentation

Documentation structure

General For the View documentation structure (See Opening the documentation structure,
information p. 1141) you can use two different views:
z Structural View (See Structural View, p. 1133)
z Functional view (See Functional view, p. 1133)

Selecting the The following options are available to display the documentation structure in the
documentation structure view:
display z Select the symbol in the tools list in the documentation structure.

z Select the subject in the documentation structure and execute the menu
command View → Structure View.
The following options are available to display the documentation structure in the
functional view:
z Select the symbol in the tools list in the documentation structure.

z Select the subject in the documentation structure and execute the menu
command View → Functional View.

Structural View The documentation structural view displays the project structure in the form of
objects. All objects are connected to their headings. That means that the sections
and events are in the header program and the animation tables and user windows
are in the header animation table or operator windows.

Functional view The documentation functional view displays the project structure in the form of
functional units. Each functional unit contains the program, the animation table and
the operator screens assigned to them. The objects that belong to a unit remain
assigned to the appropriate headers in the structural view.

1133
Documentation

Topics in documentation

Documentation The documentation folder of a project can contain the following topics:
topics z Title page
z Contents
z General information
z Configuration
z Derived Data Types
z Derived FB Types
z EFB types
z EF types
z FB variables and instances
z Application structure
z Functional station:
z Communication
z Program
z Animation table
z Operator screen
z Cross-References
z Footer

Note: You can define the topics you want to use in your documentation using the
menu commandsInclude header and Exclude header fest, siehe auch Creating
project documentation, p. 1141.

Title page This topic deals with printing the title page
Topic contents:
z Name of the project
z Name of the developer
z Software version
z Creation date
z Date of last change
z Target PLC

Note: You define the name of the project and the developer in the area Title page
in dialog box Printer setup (See Printer setup, p. 1148). All other details are
automatically generated.

1134
Documentation

Contents The contents page is generated automatically according to the topics selected.
When a topic is selected, its corresponding number of pages appears in the
contents. If the topic is not selected, but there is documentation on the topic, instead
of the number of pages, No print job is displayed.
The total number of pages is displayed at the end of the contents.

General This topic deals with printing the contents on the directories in the General
information information in the Documentation directory of the project browser.
This information can be comments on the project, hyperlinks and/or bitmaps.

Configuration This topic deals with printing the hardware configuration.


Topic contents
z Bus topology
z the bus parameters (except for the X bus)
z PLC and rack configuration
z Parameterization of the input/output modules and the communication modules.

Derived Data This topic deals with printing the derived datatypes for the project.
Types Topic contents
z Names of the data structure and their elements
z Data structure types (e.g. structure, array) and element datatypes
z Data structure comments

1135
Documentation

Derived FB This topic deals with printing the DFBs used in the project.
Types Every DFB has a structure which contains the section of the DFB.
Topic contents
z Topic Derived FB types
z Table of all DFBs used in the project and their properties (name, version,
creation / change date)
z Topic "DFB name"
z Type name
z Version
z Short description of how the DFB work (if available)
z Properties of the inputs, outputs, in/outputs and public variables (name, data
type, initial value and comment)
z Topic Sections
z Name of the section and the DFB
z Section comment
z Type of protection
z Assigned functional module
z Name of the condition for conditional call
z Section code (except for the diagnostics DFBs provided by Schneider).
Details on the section documentation can be found in the topic Program (See
Program, p. 1138).

EFB (types) This topic deals with printing the Elementary Function Block types used in the
project.
Topic contents
z Table of all EFBs used in the project and their properties (name, version, creation
/ change date)
z For every EFB type
z Type name
z Version
z Short description of the how the EFB works
z Properties of the inputs, outputs, in/outputs and public variables (name, data
type, initial value and comment)

FB (types) This topic deals with printing the Elementary Function types (FBs) used in the
project.
Topic contents
z Table of all FBs used in the project and their properties (name, version, creation
/ change date)
z For every FB type
z Type name
z Properties of the inputs, outputs, in/outputs and public variables (name, data
type, initial value and comment)

1136
Documentation

Variables & FB This topic deals with printing the following objects in a tabular format.
instances z Elementary datatypes (EDTs)
z Derived Data Types (DDTs)
z I/O derived data types (IODDTs)
z Instances of elementary functions
z Instances of elementary functions blocks
z Instances of derived functions blocks
Topic contents
z Symbolic name (variable name or FB instance name)
z Constants (only for variables)
z Address (only for variables)
z Initial value
z Number of connections
z Global file (only for elementary datatypes and FB instances)
z Which attributes, e.g. alias of, diag etc. (only if defined)

Note: In the Variables & FB instances area of dialog box Printer setup (See
Printer setup, p. 1148) you can define the scope and display for the
documentation and the variables and FB instances.

Application This topic deals with printing the project structure.


structure Topic contents
z List of the program sections with
z the release conditions,
z the comments,
z the module and
z the language type.
z Sub-programs and macro steps calling tree
Depending on the view selected the documentation is shown in the Structural view
(See Structural View, p. 1133) or Functional view (See Functional view, p. 1133). (If
the functional view is chosen the section documentation is sorted according to the
assigned functional module. The documentation of sections not assigned to any
functional module is shown in its own table.)

Functional This topic is only available in the Functional view (See Functional view, p. 1133) and
station: is used to print the sections assigned a functional module.
Sections not assigned any documentation not are documented under the topic
Program.
Details on the section documentation can be found in the topic Program (See
Program, p. 1138).

1137
Documentation

Communication This topic deals with printing the communication parameters for the various
networks.

Program This topic deals with printing the sections.


In the Structural view (See Structural View, p. 1133) the topic contains all the project
sections.
In the Functional view (See Functional view, p. 1133) this topic contains all sections
not assigned a functional module.
Topic contents
z MAST task
z Properties (e.g. configuration, configuration task duration, watchdog time) in
the MAST task.
z Sections of the MAST task
z Subroutine section of the MAST task
z FAST task
z Properties (e.g. configuration, configuration task duration, watchdog time) in
the FAST task.
z Sections of the FAST task
z Subroutine section of the MAST task
z Events
z Sections of the time event tasks
z Sections of the I/O event tasks
The contents of the section documentation depend on their programming
languages.
All sections
z Name of the section and the assigned tasks
z Section comment
z Type of protection
z Assigned functional module
z Name of the condition for conditional call
z Section code
Also for FBD sections
z Component tables with Execution byattribute
Blocks that have an Execute by reference to another block appear in a table that
shows the instance names and the position of the referenced and referencing
blocks.
Also for LD sections
z Table for all of the object names not fully shown.
Because of the fixed column width it can happen that variable names or block
types are not shown fully. The incomplete object names appear in a table that
shows the full object names and their position(s).
z Using the checkbox Combination view mode in the Printer setup dialog (See
Printer setup, p. 1148) you can define whether the documentation in the LD
section is displayed in Input modus (See Input mode, p. 473) or in mixed display
mode (See Mixed display mode, p. 474).

1138
Documentation

Also for SFC sections


z Tables for the step / action properties
z Step name
z Position of the step object
z Minimum and maximum supervision time
z Delay Time
z Step comment
z Identifiers for the action(s)
z Time literal / variable for the identifier (if required)
z Action name
z Transition properties table
z Name of transition
z Type of transition condition
z Position of the transition object
z Comment
z Jump properties table
z Target step name
z Position of the jump object
z Comment

Animation This topic deals with printing the animation tables.


Tables Topic contents
z Name of the animation table
z Comment
z Functional module
z Name of the object (e.g. variable name, EFB/DFB/DDT instance name, address)
z Type
z Comment

Operator screen This topic deals with printing the operator screens.
This heading is used to print the properties of the operator screens, their graphic
representations and the lists of messages associated with each screen.
Topic contents
z Message lists
z Operator screen
z Properties
z Graphical representation
z List of the animated variables

Note: In the operator screen area of dialog box Printer setup (See Printer
setup, p. 1148) you can define the scope and display of the documentation and
the variables and FB instances.

1139
Documentation

Cross- This topic deals with printing the cross-references for the application and the DFBs
references used.
Every cross-reference can contain the following tables:
z Addresses
z FB variables and instances
z FB objects
z Subroutine
Every table contains the following attributes:
z Name of the object
z Location of the reference (e.g. section name, module name)
z Position used (e.g. line and column in the section, type of module)

User objects This topic deals with printing the properties of the hyperlinks and the user
directories.
Contents of the topic Hyperlinks:
z Nodes containing hyperlinks (e.g. station\animation tables)
z Comment
z Target path
Contents for topic User directories:
z Nodes containing hyperlinks (e.g. station\animation tables)
z Comment

Footer This topic deals with printing the footer.


Topic contents
z Bitmap (logo)
z Author
z Dept.:
z Target PLC
z Page title
z two spare fields
z The date of printing
z Page number

Note: The target PLC, the page title, the printing date and the page number are
automatically generated. Define all other attributes in the Footer area of the
Printer setup (See Printer setup, p. 1148) dialog box.

1140
Documentation

Creating project documentation

Creating project Carry out the following steps to create project documentation:
documentation
Step Action
1 Open the documentation structure. (See Opening the documentation structure,
p. 1141)
2 Select the documentation view (See Selecting the documentation view, p. 1141).
3 Select the individual subjects that you want to include (See Including a subject
in the documentation, p. 1141) or exclude (See Excluding a subject from the
documentation, p. 1142) or include all the subjects (See Adding all subjects to
the documentation, p. 1142).
4 Set up the page for printing (See Page setup, p. 1145).
5 Define the parameters for the printout (See Printer setup, p. 1148).
6 Prepare the subjects for printing (See Updating and preparing, p. 1143).
7 Check the settings with the Print preview (See Print preview, p. 1144).
8 Select a printer and start printing (See Print, p. 1146).

Opening the The following options are available to open the documentation structure:
documentation z Double-click on the Documentation directory in the project browser.
structure or
z In the project browser select the Documentation directory and execute the Open
command in the shortcut menu for the directory.

Selecting the After opening the documentation structure you can chose between the Structural
documentation view (See Structural View, p. 1133) and the Functional view (See Functional view,
view p. 1133).

Including a You have the following options open to you with regard to including a subject in the
subject in the documentation:
documentation z Select the subject to include and execute the Add header command in the
subject’s shortcut menu.
or
z Select the subject to include and execute the Edit → Include header menu
command.
z By clicking beside the subject symbol you can toggle between include and
exclude.
Subjects included in the documentation are marked with a red symbol in front of the
subject.

1141
Documentation

Excluding a You have the following options open to you with regard to excluding a subject from
subject from the the documentation:
documentation z Select the subject to exclude and execute the Exclude header command in the
subject’s shortcut menu.
or
z Select the subject to exclude and execute the Edit → Exclude header menu
command.
z By clicking beside the subject symbol you can toggle between include and
exclude.

Adding all You have the following options open to you with regard to adding all the subjects to
subjects to the the documentation:
documentation z Select the project subject to include and execute the Include all headers
command in the subject’s shortcut menu.
or
z Select the project subject and execute the Edit → Include all headers menu
command.
z By clicking beside the subject symbol you can toggle between include and
exclude.
Subjects included in the documentation are marked with a red symbol in front of the
subject.

Excluding all You have the following options open to you with regard to excluding all subjects from
subjects from the the documentation:
documentation z Select the project subject and execute the Exclude all headers command in the
subject’s shortcut menu.
or
z Select the project subject and execute the Edit → Exclude all headers menu
command.
z By clicking to the left of the subject symbol you can toggle between include and
exclude.

1142
Documentation

Updating and The documentation is updated dynamically. The documentation is updated


preparing dynamically whenever a change is made in the project directory.
After every update the updated or new subjects are marked with a (?) symbol.
You have the following options open to you with regard to preparing these subjects
for printing:
z Select the project subject to include and execute the Create printout command
in the subject’s shortcut menu.
or
z Select the project subject to include and execute the Edit → Create printout
command in the subject’s shortcut menu.
The subjects correctly prepared can be recognized by the page number (n) after the
subject.

Note: It is only when the project subject has a page number that all the subjects
are prepared.

Note: Save generated documents


Printable documents are generated for every subject during preparation for
printing.
By default this documentation is not saved, i.e. it is deleted at the end of the Unity
session and must be generated afresh in the next session.
If you want to use these documents in other sessions, check the Save generated
printout checkbox in the Printer setup (See Printer setup, p. 1148)dialog box.

1143
Documentation

Print preview

Introduction You can call up a print preview for every subject.


The following options are available for opening the print preview.
z Select the project desired subject and execute the View command in the
subject’s shortcut menu.
z Select the project desired subject and execute the View → View command in the
subject’s shortcut menu.

Previous page You have the following possibilities to show the previous page:
z Use the menu command Previous page in the shortcut menu.
z Execute the menu command Edit → Previous page.
z Press Page up.

Next page You have the following possibilities to show the next page:
z Select the menu command Next page in the context menu.
z Execute the menu command Edit → Next page.
z Press Page down.

Expand view You have the following possibilities to expand the view:
z Use the Expand menu command from the shortcut menu.
z Use the Edit → Expand menu command.

Contract view You have the following possibilities to collapse the view:
z Use the Collapse menu command from the shortcut menu.
z Use the Edit → Collapse menu command.

View full page You have the following possibilities to show the whole page:
z Use the menu command Zoom to fit in the shortcut menu.
z Use the Edit → Zoom to fit menu command.
z Press the Ctrl+E key combination.

Close The following options are available for closing the print preview.
z Use the Close menu command from the shortcut menu.
z Use the Edit → Close menu command.
z Press the Esc key.

Print See Print, p. 1146

1144
Documentation

Page setup

Introduction This dialog is used to set up the page.


The following options are available to open the dialog box:
z Select the subject Documentation → Title page in the project browser and
execute the menu command Page setup...from the shortcut menu.
z Select the subject in the documentation structure and execute the menu
command Edit → .

Items Elements of the dialog box:


Element Description
Preview Shows the preview for the documentation using the current settings.
Paper Size:
Shows the paper size (the paper format). (These settings depend on the current
printer and cannot be changed here.)
Source:
Shows the paper source. (These settings depend on the current printer and
cannot be changed here.)
Direction Shows the orientation of the document on the page. (These settings depend on
the current printer and cannot be changed here.)
Borders Left:
Enter the desired border distance from the left hand edge of the page.
Right:
Enter the desired border width to the right hand edge of the page.
Top:
Enter the desired border width to the top edge of the page.
Bottom:
Enter the desired border width to the bottom edge of the page.
OK Saves all changes and closes the dialog box.
You will not be asked if you want to accept the changes, as this requires a New
generation of documentation (See Updating and preparing, p. 1143).
Cancel Cancels all changes and closes the dialog box.
Print... Used to select the printer.

1145
Documentation

Print

Introduction This dialog box is used to select the printer.


The following options are available to open the dialog box:
z Select a subject in the documentation structure and execute the menu command
Print in the subject’s shortcut menu.
z Select the subject in the documentation structure and execute the menu
command View → Print.
z Select the menu command View → Print in the shortcut menu for Print preview
(See Print preview, p. 1144).
or
z Select the subject in the documentation structure and press the key
combinationCtrl+P.

Items Elements of the dialog box:


Element Description
Printer Name
Shows the name of the currently selected printer. You can select a different
printer from the list box.
Status
Shows the status of the currently selected printer.
Type
Shows the type of the currently selected printer.
Position
Shows the path of the currently selected printer if you are connected to a
network printer or the connection to the computer if you are using a local
printer.
Comment
Shows the comment for the currently selected printer.
Properties
Opens the properties dialog box for the currently selected printer.
Note: Changes to this dialog box have no effect on the printout, they will be
ignored by Unity Pro.
Print area All documentation
If you click this option button, all the subjects (See Including a subject in the
documentation, p. 1141) in the document structure will be printed out.
Current header
If you click this option button, the currently selected subject and all its sub-
sections will be printed out. (The header for the current subject is shown in the
text box).

1146
Documentation

Element Description
Page area This area is only available when the option button Current header is activated.
All
If you click this option button, all the pages in the currently selected subject and
all its sub-sections will be printed out.
Page currently shown in preview mode
If you click this option button, the page currently showing in the preview will be
printed out.
(This option is only available if Print preview (See Print preview, p. 1144) is
active.)
Page, from/ to
If you click this option button, you can set which pages in the currently selected
subject and/or all its sub-sections will be printed out.
Copy Number of copies
Here you can enter the number of copies to print.
Compare
If you check this checkbox, if several copies are printed the number of copies
required will be printed together.
If you uncheck this checkbox, if several copies are printed the number of
copies required will be printed a page at a time.
OK Closes the dialog box and starts the printout.
Cancel Closes the dialog box without starting the printout.

1147
Documentation

Printer setup

Introduction This dialog box is used to enter the printing parameters.


The following options are available to open the dialog box:
z Select the subject Documentation → Title page in the project browser and
execute the menu command Printer setup in the shortcut menu.
z Select a subject in the documentation structure and execute the menu command
Printer setup in the subject’s shortcut menu.
or
z Select a subject in the documentation structure and execute the menu command
Edit → Printer setup.

Items Elements of the dialog box:


Element Description
Station Save printout
You can save documents that have been prepared (See Updating and
preparing, p. 1143) between Unity Pro sessions. (By default they are not
saved).
If you want to save documents, check the checkbox.
Program (LD) This area is used to define the display for the Documentation for the LD section
(See Program, p. 1138).
Combined display mode
When you activate this checkbox, the documentation for the LD section is
shown in combined display mode (See Mixed display mode, p. 474).
When you deactivate this checkbox, the documentation for the LD section is
shown in input mode (See Input mode, p. 473).
Operator This area is used to define the scope and display for the Operating screen
screen documentation (See Operator screen, p. 1139).
Window properties
When you activate this checkbox, the properties for the operating screens are
documented.
Graphics window
When you activate this checkbox, the graphical display for the operating
screens are documented.
Variables used
When you activate this checkbox, the variables used in the operating screens
are documented.
Sorting according to address
If you click this option button, the variables used will be sorted according to the
address.
Sorting by symbol
If you click this option button, the variables used will be sorted according to the
symbol.

1148
Documentation

Element Description
Title page This area is used to define the Title page (See Title page, p. 1134) for the
documentation.
Project name
Enter the name of the project here.
Developer
Enter the name of the developer here.
Variables & FB This area is used to define the scope and display for the Variables and FB
instances instances (See Variables & FB instances, p. 1137).
Sorting by
Type
If you click this option button, the variables and FB instances used will be
sorted according to type.
Icon
If you click this option button, the variables and FB instances used will be
sorted according to symbol.
Attribute profile
Default (symbol, address, initial value, comment)
If you click this option button, only the default attributes for the variables and
FB instances used will be documented.
All attributes
If you click this option button, all attributes for the variables and FB instances
used will be documented.
Footer This area is used to define the footer (See Footer, p. 1140) for the
documentation.
Bitmap
Path
Here you can enter the path for the bitmap file (e.g. logo) to appear in the footer.
Author
Enter the name of the author here.
Deptartment:
Enter the name of the department here.
Page title
Automatically generated and contains the title of the subject printed.
Free fields
You can enter any text here.
Printed on
Is automatically generated.
Page
Is automatically generated
OK Saves all changes and closes the dialog box.
Note: subjects whose settings have to be changed, must be generated afresh
(See Updating and preparing, p. 1143).
Cancel Cancels all changes and closes the dialog box.

1149
Documentation

1150
Import / Export

51
At a Glance

Subject of This chapter describes the procedures for importing or exporting the project program
chapter or elements thereof. For example:
z import / export of the inputs / outputs configuration,
z import / export of DFB types,
z import / export of a program section,
z import / export of runtime screens,
z import / export of an animation table, etc.

What's in this This chapter contains the following sections:


Chapter?
Section Topic Page
51.1 General information on the Import/Export function 1152
51.2 Importing/Exporting the various elements of Unity Pro 1159
51.3 Wizard for importing the various elements of Unity Pro 1183

1151
Import / Export

51.1 General information on the Import/Export function

At a Glance

Object of this This sub-chapter presents general information on the Import/Export function
sub-chapter available under Unity Pro.

What's in this This section contains the following topics:


Section?
Topic Page
General information on import/export 1153
Import / Export files 1154
Type of dialog box for the export function 1155
Type of dialog boxes for the import function 1157
Managing conflicts 1158

1152
Import / Export

General information on import/export

At a Glance The import / export functions are accessible from the structural view and the
functional view of the project browser:
z the import function allows you to retrieve part or all of a project program for use
in your project,
z the export function allows you to copy part or all of your project program to a file.
You can then retrieve this program for use in a new project using the import
function.

Export function The export function generates a file that contains unprotected data and references
to protected data. You must define the name of this file and its location (directory),
the extension of which is determined by the export type (for example, XDB if you
export a DFB type, etc.).

Import function When you perform a partial import, the software asks you if you want to save the
current project. This allows you to have a pre-import version of the project.

If during an import an element with the same name is found in the project, a dialog
box allows you to choose between a number of operating modes:
z Keep: the element that is already present in the project is kept (the element with
the same name is not imported),
z Replace: the element that is already present in the project is replaced by the
imported element with the same name,
z Rename: you can change the name of the element to be imported in order to
remove the conflict.
Which of these three operating modes you choose depends on the element you wish
to import.
Following an import, you must confirm the imported data (analysis and generation).
In fact, import works like a manual input and is not confirmed automatically.

1153
Import / Export

Import / Export files

At a Glance The files generated during an export contain unprotected data and/or coded
protected data.
The extension of each file is defined by its content: that is to say by your position in
the directory tree of the project browser at the time of the export.

Import / Export The files generated during an export are as follows:


files
Element to be exported File type
Inputs/outputs configuration XHW
Program XPG
Section in LD language XLD
Section in IL language XIL
Section in ST language XST
Section in FBD language XBD
Section in SFC language XSF
DFB type XDB
DDT XDD
Variables SCY / TXT / XSY / XVM
Communication network(s) XCM
Runtime screen(s) XCR
Animation table XTB
Functional module XFM
Global project XEF

Note: when the first letter of the file extension is ’X’, this means that the file in XML
format (extensible markup language).

1154
Import / Export

Type of dialog box for the export function

At a Glance When you select the export function from the Unity Pro menu or from an element to
be exported, two types of dialog boxes appear on the screen. These dialog boxes
allow you to define:
z The name of the export file,
z The location of the file,
z The type of file,
z The export options.

Standard dialog The following dialog box appears when you export one of the following element
box types:
z Inputs/outputs configuration (See Export of the input/output configuration,
p. 1160),
z DFB type (See Exporting DFB types, p. 1166),
z DDTs (See Exporting DDTs, p. 1168),
z Communication network (See Exporting the communication network
configuration, p. 1173),
z Operator screen (See Exporting runtime screens, p. 1175),

Note: For all these elements to be exported, simply define the name of the export
file and its location. The type of file under which the export is saved cannot be
modified.

1155
Import / Export

Dialog box and To export the following elements, you must define the name of the file with its
options location. You can choose 1,2 or 3 options:
z Program and section (See Exporting the program, p. 1162),
z Variables (See Exporting variables, p. 1170),
z Animation table (See Exporting animation tables, p. 1177),
z Functional module (See Exporting a functional module, p. 1179).
z Global project (See Exporting a global project, p. 1181).
The following table describes the available options as a function of the elements to
be exported:
Type of Choice Export mode Export mode Export mode Export mode
element to be of file with or with or with or with or
exported type without DDT without DFB without SR without conf
option type option option option
Program no yes yes yes no
Section no yes yes yes no
Variables yes yes yes no no
Animation table no yes yes no no
Functional no yes yes no no
module
Global project no no no no yes

1156
Import / Export

Type of dialog boxes for the import function

At a Glance When you select the import function from the Unity Pro menu or from an element to
be imported, various dialog boxes appear on the screen. These dialog boxes allow
you to define:
z The name of the import file,
z The location of the file,
z The type of file,
z The import option,
z The import procedures (Keep, Replace, Rename).

Standard dialog The following dialog box appears when you import one of the following element
box types:
z Inputs/outputs configuration (See Import of the input/output configuration,
p. 1161),
z DFB type (See Importing DFB types, p. 1167),
z DDTs (See Importing DDTs, p. 1169),
z Variables (See Importing variables, p. 1172),
z Communication network (See Importing the configuration of a communication
network, p. 1174),
z Animation tables (See Importing animation tables, p. 1178),
z Operator screens (See Importing operator screens, p. 1176).

Note: For all these elements to be imported, simply define the name of the import
file and its location. The type of file under which the import is chosen cannot be
modified except for importing variables.

Dialog box with In order to facilitate reassignments, you can choose to import the following elements
wizard using wizard (See Using the assistant, p. 1184):
z Global project (See Importing a global project, p. 1182),
z Sections (See Importing the program, p. 1164),
z Functional modules (See Importing a functional module, p. 1180).

Note: For all these elements to be imported, simply define the name of the import
file and its location and check the option With wizard.

1157
Import / Export

Managing conflicts

At a Glance When importing an element with the same name, if it already exists in the project,
an Import problem report dialog box lets you choose from several operating
modes: (See Import function, p. 1153)
z Keep,
z Replace,
z Rename.
These operating mode depend on the element to be imported. Excluding the global
project import function, all the other elements have these operating modes.

How to manage You should perform the following steps in order to import an element and manage
conflicts conflicts during the import process:
Step Action
1 In the project browser, select the element to be imported.
Result: the element selected appears in reverse video.
2 Activate the Import command from the File menu or from the contextual menu
(by clicking the right mouse button).
Result: a dialog box appears on the screen:
3 Choose the source folder for the import (directory tree) then select the file to be
imported. For the Variables element, the file type can be modified (XCY or TXT).
Result: the name of the file then appears in the File name field.
4 Activate the Import command.
Result: if there is no conflict, a progress indicator appears during the import,
otherwise the Import problem report dialog box appears on the screen.
5 If you do not want to import the elements, check the Keep mode.
6 If you want to replace the elements with the imported ones, check the Replace
mode.
7 If you want to rename the elements, check the Rename mode.
Result: a dialog box appears on the screen where you can enter the name for
the element to be modified.
8 Start the import of your choice (Keep, Replace, Rename) with the OK command.
If a conflict still exists, the Import problem report appears on the screen.
Repeat steps 5,6 and 7.
If you want to cancel the import, activate the Cancel command.

1158
Import / Export

51.2 Importing/Exporting the various elements of


Unity Pro

At a Glance

Object of this This sub-chapter presents the Import/Export functions that apply to the various
sub-chapter elements of Unity Pro.

What's in this This section contains the following topics:


Section?
Topic Page
Export of the input/output configuration 1160
Import of the input/output configuration 1161
Exporting the program 1162
Importing the program 1164
Exporting DFB types 1166
Importing DFB types 1167
Exporting DDTs 1168
Importing DDTs 1169
Exporting variables 1170
Importing variables 1172
Exporting the communication network configuration 1173
Importing the configuration of a communication network 1174
Exporting runtime screens 1175
Importing operator screens 1176
Exporting animation tables 1177
Importing animation tables 1178
Exporting a functional module 1179
Importing a functional module 1180
Exporting a global project 1181
Importing a global project 1182

1159
Import / Export

Export of the input/output configuration

At a Glance This function can be accessed from the Configuration folder in the project browser.
It allows you to export the complete configuration of the inputs/outputs of an existing
project, that is to say its physical description, in order to be able to use it in a new
project. You can, for example, export:
z the bus parameters,
z the racks,
z the modules,
z the channel parameters.

File generated When you export the input/output configuration you copy the entire configuration
of the project to a .XHW file. This file is in XML format.

Exporting the To export the input/output configuration, you must perform the following operations:
input/output
Step Action
configuration
1 In the project browser, select the Configuration folder.
Result: The selected element appears in reverse video.
2 Activate the Export command from the File menu or from the context-sensitive
menu (accessible with a right-click).
Result: A dialog box appears on the screen.
3 Select the destination directory for the export (directory tree) and enter the name
of the file.
4 Activate the Export command.
Result: a progress indicator lets you know how the export is proceeding.
5 A message in the output window tells you that export is complete.

1160
Import / Export

Import of the input/output configuration

At a Glance This function is accessible from the Configuration folder in the project browser. It
allows you to import a complete input/output configuration. If you have already
configured your project (i.e. if you have modified the default configuration), the
software offers you a choice between:
z replacing your current input/output configuration with the one contained in the
import file,
z canceling the import in order to keep your current input/output configuration.

Importing the To import an input/output configuration, you must perform the following operations:
input/output
Step Action
configuration
1 In the project browser, select the Configuration folder.
Result: This folder appears in reverse video.
2 Activate the Import command from the File menu or from the contextual menu
(accessible with a right-click).
Result: A dialog box appears on the screen.
3 Choose the source directory for the import (directory tree), then select the XHW
file to be imported.
Result: The name of the file then appears in the File name field.
4 Activate the Import command.
5 A message tells you that the import is complete.
If any errors occur during import, you are informed of these by a message in the
Output Window.

1161
Import / Export

Exporting the program

At a Glance This function is accessible from the project browser.


Depending on the element that you have selected in the directory tree of the project
browser, it will allow you to export:
z either all the sections and program modules (SRs) of a sequential task (MAST,
FAST, AUX),
z or a section of a sequential task (excluding the section activation conditions),
z or an SR program module of a sequential task,
z or Timer or Input/Output event processing.

Note: When you export an SFC section, the sections containing the actions and
transitions (whether referenced or not) are also exported.

Options Depending on the program elements you are exporting, you have a choice of 3
associated with options:
exporting the z export with or without the content of all the DDTs used in the program element,
program z export with or without the content of all the DFB types used in the program
element,
z export with or without the content of all the SR program modules called in the
program element.
The 3 "export with" options are selected by default.

1162
Import / Export

Files generated When you export a set of sections and/or program modules or event processing
elements, the software generates a .XPG file which contains the following
unprotected information: sections, SR program modules, event processing
elements, unprotected DFB types used (if the option is activated), DDTs used (if the
option is activated).

When you export a section or SR program module or an event processing element,


the software generates a file according to the programming language used:
z .XLD, if the language of the element exported is LD
z .XIL, if the language of the element exported is IL
z .XST, if the language of the element exported is ST
z .XSF, if the language of the element exported is SFC (sections only)
z .XBD, if the language of the element exported is FBD
The file contains the unprotected information: program section, module or current
event processing, unprotected DFB types used (if the option is activated), DDTs
used (if the option is activated), program modules called (if the option is activated).

Note: The sections protected (read/write) by the active project protection (See
Protection of a project, p. 135) cannot be exported.

Exporting a To export a program from the project browser you must perform the following
program from the operations:
project browser
Step Action
1 Select the element to be exported.
Result: The selected element appears in reverse video.
2 Activate the Export command from the File menu or the contextual menu.
Result: A dialog box appears on the screen.
3 Select the destination directory for the export (directory tree) and enter the file
name.
4 Select export mode: with or without DDT, DFB types, SRs called.
Result: when a "with" option is selected, the corresponding box is checked.
5 Activate the Export command.
Result: a progress indicator lets you know how the export is proceeding.
6 A message in the output window tells you that export is complete.

1163
Import / Export

Importing the program

At a Glance This function is accessible from the project browser. Depending on the element that
you have selected in the directory tree of the project browser, it will allow you to
import:
z either all the sections and program modules (SR) of a sequential task (MAST,
FAST, AUX). The program sections and modules will be created in the order in
which they have been memorized during export
z or one or all of the sections of a sequential task. These sections are imported after
sections already in the list.
If you need to carry out reassignments, an assistant is available (except for
protected sections which cannot be modified).
z or one or all of the program modules of a sequential task. These modules are
imported after modules already in the list
z or one or all of the Timer or Input/Output event processing elements. These
elements are imported after event processing elements already in the list.
If one of the previous elements already exists in the current project, the software
proposes the following options:
z keep the element from the current project,
z replace the project element with the one in the import file,
z rename the imported element.

Note: If the associated DDTs, DFB types and SRs called have been exported
(options selected during export), they are imported with the program element.

Note: Once you have imported the program module or section, you must confirm
them.

1164
Import / Export

Importing a To import a program element you must perform the following operations:
program element
Step Action
1 In the project browser select the folder into which you wish to import your
program element (Sections, SR or Events).
Result: This folder appears in reverse video
2 Activate the Import command from the File menu or the contextual menu.
Result: A dialog box appears on the screen.
3 Choose the source directory for the import (directory tree), then select the file to
be imported (XPG, XLD, XIL, XST, etc.).
Result: The name of the file then appears in the File name field.
4 Select the With wizard option, if you require help reassigning elements.
5 Activate the Import command.
Result: A progress indicator lets you know how the import is proceeding.
6 A message tells you that import is complete.
If any errors occur during import, you are informed of these by a message in the
Output Window.

1165
Import / Export

Exporting DFB types

At a Glance This function is accessible via the Derived FB types folder in the project browser.
Depending on the element that you have selected in the directory tree of the project
browser, it will allow you to export:
z either all the DFB types of the current project (even those that have not been
used),
z or one DFB type.

Note: if you export a DFB type, which uses nested DFBs or DDTs, these are also
exported automatically.

Protected DFB. A protected DFB type (in write or read/mode) can be exported and keeps the same
type of protection.

File generated When you export all the DFB types of the project, the software generates an .XDB
during export of file containing
all DFBs z all the unprotected information: unprotected nested DFB types, DDTs used
and references to the protected DFB types

File generated When you export one DFB type, the software generates an .XDB file containing
during export of z all the unprotected information: current DFB type, nested DFB types, DDTs
one DFB type used and references to the protected DFB types.

Exporting one or To export one DFB type or all the DFB types of a project, you must perform the
more DFB type(s) following operations from the project browser:
from the project
Step Action
browser
1 Select the element to be exported.
Result: The selected element appears in reverse video.
2 Activate the Export command from the File menu or the contextual menu.
Result: A dialog box appears on the screen.
3 Select the destination directory for the export (directory tree) and enter the file
name.
4 Activate the Export command.
Result: a progress indicator lets you know how the export is proceeding.
5 A message in the output window tells you that export is complete.

1166
Import / Export

Importing DFB types

At a Glance This function is accessible from the Derived FB types folder in the project browser.
It allows you to import one or several DFB types.

Note: A protected DFB type cannot be imported. After import if it is write protected,
the elements of the DFB will be accessible in read only. If it is read/write protected,
the elements will not be accessible.
If the DFB type uses nested DFBs or DDTs, these are also imported.

If a DFB type already exists in the current project, the software proposes the
following options:
z keep the element from the current project,
z replace the project element with the one in the import file,
z rename the imported element.

Importing a DFB To import a DFB type you must perform the following operations:
type
Step Action
1 In the project browser, select the Derived FB Types folder.
Result: This folder appears in reverse video
2 Activate the Import command from the File menu or the contextual menu.
Result: A dialog box appears on the screen.
3 Choose the source directory for the import (directory tree), then select the file to
be imported (XDB).
Result: The name of the file then appears in the File name field.
4 Activate the Import command.
Result: A progress indicator lets you know how the import is proceeding.
5 A message tells you that the import is complete.
If any errors occur during import, you are informed of these by a message in the
Output Window.

1167
Import / Export

Exporting DDTs

At a Glance This function is accessible from the Derived Data Types folder in the project
browser.
Depending on the element that you have selected in the directory tree of the project
browser, it will allow you to export:
z either all the DDT’s of the current project (even those that have not been used),
z or one DDT.

Note: If you export a DDT that uses nested DDTs, these will also be exported
automatically.

File generated When you export all the DDTs, the software generates an .XDD file which contains
during export of all the unprotected information for the project DDTs.
all DDTs

File generated When you export one DDT, the software generates an .XDD file which contains all
during export of the unprotected information such as the current DDT and DDTs used.
one DDT

Exporting one or To export one DDT, or all the DDTs, of a project, you must perform the following
more DDTs from operations from the project browser:
the project
Step Action
browser
1 Select the element to be exported.
Result: The selected element appears in reverse video.
2 Activate the Export command from the File menu or the contextual menu.
Result: A dialog box appears on the screen.
3 Select the destination directory for the export (directory tree) and enter the file
name.
4 Activate the Export command.
Result: a progress indicator lets you know how the export is proceeding.
5 A message in the output window tells you that export is complete.

1168
Import / Export

Importing DDTs

At a Glance This function is accessible from the Derived Data Types folder in the project
browser. It allows you to import one or several DDTs.

Note: If the DDT uses nested DDTs, these are also imported.

If a DDT type already exists in the current project, the software proposes the
following options:
z keep the element from the current project,
z replace the project element with the one in the import file,
z rename the imported element.

Importing a DDT To import a DDT you must perform the following operations:
Step Action
1 In the project browser, select the Derived Data Types folder.
Result: This folder appears in reverse video.
2 Activate the Import command from the File menu or the contextual menu.
Result: A dialog box appears on the screen.
3 Choose the source directory for the import (directory tree), then select the .XDD
file to be imported.
Result: The name of the file then appears in the File name field.
4 Activate the Import command.
Result: A progress indicator lets you know how the import is proceeding.
5 A message tells you that the import is complete.
If any errors occur during import, you are informed of these by a message in the
Output Window.

1169
Import / Export

Exporting variables

At a Glance This function is accessible from the Variables & FB instances folder in the project
browser.
Depending on the element that you have selected in the directory tree of the project
browser, it will allow you to export:
z all the project variables (even if they have not been used),
z all the variables in the same family, i.e. EDT, IODDT, etc. (even if they have not
been used).

Variables file Variables can be saved:


format z either in the source format, in a .SCY, file which is compatible with PL7 software,
z or in text format with separators, in a .TXT file,
z or in XML format, in an OFS compatible .XVM file,
z or in XML format, in an .XSY file.

Options Whatever the variables you are exporting, you have a choice of 2 options:
associated with z export with or without the content of all the DDTs used,
exporting z export with or without the content of all the DFB types used.
variables The 2 "export with" options are selected by default.

Note: These two options are available only for export of variables in .XSY file
format.

File generated in When you export the variables, the software generates an .XSY or .XVM file which
.XSY and .XVM contains all the unprotected information such as the current variables list and the
format unprotected DFB types which have had an instance exported (if the option has been
activated), and the DDTs which have had an instance exported (if the option has
been activated).

Files generated When you export the variables, the software generates a .TXT or .SCY file which
in .SCY, .XVM, or contains all the unprotected information for the current variables.
.TXT format

1170
Import / Export

Exporting a To export all the variables or a family of variables you must perform the following
variables list operations from the project browser:
from the project
Step Action
browser
1 Select the element to be exported from the Variables & FB instances folder.
Result: The selected element appears in reverse video.
2 Activate the Export command from the File menu or the contextual menu.
Result: A dialog box appears on the screen.
3 Select the destination directory for the export (directory tree) and enter the file
name.
4 Select export mode: with or without DDT, DFB type.
Result: when a "with" option is selected, the corresponding box is checked.
5 Activate the Export command.
Result: a progress indicator lets you know how the export is proceeding.
6 A message in the output window tells you that export is complete.

1171
Import / Export

Importing variables

At a Glance This function is accessible from the Variables & FB instances folder in the project
browser. It allows you to import a list of variables into your project.

Note: If the associated DDTs and DFB types have been exported (options selected
during export), they are imported with the variables list.

If the variables list already exists in the current project, the software proposes the
following options:
z keep the element from the current project,
z replace the project element with the one in the import file,
z rename the imported element.

Importing a To import a variables list you must perform the following operations:
variables list
Step Action
1 In the project browser, select the Variable & FB instances folder.
Result: The Variables & FB instances folder appears in reverse video.
2 Activate the Import command from the File menu or from the context-sensitive
menu (accessible with a right-click).
Result: A dialog box appears on the screen.
3 Choose the source directory for the import (directory tree), then select the file to
be imported (XSY or TXT).
Result: The name of the file then appears in the File name field.
4 Activate the Import command.
Result: A progress indicator lets you know how the import is proceeding.
5 A message tells you that the import is complete.
If any errors occur during import, you are informed of these by a message in the
Output Window.

Note: You can only import .XSY or .TXT files. Files in XVM and SCY format cannot
be imported.

1172
Import / Export

Exporting the communication network configuration

Introduction This function is accessible from the Communication folder of the project browser.

Depending on the element selected in the directory tree of the project browser, it will
allow you to export:
z All communication networks with their configurations,
z A specific communication network with its configuration.

File generated When you export one or all of the communication networks, the software generates
during export of a .XCM file containing all the information on each network: common data, bridge.
networks

How to export an To export the communication networks you must perform the following operations:
operator screen
Step Action
1 In the project browser, select the element to be exported.
Result: The selected element appears in reverse video.
2 Activate the Export command from the File menu or the contextual menu.
Result: A dialog box appears on the screen.
3 Select the destination directory for the export (directory tree) and enter the file
name.
4 Activate the Export command.
Result: A progress indicator lets you know how the export is proceeding.
5 A message in the output window tells you that export is complete.

1173
Import / Export

Importing the configuration of a communication network

At a Glance This function is accessible from the Communication folder of the project browser.
You can import one or more communication network configurations.
If a communication network already exists in the current project with the same name,
the software proposes the following options:
z keep the element from the current project,
z replace the project element with the one in the import file,
z rename the imported element.

How to import a To import a communication network you must perform the following operations:
functional
Step Action
module
1 In the function view of the project browser, select the Communication folder.
Result: This folder appears in reverse video.
2 Activate the Import command from the File menu or the contextual menu.
Result: A dialog box appears on the screen.
3 Choose the source directory for the import (directory tree), then select the file to
be imported (XCM).
Result: The name of the file then appears in the File name field.
4 Activate the Import command.
Result: A progress indicator lets you know how the import is proceeding.
5 A message tells you that the import is complete.
If any errors occur during import, you are informed of these by a message in the
Output Window.

1174
Import / Export

Exporting runtime screens

Introduction This function is accessible from the Operator Screens folder in the project browser.
Depending on the element that you have selected in the directory tree of the project
browser, it will allow you to export:
z all the operator screens of the project,
z all operator screens in the same family,
z a specific operator screen.

Note: The messages associated with the screens are also exported.

Files generated When you export one or several operator screens, the software generates an .XCR
during the export file for each family of screens. This file contains all the information relating to the
of an operator graphic objects and the reference of the image objects (.bmp, .jpg). The image
screen object references correspond to their names and their access paths.

How to export an To export an operator screen (all screens, a family of screens or a single screen)
operator screen you must perform the following operations:
Step Action
1 In the project browser, select the element to be exported.
Result: The selected element appears in reverse video.
2 Activate the Export command from the File menu or the contextual menu.
Result: A dialog box appears on the screen.
3 Select the destination directory for the export (directory tree) and enter the file
name.
4 Activate the Export command.
Result: A progress indicator lets you know how the export is proceeding.
5 A message in the output window tells you that export is complete.

1175
Import / Export

Importing operator screens

At a Glance This function is accessible from the Operator Screens folder in the project browser.
In the Operator Screens folder, if you are importing one or several screens with
their families you can:
z import a family of screens, in which case it is then inserted in the folder. The
screens belonging to this family continue to be located in their families of origin.
z import the screens without families directly in the root of the folder (they do not
belong to a family).

Note: If you import a file containing references to images and the access path to
these images is no longer correct, the images will not appear in the imported
screen.

Importing an To import an operator screen you must perform the following operations:
operator screen
Step Action
1 In the project browser, select the Operator Screens folder into which you wish
to import your screen or family of screens.
Result: This folder appears in reverse video.
2 Activate the Import command from the File menu or the contextual menu.
Result: A dialog box appears on the screen.
3 Choose the source directory for the import (directory tree), then select the file to
be imported (.XCR).
Result: The name of the file then appears in the File name field.
4 Activate the Import command.
Result: A progress indicator lets you know how the import is proceeding.
5 A message tells you that the import is complete.
If any errors occur during import, you are informed of these by a message in the
Output Window.

1176
Import / Export

Exporting animation tables

At a Glance This function is accessible from the Animation Tables folder of the project browser.
Depending on the element that you have selected in the directory tree of the project
browser, it will allow you to export:
z all the animation tables of the project,
z a single animation table.

File generated When you export an animation table, the software generates a .XTB file that
during export of contains all the unprotected information such as the current animation table.
a single
animation table

Exporting a To export one or all of the animation tables, perform the following operations from
single animation the project browser:
table
Step Action
1 Select the element to be exported.
Result: The selected element appears in reverse video.
2 Activate the Export command from the File menu or the contextual menu.
Result: a dialog box appears on the screen.
3 Select the destination directory for the export (directory tree) and enter the file
name.
4 Activate the Export command.
Result: a progress indicator lets you know how the export is proceeding.
5 A message in the output window tells you that export is complete.

1177
Import / Export

Importing animation tables

At a Glance This function is accessible from the Animation Tables folder of the project browser.
It allows you to import one or more animation tables into your project.
If an animation table already exists in the current project with the same name, the
software proposes the following options:
z keep the element from the current project,
z replace the project element with the one in the import file,
z rename the imported element.

Importing a To import a single animation table you must perform the following operations:
single animation
Step Action
table
1 In the project browser select the Animation Tables folder.
Result: This folder appears in reverse video
2 Activate the Import command from the File menu or the contextual menu.
Result: a dialog box appears on the screen.
3 Choose the source directory for the import (directory tree), then select the file to
be imported (XTB).
Result: The name of the file then appears in the File name field.
4 Activate the Import command.
Result: A progress indicator lets you know how the import is proceeding.
5 A message tells you that import is complete.
If any errors occur during import, you are informed of these by a message in the
Output Window.

1178
Import / Export

Exporting a functional module

At a Glance This function is accessible from the function view of the project browser.
It allows you to export all the elements from the functional module selected:
z functional module properties (name, comment),
z sections (with the variables used, program code, activation condition),
z event processing,
z functional sub-modules (nested functional modules),
z operator screens,
z animation tables.

Options As with the program export procedure, you have the choice of 3 options:
associated with z export with or without definition of all the DDTs used in the functional module,
exporting a z export with or without definition of all the DFB types used in the functional module,
functional z export with or without the content of all the SR program modules called in the
module program element.
The 3 "export with" options are selected by default.

Files generated When you generate a functional module, the software generates a .XFM file. This
contains all the unprotected information such as the sections, event processing,
DFB types used (if the option has been activated), DDTs used (if the option has
been activated) and the SR program modules called (if the option has been
activated). It also contains the references of the operator screen images.

How to export a To export a functional module, perform the following operations from the function
functional view of the project browser:
module
Step Action
1 Select the functional module to be exported.
Result: the functional module selected appears in reverse video.
2 Activate the Export command from the File menu or the contextual menu.
Result: A dialog box appears on the screen.
3 Select the destination directory for the export (directory tree) and enter the file
name.
4 Select export mode: with or without DDT, DFB types called.
Result: when a "with" option is selected, the corresponding box is checked.
5 Activate the Export command.
Result: a progress indicator lets you know how the export is proceeding.
6 A message in the output window tells you that export is complete.

1179
Import / Export

Importing a functional module

At a Glance This function is accessible from the functional view of the project browser.
You can import a functional module under:
z the station,
z in the existing module, the new module is then a nested module.
In all cases, the assistant is offered as an option.

How to import a To import a functional module, perform the following operations:


functional
Step Action
module
1 In the function view of the project browser, select the documentation file in which
you wish to import your functional module (station or a functional module).
Result: This folder appears in reverse video
2 Activate the Import command from the File menu or the contextual menu.
Result: A dialog box appears on the screen.
3 Choose the source directory for the import (directory tree), then select the file to
be imported (XFM).
Result: The name of the file then appears in the File name field.
4 Activate the Import command.
Result: A progress indicator lets you know how the import is proceeding.
5 A message tells you that import is complete.
If any errors occur during import, you are informed of these by a message in the
Output Window.

1180
Import / Export

Exporting a global project

At a Glance This function is accessible from the Station folder of the project browser. It allows
you to export the following elements of the project:
z all the DDTs
z all the variables (used and unused)
z all the unprotected DFB types
z the entire program: sections, SR program modules (with execution condition),
event processing
z all the functional modules
z all the operator screens
z all the animation tables
z the project properties
and optionally:
z the input/output configuration
z the communication network configuration

Note: The EFs, EFB types, protected DFB types, documentation and user
preferences are not exported.

Files generated When you export a global project, the software generates an .XEF file. This contains
all the unprotected information: configuration of the inputs/outputs, sections, SR
program modules, events processing, unprotected DFB types, DDTs, variables,
animation tables, references to the protected DFB types.

How to export a To export a global project, perform the following operations from the project browser:
global project
Step Action
1 Select the Station folder.
Result: This folder appears in reverse video
2 Activate the Export project command from the File menu or the contextual menu.
Result: A dialog box appears on the screen.
3 Select the destination directory for the export (directory tree) and enter the file name.
4 Select the option With Conf. if you want to include all data relating to the hardware
configuration in the file.
5 Activate the Export command.
Result: a progress indicator lets you know how the export is proceeding.
6 A message in the output window tells you that export is complete.

1181
Import / Export

Importing a global project

At a Glance This function is accessible only from the File → Open menu of Unity Pro. The
software allows you to open an .XEF file and thus import a complete project. Before
opening the imported project, Unity Pro allows you to save your current project
before closing it.

Importing If the project you want to import contains protected sections, these are imported and
protected their content is coded.
elements If the project you want to import contains protected DFB types, these are referenced
in the .XEF file but not imported.

Importing The operator screens are imported with the same structure as in the source project.
operator screens If families of screens do not exist, they are automatically created.

How to import a To import a global project, you must perform the following operations:
global project
Step Action
1 Activate the Open command from the File menu.
Result: A dialog box appears on the screen.
2 Choose to save or not save your current project.
Result:
z your project is saved or not saved, according to your selection,
z a dialog box appears on the screen.
3 Select the file to be imported (.XEF).
Result: the filename appears in the File name field.
4 Select the Open XEF file with wizard option, if you require help reassigning
elements.
5 Activate the Open command.
Result:
z Unity Pro closes your current project,
z a progress indicator lets you know how the import is proceeding.
6 A message tells you that the import is complete.
If any errors occur during import, you are informed of these by a message in the
Output Window.

1182
Import / Export

51.3 Wizard for importing the various elements of


Unity Pro

At a Glance

Object of this This sub-chapter presents the functions of the wizard for importing the sections and
sub-chapter functional modules under Unity Pro.

What's in this This section contains the following topics:


Section?
Topic Page
Using the assistant 1184
Variables tab of the wizard 1186
DFB and DDT tabs of the wizard 1187
SR, Sections, Events and Macro steps tabs of the wizard 1188
Wizard animation tables tab 1189
Wizard functional module tabs 1190
Correspondence file 1191

1183
Import / Export

Using the assistant

At a Glance You can select the assistant to import the following elements:
z a global project,
z a section,
z a functional module.
During the import you can use the assistant to facilitate the reassignment of the
following types of element:
z variables,
z DDTs,
z DFBs,
z sections (SR, macro SFC),
z event processing (timer or Input/Output),
z animation table,
z functional module.
To do this, you must check the With wizard box in the import dialog box.

1184
Import / Export

Description of The wizard is accessible via a dialog box. This box contains one or more tabs. Each
the wizard tab corresponds to an element to be imported.
The list of elements that cannot be reassigned (shaded columns) and the contextual
functions allowing the reassignments are offered via the following tabs:
Tab Description
DDT Provides a list of the DDTs used. For each DDT, the screen gives the
name of the DDT before and after reassignment, as well as the type of
DDT and the comment.
DFB Provides a list of instances of DFBs used. For each instance, the screen
gives the name of the instance before and after reassignment, as well as
the DFB type and the comment.
Variables Provides a list of the variables used. For each variable, the screen gives
the address and the symbol (before and after reassignment), as well as
the comment.
Sections Provides a list of program modules.
SR Provides a list of SRs.
Macro steps Provides a list of the sequential steps called.
Events Provides a list of Timer or System event processing elements called.
Animation tables Provides a list of animation tables used.
Functional Provides a list of elements (variables, sections, animation tables) that are
modules in the functional module to be imported.

Common All the tabs of the wizard contain the same commands:
commands z Find global and Replace global (See Modifying a symbol, p. 1186),
z Load and Save (See Correspondence file, p. 1191).

1185
Import / Export

Variables tab of the wizard

At a Glance This tab allows you to edit the name of the symbols or to reassign an object or a
group of objects to be imported.
If you want to import input/output variables, this editing allows you to reassign them
in order to adapt to the new current configuration.

Reassignment of The Reassign command allows you to reassign a group of variables. For example,
variables you can reassign the objects %M100...%M132 into %M200...%M232:

Sort by type In the Family field you can select the type of variables to display in the window.

Modifying a The Go to variable command allows you to find a symbol or a character string in
symbol the symbols (source or destination):
If you check the Search in the comment box, the variable search is also launched
in the variable comments.
The Replace target variable command allows you to modify a symbol or replace a
character string in the symbols to be imported:
If you check the Replace in the comment box, the variable will also be replaced in
the variable comments.

Note: The Go to variable and Replace target symbols commands are available
in all the other tabs during import with the wizard. They are available with the
command buttons Find global and Replace global.

1186
Import / Export

DFB and DDT tabs of the wizard

At a Glance These 2 tabs present the DFB or DDT instances to be imported.

Modifying the To modify the name of an element, you must perform the following operations:
name of an
Step Action
element
1 Double click the element to be modified.
2 Enter the new name for the element.
3 Confirm your input by pressing the Enter key. Press the Esc key to cancel the
input.

Elements that The various elements that you can modify are as follows:
you can modify z DFB:
z Target type allows you to modify the name (Source type) of a DFB instance.
This name comprises a maximum of 32 alphanumeric characters (‘A’...’Z’,
‘0’...’9’ and underscore character); the first character is a letter.
z The new instance name must be unique.
z The DFB type cannot be modified.
z Comment allows you to modify the comment associated with the selected
DFB instance. This comment written on a single line may contain a maximum
of 1024 characters.
z DDT:
z Target type allows you to modify the name (Source type) of a DDT type. This
name comprises a maximum of 32 alphanumeric characters (‘A’...’Z’, ‘0’...’9’
and underscore character); the first character is a letter.
z The new instance or type names must be unique.
z Comment allows you to modify the comment associated with the DDT
instance selected. This comment written on a single line may contain a
maximum of 1024 characters.

1187
Import / Export

SR, Sections, Events and Macro steps tabs of the wizard

At a Glance These four tabs present the sections, SR program modules, event processing
elements and macro steps to be imported.

Modifying the To modify the name of an element, you must perform the following operations:
name of an
Step Action
element
1 Double click the element to be modified.
2 Enter the new name for the element. You can only modify the name of a
program module or of a macro step and the number of an event processing
element.
3 Confirm your input by pressing Enter. Press Esc to cancel the input.

Elements that The various elements that you can modify are as follows:
you can modify z SR program sections and module
z Target Address allows you to modify the name of an SR program section or
module. This name comprises a maximum of 32 alphanumeric characters
(‘A’...’Z’, ‘0’...’9’ and underscore character); the first character is a letter.
z Comment allows you to modify the comment associated with the SR program
section or module. This comment written on a single line may contain a
maximum of 512 characters.
z The new SR program section or module must be unique.
z Event processing
z Target Address allows you to modify the event processing number.
z Comment allows you to modify the comment associated with the event
processing element. This comment written on a single line may contain a
maximum of 512 characters.
z The new event processing must be unique.
z Macro step
z Target Address of the Macro allows you to modify the name of a macro step.
z Comment allows you to modify the comment associated with the macro step.
This comment written on a single line may contain a maximum of 512
characters.
z The new macro step must be unique.

1188
Import / Export

Wizard animation tables tab

At a Glance This tab presents the animation tables to be imported.

Modifying the To modify the name of an element, you must perform the following operations:
name of an
Step Action
element
1 Double click the element to be modified.
2 Enter the new name for the element. You can only modify the name of an
animation table.
3 Confirm your input by pressing Enter. Press Esc to cancel the input.

Elements that The various elements that you can modify are as follows:
you can modify z Animation table
z Target address allows you to modify the name of the animation table. This
name comprises a maximum of 32 alphanumeric characters (‘A’...’Z’, ‘0’...’9’
and underscore character); the first character is a letter.
z Comment is used to modify the comment associated with the animation table.
z The new animation table must be unique.

1189
Import / Export

Wizard functional module tabs

At a Glance When importing a functional module with the wizard, the dialog box appears with the
following tabs:
z Functional modules,
z Variables (See Variables tab of the wizard, p. 1186),
z Sections (See SR, Sections, Events and Macro steps tabs of the wizard,
p. 1188).
z Animation tables (See Wizard animation tables tab, p. 1189),
z etc.
The tab of the element to be imported appears only if this element exists in the
functional module.

Elements you The various elements you can modify are as follows:
can modify z Functional module:
z Target Address allows you to modify the target name of the functional
module. This name comprises a maximum of 32 alphanumeric characters
(‘A’...’Z’, ‘0’...’9’ and underscore character); the first character is a letter.
z The new functional module name must be unique.
z Comment is used to modify the comment associated with the selected
functional module. This comment written on a single line may contain a
maximum of 1024 characters.

1190
Import / Export

Correspondence file

At a Glance This file in text format contains all the information concerning the modifications or
reassignments made in the various tabs of the wizard: Variables, DFB, DDT,
Sections, Macro steps, etc.

CAUTION
Loss of Data
It is strongly recommended that you save this information to disk before
launching the import as otherwise it will be lost.
Failure to follow this precaution can result in injury or equipment
damage.

Saving/ The Load and Save commands allow you to:


Restoring
Command Description
modifications
Load Allows you to automatically restore the reassignments previously saved
to a file.
Save Allows you to save the modifications made, via the wizard, to a
correspondence file.
The following dialog box allows you to enter the name of the file:

1191
Import / Export

1192
Appendices

At a Glance

Subject of this This part presents the hyperlink functions and the ergonomics of Unity Pro.
Part

What's in this The appendix contains the following chapters:


Appendix?
Chapter Chapter Name Page
A Hyperlinks in Unity Pro 1195
B User Interface 1241

1193
Appendices

1194
Hyperlinks in Unity Pro

A
At a Glance

Subject of this This chapter describes how to use hyperlinks (hypertext) in Unity Pro.
Chapter

What's in this This chapter contains the following sections:


Chapter?
Section Topic Page
A.1 General 1196
A.2 Principles 1199
A.3 Hyperlinks in the project browser 1209
A.4 Hyperlink in the data editor 1214
A.5 Hyperlinks in the DFB type attributes 1219
A.6 Hyperlinks in animation tables 1224
A.7 Hyperlinks in runtime screens 1229
A.8 Hyperlinks in the documentation folder 1234
A.9 Hyperlinks and drag-and-drop 1238

1195
Introduction to hyperlinks

A.1 General

Introduction

Object of this This sub-section provides general information about hyperlinks.


sub-section

What's in this This section contains the following topics:


Section?
Topic Page
Introduction to hyperlinks 1197
Representation and opening of a hyperlink 1198

1196
Introduction to hyperlinks

Introduction to hyperlinks

General points You can use the hyperlink function available in the Unity Pro software to create links
between your project and external documents.

Hyperlinks are shortcuts to such documents as:


z installation and wiring diagrams,
z help screens,
z miscellaneous notes,
z images,
z web pages,
z etc.
For example, in an operator screen, you can associate an alarm that is displayed on
a variable controller to a hyperlink that opens a document explaining the alarm's
characteristics.

Hyperlinks and You can create hyperlinks in the project browser. They will be managed like shortcut
project browser sheets in a directory.

Hyperlinks and You can also create hyperlinks from a comment field. A hyperlink in a comment is
comments used to extend the comment to other data outside the controller project which can
take on all forms to represent the information.
In the Unity Pro functions below, you can create a hyperlink in a comment belonging
to:
z data editor variables,
z the animation tables,
z the operator screens,
z documentation.

1197
Introduction to hyperlinks

Representation and opening of a hyperlink

Representation A hyperlink is represented by an underlined text in blue. When you move the mouse
cursor over the hyperlink, it changes into a hand.

Opening a link Right-click on the underlined part to open the linked document.

1198
Introduction to hyperlinks

A.2 Principles

Introduction

Object of this This sub-section presents the main operate-modes and characteristics of
sub-section hyperlinks.

What's in this This section contains the following topics:


Section?
Topic Page
Definitions 1200
Overview of operate-modes 1201
1-step mode 1202
2-step mode 1203
Description of the Hyperlink Comment Window 1204
Properties 1207
List of barred characters 1208

1199
Introduction to hyperlinks

Definitions

Target document You CANopen the target document by clicking on the hyperlink. There are no
restrictions on the type of document that can be opened. The system simply has to
know the document's suffix. In other words the application at the origin of the
creation of the document or which can view must exists and be available on the
computer.

Hyperlink target The hyperlink target is the tool (software) that is used to open the document. For
example, if the document has a .doc extension, the hyperlink target is Microsoft
Word.
The table below presents the different hyperlink targets depending on the file
extensions. This list is not exhaustive.
File extensions Hyperlink target
.doc Microsoft Word
.xls Microsoft Excel
.txt NotePad
.htm Microsoft Internet Explorer
.html Netscape
.asp WEB browser
.shtml
.bmp Paint
.jpg Paint shop
.gif
.png Microsoft Photo Editor

1200
Introduction to hyperlinks

Overview of operate-modes

Operate-modes There are two operate-modes for creating and accessing a hyperlink:
z 1-step (See 1-step mode, p. 1202)mode,
z 2-step (See 2-step mode, p. 1203)mode.
Each of these modes is applied to specific functions of the P-Unit application.

1201
Introduction to hyperlinks

1-step mode

Principle The 1-step mode is the mode that is available for most Unity Pro functions.
It consists of associating a hyperlink with a comment. The principle of the 1-step
mode is that the target document can be accessed directly with a single click from
the comment. Simply click on the underlined comment to open the linked document.

Available You can create a hyperlink in comments and objects that belong to the following
functions functions:
z In the project browser:
z directories and sub-directories of the browser,
z hyperlink directory.
z In the data editor on:
z elementary variable (EDT) comment,
z function block (DFB/FB) instance comment,
z derived variable (DDT) comment.
z In animation tables on:
z variable (EDT/DDT/FB) comment.
z In operator screens on:
z text graphical object,
z animated text objects with a message.

1202
Introduction to hyperlinks

2-step mode

Principle This mode is described as 2-step because you cannot access the target document
directly. An intermediary window opens (comment editor) before you can access the
hyperlink.

Note: In 2-step mode, you can create several hyperlinks in the comment editor.
You can therefore have different target documents with one hyperlink source

Accessing the 2- The table below describes how to access the 2-step mode:
step mode
Step Action
1 Use the project browser to select the General Information sub-directory of the
Documentation directory.
2 Select Open in the contextual menu.
Result: The General Information (See Description of the Hyperlink Comment
Window, p. 1204) window appears.
3 Click on the underlined comment in blue to open the linked document.

Available You can create a hyperlink with the 2-step mode in comments and objects that
functions belong to the following functions:
z In the project folder:
z general information about the folder.
z In DFB type attributes.

1203
Introduction to hyperlinks

Description of the Hyperlink Comment Window

Illustration In 2-step mode, the General Information or DFB type description window is used
to enter the comment on which the hyperlink will be applied.

Illustration The functions of the icons and elements that make up the window are described in
the paragraphs below.

General information

Hyperlink Comment

Line feed Edit mode OK Cancel

You can modify the text and add hyperlinks 1 0

Toolbar The toolbar is made up of different icons.

The table below presents the various functions of the icons.


Icon Shortcut Description
Ctrl + N Creates a new comment by deleting the comment that has already been
written.

Ctrl + O Opens the dialog box for opening a .htm file to retrieve a hyperlink text
saved on the hard disk in a HTML page outside the controller project.
Note: You can in this way use a hyperlink that has already been created.

1204
Introduction to hyperlinks

Icon Shortcut Description


Ctrl + S Saves the comment and the hyperlink(s) to the hard disk in a HTML
page outside the controller project.
Note: You can in this way save a hyperlink to use again later on. This
function is optional. When you save the controller project, the hyperlink
comments are also saved in the .STU project. You therefore do not need
to save a specific hyperlink comment in an .html page, except if you wish
to use it again later on.
The hyperlink comments are also saved in the STA archive files.
Ctrl + X Cuts the selected text.

Ctrl + C Copies the selected text.

Ctrl + V Pastes the cut or copied text.

Ctrl + Z Undoes the last action.

Repeats the action made before it was canceled.

Ctrl + K Opens the Insert hyperlink dialog box.

Aligns the text of the status bar to the left.

Aligns the text of the status bar to the right.


Note: When you move the mouse over a hyperlink without clicking on it,
the full path name of the document associated with the hyperlink is
displayed in the status bar. However, if the path name is too long, the
status bar will not be large enough to read the name of the document.
The right alignment function can be useful if you want to view the name
of the document associated with a hyperlink.
Cancels and closes the window.

1205
Introduction to hyperlinks

Status Bar The status bar is made up of different elements.

Line feed Edit mode OK Cancel

You can modify the text and add hyperlinks 1 10

The table below presents the various functions of these elements.


Element Description
Automatic line skip with a long comment.
Check to validate this function.
Line feed

Allows the comment to be entered. If you don't check this box, you will not
Edit mode be able to write or modify the comment.
Check to validate this function.
Confirm the editing of the comment.

OK

Cancel.

Cancel

You can modify the text and add hyperlinks

Explains the description of checked boxes.


Shows the position of the cursor in the comment entry field (row - column).
1 0

1206
Introduction to hyperlinks

Properties

Storage Comments with hyperlinks, but not the linked documents, are stored in the
controller. The linked documents may be stored on the hard disk of the programming
station, on the Internet, on an operator terminal or other medium.

Operating modes In the variable editor and folder, you can access the hyperlink in online and offline
modes using the PLC.
You can modify a link while connected to the controller.
In the operator screens, you can create or edit the hyperlink in offline mode and run
it in online mode.

Display When you open the target document, the application at the origin of the creation of
the document or that is used to view the document becomes active. The Unity Pro
window is however not active. The Unity Pro application continues to run as a
background task.
Your actions on the keyboard will be directed to the document that you have just
opened and not to the Unity Pro application.
To make the Unity Pro window active again, click on the window or on the icon in the
taskbar.

Drag / Drop You can Drag & Drop (See Hyperlinks and drag-and-drop, p. 1238) icons between
the file explorer and the hyperlink insertion windows. You can, for example, insert
the full path of the target document.

1207
Introduction to hyperlinks

List of barred characters

Principle When you enter a comment for a hyperlink in the General Information or DFB type
description, window, the characters that are allowed are 8-bit characters of the
ANSI alphabet.
You can write them in the language of your choice within the limits of the alphabet
allowed.

Barred 16-bit UNICODE characters outside the ANSI range are not allowed.
characters

1208
Introduction to hyperlinks

A.3 Hyperlinks in the project browser

Introduction

Object of this This sub-section presents the operate-mode for creating, selecting and deleting a
sub-section hyperlink in the project browser.

What's in this This section contains the following topics:


Section?
Topic Page
Creating a hyperlink in the project browser 1210
Editing the properties of a hyperlink in the project browser 1211
Opening a hyperlink from the project browser 1212
Deleting a hyperlink in the project browser 1213

1209
Introduction to hyperlinks

Creating a hyperlink in the project browser

At a Glance You can create hyperlinks in all the directories and sub-directories of the project
browser. For example, you can create a hyperlink in the Program directory. You can
also create another hyperlink in the Sections sub-directory of the MAST task
directory.

Procedure The table below describes the procedure for creating a hyperlink in the project
browser using an existing directory.
Step Action
1 Select the desired directory in the Project browser:
2 Right-click the selected directory.
Result: The contextual menu appears.
3 Click on Add Hyperlink in the contextual menu.
Result: The Hyperlink Properties dialog box appears.
4 Enter the name of the hyperlink in the User Name field.
5 In the Target Path field:
z use the button to choose the disk and/or the directory to select the target
document (example: C:\Program Files\Office2000\Office\Example) or
z enter the Internet address (example: http://www.schneider-electric.com).
6 If you want to add a comment, select the Comment tab and enter your text in
the entry field.
7 Click OK to confirm your choice.

1210
Introduction to hyperlinks

Editing the properties of a hyperlink in the project browser

Procedure The table below describes the procedure for editing the properties of a hyperlink in
the project browser.
Step Action
1 Select the hyperlink to be edited in the Project browser.
2 Right-click the selected hyperlink.
Result: The contextual menu appears.
3 Click on Properties in the contextual menu.
Result: The Hyperlink Properties dialog box appears.
4 Modify the name of the hyperlink in the User Name field.
5 In the Target Path field:
z use the button to choose the disk and/or the directory to select the target
document (example: c:\Program Files\Schneider Electric\log\example.doc)
or
z Change the Internet address (example: http://www.schneider-electric.com).
6 If you want to add a comment, select the Comment tab and enter your text in
the entry field.
7 Click OK to confirm the changes or Cancel to cancel.

1211
Introduction to hyperlinks

Opening a hyperlink from the project browser

Procedure The table below describes the procedure for opening a hyperlink from the project
browser.
Step Action
1 Select the hyperlink in the Project browser:
2 Double click on the hyperlink Right-click the selected hyperlink.
represented by an icon with the name Result: The contextual menu appears.
3 given to it when it was created. Select Open in the contextual menu.
example:
4 Result: The external document is launched.

1212
Introduction to hyperlinks

Deleting a hyperlink in the project browser

Procedure The table below describes the procedure for deleting a hyperlink in the project
browser.
Step Action
1 Select the hyperlink to be deleted in the Project browser.
2 Right-click the selected hyperlink.
Result: The contextual menu appears.
3 Click Delete in the contextual menu.
Result: The hyperlink disappears.

1213
Introduction to hyperlinks

A.4 Hyperlink in the data editor

Introduction

Object of this This sub-section presents the operate-mode for creating, selecting, editing and
sub-section deleting a hyperlink in the data editor.

What's in this This section contains the following topics:


Section?
Topic Page
Creating a hyperlink in the data editor 1215
Editing a hyperlink in the data editor 1216
Selecting a hyperlink in the data editor 1217
Deleting a hyperlink in the data editor 1218

1214
Introduction to hyperlinks

Creating a hyperlink in the data editor

Procedure The table below describes the procedure for creating a hyperlink in the data editor
with a 1-step mode.
Step Action
1 Open the data editor.
2 Select the comment where you wish to create a hyperlink in the Comment
column of the Variables tab.
3 Right-click the selected comment.
Result: The contextual menu appears.
4 Click on Hyperlink in the contextual menu.
Result: The Edit Hyperlink dialog box appears.
5 The selected comment appears in the Text to display field.
In the Enter name of file or Web page field:
z click to select the target document (example: C:\Program
Files\Office2000\Office\Example) or
z enter the Internet address (example: http://www.schneider-electric.com).
6 Click OK to confirm your choice.

1215
Introduction to hyperlinks

Editing a hyperlink in the data editor

Procedure The table below describes the procedure for modifying the properties of a hyperlink
in the data editor.
Step Action
1 Open the data editor.
2 Select the hyperlink comment to be edited in the Comment column of the
Variables tab.
3 Right-click the selected comment.
Result: The contextual menu appears.
4 Click on Hyperlink in the contextual menu.
Result: The Edit Hyperlink dialog box appears.
5 The selected comment appears in the Text to display field.
In the Type the file or Web page name field:
z click to select the target document (example: C:\Program
Files\Office2000\Office\Example) or
z change the Internet address (example: http://www.schneider-electric.com).
6 Click OK to confirm the changes or Cancel to cancel.

1216
Introduction to hyperlinks

Selecting a hyperlink in the data editor

Procedure The table below describes the procedure for opening a hyperlink in the data editor.
Step Action
1 Open the data editor.
2 In the Comment column of the Variables tab, click on the required hyperlink
(text in blue/mouse cursor changes to a hand).

1217
Introduction to hyperlinks

Deleting a hyperlink in the data editor

Procedure The table below describes the procedure for deleting a hyperlink in the data editor.
Step Action
1 Open the data editor.
2 Select the comment to be deleted in the Comment column of the Variables tab.
3 Right-click the selected comment.
Result: The contextual menu appears.
4 Click on Hyperlink in the contextual menu.
Result: The Edit Hyperlink dialog box appears.
5 Click Delete: the text in the Type the file or Web page name field is deleted.
6 Click OK to confirm your choice. The hyperlink is deleted.

1218
Introduction to hyperlinks

A.5 Hyperlinks in the DFB type attributes

Introduction

Object of this This sub-section presents the operate-mode for creating, editing and deleting a
sub-section hyperlink in the DFB type attributes.

What's in this This section contains the following topics:


Section?
Topic Page
Creating a hyperlink from DFB type attributes 1220
Editing a hyperlink from DFB type attributes 1221
Opening a hyperlink from DFB type attributes 1222
Deleting a hyperlink from DFB type attributes 1223

1219
Introduction to hyperlinks

Creating a hyperlink from DFB type attributes

Procedure The table below describes the procedure for creating a hyperlink from the attributes
(See Attribute list, p. 787) of a DFB type with a 2-step mode. For example, you can
associate an explanatory text with the definition of the DFB type.
Step Action
1 Go to the DFB types (See DFB Type, p. 777) tab of the data editor.
2 Right-click the DFB type that you want to use to create a hyperlink.
Result: The contextual menu appears.
3 Click Properties.
Result: The corresponding dialog box appears on the screen.

4 Click the Description form tab, then l.


Result: The FB type description window appears.
Details of window (See Description of the Hyperlink Comment Window, p. 1204)
5 Enter a comment in the entry field.
6 Select one or more words (contiguous) from the comment you have entered and
click on the icon.
Result: The Edit Hyperlink window appears.
Note: You can create several hyperlinks in this way by selecting different words.
7 The text selected in step 6 appears in the Text to display field.
In the Type the file or Web page name field:
z click to select the target document (example: C:\Program
Files\Office2000\Office\Example) or
z enter the Internet address (example: http://www.schneider-electric.com).
8 Click OK to confirm your choice.

1220
Introduction to hyperlinks

Editing a hyperlink from DFB type attributes

Procedure The table below describes the procedure for editing the properties of a hyperlink in
the attributes of a DFB type.
Step Action
1 Go to the DFB types (See DFB Type, p. 777) tab of the data editor.
2 Right-click the DFB type whose hyperlink you wish to edit.
Result: The contextual menu appears.
3 Click Properties.
Result: The corresponding dialog box appears on the screen.
4 Click on the Description tab.
Result: The DFB type description window appears.
Details of window (See Description of the Hyperlink Comment Window, p. 1204)
5 Right click in the entry field, positioning the mouse on the hyperlink to edit
Result: The contextual menu appears.
6 Click on Edit Hyperlink in the contextual menu.
Result: The Edit Hyperlink window appears.
7 The name of the hyperlink appears in the Text to display field.
In the Type the file or Web page name field:
z click Browse to select the target document (example: C:\Program
Files\Office2000\Office\Example) or
z change the Internet address (example: http://www.schneider-electric.com).
8 Click OK to confirm your choice.

1221
Introduction to hyperlinks

Opening a hyperlink from DFB type attributes

Procedure The table below describes the procedure for opening a hyperlink from DFB type
attributes.
Step Action
1 Go to the DFB types (See DFB Type, p. 777) tab of the data editor.
2 Right-click the DFB type whose hyperlink you wish to select.
Result: The contextual menu appears.
3 Click Properties.
Result: The corresponding dialog box appears on the screen.
4 Click on the Description tab.
Result: The DFB type description window appears.
5 In theDFB type description window, click on the required hyperlink (text
underlined in blue/mouse cursor changes to a hand).

1222
Introduction to hyperlinks

Deleting a hyperlink from DFB type attributes

Procedure The table below describes the procedure for deleting a hyperlink in the attributes of
a DFB type.
Step Action
1 Go to the DFB types (See DFB Type, p. 777) tab of the data editor.
2 Right-click the DFB type whose hyperlink you wish to delete.
Result: The contextual menu appears.
3 Click Properties.
Result: The corresponding dialog box appears on the screen.
4 Click on the Description tab.
Result: The DFB type description window appears.
Details of window (See Description of the Hyperlink Comment Window, p. 1204)
5 Right click in the entry field, positioning the mouse on the hyperlink to be deleted
Result: The contextual menu appears.
6 Click on Delete Hyperlink in the contextual menu.
Result: The Delete Hyperlink window appears.
7 You do not have access to the Text to display or Confirm hyperlink deletion
entry fields.
8 Click OK to confirm your choice or click Cancel to cancel.

1223
Introduction to hyperlinks

A.6 Hyperlinks in animation tables

Introduction

Object of this This sub-section presents the operate-modes for accessing a hyperlink in the
sub-section animation tables.

What's in this This section contains the following topics:


Section?
Topic Page
Creating a hyperlink in an animation table 1225
Editing a hyperlink from an animation table 1226
Selecting a hyperlink from an animation table 1227
Deleting a hyperlink from an animation table 1228

1224
Introduction to hyperlinks

Creating a hyperlink in an animation table

Procedure The following table describes the procedure for creating a hyperlink in a comment
for a variable in an animation table.
Step Action
1 Opening an animation table.
2 Select the variable where the hyperlink is to be created.
3 Select Properties from the contextual menu.
Result: The Data Properties dialog box appears.
4 Enter your comment in the comment line in the value column.
5 Select the comment.
6 Select Hyperlink in the contextual menu.
Result: The Edit Hyperlink window appears.
7 The selected comment appears in the Text to display field.
In the Enter name of file or Web page field:
z click to select the target document (example: C:\Program
Files\Office2000\Office\Example) or
z enter the Internet address (example: http://www.schneider-electric.com).
8 Click OK to confirm your choice.

1225
Introduction to hyperlinks

Editing a hyperlink from an animation table

Procedure The table below describes the procedure for editing the properties of a hyperlink in
an animation table.
Step Action
1 Opening an animation table.
2 Select the variable where the hyperlink is located in the comment.
3 Select Properties from the contextual menu.
Result: The corresponding dialog box appears on the screen.
4 Select the comment.
5 Select Edit Hyperlink in the contextual menu.
Result: The Edit Hyperlink window appears.
6 The name of the hyperlink appears in the Text to display field.
In the Type the file or Web page name field:
z click Browse to select the target document (example: C:\Program
Files\Office2000\Office\Example) or
z change the Internet address (example: http://www.schneider-electric.com).
7 Click OK to confirm your choice.

1226
Introduction to hyperlinks

Selecting a hyperlink from an animation table

Principle In an animation table, you can open a hyperlink associated with a variable comment.

Procedure The table below describes the procedure for opening a hyperlink in animation tables.
Step Action
1 Open an animation table.
2 In the Comment column, double-click on the hyperlink for the selected variable.

1227
Introduction to hyperlinks

Deleting a hyperlink from an animation table

Procedure The following table describes the procedure for deleting a hyperlink in a comment
for a variable in an animation table.

Note: This procedure is only possible if the hyperlink was created (See Procedure,
p. 1225) from the Data Properties window.

Step Action
1 After creating (See Procedure, p. 1225) a hyperlink in a comment for a variable,
the Data Properties window remains open.
2 Select the comment from which the hyperlink is to be deleted.
3 Select Delete Hyperlink in the contextual menu.

1228
Introduction to hyperlinks

A.7 Hyperlinks in runtime screens

Introduction

Object of this This sub-section presents the operate-mode for creating, editing and deleting a
sub-section hyperlink in runtime screens.

What's in this This section contains the following topics:


Section?
Topic Page
Creating a hyperlink from operator screens 1230
Editing a hyperlink in the operator screens 1231
Selecting a hyperlink in an operator screen 1232
Deleting a hyperlink in an operator screen 1233

1229
Introduction to hyperlinks

Creating a hyperlink from operator screens

Procedure The table below describes the procedure for creating a hyperlink in operator
screens.
Step Action
1 Open an operator screen.
2 Select a Text object or create one.
3 Select Properties in the contextual menu.
Result: The following window appears.
4 Click on the icon of the Text tab.
Result: The Insert Hyperlink window appears.
5 The text specified in the Text tab appears in the Text to display field.
In the Type the file or Web page name field:
z select the target document (C:\Program Files\Office2000\Office\Example) by
using the button or
z enter the Internet address (example: http://www.schneider-electric.com).
6 Click OK to confirm your choice.

1230
Introduction to hyperlinks

Editing a hyperlink in the operator screens

Procedure The table below describes the procedure for editing the properties of a hyperlink in
an operator screen object.
Step Action
1 Open the operator screen.
2 Select the Text object to be edited.
3 Select Properties in the contextual menu.
Result: The following window appears.
4 Click on the icon of the Text tab.
Result: The Insert Hyperlink window is displayed.
5 The text of the Text tab appears in the Text to display field.
In the Type the filename or web page name field:
z use the button to choose the disk and/or the directory to modify the target
document (example: C:\Program Files\Office2000\Office\Example) or
z change the Internet address (example: http://www.schneider-electric.com).
6 Click OK to confirm the changes or Cancel to cancel.

1231
Introduction to hyperlinks

Selecting a hyperlink in an operator screen

Procedure The table below describes the procedure for opening a hyperlink in an operator
screen.
Step Action
1 Open an operator screen.
2 Click on the underlined text and the mouse cursor is changed into a thumbnail.
Result: The document associated with the hyperlink is opened.

1232
Introduction to hyperlinks

Deleting a hyperlink in an operator screen

Procedure The table below describes the procedure for deleting a hyperlink in an operator
screen.
Step Action
1 Open the operator screen.
2 Select the Text object or hyperlink to be deleted.
3 Select Properties in the contextual menu.
Result: The following window appears.
4 Click on the icon of the Text tab.
Result: The Insert Hyperlink dialog box appears.
5 Click Clear: the text in the Type the file or Web page name field is cleared.
6 Click OK to confirm your choice. The hyperlink is deleted.

1233
Introduction to hyperlinks

A.8 Hyperlinks in the documentation folder

Introduction

Object of this This sub-section presents the operate-mode for creating, editing and deleting a
sub-section hyperlink in the documentation folder of a Unity Pro project.

What's in this This section contains the following topics:


Section?
Topic Page
Creating a hyperlink in the general information of the project folder 1235
Editing a hyperlink in the documentation folder 1236
Deleting a hyperlink in the documentation folder 1237

1234
Introduction to hyperlinks

Creating a hyperlink in the general information of the project folder

Principle The hyperlink functionality is also used to make links to documents for printing in
the documentation folder of a Unity Pro project. For example, they can be used to
present the architecture of a project.
You can in this way create a hyperlink from General Information sections of the
documentation folder. These are image documents (.bmp) and you can print them
in the General Information section of the documentation folder.

Procedure The table below describes the procedure for creating a hyperlink in the
documentation folder with a 2-step mode.
Step Action
1 Use the project browser to select the General Information sub-directory of the
Documentation directory.
2 Select Open in the contextual menu.
Result: The General Information window appears.
Details of window (See Description of the Hyperlink Comment Window, p. 1204)
3 Enter a comment in the entry field.
4 Select one or more words (contiguous) from the comment you have entered and
click on the icon .
Result: The Insert Hyperlink window is displayed.
Note: You can create several hyperlinks in this way by selecting different words.
5 The text selected in step 4 appears in the Text to display field.
In the Type the filename or web page name field, use the button to choose
the disk and/or the directory to select the target document (example:
C:\Images\structure1.bmp).
6 Click OK to confirm your choice.

1235
Introduction to hyperlinks

Editing a hyperlink in the documentation folder

Procedure The table below describes the procedure for editing the properties of a hyperlink in
the general information section of the documentation folder.
Step Action
1 Use the project browser to select the General Information sub-directory of the
Documentation directory.
2 Select Open in the contextual menu.
Result: The General Information window appears.
Details of window (See Description of the Hyperlink Comment Window, p. 1204)
3 Right click in the entry field, positioning the mouse on the hyperlink to edit
Result: The contextual menu appears.
4 Click on Edit Hyperlink in the contextual menu.
Result: The Edit Hyperlink window appears.
5 The name of the hyperlink appears in the Text to display field.
In the Type the file or Web page name field, use the button to select the target
document (example: C:\Images\structure1.bmp).
6 Click OK to confirm your choice.

1236
Introduction to hyperlinks

Deleting a hyperlink in the documentation folder

Procedure The table below describes the procedure for deleting a hyperlink in the general
information section of the documentation folder.
Step Action
1 Use the project browser to select the General Information sub-directory of the
Documentation directory.
2 Select Open in the contextual menu.
Result: The General Information window appears.
Details of window (See Description of the Hyperlink Comment Window, p. 1204)
3 Right click in the entry field, positioning the mouse on the hyperlink to be deleted
Result: The contextual menu appears.
4 Click on Delete Hyperlink in the contextual menu.
Result: The Delete Hyperlink window appears.
5 You do not have access to the Text to display or Confirm hyperlink deletion
entry fields.
6 Click OK to confirm your choice or click Cancel to cancel.

1237
Introduction to hyperlinks

A.9 Hyperlinks and drag-and-drop

Drag/drop

Principle You can use the drag/drop function to create a hyperlink. This function can be used
to:
z drag and drop the path name of the target document between the explorer and
the Hyperlink Properties, Edit Hyperlink or Insert Hyperlink dialog boxes,
z drag and drop a word or expression between a text document and the comment
in the General Information window.

Note: only paths for .bmp fillies can be used for drag and drop.

Procedure The table below shows the procedure for dragging/dropping between the explorer
and the Hyperlink Properties, Insert Hyperlink or Edit Hyperlink dialog boxes.
Step Action
1 Locate the target document in the explorer.
2 In Unity Pro, open either the Hyperlink Properties, Edit Hyperlink or Insert
Hyperlink dialog box.
3 Size and move the Unity Pro and explorer windows so they are displayed side
by side on the screen without overlapping.
4 Drag and drop the file representing the target document between the explorer
and the Type the file or Web page name field of the dialog box (image.bmp in
our example).
Result: The entire path of the target document appears in the Type the file or
Web page name field.

1238
Introduction to hyperlinks

Procedure The table below shows the procedure for dragging and dropping between a text file
and the General Information dialog box.
Step Action
1 In Unity Pro, open the General Information window from the Documentation
directory.
2 Open the text file.
3 Size the Unity Pro and explorer windows to display them side by side on the
screen.
4 Select the text to be moved in the text file.
5 Drag and drop a word or expression between the General Information window
and a word-processing application.
Result: The text selected appears in the Hyperlink field.
Note: If you press and hold down the Ctrl key, a "+" sign will appear on the
mouse cursor. When you drop the expression or word ("Hyperlink" in this case),
it will be copied and not moved from the word processor to the comment editor.

1239
Introduction to hyperlinks

1240
User Interface

B
Introduction

Overview This chapter describes the Unity Pro user interface. It provides an overview of the
elements used and how they are used.

What's in this This chapter contains the following topics:


Chapter?
Topic Page
Window 1242
Anchored window 1243
Menus 1244
Menu commands 1245
Toolbar 1247
Output windows 1251
Status bar 1253
Directory Structures 1254
Data selection boxes 1257
Dialog boxes 1258

1241
User Interface

Window

Introduction In Windows there are two types of windows:


z Application windows
z Documentation windows
Windows consist of:
z a title bar to move the window and to change its size
z Buttons to display the window as a symbol, to minimize, maximize and close.
z the actual contents of the window
Types of windows:

Application When you start Unity Pro, an application window will open on your desktop. You can
windows place the application window at any location on your desktop. Or you can minimize
it so that it appears in your taskbar.
In this application window you can open or create a project. In the title bar of the
application window the name of the project appears.

Documentation When you open or create a project you can open various documentation windows.
windows For example, documentation windows are sections, where you create your
application or the documentation window for the Data Editor.
The information contained in documentation windows is separated into different
areas. The different areas in a dialog box can be selected using the F6 key.
If the amount of information contained in a documentation window is too complex to
be displayed in one documentation window, the documentation window is split into
several tabs. The different tabs can be selected using the Ctrl+Tab key
combination.
Several documentation windows can be open at the same time, but only one
documentation window can be active. An active documentation window is marked
by the color of the title bar. Depending on the documentation window the menu
commands in the pulldown menu (See Menus, p. 1244) and the toolbar (See
Toolbar, p. 1247) change.
If several windows are open at the same time you can switch between them using
the key combination Ctrl+F6.
An exception to this are anchored windows (See Anchored window, p. 1243)

1242
User Interface

Anchored window

Introduction Anchored windows have basically the same function as standard windows with the
difference that they can be anchored in certain positions. Anchored windows can
also be freely positioned on the screen (also outside of the application window).

Build Anchored windows consist of:


z a title bar to move the window and to change its size
z a button to prevent anchoring ()
z a button to close the window ( x )
z the actual contents of the window

Function Anchored windows have the following extra functions in comparison to standard
windows:
z They can be anchored to the edge of the application window.
z They can be positioned outside of the application window.
z The menu commands in the Window (like e.g. Arrange) do not affect the
anchored window.

Anchoring Process the following steps to anchor a window:


windows
Step Action
1 Click the title bar of the anchored window and keep the mouse button pressed.
2 Drag the window close to an application window edge.
Result: The window frame displays the future position of the window.
3 Release the mouse button.
Result: The window is anchored to the selected edge.
On the new position, the window is
z anchored
when the new position of the window is on the border or outside of the
application window.
z not anchored
when the new position of the window is inside the application window
or
when the new position of the window is on the border or outside of the
application window, but the Ctrl key was held when releasing the mouse
button.

1243
User Interface

Menus

Introduction There are 3 types of menus:


1. Main or pulldown menus
2. Submenus
3. Shortcut or popup menus

Main or pulldown The titles of the individual menus are displayed in the menu bar. The individual menu
menus commands (See Menu commands, p. 1245) are listed in the pulldown menus.
A pulldown menu is opened by left-clicking on the title of the menu or by pressing
Alt+selected letter (underlined letter (See Keyboard shortcuts or mnemonics,
p. 1245)). To go directly to a menu command, drag the mouse pointer down the
menu and then release the mouse button. The menu can be closed by clicking on
the title of the menu or anywhere outside of the menu or by pressing Esc.

Submenus The title of a submenu is a menu command (See Menu commands, p. 1245) of the
menu above it. The individual menu commands for the submenu are listed in a
pulldown menu. Menu commands which contain a submenu can be recognized by
an arrow icon.
You can open a submenu by clicking on the menu title (left mouse button) or by
placing the mouse pointer on the menu title for a short time. The menu can be closed
by clicking on the title of the menu or anywhere outside of the menu or by pressing
Esc.

Shortcut or Shortcut menus are menus which contain menu commands (See Menu commands,
popup menus p. 1245) specially for the selected object.
You can open a shortcut menu by clicking on the object (right mouse button) or
selecting the object and confirming with Shift + F10 or press the key. The menu can
be closed by clicking anywhere outside of the menu or by pressing Esc.
Shortcut menus can also be called if several objects are selected. In this case, the
menu only contains the menu commands which are valid for all objects.

1244
User Interface

Menu commands

Introduction Menu commands are used to execute commands or to call dialog boxes.

Keyboard Keyboard shortcuts (underlined letters) in menu commands allow you to select
shortcuts or menu commands using the keyboard. A main menu (menu title) and subsequently
mnemonics a menu command can be selected by holding down Alt and simultaneously entering
the underlined letter in the menu title and then that of the menu command.
For example, in the File you want to use the menu command Save... you must press
Alt+D to open the menu and then Alt+S to execute the menu command.

Grayed out menu If a menu command is not available it is grayed out. One or more other commands
command must be executed before the desired menu command can be executed.

Decimals () after On execution of this menu command a dialog box is opened with options, which
the menu must be selected before execution.
command

Check mark (√) The menu command is active. If the menu command is selected the check mark
before the menu disappears and the menu command is inactive. The check mark is mostly used to
command identify active modes (e.g. normal display, dial in mode etc.).

Shortcut keys Shortcut keys (e.g. F8) or key combinations (e.g. Ctrl+R) after the menu command
is a shortcut way for executing the menu command. You can select the menu
command using this shortcut key or key combination without having to open the
menu. For example, Strg+S to execute the menu command Save.

1245
User Interface

Starting external Process the following steps to launch external applications from Unity Pro:
applications
Step Action
1 (See Calling the dialog box, p. 379)In Customize open the dialog box for the
Tools tab.
2 Click the Add button.
3 Enter the name of the menu command to be created in the Menu Text text box.
4 Enter the path of the file to be opened in the Command text box, or open a
selection dialog box using the ... using the button.
5 Enter (if required) the arguments to be handed over when the application is
started in the Arguments text box.
6 Enter (if required) the application working directory path in the Initial directory
text box, or open a selection dialog box using the ... button open a selection
dialog box.
7 Confirm the entries with OK.
Result: A menu command for starting the selected application is created in the
Tools main menu.

1246
User Interface

Toolbar

Introduction Toolbars allow you to quickly locate and execute frequently used functions.
Instead of opening a menu and then selecting the menu command, toolbars allow
you to simply click the respective symbol to execute the desired command.
The software provides you with various standard toolbars. In addition, you can also
create your own toolbar.

Build Toolbars consist of a row of buttons and combo boxes that call the corresponding
functions.
There are several toolbars and they are displayed in a common toolbar.
The individual toolbars are separated using a separator.
For all items in a toolbar a tooltip can be displayed.

Available Standard toolbars are divided into two groups:


toolbars z Main menu toolbars
These toolbars contain the general, i.e. non-context sensitive symbols.
All available main menu toolbars are displayed when starting the software.
z Context sensitive toolbars
These toolbars contain the context sensitive symbols.
The context sensitive toolbars are automatically shown in the active editor.
Depending on the screen resolution it is possible that not all toolbars are visible in
the application window.
In this case you have the option to hide the non-required toolbars, or to reposition
the toolbars.

1247
User Interface

Main menu The following main menu toolbars are available by default:
toolbars
Name Contained functions
File New project, Open, Save, Print
Edit Copy, Delete, Paste, Undo, Redo, Validate, Minimize, Maximize, Full
screen, Go to
Services Analyse project, Generate project, Re generate entire project, Project
browser, Start search, Type library manager
PLC Transfer Project to PLC, Transfer Project from PLC, Connect,
Disconnect, Start, Stop, Start/Stop Animation, Standard mode,
Simulation mode
Window Cascade, Tile Horizontally, Tile Vertically
Help Help, What's This
Debug Set Breakpoint, Clear Breakpoint, Start, Step Over, Step Into, Step
Out, Show Current Step, Display call stack
Watchpoint Set Watchpoint, Clear Watchpoint, Show Watchpoint, Synchronize
Animation Table, Refresh counter
Note: This toolbar is only displayed when a programming language
editor is active.
Project Browser Structural view, Functional view, Vertical views, Horizontal views,
Zoom Out

Showing and You have three options to hide a toolbar (to close it):
hiding 1. Right-click in the common toolbar and deselect the 'undesired' toolbar from the
shortcut menu.
2. Open the Customize dialog box using Tools → Customize and deselect the
'undesired' toolbar.
3. For non-anchored toolbars with the close symbol ( x ).

You have two options to show a toolbar (to open it):


1. Right-click in the common toolbar and select the 'desired' toolbar from the
shortcut menu.
2. Open the Customize dialog box using Tools → Customize and select the
'desired' toolbar.

Possible Toolbars can be anchored in the common toolbar (standard) or in different positions
positions inside the application window. Toolbars can also be freely positioned on the screen
(also outside of the application window).

1248
User Interface

Changing the Process the following steps to change the position of a toolbar:
position of a
Step Action
toolbar
1 Click the toolbar separator and hold the mouse button down.
2 Drag the toolbar to the target position inside or outside the common toolbar.
Result: The window frame displays the intended position of the toolbar.
3 Release the mouse button.
Result: The toolbar is moved to the target position.
On the new position, the toolbar is
z anchored (See Anchored window, p. 1243),
when the new position of the toolbar is on the border or outside of the
application window
z not anchored (See Anchored window, p. 1243),
when the new position of the toolbar is inside the application window
or
when the new position of the toolbar is on the border or outside of the
application window, but the Ctrl key was held when releasing the mouse
button

Modifying the Process the following steps to modify the contents of a toolbar:
contents of a
Step Action
toolbar
1 Open the Customize dialog box, see also Calling the dialog box, p. 379.
2 Click the symbol to be moved in the source toolbar and hold the mouse button
down.
3 Drag the symbol to the target position within the destination toolbar.
Result: A frame displays the intended position in the toolbar.
4 Release the mouse button.
Result: The symbol is removed from the source toolbar and inserted into the
destination toolbar.
5 Click OK to confirm the modification(s).
Note: If symbols are moved from context sensitive toolbars into the main menu
toolbar, the symbols are inactive as long as the respective editor is inactive.

1249
User Interface

Restoring Process the following steps to restore the original state of a toolbar:
toolbars
Step Action
1 Open the Customize dialog box, see also Calling the dialog box, p. 379.
2 In the Toolbars list box, select the toolbar to be restored.
3 Click the Reset command button.
Result: The original state of the toolbar is restored.

Creating your Process the following steps to create your own toolbars:
own toolbars
Step Action
1 Note: New symbols cannot be created. Only existing symbols can be removed
from toolbars and inserted into new toolbars.

Open the Customize dialog box, see also Calling the dialog box, p. 379.
2 Click New....
Result: A dialog for defining the toolbar name is opened.
3 Enter a name and confirm with OK.
Result: An empty toolbar is created and the name of the toolbar appears in the
toolbar list.
4 Click the symbol to be moved in the source toolbar and hold the mouse button
down.
5 Drag the symbol to the target position within the new toolbar.
Result: A frame displays the intended position in the toolbar.
6 Release the mouse button.
Result: The symbol is removed from the source toolbar and inserted into the
destination toolbar.
7 Click OK to confirm the modification(s).
Note: If symbols are moved from context sensitive toolbars into the main menu
toolbar, the symbols are inactive as long as the respective editor is inactive.
8 Drag the new toolbar to the target position, see also Changing the position of a
toolbar, p. 1249.

1250
User Interface

Output windows

Introduction The output window displays information about the different processes (generate,
import/export, user error, search/replace).
The output window is an anchored window (See Anchored window, p. 1243).
The output window is displayed at the bottom of the Unity Pro window by default.
If the output window is closed, it can be opened using:
z the View → Output Window menu command
or
z the Alt+0 key combination.

Build The output window consists of various output sheets. Each sheet corresponds to a
tab.
Representation of an output window:
The output sheets display the results of an executed action or error messages.
Double-clicking an error message will open the respective editor and mark the
"faulty" entry.
New error entries are displayed in red, already checked errors are displayed in blue.
Available output sheets:
Output sheet Function
Analyze and generate Displays analyze and generate errors.
Double-clicking an error entry directly accesses the faulty
programming language section, the faulty configuration or the faulty
data.
Import/Export Displays import and export errors
Double-clicking an error entry directly accesses the error in the
source file.
User error Displays the user error.
Search/Replace Displays the result of the search and/or replace operation.
Double-clicking an entry directly accesses the searched for entry in
the programming language section, in the configuration or in the
data.
Comparison Displays the comparison information.

Every output sheet has a shortcut menu (right-click).

Copy Copies the selected text to the clipboard.

Delete Deletes the entire contents of the output sheet.

1251
User Interface

Go to previous Jumps to the previous line and calls the faulty programming language section, the
error faulty configuration or the faulty data.
This function can also be accessed pressing the Ctrl+F10 key combination.

Go to next error Jumps to the next line and calls the faulty programming language section, the faulty
configuration or the faulty data.
This function can also be accessed pressing the F10 key.

Go to error Calls the faulty programming language section, the faulty configuration or the faulty
data as indicated in the current line.

Print Prints the contents of the output sheet.

1252
User Interface

Status bar

Introduction The status bar displays information about the current project on the PC, about the
PLC and about the software status.

Build The status bar is built from the following displays:


1. Information area for displaying menu information
2. Displays the current HMI access rights (only available in Unity Pro XL)
3. Link status (Offline, Different, Equal)
4. Initial value in the project is different/modified from initial value on the PLC
5. PLC status (Running, Stopped, ...)
6. ETS Information (Empty Terminal Support)
7. Address of the connected PLC
8. Line and column information (only available in the programming language
editors)
9. Generate status (Generated, Not Built)
10.Event information
If a fatal error occurs on the PLC, it is displayed by an error window. Click the
button to see a dialog box that provides details about the error.
11.Indicates whether insert or overwrite mode is active.
12.Indicates whether the Caps lock button is active.

1253
User Interface

Directory Structures

Introduction Directory structures are used to display and edit hierarchical lists with several
columns. Directory structures are combinations of directory trees and lists.

Example of use In the Data Editor, directory structures are used to display the hierarchy between
variable instances, variable types, structure elements, etc.

Meaning of the The text colors have the following meaning:


text colors
Text color Meaning
black Information is correct and can be edited
gray Information is correct and write protected
red Information is incorrect

Modes There are two different modes for directory structures:


z Select mode
One or more lines are selected or a cell is selected.
In this mode, you can move between all lines and cells.
z Edit mode
The current cell is opened for editing.
Texts can be edited.
Switching from the selection mode to the edit mode is done by pressing the Enter
key or by entering a character, see the Open editing session by holding down the
character key check box in the Dates and Languages, p. 375 dialog box.
Switching from edit mode to selection mode is done by pressing the Enter key or by
pressing an error key.

1254
User Interface

Mouse functions The following mouse functions are available:


Mouse function In select mode In edit mode
Click on links z Click +/- button: z Click +/- button:
Open/close the substructure. Saves the information entered
z Click on cell: (if valid) and opens/closes the
Selects the lines in the cell substructure.
clicked and the cell becomes z Click on cell:
the current cell. Saves the information entered
z Click on check box: (if valid) and selects the lines in
Activate/deactivate the check the cell clicked.
box z Click on check box:
z Click on icon: Saves the information entered
- (if valid) and activates/
deactivates the check box
z Click on icon:
Saves the information entered
(if valid).
Double-click on z Double-click on names: z Double-click on names:
links Selects the lines in the cell Saves the information entered
clicked and opens the cell in (if valid) and selects the lines in
edit mode. the cell clicked und opens the
z Double-click on the vertical line cell in edit mode.
in the column header: z Double-click on the vertical line
Column width is adjusted to the in the column header:
current contents. Saves the information entered
z Double-click on the column (if valid) and the column width
header cell: is adjusted to the current
Lists are sorted according to contents.
column contents z Double-click on the column
header cell:
Saves the information entered
(if valid) and lists will be sorted
according to the column
contents.
SHIFT+Click on Selects consecutive elements. Saves the information entered (if
links The first and last element selected valid) and selects the lines in the
and all elements in between are cell clicked.
marked.
Right click Opens the shortcut menu (if Saves the information entered (if
available) for the object currently valid) and selects the lines in the
being clicked. cell clicked.

1255
User Interface

Key functions The following key functions are available:


Key function In select mode In edit mode
Enter Opens the current cell in edit Saves the information entered (if valid).
mode
Esc - Ends edit mode without saving.
Up arrow Deselects the current cell and Saves the information entered (if valid),
selects the previous cell (upward). deselects the current cells and selects
the previous cell (upwards).
Cursor down Deselects the current cell and Saves the information entered (if valid),
selects the next cell (downwards). deselects the current cells and selects
the previous cell (downwards).
Left arrow Deselects the current cell and Saves the information entered (if valid),
selects the previous cell (left). deselects the current cells and selects
the previous cell (to the left).
Right arrow Deselects the current cell and Saves the information entered (if valid),
selects the next cell (right). deselects the current cells and selects
the next cell (to the right).
Shift+Up Selects multiple lines in upward -
arrow direction.
Shift+Down Selects multiple lines in downward -
arrow direction.
+ Open the substructure. -
- Close the substructure. -
Character Goes to the next lines in which the -
contents begin with that character.
Exceptions: +, - and space.
F2 Opens the current cell in edit -
mode
Insert Adds an empty line before the -
selected line.
Home The first cell in the selected line Sets the insertion point at the beginning
becomes the current cell. of the current line.
Ctrl+Home Selects the first line in the table Sets the insertion point at the beginning
and the first cell becomes the of the first line.
current cell.
End The last cell in the selected line Sets the insertion point at the end of the
becomes the current cell. current line.
Ctrl+End Selects the last line in the table Sets the insertion point at the end of the
and the first cell becomes the last line.
current cell.

1256
User Interface

Data selection boxes

Introduction Data selection boxes are used to select compatible, already defined data from a list
or to select from a list of previous entries.
In this case, "data" means instances and types of variables and instances and types
of functions and function blocks.

Build Data selection boxes consist of:


z a combined text selection and text entry field
z a button to open the selection list ()
z a button to open the data selection dialog box ( ... )
z a button to close the data selection dialog box and delete the () data
z a button to close the data selection dialog box and transfer the () data

Examples of use In the language editors, data selection boxes are used to select variables with the
correct data type.

Data entry There are three options for data entry:


1. Enter the name if known or enter the first letter(s) in the text box.
The system works with a context dependent background list which automatically
completes the characters entered with the first compatible name.
2. Selecting the name in the list box.
When entering the first letters of the name being searched in the text box, the list
box receives an alphabetic list of names that correspond to this entry.
Without entering the first letters, the list box contains a list of previous entries.
3. Open the data selection dialog box using the ( ... ).

Accepting data With the Enter key or the button, the entry is acknowledged and accepted after
having been confirmed successfully.

Cancel The entry can be canceled using the Esc key or the button.

1257
User Interface

Dialog boxes

Introduction Dialog boxes are displayed if additional information is required from you in order to
perform a particular task. Information that you may require is also communicated in
this way.
Most dialog boxes contain options which can be selected, text boxes in which text
can be entered, and buttons which can be pressed.
Grayed out options are currently not available. One or more other commands must
be executed, or options selected or deselected, before the desired option can be
activated.
The information contained in dialog boxes is separated into different areas. The
different area in a dialog box can be selected using the F6 key.

Tab If the amount of information contained in a dialog box is too complex to be displayed
in one dialog box, the dialog box is split into several tabs.
The different tabs in a dialog box can be selected using the Ctrl+Tab key
combination.

button buttons are used to initiate actions immediately, e.g. executing or aborting a
command. buttons are e.g. OK, Cancel and Apply.
buttons followed by three dots (...), open another dialog box. A button with a "greater
than" sign (>>) extends the active dialog box.
The default setting is identified by a darker border. This default button can also be
selected by pressing Enter.
If the name of the button contains an underlined letter, the button can be activated
from any position in the dialog box by holding down the Alt key and entering the
underlined letter.
To close a dialog box without executing a command, select the Cancel button.

Text box Information (text) is entered in a text box.


If you go to an empty text box the cursor appears in the far left of the box. The
entered text begins at the cursor position. If text is already present within the
respective text box, the text will be selected and replaced by the new text
automatically. The text can, however, also be deleted by pressing the Del or
backspace key.
If the name of the text box contains an underlined letter, the text box can be activated
from any position in the dialog box by holding down the Alt key and entering the
underlined letter.

1258
User Interface

List box The available options to select are given in list form in a list box. If more options are
available than fit into the list, then the scrollbar or arrow keys can be used to move
around the list.
Normally only a single entry can be chosen form the list. There are, however, some
cases in which several entries can be chosen, e.g. when opening sections.
If the name of the list box contains an underlined letter, the list box can be activated
from any position in the dialog box by holding down the Alt key and entering the
underlined letter.

Single line list A single line list box initially appears as a rectangular box, in which the current
boxes selection (the default value) is selected. If the arrow in the right of the box is selected,
a list of the available options to select opens. If more options are available than fit
into the list, then the scrollbar or arrow keys can be used to move around the list.
If the name of the list box contains an underlined letter, the list box can be activated
from any position in the dialog box by holding down the Alt key and entering the
underlined letter.

Data selection See section Data selection boxes, p. 1257


boxes

Directory See section Directory Structures, p. 1254


structures

Option buttons Option buttons represent mutually exclusive options. In each case only one option
can be chosen.
The selected option button is identified by a black dot.
If the option name contains an underlined letter, the option button can be activated
from any position in the dialog box by holding down the Alt key and entering the
underlined letter.

Check boxes A checkbox next to an option means that the option can be activated or deactivated.
Any number of checkbox options can be activated.
Activated options are identified by an X or a check mark ( √ ).
If the name of the option contains an underlined letter, the checkbox can be
activated from any position in the dialog box by holding down the Alt key and
entering the underlined letter.

1259
User Interface

1260
Glossary

%I According to the IEC standard, %I indicates a discrete input-type language object.

%IW According to the IEC standard, %IW indicates an analog input -type language object.

%KW According to the IEC standard, %KW indicates a constant word-type language object.

%M According to the IEC standard, %M indicates a memory bit-type language object.

%MW According to the IEC standard, %MW indicates a memory word-type language object.

%Q According to the IEC standard, %Q indicates a discrete output-type language object.

%QW According to the IEC standard, %QW indicates an analog output-type language
object.

Animating the This is also called power flow, and refers to a type of animation used with Ladder
links language and the function blocks. The links are displayed in red, green or black
according to the variables connected.

ANY There is a hierarchy between the different types of data. In the DFB, it is sometimes
possible to declare which variables can contain several types of values. Here, we
use ANY_xxx types.
The following diagram shows the hierarchically-ordered structure:

ARRAY An ARRAY is a table of elements of the same type.


The syntax is as follows: ARRAY [<terminals>] OF <Type>
Example:
ARRAY [1..2] OF BOOL is a one-dimensional table made up of two BOOL-type
elements.
ARRAY [1..10, 1..20] OF INT is a two-dimensional table made up of 10x20
INT-type elements.

1261
Glossary

ASCII ASCII is the abbreviation of American Standard Code for Information Interchange.
This is an American code (but which has become an international standard) that
uses 7 bits to define every alphanumerical character used in English, punctuation
symbols, certain graphic characters and other miscellaneous commands.

Auxiliary tasks Optional periodic tasks used to process procedures that do not require fast
processing: measurement, adjustment, diagnostic aid, etc.

Base 10 literals A literal value in base 10 is used to represent a decimal integer value. This value can
be preceded by the signs "+" and "-". If the character "_" is employed in this literal
value, it is not significant.
Example:
-12, 0, 123_456, +986

Base 16 literals An literal value in base 16 is used to represent an integer in hexadecimal. The base
is determined by the number "16" and the sign "#". The signs "+" and "-" are not
allowed. For greater clarity when reading, you can use the sign "_" between bits.
Example:
16#F_F or 16#FF (in decimal 255)
16#F_F or 16#FF (in decimal 224)

Base 2 literals A literal value in base 2 is used to represent a binary integer. The base is determined
by the number "2" and the sign "#". The signs "+" and "-" are not allowed. For greater
clarity when reading, you can use the sign "_" between bits.
Example:
2#1111_1111 or 2#11111111 (in decimal 255)
2#1110_0000 or 2#11100000 (in decimal 224)

Base 8 literals A literal value in base 8 is used to represent an octal integer. The base is determined
by the number "8" and the sign "#". The signs "+" and "-" are not allowed. For greater
clarity when reading, you can use the sign "_" between bits.
Example:
8#3_77 or 8#377 (in decimal 255)
8#34_0 or 8#340 (in decimal 224)

BCD The Binary Coded Decimal (BCD) format is used to represent decimal numbers
between 0 and 9 using a group of four bits (half-byte).
In this format, the four bits used to code the decimal numbers have a range of
unused combinations.
Example of BCD coding:
z the number 2450
z is coded: 0010 0100 0101 0000

1262
Glossary

BIT This is a binary unit for a quantity of information which can represent two distinct
values (or statuses): 0 or 1.

BOOL BOOL is the abbreviation of Boolean type. This is the elementary data item in
computing. A BOOL type variable has a value of either: 0 (FALSE) or 1 (TRUE).
A BOOL type word extract bit, for example: %MW10.4.

Break point Used in the "debug" mode of the application.


It is unique (one at a time) and, when reached, signals to the processor to stop the
program run.
Used in connected mode, it can be positioned in one of the following program
elements:
z LD network,
z Structured Text Sequence or Instruction List,
z Structured Text Line (Line mode).

BYTE When 8 bits are put together, this is callad a BYTE. A BYTE is either entered in
binary, or in base 8.
The BYTE type is coded in an 8 bit format, which, in hexadecimal, ranges from
16#00 to 16#FF

Constants An INT, DINT or REAL type variable located in the constant field (%K), or variables
used in direct addressing (%KW, %KD or %KF). The contents of these cannot be
modified by the program during execution.

CPU Is the abbreviation of Control Processing Unit.


This is the microprocessor. It is made up of the control unit combined with the
arithmetic unit. The aim of the control unit is to extract the instruction to be executed
and the data needed to execute this instruction from the central memory, to establish
electrical connections in the arithmetic unit and logic, and to run the processing of
this data in this unit. We can sometimes find ROM or RAM memories included in the
same chip, or even I/O interfaces or buffers.

Cyclic execution The master task is executed either cyclically or periodically. Cyclical execution
consists of stringing cycles together one after the other with no waiting time between
the cycles.

1263
Glossary

DATE The DATE type coded in BCD in 32 bit format contains the following information:
z the year coded in a 16-bit field,
z the month coded in an 8-bit field,
z the day coded in an 8-bit field.
The DATE type is entered as follows: D#<Year>-<Month>-<Day>
This table shows the lower/upper limits in each field:

Field Limits Comment


Year [1990,2099] Year
Month [01,12] The left 0 is always displayed, but can be omitted at the time of entry
Day [01,31] For the months 01\03\05\07\08\10\12
[01,30] For the months 04\06\09\11
[01,29] For the month 02 (leap years)
[01,28] For the month 02 (non leap years)

DATE_AND_TIM see DT
E

DBCD Representation of a Double BCD-format double integer.


The Binary Coded Decimal (BCD) format is used to represent decimal numbers
between 0 and 9 using a group of four bits.
In this format, the four bits used to code the decimal numbers have a range of
unused combinations.
Example of DBCD coding:
z the number 78993016
z is coded: 0111 1000 1001 1001 0011 0000 0001 0110

DDT DDT is the abbreviation of Derived Data Type.


A derived data type is a set of elements of the same type (ARRAY) or of various types
(structure)

DFB DFB is the abbrevation of Derived Function Block.


DFB types are function blocks that can be programmed by the user ST, IL, LD or
FBD.
By using DFB types in an application, it is possible to:
z simplify the design and input of the program,
z increase the legibility of the program,
z facilitate the debugging of the program,
z reduce the volume of the generated code.

1264
Glossary

DFB instance A DFB type instance occurs when an instance is called from a language editor.
The instance possesses a name, input/output interfaces, the public and private
variables are duplicated (one duplication per instance, the code is not duplicated).
A DFB type can have several instances.

DINT DINT is the abbrevation of Double Integer format (coded on 32 bits).


The lower and upper limits are as follows: -(2 to the power of 31) to (2 to the power
of 31) - 1.
Example:
-2147483648, 2147483647, 16#FFFFFFFF.

Documentation Contains all the information of the project. The documentation is printed once
compiled and used for maintenance purposes.
The information contained in the documentation cover:
z the hardware and software configuration,
z the program,
z the DFB types,
z the variables and animation tables,
z the cross-references.
z ...
When building the documentation file, you can include all or some of these items.

Driver A program indicating to your computer's operating system the presence and
characteristics of a peripheral device. We also use the term peripheral device driver.
The best-known drivers are printer drivers. To make a PLC communicate with a PC,
communication drivers need to be installed (Uni-Telway, XIP, Fipway, etc.).

1265
Glossary

DT DT is the abbreviation of Date and Time.


The DT type coded in BCD in 64 bit format contains the following information:
z The year coded in a 16-bit field,
z the month coded in an 8-bit field,
z the day coded in an 8-bit field,
z the hour coded in a 8-bit field,
z the minutes coded in an 8-bit field,
z the seconds coded in an 8-bit field.

Note: The 8 least significant bits are unused.

The DT type is entered as follows:


DT#<Year>-<Month>-<Day>-<Hour>:<Minutes>:<Seconds>
This table shows the lower/upper limits in each field:

Field Limits Comment


Year [1990,2099] Year
Month [01,12] The left 0 is always displayed, but can be omitted at the time of entry
Day [01,31] For the months 01\03\05\07\08\10\12
[01,30] For the months 04\06\09\11
[01,29] For the month 02 (leap years)
[01,28] For the month 02 (non leap years)
Hour [00,23] The left 0 is always displayed, but can be omitted at the time of entry
Minute [00,59] The left 0 is always displayed, but can be omitted at the time of entry
Second [00,59] The left 0 is always displayed, but can be omitted at the time of entry

1266
Glossary

DWORD DWORD is the abbreviation of Double Word.


The DWORD type is coded in 32 bit format.
This table shows the lower/upper limits of the bases which can be used:

Base Lower limit Upper limit


Hexadecimal 16#0 16#FFFFFFFF
Octal 8#0 8#37777777777
Binary 2#0 2#11111111111111111111111111111111

Representation examples:

Data content Representation in one of the bases


00000000000010101101110011011110 16#ADCDE
00000000000000010000000000000000 8#200000
00000000000010101011110011011110 2#10101011110011011110

EBOOL EBOOL is the abbrevation of Extended Boolean type. It can be used to manage rising
or falling edges, as well as forcing.
An EBOOL type variable takes up one byte of memory.

EDT EDT is the abbreviation of Elementary Data Type.


These types are as follows:
z BOOL,
z EBOOL,
z WORD,
z DWORD,
z INT,
z DINT,
z UINT,
z UDINT,
z REAL,
z DATE,
z TOD,
z DT.

1267
Glossary

EF Is the abbreviation of Elemantary Function.


This is a block which is used in a program, and which performs a predefined
software function.
A function has no internal status information. Multiple invocations of the same
function using the same input parameters always supply the same output values.
Details of the graphic form of the function invocation can be found in the "[Functional
block (instance)] ". In contrast to the invocation of the function blocks, function
invocations only have a single unnamed output, whose name is the same as the
function. In FBD each invocation is denoted by a unique [number] via the graphic
block, this number is automatically generated and can not be altered.
You position and set up these functions in your program in order to carry out your
application.
You can also develop other functions using the SDKC development kit.

EFB Is the abbreviation for Elementary Function Block.


This is a block which is used in a program, and which performs a predefined
software function.
EFBs have internal statuses and parameters. Even where the inputs are identical,
the output values may be different. For example, a counter has an output which
indicates that the preselection value has been reached. This output is set to 1 when
the current value is equal to the preselection value.

Elemantary see EF
Function

EN / ENO (enable EN means ENable, this is an optional block input.


/ error If EN = 0, the block is not activated, its internal program is not executed and ENO ist
notification) set to 0.
If EN = 1, the internal program of the block is executed, and ENO is set to 1 by the
system. If an error occurs, ENO is set to 0.
ENO means Error NOtification, this is the output associated to the optional input EN.
If ENO is set to 0 (caused by EN=0 or in case of an execution error),
z the outputs of function blocks remain in the status they were in for the last correct
executed scanning cycle and
z the output(s) of functions and procedures are set to "0".

Event Event processing 1 is a program section launched by an event. The instructions


processing programmed in this section are executed when a software application event (Timer)
or a hardware event (application specific module) is received by the processor.
Event processes take priority over other tasks, and are executed the moment the
event is detected.
The event process EVT0 is of highest priority. All others have the same level of
priority.

1268
Glossary

Fast task Task launched periodically (setting of the period in the PC configuration) used to
carry out a part of the application having a superior level of priority to the Mast task
(master).

FBD FBD is the abbreviation of Function Block Diagram.


FBD is a graphic programming language that operates as a logic diagram. In
addition to the simple logic blocks (AND, OR, etc.), each function or function block of
the program is represented using this graphic form. For each block, the inputs are
located to the left and the outputs to the right. The outputs of the blocks can be linked
to the inputs of other blocks to form complex expressions.

FFB Collective term for EF (Elementary Function), EFB (Elementary Function Block) and
DFB (Derived Function block)

Flash Eprom PCMCIA memory card containing the program and constants of the application.

FNES FNES is the abbreviation of Fichiers Neutres d’Entrées Sorties (Neutral I/O
Documentation).
FNES format describes using a tree structure the PLCs in terms of rack, cards and
channels.
It is based on the CNOMO standard (comité de normalisation des outillages de
machines outils).

Function see EF

Function block see EFB

Function view View making it possible to see the program part of the application through the
functional modules created by the user (see Functional module definition).

Functional A functional module is a group of program elements (sections, sub-programs, macro


Module steps, animation tables, runtime screen, etc.) whose purpose is to perform an
automation device function.
A functional module may itself be separated into lower-level functional modules,
which perform one or more sub-functions of the main function of the automation
device.

1269
Glossary

GRAY Gray or "reflected binary" code is used to code a numerical value being developed
into a chain of binary configurations that can be differentiated by the change in
status of one and only one bit.
This code can be used, for example, to avoid the following random event: in pure
binary, the change of the value 0111 to 1000 can produce random numbers between
0 and 1000, as the bits do not change value altogether simultaneously.
Equivalence between decimal, BCD and Gray:

Hyperlink The hyperlink function enables links to be created between your project and external
documents. You can create hyperlinks in all the elements of the project directory, in
the variables, in the processing screen objects, etc.
The external documents can be web pages, files (xls, pdf, wav, mp3, jpg, gif, etc.).

IEC 61131-3 International standard: Programmable Logic Controls


Part 3: Programming languages.

IL IL is the abbreviation of Instruction List.


This language is a series of basic instructions.
This language is very close to the assembly language used to program processors.
Each instruction is composed of an instruction code and an operand.

INF Used to indicate that a number overruns the allowed limits.


For a number of Integers, the value ranges (shown in gray) are as follows:
When a calculation result is:
z less than -3.402824e+38, the symbol -INF (for -infinite) is displayed,
z greater than +3.402824e+38, the symbol +INF (for +infinite) is displayed.

Instanciate To instanciate an object is to allocate a memory space whose size depends on the
type of object to be instantiated. When an object is instantiated, it exists and can be
manipulated by the program.

INT INT is the abbreviation of single integer format (coded on 16 bits).


The lower and upper limits are as follows: -(2 to the power of 31) to (2 to the power
of 31) - 1.
Example:
-32768, 32767, 2#1111110001001001, 16#9FA4.

Integer literals Integer literal are used to enter integer values in the decimal system. The values can
have a preceding sign (+/-). Individual underlines (_ ) between numbers are not
significant.
Example:
-12, 0, 123_456, +986

1270
Glossary

IODDT IODDT is the abbreviation of Input/Output Derived Data Type.


The term IODDT designates a structured data type representing a module or a
channel of a PLC module. Each application expert module possesses its own
IODDTs.

Keyword A keyword is a unique combination of characters used as a syntactical programming


language element (See annex B definition of the IEC standard 61131-3. All the key
words used in Unity Proand of this standard are listed in annex C of the IEC standard
61131-3. These keywords cannot be used as identifiers in your program (names of
variables, sections, DFB types, etc.)).

LD LD is the abbreviation of Ladder Diagram.


LD is a programming language, representing the instructions to be carried out in the
form of graphic diagrams very close to a schematic electrical diagram (contacts,
coils, etc.).

Located variable A located variable is a variable for which it is possible to know its position in the PLC
memory. For example, the variable Water_pressure, is associated with%MW102.
Water_pressure is said to be localized.

Macro step A macro step is the symbolic representation of a unique set of steps and transitions,
beginning with an input step and ending with an output step.
A macro step can call another macro step.

Master task Main program task.


It is obligatory and is used to carry out sequential processing of the PLC.

Mono Task An application comprising a single task, and so necessarily the Master task.

Multi task Application comprising several tasks (Mast, Fast, Auxiliary, event processing).
The order of priority for the execution of tasks is defined by the operating system of
the PLC.

Multiple token Operating mode of an SFC. In multitoken mode, the SFC may possess several
active steps at the same time.

1271
Glossary

Naming An identifier is a sequence of letters, numbers and underlines beginning with a letter
convention or underline (e.g. name of a function block type, an instance, a variable or a section).
(identifier) Letters from national character sets (e.g: ö,ü, é, õ) can be used except in project and
DFB names. Underlines are significant in identifiers; e.g. A_BCD and AB_CD are
interpreted as different identifiers. Multiple leading underlines and consecutive
underlines are invalid.
Identifiers cannot contain spaces. Not case sensitive; e.g. ABCD and abcd are
interpreted as the same identifier.
According to IEC 61131-3 leading digits are not allowed in identifiers. Nevertheless,
you can use them if you activate in dialog Tools → Project settings in tab
Language extensions the check box Leading digits.
Identifiers cannot be keywords.

NAN Used to indicate that a result of an operation is not a number (NAN = Not A Number).
Example: calculating the square root of a negative number.

Note: The IEC 559 standard defines two classes of NAN: quiet NAN (QNAN) and
signaling NaN (SNaN) QNAN is a NAN with the most significant fraction bit set and a
SNAN is a NAN with the most significant fraction bit clear (Bit number 22). QNANs
are allowed to propagate through most arithmetic operations without signaling an
exception. SNAN generally signal an invalid-operation exception whenever they
appear as operands in arithmetic operations (See %SW17 and %S18).

Network Mainly used in communication, a network is a group of stations which communicate


among one another. The term network is also used to define a group of intercon-
nected graphic elements. This group forms then a part of a program which may be
composed of a group of networks.

Operator screen This is an editor that is integrated into Unity Pro, which is used to facilitate the
operation of an automated process. The user regulates and monitors the operation
of the installation, and, in the event of any problems, can act quickly and simply.

Periodic The master task is executed either cyclically or periodically. In periodic mode, you
execution determine a specific time (period) in which the master task must be executed. If it is
executed under this time, a waiting time is generated before the next cycle. If it is
executed over this time, a control system indicates the overrun. If the overrun is too
high, the PLC is stopped.

1272
Glossary

Procedure Procedures are functions view technically. The only difference to elementary
functions is that procedures can take up more than one output and they support data
type VAR_IN_OUT. To the eye, procedures are no different than elementary
functions.
Procedures are a supplement to IEC 61131-3.

Protection Option preventing the contents of a program element to be read (read protected), or
to write or modify the contents of a program element (read/write protected).
The protection is confirmed by a password.

REAL Real type is a coded type in 32 bits.


The ranges of possible values are illustrated in gray in the following diagram:
When a calculation result is:
z between -1.175494e-38 and 1.175494e-38 it is considerd as a DEN,
z less than -3.402824e+38, the symbol -INF (for - infinite) is displayed,
z greater than +3.402824e+38, the symbol INF (for +infinite) is displayed,
z undefined (square root of a negative number), the symbol NAN or NAN is
displayed.

Note: The IEC 559 standard defines two classes of NAN: quiet NAN (QNAN) and
signaling NaN (SNaN) QNAN is a NAN with the most significant fraction bit set and a
SNAN is a NAN with the most significant fraction bit clear (Bit number 22). QNANs
are allowed to propagate through most arithmetic operations without signaling an
exception. SNAN generally signal an invalid-operation exception whenever they
appear as operands in arithmetic operations (See %SW17 and %S18).

Note: when an operand is a DEN (Denormalized number) the result is not


significant.

Real literals An literal real value is a number expressed in one or more decimals.
Example:
-12.0, 0.0, +0.456, 3.14159_26

Real literals with An Literal decimal value can be expressed using standard scientific notation. The
exponent representation is as follows: mantissa + exponential.
Example:
-1.34E-12 or -1.34e-12
1.0E+6 or 1.0e+6
1.234E6 or 1.234e6

1273
Glossary

RS 232C Serial communication standard which defines the voltage of the following service:
z a signal of +12 V indicates a logical 0,
z a signal of -12 V indicates a logical 1.
There is, however, in the case of any attenuation of the signal, detection provided
up to the limits -3 V and +3 V.
Between these two limits, the signal will be considered as invalid.
RS 232 connections are quite sensitive to interferance. The standard specifies not
to exceed a distance of 15 m or a maximum of 9600 bauds (bits/s).

RS 485 Serial connection standard that operates in 10 V/+5 V differential. It uses two wires
for send/receive. Their "3 states" outputs enable them to switch to listen mode when
the transmission is terminated.

RUN Function enabling the startup of the application program of the PLC.

RUN Auto Function enabling the execution of the PLC application program to be started
automatically in the case of a cold start.

Rung A rung is the equivalent of a sequence in LD; other related terms are "Ladder
network" or, more generally, "Network". A rung is inscribed between two potential
bars of an LD editor and is composed of a group of graphic elements interconnected
by means of horizontal or vertical connections. The dimensions of a rung are 17 to
256 lines and 11 to 64 columns maximum.

Section Program module belonging to a task which can be written in the language chosen
by the programmer (FBD, LD, ST, IL, or SFC).
A task can be composed of several sections, the order of execution of the sections
corresponding to the order in which they are created, and being modifiable.

SFC SFC is the abbreviation of Sequential Function Chart.


SFC enables the operation of a sequential automation device to be represented
graphically and in a structured manner. This graphic description of the sequential
behavior of an automation device, and the various situations which result from it, is
performed using simple graphic symbols.

SFC objects An SFC object is a data structure representing the status properties of an action or
transition of a sequential chart.

Single token Operating mode of an SFC chart for which only a single step can be active at any
one time.

ST ST is the abbreviation of Structured Text language.


Structured Text language is an elaborated language close to computer
programming languages. It enables you to structure series of instructions.

1274
Glossary

STRING A variable of the type STRING is an ASCII standard character string. A character
string has a maximum length of 65534 characters.

Structure View in the project navigator with represents the project structure.

Subroutine Program module belonging to a task (Mast, Fast) which can be written in the
language chosen by the programmer (FBD, LD, ST, or IL).
A subroutine may only be called by a section or by another subroutine belonging to
the task in which it is declared.

Task A group of sections and subroutines, executed cyclically or periodically for the MAST
task, or periodically for the FAST task.
A task possesses a level of priority and is linked to inputs and outputs of the PLC.
These I/O are refreshed in consequence.

TIME The type TIME expresses a duration in milliseconds. Coded in 32 bits, this type
makes it possible to obtain periods from 0 to (2 to the power of 32)-1 milliseconds.

Time literals The units of type TIME are the following: the days (d), the hours (h), the minutes (m),
the seconds (s) and the milliseconds (ms). A literal value of the type TIME is
represented by a combination of previous types preceded by T#, t#, TIME# or
time#.
Examples: T#25h15m, t#14.7S, TIME#5d10h23m45s3ms

Time Out In communication projects, The Time out is a delay after which the communication
is stopped if there is no answer of the target device.

TIME_OF_DAY see TOD

1275
Glossary

TOD TOD is the abbreviation of Time of Day.


The TOD type coded in BCD in 32 bit format contains the following information:
z the hour coded in a 8-bit field,
z the minutes coded in an 8-bit field,
z the seconds coded in an 8-bit field.

Note: The 8 least significant bits are unused.

The Time of Day type is entered as follows: TOD#<Hour>:<Minutes>:<Seconds>


This table shows the lower/upper limits in each field:

Field Limits Comment


Hour [00,23] The left 0 is always displayed, but can be omitted at the time of entry
Minute [00,59] The left 0 is always displayed, but can be omitted at the time of entry
Second [00,59] The left 0 is always displayed, but can be omitted at the time of entry

Example: TOD#23:59:45.

Token An active step of an SFC is known as a token.

UDINT UDINT is the abbreviation of Unsigned Double Integer format (coded on 32 bits)
unsigned. The lower and upper limits are as follows: 0 to (2 to the power of 32) - 1.
Example:
0, 4294967295, 2#11111111111111111111111111111111, 8#37777777777,
16#FFFFFFFF.

UINT UINT is the abbreviation of Unsigned integer format (coded on 16 bits). The lower
and upper limits are as follows: 0 to (2 to the power of 16) - 1.
Example:
0, 65535, 2#1111111111111111, 8#177777, 16#FFFF.

Unlocated An unlocated variable is a variable for which it is impossible to know its position in
variable the PLC memory. A variable which have no address assigned is said to be
unlocated.

Variable Memory entity of the type BOOL, WORD, DWORD, etc., whose contents can be modified
by the program during execution.

1276
Glossary

Visualization This window, also called a watch window, displays the variables that cannot be
window animated in the language editors. Only those variables that are visible at a given
time in the editor are displayed.

Watch point Used in the "debug" mode of the application.


It enables the display of animated variables to be synchronized with the execution
of a program element (containing the watch point) in order to ascertain their values
at this precise point of the program.

WORD The WORD type is coded in 16 bit format and is used to carry out processing on bit
strings.
This table shows the lower/upper limits of the bases which can be used:

Base Lower limit Upper limit


Hexadecimal 16#0 16#FFFF
Octal 8#0 8#177777
Binary 2#0 2#1111111111111111

Representation examples

Data content Representation in one of the bases


0000000011010011 16#D3
1010101010101010 8#125252
0000000011010011 2#11010011

1277
Glossary

1278
Index
B
AC
Symbols Action
Delete (SFC Editor), 627
%, 1261
Display mode (SFC Editor), 628
%SW8, 863 Execution order (SFC Editor), 627
%SW9, 863 Modify (SFC Editor), 623
), 382, 1243, 1257
Properties (SFC Editor), 615
,, 549, 911 Property (SFC Editor), 603, 622
., 388, 412, 421, 445, 481, 517, 580, 581, Action Section
645, 651, 652, 655, 656, 688, 699, 701, 715,
Properties, 343
717, 900, 911, 936, 1235 Action section
Define (SFC Editor), 625
Properties, 342
Numerics Action variable
1-step mode, 1202 Define (SFC Editor), 624
2-step mode, 1203 Actual Parameter Assignment
FFB (FBD Editor), 423
FFB (LD Editor), 520
A Actual parameter assignment
Access Coil (LD Editor), 497
DDT, 250 Contact (LD Editor), 489
Fipio Bus, 823 IL editor, 698
Operator screens, 986 ST editor, 714
RIO and DIO field buses, 824 Actuators
Access security editor, 57 Buttons, 1076, 1078
Access security management, 54 Indicators, 1080
Access to configuration, 809 Jacks, 1077
Access to Unity Pro software, 77 Motors, 1077
Accessing a PLC via a network, 91 Pumps, 1076
Accessing communication parameters, 96 Adjusting the real-time clock, 920
Accessing the data editor, 214

1279
Index

Adjusting variables Animation


Animation tables, 930 Attribute, 1021
Display boxes, 927 Forced variables, 876
Displays, 924 Function Block Diagram language, 872
Output Window, 925 Introduction, 867
Alarm relay, 914 Ladder Diagram language, 870
Align Sequential Function Chart language, 873
Control object, 1040 Textual language, 869
Standard object, 1040 User function blocks, 875
Aligning coils Variable (FBD Editor), 396
LD Editor, 365 Variable (IL Editor), 690
Allow Variable (LD Editor), 396
Empty parameters in informal call, 370 Variable (SFC Editor), 587
Expanded character sets in names, 368 Variable (ST Editor), 690
Alternative Branch Animation table
Modify (SFC Editor), 645 Hyperlinks, 1226, 1227
Placement (SFC Editor), 642 Animation Tables
Property (SFC Editor), 647 Export, 1177
Alternative branch Animation tables
Placement (SFC Editor), 644 Forcing mode, 936
Alternative Joint functions, 932
Modify (SFC Editor), 645 Import, 1178
Placement (SFC Editor), 642 Management, 931
Property (SFC Editor), 648 Modification mode, 934
Alternative joint Multiple forcing, 937
Placement (SFC Editor), 644 Wizard, 1189
Alternative Sequence Animation Tables Directory
Placement (SFC Editor), 650, 651 Functional module, 173
Analysis Project browser, 153
FBD Section, 406 Structural view, 153
IL-Section, 697 Animation type
LD section, 472 Attribute, 1022
SFC Section, 571 Application-specific channel budget, 832
ST-Section, 713 Application-specific channels
Analysis of the configuration, 852 Number, 832
Analyze Archiving
DDT, 294 DFB, 783
DFB, 294 DFB Type, 783
Anchored window, 1243 Assign values
and, 456, 658, 940 Public variable (ST Editor), 722
Animating, 1261 Assigning Values
Public Variable (FBD Editor), 431
Public Variable (IL Editor), 706
Public Variable (LD Editor), 528
Assistant
Import, 1184

1280
Index

Association Bar chart


Logical network, 308 Attribute, 1023, 1026
Association of variables Base, 1262
I/O, 745 Bind
Atrium Processor Control object, 1042
Configuration, 837 Standard object, 1042
Attribute Bit
Animation, 1021 Forced, 936
Animation type, 1022 Multiple forcing, 937
Bar chart, 1023, 1026 Multiple modification, 937
Color, 1018 Bit extraction
Control, 1028 Enable, 369
Design, 1018 Block Instance
Explicit exchanges, 1030 Select (FBD Editor), 422
Go to, 1017 Select (LD Editor), 518
Image, 1029 Block instance
Information, 1032 Selection (IL Editor), 704
Instance, 242, 275 Selection (ST Editor), 720
Object, 1017 Bookmark
Outline, 1018 FBD Editor, 382
Pattern, 1018 Go to (FBD Editor), 397
Screen browse, 1027 Go to (IL Editor), 677
Text, 1020 Go to (LD Editor), 397
Trend diagram, 1023, 1025 Go to (ST Editor), 677
Attributes IL Editor, 675
DFB, 787 Jump (SFC Editor), 590
DFB type, 787 LD Editor, 382
Automatically open the properties dialog SFC Editor, 382
box, 375 ST Editor, 675
Automation components Branch
CCX, 1082 Modify (SFC Editor), 645
Megelis, 1082 Placement (SFC Editor), 642, 644
PLCs, 1081 Property (SFC Editor), 647
Premium medium, 1083 Breakpoint
Premium modules, 1083 DFB instance, 899
Quantum medium, 1085 Function Block Diagram language, 892
Quantum modules, 1084 Ladder Diagram language, 878
Weighing, 1085 precautions, 864
Sequential Function Chart language, 904
Textual languages, 885
B Browser button
Background Driving object, 1015
Control object, 1041
Standard object, 1041
Backup
Context, 297

1281
Index

Build Coil
FBD section, 403 Actual parameter assignment
IL Section, 694 (LD Editor), 497
SFC Section, 567 Place (LD Editor), 493
ST Section, 710 Placement (LD Editor), 495
Built-in diagnostics, 951 Property (LD editor), 499
Button Cold restart, 916
Driving object, 1013 Cold start, 919
button, 371, 421, 424, 427, 517, 521, 524, Color
701, 717, 767, 768, 868, 879, 883, 886, 890, Attribute, 1018
893, 897, 900, 911, 932, 937, 1020, 1033, Column
1071, 1210, 1211, 1230, 1231, 1235, 1236, Delete (SFC editor), 583
1257, 1258 Insert (SFC Editor), 582
buttons, 876 Columns
LD Section, 365
Command
C Goto, 129
Call Commands
Comment (FBD Editor), 460 Contract, 126
Comment (IL-Editor), 687 Expand, 126
Comment (LD Editor), 560 Zoom In, 123
Comment (SFC Editor), 662 Zoom Out, 123
Comment (ST-Editor), 687 Comment
FFB (FBD Editor), 416, 418, 420 Enter (FBD Editor), 460
FFB (IL editor), 702 Enter (IL-Editor), 687
FFB (LD Editor), 512, 514, 516 Enter (LD Editor), 560
FFB (ST Editor), 718 Enter (SFC Editor), 662
Formal parameter (IL Editor), 701 Enter (ST-Editor), 687
Formal parameters (ST editor), 717 Communication Directory
Subroutine (FBD Editor), 444 Project browser, 149
Subroutine (IL Editor), 683 Structural view, 149
Subroutine (LD Editor), 498 Communication editor
Subroutine (ST-Editor), 683 Presentation, 301
Variable (IL Editor), 699, 700 Communication network configuration
Variable (ST Editor), 715, 716 Import, 1174
Cancel/Repeat Communication networks configuration
Online mode, 88 Export, 1173
Cause finding, 966 Communication parameters, 96
Check box, 1259 Compare block
Driving object, 1013 Placement (LD editor), 502
Checking the tasks, 917 Property (LD editor), 505
Choice Compound
Processor, 817 Control object, 1042
Standard object, 1042

1282
Index

Configuration Control object


Data Editor, 282 Align, 1040
Devices on an RIO/DIO bus, 826 Background, 1041
Modbus ports, 845 Bind, 1042
of Atrium processors, 837 Compound, 1042
of Premium processors, 837 Cut, copy or paste, 1039
of the modules in the station, 819 Delete, 1039
of the power supply modules, 815 Flip, 1040
of the racks, 814 Foreground, 1040
offline mode, 807 Introduction, 1007
online mode, 808 Position, 1040
Operator screens, 378 Select, 1036
Premium I/O modules, 848 Unbind, 1042
Quantum I/O modules, 849 Copy/Paste
Quantum processors, 842 Instance, 237
Configuration Directory Variable, 237
Project browser, 142 Copying objects
Structural view, 142 FBD Editor, 411, 412
Conflicts LD editor, 480, 481
Import, 1158 SFC Editor, 578
Connection, 89, 376 Copying objects using drag & drop
Connection mode, 376 SFC editor, 581
Connector Copying Text
Create, 391, 392 IL Editor, 670
Rename, 392 ST Editor, 670
Constants, 1263 Copying text
Contact IL Editor, 671
Actual parameter assignment (LD ST Editor, 671
Editor), 489 Correspondence file
Place (LD Editor), 486 Wizard, 1191
Placement (LD Editor), 487 corresponding, 934, 936
Property (LD editor), 490 Counter
Context Driving object, 1014
Backup, 297
Contract
Commands, 126
Control
Attribute, 1028
IMC, 1103
Operator Screens, 371
Operator screens, 1062
PID, 1103
Control loops
Premium Processors, 840

1283
Index

Create, 83 Hyperlinks, 1210, 1215, 1220, 1225,


Alternative Sequence (SFC Editor), 1230, 1235
650, 651 I/O event section, 354
Branch (SFC Editor), 642, 644 IL section, 330
Coil (LD Editor), 493, 495 IODDT Instance, 230
Comment (FBD Editor), 460 Joint (SFC Editor), 642, 644
Comment (IL-Editor), 687 Jump (FBD Editor), 448
Comment (LD Editor), 560 Jump (LD-Editor), 540
Comment (SFC Editor), 662 Jump (SFC Editor), 638
Comment (ST-Editor), 687 Jump Label (LD-Editor), 544
Compare block (LD editor), 502 Jump Label(FBD-Editor), 452
Connector, 391, 392 LD program, 470
Contact (LD-Editor), 486, 487 LD section, 330
DDT Instance, 223 Link (FBD Edit), 458
DFB, 279 Link (FBD Editor), 391, 456, 457
DFB Instance, 793, 794 Link (LD Editor), 548, 550, 558
DFB Type, 777, 778 Link (LD editor), 551
Documentation, 1141 Link (SFC Editor), 658, 659, 660
Driving object, 1011 Message, 1045
EFB/DFB instance, 270 Nested DDTs, 261
FBD Program, 405 Nested Derived Data Types, 261
FBD section, 330 Operate Block (LD Editor), 507
FFB (FBD Editor), 416, 418, 420 Operator screens, 998
FFB (LD Editor), 512, 514, 516 Parallel Sequence (SFC Editor),
FFB Link (LD Editor), 556, 557 650, 652
FFB link (LD editor), 554, 555 Return Object (FBD-Editor), 442
Horizontal Link (LD Editor), 556, 557 Return object (LD-Editor), 537
Horizontal link (LD editor), 551, 552 SFC Section, 336
ST Program, 712
ST section, 330
Standard object, 1008
Step (SFC Editor), 596, 598
Step-Transition Sequence (SFC Editor),
654, 655
Subroutine (LD Editor), 498
Subroutine Call (FBD Editor), 444
Subroutine call (IL Editor), 683
Subroutine call (ST-Editor), 683
Subroutine section, 345
Task, 327
Timer event section, 348
Transition (SFC Editor), 630
Transition-Step Sequence (SFC Editor),
654, 656
Vertical Link (LD Editor), 556, 557
Vertical link (LD editor), 553

1284
Index

Creating D
DDT, 251
Data
Derived datatype, 251
Find, 767
EDT instance, 220
Replace, 768
Creating an animation table
View properties (FBD Editor), 413
Functional module, 189
View properties (LD Editor), 691
Creating an operator screen
View properties (SFC Editor), 482, 585
Functional module, 191
Data Editor
Creation
Configuring the columns, 282
Functional module, 180
Selecting data types, 285
IL Program, 696
Data editor
Logic network, 307
Filtering data, 289
Logical network, 305
Data selection box, 1257
Screen family, 1001
DATE, 1264
SFC Program, 570
Date and time, 920
Creation of an IODDT type data
DDT
instance, 246
Access, 250
Cross references
Analyze, 294
Operator screens, 1059
Creating, 251
Cross-references
Export, 1168
Replace, 771
Import, 1169
Search, 769
Management, 257
Usage, 767, 768
Printing, 296
Cursor
Project browser, 144
Driving object, 1015
Save, 267
cursor, 408, 418, 419, 420, 442, 444, 448,
Structural view, 144
452, 456, 460, 477, 502, 507, 514, 515, 516,
Wizard, 1187
537, 540, 544, 560, 573, 630, 638, 658, 662
DDT Instance
Cut, copy or paste
Create, 223
Control object, 1039
Debug
Cut, copy, or paste
Disconnection, 913
Standard object, 1039
Debugging
Cutting objects
CPU, 916
FBD Editor, 410
Functional module, 183
LD editor, 479
PLC, 915
SFC Editor, 577
PLC STOP, 860
Cutting Text
unwanted disconnection, 865
IL Editor, 670
Debugging screen
ST Editor, 670
PLC, 915
Default user profile, 56

1285
Index

Define Deleting objects


Action (SFC Editor), 622 FBD Editor, 410
Action section (SFC Editor), 625 LD editor, 479
Action variable (SFC Editor), 624 SFC Editor, 576
Identifier (SFC Editor), 626 Deleting Text
Initial step (SFC Editor), 601 IL Editor, 670
InStep delay time (SFC Editor), 614, 619 ST Editor, 670
InStep supervision time Deletion
(SFC Editor), 614 Screen family, 1001
Macro section (SFC Editor), 608 Derived Data Type
Macro step delay time (SFC Editor), Management, 257
609, 610 Derived Data Types
Macro step name (SFC Editor), 608 Access, 250
Macro step supervision time (SFC Derived datatype
Editor), 609, 610 Creating, 251
Step delay time (SFC Editor), 601, 602 Save, 267
Step name (SFC Editor), 600 Description of the data editor, 216
Step supervision time (SFC Editor), Design
601, 602 Attribute, 1018
Transition condition (SFC Editor), Detach/Delete
631, 633, 634 Functional module, 184
Definitions DFB, 775
Hyperlinks, 1200 Analyze, 294
Delay time (InStep) Archiving, 783
Define (SFC Editor), 614, 619 Attributes, 787
Delay time (Macro step) Create, 279
Define (SFC Editor), 609, 610 Delete, 786
Delay time (Step) Deleting an element, 782
Define (SFC Editor), 601, 602 Instance, 270
Delete Management, 279
Action (SFC Editor), 627 Printing, 296
Column (SFC editor), 583 Programming, 780
Control object, 1039 Protection, 784
DFB Instance, 795 Refine (FBD Editor), 414
DFB Type, 786 Refine (IL Editor), 684
Hyperlinks, 1213, 1218, 1223, 1228, Refine (LD-Editor), 483
1233, 1237 Refine (ST Editor), 684
Line (LD Editor), 484 Type, 777
Line (SFC editor), 583 Wizard, 1187
Operator screens, 998 DFB input help grid, 1097
Section, 359 DFB Inputs, 1089
Standard object, 1039
Deleting an element
DFB, 782
DFB type, 782

1286
Index

DFB Instance, 791 Different online mode, 87, 89


Create, 793, 794 DIO
Delete, 795 Configuration, 824
Introduction, 792 Device configuration, 826
Modifying Attributes, 798 Directly represented ARRAY variables
Sorting, 796 Enable, 369
Viewing the Attributes, 796 Directory Structure, 1254
Viewing the Elements, 796 Directory tree
DFB Outputs, 1091 Behavior, 375
DFB private variables, 1095 Disconnection, 89
DFB public variables, 1093 Debugging, 865
DFB Type, 776 during the debug phase, 913
Archiving, 783 Display
Create, 777, 778 Full screen, 371, 1060
Delete, 786 Instance, 272
Parameter, 779 Object properties (FBD Editor), 413
Pin Number, 779 Object properties (LD Editor), 482
Protection, 784 Object properties (SFC Editor), 585
DFB type Scrollbars, 1060
Attributes, 787 Variable, 239, 272
Deleting an element, 782 Display mode
Programming, 780 Actions (SFC Editor), 628
Project browser, 145 Steps (SFC Editor), 628
Structural view, 145 Display panels
DFB types Analog value monitoring, 1080
Export, 1166 VU-Metres, 1079
Import, 1167 Documentation
Diagnostics, 949 Create, 1141
Cause finding, 363 Hyperlinks, 1235
DFB, 977 Topics, 1134
EFB, 977 Documentation Directory
Input, 966 Project browser, 158
Introduction, 951 Structural view, 158
List of faults, 958 Documentation structure, 1133
Principle, 951 Drag/Drop
Project, 977 hypertext link, 1238
Property, 966
SFC, 977
System, 363, 975
Viewing, 957
Diagnostics DFBs, 977
Diagnostics Viewer, 964
Dialog box, 1258
Dialog boxes
Export, 1155
Import, 1157

1287
Index

Driving object, 1011 Enable


Browser button, 1015 Bit extraction, 369
Button, 1013 Directly represented ARRAY
Check box, 1013 variables, 369
Counter, 1014 EBOOL, 369
Create, 1011 INT/DINT in place of ANY_BIT, 369
Cursor, 1015 Jump (ST), 370
Explicit exchanges, 1015 Leading digits in names, 368
Input zone, 1014 Macro section, 367
Move, 1038 Multi assignment (ST), 370
Operation, 1013 Multi token, 367
Resize, 1038 Nested comments, 370
ST Expressions on FFB Inputs, 368
Enter
E Comment (IL-Editor), 687
EBOOL, 1267 Comment (SFC Editor), 662
Enable, 369 Comment (ST-Editor), 687
Ecrans d’exploitation Entry
Exemple, 983 Comment (FBD Editor), 460
Edit Comment (LD Editor), 560
Hyperlinks, 1211, 1216, 1221, 1226, Equal online mode, 87, 89
1231, 1236 Error Message
Link (FBD-Editor), 458 Simulator, 940
Link (LD Editor), 558 Error messages
Link (SFC Editor), 660 Acknowledgement, 970
Menu, 988 Archiving, 973
EDT instance Delete, 970
Creating, 220 Sort, 969
EFB Event processing
Instance, 270 Project browser, 152
EFB/DFB instance Structural view, 152
Create, 270 Events
Empty parameters in non-formal call Wizard, 1188
Allow, 370 Execution order
EN/ENO Action (SFC Editor), 627
Hide (FBD Editor), 434 Sections, 360
Hide (LD Editor), 531 Exemple
Show (FBD Editor), 434 Ecrans d’exploitation, 983
Show (LD Editor), 531 Exit
Simulator, 940
Expand
Commands, 126
Number of Function Inputs
(FBD Editor), 432
Number of Function Inputs
(LD Editor), 529

1288
Index

Expanded character sets in names FFB execution order


Enable, 368 Modify (FBD Editor), 435
Explicit exchanges FFB Instance
Attribute, 1030 Select (FBD Editor), 422
Driving object, 1015 Select (LD Editor), 518
Export, 1159, 1183 Selection (IL Editor), 704
Animation Tables, 1177 Selection (ST Editor), 720
Communication networks FFB Link
configuration, 1173 Create (FBD Editor), 457
DDT, 1168 Create (LD Editor), 556, 557
DFB types, 1166 FFB link
File, 1154 Create (LD editor), 554, 555
Functional module, 1179 FFB Pin
General, 1152 Negate (FBD Editor), 433
Global project, 1181 Negate (LD Editor), 530
Input/output configuration, 1160 File
Message, 1051 Export, 1154
Operator Screens, 1175 Import, 1154
Program, 1162 Filtering data
type of dialog box, 1155 Data editor, 289
Variables, 1170 Find
Export function, 1153 Data, 767
Extended colors, 1019 Message, 1047
String of characters, 1047
Text (IL editor), 681, 682
F Text (ST editor), 681, 682
Family Find Next
Operator screens, 1001 Text (IL editor), 681
Fast, 1269 Text (ST editor), 681
FBD Editor, 401 Find Previous
FFB Text (IL editor), 681
Actual Parameter Assignment (FBD Text (ST editor), 681
Editor), 423 Flip
Actual Parameter Assignment (LD Control object, 1040
Editor), 520 Standard object, 1040
Call (FBD Editor), 416, 418, 420 Fluid management
Call (LD Editor), 512, 514, 516 Pipes, 1086
Call (ST editor), 718 Stirring rods, 1087
Calling (IL editor), 702 Vats, 1086
Modifying the execution order Font size
(FBD Editor), 435 IL, 674
Type Selection (FBD Editor), 418, 421 ST, 674
Type selection (IL Editor), 702 for, 767, 768
Type Selection (LD Editor), 514, 517 Forcing, 936
Type selection (ST Editor), 718

1289
Index

Foreground Function Inputs


Control object, 1040 Expanding the Number (FBD Editor), 432
Standard object, 1040 Expanding the Number (LD Editor), 529
Formal parameter Function view
Call (IL Editor), 701 Station, 168
Formal parameters Functional Module
Call (ST editor), 717 Functional Module, 170
from, 941 Functional view, 170
Front panel Functional module
IMC control, 1098 Animation Tables Directory, 173
PID control, 1098 Creating an animation table, 189
Function Creating an operator screen, 191
Actual Parameter Assignment (FBD Creation, 180
Editor), 423 Debugging, 183
Actual Parameter Assignment (LD Detach/Delete, 184
Editor), 520 Export, 1179
Call (FBD Editor), 416, 418, 420 Import, 1180
Call (LD Editor), 512, 514, 516 Introduction, 167
Call (ST Editor), 718 Locating an animation table, 189
Calling (IL editor), 702 Operator Screens Directory, 174
Property(LD Editor), 437, 532 Program Directory, 172
Type Selection (FBD Editor), 418, 421 Programming, 181
Type selection (FBD Editor), 703 Properties, 179
Type Selection (LD Editor), 514, 517 Protection of sections, 182
Function Block Wizard, 1190
Actual Parameter Assignment (FBD Functional view
Editor), 423 Project browser, 120
Actual Parameter Assignment (LD Station directory, 169
Editor), 520
Call (FBD Editor), 416, 418, 420
Call (LD Editor), 512, 514, 516 G
Type Selection (FBD Editor), 418, 421 General
Type Selection (LD Editor), 514, 517 Export, 1152
Function block Import, 1152
Call (ST Editor), 718 Options, 374
Calling (IL editor), 702 General configurations
Property (FBD Editor), 439 Operator screens, 993
Property (LD editor), 534 Global project
Type selection (IL Editor), 702 Export, 1181
Type selection (ST Editor), 718 Import, 1182
Function Block Instance Go to
Select (FBD Editor), 422 (IL Editor) dialog box, 679
Select (LD Editor), 518 (LD Editor) dialog box, 399
Function block instance (SFC Editor) dialog box, 592
Selection (IL Editor), 704 dialog box (FBD Editor), 399
Selection (ST Editor), 720 dialog box (ST Editor), 679

1290
Index

Go to a bookmark Delete, 1213, 1218, 1223, 1228,


FBD Editor, 397 1233, 1237
IL Editor, 677 Documentation, 1235
LD Editor, 397 Edit, 1211, 1216, 1221, 1226,
ST Editor, 677 1231, 1236
Go to a line Introduction, 1197
IL Editor, 677 Open, 1212, 1217, 1222, 1227, 1232
ST Editor, 677 Opening, 1198
Go to a location Operator screens, 1230
FBD Editor, 398 principles, 1199
IL Editor, 678 Project browser, 1197
LD Editor, 398 Representation, 1198
ST Editor, 678 Hyperlinks directory
Go to a position Project browser, 133
FBD Editor, 397 Hypertext, 1195
Go to position hypertext link
FBD Editor, 397 drag/drop, 1238
LD Editor, 397
Got to Position
SFC Editor, 590 I
Goto I/O
Command, 129 Association of variables, 745
GRAY, 1270 deactivation, 863
Grid I/O deactivation, 863
Show/Hide, 384 I/O Event section
Properties, 356
I/O event section
H Create, 354
Hide Property, 355
EN/ENO (FBD Editor), 434 I/O object, 746
EN/ENO (LD Editor), 531 I/O Objects
Grid, 384 Processor, 748
Horizontal Link I/O objects, 745
Create (LD Editor), 556, 557 Communication bus, 752
Horizontal link Module, 749
Create (LD editor), 551, 552 icon, 530, 1220
Hyperlink, 1270 Identifier
Message, 1046 Define (SFC Editor), 626
Hyperlinks IEC, 1270
Animation table, 1226, 1227 IL Editor, 693
Comments, 1197 Image
Create, 1210, 1215, 1220, 1225, Attribute, 1029
1230, 1235 Object, 1010
Definitions, 1200

1291
Index

Import, 1159, 1183 Initialize search


Animation tables, 1178 FBD Editor, 395
Assistant, 1184 IL Editor, 689
Communication network LD Editor, 395
configuration, 1174 ST Editor, 689
Conflicts, 1158 Input
DDT, 1169 Diagnostics, 966
DFB types, 1167 Input zone
File, 1154 Driving object, 1014
Functional module, 1180 Input/output configuration
General, 1152 Export, 1160
Global project, 1182 Import, 1161
Input/output configuration, 1161 Inputs
Message, 1051 Expanding the Number (FBD Editor), 432
Operator Screens, 1176 Expanding the Number (LD-Editor), 529
Program, 1164 Insert
type of dialog box, 1157 Column (SFC Editor), 582
Variables, 1172 Line (LD Editor), 484
Import function, 1153 Line (SFC Editor), 582
ImportExport of the configuration, 853 Inspect window
Increase FBD Editor, 393
Number of Function Inputs IL Editor, 685
(FBD Editor), 432 LD Editor, 393
Number of Function Inputs ST Editor, 685
(LD Editor), 529 Instance
Information Attribute, 242, 275
Attribute, 1032 Copy/Paste, 237
Information embedded in the PLC, 104 Create multiple, 237
Executable information, 87 Display, 239, 272
Upload information, 87 InStep
Init, 106 Properties (SFC Editor), 615
Initial step Property (SFC Editor), 614
Define (SFC Editor), 601 InStep delay time
Initialize Animation Table Define (SFC Editor), 614, 619
FBD Editor, 396 InStep supervision time
LD Editor, 396 Define (SFC Editor), 614
SFC Editor, 587 INT/DINT in place of ANY_BIT
Initialize Animation table Enable, 369
IL Editor, 690 Interfaces before
ST Editor, 690 ON OFF control, 1102
Initialize Search Interfaces before for
SFCView Editor, 586 Cascade control, 1099

1292
Index

Introduction Jump to Bookmark


Control object, 1007 SFC Editor, 590
DFB Instance, 792 Jumping to a position
Functional module, 167 LD Editor, 397
Library, 1067
Library manager, 196
Project browser, 119 K
Standard object, 1007 key, 1244
IODDT Keyword, 1271
Creation, 749
How to Create a Variable, 754
Printing, 296 L
IODDT Instance Label
Create, 230 Placement (FBD-Editor), 452
IODDT instance Launch
Administration, 233 Simulator, 940
is, 920 LD, 1271
LD Editor, 465
LD Section
J Columns, 365
Joint Leading digits in names
Modify (SFC Editor), 645 Enable, 368
Placement (SFC Editor), 642, 644 Library
Property (SFC Editor), 648 Introduction, 1067
Jump Object, 1068
Jump (SFC Editor), 591 Options, 377
Placement (FBD Editor), 448 Properties, 1071
Placement (LD-Editor), 540, 544 Library manager
Placement (SFC Editor), 638 Introduction, 196
Property (FBD Editor), 450 Loading an object, 199
Property (LD editor), 542 Transferring an object from the
Property (SFC Editor), 639, 640 project, 201
Jump (ST) Limitations
Enable, 370 Simulator, 944
Jump Label Line
Placement (FBD-Editor), 452 Delete (LD Editor), 484
Placement (LD-Editor), 544 Delete (SFC editor), 583
Property (FBD Editor), 454 Go to (IL Editor), 677
Jump label Go to (ST Editor), 677
Property (LD editor), 546 Insert (LD Editor), 484
Jump to a Jump Insert (SFC Editor), 582
SFC Editor, 591
Jump to a Position
SFC-Editor, 590
Jump to a Step
SFC Editor, 591

1293
Index

Link, 1195 Macro step delay time


Create (FBD Editor), 391, 456, 457 Define (SFC Editor), 609, 610
Create (LD Editor), 548, 550 Macro step name
Create (LD editor), 551 Define (SFC Editor), 608
Create (SFC Editor), 658, 659 Macro step supervision time
Edit (FBD Editor), 458 Define (SFC Editor), 609, 610
Edit (LD Editor), 558 Main menu, 1244
Edit (SFC Editor), 660 Management
Modify (FBD Editor), 458 DDT, 257
Modify (LD Editor), 558 Derived Data Type, 257
Optimize (FBD Editor), 459 DFB, 279
Optimize (LD Editor), 559 Manager
Optimize (SFC Editor), 661 Library, 197
Track, 387 Match case
List IL, 673
Message, 1044 ST, 673
List box, 1259 Memory re-organization, 115
Loading a project Memory usage, 113
Simulator, 941 Menu, 1244
Location Edit, 988
Go to (FBD Editor), 398 View, 989
Go to (IL Editor), 678 Menu command, 1245
Go to (LD Editor), 398 Menus
Go to (ST Editor), 678 Operator screens, 988
Log file, 56 Message
Logic network Create, 1045
Creation, 307 Export, 1051
Logical network Find, 1047
Association, 308 Hyperlink, 1046
Creation, 305 Import, 1051
List, 1044
Modify, 1046
M Operator screens, 1044
Machines Sort, 1050
Mats, 1088 Message number
Macro, 1271 Modify, 1049
Macro section Renumbering, 1049
Define (SFC Editor), 608 Modbus ports
Enable, 367 Configuration, 845
Properties, 342, 343 Modification in RUN, 859
Macro Step Modification of name
Property (SFC Editor), 608, 611 Screen family, 1001
Macro step
Refine (SFC Editor), 588
Wizard, 1188

1294
Index

Modify Navigating with the Keyboard


Action (SFC Editor), 623 FBD Editor, 407
Branch (SFC Editor), 645 LD Editor, 475
FFB execution order (FBD Editor), 435 SFC Editor, 572
Joint (SFC Editor), 645 Negate
Link (FBD Editor), 458 EFB Pin (LD Editor, 530
Link (LD Editor), 558 FFB Pin (FBD Editor, 433
Message, 1046 Nested comments
Message number, 1049 Enable, 370
Modify name Nested DDTs
Operator screens, 998 Create, 261
Modifying Attributes Network address, 93
DFB Instance, 798 Number of columns
Monitoring mode, 87 LD Section, 365
mouse, 393, 685
Movement
Operator screen, 999 O
Moving Object
Screen family, 1002 Alignment, 378
Moving objects Copy (FBD Editor), 411, 412
FBD Editor, 412 Copy (LD editor), 480, 481
LD editor, 481 Copy (SFC Editor), 578
Moving objects (Drag & Drop) Copy drag & drop (SFC editor), 581
SFC Editor, 580 Cut (FBD Editor), 410
Moving Text Cut (LD editor), 479
IL Editor, 671 Cut (SFC Editor), 577
ST Editor, 671 Delete (FBD Editor), 410
Multi assignment (ST) Delete (LD editor), 479
Enable, 370 Delete (SFC Editor), 576
Multi token Display properties (FBD Editor), 413
Enable, 367 Display properties (LD Editor), 482
Multi-instantiation Display properties (SFC Editor), 585
Operator screens, 990 Image, 1010
Multiple Instancing Library, 1068
FBD Editor, 422 Move (FBD Editor), 412
LD Editor, 518 Move (LD editor), 481
Multiple instancing, 56 Move (SFC Editor), 580
IL Editor, 704 Paste (FBD Editor), 411
ST Editor, 720 Paste (LD editor), 480
Paste (SFC Editor), 579
Select (FBD Editor), 408
N Select (LD editor), 477
Naming, 1272 Select (SFC Editor), 573
Objects
Properties, 1071

1295
Index

Objects family Operator screens


Properties, 1071 Access, 986
of, 1230, 1231, 1233 Attaching a functional module, 999
Offline mode, 79 Configuration, 378
Analyzing a project, 84 Control, 1062
Analyzing and generating a project, 84 Create, 998
Analyzing and generating modified Cross references, 1059
project parts, 84 Delete, 998
Archiving a project, 83 Deletion, 1000
Backing up a new project, 85 Detaching a functional module, 1000
Backing up an existing project, 85 Family, 1001
Closing a project, 85 Hyperlinks, 1230
Converting a PL7 or Concept Menus, 988
application, 82 Message, 1044
Creating a project, 80 Modify name, 998
Exiting Unity Pro, 85 Project browser, 997
Opening a project, 81 Project configuration, 371
Opening an archived project, 82 Properties, 1003
Shortcuts to recent projects, 83 Size, 378, 1004
Online mode, 87 Toolbars, 991
Automatic, 1061 Operator Screens Directory
Cancel/Repeat, 88 Functional module, 174
Configuration, 378 Project browser, 155
On-line modification Structural view, 155
Prepositioned step, 874 Optimize
Open, 82 Link (FBD Editor), 459
Hyperlinks, 1212, 1217, 1222, Link (LD Editor), 559
1227, 1232 Link (SFC Editor), 661
Section, 358 Option button, 1259
Opening Options
Hyperlinks, 1198 Connection, 376
Operate Block Project, 373
Placement (LD Editor), 507 or, 393, 685
Operate block Outline
Property (LD editor), 510 Attribute, 1018
Operation Output fallback, 916, 919
Driving object, 1013 Output window, 1251
Operator, 1272 OutStep
Operator screen Property (SFC Editor), 619, 620
Deletion, 1000
Movement, 999
Variables selection tool, 1033 P
Operator Screens Parallel Branch
Control, 371 Modify (SFC Editor), 645
Export, 1175 Placement (SFC Editor), 642
Import, 1176 Property (SFC Editor), 647

1296
Index

Parallel branch Placement


Placement (SFC Editor), 644 Alternative Sequence (SFC Editor),
Parallel Joint 650, 651
Placement (SFC Editor), 642 Branch (SFC Editor), 642, 644
Property (SFC Editor), 648 Coil (LD Editor), 495
Parallel joint Comment (FBD Editor), 460
Placement (SFC Editor), 644 Comment (LD Editor), 560
Parallel Sequence Comment (SFC Editor), 662
Placement (SFC Editor), 650, 652 Comment (SFC-Editor), 662
Parameter Compare block (LD editor), 502
DFB Type, 779 Contact (LD Editor), 487
Partial routing, 321 FFB (FBD Editor), 416, 418, 420
Pasting objects FFB (LD Editor), 512, 514, 516
FBD Editor, 411 FFB Link (LD Editor), 556, 557
LD editor, 480 FFB link (LD editor), 554, 555
SFC Editor, 579 Horizontal Link (LD Editor), 556, 557
Pasting Text Horizontal link (LD editor), 551, 552
IL Editor, 671 Joint (SFC Editor), 642, 644
ST Editor, 671 Jump (FBD Editor), 448
Pattern Jump (LD-Editor), 540
Attribute, 1018 Jump (SFC Editor), 638
PCMCIA memory cards Jump Label (FBD-Editor), 452
Configuration, 839 Jump Label (LD-Editor), 544
Periodic, 1272 Link (FBD Editor), 391, 456, 457, 458
Pin Link (LD Editor), 548, 550, 558
Negate (FBD Editor), 433 Link (LD editor), 551
Negate (LD Editor), 530 Link (SFC Editor), 658, 659, 660
Pin Number Operate Block (LD Editor), 507
DFB Type, 779 Parallel Sequence (SFC Editor),
Place 650, 652
Coil (LD Editor), 493 Return Object (FBD-Editor), 442
Comment (IL-Editor), 687 Return object (LD-Editor), 537
Comment (ST-Editor), 687 Step (SFC Editor), 596, 598
Contact (LD Editor), 486 Step-Transition Sequence (SFC Editor),
654, 655
Subroutine Call (FBD Editor), 444
Transition (SFC Editor), 630
Transition-Step Sequence (SFC Editor),
654, 656
Vertical Link (LD Editor), 556, 557
Vertical link (LD editor), 553
PLC screen, 916
PLC Simulator, 939
PLC STOP, 860
Popup menu, 1244

1297
Index

Position Processor
Control object, 1040 Choice, 817
Go to (LD Editor), 397 Debugging, 915
Jump (FBD Editor), 397 Replacement, 817
Jump to (SFC Editor), 590 Program
Standard object, 1040 Create (FBD), 405
Possible PC connections, 94 Create (LD), 470
Power consumption budget, 830 Create (ST), 712
Precautions Creation (IL), 696
Breakpoint, 864 Creation (SFC), 570
Step by Step mode, 864 Export, 1162
Preconfigured user profiles, 56 Import, 1164
Premium Processor Program Directory
Configuration, 837 Functional module, 172
Prepositioned steps, 874 Project browser, 150
Pre-symbolization Structural view, 150
How to, 755 Program module
Presymbolization, 745 Wizard, 1188
Communication bus, 752 Program modules
Module, 749 Project browser, 152
Processor, 748 Structural view, 152
Print Programming
FBD Section, 388 DFB, 780
IL Section, 688 DFB type, 780
LD Section, 388 Functional module, 181
SFC Section, 388 Programming mode, 87
ST Section, 688 Project
Printing Diagnostics, 977
Data, 296 Options, 373
Printing the configuration, 854 Properties, 132
Procedure Replacing data, 771
Actual Parameter Assignment (FBD Search data, 769
Editor), 423 Settings, 362, 373
Actual Parameter Assignment (LD Project backup, 107
Editor), 520
Call (FBD Editor), 416, 418, 420
Call (LD Editor), 512, 514, 516
Call (ST Editor), 718
Calling (IL editor), 702
Property (FBD Editor), 437
Property (LD Editor), 532
Type Selection (FBD Editor), 418, 421
Type selection (FBD Editor), 703
Type Selection (LD Editor), 514, 517
Process control front panel
Self-selective, 1100

1298
Index

Project browser, 117 Property


Animation Tables Directory, 153 Action (SFC Editor), 603, 622
Communication Directory, 149 Action section, 342, 343
Configuration Directory, 142 Automatic Opening, 375
DDT, 144 Branch (SFC Editor), 647
DFB type, 145 Coil (LD editor), 499
Documentation Directory, 158 Compare block (LD editor), 505
Event processing, 152 Contact (LD editor), 490
Functional view, 120 FBD Section, 333
Hyperlinks, 1197 FBD section, 332
Hyperlinks directory, 133 Function (FBD Editor), 437
Introduction, 119 Function (LD Editor), 532
Operator screens, 997 Function block (FBD Editor), 439
Operator Screens Directory, 155 Function block (LD editor), 534
Program Directory, 150 I/O Event section, 356
Program modules, 152 I/O event section, 355
Sections, 151 IL Section, 333
Sequential tasks, 150 IL section, 332
Station Directory, 140 InStep (SFC Editor), 614
Structural view, 119 Joint (SFC Editor), 648
Variables Directory, 147 Jump (FBD Editor), 450
Project comparison, 99 Jump (LD editor), 542
Project configuration Jump (SFC Editor), 639, 640
Operator screens, 371 Jump Label (FBD Editor), 454
Project diagnostic, 977 Jump label (LD editor), 546
Project diagnostics, 962 LD Section, 333
Project information, 921 LD section, 332
Project management, 76 Macro section, 342, 343
Project settings, 363 Macro Step (SFC Editor), 608, 611
Project version, 374 Operate block (LD editor), 510
Properties OutStep (SFC Editor), 619, 620
Action (SFC Editor), 615 Procedure (FBD Editor), 437
Functional module, 179 Procedure (LD-Editor), 532
InStep (SFC Editor), 615 Return object (FBD Editor), 443
Library, 1071 Return object (LD editor), 538
Objects, 1071 SFC Section, 338
Objects family, 1071 SFC section, 337
Operator screens, 1003 ST Section, 333
Project, 132 ST section, 332
Screen family, 1005 Step (SFC Editor), 600, 603
Task, 328 Sub-routine block (FBD Editor), 437
Sub-routine block (LD Editor), 532
Subroutine section, 346, 347
Timer Event section, 351
Timer event section, 350
Transition (SFC Editor), 631, 635

1299
Index

Transition section, 342, 343 Refine


Protection DFB (FBD Editor), 414
DFB, 784 DFB (IL Editor), 684
DFB Type, 784 DFB (LD Editor), 483
Protection of DFB (ST Editor), 684
Project, 135 Macro step (SFC Editor), 588
Protection of sections Step (SFC Editor), 588
Functional module, 182 Subroutine (FBD Editor), 414
Public Variable Subroutine (IL Editor), 684
Assigning Values (FBD Editor), 431 Subroutine (LD Editor), 483
Assigning Values (IL Editor), 706 Subroutine (ST Editor), 684
Assigning Values (LD Editor), 528 Transition (SFC Editor), 589
FBD Editor, 431 Regulation
IL Editor, 706 Premium Processors, 840
LD Editor, 528 Renumbering
Public variable Message number, 1049
Assign values (ST Editor), 722 Replace
Assign values (ST-Editor), 722 Cross-references, 771
ST Editor, 722 Data, 768
Pulldown menu, 1244 String of characters, 1048
Text (IL editor), 682
Text (ST editor), 682
Q Replacing data
Quantum processors Project, 771
Configuration, 842 Representation
Hyperlinks, 1198
Restoring data to the PLC, 110
R Restoring the project backup, 107
Racks Return
Organization, 813 Placement (FBD-Editor), 442
REAL, 1273 Placement (LD-Editor), 537
Real-time clock, 916, 920 Return Object
Redo changes Placement (FBD-Editor), 442
FBD Editor, 390 Return object
IL Editor, 672 Placement (LD-Editor), 537
SFC Editor, 575 Property (FBD Editor), 443
ST Editor, 672 Property (LD editor), 538
RIO
Configuration, 824
Device configuration, 826
RUN
Task, 917
Run, 106

1300
Index

S Section, 1274
Analysis (FBD), 406
Safety, 858
Analysis (IL), 697
Safety precautions, 858
Analysis (LD), 472
Save
Analysis (SFC), 571
DDT, 267
Analysis (ST), 713
Derived datatype, 267
Build (FBD section), 403
Saving PLC data, 109
Build (IL), 694
Screen browse
Build (SFC), 567
Attribute, 1027
Build (ST), 710
Screen family
Create (FBD), 330
Attaching a functional module, 1002
Create (I/O event section), 354
Creation, 1001
Create (IL), 330
Deletion, 1001
Create (LD), 330
Detaching a functional module, 1002
Create (SFC), 336
Modification of name, 1001
Create (ST), 330
Moving, 1002
Create (subroutine section), 345
Properties, 1005
Create (Timer event section), 348
screens
Delete, 359
Multi-instantiation, 990
Execution order, 360
Search
FBD Section, 384
Cross-references, 769
LD Section, 384
EFB instance (FBD Editor), 395
Number of columns (LD-Editor), 365
EFB instance (IL Editor), 689
Open, 358
EFB instance (LD Editor), 395
Print (FBD), 388
EFB instance (ST Editor), 689
Print (IL), 688
Variable (FBD Editor), 395
Print (LD), 388
Variable (IL Editor), 689
Print (SFC), 388
Variable (LD Editor), 395
Print (ST), 688
Variable (SFC Editor), 586
Properties (Action section), 342
Variable (ST Editor), 689
Properties (action section), 343
Search / Replace, 764
Properties (FBD), 332, 333
Search data
Properties (I/O Event section), 356
Project, 769
Properties (I/O event section), 355
Search
Properties (IL), 332, 333
DFB instance (FBD Editor), 395
Properties (LD), 332, 333
DFB instance (IL Editor), 689
Properties (Macro section), 342
DFB instance (LD Editor), 395
Properties (macro section), 343
DFB instance (ST Editor), 689
Properties (SFC), 337, 338
Properties (ST), 332, 333
Properties (subroutine section), 346, 347
Properties (Timer Event section), 351
Properties (Timer event section), 350
Properties (Transition section), 342
Properties (transition section), 343
Semantics Check (FBD), 406

1301
Index

Semantics Check (IL), 697 Semantics Check


Semantics check (LD), 472 FBD Section, 406
Semantics Check (SFC), 571 IL-Section, 697
Semantics Check (ST), 713 SFC Section, 571
SFC Section, 384 ST-Section, 713
Structure (FBD section), 403 Semantics check
Structure (IL), 694 LD section, 472
Structure (LD section), 467 Sending a command to the PLC, 106
Structure (SFC), 567 Sequential tasks
Structure (ST), 710 Project browser, 150
Syntax Check (FBD), 406 Structural view, 150
Syntax Check (IL), 697 Services
Syntax check (LD), 472 Menu, 990
Syntax Check (SFC), 571 Services offered, 806
Syntax Check (ST), 713 Set to STOP
View properties (IL Editor), 691 tâche, 861
View properties (ST Editor), 691 Settings
Zoom (FBD), 385 Data types, 369
Zoom (IL), 674 IL, 370
Zoom (LD), 385 Project, 362, 373
Zoom (SFC), 385 SFC, 367
Zoom (ST), 674 ST, 370
Sections SFC
Project browser, 151 Diagnostics, 977
Structural view, 151 SFC Editor, 565
Select Shortcut menu, 1244
Block Instance (FBD Editor), 422 Show
Block instance (IL Editor), 704 EN/ENO (FBD Editor), 434
Block Instance (LD Editor), 518 EN/ENO (LD Editor), 531
Block instance (ST Editor), 720 Grid, 384
Control object, 1036 Simulator, 939
FFB Type (FBD Editor), 418, 421 Limitations, 944
FFB Type (LD Editor), 514, 517 Simulator Icon, 942
Standard object, 1036, 1055 Simulator Status, 942
Selecting objects Size
FBD Editor, 408 Operator screens, 378, 1004
LD editor, 477 Sniffing
SFC Editor, 573 Quantum configuration, 834
Selecting Text
IL Editor, 668
ST Editor, 668
Selection
FFB type (IL Editor), 702
FFB type (ST Editor), 718

1302
Index

Software access security, 55 State RAM


Access by an unknown user, 70 Editor, 842
Access rights, 71 State RAM editor, 842
Access security editor, 57 Station Directory
Database protection, 70 Project browser, 140
Loss of password, 70 Structural view, 140
Recovery procedures after a fault, 70 Station directory
Security rules, 68 Functional view, 169
User information, 58, 60 Status
User profile, 63 Simulator, 942
Sort Status bar, 1253
Message, 1050 Step
Sorting Display mode (SFC Editor), 628
DFB Instance, 796 Jump (SFC Editor), 591
SR Placement (SFC Editor), 596, 598, 654,
Call (FBD Editor), 444 655
SR Section Property (SFC Editor), 600, 603
Properties, 346 Refine (SFC Editor), 588
SR section Step by Step
Create, 345 precautions, 864
Properties, 347 Step by step
ST Editor, 709 DFB instance, 901
ST Expressions on FFB Inputs Function block language, 894
Enable, 368 Ladder Diagram language, 880
STA, 82, 83 Sequential Function Chart language, 906
Standard object Textual languages, 887
Align, 1040 Step by Step mode
Background, 1041 precautions, 864
Bind, 1042 Step delay time
Compound, 1042 Define (SFC Editor), 601, 602
Create, 1008 Step name
Cut, copy or paste, 1039 Define (SFC Editor), 600
Delete, 1039 Step supervision time
Flip, 1040 Define (SFC Editor), 601, 602
Foreground, 1040 Step-Transition Sequence
Introduction, 1007 Placement (SFC Editor), 654, 655
Move, 1038 Stndard object
Position, 1040 Resize, 1038
Select, 1036, 1055 STOP
Unbind, 1042 Task, 917
Variables, 1056, 1057, 1058, 1063 Stop, 106
Standardized symbols STOP Task
Electrical symbols, 1123 behavior of I/Os, 919
Function blocks, 1122 STOP task, 861
Process control symbols, 1123

1303
Index

String of characters Supervision time (Macro step)


Find, 1047 Define (SFC Editor), 609, 610
Replace, 1048 Supervision time (Step)
Structural view Define (SFC Editor), 601, 602
Animation Tables Directory, 153 Suppression
Communication Directory, 149 DFB, 786
Configuration Directory, 142 symbol, 386, 390, 393, 397, 408, 410, 411,
DDT, 144 417, 418, 419, 420, 421, 424, 425, 426, 427,
DFB type, 145 428, 429, 430, 442, 444, 445, 448, 449, 452,
Documentation Directory, 158 453, 456, 460, 470, 477, 479, 480, 489, 490,
Event processing, 152 497, 498, 500, 502, 504, 507, 509, 513, 514,
Operator Screens Directory, 155 515, 516, 517, 521, 522, 523, 524, 525, 526,
Program Directory, 150 527, 537, 540, 541, 544, 545, 560, 573, 575,
Program modules, 152 577, 578, 579, 590, 602, 610, 624, 626, 630,
Project view, 119 631, 632, 633, 638, 639, 658, 662, 670, 671,
Sections, 151 672, 673, 674, 677, 681, 683, 685, 687, 692,
Sequential tasks, 150 699, 700, 701, 703, 704, 705, 715, 716, 717,
Station Directory, 140 718, 719, 720, 721, 740, 741
Variables Directory, 147 Sympbols
Structure Arrows, 1121
FBD Section, 403 Pictograms, 1121
IL Section, 694 Syntax Check
LD section, 467 FBD Section, 406
SFC Section, 567 IL-Section, 697
ST Section, 710 SFC Section, 571
STU ST-Section, 713
Open, 81 Syntax check
Submenu, 1244 LD section, 472
Subroutine System
Call (FBD Editor), 444 Diagnostics, 975
Call (IL Editor), 683 System diagnostic, 975
Call (LD Editor), 498 System diagnostics, 962
Call (ST Editor), 683
Refine (FBD Editor), 414
Refine (IL Editor), 684 T
Refine (LD Editor), 483 Tab, 1258
Refine (ST Editor), 684 I/O objects, 745
Sub-routine block Task, 1275
Property (FBD Editor), 437 Create, 327
Property (LD Editor), 532 deactivation, 862
Subroutine section Properties, 328
Create, 345 Trace, 911
Properties, 346, 347 Task deactivation, 862
Super user, 55 Task duration, 916
Supervision time (InStep) Task period, 916
Define (SFC Editor), 614

1304
Index

Tasks Track
Task states, 912 Link, 387
Text Transferring
Attribute, 1020 Current values to update initial
Copy (IL Editor), 670 values, 112
Copy (ST Editor), 670 Transferring data between a file and the
Copying (IL Editor), 671 PLC, 109
Copying (ST Editor), 671 Transferring the project, 100
Cut (IL Editor), 670 Transition
Cut (ST Editor), 670 Placement (SFC Editor), 630, 656
Delete (IL Editor), 670 Placement (SFC-Editor), 654
Delete (ST Editor), 670 Property (SFC Editor), 631
Find (IL editor), 681, 682 Property(SFC Editor), 635
Find (ST editor), 681, 682 Refine (SFC Editor), 589
Find Next (IL editor), 681 Transition condition
Find Next (ST editor), 681 Define (SFC Editor), 631, 633, 634
Find Previous (IL editor), 681 Invert (SFC Editor), 634
Find Previous (ST editor), 681 Transition section
Match case (IL Editor), 673 Properties, 342, 343
Match case (ST Editor), 673 Transition-Step Sequence
Move (IL Editor), 671 Placement (SFC Editor), 654, 656
Move (ST Editor), 671 Trend diagram
Paste (IL Editor), 671 Attribute, 1023
Paste (ST Editor), 671 Trends
Replace (IL editor), 682 Cascade, 1107
Replace (ST editor), 682 ON OFF, 1119
Selecting (IL Editor), 668 Self-selective, 1111
Selecting (ST Editor), 668 Type
Text box, 1258 DFB, 777
Text object
Create (FBD Editor), 460
Create (LD Editor), 560 U
Create (SFC Editor), 662 UDINT, 1276
the, 900 Unbind
Timer Event section Control object, 1042
Properties, 351 Standard object, 1042
Timer event section Undo
Create, 348 FBD Editor, 390
Properties, 350 IL Editor, 672
to, 767, 768, 1074, 1215, 1216, 1220, 1225 SFC Editor, 575
Toolbar, 1247 ST Editor, 672
Toolbars Undo changes
Operator screens, 991 FBD Editor, 390
Topics IL Editor, 672
Documentation, 1134 SFC Editor, 575
ST Editor, 672

1305
Index

Upload Viewer
Update, 104 Additional information, 965
Upload information Commands, 971
Update, 104 Display, 968
User functions in online mode, 88 Error messages, 969
User Interface, 1241 Properties, 972
User profile, 55 Viewing the Attributes
Using the Keyboard DFB Instance, 796
FBD Editor, 407 Viewing the Elements
LD Editor, 475 DFB Instance, 796
SFC Editor, 572

W
V Warm restart, 916, 919
Variable, 1276 Watch, 1277
Call (IL Editor), 699, 700 Watchdog, 916
Call (ST Editor), 715, 716 Watchpoint
Display, 239, 272 DFB instance, 902
View mode (LD Editor), 473 Function Block Diagram language, 896
Variables Ladder Diagram language, 882
Export, 1170 Sequential Function Chart language, 909
Import, 1172 Textual languages, 889
Printing, 296 Window, 1242, 1243
Standard object, 1056, 1057, 1058, 1063 window, 1208
Wizard, 1186 Windows Element
Variables Directory Anchored window, 1243
Project browser, 147 Dialog box, 1258
Structural view, 147 Directory Structure, 1254
Variables selection tool Main menu, 1244
Operator screen, 1033 Menu, 1244
Vertical Link Menu command, 1245
Creating (LD Editor), 556, 557 Popup menu, 1244
Vertical link Pulldown menu, 1244
Create (LD editor), 553 Shortcut menu, 1244
View Submenu, 1244
Data properties (FBD Editor), 413 Toolbar, 1247
Data properties (LD Editor), 691 Window, 1242
Data properties (SFC Editor), 482, 585 Windows element
Menu, 989 button, 1258
Section properties (IL-Editor), 691 Check box, 1259
Section properties (ST Editor), 691 Data selection box, 1257
View mode List box, 1259
Variables (LD Editor), 473 Option button, 1259
Output window, 1251
Tab, 1258
Text box, 1258

1306
Index

Windows Element,
Status bar, 1253
Wizard
Animation tables, 1189
Correspondence file, 1191
DDT, 1187
DFB, 1187
Events, 1188
Functional module, 1190
Macro step, 1188
Program module, 1188
Variables, 1186

Z
Zoom, 387
Section, 385, 674
Zoom In
Commands, 123
Zoom Out
Commands, 123

1307
Index

1308

You might also like