Unity Pro Operating Modes

Download as pdf or txt
Download as pdf or txt
You are on page 1of 1950

Unity Pro

33003101 07/2012

Unity Pro
Operating Modes

33003101.12

07/2012

www.schneider-electric.com

The information provided in this documentation contains general descriptions and/or


technical characteristics of the performance of the products contained herein. This
documentation is not intended as a substitute for and is not to be used for
determining suitability or reliability of these products for specific user applications. It
is the duty of any such user or integrator to perform the appropriate and complete
risk analysis, evaluation and testing of the products with respect to the relevant
specific application or use thereof. Neither Schneider Electric nor any of its affiliates
or subsidiaries shall be responsible or liable for misuse of the information that is
contained herein. 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 help ensure
compliance with documented system data, only the manufacturer should perform
repairs to components.
When devices are used for applications with technical safety requirements, the
relevant instructions must be followed.
Failure to use Schneider Electric software or approved software with our hardware
products may result in injury, harm, or improper operating results.
Failure to observe this information can result in injury or equipment damage.
2012 Schneider Electric. All rights reserved.

33003101 07/2012

Table of Contents

Safety Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
About the Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Part I General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 1 General Presentation of Unity Pro . . . . . . . . . . . . . . . . .
Capabilities of Unity Pro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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


Function Block Diagram FBD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ladder Diagram (LD) Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
General Information about SFC Sequence Language . . . . . . . . . . . . . . .
Instruction List IL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Structured Text ST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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


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

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


4.1 Access security management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Unity Pro access security management . . . . . . . . . . . . . . . . . . . . . . . . . .
Security editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
User Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
User Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
User Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Recovery procedure with an error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Access rights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Project management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Access to Unity Pro software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Services in Offline Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Services in Online Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Allowed Online Modifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Connection / disconnection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Accessing a PLC via a Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Overview of Types of Connection Possible With Schneider PLCs . . . . . .
Accessing communication parameters . . . . . . . . . . . . . . . . . . . . . . . . . . .
33003101 07/2012

25
27

29
31
32
36

39
40
42
44
47
48

49
49

51
52
53
56
57
59
62
66
68
69
74
75
77
86
88
94
96
102
105
3

Project comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Conversion of Legacy Applications/Projects . . . . . . . . . . . . . . . . . . . . . .
Importing an LL984 Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Transferring the project between the terminal and the PLC . . . . . . . . . .
Update of Upload Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sending a command to the PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Project Backup Management for Modicon M340 . . . . . . . . . . . . . . . . . . .
Project backup for Premium. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Save/Restore Data Between a File and the PLC. . . . . . . . . . . . . . . . . . .
Compatibility Rules for Restore Using a *.DTX File. . . . . . . . . . . . . . . . .
Transferring current values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Memory usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Function Pack for Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Memory Card Access for Modicon M340. . . . . . . . . . . . . . . . . . . . . . . . .
FTP and Memory Card for Modicon M340. . . . . . . . . . . . . . . . . . . . . . . .
Project Management with DTMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

108
109
111
119
122
124
125
127
129
133
138
139
143
145
146
147

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

149

5.1 Introduction to the project browser. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Introduction to the project browser. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Structural view and functional view of the project . . . . . . . . . . . . . . . . . .
The Zoom In and Zoom Out commands . . . . . . . . . . . . . . . . . . . . . . . . .
The commands Contract all and Expand all . . . . . . . . . . . . . . . . . . . . . .
The Goto command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Project properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
User Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Activate section and subroutine protection . . . . . . . . . . . . . . . . . . . . . . .
5.2 Introduction to the various directories of the project browser . . . . . . . . .
Station Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuration Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Derived data types (DDT) directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Derived FB (DFB) types directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Variables Directory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Motion Directory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Communication Directory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Program Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Animation Tables Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Operator Screens Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Documentation Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Conversion Report Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3 Summaries of the utilities associated with the structure view and function
view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Summary of the services associated with the structural view . . . . . . . . .

150
151
153
155
158
161
164
165
167
170
171
173
175
176
178
180
182
184
187
189
191
192
193
193

33003101 07/2012

Chapter 6 Functional modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


6.1 Introduction to the functional view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Functional modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Station directory of the functional view . . . . . . . . . . . . . . . . . . . . . . . . . . .
Functional Module Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Functional Module Program Directory. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Functional Module Animation Tables Directory. . . . . . . . . . . . . . . . . . . . .
Functional Module Operator Screens Directory . . . . . . . . . . . . . . . . . . . .
Summary of the services associated with the functional view. . . . . . . . . .
6.2 The functional modules and their associated utilities . . . . . . . . . . . . . . . .
Properties of a functional module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating a functional module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Programming a functional module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Protecting program elements of the functional module . . . . . . . . . . . . . . .
Debugging a functional module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Detaching/Deleting a functional module . . . . . . . . . . . . . . . . . . . . . . . . . .
Functional module export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Functional module import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating, Deleting, Locating, Dragging-and-Dropping an Animation Table
in a Functional Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating, Deleting, Locating and Dragging-and-Dropping an Operator
Screen in a Functional Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Chapter 7 FDT Container . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


7.1 FDT Container. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Introduction to the Unity Pro FDT Container . . . . . . . . . . . . . . . . . . . . . . .
FDT Container User Rights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2 DTM Hardware Catalog. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description of DTM Hardware Catalog . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.3 DTM Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DTM Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Built, Connected and Installed DTMs . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DTM Browser Contextual Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Field Bus Discovery Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Store Device Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Renaming DTMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Profibus DTMs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.4 DTM Properties Tabs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DTM Properties Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Chapter 8 Type Library Manager . . . . . . . . . . . . . . . . . . . . . . . . . . .


Libset (Set of Libraries) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Overview of the Type Library Manager . . . . . . . . . . . . . . . . . . . . . . . . . . .
Type Library Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description of the Type Library Manager . . . . . . . . . . . . . . . . . . . . . . . . .
Loading an object from the library into the project . . . . . . . . . . . . . . . . . .
Transferring an object from the project into the library . . . . . . . . . . . . . . .
33003101 07/2012

199
200
201
203
204
206
207
208
209
212
213
214
215
217
218
219
223
224
225
228

231
232
233
234
235
235
240
241
246
249
256
260
262
264
265
265

269
270
273
274
277
282
284
5

Creating a new library and family. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Creating an installable family . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Updating a family of a library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Consistency Check Assistant. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Library Version Management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using the type library of an older Unity Pro Version . . . . . . . . . . . . . . . .

286
288
289
291
294
297

Part II Data Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

299

Chapter 9 Description of the Data Editor . . . . . . . . . . . . . . . . . . . . .

301

Data Editor Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Description of Data Editor tabs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

302
304

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

307

Access to derived data types (DDT) . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Creation of a derived data type (DDT) . . . . . . . . . . . . . . . . . . . . . . . . . . .
Administration of derived data types and their elements . . . . . . . . . . . . .
Creating nested derived data types . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Save Derived Data Types (DDT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

308
309
319
321
326

Chapter 11 Creating data types of user function blocks (DFB) . . . .

327

Creation and Management of Data Types and Function Blocks (DFB) . .

327

Chapter 12 Managing of instances of data belonging to the family of


function blocks (EF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

329

Creating / Deleting a variable instance of function blocks (EFB/DFB). . .


Displaying function block variable instances in the editor . . . . . . . . . . . .
Changing the attribute for variable instances in a function block. . . . . . .

330
333
336

Chapter 13 Managing variable instances belonging to the


EDT/DDT/IODDT/Device DDT families . . . . . . . . . . . . . . .

339

Creation of EDT type variable instances . . . . . . . . . . . . . . . . . . . . . . . . .


Creation of variable DDT type instances . . . . . . . . . . . . . . . . . . . . . . . . .
Creating a type IODDT variable instance . . . . . . . . . . . . . . . . . . . . . . . .
Creating a type Device DDT Variable instance . . . . . . . . . . . . . . . . . . . .
Managing an IODDT, DDT or an Array type instance . . . . . . . . . . . . . . .
Creation of multiple variable instances . . . . . . . . . . . . . . . . . . . . . . . . . .
Displaying the variable instances in the editor. . . . . . . . . . . . . . . . . . . . .
Changing attributes of variable instances . . . . . . . . . . . . . . . . . . . . . . . .

340
342
349
352
355
360
362
365

Chapter 14 General Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

369

Configuring the Data Editor columns . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Description of the Data Editor: Variable type selection . . . . . . . . . . . . . .
Filtering of Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exporting a subset of variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Analyze DDT and DFB Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Purge of Unused Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Local printing of data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Save the context of the Data Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

370
373
377
382
383
384
386
387

33003101 07/2012

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


Chapter 15 Presentation of the communication editors. . . . . . . . . .
Presentation of the communication editors of the project browser . . . . . .

Chapter 16 Network Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . .


Network Configuration Principle Using Unity Pro . . . . . . . . . . . . . . . . . . .
Creating a Logic Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuring a Logic Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Associating a Logic Network with Network Hardware . . . . . . . . . . . . . . . .

Chapter 17 Configuration of X-Way Routing Premium Stations . . .

389
391
391

393
394
395
397
398

401

Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuration of Multi-Network Services . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuring an X-Way Router Module. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Examples of X-Way Routing Stations . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Examples of Partial Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

402
403
405
409
412

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

415

Chapter 18 Accessing Tasks and Sections . . . . . . . . . . . . . . . . . . . .


18.1 Access to Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Create and Configuration of a Task . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Displaying and Modifying Task Properties . . . . . . . . . . . . . . . . . . . . . . . .
18.2 Accessing Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating an FBD, LD, IL, or ST Section . . . . . . . . . . . . . . . . . . . . . . . . . .
Properties Dialog Box for FBD, LD, IL, or ST Sections . . . . . . . . . . . . . . .
Creating SFC sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Properties Dialog Box for SFC Sections . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating action, transition and macro sections . . . . . . . . . . . . . . . . . . . . .
Action, transition and macro sections properties dialog box . . . . . . . . . . .
Create a Sub-Program Section (SR). . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Property Dialog of the Sub-Program Sections . . . . . . . . . . . . . . . . . . . . .
Creating a Timer Event Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Properties dialog box for Timer Event Sections . . . . . . . . . . . . . . . . . . . .
Create an I/O Event Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Property Dialog of I/O Event Sections. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Opening a Section. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Deleting sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Execution order of sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating LL984 Segments and Networks . . . . . . . . . . . . . . . . . . . . . . . . .
Modifying LL984 Segment Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modifying LL984 Network Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Scheduling LL984 Segments and Network . . . . . . . . . . . . . . . . . . . . . . . .
Deleting, Cutting, Copying and Pasting LL984 Segments and Network . .

33003101 07/2012

417
418
419
420
421
422
425
431
434
440
441
444
446
449
452
456
458
462
463
464
465
469
471
473
474

Chapter 19 Unity Pro Software Options . . . . . . . . . . . . . . . . . . . . . . .


19.1

476
477
479
492
495
503
511
515
516
518
520
522
524
526
532
532

Chapter 20 Common Function for graphical language . . . . . . . . . . .

535

Using Bookmarks in Graphical Languages Sections . . . . . . . . . . . . . . . .


Display grid in a FBD/LD/SFC section . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zoom in a FBD/LD/SFC section. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tracking links in a FBD/LD/SFC section . . . . . . . . . . . . . . . . . . . . . . . . .
Print Current Section in a FBD/LD/SFC section . . . . . . . . . . . . . . . . . . .
Undo and redo changes in a FBD/LD section . . . . . . . . . . . . . . . . . . . . .
Using connectors in a FBD/LD section . . . . . . . . . . . . . . . . . . . . . . . . . .
Inspect windows in a FBD/LD section . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tooltips for Variables in a FBD/LD/SFC Section . . . . . . . . . . . . . . . . . . .
Replace Variables in a FBD/LD Section . . . . . . . . . . . . . . . . . . . . . . . . .
Initialize search in a FBD/LD section . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Initialize Animation Table in a FBD/LD section . . . . . . . . . . . . . . . . . . . .
Go to in a FBD/LD section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Go to dialog box in a FBD/LD section . . . . . . . . . . . . . . . . . . . . . . . . . . .

536
541
542
545
546
547
548
552
556
558
562
563
565
567

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

571

19.2

19.3

21.1

475

Project Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
General Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
General Project Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Maintain Output Links on Disabled EF. . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuration Settings For Operator Screens . . . . . . . . . . . . . . . . . . . . .
Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
General Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
General Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data and Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Connection Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The Operator Screens Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Converters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Customize Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Customize Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Creating a program with FBD programming language . . . . . . . . . . . . . .


Structure of an FBD program (function block language) . . . . . . . . . . . . .
Creating an FBD Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Syntax and Semantics Check during programming. . . . . . . . . . . . . . . . .
Navigating with the keyboard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Selecting objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Deleting, cutting, copying, pasting and moving objects . . . . . . . . . . . . . .
Inserting Rows and Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Deleting Rows and Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Displaying the properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Refining DFBs and subroutines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

572
573
575
576
577
578
581
585
586
587
588

33003101 07/2012

21.2 Editing FFBs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


General information about calling an FFB. . . . . . . . . . . . . . . . . . . . . . . . .
Calling an FFB via the FFB Input Assistant. . . . . . . . . . . . . . . . . . . . . . . .
Calling an FFB via the data selection . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Assign actual parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using Public Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Expanding Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Negating FFB Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EN and ENO Show and Hide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modifying the execution order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Replacing an FFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Properties dialog box for elementary functions, procedures and subroutine blocks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Properties dialog box for elementary and derived function blocks (FBs) .
21.3 Returning from a Subroutine or DFB. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Returning from a Subroutine or DFB. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Return object properties dialog box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21.4 Calling a Subroutine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Calling a subroutine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21.5 Jumps within the Current Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Jump within the current section. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Jump object properties dialog box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21.6 Definition of the Jump Target (Jump Labels) . . . . . . . . . . . . . . . . . . . . . .
Definitions of Jump Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Jump label objects properties dialog box . . . . . . . . . . . . . . . . . . . . . . . . .
21.7 Editing Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Placing a Link . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Editing Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21.8 Entering Comments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Entering comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21.9 Online functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Online functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21.10 Export/Import. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Export/Import FBD Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Chapter 22 LD Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22.1 Creating a program with LD programming language . . . . . . . . . . . . . . . .
Structure of an LD program (ladder diagram) . . . . . . . . . . . . . . . . . . . . . .
Creating an LD program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Syntax and Semantics Check during programming . . . . . . . . . . . . . . . . .
View for variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Navigating with the Keyboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Selecting objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

33003101 07/2012

590
591
593
596
601
613
615
616
617
618
622
624
626
628
629
631
632
632
636
637
640
642
643
645
647
648
650
653
659
659
661
661
662
662

663
664
665
668
672
674
679
681

Deleting, cutting, copying, pasting and moving objects . . . . . . . . . . . . . .


Displaying the properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Refining DFBs and subroutines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Inserting and Deleting Rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22.2 Editing Contacts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Select contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Placing contacts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Property dialog box for contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22.3 Editing Coils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Selection of coils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Placing coils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Property dialog box for coils. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22.4 Editing compare blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Placing compare blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Compare block properties dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . .
22.5 Editing operation blocks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Placing Operate Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Operate block properties dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22.6 Editing FFBs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
General information on calling an FFB . . . . . . . . . . . . . . . . . . . . . . . . . .
Calling an FFB via the FFB input assistant . . . . . . . . . . . . . . . . . . . . . . .
Calling an FFB via the data selection . . . . . . . . . . . . . . . . . . . . . . . . . . .
Connection of FFBs to the Left Power Rail . . . . . . . . . . . . . . . . . . . . . . .
Assigning Actual Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using Public Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Expanding Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Negating FFB Pins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EN and ENO Show and Hide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Properties dialog box for elementary functions, procedures and subroutine blocks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Properties dialog box for elementary and derived function blocks (FBs).
22.7 Returning from a Subroutine or DFB . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Returning from a subroutine or DFB . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Return object properties dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22.8 Jumps within the Current Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Jumps within the current section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Jump object properties dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22.9 Definition of the Jump Target (Jump Labels) . . . . . . . . . . . . . . . . . . . . . .
Definitions of jump targets (jump labels) . . . . . . . . . . . . . . . . . . . . . . . . .
Jump label properties dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22.10 Editing Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Select links. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Combining Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Placing links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Editing links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10

684
688
689
691
692
693
695
699
702
703
706
711
714
715
720
722
723
727
729
730
732
735
740
741
753
755
757
758
759
761
763
764
766
767
768
770
772
773
775
777
778
780
782
793

33003101 07/2012

22.11

Entering Comments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Entering comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22.12 Online functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Online Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22.13 Export/Import. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Export/Import LD Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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


23.1 Creating a program with the SFC programming language . . . . . . . . . . . .
Structure of an SFC Program (Sequential Function Chart). . . . . . . . . . . .
Creating an SFC Program. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Syntax and Semantics Check during Programming . . . . . . . . . . . . . . . . .
Navigating with the keyboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Selecting Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Undo and Redo Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Deleting, cutting, copying, pasting and moving objects. . . . . . . . . . . . . . .
Inserting Rows and Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Deleting Rows and Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Displaying the object properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Initialize Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Initialize Animation Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Refining steps, macro steps and transitions . . . . . . . . . . . . . . . . . . . . . . .
Go to . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Go to dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
List and display jumps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Go to Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23.2 General Information about Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Selecting steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Placing steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23.3 Editing "normal" steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Defining the properties of steps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Steps properties dialog box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23.4 Editing macro steps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Defining the properties of macro steps . . . . . . . . . . . . . . . . . . . . . . . . . . .
Macro Steps Properties Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23.5 Editing input steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Defining the properties of InSteps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
InSteps properties dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23.6 Editing Output Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Defining the properties of OutSteps . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
OutStep properties dialog box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23.7 Editing actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Assigning actions to a step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Display modes for actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

33003101 07/2012

799
799
801
801
802
802

803
804
805
808
809
811
812
814
815
821
823
825
826
827
828
830
832
836
837
838
839
841
842
843
850
855
856
863
866
867
869
873
874
876
879
880
888

11

23.8

Editing Transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Placing transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Defining transition properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Properties dialog box for transitions. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Editing Jumps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Placing jumps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Defining jump properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Jump properties dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Editing Branches and Joints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Selecting Branches and Joints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Placing branches and joints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modifying the Properties of Branches and Joints. . . . . . . . . . . . . . . . . . .
Branches properties dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Joints properties dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Inserting Alternative Strings and Simultaneous Strings . . . . . . . . . . . . . .
Selecting Alternative Sequences and Parallel Sequences . . . . . . . . . . .
Placing alternative sequences and parallel sequences . . . . . . . . . . . . . .
Inserting Step-Transitions and Transition-Step-Sequences . . . . . . . . . .
Selecting Step-Transition and Transition-Step Sequences . . . . . . . . . . .
Placing step-transition and transition-step sequences. . . . . . . . . . . . . . .
Editing Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Placing a Link . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Editing links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Entering Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Entering comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Online functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Online functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Export/Import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Export/Import SFC Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

890
891
893
899
902
903
905
907
909
910
912
913
916
917
918
919
920
923
924
925
928
929
930
933
938
938
940
940
941
941

Chapter 24 Common Function for Textual Language . . . . . . . . . . . .

943

Selecting Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Deleting, cutting, copying, pasting and moving text. . . . . . . . . . . . . . . . .
Undoing and redoing changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Match case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Font sizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using Bookmarks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Go to . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Go to dialog box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Searching text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Searching and replacing text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Call a subroutine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Refine DFBs and subroutines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Inspect windows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Enter comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

944
946
948
949
950
951
953
955
958
960
962
964
966
970

23.9

23.10

23.11

23.12

23.13

23.14
23.15
23.16

12

33003101 07/2012

Printing the Current Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Initialize search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Initialize Animation table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Displaying the section properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fullscreen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Chapter 25 IL Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Structure of an IL program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating an IL Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Syntax and Semantics Check during Programming . . . . . . . . . . . . . . . . .
Navigating with the keyboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Calling an FFB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using Public Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Online functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Export/Import IL Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Chapter 26 ST Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Structure of an ST program. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating an ST Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Syntax and Semantics Check during Programming . . . . . . . . . . . . . . . . .
Navigating with the keyboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Calling an FFB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using public variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Calling a statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Online functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Export/Import IL Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Chapter 27 LL984 Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


27.1 Creating a Program with LL984 Programming Language . . . . . . . . . . . . .
Project Settings for LL984 Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Structure of an LL984 Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating an LL984 Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Syntax and Semantics Check During Programming . . . . . . . . . . . . . . . . .
Network Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Navigating with the Keyboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Selecting Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Deleting, Cutting, Copying, Pasting and Moving Objects . . . . . . . . . . . . .
Displaying the Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Inserting and Deleting Rows/Columns . . . . . . . . . . . . . . . . . . . . . . . . . . .
27.2 Editing Contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Selecting Contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Placing Contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Properties Dialog for Contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

33003101 07/2012

972
973
974
975
976

977
978
980
981
985
986
992
1003
1005
1006

1007
1008
1010
1011
1015
1016
1022
1033
1035
1041
1042

1043
1044
1045
1046
1049
1052
1055
1056
1058
1060
1064
1065
1067
1068
1070
1073

13

27.3

14

Editing Coils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Selecting Coils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Placing Coils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Property Dialog for Coils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27.4 Editing Function Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Editing Function Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using Mnemonics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27.5 Editing Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Selecting Links. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Combining Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Placing Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Editing Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27.6 Editing Equation Network Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Editing Equation Network Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Editing the ST Assignment Expression . . . . . . . . . . . . . . . . . . . . . . . . . .
27.7 Assigning Variables to LL984 Objects . . . . . . . . . . . . . . . . . . . . . . . . . . .
Assigning Variables to LL984 Objects . . . . . . . . . . . . . . . . . . . . . . . . . . .
27.8 Calling Subroutines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Calling Subroutines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27.9 Entering Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Entering Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1076
1077
1080
1083
1085
1086
1089
1090
1091
1092
1093
1095
1096
1097
1099
1104
1104
1108
1108
1110
1110

Chapter 28 Programming Languages Data Selection Dialog Box . .

1113

Variable selection dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


FFB Selection Dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FFB Type Selection Dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data selection dialog box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Function Input Assistant. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Generate variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1114
1116
1119
1121
1125
1128
1131

Chapter 29 I/O Objects tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1133

Introduction to the I/O Object Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


I/O Objects Tab for a Processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
I/O Objects Tab for a Module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Details of Areas in the I/O Objects Tab . . . . . . . . . . . . . . . . . . . . . . . . . .
I/O Objects Tab for a Bus Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How to Use the I/O Objects Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1134
1136
1138
1140
1145
1146

Chapter 30 Memory Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1151

Memory Tab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1151

Chapter 31 Type Library Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1157

Access to the Type Library Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Description of the Type Library Browser . . . . . . . . . . . . . . . . . . . . . . . . .
Configuration of Columns of the Type Library Browser . . . . . . . . . . . . . .
Drag & Drop of FFBs in a program section . . . . . . . . . . . . . . . . . . . . . . .

1158
1160
1163
1165

33003101 07/2012

Chapter 32 Search/Replace Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Overview of the Search / Replace tool . . . . . . . . . . . . . . . . . . . . . . . . . . .
General Features for Search/Replace. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Searching for Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Replacing Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Search Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data Search Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Cross-References (Search Results) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Cross-References (Replace). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tracing Variables / Addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Chapter 33 Users Function Blocks . . . . . . . . . . . . . . . . . . . . . . . . . .


33.1 DFB Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DFB Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating a DFB Type. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuration of a DFB Type. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Programming a DFB type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Deleting a DFB type element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Archiving a DFB Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How to protect a DFB type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Deleting a DFB Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How to access the attributes of a DFB type . . . . . . . . . . . . . . . . . . . . . . .
Authorized DFB Type Modifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33.2 DFB Instance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DFB Instance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating a DFB Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating several DFB Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Deleting a DFB instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Operations on DFB Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modifying the Attributes of a DFB Instance . . . . . . . . . . . . . . . . . . . . . . . .
Authorized DFB Instance Modifications . . . . . . . . . . . . . . . . . . . . . . . . . .
33.3 How to Create Nested DFBs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How to Create Nested DFBs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1167
1168
1170
1171
1172
1173
1174
1176
1179
1181

1183
1184
1185
1187
1188
1191
1194
1195
1196
1198
1199
1201
1204
1205
1206
1208
1209
1210
1212
1215
1216
1216

Part V Project configuration . . . . . . . . . . . . . . . . . . . . . . . . . 1217


Chapter 34 Introduction to the configuration . . . . . . . . . . . . . . . . . .
Proposed Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Services offered in offline mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Services Offered In Online Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Access to project configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Chapter 35 Bus Editors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


35.1 Rack configuration on local bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Organization of the Racks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How to configure the racks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35.2 Configuration of the power supply modules . . . . . . . . . . . . . . . . . . . . . . .
How to configure the power supply modules. . . . . . . . . . . . . . . . . . . . . . .
33003101 07/2012

1219
1220
1224
1225
1227

1231
1232
1233
1237
1239
1239
15

35.3

Configuration of the processor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Choice and replacement of the processor . . . . . . . . . . . . . . . . . . . . . . . .
Configuration of the modules in the PLC station . . . . . . . . . . . . . . . . . . .
How to configure the modules in the PLC station . . . . . . . . . . . . . . . . . .
Configuration of devices on the field bus . . . . . . . . . . . . . . . . . . . . . . . . .
Configuration of the CANopen Slaves for Modicon M340 . . . . . . . . . . . .
How to access and create a Fipio field bus . . . . . . . . . . . . . . . . . . . . . . .
Creating and Accessing RIO\DIO Field Buses . . . . . . . . . . . . . . . . . . . .
How to configure devices on the RIO/DIO bus . . . . . . . . . . . . . . . . . . . .
Consumption management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Power consumption budget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Budget on the number of application-specific channels. . . . . . . . . . . . . .
Bus editors in online mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Online Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1242
1242
1245
1245
1249
1250
1254
1258
1264
1270
1271
1274
1277
1277

Chapter 36 Modules editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1281

35.4
35.5

35.6

35.7

36.1

Configuration of Modicon M340 processors . . . . . . . . . . . . . . . . . . . . . .


Configuration of Modicon M340 Processors . . . . . . . . . . . . . . . . . . . . . .
36.2 Configuration of Premium processors . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuration of Premium\Atrium processors . . . . . . . . . . . . . . . . . . . . .
Access to PCMCIA memory cards of Premium processors. . . . . . . . . . .
Access to control loop configuration for Premium processors . . . . . . . . .
36.3 Configuration of the Quantum processors . . . . . . . . . . . . . . . . . . . . . . . .
Configuration of Quantum processors . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuration of Modbus ports on Quantum . . . . . . . . . . . . . . . . . . . . . .
36.4 Configuration of the input\output modules for a Premium\Atrium,
Quantum or Modicon M340 station . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Access to the Modicon, Premium or Atrium I/O module configuration
editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Access the Quantum input/output module configuration editor . . . . . . . .

1315
1317

Chapter 37 General functionalities of the editor . . . . . . . . . . . . . . . .

1319

Analysis of the configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Export\Import of the configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Printing the configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1320
1321
1322

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

1323

Chapter 38 Debugging the program . . . . . . . . . . . . . . . . . . . . . . . . . .

1325

38.1

16

Safety precautions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modification in RUN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Switch to STOP of a PLC in Debug mode . . . . . . . . . . . . . . . . . . . . . . . .
Setting a task to STOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Task deactivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Deactivation of Inputs/Outputs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1282
1282
1293
1294
1300
1302
1303
1304
1311
1314

1326
1327
1328
1329
1330
1331

33003101 07/2012

38.2

38.3

38.4

38.5

38.6

38.7

38.8

33003101 07/2012

Use of the Step by Step mode and Breakpoint . . . . . . . . . . . . . . . . . . . . .


Unwanted disconnection in Debug mode for Premium . . . . . . . . . . . . . . .
Debug Screen Via a Fipway, Fipio or Uni-Telway Network with a PCMCIA
Card. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Behavior of Forced Variables between Modsoft/NxT/Concept and Unity
Pro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Program Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Introduction to animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Section in textual languages (Structured Text or Instruction List) . . . . . . .
Section in a Ladder Diagram language . . . . . . . . . . . . . . . . . . . . . . . . . . .
Section in Function Block Diagram (FBD) language . . . . . . . . . . . . . . . . .
Section in Sequential Function Chart language (SFC) . . . . . . . . . . . . . . .
Display of Prepositioned steps, after an on-line modification . . . . . . . . . .
DFB instances (user function blocks) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Representation of forced variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Debugging in Ladder Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Inserting a breakpoint in Ladder Diagram language (LD) . . . . . . . . . . . . .
Step by step execution mode in Ladder Diagram language (LD) . . . . . . .
Inserting a Watchpoint in Ladder Diagram Language . . . . . . . . . . . . . . . .
Debugging in Textual Languages (Structured Text, Instruction List) . . . .
Insertion of a breakpoint in textual languages (Structured Text or
Instruction List) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Step by step execution mode in textual languages (Structured Text or
Instruction List) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Insertion of a Watchpoint in Textual Languages (Structured Text or
Instruction List) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Debugging in Function Block Diagram (FBD) Language . . . . . . . . . . . . .
Inserting a breakpoint in Function Block Diagram language . . . . . . . . . . .
Step by step execution mode in Function Block Diagram language (FBD)
Inserting a watchpoint in Function Block Diagram language (FBD) . . . . .
Debugging User Function Block (DFB) Instances. . . . . . . . . . . . . . . . . . .
Inserting a breakpoint in a DFB instance (user function block) . . . . . . . . .
Step by step execution mode in a DFB instance (user function block) . . .
Inserting a watchpoint in a user function block (DFB) . . . . . . . . . . . . . . . .
Debugging in Sequential Function Chart Language (SFC) . . . . . . . . . . . .
Inserting a breakpoint in Sequential Function Chart language (SFC) . . . .
Step by step execution mode in Sequential Function Chart language
(SFC). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Inserting a watchpoint in Sequential Function Chart language . . . . . . . . .
Information on Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tracing task execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Task states during debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Disconnection during the debug phase . . . . . . . . . . . . . . . . . . . . . . . . . . .
Operation of the alarm relay in Debug mode . . . . . . . . . . . . . . . . . . . . . .

1332
1333
1334
1335
1336
1337
1339
1340
1343
1345
1347
1348
1350
1351
1352
1354
1358
1361
1362
1364
1368
1371
1372
1375
1378
1381
1382
1384
1385
1386
1387
1390
1395
1396
1397
1399
1400
1401

17

38.9

PLC debug screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Overview of the CPU debugging screen . . . . . . . . . . . . . . . . . . . . . . . . .
Description of the Task tab: Task checking field . . . . . . . . . . . . . . . . . . .
Description of the Task tab: Operating mode field. . . . . . . . . . . . . . . . . .
Description of tab: Realtime Clock. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description of the Tab: Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1402
1403
1405
1407
1409
1410

Chapter 39 Viewing and adjusting variables . . . . . . . . . . . . . . . . . . .

1415

39.1

Introduction to variable animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Displaying variables in debug mode . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Variable Display Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Introduction to the Variable Output Window . . . . . . . . . . . . . . . . . . . . . .
Variable Display Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Introduction to variable display boxes . . . . . . . . . . . . . . . . . . . . . . . . . . .
Animation Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Permanent and Temporary Animation Tables . . . . . . . . . . . . . . . . . . . . .
Introduction to Animation Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Managing Animation Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Animation Table Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Basic functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Animation of Strings in the Animation Table . . . . . . . . . . . . . . . . . . . . . .
Modification Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Force Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Multiple modification and forcing of Boolean variables . . . . . . . . . . . . . .
Animation Table of Forced Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instruction Editor (LL984). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instruction Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modifying values: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modifying values: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1416
1416
1417
1417
1420
1420
1423
1424
1426
1428
1432
1433
1437
1438
1442
1448
1450
1451
1451
1454
1454

Chapter 40 PLC Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1457

39.2
39.3
39.4

39.5
39.6

40.1

40.2

40.3

18

Simulating a PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Loading a Project in the Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Simulator Icon in the Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Differences Between the Simulator and a Real CPU. . . . . . . . . . . . . . . .
Limitations of the PLC Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
System Bits and System Words. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Menu Commands and Dialog Boxes in the PLC Simulator . . . . . . . . . . .
Simulator Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Simulator Control for Unknown PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Simulator Control for Quantum PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Simulator Control for Quantum Safety PLC . . . . . . . . . . . . . . . . . . . . . . .
Simulator Control for Premium PLC. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Simulator Control for M340 PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Memory Card for M340 PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Event Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1458
1459
1460
1463
1465
1466
1469
1481
1482
1483
1486
1489
1492
1495
1498
1502

33003101 07/2012

Clear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Power Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Timing (simulator) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Processor Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Priority of the Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data in the User Task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Minimal Sample Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ending the Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Chapter 41 Machine-Process Simulator. . . . . . . . . . . . . . . . . . . . . . .


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1503
1504
1505
1506
1507
1508
1510
1511
1512
1513
1514
1515

1517
1517

Part VII Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1519


Chapter 42 Introduction to diagnostics tools . . . . . . . . . . . . . . . . . .
Diagnostics with Unity Pro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Chapter 43 Diagnostics screens. . . . . . . . . . . . . . . . . . . . . . . . . . . . .


43.1 Module and processor diagnostics screens . . . . . . . . . . . . . . . . . . . . . . .
Viewing fault diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lists of fault diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Chapter 44 Diagnostics Viewer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Reminder of the Diagnostics Associated with the Viewer . . . . . . . . . . . . .
Operation of the diagnostics in Unity Pro . . . . . . . . . . . . . . . . . . . . . . . . .
Description of the Diagnostics Viewer. . . . . . . . . . . . . . . . . . . . . . . . . . . .
How to find causes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuring the display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Managing error messages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Diagnostics Viewer Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DiagViewer Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Archiving error messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Chapter 45 System diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


System diagnostic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Chapter 46 Project diagnostics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


How to Create a User Diagnostic DFB . . . . . . . . . . . . . . . . . . . . . . . . . . .
Project diagnostic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1521
1521

1523
1523
1524
1526

1529
1530
1532
1533
1536
1538
1540
1543
1545
1547

1549
1549

1553
1554
1557

Part VIII Operator screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1559


Chapter 47 General information . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creation of Runtime Screens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Chapter 48 First steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


48.1 Working principles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How to access the operator screens . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33003101 07/2012

1561
1562
1564

1565
1566
1566
19

48.2

Menus and tools in the runtime screen editor . . . . . . . . . . . . . . . . . . . . .


Menus in the operator screen editor . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Edit toolbar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuring options from the runtime screen editor . . . . . . . . . . . . . . . . .
General configuration of operator screens. . . . . . . . . . . . . . . . . . . . . . . .

1567
1568
1571
1574
1574

Chapter 49 Editing runtime screens . . . . . . . . . . . . . . . . . . . . . . . . . .

1575

48.3

49.1

Editing screens from the browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Editing operator screens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Operator screen editor functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Screen Family Editor Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Operator screen properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Properties of Operator Screen Families. . . . . . . . . . . . . . . . . . . . . . . . . .
49.2 Creating an object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Introduction of a graphic screen object . . . . . . . . . . . . . . . . . . . . . . . . . .
How to create standard objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How to insert an image in a screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How to create driving objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Operation of the driving objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49.3 Default Properties screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Default Properties screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49.4 Modification of an objects attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How to access an objects attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Design tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Extended colors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Text tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Animation Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Animation type tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Trend diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bar chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Screen browse tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Control tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Image Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Explicit Exchanges Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Information on the objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The data selection tool. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49.5 Manipulation of objects in runtime screens . . . . . . . . . . . . . . . . . . . . . . .
How to select graphic objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How to move and resize objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How to delete and copy objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How to position objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How to create compound objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20

1576
1577
1579
1582
1584
1587
1588
1589
1590
1592
1593
1595
1598
1598
1600
1601
1602
1604
1605
1607
1609
1612
1614
1616
1618
1620
1622
1624
1626
1629
1630
1632
1634
1636
1638

33003101 07/2012

49.6 Managing the runtime screens messages editor. . . . . . . . . . . . . . . . . . . .


Operator screens messages editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How to manage messages linked to operator screens . . . . . . . . . . . . . . .
Find dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Replace dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Message Renumbering Dialog Box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Message editing and import/export function . . . . . . . . . . . . . . . . . . . . . . .

Chapter 50 Runtime screens in online mode . . . . . . . . . . . . . . . . . .


Basic functions in online mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How to select an animated object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How to use command objects to modify the variables associated with
objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How to view the variables associated with graphic objects. . . . . . . . . . . .
How to modify the variables associated with objects from an animation
table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How to search for cross-references . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How to manage the display of operator screens . . . . . . . . . . . . . . . . . . . .
How to modify screen control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How to obtain information on objects when in connected mode . . . . . . . .

Chapter 51 Runtime screens objects library . . . . . . . . . . . . . . . . . . .


51.1 Managing library objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The Objects Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How to manage the list of graphic items in the library. . . . . . . . . . . . . . . .
Properties of the object library and its elements . . . . . . . . . . . . . . . . . . . .
Handling the Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1639
1640
1642
1644
1646
1647
1648

1651
1652
1653
1654
1655
1656
1657
1658
1660
1661

1663
1663
1664
1665
1668
1671

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


Chapter 52 Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating project documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Documentation structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Topics in documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating project documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Print preview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Page setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Printer setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Chapter 53 Import / Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


53.1 General information on the Import/Export function . . . . . . . . . . . . . . . . . .
General information on import/export . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Import / Export Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Type of dialog box for the export function . . . . . . . . . . . . . . . . . . . . . . . . .
Type of dialog boxes for the import function . . . . . . . . . . . . . . . . . . . . . . .
Managing Conflicts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

33003101 07/2012

1675
1676
1677
1680
1688
1691
1693
1695
1698

1701
1702
1703
1704
1705
1708
1710

21

53.2

Importing/Exporting the various elements of Unity Pro . . . . . . . . . . . . . .


Export of the input/output configuration . . . . . . . . . . . . . . . . . . . . . . . . . .
Import of the input/output configuration . . . . . . . . . . . . . . . . . . . . . . . . . .
Exporting the program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Program Import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exporting DFB types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Importing DFB types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exporting DDTs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Importing DDTs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exporting Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Importing Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exporting the communication network configuration . . . . . . . . . . . . . . . .
Importing the configuration of a communication network. . . . . . . . . . . . .
Exporting operator screens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Importing operator screens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exporting animation tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Importing animation tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exporting a functional module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Importing a functional module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exporting a global project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Importing a global project. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exporting/Importing LL984 Segments/Networks . . . . . . . . . . . . . . . . . . .
53.3 Wizard for importing the various elements of Unity Pro . . . . . . . . . . . . .
Using the assistant. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Variables tab of the wizard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DFB and DDT Tabs of the Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SR, Sections, Events and Macro steps tabs of the wizard . . . . . . . . . . .
Wizard animation tables tab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wizard functional module tabs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Correspondence file. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1712
1713
1714
1715
1717
1719
1721
1722
1723
1724
1727
1728
1729
1730
1732
1733
1734
1735
1737
1738
1740
1742
1744
1745
1748
1750
1752
1753
1754
1756

Part X Conversion Wizard . . . . . . . . . . . . . . . . . . . . . . . . . .

1757

Chapter 54 Conversion Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1759

54.1

54.2

54.3

22

General Description of the Conversion Wizard . . . . . . . . . . . . . . . . . . . .


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Access to Conversion Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
General Representation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Conversion and Result. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Structure Tab of the Conversion Wizard . . . . . . . . . . . . . . . . . . . . . . . . .
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Selecting Application Parts to be Converted . . . . . . . . . . . . . . . . . . . . . .
I/O Remapping Tab of the Conversion Wizard . . . . . . . . . . . . . . . . . . . .
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Remapping Table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Remapping Channels, Groups of Channels or Specific I/O Types . . . . .

1760
1761
1763
1765
1767
1768
1769
1771
1773
1774
1777
1780

33003101 07/2012

Clustering and Remapping of Memory Variables . . . . . . . . . . . . . . . . . . .


Memory Area Tabs of the Conversion Wizard . . . . . . . . . . . . . . . . . . . . .
Concurrent Editing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exclude, Communication -1, Type Restriction . . . . . . . . . . . . . . . . . . . . .
54.4 CPU Configuration Tab of the Conversion Wizard . . . . . . . . . . . . . . . . . .
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1782
1784
1786
1789
1793
1793

Appendices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1795
Appendix A Hyperlinks in Unity Pro . . . . . . . . . . . . . . . . . . . . . . . . . .
A.1

A.2

A.3

A.4

A.5

A.6

A.7

33003101 07/2012

General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Introduction to Hyperlinks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Representation and opening of a hyperlink. . . . . . . . . . . . . . . . . . . . . . . .
Principles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Overview of operate-modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-step mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-step mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description of the Hyperlink Comment Window . . . . . . . . . . . . . . . . . . . .
Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
List of barred characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Hyperlinks in the project browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating a hyperlink in the project browser . . . . . . . . . . . . . . . . . . . . . . . .
Editing the properties of a hyperlink in the project browser. . . . . . . . . . . .
Opening a hyperlink from the project browser. . . . . . . . . . . . . . . . . . . . . .
Deleting a hyperlink in the project browser . . . . . . . . . . . . . . . . . . . . . . . .
Hyperlink in the data editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating a hyperlink in the data editor. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Editing a hyperlink in the data editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Selecting a hyperlink in the data editor . . . . . . . . . . . . . . . . . . . . . . . . . . .
Deleting a hyperlink in the data editor . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Hyperlinks in the DFB type attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating a Hyperlink from DFB Type Attributes . . . . . . . . . . . . . . . . . . . .
Modifying a Hyperlink from DFB Type Attributes . . . . . . . . . . . . . . . . . . .
Selecting a Hyperlink from DFB Type Attributes . . . . . . . . . . . . . . . . . . . .
Deleting a Hyperlink from DFB Type Attributes. . . . . . . . . . . . . . . . . . . . .
Hyperlinks in animation tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating a hyperlink in an animation table . . . . . . . . . . . . . . . . . . . . . . . .
Editing a hyperlink from an animation table . . . . . . . . . . . . . . . . . . . . . . .
Selecting a hyperlink from an animation table. . . . . . . . . . . . . . . . . . . . . .
Deleting a hyperlink from an animation table . . . . . . . . . . . . . . . . . . . . . .
Hyperlinks in runtime screens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating a hyperlink from operator screens . . . . . . . . . . . . . . . . . . . . . . .
Editing a hyperlink in the operator screens . . . . . . . . . . . . . . . . . . . . . . . .
Selecting a hyperlink in an operator screen . . . . . . . . . . . . . . . . . . . . . . .
Deleting a hyperlink in an operator screen . . . . . . . . . . . . . . . . . . . . . . . .

1797
1798
1799
1801
1802
1803
1804
1805
1806
1808
1811
1812
1813
1814
1816
1818
1819
1820
1821
1823
1825
1826
1828
1829
1831
1833
1835
1838
1839
1841
1843
1844
1845
1846
1848
1850
1851

23

A.8

Hyperlinks in the documentation folder . . . . . . . . . . . . . . . . . . . . . . . . . .


Creating a hyperlink in the general information of the project folder . . . .
Editing a hyperlink in the documentation folder . . . . . . . . . . . . . . . . . . . .
Deleting a hyperlink in the documentation folder . . . . . . . . . . . . . . . . . . .
Hyperlinks and drag-and-drop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Drag/drop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1852
1853
1855
1857
1859
1859

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

1863

Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Anchored window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Menu commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Toolbar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Output windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Status bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Directory Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using the Mouse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using the Keyboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data selection boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dialog boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1864
1867
1870
1872
1875
1880
1882
1884
1886
1887
1889
1891

Appendix C Keyboard Shortcuts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1895

C.1 General Keyboard Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Bus Editor Keyboard Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Unity Pro Main Screen and Project Browser Keyboard Shortcuts . . . . . .
C.2 Configuring the Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PLC Configuration Screen Keyboard Shortcuts. . . . . . . . . . . . . . . . . . . .
C.3 Creating the Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ST/IL Editors Keyboard Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FBD Editor Keyboard Shortcuts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SFC Editor Keyboard Shortcuts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LD Editor Keyboard Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data Editor Keyboard Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Type Library Browser Keyboard Shortcuts . . . . . . . . . . . . . . . . . . . . . . .
Type Library Manager Keyboard Shortcuts . . . . . . . . . . . . . . . . . . . . . . .
C.4 Operating the Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Search Replace Tool Screen Keyboard Shortcuts . . . . . . . . . . . . . . . . .
Diagnostic Viewer Screen Keyboard Shortcuts . . . . . . . . . . . . . . . . . . . .
PLC Screen Keyboard Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Animation Screen Keyboard Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . .
Operator Screen Keyboard Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . .
C.5 Documenting the Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Documentation Screen Keyboard Shortcuts . . . . . . . . . . . . . . . . . . . . . .

1896
1897
1898
1900
1900
1901
1902
1904
1906
1907
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1918

Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1919
1947

A.9

24

33003101 07/2012

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.

33003101 07/2012

25

PLEASE NOTE
Electrical equipment should be installed, operated, serviced, and maintained only by
qualified personnel. No responsibility is assumed by Schneider Electric for any
consequences arising out of the use of this material.
A qualified person is one who has skills and knowledge related to the construction
and operation of electrical equipment and its installation, and has received safety
training to recognize and avoid the hazards involved.

26

33003101 07/2012

About the Book

At a Glance
Document Scope
This document describes programming a Modicon M340, 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).
Validity Note
This document is valid from Unity Pro 7.0.
User Comments
We welcome your comments about this document. You can reach us by e-mail at
[email protected].

33003101 07/2012

27

28

33003101 07/2012

Unity Pro
General
33003101 07/2012

General

I
Subject of this Part
This part presents Unity Pro services and describes the different tools used to
manage a project: access rights, save/restore, online/offline mode services, etc.
What Is in This Part?
This part contains the following chapters:
Chapter
1

33003101 07/2012

Chapter Name

Page

General Presentation of Unity Pro

31

Programming Language Editors

39

Connecting a terminal to a PLC

49

Global project management

Project browser

149

Functional modules

199

FDT Container

231

Type Library Manager

269

51

29

General

30

33003101 07/2012

Unity Pro
General Presentation
33003101 07/2012

General Presentation of Unity Pro

1
Overview
This chapter describes the general features of a project created using Unity Pro.
What Is in This Chapter?
This chapter contains the following topics:
Topic

33003101 07/2012

Page

Capabilities of Unity Pro

32

User Interface

36

31

General Presentation

Capabilities of Unity Pro


Hardware Platforms
Unity Pro supports the following hardware platforms:
Modicon M340
z Premium
z Atrium
z Quantum
z

Programming Languages
Unity Pro provides the following programming languages for creating the user
program:
z Function Block Diagram FBD
z Ladder Diagram (LD) language
z Instruction List IL
z Structured Text ST
z Sequential Control SFC
z Ladder Logic 984 (LL984)
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 Program
A program can be constructed from:
z a Master task (MAST)
z a Fast task (FAST)
z one to four AUX Tasks (not available for Modicon M340)
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)

32

33003101 07/2012

General Presentation

Software Packages
The following software packages are available:
z Unity Pro S
z Unity Pro M
z Unity Pro L
z Unity Pro XL
z Unity Pro XLS
Performance Scope
The following table shows the main characteristics of the individual software
packages:
Unity Pro S

Unity Pro M

Unity Pro L

Unity Pro XL

Unity Pro XLS

Function Block Diagram +


FBD

Ladder Diagram (LD)


language

Instruction List IL

+(2)

Structured Text ST

+(2)

Sequential Language
SFC

+(2)

Standard library

+(2)

Control library

+(2)

Communication library

+(2)

Programming languages

Libraries (1)

Diagnostics library

+(2)

I/O Management library

+(2)

System library

+(2)

Motion control drive


library

+(2)

TCP Open library

optional

optional

optional

optional (2)

Obsolete library

+(2)

MFB library

+(2)

Safety library

Memory card file


management library

+(2)

33003101 07/2012

33

General Presentation

Unity Pro S

Unity Pro M

Unity Pro L

Unity Pro XL

Unity Pro XLS

Create and use data


structures (DDTs)

+(2)

Create and use Derived


Function Blocks (DFBs)

Project browser with


structural and/or
functional view

General information

Managing access rights

Operator screen

Diagnostic viewer

System diagnostics

Project diagnostics

+(2)

Application converter

PL7 converter

PL7 converter
Concept
Converter

PL7 converter
Concept
Converter

PL7 converter
Concept
Converter

Managing multi-stations Supported platforms


Modicon M340

BMX P34 1000 BMX P34 1000


BMX P34 20 BMX P34 20

BMX P34 1000 BMX P34 1000


BMX P34 20 BMX P34 20

BMX P34 1000


BMX P34 20

Premium

P57 0244M
P57 CA 0244M
P57 CD 0244M
P57 104M
P57 154M
P57 1634M
P57 204M
P57 254M
P57 2634M
H57 24M

All CPUs
except:
P57 554M
P57 5634M

All CPUs

All CPUs

Quantum

140 CPU 311


10
140 CPU 434
12 U/A*
140 CPU 534
14 U/A*
* Upgrade
using Unity OS

CPU 311 10
CPU 434 12 U/A
CPU 534 14 U/A
CPU 651 50
CPU 651 60
CPU 652 60
CPU 670 60
CPU 671 60
CPU 672 60
CPU 672 61

CPU 311 10
CPU 434 12 U/A
CPU 534 14 U/A
CPU 651 50
CPU 651 60
CPU 652 60
CPU 670 60
CPU 671 60
CPU 672 60
CPU 672 61
CPU 651 60 S
CPU 671 60 S

34

33003101 07/2012

General Presentation

Unity Pro S

Unity Pro M

Atrium

PCI 57 204

Simulator

Hyperlinks

Unity Pro Server (for


OFS, UAG)

Unity Pro L

Unity Pro XL

Unity Pro XLS

All CPUs

All CPUs

All CPUs

Openess

Software components contained in the software package


Documentation as
context help and PDF

OS Loader tool + HW
Firmware

Unity loader

Legend:
+ = available
+ (1) = Availability of the blocks depends on the hardware platforms (see Unity Pro,
Standard, Block Library).
+ (2) = Available on all PLC except platforms CPU 651 60 S, CPU 671 60 S.
- = not available
Naming Convention
In the following documentation, "Unity Pro" is used as general term for "Unity Pro S",
"Unity Pro M", "Unity Pro L", "Unity Pro XL" and "Unity Pro XLS".

33003101 07/2012

35

General Presentation

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

36

33003101 07/2012

General Presentation

Legend:

33003101 07/2012

Number

Description

Menu bar (see page 1870)

Toolbar (see page 1875)

Project Browser (see page 149)

Editor window (programming language editors, data editor, etc.)

Register tabs for direct access to the editor window

Information window (see page 1880) (provides information about errors which
have occurred, signal tracking, import functions, etc.)

Status bar (see page 1882)

37

General Presentation

38

33003101 07/2012

Unity Pro
Programming Language Editors
33003101 07/2012

Programming Language Editors

2
Overview
This chapter describes the different programming languages provided by Unity Pro.
What Is in This Chapter?
This chapter contains the following topics:
Topic

33003101 07/2012

Page

Function Block Diagram FBD

40

Ladder Diagram (LD) Language

42

General Information about SFC Sequence Language

44

Instruction List IL

47

Structured Text ST

48

39

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:

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

40

33003101 07/2012

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 can be configured in number of cells (horizontal grid coordinates
and vertical grid coordinates).
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

Information for variables and pins can be displayed in a Quickinfo (Tooltip)


z type, name, address and comment of a variable/expression
z type, name and comment of an FFB pin

Tabular display of FFBs


Actual parameters can be entered and displayed as symbols or topological
addresses
Different zoom factors
Tracking of links
Optimization of link routes
Display of inspection windows

z
z
z
z
z

33003101 07/2012

41

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:

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

42

33003101 07/2012

Programming Language Editors

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

Information for variables and for elements of an LD section, that can be


connected to a variable (pins, contacts, coils, operation and compare blocks), can
be displayed in a Quickinfo (Tooltip)
z type, name, address and comment of a variable/expression
z type, name and comment of FFB pins, contacts etc.

Tabular display of FFBs


Actual parameters can be entered and displayed as symbols or topological
addresses
Different zoom factors
Tracking of FFB links
Optimizing the link routes of FFB links
Display of inspection windows

z
z
z
z
z

33003101 07/2012

43

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:

44

33003101 07/2012

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
Properties
The SFC editor has a background grid that divides the section into 200 rows and 32
columns.
The program can be entered using the mouse or the keyboard.
Input Aids
The SFC editor offers the following input aids:
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

Information for variables and for transitions can be displayed in a Quickinfo


(Tooltip)
z type, name, address and comment of a variable/expression
z type, name and comment of transitions

Different zoom factors


Show/hide the allocated actions
Tracking of links
Optimization of link routes

z
z
z

33003101 07/2012

45

Programming Language Editors

Step Properties
Step properties:

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

46

33003101 07/2012

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:

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:
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
z
z
z

33003101 07/2012

Tabular display of the functions and function blocks


Input assistance for functions and function blocks
Operands can be entered and displayed as symbols or topological addresses
Display of inspection windows

47

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:

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:
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
z
z
z

48

Tabular display of the functions and function blocks


Input assistance for functions and function blocks
Operands can be entered and displayed as symbols or topological addresses
Display of inspection windows
33003101 07/2012

Unity Pro
PC<->PLC connection
33003101 07/2012

Connecting a terminal to a PLC

3
Methodology for connecting from a PC to a PLC
At a Glance
To program a Modicon M340, 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
1

Action
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 (2).
For Premium the possibilities are as follows:
Terminal port cable, product reference TSX PCX 1031 (RS 232/RS 485),
Terminal port cable, product reference TSX PCX 3030 (USB/RS 485),
Crossed Ethernet cable, product reference 490 NTC 000 05 (1),
USB cable, product reference UNY XCA USB 033 (2).

z
z
z
z

For Modicon M340 the possibilities are as follows:


Modbus cable, product reference TCS MCN 3M4F3C2,
Crossed Ethernet cable, product reference 490 NTC 000 05 (1),
USB cable, product reference BMX XCA USBH 018 (2),
USB cable, product reference BMX XCA USBH 045 (2).

z
z
z
z

(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) When connecting a PC to a PLC, the use of a USB 2.0 shielded cable
following the USB international standard is strongly recommended. The
cables mentioned earlier avoid unexpected behavior of the PLC as they
are shielded and tested against electrical noises.

33003101 07/2012

49

PC<->PLC connection

Step
2

50

Action
Check that for the chosen communication protocol, the Driver corresponding to
your operating system is correctly installed.
Note: The documentation on drivers (see Communication Drivers, Installation
manual, ) 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.

Verify in the toolbar that the simulator icon is unchecked.

Choose the address of the PLC (see page 96) to which you want to connect
and the type of link (see page 102) using the PLC Set Address...
command.

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.

33003101 07/2012

Unity Pro
Project management
33003101 07/2012

Global project management

4
Subject of this Chapter
This chapter introduces the various tools used for project management: security and
user access rights management, project creation, project backup, transfer of the
project to the PLC, management of the user memory, etc.
What Is in This Chapter?
This chapter contains the following sections:
Section

33003101 07/2012

Topic

Page

4.1

Access security management

52

4.2

Project management

74

51

Project management

4.1

Access security management

Subject of this Section


This section introduces the tools used to manage security for a project.
What Is in This Section?
This section contains the following topics:
Topic

52

Page

Unity Pro access security management

53

Security editor

56

User Information

57

User Functions

59

User Profiles

62

Policies

66

Recovery procedure with an error

68

Access rights

69

33003101 07/2012

Project management

Unity Pro access security management


At a Glance
A security configuration tool lets you limit and control access to the softwares
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 (Supervisor)
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 drop, only the super user can access the
security configuration 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
z
z
z
z
z

create or modify the user list,


create or modify user profiles,
disable one or more users,
modify the rules for software access security,
modify his password,
reset user passwords.

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 user has the following rights. He can:
z
z

33003101 07/2012

access the rights defined by his user profile in read mode,


modify his password.

53

Project management

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.
Preconfigured User Profiles
Unity Pro provides the following 5 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.

Disabled

User cannot access the project.

Default User Profile


When the software access security is active, the super user can authorize a given
user to open the software instance, without having to enter his name and password.
In this case, this user will have a default profile.
Log Information Generated by the Security Editor
Security editor log information is managed by the Microsoft Windows Event Viewer.
If you want to display the log information you must launch the Event viewer. Here
you can filter according to all the server sequential events.
You can use all the Event viewer functions, like sort, filter etc.
Confirm
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.

54

33003101 07/2012

Project management

Multiple Instancing
When Unity Pro executes multiple instances concurrently on the same terminal,
each of these instances will grant access to the functions that were defined by the
rights of the user who created this instance. However, the Unity Pro access method
used (inactive security or type of active security) is identical for all the instances.

33003101 07/2012

55

Project management

Security editor
At a Glance
The security editor is used to define software users 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 security editor.
Execute the following commands to start security editor:
Step
1

Action
Open with Start Programs Schneider Electric the Security Editor. The
following dialog appears.

Enter your name and password.

Confirm with OK .

If you are a user (see page 53), you can access the User information screen
(see page 57) which allows you to consult your user profile or to modify your
password.

If you are the Super User (Supervisor) (see page 53) the Security Editor
(see page 57) will launch enabling administration of Unity Pro access security.

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

56

33003101 07/2012

Project management

User Information
At a Glance
This tab in the security editor can be accessed by all users. It enables the execution
of the following functions:
z
z

modify ones password. Users, including the super user, can modify only their
own passwords,
consult ones profile and the associated user rights.

User information tab


The User Information looks as follows. It indicates the name of the user and
contains the two sections Password and Profile:

33003101 07/2012

57

Project management

Description of the parameters


Password field,
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


password

Confirmation field for the new password. The contents of this 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

58

Parameter

Description

Product

Enables the selection of the product for which you want to display your
user profile: In our case, Unity Pro.

Profile

Shows the name of your user profile for the product.

View profile

Use this command to display all of the access rights included in your user
profile.

33003101 07/2012

Project management

User Functions
At a Glance
Only the Super User (see page 53) can access this tab. It enables the execution of
the following functions:
z
z
z
z
z

Modify the user list.


Assign a profile to each user.
Import/export information for one or more users.
Disable/enable one or more users.
Delete passwords for one or more users.

NOTE: The user name reserved for the super user is Supervisor.
Users tab
The User tab looks like this. It contains the two areas User and Profile:

33003101 07/2012

59

Project management

Description of the parameters


Users field
Parameter

Description

Users

List of users with access to Unity Pro. The name of the super user
is Supervisor.
The Preconfigured User (see page 54) field is also available for
selection:
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.

Disable/Enable

Command used to disable selected users. A disabled user is


blocked during login. One or more users can be selected. You will
be asked whether the user or users should really be disabled prior
to disabling them. Disable is not possible for the user Supervisor.
If a user has been disabled, the user name will be grayed out and
--disabled-- will be displayed in the profile.
If a disabled user attempts to start Unity Pro, the User disabled
message will appear.

Clear Password

Command used to delete passwords for selected users such as


when a user forgot his password. Clear Password is not possible
for predefined users.

Profiles field

60

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.

33003101 07/2012

Project management

Adding a user
Clicking on Add will display the following dialog window:

2 data entry fields are provided:

33003101 07/2012

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


attributes

Field used to select the user whose attributes you would like to
retrieve.

61

Project management

User Profiles
At a Glance
Only the Super User (see page 53) can access this tab. It is used to perform the
following functions:
z
z
z

add or delete a profile in the list,


read and modify the access rights associated with a profile,
import/export information for one or more user profiles.

"Profiles" Tab
The Profiles tab looks as follows. It features the two Product and Profiles areas:

Description of the parameters


Product area

62

Parameter

Description

Product

Used to specify the product whose user profile you would like to access.

33003101 07/2012

Project management

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.

Adding a user profile


Use the Add command to display the following dialog box:

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 attributes: Field used to choose the user profile whose attributes you
would like to retrieve.

33003101 07/2012

63

Project management

Modifying a user profile


Use the Edit command to display the following dialog box:

4 areas are provided for display or data entry:

64

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.

33003101 07/2012

Project management

Parameter

Description

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 On/Off Status This option is used to enable/disable a
designated right for the current profile:
z To enable the right, select Access right in the list. Then
click on On/Off Status: a selection mark appears,
z To disable the right, select Access right in the list. Then
click on On/Off Status: the selection mark disappears.
z Check Yes/No: When this option is enabled, it enables an

operation to be stored in the log file.


To enable/disable the option for the corresponding access
right:
z select Access right in the list,
z then click Check Yes/No.
z Confirm Yes/No: For an operation to require confirmation,

you must enable this option.


To enable/disable 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.

33003101 07/2012

65

Project management

Policies
At a Glance
This tab in the security editor can be accessed only by the super user. It enables the
execution of the following functions:
z
z
z
z

Determine the guidelines associated with a product,


define the default profile,
Enable/disable the Check option.
Enable/disable the Confirm option.

Policies
The Policies tab of the security editor looks as follows:

66

33003101 07/2012

Project management

Description of the parameters


The following table describes the screen parameters:
Parameter

Description

Product

Used to choose the product for which you would like to define
guidelines. In our case, Unity Pro.

Login

Used to define Unity Pro access rules:


z Security off: Security is disabled. You have direct access to

Unity Pro. This is the default setting.


z Security on, mandatory login: Security is enabled. 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 enabled. 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 the password. In this case, you
will have the default user profile.
z Security on, no login Security is enabled, but you have
direct access to Unity Pro. The profile then is the default
profile.
When the security is disabled, the Audit and Confirm options
will also be disabled.
Specified profile

Used to define the default user profile.

Audit

Used to enable or disable the Audit option (this option is only


available if security is enabled).
If this checkbox is enabled, a log file will be created to store
Unity Pro user events.
The log file is located at Start Settings Control Panel
Administrative Tools Event Viewer on your desktop.

Confirm

Used to enable or disable the Confirm option.


If this box is checked, you must enter your name and password
each time secure access is defined for a user action
(see page 62).
Note:
If you are using the Confirm option in the Policies tab of the
security editor, carefully select access rights when creating a
new profile. Otherwise, changes will require multiple
confirmations in the program sections.

NOTE: The Audit and Confirm options are not assigned to one user but apply
globally to all Unity Pro products.

33003101 07/2012

67

Project management

Recovery procedure with an error


At a Glance
The 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 unknown user
If a user is not known to the security editor, and security is enabled, there are
two options:
z

Access is configured with an avoidable login (Security On, Password


Optional): in this case, the unknown user can access Unity Pro with the default
profile,
Access is configured with mandatory login (Security On, Password
Required): in this case, the unknown user cannot access Unity Pro.

If the database of the security editor is damaged or it was deleted, access to Unity
Pro is not possible, even if security is not active (Security Off).
Loss of password
If you have forgotten your password, the procedure to follow differs depending upon
whether you are a user or a super user:
z
z

if you are a user, you must contact the super user. He can reset your password.
You can then enter a new password.
If you are the super user, you must reinstall Unity Pro, choosing a customized
installation: Install only the security editor.

Database protection
To protect the database against possible damage, a backup file is created during
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.

68

33003101 07/2012

Project management

Access rights
At a Glance
Unity Pro access rights are classified in the following categories:
z
z
z
z
z
z
z
z
z
z
z

project services,
adjustment/debugging,
libraries,
global modification,
elementary modification of a variable,
elementary modification of DDT compound data,
elementary modification of a DFB type,
elementary modification of a DFB instance,
bus configuration editor,
input/output configuration editor,
runtime screens.

Project services
The access rights for this category are as follows:

33003101 07/2012

Access right

Description

Create a new project

You can create a new project.

Open an existing project

You can open 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


values

You can copy the current values to update the initial


values.

Transfer project from PLC

You can transfer the executable program from the PLC


to the terminal.

Transfer data init values from


PLC

You can transfer the initial values from the PLC.

69

Project management

Access right

Description

Transfer project to PLC

You can transfer the executable program from the


terminal to the PLC.

Transfer data values from file to


PLC

You can transfer data from a file to the PLC.

Transfer data values from file to


PLC

You can transfer data from the PLC to a file.

Restore project backup in PLC

You can restore (backup memory (Premium) or


memory card (Modicon M340) contents in the PLC
executable area.

Save to project backup in PLC

You can save the project program in the backup


memory (Premium) or in the memory card (Modicon
M340)

Set address

You can access a PLC via the network.

Modify options

You can modify project attributes.

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

70

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.

33003101 07/2012

Project management

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 modification
The access rights for this category are as follows:
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.

Elementary modification of a variable


The access rights for this category are as follows:

33003101 07/2012

Access right

Description

Variable add/remove

You can add or delete a variable.

Variable main attributes


modifications

You can modify a variables name, type, and address.

Variable minor attributes


modifications

You can modify the comment and the initial value for a
variable.

71

Project management

Elementary modification of DDT compound data


The access rights for this category are as follows:
Access right

Description

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 modification of a DFB type


The access rights for this category are as follows:
Access right

Description

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 modification of a DFB instance


The access rights for this category are as follows:
Access right

Description

DFB instance modification

You can add, delete, or modify (name and type) a DFB


instance.

DFB instance minor attributes


modification

You can modify the comment and the initial value for a
DFB instance.

Bus configuration editor


The access rights for this category are as follows:

72

Access right

Description

Modify the configuration

You can modify the configuration.

I/O sniffing

You can carry out bus configuration sniffing.

33003101 07/2012

Project management

Input/output configuration editor


The access rights for this category are as follows:
Access right

Description

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 screens.
The access rights for this category are as follows:

33003101 07/2012

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.

73

Project management

4.2

Project management

Subject of this Section


This section introduces the tools used for project management.
What Is in This Section?
This section contains the following topics:
Topic

74

Page

Access to Unity Pro software

75

Services in Offline Mode

77

Services in Online Mode

86

Allowed Online Modifications

88

Connection / disconnection

94

Accessing a PLC via a Network

96

Overview of Types of Connection Possible With Schneider PLCs

102

Accessing communication parameters

105

Project comparison

108

Conversion of Legacy Applications/Projects

109

Importing an LL984 Application

111

Transferring the project between the terminal and the PLC

119

Update of Upload Information

122

Sending a command to the PLC

124

Project Backup Management for Modicon M340

125

Project backup for Premium

127

Save/Restore Data Between a File and the PLC

129

Compatibility Rules for Restore Using a *.DTX File

133

Transferring current values

138

Memory usage

139

Function Pack for Memory

143

Memory Card Access for Modicon M340

145

FTP and Memory Card for Modicon M340

146

Project Management with DTMs

147

33003101 07/2012

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 or active in no login mode
If security is inactive, execute the following commands to launch an instance of Unity
Pro:
Step

33003101 07/2012

Action

Click Start Programs.

Select the group Schneider Electric SoCollaborative.

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 S, M, L or XL.

From the list, select Unity Pro S, M, 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).

75

Project management

Other cases
When security is active (see page 52), execute the following commands to launch
an instance of Unity Pro:
Step

76

Action

Activate the Unity Pro icon: see procedure below.


Result: The dialog box Enter your user name and password is displayed.

Enter your name and password (if necessary).

Confirm with OK.

33003101 07/2012

Project management

Services in Offline Mode


At a Glance
The following operations can be carried out when accessing Unity Pro software in
off-line mode:
z Creating,
z Opening,
z Converting,
z Analyzing,
z Generating,
z Saving,
z Closing.
Creating a Project
To create a new project, carry out the following actions:
Step
1

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

33003101 07/2012

77

Project management

Step

78

Action

To see all PLC versions, click on the box Show all versions.

Select the processor you wish to use from those proposed.

To create a project with specific values of project settings, check the box Settings File and use the
browser button to localize the .XSO file (Project Settings file). It is also possible to create a new one.
If the Settings File box is not checked, default values of project settings are used.

Confirm with OK.

33003101 07/2012

Project management

Open Dialog
Open project dialog

33003101 07/2012

79

Project management

Element

Description

Look in
File name
Files of type

The upper part of this dialog displays a standard


Windows File Open dialog.

Opening a legacy LL984 project

Please refer to Importing an LL984 Application


(see page 111).

Open Options
Open the project in read-only mode Opens the project in read-only mode.
Open import File with Wizard

Select this check box to use the import


(see page 1701) wizard.

Libset version
Libset (set of libraries) contains all libraries, families, functions and variables (I/O data
structures) that can be used to develop an automation project.
In general, to open an existing project (.STU file) or an archived project (.STA file) the Libset
version can be selected.
To import a .ZEF or .XEF file, the latest Libset version must be selected.
More information on the default Libset version used to open a project according to the file
type is provided in the libset (see page 270) section.
Keep project version

Select this option to keep the Libset version used at


file creation time.
If the respective Libset is not installed, the latest
Libset version will be used.

Update with latest version available Select this option to update the project with the
latest Libset version.
Select a specific target version

Select this option to choose a specific Libset


version. The Version box can be used to select a
version.

Project information

80

Type

Target PLC.

Name / Version

Project name and software package version.

Last modification

Date and time of last modification of the project.

Comment

Comment associated to the project.

33003101 07/2012

Project management

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

Action

Choose the Open command from the File menu.

Select the file related to the project (file *.STU).

Select one of the Libset version options.

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 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>.ZTX. The .ZTX file is not required to
open an application. If no .ZTX is provided the application is open with default
context.
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, target PLC, and date of last modification to the source code.
NOTE: The .STU file is a work file and it can not be used to switch from one version
to another of Unity Pro software. In this case, you should use the archive format
(.STA file) or use the export function in the project and create a .ZEF or .XEF file.
NOTE: The .STU file contains the configuration of the TSX CPP 110 in the Project
Browser.
A The file not found message appears each time the configuration screen of the
TSX CPP 110 PCMCIA card is opened. Select the required .CO file to update the
CANopen configuration.
Opening an Archived Project
To open a project archived in STA format, carry out the following actions:
Step

Action

Choose the Open command from the File menu.

Select the file related to the project (file *.STA).

Select one of the Libset version options.

Confirm with Open.

An STA file is a project archive file that can be accessed using the Archive
command in the File menu.
33003101 07/2012

81

Project management

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 2.0 and version 4.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 a .STA file is selected, the software provides a certain amount of information:
z The project name,
z Associated comment,
z Version and date the project was generated,
z Target PLC,
z Date of last modification to the source code,
z The version of Unity Pro used to create this archive.
NOTE: As the file is compressed, loading takes much longer than for an .STU file.
We recommend using the .STA file to archive the project and the .STU file as the
actual work file.
NOTE: To Fully retrieve an application with Quantum Ethernet I/O system and/or
140 NOC 78 00 topologies, The Upload information or Open an archive files must
be used.
Converting an Existing PL7 or Concept Project
To convert an existing PL7 or Concept project, carry out the following actions:
Step
1
2

Action
Choose the Open command from the File menu.
Select the file related to the project:
z *.FEF or *.DFB, to launch the conversion procedure for a PL7 application

(see Unity Pro, PL7 Application Converter, User Manual),


z *.ASC, to launch the conversion procedure for a Concept application

(see Unity Pro, Concept Application Converter, User Manual).


3

Confirm with Open.

Conversion Wizard
To convert a legacy project partially or as a whole the Conversion Wizard can be
used.
The Conversion Wizard provides options to remap I/O objects (channels, variables
etc.) during conversion and to adapt the hardware configuration of the new project
concurrently in Unity Pro.
82

33003101 07/2012

Project management

Shortcuts to Recent Projects


To simplify access to the current project(s), the software provides a shortcut for
accessing the last 4 projects used. In the File menu, activate the shortcut to the
project you would like to open.
Archiving a Project
To archive a project in STA format, carry out the following actions:
Step

Action

Select the Save Archive command from the File menu.

If necessary, select the directory where the project will be stored (disk and path).

Enter the file name.

Confirm with Save.

NOTE: Archiving is only possible after a Rebuild all project with the Upload
information (see page 479) section of the Project Settings window set as follows:
z
z
z

the Upload information and Comments check boxes are checked, with the
Animation tables check box unchecked
the Upload information, Comments and Animation tables check boxes are
checked
the Upload information, Comments and Animation tables check boxes are
unchecked

NOTE: The .STA file partially contains the TSX CPP 110 configuration. Do not
forget to backup the .CO file (Sycon) for CANopen after archiving of the project.
Analyzing a Project
To analyze the syntax of your project, carry out the following actions:
Step

33003101 07/2012

Action

Activate the Analyze project command in the Build menu.


Result: the software analyzes the project.

Any errors detected are displayed in the information window at the bottom of
your screen.

83

Project management

Analyzing and Generating a Project


To analyze and generate your project at the same time (generation of links between
input/output modules and declared objects in the project, etc.), carry out the
following actions:
Step

Action

Activate the Rebuild all Project command in the Build menu.


Result: the software analyzes and generates the project.

Any errors detected are displayed in the information window at the bottom of
your screen.

Analyzing and Generating Modified Project Parts


To analyze and generate only the modified parts of your project, carry out the
following actions:
Step

Action

Activate the Build Changes command in the Build menu.


Result: the software analyzes and generates the modified parts of your project.

Any errors detected are displayed in the information window at the bottom of
your screen.

NOTE: The Build Changes analyses and displays only modified sections or
sections impacted by modifications. To display all warnings, a Rebuild all Project
command is needed.
NOTE: The Build Changes command can be executed only if the Rebuild all
Project command has been executed at least once previously.
Backing up a New Project
To back up a new project, carry out the following actions:
Step

Action

Activate the Save or Save As command in the File menu.

If necessary, select the directory where the project will be stored (disk and path).

Enter the file name.

Confirm with Save.

Backing up an Existing Project


To back up your modifications, select the Save command from the File menu.

84

33003101 07/2012

Project management

Closing a Project
To close your project, carry out the following actions:
Step

Action

Activate the Close command in the File menu.

If you have modified your project, a dialog box is displayed with the message
that you must save your project.

Save your project or close it without saving changes.

NOTE: Closing a project triggers saving the current context in the file
<Project_name>.ZTX (see page 81).
Exiting Unity Pro
To exit Unity Pro, carry out the following actions:
Step

33003101 07/2012

Action

Activate the Exit command in the File menu.

If you have modified your project, a dialog box is displayed with the message
that you must save your project.

Save your project or exit it without saving changes.

85

Project management

Services in Online Mode


Programming and monitoring modes
You can access the project in the PLC in Online Mode in the following two ways:
Programming, the PLC is reserved by the terminal; it is possible to access all the
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 not possible to modify
functions of the PLC, (the program), however it is possible to modify values of the
variable with the animation table.It is also possible to connect in monitoring mode
to a PLC that is already reserved. Links between EFs are not animated.
z

Note: The command Tools Options...Connection tab lets you choose the
default operating mode (see page 522).
Equal or Different Modes
On connection, the data in the PLC and the terminal is compared (see page 479):
z if the data is identical, this determines an equal online mode (see page 94),
z if the data is different, this determines a different online mode (see page 94).
Information in the PLC
Two types of information are compared between the PLC and the terminal:
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

86

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.

33003101 07/2012

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


and Transfer Project from
PLC

Transfer of the program between the terminal and the PLC.

Save Data from PLC to File


and Restore Data from File
to PLC

Transfer of data between a file and the PLC.

Run/Stop
and Init

Sending a command to the PLC.

Update Upload Information

Update the Upload information in the PLC.

Update Init Values with


Current Values

The PLC forces the update of the initial values using current
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.

33003101 07/2012

87

Project management

Allowed Online Modifications


Overview
The following pages describe modifications that are allowed when Unity mode is
online.
General Rules Concerning Online Modifications
Online modification is a feature that concerns only the online equal state.
If the application present in the PLC is different from the one opened in Unity Pro,
the state is online different. One of both applications should be chosen and loaded
to be in the online equal state.
NOTE: To download the application from Unity Pro into the PLC, it is mandatory to
stop the PLC. However, the PLC may stay in RUN mode while uploading the
application to the PC via Unity Pro.
The online equal state may only be reached if the connection mode is
programming. To configure the connection mode, use the command Tool
Options Connection. Two different connection modes are available:
z
z

monitoring (see page 86): state is monitoring and no online modification is


allowed,
programming (see page 86).

The distinction between executable code and upload information means that there
are 2 kinds of modifications:
z
z

those which truly modify the executable information (e.g., which add a new EFB
call or a new ST instruction)
modifications that have an impact only on the Upload information (e.g.
concerning comments, graphical information of languages).

Consequently, these kinds of modifications may not need to be built depending on


whether upload information is loaded into PLC, comments and animation tables
included in upload information.
As a general rule, Unity Pro prevents the user from doing actions by mistake that
would force them to stop the PLC and/or to perform a complete download:
z
z

either by simply disabling the forbidden functions in online mode


or by a warning message, as follows:

To know what parts have been modified, the application browser displays a specific
mark for the modified parts and in the title bar of the editors by character *.
88

33003101 07/2012

Project management

Modify the Program


It is always possible to modify a section of the program in online mode. As soon as
a section has been modified, it is no longer animated until the next build and transfer
to PLC.
Nevertheless, depending on the kind of modifications, a SFC graph may be reset
after the build and PLC update.
Some modifications performed in SFC might need a rebuild all command. In such
cases, a warning message appears in the editor. For example, deleting an action or
a transition section requires a rebuild all command. However, removing an action
or a transition section from a step or a transition and keeping the section unused
only requires an online build.
NOTE: Adding an SFC section must be done offline, if the two following conditions
are fulfilled simultaneously:
z
z

If the project contains at least one SFC section already.


If the project has been designed with an earlier version than Unity Pro 3.0.

This modification requires a rebuild all of the project and a PLC stop to download
the entire application.
Modify Data
In the data editor, there is no specific operating mode.
Generally, it is allowed to modify the type of a variable or a Function Block (FB) in
online mode.
Modifying a data, which is used in the program, may have consequences wherever
it is used, on the contrary to an unused variable. Therefore online actions are more
restricted on used data.
NOTE: Adding a variable without rebuilding increases the memory usage until next
rebuild.
For used EDT variable or used DDT/FB instance, only comments and the initial
values can be modified. Unused variable/instance may be deleted. It is allowed to
create new variable/instance online.
Concerning DDT type, it is only allowed to change comments if the type is used. It
is possible to create new DDT or to delete an unused one.
For DFB type, it is possible to:
z create, modify and delete sections
z change comments
z change initial values
z add a new public or private variable
If there is no instance of the DFB, there is no limitation. The DFB type may even be
deleted. Finally creating new DFB type(s) and instantiating it in online mode is
straightforward.
33003101 07/2012

89

Project management

Modify the Configuration


For Premium and Atrium PLCs, it is not possible to add or remove any module in
online mode. Parameters of an existing module on the contrary may be configured
online. Once modified, the animated mode is no longer available until the next build
and PLC update.
For Quantum system PLCs, it is possible to add or delete a selection of modules and
change the parameters of an existing module (see Modicon Quantum, Change
Configuration On The Fly, User Guide) in STOP and RUN mode.
Comment Concerning Offline Modifications
Modifications that are only possible offline and new application downloads require
an offline build and a rebuild all. In these cases, the modification is not possible
online and a message warns the user.
The rebuild is needed:
z
z

After application creation or import


Once the application is already built:
z Changing some project settings
z CPU change
z Memory card change
z Memory card layout change
z Switching from real target to simulator and vice versa

Furthermore, if a flash PCMCIA card without additional SRAM (TSX MFPP M or


TSX MFPP K) is configured, no modification is allowed online. User is informed
by a specific message This action is forbidden because: Flash Cartridge.
Synthesis of Authorized and Unauthorized Modifications
The following table presents the main authorized and unauthorized online
modifications. The second column indicates which modifications have impact only
to the upload information and do not have any impact to the executable code:
Type of
Modification

Impacts Only
Upload Information

Allowed in Online
Mode (RUN/STOP)

Requires to Build
the Application in
Offline Mode

Name of Station,
Programs, Sections

Yes

Yes

No

Comment of Station,
Configuration,
Programs, Sections

Yes

Yes

No

Documentation
Summary

Yes

Yes

No

General

90

33003101 07/2012

Project management

Type of
Modification

Impacts Only
Upload Information

Allowed in Online
Mode (RUN/STOP)

Requires to Build
the Application in
Offline Mode

Animation Table

Yes

Yes

No

Integrated Operator
Screens

Yes

Yes

No

Functional View

Yes

Yes

No

Security Information:
Passwords,
Protection
Attributes,...

No

Yes

No

Switch Simulator <->


Real Target

No

No

Yes

Yes

No

Import/Export Project No
Program
Sections of
Programs: Add,
Delete, Change
Execution Order

No

Yes

No

Modify the Code of a


Section (Task
Section, SR,
Transition, Action,
DFB Sections)

Yes(1)

Yes

No

Modify the Code of


EVT Sections

No

No

Yes

Modify the Code of


SFC Chart

No

Yes

No(1)

Premium
No
Configuration:
Add/Delete a Module

No

Yes

Premium
Configuration:
Change Module
Parameters

No

Yes

No

Quantum
No
Configuration:
Add/Delete a Module

Yes

No

Configuration/Com
munication

33003101 07/2012

91

Project management

Type of
Modification

Impacts Only
Upload Information

Allowed in Online
Mode (RUN/STOP)

Requires to Build
the Application in
Offline Mode

Quantum
Configuration:
Change Module
Parameters

No

Yes

No

No

Yes

Changing Memory
No
Sizes in
Configuration Screen
Global Variables
(Used Even in
Animation Table or
Operator Screen)
Remove an Used
Variable

No

No

Yes

Symbol an Used
Variable

No

Yes

No

Type an Used
Variable

No

No

Yes

Topological Address
of an Used Variable

No

Yes

No

Initial Value of an
Used Variable

No

Yes

No

Comment of an Used
Variable

Yes

Yes

No

Create, Remove or
Modify Unused
Variables (EDT,
DDT)

No

Yes

No

Create, Remove or
Modify Unused
Variables (FB)

No

Yes

No

No

No

Yes

Used DFB
Type Name of Used
DFB

92

All Comments

Yes

Yes

No

Add a Parameter

No

No

Yes

Add a Public or
Private Variable

No

Yes

No

33003101 07/2012

Project management

Type of
Modification

Impacts Only
Upload Information

Allowed in Online
Mode (RUN/STOP)

Requires to Build
the Application in
Offline Mode

Delete or Change
Unused Private
Variable

No

Yes

No

Initial Value of
Parameters and
Variables

No

Yes

No

Other Attributes of
No
Parameters and
Variables (Public and
Private)

No

Yes

Modify the Code of a


section

No

Yes

No

Create a New DFB


Type

No

Yes

No

Delete an Unused
DFB Type

No

Yes

No

Create a New DDT


Type

No

Yes

No

Delete an Unused
DDT Type

No

Yes

No

Used DDT

(1) Modifying only the graphical layout or the free form comments does not impact
code generation, but only generation of the upload information.
(2) If a step is deleted that is referenced in the application (e.g. in another section,
animation table, operator screen...), a full download is needed.

33003101 07/2012

93

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
z

if the information is identical, the online mode is Equal,


if the information is different, the online mode is Different,

By disconnecting, you can return to offline mode from an online mode.


Equal online mode
On connection to the PLC, Unity Pro runs in Equal online mode when executable
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 mode
On connection to the PLC, Unity Pro runs in Different online mode when executable
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 procedure
You must execute the following actions to connect up:
Step
1
2

Action
On first connection: Click (see page 96) PLC Set Address.
Choose the connection mode:
z PLC Standard mode: to connect to a PLC
z PLC Simulator mode: to connect to a simulator

94

Click PLC Connection.

33003101 07/2012

Project management

Disconnection procedure
You must execute the following actions to disconnect:
Step
1

Action
Click PLC Disconnection.

Automatic disconnection
In order to avoid online mode switching automatically to offline mode, without your
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 page 105).

33003101 07/2012

95

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

Activate the menu PLC Set address command, which displays the
Set address dialogue.

In the PLC Address field, enter the address of the new PLC.

In the PLC Media field, select the type of communication you wish to use
(see page 102). For Ethway drivers, refer to the following note.

If you wish, modify:


z the communication parameters (see page 105) using the Communication
Parameters buttons in the PLC and Simulator group boxes
z the connection bandwidths (see page 106) using the Bandwidth button

To carry out a connection test click on the Test Connection button.

When you are finished, confirm with the OK button.

NOTE: In the Set Address dialogue, Ethway drivers are not available. To use this
type of communication, you must enter manually ETHWAY01 or ETHWAY02 in the
Media drop-down menu.
NOTE: By default the simulator is started on port number 502. To change the port
number (portnum), add in the Simulator Address box an unused port number (e.g.,
127.0.0.1:511 to use port number 511).
Description of Set Address Parameters
The following table describes the Set Address dialogue:
Group box

Parameter

Description

PLC

Address

PLC address (by default, the address of the PCL physically wired to the
terminal).
The drop-down menu lists any previous addresses entered. Clicking on the
trashcan clears the drop-down list

Media

This drop-down selects the type of communication with the network for the
PCL.

Communication
Parameters

By clicking this button you access the PLC communication parameters


(see page 105).

96

33003101 07/2012

Project management

Group box

Parameter

Description

Simulator

Address

Simulator address
The drop-down menu lists any previous addresses entered. Clicking on the
trashcan clears the drop-down list

Media

This drop-down selects the type of communication with the network for the
simulator.

Communication
Parameters

By clicking this button you access the simulator communication


parameters (see page 106).

Bandwidth

Click this button to display the Online Mode Services Bandwidth


dialogue (see page 106).

Test Connection

Click this button to execute a connection test without closing the Set
Address dialogue.

Speed rate autoadaptation at the end


of download

Choose this mode for applications which do not require a specific speed
rate (e.g., Modems).

Network Address Syntax


The network address syntax is documented in the Architecture and Communication
Services (see Modicon M340, Premium, Atrium and Quantum Using Unity Pro,
Communication Services and Architectures, Reference Manual) manual.

33003101 07/2012

97

Project management

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 Example: UNTLW01 0.2.1.4


access to the Uni-Telway slave at address
4 which is connected to rack 0, module 2,
channel 1 of the local PLC.

Fipway

FIP01, FIP02,
FPP2001
(driver for the
TSX FPP20
card)

X-Way

Fipio

FIP01, FIP02,
FPP2001

X-Way Example: FIP02 \2.55\SYS to


access to FIPIO connection point 55
through the privileged terminal Fipio
(address 63 for Premium)
Example: FIP01 SYS to access to Fipio
Master through the privileged terminal
Fipio (address 63 for Premium).

PCIway

PCIWAY01,
PCIWAY02

X-Way

Ethway

ETHWAY01,
ETHWAY02

X-Way

XIP

XIP01 to XIP05 X-Way Example: XIP01 {3.5}\2.55\SYS to


access a FIPIO connection point 55,
through the network 3 and station 5 PLC.
Example: XIP02 {3.5}0.2.0.4 access to a
Uni-Telway slave connection at address 4
which is connected on the rack 0 module 2
channel 0 of the network 3 and station 5
PLC.

Ethernet IP

TCP/IP

IP address

Ethernet IP

TCP/IP**

IP address;Index or
"DNS machine name;Index"

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


MBPLUS04

98

Modbus Plus Address Example:


MBPLUS01 2.1 access to Modbus Plus
node address 1 which is connected after
the Modus Bridge address 2.

33003101 07/2012

Project management

Platform

Support

Quantum

Serial
Modbus

Modicon M340

33003101 07/2012

Address syntax
MODBUS01 to
MODBUS04

Modbus Slave Number

Modbus Plus MBPLUS01 to


MBPLUS04

Modbus Plus Address

Ethernet

TCP/IP

IP Address Example: TCPIP 84.0.127.6


access to an Ethernet TCP/IP station.

Ethernet IP

TCP/IP***

IP address;Index or
"DNS machine name;Index"

USB

USB

implicit; no address is necessary as the


connection is point to point

Serial
Modbus

MODBUS01 to
MODBUS04

Direct Address: Modbus slave number


Remote address: Link_address.Modbus
Slave number
Link_address = r.m.c. of Modbus link
Direct address example: 66
Bridging example:
z 66\\0.0.3{118.159.35.45} for Modbus
slave 66 to PLC on Ethernet CPU.
z 66\\0.3.0{118.159.35.45} for Modbus
slave 66 to PLC on Ethernet NOE on
slot 3.

Ethernet

TCP/IP

Direct address: IP Address


Remote address: Netlink {IP address}
Netlink address = r.m.c. of Ethernet link
Direct address example: 84.0.127.6
Bridging example:
z 139.160.235.20\\0.3.0{118.159.35.45}
for Ethernet CPU to PLC on Ethernet
NOE on slot 3.
z 139.159.35.20\\0.0.0.66 for Ethernet to
Modbus slave 66.

Ethernet IP

TCP/IP**

IP address;Index or
"DNS machine name;Index"

USB

USB

SYS or empty
Bridging example: SYS\\0.0.0.66 for USB
to Modbus slave 66.

99

Project management

Platform

Support

Address syntax

Simulator

Ethernet

Legend

**: "Index" is the Modbus Plus or Modbus index stipulated in the bridge you
want to cross. This access only works in display mode: it cannot be used to
modify the program or force values.
***: "Index" is the Modbus Plus or Modbus index stipulated in the 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.

TCP/IP

IP address;Index **
"localhost"
"DNS machine name;Index" **

Accessing PLCs Behind a Router


When you need to communicate to several PLCs behind routers, configure a
network address translation table in Unity Pro to handle different ports. You supply
the router address and different ports to reach PLCs behind the routers.
Example:
Suppose the router address is 139.160.39.12. The PLC addresses below are local:
PLC Number

PLC Address

192.168.0.1:502

192.168.0.2:502

192.168.0.3:502

This example shows PLCs with different addresses, but the same port.

100

33003101 07/2012

Project management

Network Address Translation Table


The network address translation table would look something like this:
Port

Destination

TCP/IP 3501

192.168.0.1:502

TCP/IP 3502

192.168.0.2:502

TCP/IP 3503

192.168.0.3:502

This example shows the same router address with different ports, each port corresponding to
a PLC address.

Notes:
z Unity Pro can communicate with PLC 2 using the router address followed by port
3502.
z In the Set Address dialog, type 139.160.39.12:3502.
z The router sends the message to the address 192.168.0.2:502 (configured in the
router in the network address translation table).
z To communicate with other PLCs, use the same router address, but change the
port number.

33003101 07/2012

101

Project management

Overview of Types of Connection Possible With Schneider PLCs


At a Glance
Unity Pro connects up to Modicon M340, 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 Solutions
The following table shows the different solutions that can be used to connect a PLC
with Unity Pro software.
Type of connection

Modicon M340

Premium and Atrium

USB (4)

On processors:
z BMX P34 1000
z BMX P34 2000
z BMX P34 2010
z BMX P34 20102
z BMX P34 2020
z BMX P34 2030
z BMX P34 20302

On processors:
z TSX P57 4634
z TSX P57 554
z TSX P57 5634
z TSX P57 6634

All processors, via terminal


port and PCMCIA cards

On processors:
BMX P34 1000
BMX P34 2000
BMX P34 2010
BMX P34 20102
BMX P34 2020

All processors have a


Modbus connection which
can be used by Unity Pro.

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 4634
z Ethernet channel of
TSX P57 5634
z Ethernet channel of
TSX P57 6634

Uni-Telway
Modbus (6)

z
z
z
z
z

XIP (2)

102

Quantum
On processors:
140 CPU 651 50
140 CPU 651 60
140 CPU 651 60S
140 CPU 652 60
140 CPU 670 60
140 CPU 671 60
140 CPU 672 60
140 CPU 672 61
140 CPU 671 60S

z
z
z
z
z
z
z
z
z

33003101 07/2012

Project management

Type of connection

Modicon M340

Premium and Atrium

Quantum

Modbus Plus

Via PCMCIA cards


TSX MBP 100 (1) (2)(5)

On processors:
z 140 CPU 311 10
z 140 CPU 434-12A
z 140 CPU 534-14A
z 140 CPU 651 50
z 140 CPU 651 60
z 140 CPU 651 60S
z 140 CPU 652 60
z 140 CPU 670 60
z 140 CPU 671 60
z 140 CPU 672 60
z 140 CPU 672 61
z 140 CPU 671 60S

Ethernet TCP/IP (2)

Processors Ethernet
channels:
z BMX P34 2020
z BMX P34 2030
z BMX P34 20302

Via the following modules:


TSX ETY 4103 (1)
TSX ETY 5103 (1)
TSX ETY PORT (1)
Ethernet channel of
TSX P57 4634
Via the following modules:
z Ethernet channel of
z BMX NOE 0100
TSX P57 5634
z BMX NOE 0110
z Ethernet channel of
TSX P57 6634

Via the following modules:


z 140 NOE 211 x0
z 140 NOE 251 x0
z 140 NOE 771 00
z 140 NOE 771 01
z 140 NOE 771 10
z 140 NOE 771 11
z 140 NOE 771 20
z Ethernet channel of:
z 140 CPU 651 50
z 140 CPU 651 60
z 140 CPU 651 60S
z 140 CPU 652 60

PCI

On Atrium processors only:


z TSX PCI 57 204
z TSX PCI 57 354 (3)

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

z
z
z
z

(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.

33003101 07/2012

103

Project management

For Modicon M340 PLCs, the TCP/IP connection does not require a valid
application inside the PLC to work.
The IP configuration when the Modicon M340 PLCs Ethernet port is not
configured is as follows:
z Rotary switch position: IP address
z BOOTP: from BOOTP server using MAC address
z DHCP: from DHCP server using role name + switch position: default role
name.
Default name for:
- BMX P34 2020: BMX_2020_
- BMX P34 2030: BMX_2030_
- BMX P34 20302: BMX_20302_
- BMX NOE 0100: BMX_0100_:
- BMX PRA 0100: BMX_0100_:
Example: for a BMX P34 2020 with ones switch on 7 and tens switch on 5
the device name will be BMX_2020_075.
z CLEARED/STORED: default IP address derived from MAC address.
The default IP address is based on the last 3 bytes of the MAC address and
always starts with 84.
Example: for a MAC address 00:80:F4:01:FE:73 default IP address is
84.1.254.115.
(3) These processors are available for Unity Pro versions of V1.0 or higher.
(4)

CAUTION
UNEXPECTED APPLICATION BEHAVIOR
Do not connect more than one PLC over USB on the same computer.
Failure to follow these instructions can result in injury or equipment damage.
(5) Programming mode (see page 86) cannot be accessed via a Modbus Plus
network.
(6) Bluetooth connection is limited to Diagnostics and Animation.

104

33003101 07/2012

Project management

Accessing communication parameters


Procedure for accessing PLC parameters
You must perform the following actions to access the communication parameters of
the PLC:
Step

Action

Access the Set Address screen (see page 96).

Click on the Communication Parameters button in the PLC field to display the
following screen:

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 UniTelway 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
(see Communication Drivers, Installation manual, ).
4

33003101 07/2012

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.

105

Project management

Procedure for accessing simulator parameters


You must perform the following actions to access the communication parameters of
the simulator: (see Unity Pro, Program Languages and Structure, Reference
Manual )
Step

Action

Access the Set Address screen (see page 96).

Click on the Communication Parameters button in the Simulator field to


display the following screen:

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.

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 accessing bandwidths


You may divide up the bandwidth quota allocated to Unity Pro for the selected
communication medium between the different functions available in online mode.
This screen is used to define the percentage of bandwidth allocated to each of the
4 categories of functionality in online mode:
z

106

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.
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.

33003101 07/2012

Project management
z
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.
Diagnostics (Diagnostic Viewer). The higher the percentage allocated, the
higher the frequency with which the alarms in the PLC will be acquired.

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


parameters to suit:
z
z

the characteristics of the project loaded onto the PLC: numerous and frequent
diagnostics alarms, many animation screens open at once
and the use made of online mode: the most frequently used functions.

Procedure:

33003101 07/2012

Step

Action

Access the Set Address screen (see page 96).

Click on the Bandwidth button to display the following screen:

Using the sliders, adjust the parameter values to suit the characteristics of your
project and the functions you use most frequently in online mode.

Click on the Default button if you want to revert to the default values.

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.

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.

107

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
z
z

Name,
Version,
Last build: date and time the executable was last generated.

Procedure
You must perform the following actions to launch project comparison:
Step

Action

Activate the PLC Compare command, which displays the screen below.

Confirm with OK.

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

Transfer Project to PLC, transfer the project from the terminal to the PLC,
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).

108

33003101 07/2012

Project management

Conversion of Legacy Applications/Projects


Introduction
There are 2 possibilities to convert legacy applications to Unity Pro.
z Global conversion provides to convert a legacy application (PL7, Concept) to
Unity Pro as a whole.
z Partial conversion with the conversion wizard provides to select parts of a legacy
application to be converted and to control the conversion result.
To convert a legacy application to Unity Pro, you must at first export the application
out of the legacy software (PL7, Concept).
NOTE: In case of global conversion with a default hardware configuration (see
below) as well as in case of partial conversion, the hardware configuration must be
edited and completed by the user.
Global Conversion
To convert a legacy application as a whole you select the file exported out of the
legacy software in Unity Pro via File Open.
The respective converter (PL7 Converter, Concept Converter) automatically
generates a Unity Pro application.
For detailed information on the converters, please refer to Unity Pro Software -> PL7
Converter or Unity Pro Software -> Concept Converter.
z
z

Global conversion for Premium and Quantum contains also a hardware


configuration.
Applications with PLCs which do not have a direct equivalent in Unity Pro
(Compact, Momentum, TSX Micro) should be converted using the partial
conversion with the conversion wizard.

However, if global conversion is chosen, a default hardware configuration is


generated.
z

33003101 07/2012

For global conversion of Compact applications you can select either Quantum or
Modicon M340 as target PLC. Please refer to Importing an LL984 Application
(see page 111).
Global conversion of Momentum applications contains only a default Quantum
hardware configuration with a CPU (140 CPU 534 14A/U) and a power supply
(140 CPS 424 00). If needed the default CPU can be replaced.
Global conversion of TSX Micro applications contains only a default Modicon
M340 hardware configuration with a CPU (BMX P34 2020) and a power supply
(BMX CPS 2000). If needed the default CPU can be replaced.

109

Project management

Partial Conversion
To convert a legacy application partially to Unity Pro, use the conversion wizard.
You can launch the conversion wizard in Unity Pro via Tools Convert Partially.
With the conversion wizard you can:
z select the parts of the application to be converted
z remap I/O objects before conversion
z adapt concurrently the hardware configuration of the new application in Unity Pro
z modify the amount of used memory in the CPU
The partial conversion is possible for TSX Micro, Premium, Quantum, Momentum
and Compact applications.
With partial conversion for Compact and Momentum applications it is recommended
to prepare a Modicon M340 hardware configuration.
For detailed information, please refer to Unity Pro Software -> Operating Modes ->
Conversion Wizard, page 1759.

110

33003101 07/2012

Project management

Importing an LL984 Application


Introduction
When you import an application to Unity Pro from other programming software,
some functions may behave differently.
For example:
z Cold start behavior of Unity Pro LL984 applications is different from legacy LL984
applications.
z Imported Concept IEC coils behave differently than imported LL984 coils.
z Unit Pro MATH functions might not behave the same as legacy LL984 (overflow,
underflow, etc.).

WARNING
UNINTENDED EQUIPMENT OPERATION
z

z
z

After you imported an application program, edit the result carefully to check that
all the logic elements have been ported completely and are located correctly in
the program.
Test the application before running it to check that it performs as expected.
If necessary, edit the program to add logic elements that are missing, remove
code that is not necessary, and replace logic elements that behave differently
from their intended purpose.

Failure to follow these instructions can result in death, serious injury, or


equipment damage.
General Message after Import
After the import check the log file (see page 118) for error and warning messages.
You have to Analyze and Build the project.

33003101 07/2012

111

Project management

Import
To import an LL984 application use the File Open menu command.
Please refer to Open dialog (see page 79).
You can import the following legacy LL984 applications:
Concept Projects (*.ASC)
z Modsoft Projects (*.CFG)
z ProWORX32 Databases (*.PWX)
z ProWORX Nxt (*.DCF)
z

NOTE: Imported MSTR functions are not designed to work with the Modicon M340
CPUs. After an application is converted to Unity Pro, it must be manually updated.
The MSTR function must be replaced by the READ_VAR and WRITE_VAR
functions.
For further information please refer to Import / Export of LL984 Applications
(see LL984 Editor, Reference Manual, LL984 Specifics).
LL984 Options Dialog (-> Target PLC Quantum)
After selecting a legacy LL984 application file, the following LL984 Options dialog
is displayed. The following graphic shows an example with a legacy Quantum LL984
source application and a Quantum selected as target PLC family.

112

33003101 07/2012

Project management

Element

Description

Application

Displays the name of the legacy application to be imported.

Source PLC Family

Displays the PLC family of the legacy application to be


imported.

OK

Starts the import.

Cancel

Displays a message ...Convert step failed, no


application is imported, and the following message is generated
in the import log file: Conversion terminated by User.

Symbols
Original

Select this option to use the original variable names of the


legacy application in your new Unity Pro application.

_XYYYYY

Select this option to automatically convert the legacy variable


names.
The new variable names will be composed according to the
following list:
z _: an underscore will be the leading sign of the converted
variables.
z X: represents the data type in the memory area.
z 0: %M (memory bit)
z 1: %I (discrete input)
z 3: %IM (input word)
z 4: %MW (memory word)
z YYYYY: represents the address number.

For example _400001 stands for%MW1.


Target PLC Family
Quantum

Select this option to use the Quantum as target PLC.

M340

Select this option to use the Modicon M340 as target PLC.


The Modicon M340-specific parameters for full topological
addressing are listed in a separate table below.

Long Comments
1:1 In Project

33003101 07/2012

Select this option to convert the long comments of your legacy


application to text that will be displayed in the Custom column
of the Data Editor.

113

Project management

Element

Description

1:n In Hyperlinked Files

Select this option to convert the long comments to text files. In


this case the long comments are available as aperients in the
variable Comments column of the Data Editor.
Additionally you can define a path for the created aperient text
files (in the edit field below).
z Either define a relative path in the root directory of your
application.
z Or use the ... button to select any other path.
The sub-folder of the hyperlink files is displayed below the edit
field.
The path defined will be written to the project settings of your
new application (Tools Project Settings General
Path Hyperlink Root Path).

Label causes SR

114

Select this option to import a segment containing labels as an


SR segment, even if its scheduling does not express this.
Labels are allowed only in SR segments.
For details please refer to Calling Subroutines (see page 1108).

33003101 07/2012

Project management

LL984 Options Dialog (-> Target PLC Modicon M340)


Converting a legacy LL984 application to a Modicon M340 application you can
determine the kind of addressing. By default Mixed topological / State RAM
addressing is used (option Full Topological not selected).
Mixed Topological / State RAM Addressing (-> Modicon M340)
The following graphic shows an example for converting a legacy Compact
application to a Modicon M340 application with Mixed topological / State RAM
addressing (option Full Topological not selected).

NOTE: If you want to import a legacy LL984 Compact application which uses
Modbus request to communicate with an HMI, you have to use State RAM
addressing to preserve the Modbus exchange between PLC and HMI.

33003101 07/2012

115

Project management

Full Topological Addressing (-> Modicon M340)


To convert a legacy LL984 application to a Modicon M340 application with full
topological addressing, the option Full Topological has to be selected.
z All word variables get a declaration with a symbol and the topological address in
the data editor, if not already present.
z Input Words are copied to a mirror area of memory words, allowing SCADA
access.
z Discrete words are directly addressed with topological addresses in the
programs, if no symbols are defined for them, showing in this way directly their
hardware connection to the controller.
z If SCADA access is required to discrete inputs, the input bits can be copied as
well to a mirror area of memory bits by checking Copy Input Bits.
z SCADA access for inputs with Full Topological checked needs modified
addresses in the SCADA system the offsets in the dialog must be added to the
original offsets and the memory areas must be used instead of the input areas.
The following graphic shows an example for converting a legacy Compact
application to a Modicon M340 application with full topological addressing.

116

33003101 07/2012

Project management

For converting a legacy LL984 application to a Modicon M340 application with full
topological addressing, the following additional parameters are used:
Element

Description

Full Topological

Activate this option to convert input word addresses (3x) of the


legacy LL984 application to a separate, mirrored area of the
%MW areas of the target Modicon M340 application.
If this option is not activated, the legacy LL984 application is
converted into a State RAM Modicon M340 application.

Input Word Offset

Enter the offset for the input word addresses (3x) in the mirrored
area of the %MW area of the target Modicon M340 application.

Copy Input Bits

Activate this option to additionally convert input bit addresses


(1x) to the mirrored area of the %M area of the target Modicon
M340 application.

Input Bit Offset

Enter the offset for the input bit addresses (1x) in the mirrored
area of the %M area of the target Modicon M340 application.

NOTE: With this Full Topological option activated you must manually change the
access to the %I and %IW addresses in the SCADA components.
Converting a Legacy Compact Application to Modicon M340 with Full Topological Addressing
During conversion of a legacy Compact application to a Modicon M340 application
with full topological addressing, the import automatically creates separate ST code
sections for input and output operations with copying commands to transfer I/O data
to the mirrored memory areas.
Please refer to Module Emulation (see LL984 Editor, Reference Manual, LL984
Specifics).
Import Behavior
During import of a legacy LL984 application, problems may be detected:
z controller family not supported
z I/O family not supported
z I/O module not supported
z rack count exceeded
z instruction/function block not supported
z non-coil in column 11
Generally such an issue does not stop the import.
Instead a message is displayed for each of these detected problems in the
Import/Export tab of the Output Window at the bottom of the Unity Pro user
interface.
Double-click such a message in the Output Window to access the respective dialog
in your application.
33003101 07/2012

117

Project management

If detected problems occur the following is done during import:


z Not supported controllers or I/O families are replaced by a default
Quantum/Modicon M340 configuration.
z Not supported I/O modules are ignored in case of Quantum as target PLC family.
z Exceeding racks and their modules are ignored.
z Not supported instructions are represented by empty DFBs that look identical to
the LL984 instruction. In such a case proceed as described under Not Supported
Legacy LL984 Instructions and User Loadables (see LL984 Editor, Reference
Manual, LL984 Specifics).
z Equation networks with questionable conversions (for example implicit type cast)
will contain the imported equation statement and an additional message.
Equation networks which are not compliant with Modicon M340 variable
alignment rules, will cause a build error during Analyze.
For details please refer to Equation Networks (see LL984 Editor, Reference
Manual, LL984 Specifics).
z The import of a legacy application that contains duplicated identifiers is aborted.
For details please refer to Duplicated Identifiers (see LL984 Editor, Reference
Manual, LL984 Specifics).
If parts of a legacy application are not imported, after Analyze and Build of the
project an appropriate message is displayed. In this case you have to adapt the
application manually. (For example in case of Modicon M340 by selecting Mixed
topological and State RAM in the Memory Tab (see page 1151) of the modules
and subsequently fixing the related variables).
Import Log File
After import a message informs you that the conversion and import is finished and
reminds you to have a look at the import log file.
The import log file is stored in the root directory of your application.
You have to Analyze and Build the project.

118

33003101 07/2012

Project management

Transferring the project between the terminal and the PLC


At a Glance
Transferring a project enables you to:
z
z

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

Transfer from the terminal to the PLC


You must carry out the following actions to transfer the current project to a PLC:
Step

33003101 07/2012

Action

Use the PLC Set address command to define the current PLC to which you
would like to transfer your project (see page 96).

Change to online mode (see page 94).

Activate the PLC Transfer Project to PLC command, which displays the
corresponding screen (see page 120).

Check the PLC Run after Transfer box if you want the PLC to switch
automatically to Run after the transfer.

Activate the Transfer command.

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 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.

119

Project management

Transfer from the PLC to the terminal


You must carry out the following actions to transfer the contents of the PLC to the
terminal:
Step

Action

Use the PLC Set address command to define the current PLC to which you
would like to transfer your project (see page 96).

Change to online mode (see page 94).

Activate the PLC Transfer Project from PLC command to display the
corresponding screen (see page 121).

Transfer progress is displayed onscreen. At any moment, you can interrupt the
transfer by using the Esc key.

Terminal to PLC transfer screen


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

Description of the parameters


The following table describes the parameters of the Terminal to PLC transfer screen.

120

Parameter

Description

PC Project

Identification field for the project in the terminal: name, version,


date and time the executable was last generated.

Overwritten PLC
Project

Identification field for the project embedded in the PLC: name,


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.
33003101 07/2012

Project management

Parameter

Description

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 transfer screen


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

Description of the parameters


The following table describes the parameters of the PLC to terminal transfer screen.
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


PLC

Transfer command: the project is transferred.

Cancel

Command used to cancel the transfer.

Incompatibility during a transfer


During transfer from the terminal to the PLC, incompatibility between the current
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.

33003101 07/2012

121

Project management

Update of Upload Information


Upload Information
Upload information consists of:
z
z
z

Project upload information: graphic code for languages with LD contacts and
chart of FBD function blocks, symbols of located and unlocated variables,
Comments: variables, code sections, project, DFBs, etc.,
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 page 479) when building the project which is then transferred to the PLC.
Use of Upload Information
Upload information should only be loaded in the PLC where this is strictly necessary,
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 the 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 the 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 Information
By default, the upload information necessary to rebuild the project program is not
embedded in the PLC.
You can choose the information to have embedded:
z
z
z

The information necessary for uploading the project,


Comments (variables and types),
The animation tables.

The Tools Project Settings... command in the Build tab is used to choose the
Upload information (see page 479) to be taken into account.

122

33003101 07/2012

Project management

Update
When making modifications in online mode, it is possible to choose between 2
modes of updating the Upload information:
z
z

Automatic update; in which case the update of Upload information is implicit on


each build,
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 page 518), 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.

33003101 07/2012

123

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
z

Run/Stop launches or stops execution of the project, (see Unity Pro, Program
Languages and Structure, Reference Manual )
Init initializes the project.

Procedure
You must perform the following actions to control the PLC:
Step

124

Action

Use the PLC Set address command to define the target PLC that you wish
to control (see page 96).

Change to online mode.

Activate the PLC Run/Stop command to launch or stop execution of the


project or the PLC Init command to initialize the project.

Confirm the command.

33003101 07/2012

Project management

Project Backup Management for Modicon M340


At a Glance
Automatic and manual accesses are carried out between the Schneider
BMX RMS memory card and Unity Pro or the PLC to:
z
z
z

restore a project in the PLC,


save the PLC project on the memory card,
compare the PLC project and the memory card project.

NOTICE
INOPERABLE MEMORY CARD
Do not format the memory card with a non-Schneider tool. The memory card needs
a structure to contain program and data. Formatting with another tool destroys this
structure.
Failure to follow these instructions can result in equipment damage.
Restore Function
The restore function is carried out as follows:
Automatically:
z after a power cycle,
z on a warm start,
z on a cold start.

or do it Manually, with the Unity Pro command PLC Project backup


Backup Restore.

NOTE: When you insert the memory card in run or stop mode, you have to do a
power cycle to restore the project on the PLC.

WARNING
UNEXPECTED BEHAVIOUR OF APPLICATION
Ensure that the right user application is contained in the memory card before
inserting it into the PLC.
If the application contained in the memory card includes the RUN AUTO option,
then the PLC will automatically restart in RUN mode with this application as soon
as the inserted memory card content is restored to the PLC.
Failure to follow these instructions can result in death, serious injury, or
equipment damage.

33003101 07/2012

125

Project management

Save Function
The save function is carried out as follows:
Automatically, after:
z a download, if the memory card is present and not write-protected,
z online modification, if the memory card is present and not write-protected,
z detection of a system bit %S66 rising edge.

Manually, with the command PLC Project backup Backup Save.

NOTE: If you remove the memory card when the backup is in progress, the program
on the memory card is lost. With system bit %S65 you can disable processor access
to the memory card.
If the memory card is not present or write-protected, the download in Processor
memory is allowed but the online modification is not allowed.
Compare Function
You can compare your project with the one contained on the memory card. To do
so, use the command PLC Project backup Compare....
Memory Card State and Diagnostic
On Unity Pro and the PLC front panel, you can visualise the states associated with
memory card access.
Visualisation on Icon/LED Description
State
Status bar at
bottom of Unity
Pro

Project on memory card is different from PLC project.

Memory card is not present on the PLC or is in fault.

no icon
LED on bottom of On
memory card slot Flashing

CARDERR LED
on PLC front
panel

126

Project in memory card is equivalent to PLC project.


Access to the memory card is enabled.
Activity between the memory card and the PLC.

Off

Access to the memory card is disabled. You can remove the


memory card.

On

Memory card is missing or memory card is not detected, or


project on memory card is different from PLC project.

Off

Memory card is detected, and project in memory card is


equivalent to PLC project.

33003101 07/2012

Project management

Project backup for Premium


At a Glance
Certain PLCs Premium allow you to save the project program contained in the
executable zone (see Unity Pro, Program Languages and Structure, Reference
Manual ) (RAM) of the PLC in the backup memory zone.
The available backup memory card is the TSX MFP B 096K.
Unity pro enables the use of these functions:
z
z
z
z

Comparison
Automatic restore (shaded field) when the PLC powers up, if the project program
is different
Save PLC program on the memory card
Clearing of card data

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
1

Action
Activate the command PLC Project backup Compare....
Result: A dialog box appears informing you of the result of the comparison.

Backup Memory Card RAM Transfer


You Must Perform the Following Actions to Restore the Contents of the Backup
Memory to the Executable Zone of the PLC:
Step

Action

Set the WP switch on the backup memory card to ON (lock).

Insert the backup memory card into the PLC.

Result: The memory card automatically transfers the contents of the backup
memory to the executable zone of the PLC.

NOTE: Inserting the memory card in its slot triggers a cold start of the PLC.

33003101 07/2012

127

Project management

RAM backup memory card transfer


You must perform the following actions to transfer the project program to the backup
memory:
Step

Action

Set the WP switch on the backup memory card to OFF (unlock).

Insert the backup memory card into the PLC.

Activate the command PLC Project backup Save....


Result: A command confirmation screen is displayed.

Confirm with OK.

Remove the backup memory card from the PLC.

Set the WP switch on the backup memory card to ON (lock).

Clearing procedure
You must perform the following actions to clear the backup memory:
Step

128

Action

Set the WP switch on the backup memory card to OFF (unlock).

Insert the backup memory card into the PLC.

Activate the command PLC Project backup Clear....


Result: A command confirmation screen is displayed.

Confirm with OK.

33003101 07/2012

Project management

Save/Restore Data Between a File and the PLC


At a Glance
The data transfer function allows you to store the value of the following data
(see Unity Pro, Program Languages and Structure, Reference Manual ) in a file:
z boolean-type located data: %Mi
z word-type located data: %MWi
z unlocated variables
z function block instances
There are 2 types of data files:
z *.DAT:
z Saving PLC data to a *.DAT file is allowed for all previous data types. *.DAT
contains only data blocks.
z

Restoring all data blocks from a *.DAT file to the PLC is allowed if the project
has not been built since the Save was done.If a build was done, only BOOL
and WORD located data (%Mi and %MWi) are restored.

*.DTX (requires Unity Pro 6.0 of higher):


z Saving PLC data to a *.DTX file is allowed for all previous data types. In
addition, application references (at the time of the Save) are saved.
z

Restoring data from a *.DTX file is allowed even if the application has been
built and/or data has been modified since the Save was done. Compatibility
Rules for Restore Using a *.DTX File (see page 133) explains the restoration
process and the types of data that cannot be restored.

NOTE: It is recommended to convert any *.DAT files to *.DTX file by restoring


the.DAT file and then saving using the *.DTX format.

CAUTION
LOSS OF DATA
Before transferring unlocated variables and function block instances data to the
PLC, ensure that your application is in a compatible state with the saved data.
Failure to follow these instructions can result in injury or equipment damage.

33003101 07/2012

129

Project management

Procedure for Saving PLC Data


If the PLC is in RUN mode, the saving of data from the PLC to a file may need
several application cycles and the data, in the file, may be desynchronized, which
may affect application execution during restoration.

CAUTION
UNEXPECTED BEHAVIOUR OF APPLICATION
Before saving the data, verify the impact of the save on the application execution.
Failure to follow these instructions can result in injury or equipment damage.
You must perform the following actions to save the data from the PLC to a file:
Step

Action

To enable the menu item Save Data from PLC to File, the following must be
true:
z The PLC is loaded with an application.
z The PLC is in RUN or STOP mode.
z Unity Pro is running and is connected to the PLC.
z The Application built in Unity Pro is equal to those in the PLC.
z The Application in Unity Pro is in the built state.

Activate the PLC Save Data from PLC to File command.


Result: The Save Data from PLC to File dialog (CPU in STOP mode) opens.

For more information, refer to the corresponding screen (see page 131).

130

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.

Define the path and the name of the file to which the data is to be saved.

Confirm with OK.

33003101 07/2012

Project management

Data Transfer Dialog for Transfers to a File


The Save Data from PLC to File dialog (CPU in RUN mode) is shown below:

The following table shows the parameters of the Save Data from PLC to File
dialog.

33003101 07/2012

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 of located data. From:
and To: fields are used to define the range for located data.
Default values:
z %M and %MW checkboxes are checked
z %M and %MW range is set to the PLC values
z Unlocated variables instances and Function block
instances (DFB and EFB) are not checked

To file

This field is used to define the path and name of the file.

Browse

This button can be used to browse the disk to define the file name
and path.

131

Project management

Procedure for Restoring Data to PLC


If the PLC is in RUN mode, the restoring of data to the PLC from a file may need
several application cycles and the data may be desynchronized, which may affect
application execution.

CAUTION
UNEXPECTED BEHAVIOUR OF APPLICATION
Before restoring the data, verify the impact of the store on the application
execution.
Failure to follow these instructions can result in injury or equipment damage.
You must perform the following actions to restore the data from a file to the PLC:

132

Step

Action

To enable the menu item Restore Data from File to PLC, the following must be
true:
z The PLC is loaded with an application.
z The PLC is in RUN or STOP status.
z Unity Pro is running and is connected to the PLC.
z The Application built in Unity Pro may be different than those in the PLC.
z The Application in Unity Pro is built state.

Activate the PLC Restore Data from File to PLC command.


Result: The Restore Data from File to PLC dialog opens.

Select the file to be restored to the PLC.

Confirm with OK.

33003101 07/2012

Project management

Compatibility Rules for Restore Using a *.DTX File


At a Glance
The DTX file allows a restore even if there have been changes in the application
since the save was done.
When a restore is performed, if the build number of the application is greater than
the version of the DTX file, Unity Pro analyses the content of the file to verify the
compatibility with variables of the PLC application.
The following tables presents the rules followed for restoring variables when there
is a difference between the *.DTX file and the PLC application. This condition results
from building the application after the data was saved in the *.DTX file.

CAUTION
UNEXPECTED BEHAVIOUR OF APPLICATION
Before restoring the data, verify the impact of the store on the application
execution.
Failure to follow these instructions can result in injury or equipment damage.
Simple Variable Compatibilities
The following table presents the rules followed for restoring simple variables:
Case Data File Contents

PLC Application
Contents

Restore Behavior

Unity Pro Message

Var1

Deleted

Var1 is not restored

Var1: this variable no


longer exists.

New Var2

Var2 is kept in memory

Var3

Var3 was renamed


into Var3-3 (name
changed)

The restore CANNOT BE


PERFORMED due to technical
limitations.
Var3 is deleted and Var3-3 is a
new variable.

Var3: this variable no


longer exists.

Var4 is a simple
compatible type.

Var4 was changed to The Var4 is converted into the


a different simple
new type, which has the same
type. Source value is value as source.
compatible with
target type.

33003101 07/2012

Var4: type of the variable is


changed (from TYPE1 to
TYPE2). Types are
compatible.

133

Project management

Case Data File Contents

PLC Application
Contents

Restore Behavior

Unity Pro Message

Var5 is a simple
compatible type.

Var5 was changed to


a different simple
type. Source value is
not compatible with
target type.

The restore CANNOT BE


PERFORMED.
Var5 is converted into a different
type (the target) and its value is
either:
z longer than target type
z not compatible with target
type

Var5: type of the variable is


changed (from TYPE1 to
TYPE2) but value may not
be compatible.
+
Var5: value not compatible
for conversion between
TYPE1 and TYPE2.

Var6 is a simple
incompatible type.

Var6 was changed


into another type.

Restore of original value


CANNOT BE PERFORMED.
Var6 retains its application
value.

Var6: type of the variable is


changed (from TYPE1 to
TYPE2). But types are not
compatible.

Structured Variable Compatibilities


The following table presents the rules followed for restoring structured variables:
Case Data File Contents

PLC Application
Contents

Restore Behavior

Unity Pro Message

DDT Types
7

Var7 is a DDT type.

Var7 was changed to The restore CANNOT BE


a simple type.
PERFORMED because type is
not compatible.

Var7: type of the variable is


changed (from TYPE1 to
TYPE2). But types are not
compatible.

Var8 is a simple type. Var8 was changed to The restore CANNOT BE


a DDT type.
PERFORMED because type is
not compatible.

Var8: type of the variable is


changed (from TYPE1 to
TYPE2). But types are not
compatible.

Var9 is a DDT type.

Var9 is changed to
another DDT type.

The restore CANNOT BE


PERFORMED because type is
not compatible.

Var9: type of the variable is


changed (from TYPE1 to
TYPE2). But types are not
compatible.

10

Var10 is a DDT type. The DDT type has


changed.

Make the mapping of the field


(see the cases from 1 to 9 and
cases from 11 to 16 for array
type sub-fields).

Var10.SubField1: (see
cases 1 to 9 and 11 to 16).

134

33003101 07/2012

Project management

Case Data File Contents

PLC Application
Contents

Restore Behavior

Unity Pro Message

ARRAY Types
11

Var11 is an array.

Var11 is an array of
the same type, same
starting index but
longer.

Transfer the data file values. The rest of the longer application
array is kept.

12

Var12 is an array.

Var12 is an array of
the same type, same
starting index but
shorter.

Transfer the data file values until Var12: length of ARRAY


target array is full. The rest of the array (range # 2) is shorter.
source array is lost.
Last indexes will be lost.

13

Var13 is an array.

Var13 is an array of
The restore CANNOT BE
the same type, but
PERFORMED because starting
starting index is lower indexes must be identical.
or a different type.
Ending index is the
same

Var13: low bound of


ARRAY array (range #2)
has changed. Cannot
restore.

14

Var14 is an array.

Var14 is an array of
the same type, but
starting index is
higher or a different
type. Ending index is
the same

The restore CANNOT BE


PERFORMED because starting
indexes must be identical.

Var14: high bound of


ARRAY array (range #2)
has changed. Cannot
restore.

15

Var15 is an array.

Var15 is an array of
the same type, but
the lower and upper
indexes are shifted.
The length is the
same.

The restore CANNOT BE


PERFORMED because starting
indexes must be identical.

Var15: bounds of
ARRAY array (range #2)
have changed. Cannot
restore.

16

Var16 is an array.

The type of the array


has changed

See cases 1 to 10 and 7 to 10.

See cases 4 to 10 and 11 to


16.

Elementary Type Compatibilities


BOOL, BYTE, INT, UINT, DINT, UDINT, WORD and DWORD are compatible types
if no lost of value are detected.
Examples are:
z a DINT variable can be changed into an INT variable if only the 2 first bytes of the
DINT are used
z an INT variable can be changed into an INT variable if the value is compatible.
A BOOL to EBOOL change is OK because the types are compatible, but for an
EBOOL to BOOL change the types are not compatible: the historic and forcing state
are lost.
REAL, STRING, TOD, TIME, DATE and DT are not compatible types.
33003101 07/2012

135

Project management

The table below presents the compatibility between the elementary types:
BOOL EBOOL BYTE INT UINT WORD DINT UDINT DWORD REAL STRING TOD TIME DATE DT
BOOL

YES

EBOOL PDL
BYTE

PDL

YES YES YES YES

YES YES

YES

YES YES YES YES

YES YES

YES

NO

NO

NO

NO

NO

NO

YES YES YES

YES YES

YES

NO

NO

NO

NO

NO

NO

PDL

INT

PDL

PDL

PDL

UINT

PDL

PDL

PDL PDL

WORD

PDL

PDL

PDL PDL YES

DINT

PDL

PDL

PDL PDL PDL YES

UDINT

NO

NO

NO

NO

NO

NO

PDL YES

YES YES

YES

NO

NO

NO

NO

NO

NO

YES

YES YES

YES

NO

NO

NO

NO

NO

NO

YES YES

YES

NO

NO

NO

NO

NO

NO

PDL

YES

NO

NO

NO

NO

NO

NO

PDL

PDL

PDL PDL PDL PDL

PDL

DWORD PDL

PDL

PDL PDL PDL PDL

YES YES

YES

NO

NO

NO

NO

NO

NO

NO

NO

NO

NO

NO

NO

REAL

NO

NO

NO

NO NO

NO

NO

NO

NO

STRING NO

NO

NO

NO NO

NO

NO

NO

NO

NO

NO

NO

NO

NO

NO

NO

NO

NO

NO

NO

NO

NO

NO

NO

TOD

NO

NO

NO

NO NO

NO

NO

NO

NO

NO

NO

TIME

NO

NO

NO

NO NO

NO

NO

NO

NO

NO

NO

DATE

NO

NO

NO

NO NO

NO

NO

NO

NO

NO

NO

NO

NO

DT

NO

NO

NO

NO NO

NO

NO

NO

NO

NO

NO

NO

NO

NO

NO
NO

NOTE: PDL means Possible Data Loss.


Compatibility of Aliases
The table below presents the rules followed for restoring aliases:
Case

Data File Contents

PLC Application
Contents

Restore Behavior

Unity Pro Message

Map1 is unlocated.
%MW100 is used.

Map1 is located on
%MW100.

Value of the data file for Map1 is


set to %MW100.

Map1: restored at
%MW100

Map2 is located on
%MW100.

Map2 is no longer
Value of data file for Map2 is set
located on %MW100, at the new address of Map2
%MW100 is used.
(unlocated data area).
%MW100 of the application
keeps its current value.

Map2: restored into


unlocated data area.
%MW100: keeps current
value.

Map3 is located on
%MW100.
%MW200 is used

Map3 is located on
%MW200.
%MW100 is used.

Map2: restored from


%MW100 to %MW200.
%MW100: keeps current
value.

Map4 is located on
%MW100, but %MW
area not exported.

Map4 is no longer
Restore CANNOT BE
located on %MW100, PERFORMED because the
%MW100 is used.
source value is not in data file.

136

Restores the value of %MW100


at address %MW 200.
%MW100 of the application
keeps its value.

Map4: value at address


%MW100 is not available.

33003101 07/2012

Project management

Case

Data File Contents

PLC Application
Contents

Restore Behavior

Unity Pro Message

Map5 is not located


but in a unlocated
area not exported.

Map5 is located on
%MW100.

Restore CANNOT BE
PERFORMED because the
source value is not in data file.

Map5: value at address


%MW100 is not available.

Map6 is located at
Map6 is now located
%MW100 and
on %MW200 and
%MW200 is used, but %MW100 is used.
%MW area is not
exported.

Restore CANNOT BE
PERFORMED because the
source value is not in data file.

Map6: value at address


%MW100 is not available.

Map7 does not exist


or is an alias.

Map7 is located at
%MW100.

Restore CANNOT BE
Map7: mapped variable
PERFORMED to avoid the lost of that didnt exist at the file
the current variable.
generation or was an
alias. %MW100 value not
restored.

Topological
addresses, %CH,
%SW, etc.

MapVar: variable mapped


on an unauthorized
address (%CH0.2.0).

Restoration of FB Instances and Other Variables


The table below presents the rules followed for restoring certain special variables:
Type of Entity

Unity Pro Message

FB Instances: for all fields (input, output, I/O, private,


public) that is not a pointer, the fields are restored or not by
using the rules above. If any field cannot be restored, the
FB Instance is not restored
SFC variables cannot be restored.

Step1: SFC types (SFCSTEP_STATE) are not allowed


for restore
Step1: SFC types (SFCCHART_STATE) are not
allowed for restore

Hidden variables cannot be restored.

IODDT variables cannot be restored.

IOVar: IODDT types (T_ANA...) are unknown so not


allowed for restore.

Device DDTs cannot be restored.

DevDDT: Device DDT types (T_...) are not allowed for


restore.

33003101 07/2012

137

Project management

Transferring current values


At a Glance
The functions below apply to the following variables:
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
z

Update Init Value with Current Value


The Update Init value with Current Value function is used to replace the initial
values in the PLC of these variables with their current values if their Save attribute
is checked.
When the initial values are updated in the PLC, a "*" is displayed in the status bar to
indicate that the initial values in the PLC are different from the initial values displayed
in the variable editor.
Use PLC Update Init Values with Current Values to activate this function.
Update Local Init Values with PLC Init Values
When the Initial values have been modified by the function Update Init value with
Current Value or by using %S94 in the application, the Update Local Init Values
with PLC Init Values function updates the initial values on the PC in the variable
editor.
After using this function "*" is no longer displayed in the status bar.
Use PLC Update Local Init Values with PLC Init Values to activate this
function.

138

33003101 07/2012

Project management

Memory usage
At a Glance
The memory usage function is used to view:
z the physical distribution of the PLC memory (see Unity Pro, Program Languages
and Structure, Reference Manual )(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.
NOTE: The memory usage screen is not available in simulation mode. This screen
is only available in standard mode when you have built the application.
Procedure
You must perform the following actions to access the memory usage details of the
PLC:
Step

33003101 07/2012

Action

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.

If you want to reorganize the memory to optimize it, activate the Pack command.

139

Project management

Memory usage screen Modicon M340


The memory usage screen of a Modicon M340 is shown below.

NOTE: If the application has been built and if it is in NOT BUILT state due to a
program modification, the screen is accessible, but it corresponds to the application
built previously. Modifications will be taken into account at the next build.

140

33003101 07/2012

Project management

Memory usage screen Premium/Quantum


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

NOTE: If the application has been built and if it is in NOT BUILT state due to a
program modification, the screen is accessible, but it corresponds to the application
built previously. Modifications will be taken into account at the next build.

33003101 07/2012

141

Project management

Description of the parameters


The following information fields are available:
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 (only for Premium and
Quantum).
z Data Dictionary: Dictionary of symbolized variables with their
characteristic (address, type....)

Internal memory

This field shows the organization of the PLCs internal memory. It


also indicates the memory space available (Total), the largest
possible contiguous memory space (Greatest) and the level of
fragmentation.

Memory Card A

Only for Premium and Quantum, 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-organization
Memory re-organization is activated using the Pack command (see page 143).
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.
142

33003101 07/2012

Project management

Function Pack for Memory


At a Glance
With the Pack command it is possible to reorganize the memory so as to optimize it.
To avoid certain detected errors (Internal Memory full or Cartridge Memory full)
when you do a build after online modifications, the Pack command must be carried
out before the online modifications.
In the Internal Memory or on the Cartridge area of the memory usage screen
(see page 141) of a PLC, three fields have to be used to check if it is necessary to
use the Pack command:
z the percentage of Memory available,
z the percentage of Fragmentation,
z the size of Greatest continuous memory block available as regards the total
Memory available.
NOTE: The PACK command can be used in Quantum PLC that has a CPU with an
OS version 2.3 or later.
When to Use the Pack Command for Internal Memory
The following table shows when to use the Pack command regarding the field
values in the Internal memory area:
If the Percentage of
Memory available
is,

then test if the Percentage or test if the Percentage of


of Fragmentation
Greatest/Total of Memory available
is,
is:

>25%

>15%

<50%

20%

>10%

<80%

10%

>5%

<90%

When to Use the Pack Command for Cartridge Memory


The following table shows when to do the Pack command regarding the field values
in the Cartridge memory area:

33003101 07/2012

If the Percentage of
Memory available
is,

then test if the Percentage


of Fragmentation
is,

or test if the Percentage of


Greatest/Total of Memory available
is:

>25%

>10%

<70%

20%

>5%

<90%

10%

>3%

<95%

143

Project management

Elements that Require Large Amounts of Memory


Certain project elements and actions consume a large amount of memory:
configuration with a Cartridge memory:
z with a large section,
z with several actions in the same SFC section.

configuration with an internal memory:


z with a large DFB instances,

configuration with an internal memory in a Hot StandBy project:


z several DFB instances,
z adding or deleting DFB instances,
z modifying an SFC section.

Procedure
You must perform the following actions to use the Pack command:
Step

144

Action

Activate the PLC Memory Consumption: command, which displays the


corresponding screen.

In the Internal Memory or Cartridge area check the percentage values of:
z Memory available,
z Fragmentation,
z Greatest / total of Memory available.

Check if these values are in the above tables.

If Yes, click on the Pack button.

Above the Pack button, if the warning Memory optimization is not terminated,
please continue to pack appears, the Pack button must be clicked again.

The Pack function is finished when:


z the Pack button is grayed,
z the Fragmentation field is equal to 0,
z the Greatest value is near the Total Memory available value.

33003101 07/2012

Project management

Memory Card Access for Modicon M340


Overview
BMX RMS memory cards are used to save projects, Web pages, and data in
general.
They are mainly used when inserted into a PLC. They may also be read with an
SDcard drive or reader.
Memory Card in the PLC
When the memory card is in the Modicon M340, it may be accessed as follows:
z with the PLC, automatically,
z with the Unity Pro commands (see page 125) PLC Project backup ....,
z by programming with the Memory Card File Management EFBs (See Memory
Card File Management in the System library),
z with an FTP (see page 146) client (for processors with an Ethernet connection)
to manage files on the memory card.
Memory Card in an SDcard Drive or Reader
When the memory card is inserted into an SDcard drive or reader, it may be
accessed as a data storage medium (for example, a USB key or hard drive). The
files on the memory card may thus be viewed.
NOTE: In order to read the memory card in an SDcard drive or reader, the Reliance
driver must first be installed. This driver is available on Unity Loader CD-ROM.
Tree Structure of Files on the Memory Card
When the memory card is used in an SDcard drive or reader, or via FTP, its contents
are accessible with a file explorer. The tree structure shown includes three
directories:
z DataStorage, which includes all data files from Memory Card File Management
EFBs (See Memory Card File Management in the System library),
z Firmware, which includes all files used by Unity Loader,
z Web, which includes all Web pages (See Ethernet for Modicon M340).
It is also possible to create directories for personal files.
NOTE: The memory zone for project files is not accessible by users.

33003101 07/2012

145

Project management

FTP and Memory Card for Modicon M340


Overview
With an FTP client, it is possible to transfer files between the memory card in the
Modicon M340 PLC (with an embedded Ethernet port connection) and a destination
and/or source such as a hard drive or server.
Any FTP client installed on your computer may be used, however we recommend
using Filezilla or Microsoft Explorer.
You can transfer:
data files used by the Memory Card File Management EFBs,
z Web pages used by the HTTP server,
z personal files that are useful for your project.
z

NOTE: Downloading write-protected files to the memory card can prevent the Unity
loader from properly upgrading the module. Some FTP clients (for example, the
Windows Explorer client) can not remove write-protected files from the card. You
can delete write-protected files from the card with some FTP clients (for instance,
FileZilla) that are available for free download over the Internet.
Using FTP
The following table describes how to use FTP with Internet Explorer.
Step

Action

Open an Internet Explorer window.

Input the FTP address in the Address field.


Example: ftp://login:password@FTP_Server_IP_Address
With:
z Login: datastorage
z Password: datadownload

Result: An Explorer window appears with the contents of the memory card.
3

146

Copy and/or paste the files between the memory card and your desired location.

33003101 07/2012

Project management

Project Management with DTMs


At a Glance
The Unity Pro Project and Archive files can be saved and opened even if DTMs are
not installed in the DTM Hardware Catalog (see page 235).
Building a complete Unity Pro project requires that all DTMs in the project be
installed.
Opening STU and STA Files
Opening the *.stu Project file and *.sta Archive files restores the DTM topology tree
and device configurations.
If there are DTMs in the restored project that are not installed on the host PC, there
is no warning message. Services such as Rebuild all or Check devices
(see page 250) must be used to check for un-installed DTMs.
Saving STU and STA Files
The DTM topology tree and device configurations are saved in these files.
ZEF Files
The DTM topology tree and device configurations is saved and restored in the *.zef
import/export files.
XEF Files
The DTM topology tree and device configurations cannot be saved nor restored in
the *.xef import/export files.
Complete Build Management
Rebuild all project (see page 84) (DTM modifications or not) requires that all DTMs
in the project be installed on the PC because the Check devices service is part a
complete build.
If any DTMs are not found, a detected error is displayed in 2 places:
z The Build tab in the Output WIndow
z DTM topology tree

33003101 07/2012

147

Project management

Partial Build Management


The user can choose not to include the DTM configuration in a PCL binary:

A partial project build that does not take into account the DTM configurations does
not call the Check devices service, therefore, this build does not need to have all
the DTMs installed on the PC.
Upload Project
The Unity Pro Transfer Project from PLC (see page 87) (Upload project) function
uploads the current DTM topology tree and the device configurations stored in the
PLC (but not the information in the Profibus Remote Bus Master and the devices).
This function is not the same as the Load data from device DTM (see page 252)
service.
Some DTMs have a Compare function that allows comparing the configuration in the
device to the configuration in the PLC.
Download Project
To use the Unity Pro Transfer Project to PLC (Download project) function with
DTMs:
Step

148

Action

Construct a DTM topology tree.

Use the Store to device (see page 252) service on each DTM that has a physical
device on the network.

Call the Transfer Project to PLC function to download the Unity Pro project that
includes a DTM topology tree and device configurations.

33003101 07/2012

Unity Pro
Project browser
33003101 07/2012

Project browser

5
Subject of this chapter
This chapter introduces the Unity Pro browser that allows you to move around your
project, via the structure view or function view of its directory tree.
What Is in This Chapter?
This chapter contains the following sections:
Section

33003101 07/2012

Topic

Page

5.1

Introduction to the project browser

5.2

Introduction to the various directories of the project browser

170

5.3

Summaries of the utilities associated with the structure view


and function view

193

150

149

Project browser

5.1

Introduction to the project browser

About this sub-chapter


This sub-chapter provides general information on the project browser.
What Is in This Section?
This section contains the following topics:
Topic

150

Page

Introduction to the project browser

151

Structural view and functional view of the project

153

The Zoom In and Zoom Out commands

155

The commands Contract all and Expand all

158

The Goto command

161

Project properties

164

User Directory

165

Activate section and subroutine protection

167

33003101 07/2012

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
z

Structural View,
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
z
z
z
z
z
z
z
z

to the configuration,
to the DDT and DFB types,
to the variables (EDT, DDT, DFB and EFB instances),
to motion functions,
to communication functions,
to the program,
to the animation tables,
to the operator screens,
to the project documentation (title page, general information).

The following illustration shows the structural view of a project:

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.
33003101 07/2012

151

Project browser

Functional view
The functional view displays the directory tree of the project, broken down into
functional modules (see page 199). 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:

By default, the browser displays the first level of the directory tree. To access the
other levels, you need to expand the directories.
Navigating between the functional view and structural view.
In the toolbar of the project browser you will find the following icons that allow you to
display the various project views:
Allows you to display the structural view of the project.

Allows you to display the functional view of the project.

Allows you to display the structural view and the functional view in series
(see page 153).

Allows you to display the structural view and the functional view in parallel
(see page 154).

152

33003101 07/2012

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
z

in series. Both views are displayed, one next to the other,


in parallel. Both views are displayed, one above the other.

Display of both views in series


The following illustration shows a series display of the structural view and functional
view:

33003101 07/2012

153

Project browser

Display of both views in parallel


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

154

33003101 07/2012

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.
Displaying a specific level of the directory tree
The following table shows you how to use the Zoom in command in the structural
view:
Step

33003101 07/2012

Action

In the project browser select the directory you wish to display (for example
Program).
Result: The element selected appears in reverse video.

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):

155

Project browser

Step

Action

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.

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):

Returning to the structural view of the project


The following table shows you how to use the Zoom Out command in the structural
view:
Step

Action

In the project browser select the directory from the structural view.
Result: The element selected appears in reverse video.

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.

156

33003101 07/2012

Project browser

Returning to directory tree level


The following table shows you how to use Zoom Out command in a lower level of
the directory tree of the structural view:
Step

Action

In the project browser select the directory from the structural view (for example
Sections).
Result: The element selected appears in reverse video.

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:

Selecting None displays the entire structural view of the project.

33003101 07/2012

157

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.
How to expand a directory
The following table shows you how to use the Expand all command in the structural
view:
Step
1

158

Action
In the project browser select the directory you wish to expand (for example
Program).
Result: the element selected appears in reverse video:

33003101 07/2012

Project browser

Step
2

33003101 07/2012

Action
Activate the Expand all command from the Display menu or from the
contextual menu.
Result: the selected directory is expanded completely:

159

Project browser

How to contract a directory


The following table shows you how to use the Contract all command in the
structural view:
Step

160

Action

In the project browser select the directory you wish to contract (for example
Program).
Result: the element selected appears in reverse video:

Activate the Contract all command from the Display menu or from the
contextual menu.
Result: the selected directory is contracted:

33003101 07/2012

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 element
The following table shows you how to use the Goto command in the structural view
of the browser:
Step

33003101 07/2012

Action

Click the right mouse button on the background of the structural view.
Result: The contextual menu appears.

Select the Goto command from the menu.


Result: The Go to window appears.

161

Project browser

Step

Action

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).

In the Goto window confirm your choice with OK.

Elements with the same name


Where one or more elements have the same name (examples: sections). In the Go
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.

162

33003101 07/2012

Project browser

Fast access to an element


In order to access an element in the window more quickly in the Go to window, you
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

33003101 07/2012

Action

Click the right mouse button on the background of the structural view.

Select the Goto command from the menu.


Result: The Go to window appears.

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.

In the Go to window confirm your choice with OK.

163

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 rightclicking 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:

Description of the tabs


The dialog box has 4 tabs allowing the actions given below:
Tab

Description

General

Name: allows you to define the name of the project (Station by default).
Type: indicates the type of Unity Pro software used.
FFB Library version: indicates the Libset version used for your current
project.

Protection
(see page 167)

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 increment
z creation date
z generation date
z Last rebuild all
z Last partial build

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.
164

33003101 07/2012

Project browser

User Directory
At a Glance
In the Station directory and in all the directories of the project browser, you can
create hyperlinks (see page 1797) and user directories for grouping of hyperlinks.
NOTE: You cannot nest a user directory in a user directory and a hyperlink in a
hyperlink.
The following illustration shows a hyperlink and a user directory in the directory
Program :

33003101 07/2012

165

Project browser

Creating a User Directory


The following table shows you how to create a user directory in the structural view
of the browser:
Step

166

Action

In the project browser select the directory in which you wish to create a user
directory.
Result: The element selected appears in reverse video.

Select the Add User Directory.. command from the popup menu..
Result: the User Directory Properties window appears:

Give the user directory a name in the General tab.

In the Comment tab enter the comment associated with the user directory.

Click OK to confirm your choice.


Result: The user directory appears in the project browser.

You can now create hyperlinks (see page 1797) in the directory provided for
this purpose.

33003101 07/2012

Project browser

Activate section and subroutine protection


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 section protection is not active as long as the protection has not been
activated in the station.
NOTE:
The project protection is effective to the marked sections only. This does not prevent
from:
z Connecting to the PLC
z Uploading application from the CPU
z Changing the configuration
z Adding new sections
z Changing the logic in a new (not protected) section
Activation of protection and creation of the password
The following table shows the procedure for activating the protection of sections and
creating the password:
Step

33003101 07/2012

Action

In the project browser select the Station directory.

Select the Properties command from the popup menu.

Select the Protection tab.


Result: The following window appears:

167

Project browser

Step

Action

Activate the protection by checking the Active protection box.


Result: The Modify password window appears:

Enter a password in the Entry field.

Enter the confirmation of the password in the Confirmation field.

Check the Crypted check box if an enhanced password protection is required.


NOTE: A project with a crypted password can not be edited with a Unity Pro
version lower than 4.1.

Click OK to confirm your choice.

Notes
If a section (see page 431) 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 password
The following table shows the procedure for changing the project protection
password:
Step

168

Action

In the project browser select the Station directory.

Select the Properties command from the popup menu.

Select the Protection tab.

33003101 07/2012

Project browser

Step

Action

Select the Change Password... button.


Result: The Modify password window appears:

Enter the previous password in the Old password field.

Enter the new password in the Entry field.

Enter the confirmation of the new password in the Confirmation field.

Check the Crypted check box if an enhanced password protection is required.


NOTE: A project with a crypted password can not be edited with a Unity Pro
version lower than 4.1.

Click OK to confirm your choice.

Deleting the password


The following table shows the procedure for deleting the project protection
password:
Step

33003101 07/2012

Action

In the project browser select the Station directory.

Select the Properties command from the popup menu.

Select the Protection tab.

Select the Clear Password... button.


Result: The Access control window appears:

Enter the previous password in the Old password field.

Click OK to confirm your choice.

169

Project browser

5.2

Introduction to the various directories of the


project browser

About this sub-chapter


This sub-chapter describes the various directories of the project browser.
What Is in This Section?
This section contains the following topics:
Topic

170

Page

Station Directory

171

Configuration Directory

173

Derived data types (DDT) directory

175

Derived FB (DFB) types directory

176

Variables Directory

178

Motion Directory

180

Communication Directory

182

Program Directory

184

Animation Tables Directory

187

Operator Screens Directory

189

Documentation Directory

191

Conversion Report Directory

192

33003101 07/2012

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:

Associated services
The Station directory allows you to access the following services, which can be
reached via the contextual menu:

33003101 07/2012

Directory

Services

Station

Export Project: allows you to access export of the global project


(see page 1738).
Properties: allows you to access the properties of the global project.

Configuration

allows you to access the hardware configuration (see page 173) and
the parameter settings of the modules.

Derived Data Types

allows you to access the DDTs (see page 175).

Derived FB types

allows you to access the DFB (see page 176) types.

Variables & FB
instances

allows you to access the variables (see page 178) and function block
instances.

Motion

allows you to access the declaration (see page 180) and


configuration of the servodrives.

171

Project browser

172

Directory

Services

Communication

allows you to access the configuration of the networks


(see page 182).

Program

allows you to access the project program (see page 184).

Animation tables

allows you to access the animation tables (see page 187).

Operator Screens

allows you to access the operator screens (see page 189).

Documentation

allows you to access the documentation (see page 191).

33003101 07/2012

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:

Accessible Services
The Configuration directory allows you to access the following services, which can
be reached via the contextual menu:

33003101 07/2012

Directory

Services

Configuration

Import: used to import the configuration (see page 1714) of the project
inputs/outputs (offline mode only).
Import SIS: used to import the configuration (see page 1321) of a project
created using the SIS Automation tool.
Export: used to export the configuration (see page 1713) 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).

173

Project browser

Access
From the Configuration directory, you can:
z

Configure the PLC rack (see page 1232) with:


z a power supply (see page 1239),
z a processor (see page 1242),
z one or more modules (see page 1245).

Configure field bus devices (see page 1249),


Access the configuration of the rack elements:
z Premium (see page 1293) and Quantum (see page 1303) processors,
z modules (see page 1314).

174

33003101 07/2012

Project browser

Derived data types (DDT) directory


At a Glance
The Derived data types (see Unity Pro, Program Languages and Structure,
Reference Manual ) 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:

Associated services
The Derived Data Types directory allows you to access the following services,
which can be reached via the contextual menu:
Directory

Services

Derived Data Types

Open: allows you to access the DDT types tab of the data editor
(see page 301), from which you can:
z create (see page 309) a DDT,
z manage (see page 319) a DDT,
Get from Library: allows you read access to one or more DDT types
from a library (see page 269).
Put in Library: used to archive (see page 326) all the DDTs in a
library (see page 269).
Export: allows you to access export of all DDT types
(see page 1722).
Import: allows you to access import of one or more DDT types
(see page 1723).

DDT
(Input, Output, .etc.)

33003101 07/2012

Open: allows you to access the DDT in the DDT types tab of the data
editor.
Delete: allows you to delete the DDT.
Put in Library: allows you write access to the DDT in a library.
Analyze: allows you to analyze (see page 383) the DDT.
Properties: allows you to access the DDT properties.
Export: allows you to access export of all DDT types
(see page 1722).
175

Project browser

Derived FB (DFB) types directory


At a Glance
The Derived FB types (see Unity Pro, Program Languages and Structure,
Reference Manual ) 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:

Associated services
The Derived FB types directory allows you to access the following services, which
can be reached via the contextual menu:
Directory

Services

FB Type

Open: allows you to access the DFB tab of the data editor (see page 1187).
Get from Library: allows you read access to one or more DFB types from
a library (see page 269).
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 page 1719) of the
project.
Import: allows you to access import of one or more DFB types
(see page 1721).

DFB Type
Open: allows you to access the DFB type in the DFB tab of the Data Editor
(Counter, etc.) (see page 1187).
Delete: allows you to delete the DFB type.
Put in Library: allows you write access to the DFB type in a Library
(see page 269).
Analyze: allows you to analyze (see page 383) the DFB type.
Properties: allows you to access the properties (see page 1199) of the
DFB type.
Export: allows you to access export of the DFB type (see page 1719).

176

33003101 07/2012

Project browser

33003101 07/2012

Directory

Services

Sections

New Section: allows you to create a new section (see page 421) in the DFB
type.

Section XX

Open: allows you to access the section (see page 421) program language
editor.
Delete: allows you to delete the section.
Properties: allows you to access the properties (see page 425) of the
section.

177

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, (see Unity Pro, Program Languages and Structure,
Reference Manual )DDT, IODDT) (see Unity Pro, Program Languages and
Structure, Reference Manual )and the function block instances(EFB, DFB).
(see Unity Pro, Program Languages and Structure, Reference Manual )
The following illustration shows an example of the Variables & FB instances
directory:

Accessible Services
The Variables & FB instances directory allows you access to the following
services, which can be reached via the contextual menu:

178

Directory

Services

Variables & FB instances

Open: used to access the variables editor,


Export: used to access the export of all variables
(see page 1724) of the project,
Import: used to access the import of all variables
(see page 1727) of the project.

Elementary variables
Derived variables
Decice DDT variables
I/O derived variables
Elementary FB instances
Derived FB instances

Open: used to access the tab corresponding to the variables


editor,
Export: used to access the export of all variables
(see page 1724) of the family selected (EDT, DFB, etc.) .

33003101 07/2012

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 page 340) a data instance,
z Create (see page 349) an IODDT type data instance,
z Create (see page 352) a Device DDT type data instance,
z Modify (see page 365) attributes of data instances.

33003101 07/2012

DDT Types tab,


z Create (see page 309) a data instance,
z Archive (see page 326) DDTs in a library (see page 269),

Function blocks tab,


z Create (see page 330) a data instance,
z Modify (see page 336) attributes of data instances.

DFB Types tab,


z Create (see page 1187) a DFB type,
z Configure settings (see page 1188) of a DFB type.

179

Project browser

Motion Directory
At a Glance
The Motion directory of the structural view of the project allows you to access the
declaration and configuration of the servodrives.
When declaring a servodrive, various information is required, such as:
z
z
z
z
z
z

the name given to the servodrive


the type of servodrive
the CANopen address of the servodrive
the reference of the servodrive
the version of the servodrive
the input of variable names associated to the axis.

The following diagram shows an example of a tree structure for the Motion
directory:

In this diagram, the name given to the servodrive is Axis_Z.


A recipe is linked, by default, each time an axis is created. It is possible to create
several recipes (see MFB using Unity Pro, Start-up Guide).

180

33003101 07/2012

Project browser

Accessible Services
The Motion directory gives you access to the following services, which can be
reached via the contextual menu:

33003101 07/2012

Directory

Service

Motion

New axis: allows you to create a new axis.

Axis

New recipe: allows you to create a new recipe.


Delete: allows you to delete an axis.
Properties: allows you to access the axis properties.

Recipe

Delete: allows you to delete a recipe.


Properties: allows you to access the recipe properties.

181

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:

Associated services
The Communication directory allows you to access the following services, which
can be reached via the contextual menu:

182

Directory

Services

Communication

Export: allows you to access export of all networks


(see page 1728).
Import: allows you to access import of one or more networks
(see page 1729).

Network

New Network: allows you to add a network (see page 393) to


your project.

33003101 07/2012

Project browser

33003101 07/2012

Directory

Services

Network
(Network_1, Modbus
Plus_A, etc.)

Open: allows you to access the corresponding network editor:


Ethernet, Modbus Plus, Fipway.
Export: allows you to access export of one network
(see page 1728).
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 page 401) of


a bridge between 2 networks (routing tables).

183

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 (see Unity Pro, Program Languages and Structure,
Reference Manual )and to access the language editors of the program (see Unity
Pro, Program Languages and Structure, Reference Manual )elements: sections,
program modules and event processing.
The following illustration shows an example of a directory tree of the Program
directory:

184

33003101 07/2012

Project browser

Services associated with the sequential tasks directories.


The sequential tasks (see Unity Pro, Program Languages and Structure, Reference
Manual )directories (Tasks, MAST, FAST, etc.) allow you to access the following
services, which can be reached via the contextual menu:
Directory

Services

Tasks

New Task: allows you to create a new sequential task (see page 418) (FAST,
AUX.). The MAST task is created by default.
Import: allows you to access import of sections (see page 1717) and/or
program modules of a sequential task.

MAST,
FAST, etc.

Delete: allows you to delete the task. The MAST task cannot be deleted.
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 page 1715).
Properties: allows you to access the properties of the sequential task.

Services associated with the sections directories


The sections (see Unity Pro, Program Languages and Structure, Reference Manual
)directories allow you to access the following services, which can be reached via the
contextual menu:
Directory

Services

Sections

New Section: allows you to create a new "empty" section


(see page 421).
Import: allows you to access import of sections (see page 1717).
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 page 421) 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 page 1715).
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


Macro-step, action,
or transition

Open: allows you to access the section language editor.

NOTE: Only the MAST task can contain one or more sections in SFC language.
33003101 07/2012

185

Project browser

Services associated with the program modules directories


The program modules directories (SR Sections) (see Unity Pro, Program
Languages and Structure, Reference Manual )allow you to access the following
services, which can be reached via the contextual menu:
Directory

Services

SR Sections

New SR Section: allows you to create a new "empty" program


module (see page 444).
Import: allows you to access import of program module
(see page 1717).

For each program


module

Open: allows you to access the program module language editor.


Delete: allows you to delete the program module.
Export: allows you to access export program module
(see page 1715).
Properties: allows you to access the properties of the program
module.

Services associated with the event processing directories


The event processing (see Unity Pro, Program Languages and Structure,
Reference Manual )directories allow you to access the following services, which can
be reached via the contextual menu:

186

Directory

Services

Timer Events,
I/O Events

New Event Section: allows you to create a new "empty" event


processing (see page 449).
Import: allows you to access import of event processing
(see page 1717).

For each event


processing

Open: allows you to access the event processing language editor.


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 page 1715).
Properties: allows you to access the event processing properties.

33003101 07/2012

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:

Associated services
The Animation Tables directory allows you to access the following services, which
can be reached via the contextual menu:

33003101 07/2012

Directory

Services

Animation tables

New Animation Table: allows you to create a new animation table


(see page 1426).
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 page 1733).
Import: allows you to access import of one or more animation tables
(see page 1734).
Make All Tables Permanent: allows you to change all temporary
animation tables to permanent animation tables (see also Permanent
and Temporary Animation Tables, page 1424).
Purge Temporary Tables: allows you to delete all temporary
animation tables (see also Permanent and Temporary Animation
Tables, page 1424).
Open Forced Bits Table: allows you to create the animation table
that includes all forced bits of a project (see also Animation Table of
Forced Bits, page 1450).

187

Project browser

Directory

Services

For each animation


table

Open: allows you to access the animation 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 page 1733).
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
z
z
z

188

add (see page 1433) data,


switch to modification (see page 1438) mode,
switch to forcing (see page 1442) mode,
modify or force (see page 1448) several variables.

33003101 07/2012

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:

Associated services
The Operator Screens directory allows you to access the following services, which
can be reached via the contextual menu:

33003101 07/2012

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.
Clean unuse image: allows you delete all the created images that
are not used.
Import: allows you to access import of one or several screens
(see page 1732) and/or family of screens.
Export: allows you to access export of all screens (see page 1730).
Messages list: allows you to access the message list for the
operator screens.
189

Project browser

Directory

Services

For each family of


screens

New screen: allows you to create a new operator screen.


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 page 1730).
Family Properties: allows you to access the properties of the family
of screens.

For each operator


screen

Open: allows you to access the operator screens editor.


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 page 1730).
Screen properties: allows you to access the properties of the
operator screen.

Access
The Operator Screens directory is used to create screens. From these screens,
you can:
z
z
z
z
z

190

create (see page 1588) objects,


insert objects from a library (see page 1663),
modify the attributes (see page 1600) of the objects,
manipulate (see page 1629) the objects that make up the screen,
use the screens in online mode (see page 1651).

33003101 07/2012

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:

Associated services
The Documentation directory allows you to access the following services, which
can be reached via the contextual menu:
Directory

Services

Documentation

Open: allows you to access the documentation (see page 1675) 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 page 1852).

33003101 07/2012

191

Project browser

Conversion Report Directory


At a Glance
The Conversion Report directory is displayed in the structural view of the project
when opening a PL7 (see Unity Pro, PL7 Application Converter, User Manual)
project with a .FEF extension or a Concept (see Unity Pro, Concept Application
Converter, User Manual) project with an .ASC extension. This directory enables you
to access a conversion report for a project.
The following illustration shows an example of a directory tree of the Conversion
Report directory:

Services
The Conversion Report directory provides you with:
z
z
z

192

general information (application name, source file, PLC type, etc.),


warnings,
errors.

33003101 07/2012

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 page 171) allows you to access the following services.
Directory

Station

Services

Export Project
Properties

Mode
Off-line

On-line
Stop

On-line
Run

Yes
Yes

No
Yes

No
Yes

Configuration Directory
The Configuration directory (see page 173) allows you to access the following
services.
Directory

33003101 07/2012

Services

Mode
Off-line

On-line
Stop

On-line
Run

Configuration

Export
Import
Import SIS

Yes
Yes
Yes

No
No
No

No
No
No

Bus

Open
Go to Bus Master

Yes
Yes

Yes
Yes

Yes
Yes

Rack

Open

Yes

Yes

Yes

Module

Open

Yes

Yes

Yes

193

Project browser

Derived FB Types Directory


The Derived FB Types directory (see page 176) allows you to access the following
services.
Directory

Services

Mode
Off-line

On-line
Stop

On-line
Run

FB Type

Open
Export
Import
Put in Library
Get from Library

Yes
Yes
Yes
Yes
Yes

Yes
No
No
No
No

Yes
No
No
No
No

For each type of


DFB

Open
Export
Put in Library
Delete
Analyze
Properties

Yes
Yes
Yes
Yes (1)
Yes
Yes

Yes
No
No
Yes (1)
Yes
Yes

Yes
No
No
Yes (1)
Yes
Yes

Section

Open
Delete
Properties

Yes
Yes
Yes

Yes
No
Yes

Yes
No
Yes

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


Derived Data Types Directory
The Derived Data Types directory (see page 175) allows you to access the
following services.
Directory

Services

Mode
Off-line

On-line
Stop

On-line
Run

Derived Data
Types

Open
Export
Import
Put in Library
Get from Library

Yes
Yes
Yes
Yes
Yes

Yes
No
No
No
No

Yes
No
No
No
No

For each DDT

Open
Export
Put in Library
Delete
Analyze
Properties

Yes
Yes
Yes
Yes (1)
Yes
Yes

Yes
Yes
No
Yes (1)
Yes
Yes

Yes
No
No
Yes (1)
Yes
Yes

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

194

33003101 07/2012

Project browser

Variables & FB instances Directory


The Variables & FB instances directory (see page 178) allows you to access the
following services.
Directory

Services

Mode
Off-line

On-line
Stop

On-line
Run

Variables

Open
Export
Import

Yes
Yes
Yes

Yes
No
No

Yes
No
No

EDT, DDT, EFB,


DFB

Open
Export

Yes
Yes

Yes
No

Yes
No

Motion Directory
The Motion directory (see page 178) allows you to access the following services.
Directory

Services

Mode
Off-line

On-line
Stop

On-line
Run

Motion

New axis

Yes

No

No

Axis

New recipe
Delete
Properties

Yes
Yes
Yes

No
No
Yes

No
No
Yes

Recipe

Delete
Properties

Yes
Yes

No
Yes

No
Yes

Communication Directory
The Communication directory (see page 182) allows you to access the following
services.
Directory

33003101 07/2012

Services

Mode
Off-line

On-line
Stop

On-line
Run

Communication

Export
Import

Yes
Yes

No
No

No
No

Network

New Network

Yes

No

No

For each network Open


Export
Delete
Properties

Yes
Yes
Yes
Yes

Yes
Yes
Yes
Yes

Yes
Yes
Yes
Yes

Routing Table

Yes

Yes

Yes

Open

195

Project browser

Program Directory
The Program directory (see page 184) allows you to access the following services.
Directory

Services

Mode
Off-line

On-line
Stop

On-line
Run

Tasks

New Task
Import

Yes
Yes

No
No

No
No

MAST
FAST

Clear
Delete
Export
Properties

Yes
Yes (1)
Yes
Yes

Yes
No
No
Yes

No
No
No
Yes

Sections

New Section
Yes
Create section activation conditions Yes
table
Yes
Import

Yes
Yes
No

Yes
Yes
No

For each section Open


Delete
Detach
Export
Force to 0
Force to 1
Unforce
Properties

Yes
Yes
Yes
Yes
No
No
No
Yes

Yes
Yes
Yes
No
Yes
Yes
Yes
Yes

Yes
Yes
Yes
No
Yes
Yes
Yes
Yes

SR Sections

Yes
Yes

Yes
No

Yes
No

For each
Open
program module Delete
Export
Properties

Yes
Yes (2)
Yes
Yes

Yes
Yes (2)
No
Yes

Yes
Yes (2)
No
Yes

Timer Events,
I/O Events

New Event Section


Import

Yes
Yes

Yes
No

Yes
No

For each event


processing

Open
Delete
Detach
Export
Properties

Yes
Yes (2)
Yes
Yes
Yes

Yes
No
Yes
No
Yes

Yes
No
Yes
No
Yes

New SR Section
Import

(1) Except for MAST task.


(2) Only if the program module or the event processing is not called.

196

33003101 07/2012

Project browser

Animation tables Directory


The Animation tables directory (see page 187) allows you to access the following
services.
Directory

Services

Mode
Off-line

On-line
Stop

On-line
Run

Animation tables

New Animation Table


Paste
Detach All
Delete All
Import
Export
Make All Tables Permanent
Purge Temporary Tables
Open Forced Bits Table

Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
No

Yes
Yes
Yes
Yes
No
No
Yes
Yes
Yes

Yes
Yes
Yes
Yes
No
No
Yes
Yes
Yes

For each
animation table

Open
Copy
Paste
Export
Delete
Detach
Properties

Yes
Yes
Yes
Yes
Yes
Yes
Yes

Yes
Yes
Yes
No
Yes
Yes
Yes

Yes
Yes
Yes
No
Yes
Yes
Yes

Operator Screens Directory


The Operator Screens directory (see page 189) allows you to access the following
services.
Directory

Operator
Screens

Services

New screen
New family
Detach All
Delete All
Export
Import
Messages list

For each family of New screen


screens
Copy
Paste
Delete
Detach
Export
Family Properties
33003101 07/2012

Mode
Off-line

On-line
Stop

On-line
Run

Yes
Yes
Yes
Yes
Yes
Yes
Yes

Yes
Yes
Yes
Yes
No
No
Yes

Yes
Yes
Yes
Yes
No
No
Yes

Yes
Yes
Yes
Yes
Yes
Yes
Yes

Yes
Yes
Yes
Yes
Yes
No
Yes

Yes
Yes
Yes
Yes
Yes
No
Yes
197

Project browser

Directory

For each screen

Services

Open
Copy
Paste
Delete
Detach
Export
Screen properties

Mode
Off-line

On-line
Stop

On-line
Run

Yes
Yes
Yes
Yes
Yes
Yes
Yes

Yes
Yes
Yes
Yes
Yes
No
Yes

Yes
Yes
Yes
Yes
Yes
No
Yes

Documentation Directory
The Documentation directory (see page 191) allows you to access the following
services.
Directory

Documentation

198

Services

Open

Mode
Off-line

On-line
Stop

On-line
Run

Yes

Yes

Yes

Title Page

Print Setup

Yes

Yes

Yes

General
Information

Open

Yes

Yes

Yes

33003101 07/2012

Unity Pro
Functional modules
33003101 07/2012

Functional modules

6
Aim of this Chapter
This chapter introduces the functional modules incorporated in a Unity Pro project.
What Is in This Chapter?
This chapter contains the following sections:
Section

33003101 07/2012

Topic

Page

6.1

Introduction to the functional view

200

6.2

The functional modules and their associated utilities

212

199

Functional modules

6.1

Introduction to the functional view

About this sub-chapter


This sub-chapter provides general information on the functional modules and their
associated utilities.
What Is in This Section?
This section contains the following topics:
Topic

200

Page

Functional modules

201

Station directory of the functional view

203

Functional Module Directory

204

Functional Module Program Directory

206

Functional Module Animation Tables Directory

207

Functional Module Operator Screens Directory

208

Summary of the services associated with the functional view

209

33003101 07/2012

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
z
z
z
z

program or event processing sections,


animation tables associated with the functional module,
runtime screens associated with the functional module,
a comment (max. 256 characters),
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
z
z
z
z

33003101 07/2012

the configuration,
the global variables of a project,
the DFB and DDT types, which are global to a project,
the SRi program modules, which are global to a task,
the documentation.

201

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:

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.

202

33003101 07/2012

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:

Associated services
The Functional Station directory allows you to access the following services, which
can be reached via the contextual menu:

33003101 07/2012

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 page 1738).
Import: allows you to access import of a functional module
(see page 1737).
Properties: allows you to access the properties of the global
project.

For each functional


module

allows you to access all the elements of the functional module:


program, animation tables, operator screens, nested functional
modules.

203

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:

204

33003101 07/2012

Functional modules

Associated services
The functional module directory allows you to access the following services, which
can be reached via the contextual menu:

33003101 07/2012

Directory

Services

Functional module:
Factory1

New Functional Module: allows you to create a new nested


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 page 1735).
Import: allows you to access import of a functional module
(see page 1737).
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 page 206).

Table

allows you to access the animation tables of the functional module


(see page 207).

Screen

allows you to access the operator screens of the functional module


(see page 208).

205

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, (see Unity Pro, Program Languages and
Structure, Reference Manual )program modules and event processing. (see Unity
Pro, Program Languages and Structure, Reference Manual )
Associated services
The Program directory of a functional module allows you to access the following
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 page 1717)).
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, page 184 for a description of the associated
event processing
services.

206

33003101 07/2012

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 services
The Table directory of a functional module allows you to access the following
services, which can be reached via the contextual menu:

33003101 07/2012

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 page 1734) in the functional module.

For each animation


table

Open: allows you to access the animation 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 page 1733).
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.

207

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 services
The Screen directory of a functional module allows you to access the following
services, which can be reached via the contextual menu:

208

Directory

Services

Screen

Import: allows you to access import of one or more screens


(see page 1732) 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


screens

See Operator Screens Directory, page 189 for a description of the


screen families services.

For each operator


screen

See Operator Screens Directory, page 189 for a description of the


services available from the screen.

33003101 07/2012

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 Station Directory
The Functional Station directory (see page 203) allows you to access the following
services.
Directory

Functional
Station

Services

New Functional Module


Detach All
Export
Import
Properties

Mode
Off-line

On-line
Stop

On-line
Run

Yes
Yes
Yes
Yes
Yes

Yes
Yes
No
No
Yes

Yes
Yes
No
No
Yes

Functional Module Directory


The Functional Module directory (see page 204) allows you to access the following
services.
Directory

For each
functional
module

33003101 07/2012

Services

New Functional Module


Detach All
Create
Delete
Export
Import
Protection of Included Sections
Create section activation conditions
table
Properties

Mode
Off-line

On-line
Stop

On-line
Run

Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes

Yes
Yes
Yes
Yes
No
No
Yes
Yes
Yes

Yes
Yes
Yes
Yes
No
No
Yes
Yes
Yes

209

Functional modules

Functional Module Program Directory


The Program directory (see page 206) of a functional module allows you to access
the following services.
Directory

Program

Services

Create
Import
Detach All
Protection of Included Sections
Create section activation conditions
table

For each section, Open


SR sections,
Detach
event processing Delete
Export
Force to 0
Force to 1
Unforce
Properties

Mode
Off-line

On-line
Stop

On-line
Run

Yes
Yes
Yes
Yes
Yes

Yes
No
Yes
Yes
Yes

Yes
No
Yes
Yes
Yes

Yes
Yes
Yes
Yes
No
No
No
Yes

Yes
Yes
Yes
No
Yes
Yes
Yes
Yes

Yes
Yes
Yes
No
Yes
Yes
Yes
Yes

Functional Module Animation Tables Directory


The Table directory (see page 207) of a functional module allows you to access the
following services.
Directory

210

Services

Mode
Off-line

On-line
Stop

On-line
Run

Table

New Animation Table


Import
Detach All

Yes
Yes
Yes

Yes
No
Yes

Yes
No
Yes

For each
animation table

Open
Export
Delete
Copy
Paste
Properties
Detach

Yes
Yes
Yes
Yes
Yes
Yes
Yes

Yes
No
Yes
Yes
Yes
Yes
Yes

Yes
No
Yes
Yes
Yes
Yes
Yes

33003101 07/2012

Functional modules

Functional Module Operator Screens Directory


The Screen directory (see page 208) of a functional module allows you to access
the following services.
Directory

Mode
Off-line

On-line
Stop

On-line
Run

Yes
Yes
Yes
Yes

Yes
No
No
Yes

Yes
No
No
Yes

For each family of New screen


screens
Copy
Paste
Delete
Export
Detach
Family Properties

Yes
Yes
Yes
Yes
Yes
Yes
Yes

Yes
Yes
Yes
Yes
No
Yes
Yes

Yes
Yes
Yes
Yes
No
Yes
Yes

For each
operator screen

Yes
Yes
Yes
Yes
Yes
Yes
Yes

Yes
Yes
Yes
No
Yes
Yes
Yes

Yes
Yes
Yes
No
Yes
Yes
Yes

Screen

33003101 07/2012

Services

New family
New screen
Import
Detach All

Open
Copy
Paste
Export
Detach
Delete
Screen properties

211

Functional modules

6.2

The functional modules and their associated


utilities

About this sub-chapter


This sub-chapter is a guide on how to use the utilities associated with the functional
modules.
What Is in This Section?
This section contains the following topics:
Topic

212

Page

Properties of a functional module

213

Creating a functional module

214

Programming a functional module

215

Protecting program elements of the functional module

217

Debugging a functional module

218

Detaching/Deleting a functional module

219

Functional module export

223

Functional module import

224

Creating, Deleting, Locating, Dragging-and-Dropping an Animation Table in a


Functional Module

225

Creating, Deleting, Locating and Dragging-and-Dropping an Operator Screen


in a Functional Module

228

33003101 07/2012

Functional modules

Properties of a functional module


Properties to define
List of different properties to define:
z
z

the name comprising 32 characters. This name must be unique for modules
positioned on the same level.
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),
the protection of the program elements (sections, program modules and event
processings) of the functional module (no protection, write-protection, read/writeprotection),
the comment comprising 256 characters.

Displaying or editing properties


Carry out the following steps:
Step

Action

In the functional view, right-click the functional module, in the Functional


Station directory.

Click Properties.

Perform the editing.

Confirm with OK.

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

33003101 07/2012

213

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 functional module
Carry out the following actions:
Step

Action

In the functional view, right-click the Functional Station directory.

Select New Functional Module.

Enter the name and comment and confirm with OK.

Creating a lower level functional module


Carry out the following actions:
Step

Action

In the functional view, right-click the module "above", in the Functional Station
directory.

Select New Functional Module.

Enter the name and comment and confirm with OK.

Moving a functional module


A functional module can be moved off-line, with the PLC at Stop or in Run (this has
no effect on the execution of the project). The movement corresponds only to a
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:

214

Step

Action

Left-click on the module to be moved (holding down the mouse button),

Move the module to the desired position.

33003101 07/2012

Functional modules

Programming a functional module


Introduction to programming a functional module
A functional module has a program directory that may contain:
z LD, ST, IL sections (see Unity Pro, Program Languages and Structure,
Reference Manual )
z event processing (see Unity Pro, Program Languages and Structure, Reference
Manual )
z SFC sections (see Unity Pro, Program Languages and Structure, Reference
Manual )
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 using the functional view
z Case 3: importing a section using the functional view
Case 1: the section, event processing or chart already exists in the structural view
The section has already been created in the structural view:
Step

Action

Select the section.

Move the section to the functional module.

Case 2: creating the section or event processing using the functional view
The following table shows how to create a section:

33003101 07/2012

Step

Action

In the Functional view, right-click the Program directory in the Functional


Station directory.

Select the Create command from the contextual menu.

Select either New Section or New Event.

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.

215

Functional modules

Case 3: importing a section using the functional view


The following table shows how to import a section:
Step

Action

In the Functional view, right-click the Program directory in the Functional


Station directory.

Select the Import command from the contextual menu.

In the Import dialog select the file to be imported.

Click on the Import button to finish the import.

When using the functional view to import a section that does not have its task in the
importing application, the section is attached to the MAST task.

WARNING
UNEXPECTED APPLICATION BEHAVIOR
Verify that an imported section operates correctly while attached to the MAST task
if it was originally running in a non-MAST task.
Failure to follow these instructions can result in death, serious injury, or
equipment damage.
Rules
Take into account the following notes:

216

An SFC section can only be created off-line and then only in the Mast task.

A macro-step or an event can only be created off-line.

The other actions are authorized in off-line mode, with the PLC at Stop or in Run.

The protection of a module applies to all the sections attached to the functional
module and to the lower level modules.

33003101 07/2012

Functional modules

Protecting program elements of the functional module


At a Glance
In a functional module you are able to define the protection (see page 167) 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
directory

z with the mouse right-click on 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 are protected.

33003101 07/2012

217

Functional modules

Debugging a functional module


At a Glance
The organization of a functional module, and the distribution of the sections, event
processing 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,

the animation table initialization function.

Initializing an animation table


This action 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 processing).
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


directory

z with the mouse right-click on the Program directory in a

functional module of the functional view.


z select Create section activation conditions table.

NOTE: All the activation conditions that are displayed in the animation table are
theconditions used during the last build (partial or total).

218

33003101 07/2012

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 Functional Modules
To detach functional modules carry out the following actions:
Step

Action

Select the Functional Station directory.

Select Detach All from the contextual menu.

Confirm with Yes.

Detaching a functional module


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

Action

Select the functional module from the Functional Station directory.

Select Detach All from the contextual menu.

Confirm with Yes.

Detaching all the elements in a directory from a functional module


To detach all the elements in a directory (Program, Table, Screen) from a functional
module, you must do the following:
Step

33003101 07/2012

Action

Select the Program or Table or Screen directory from the functional module.

Select the Detach All command from the contextual menu.


Result: All the elements in the chosen directory are detached from the
functional module.

219

Functional modules

Detaching one element in a directory from a functional module


To detach one element in a directory (Program, Table, Screen) from a functional
module, you must do the following:
Step

Action

Select the element to be detached in the Program or Table or Screen directory.

SelectDetach from the contextual menu.


Result: The element in the chosen directory is detached from the functional
module.

Introduction to deleting a functional module


Deletion can be carried out in a number of ways:
z deleting one or more functional modules without deleting the program elements,
animation tables and screens,
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 more functional modules without deleting the program elements, animation tables
and screens
To delete a functional module without deleting the program elements and animation
tables, you must proceed as follows:
Step

220

Action

From the functional module, detach the module with the Detach all command in
the contextual menu.
Result: All the elements of the module and the lower level modules are
detached.

Delete the module(s) by right-clicking (contextual menu) and selecting the


Delete command.
Note: You must be in off-line mode.

33003101 07/2012

Functional modules

Deleting one functional module with deletion of the modules, animation tables and screens

CAUTION
UNEXPECTED APPLICATION BEHAVIOR - MODULE DELETION
Before deleting a module, ensure that the deletion of the subsequent elements:
z the sub-modules contained in the module,
z the sections contained in the module,
z the associated animation tables,
z the associated screens,
has no adverse consequence on the application behavior.
Failure to follow these instructions can result in injury or equipment damage.
Carry out the following actions:
Step

Action

Select the module.

Select Delete.

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.

33003101 07/2012

221

Functional modules

Deleting a section or an event in a functional module

CAUTION
UNEXPECTED APPLICATION BEHAVIOR - SECTION DELETION
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 these instructions can result in injury or equipment damage.
Carry out the following actions:
Step

Action

Select the desired section or event.

Select Delete.

Confirm with Yes.

Rules
Take into account the following rules:

222

In order not to delete the contents of a module, you must detach its elements
before deleting.

An SFC section or an event can only be deleted in off-line mode.

33003101 07/2012

Functional modules

Functional module export


Exporting a functional module
You can export (see page 1735) a functional module.

33003101 07/2012

223

Functional modules

Functional module import


Importing a functional module
You can import (see page 1737) a functional module.

224

33003101 07/2012

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 Animation Table
Procedure:
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
the functional view

z with the mouse right-click the Table directory of the module,


z select New Animation Table.

Accessing the Properties of an Animation Table


Carry out the following actions:
Step

Action

Select the table.

Select Properties from the contextual menu.

You can edit the name or the comment of a table and its assignment to a module.

Copying an Animation Table.


Procedure:
If the table

Then...

must be copied from the z with the mouse right-click the source table in the Functional
Station directory of the functional view,
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.

33003101 07/2012

225

Functional modules

Opening an Animation Table


Carry out the following actions:
Step

Action

Select the table.

Select Open from the contextual menu.

Deleting an Animation Table


Carry out the following actions:
Step

Action

Select the table.

Select Delete from the contextual menu.

Moving an Animation Table


Procedure:
If using

Then...

the drag-and-drop
function

z left-click on the table to be moved (holding down the mouse

button),
z drop the table at the desired position.

Note: The insertion point of the table is represented by a line.


Properties from the
contextual menu

z select the table,


z select Properties from the contextual menu,
z select the name of the module in the Functional Module zone.

Detach all Animation Tables


Procedure:
If using the contextual menu

Then...

Detach all

z select the Table directory of the functional module,


z select Detach All from the contextual menu,
z confirm with Yes.

226

33003101 07/2012

Functional modules

Detaching an Animation Table


Procedure:
If using the contextual menu

Then...

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.

33003101 07/2012

227

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 Operator Screen
Procedure:
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 in any language editor window, select Open Operator Screen.
in the function block contextual menu.
z drop the operator screen in a functional module at the Screen
directory level.
NOTE: With the Open Operator Screen menu if multiple operator
screens exist with the same name, the editor opens the first one
found.
must be created from
the functional view

z with the mouse right-click the Screen directory of the functional

module,
z select New screen.

Accessing the Operator Screen Properties


Procedure:
If selected at the level
of the

Then...

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

228

z select a screen in the Screen directory of the structural view,


z Select Screen Properties from the contextual menu.

33003101 07/2012

Functional modules

Creating a Family of Operator Screens


Procedure:
If the family

Then...

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
the functional view

z with the mouse right-click the Screen directory of the functional

module,
z select New family.

Opening an Operator Screen


Carry out the following actions:
Step

Action

Select the operator screen in the Functional Station directory of the functional
view or the Operator Screens directory of the structural view.

Select Open from the contextual menu.

Deleting an Operator Screen


Procedure:
If the screen

Then...

does not belong to a


family of screens

z with the mouse right click the operator screen in the Operator

Screen directory,
z select Delete.

belongs to a family of
screens

z from the Screen directory, right-click the operator screen

belonging to the family,


z select Delete.

33003101 07/2012

229

Functional modules

Moving an Operator Screen


Procedure:
If using

Then...

the drag-and-drop
function

z left-click on the operator screen to be moved (holding down the

mouse button),
z move the operator screen to the desired location.

NOTE: The insertion point of the operator screen is represented by


a line.
Screen Properties
from the contextual
menu

z select the operator screen,


z select Screen Properties from the contextual menu,
z select the name of the module in the Location zone.

Detaching All Screens and Families of Screens


Procedure:
If you have chosen to Then...
detach
the operator screens
and the families of
screens

z select the Screen directory of the functional module,


z select Detach All from the contextual menu,
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 Messages List


The following table shows the procedure for accessing the operator screens
messages list.
Step

230

Action

Select the Operator Screens directory from the structural view.

Select Messages list from the contextual menu.

33003101 07/2012

Unity Pro
FDT Container
33003101 07/2012

FDT Container

7
Object of the Chapter
This chapter introduces the FDT Container and explains how it is used.
What Is in This Chapter?
This chapter contains the following sections:
Section

33003101 07/2012

Topic

Page

7.1

FDT Container

232

7.2

DTM Hardware Catalog

235

7.3

DTM Browser

240

7.4

DTM Properties Tabs

265

231

FDT Container

7.1

FDT Container

Object of this Section


This section is an introduction to using DTMs in Unity Pro.
What Is in This Section?
This section contains the following topics:
Topic

232

Page

Introduction to the Unity Pro FDT Container

233

FDT Container User Rights

234

33003101 07/2012

FDT Container

Introduction to the Unity Pro FDT Container


At a Glance
The FDT/DTM (Field Device Tool/Device Type Manager), an open-standard, in
Unity Pro integrates the configuration tools needed to build projects, with a mix of
Schneider and Third Party intelligent devices, on heterogeneous networks.
Unity Pro is now a FDT Container (Field Device Tool Container) for DTMs and,
therefore, is a Generic Fieldbus Intergrater.
NOTE: Schneider-Electric is not responsible for the correct functioning of nonSchneider-Electric DTMs under Unity Pro.
FDT Concept
The FDT defines the interfaces between device-specific software components
(DTMs) and Unity Pro. The focus of the current version of FDT is on engineering,
commissioning, diagnostics and documentation of fieldbus based control systems.
The device-specific software component is called a DTM (Device Type Manager),
which are supplied by the device manufacturer together with the device. Because
the FDT technology used in Unity Pro is based on an open standard, Unity Pro
accepts compliant DTM products from any DTM/device vendor.
NOTE: The DTMs are installed/uninstalled on the PC (like most other Windows
programs) that runs Unity Pro and information about the DTMs is kept in the
Windows Registry.
NOTE: The DTM Browser displays the DTM connectivity configuration, but does not
create any topological variables (%I or %Q) in the application.
Components
To create a Fieldbus network with Unity Pro, its FDT Container uses:
z The DTM Hardware Catalog (see page 235)
z The DTM Browser (see page 240)
z The DTM Editor, which uses vendor supplied GUIs to configure the DTMs
NOTE: The DTM vendor is responsible for the DTM Configuration on-line Help, it is
not available through the Unity Pro on-line Help.

33003101 07/2012

233

FDT Container

FDT Container User Rights


At a Glance
With 2 exceptions, a FDT Container user has unlimited access to the installed
DTMs.
User Rights
The FDT Container user has all rights of access for the DTM connectivity tree (add,
delete, configure, save DTMs) unless:
1. The Unity Pro profile is set to Read Only for the user
2. The user has opened Unity Pro in the Read Only mode
Unity Pro Online/Offline and Device Connections
For the user to load and store DTM device parameters from/to its physical device,
the device must be connected to its DTM through the Host PC.
This connection:
Requires that the DTM be installed on the Host PC.
z Is independent of the Unity Pro - PLC connection status. A DTM can connect to
its device and transfer configuration information over the network in either
direction under both conditions: Unity Pro off-line or Unity Pro on-line.
z

Limitation
If the user opens a project in Read Only mode, the DTM user right remains in ReadOnly as long as the project is still opened (even if the user removes the Read-Only
opened mode by performing the service Save As).

234

33003101 07/2012

FDT Container

7.2

DTM Hardware Catalog

Description of DTM Hardware Catalog


At a Glance
The DTM Hardware Catalog displays all the DTMs installed on the PC.
The DTM tab of the Hardware Catalog is divided into 3 parts:
z The Filter area
z The Device List Area
z The Update button
The DTM Catalog Tab
The following illustration is an example of the DTM Hardware Catalog:

33003101 07/2012

235

FDT Container

Add DTMs to Connectivity Tree


There are 2 ways to add DTMs to a DTM connectivity tree:
By using the Add device (see page 252) procedure in the DTM Browser
z By using the mouse to drag a DTM from the Hardware Catalog and dropping it on
an appropriate DTM in the connectivity tree
z

The Filter Area


The browser in the Filter Area has 4 types of filters with sub-filters. The actual subfilters available depend on the type of DTMs installed on the PC:
z Devices
There are 3 device type sub-filters:
z Communication
z Gateway or Modular
z (Other) Devices
z
z

Vendors
Selecting a vendor name displays only the installed DTMs from that vendor.
Groups
Selecting a group type displays only the installed DTMs corresponding to that
type of DTM.
Protocols
Selecting a protocol displays only the installed DTMs corresponding to that type
of protocol.
When a protocol is selected as the filter, a DTM is only shown if this protocol is
required and/or supported by the DTM.

When a filter is selected, only the DTMs corresponding to that filter are displayed in
the Device List Area.
The Device List Area
The Device List Area columns give information about each DTM. They are:
z Device (name)
z Type
z Vendor (name)
z Version
z Date
Clicking on a column heading sorts the DTMs alphabetically according the contents
of the column.

236

33003101 07/2012

FDT Container

DTM Properties
To display the properties of a DTM from the Device List Area:
Step

Action

Click anywhere on the line of the DTM.


Result: The DTM is selected.

Right-click on the DTM.


Result: The Properties menu opens.

Use the tabs (see page 265) to see additional information about the DTM:

When finished with the window, click on OK or Cancel.

NOTE: When installing or modifying a DTM, update the Hardware Catalog


(see page 238) to update its properties information.

33003101 07/2012

237

FDT Container

Update Hardware Catalog


The DTM catalog is fully embeded in the Unity Pro software and requires to be up
to date whenever a DTM is installed or unistalled. It can be done:
z automatically when the Unity Pro software is launched in closed project mode
z or manually, from the Hardware Catalog window, anytime the customer requests
an update.
When the Unity Pro software is launched, in closed project mode, and DTMs are
installed or uninstalled on/from the PC, the DTM catalog must be updated using the
following procedure:
Step

Action

When DTMs are installed or uninstalled and the Unity Pro software is launched.
Results: The dialog box update opens:

Click on the Yes button.


Results: When the update is completed, a message box appears:

NOTE: Only a V1.2.1 FDT/DTM version or higher provides the detection service.
The DTM catalog can be updated manually update can be done using the following
procedure:
Step

Action

From the hardware Catalog (see page 238), click on the Update button.
Results: The dialog box update opens:

Click on the Yes button.


Results: The standard Unity Pro progress control dialog is displayed:

Updating the Hardware Catalog does not modify the build status of the DTM. It
creates an internal catalog file based on the installed DTMs existing in the
Windows registry.
The time necessary for an update depends on the number for DTMs installed and
their sizes.
238

33003101 07/2012

FDT Container

DTM Version Compatibility


The compatibility of DTM versions is managed by the vendor. They cannot be
managed in Unity Pro.
During an update no check is made if a DTM missing from the Hardware Catalog
is used in an application.
There are 2 methods to check and display any inconsistencies:
z Build the whole Unity Pro application
z Run the Check devices (see page 249) service from the HostPS contextual
menu

33003101 07/2012

239

FDT Container

7.3

DTM Browser

About this Section


This section describes the DTM Browser, which enables the user to select the
different DTMs that make up the DTM connectivity tree on the host PC.
What Is in This Section?
This section contains the following topics:
Topic

240

Page

DTM Browser

241

Built, Connected and Installed DTMs

246

DTM Browser Contextual Menus

249

Field Bus Discovery Service

256

Store Device Configurations

260

Renaming DTMs

262

Profibus DTMs

264

33003101 07/2012

FDT Container

DTM Browser
At a Glance
The DTM Browser is the main component of the Unity Pro FDT Container. The DTM
devices are managed from the browser.
DTM Browser
To open the DTM Browser use the Tools menu -> DTM Browser:

The root of the DTM Browser is HostPC, which is the PC platform for the Unity Pro
project.

33003101 07/2012

241

FDT Container

DTM Browser DTM Types


The DTM Browser displays the configured DTMs added to the connectivity tree
HostPC with hierarchical levels (nodes).
There are 3 types of DTMs:
Communication DTMs (drivers)
z Any COM DTM can be plugged directly under the root node (HostPC) and
must be at the 1st level
z A COM DTM can support Gateway DTMs or Device DTMs as children if their
protocols are compatible

Gateway DTMs
A Gateway DTM can support other Gateway DTMs or Device DTMs as children
if their protocols are compatible.
Device DTMs
A Device DTM does not support any child DTMs

The following illustration is a connectivity tree:

The following table describes the different hierarchical nodes of the connected
DTMs in the above example connectivity tree:

242

Number

Description of Level

The First Level is the root node, HostPC, which is where the PC is connected to
the physical network.

33003101 07/2012

FDT Container

Number

Description of Level

The Second Level devices are communication DTMs (drivers) that connect to
their physical communication devices on the network.

The Third Level devices are connected to a communication device.

Copy Paste feature


Each DTM configured can be copied and pasted to easily create configuration.
The tables below summarize the availability of the Copy Paste service for each
types of DTMs.
The following table resumes the Copy service availability:
DTM type

Copy service availability

Communication DTM

No

Gateway DTM

No

Device DTM

Yes1

1:

if device DTM is in off-line mode

The following table resumes the Paste service availability:


DTM type

Paste service availability

Communication DTM

Yes1

Gateway DTM

Yes2

Device DTM

No

1:

If protocols are matching only device DTM can be paste under Communication
Dtm Only if protocols are matching. Communication DTM has to be in off-line mode
2: If protocols are matching only device DTM can be paste under Gateway Dtm Only

if protocols are matching. Gateway DTM has to be in off-line mode


NOTE: When a DTM is pasted in the connectivity Tree, the General tab
(see page 265) is displayed. By default, the copied DTM alias is based on a valid
DTM alias name.
NOTE: A default address is automatically created after a paste of a father DTM. The
slave address can be modified when entering in the father DTM configuration
screen. Copy Paste feature has limitation, it can only be done in on application and
can not be done between application.

33003101 07/2012

243

FDT Container

Tree View Naming


Each DTM has a default name when inserted into the browser. The syntax is the
following: <Channel: Bus Address> User Name:
z Channel
This is the name of the channel communication media where the DTM is
plugged in. This name is read from the DTM and is set by the device vendor.
z Bus Address of the device. It can be either:
z The connection point on its parent gateway network
z The slot number in the modular device parent internal bus
This information is supplied by the parent DTM and can be modified in Unity Pro
if the DTM supports this modification.
z

User Defined Name


This name is set by default to the vendors name for the DTM name (which is the
default vendor name), but can be reset (see page 262).

Examples:
z For a communication DTM
<1> My =S= PRM COMM, where 1 is the references number.
z For a Device or a Gateway
<Profibus:1> Tank1Sond1 means that the DTM is connected to the Profibus
channel of its parent at connection point 1.

244

33003101 07/2012

FDT Container

Example Connectivity Tree


The following illustration is a connectivity tree:

33003101 07/2012

Number

Node Level Description

This Second Level PRM Comm Master communication DTM connects to the
HostPC for communication with a PRM device via the Ethernet for DPV0 and
DPV1 exchanges.

This Second Level PRM Comm communication DTM connects to the HostPC
for communication with a PRM device via the Ethernet for DPV1 exchanges.

This Third Level Profibus Gateway DTM connects simple or Gateway devices
to the higher communication DTM.

The Simple or Compact DTMs are connected to communication DTMs that


allow them to communicate with their physical devices on the network. These
tree leaves do not allow any sub-connectively.

245

FDT Container

Built, Connected and Installed DTMs


At a Glance
The status of a DTM is indicated in the DTM Browser: Not-Built, Connected and
Installed.
Built or Not-Built DTMs
Build status:
Not-Built: A blue check marks indicated that a node or one of its sub-nodes have
changed, the information stored in the physical device is no longer consistent with
the local project.
z Built: After building the Unity Pro project, the blue check mark is no longer in front
of browser nodes that were changed before the build.
z

Connected or Non-Connected DTMs


Connecting a DTM to its physical device automatically connects all higher level
parent nodes up to the root node (all DTMs that the DTM being connected depends
on.
Disconnecting a DTM from its physical device automatically disconnects all its lower
level child nodes (all DTMs that depend on the DTM being disconnected).
Connection status:
z Connected: Connected nodes are represented by bold text in the browser. A
node can be connected without all its sub-nodes being connected.
z Non-Connected: Non-connected nodes are represented by normal text.
NOTE: Connecting a fieldbus or device is not linked the Unity Pro connection to a
PLC (Off-line or On-line). DTMs can be connected/disconnected while Unity Pro is
either Off-line or On-line.

246

33003101 07/2012

FDT Container

Installed DTMs
Installation status:
A red X on the icon of a DTM indicates that the DTM software is not installed on the
PC.
z This status is updated (red X added) when devices are detected but no DTM
software is installed on the Host PC when the user:
z Updates the Hardware Catalog
z Tries to build the application
z Tries to use a service in one of the 2 right-click contextual menus in the DTM
Browser
z Tries to use the Open service by left-clicking twice on a DTM in the DTM
Browser
z

This status is updated (red X removed) when the user updates the Hardware
Catalog with the missing DTM.

A right-click on an invalid or non-installed DTM opens a 2-item contextual menu:

33003101 07/2012

Function

Description

Delete

This removes the selected DTM (and its sub-nodes) from the DTM
project.

Properties

To help identify the non-installed DTMs, this function displays one tab
(Device information) in the Properties of dialog box:

247

FDT Container

DTM Browser
The following illustration gives examples of built/non-built, connected/nonconnected and non-installed statuses:

The following table explains how a DTM Browser indicates if the DTMs are built,
connected and non-installed:

248

Number

Status

Number

Status

Not-Built

Not-Built

Non-installed

Connected

Built

33003101 07/2012

FDT Container

DTM Browser Contextual Menus


At a Glance
The (right-click) contextual menu of the DTM Browser offers functions that depend
on item clicked on.
NOTE: The contextual menu items are also available via the Edit and View menus.
The DTM Browser Contextual Menu accesses:
Adding and deleting DTMs
z Connecting and disconnecting DTMs to their physical devices
z Displaying and printing the properties of a DTM
z Transferring DTM configuration information to and from the physical device
z DTM-specific functions (via the Device menu function)
z Field Bus Discovery used to scan the physical devices in a fieldbus network
z

HostPC
The HostPC contextual menu:

The HostPC contextual menu has the following items:


Name
Add device

Description
1

The Add, a version of the Hardware Catalog, opens allowing the


selection of a Communication DTM.

Check DTM devices1

This function checks the current project for invalid or non-PCinstalled DTMs. Refer to Check DTM devices (see page 250)
below.

DTM Services1

This function allows the users to select/unselect all the DTMs


added in the project and performed actions on the selected
DTMs. Refer to DTM Services (see page 251) below.

DTM Hardware Catalog1 This function open the DTM catalog tab in the Hardware Catalog
(see page 235).

33003101 07/2012

249

FDT Container

Name

Description

Expand all2

All DTMs in the project are shown.

Collapse all2

Only the Commutation DTMs in the project are shown.

Legend:
1 This function is available via the Edit menu.
2 This function is similar to Project Browser Expand/Collapse all (see page 158).
Check DTM Devices
If the results of the check include invalid or non-installed DTMs, they are displayed
in the User errors tab in the bottom information window and a Red X is placed over
their icons in the DTM Browser:

NOTE: Check DTM devices only detects installed DTMs, for GSDs verify the GSD
library.

250

33003101 07/2012

FDT Container

DTM Services
The users can select/unselect DTMs added in the project and performed actions on
the selected DTMs:

The DTMs services dialog box menu contains the following group boxes:

33003101 07/2012

Name

Description

Communication Dtms
selection

The user can select or unselect all communication DTMs and


attached DTMs currently added in the project.

Topology

The Topology area lists all DTMs added in the project. The set of
selected DTMs can be modified by selecting or unselecting the
DTMs in the Structure tree control.

Actions

The user can perform actions for each DTMs contained in the set
of DTMs previously selected in the Structure tree control.

On errors

The user can select to Continue or Stop the process if an error


is detected. A dialog box is displayed whatever options is
selected.

Selection

The user to select either all DTMs added in the project or none.

251

FDT Container

The dialog box below is an example when the user selects either Continue or Stop
in the On errors group box:

NOTE: The entire process can be cancelled any time by using control button
Cancel.
Communication and Other DTMs
The available DTM Browser contextual menu items differ according to the DTM
selected:

252

33003101 07/2012

FDT Container

The DTM contextual menu has the following items:


Name

Description

This opens the <device name> - DTM Configuration window with


the Configuration and Device Description information supplied by
the device vendor.
A double-click on the DTM in the DTM Browser also opens this
window.

Add...1

This opens the Add dialog, a version of the Hardware Catalog,


allowing the instantiation of a DTM.
The DTMs are filtered, that is, the Add window only displays DTMs
compatible with the DTM selected in the DTM Browser.
To add a device refer to Add device (see page 255) below

Delete1

If the selected DTM allows this function, this deletes the selected
DTM and its sub-node DTMs from the DTM connectivity tree.
Deletion from the DTM connectivity tree does not effect the DTMs
link to the I/O Scanning table.

Field Bus Discovery

This scans the connected physical devices to create the


corresponding field bus connection topology. This item is only
available in the contextual menu if a device connected.
Refer to Field Bus Discovery (see page 256) service.
NOTE: The DTM to scan has to be installed in the PC and the
Hardware Catalog must be up to date.

Sort by address

This displays the DTMs sorted under their parent DTMs according
to the bus address of its physical device in ascending order.

Connect1

This connects the DTM to its physical device on the network. This
connection does not depend on the PLC online/offline status of the
Unity Pro project application.
Connecting a Gateway- or Device-DTM implicitly connects its
parent DTM.
While the device is connected, Connect is not available.

Disconnect1

This disconnects the DTM from its physical device. This


disconnection does not depend on the PLC online/offline status of
the Unity Pro project application.
Disconnecting a DTM implicitly disconnects all its child DTMs.
While the device is disconnected, Disconnect is not available.

Open

Load data from device1 This uploads the configuration parameters from the physical device
to the local DTM, but not from the application (binary) in the PLC.
While the device is disconnected, Load data from device is not
available.

33003101 07/2012

253

FDT Container

Name

Description

Store data to device1

This downloads the local DTM parameters to the physical device.


Each DTM must be stored manually (one by one).
While the device is disconnected, Store data to device is not
available.
To make an application in the PLC consistent with the stored DTM,
the user must build the Unity Pro application and download the new
version of the application to the PLC

Device Menu

The functions in this menu are vendor dependant, such as:


z Compare (the online and offline parameters)
z Diagnostic (displays a diagnostic screen)
z Print (HTML)
z Observe
z Additionnal functions available when selecting the
communication DTM:
z EDS (add or remove from librairy)
z Online Action
z Explicit Message (Ethernet or Modbus)
z About
z Advanced Mode4

When configuring a DTM, the changes are validated in Unity Pro in


2 ways, depending on the changes:
z Automatically as the changes are made.
z You must click on a OK, Apply or Validate button after making
the changes.
Properties

Refer to the DTM Properties Tabs (see page 265) section.

Print device

If this optional function is supported by a DTM, it opens the vendor


device documentation in Internet Explorer, which can then be
printed.
Only one DTM information can be printed out at time. A print of the
whole network is not available.

Zoom in1,2

This displays only the selected DTM node and its child DTMs.
While zoomed-in, Zoom in is not available.

Zoom out1,2

This returns to the full display of the DTM connectivity tree.


While there is a full display, Zoom out is not available.

Expand all3

This displays all DTMs below the selected DTM.

Collapse all3

This displays only the selected DTM.

Legend:
1 This function is available via the Edit menu.
2 This function is similar to Project Browser Zoom in/out (see page 155).
3 This function is similar to Project Browser Expand/Collapse all (see page 158).
4 Advanced option are available DTM configuration screen

254

33003101 07/2012

FDT Container

Add a DTM Device


To add a new DTM to the connectivity tree in the DTM Browser:
Step

Action

Make sure that the DTM appears in the Hardware Catalog.


If it is not in the catalog, perform an update (see page 238) of the Hardware
Catalog using the Update button.
If it still does not appear in the Hardware Catalog, the DTM must be installed
on the PC (see page 236).

In the DTM Browser select the node where the DTM is to be added.

Right-click and select Add...

In the Add window select the DTM to be added to the DTM connectivity tree.

Either:
z Click on the Add DTM button
z Double-click on the selected DTM
Results: The 4-tab DTM Properties of dialog opens.

33003101 07/2012

Using the 4 tabs, verify that the correct DTM has been added to the DTM
connectivity tree and verify its configuration.

If the DTM Alias name does not meet the Unity Pro (or the user application)
naming rules, it must be changed before closing the dialog.

Click on the OK button to finish adding the DTM to the network tree or click on
the Cancel button to close the dialog without adding anything.

255

FDT Container

Field Bus Discovery Service


At a Glance
The Field Bus Discovery service is available for Communication and Gateway DTMs
that:
z Support device scanning
z Are connected to their physical devices
Only the first level devices below the Communication and Gateway DTMs are
detected (there is no recursive scanning).
Field Bus Discovery Use
The results of the scanning process is compared to the registered DTMs in the DTM
catalog of the computer. If a match is found in the DTM catalog for a scanned device,
the results are accompanied with a matching type that gives the accuracy of the
match.
The three available matching types are:
z Exact Match:
All identification attributes are matching. The correct device type was found.
z Generic Match:
At least the Manufacturer ID and Device Type ID attributes match. The support
level of DTM is Generic Support.
z Uncertain Match:
At least the Manufacturer ID and Device Type ID attributes match. The support
level of DTM is not Generic Support.
The following procedure explains how to use the Field Bus Discovery service:

256

Step

Action

In the DTM Browser select an appropriate DTM.

Right click to open the Contextual menu Field Bus Discovery.

If necessary, select the channel and protocol:


z If the DTM has more than one channel
z If the channel supports more than one protocol

33003101 07/2012

FDT Container

Step

Action

Click on OK in the message box to have this service detect all devices on the
selected channel.

If at least one matched device has been found, the Field Bus Discovery dialog
(see page 258) is displayed listing the scanned and matched devices. Select the
matched devices to be created in the Unity Pro project.

NOTE: a device that is connected on the bus can be detected if:


z
z
z

33003101 07/2012

Its DTM is installed on the PC.


Its GSD is added into the GSD library (if not a DTM device).
The DTM hardware catalog is up-to-date (with the DTM installed and the GSD in
the library).

257

FDT Container

Field Bus Discovery Dialog


If at least one matched device has been found, the Field Bus Discovery dialog box
is displayed listing the scanned and matched devices. Select the matched devices
to be created in the Unity Pro project (which then shows up in the Selected Devices
list:

258

33003101 07/2012

FDT Container

This dialog has three lists:


List

Description

Scanned
Devices

This list displays all the devices (matched and unmatched) found during the scan.

Matched
Devices

This list displays the matched DTM found in the workstation DTM catalogue for
the selected device in the Scanned Devices list.
Each time a scanned device is selected in the Scanned Devices list, the
contents of the Matched Devices list is updated to display the matched device
DTM found for the selected scanned device.
The matching process can yield one or more matched devices for a given
scanned device. In this case, select one among the matched DTMs found.

Selected
Devices

This list displays the device DTMs selected to be added to the Unity Pro project.

The lists use colored icons:


Color

Description

Green

Indicates that the device has been selected

Yellow

Indicates that the device has been matched

Red

Indicates that the device has not been matched

Black

Indicates information about the address of the scanned device:


z In the Scanned Devices list, the device has an address identical to one of
the DTMs in the Unity Pro project
z In the Matched Devices list, the device will be assigned an address identical
to one of the DTMs in the Unity Pro project

This dialog has five buttons:

33003101 07/2012

Button

Use this button to...

automatically add the best matched (according to the matching types listed
above) device DTM for each found device in the Matched Devices list to the
Selected Devices list.

add the matched device DTM selected in the Matched Devices list.

remove one or more devices from the Selected Devices list.

OK

insert the device DTMs in the Selected Devices list into the Unity Pro project.
If there are one or more devices in the Selected Devices list that have he
same address in the Unity Pro project, a message box opens asking if you want
to continue.
If you click OK, all devices in the Unity Pro project that have identical
addresses as the selected devices is deleted and replaced by the DTMs
selected in the Selected Devices list.

Cancel

cancel the Field Bus Discovery scan and do nothing. All information in the three
lists is lost

259

FDT Container

Store Device Configurations


Introduction
After configuring or modifying a configuration of a DTM, the changes must be
downloaded to its physical device using Store data to device (see page 249).
Connectivity Tree
For a connectivity tree it is necessary to:
Store the configuration for each DTM into the corresponding device so that the
device works correctly
z Build or Rebuild all the Unity Pro application and download it to the PLC be able
to upload the complete application including all DTM configurations from the PLC
binary
z

The total number of operations equals the number of DTMs stored + 1 download of
rebuilt application.
Recovering Connectivity from the PLC Application
If the complete application has been stored in the PLC (ETS option checked), it
includes the connectivity of the DTMs.
Uploading the application from the PLC provides the connectivity stored in the PLC.
For this, the PC used for uploading must have the corresponding DTMs
(see page 244) installed.
Verify that the corresponding configuration is stored in the devices to avoid desynchronization (see page 261).

260

33003101 07/2012

FDT Container

De-synchronization of Project
If a DTM configuration is changed and stored to its device, the application running
in the PLC is not updated.
To synchronize the PLC application with the device configuration, rebuild the Unity
Pro application to take into account the changes and download it to the PLC.
Uploading a binary from a PLC overwrites the configurations of all DTMs in Unity Pro
applications retrieved from the PLC. Any modifications of the DTM configurations
that are not stored in the PLC binary are overwritten by the configuration in the PLC
binary and lost.

CAUTION
UNEXPECTED EQUIPMENT OPERATION
Do not upload a project from the PLC if any changes have been made in any
devices connected to the PLC since the last build and download of the project.
Failure to follow these instructions can result in injury or equipment damage.

33003101 07/2012

261

FDT Container

Renaming DTMs
At a Glance
According to the FDT standard, the official name of a DTM is its Tag name assigned
by the DTM vendor.
Unfortunately, some DTMs have Tag names that do not:
Allow the Tag name to be changed
z Meet the Unity Pro naming rules
z

The solution is to choose the DTM Alias name that meets these rules (and any
special user defined application naming rules).
Alias Name
The Alias name is the DTM reference name in Unity Pro and must be unique in an
application.
If possible, the default, the Alias name is the same as the DTM Tag name. But if
necessary, the Alias name can be changed in 3 places:
z Directly in the General tab (see page 265)
z In the DTM Browser by clicking on the selected DTM or using the F2 shortcut with
the selected DTM.

262

33003101 07/2012

FDT Container

I/O Vision in Communication DTMs


For device DTMs attached to certain Schneider Electric Communication DTMs
(such as the SE_Master_PRM_DTM), the default names of the DTM Input/Output
Types (a structure) and the Variable instances of the Type are based on the default
DTM Alias/Tag name:

Changing the Alias name automatically changes the names of the Input/Output
Types and Variables:

33003101 07/2012

263

FDT Container

Profibus DTMs
Configuration of Profibus Field Devices
Using vendor-supplied Profibus DTMs, users are able to remotely:
Configure Profibus devices associated with the DTM
z Adjust the parameters of these devices while they are off-line
z Adjust the parameters of these devices while they are on-line
z

PRM Master Bus Module and its DTMs


Unity Pro uses a Profibus Remote Master (PRM) Gateway module (the bus master
physical device) and its PRM configuration tools (software):
z The PRM Master DTM that allows the PRM Gateway to carry out:
z Explicit DPV0 functions (control and diagnostics of the Profibus slaves on the
network).
z Communication functions (implicit DPV1 exchanges with the Profibus slaves).
It also provides access to the Profibus slaves from the Control network to HMI,
SCADA or ASSET management tools.
z

The PRM Comm DTM that only allows the PRM Gateway module to carry out
communication of implicit DPV1 exchanges and access to management tools.

The Modbus TCP I/O scanning link between the PLC and the (PRM) Gateway
module connected to the Profibus network is provided by a Quantum, Premium or
Modicon M340 module with an Ethernet port.

264

33003101 07/2012

FDT Container

7.4

DTM Properties Tabs

DTM Properties Dialog


At a Glance
The number of tabs in a Properties dialog varies according where the dialog is
called from.
Properties Tabs
The Properties dialog is called when a DTM is selected:
z To be added to connectivity tree in the DTM Browser from the Hardware
Catalog:
z For the Contextual Menu Properties service in the Hardware Catalog:
z It opens with 4 tabs:
z General
z Device Information
z DTM Information
z Protocol Information
General
The General tab:

NOTE: The Alias name (and the DTM Tag name if the vendor allows it) can be
changed (see page 262) here or in the DTM Browser.

33003101 07/2012

265

FDT Container

Device Information
The Device Information tab:

DTM Information
The DTM Information tab:

266

33003101 07/2012

FDT Container

Protocol information
The Protocol Information tab:

33003101 07/2012

Item

Description

Supported protocols

These are the protocols available for the child nodes of this DTM.

Required protocols

These are the protocols that must be supported by the parent


DTM of this DTM.

267

FDT Container

268

33003101 07/2012

Unity Pro
Type Library Manager
33003101 07/2012

Type Library Manager

8
Object of this section
This chapter describes the main functions of the Type Library Manager.
What Is in This Chapter?
This chapter contains the following topics:
Topic

33003101 07/2012

Page

Libset (Set of Libraries)

270

Overview of the Type Library Manager

273

Type Library Manager

274

Description of the Type Library Manager

277

Loading an object from the library into the project

282

Transferring an object from the project into the library

284

Creating a new library and family

286

Creating an installable family

288

Updating a family of a library

289

Consistency Check Assistant

291

Library Version Management

294

Using the type library of an older Unity Pro Version

297

269

Type Library Manager

Libset (Set of Libraries)


At a Glance
Libset (set of libraries) comprises all libraries, families, functions and variables (I/O
data structures) that can be used to develop an automation project.
You can only modify the Libset version in the Open project dialog.
Creating a New Project
Creating a new project, the latest Libset version is automatically selected for this
project.
To modify the Libset version of your project, you have to save your project and open
it again with the version of Libset you want to use.
Opening a Project
In general, opening an existing project (STU file) or an archived project (STA file),
you can select the Libset version.
Importing a ZEF or XEF file, the latest Libset version is always selected.
The following table describes the default Libset version used to open a project
according to the file type.

270

File Type

Project before Unity Pro 4.0 Project from


Unity Pro 4.0 to
Unity Pro 5.1

Project from
Unity Pro 6.0

STU file

Not applicable

The Libset version used to build the project is


automatically selected. If the respective Libset
version is not installed, the latest version will be
used.

STA file

The Libset version used to


generate the STA file is
automatically selected. If the
respective Libset version is
not installed, the latest version
will be used.

The Libset version used to generate the STA


file is automatically selected. If the respective
Libset version is not installed, the latest version
will be used.

XEF file

The latest Libset version is


selected.

The latest Libset version is selected.

ZEF file

Not applicable

Not applicable

The latest Libset


version is selected.

33003101 07/2012

Type Library Manager

Modifying the Libset Version


Opening an existing project (see page 81) (STU file) or an archived project (STA file)
you can select the Libset version.
The Open dialog provides the following options.
Element

Description

Keep project version

Select this option to keep the Libset version used to


build the project.
If the respective Libset is not installed, the latest
Libset version will be used.

Update with latest version available Select this option to update the project with the
latest Libset version.
Select a specific target version

Select this option to choose a specific Libset


version. You can select the version by means of the
Version box below.

If the Libset version is modified, the project is in modified state.


Upgrade/Downgrade
z

z
z

33003101 07/2012

Upgrading the Libset does not update the project with the newly chosen libset
automatically.
EF/EFB differences will be displayed during opening the project in the LIBRARY
Version Management dialog, where you can update the project.
You can update the project later as well, using the contextual menu command in
the Type Library Manager dialog (see page 294).
If you have updated the project, you have to start a Rebuild All. A Rebuild All
needs to stop the PLC and to perform a global download.
You can also downgrade the Libset version.
There is no consistency check when downgrading the Libset while opening a
project.
So you may not be able to rebuild the project (using a block created in an earlier
Libset version, not available in the latest Libset version).
If the rebuild is unsuccessful, you have to save your project and to open it again
with an appropriate Libset.
If you want to add an FFB which is not yet contained in the current version of the
Libset, you have to upgrade the whole Libset.
A change of Libset version in the Open dialog is memorized in the project.

271

Type Library Manager

Libset Information
If no project is opened, information is displayed on the latest Libset.
If a project is opened, information is displayed on the Libset used for the project.
Information on the Libset version used for your current project you can get from the
General tab of the Properties of Station dialog.
In the Project Browser of Unity Pro right-click on Station and select Properties
from the context menu. In the General tab you will find the FFB Library version.
Further on the following dialogs provide information on the Libset version (e.g.
LibsetV3.0):
z Types Library Manager
z Types Library Browser
z Data Selection
z Data Editor: Variable Type Selection
z Function Input Assistant: FFB Type Selection
z Data Properties
z PLCScreen Information tab APPLICATION IDENTIFICATION
Types Library Manager
In the Types Library Manager click the Information button to get the following
information:
z Current library
z Library status
z Diagnostic
z

Library contents
z Families
z Libraries
z FFBs

For the Libset Information window please refer to information (see page 275).

272

33003101 07/2012

Type Library Manager

Overview of the Type Library Manager


Principle
The Unity Pro Library contains all available objects to develop an automation
project. These objects may be the following functions or variables:
z
z
z
z
z

EF (Functions),
EFB (Function blocks),
DFB (user function blocks),
DDT (Variables)
...

The Type Library Manager provides functions to edit the contents of the library and
execute transfers between the library and the project you are working on.
Simple operations are automatically executed or you will be asked to confirm. An
Assistant (see page 291) will support complex operations. This Assistant becomes
available during loading, transfers, or deletions.
List of available functions
The Unity Pro context menus provide access to the library management functions
below:
z
z
z
z
z
z
z
z
z
z

33003101 07/2012

Creating a family or library


Deleting a family or library
Cutting a family or object
Inserting a family or object
Showing and hiding a tree structure for an object, family, or library
Renaming the current entry in the tree structure
Displaying the Assistant to load an object
Fit columns
Deleting types not used in the project
Version check: Consistency between different versions of the objects of the
library and project Library Version Management, page 294.

273

Type Library Manager

Type Library Manager


At a Glance
Unity Pro software provides a manager to edit objects in the library providing access
to all managing functions of the library.
z
z
z
z
z

Loading an object into the project from the library (see page 282).
Transferring an object of the project into the library (see page 284).
Deleting a library object
Updating and managing library versions
...

Accessing the Manager


Step
1

274

Action
In the Tools menu, select the Type Library Manager option.
Result: The following window appears.

33003101 07/2012

Type Library Manager

Areas of the Type Library Manager


Area

Description

Tabs

The tabs enable you to display the following according to your


selection:
z All Types
z Variable types
z FFB Types (Functions)

The left sub-window

His sub-window shows the tree structures of the objects of the


project, library of functions (division of functions by family), and the
IODDT.

The right sub-window This sub-window displays the list of objects included in the selection
made in the left sub-window.
The check boxes above it are used to define this list.
Buttons

z Information

Click this button to get information on the current library.


See paragraph below.
z Close
Click this button to close the dialog box without accepting
changes.
z Access Assistant
Click this button to open a window to copy objects into a project
(Loading an object from the library into the project, page 282).
z Help
Click this button to call up the dialog help.

Information
Click the Information button to open the Libset Information window.

33003101 07/2012

275

Type Library Manager

The table below describes the various functions offered.


Fields

Description

Current library

Library status: information on the status of the custom library


z available
z not available
Diagnostics: information on the validity of the library
z OK (valid)
z not valid.

Library contents

276

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

33003101 07/2012

Type Library Manager

Description of the Type Library Manager


Dialog structure
The dialog box to select objects has three tabs:
z
z
z

All Types
Under this tab, you can select variables and FFBs.
Variable types
Under this tab, you can select the variables.
FFB Types
Under this tab, you can select FFBs.

Tab All Types tab

33003101 07/2012

277

Type Library Manager

Elements of the All Types tab:


Element

Description

Button

Click this button to update the display corresponding to the filter term
defined in the Name field.

Button

Click this button to open a dialog box (see page 377) for defining the
filters.

Button

Click this button to invert the filter. The button changes from = to <>
and vice versa.

Name (Text Box)

The name of the object to search for can be entered in this text box.
You can also use the joker * and ?.

EF

When you enable this check box, Elementary Function types (EFs)
are displayed.

EFB

When you enable this checkbox, Elementary Function Block types


(EFBs) are displayed.

DFB

When you enable this checkbox, Derived Function Blocks (DFBs) are
displayed.

DDT

When you enable this checkbox, multi-element variables (derived


variables) are displayed.

Device DDT

When you enable this checkbox, multi-element variables (derived


variables) are displayed.

Name (Column)

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).

For information on the buttons at the bottom of the dialog please refer to Areas of the Type
Library Manager, page 275.

NOTE: Help on Type:


Hold down the SHIFT+F1 keys and then click on the function block type for which
you wish to access Help.

278

33003101 07/2012

Type Library Manager

Variable Types tab

Elements of the Variable Types tab:


Element

Description

Button

Click this button to update the display corresponding to the filter term
defined in the Name field.

Button

Click this button to open a dialog box (see page 377) for defining the
filters.

Button

Click this button to invert the filter. The button changes from = to <>
and vice versa.

Name (Text Box))

The name of the object to search for can be entered in this text box.
You can also use the joker * and ?.

DDT

When you enable this checkbox, multi-element variables (derived


variables) are displayed.

Device DDT

When you enable this checkbox, multi-element variables (derived


variables) are displayed.

Name (Column)

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).

For information on the buttons at the bottom of the dialog please refer to Areas of the Type
Library Manager, page 275.

33003101 07/2012

279

Type Library Manager

Tab FFB Types

Elements of the FFB Types tab:

280

Element

Description

Button

Click this button to update the display corresponding to the filter term
defined in the Name field.

Button

Click this button to open a dialog box (see page 377) for defining the
filters.

Button

Click this button to invert the filter. The button changes from = to <>
and vice versa.

Name (Text Box)

The name of the object to search for can be entered in this text box.
You can also use the joker * and ?.

EF

When you enable this check box, Elementary Function types (EFs)
are displayed.

EFB

When you enable this checkbox, Elementary Function Block types


(EFBs) are displayed.

DFB

When you enable this checkbox, Derived Function Blocks (DFBs) are
displayed.

Name (Column)

This column displays the names of the function types and function
block types and their formal parameters (inputs, outputs).

33003101 07/2012

Type Library Manager

Element

Description

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).

For information on the buttons at the bottom of the dialog please refer to Areas of the Type
Library Manager, page 275.

NOTE: Help on Type:


Hold down the SHIFT+F1 keys and then click on the function block type for which
you wish to access Help.
Shortcut menu structure
Additional commands can be executed via the shortcut menu of the Type Library
Manager.
Shortcut menu commands:
Menu command

Description

Delete

Use this menu command to delete a selected user-defined library.

Expand All

Use this menu command to show the directory structure of a


selected library. The same function is also available via the +
symbol.

Collapse

Use this menu command to hide the directory structure of a


selected library. The same function is also available via the symbol.

Create New Library

Use this menu command to create a new user-defined library.


Compare also Creating a new library and family, page 286.

Rename

Use this menu command to rename a user-defined library.

Local Print

Use this menu command to print a list of the FFBs of a selected


library.

Display Get Assistant

Use this menu command to open a window to copy objects into a


project. (Loading an object from the library into the project,
page 282).

Customize Columns... Using this menu command you can:


z define the columns (see page 1163) to be displayed and
z define the sequence (see page 1163) for the columns shown.

33003101 07/2012

Purge unused Types

Use the menu command to delete all unused FFBs from the
project.

Compare Project with


Library

This menu command enables you to compare all FFB types of a


project with the FFB types of the libraries and update them, if
necessary. Compare to Library Version Management, page 294

281

Type Library Manager

Loading an object from the library into the project


At a Glance
Loading objects from the library into the projects makes the objects used in a project
available quicker without having to run the list of all other objects in the library.
Loading is automatically executed during the first use of a Logic section. You can
also load the objects manually from the Type Library Manager.
Loading an object into the project
Step
1

282

Action
In the Tools menu, select the Type Library Manager option.
Result: The following window appears.

33003101 07/2012

Type Library Manager

Step

Action

Click on Access Assistant to open the Help window for loading.


Result: The following area is added on the right of the previously displayed window:

Use this area to create a list of objects to be loaded by selecting them in sequence beginning in the two
sub-windows of Step 1 and then transfer the objects by clicking on the button (double arrows).

Click on Copy to project to execute the loading process.


Result: The objects are now loaded into the project and will be displayed in the tree structure for the
project.

Loading requirements

33003101 07/2012

If the name of the object in the


project ...

then...

does not exist,

the object will be transferred automatically.

exists, but the types are different.

the transfer will be stopped and not performed,


and a message listing the causes will be
displayed.
Note: To load this object you must rename it and
restart the loading process.

exists and the types are identical.

loading will be executed after you confirm.


Note: The Consistency Check Assistant
(see page 291) will ask you to confirm before
loading.
283

Type Library Manager

Transferring an object from the project into the library


At a Glance
The transfer of an object from the project into the library enables the use of the
objects of a project with another project without having to import or export between
applications.
Objects transferred to the library can be accessed from all projects.
Transferring an object to the library
Step
1

284

Action
In the Tools menu, select the Type Library Manager option.
Result: The following window appears.

Select the object of the project to be transferred.

Click the right mouse button to open the context menu and select the Copy to Library option.

Select the library and target family and click on OK to confirm your selection.
Result: The transfer will be performed automatically.
Note: If the transfer is not performed automatically, a help window will be displayed to help you correct
the problem.

33003101 07/2012

Type Library Manager

Transfer requirements from


If the name of the object in the library then...
...
does not exist,

the object will be transferred if you have specified


the family and the library to which the object is to be
transferred.

exists, but the types are different.

the transfer will be stopped and not performed,


and a message listing the causes will be
displayed.
Note: To load this object you must rename it and
restart the loading process.

exists and the objects are identical.

no action is required because the objects are


identical.

exists and only the codes of the objects the transfer will only be executed if the version of
are different.
the object to be transferred matches or is higher
than the version of the object that currently exists in
the library.
Note: The Consistency Check Assistant
(see page 291) will ask for a confirmation before
executing the transfer.
exists and only the prototypes of the
objects are different.

33003101 07/2012

the transfer will be stopped and not performed,


and a message listing the causes will be
displayed.
Note: To load this object you must rename it and
restart the loading process.

285

Type Library Manager

Creating a new library and family


At a Glance
You can create a user-defined library. It contains objects that are available for the
development of automation projects, such as:
z
z
z

Derived Data Types (DDT),


Function Block Types (EFB/DFB),
Elementary Functions (EF).

The library is linked to a programming device. This library can access all projects
created with this programming device. You can save the Family of the Library
(see page 288) to reuse (see page 289) it on another programming device.
The following steps are required:
z
z
z

Creating a library,
Creating one or more families in the new library,
Linking objects (EF, EFB, DFB, DDT) to each family.

Unity Pro provides a User-defined Library. This library contains the family
custom FAMILY; however, it does not contain objects at this time.
Create a new library
Step
1

286

Action
In the Tools menu, select the Type Library Manager option.
Result: The following window will be displayed.

Under Name select the Libset directory.

Select the Create New Library command in the context menu.

Enter the name and confirm with Enter.


33003101 07/2012

Type Library Manager

Create a new family


Step

Action

In the Tools menu, select the Type Library Manager option.

Under Name select User-defined Library or a self-created library.

Select the Create New Family command in the context menu.

Enter the name and confirm with Enter.

Link the object to the family


Step

Action

In the Tools menu, select the Type Library Manager option.


Result: The following window will be displayed.

Under Name select User-defined Library or a self-created library.

In the user-defined library, select Custom FAMILY or a self-created family.

Select the object on the right side in the Name area.

Drag the object onto Custom FAMILY or a self-created family.


Result: The selected object is located in Custom FAMILY or the new family.

33003101 07/2012

287

Type Library Manager

Creating an installable family


Introduction
The user-defined library can be saved in a file. It can then be imported into another
programming device.
Procedure
Step

Action

In the Tools menu, select the Type Library Manager option.

In the Name area, display the contents of the Libset directory.

Select a family in the User-defined Library or a self-created library.

Select the Create Install-Ready Familycommand from the shortcut menu.


Result: The following window will be displayed.

Note: Enable the Include Sub-Types checkbox when the family contains subtypes that are not defined in the new project.
5

Select the directory where the family is to be stored (installed).


Use Search to select the directory.

Click OK.

Notes for EF/EFBs


NOTE: When you try to create an installable family from a family that contains
EF/EFBs, a warning will be displayed that the EF/EFBs will not be exported. For
more information about using families with EF/EFBs in other Unity Pro installations,
refer to Updating a family of a library, page 289.

288

33003101 07/2012

Type Library Manager

Updating a family of a library


Introduction
You can update the type library on a programming device. You can add new EF,
EFB, DFB, DDT to use in your program.
NOTE: Close Unity Pro before updating.
Procedure
Step

Action

Select Start Programs Schneider Electric Unity Pro Type Library


Update.
The Type Library Update window will be displayed.

Select the directory where the family is stored using the ... button.

Select the Libset version (e.g. V4.0) you want to update.


(To change the Library path please refer to Library configuration options
(see page 518).)

Click on Install Family.

Answer Yes to the displayed question.

Answer OK to the displayed warning and click on Exit.

NOTE: If you want to use a family in several Libset versions of Unity Pro, you must
proceed as described above for each Libset version.
Family with EF/EFBs
You have created a user defined family (e.g. toolkit family) with the EFB tool kit and
installed it in Unity Pro.
You have also copied DFBs and/or DDTs into the family in Unity Pro.
If you now want to create an installable family, the EF/EFBs from this family will not
be exported.
33003101 07/2012

289

Type Library Manager

Using families with EF/EFBs in other Unity Pro installations


If you want to use user-defined families with EF/EFBs in other Unity Pro
installations, proceed as follows:
Step

Action

Use your user-defined family (e.g. ToolKit family) to create an installable family
(Creating an installable family, page 288).
Result: The DFB/DDTs of the family will be exported, the EF/EFBs will not be
exported. A warning will advise you.

Install the user-defined family with the EF/EFBs you originally created with the
EFB toolkit in the new Unity Pro installation.

Install the family you exported in Step 1via Start Programs Schneider
Electric Unity Pro Type Library Update.
Result: Since the original family from the EFB toolkit and the installable family
from Unity Pro have the same name, a message will appear that this family
already exists and you will be asked if you want to replace it.

Answer No to the displayed question.


Result: Another question is displayed whether you want to add the additional
types to the existing family instead.

Answer Yes to the displayed question.


Result: All other types (DFB/DDTs) will be added to the family. No existing types
will be replaced.

NOTE: If you want to use a family in several Libset versions of Unity Pro, you must
proceed as described above for each Libset version.

290

33003101 07/2012

Type Library Manager

Consistency Check Assistant


At a Glance
An Assistant will automatically be displayed for complex or multiple operations to
check the library or any objects of the projects for consistency to enable easy
executing of required processes.
When nested objects are loaded or transferred the Assistant will help you select the
objects to be transferred. It will show you the available operations, and which
operations do or do not require preparation (renaming, updating, etc.).
NOTE: Depending on the complexity of your action, the Assistant will present the
objects in a flat or hierarchical format. In some cases a partial list of objects may be
selected for processing, and other cases require confirming or canceling the entire
operation. The following sections list some examples and meanings.
NOTE: The illustrations below show the windows with different columns. This results
from the option to configure the columns differently, just like in the Data Editor
(see page 371).
Unchecked elements
When using the Type Library Manager, some elements are not considered during
the compatibility check of DFB and EFB types.
These elements are:
z
z
z
z
z

Initial value elements that contain the initial value of data.


The Save option showing whether a data element accepts or doesnt accept the
backup / restore mechanism.
The RW program option showing whether a public variable can or cannot be
written from the DFB and EFB program.
The RW program instance option showing whether a public variable can or
cannot be written from the program launcher.
The Pin Number of the parameter. (Note: This check is only not considered with
DFBs)

Libset Version 2.2


NOTE: Upgrading the Libset version of the project may lead to have a list of
differences during the comparison of EFs, EFBs, DFBs used in the application with
the library. In case of a project build with a Libset version 2.2, the version number
(V1.0) may be identical with the selected Libset, even if differences are existing.
Upgrading the project with the new Libset requires a rebuild of the project and a
download in the PLC.

33003101 07/2012

291

Type Library Manager

Example of a hierarchal illustration with global confirmation.


The following illustration shows an example of the assistant for a hierarchal view
with required global confirmation. The window shows that certain object types
already exist in the library and you are asked to confirm whether the types should
remain in the library.

Example of a flat illustration with global confirmation.


The following illustration shows an example of the assistant for a flat (nonhierarchal) view with required global confirmation. The window shows that certain
object types already exist in the library and you are asked to confirm whether the
types should remain in the library.

292

33003101 07/2012

Type Library Manager

Example of a hierarchal illustration with selective confirmation.


The following illustration shows an example of the assistant for a hierarchal view
with a selective confirmation option. The window shows that certain object types
already exist in the library and you are asked to confirm whether certain types should
remain in the library.

Example of a flat illustration with selective confirmation.


The following illustration shows an example of the assistant for a flat (nonhierarchal) view with a selective confirmation option. The window shows that certain
object types already exist in the library and you are asked to confirm whether certain
types should remain in the library.

33003101 07/2012

293

Type Library Manager

Library Version Management


At a Glance
The Type Library Manager enables you to compare all FFB types of a project with
the FFB types of the libraries.
If there are differences between the FFB types in the project and FFB types in the
library, the LIBRARY Version Management dialog will be displayed showing the
relevant information.
This dialog box has two buttons to updated the FFB types of the project with the FFB
types of the libraries.
Compare project to library
The Compare Project to Library command... Begin via the context menu of the
Type Library Manager (right-click).
LIBRARY Version Management tab.
The LIBRARY Version Management consists of three tabs:
z
z
z

Check new versions


Other types that can be updated
Types cannot be updated

The first two tabs have buttons to update the FFB types of the project with the FFB
types of the libraries.
Register: Check new versions
This tab displays FFB types of the project that are older than the types of the
libraries.

294

33003101 07/2012

Type Library Manager

Elements of the Check New Versions tab:


Element

Description

Name

Name of the FFB type

V. Library

Version of the FFB type in the library

V. Project

Version of the FFB type in the project

Difference

Determined difference between the two versions

Comment

Comment about the version difference

Button
Update

Updates the selected FFB type with the FFB type from the
library.

Button
Update All

Updates all FFB types shown in this tab with the FFB
types from the library.

Button
OK

Closes the window.

Button
Help

Opens Unity Pro Help

NOTE: Updating FFB types leads to Rebuild All Project. The PLC must be stopped
and a global download of the project must be performed.
Register: Other types that can be updated
This tab shows FFB types of the project that are different from those in the libraries,
but can be updated.

Elements of the Other types that can be updated tab:

33003101 07/2012

Element

Description

Name

Name of the FFB type

V. Library

Version of the FFB type in the library

V. Project

Version of the FFB type in the project

Difference

Determined difference between the two versions


295

Type Library Manager

Element

Description

Comment

Comment about the version difference

Button
Update

Updates the selected FFB type with the FFB type from the
library.

Button
Update All

Updates all FFB types shown in this tab with the FFB
types from the library.

Button
OK

Closes the window.

Button
Help

Opens Unity Pro Help

NOTE: Updating FFB types leads to Rebuild All Project. The PLC must be stopped
and a global download of the project must be performed.
Register: Types cannot be updated
This tab shows FFB types of the project with differences from those in the libraries
that are so great that they cannot be updated. In this case you could updated FFB
types only after you did an export/import of your project.

Elements of the Types that cannot be updated tab:

296

Element

Description

Name

Name of the FFB type

V. Library

Version of the FFB type in the library

V. Project

Version of the FFB type in the project

Difference

Determined difference between the two versions

Comment

Comment about the version difference

Button
OK

Closes the window.

Button
Help

Opens Unity Pro Help

33003101 07/2012

Type Library Manager

Using the type library of an older Unity Pro Version


At a Glance
If you have already used an older version of Unity Pro, and if you have created your
own type library and families to store DFBs or DDTs, you have to provide this own
type library and family for the new version of Unity Pro.
Providing the type library and families
Follow the steps below to install a new version of Unity Pro:
Step

33003101 07/2012

Action

Start the Unity Pro software.

Use Tools to open the Type Library Manager.

Create a ready-to-install family for each family containing your own DFBs or
DDTs (via the context menu for the applicable family). Save these families on
your hard drive (but not in the Schneider Electric directories).

Install the new version of Unity Pro.

Go to Programs Schneider Electric Unity Pro and start the Tool Type
Library Update and install all of your families.
Note: If you want to use your families in several Libset versions, you must
repeat this step for every Libset version.

Start the Unity Pro software.

Make sure that all of your families have been installed.

Create an application.

Copy each DFB that belongs to your own type library from the library into your
application.

10

Then copy each DFB from the application into the library family that it came from.

11

All of your libraries and families are now ready for the new Unity Pro Version.

297

Type Library Manager

298

33003101 07/2012

Unity Pro
Data Editor
33003101 07/2012

Data Editor

II
Object of this part
It guides the user through the general features available in the data editor in order to:
z
z
z

Create data types,


Create data type instances,
search for data types or instances.

What Is in This Part?


This part contains the following chapters:
Chapter
9

33003101 07/2012

Chapter Name

Page

Description of the Data Editor

301

10

Creating derived data types (DDT)

307

11

Creating data types of user function blocks (DFB)

327

12

Managing of instances of data belonging to the family of


function blocks (EF)

329

13

Managing variable instances belonging to the


EDT/DDT/IODDT/Device DDT families

339

14

General Functions

369

299

Data Editor

300

33003101 07/2012

Unity Pro
Description of the Data Editor
33003101 07/2012

Description of the Data Editor

9
Object of this chapter
This chapter gives an overview of the data editor.
What Is in This Chapter?
This chapter contains the following topics:
Topic

33003101 07/2012

Page

Data Editor Access

302

Description of Data Editor tabs

304

301

Description of the Data Editor

Data Editor Access


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

Carry out the following steps:


Step

302

Action

With the right mouse-button click on the Variables and FB instances directory.

Select the Opencommand in the shortcut menu.


Result: The data editor opens. The Variables tab is shown by default.

33003101 07/2012

Description of the Data Editor

Data Editor:

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 displayed will be
listed in the selected subdirectory.

33003101 07/2012

303

Description of the Data Editor

Description of Data Editor tabs


Data Editor Elements
Appearance:

Description:
Element

Description

Filter
Button

Clicking on this button updates the display corresponding to the filter term
defined in the name field.

Button

Clicking on this button opens a dialog box (see page 377) for defining the
filters.

Button

Clicking on this button inverts the filter. The button changes from = to <> and
vice versa.

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

Device DDT Display the device derived data types


Properties
Name

Column where you enter the name (symbol) of the instance or data type

Type

Column where you select the variable type.

Address

Column where you reference the variable instance with an address in the
controller (located instance).

Value

Column where you initialize the variable.

Comment

Column where you enter the comment for the variables.

NOTE: The different fields can be assigned parameters (see page 370).
304

33003101 07/2012

Description of the Data Editor

Tab: Variables
The Variables tab enables the administration of variable instances that belong to
the families EDT/ DDT/ IODDT/ Device DDT

Tab: DDT Types


The DDT Types tab is used to manage derived data types (structures or arrays):

Tab: Function blocks


The Function Blocks tab enables the management of the variable instances of type
EFB or DFB that belong to the function block family.

33003101 07/2012

305

Description of the Data Editor

Tab: DFB Types


The DFB Types tab enables the administration of data types of derived function
blocks (DFB).

306

33003101 07/2012

Unity Pro
Creating derived data types (DDT)
33003101 07/2012

Creating derived data types (DDT)

10
Object of this chapter
This chapter guides the user through the creation and management of derived data
types (DDT).
What Is in This Chapter?
This chapter contains the following topics:
Topic

33003101 07/2012

Page

Access to derived data types (DDT)

308

Creation of a derived data type (DDT)

309

Administration of derived data types and their elements

319

Creating nested derived data types

321

Save Derived Data Types (DDT)

326

307

Creating derived data types (DDT)

Access to derived data types (DDT)


Procedure
You have the following two options to access the Data Editor to create derived data
types:
z
z

from the project structure view via the Variables and FB Instances directory,
from the project structure view via the Derived Data Types directory,

Access via the "Variables and FB Instances" directory.


Step

Action

In the project structure view, switch to the Variables and FB Instances


directory.

Select the Open command in the shortcut menu and the Data Editor will open.

Select the DDT Types tab in the Data Editor.

Example:

Access via the "Derived Data Types" directory.

308

Step

Action

Switch to the Derived Data Types directory in the project structure view.

Select the Open command in the shortcut menu, which will open the Data Editor
that is automatically shown in the DDT Types tab.

33003101 07/2012

Creating derived data types (DDT)

Creation of a derived data type (DDT)


Introduction
A derived data type corresponds with:
z
z

an array
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.

Memory Structure
The different PLC families vary in memory structure. For detailed information about
storage principles and memory structure see the Unity Pro Reference Manual.
Creating a structure type
Step

Action

Double click in the Data Editor in the DDT Types tab on the empty field (marked by an arrow Name,
and enter the name of the structure type (e.g. IDENTITY); the default type is <Struct>. Enter a
comment (optional).

Call up the newly created structure by clicking on +.


Example:

33003101 07/2012

309

Creating derived data types (DDT)

Step

Action

Double-click on the corresponding Name field and enter the name of the first element of the structure
(e.g. Name, Age) and its type and comment (optional).
Example:

Double-click on the next cell (marked with an arrow) to enter the name of the next element etc.

Go to the name of the structure type (IDENTITY) and select Analyze Type in the shortcut menu.

Result: The structure was successfully analyzed (the symbol in front of the structure
type has changed):

310

33003101 07/2012

Creating derived data types (DDT)

Result: The IDENTITY structure is created in the structure view of the project:

NOTE: Using the shortcut menu and the Open command you can access the
IDENTITY structure.
Creating a Structure type with extracted bit
The user can create structure type using extracted bit.
The Bit Rank dialog box is accessible by right clicking on the instance or data type
which type must be:
z WORD
z UINT
z INT
z BYTE
z an extracted bit with a compatible parent

33003101 07/2012

311

Creating derived data types (DDT)

Step

Action

Double click in the Data Editor in the DDT Types tab on the empty field (marked by an arrow Name,
and enter the name of the structure type (e.g. MyDDT); the default type is <Struct>. Enter a comment
(optional).

Call up the newly created structure by clicking on +.


Example:

Double-click on the corresponding Name field and enter the name of the first element of the structure
(e.g. Extract, Extract1) and its type and comment (optional).
Example:

Double-click on the next cell (marked with an arrow) to enter the name of the next element etc.

312

33003101 07/2012

Creating derived data types (DDT)

Step

Action

Select the variable to create the extracted bit and right-click on the variable. The Edit Bit Rank is
available in the contextual menu list.
Example:

Here below is the Bit Rank dialog box:

33003101 07/2012

313

Creating derived data types (DDT)

Step

Action

Within the Bit Rank menu, the user can select to named each variable manually or automatically
using the Generate button.
NOTE: The Bit name can be edited manually directly in the Data Editor.

Go to the name of the structure type (MyDDT) and select Analyze Type in the shortcut menu.

Result: The structure was successfully analyzed (the symbol in front of the array
type has changed):

314

33003101 07/2012

Creating derived data types (DDT)

Result: The MyDDT structure is created in the structure view of the project:

NOTE: Using the shortcut menu and the Open command you can access the
IDENTITY structure.

33003101 07/2012

315

Creating derived data types (DDT)

Creating an array type


Step

Action

Double click in the Data Editor in the DDT Types tab on the empty field (marked by an arrow Name,
and enter the name of the array type (e.g. SERIAL_NUMBER); the default type is <Struct>. Enter a
comment (optional).

Double click on the Type field, select <Array>, and confirm by pressing Enter.
Result: The following window appears.

316

33003101 07/2012

Creating derived data types (DDT)

Step

Action

The ARRAY checkbox is automatically checked:


z Enter the size of the array in the corresponding field (e.g. 1..6),
z In the libraries/families area select the types that should be displayed:
z the <EDT> directory for an elementary type,
z the <Application> directory for a derived type already in the application,
z the <Libset> directory for a derived type archived in a library.
Example:

Confirm with OK.


4

33003101 07/2012

Change to the name of the array type and go to the shortcut menu and select Analyze Type.

317

Creating derived data types (DDT)

Result: The array was successfully analyzed (the symbol in front of the array type
has changed):

NOTE: Comments cannot be entered for the sub elements of the array type.
The array type SERIAL_NUMBERS is created in the project structure view:

NOTE: You can access the array of the SERIAL_NUMBER type in the context menu
using the Open command.

318

33003101 07/2012

Creating derived data types (DDT)

Administration of derived data types and their elements


Inserting an element into a derived data type
Execute the following steps:
Steps

Action

Display the desired data type in the data editor in the DDT Types tab.

Place the cursor on the element in front of which you want to insert another element and select the
Insert new command in the shortcut menu.
Inserting an element into an address element

Enter the attributes of the element into the newly created row.

Deleting an element belonging to a derived data type


Carry out the following steps:
Step

Action

Display the desired data type in the data editor in the DDT Types tab from which you wish to delete
the element.

Select the desired element.

Use the shortcut menu to select the Delete command.

NOTE: Elements belonging to protected data types cannot be deleted.

33003101 07/2012

319

Creating derived data types (DDT)

Deleting a derived data type:


Carry out the following steps:
Step

Action

Select the desired data type in the data editor in the DDT Types tab.

Using the context menu select the Delete command.

NOTE: Data types that exist as an instance in the application cannot be deleted.

320

33003101 07/2012

Creating derived data types (DDT)

Creating nested derived data types


Introduction
Data types that are part of the DDT family can be nested. The nesting can be
organized as follows:
z
z
z

in structures that contain arrays or structures,


in arrays that contain arrays or structures,
in a combination of these different nestings.

Array, that contains structures


Carry out the following steps:
Step

Action

Double click in the Data Editor in the DDT Types tab on the empty field (marked by an arrow Name,
and enter the name of the array type (e.g. PERSONNEL); the default type is <Struct>. Enter a
comment (optional).

Double click on the Typefield, select <Array>, and confirm by pressing Enter.
The following window appears.

33003101 07/2012

321

Creating derived data types (DDT)

Step

Action

The ARRAY checkbox is automatically checked:


z enter the size of the array in the corresponding field,
z In the libraries/families area select the following:
z the <EDT> directory for an elementary type,
z the <Applications> directory for a type already in the application,
z the <Library> directory for an already archived type.
See the following window:

Enable the DDTcheckbox, which will display the derived data types.

Select the desired structure in the Name column and confirm with OK.

Change to the name of the array type and go to the context menu and select Analyze Type.

NOTE: Comments cannot be entered for the sub elements of the array type.
NOTE: Changing the boundaries of an anonymous array lead to the lost of the initial
values of that array. Those values must be re-entered after the modification.

322

33003101 07/2012

Creating derived data types (DDT)

Array of the type PERSONNEL that contains structures of the type IDENTITY:

Structure containing a structure


Execute the following actions (provided a structure exists):
Step

Action

Click on + to display the type of the structure in the DDT Types tab in the data editor, to which you
want to add an element.

Double click on the empty Namefield and enter the name of the new structure type element. Enter a
comment (optional).

3
Double-click on the corresponding Type field and click on
The following window appears.

33003101 07/2012

323

Creating derived data types (DDT)

Step

Action

z In
z
z
z

the libraries/families area select the


<EDT> index for an elementary type,
the <Applications> directory for a type that already exists in the application,
<Library> for an already archived type.

See the following window:

Enable the DDT checkbox, which will display the derived data types.

Select the desired structure in the Name column and confirm with OK.

Switch to the name of the structure type and select the Analyze Type entry in the context menu.

324

33003101 07/2012

Creating derived data types (DDT)

Example: IDENTITY structure that contains an INFORMATION structure of the


STATUS type.

Combination of the different nestings.


The following example shows:
z
z
z

a PERSONNEL array consisting of IDENTITY type structures,


IDENTITY structures containing STATUS type structures,
STATUS structures containing arrays of the NAME_CHILD type.

Example:

33003101 07/2012

325

Creating derived data types (DDT)

Save Derived Data Types (DDT)


Description of how to save
You can copy the data types you created into your library to reuse them in another
project.
Filing a data type in the library
Carry out the following steps:
Step

Action

Select the DDT Types tab in the Data Editor.

Select the data type that you want to save in the library.

Using the shortcut menu select the Copy into Library command.
The following dialog box opens:

Show the desired family to select the directory where you want to archive the
data type.

Confirm with OK.

NOTE: This procedure can also be started from the project browser in the Derived
Data Types directory.
Restoring a data type in the library
See loading an object from the library. (see page 282)
326

33003101 07/2012

Unity Pro
Creating user function blocks (DFB)
33003101 07/2012

Creating data types of user


function blocks (DFB)

11

Creation and Management of Data Types and Function Blocks (DFB)


At a Glance
See Users Function Blocks, page 1183.
This chapter explains the DFB Types tab modes of the Data Editor with the following
description:
z
z
z
z
z
z

33003101 07/2012

Accessing the DFB Types,


creating a DFB Type,
Programming a DFB Type,
Managing the elements of a DFB Type,
Nestling of the DFB Types,
Saving DFB Types,

327

Creating user function blocks (DFB)

328

33003101 07/2012

Unity Pro
Managing instances of data belonging to the family of function blocks (EF)
33003101 07/2012

Managing of instances of data


belonging to the family of function
blocks (EF)

12

Object of this chapter


This chapter guides the user through the creation and management of data
instances belonging to block function types such as:
z
z

Elementary function blocks (EFB),


Derived function blocks (DFB).

What Is in This Chapter?


This chapter contains the following topics:
Topic

33003101 07/2012

Page

Creating / Deleting a variable instance of function blocks (EFB/DFB)

330

Displaying function block variable instances in the editor

333

Changing the attribute for variable instances in a function block

336

329

Managing instances of data belonging to the family of function blocks (EF)

Creating / Deleting a variable instance of function blocks (EFB/DFB)


Creating a function block instance
Carry out the following steps:
Steps

Actions

In the Data Editor select the function blocks tab.

Double-click the empty cell for Name (marked with an arrow), enter the name of the instance and
confirm by pressing the Enterbutton.

3
Double-click on the corresponding Type field and click on
The following window appears:

330

33003101 07/2012

Managing instances of data belonging to the family of function

Steps

Actions

In the libraries/families area select the following:


z the <Applications> directory for a type already in the application,
z the <Library> directory for an already archived type.
Example: Select an EFB type archived in the Diagnostics library:

33003101 07/2012

In the Name column select the EFB or DFB type and confirm with OK.

331

Managing instances of data belonging to the family of function blocks (EF)

Example:

Deleting a function block instance


Instances that are accessed at least once cannot be deleted in the data editor.
Example from an ST section:
FBI_1(IN:=TRUE, OUT=>VarA);
The application explained above will block the deletion because FBI_1 is accessed.
VarA:=FBI_1.OUT
The application explained above will not block the deletion because FBI_1 is not
accessed.

332

33003101 07/2012

Managing instances of data belonging to the family of function

Displaying function block variable instances in the editor


Display sequence in a column
The variable instances can be displayed in ascending or descending alphabetical
order. This sequence will be used in a column chosen by you.
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

Sorting in ascending alphabetical order in the column Type

33003101 07/2012

333

Managing instances of data belonging to the family of function blocks (EF)

Displaying elements from one function block instance


To show the elements that belong to an instance of the function block type, carry out
the following actions:
Step

Action

In the Data Editor select the function blocks tab.

Click on the + beside the instance of the desired function block type and the
elements will then be shown on screen.

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 Control_Process of the type EFB

Displaying the attributes


For an unopened window Data Properties:

334

Step

Action

In the Data Editor select the function blocks tab.

Select the variable instance.

From the context menu select the command Data Properties and the attributes
will be displayed in a window.

33003101 07/2012

Managing instances of data belonging to the family of function

Example:

For a window that is already open Data Properties:


After the instance has been chosen, the window Data properties is updated
automatically with the display for the attribute in question.
Sorting the variable instances
See Filtering of Data, page 377.

33003101 07/2012

335

Managing instances of data belonging to the family of function blocks (EF)

Changing the attribute for variable instances in a function block


Detailed information
The internal organization of a variable instance of function blocks (input / output
parameters, public / private variables, code) cannot be changed from the instances,
but must be performed from the type of the instance DFB Types) tab.
The changes listed below do not effect the internal organization of the function block,
but rather its instantiation.
Changing the name of an instance
Carry out the following steps:
Step

Action

In the Data Editor select the function blocks tab.

Double-click on the instance name, enter the new name, and confirm with Enter.

NOTE: the instance name can only be used once.


Changing the type of an instance
There are three options.
In the Data Editor Function blocks tab:
Double-click on the variable type and ...

then...

enter the desired type,

depending on the input, an automatic search is


carried out.

336

use the type field

select the desired type.

click the button

select the type in the "FB type selection"


(see page 373) window.

33003101 07/2012

Managing instances of data belonging to the family of function

Reactions to type changes of an instance.


If the type of an FB instance is changed in the Data Editor, the access will be
adjusted to the instance.
The access is adjusted as follows:
The connections are mapped with pin positions.
Note: Compatibility of data types will not be checked, which means that errors
may occur during the analysis following the adjustment.
z Excess pins of the new type remain unused.
z The connections of pins that no longer exist in the new type are lost.
z

IL and ST sections:
If necessary, formal parameters in IL and ST sections will be renamed according to
the new block during formal access. The number of actual parameters will be
adjusted during informal access.
NOTE: Instance access in IL or ST sections will only be adjusted if required by the
type change. However, if an adjustment is made, the old access will be removed and
replaced with a generated access. This means that all comments and formatting
contained in the old access will be lost.
FBD and LD sections
The new type will be displayed in the FBD and LD sections following the adjustment.

33003101 07/2012

337

Managing instances of data belonging to the family of function blocks (EF)

338

33003101 07/2012

Unity Pro
Managing variable instances belonging to the EDT/DDT/IODDT/Device DDT families
33003101 07/2012

Managing variable instances


belonging to the
EDT/DDT/IODDT/Device DDT
families

13

Object of this chapter


This chapter guides the user through the creation and management of variable
instances belonging to the following families:
z Elementary data types (EDT)
z Derived Data Types (DDT)
z Derived Data Types that reference IODDT inputs/outputs (input / output data
types)
z Device Derived Data Types (Device DDT)
What Is in This Chapter?
This chapter contains the following topics:
Topic
Creation of EDT type variable instances

33003101 07/2012

Page
340

Creation of variable DDT type instances

342

Creating a type IODDT variable instance

349

Creating a type Device DDT Variable instance

352

Managing an IODDT, DDT or an Array type instance

355

Creation of multiple variable instances

360

Displaying the variable instances in the editor

362

Changing attributes of variable instances

365

339

Managing variable instances belonging to the EDT/DDT/IODDT/Device DDT families

Creation of EDT type variable instances


Instance of an unlocated variable
Creating the instance of an unlocated variable:
Step

Action

Select the Variables tab in the data editor.

Double-click on the empty cell Name (marked with an arrow) and enter the name
of the instance.

Double-click on the Type cell and enter the type of the instance.

Enter a comment if necessary.

Example:

Instance of a located variable


Creating an instance of a located variable:
Step

Action

Select the Variables tab in the data editor.

Double-click on the empty cell Name (marked with an arrow) and enter the
name of the instance.

Double-click on the Type cell and enter the type of the instance.

Double-click on the Address cell and enter the storage address for the
controller.

Enter a comment if necessary.

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


assignment).

340

33003101 07/2012

Managing variable instances belonging to the EDT/DDT/IO-

Example:

Instance with direct addressing


Creating an instance with direct addressing
Step

Action

Double-click on the empty Address cell and enter the storage address for the
controller.

Enter a comment if necessary.

Example:

33003101 07/2012

341

Managing variable instances belonging to the EDT/DDT/IODDT/Device DDT families

Creation of variable DDT type instances


Structure type instance
Creating a Structure type instance:
Step

Action

Select the Variables tab in the data editor.

Double-click on the empty cell Name (marked with an arrow) and enter the name of the instance. Enter
a comment (optional).

Double-click on the corresponding Type field and click on.

The following window appears.

In the libraries/families area select the following:


z the <Application> directory for an existing type in the application.
z the <Libset> directory for an already archived type.

Enable the DDT checkbox, which will display the derived data types.

Select the desired structure type in the Name column and confirm with OK.

Fill out the Value column to initialize the elements of the structure. To carry out this task, click on + to
show the structure.

342

33003101 07/2012

Managing variable instances belonging to the EDT/DDT/IO-

Example:

NOTE: The comments will be transferred to the selected structure type, but they
may be changed for the applicable instance.

33003101 07/2012

343

Managing variable instances belonging to the EDT/DDT/IODDT/Device DDT families

Instance of a non-typical array.


What is a non-typical array?

NOTE: My_Tab1 and My_Tab2 are two identical instances. The difference is that
the type of the My_Tab1 instance was previously defined (the name of the Type is
Tab) while the type of the My_Tab2 instance was defined during instancing.
Creating an instance for a non-typical array:
Step

Action

Select the Variables tab in the data editor.

Double-click on the empty cell Name (marked with an arrow) and enter the name of the instance.
Enter a comment (optional).

3
Double-click on the corresponding Type field and click on
The following window appears.

344

33003101 07/2012

Managing variable instances belonging to the EDT/DDT/IO-

Step
4

Action
Enable the Array check box and
z fill in the field with the size of the array (example 1..6),
z In the libraries/families area select the types that should be displayed:
z the <EDT> directory for an elementary type,
z the <Application> directory for an existing derived type in the application,
z the <Libset> directory for a derived type archived in a library.
z Select the type for the elements of the array in the Name column (Example: STRING for an EDT).

Example:

Confirm with OK.


5

33003101 07/2012

Fill out the Value column to initialize the elements of the array as needed. To carry out this task, click
on + to show the elements.

345

Managing variable instances belonging to the EDT/DDT/IODDT/Device DDT families

Example:

NOTE: Enter comments for the sub-elements of this instance of a non-typical array.

346

33003101 07/2012

Managing variable instances belonging to the EDT/DDT/IO-

Type Array instance


Creating an Array type instance:
Step

Action

Select the Variables tab in the data editor.

Double-click on the empty cell Name (marked with an arrow) and enter the name of the instance.
Enter a comment (optional).

Double-click on the corresponding Type field and click on.

The following window appears.

In the libraries/families area select the following:


z the <Applications> directory for a type already in the application,
z the <Libset> directory for a derived type archived in a library.

Enable the DDT checkbox, which will display the derived data types.

Select the desired array type in the Name column and confirm with OK.

Fill out the Value column to initialize the elements of the array as needed. To carry out this task, click
on + to show the elements.

33003101 07/2012

347

Managing variable instances belonging to the EDT/DDT/IODDT/Device DDT families

Example:

NOTE: Comments cannot be entered for the sub elements of this instance of an
array.
NOTE: If you resize an array variable type, you will lose the comments and the initial
values of the elements of the array.

348

33003101 07/2012

Managing variable instances belonging to the EDT/DDT/IO-

Creating a type IODDT variable instance


Type IODDT instance
The data types (structures) have been predefined by the manufacturer and
contain I/O language objects belonging to the channel of an application specific
module (or the module itself).
Perform the following steps to create a type IODDT instance:
Step

Action

Select the Variables tab in the data editor.

Double-click on the empty cell Name (marked with an arrow) and enter the name of the instance.

Double-click on the corresponding Type field and click on it .

The following window appears.

33003101 07/2012

349

Managing variable instances belonging to the EDT/DDT/IODDT/Device DDT families

Step

Action

In the Library/Family area, display the <Catalog> index.


The following window appears.

Select the Type of Controller, Function and the corresponding IODDT Type.
Confirm with OK.

Example: Instance ENTRY_PRESSURE of Type T_ANA_IN_BMX:

350

33003101 07/2012

Managing variable instances belonging to the EDT/DDT/IO-

Linking to the application specific module


Step

Action

Select the Variables tab in the data editor.

Enable the IODDT checkbox, which will display instances of Type IODDT.

Select the IODDT instance based on which the link will be created.

Enter the address of the module or its future storage location in the Address column (it is not
necessary to configure the module during this phase).
Example:

Rules
Follow the rules below:
z
z
z
z
z

33003101 07/2012

An IODDT data type cannot be nestled in a DDT data type.


An IODDT data type cannot be nestled in another IODDT data type.
A public or private variable of a DFB cannot be an IODDT type.
An input / output parameter of a DFB may be of Type IODDT. However, you can
only use those IODDT types that are listed in the Variable Type Selection menu.
An IODDT instance cannot be accessed from a DFB section.

351

Managing variable instances belonging to the EDT/DDT/IODDT/Device DDT families

Creating a type Device DDT Variable instance


Type Device DDT instance
When adding an I/O module to the remote rack the Unity Pro software will
automatically instantiated the associated Device DDT structure.
Each I/O modules are associated with one implicit device DDT instances:
Implicit Device DDT instances are created by default on device insertion and
refreshed automatically by the PLC. They contain the modules status, modules
and channels health bits, values of the modules inputs, values of the modules
outputs, etc.

NOTE: Optional Explicit DDT types are proposed in the data editor to support Status
or Command data used by explicit exchanges on a Channel of an IO Modules in a
M340 remote I/O drop. Explicit DDT instances are created manually by the user in
the data editor and used as Input or Output Parameter with the Function block
managing the explicit exchange (READ_STS_QX, WRITE_CMD_QX).
Perform the following steps to create a type Device DDT instance:
Step

Action

Select the Variables tab in the data editor.

Double-click on the empty cell Name (marked with an arrow) and enter the name of the instance.

Double-click on the corresponding Type field and click on it .

The following window appears.

352

33003101 07/2012

Managing variable instances belonging to the EDT/DDT/IO-

Step

Action

In the Library/Family area, display the <Libset vx.0> index.


Where x indicated the Unity Pro software version.
The following window appears:

Select the I/O Management, Function and the corresponding Device DDT Type.
Confirm with OK.

Example: Instance COM_DeviceDDT of Type T_M_COM_NOM:

33003101 07/2012

353

Managing variable instances belonging to the EDT/DDT/IODDT/Device DDT families

Linking to the application specific module


Step

Action

Select the Variables tab in the data editor.

Enable the Device DDT checkbox, which will display instances of Type Device DDT.

Select the Device DDT instance based on which the link will be created.

Enter the address of the module or its future storage location in the Address column (it is not
necessary to configure the module during this phase).
Example:

354

33003101 07/2012

Managing variable instances belonging to the EDT/DDT/IO-

Managing an IODDT, DDT or an Array type instance


Adding an alias
An alias name can be given to all elements of an IODDT, DDT or an Array type
instance of application.
The aliases can be created with the following rules:
z The alias descriptions are only allowed for elements of type IODDT, DDT or an
Array.
z The type and address for an alias cannot be changed as these attributes are
defined by the IODDT, DDT or an Array
z Name and Comment can be changed.
z The alias displays the initial value of a DDT or Array element.
This procedure below is used for customizing elements used to make up a DDT
instance, however the procedure is the same for an IODDT or Array instance.
Step

Action

Create one or more variable instances you want to customize that are identical with the elements of
the IODDT / DDT / Array.
For example AliasValue and AliasValid:
DED

Data Editor

Variables
Filter

DDT Types

Function blocks
Name

Name
AliasValue
AliasValid
DDT_Inst1
Value
Valid
History
History[0]
History[1]
History[2]
History[3]
History[4]
Complement
TestNr
Errors

33003101 07/2012

DFB Types

EDT

Type
INT
BOOL
My_DDT
INT
BOOL
ARRAY[0..4] OF INT
INT
INT

Address

INT
INT
INT
Infos
INT
INT

%MW14
%MW15
%MW16
%MW17
%MW17
%MW18

Value

DDT

IODDT

Comment

%MW10
%MW10
%MW11
%MW12
%MW12
%MW13

Select an element of the DDT_Inst1 instance (for example Value) that you want to assign to the
previously created AliasValue instance.
Alternatively, the user can also assign a new symbol as alias. In this case the alias variable is
automatically be created with the type of the current element.

355

Managing variable instances belonging to the EDT/DDT/IODDT/Device DDT families

Step

Action

Using the shortcut menu select the Properties command.


The Data properties field opens:
Data Properties : DDT_Inst1.Value
General attributes
Name
Path name
Name
Comment
RW program
Type
Category
Size
Value

Value
DDT_Inst1.Value
Value

INT
<EDT>
2

Address
Alias

In the Alias area enter the element AliasValue and then do the same for all elements that you want
to assign.
Along with the alias names and the elements of the DDT a symbol is shown.
DED

Data Editor

Variables

DDT Types

Filter

Function blocks
Name

Name
AliasValid
DDT_Inst1
Value
Valid

DFB Types

EDT

Type
BOOL
My_DDT

Address
%MW10
%MW10

INT
BOOL

%MW10
%MW11

Value

DDT

IODDT

Alias

AliasValue

NOTE: The user can directly enter the AliasValue in the Alias column.

356

33003101 07/2012

Managing variable instances belonging to the EDT/DDT/IO-

The "Data Properties" window


The Data properties window can be opened from the IODDT structure, DDT
structure or an Array element. In such a case Alias is the structure attribute; it
contains the names of the variables.
Example:
Data Properties : DDT_Inst1.Value
General attributes
Name
Path name
Name
Comment
RW program
Type
Category
Size
Value
Address
Alias

Value
DDT_Inst1.Value
Value

INT
<EDT>
2

AliasValue

The Data properties window can also be opened from the Alias instance. In such
a case Alias of is an instance attribute; it contains the names of the elements of the
IODDT structure, DDT structure or an Array element.
Example:
Data Properties : AliasValue
General attributes
Name
Name
Comment
Address
RW program
Alias of
Constant
Save
Global data
Owner
Type
Category
Size
Used
Custom

33003101 07/2012

Value
AliasValue

DDT_Inst1.Value

NO
INT
<EDT>
2
0

357

Managing variable instances belonging to the EDT/DDT/IODDT/Device DDT families

Disconnecting an alias
Step

Action

Select the element from the appropriate IODDT structure, DDT structure or Array element.

From the shortcut menu select the command Properties, and the following dialog box will appear.
Dialog box:
Data Properties : DDT_Inst1.Value
General attributes
Name
Path name
Name
Comment
RW program
Type
Category
Size
Value

Value
DDT_Inst1.Value
Value

INT
<EDT>
2

Address
Alias

AliasValue

Double-click on the target alias, delete the element in edit mode (AliasValue) and confirm.
The symbols shown on the element disappear:
DED

Data Editor

Variables

DDT Types

Filter

Function blocks
Name

Name
AliasValid
DDT_Inst1
Value
Valid

DFB Types

EDT

Type
BOOL
My_DDT

Address
%MW10
%MW10

INT
BOOL

%MW10
%MW11

Value

DDT

IODDT

Alias

NOTE: Alternatively, the user can directly delete the name in the column Alias or
AliasOf.
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, DDT structure or an Array element contains the original
manufacturer-defined name again.
Alias on sub fields of existing Alias
The user can set the alias on a sub field of an IODDT structure, DDT structure or an
Array element that is already an alias.
Example: AliasComplement is alias of DDT_Inst1.Complement and AliasTestNr
is alias of AliasComplement.TestNr.

358

33003101 07/2012

Managing variable instances belonging to the EDT/DDT/IO-

Management of initial value for an alias


The initial value of an alias is the initial value on the sub field of DDT or Array. This
sub field path is given by attribute Alias OF. So when you get or set the initial value
on an Alias in fact you get it or set it on the sub field path given by attribute Alias OF.
Example: Initial value of alias "AliasValue" is the initial value given on path
"DDT_Inst1.Value". (12 in the following example screen)
DED

Data Editor

Variables

DDT Types

Filter

Function blocks
Name

Name
AliasComplement
AliasTestNr
AliasValid
AliasValue
DDT_Inst1
AliasValue
Valid
History
History[0]
History[1]
History[2]
History[3]
History[4]
Complement
TestNr
Errors

DFB Types

EDT

Type
Infos
INT
BOOL
INT
My_DDT

Address

Value

Comment

12

INT
BOOL
ARRAY[0..4] OF INT

12

DDT

IODDT

Alias OF

Global data
NO
AliasComplement NO
NO
DDT_Inst1.V
NO
NO
DDT_Inst1.V

INT
INT
INT
INT
INT
Infos
INT
INT

Additionaly if we get or set initial value of DDT_Inst1.Complement.Errors you will


get or set initial value on AliasComplement.Errors, because AliasComplement
is an alias on DDT_Inst1.Complement (see following figure).
DED

Data Editor

Variables

DDT Types

Filter

Name

Name
AliasComplement
TestNr
Errors
AliasTestNr
AliasValid
AliasValue
DDT_Inst1
AliasValue
Valid
History
Complement
TestNr
Errors

33003101 07/2012

Function blocks
=

DFB Types

Type
Infos
INT
INT
INT
BOOL
INT
My_DDT
INT
BOOL
ARRAY[0..4] OF INT
Infos
INT
INT

EDT
Address

Value

Comment

DDT

Alias OF

IODDT
Global data
NO

AliasComplement
37

12
12

AliasComplement NO
NO
DDT_Inst1.V
NO
NO
DDT_Inst1.V

37

359

Managing variable instances belonging to the EDT/DDT/IODDT/Device DDT families

Creation of multiple variable instances


Procedure
There are two possibilities for this:
using the Copy/Paste function,
z using the Import function.
z

Copying / pasting of instances.


The following procedure shows the method to create and rename an instance,
following defined rules, using the Copy/Paste function:
Step

Action

Select the Variablestab in the data editor.

Select the desired instances (rows).

Using the context menu select the Copy command.

360

33003101 07/2012

Managing variable instances belonging to the EDT/DDT/IO-

Step

Action

Select an open position (row) from which the instances will be copied.

From the context menu select the command Insert and the new instances will be created and renamed.
Example:

NOTE: Renaming Rules:


z

From a name of the instance <Name>_<Number> or <Name> results after


renaming <Name>_<Number+1> or <Name_0>.

Importing instances
See "Importing Variables" (see page 1727).

33003101 07/2012

361

Managing variable instances belonging to the EDT/DDT/IODDT/Device DDT families

Displaying the variable instances in the editor


Display sequence in a column
The variable instances can be displayed in ascending or descending alphabetical
order. This sequence will be used in a column chosen by you.
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

Sorting in ascending alphabetical order in the column Type

362

33003101 07/2012

Managing variable instances belonging to the EDT/DDT/IO-

Display the elements of an instance of the "derived" type


To show the elements that belong to an instance of the "derived" type (structure or
array), carry out the following steps:
Step

Action

Select the Variables tab in the data editor.

Enable the DDT check box.

Click on the + beside the instance of the desired structure or array type and this
will then be shown on screen.

Run the operation again if you want to display an interlaced element.

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

33003101 07/2012

363

Managing variable instances belonging to the EDT/DDT/IODDT/Device DDT families

Displaying the instance attributes


For anunopened field Data Properties:
Step

Action

Select the Variables tab in the data editor.

Select the desired instance.

Select the Properties command from the shortcut menu and the attributes will
be displayed in a window.

Example:

For a window that is already open Data Properties:


After the instance has been chosen, the window Data properties is updated
automatically with the display for the attribute in question.
Sorting the variable instances
See Filtering of Data, page 377

364

33003101 07/2012

Managing variable instances belonging to the EDT/DDT/IO-

Changing attributes of variable instances


Changing the name of an instance
Carry out the following steps:
Step

Action

Select the Variables tab in the data editor.

Double-click on the instance name and enter the new name.

NOTE: The instance name can only be used once.


Changing the type of an instance
There are three options.
In the Data Editor select the Variables tab:
Double-click on the variable type and ...

then...

enter the desired type


select the desired type

use a Type from the list

click the button

select the appropriate type


in the "Variables type
selection" (see page 373)
window

Changing the address of an instance


Carry out the following steps:
Step

Action

Select the Variables tab in the data editor.

Double-click on the instance address and enter the new address.

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


assignment).

33003101 07/2012

365

Managing variable instances belonging to the EDT/DDT/IODDT/Device DDT families

Changing an attribute in the "Data Properties" field


Carry out the following steps:
Step

Action

Select the Variables tab in the data editor.

Select the desired instance.

Use the shortcut menu to select the Properties command.

In the Data properties field select the desired attribute.

Change the attribute.

Assigning an address for the CD_MOTOR1 instance (the variable is located):

Changing the attribute in several instances


Carry out the following steps:
Step

Action

Select the Variables tab in the data editor.

Select the desired instances.

Use the shortcut menu to select the Properties command.

Select the desired attribute in the Data Properties window.

Change the attribute.

NOTE: For this functionality the following restrictions apply:


z
z

366

names and addresses cannot be changed,


the contents of the attribute to be changed must be the same for all selected
instances,

33003101 07/2012

Managing variable instances belonging to the EDT/DDT/IOz


z

the change must be tolerated by all the instances selected,


for sub-element instances with different superior elements, multiple selections
are 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.

Rule for instances of the type Structure


The internal organization of an instance of type structure (type, that belongs to the
DDT family) cannot be changed via the instance, but rather via the type of the
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.

33003101 07/2012

367

Managing variable instances belonging to the EDT/DDT/IODDT/Device DDT families

368

33003101 07/2012

Unity Pro
General Functions
33003101 07/2012

General Functions

14
Object of this chapter
This chapter guides the user through the use of the general features available in the
data editor.
What Is in This Chapter?
This chapter contains the following topics:
Topic
Configuring the Data Editor columns

33003101 07/2012

Page
370

Description of the Data Editor: Variable type selection

373

Filtering of Data

377

Exporting a subset of variables

382

Analyze DDT and DFB Data Types

383

Purge of Unused Instances

384

Local printing of data

386

Save the context of the Data Editor

387

369

General Functions

Configuring the Data Editor columns


Introduction
In every Data 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.
Columns Available
The following table showns the different columns available in the Data Editor under
various tabs.

370

Column Name

Description

Name

name of the instance or data type

Type

data type

Address

address in the controller for referencing the variables

984 Address

LL984 address of the variable (%Mx = 00000x, %Ix = 10000x,


%IWx = 30000x, %MWx = 40000x)
This column is only available for Quantum PLCs (but not for
Quantum Safety PLCs).

Value

initial value for the variables

Comment

comment for the variables

Custom

free text for use of an external tool or for special user requirements

Global data

Shows if the variable is a variable that was swapped between


different stations via the network.

Global data
- Group

number of the group (the variables) in which the variable is


transported

Global data
- ID

number for the unique display of a variable in the group (the


variables)

Alias

name selected by the user which makes it possible to change an


IODDT, DDT or an Array element to a name defined by the
manufacturer or the user

Alias of

complete path of the variable sub-field on which user sets Alias


attribute

Save

Shows if the variable accepts the mechanism for updating initial


values with current values.

Used

number of times the variables are used in the program and in other
parts of the project (animation tables, user windows)

RW program

Shows if the variable can or can not be written by the program.

Constant

Shows if the variable is a constant or not.

33003101 07/2012

General Functions

Column Name

Description

Descriptor

descriptors (1 to 9) of variables
Descriptor 1 is displayed after selecting this column in the
Column Configuration dialog. Descriptors 2 to 9 can be
displayed using the + sign in the Descriptor column header.

No.

order number of a function block

Version

type version

HMI

When General Project Settings Data Dictionnary Only


HMI variables is checked, this reduces memory usage.

Defining Columns
Step

Action

Select the desired tab in the Data Editor.

Via the context menu open the Column Configuration dialog using Customize Columns.
The following dialog appears.

Check the check boxes that correspond to the columns you wish to display.

Confirm the changes using the command OK.

NOTE: The Name and Type columns are required.


33003101 07/2012

371

General Functions

Description of the buttons


Button

Description

OK

confirms the configuration and exits the dialog

Cancel

discards the changes and exits the dialog

Default

restores the default configuration

Help

opens the Help of the Column Configuration dialog

Changing the Columns Sequence


Step

Action

Select the desired tab in the Data Editor.

Via the context menu open the Column Configuration dialog using Customize
Columns.

Place the cursor on the chosen attribute and move it to the desired location by
clicking on the two buttons to the right of the window.

Confirm by clicking OK.

NOTE: The first column must always correspond with the attribute Name.

372

33003101 07/2012

General Functions

Description of the Data Editor: Variable type selection


Introduction
The Data Editor: Variable Type Selection provides the following options:
z Selection:
z of derived data types (typical structures/arrays),
z the function block data types (EFB\DFB),
z

Creating non-typical arrays.

At a Glance
Data Editor: You can access the variables type selection by double-clicking on
the Type column and clicking on

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:
Variables:

33003101 07/2012

373

General Functions

DDT Types:

Function blocks:

NOTE: Access to the editor for the selection of the data types is not possible via the
DFB types tab.

374

33003101 07/2012

General Functions

Description of the area Libraries/Families


This area contains directories and subdirectories where various selectable data
types are classified.
If you choose one of the directories or subdirectories, the types for the right-hand
side of the columns Name/Type/Comment are shown.
z The directory <Application> shows the data types used in the project:
z the Derived Data Types (DDT); the checkbox DDT must be enabled.
z the Derived Function Block (DFB); the DFB checkbox must be enabled.
z the Derived Data Types that refer to the inputs/outputs (IODDT); the IODDT
checkbox must be enabled.
z the data types for the elementary function blocks (EFB); the EFB checkbox
must be enabled,
z the Device Derived Data Types (DDDT); the Device DDT checkbox must be
enabled.
z
z

33003101 07/2012

the <EDT> directory shows the types for the elementary data,
the <Libset> 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 DDT checkbox must be enabled.
z the data types for the sequence controls (SFC); the DDT checkbox must be
enabled,
z the data types for the derived function blocks (DFB); the DFB checkbox must
be enabled,
z the elementary function blocks (EFB); the EFB checkbox must be enabled,
z the Device Derived Data Types (DDDT); the Device DDT checkbox must be
enabled.
the <Catalog> directory that shows the derived data types that reference
inputs/outputs (IODDT) from the manufacturer; the IODDT checkbox must be
enabled.

375

General Functions

ARRAY checkbox
If this checkbox is enabled, you can use the editor to select the array types to have
a single size or several sizes (maximum six dimensions).
Example: Array with two dimensions 10x4 Dint

Filtering
You can create filters in the data editor to display the data types according to your
requirements.
The Name field 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
defined in the field Name.

updates the display corresponding to the filter term

Clicking on this button


opens the Filtering data (see page 378) dialog box
where you can define various filter attributes.

Clicking on this button


vice versa.

376

inverts the filter. The button changes from = to <> and

33003101 07/2012

General Functions

Filtering of 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.
Variables

DDT Types or DFB Types

Function Blocks

Description of the different fields:

33003101 07/2012

Area

Purpose

Button

Clicking on this button updates the display corresponding to the filter term
defined in the name field.

Button

Clicking on this button opens the Filtering data dialog box where you can
define the conditions for the individual attributes.

Button

Clicking on this button inverts the filter. The button changes from = to <>
and vice versa.

377

General Functions

Area

Purpose

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 enabled check box authorizes the display of the Elementary Data
Types (EDT).

EFB

The enabled check box authorizes the display of the Elementary Function
Blocks (EFB).

DDT

The enabled check box authorizes the display of the Derived Data Types
(DDT).

DFB

The enabled check box authorizes the display of the Derived Function
Blocks (DFB).

IODDT

The enabled check box authorizes the display of the Derived Data Types
(DDT) that reference inputs/outputs (IODDT).

Device DDT

The enabled check box authorizes the display of the Derived Data Types
(DDT).

The dialog box Filtering data


The dialog box Filtering data makes it possible to:
view the current filter conditions,
z change the current filter conditions,
z define new filter conditions.
z

The contents of the Filtering data dialog box depends on the tab from which it was
called.
Dialog box opened via the Variables tab:

378

33003101 07/2012

General Functions

Dialog box opened via the DDT types tab:

Dialog box opened via the Function blocks tab:

Dialog box opened via the DFB types tab:

33003101 07/2012

379

General Functions

Description of the dialog box columns Filtering data


Description:
Column

Description

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 disabled

inverted enabled

Comment

Free text
e.g. *motor*

All variables whose comment


attribute contains the word
Motor are filtered.

All variables whose comment


attribute does not contain the
word Motor are filtered.

Type

Free text
e.g. Int

All variables of data type Int are All variables not of data type
filtered.
Int are filtered.

Address

Free text
e.g. %MW1

All variables with the address


%MW1 are filtered.

All variables that do not have


the address %MW1 are filtered.

Global data

Yes

All variables defined as global


data are filtered.

All variables not defined as


global data are filtered.

Alias Of

Yes

All variables defined as an alias


are filtered.

All variables not defined as an


alias are filtered.

Value

Custom

All variables defined with an


initial value are filtered.

All variables not defined with


an initial value are filtered.

Save

Apply

All variables that accept saving


and restore operations are
filtered.

All variables that do not accept


saving and restore operations
are filtered.

Constants

Yes

All variables defined as


constants are filtered.

All variables not defined as


constants are filtered.

Custom

Free text
e.g. *HMI*

All variables are filtered if their


user-defined text (free text for
use in an external tool or for
special user requirements)
contains the word HMI.

All variables whose userdefined text does not contain


the word HMI are filtered.

Used

>0

All variables used in the project


are filtered.

All variables not used in the


project are filtered.

380

33003101 07/2012

General Functions

Options for defining a filter for DDT types:


Name

Condition

inverted disabled

inverted enabled

Comment

Free text
e.g. *Motor*

All DDT types whose comment


attribute contains the word
Motor are filtered.

All DDT types whose comment


attribute does not contain the
word Motor are filtered.

Options for defining a filter for Function Blocks:


Name

Condition

inverted disabled

inverted enabled

Comment

Free text
e.g. *Motor*

All function blocks whose


comment attribute contains the
word Motor are filtered.

All function blocks whose


comment attribute does not
contains the word Motor are
filtered.

Diag.

Apply

All function blocks that accept


the attribute Diag. are filtered.

All function blocks that do not


accept the attribute Diag. are
filtered.

Type

Free text
e.g. TON

All function blocks of type TON


are filtered.

All function blocks not of type


TON are filtered.

Custom

Free text
e.g. *HMI*

All function blocks are filtered if


their user-defined text (free text
for use in an external tool or for
special user requirements)
contains the word HMI.

All function blocks whose userdefined text does not contain


the word HMI are filtered.

Used

>0

All function blocks used in the


project are filtered.

All function blocks not used in


the project are filtered.

Options for defining a filter for DFB types:


Name

Condition

inverted disabled

inverted enabled

Comment

Free text
e.g. *Motor*

All DFB types whose comment


attribute contains the word
Motor are filtered.

All DFB types whose comment


attribute does not contain the
word Motor are filtered.

Diag.

Apply

All DFB types that accept the


attribute Diag. are filtered.

All DFB types that do not


accept the attribute Diag. are
filtered.

Protection

Protected

All protected DFB types are


filtered.

All non-protected DFB types


are filtered.

33003101 07/2012

381

General Functions

Exporting a subset of variables


Introduction
The chapter Import / Export, page 1701 explains how to export variables.
However, all variables and FB instances, and subsets, were always exported (EDT,
DDT, IODDT, EFB, DFB).
In addition, a subset of variables may be filtered out and/or selected via the Data
Editor and only this subset will then be exported.
Filter
Filter the variables as described in the chapter Filtering of Data, page 377.
Selecting
Click on a variable to select it in the Data Editor. You can select multiple variables
by holding down the Alt or Ctrl keys.
Export
Export the filtered or selected variables via the context menu (right-click).

382

33003101 07/2012

General Functions

Analyze DDT and DFB Data Types


At a Glance
DDT (Derived Data Types) and DFB (Derived Function Block) will have one of the
following status after setup:
z
z

Status "in Process",


Status "after the analysis".

This means that the data are instantiated with a type that is in process. The created
instance has characteristics of the prior type that was analyzed prior to processing.
After the analysis, to the extent that the type has no errors, the applicable instances
within the application will be updated..
Local analysis of data
Running the local analysis checks the selected data type for compatibility with the
corresponding instances throughout the entire project.
For DFB types, each section of the type is analyzed separately..
Perform the following steps to start a local analysis:
Step

Action

Select the desired data type in the DDT Types or DFB Types tab.

Select the Analyze Typecommand from the shortcut menu.

Check the result of the analysis in the Display Window on the lower part of the
window.

NOTE: Double-click on an error row in the display window to go to the source of the
error.
Global analysis of data
Running the global analysis checks all selected data types for compatibility with the
corresponding instances throughout the entire project.
Perform the following steps to start a global analysis:
Step

Action

Select the Generate> Analyze Project command in the menu.

Check the result of the analysis in the display window on the lower part of the
window.

NOTE: Double-click on an error row in the display window to go to the source of the
error.

33003101 07/2012

383

General Functions

Purge of Unused Instances


Overview
To purge unused instances of EDTs, EFBs and DFBs the Data Editor tabs provide
the respective context menus.
Purge Unused Variable
The purge depends on the check boxes (EDT, DDT, IODDT and Device DDT), i.e.
only the visible data (of checked types) will be purged.
Step
1

Action
Select the Variables tab of the Data Editor.

Right-click any column of the tab.

Select the menu command Purge Unused Variables from the context menu.

Confirm with Yes.


Result: The unused data will be purged.

Purge DDT Types


NOTE: The purge feature is not available for DDT types.
Purge Unused FB Instances
The purge depends on the check boxes (EFB, DFB), i.e. only the visible data (of
checked types) will be purged.
Step
1

384

Action
Select the Function Blocks tab of the Data Editor.

Right-click any column of the tab.

Select the menu command Purge Unused FB Instances from the context
menu.

Confirm with Yes.


Result: The unused data will be purged.

33003101 07/2012

General Functions

Purge Unused Private Variables/DFB Types


From the context menu of the DFB Types tab two purge operations are accessible.
Step

33003101 07/2012

Action

Select the DFB Types tab of the Data Editor.

Right-click any column of the tab.

Select one of the two menu commands Purge Unused Private Data Instances
or Purge unused Types from the context menu.

Confirm with Yes.


Result: The unused data will be purged.

385

General Functions

Local printing of data


Introduction
Printing is a user-defined process and is executed using the following items:
selected tab,
z Filtering variables,
z Sorting variables,
z Using certain variables
z

How to print
Carry out the following steps:
Step

Action

Select the user-defined adjustment of the printing process in the Data Editor:
z Select the tab,
z Select the filter (see page 377):
z Select the sorting order (alphabetically ascending or descending),
z Using structured variables

Select the File Print menu command


or
use the key combination Ctrl+P
or
use the toolbar icon

NOTE: Local printing takes the access security into consideration. Only information
appearing in the window is printed.
NOTE: If an IODDT, a DDT or an Array element of an instance has an alias, the
instance is displayed with the alias of the element as in the Data Editor.

386

33003101 07/2012

General Functions

Save the context of the Data Editor


Principles
When you leave the Data Editor, the configuration of the editor (visual aspect) will
be saved. This includes:
z
z
z
z

the size and position of the Editor window,


the selected tab,
the filter of the variables display,
The configuration of the columns in each tab.

The following information will not be saved:


z
z

33003101 07/2012

An instance or variable type will be hidden when the Editor is reopened.


The selection of single or multiple variables.

387

General Functions

388

33003101 07/2012

Unity Pro
Communication
33003101 07/2012

Communication

III
Subject of this Part
This part describes the communication editors.
What Is in This Part?
This part contains the following chapters:
Chapter

33003101 07/2012

Chapter Name

Page

15

Presentation of the communication editors

391

16

Network Configuration

393

17

Configuration of X-Way Routing Premium Stations

401

389

Communication

390

33003101 07/2012

Unity Pro
Presentation of the communication tab
33003101 07/2012

Presentation of the
communication editors

15

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

33003101 07/2012

391

Presentation of the communication tab

392

33003101 07/2012

Unity Pro
Network Configuration
33003101 07/2012

Network Configuration

16
Subject of this Chapter
This chapter presents the tools for configuring a network at the global level and at
the station level.
What Is in This Chapter?
This chapter contains the following topics:
Topic

33003101 07/2012

Page

Network Configuration Principle Using Unity Pro

394

Creating a Logic Network

395

Configuring a Logic Network

397

Associating a Logic Network with Network Hardware

398

393

Network Configuration

Network Configuration Principle Using Unity Pro


At a Glance
With Unity Pro, the installation of a network takes place from the application browser
and from the hardware configuration editor.
The method involves the following four steps:
z
z
z
z

creation of a logic network,


configuration of the logic network,
declaration of the module or of the PCMCIA card (for Premium),
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 the hardware to start
working) and use the simulator for functional testing of it.
NOTE: The first two steps are carried out in the project browser and the following
two in the hardware configuration editor.
This manual introduces the method. For details of the various network
configurations, please refer to the following documentation:
z

z
z

394

Ethernet configuration for Premium (see Premium and Atrium Using Unity Pro,
Ethernet Network Modules, User Manual) and Ethernet configuration for Modicon
M340 (see Modicon M340 for Ethernet, Communications Modules and
Processors, User Manual),
Modbus Plus configuration (see Premium and Atrium using Unity Pro, Modbus
Plus network, User manual),
Fipway configuration (see Premium and Atrium using Unity Pro, Fipway Network,
User Manual).

33003101 07/2012

Network Configuration

Creating a Logic Network


At a Glance
The first step in implementing a communication network is to create a logic network.
Creating a Logic Network
The following table describes how to create a network using the project browser.
Step

33003101 07/2012

Action

Expand the Communication directory in the project browser.


Result::

Right-click in the Networks sub-directory and select the New network option.
Result::

395

Network Configuration

Step
3

Action
Select the network that you want to create from the list of available networks
and give it a meaningful name.
Result: Example of an Ethernet network:

Note: You can also add a comment, if you so desire, by clicking on the
Comment tab.
4

Click OK and a new logic network is created.


Result: We have just created the Ethernet network that appears in the project
browser

Note: As you can see, a small icon indicates that the logic network is not
associated with any PLC hardware. Furthermore, the small blue "v" sign
indicates that the project needs to be rebuilt before it can be used in the PLC.

396

33003101 07/2012

Network Configuration

Configuring a Logic Network


At a Glance
The second step in implementing a communication network is to configure a logic
network.
This manual introduces the access to network configuration. For information on how
to configure the various networks, please refer to the following documentation:
z
z
z

Ethernet configuration (see Premium and Atrium Using Unity Pro, Ethernet
Network Modules, User Manual),
Modbus Plus configuration (see Premium and Atrium using Unity Pro, Modbus
Plus network, User manual),
Fipway configuration (see Premium and Atrium using Unity Pro, Fipway Network,
User Manual).

Configuring a Logic Network


The table below describes how to access the configuration of a network from the
project browser.
Step

33003101 07/2012

Action

In the project browser, expand the directory tree under the Networks sub-tab
located in the Communication tab of the tree directory to display all the project
networks.
Example::

Double-click the network you want to configure to obtain the network


configuration window.
Note: The windows differ according to the network family selected. However, for
all networks, from this window it is possible to configure the Global Data, IPO
scanning, Peer Cop utilities, common words, etc.
Note: For Ethernet networks, an intermediate step is necessary, which involves
selecting the family of the module that will be used in the hardware
configuration.

397

Network Configuration

Associating a Logic Network with Network Hardware


At a Glance
The final step in implementing a communication network is to associate a logic
network with a network module, Modbus Plus card or Fipway card. Although the
screens differ, the procedure is the same for each network device.
How to Associate a Logic Network
The following table describes how to associate a logic network to a network device
declared in the hardware configuration editor.
Step

398

Action

Open the hardware configuration editor.

Right-click the device (Ethernet module, Fipway PCMCIA card or Modbus Plus
PCMCIA card) that you wish to associate with a logical network.

Select the channel and function.


Result: For a TSX ETY 4103 module:

33003101 07/2012

Network Configuration

Step

33003101 07/2012

Action

In the Network link field, select the network to be associated with the card.
Result:

Confirm your choice and close the window.


Result: The logic network is associated with the device. The icon associated
with this logic network changes and indicates the existence of a link with a PLC.
Furthermore, the rack, module and channel numbers are updated in the logic
network configuration screen. In our example we obtain the following project
browser:

399

Network Configuration

400

33003101 07/2012

Unity Pro
Configuration of X-Way Routing
33003101 07/2012

Configuration of X-Way Routing


Premium Stations

17

Subject of this Chapter


This chapter presents the operating modes required for configuring X-Way routing
Premium stations.
What Is in This Chapter?
This chapter contains the following topics:
Topic

33003101 07/2012

Page

Configuration

402

Configuration of Multi-Network Services

403

Configuring an X-Way Router Module

405

Examples of X-Way Routing Stations

409

Examples of Partial Routing

412

401

Configuration of X-Way Routing

Configuration
At a Glance
In an intermediate station, the management of several network couplers requires a
configuration phase in order to distribute the functional characteristics to the various
network entities.

NOTE: Multi-network routing information is constructed at the station level at the


time of configuration of each bridge. No consistency check is done on routing data
for the same network architecture.

402

33003101 07/2012

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 the list of network numbers that are accessible for each
connection point.
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.

33003101 07/2012

403

Configuration of X-Way Routing

Elements and Functions


The following table describes the various zones in the configuration screen:

404

Label

Field

Function

Logical
network

Used to display the logical network name.

Network type

Used to display the network type.

Accessible
networks

Used:
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.

Available
networks

Used to select the networks accessible by a module configured


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.

33003101 07/2012

Configuration of X-Way Routing

Configuring an X-Way Router Module


At a Glance
Before configuring the module as an X-Way router, the stations logical networks
must be created.
Procedure
The following procedure is used to access, and then configure the stations module
as an X-Way router.
Step
1

Action
Open the Communication tab in your project browser and in the Routing
table tab, click the X-Way table tab.
Result: The following window appears.

If the list of accessible module networks is empty, the window appears


automatically (without double-clicking).

33003101 07/2012

405

Configuration of X-Way Routing

Step

406

Action

Double-click the highlighted field in order to configure the first network.


Result: The Selection of accessible networks window appears.

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.

Perform operation 3 as many times as necessary to define all the networks


accessible by the module.
Once finished, proceed to step 5.

Confirm the selection by clicking OK.

Confirm the configuration of the X-Way router by closing the window or clicking
the Enable button in the toolbar.

33003101 07/2012

Configuration of X-Way Routing

Removing the Bridge Function


It is possible to remove the bridge function from the module.
Step

33003101 07/2012

Action

Access the following X-Way window.

Click Delete network list.

Confirm the configuration

407

Configuration of X-Way Routing

Removing Access to a Network


It is possible to remove access to a single network.
Step

408

Action

Access the following X-Way window of the accessible networks.

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.

Confirm the selection by clicking OK.

Confirm the router configuration.

33003101 07/2012

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.

Configuration of Station R1
The module at slot 2 can only access network 12.
The module at slot 4 can only access network 1 and 11.
The module at slot 5 can access networks 13 and 21.
The bridge configuration of the station is therefore as follows:

33003101 07/2012

409

Configuration of X-Way Routing

Configuration of Station R2
The module at slot 0 can only access network 11.
The module at slot 5 can access networks 1, 12, 13 and 21.
The bridge configuration of the station is therefore as follows:

Configuration of Station R3
The module at slot 0 can access networks 13, 12, 1 and 11.
The module at slot 5 can only access network 21.
The bridge configuration of the station is therefore as follows:

Messaging
To use the communication function (see Unity Pro, Communication, Block Library)
such as Read_VAR for ethernet exchange between stations, configure the TCP/IP
Messaging in the Ethernet network configuration (see Premium and Atrium Using
Unity Pro, Ethernet Network Modules, User Manual) screen. In the Messaging tab,
for each exchange set the IP address and target XWay address.
For example if station R3 needs to communicate with station B, in R1Messaging
tab:
z
z

410

set the R2 IP address (139.255.255.4) in the field IP address, and


set the B XWay address (11.4) in the field XWay address.

33003101 07/2012

Configuration of X-Way Routing

The following illustration shows the R1 Messaging tab:

For another example if station B needs to communicate with station A, in R2,


Messaging tab:
z
z

set the R1 IP address (139.255.255.5) in the field IP address, and


set the A XWay address (21.7) in the field XWay address.

The following illustration shows the R2 Messaging tab:

33003101 07/2012

411

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.

Configuration of Station R1
The module at slot 2 is not involved in the routing of data.
The module at slot 4 can access networks #1 and #11.
The module at slot 5 can access networks #13 and #21.

412

33003101 07/2012

Configuration of X-Way Routing

The bridge configuration of the station is therefore as follows:

Configuration of Station R2
The module at slot 0 can only access network #11.
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:

Configuration of Station R3
The module at slot 0 can access networks #13, #1 and #11. Network #12 is no
longer accessible.
The module at slot 5 can only access network #21.
The bridge configuration of the station is therefore as follows:

33003101 07/2012

413

Configuration of X-Way Routing

414

33003101 07/2012

Unity Pro
Programming
33003101 07/2012

Programming

IV
Subject of this part
This part describes the programming editors.
What Is in This Part?
This part contains the following chapters:
Chapter

33003101 07/2012

Chapter Name

Page

18

Accessing Tasks and Sections

417

19

Unity Pro Software Options

475

20

Common Function for graphical language

535

21

FBD Editor

571

22

LD Editor

663

23

SFC Editor

803

24

Common Function for Textual Language

943

25

IL Editor

977

26

ST Editor

1007

27

LL984 Editor

1043

28

Programming Languages Data Selection Dialog Box

1113

29

I/O Objects tab

1133

30

Memory Tab

1151

31

Type Library Browser

1157

32

Search/Replace Tool

1167

33

Users Function Blocks

1183

415

Programming

416

33003101 07/2012

Unity Pro
Accessing Tasks and Sections
33003101 07/2012

Accessing Tasks and Sections

18
Overview
This section describes how to access tasks and sections.
What Is in This Chapter?
This chapter contains the following sections:
Section

33003101 07/2012

Topic

Page

18.1

Access to Tasks

418

18.2

Accessing Sections

421

417

Accessing Tasks and Sections

18.1

Access to Tasks

Subject of this Section


This section covers the creation and modification of program tasks.
What Is in This Section?
This section contains the following topics:
Topic

418

Page

Create and Configuration of a Task

419

Displaying and Modifying Task Properties

420

33003101 07/2012

Accessing Tasks and Sections

Create 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.
NOTE: For a fipio (see Premium and Atrium Using Unity Pro, Fipio Bus, Setup
Manual) configuration, the window displayed is different.
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.

Right-click on the Tasks directory, and then execute the New task... command from
the contextual menu.

Click on New task..., and the following dialog box appears:

Select the task:


z FAST: Fast task
z AUX 0 , AUX1, AUX2 or AUX3: Auxiliary tasks (for processors with auxiliary tasks)

Select the type of scanning:


z Periodic
z or cyclic (for master task only)

33003101 07/2012

Set the task period.

Set the Watchdog value which must be greater than the period value.

The Comment tab can be used to add a comment to describe the role of the task for
example.
419

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.
NOTE: For a fipio (see Premium and Atrium Using Unity Pro, Fipio Bus, Setup
Manual) configuration, the window displayed is different.
Task Properties
Carry out the following actions:
Step

420

Action

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.

Right-click on the MAST, FAST, or AUX directory, and then execute the Properties
command from the contextual menu.

Click on Properties, and the following dialog box appears:

Select the type of task:


z Periodic
z or cyclic

If you have selected a periodic task, set the task period.

Set the Watchdog value which must be greater than the period value.

The Comment tab can be used to add a comment to describe the role of the task
for example.

33003101 07/2012

Accessing Tasks and Sections

18.2

Accessing Sections

Overview
This section describes accessing sections.
What Is in This Section?
This section contains the following topics:
Topic

33003101 07/2012

Page

Creating an FBD, LD, IL, or ST Section

422

Properties Dialog Box for FBD, LD, IL, or ST Sections

425

Creating SFC sections

431

Properties Dialog Box for SFC Sections

434

Creating action, transition and macro sections

440

Action, transition and macro sections properties dialog box

441

Create a Sub-Program Section (SR)

444

Property Dialog of the Sub-Program Sections

446

Creating a Timer Event Section

449

Properties dialog box for Timer Event Sections

452

Create an I/O Event Section

456

Property Dialog of I/O Event Sections

458

Opening a Section

462

Deleting sections

463

Execution order of sections

464

Creating LL984 Segments and Networks

465

Modifying LL984 Segment Properties

469

Modifying LL984 Network Properties

471

Scheduling LL984 Segments and Network

473

Deleting, Cutting, Copying and Pasting LL984 Segments and Network

474

421

Accessing Tasks and Sections

Creating an FBD, LD, IL, or ST Section


Introduction
For M340 FBD, LD, IL or ST sections can be created:
in MAST and FAST task
z in offline and online mode
z

For Quantum, Premium and Atrium FBD, LD, IL or ST sections can be created:
z in MAST, FAST, and AUX task
z in offline and online mode
Information for creating LD sections
An LD section contains 11-64 columns and 17-2000 rows.
The number of columns is set in the Tools Project Settings dialog in the Editors
tab in the Ladder Daigram (LD) area at Number of columns.
This setting only applies to sections to be created, not existing sections. Always
define the number of columns before you create a new LD section.
(The number of rows and columns can be changed during the creation of section
contents.)
Information for creating FBD sections
An FBD section contains 86,400 grids (number of rows x number of columns).
The number of rows and columns is set in the Tools Project Settings dialog in
the Editors tab in the Function Block Diagram (FBD) area.
This setting only applies to sections to be created, not existing sections. Always
define the number of rows and columns before you create a new FBD section.
(The number of rows and columns can be changed during the creation of section
contents.)
Creating a section
Creating a section:
Step

422

Action

Left-click the Sections directory of the desired task, or place the cursor using the
arrow keys on this directory.

Click the right mouse button or use Shift+F10 to select New Section in the
context menu.
Result: The properties dialog box (see page 425) for the section is opened.

Enter the section name.


The section name must be unique in the entire project and conform to the
general naming conventions.
33003101 07/2012

Accessing Tasks and Sections

Step

Action

Select the programming language of the section.

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 Project Protection (see page 167).

Select the functional module to which the section is allocated from the
Localization tab if necessary.
See also section Functional module (see page 199).

Define a Boolean variable in the Condition 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 variable selection dialog box
(see page 304).
Activate the Can be forced check box when you want to force the variable.

Only applies to Quantum projects:


Assign a read RIO drop and a write RIO drop to the section in the Remote IO tab
if required.
See also section Executing Quantum sections with distributed inputs/outputs
(see Unity Pro, Program Languages and Structure, Reference Manual ) in the
Reference manual.

Enter a comment in the Comment tab if desired.

10

33003101 07/2012

If you wish to create additional sections, confirm the entries with Apply. In this
case, the Property dialog box will remain open and you can generate additional
sections.
If you do not wish to create additional sections, confirm the entries with OK. In
this case, the Property dialog box will close and the generated section will open
automatically.

423

Accessing Tasks and Sections

Displaying or modifying section properties


Displaying or modifying section properties:
Step

Action

Left-click on the desired section, or place the cursor on this section with the
arrow keys.

Select (right-click or Shift+F10 key combination) the Properties... menu


command from the shortcut menu..
Result: The properties dialog box (see page 425) for the section is opened.

Implement the desired changes.

Confirm all entries with OK.

Importing/exporting sections
See:
Importing programs (see page 1717)
z Exporting programs (see page 1715)
z

424

33003101 07/2012

Accessing Tasks and Sections

Properties Dialog Box for FBD, LD, IL, or ST Sections


Structure of the properties dialog box
The properties dialog box consists of five tabs for Quantum projects and four tabs
for Modicon M340, Premium, and Atrium projects:
z General
Enter the name, the programming language and the type of access protection of
the section in this tab.
z Localization
You can enter the functional module of the section in this tab.
z Condition
You can enter a Boolean variable which can enable/disable the section in this tab.
z Remote IO
This tab is only available for Quantum projects.
Assign a read RIO drop and a write RIO drop to the section in this tab.
Assigning drops will remove them from the TASK I/O update routine and will be
managed from the section.
When disabling a section by a condition, the read and write of the assigned drops
are still active.
z Comment
You can enter a comment in this tab.
General tab
Representation of the General tab:

33003101 07/2012

425

Accessing Tasks and Sections

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 Activate section and subroutine protection,
page 167.

426

OK

Generating a new section:


If you do not want to create any additional sections, click on this
command button to confirm the entries. In this case, the properties
dialog box will close and the generated section will open
automatically.
Displaying properties of an existing section:
Use this command button to accept the entries and close the
properties dialog box.

Apply

Generating a new section:


If you want to create any additional sections, click on this command
button to confirm the entries. In this case, the properties dialog box will
remain open and you can generate additional sections. The generated
section will not open automatically.
Displaying properties of an existing section:
Use this command button to accept the entries without closing the
properties dialog box.

33003101 07/2012

Accessing Tasks and Sections

Localization tab
Representation of the Localization tab:

Elements of the Localization tab:

33003101 07/2012

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, page 199.

OK

Generating a new section:


If you do not want to create any additional sections, click on this
command button to confirm the entries. In this case, the properties
dialog box will close and the generated section will open
automatically.
Displaying properties of an existing section:
Use this command button to accept the entries and close the
properties dialog box.

Apply

Generating a new section:


If you want to create any additional sections, click on this command
button to confirm the entries. In this case, the properties dialog box will
remain open and you can generate additional sections. The generated
section will not open automatically.
Displaying properties of an existing section:
Use this command button to accept the entries without closing the
properties dialog box.

427

Accessing Tasks and Sections

Condition tab
Display of the Condition tab:

Elements of the Condition tab:


Element

Description

Variable

You can enter Boolean variables which can conditionally


enable/disable 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 Use the command button ... to open a variable selection dialog
box (see page 304).
z Comment

The comments about the selected variables are displayed in this


text box.

428

Can be forced

This check box indicates whether the selected variable can be forced
or not.

OK

Generating a new section:


If you do not want to create any additional sections, click on this
command button to confirm the entries. In this case, the properties
dialog box will close and the generated section will open
automatically.
Displaying properties of an existing section:
Use this command button to accept the entries and close the
properties dialog box.

Apply

Generating a new section:


If you want to create any additional sections, click on this command
button to confirm the entries. In this case, the properties dialog box will
remain open and you can generate additional sections. The generated
section will not open automatically.
Displaying properties of an existing section:
Use this command button to accept the entries without closing the
properties dialog box.
33003101 07/2012

Accessing Tasks and Sections

Remote IO tab
Representation of the Remote IO tab (only for Quantum projects):

Elements of the Remote IO tab:

33003101 07/2012

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 (see Unity Pro, Program Languages and Structure,
Reference Manual ) in the Reference manual.

Read >

Use this button to accept the selected drop as the drop to read. I.e.
when processing starts on the current section, the inputs for this drop
are read.

Write >

Use this button to accept the selected drop as the drop to write. I.e.
when processing ends on the current section, the outputs for this drop
are written.

Delete

Use this command button to reset the selected read/write drops.

OK

Generating a new section:


If you do not want to create any additional sections, click on this
command button to confirm the entries. In this case, the properties
dialog box will close and the generated section will open
automatically.
Displaying properties of an existing section:
Use this command button to accept the entries and close the
properties dialog box.

Apply

Generating a new section:


If you want to create any additional sections, click on this command
button to confirm the entries. In this case, the properties dialog box will
remain open and you can generate additional sections. The generated
section will not open automatically.
Displaying properties of an existing section:
Use this command button to accept the entries without closing the
properties dialog box.
429

Accessing Tasks and Sections

Comment tab
Representation of the Comment tab:

Elements of the Comment tab:

430

Element

Description

Text box

A comment about the section can be entered in this text box.

OK

Generating a new section:


If you do not want to create any additional sections, click on this
command button to confirm the entries. In this case, the properties
dialog box will close and the generated section will open
automatically.
Displaying properties of an existing section:
Use this command button to accept the entries and close the
properties dialog box.

Apply

Generating a new section:


If you want to create any additional sections, click on this command
button to confirm the entries. In this case, the properties dialog box will
remain open and you can generate additional sections. The generated
section will not open automatically.
Displaying properties of an existing section:
Use this command button to accept the entries without closing the
properties dialog box.

33003101 07/2012

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 page 815).
z Actions
This directory contains all Action sections (see page 884) for the current SFC
section.
z Transitions
This directory contains all transition sections (see page 895) for the current SFC
section.
Creating SFC sections
Creating SFC sections:
Step

33003101 07/2012

Action

Left-click the Sections directory for the MAST task or place the cursor on this
directory using the arrow keys.

Select (right-click or Shift+F10 key combination) the New Section menu


command from the shortcut menu.
Result: The properties dialog box (see page 434) for the section is opened.

Enter the section name.


The section name must be unique in the entire project and conform to the
general naming conventions.

Select the programming language SFC.

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 page 1533).
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.

431

Accessing Tasks and Sections

Step

Action

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 page 1533), activate the Operator control check box.

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

Select the functional module to which the section is allocated from the
Localization tab if necessary.
See Functional module (see page 199).

Define a Boolean variable in the Condition 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 variable selection dialog box
(see page 304).

See also Project Protection (see page 167).

Activate the Can be forced check box when you want to force the variable.

432

10

Only applies to Quantum projects:


Assign a read RIO drop and a write RIO drop to the section in the Remote IO tab
if required.
See also Executing Quantum sections with distributed inputs/outputs (see Unity
Pro, Program Languages and Structure, Reference Manual ) in the Reference
manual.

11

Enter a comment in the Comment tab if desired.

12

If you wish to create additional sections, confirm the entries with Apply. In this
case, the Property dialog box will remain open and you can generate additional
sections.
If you do not wish to create additional sections, confirm the entries with OK. In
this case, the Property dialog box will close and the generated section will open
automatically.

33003101 07/2012

Accessing Tasks and Sections

Displaying or modifying section properties


Displaying or modifying section properties:
Step

Action

Left-click on the desired section, or place the cursor on this section with the
arrow keys.

Select (right-click or Shift+F10 key combination) the Properties... menu


command from the shortcut menu.
Result: The properties dialog box (see page 434) for the section is opened.

Implement the desired changes.

Confirm all entries with OK.

Importing/exporting sections
See sections:
z Importing programs (see page 1717)
z Exporting programs (see page 1715)

33003101 07/2012

433

Accessing Tasks and Sections

Properties Dialog Box for SFC Sections


Structure of the properties dialog box
The properties dialog box consists of five tabs for Quantum projects and four tabs
for Modicon M340, Premium, and Atrium projects:
z General
You can enter the name, the programming language, the type of access
protection and diagnostic settings for the section in this tab.
z Localization
You can enter the functional module of the section in this tab.
z Condition
You can enter a Boolean variable which can enable/disable the section in this tab.
z Remote IO
This tab is only available for Quantum projects.
Assign a read RIO drop and a write RIO drop to the section in this tab.
Assigning drops will remove them from the TASK I/O update routine and will be
managed from the section.
When disabling a section by a condition, the read and write of the assigned drops
are still active.
z Comment
You can enter a comment in this tab.
General tab
Representation of the General tab:

434

33003101 07/2012

Accessing Tasks and Sections

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 range to the section; also
see (see page 431).
This automation area (area number) can be used as sorting criteria in
the diagnostic viewer (see page 1533).
The valid range for Area number 0...15.

Operator control

When you enable 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 page 1533).

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 Project Protection (see page 167) .

33003101 07/2012

OK

Generating a new section:


If you do not want to create any additional sections, click on this
command button to confirm the entries. In this case, the properties
dialog box will close and the generated section will open
automatically.
Displaying properties of an existing section:
Use this command button to accept the entries and close the
properties dialog box.

Apply

Generating a new section:


If you want to create any additional sections, click on this command
button to confirm the entries. In this case, the properties dialog box will
remain open and you can generate additional sections.
Displaying properties of an existing section:
Use this command button to accept the entries without closing the
properties dialog box.

435

Accessing Tasks and Sections

Localization tab
Representation of the Localization tab:

Elements of the Localization tab:

436

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 Functional module (see page 199).

OK

Generating a new section:


If you do not want to create any additional sections, click on this
command button to confirm the entries. In this case, the properties
dialog box will close and the generated section will open
automatically.
Displaying properties of an existing section:
Use this command button to accept the entries and close the
properties dialog box.

Apply

Generating a new section:


If you want to create any additional sections, click on this command
button to confirm the entries. In this case, the properties dialog box will
remain open and you can generate additional sections.
Displaying properties of an existing section:
Use this command button to accept the entries without closing the
properties dialog box.

33003101 07/2012

Accessing Tasks and Sections

Condition tab
Display of the Condition tab:

Elements of the Condition tab:


Element

Description

Variable

You can enter a Boolean variable which can conditionally


enable/disable 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 Use the command button ... to open a variable selection dialog
box (see page 304).
z Comment

The comments about the selected variables are displayed in this


text box.

33003101 07/2012

Can be forced

This check box indicates whether the selected variable can be forced
or not.

OK

Generating a new section:


If you do not want to create any additional sections, click on this
command button to confirm the entries. In this case, the properties
dialog box will close and the generated section will open
automatically.
Displaying properties of an existing section:
Use this command button to accept the entries and close the
properties dialog box.

Apply

Generating a new section:


If you want to create any additional sections, click on this command
button to confirm the entries. In this case, the properties dialog box will
remain open and you can generate additional sections.
Displaying properties of an existing section:
Use this command button to accept the entries without closing the
properties dialog box.
437

Accessing Tasks and Sections

Remote IO tab
Representation of the Remote IO tab (only for Quantum projects):

Elements of the Remote IO tab:

438

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 (see Unity Pro, Program Languages and Structure,
Reference Manual ) in the Reference manual.

Read >

Use this button to accept the selected drop as the drop to read. I.e.
when processing starts on the current section, the inputs for this drop
are read.

Write >

Use this button to accept the selected drop as the drop to write. I.e.
when processing ends on the current section, the outputs for this drop
are written.

Delete

Use this command button to reset the selected read/write drops.

OK

Generating a new section:


If you do not want to create any additional sections, click on this
command button to confirm the entries. In this case, the properties
dialog box will close and the generated section will open
automatically.
Displaying properties of an existing section:
Use this command button to accept the entries and close the
properties dialog box.

Apply

Generating a new section:


If you want to create any additional sections, click on this command
button to confirm the entries. In this case, the properties dialog box will
remain open and you can generate additional sections.
Displaying properties of an existing section:
Use this command button to accept the entries without closing the
properties dialog box.

33003101 07/2012

Accessing Tasks and Sections

Comment tab
Representation of the Comment tab:

Elements of the Comment tab:

33003101 07/2012

Element

Description

Text box

A comment about the section can be entered in this text box.

OK

Generating a new section:


If you do not want to create any additional sections, click on this
command button to confirm the entries. In this case, the properties
dialog box will close and the generated section will open
automatically.
Displaying properties of an existing section:
Use this command button to accept the entries and close the
properties dialog box.

Apply

Generating a new section:


If you want to create any additional sections, click on this command
button to confirm the entries. In this case, the properties dialog box will
remain open and you can generate additional sections.
Displaying properties of an existing section:
Use this command button to accept the entries without closing the
properties dialog box.

439

Accessing Tasks and Sections

Creating action, transition and macro sections


Creating action, transition and macro sections
The descriptions are found in the following sections:
Creating action sections (see page 884)
z Creating transition sections (see page 895)
z Creating macro sections (see page 856)
z

Displaying or modifying section properties


Displaying or modifying section properties:
Step

Action

Left-click the target section, or place the cursor on this section with the arrow keys.

Select (right-click or Shift+F10 key combination) the menu command Properties


from the shortcut menu.
Result: The properties dialog box (see page 441) for the section is opened.

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.

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 Activate section and subroutine protection, page 167.

440

Enter a comment in the Comment tab if desired.

Confirm all entries with OK.

33003101 07/2012

Accessing Tasks and Sections

Action, transition and macro sections properties dialog box


Structure of the properties dialog box
The properties dialog box consists of three tabs:
z General
The name and the programming language are displayed in this tab. You can also
define the type of protection for the section.
z Localization
You can enter the functional module of the section in this tab.
z Comment
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 Activate section and subroutine protection, page 167.
33003101 07/2012

441

Accessing Tasks and Sections

Element

Description

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.

Localization tab
Representation of the Localization tab:

Elements of the Localization tab:

442

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, page 199.

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.

33003101 07/2012

Accessing Tasks and Sections

Comment tab
Representation of the Comment tab:

Elements of the Comment tab:

33003101 07/2012

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.

443

Accessing Tasks and Sections

Create a Sub-Program Section (SR)


Introduction
Subroutine sections can be created:
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 creating LD sections
An LD section contains 11-64 columns and 17-2000 lines.
The number of columns is set in the Tools Project Settings dialog in the Editors
tab in the Number of Columns text box.
This setting only applies to sections to be created, not 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 subroutine sections
Creating subroutines:
Step

444

Action

Left-click the SR Sections directory for the target task, or place the cursor on this
directory using the arrow keys.

Select (right-click or Shift+F10 key combination) the New SR Section menu


command from the shortcut menu.
Result: The properties dialog box (see page 446) for the section is opened.

Enter the section name.


The section name must be unique in the entire project and conform to the
general naming conventions.

Select the programming language of the section.

Enter a comment in the Comment tab if desired.

If you wish to create additional sections, confirm the entries with Apply. In this
case, the Property dialog box will remain open and you can generate additional
sections.
If you do not wish to create additional sections, confirm the entries with OK. In
this case, the Property dialog box will close and the generated section will open
automatically.

33003101 07/2012

Accessing Tasks and Sections

View or edit section properties


Displaying or modifying section properties:
Step

Action

Left-click on the desired section, or place the cursor on this section with the
arrow keys.

Click the right mouse button or press Shift+F10 to select the Properties menu
command in the context menu....
Result: The properties dialog box (see page 446) for the section is opened.

Implement the desired changes.

Confirm all entries with OK.

Importing/exporting sections
See sections:
z Program Import, page 1717
z Exporting the program, page 1715

33003101 07/2012

445

Accessing Tasks and Sections

Property Dialog of the Sub-Program Sections


Structure of the properties dialog box
The properties dialog box consists of two tabs:
General
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
You can enter a comment in this tab.
z

General tab
Representation of the General tab:

Elements of the General tab:

446

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.

33003101 07/2012

Accessing Tasks and Sections

Element

Description

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 Activate section and subroutine protection, page 167.

33003101 07/2012

Is called

This check box indicates whether the subroutine is used in the project.

OK

Generating a new section:


If you do not want to create any additional sections, click on this command
button to confirm the entries. In this case, the Property dialog box will close and
the generated section will open automatically.
Displaying properties of an existing section:
Use this command button to accept the entries and close the properties dialog
box.

Apply

Generating a new section:


If you want to create any additional sections, click on this command button to
confirm the entries. In this case, the Property dialog box will remain open and
you can generate additional sections.
Displaying properties of an existing section:
Use this command button to accept the entries without closing the properties
dialog box.

447

Accessing Tasks and Sections

Comment tab
Representation of the Commenttab:

Elements of the Comment tab:

448

Element

Description

Text box

A comment about the section can be entered in this text box.

OK

Generating a new section:


If you do not want to create any additional sections, click on this
command button to confirm the entries. In this case, the Property
dialog box will close and the generated section will open
automatically.
Displaying properties of an existing section:
Use this command button to accept the entries and close the
properties dialog box.

Apply

Generating a new section:


If you want to create any additional sections, click on this command
button to confirm the entries. In this case, the Property dialog box will
remain open and you can generate additional sections.
Displaying properties of an existing section:
Use this command button to accept the entries without closing the
properties dialog box.

33003101 07/2012

Accessing Tasks and Sections

Creating a Timer Event Section


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 the comment.
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 the comment.
Information for creating LD sections
An LD section contains 11-64 columns and 17-2000 rows.
The number of columns is set in the Tools Project Settings dialog in the Editors
tab in the Ladder Daigram (LD) area at Number of columns.
This setting only applies to sections to be created, not existing sections. Always
define the number of columns before you create a new LD section.
(The number of rows and columns can be changed during the creation of section
contents.)
Information for creating FBD sections
An FBD section contains 86,400 grids (number of rows x number of columns).
The number of rows and columns is set in the Tools Project Settings dialog in
the Editors tab in the Function Block Diagram (FBD) area.
This setting only applies to sections to be created, not existing sections. Always
define the number of rows and columns before you create a new FBD section.
(The number of rows and columns can be changed during the creation of section
contents.)

33003101 07/2012

449

Accessing Tasks and Sections

Creating timer event sections


Creating timer event sections:
Step

Action

Left-click the Timer Events directory of the Events task, or place the cursor on
this directory with the arrow keys.

Select (right-click or Shift+F10 key combination) the New Event Section menu
command from the shortcut menu.
Result: The properties dialog box (see page 452) for the section is opened.

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 (see Unity Pro, Program Languages and Structure,
Reference Manual ) in the Reference manual.

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.

Enter the units for the preset value in the Preset text box.
The valid range is 0...1023.
Preset value = Preset x Timer base

Enter the unit for the phase in the Phase text box.
The valid range is 0...1023.
Phase value = Phase x Timer base

Select the programming language of the section.

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 Activate section and subroutine protection, page 167.
9

450

Select the functional module to which the section is allocated from the
Localization tab if necessary.
See also section Functional modules, page 199.

10

Enter a comment in the Comment tab if desired.

11

If you wish to create additional sections, confirm the entries with Apply. In this
case, the Property dialog box will remain open and you can generate additional
sections.
If you do not wish to create additional sections, confirm the entries with OK. In
this case, the Property dialog box will close and the generated section will open
automatically.

33003101 07/2012

Accessing Tasks and Sections

Displaying or modifying the section properties


Displaying or modifying section properties:
Step

Action

Left-click on the desired section, or place the cursor on this section with the
arrow keys.

Click the right mouse button or press Shift+F10 to select the Properties menu
command in the context menu....
Result: The properties dialog box (see page 452) for the section is opened.

Implement the desired changes (see page 449).

Confirm all entries with OK.

Importing/exporting sections
See sections:
z Program Import, page 1717
z Exporting the program, page 1715

33003101 07/2012

451

Accessing Tasks and Sections

Properties dialog box for Timer Event Sections


Structure of the properties dialog box
The properties dialog box consists of three tabs:
General
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 (see Unity Pro, Program Languages
and Structure, Reference Manual ) in the Reference manual.
z Localization
You can enter the functional module of the section in this tab.
z Comment
You can enter a comment in this tab.
z

General tab
Representation of the General tab:

Elements of the General tab:

452

Element

Description

Timer number

Enter the number of the timer event in this list box. Note that the
ITCNTRL function block (see Unity Pro, System, Block Library) is
required to activate a timer event.
The maximum number of timer events depends on the selected CPU,
see also section Event processing (see Unity Pro, Program
Languages and Structure, Reference Manual ) in the Reference
manual.

33003101 07/2012

Accessing Tasks and Sections

Element

Description

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 Activate section and subroutine protection,
page 167.

33003101 07/2012

OK

Generating a new section:


If you do not want to create any additional sections, click on this
command button to confirm the entries. In this case, the properties
dialog box will close and the generated section will open
automatically.
Displaying properties of an existing section:
Use this command button to accept the entries and close the
properties dialog box.

Apply

Generating a new section:


If you want to create any additional sections, click on this command
button to confirm the entries. In this case, the properties dialog box will
remain open and you can generate additional sections.
Displaying properties of an existing section:
Use this command button to accept the entries without closing the
properties dialog box.

453

Accessing Tasks and Sections

Localization tab
Representation of the Localization tab:

Elements of the Localization tab:

454

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, page 199.

OK

Generating a new section:


If you do not want to create any additional sections, click on this
command button to confirm the entries. In this case, the properties
dialog box will close and the generated section will open
automatically.
Displaying properties of an existing section:
Use this command button to accept the entries and close the
properties dialog box.

Apply

Generating a new section:


If you want to create any additional sections, click on this command
button to confirm the entries. In this case, the properties dialog box will
remain open and you can generate additional sections.
Displaying properties of an existing section:
Use this command button to accept the entries without closing the
properties dialog box.

33003101 07/2012

Accessing Tasks and Sections

Comment tab
Representation of the Comment tab:

Elements of the Comment tab:

33003101 07/2012

Element

Description

Text box

A comment about the section can be entered in this text box.

OK

Generating a new section:


If you do not want to create any additional sections, click on this
command button to confirm the entries. In this case, the properties
dialog box will close and the generated section will open
automatically.
Displaying properties of an existing section:
Use this command button to accept the entries and close the
properties dialog box.

Apply

Generating a new section:


If you want to create any additional sections, click on this command
button to confirm the entries. In this case, the properties dialog box will
remain open and you can generate additional sections.
Displaying properties of an existing section:
Use this command button to accept the entries without closing the
properties dialog box.

455

Accessing Tasks and Sections

Create an I/O Event Section


Introduction
I/O event sections can be created in offline and online mode.
Information for creating LD sections
An LD section contains 11-64 columns and 17-2000 rows.
The number of columns is set in the Tools Project Settings dialog in the Editors
tab in the Ladder Daigram (LD) area at Number of columns.
This setting only applies to sections to be created, not existing sections. Always
define the number of columns before you create a new LD section.
(The number of rows and columns can be changed during the creation of section
contents.)
Information for creating FBD sections
An FBD section contains 86,400 grids (number of rows x number of columns).
The number of rows and columns is set in the Tools Project Settings dialog in
the Editors tab in the Function Block Diagram (FBD) area.
This setting only applies to sections to be created, not existing sections. Always
define the number of rows and columns before you create a new FBD section.
(The number of rows and columns can be changed during the creation of section
contents.)
Creating I/O event sections
Creating I/O event sections:
Step

456

Action

Left-click on the I/O Events directory of the Events task, or place the cursor
arrow on this directory.

Use the right mouse button or the Shift+F10 key combination to select the
New Event Section menu command in the context menu.
Result: The properties dialog box (see page 458) for the section is opened.

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 page 456) in the Reference manual.

Select the programming language of the section.

33003101 07/2012

Accessing Tasks and Sections

Step
5

Action
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 Activate section and subroutine protection, page 167.

Select the functional module to which the section is allocated from the
Localization tab if necessary.
See also section Functional modules, page 199

Enter a comment in the Comment tab if desired.

If you wish to create additional sections, confirm the entries with Apply. In this
case, the Property dialog box will remain open and you can generate
additional sections.
If you do not wish to create additional sections, confirm the entries with OK. In
this case, the Property dialog box will close and the generated section will
open automatically.

Displaying or modifying section properties


Displaying or modifying section properties:
Step

Action

Left-click on the desired section, or place the cursor on this section with the
arrow keys.

Use the right mouse button or press Shift+F10 to select the Properties menu
command.
Result: The properties dialog box (see page 458) for the section is opened.

Implement the desired changes.

Confirm all entries with OK.

Importing/exporting sections
See sections:
z Program Import, page 1717
z Exporting the program, page 1715

33003101 07/2012

457

Accessing Tasks and Sections

Property Dialog of I/O Event Sections


Structure of the properties dialog box
The properties dialog box consists of three tabs:
General
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
(see Unity Pro, Program Languages and Structure, Reference Manual ) in the
Reference manual.
z Localization
You can enter the functional module of the section in this tab.
z Comment
You can enter a comment in this tab.
z

General tab
Representation of the General tab:

Elements of the General tab:

458

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 page 456) 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.

33003101 07/2012

Accessing Tasks and Sections

Element
Protection

Description
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 Activate section and subroutine protection,
page 167.

33003101 07/2012

OK

Generating a new section:


If you do not want to create any additional sections, click on this
command button to confirm the entries. In this case, the Property
dialog box will close and the generated section will open
automatically.
Displaying properties of an existing section:
Use this command button to accept the entries and close the
properties dialog box.

Apply

Generating a new section:


If you want to create any additional sections, click on this command
button to confirm the entries. In this case, the Property dialog box will
remain open and you can generate additional sections.
Displaying properties of an existing section:
Use this command button to accept the entries without closing the
properties dialog box.

459

Accessing Tasks and Sections

Localization tab
Representation of the Localization tab:

Elements of the Localization tab:

460

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, page 199.

OK

Generating a new section:


If you do not want to create any additional sections, click on this
command button to confirm the entries. In this case, the Property
dialog box will close and the generated section will open
automatically.
Displaying properties of an existing section:
Use this command button to accept the entries and close the
properties dialog box.

Apply

Generating a new section:


If you want to create any additional sections, click on this command
button to confirm the entries. In this case, the Property dialog box will
remain open and you can generate additional sections.
Displaying properties of an existing section:
Use this command button to accept the entries without closing the
properties dialog box.

33003101 07/2012

Accessing Tasks and Sections

Comment tab
Representation of the Commenttab:

Elements of the Comment tab:

33003101 07/2012

Element

Description

Text box

A comment about the section can be entered in this text box.

OK

Generating a new section:


If you do not want to create any additional sections, click on this
command button to confirm the entries. In this case, the Property
dialog box will close and the generated section will open
automatically.
Displaying properties of an existing section:
Use this command button to accept the entries and close the
properties dialog box.

Apply

Generating a new section:


If you want to create any additional sections, click on this command
button to confirm the entries. In this case, the Property dialog box will
remain open and you can generate additional sections.
Displaying properties of an existing section:
Use this command button to accept the entries without closing the
properties dialog box.

461

Accessing Tasks and Sections

Opening a Section
Opening a section
Opening a section:
Step

462

Action

Click the left mouse button on the section desired (section, subroutine, event), or
place the cursor on this section with the arrow keys.

Select (right-click or Shift+F10 key combination) the menu command Open from
the shortcut menu.
or
Double click on the section.
Result: The section is opened.

33003101 07/2012

Accessing Tasks and Sections

Deleting sections
Deleting sections
Deleting sections:
Step

33003101 07/2012

Action

Left-click the target section (section, subroutine, event), or place the cursor on
this section with the arrow keys.

Select (right-click or Shift+F10 key combination) the Delete menu command


from the shortcut menu.
Result: The section is deleted.

463

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:
in offline mode
z in online mode in stop mode
z

Modifying the execution order


Modifying the execution order:
Step

464

Action

Click on the desired section with the left mouse button and hold the mouse button
down.

Move the section to the required position within the current task or into another
task.

33003101 07/2012

Accessing Tasks and Sections

Creating LL984 Segments and Networks


Introduction
The logic of LL984 is programmed in networks.
Several networks are grouped in segments.
Each network contains a matrix of 7 rows and 11 columns, where you can place
contacts, coils, function blocks etc.
At the beginning of each segments code execution the inputs of a RIO drop can be
read and at the end the outputs of the same or another RIO drop can be written.
Recommendations
It is recommended not to use more than 64 segments and 5,000 networks in an
application.
Restrictions
For creating LL984 segments and networks the following rules apply:
z LL984 segments can only be created when the Ladder Logic 984 (LL984)
project setting is activated via Tools Project Settings Program
Languages.
z LL984 segments can only be created in the MAST task of the application, they
are not allowed in the FAST and AUX tasks.
z Only one LL984 segment can be created inside the subroutine (SR Sections)
node of the MAST task.
z LL984 segments can not be created under Timer Events or I/O Events nodes.
z LL984 segments can not be created in DFBs.
z For action and transition sections in SFC, LL984 is not allowed as language.
Only ST, IL, FBD and LD are allowed as language.
z LL984 segments and sections with Unity Pro IEC languages can be mixed inside
the Sections node of the MAST task. The same is valid inside the subroutine (SR
Sections) node of the MAST task.
z LL984 networks can only be created as children of LL984 segments.
z Only LL984 networks are allowed as children of LL984 segments, no sections
with IEC languages can be created there.

33003101 07/2012

465

Accessing Tasks and Sections

Creating a Segment
Step

466

Action

Left-click the Sections directory of the MAST task, or place the cursor using the
arrow keys on this directory.

Click the right mouse button or use Shift+F10 to select New Section in the
context menu.
Result: The properties dialog for the segment is opened.

Enter the section (segment) name.


The section (segment) name must be unique in the entire project and conform to
the general naming conventions of Unity Pro.

Select LL984 Segment as programming Language of the segment.

Select the functional module to which the segment is attached from the
Localization tab if necessary.
Also refer to Functional modules (see page 199).

Define a boolean variable in the Condition tab with which the segment can be
activated/deactivated (segment active when variable=1) if required.
You have the following options to select variables:
z Enter the name of the variable/address directly or copy it from the clipboard.
z Use the ... button to open a Data Selection dialog.

Only applies to Quantum projects:


Assign a read RIO drop and a write RIO drop to the segment in the Remote IO
tab if required.

Enter a comment in the Comment tab if desired (max. 1024 characters).

If you wish to create additional segments, confirm the entries with Apply. In this
case, the dialog will remain open and you can generate additional segments.
If you do not wish to create additional segments, confirm the entries with OK. In
this case, the dialog will close and the generated segment is displayed as the last
element in the Sections directory.
NOTE: The position of sections and segments inside the Structural view
matches exactly the execution sequence and can be changed via drag-anddrop.

33003101 07/2012

Accessing Tasks and Sections

Creating a Network
Step

Action

Left-click an LL984 Segment in the Sections directory of the MAST task, or


place the cursor using the arrow keys on this directory.

Click the right mouse button or use Shift+F10 to select New 984 Network in the
context menu.
Result: The properties dialog for the network is opened.

Enter the network name.


The network name must be unique in the entire project and conform to the
general naming conventions of Unity Pro.

LL984 Network is preselected for the Language of the network and can not be
changed.

Define a boolean variable in the Condition tab with which the segment can be
activated/deactivated (segment active when variable=1) if required.
You have the following options to select variables:
z Enter the name of the variable/address directly or copy it from the clipboard.
z Use the command button ...to open a Data Selection dialog.

Enter a comment in the Comment tab if desired.

Confirm the entries with OK. The dialog will close and the generated network is
displayed as the last element in the LL984 Segment directory.
NOTE: The position of networks inside the Structural view matches exactly the
execution sequence and can be changed via drag-and-drop.

A new network is normally inserted as the last element in the LL984 Segment
directory.
To insert a new network directly before a selected network use Insert Network
from the context menu.
Creating a Network for Subroutines
Step

33003101 07/2012

Action

Left-click the SR Sections directory of the MAST task, or place the cursor using
the arrow keys on this directory.

Click the right mouse button or use Shift+F10 to select New SR Section in the
context menu.
Result: The properties dialog for the SR section (LL984 Segment) is opened.

Enter the SR section (LL984 segment) name.


The SR section (LL984 Segment) name must be unique in the entire project and
conform to the general naming conventions of Unity Pro.

467

Accessing Tasks and Sections

Step

Action

Select LL984 Segment as programming Language of the segment.


NOTE: There can be only 1 LL984 SR segment in a project. So when there is
already 1 existing you can no longer select LL984 Segment as programming
Language for a new SR section.

Enter a comment in the Comment tab if desired (max. 1024 characters).

Confirm the entries with OK. The dialog will close and the generated LL984
segment is displayed in the SR Section directory.

Left-click the LL984 Segment in the SR Sections directory of the MAST task,
or place the cursor using the arrow keys on this directory.

Click the right mouse button or use Shift+F10 to select New 984 Network in the
context menu.
Result: The properties dialog for the network is opened.

Enter the network name.


The network name must be unique in the entire project and conform to the
general naming conventions of Unity Pro.

10

LL984 Network is preselected for the Language of the network and can not be
changed.

11

Enter a comment in the Comment tab if desired.

12

Confirm the entries with OK. Tthe dialog will close and the generated network is
displayed as the last element in the LL984 Segment directory.
NOTE: The position of networks inside the Structural view matches exactly the
execution sequence and can be changed via drag-and-drop.

Displaying or Modifying Segment/Network Properties


Step

Action

Left-click on the desired segment/network, or place the cursor on this


section/network with the arrow keys.

Click the right mouse button or use Shift+F10 to select Properties in the
context menu.
Result: The Properties dialog for is opened.

Implement the desired changes.

Confirm all entries with OK.

Exporting/Importing Segments/Networks
Please refer to Exporting/Importing LL984 Segments/Networks (see page 1742).

468

33003101 07/2012

Accessing Tasks and Sections

Modifying LL984 Segment Properties


Introduction
This section describes the specifics of the LL984 Editor referring to modifying LL984
segment properties.
For standard features please refer to Accessing Sections (see page 421).
Protection
The Protection property is not available at the moment.
Localization
You can only attach LL984 segments to a functional module and not LL984
networks. The networks of a segment are implicitly attached to the functional module
of their segment.
You can attach an LL984 segment to a functional module either in the Localization
tab of its properties dialog or in the Project Browser via drag-and-drop from the
Structural View to the Functional View.
You can detach an LL984 segment from a functional module either in the
Localization tab of its properties dialog or by selecting Detach from the segments
context menu.
Condition
You can modify the Condition of an LL984 segment in the Condition tab of its
properties dialog.
When you configure a boolean variable in this tab, the state of this variable is
checked at the beginning of the LL984 segments code execution.
When the variables state is 0, the segment and all its networks are not executed.
When the variables state is 1 or when no condition variable is defined for the
segment, it depends on the condition variables of the networks whether the
networks are executed or not.

33003101 07/2012

469

Accessing Tasks and Sections

Remote I/O
You can synchronize the Remote I/Os of an LL984 segment in the Remote I/O tab
of its properties dialog.
Here you can configure which Remote Quantum drop is read before and which one
is written after execution of the LL984 segment.
Drops which are not yet configured are displayed in red inside the list box.
Not configured drops can be selected here, but when they are not configured before
next Build, the build will not be successful and a diagnostic message will be
displayed.
NOTE: This property is only available for Quantum projects.
Comment
You can enter a comment to an LL984 segment in the Comment tab of its properties
dialog.
The maximum size of a comment is 1024 characters.
The LL984 Subroutine Segment
You can only have 1 LL984 segment under the SR sections node of the MAST task.
The properties dialog of this LL984 subroutine segment only provides the General
and the Comments tabs.
The Is called check book in the General tab is greyed and not checked.
This is done because in LL984, subroutines can be called via a memory word and
so you only know at run time whether a subroutine is called or not.
You can not define a condition variable for the LL984 subroutine segment.

470

33003101 07/2012

Accessing Tasks and Sections

Modifying LL984 Network Properties


Introduction
This section describes the specifics of the LL984 Editor referring to modifying LL984
network properties.
For standard features please refer to Accessing Sections (see page 421).
Protection
The Protection property is not available at the moment.
Localization
You can only attach an LL984 segment to a functional modules. The networks of a
segment are implicitly attached to the functional module of their segment.
Condition
You can modify the Condition of an LL984 network in the Condition tab of its
properties dialog.
When you configure a boolean variable in this tab, the state of this variable is
checked at the beginning of the LL984 networks code execution.
When the variables state is 0, the variable and its networks are not executed.
When the variables state is 1 or when no condition variable is defined for the
network, it depends on the condition variables of the networks whether the networks
are executed or not.
You can define a condition variable for each network.
NOTE: Condition variables do not have influence on the execution of an L9_SKP
block, that means when you have a skip over 4 networks, you skip the remainder of
the current network and the next 3 networks independent of their condition variables.
Remote I/O
You can synchronize the Remote I/Os only for LL984 segments and not for LL984
networks.
Comment
You can enter a comment to an LL984 network in the Comment tab of its properties
dialog.
The maximum size of a comment is 1024 characters.

33003101 07/2012

471

Accessing Tasks and Sections

User Directory/Hyperlink
For LL984 networks you can add hyperlinks by selecting Add Hyperlink from the
networks context menu.
For details please refer to chapter Hyperlinks (see page 1797).
You can not add user directories to LL984 networks.
LL984 Networks in Subroutine Segments
The properties dialog of an LL984 network in a subroutine (SR) segment only
provides the General and the Comments tabs.
The Is called check box in the General tab is greyed and not checked, because in
LL984 subroutines can be called via a memory word and so you only know at run
time whether a subroutine is called or not.
You can not define a condition variable for an LL984 network in a subroutine (SR)
segment.

472

33003101 07/2012

Accessing Tasks and Sections

Scheduling LL984 Segments and Network


Introduction
Sections and LL984 segments (and also LL984 networks inside segments) are
executed in the sequence in which they are displayed in the Structural View of the
Project Browser.
To change this sequence, you can drag-and-drop sections, LL984 segments or
LL984 networks inside the Structural View.
Restrictions
For dragging-and-dropping LL984 segments and networks the following rules apply:
z Sections (ST, LD, ) can not be dropped into LL984 segments.
z LL984 segments can not be dropped into other LL984 segments.
z LL984 networks can only be dropped into LL984 segments.
LL984 networks can be dropped into the LL984 subroutine segment under the SR
Sections) node of the MAST task.
After dropping the networks, they are re-analyzed latest during next Build,
because e.g. L9_LAB function blocks are only allowed in networks of the LL984
segment in the SR Sections node.
z When an LL984 network has an activation condition and is dragged-and-dropped
into the LL984 subroutine segment, the LL984 network loses its activation
condition because subroutine networks do not have activation conditions.
Drag-and Drop Between Applications
You can not drag-and drop LL984 segments and networks from one Unity Pro
application to another.
To copy sections between applications you have to use the import/export feature of
Unity Pro.

33003101 07/2012

473

Accessing Tasks and Sections

Deleting, Cutting, Copying and Pasting LL984 Segments and Network


Deleting LL984 Segments and Networks
You can delete LL984 segments and networks in the Structural View of the Project
Browser.
To delete an LL984 segment or network either select Delete from its context menu
or press the DEL key.
If you want to delete an LL984 segment, a message is displayed that all its networks
will be deleted, too.
You have to confirm this message to delete the LL984 segment.
Cutting, Copying and Pasting
You can not cut, copy and paste LL984 segments and networks in a Unity Pro
application.
Alternatively you can use the import/export feature on segment or network level.

474

33003101 07/2012

Unity Pro
Unity Pro Software Options
33003101 07/2012

Unity Pro Software Options

19
Subject of this Chapter
This chapter describes the options in Unity Pro software. The software provides 3
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 diagnostic 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 Is in This Chapter?
This chapter contains the following sections:
Section

33003101 07/2012

Topic

Page

19.1

Project Settings

19.2

Options

515

19.3

Customize Dialog Box

532

476

475

Unity Pro Software Options

19.1

Project Settings

Overview
This section describes the Tools Project settings dialog box tab.
What Is in This Section?
This section contains the following topics:
Topic

476

Page

General Description

477

General Project Settings

479

Variables

492

Program

495

Maintain Output Links on Disabled EF

503

Configuration Settings For Operator Screens

511

33003101 07/2012

Unity Pro Software Options

General Description
Introduction

CAUTION
UNEXPECTED APPLICATION BEHAVIOR
When importing a project settings file, ensure that the required file is used.
Importing an inappropriate project setting file can result in unexpected application
behavior.
Failure to follow these instructions can result in injury or equipment damage.
The table below describes the general functions used with all Project Settings tabs:
Fields

Description

Import

This button allows the selection of a Project Setting .XSO file. All
values in the file will be taken into account for the current opened
project. After Import, click on OK or Apply to validate the settings.

Export

This button allows the current values of the project settings to be


saved in an .XSO file.

Reset All

This button is used to reset all the settings to their default values.

OK

This button is used to save the modifications and close the current
tab.

Apply

This button is used to save the modifications.

Cancel

This button is used to cancel without saving the modifications on the


current tab.

Help

This button is used to call the online help.

General Navigation
The table below describes the general key shortcut navigation used with all Project
Settings tabs:

33003101 07/2012

Fields

Description

TAB

This key is used to move from one control to another.

ENTER

This key is used to confirm the current action.

ESC

This key is used to cancel without saving the modifications in the


current tab.

Up, Down, Left and


Right Arrows

These keys are used to navigate within the tree control and the right
list box.

477

Unity Pro Software Options

Specific Navigation
The table below describes the Specific key shortcut navigation used with all Project
Settings tabs:

478

Fields

Description

Space

This key is used to check/uncheck an element.

F2

This key is used to activate the current line.

ESC

This key is used to deactivate the current line.

Up and Down
Arrows

These keys are used to navigate in the list box in the active line.

+ and -

These keys are used to increase or decrease a value in the number


field in the active line.

33003101 07/2012

Unity Pro Software Options

General Project Settings


At a Glance
This dialog box can be accessed with the Tools Project Settings General and
can be used to generate the project.
Dialog Box
The dialog box below shows the project generation settings:

The tables below describes the available functions:


Fields

Description

Management of build messages


Variable not used generates Variables defined in the project but are not used in the program.
Multiple writing of variables
generates

Variables assigned several times to different places in the program.

Parameters not assigned


generates

EFB or DFB parameters not assigned.

Multiple use of FB instance


generates

EFB or DFB instances used several times at different places in the program.

33003101 07/2012

479

Unity Pro Software Options

Fields

Description

DDT mapping compatibility


generates

An alignment test on DDTs is done for each type of data structure (BOOL, BYTE,
INT, DINT...) with specific rules for each platform. A warning message in Unity Pro
software says which DDTs must be modified when either an analyze project, build
project, or rebuild all project command runs.
If the data structures have the same alignment in each platform, communication
between them is possible otherwise warning message appears that says which
DDTs have to be modified to allow communication.
Premium and Quantum have the same mapping rule so there s no alignment
problem between these two platforms.
M340 has a different mapping rule than Premium and Quantum, so it is necessary
to check if the alignment of the exchanged DDTs is the same for each platform
(M340 and Premium for example) and in this case modify the DDTs.
Refer to DDT: Mapping rules (see Unity Pro, Program Languages and Structure,
Reference Manual ) for alignment rules.

Overlapping of address
generates

If nothing is selected, no message is displayed in the view window even if there is


overlapping of address of some variables.
If a warning is selected, some addresses messages are displayed in the view
window if there is overlapping of addresses of some variables.The project is
generated.
If an error is selected, some detected error messages are displayed in the view
window if there is overlapping of addresses of some variables. Due to the detected
errors, the project is not generated.
NOTE: Overlapping of topological addresses is not detected. Only flat addresses are
detected by Unity Pro.
NOTE: The overlapping can generate a very high number of warnings for clients
using a lot of located variables or LL984 converted code and so increase the build
generation time.

Missing gateway IP @
generates

A warning is generated on Quantum RIO architecture when a 140 NOC 780 00,
140 NOC 781 00 or 140 CRP 312 00 module is configured without gateway IP
address defined (equal to 0.0.0.0).

Control numbers of
warnings

If Control numbers of warnings is selected and a value is defined in the Maximum


of warnings allowed field (the valid range is 100- 2000), then when the number
configured is reached, the next warnings are not displayed in the view window.

Control numbers of errors

If Control numbers of detected errors is selected and a value is defined in the


Maximum of detected errors allowed field (the valid range is 100- 2000), then
when the number configured is reached, the next errors are not displayed in the view
window.

480

33003101 07/2012

Unity Pro Software Options

Fields

Description

Build settings
Create New data block on
line

The 2 settings Create New data block on line and Free data memory are
exclusive. They allow the user to select the management of data memory during on
line modification.
The Create New data block on line setting added in Unity Pro V6.0 allows you to
add/modify variables without limitation of memory block. Selecting this checkbox
is advised for new applications where you plan to modify the variables on line.
z If this box is checked the dynamic allocation of unlocated variables in a new data
block can be done online and Unity Pro will not prompt you to Rebuild all
Project.
z If this box is unchecked, it acts as per the Free data memory setting, which
appears below.
NOTES:
z Select Create New data block on line is feasible On Line.
z This option is only valid for Unity Pro version 6 or newer, so you will not be able

to open the project in earlier versions of Unity


Free data memory
(in kilobytes)

The 2 settings Create New data block on line and Free data memory are
exclusive. They allow the user to select the management of data memory during on
line modification.
The setting Free data memory (in kilobytes) was the only way to manage data
memory during on line changes before prior to Unity Pro V6.0. It is mainly kept for
compatibility with previous versions or when only a few modifications of variables on
line are planned.
When this setting is valid: only one memory block from 1 to 64 K is reserved.
Each time unlocated variables are created or modified, they are added to this
memory block in the PLC.
When the memory allocated is full, it is not possible to perform additional on-line
modifications (an error message is displayed during the on-line change session). A
Rebuild all Project is mandatory to restart with this memory block empty and
available for new Online modification.

Virtual connected mode

This mode is used to modify a project on a non-connected terminal, as if this terminal


was connected to the PLC.
It is then simply a case of connecting the terminal to the PLC and activating the
command Build Build Changes 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 when an online
modification is not possible. However, if the change is made, the virtual connected
mode is aborted.
Analysis is permitted in this mode, but generation is not possible. The project can be
regenerated at any time, but this exits virtual mode.

Generate with LD link


animation

Allows choosing whether or not to include information on Ladder Diagram link


animation in the generated code.

33003101 07/2012

481

Unity Pro Software Options

Fields

Description

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).

Apply Online modifications

Allows choosing whether the application is to be downloaded automatically or on a


user request after the Build Changes command.
On each modification following dialog box allows to validate or not the modification:

Project autosaving on download


save STA

If the save STA box is checked, the archive file is automatically saved every time it
is transferred to the PLC (generation in online mode, or transfer of complete
program).

save STU

If the save STU box is checked, the project is automatically backed up (STU and
auto.STA files saved if the application has changed since the last download) every
time it is transferred to the PLC (generation in online mode, or transfer of complete
program).

save XVM

If the save XVM box is checked, the project variables are automatically backed up
(XVM file) every time the project is transferred to the PLC (generation in online
mode, or transfer of complete program).

482

33003101 07/2012

Unity Pro Software Options

Fields

Description

PLC embedded data


Data dictionary

Dictionary of symbolized variables with their characteristics (address, type,...) in the


PLC memory.
If this setting is enabled, all symbolized variables of the application are embedded in
the PLC memory and any client (SCADA using OFS, HMI, embedded Web server...)
can then animate or modify those variables. By default, the settings are disabled.
The Data dictionary is generated at build time. This block is updated only if it is
needed during an online modification.
NOTE: Comments of the variables are not stored.
The 3 following properties improve the performances of the Data dictionary online
build:
z When checking Preload on Build Changes, download of data dictionary
reflecting the change of variable definition will be performed before applying the
real change of the application in the PLC. The PLC client tools will then be able
to learn new changes of data.
z The Effective Build Changes Time Out (sec) is the time (1..240 s) that Unity
Pro will wait between the download of the new data dictionary and the real online
application change, the down counting of the time out will be displayed in the
progress bar during the Build Changes operation.
z Checking the Only HMI variables and identifying the HMI variables necessary in
the Data Property table improves online build performances and memory usage
of the PLC. This setting means that the data dictionary will embed only variables
or DFB/EFB instances that have the HMI attribute set.

Upload information

If Upload information is checked, in this non-executable code designed to restore


the source of the project on a terminal is simultaneously loaded with the executable
code when transferring the project to the PLC.
If Upload information is un-checked the program transfer from the PLC to the PC
can not be done anymore.
In this executable code, the check boxes Comments (variables and types) and
Animation tables are used to include (or not) comments associated with the
variables and types and animation tables respectively.

Upload information
management

If Automatic is selected, all online modifications are made on both the executable
code and the non-executable code designed to restore the project on the terminal.
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.

Optimize data on-line


change

If this box is checked:


In online mode, reduces the time of the Upload information generation relating to
variables and function blocks of the application.
NOTE: Uncheck this option to keep compatibility with Unity Pro versions prior to 4.1.

33003101 07/2012

483

Unity Pro Software Options

Fields

Description

PLC Diagnostics
Application diagnostics

If Application diagnostics is selected, the error messages relating to application


diagnostics (diagnostics DFB) will appear in the Diagnostics Viewer.
Application diagnostic 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.
z If Global diagnostic is selected: the cause is searched for in the whole
application, i.e. the possible origin of a fault will be traced over different sections.
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. Up
to 16 fault causes can be reported for an application error when local or global
diagnostic option is chosen.

System diagnostics

If System diagnostics is selected, the detected error messages relating to system


diagnostics appear in the Diagnostics Viewer.
Using System diagnostic language, you can choose the language in which the
error messages are displayed.
Up to 16 detected errors can be reported for an detected application error when local
or global diagnostic option is chosen.

Rack Viewer diagnostics


information

The Rack Viewer diagnostics is used to embed the Rack Viewer information into
the PLC memory in order to be used by Ethernet modules (e.g. 140 NOE 771 11).
If Rack Viewer Variable name is selected the variables names are embedded into
the PLC memory in order to be used by the Rack viewer.

Program Viewer information The Program Viewer runs on a PC that is connected to an Ethernet module.
If selected, it provides a view of the program structure (functional and structural) and
displays the contents of sections and animation.
Use of this function requires Unity Pro 6.0 of higher.
Modifying this setting requires a Build Change. Modification of this setting is not
allowed while the CPU is ONLINE.
NOTES:
z Useful only when having a FactoryCast 140 NOE 771 1, TSY ETY 5103 in the
PLC local rack.
z The data dictionary has to be selected and preferably without the HMI variables
only option.The Program viewer relies on the data dictionary being fully present
in the PLC to animate the variables in the code. If the data dictionary is not
present, or incomplete, the code will be visible but not animated or only partially
animated. Using the HMI variables only would limit the scope of the animated
variables in the code.

484

33003101 07/2012

Unity Pro Software Options

Fields

Description

PLC Behavior
Reset %M on Stop Run
transition

This function resets %M that are not used in LL984 sections during a STOP to RUN
transition of the CPU. For more information, refer to Reset %M (see page 491).
NOTE: This function is only available for the Quantum CPUs with version 2.82 or
higher of the Operating System.

CAUTION
UNINTENDED EQUIPMENT OPERATION
Ensure that in a Reset %M on Stop Run transition the application behavior
remains appropriate.
Failure to follow these instructions can result in injury or equipment damage.
Table continued
Fields

Description

Path
Hyperlink Root Path

Allow to choose a path which is used for LL984 application (see page 112) when the
option to convert the long comments to text files is chosen. In this case the long
comments are available as hyperlinks in the variable Comments column of the Data
Editor.
Additionally you can define a path for the created hyperlink text files:
z Either define a relative path in the root directory of your application.
z Or use the ... button to select any other path.
The subfolder of the hyperlink files is displayed below the edit field.
The path defined will be written to the project settings of your new application (Tools
Project Settings General Path Hyperlink Root Path

Time
Time Stamping Mode

Defines the Time Stamping Mode

Custom TimeZone

Give the possibility to define your own TimeZone. If checked the option:
z Time Zone in UTC time cant be selected.
z Time Offset can be adjusted
z Automatically adjust clock for daylight saving can be configured

Time Zone

Allows to select the wanted time zone in the list of standard time zone.

Time Offset

Allows to add an offset to the Time Zone between -1439...1439 minutes

33003101 07/2012

485

Unity Pro Software Options

Fields

Description

Automatically adjust
clock for daylight saving

Enabled: In the Start Daylight Saving and End Daylight Saving fields, enter the
month, day of week, and occurrence range from the respective drop-down lists.
Disabled is the default.
Disabled: The Start Daylight Saving and End Daylight Saving fields are disabled
because their times are automatically changed in the spring and fall every year.
Start Daylight Saving
End Daylight Saving

NOTE: The Time settings are used by the BMX CRA 312 0 and BMX ERT 1604T
modules. The Quantum and Premium Ethernet modules have their own Time setting
configuration screen.

486

33003101 07/2012

Unity Pro Software Options

After Modifying a Settings


When modifying settings in the Project Settings dialog box, there are different
actions to do for the modification to be taken into account.
The table below shows all the available parameter and the action to be done to take
a modification into account:
Project
Settings

Property label

Modification
Modification
Offline only

Kind of Build
Modification
Online
possible

No Build
necessary

Variable not used


generates

Multiples writing of
variables generates

Rebuild
All
(Offline)

Build
Change
(Offline)

Build
Change
(Online)

General
Management of Build message

Parameters not
assigned generates

Multiple use of FB
instance generates

DDT mapping
compatibility
generates

Overlapping of
address generates

Missing gateway IP
@generates

Control numbers of
warnings

Control numbers of
errors

33003101 07/2012

487

Unity Pro Software Options

Project
Settings

Property label

Modification
Modification
Offline only

Kind of Build
Modification
Online
possible

No Build
necessary

Rebuild
All
(Offline)

Build
Change
(Offline)

Build
Change
(Online)

General
Build settings
Create New data
block on line

X to
deselect

Free data memory


(in kbytes)

Virtual connected
mode

Generate with LD
link animation

Optimized code

Apply online
modification

save STA

save STU

save XVM

X to select

General
Project autosaving on download

General
PLC embedded data

488

Data dictionary

Preload on build
changes

Effective build
changes time-out
(seconds)

Only HMI variables

Upload information

Comments

Animation tables

Upload information
management

Optimize data online change

X
X

33003101 07/2012

Unity Pro Software Options

Project
Settings

Property label

Modification
Modification
Offline only

Kind of Build
Modification
Online
possible

No Build
necessary

Rebuild
All
(Offline)

Build
Change
(Offline)

Build
Change
(Online)

General
PLC diagnostics
Application
diagnostics

Application
diagnostic level

System diagnostics

System diagnostics
language

Rack Viewer
diagnostics
information

Program Viewer
information

Reset%M on Stop ->


Run transition

Hyperlink Root Path

General
PLC behavior

General
Path

33003101 07/2012

489

Unity Pro Software Options

Project
Settings

Property label

Modification
Modification
Offline only

Kind of Build
Modification
Online
possible

No Build
necessary

Rebuild
All
(Offline)

Build
Change
(Offline)

Build
Change
(Online)

General
Time

490

Time Stamping
Mode

Custom TImeZone

Time Zone

Time Offset

Automatically
adjust clock for
daylight saving

START Daylight
Saving: Month

START Daylight
Saving: day of the
week

START Daylight
Saving: Occurrence

END Daylight
Saving: Month

END Daylight
Saving: day of the
week

END Daylight
Saving: Occurrence

33003101 07/2012

Unity Pro Software Options

Reset%M
The action of the Reset%M on Stop Run transition function depends on the
following (Tools menu) Project Settings check boxes:
z General PLC behavior Reset%M on Stop -> Run transition
This setting only impacts%M not used in LL984 language sections.
z Program Languages Ladder Logic 984 (LL984)
This setting only impacts%M used with normal coils in LL984 language sections.
This table shows that results of a transition depends on which check boxes are
validated:
Reset%M

LL984

Resulting Action on Stop Run transition

Unchecked

Unchecked

No%M are reset.

Checked

Reset of%M used with normal LL984 coils.

Unchecked

Reset of%M.

Checked

Reset of all%M not used with latched LL984 coils.

Checked

If there are%M conflicts:


z For a%M used on a LL984 latched coil and on a non-LL984 coil, the LL984
latched coil has the higher priority
z For a%M used on a LL984 normal coil and on a non-LL984 coil, the LL984
normal coil has the higher priority
If a%M has its value forced, its forced value does not change after a Reset%M on
Stop Run transition.

33003101 07/2012

491

Unity Pro Software Options

Variables
Introduction
This dialog box can be accessed with the Tools Project Settings Variables .
Representation
Representation of the Variables section:

Elements of the Variables section:


Element

Description

Allow leading digits

When activating this checkbox, leading digits in names can be used (e.g.
section names, variable names, step names etc.). The names must contain
at least one letter in addition to the leading digits.

Character set

Standard: When activating this option button, the standard (IEC) character
set in names can be used (e.g. section names, variable names, step names
etc.). It is not possible to use accented characters (for example ).
Extended: When activating this option button, the ASCII character set in
names can be used(e.g. section names, variable names, step names etc.).It
is possible to use accented characters.
Unicode: When you activating this option button, the Unicode character set
in names can be used (e.g. section names, variable names, step names etc.).
This option is necessary to create elements in not-roman alphabets like
Chinese.

Allow usage of EBOOL edge

When you activating this checkbox, the EBOOL data type for edge recognition
can be used.

492

33003101 07/2012

Unity Pro Software Options

Element

Description

Allow INT/DINT in place of ANY_BIT When activating this checkbox, for generic parameters of data type
ANY_BIT, the parameters of data type INT or DINT can be used (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 INT, WORD,
and BYTE

When activating this checkbox, the individual bits from an INT, WORD or BYTE
can be extracted, see also section Single bits in words (see Unity Pro,
Program Languages and Structure, Reference Manual ) in the Reference
manual.

Directly represented array


variables

When this check box is checked, it is possible to:


z declare references via indexed addresses (e.g. %MW1[3])
see also section References using indexed addresses (see Unity Pro,
Program Languages and Structure, Reference Manual ) in the Reference
manual
z Reference bits and words as tables (Array) (e.g. %MW1:16)
see also section Table of bits and words (see Unity Pro, Program
Languages and Structure, Reference Manual ) in the Reference manual
or
z Use a combination of both of them (e.g. %MW1[3]:16).

Allow dynamic arrays


[ANY_ARRAY_XXX]

When activating this checkbox, the dynamic arrays can be used, see also
section Tables (see Unity Pro, Program Languages and Structure, Reference
Manual ) in the Reference manual.

Disable array size compatibility


check

When activating this check box, no compatibility check is made on the arrays
when one array is assigned to another, see also section Tables (see Unity
Pro, Program Languages and Structure, Reference Manual ) in the
Reference manual.
Note: This option applies only to one dimensional array.

33003101 07/2012

493

Unity Pro Software Options

After Modifying a Setting


When modifying settings in the Project Settings dialog box, there are different
actions to do for the modification to be taken into account.
The table below shows all the available parameter and the action to be done to take
a modification into account :
Project Property label
Settings

Modification
Modification
Offline only

King of Build
Modification No Build
Online
necessary
possible

rebuild All
(Offline)

Build
(Offline)

Allow leading digits

Character set

Allow usage of
EBOOL edge

Allow INT/DINT in
place of ANY_BIT

Allow bit extraction


of INT, WORD and
BYTE

Directly represented
array variables

Allow dynamic
arrays
(ANY_ARRAY_XXX)

Disable array size


compatibility check

Build
Change
(Online)

Variables

494

33003101 07/2012

Unity Pro Software Options

Program
Introduction
This configuration section can be accessed Tools Project Settings Program.
It contains common languages, FBD, LD, SFC and ST section display settings.
Representation
Appearance of the Program section display setting:

Items in the Program section:


Element

Description

Languages
Function Block Diagram (FBD)

When this check box is checked, the FBD language can be used in your project.

Ladder (LD)

When this check box is checked, the LD language can be used in your project.

Sequential Function Chart (SFC) When this check box is checked, the SFC language can be used in your project.
List (IL)

When this check box is checked, the IL language can be used in your project.

Structured Text (ST)

When this check box is checked, the ST language can be used in your project.

33003101 07/2012

495

Unity Pro Software Options

Element

Description

Ladder Logic 984 (LL984)

When this check box is checked, the LL984 language can be used in your
project.
NOTE:
For modifying the Ladder Logic 984 (LL984) setting the following restrictions
apply:
z This setting will be disabled for applications using Quantum Safety PLCs, as
LL984 segments and networks can only be created for non-safety
applications.
z To modify this setting you have to go offline.

Common
Allow procedures

When this check box is checked, the procedures can be used in your project.

Allow subroutines

When this check box is checked, the subroutines can be used in your project.

Allow nested comments

When this check box is checked, the comments can be nested without it being
reported as an error.

Allow multi assignment


[a:=b:=c;] (ST/LD)

When this check box is checked, the multi assignments can be used in ST, see
also section Multi assignments (see Unity Pro, Program Languages and
Structure, Reference Manual ) in the Reference manual.

Allow empty parameters in non- When this check box is checked, it is not necessary to assign a value to all formal
formal call (ST/IL)
parameters when making informal calls of functions (ST) and function blocks
(IL/ST).
See also section Informal call (ST) (see Unity Pro, Program Languages and
Structure, Reference Manual ) and section Informal call (IL) (see Unity Pro,
Program Languages and Structure, Reference Manual ) in the Reference
manual.
Usage of ST expressions
(LD/FBD)

When this check box is checked, the ST expressions can be used as actual
parameters on FFB inputs and contacts.

Maintain output links on


disabled EF (EN=0)

When this check box is checked, the behavior of link values can be defined in
case an EF is called conditionally (EN input connected).
The default value of this option for a new application is "unchecked".
After changing this setting a "Rebuild All Project" of the application is necessary,
because it influences the generated code.
For detailed information please refer to Maintain Output Links on Disabled EF
(see page 503)
NOTE: This setting is specifically to keep the same behavior as Concept
application.

Display complete comments of


structure element

Display complete comments of structure element: Displays the complete


comments of structured elements in the mixed mode of LD and in the tooltips for
variables in FBD/LD/SFC sections (see page 556).

FBD This area is used to define the number of rows and columns for Function Block Diagrams (FBD).
Number of rows

496

From 240 to 1440 (steps of 10).

33003101 07/2012

Unity Pro Software Options

Element

Description

Number of columns

From 60 to 360 (steps of 10).


The section area (number of rows x number of columns) cannot exceed the
maximum size of 86,400 grids e.g. 240 x 360 or 1,440 x 60.
The two input fields will impact one another, e.g. the number of rows is
determined by the internal calculation 86,400/number of columns (limited to the
lower tenth).

LD
Right-justify coils

Right-justify coils: If this check box is checked, coils (see page 706) are
automatically placed on the right power rail.

Number of Columns

Define the number of columns in an LD section in this text box.


From 11 to 63.
Note: These settings are only valid for new LD sections and not for existing
sections.

Cells Width

Using these option buttons you set the width of the cells from one to three
standard cell widths.

Single scan edge detection for


EBOOL

When an EBOOL is written only one time (through OFS, HMI, by program or
forced by Unity Pro):
z If this check box is checked, writing or forcing an EBOOL activates the edge
detection for one cycle.
z If this check box is not checked, writing or forcing an EBOOL activates the
edge detection until the next writing of this EBOOL.

LD
Mixed display: This area is used to define the available area for variable comments lines height, symbol lines height
and address lines height in mixed display mode (see page 674).
Comments lines height

Sets the maximum number of comment lines shown in mixed display mode.
From 0 to 20 lines.

Symbol lines height

Sets the maximum number of symbol lines shown in mixed display mode.
From 0 to 20 lines.

Address lines height

From 0 to 5 lines.
NOTE: These parameters are adjustable only on the Project Settings.

SFC
Allow macro sections

When this check box is checked, the macro sections can be used in your project,
see also section Macro steps and macro sections (see Unity Pro, Program
Languages and Structure, Reference Manual ) in the Reference manual.

Allow multiple token

When this check box is checked, the sequential control works in the "Multi token"
operating mode, see also section Multi token (see Unity Pro, Program
Languages and Structure, Reference Manual ) in the Reference manual.

33003101 07/2012

497

Unity Pro Software Options

Element

Description

SFC
SFC multi token1
Max. # of active steps/section

This text box is only available if the Allow multiple token check box activated.
The maximum number of active steps per section can be defined (including all
their macro sections) in this text box.
From 1 to 100.

Max. # of active actions/section

This text box is only available if the Allow multiple token check box activated.
The maximum number of active actions per section can be defined (including all
their macro sections) in this text box.
From 1 to 100.

SetSteps: keep previous step(s) This text box is only available if the Allow multiple token check box activated.
in active state
When this check box is checked, all currently active steps remain active when
new steps are set by the user (Animation Panel or function block).
When this check box is not checked, all currently active steps are deactivated
when new steps are set by the user (Animation Panel or function block).
Parallel branches: allow jump
in/out

This text box is only available if the Allow multiple token check box activated.
When this check box is checked, jumps can be made into or out of a parallel
sequence, see also section Jump into a parallel sequence (see Unity Pro,
Program Languages and Structure, Reference Manual ) and section Jump out of
a parallel sequence (see Unity Pro, Program Languages and Structure,
Reference Manual ) in the Reference manual.

Allow multiple evolutions by


divergence of sequence
selection

This text box is only available if the Allow multiple token check box activated.
When this check box is checked, all transitions of an alternative branch are
processed in parallel (x-out-n-select), see also section x-out-n-select (see Unity
Pro, Program Languages and Structure, Reference Manual ) in the Reference
manual.
When this check box is not checked, all transitions of an alternative branch are
processed in sequence (1-out-n-select), see also section Alternative sequences
(see Unity Pro, Program Languages and Structure, Reference Manual ) in the
Reference manual.

ST
Allow jump and label

When this check box is checked, you can use jumps and labels in ST, see also
section Labels and jumps (see Unity Pro, Program Languages and Structure,
Reference Manual ) in the Reference manual.

LL984
SKP enabled

498

This LL984 setting is enabled only, if the LL984 library setup was installed.
When this check box is checked, the L9_SKP function block can be used in your
project.
NOTE: Modifying this setting will lead to a re-analysis of the LL984 networks.
This is also possible in online mode.

33003101 07/2012

Unity Pro Software Options

Element

Description

Network Display

z Printing View

Using this list you select view1 to view4 defined under items View 1 to View
4 (see below).
The default view is view4.
The view you select for the Printing View setting will be used for printing the
LL984 networks.
z Column Width
Using this field you can enter the column width as a floating point value (1.0
to 3.0.
For example a value of 3.0 means a 3 times larger column width.
The default width is 1.0.
NOTE: Modifying the Column Width setting will not lead to the need of a new
Build.
View 1 to View 4

The LL984 Editor can display various information concerning variables attached
to coils, contacts and function block nodes.
According to the settings for View 1 to View 4 the LL984 Editor will show the
following information:
z address (e.g. %M100)
z 984-address (e.g. 400100
z variable name
z variable comment
z descriptors 1 to 9
z topological address/
For further information please refer to Items of the View 1 to View 4 Settings
(see LL984 Editor, Reference Manual, LL984 Specifics).

NOTE: 1The SFC multi-token option is mainly for PL7 migration and to support the
GRAFCET specification that Telemecanique used to support.
NOTE: It is important to optimize the number of active steps and active actions at
the right number to get the project to fit into the available memory.

33003101 07/2012

499

Unity Pro Software Options

After Modifying a Setting


When modifying settings in the Project Settings dialog box, there are different
actions to do for the modification to be taken into account
The table below shows all the available parameter and the action to be done to take
a modification into account :
Project Property label
Settings

Modification
Modification
Offline only

Kind of Build
Modification
Online
possible

No Build
necessary

Rebuild
All
(Offline)

Build
Change
(Offline)

Build
Change
(Online)

Languages
Function Block
Diagram (DFB)

Ladder (LD)

Sequential Function
Chart (SFC)

List (IL)

Structured Text (ST)

Ladder Logic 984


(LL984)

Allow procedures

Allow subroutines

Allow nested
comments

Allow multi
assignment
[a:=b:=c;] (ST/LD)

Allow empty
parameters in nonformal call (ST/IL)

Usage of ST
expressions
(LD/FBD)

Maintain output links


on disabled EF
(EN=0)

Languages
Common

Display complete
comments of
structure element
500

33003101 07/2012

Unity Pro Software Options

Project Property label


Settings

Modification
Modification
Offline only

Kind of Build
Modification
Online
possible

No Build
necessary

Rebuild
All
(Offline)

Build
Change
(Offline)

Build
Change
(Online)

Languages
FDB
Number of rows

Number of columns

Languages
LD
Right-justify coils

Number of columns

Cells width

X
Single scan edge
detection for EBOOL

Languages
LD
LD Mixed display
Comments lines
height

Symbol lines height

Address lines height X

Languages
SFC
Allow macro
sections

Allow multiple token

33003101 07/2012

501

Unity Pro Software Options

Project Property label


Settings

Modification
Modification
Offline only

Kind of Build
Modification
Online
possible

No Build
necessary

Rebuild
All
(Offline)

Build
Change
(Offline)

Build
Change
(Online)

Languages
SFC
SFC multi token
Max. # of active
steps/section

Max. # of active
actions/section

SetSteps: keep
previous step(s) in
active state

Parallel branches:
allow jump in/out

Allow multiple
evolutions by
divergence of
sequence selection

Languages
ST
Allow jump and label
Languages
LL984
SKP enabled

Languages
LL984
Network Display

502

View 1 to View 4

Printing view

Column width

33003101 07/2012

Unity Pro Software Options

Maintain Output Links on Disabled EF


Introduction
The Maintain output links on disabled EF (EN=0) project setting allows you define
the behavior of link values, connected to output pins of EFs, in case an EF is called
conditionally (EN input connected).
The default value of this project setting for new applications is deactivated
(unchecked).
NOTE: After changing this setting a Rebuild All Project of the application is
necessary, because it influences the generated code.

WARNING
UNEXPECTED EQUIPMENT OPERATION
Check the behavior of the application when using the Maintain output links on
Disable EF function.
Failure to follow these instructions can result in death, serious injury, or
equipment damage.
NOTE: The behavior of the application will change after modifying this project
setting that has an impact on the code execution.
Changing this Project Setting
You can change the Maintain output links on disabled EF (EN=0) project setting
in Unity Pro under Tools Project Settings Program Languages
Common.
Behavior in Case of Deactivated Project Setting
In case of a falling edge of EN input, the values of output variables stay unchanged,
whereas output links are reset to 0.
For the example shown in the graphic below:
z EN -> 0
z save_out_val = 1
z link = 0 (red)

33003101 07/2012

503

Unity Pro Software Options

Behavior in Case of Activated Project Setting


In case of a falling edge of EN input, the values of output variables and output links
stay unchanged.
For the example shown in the graphic below:
EN -> 0
z save_out_val = 1
z link = 1 (green)
z

Compatibility Unity Pro 4.0 and 4.1 or later


The following table describes the compatibility of Unity Pro 4.0 (or earlier) and
Unity Pro 4.1 or later regarding:
z transferring from PLC to PC (upload)
z opening XEF file on PC (import)
z opening STA file on PC (archived project)
The compatibility depends on whether the project setting Maintain output links on
disabled EF (EN=0) is activated or deactivated.

504

Prerequisite

Unity Pro 4.0

Unity Pro 4.1


or later

Generated with Unity Pro 4.0.


Project setting not available in Unity Pro 4.0.

possible

possible

Generated with Unity Pro 4.1 or later for an


application 4.0.
Project setting deactivated.

possible (1)

possible

Generated with Unity Pro V4.1 or later for an application


V4.0
Project setting activated.

not possible

possible

Generated with Unity Pro V4.1 or later for an application


V4.1 or later, using M340 V2.1 PLC, )
Project setting deactivated.

not possible

possible

Generated with Unity Pro V4.1 or later for an application


V4.1 or later (using M340 V2.1 PLC, )
Project setting activated.

not possible(2)

possible

33003101 07/2012

Unity Pro Software Options

(1) importing a 4.1 XEF file into Unity 4.0 may require the external tool
XEFDowngrader
(2) PLC is not recognized
Project Settings after Upload, Open XEF, Open STA File
The following table describes the status of the Maintain output links on disabled
EF (EN=0) project setting after
z transferring from PLC to PC (upload)
z opening XEF (or ZEF) file on PC (import)
z opening STA file on PC (archived project)
Prerequisite

Unity Pro 4.0

Unity Pro 4.1


or later

Generated with Unity Pro 4.0.


Project setting not available in Unity Pro 4.0.

not available

not activated

Generated with Unity Pro 4.1 or later for an application 4.0. not available
Project setting deactivated.

not activated

Generated with Unity Pro V4.1 or later for an application


V4.0
Project setting activated.

not available

activated

Generated with Unity Pro V4.1 or later for an application


V4.1 or later, using M340 V2.1 PLC, )
Project setting deactivated.

not available

not activated

Generated with Unity Pro V4.1 or later for an application


V4.1 or later (using M340 V2.1 PLC, )
Project setting activated.

not available

activated

In case of uploading, importing or opening a Unity Pro application with Unity Pro 4.1
or later, created with Unity Pro 4.0 or earlier, the Maintain output links on disabled
EF (EN=0) project setting is deactivated.
After a Rebuild All Project and download the behavior is the same as the
application had in the environment of the earlier version of Unity Pro.
If you want to use the Maintain output links on disabled EF (EN=0) project setting,
you must:
z open or upload an application,
z activate the project setting,
z Rebuild All Project.

33003101 07/2012

505

Unity Pro Software Options

Undoing EF Deletion
If the Maintain output links on disabled EF (EN=0) project setting is activated and
an EF is called conditionally, static memory will be allocated for each output pin of
the EF, to save the output values during runtime.
In case you delete this EF in the editor the static memory will be released.
If you perform an UNDO later on, the EF will be re-created and new static memory
will be allocated.
After a following Build Changes, these mechanisms occur:
Maintain output links on disabled EF (EN=0) project setting deactivated:
No static memory is assigned for the output pins as maintaining the last link
values is not needed.
z If EN is 0 the link is reset to 0.
z If EN is 1 the link is written with the value of the OUT.

Maintain output links on disabled EF (EN=0) project setting activated:


New static memory is allocated for the output pins because the old memory has
been released. The links new static memory is initialized to 0.
z If EN is 0 the links value remains initialized to 0.
z If EN is 1 the EF is executed and the value of the OUT is written to the link.

Example:
Project setting activated, EN not connected

Conditions before Build Changes:


z EN = 0
z save_out_val = 1
z link = 1
Delete EF.

506

33003101 07/2012

Unity Pro Software Options

Perform UNDO and Build Changes.

Result:
z save_out_val = 1
z link = 0
With the next activation of the changed EF the links new static memory will be
written and works as expected on the next deactivation.
This behavior is in principle the same by using other EF types (ADD, XOR).
EN Not Connected
If EN is not connected or not displayed (box Show EN/ENO not checked), no
preparation is done to maintain the last link values.
If the EN input is connected later and then Build Changes is performed, the
following mechanisms occur:
z Maintain output links on disabled EF (EN=0) project setting deactivated:
No static memory is assigned as maintaining the last link values is not needed.
After falling edge of EN, link is reset to zero, variable save_out_val is unchanged.
z Maintain output links on disabled EF (EN=0) project setting activated:
New static memory is allocated in PLC to maintain the last link values for the
output links. This static memory is initialized to 0.
If EN is 1 after a Build Changes, the EF is executed and the output data is
assigned to the connected links static memory.
The links static memory will be consistent at the end of the first PLC working
cycle after a Build Changes.
NOTE: If the EN is 0 after the Build Changes, the static memory, representing the
link, keeps its initialization state (0), which may be different to the value before the
download change.
Example:
Option activated, EN not connected

33003101 07/2012

507

Unity Pro Software Options

Conditions before Build Changes:


z EN of first AND is not connected, i.e. EF AND is invoked
z save_out_val = 1
z link = 1
Connect enable to EN of first AND, set enable to 0, perform Build Changes.

Result:
z save_out_val = 1
z link = 0
With the next activation of the changed EF the links new static memory will be
written and works as expected on the next deactivation.
This behavior is in principle the same by using other EF types (ADD, XOR).
Use Cases
The following use cases show that
replacing EFs by other EFs leads to initialization of output link values due to new
memory allocation.
z changing output links on not changed EFs leads to maintaining the link values
due to using of already allocated memory that belongs to the EFs.
z

The following use cases apply to all EF types.


Replacing AND by AND_BOOL
Preconditions
z Maintain output links on disabled EF (EN=0) project setting is activated
z variable enable = 0.
z output link = 1 (due to enable was 1 in the history)

508

33003101 07/2012

Unity Pro Software Options

Replace AND by AND_BOOL and perform Build Changes.

Result: output link = 0


Reason for output link is 0 after Build Changes:
z The memory to hold the output values of the deleted EF (AND) has been
released.
z Assigning a new EF (AND_BOOL) causes allocation of new memory to hold its
output link values.
z The new memory is initialized to 0.
Replacing ADD by MUL
Preconditions
Maintain output links on disabled EF (EN=0) project setting is activated
z variable enable = 0.
z output link = 6 (due to enable was 1 in the history)
z

Replace ADD_INT by MUL_INT and perform Build Changes.

Result: output link = 0


Reason for output link is 0 after Build Changes:
z The memory to hold the output values of the deleted EF (ADD_INT) has been
released.
z Assigning a new EF (MUL_INT) causes allocation of new memory to hold its
output link values.
z The new memory is initialized to 0.

33003101 07/2012

509

Unity Pro Software Options

Deleting Output Link and Performing UNDO


Preconditions
Maintain output links on disabled EF (EN=0) project setting is activated
z variable enable = 0.
z output link = 6 (due to enable was 1 in the history)
z

Delete output link.


Undo deletion and perform Build Changes.

Result: output link = 6


Reason for output link is 6 after Build Changes:
z Deleting an output link and connecting a new output link to the same EF output
pin does not cause the allocating of new memory to hold the values of the output
link.
z As this memory belongs to the EF, it will not be released until deletion of the EF.
z In this use case the new link gets the memory of the deleted link (value = 6).

510

33003101 07/2012

Unity Pro Software Options

Configuration Settings For Operator Screens


At a Glance
The configuration section accessible from Tools Project Settings Operator
Screens is used to:
z
z
z
z

Manage the control of screens by the PLC,


Manage the detection of displayed screens,
Manage the display or masking of screen numbers in the project browser,
Manage the display of full screen at opening.

Representation
Representation of the Operator screens section:

33003101 07/2012

511

Unity Pro Software Options

Description
Elements of the Operator screens section:
Field

Description

Operator Screens
Full screen at opening

When this box is checked, the operator screens open in Full screen mode.
The menu bar is replaced by the drawing toolbar.

Operator Screens
Controlled Screen
Variable

Variable: 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 the selected variable.
Comment: Comment on the selected variable.
NOTE: Only variable with type EBool, Bool, Byte, Int or DInt can be selected.

Displaying screens controlled


via the PLC

When this box is checked, displaying of screens in online mode is controlled via
the PLC. It is the value of the control variable that determines the screen
displayed.
This setting can also be changed via the Shortcuts F2/F3 or their corresponding
buttons in the Toolbar when an Operator Screen is open.

Display screen number in the


project browser

When this box is checked, the screen number is displayed to the left of the screen
name in the project browser.

Operator Screens
Last opened screen
Variable

Variable: This field is used to enter the DInt type variable containing the number
of 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 the selected variable.
Comment: Comment on the selected variable.
NOTE: Only variable with type DInt can be selected.

512

33003101 07/2012

Unity Pro Software Options

After Modifying a Setting


When modifying settings in the Project Settings dialog box, there are different
actions to do for the modification to be taken into account.
The table below shows all the available parameter and the action to be done to take
a modification into account :
Project Property label
Settings

Modification
Modification
Offline only

Kind of Build
Modification
Online
possible

No Build
necessary

Rebuild
All
(Offline)

Build
Change
(Offline)

Build
Change
(Online)

Operator Screens
Full screen at opening
Operator Screens
Controlled Screen
Variable

Displaying screens
controlled via the PLC

Display screen
number in the project
browser

Operator Screens
Last Opened screen
variable

Control Variable
The control variable enables the PLC to select the screen to be displayed. This
variable can be binary or numeric.

33003101 07/2012

513

Unity Pro Software Options

Binary Control Variable


A binary control variable allows controlling the operator screen display with only one
button connected to the PLC.
The diagram below gives an example of the trend of the Binary control variable:

For each of the steps of the trend diagram, the control variable operates as follows:
Step

Operation

Its value is equal to 1 for more than 1 second: the screens are highlighted 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 4

Its value is equal to 0 for more than 1 second: the screen currently highlighted
in the Project Browser (n = current screen) is displayed.

Its value is equal to 1 for less than 1 second: on each pulse, the PLC selects the
screen (n+1) in the list of operator screens. The pulses are used to display the
screens one by one.

NOTE: As long as this binary control variable has value 1, the operator screens are
selected automatically in project browser one after the other. In this case the context
menu can not be used in the project browser.
Numeric Control Variable
When the control variable is numeric, its value corresponds to an operator screen
number. Therefore, the screen editor displays (if it exists) the screen whose number
is equal to the variable value.

514

33003101 07/2012

Unity Pro Software Options

19.2

Options

Overview
This section describes the Tools Options dialog box tab.
What Is in This Section?
This section contains the following topics:
Topic

33003101 07/2012

Page

General Description

516

General Options

518

Data and Languages

520

Connection Options

522

The Operator Screens Option

524

Converters

526

515

Unity Pro Software Options

General Description
Introduction
Functionalities, key shortcuts and specific key-shortcut navigation are used for all
Options tabs.
General Description
The table below describes the general functions used with all options tabs:
Fields

Description

Import

This button allows the selection of a Options .XOO file. All values in the file is
taken into account immediately. After Import, click on OK or Apply to validate
the options.
NOTE: If a project is opened, the Custom Library and Working Drive are
updated in the next Unity Pro launching.

Export

This button allows to save the current values of the options in a .XOO file.

Reset All

This button is used to reset all the options to their default values.

OK

This button is used to save the modifications and close the current tab.

Apply

This button is used to save the modifications.

Cancel

This button is used to cancel without saving the modifications on the current
tab.

Help

This button is used to call the online help.

General Navigation
The table below describes the general key shortcut navigation used with all Options
tabs:

516

Fields

Description

TAB

This key is used to move from control to another.

ENTER

This key is used to confirm the current action.

ESC

This key is used to cancel without saving the modifications in the


current tab.

Up, Down, Left and


Right Arrows

These keys are used to navigate within the tree control and the right
list box.

33003101 07/2012

Unity Pro Software Options

Specific Navigation
The table below describes the specific key shortcut navigation used with all Options
tabs:

33003101 07/2012

Fields

Description

Space

This key is used to check / uncheck an element.

F2

This key is used to activate the current line.

ESC

This key is used to deactivate the current line.

Up and Down Arrows

These keys are used to navigate in the list box in the active line.

+ and -

These keys are used to increase or decrease a value in number


field in the active line.

517

Unity Pro Software Options

General Options
At a Glance
This configuration section, accessible from Tools Options General, contains
a set of general options.
General Options Dialog Box
Representation of the General section:

518

33003101 07/2012

Unity Pro Software Options

Description
Elements of the General section:
Fields

Description

General
Auto increment of
project version

When this option is selected, the project version is automatically


incremented on each build.

Auto completion of
the variable name

This option is useful when the user invokes the data selection to
enter the name of a variable (ex: a pin of a block in FBD).
When it is selected, the user enters the first characters of a variable
to select one of these that matches with the entered string. If the
entered string has been already used before, the auto completion
feature completes the string with the last variable that was used.

Display errors /
messages

If Message box is selected, all detected error messages are


displayed in dialog boxes.
If Output window is selected, all detected error messages are
displayed in the output window.

Contextual Restore
at project opening

When this box is checked, the windows have the same arrangement
when the project is opened as when it is closed. A .ZTX file is
generated, which saves the context.

General
Paths
Project path

Path where the .STU project files are saved or from where they are
retrieved when opening.

Import/Export file
path

Path where the import/export source files are kept (example: .XEF
files).

Autosaving on
download XVM path

Path where the .XVM file is stored in case of the Project autosaving
on download save XVM setting is checked.
This file is automatically generated to back up the variables of the
project every time this one is transferred to the PLC.
The default path is the same as the default Project path.

Project settings
templates path

Path where the Project settings templates are located.

Project settings
template file

Project settings template file that is proposed in the Settings file


during the New Project (see page 77) creation.

Custom Library path Path where the custom libraries are located. Changing the custom
library path is taken into account at next open project or new project.
Working directory

Work area used by the software.

NOTE: The libraries provided by Schneider Electric are located in a Unity Pro
system folder. The location of these libraries can not be changed by the user.
To use a previously created custom library after changing the Custom Library
Path, move the library file to the new location.
33003101 07/2012

519

Unity Pro Software Options

Data and Languages


Introduction
The Data & Languages section contains settings for entering data.
NOTE: The changes made in this section become active when the respective dialog
box (e.g. Data editor) is closed and then opened again.
Representation
Representation of the Data & Languages section:

Items of the Data & Languages section:


Element

Description

Spreadsheet behavior

520

Move selection after


entering information

This options button allows specifying which neighboring cell


becomes active when the Enter key is pressed.

Open edit session on


char press

If this check box is checked, the input mode is automatically


opened for the currently active cell when a character key is
pressed. The contents of the active cell are overwritten with the
new contents.

33003101 07/2012

Unity Pro Software Options

Element

Description

Languages
Automatically assign
variable to a new
graphical object

If this check box is checked, the properties dialog box (e.g. for
contacts, coils, steps, transitions) or the FFB Input assistant
(e.g. for functions, function blocks) is opened for assigning the
formal parameter of the object when you place a graphical
object.

Reuse windows on refine If this box is checked:


z Only one window is used for Refine command on DFBs,
z Only one window is used for Refine command on actions
and
z Only one window is used for Refine command on
transitions.
If this box is not checked, for each Refine command on DFBs,
actions or transitions, a new window is opened.
LL984
Show latched coil as

Using this list you can select, which letter (L or M) will be


displayed inside a latched coil.
The default letter that will be displayed is an L.
NOTE: Modifying this setting will lead to a refresh of the editor
window of all opened LL984 networks.

Reuse 984 editor window If this check box is checked only 1 window is used for Open
when network is opened commands on LL984 networks.
If this check box is not checked, for each Open command on an
LL984 network, a new window is opened.
NOTE: Modifying this setting will only take effect after next time
an LL984 editor is opened.
Mnemonics

33003101 07/2012

The Property label column lists all contacts and coils and an
assortment of functions blocks available for LL984 networks.
In the Property value column you can enter a mnemonic for
each listed element. A mnemonic can consist of up to 4
alphanumeric signs.
Please also refer to Using Mnemonics (see page 1089).

521

Unity Pro Software Options

Connection Options
At a Glance
This configuration section, accessible from Tools Options Connection,
contains the options relating to the connection (see page 86) of the terminal to the
PLC.
Connection Options Dialog Box
Representation of the Connection section:

522

33003101 07/2012

Unity Pro Software Options

Description
Items of the Connection section:

33003101 07/2012

Fields

Description

PLC connection
identification

When several terminals simultaneously access the same PLC, this


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
mode

If Use programming mode is selected, the terminal connects, by


default, in programming mode.
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 Use monitoring mode is selected, the terminal connects, by
default, in monitoring mode (read-only access).
Note: In monitoring mode links between EFs are not animated.
If Mandatory programming mode is selected, the terminal can only
connect in programming mode. If the PLC is reserved, a connection
refusal then follows.

523

Unity Pro Software Options

The Operator Screens Option


At a Glance
The configuration section, accessible from Tools Options Operator
Screens, is used to:
z
z
z
z
z
z
z

Enable or prevent use of the magnetic grid,


Display the mouse position,
Enable edit in online mode,
Enable selection of an object in online mode,
Display or hide the vertical scroll bar,
Display or hide the horizontal scroll bar,
Specify the default size of new operator screens.

Representation
Representation of the register section Operator Screens:

524

33003101 07/2012

Unity Pro Software Options

Elements of the register section Operator Screens


Field

Description

Grid
Display grid

When this box is checked, the grid is displayed according to the step
defined.

Step

Used to define the step of the grid, i.e. the space between the horizontal
and vertical lines of the grid. From 5 to 100 (steps of 5 pixels).

Alignment of
objects on grid

When this box is checked, the objects are automatically positioned on the
points of the grid when they are handled (creation, size-modification,
movement, etc.).
If this box is not checked, the objects are not aligned on the grid.

Edit
Display mouse
position

When this box is checked, the position of the mouse is displayed in the
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), see
the following example:

Vertical scroll
bar

When this box is checked, the vertical scroll bar is displayed when the
screen height is larger than the current window.

Horizontal
scroll bar

When this box is checked, the horizontal scroll bar is displayed when the
screen width is larger than the current window.

Online mode
Enable edit in
online mode

When this box is checked, this authorizes the editing of screens that are
not currently controlled by the PLC in online mode (creation, modification
and deletion of screens).
NOTE: If the screens are controlled by the PLC Description
(see page 512), you cannot edit them in Online Mode even if the Enable
edit in online mode is checked.

Enable
selection in
online mode

When this box is checked, this enables the selection of an object in online
mode.

Default screen size


Width
Height

These two fields allow the definition of the default size of new screens.
The values entered do not change the size of screens already created.

Screen opening
Screen opening If the Mono-Instance box is checked, when a new screen opens, the latter
replaces the previous one in the display window.
If the Multi-Instance box is checked, 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 reduce performance.

33003101 07/2012

525

Unity Pro Software Options

Converters
Introduction
This configuration section, accessed from Tools Options Converters,
contains options for the conversion of legacy projects to Unity Pro.
The section is only available for Quantum, Premium, and Atrium.
Representation
Representation of the register section Converters:

526

33003101 07/2012

Unity Pro Software Options

Elements of the register section Converters:


Element

Description

Converters
Split Converted
Sections

This separates ProWORX32, Modsoft and Concept LL984 segments


into smaller units.
Separation is only applied to MAST task sections. Grafcet and Post,
FAST task sections and subroutines must be present as a complete unit
and cannot be separated into smaller sections:
z When this checkbox is enabled, the options Networks per Section
and Ignore Jumps when splitting are enabled and can be modified.
z When this checkbox is not enabled, the options Networks per
Section and Ignore Jumps when splitting are disabled.
The separation of segments into smaller units does not take place, if a
jump is present in the segment and its target has not yet been reached,
and becomes active again after the jump target.

Networks per
Section

Allows the definition of the number of networks in a section.


From 1 to 30 networks per section.

Ignore jumps
A section may contain jumps to labels. A jump is located inside the
when separating section.
The converter takes jumps inside the section into account since it is not
allowed to have a jump from one section to another. Depending on how
the jump is validated inside the section (active or not), the automatic
splitting at network bounds is inhibited (active).
The feature of recognizing such jump scopes can be suppressed by this
checkbox. When this checkbox is enabled, automatic section splitting
always takes place regardless of jumps. Therefore many error
messages concerning missing jump targets will be generated at analyze
time.
Symbols Instead z When this checkbox is enabled, discrete variables are converted with
their symbols instead of the direct addresses.
of Direct
When there is no symbol in the source application, a symbol is
Addresses
created automatically (e.g. %IO.2.3.4 -> IO_2_3_4).
z When this checkbox is not enabled, the variables are converted with
their direct addresses.

33003101 07/2012

527

Unity Pro Software Options

Element

Description

Generate
Topological
Addresses for
Quantum

z When this checkbox is enabled, a topological address will be created

(e.g. %M\2.3\4.5.6).
z When this checkbox is not enabled, a flat address will be generated

(e.g. %M1234).
During the conversion, the Concept addresses are converted into
internal flat addresses 1:1. However, if topological addressing is desired,
the flat address is searched for in the I/O address tables of the I/O
modules. If the associated address is found, the address of the module
link point is determined and linked with the address of the I/O module to
a topological address.
NOTE: Flat addressing is only possible for Quantum and for Modicon
M340. For Premium, topological addressing is always used regardless
of the option.

Converters
LL984
These options are present only if LL984 converter is installed.

528

Suppress
Schedule

When this checkbox is enabled, the association of I/O drops (Remote


I/O) is suppressed during conversion.
This can be done to avoid analyze errors in Unity Pro.

Suppress
Graphs

When this checkbox is enabled, networks only containing links are


erased during conversion.
This can be done to avoid analyze errors in Unity Pro.

Attach coils to
open ends

When this checkbox is enabled, coils without assigned variables are


positioned at the open ends automatically.
This can be done to avoid analyze errors in Unity Pro.

Generate
ConvError Hints

z When this checkbox is enabled, ConvError objects are generated in

Include 984
Execution
Corrections

z When this checkbox is enabled, the converter modifies the section so

Unpowered LD
objects to Left
Power

When this checkbox is enabled,unpowered LD objects are connected to


the left power rail automatically with a normally opened contact without
assigned variable.

Comment
Generation Rule

When this checkbox is enabled, is possible to composite a variable


comment from different source Strings.
A blank character is generated between all the different source strings.

the LD programs during the conversion to draw attention to special


issues.
z When this checkbox is not enabled, ConvError objects are
generated in the LD programs during the conversion to draw attention
to special issues.
that the result in Unity Pro is the same as in ProWORX32, Modsoft or
Concept.
z When this checkbox is not enabled, no ConvError objects is
generated during the conversion.

33003101 07/2012

Unity Pro Software Options

Element

Description

Symbol
Generation Rule

When this checkbox is enabled, is possible to composite a variable


comment from different source Strings.
An underline character is generated between all the different source
strings.
Possible parameters for the String Generation rules are:
z Sx: short comments while x could be 14,
z Dx: descriptors while x could be 1...9,
z L: long comment,
z F: flat Address as String without % character.
NOTE:
Variable name source priority:
z If Symbol is defined for a State Ram Data, it is used as variable name,
z Else, if ISA Symbol is defined for a State Ram Data, it is used as
variable name,
z Else, a data name is generated with the Symbol Generation Rule.

Max. Symbol
Lenth

Limitation of the generated symbols length.

Map Compact to
Premium

z When this checkbox is enabled, the Compact modules are converted

to Unity Pro Premium modules.


z When this checkbox is not enabled, Concept Compact applications

are converted to Modicon M340 applications.


Converters
PL7
Transition
Optimization

z When this checkbox is enabled, in order to improve the performances

at execution time, some SFC transitions are converted to variables.


z When this checkbox is not enabled, the transitions are converted as

they were in PL7.

33003101 07/2012

Step State
Explicit
Definition

z If this checkbox is enabled, when the conversion of PL7 application

Symbol As Step
Name

z When this checkbox is enabled, the PL7 steps %Xi are converted

to Unity Pro is done, the macro steps not used on the PL7 program
are declared on the Unity Pro project.
z If this checkbox is not enabled the macro steps not used on the PL7
program are not converted on the Unity Pro project.
with the PL7 step symbol. For example on PL7 %X2 with the symbol
Motor_1 is converted into Motor_1.
z When this checkbox is not enabled, the PL7 steps %Xi are converted
on X_i. For example on PL7 %X2 is converted into X_2.

529

Unity Pro Software Options

Element

Description

Converters
Concept
Variables at
empty pins

z When this checkbox is enabled, empty link points will be filled with

variables created by the converter.


z When this checkbox is not enabled, empty link points will not be filled

with variables created by the converter.


In Unity Pro it is necessary to fill provided inputs and outputs for derived
data types or I/O parameters (this is not necessary in Concept).
If these types are not generic, the converter will fill these initially empty
inputs and outputs with variables created by the converter.
Disable FB
Output MultiAssignment
detection

z When this checkbox is enabled, the converter disables the multiple

assignments check.
z When this checkbox is not enabled, the converter enables the

multiple assignments check.


Unity and Concept behaviour differ on DFB/FB output parameters in
FBD or LD sections. This different behavior does exist with elementary
variables or derived data type components. The converter searches all
potential locations where such elementary variables or derived data type
components are written and marks these locations with a Converter
Error Hint. Then, the user can check the affected code concerning
different behavior and if necessary modify the application. If the variable
is written only once, no Converter Error Hint will be generated.

Generate
Generic EFs

z When this checkbox is enabled, the converter removes the added

data type from the name of the function.


z When this checkbox is not enabled, the converter will leave the

added data type in the name of the function.


There are only a few generic elementary functions in Concept (EFs) e.g.
MOVE, SEL, MUX. With many other functions, the elementary data type
is added to the name of the function.
In Unity Pro, many of these functions are used without the elementary
data type added to the name (as defined in IEC 61131). The converter
removes the added data type from the name of the function.
In some cases, the use of generic functions in Unity Pro will lead to
analytic errors. In these cases, disable the checkbox.

530

33003101 07/2012

Unity Pro Software Options

Element

Description

Separate LD
networks

z When this checkbox is enabled, recognized networks are moved

vertically, which prevents overlapping.


z When this checkbox is not enabled, recognized networks are not

vertically moved. The original vertical arrangement of the graphics is


maintained, but error messages may occur due to overlapping.
IEC LD sections contain many independent graphic areas (networks).
During the conversion of IEC LD sections, additional columns are added
to the networks to avoid undesired automatically generated links in
Unity Pro.
If the additionally inserted columns were to extend across the entire
section, the original graphic would be modified too much. Therefore, the
sections are divided in networks during the conversion and additional
columns are only inserted for the associated network.
Inserting additional columns may cause a network to exceed its
maximum section width and it is then wrapped into the next line.
If this causes networks to vertically overlap, the overlapping of the logic
can lead to undesired automatic links in Unity Pro.
Substitute
Procedures in
ST/IL

z When this checkbox is enabled, the instance name of the Concept

call will be replaced with the type name.


z When this checkbox is not enabled, a DFB will be created, which

will then access the procedure.


Some EFBs from Concept are implemented as procedures in Unity Pro
without instance names.
Substitute %QD
by %MF

z When this checkbox is enabled, %QD variables are converted to

%MF variables.
z When this checkbox is not enabled, %QD variables are converted to

MW variables.
Variables that are directly addressed in Concept with %QD can be
initialized floating point constants or dual word constants. When mainly
floating point constants appear, this checkbox should be enabled.
LD Column
Break

33003101 07/2012

The number entered here determines the column after which a network
is wrapped to the next column.
Inserting additional columns may cause a network to exceed its
maximum section width and it is then wrapped into the next line. For
more information, see Wrapping networks that are too wide in the
Concept Converter documentation.

531

Unity Pro Software Options

19.3

Customize Dialog Box

Customize Dialog Box


Call the dialog box:
You have the following options to call the dialog box:
Execute the Tools Customize command.
or
z Use the Toolbar menu command from a toolbar shortcut menu or the toolbar
itself.
z

Dialog structure
The dialog box consists of two tabs:
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
Illustration of the Toolbars tab:

532

33003101 07/2012

Unity Pro Software Options

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, page 1879.

Reset

Use this command button to restore the original state of the toolbar
selected in the Toolbars list box.

Tools tab
Display of Tools tab:

33003101 07/2012

533

Unity Pro Software Options

Elements of the Tools tab:

534

Element

Description

Contents menu

Displays the defined menu commands.

Menu Text

Enter the name of the new command, also see Starting external
applications, page 1873.

Command

Enter the path of the file to be executed, also see Starting external
applications, page 1873.

Arguments

Enter the arguments to be transferred while launching the application


Starting external applications, page 1873.
By clicking on the arrow CurrentProject, the argument is
$(ProjectName).
when the application is launched $(ProjectName) is replaced with
the complete STU file path of the opened application.
NOTE: If the application has never been saved, the project file path is
undefined.

Initial Directory

Enter the path to the working directory of the application Starting


external applications, page 1873.

Add

Use this command button to define a new menu command for starting
an external application, see also Starting external applications,
page 1873.

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.

33003101 07/2012

Unity Pro
FBD, LD and SFC
33003101 07/2012

Common Function for graphical


language

20

Overview
This chapter describes the common menus and dialogs of the FBD, LD and SFC
editors.
What Is in This Chapter?
This chapter contains the following topics:
Topic

33003101 07/2012

Page

Using Bookmarks in Graphical Languages Sections

536

Display grid in a FBD/LD/SFC section

541

Zoom in a FBD/LD/SFC section

542

Tracking links in a FBD/LD/SFC section

545

Print Current Section in a FBD/LD/SFC section

546

Undo and redo changes in a FBD/LD section

547

Using connectors in a FBD/LD section

548

Inspect windows in a FBD/LD section

552

Tooltips for Variables in a FBD/LD/SFC Section

556

Replace Variables in a FBD/LD Section

558

Initialize search in a FBD/LD section

562

Initialize Animation Table in a FBD/LD section

563

Go to in a FBD/LD section

565

Go to dialog box in a FBD/LD section

567

535

FBD, LD and SFC

Using Bookmarks in Graphical Languages Sections


Introduction
Bookmarks are used to mark positions in the margin (gray column on the left edge
of the section/network) and allow the marked positions to be easily found in different
language sections/networks.
You can navigate through a list of bookmarks, displayed in the Tools Bookmarks
dialog.
An example of a bookmark in SFC:

The current bookmark is indicated using a horizontal arrow (

).

Bookmark are displayed in different colors.


Created

Enabled/Disabled

Color

manually

enabled

blue

manually

disabled

light gray

automatically

enabled

gray

automatically

disabled

light gray

Setting Bookmarks
You have the following options to set a bookmark:
Execute the command Edit Bookmarks > Toggle Bookmark. (There must
not be any current bookmark in the selected area).
The bookmark is inserted in the margin (gray column on the left edge of the
section/network) and is marked as the current bookmark.

536

33003101 07/2012

FBD, LD and SFC


z

Press the Ctrl+F2 key combination. (There must not be any current bookmark in
the selected area).
The bookmark is inserted in the margin (gray column on the left edge of the
section/network) and is marked as the current bookmark.
or
Place the mouse pointer in the margin (gray column on the left edge of the
section/network) at the position to be marked and use Toggle Bookmark from
the context menu for the margin (right mouse click).
The bookmark is inserted at the mouse pointer and marked as the current
bookmark.

Removing Single Bookmarks


You have the following options to remove a bookmark:
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+F2 key combination.
or
z Place the mouse pointer on the bookmark to be removed and use Toggle
Bookmark from the context menu of the bookmark (right mouse click).
z You can also remove a bookmark using the context menu of the Bookmarks
dialog.
z

Removing All bookmarks


You have the following options to remove all bookmarks in the current
section/network:
z Use the Edit Bookmark> Clear all Bookmarks menu command.
or
z Press the Ctrl+Shift+F2 key combination.
z You can also remove all bookmarks using the context menu of the Bookmarks
dialog.
Searching for Bookmarks (Search Down)
You have the following options to search for bookmarks (search down):
z Use the Edit Bookmark> Next Bookmark menu command.
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 it is marked
as the current bookmark.
The bookmarks are traversed according to their order of appearance in the
Bookmarks dialog.

33003101 07/2012

537

FBD, LD and SFC

Searching for Bookmarks (Search Up)


You have the following options to search for bookmarks (search up):
Use the Edit Bookmark> Previous Bookmark menu command.
z Use the Edit Go to Bookmark Previous menu command.
or
z Press the Shift+F2 key combination.
z

If a current bookmark is selected, a jump is made to the previous one and it is


marked as the current bookmark.
The bookmarks are traversed according to their order of appearance in the
Bookmarks dialog.
Bookmarks Dialog
To open the bookmarks dialog use Tools Bookmarks.
A list of the projects bookmarks is displayed in the Bookmarks dialog.

538

Element

Description

Bookmark column

List of the projects bookmarks. Automatically created


bookmarks (see below) are displayed in gray and can not
be renamed.

Location column

Location of the bookmark (section, network or DFB)


referring to the Project Browser.

Line column

Line in the section/network where the bookmark is


located.

33003101 07/2012

FBD, LD and SFC

Element

Description

check boxes in the Bookmark


column

Activate this check box to be able to jump to this bookmark


by means of Next Bookmark/Previous Bookmark.
By default for newly created bookmarks the check box is
activated.

Delete/Delete all

Right click in the dialog and select from the context menu:
z Delete: to delete the selected bookmark
z Delete all: to delete all bookmarks in the project

Creating bookmarks is done in the language editors.


Deleting and renaming bookmarks can be done in the Bookmarks dialog, too.
NOTE: Renaming of bookmarks can only be done with created bookmarks.
Automatically created bookmarks can not be renamed.
Bookmark Commands in Language Editors
The bookmark commands in language editors affect the Bookmarks dialog as
follows:
z Toggle Bookmark creates a bookmark, visible also in the Bookmarks dialog.
It will be appended to the list of bookmarks.
z Next Bookmark jumps to the next bookmark in the list of bookmarks
z Previous Bookmark jumps to the previous bookmark in the list of bookmarks.
z Delete Bookmark deletes the selected bookmark.
z Delete all Bookmarks deletes only the bookmarks inside the current
section/network.
NOTE: The Bookmark tab of the Edit Go To dialog only displays the bookmarks
of the current section.
Naming Bookmarks
Created bookmarks are named as Bookmark1, Bookmark2 and so on.
In the Bookmarks dialog you can rename the bookmarks.
Automatically Created Bookmarks
Automatically created bookmarks are named as Search<Search String>.
Automatically created bookmarks are displayed in gray and can not be renamed.
The maximum number of automatically created bookmarks is 30.
Automatic creation of another bookmark will insert the new bookmark as the first one
in the bookmark list and will delete the bookmark at the end.
For automatically created bookmarks please refer to Tracing Variables / Addresses
(see page 1181).

33003101 07/2012

539

FBD, LD and SFC

Navigating to Bookmarks
In the Bookmarks dialog double-click a line in the list of bookmarks to open the
respective section/network with the selected bookmark.
If the check box in front of a bookmark line is not activated, you can not jump to this
bookmark by means of Next Bookmark/Previous Bookmark.
Saving Bookmarks
Bookmarks are saved with your application.
Deleting Bookmarked Lines
If you delete a section/network or a bookmarked line in a section/network, the
corresponding bookmarks are deleted, too.
Undo will not restore the bookmarks.

540

33003101 07/2012

FBD, LD and SFC

Display grid in a FBD/LD/SFC section


Displaying the grid
The editor window has a grid background as default which splits the window into
lines and columns.
Use the View Grid menu command to show or hide the grid.
The active mode is indicated by way of a check-symbol before the menu command.

33003101 07/2012

541

FBD, LD and SFC

Zoom in a FBD/LD/SFC section


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:
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.
z

The menu command to set the Zoom factor is available.


z via the View Zoom menu.
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 Zoom % 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 menu View Zoom User-defined....
z using the Zoom User-defined shortcut menu for the section.
You can see which mode is active by way of a check-symbol before the menu
command.

542

33003101 07/2012

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 menu View Zoom Zoom to fit.
z via the shortcut menuZoom Zoom to fit for the section.
z using the key combination Ctrl-x (x = multiplication sign of number pad)
z

using the

symbol.

You can see which mode is active by way of a check-symbol before the menu
command.
Zoom to Selection
Decreases or increases the section contents so that the selected element(s) is (are)
displayed as large as possible and in focus.
The menu command to zoom to the selection is available.
z via the menu View Zoom Zoom to selection.
You can see which mode is active by way of a check-symbol before the menu
command.
Zooms out by 25%
To reduce current display by 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 %:
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

33003101 07/2012

click the

symbol.

543

FBD, LD and SFC

Fullscreen
To display the application window in full-screen mode:
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.

544

33003101 07/2012

FBD, LD and SFC

Tracking links in a FBD/LD/SFC section


Introduction
There are different view functions available to provide optimum display of links
(display source, display destination, display entire link).
Displaying the source of a link
Displaying the source (start point) of a link:
Step

Action

Select the link whose source you want to display.

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 destination of a link


Displaying the destination (end point) of a link:
Step

Action

Select the link whose destination you want to display.

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 entire link


Displaying the entire link:
Step

33003101 07/2012

Action

Select the link that should be displayed in its entirety.

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.

545

FBD, LD and SFC

Print Current Section in a FBD/LD/SFC section


Introduction
There are the following ways to print the current section:
Print the section using the menu command
z Print the section using the print documentation
z

Print the section using the menu command


Carry out the following steps to print the current section using the menu command:
Step
1

Action
Open the print dialog using:
z the menu command File Print,
z or the key combination Ctrl+P
or
z the symbol

Press OK to start printing the current section.

Print the section using the print documentation


Carry out the following steps to print the current section using the print
documentation:
Step

546

Action

Double-click on Documentation in the project browser.


Result: An overview of your system is open, see also Documentation,
page 1675

Select Program Tasks MAST/FAST/AUX ... to print the section.

Select the menu command Print from the sections context menu.

Press OK to start printing the current section.

33003101 07/2012

FBD, LD and SFC

Undo and redo changes in a FBD/LD section


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.

33003101 07/2012

547

FBD, LD and SFC

Using connectors in a FBD/LD section


Introduction
To avoid links overlapping each other, they can also be represented in the form of
connectors, see also section Links (see Unity Pro, Program Languages and
Structure, Reference Manual ) in the Reference manual.
Displaying links as connectors
Displaying links as connectors:
Step

548

Action

Select the desired link.


Example:

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.
Example:

33003101 07/2012

FBD, LD and SFC

Displaying connectors as links


Displaying connectors as links:
Step

Action

Select the desired connector.


Example:

Use the Show as Link menu command from the shortcut menu.
Result: The connector is displayed as a link.
Example:

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, page 551.

33003101 07/2012

549

FBD, LD and SFC

Renaming connector
Renaming connector:
Step

550

Action

Double-click the target connector (source).


Result: The editor mode is activated.

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, page 551.
Confirm the entry using Enter.
Result: The connector (source and target) is renamed.
Example:

33003101 07/2012

FBD, LD and SFC

Deleting connectors
Deleting connectors:
Step

33003101 07/2012

Action

Select the desired connector.


Example:

Use the Show as Link menu command from the shortcut menu.
Result: The connector is displayed as a link.
Example:

Use the Delete Connector menu command from the shortcut menu.
Result: The connector is deleted.

551

FBD, LD and SFC

Inspect windows in a FBD/LD section


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:
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
z

552

33003101 07/2012

FBD, LD and SFC

Generating an inspect window


Generating an inspect window:
Step
1
2

Action
In FBD: Select the desired FFB pin.
In LD: Select the desired contact, the desired coil or the desired FFB pin.
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.


Example (offline):

Example (online):

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
Position the mouse pointer on the inspect window, click the left mouse button and
move the inspect window to the target position.

33003101 07/2012

553

FBD, LD and SFC

Anchoring the position


You can anchor all inspect windows of a section to their relative positions within the
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 monitor
Setting a zone monitor:
Step

554

Action

Position the mouse pointer on the inspect window.

Use the Settings menu command from the shortcut menu.


Result: The properties dialog box for the inspect window is opened.
Example:

Enter a minimum and a maximum value for the variable to be monitored.

33003101 07/2012

FBD, LD and SFC

Step

Action

Enter the format of the variable displayed in the section.

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.
Example:

Hiding inspect windows


To hide and show the inspect windows select the View Hide Inspect 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 windows
Position the cursor on the inspect window to be deleted and select the Delete
Inspect menu command from the shortcut menu.

33003101 07/2012

555

FBD, LD and SFC

Tooltips for Variables in a FBD/LD/SFC Section


Introduction
In offline and online mode the following information of a variable can be displayed
by tooltip:
z type
z name
z address (if available)
z comment (if available)
Information is displayed for variables and expressions associated to:
z pins of FFBs (FBD/LD)
z contacts, coils, operation and comparison blocks (LD)
z transitions (SFC)
Concatenated Comments
To show concatenated comments of DDT expressions, set the option Display
complete comments from structure element via Tools Project Settings (for
the current project) or via Tools Options (for future projects).
Example, when the option is set.
DDT expression

Tooltip

ddt1.b1

ddt1.b1
DDT1 : ddt1 @ %MW100 | Comment for ddt1
BOOL : ddt1.b1 @ %MW100 | Comment for ddt1.Comment for b1

ddt2.ddt1.b1

ddt2.ddt1.b1
DDT2 : ddt2 @ %MW200 | Comment for ddt2
BOOL : ddt2.ddt1.b1 @ %MW200 | Comment for ddt2.Comment for
nested ddt1.Comment for nested b1

Example, when the option is not set.

556

DDT expression

Tooltip

ddt1.b1

ddt1.b1
DDT1 : ddt1 @ %MW100 | Comment for ddt1
BOOL : ddt1.b1 @ %MW100 | Comment for b1

ddt2.ddt1.b1

ddt2.ddt1.b1
DDT2 : ddt2 @ %MW200 | Comment for ddt2
BOOL : ddt2.ddt1.b1 @ %MW200 | Comment for nested b1

33003101 07/2012

FBD, LD and SFC

Variable/Pin
Position the mouse pointer over a variable (e.g. b1) or expression to display type,
name, address and comment of the variable.
Position the mouse pointer over an FFB pin name (e.g. IN1) to display type, name
and comment of the pin. In this case the information is taken from the FFB type and
not from the FB instance.
Detected Error Tooltip
There are analyze errors and animation errors.
z Analyze errors are displayed in offline mode in a tooltip, when you position the
mouse pointer over a connectable object (e.g. FFB, contact, coil etc.).
z Animation errors are displayed in online mode in a tooltip, when you position the
mouse pointer over the #Err! value, which is shown in this case as animation
value.
Using the Variable Tooltip
Step

33003101 07/2012

Action

Position the mouse pointer over the variable or expression.

The tooltip is displayed.


Example:

557

FBD, LD and SFC

Replace Variables in a FBD/LD Section


Overview
To replace variables assigned to elementary functions (EF) or to function blocks
(EFB, DFB) in FBD/LD sections use the Replace Variables dialog box.
To find and replace variables connected to functions and/or function blocks you can
use placeholders.
NOTE:
z
z

Structure elements of multi-element variables (DDTs) cannot be replaced.


If the original variable does not exist, the replacement variable is not possible.

Dialog Box
You have the following options to display the Replace Variables dialog box:
z Select the Edit Replace Variables menu command.
z Select the Replace Variables command in the context menu (right-click on one
or more EF/EFBs in the section).
Dialog box for replacing functions/function blocks using placeholders

Find and Replace Pattern


The find and replace patterns are applied to all variables connected to the selected
functions/function blocks.
The following placeholders can be used:
* to search/replace any string
z ? to search/replace any character
z

Rules for find and replace patterns see below.

558

33003101 07/2012

FBD, LD and SFC

Replace Variables
All variables matching Find Pattern will be listed in a dialog box:

Elements of the dialog box


Element

Description

Original

displays the names of the found variables


The entries in this column are not editable.

Replacement

displays the strings that will replace the names of the found variables
The entries in this column are editable.

Data Type

displays the type of the original variable (not that on of the replacement
variable, which could already exist and be of another type)
The entries in this column are not editable.

Replace

provides the option to enable/disable the variable replacement via a


check box
By default Replace is enabled for all rows.
The entries in this column are editable.

Create
undeclared
replacement
variables

If this check box is selected, the replacement variables will be created in


the Data Editor automatically.
If such a replacement variable already exists in the Data Editor, the
creation will be skipped.
Note: If the replacement variable already exists, but has another type
than the original one, since creation is skipped the replacement variable
may or may not match the type of the connected pin afterwards.
Note: If the check box is not selected, no variable creation will take place
(some of the replacement variables may be undeclared afterwards).

Undo/Redo
Replace Variables supports Undo/Redo, which means that the original state will be
recreated on Undo (of course without deleting the newly created replacement
variables from Data Editor) and the state after replacement on Redo.

33003101 07/2012

559

FBD, LD and SFC

Online Mode
Replace Variables is supported in online mode.
Rules for Find and Replace Patterns
Rules for find and replace patterns:
? can be used many times in pattern
z * can be used at maximum 2 times in pattern
z * can be first and last character in pattern only
z no * only and no ** can be used
z no ?* and no *? can be used (always another letter between them)
z numbers of * and ? in both (find and replace) pattern must be equal
z if two * and at least one ? are used the find and replace pattern must be structural
identical (same length, same order of normal letters and placeholders)
z

Examples
Examples of simple replacements
Find Pattern:

Found Variable

Replace With:

Variable is Replaced
With

abc123jmk

abc123jmk

abc223jmk

abc223jmk

abc123jmk

abc123jmk

abc124123jmk

abc124123jmk

Examples for replacements with constant characters


Find Pattern:

Found Variable

Replace With:

Variable is Replaced
With

ab?1????k

abc123jmk

ab?2????k

abc223jmk

abc???12??mk

abc124123jmk

abc???022?4?mk

abc12402234jmk

Examples for replacements with constant series of characters

560

Find Pattern:

Found Variable

Replace With:

Variable is Replaced
With

*123jmk

abc123jmk

*223jmk

abc223jmk

*123*

abc123jmk

*223*

abc223jmk

*123*

abc123jmk

*2234*

abc2234jmk

33003101 07/2012

FBD, LD and SFC

Examples of complex replacements


Find Pattern:

Found Variable

Replace With:

Variable is Replaced
With

abc???12??m*

abc124123jmk

abc???022?4?m*

abc12402234jmk

*1???mk

abc123jmk

*2???mk

abc223jmk

*2??jmk

abc223jmk

*1240?2?4jmk

abc12402234jmk

*1?3*

abc123jmk

*2?3*

abc223jmk

Examples of array replacements


Find Pattern:

Found Variable

Replace With:

Variable is Replaced
With

array[5*

array[5]

array[6*

array[6]

array5[5*

array5[5]

array5[6*

array5[6]

*5*

array5[5]

*6*

array6[5]

array5[i*

array5[i5]

array5[i6*

array5[i65]

*5*

array5[i5]

*6*

array6[i6]

Not Possible
The following complex replacements are not possible

33003101 07/2012

Entry in text field


search pattern

Found variable

Entry in text field Replace With

*1?3*

abc123jmk

*2?34*

*1?3*

abc123jmk

*02?34*

*1241?3*

abc124123jmk

*12402?34*

*12?1?3*

abc124123jmk

*12?02?34*

561

FBD, LD and SFC

Initialize search in a FBD/LD section


Introduction
The Initialize Search function transfers the name of the selected element (search
text) to the Element text box in the Cross-References window.
Selecting the search text
Process the following steps to select the search text:
Step

562

Action

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.)

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 CrossReferences window.

33003101 07/2012

FBD, LD and SFC

Initialize Animation Table in a FBD/LD section


Introduction
The Initialize Animation Table transfers the selected variables to the Animation
table (see page 1433).
Selecting the variables
Process the following steps to select variables:
Step

Action

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).
z Contacts, Coils, Operate and Compare Blocks (LD)
(To transfer all variables associated to Contacts, Coils, Operate and
Compare Blocks, select these objects).)

Use the Services Initialize Animation table menu command.


or
Select the menu command Animation Table from the sections context menu.
or
Press the Ctrl+T key combination.
Result: The variable(s) is/are transferred to the Animation table
(see page 1433).

Initialize Animation Table


Using Initialize Animation Table(Ctrl+T) you create an animation table with a
default name e.g. Table[FBD Editor - Mixer : [MAST]]. You can rename
the table.
All the variables you selected are listed in the animation table.
Selecting a new set of variables and using Initialize Animation Table again, all new
variables are added to this animation table (if you did not rename it).

33003101 07/2012

563

FBD, LD and SFC

Initialize New Animation Table


Using Initialize New Animation Table (Ctrl+Shift+T) you create a new animation
table with an indexed default name e.g. Table[FBD Editor Mixer : [MAST]1]. You can rename the table.
All the variables you selected are listed in the table.
But if you click anywhere in the section and do not select any variable, you create a
new empty animation table.
Every time you use Initialize New Animation Table you create a new animation
table.

564

33003101 07/2012

FBD, LD and SFC

Go to in a FBD/LD section
Introduction
The Go to function 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 the Go to dialog box.
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

Open (see page 565) the Go to dialog box.

Select the Position tab.

Enter the line or column number.

Confirm the entry using the command button Go to.


Result: The desired position is displayed.

Go to a bookmark
Go to a certain bookmark in the current section by carrying out the following steps:
Step
1

33003101 07/2012

Action
Open (see page 565) the Go to dialog box.

Choose theActionstab.

Select a bookmark in the list.

Double click on the selected bookmark or press the Go to command button.


Result: The bookmark is shown and marked as the current bookmark
(see page 536).

565

FBD, LD and SFC

Go to a location
Go to a certain location in the current section by carrying out the following steps:
Step

566

Action

Open (see page 565) the Go to dialog box.

Select the Location tab.

Select a location in the list.

Double click on the selected location or press the Go to command button.


Result: The desired location is displayed.

33003101 07/2012

FBD, LD and SFC

Go to dialog box in a FBD/LD section


Call the dialog box:
see Open the dialog, page 565
Call the dialog box
The Go todialog box is made up of three tabs:
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
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.

33003101 07/2012

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 page 565).

Close

Use this button to close the dialog.

Help

Use this button to call up the dialog help.

567

FBD, LD and SFC

Register tab Bookmarks


Representation of theBookmark tab:

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.

568

Bookmark:

Select the bookmark to be displayed from this list box.

Prev

If a current bookmark (see page 536) 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 page 536) 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 page 565).

Close

Use this button to close the dialog.

Help

Use this button to call up the dialog help.

33003101 07/2012

FBD, LD and SFC

Register tab Location


Representation of the tab Label:

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.

33003101 07/2012

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 page 566).

Close

Use this button to close the dialog.

Help

Use this button to call up the dialog help.

569

FBD, LD and SFC

570

33003101 07/2012

Unity Pro
FBD Editor
33003101 07/2012

FBD Editor

21
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 (see Unity Pro, Program Languages and
Structure, Reference Manual ) chapter in the Reference manual.
What Is in This Chapter?
This chapter contains the following sections:
Section

33003101 07/2012

Topic

Page

21.1

Creating a program with FBD programming language

572

21.2

Editing FFBs

590

21.3

Returning from a Subroutine or DFB

628

21.4

Calling a Subroutine

632

21.5

Jumps within the Current Section

636

21.6

Definition of the Jump Target (Jump Labels)

642

21.7

Editing Links

647

21.8

Entering Comments

659

21.9

Online functions

661

21.10

Export/Import

662

571

FBD Editor

21.1

Creating a program with FBD programming


language

Overview
This section describes the basics for creating a program in the FBD programming
language.
What Is in This Section?
This section contains the following topics:
Topic

572

Page

Structure of an FBD program (function block language)

573

Creating an FBD Program

575

Syntax and Semantics Check during programming

576

Navigating with the keyboard

577

Selecting objects

578

Deleting, cutting, copying, pasting and moving objects

581

Inserting Rows and Columns

585

Deleting Rows and Columns

586

Displaying the properties

587

Refining DFBs and subroutines

588

33003101 07/2012

FBD Editor

Structure of an FBD program (function block language)


Properties of an FBD program
Properties of an 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 can be configured in number of cells (horizontal grid coordinates
and vertical grid coordinates).
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 (see Unity Pro, Program
Languages and Structure, Reference Manual ) in the Reference manual.
The execution order can be influenced in several ways, see also section
Changing the execution order (see Unity Pro, Program Languages and Structure,
Reference Manual ) in the Reference manual.
z A syntax and semantics check (see page 576) 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 objects
The objects of the programming language FBD (Function Block Diagram) help to
divide a section into a number of:
z EFs and EFBs (see page 596) (Elementary Functions and Elementary Function
Blocks),
z DFBs (see page 596) (Derived Function Blocks) and
z Procedures (see page 596)
These objects, combined under the name FFBs, can be linked with each other by:
z Links (see page 647) or
z Actual Parameters (see page 601).
Comments for the logic of the program can be added using text objects
(see page 659).

33003101 07/2012

573

FBD Editor

Edit and view functions


Edit and view functions of the FBD Editor:
Selecting objects (see page 578)
z Deleting objects (see page 581)
z Cutting (see page 581), copying (see page 582) and pasting (see page 582)
objects
z Moving (see page 583) objects (also between different FBD/LD sections)
z Undo (see page 547) and Redo (see page 547)
z Using bookmarks (see page 536)
z Searching and replacing (see page 1167) variables and function blocks and DFB
instances.
z

Input assistants
Input assistants for the FBD Editor:
Function input assistants (see page 611) for functions, function blocks and
procedures

Online functions
Online functions of the FBD Editor:
z Display the current value (see page 552).
z Setting breakpoints (see page 1372)
z Setting watchpoints (see page 1378)
z Step by Step (see page 1375)

574

33003101 07/2012

FBD Editor

Creating an FBD Program


Creating an FBD program
Carry out the following procedures to create an FBD program:
Step

33003101 07/2012

Action

Creating an FBD section. (see page 422)

Place the desired FFB in the section, see also Calling an FFB via the data
selection, page 596.

Assign the necessary current parameters to the FFB, also see Assign actual
parameters, page 601.
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 (see Unity
Pro, Program Languages and Structure, Reference Manual ) in the Reference
manual.
The results of the checks are indicated by a color folder, see also Syntax and
Semantics Check during programming, page 576.

Create a graphical link between FFBs, also see Placing a Link, page 650.

575

FBD 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 three formats:
z
z
z

directly in the program section with colored text


as tooltip if the cursor is placed on incorrect text.
In the output window, if Generate Analyze is selected.

Representation
Meaning of colors and labels:
Color

Description

Black

Syntax and semantics are correct

Blue

Example

Possible causes:
z Associated variable is not declared
z Data type of the variable 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, ...

Tooltips
If the cursor is placed over an incorrect object or incorrect text, the tooltip is
displayed with a brief description of the cause of the error. It will also be displayed
in the output window after the analysis.
Error message in the output window
Error message: Accessed object is not a function block.

576

Cause of error

Error Correction

Name of the function block was already used


for a variable.

Rename the already used variable.

33003101 07/2012

FBD Editor

Navigating with the keyboard


Using the keyboard
The following keys and key combinations are provided for navigation:

33003101 07/2012

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+Cursor left

Moves the cursor one grid point to the left

Ctrl+Cursor right

Moves the cursor one grid point to the right

Ctrl+Cursor up

Moves the cursor one grid point up

Ctrl+Cursor 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 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)

Ctrl+Alt+Page Down

Displays the previous section (including via the View


Previous Sectionmenu).

Ctrl+Alt+Page Down

Displays the next section (including via the View Next


Sectionmenu).

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

Opens the properties dialog box for the selected pin.

Alt+Enter

Opens the properties dialog box for the selected object.

577

FBD Editor

Selecting objects
Select and placement mode
Objects are selected in select mode.
Select mode can be activated using:
the Edit Select Mode menu command

z
z
z

the
symbol
or
the Esc key

The

cursor symbol indicates that select mode is active.

Selecting an object
Selecting an 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, page 577.
2. Press the spacebar.

Selecting several objects


Selecting several objects:
Using the mouse

Using the keyboard

1. Click the left mouse button and keep it


pressed.
2. Drag the mouse across the objects you
want to select.
or
1.
2.
3.
4.

578

1. Move the cursor to the first object to be


selected, see also Navigating with the
keyboard, page 577.
2. Press the spacebar.
3. Move the cursor to the next object to be
selected
Left-click the first object you want to select.
4. Press the Ctrl+spacebar key
Press the Ctrl key and keep it pressed.
combination.
Left-click the next object you want to
5. Repeat these steps until the desired
select.
objects are selected.
Repeat these steps until the desired
objects are selected.

33003101 07/2012

FBD Editor

Selecting by rows
Selecting by rows:
Using the mouse

Using the keyboard

Selecting the contents of a row:


1. Left-click the number of the row you want to select in the vertical
ruler.

Selecting the contents of several rows:


1. Left-click the number of the first row you want to select in the
vertical ruler.
2. Press the Shift key and keep it pressed.
3. Left-click the number of the last row you want to select in the
vertical ruler.
Note: Pressing the Shift key makes it possible to combine this
procedure with the procedure for selecting columns.

Selecting by columns
Selecting by 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
vertical ruler.

Selecting the contents of several columns:


1. Left-click the number of the first column you want to select in the
vertical ruler.
2. Press the Shift key and keep it pressed.
3. Left-click the number of the last column you want to select in the
vertical ruler.
Note: Pressing the Shift key makes it possible to combine this
procedure with the procedure for selecting rows.

Selecting all (entire contents of the section)


Selecting all (entire contents of the section):

33003101 07/2012

Using the mouse

Using the keyboard

Use the Edit Select All menu command.

Press the Ctrl+A key combination.

579

FBD Editor

Deselecting objects
Deselecting objects:
Using the mouse

Using the keyboard

Left-click an empty space in the 1. Move the cursor to an empty space in the section, see
section.
also Navigating with the keyboard, page 811.
2. Press the spacebar.

580

33003101 07/2012

FBD Editor

Deleting, cutting, copying, pasting and moving objects


Deleting objects
Deleting objects:
Using the mouse

Using the keyboard

1. Select (see page 578) the object to be


deleted.
2. Use the Edit Delete menu command.

1. Select (see page 578) the object to be


deleted.
2. Press the Delete 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 page 619) on deleting from FFBs using
an execute after reference.

Cutting objects
Cutting objects:
Using the mouse

Using the keyboard

1. Select (see page 578) the object to be cut. 1. Select (see page 578) the object to be
2. Use the Edit Cut menu command.
cut.
or
2. Press the Ctrl+X key combination.
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 page 619) on deleting from FFBs using
an execute after reference.

The cut object can be inserted (see page 582) in any other position (also in another
FBD section).

33003101 07/2012

581

FBD Editor

Copying objects to the clipboard


Copying objects to the clipboard:
Using the mouse

Using the keyboard

1. Select (see page 578) the object to be


copied.
2. Use the Edit Copy menu command.
or
Use the Copy menu command from the
shortcut menu (right-click).
or

1. Select (see page 578) the object to be


copied.
2. Press the Ctrl+C key combination.

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 page 619) on copying from FFBs using
an execute after reference.

The cut object can be inserted (see page 582) in any other position (also in another
FBD section).
Pasting objects from the clipboard
Pasting objects from the clipboard:
Using the mouse

Using the keyboard

1. Use the menu command Edit Insert.


or
Use the menu command Paste in the
shortcut menu (right mouse button).
or

1. Press the Ctrl+V key combination.


2. Move the cursor to the target position
using the arrow keys.
3. Press Enter.

Click the
symbol.
2. Left-click the target position.
Note: This presents the behavior of the Copy, Cut, Paste on a function block instance. It only
applies to graphical languages as FBD and LD.
z Using the Paste function after a Copy of an object:
As a result of a Copy, a new function block instance (FBI) is used. The Paste function
creates a new FBI whenever it is repeated. Accordingly, the FBI is incremented.
z Using the Paste function after a Cut of an object:
As a result of a Cut, the same instance of the function is used. The Paste function uses
the same FBI whenever it is repeated. Accordingly, the FBI is identical.
Note: Please also pay careful attention to the Notes (see page 619) on copying from FFBs
using an execute after reference.

582

33003101 07/2012

FBD Editor

Moving objects
Moving objects:
Using the mouse

Using the keyboard

1. Select (see page 578) the object to be


moved.
2. Position the mouse pointer on the
selected object. (on one of the selected
objects if several are selected).
Result: The mouse pointer changes its

1. Position (see page 578) the cursor on the


object to be moved.
2. Press the spacebar.
3. Press the Shift key and keep it pressed.
4. Move the object to the target position
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 its original position to the target position. The
objects 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.
Note: When objects are moved beyond the visible area of the editor window, automatic
scrolling of the window will not begin until you reach the edge of the window with the mouse
pointer, not as soon as the objects are moved beyond the edge.

33003101 07/2012

583

FBD Editor

Copying objects via drag & drop


Copying objects via drag & drop:
Using the mouse

Using the
keyboard

1. Select (see page 578) 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
objects 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 page 619) on copying
from FFBs using an execute after reference.

584

33003101 07/2012

FBD Editor

Inserting Rows and Columns


Rules for Inserting Rows
The following rules apply when inserting rows/columns:
z The maximum size of 86,400 grids cannot be exceeded.
z The maximum number of rows is 1440.
z The maximum number of columns is 360.
z The size of one inserted row or column is like the ruler size (that is 10 grids).
z The first row/column selected must not intersect with an object, that has an origin
before this row/column.
z The same number of rows/columns are inserted as selected in the
vertical/horizontal ruler.
z The new rows/columns are inserted above/left of the first selected row/column
(i.e. all objects of the selected rows/columns are moved down/right).
z When rows/columns are inserted within existing links, these links are kept and
are adjusted to the new position of the objects.
NOTE: The section area (number of rows x number of columns) cannot exceed the
maximum size of 86,400 grids, e.g. 240 x 360 or 1,440 x 60. The number of rows
and columns will impact one another, e.g. the number of rows is determined by the
internal calculation 86,400 / number of columns (limited to the lower tenth).
Inserting Rows
Step

Action

Select (see page 578) the desired number of rows in the vertical ruler (click the
row numbers).

Use the Insert rows menu command from the shortcut menu of the vertical ruler
or the Edit Insert rows command.
Result: The number of selected rows is inserted above the first selected row.

Inserting Columns
Step

33003101 07/2012

Action

Select (see page 578) the desired number of columns in the horizontal ruler
(click the column numbers).

Use the Insert columns menu command from the shortcut menu of the
horizontal ruler or the Edit Insert columns command.
Result: The number of selected columns is inserted in front of the first selected
column.

585

FBD Editor

Deleting Rows and Columns


Rules for Deleting Rows
The following rules apply when deleting rows/columns:
The minimum number of rows (240) respective columns (60) cannot be fallen
short.
z The size of one deleted row or column is like the ruler size (that is 10 grids).
z The same number of rows/columns are deleted as selected in the
vertical/horizontal ruler.
z When rows/columns are deleted within existing links, these links are kept and are
adjusted to the new position of the objects.
z The objects of the selected rows/columns are deleted and the objects of the
following rows/columns are moved up/left by the respective number of
rows/columns.
z

Deleting Rows
Deleting rows:
Step

Action

Select (see page 578) the desired number of rows in the vertical ruler (click the
row numbers).

Use the Delete rows menu command from the shortcut menu of the vertical ruler
or the Edit Delete rows command.
Result: The selected number of rows is deleted.

Deleting Columns
Deleting columns:
Step

586

Action

Select (see page 578) the desired number of columns in the horizontal ruler
(click the columns numbers).

Use the Delete Columns menu command from the shortcut menu of the
horizontal ruler or the Edit Delete Columns command.
Result: The selected number of columns is deleted.

33003101 07/2012

FBD Editor

Displaying the properties


Displaying the object properties
You have the following options to display the object properties dialog box:
Double-click the object.
z Select (see page 578) the object and use the Edit Properties... dialog box..
z Select (see page 578) the object and use the Properties...command.from the
shortcut menu.
z Select (see page 578) the object and then press the Alt+Enter key combination.
z

When the properties dialog box is called without an object being selected, the
section properties dialog box (see page 425) is opened.
If several objects are selected, the commands do not work.
View data properties
You have the following options to display the section properties dialog box
(see page 1128):
z using the data editor (see page 299)
a. Selecting one or several lines in a list editor
b. Using the shortcut menu select the Propertiescommand.
z

33003101 07/2012

via the FBD section


a. Selecting one or several element(s) in the FBD section.
b. From the context menu select the command Data properties or press Ctrl +
Enter.

587

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

Select the DFB.

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.
Example:

588

Select the desired DFB section.


Result: The DFB section is opened.
Note: With nested DFBs, several refine processes are possible.

33003101 07/2012

FBD Editor

Refining subroutines
Process the following steps to refine subroutines:
Step

Action

Select the subroutine block (see page 632).

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.

33003101 07/2012

589

FBD Editor

21.2

Editing FFBs

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 Is in This Section?
This section contains the following topics:
Topic

590

Page

General information about calling an FFB

591

Calling an FFB via the FFB Input Assistant.

593

Calling an FFB via the data selection

596

Assign actual parameters

601

Using Public Variables

613

Expanding Functions

615

Negating FFB Pins

616

EN and ENO Show and Hide

617

Modifying the execution order

618

Replacing an FFB

622

Properties dialog box for elementary functions, procedures and sub-routine


blocks.

624

Properties dialog box for elementary and derived function blocks (FBs)

626

33003101 07/2012

FBD Editor

General information about calling an FFB


Introduction
FFB is the generic term for:
z Elementary Function (EF) (see Unity Pro, Program Languages and Structure,
Reference Manual )
z Elementary Function Block (EFB) (see Unity Pro, Program Languages and
Structure, Reference Manual )
z Derived Function Block (DFB) (see Unity Pro, Program Languages and
Structure, Reference Manual )
z Procedure (see Unity Pro, Program Languages and Structure, Reference Manual
)
(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 instances
Function blocks (elementary and derived) have internal states. If the inputs have the
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:
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 page 1125) its placement in the section.
z By the declaration of the block instance in the Data editor (see page 329).
z

33003101 07/2012

591

FBD Editor

an FFB call.
FFBs can be called in the following ways:
Via the FFB Input Assistant... (see page 593) 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.

Via the data selection (see page 596)


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

592

Select the

symbol.

Via the Types library browser per drag & drop


z Use the Tools Types Library Manager menu command.
or
z Press the Alt+3 key combination.

33003101 07/2012

FBD Editor

Calling an FFB via the FFB Input Assistant.


Activating the FFB input assistant
You have the following options to activate the FFB input assistant:
z Use the Edit FFB Input Assistant... menu command. (no object may be
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 type via the FFB input assistant


Process the following steps to select an FFB type via the FFB input assistant:
Step
1

Action
From the FFB input assistant....from the shortcut menu (right-click) for the FFB
input assistant (see page 593)section.
The FFB input assistant (see page 1125) is opened.

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 page 1119).

33003101 07/2012

593

FBD Editor

Step

594

Action

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.

Select the desired function block from the Name column.


Example:

Confirm the selection with OK.


Result: The dialog box is closed and FFB input assistant is activated.
Example:

33003101 07/2012

FBD Editor

Step

Action

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.

The number of inputs (see page 615)can be increased with some elementary
functions.
Expandable pins can be recognized from the following display:

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 page 1114).

To add further pins select the last pin in the structure and press Add pin.

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.

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 page 672)
is performed.

The active FFB placement mode is indicated by the

33003101 07/2012

cursor symbol.

595

FBD Editor

Calling an FFB via the data selection


Set data selection to active
You have the following options to activate the data exchange:
Use the Edit Data Selection... menu command.
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.

596

33003101 07/2012

FBD Editor

Selecting an FFB type via the Data Selection


Process the following steps to select an FFB type via the Data selection:
Step
1

Action
From the Data selection....from the shortcut menu (right-click) for the Data
selection (see page 596)section.
Result:
A data selection box (see page 1889) is opened.

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 page 1116).
Example of a FFB type selection (see page 1117) dialog box:

33003101 07/2012

597

FBD Editor

Step

598

Action

Select the Function Types, Function Block Types tab.


Result:
The tab used for selecting an FFB type is opened.

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.

Select the desired function block from the Name column.


Example:

33003101 07/2012

FBD Editor

Step

Action

Confirm the selection with OK.


Result: The dialog box is closed and FFB placement mode is activated.

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 of instances of data belonging to the family of function
blocks (EF), page 329.

Selecting a block instance


Process the following steps to select a block instance that has already been
declared:
Step

33003101 07/2012

Action

Activate FFB placement mode.


Result:
A data selection box (see page 1889) is opened.

Press the button ..., to open the FFB selection dialog (see page 1116).

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 page 1116) is displayed.

599

FBD Editor

Step

600

Action

Select the desired block instance from the Name column.

Confirm the selection with OK.


Result: The dialog box is closed and FFB placement mode is activated.

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.

33003101 07/2012

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 page 602)
z Enter undeclared variables (see page 604)
z
z
z

Formal parameters of other function blocks (see page 606)


Literals (see page 609)
ST Expression (see page 610)
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.
Links (see page 647) to other FBD objects

NOTE: Please take note of the section Information about Programming (see Unity
Pro, Program Languages and Structure, Reference Manual ) in the Reference
manual.

33003101 07/2012

601

FBD Editor

You can make actual parameter assignments for


z each pin individually
or
z with the function input assistant (see page 611) for all pins
Assign declared variables to a pin
Process the following steps to assign undeclared variables to a pin. (See also
Creation of EDT type variable instances, page 340.)
Step
1

Action
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 page 1889) opens.

602

33003101 07/2012

FBD Editor

Step
2

Action
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 page 1114) and
confirm the selected variables there with OK.
Example of a variable selection dialog box:

Result: The selected variable is inserted and a syntax and semantics check
(see page 576) is performed.
Example:

33003101 07/2012

603

FBD Editor

Assign undeclared variables to a pin


Process the following steps to assign undeclared variables to a pin:
Step
1

Action
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 page 1889) opens.

Enter the variable name and confirm using Enteror the


Result: The variable declaration dialog box opens.

symbol.

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.

604

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.

33003101 07/2012

FBD Editor

Step
5

Action
Confirm with Enter or the
symbol.
Result:The variable is declared and enabled on the selected pin.

Enter all actual parameters in this way.

Declaring variables on a pin


Process the following steps to declare variables on a pin:
Step
1

Action
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.

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.

33003101 07/2012

605

FBD Editor

Step
3

Action
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.

Confirm with Enter or the


symbol.
Result: The variable is declared and the red wavy line under the variable name
disappears.

Assigning formal parameters to a pin


Process the following steps to assign formal parameters to a pin:
Step
1
2

Action
Select the desired FFB pin.
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 page 1889) opens.

606

33003101 07/2012

FBD Editor

Step

33003101 07/2012

Action

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 page 1114).

Select the Function Block tab.


Result:
The function block instances are displayed.

607

FBD Editor

Step

608

Action

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.

Select the desired formal parameter and confirm with OK.

Result: The formal parameter selected is inserted and a syntax and semantics
check (see page 576) is performed.
Example:

33003101 07/2012

FBD Editor

Assigning literals to a pin


Process the following steps to assign literals to a pin:
Step

Action

Select the desired FFB pin.

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 page 1889) opens.

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 page 576)
is performed.
Example:

33003101 07/2012

609

FBD Editor

Assigning ST expressions to a pin


Process the following steps to assign ST expressions to a pin:
Step

Action

Make sure that the Usage of ST expressions checkbox is activated in the Tools
Project Settings dialog box.

Select the desired FFB pin.

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 page 1889) opens.

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 page 576) is performed.
Example:

If the variables have already been declared (see also Creation of EDT type variable
instances, page 340), 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 page 340)

or
z using Create variable in the context menu (possible when only one variable of

the ST statement is undeclared).

610

33003101 07/2012

FBD Editor

Actual parameter assignment using the function input assistant


Process the following steps to change actual parameter assignment with the
function input assistant:
Step

Action

Select the desired FFB.

Open the function input assistant (see page 1125):


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.

33003101 07/2012

611

FBD Editor

Step
3

Action
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 page 1114).
Assign an actual parameter to all formal parameters of the function block in this
way.
Example:

612

Confirm the entries using the OK button.


Result: The actual parameter is inserted and a syntax and semantics check
(see page 576) is performed.
Example:

33003101 07/2012

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 Values to Public Variables
Carry out the following steps to assign a value to a public variable:
Step

33003101 07/2012

Action

Place a function block in the section, see also Calling an FFB via the data
selection, page 596.

Open the data editor, see also Data Editor Access, page 302.

Select the Function Block tab.


Result:
The function block instances are displayed.

613

FBD Editor

Step

Action

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.

Enter the desired value for the public variable in the Value box.

Reading public variables


See Assigning formal parameters to a pin, page 606

614

33003101 07/2012

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 nonoccupied inputs are assigned a 0 as standard.
Expanding a function
Carry out the following steps to expanding a function:
Step

33003101 07/2012

Action

Select the function.

Position the mouse pointer on the bottom point to be expanded.

Press the left mouse button and drag the function to the required size.
Example:

Release the mouse key.


Result: The desired number of inputs/outputs have been added.
Example:

615

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 pin
FFB pins can be negated in the following ways:
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.

616

33003101 07/2012

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 (see Unity Pro, Program Languages and Structure, Reference Manual ) in the
Reference manual.
EN and ENO show or hide
To show or hide EN and ENO, carry out the following steps:
Step

33003101 07/2012

Action

Select the FFB.

Open the properties dialog box (see page 587) for the FFB.

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.

617

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 (see Unity
Pro, Program Languages and Structure, Reference Manual ) in the Reference
manual.
You can already influence the execution order when creating the program.
The use of links in place of actual parameters (see Unity Pro, Program
Languages and Structure, Reference Manual )
z The position of networks (see Unity Pro, Program Languages and Structure,
Reference Manual )
z

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 execution order
In the example, the execution order of FFB 1.4 and FFB 1.5 has to be switched.
Process the following steps to modify the execution order using an FFB properties
dialog box.
Step

618

Action

Select the FFB to be executed second.


Example:

Open the properties dialog box (see page 587) for the FFB.

33003101 07/2012

FBD Editor

Step
3

Action
In the Execute After list box, select the function number / instance name of the
FFB to be executed before the selected FFB.
Example:

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.
Example:

Note:Only one reference of an instance is allowed, e.g. the instance ".6" may
only be referenced once.

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:
a. FBI_1 has an "Execute After" reference to FBI_2.

33003101 07/2012

619

FBD Editor

b. FBI_2 is deleted.

c. For FBI_1 the attribute for determining the execution sequence is deleted.

If an FFB deletion operation carried out on a referenced FFB is undone


usingUndo it is reset to its former state.
Example:
a. FBI_1 has an "Execute After" reference to FBI_2.

b. FBI_2 is deleted.

c. For FBI_1 the attribute for determining the execution sequence is deleted.

d. Execute from Edit Undo.


e. FBI_2 is inserted again and FBI_1 and FBI_2 has an "Execute After"
reference.

620

33003101 07/2012

FBD Editor
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:
a. FBI_1 has an "Execute After" reference to FBI_2.

b. FBI_1 is copied and the copy (FBI_3) inserted in the section.


c. For FBI_3 the attribute for determining the execution sequence is deleted.

33003101 07/2012

621

FBD Editor

Replacing an FFB
Access
This is only available in FBD sections.
You have the following options to access the Replace FFB feature:
z
z

Select the Edit Replace FFB menu command.


Select the Replace FFB command in the context menu (right-click on one or
more FFBs in the section).

Replace FFB
Selecting the Replace FFB feature opens the FBD-Editor: FFB Type Selection
dialog box.

For more information about this dialog box see FFB Selection Dialog box,
page 1116.
Select the desired type and confirm with OK. The FFBs selected in the FBD section
are replaced with the new type.
Links and variables connected will be retained if possible (if a pin on the same
position of the new type exists).

622

33003101 07/2012

FBD Editor

Type Changing
There are different cases of type changing:
Type Changing

Description

EF -> EF

changes the type for the existing EF only

EF -> FB

creates a new instance of the FB type

FB -> EF

creates the new EF template,


does not delete the old FB instance in the Data Editor
(even if it is the only instance)

FB -> FB

creates the new FB instance,


does not delete the old FB instance in the Data Editor
(even if it is the only instance)

Undo/Redo
Replace FFB supports Undo/Redo, which means that the original state will be
recreated on Undo (of course without deleting the new FFBs from Data Editor) and
the state after replacement on Redo.
Online Mode
Replace FFB is supported in online mode.

33003101 07/2012

623

FBD Editor

Properties dialog box for elementary functions, procedures and sub-routine


blocks.
Calling the properties dialog box
see Displaying the properties, page 587
Structure of the properties dialog box
The properties dialog box consists of two tabs:
FFB Properties
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.
z

FFB Properties tab


Representation of the FFB Properties tab:

Elements of the FFB Properties tab:

624

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, page 618.

33003101 07/2012

FBD Editor

Element

Description

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.

Comment tab
Representation of theComment:

Elements of the Comment tab:

33003101 07/2012

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.

625

FBD Editor

Properties dialog box for elementary and derived function blocks (FBs)
Calling the properties dialog box
see Displaying the properties, page 587
Structure of the properties dialog box
The properties dialog box consists of two tabs:
FFB Properties
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.
z

FFB Properties tab


Representation of the FFB Properties tab:

Elements of the FFB Properties tab:

626

Element

Description

Instance Name

Specifies the name of the block instance. You can change this name
in the data editor, see also Managing of instances of data belonging
to the family of function blocks (EF), page 329.

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, page 618.

33003101 07/2012

FBD Editor

Element

Description

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.

Comment tab
Representation of the tab Comment:

Elements of the Comment tab:

33003101 07/2012

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.
627

FBD Editor

21.3

Returning from a Subroutine or DFB

Overview
This section describes how to return from a subroutine or DFB to the FBD
programming language.
What Is in This Section?
This section contains the following topics:
Topic

628

Page

Returning from a Subroutine or DFB

629

Return object properties dialog box

631

33003101 07/2012

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 return object
You have the following options to select return objects:
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 return
Process the following steps to execute a return:
Step

33003101 07/2012

Action

Create a subroutine (see page 444) or a DFB (see page 1187) in the FBD
programming language.

Create the logic for the subroutine/DFB.

629

FBD Editor

Step

630

Action

Create the logic for return.


Example:

Select the return object.

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 return object is inserted.
Example:

Create a connection between the return logic and return object using a graphical
link (see page 650).
Example:

33003101 07/2012

FBD Editor

Return object properties dialog box


Calling the properties dialog box
see Displaying the properties, page 587
Structure of the properties dialog box
Representation of the properties dialog box:

Elements of the properties dialog box:


Element

33003101 07/2012

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.

631

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 (see Unity Pro, Program Languages and Structure, Reference
Manual ) 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 page 633), EN and ENO of the subroutine
block are hidden (see page 617) or the input EN is assigned the value 1.
For a conditional subroutine call (see page 635), EN and ENO of the subroutine block
are shown (see page 617) and the input EN is linked with a Boolean FFB output.
For a parallel call of several subroutines (see page 635), EN and ENO of the
subroutine blocks are shown (see page 617) 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 placement mode for subroutine blocks
You have the following options to activate the placement mode for subroutine
blocks:
z Use the Edit New Subroutine menu command.
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


symbol.

cursor

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.

632

33003101 07/2012

FBD Editor

Placing subroutine blocks:


Placing subroutine blocks:
Step

Action

Activate the placement mode for subroutine blocks, see also Activating the
placement mode for subroutine blocks, page 632.

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.

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 subroutine call


Unconditional subroutine call:
Step

Action

Place a subroutine block in the section, see also Placing subroutine blocks:,
page 633.

Place the mouse pointer on the subroutine block.


Result: The mouse pointer changes its symbol to

33003101 07/2012

Double-click the EN input of the subroutine block.


Result: A data selection box is opened.

Enter 1 or TRUE for the unconditional subroutine call.


Example:

633

FBD Editor

Step

Action

Double-click the SR_NAME input of the subroutine block.


Result: A selection dialog box for selecting the subroutine to be called is opened.
Example:

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 page 672) is performed.
Example:

If the subroutine has already been created (see also Create a Sub-Program
Section (SR), page 444), the procedure ends here.
If the subroutine has not yet been created, continue with step 7.
7

634

Create the subroutine, see alsoCreate a Sub-Program Section (SR), page 444.

33003101 07/2012

FBD Editor

Conditional subroutine call


Conditional subroutine call:
Step
1

Action
Execute the Unconditional subroutine call, page 633 procedure, but do not
assign a value to the EN input.

Create a Boolean logic for the subroutine call.

Connect the logics Boolean output to the EN input of the subroutine block.
Example:

Note: To execute the conditional subroutine call you can also allocate any
Boolean variable to the EN input.
Example:

Parallel call of several subroutines


Calling several subroutines:
Step

33003101 07/2012

Action

Execute the Unconditional subroutine call, page 633 procedure for all
subroutines to be called in parallel.

Connect the ENO outputs and the EN inputs of the subroutine block.
Example:

Possibly create a Boolean logic for the first subroutine block.

635

FBD Editor

21.5

Jumps within the Current Section

Overview
This section describes jumps within the current FBD section.
What Is in This Section?
This section contains the following topics:
Topic

636

Page

Jump within the current section

637

Jump object properties dialog box

640

33003101 07/2012

FBD Editor

Jump within the current section


Introduction
Jump objects execute jumps to a jump target (see page 643) 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 jump object
You have the following options to select jump objects:
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.

33003101 07/2012

637

FBD Editor

Executing a jump
Process the following steps to execute a jump:
Step
1

Action
Create the logic for the jump.
Example: Logic for conditional jump:

Example: Logic for unconditional jump:

Select the jump object.

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.
Example: Logic for conditional jump:

Example: Logic for unconditional jump:

638

33003101 07/2012

FBD Editor

Step
4

Action
Create a link between the jump logic and jump object using a graphical link
(see page 650).
Example: Logic for conditional return:

Example: Logic for unconditional return:

To enter the jump target, open the properties dialog box (see page 587) of the
jump object.
Result: The properties dialog box for the jump object is opened, see also Jump
object properties dialog box, page 640.
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 page 576) is performed.
Example of a conditional jump:

Example of an unconditional jump:

If the jump target has already been defined (see also Jump target
(see page 642)), the procedure ends here.
If the jump target has not yet been declared, continue with step 7.
7
33003101 07/2012

Specify the jump target, see also Jump target (see page 642).
639

FBD Editor

Jump object properties dialog box


Calling the properties dialog box
see Displaying the properties, page 587
Structure of the properties dialog box
The properties dialog box consists of two tabs:
General
You can enter the jump target of the jump (see page 638) in this tab.
z Comment
A comment about the jump object can be entered in this tab.
z

General tab
Representation of the General tab:

Elements of the General tab:

640

Element

Description

Jump Label

Enter the jump target in this text box, see also Definitions of Jump
Labels, page 643.

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.

33003101 07/2012

FBD Editor

Comment tab
Representation of the Comment tab:

Elements of the Comment tab:

33003101 07/2012

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.

641

FBD Editor

21.6

Definition of the Jump Target (Jump Labels)

Overview
This section describes how to define jump targets in the FBD programming
language.
What Is in This Section?
This section contains the following topics:
Topic

642

Page

Definitions of Jump Labels

643

Jump label objects properties dialog box

645

33003101 07/2012

FBD Editor

Definitions of Jump Labels


Introduction
Jump labels create a jump target for jumps (see page 637) 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 Go to dialog box.
Selecting the jump label
You have the following options to select jump labels:
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.

33003101 07/2012

643

FBD Editor

Placing a jump label


Placing a jump label:
Step

Action

Select the jump label.

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.
Example:

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 Name


Definition of the Name:
Step
1

Action
To enter the name, open the properties dialog box (see page 587) for the jump
label.
Result: The jump label properties dialog box is opened, see also Jump label
objects properties dialog box, page 645.
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 page 576)
is performed.
Example:

644

33003101 07/2012

FBD Editor

Jump label objects properties dialog box


Calling the properties dialog box
see Displaying the properties, page 587
Structure of the properties dialog box
The properties dialog box consists of two tabs:
z General
You can enter the name of the jump label (see page 644) 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:

33003101 07/2012

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.

645

FBD Editor

Comment tab
Representation of the Comment tab:

Elements of the Comment tab:


Element

646

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.

33003101 07/2012

FBD Editor

21.7

Editing Links

Overview
Editing links in the FBD programming language.
What Is in This Section?
This section contains the following topics:
Topic

33003101 07/2012

Page

Links

648

Placing a Link

650

Editing Links

653

647

FBD Editor

Links
Introduction
Links are vertical and horizontal connections between FFBs.
Attention should be paid to the following programming information:
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 (see Unity Pro, Program Languages and
Structure, Reference Manual )).
z To avoid links crossing each other, links can also be represented in the form of
connectors (see page 548).
z

NOTE: A detailed description about Links (see Unity Pro, Program Languages and
Structure, Reference Manual ) 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

The

648

and

symbol.
cursor symbols indicate which mode is active.

33003101 07/2012

FBD Editor

Representation
The link points are identified by a filled-in circle.

Crossed links are indicated by a "broken" link.

33003101 07/2012

649

FBD Editor

Placing a Link
Placing a link using the mouse
Carry out the following steps to place a link using the mouse:
Step

Action

Activate the placement mode for links, see also Links, page 648.

Place the mouse pointer on the start point of the link.


Note: The correct position is shown by the mouse pointer symbol.
Example:

Click the left mouse button on the start point and drag mouse pointer to the target
point of the link.
Example:

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.

650

33003101 07/2012

FBD Editor

Step
4

Action
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.
Example:

See also Editing Links, page 653

Placing a link using the keyboard


Carry out the following steps to place a link using the keyboard:
Step

33003101 07/2012

Action

Activate the placement mode for links, see also Links, page 648.

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.
Example:

651

FBD Editor

Step
3

Action
Use the cursor keys to move the cursor to the target position of the link.
Example:

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.
Example:

See also Editing Links, page 653

652

33003101 07/2012

FBD Editor

Editing Links
Editing links
Links consist of one or more segments connected to one another.
When cutting (see page 581), deleting (see page 581), copying (see page 582) and
moving (see page 583) 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 connections
Modifying connections:
Step

33003101 07/2012

Action

Select the link and place the mouse pointer on the connection to be modified.
Example:

Left-click the connection to be modified and drag the mouse pointer to the new
connection.
Example:

653

FBD Editor

Step
3

654

Action
Left-click the new target position.
Result: The link route is modified.
Example:

33003101 07/2012

FBD Editor

Creating sizing handles


The creation of angles in links can only be made using sizing handles. If no sizing
handles are available they can be created. Process the following steps to create
sizing handles in links:
Step

33003101 07/2012

Action

Select the link.

Press the Ctrl key and place the mouse pointer at the target position.
Note: The correct position is shown by the mouse pointer symbol.
Example:

Left-click the target position.


Result:
The sizing handle is created.

655

FBD Editor

Moving links vertically/horizontally


Process the following procedures to move a link segment vertically or horizontally:
Step

656

Action

Select the link.

Place the mouse pointer on the item to be moved.


Note: The correct position is shown by the mouse pointer symbol.
Example:

Click the left mouse button and drag the segment to the target position.

Release the mouse button.


Result:
The change is made.

33003101 07/2012

FBD Editor

Creating angles in FFB links


Process the following steps to create angles in links:
Step

33003101 07/2012

Action

Select the link.

Place the mouse pointer on a source position.


Note: The correct position is shown by the mouse pointer symbol.
Example:

Click the left mouse button and drag the source point to the target position.

Release the mouse button.


Result:
The change is made.

657

FBD Editor

Determining the optimum connection route


Determining the optimum link route:
Step

658

Action

Select the link.


Example:

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.
Example:

33003101 07/2012

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 object
You have the following options to select text objects:
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

33003101 07/2012

cursor symbol.

659

FBD Editor

Placing text objects:


Placing text objects:
Step

Action

Select the text object.

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.
Example:

Enter the comment.

Confirm the text entered by:


z Clicking with the mouse outside of the text object
or
z Pressing the Enter key.

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.

660

33003101 07/2012

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, page 1371.

33003101 07/2012

661

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, page 1701.

662

33003101 07/2012

Unity Pro
LD Editor
33003101 07/2012

LD Editor

22
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 (see Unity Pro, Program Languages and Structure, Reference
Manual ) chapter in the Reference manual.
What Is in This Chapter?
This chapter contains the following sections:
Section

33003101 07/2012

Topic

Page

22.1

Creating a program with LD programming language

664

22.2

Editing Contacts

692

22.3

Editing Coils

702

22.4

Editing compare blocks

714

22.5

Editing operation blocks

722

22.6

Editing FFBs

729

22.7

Returning from a Subroutine or DFB

763

22.8

Jumps within the Current Section

767

22.9

Definition of the Jump Target (Jump Labels)

772

22.10

Editing Links

777

22.11

Entering Comments

799

22.12

Online functions

801

22.13

Export/Import

802

663

LD Editor

22.1

Creating a program with LD programming


language

Overview
This section describes the basics for creating a program in the LD programming
language.
What Is in This Section?
This section contains the following topics:
Topic

664

Page

Structure of an LD program (ladder diagram)

665

Creating an LD program

668

Syntax and Semantics Check during programming

672

View for variables

674

Navigating with the Keyboard

679

Selecting objects

681

Deleting, cutting, copying, pasting and moving objects

684

Displaying the properties

688

Refining DFBs and subroutines

689

Inserting and Deleting Rows

691

33003101 07/2012

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 LD program
Properties of an 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 page 691) or reduced (see page 691)
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
(see Unity Pro, Program Languages and Structure, Reference Manual ) in the
Reference manual).
z A syntax and semantics check (see page 672) 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.

33003101 07/2012

665

LD Editor

LD program objects
The objects of the LD programming language help to divide a section into a number
of:
z Contacts (see page 692),
z Coils (see page 702),
z EFs and EFBs (see page 729) (Elementary Functions and Elementary Function
Blocks),
z DFBs (see page 729) (derived function blocks)
z Procedures (see page 729)
z operate blocks (see page 722),
z compare blocks (see page 714),
z jumps (see page 767) within the section and
z subroutine calls (see page 710)
These objects can be linked with each other through:
z Links (see page 777) or
z actual parameters (see page 741) (only FFBs).
Comments for the logic of the program can be added using text objects
(see page 799).
Edit and view functions
Edit and view functions of the LD editor:
z Selecting objects (see page 681)
z Deleting objects (see page 684)
z Cutting (see page 684), copying (see page 685) and pasting (see page 685)
objects
z Moving (see page 686) objects (also between different LD/FBD sections)
z Replacing objects
z Undo (see page 547) and Redo (see page 547)
z Using bookmarks (see page 536)
z Searching and replacing (see page 1167) variables and function blocks and DFB
instances
Input assistants
Input assistants for the LD editor:
Function input assistants (see page 751) for functions, function blocks and
procedures

Online functions
Online functions of the LD editor:
z Display the current value (see page 552).
z Setting breakpoints (see page 1352)

666

33003101 07/2012

LD Editor
z
z

33003101 07/2012

Setting watchpoints (see page 1358)


Step by Step (see page 1354)

667

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 page 541) 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, page 670.
When creating a program with the mouse, this gray field is not relevant.
Creating an LD program with the mouse
Process the following steps to create an LD program with the mouse:
Step

Action

Create an LD section. (see page 422)

Select the desired object (see also Editing Links, page 777) 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) (see Unity Pro,
Program Languages and Structure, Reference Manual ) in the Reference
manual.
The results of the checks are indicated by a colored folder, see also Syntax and
Semantics Check during programming, page 672.

Click the target cells in the LD section.


Result: The selected object is inserted and the selection mode is active again.
Example:

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
key.

668

symbol or pressing the Esc

33003101 07/2012

LD Editor

Step

Action

To enter the respective actual parameters (variable/address), double-click the


object.
Result: The properties dialog box for the object is opened.
Example:

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, page 674.
Example (entry mode):

Example (mixed display mode):

33003101 07/2012

Repeat these steps until all objects are entered.

669

LD Editor

Creating an LD program with the keyboard


Process the following steps to create an LD program with the keyboard:
Step

Action

Create an LD section. (see page 422)

Place the field with the gray background on the cell where the object should be
inserted, see also Navigating with the Keyboard, page 679.

Select the desired object (see also Editing Links, page 777) 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) (see Unity Pro,
Program Languages and Structure, Reference Manual ) in the Reference
manual.
The results of the checks are indicated by a color folder, see also Syntax and
Semantics Check during programming, page 672.

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.
Example:

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.

670

Press the Enter key to open a shortcut menu for the selected object.

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.
Example:

33003101 07/2012

LD Editor

Step
7

Action
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, page 674.
Example (entry mode):

Example (mixed display mode):

33003101 07/2012

Repeat these steps until all objects are entered.

671

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 three formats:
z
z
z

directly in the program section with colored text


as tooltip if the cursor is placed on incorrect text.
In the output window, if Generate Analyze is selected.

Representation
Meaning of colors and labels:
Color

Description

Black

Syntax and semantics are correct

Blue

Example

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 Faulty text, e.g. variables which are not


line
declared, variables with an incorrect
data type, ...

Tooltips
If the cursor is placed over incorrect text, the tooltip is displayed with a brief
description of the cause of the error. It will also be displayed in the output window
after the analysis.

672

33003101 07/2012

LD Editor

Error message in the output window


Error message: Accessed object is not a function block.

33003101 07/2012

Cause of error

Error Correction

Name of the function block was already used


for a variable.

Rename the already used variable.

673

LD Editor

View for variables


Display modes for variables
The following view modes are available for variables:
Input mode (see page 675)
z Mixed display mode (see page 676)
z

You can switch between the two modes using:


z The View Mixed Display Mode menu command
z The Ctrl+E key combination.
A check-symbol displayed on the left of the View Mixed Display Mode item
indicates when the mixed display mode (see page 676) is enabled.
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, on both Input mode (see page 675) & Mixed display
mode (see page 676)
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 element are available for the
variable name.
z

674

On 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 name 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).

33003101 07/2012

LD Editor

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 Tooltip will appear with type, name,
address and comment of the variable.
Input mode
In input mode, only the symbolic name is displayed for variables and only the
address for direct addresses.
Example of a section in input mode:

33003101 07/2012

675

LD Editor

Mixed display mode


In the mixed display mode, the comment, symbolic name and, if a unique
association is possible, the address will be displayed for the variables.
Example of a section in Mixed Display Mode:
1

10

11

1
2

'Comment...' 'Comment...'
b1
b2
%MW100.0 %MW101
1

'Comment for b1' 'Comment for b2'


b1 AND b2
%MW100.0 AND %MW101

Comment for b1
b1
%MW100.0
6

'Comment for b3'


b3
%MW102
7

3
1

10
XOR

EN EN0

'Comment for b1'


%MW100.0
%MW100.0

IN1 OUT

'Comment for b3'


%MW102
b3

5
1

'Comment for b1'


%MW100.0
b1

'Comment for b1' 'Comment for b2'


%MW100.0 AND %MW101
b1 AND b2

IN2

This functionality is available for variables for both LD objects (contact, coil,
comparative module, operation module) and FFBs.
NOTE: When using structure elements, the entire comment (comment for root
variables and comment(s) for the structure element(s)) or only the comment for the
root variable may be displayed. To display the entire comment, select Tools
Project Settings Editors tab and enable Display complete comments for
structure elements.
NOTE: To print one or several sections the option mixed display must be check
in Documentation configuration of project.
For example, the following displays are possible:
Display

Description
The located variable VarA with the comment
VariableA has the address %I3.1.2.
For this type of display the following requirements
apply:
z The display of comments is enabled.
z The variable is a located variable.
z A comment was defined for the variable.
z An address is only associated with one symbolic
name
or
the symbolic name was assigned to the actual
parameter.

676

33003101 07/2012

LD Editor

Display

Description
The structure element Start of the variable Motor
is assigned to the address %I3.1.2 assigned. The
displayed comment consists of the comments for the
root variable (Motor) and the comment(s) for the
structure elements (Start).
For this type of display the following requirements
apply:
z In Tools Project Settings Editors tab the
option Display complete comments for
structure elements is enabled.
z The variable is a located variable.
z A comment was defined for the variable.
z An address is only associated with one symbolic
name
or
the symbolic name was assigned to the actual
parameter.
The element Start of the variable Motor is
assigned to the address %I3.1.2 assigned. The
displayed comment is the comment for the root
variable (Motor).
For this type of display the following requirements
apply:
z In Tools Project Settings Editors tab the
option Display complete comments for
structure elements is disabled.
z The variable is a located variable.
z A comment was defined for the variable.
z An address is only associated with one symbolic
name
or
the symbolic name was assigned to the actual
parameter.
The located variable VarA has the address
%I3.1.2and no comment was defined for the
variable.
For this type of display the following requirements
apply:
z The variable is a located variable.
z An address is only associated with one symbolic
name
or
the symbolic name was assigned to the actual
parameter.

33003101 07/2012

677

LD Editor

Display

Description
The variable VarA is an unlocated variable.

An address with multiple assigned symbolic names


was assigned to the object as an actual parameter.
Since in this case, a unique assignment of symbolic
name to address is not possible, no symbolic name
is displayed.
The address was a assigned a comment, but no
symbolic name.

Syntax error. The expression entered is not correct.


For this reason no addresses or symbols can be
displayed.
or

NOTE: The cell height and column width available to display additional information
can be specified for the current project under Editors for the Dialog Tools
Project Settings and for future projects under Data and Languages of the Dialog
Tools Options.

678

33003101 07/2012

LD Editor

Navigating with the Keyboard


Using the keyboard
The following keys and key combinations are provided for navigation:

33003101 07/2012

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.
679

LD Editor

680

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.

Ctrl+Alt+Page Up

Displays the previous section (including via the View Previous


Sectionmenu).

Ctrl+Alt+Page Down

Displays the next section (including via the View Next


Sectionmenu).

Spacebar

Selects or deselects 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, page 681.

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

The position of the gray field is moved one cell to the right and all
objects in the currently selected cells highlighted in gray (multiple
selections) are inserted.

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.


33003101 07/2012

LD Editor

Selecting objects
Select and placement mode
Objects are selected in select mode.
Select mode can be activated using:
z the Edit Select Mode menu command
z
z

the
symbol,
or
the Esc key

The

cursor symbol indicates that select mode is active

Selecting an object

33003101 07/2012

Using the mouse

Using the keyboard

Left-click the object you want to select.

Move the gray field to the cell with the object


to be selected, see also Navigating with the
Keyboard, page 679.
Note: If several objects are in the gray
highlighted field, the next object in the cell is
selected every time you press the spacebar.

681

LD Editor

Selecting several objects


Using the mouse

Using the keyboard

1. Click the left mouse button and keep it


pressed.
2. Drag the mouse across the objects you
want to select.
or
1.
2.
3.
4.

Selecting several objects in different cells:


1. Move the gray field to the cell with the first
object to be selected, see also Navigating
with the Keyboard, page 679.
2. Press the Shift+spacebar key
combination.
Left-click the first object you want to select.
Result: The object is added to the current
Press the Ctrl key and keep it pressed.
selection and the gray field is shifted one
Left-click the next object you want to
cell to the right.
select.
3. Repeat these steps until all desired
Repeat these steps until all desired objects
objects are selected.
are selected.
Selecting several objects in one cell:
1. Move the gray field to the cell with the
objects to be selected, see also
Navigating with the Keyboard, page 679.
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.

Selecting by rows
Using the mouse

Using the keyboard

Selecting the contents of a row:


1. Left-click the number of the row you want to select in the vertical
ruler.

Selecting the contents of several lines:


1. Left-click the number of the first line you want to select in the
vertical ruler.
2. Press the Shift key and keep it pressed.
3. Left-click the number of the last line you want to select in the
vertical ruler.
Note: Pressing the Shift key makes it possible to combine this
procedure with the procedure for selecting columns.

682

33003101 07/2012

LD Editor

Selecting by 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
vertical ruler.

Selecting the contents of several columns:


1. Left-click the number of the first column you want to select in the
vertical ruler.
2. Press the Shift key and keep it pressed.
3. Left-click the number of the last column you want to select in the
vertical ruler.
Note: Pressing the Shift key makes it possible to combine this
procedure with the procedure for selecting lines.

Selecting all (entire contents of the section)


Using the mouse

Using the keyboard

Use the Edit Select All menu command.

Press the Ctrl+A key combination.

Using the mouse

Using the keyboard

Left-click an empty space in the section.

1. Move the gray field to an empty space,


see also Navigating with the Keyboard,
page 679.
2. Press the spacebar.

Using the mouse

Using the keyboard

Left-click an empty space in the section.

Move the gray field or press the space bar.

Selecting all objects

Deselecting objects

33003101 07/2012

683

LD Editor

Deleting, cutting, copying, pasting and moving objects


Deleting objects
Deleting objects:
using the mouse

Using the keyboard

1. Select (see page 681) the object to be


deleted.
2. Use the Edit Delete menu command.

Deleting the selected object:


1. Select (see page 681) the object to be
deleted.
2. Press the Entf 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 page 681) the object to be cut. 1. Select (see page 681) the object to be
2. Use the Edit Cut menu command.
cut.
or
2. Press the Ctrl+X key combination.
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 page 685) in any other position (also in another
LD section).

684

33003101 07/2012

LD Editor

Copying objects to the clipboard


Copying objects to the clipboard:
Using the mouse

Using the keyboard

1. Select (see page 681) the object to be


copied.
2. Use the Edit Copy menu command.
or
Use the Copy menu command from the
shortcut menu (right-click).
or

1. Select (see page 681) the object to be


copied.
2. Press the Ctrl+C key combination.

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 page 685) in any other position (also in another
LD section).
Pasting objects from the clipboard
Pasting objects from the clipboard:
Using the mouse

Using the keyboard

1. Use the menu command Edit Insert.


or
Use the menu command Paste in the
shortcut menu (right mouse button).
or

1. Press the Ctrl+V key combination.


2. Move the cursor to the target position
using the arrow keys.
3. Press Enter.

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 existing object is overwritten by the new object.
Note: This presents the behavior of the Copy, Cut, Paste on a function block instance. It only
applies to graphical languages as FBD and LD.
z Using the Paste function after a Copy of an object:
As a result of a Copy, a new function block instance (FBI) is used. The Paste function
creates a new FBI whenever it is repeated. Accordingly, the FBI is incremented.
z Using the Paste function after a Cut of an object:
As a result of a Cut, the same instance of the function is used. The Paste function uses
the same FBI whenever it is repeated. Accordingly, the FBI is identical.

33003101 07/2012

685

LD Editor

Moving objects
Moving objects:
Using the mouse

Using the keyboard

1. Select (see page 681) the object to be


moved.
2. Position the mouse pointer on the
selected object. (on one of the selected
objects if several are selected).
Result: The mouse pointer changes its

1. Position (see page 681) the gray field on


the object to be moved.
2. Press the spacebar.
3. Press the Shift key and keep it pressed.
4. Move the object to the target position
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 its original position to the target position. The
objects 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.
Note: When objects are moved beyond the visible area of the editor window, automatic
scrolling of the window will not begin until you reach the edge of the window with the mouse
pointer, not as soon as the objects are moved beyond the edge.

686

33003101 07/2012

LD Editor

Copying objects via drag & drop


Copying objects via drag & drop:
Using the mouse

Using the
keyboard

1. Select (see page 681) 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
objects 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.

33003101 07/2012

687

LD Editor

Displaying the properties


Displaying the object properties
You have the following options to display the object properties dialog box:
Double-click the object.
z Select (see page 681) the object and use the Edit Properties... dialog box..
z Select (see page 681) the object and use the Properties...commandfrom the
shortcut menu.
z Select (see page 681) the object and then press the Alt+Enter key combination.
z

When the properties dialog box is called without an object being selected, the
section properties dialog box (see page 425) is opened.
If several objects are selected, the commands do not work.
View data properties
You have the following options to display the section properties dialog box
(see page 1128):
z using the data editor (see page 299)
a. Selecting one or several lines in a list editor
b. Using the shortcut menu select the Propertiescommand.
z

688

via the LD section


a. Selecting one or several element(s) in the LD section.
b. From the context menu select the command Data properties or press Ctrl +
Enter.

33003101 07/2012

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

Select the DFB.

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.
Example:

33003101 07/2012

Select the desired DFB section.


Result: The DFB section is opened.
Note: With nested DFBs, several refine processes are possible.

689

LD Editor

Refining subroutines
Process the following steps to refine subroutines:
Step
1
2

Action
Select the subroutine block (see page 632).
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.

690

33003101 07/2012

LD Editor

Inserting and Deleting Rows


Rules for Inserting Rows
The following rules apply when inserting rows:
z The same number of rows are inserted as are selected in the vertical ruler.
z The new rows are inserted above the first selected row.
z The first selected row 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 Rows
Step

Action

Select (see page 682) the desired number of rows in the vertical ruler (click the
row numbers).

Use the Insert Row menu command from the shortcut menu of the vertical ruler
or use the Edit Insert Row menu command.
Result: The selected number of rows is inserted above the first selected row.

Rules for Deleting Rows


The following rules apply when deleting rows:
z The rows 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 Rows
Step

33003101 07/2012

Action

Select (see page 683) the desired number of rows to be deleted from the vertical
ruler (click the row numbers).

Use the Delete Row menu command from the shortcut menu of the vertical ruler
or use the Edit Delete Row menu command.
Result: The selected rows are deleted.

691

LD Editor

22.2

Editing Contacts

Overview
This section describes how to edit contacts in the LD programming language.
What Is in This Section?
This section contains the following topics:
Topic

692

Page

Select contacts

693

Placing contacts

695

Property dialog box for contacts

699

33003101 07/2012

LD Editor

Select 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 contacts
Selecting contacts:
Contact type Description

Call via the menu command Call via Call via a key
the icon

N.O. contact

For normally open contacts,


the status of the left link is
copied to the right link, if the
status of the relevant Boolean
actual parameter is 1.
Otherwise, the status of the
right link is 0.

Edit New N.O. Contact


or
Contacts N.O. Contact in
the shortcut menu

F3

N.C. contact

For normally closed contacts,


the status of the left link is
copied to the right link, if the
status of the relevant Boolean
actual parameter is 0.
Otherwise, the status of the
right link is 0.

Edit New N.C. Contact


or
Contacts N.C. Contact in
the shortcut menu

Shift+F3

33003101 07/2012

Cursor
symbol

693

LD Editor

Contact type Description

Call via the menu command Call via Call via a key
the icon

Positive
transition
contact

With contacts for detection of


positive transitions, the right
link for a program cycle is 1 if
a transfer of the relevant
actual parameter goes from 0
to 1 and the status of the left
link is 1 at the same time.
Otherwise, the status of the
right link is 0.
Also see the Edge recognition
(see Unity Pro, Program
Languages and Structure,
Reference Manual ) in the
user guide.

Edit New Positive


transition contact
or
Contacts Positive
transition contact in the
shortcut menu

Ctrl+F3

Negative
transition
contact

With contacts for detection of


negative transitions, the right
link for a program cycle is 1 if
a transfer of the relevant
actual parameter goes from 1
to 0 and the status of the left
link is 1 at the same time.
Otherwise, the status of the
right link is 0.
Also see the Edge recognition
(see Unity Pro, Program
Languages and Structure,
Reference Manual ) in the
user guide.

Edit New Negative


transition contact
or
Contacts Negative
transition contact in the
shortcut menu

Ctrl + Shift + F3

694

Cursor
symbol

33003101 07/2012

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 611313 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.

33003101 07/2012

695

LD Editor

Placing contacts:
Placing contacts:
Step

Action

Select the desired contact, see also Selecting contacts, page 693.

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.

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.

Assigning actual parameters


Assigning actual parameters:
Step
1

696

Action
Open the properties dialog box (see page 688) for the contact.
Result: The contacts properties dialog box is opened, see also Calling the
properties dialog box, page 699.
Example:

33003101 07/2012

LD Editor

Step
2

Action
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 page 1114) and confirm the selected variables there with OK.
Example of a variable selection dialog box:

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 page 672) 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.

33003101 07/2012

697

LD Editor

Step
4

Action
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 page 672) is performed and the procedure ends here.
Example:

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.

Confirm with Enter or the


symbol.
Result:The variable is declared and enabled in the section. A syntax and
semantics check (see page 672) is performed immediately after the statement is
entered.
Example:

Usage of ST expressions
To enter ST expressions for contacts the same rules apply as for entering ST
expressions for FFB pins. (see page 750)

698

33003101 07/2012

LD Editor

Property dialog box for contacts


Calling the properties dialog box
see Displaying the properties, page 688
Structure of the properties dialog box
The contact properties dialog box consists of two tabs:
z General
In this tab, you can enter the actual parameter (see page 696) of the contact.
z Comment
In this tab, a comment about the contact can be entered.
General tab
Representation of the General tab:

33003101 07/2012

699

LD Editor

Elements of the General tab:


Element

Description

BOOLEAN
Expression

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 variable selection dialog box
(see page 1114).
The actual parameters which are permitted are:
Boolean variables
Boolean constants
Boolean addresses (topological addresses or symbolic addresses)
ST expression delivering a Boolean result (e.g. BoolVar1 OR
BoolVar1)
z Literal (1 or 0 or. TRUE or FALSE)
z
z
z
z

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:

700

33003101 07/2012

LD Editor

Elements of the Comment tab:

33003101 07/2012

Element

Description

Text box

Enter a comment about the contact.


This comment is displayed as a tooltip when the cursor is placed over the contact.
It is independent from the variable comment that can be assigned to the variable
in the data editor.

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.

701

LD Editor

22.3

Editing Coils

Overview
This section describes how to edit coils in the LD programming language.
What Is in This Section?
This section contains the following topics:
Topic

702

Page

Selection of coils

703

Placing coils

706

Property dialog box for coils

711

33003101 07/2012

LD Editor

Selection of 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

Coil

With coils, the status of the


left link is copied to the
relevant Boolean actual
parameter and the right link.

Edit New Coil


or
Coils Coil from the
shortcut menu

F5

Negated coils

With negated coils, the


status of the left link is
copied onto the right link.
The inverted status of the left
link is copied to the relevant
Boolean actual parameter. If
the left link is 0, the right link
is also 0 and the respective
Boolean actual parameter is
1.

Edit New Negated Coil


or
Coils Negated Coil from
the shortcut menu

Shift+F5

Positive
transitionsensing coil

With coils for detection of


positive transitions, the
status of the left link is
copied to the right link. The
relevant Boolean actual
parameter is 1 for a program
cycle, if a transition from 0 to
1 is made on the left link.
Also see the Edge
recognition (see Unity Pro,
Program Languages and
Structure, Reference
Manual ) in the user guide.

Edit New Positive


transition-sensing coil
or
Coils Positive transitionsensing coil from the
shortcut menu

33003101 07/2012

Call via
symbol

Call via
keyboard

Cursor
symbol

703

LD Editor

Coil type

Description

Call via menu command

Negative
transitionsensing coil

With coils for detection of


negative transitions, the
status of the left link is
copied to the right link. The
relevant Boolean actual
parameter is 1 for a program
cycle, if a transition from 1 to
0 is made on the left link.
Also see the Edge
recognition (see Unity Pro,
Program Languages and
Structure, Reference
Manual ) in the user guide.

Edit New Negative


transition-sensing coil
or
Coils Negative
transition-sensing coil from
the shortcut menu

Set coil

With set coils, the status of


the left link is copied onto the
right link. The relevant
Boolean actual parameter is
set to 1 if the left link has the
status 1, otherwise it
remains unchanged. The
relevant Boolean actual
parameter can be reset
through the reset coil.

Edit New Set Coil


or
Coils Set Coil from the
shortcut menu

Alt+F5

Reset coil

With reset coils, the status of


the left link is copied onto the
right link. The relevant
Boolean actual parameter is
set to 0 if the left link has the
status 1, otherwise it
remains unchanged. The
relevant Boolean actual
parameter can be set
through the set coil.

Edit New Reset Coil


or
Coils Reset Coil from the
shortcut menu

Shift + Alt + F5

704

Call via
symbol

Call via
keyboard

Cursor
symbol

33003101 07/2012

LD Editor

Coil type

Description

Call via menu command

Halt coil

With halt coils, if the status of


the left link is 1, the program
execution is stopped
immediately. (With halt coils
the status of the left link is
not copied to the right link.)

Edit New Halt coil


or
Coils Halt coil from the
shortcut menu

Call coil

With call coils, the status of


the left link is copied to the
right link. If the status of the
left link is 1, the
corresponding 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.

Edit New Call Coil


or
Coils Call Coil from the
shortcut menu

F4

33003101 07/2012

Call via
symbol

Call via
keyboard

Cursor
symbol

705

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 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.
Placing Coils
Placing Coils
Step

706

Action

Select the desired coil, see also Selecting coils, page 703.

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 Rightjustify coils 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).

33003101 07/2012

LD Editor

Step
3

Action
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.

NOTE: When editing a program in Ladder, a short circuit on a coil may lead to a state
always true. For a good logic behavior, the short-circuit must be deleted..

If the short-circuit (1) is located on top of the coil B2, this coil will remain in a true
state (B2 = 1) regardless of the logic activating the coil C1. As a consequence, the
active state (2) is propagated to the following logic (b4 = 1).

33003101 07/2012

707

LD Editor

Assigning actual parameters


Assigning actual parameters:
Step

Action

Open the properties dialog box (see page 688) for the coil.
Result: The coils properties dialog box is opened, see also Property dialog box
for coils, page 711.
Example:

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 page 1114) and confirm the selected variables there with OK.
Example of a variable selection dialog box:

708

33003101 07/2012

LD Editor

Step
3

Action
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 page 672) 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 page 672) is performed and the procedure ends here.
Example:

33003101 07/2012

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.

Confirm with Enter or the


symbol.
Result:The variable is declared and enabled in the section. A syntax and
semantics check (see page 672) is performed.
Example:

709

LD Editor

Calling a subroutine
Calling a subroutine:
Step

Action

Place a call coil in the section, see also Selecting coils, page 703.
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.

Open the properties dialog box (see page 688) for the coil.
Result: The coils properties dialog box is opened, see also Property dialog box
for coils, page 711.

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 page 672) is performed.
Example:

If the subroutine has already been created (see also Create a Sub-Program
Section (SR), page 444), the procedure ends here.
If the subroutine has not yet been created, continue with step 4.
4

710

Create the subroutine, see alsoCreate a Sub-Program Section (SR), page 444.

33003101 07/2012

LD Editor

Property dialog box for coils


Calling the properties dialog box
see Displaying the properties, page 688
Structure of the properties dialog box
The properties dialog box for coils, negated coils, coils for sensing
positive/negative transitions and set/reset coils consists of two tabs:
z General
In this tab, you can enter the actual parameter (see page 708) 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 page 710).
z Comment
In this tab, a comment about the coil/subroutine call can be entered.
General tab
Representation of the General tab:

33003101 07/2012

711

LD Editor

Representation of the General tab for call coils:

Elements of the General tab:


Element

Description

BOOLEAN
Expression

This text box is only available for coils, negated coils, coils for
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 variable selection dialog box
(see page 1114).
The actual parameters which are permitted are:
z Boolean variables
z Boolean addresses (topological addresses or symbolic addresses)

712

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.

33003101 07/2012

LD Editor

Comment tab
Representation of the Comment tab:

Elements of the Comment tab:

33003101 07/2012

Element

Description

Text box

Enter a comment about the coil.


This comment is displayed as a tooltip when the cursor is placed over
the coil. It is independent from the variable comment that can be
assigned to the variable in the data editor.

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.

713

LD Editor

22.4

Editing compare blocks

Overview
This section describes how to edit compare blocks in the LD programming language.
What Is in This Section?
This section contains the following topics:
Topic

714

Page

Placing compare blocks

715

Compare block properties dialog box

720

33003101 07/2012

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 page 750).
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 compare block placement mode
You have the following options to activate the compare block placement mode:
z Use the Edit New Compare Block menu command.
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


symbol.

33003101 07/2012

cursor

715

LD Editor

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.
Placing a compare block
Placing a compare block:
Step

Action

Activate the compare block placement mode.

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.

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.

716

33003101 07/2012

LD Editor

Defining the compare operation


Defining the compare operation:
Step

33003101 07/2012

Action

Open the properties dialog box (see page 688) for the compare block.
Result: The properties dialog box for the compare block is opened, see also
Compare block properties dialog box, page 720.

Enter the desired compare operation in the text box, see also General tab,
page 720.
Example:

717

LD Editor

Step
3

Action
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 page 672) 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 page 672) is performed. Declare them at this time, using the data editor.
See also Creation of EDT type variable instances, page 340.
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 page 672) is performed and the procedure ends here.
Example:

718

33003101 07/2012

LD Editor

Step
5

33003101 07/2012

Action
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.

Confirm with Enter or the


symbol.
Result:The variable is declared and enabled in the section. A syntax and
semantics check (see page 672) is performed.
Example:

719

LD Editor

Compare block properties dialog box


Calling the properties dialog box
see Displaying the properties, page 688
Structure of the properties dialog box
The properties dialog box consists of two tabs:
General
In this tab, you can enter the compare operation (see page 717).
z Comment
In this tab, a comment about the compare block can be entered.
z

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, page 715.
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 page 1114).
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 (...).

720

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.

33003101 07/2012

LD Editor

Comment tab
Representation of theCommenttab:

Elements of the Comment tab:


Element

33003101 07/2012

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.

721

LD Editor

22.5

Editing operation blocks

Overview
This section describes how to edit operate blocks in the LD programming language.
What Is in This Section?
This section contains the following topics:
Topic

722

Page

Placing Operate Blocks

723

Operate block properties dialog box

727

33003101 07/2012

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 operate block placement mode
You have the following options to activate the operate block placement mode:
z Use the Edit New Operate Block menu command.
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

33003101 07/2012

cursor symbol.

723

LD Editor

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.
Placing an operate block
Placing an operate block:
Step

724

Action

Activate operate block placement mode.

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.

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.

33003101 07/2012

LD Editor

Defining the operation


Defining the operation:
Step

Action

Open the properties dialog box (see page 688) for the operate block.
Result: The operate block properties dialog box is opened, see also Operate
block properties dialog box, page 727.

Enter the desired ST statement in the text box, see also General tab, page 727.
Example:

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 page 672) 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 page 672) is performed. Declare them at this time, using the data editor.
See also Creation of EDT type variable instances, page 340.
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.

33003101 07/2012

725

LD Editor

Step
4

Action
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 page 672) is performed and the procedure
ends here.
Example:

726

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.

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 page 672) is performed.
Example:

33003101 07/2012

LD Editor

Operate block properties dialog box


Calling the properties dialog box
see Displaying the properties, page 688
Structure of the properties dialog box
The properties dialog box consists of two tabs:
z General
Enter the operation (see page 725) 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,
page 723.
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 page 1114).
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 (...).

33003101 07/2012

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.

727

LD Editor

Comment tab
Representation of the Commenttab:

Elements of the Comment tab:

728

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 page 674) 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.

33003101 07/2012

LD Editor

22.6

Editing FFBs

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 Is in This Section?
This section contains the following topics:
Topic
General information on calling an FFB

33003101 07/2012

Page
730

Calling an FFB via the FFB input assistant

732

Calling an FFB via the data selection

735

Connection of FFBs to the Left Power Rail

740

Assigning Actual Parameters

741

Using Public Variables

753

Expanding Functions

755

Negating FFB Pins

757

EN and ENO Show and Hide

758

Properties dialog box for elementary functions, procedures and sub-routine


blocks.

759

Properties dialog box for elementary and derived function blocks (FBs)

761

729

LD Editor

General information on calling an FFB


Introduction
FFB is the generic term for:
Elementary Function (EF) (see Unity Pro, Program Languages and Structure,
Reference Manual )
z Elementary Function Block (EFB) (see Unity Pro, Program Languages and
Structure, Reference Manual )
z Derived Function Block (DFB) (see Unity Pro, Program Languages and
Structure, Reference Manual )
z Procedure (see Unity Pro, Program Languages and Structure, Reference Manual
)
(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).
z

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 instances
Function blocks (elementary and derived) have internal states. If the inputs have the
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:
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 page 1125) and its placement in the section.
z By the declaration of the block instance in the Data editor (see page 329).
z

730

33003101 07/2012

LD Editor

Calling FFBs
FFBs can be called in the following ways:
z Via the FFB Input Assistant (see page 732) 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 page 735)


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

33003101 07/2012

Select the

symbol.

Via the Types library browser per drag & drop


z Use the Tools Types Library Manager menu command.
or
z Press the Alt+3 key combination.

731

LD Editor

Calling an FFB via the FFB input assistant


Activating the FFB input assistant
You have the following options to activate the FFB input assistant:
Use the Edit FFB Input Assistant... menu command. (no object may be
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).
z

The active FFB placement mode is indicated by the

cursor symbol.

Selecting an FFB type via the Input Assistant


Process the following steps to select an FFB type via the FFB input assistant:
Step

732

Action

From the FFB input assistant....from the shortcut menu (right-click) for the FFB
input assistant (see page 735)section.
Result:
The FFB input assistant (see page 1125) is opened.

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 page 1119).

33003101 07/2012

LD Editor

Step

33003101 07/2012

Action

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.

Select the desired function block from the Name column.


Example:

Confirm the selection with OK.


Result: The dialog box is closed and FFB input assistant is activated.
Example:

733

LD Editor

Step

Action

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.

The number of inputs (see page 615)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.
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 page 1114).
Assign an actual parameter to all formal parameters of the function block in this
way.

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

10

734

cursor symbol.

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 page 672)
is performed.

33003101 07/2012

LD Editor

Calling an FFB via the data selection


Set data selection to active
You have the following options to activate the data exchange:
z Use the Edit Data Selection menu command.
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.

33003101 07/2012

735

LD Editor

Selecting an FFB type via the Data Selection


Process the following steps to select an FFB type via the Data selection:
Step
1

Action
From the Data selection....from the shortcut menu (right-click) for the Data
selection (see page 735)section.
Result:
A data selection box (see page 1889) is opened.

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 page 1116).
Example of an FFB type selection dialog box:

736

33003101 07/2012

LD Editor

Step

33003101 07/2012

Action

Select the Function Types, Function Block Types tab.


Result:
The tab used for selecting an FFB type (see page 1117) is opened.

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.

Select the desired function block from the Name column.


Example:

737

LD Editor

Step

Action

Confirm the selection with OK.


Result: The dialog box is closed and FFB placement mode is activated.

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 of instances of data belonging to the family of function
blocks (EF), page 329.

Selecting a block instance


Process the following steps to select a block instance that has already been
declared:
Step

738

Action

Activate FFB placement mode.


Result:
A data selection box (see page 1889) is opened.

Press the button ..., to open the FFB selection dialog (see page 1116).

Select the Function Blocks tab (if it is not already active).


Result:
The tab used for selecting a block instance (see page 1116) is opened and the
desired selection of block instances is displayed.

33003101 07/2012

LD Editor

Step

33003101 07/2012

Action

Select the desired block instance from the Name column.

Confirm the selection with OK.


Result: The dialog box is closed and FFB placement mode is activated.

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.

739

LD Editor

Connection of FFBs to the Left Power Rail


Introduction
FFBs will only be processed when they are directly or indirectly connected to the left
bus bar.
If the FFB should be executed conditionally, the EN input can be pre-linked using
contacts or other FFBs, see also section EN and ENO (see Unity Pro, Program
Languages and Structure, Reference Manual ) in the User manual.
Examples
Unconditional FFB call

Unconditional FFB call

Conditional FFB call

740

33003101 07/2012

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 page 742)
z Enter undeclared variables (see page 744)
z
z
z

Formal parameters of other function blocks (see page 746)


Literals (see page 749)
ST expressions (see page 750)
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.
Links (see page 777) to other LD objects

NOTE: Please take note of the section Information about Programming (see Unity
Pro, Program Languages and Structure, Reference Manual ) in the Reference
manual.

33003101 07/2012

741

LD Editor

You can make actual parameter assignments for


z each pin individually
or
z with the function input assistant (see page 751) for all pins
Assign declared variables to a pin
Process the following steps to assign undeclared variables to a pin. (See also
Creation of EDT type variable instances, page 340.)
Step
1

Action
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 page 1889) opens.

742

33003101 07/2012

LD Editor

Step
2

Action
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 page 1114) and confirm the selected variables there with OK.
Example of a variable selection dialog box:

Result: The selected variable is inserted and a syntax and semantics check
(see page 672) is performed.
Example:

33003101 07/2012

743

LD Editor

Assign undeclared variables to a pin


Process the following steps to assign undeclared variables to a pin:
Step
1

Action
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 page 1889) opens.

Enter the variable name and confirm using Enteror the


Result: The variable declaration dialog box opens.

symbol.

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.

744

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.

33003101 07/2012

LD Editor

Step
5

Action
Confirm with Enter or the
symbol.
Result:The variable is declared and enabled on the selected pin.

Enter all actual parameters in this way.

Declaring variables on a pin


Process the following steps to declare variables on a pin:
Step
1

Action
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.

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.

33003101 07/2012

745

LD Editor

Step
3

Action
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.

Confirm with Enter or the


symbol.
Result: The variable is declared and the red wavy line under the variable name
disappears.

Assigning formal parameters to a pin


Process the following steps to assign formal parameters to a pin:
Step
1
2

Action
Select the desired FFB pin.
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 page 1889) opens.

746

33003101 07/2012

LD Editor

Step

33003101 07/2012

Action

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 page 1114).

Select the Function Block tab.


Result:
The function block instances are displayed.

747

LD Editor

Step
5

748

Action
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.

Select the desired formal parameter and confirm with OK.

Result: The formal parameter selected is inserted and a syntax and semantics
check (see page 576) is performed.
Example:

33003101 07/2012

LD Editor

Assigning literals to a pin


Process the following steps to assign literals to a pin:
Step

Action

Select the desired FFB pin.

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 page 1889) opens.

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 page 672)
is performed.
Example:

33003101 07/2012

749

LD Editor

Assigning ST expressions to a pin


Process the following steps to assign ST expressions to a pin:
Step

Action

Make sure that the Usage of ST expressions checkbox is activated in the Tools
Project Settings dialog box.

Select the desired FFB pin.

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 page 1889) opens.

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 page 672) is performed.
Example:

If the variables have already been declared (see also Creation of EDT type variable
instances, page 340), 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 page 340)

or
z using Create variable in the context menu (possible when only one variable of

the ST statement is undeclared).

750

33003101 07/2012

LD Editor

Changing the actual parameter assignment using the function input assistant
Process the following steps to change actual parameter assignment with the
function input assistant:
Step

Action

Select the FFB.

Open the function input assistant (see page 1125):


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.

33003101 07/2012

751

LD Editor

Step
3

Action
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 page 1114).
Assign an actual parameter to all formal parameters of the function block in this
way.
Example:

752

Confirm the entries using the OK button.


Result: The actual parameter is inserted and a syntax and semantics check
(see page 672) is performed.
Example:

33003101 07/2012

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 Values to Public Variables
Carry out the following steps to assign a value to a public variable:
Step

33003101 07/2012

Action

Place a function block in the section, see also Calling an FFB via the data
selection, page 735.

Open the data editor, see also Data Editor Access, page 302.

Select the Function Block tab.


Result:
The function block instances are displayed.

753

LD Editor

Step

Action

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.

Enter the desired value for the public variable in the Value box.

Reading public variables


See Assigning formal parameters to a pin, page 746

754

33003101 07/2012

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 nonoccupied inputs are assigned a 0 as standard.
Expanding a function
Carry out the following steps to expanding a function:
Step

Action

Select the function.

Position the mouse pointer on the bottom point to be expanded.

Press the left mouse button and drag the function to the required size.
Example:

Release the mouse key.


Result: The desired number of inputs/outputs have been added.
Example:

NOTE: Expanding a DFB can cause an automatic link with a line placed just under
the block.

33003101 07/2012

755

LD Editor

The following figure shows an example of LD program before a DFB expansion:

The following figure shows the program modification that occurs after a DFB
expansion:

Extending the DFB1 will automatically link PB1 to the new input IN3.

WARNING
UNINTENDED PROGRAM EXECUTION
Do not extend a FFB over an other one before adding manually the necessary line.
Failure to follow these instructions can result in death, serious injury, or
equipment damage.

756

33003101 07/2012

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 pin
FFB pins can be negated in the following ways:
z Select the pin to be negated and execute the menu command Negate Pin in the
shortcut menu (right-click).
or
z

33003101 07/2012

Launch the Inversion tool by clicking on the


negated.

icon, then click on the pin to be

757

LD Editor

EN and ENO Show and Hide


Introduction
With all FFBs, one EN input and one ENO output can be configured, see also Unity
Pro, Program Languages and Structure, Reference Manual in the Reference
manual.
EN and ENO show or hide
To show or hide EN and ENO, carry out the following steps:
Step

758

Action

Open the properties dialog box (see page 688) for the FFB.

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.

33003101 07/2012

LD Editor

Properties dialog box for elementary functions, procedures and sub-routine


blocks.
Calling the properties dialog box
see Displaying the properties, page 688
Structure of the properties dialog box
The properties dialog box consists of two tabs:
z FFB Properties
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 tab
Representation of the FFB Properties tab:

Elements of the FFB Properties tab:

33003101 07/2012

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.

759

LD Editor

Element

Description

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.

Comment tab
Representation of the tab Comment:

Elements of the Comment tab:

760

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.

33003101 07/2012

LD Editor

Properties dialog box for elementary and derived function blocks (FBs)
Calling the properties dialog box
see Displaying the properties, page 688
Structure of the properties dialog box
The properties dialog box consists of two tabs:
z FFB Properties
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 tab
Representation of the FFB Properties tab:

Elements of the FFB Properties tab:

33003101 07/2012

Element

Description

Instance

Specifies the name of the block instance. You can change this name
in the data editor, see also Managing of instances of data belonging
to the family of function blocks (EF), page 329.

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.

761

LD Editor

Element

Description

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.

Comment tab
Representation of the tab Comment:

Elements of the Comment tab:

762

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.

33003101 07/2012

LD Editor

22.7

Returning from a Subroutine or DFB

Overview
This section describes how to return from a subroutine or DFB to the LD
programming language.
What Is in This Section?
This section contains the following topics:
Topic

33003101 07/2012

Page

Returning from a subroutine or DFB

764

Return object properties dialog box

766

763

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 return object
You have the following options to select return objects:
Use the Edit New Return menu command.
z Use the Common Objects Return menu command from the shortcut menu.
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 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.

764

33003101 07/2012

LD Editor

Placing return objects:


Placing return objects:
Step
1

33003101 07/2012

Action
Create a subroutine (see page 444) or a DFB (see page 1187) in the LD
programming language.

Create the logic for the subroutine/DFB.

Select the return object.

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.
Example:

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.

765

LD Editor

Return object properties dialog box


Calling the properties dialog box
see Displaying the properties, page 688
Structure of the properties dialog box
Representation of the properties dialog box:

Elements of the properties dialog box:


Element

766

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.

33003101 07/2012

LD Editor

22.8

Jumps within the Current Section

Overview
This section describes jumps within the current LD section.
What Is in This Section?
This section contains the following topics:
Topic

33003101 07/2012

Page

Jumps within the current section

768

Jump object properties dialog box

770

767

LD Editor

Jumps within the current section


Introduction
Jump objects execute jumps to a jump target (see page 773) 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 jump object
You have the following options to select jump objects:
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.
Placing jump objects:
Placing jump objects:
Step

768

Action

Select the jump object.

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.

33003101 07/2012

LD Editor

Step
3

Action
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 jump target


Defining the jump target:
Step
1

Action
Open the properties dialog box (see page 688) for the jump object.
Result: The properties dialog box for the jump object is opened, see also Jump
object properties dialog box, page 770.
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 page 672) is performed.
Example of an unconditional jump:

Example of a conditional jump:

If the jump target has already been defined (see also Jump target
(see page 773)), the procedure ends here.
If the jump target has not yet been declared, continue with step 3.
3

33003101 07/2012

Specify the jump target, see also Jump target (see page 773).

769

LD Editor

Jump object properties dialog box


Calling the properties dialog box
see Displaying the properties, page 688
Structure of the properties dialog box
The properties dialog box consists of two tabs:
General
Enter the jump target of the jump (see page 768) in this tab.
z Comment
In this tab, a comment about the jump can be entered.
z

General tab
Representation of the General tab:

Elements of the General tab:

770

Element

Description

Jump Label

Enter the jump target in this text box, see also Definitions of jump
targets (jump labels), page 773.

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.

33003101 07/2012

LD Editor

Comment tab
Representation of the Comment tab:

Elements of the Comment tab:

33003101 07/2012

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.

771

LD Editor

22.9

Definition of the Jump Target (Jump Labels)

Overview
This section describes how to define jump targets in the LD programming language.
What Is in This Section?
This section contains the following topics:
Topic

772

Page

Definitions of jump targets (jump labels)

773

Jump label properties dialog box

775

33003101 07/2012

LD Editor

Definitions of jump targets (jump labels)


Introduction
Jump labels create a jump target for jumps (see page 768) 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 zudialog box.
Selecting the jump label
You have the following options to to select jump labels:
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.

33003101 07/2012

773

LD Editor

Placing jump objects


Placing jump objects
Step

Action

Select the jump label.

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.
Example:

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 Name


Position of the Name
Step

Action

1 To enter the name, open the properties dialog box (see page 688) for the jump label.
Result: The jump label properties dialog box is opened, see also Jump label
properties dialog box, page 775.
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 page 672) is
performed.
Example:

774

33003101 07/2012

LD Editor

Jump label properties dialog box


Calling the properties dialog box
see Displaying the properties, page 688
Structure of the properties dialog box
The properties dialog box consists of two tabs:
z General
Enter the name of the jump label (see page 774) 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:

33003101 07/2012

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.

775

LD Editor

Comment tab
Representation of the Comment tab:

Elements of the Comment tab:

776

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.

33003101 07/2012

LD Editor

22.10

Editing Links

Overview
Editing links in the LD programming language.
What Is in This Section?
This section contains the following topics:
Topic

33003101 07/2012

Page

Select links

778

Combining Links

780

Placing links

782

Editing links

793

777

LD Editor

Select links
Introduction
Links are connections between LD objects (contacts, coils, FFBs etc).
There are two types of links:
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.

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 page 548).

FFB links are represented with double line thickness to distinguish them from
Boolean links.
NOTE: A detailed description about links, see also section Links (see Unity Pro,
Program Languages and Structure, Reference Manual ) in the Reference manual.
Selecting links
Selecting links:

778

Type of
connection

Call via menu command

Call via
symbol

Call via key

Horizontal
connection
(see page 782)

Edit New Horizontal


Connection
or
Link Horizontal
Connection from the shortcut
menu

F7

Link tool mode


(see page 783)
(horizontal
connection)

Alt + F6

Cursor
symbol

33003101 07/2012

LD Editor

33003101 07/2012

Type of
connection

Call via menu command

Call via
symbol

Call via key

Vertical connection
(see page 784)

Edit New Vertical


Connection
or
Link Vertical connexion
from the shortcut menu

Shift + F7

FFB link
(see page 785)

Edit New Link

F6

Cursor
symbol

779

LD Editor

Combining Links
Boolean links
Horizontal and vertical Boolean links can be combined in any way.
Example:

Contacts and coils


Contacts and coils link automatically to existing horizontal or vertical links if no free
cells are found between them.
Example:

Crossing Boolean links


If two Boolean links cross each other they are automatically connected. Since
Boolean links may not cross each other there is no special label for them.
Example:

780

33003101 07/2012

LD Editor

Crossing FFB links


If two FFB links cross each other a connection is not made between them. Crossed
links are indicated by a "broken" link.
Example:

Crossing FFB links and Boolean links


If FFB links and Boolean links cross each other, a connection is not made between
them. Crossed links are indicated by a "broken" link.
Example:

33003101 07/2012

781

LD Editor

Placing links
Placing horizontal links
Process the following steps to place a horizontal link:
Step

Action

Activate the placement mode for horizontal links, see also Select links,
page 778.
Example:

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.
Example:

See also
z Combining Links, page 780
z Placing horizontal and vertical links with FBB links

using the mouse (see page 789)


using the keyboard (see page 791)
z Editing links, page 793

782

33003101 07/2012

LD Editor

Step
3

Action
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.

Placing horizontal links in link-tool mode


Process the following steps to place a horizontal link in link-tool mode:
Step

Action

Activate the link-tool mode, see also Select links, page 778.
Example:

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.
Example:

See also
z Combining Links, page 780
z Placing horizontal and vertical links with FBB links

using the mouse (see page 789)


using the keyboard (see page 791)
z Editing links, page 793

33003101 07/2012

783

LD Editor

Step
3

Action
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.

Placing vertical links


On the right side of the cells, there is space to create a vertical link to the cell below.
Process the following steps to place a vertical link:
Step

Action

Activate the placement mode for vertical links, see also Select links, page 778.
Example:

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.
Example:

See also
z Combining Links, page 780
z Placing horizontal and vertical links with FBB links

using the mouse (see page 789)


using the keyboard (see page 791)
z Editing links, page 793

784

33003101 07/2012

LD Editor

Step
3

Action
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.

Placing an FFB link with the mouse


Process the following steps to place an FFB link using the mouse:
Step

33003101 07/2012

Action

Activate the placement mode for FFB links. See also Select links, page 778.

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 .
Example:

785

LD Editor

Step
3

Action
Click the left mouse button on the start point and drag mouse pointer to the target
point of the link.
Example:

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.
Example:

See also
z Combining Links, page 780
z Editing links, page 793

786

33003101 07/2012

LD Editor

Placing an FFB link with the keyboard


Process the following steps to place an FFB link using the keyboard:
Step

33003101 07/2012

Action

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.

Activate the placement mode for horizontal links using F6. See also Select links,
page 778.

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.
Example:

787

LD Editor

Step
4

Action
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.
Example:

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.
Example:

See also
z Combining Links, page 780
z Editing links, page 793

788

33003101 07/2012

LD Editor

Placing horizontal and vertical links using FFB links with the mouse
The functions for creating FFB links can also be used to create horizontal and
vertical links between other objects (not FFBs). If an FFB link involves no input or
output, the FFB link is automatically resolved into a combination of horizontal and
vertical links. To do this, process the following steps:
Step

Action

Activate the placement mode for FFB links. See also Select links, page 778.

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 .
Example:

Click the left mouse button on the start point and drag mouse pointer to the target
point of the link.
Example:

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.


33003101 07/2012

789

LD Editor

Step
4

Action
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.
Example:

See also
z Combining Links, page 780
z Editing links, page 793

790

33003101 07/2012

LD Editor

Placing horizontal and vertical links using FFB links with the keyboard
The functions for creating FFB links can also be used to create horizontal and
vertical links between other objects (not FFBs). If an FFB link involves no input or
output, the FFB link is automatically resolved into a combination of horizontal and
vertical links. To do this, process the following steps:
Step

33003101 07/2012

Action

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.

Activate the placement mode for horizontal links using F6. See also Select links,
page 778.

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.
Example:

791

LD Editor

Step
4

Action
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.
Example:

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.
Example:

See also
z Combining Links, page 780
z Editing links, page 793

792

33003101 07/2012

LD Editor

Editing links
Editing Boolean links
Horizontal and vertical Boolean links contain one or more independent segments.
When cutting (see page 684), deleting (see page 684), copying (see page 685) and
moving (see page 686) horizontal and vertical links, the action is executed for the
explicitly selected (see page 681) segment.
Editing FFB links
FFB links comprise one or more segments connected to one another.
When cutting (see page 684), deleting (see page 684), copying (see page 685) and
moving (see page 686) 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 connections
Modifying connections:
Step
1

33003101 07/2012

Action
Select the link and place the mouse pointer on the connection to be modified.
Example:

793

LD Editor

Step

794

Action

Left-click the connection to be modified and drag the mouse pointer to the new
connection.
Example:

Left-click the new target position.


Result: The link route is changed.
Example:

33003101 07/2012

LD Editor

Creating sizing handles


The creation of angles in FFB links can only be made using sizing handles. If no
sizing handles are available they can be created. Process the following steps to
create sizing handles in FFB links:
Step

33003101 07/2012

Action

Select the FFB link.

Press the Ctrl key and place the mouse pointer at the target position.
Note: The correct position is indicated by the mouse pointer symbol.
Example:

Left-click the target position.


Result:
The sizing handle is created.

795

LD Editor

Moving FFB links vertically/horizontally


Process the following procedures to move an FFB link segment vertically or
horizontally:
Step

796

Action

Select the FFB link.

Place the mouse pointer on the item to be moved.


Note: The correct position is indicated by the mouse pointer symbol.
Example:

Click the left mouse button and drag the segment to the target position.

Release the mouse button.


Result:
The change is made.

33003101 07/2012

LD Editor

Creating angles in FFB links


Process the following steps to create angles in FFB links:
Step

33003101 07/2012

Action

Select the FFB link.

Place the mouse pointer on the source position.


Note: The correct position is indicated by the mouse pointer symbol.
Example:

Click the left mouse button and drag the source point to the target position.

Release the mouse button.


Result:
The change is made.

797

LD Editor

Determining the optimum link route


Determining the optimum link route:
Step

798

Action

Select the link.


Example:

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.
Example:

33003101 07/2012

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 object
You have the following options to select text objects:
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

33003101 07/2012

cursor symbol.

799

LD Editor

Placing text objects:


Placing text objects:
Step

Action

Select the text object.

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.
Example:

Enter the comment.

Confirm the text entered with:


z Clicking with the mouse outside of the text object
or
z Pressing the Enter key.

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.

800

33003101 07/2012

LD Editor

22.12

Online functions

Online Functions
Online Functions
The description of online functions is found in chapter Debugging in Ladder
Language, page 1351.

33003101 07/2012

801

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, page 1701.

802

33003101 07/2012

Unity Pro
SFC Editor
33003101 07/2012

SFC Editor

23
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 (see Unity Pro, Program Languages and
Structure, Reference Manual ) chapter in the Reference manual.
What Is in This Chapter?
This chapter contains the following sections:
Section

33003101 07/2012

Topic

Page

23.1

Creating a program with the SFC programming language

804

23.2

General Information about Steps

838

23.3

Editing "normal" steps

842

23.4

Editing macro steps

855

23.5

Editing input steps

866

23.6

Editing Output Steps

873

23.7

Editing actions

879

23.8

Editing Transitions

890

23.9

Editing Jumps

902

23.10

Editing Branches and Joints

909

23.11

Inserting Alternative Strings and Simultaneous Strings

918

23.12

Inserting Step-Transitions and Transition-Step-Sequences

923

23.13

Editing Links

928

23.14

Entering Comments

938

23.15

Online functions

940

23.16

Export/Import

941

803

SFC Editor

23.1

Creating a program with the SFC programming


language

Overview
This section describes how to create a program in the SFC programming language.
What Is in This Section?
This section contains the following topics:
Topic

804

Page

Structure of an SFC Program (Sequential Function Chart)

805

Creating an SFC Program

808

Syntax and Semantics Check during Programming

809

Navigating with the keyboard

811

Selecting Objects

812

Undo and Redo Changes

814

Deleting, cutting, copying, pasting and moving objects

815

Inserting Rows and Columns

821

Deleting Rows and Columns

823

Displaying the object properties

825

Initialize Search

826

Initialize Animation Table

827

Refining steps, macro steps and transitions

828

Go to

830

Go to dialog

832

List and display jumps

836

Go to Step

837

33003101 07/2012

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 SFC section
Zero or more actions belong to every step. A transition condition belongs to every
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.
Properties of an SFC program
Properties of an SFC program:
z SFC section always have a grid background.
z Because of performance reasons, it is strongly recommended to create less than
100 SFC sections in a project (makro section are not counted).
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 Connection rules (see Unity Pro, Program Languages and
Structure, Reference Manual ) 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) 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) area.
z A maximum of 100 actions are permitted using the S qualifier per SFC Section.
z A maximum of 20 actions can be assigned to each SFC step.

33003101 07/2012

805

SFC Editor
z

z
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.
A syntax and semantics check (see page 809) is performed immediately after the
statement is entered. The result of this check is displayed in colored text.
Syntactically or semantically incorrect sections can be saved.

SFC program objects


The objects of the programming language SFC (Sequential Function Chart) help to
divide a section into a number of:
z Step (see page 842)
z Macro Step (see page 855) (embedded sub-step sequence)
z Transitions (see page 890) (transition conditions)
z Jump (see page 902)
z Alternative Sequence (see page 909)
z Parallel Sequence (see page 909)
These objects can be linked with each other using links (see page 928).
Comments for the logic of the program can be added using text objects
(see page 938).
Edit and view functions
Edit and view functions of the SFC editor:
z Selecting objects (see page 812)
z Deleting objects (see page 815)
z Cutting (see page 816), copying (see page 817) and pasting (see page 818)
objects
z Moving (see page 819) objects
z Undo (see page 814) and Redo (see page 814)
z Using bookmarks (see page 536)
z Finding and replacing (see page 1167) variables
Online functions
Online functions of the SFC editor:
z Setting breakpoints (see page 1387)
z Controlling (see page 1390) SFC sequences

806

33003101 07/2012

SFC Editor

SFC save and restore


The SFC_RESTORE function block is used to restart all SFC charts of an application
with a given set of active steps at a state, saved before a CPU failure.
In a recovery situation it is possible to set a group of steps that represent a given
state in the process and to continue at that point.
(See SFC_RESTORE: SFC Save and Restore (see Unity Pro, System, Block
Library) in the System Library).

33003101 07/2012

807

SFC Editor

Creating an SFC Program


Creating an SFC program
Carry out the following procedures to create an SFC program:
Step

808

Action

Creating an SFC Section. (see page 431)

Place the desired SFC element in the section and define its properties:
z Step (see page 838)
z Macro step (see page 855)
z Transitions (see page 890)
z Jumps (see page 902)
z Alternative strings (see page 909)
z Simultaneous strings (see page 909)
z Links (see page 928)

Create the last transition of the string and the first step of the string using
graphical links or a jump link (cyclical string processing).

33003101 07/2012

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 (only
Online)

Minimum supervision time (see Unity Pro, Program


Languages and Structure, Reference Manual ) for
the step below limit

Filled magenta
step symbol (only
Online)

Maximum supervision time (see Unity Pro, Program


Languages and Structure, Reference Manual ) for
the step exceeded

Black transition
symbol

Error free transition variable

Black transition
symbol

Error free transition section

Blue transition
symbol

Red wavy line

33003101 07/2012

Example

Possible errors are:


z Input pin not connected
z Output pin not connected

Assigned transition variable not declared

809

SFC Editor

Color

Description

Black jump symbol

Error free jump

Blue jump symbol

Example

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.

810

33003101 07/2012

SFC Editor

Navigating with the keyboard


Using the keyboard
The following keys and key combinations are provided for navigation:

33003101 07/2012

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+Cursor left

Moves the cursor one cell left

Ctrl+Cursor right

Moves the cursor one cell right

Ctrl+Cursor up

Moves the cursor one cell up

Ctrl+Cursor 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 to the right (the position of the cursor is not
affected by this function)

Ctrl+Alt+Page Down

Displays the previous section (including via the View Previous


Sectionmenu).

Ctrl+Alt+Page Down

Displays the next section (including via the View Next


Sectionmenu).

Spacebar

Selects the objects in the cell where the cursor is currently


positioned.

Alt+Enter

Opens the properties dialog box for the selected object.

811

SFC Editor

Selecting Objects
Select and Placement Mode
Selecting objects occurs in select mode.
Select mode can be activated by:
Using the Edit Select Mode menu command

z
z
z

Using the
symbol
or
Pressing the Esc key

The

cursor symbol indicates that select mode is active.

Selecting an 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, page 811.
2. Press the spacebar.

Selecting Several Objects


Using the mouse

Using the keyboard

1. Click the left mouse button and keep it


pressed.
2. Drag the mouse across the objects you
want to select.
or
1.
2.
3.
4.

812

1. Move the cursor to the first object to be


selected, see also Navigating with the
keyboard, page 811.
2. Press the spacebar.
3. Move the cursor to the next object to be
selected
Left-click the first object you want to select.
4. Press the Ctrl+spacebar key
Press the Ctrl key and keep it pressed.
combination.
Left-click the next object you want to
5. Repeat these steps until the desired
select.
objects are selected.
Repeat these steps until the desired
objects are selected.

33003101 07/2012

SFC Editor

Selecting by Rows
Using the mouse

Using the keyboard

Selecting the contents of a row:


1. Left-click the number of the row you want to select in the vertical
ruler.

Selecting the contents of several rows:


1. Left-click the number of the first row you want to select in the
vertical ruler.
2. Press the Shift key and keep it pressed.
3. Left-click the number of the last row you want to select in the
vertical ruler.
Note: Pressing the Shift key makes it possible to combine this
procedure with the procedure for selecting by columns.

Selecting by 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
vertical ruler.

Selecting the contents of several columns:


1. Left-click the number of the first column you want to select in the
vertical ruler.
2. Press the Shift key and keep it pressed.
3. Left-click the number of the last column you want to select in the
vertical ruler.
Note: Pressing the Shift key makes it possible to combine this
procedure with the procedure for selecting by rows.

Selecting All (Entire Contents of the Section)


Using the mouse

Using the keyboard

Use the Edit Select All menu command.

Press the Ctrl+A key combination.

Using the mouse

Using the keyboard

Left-click an empty space in the section.

1. Move the cursor to an empty space in the


section, see also Navigating with the
keyboard, page 811.
2. Press the spacebar.

Deselecting Objects

33003101 07/2012

813

SFC Editor

Undo and Redo Changes


Undo changes
Undo the last changes in the following ways:
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.

814

33003101 07/2012

SFC Editor

Deleting, cutting, copying, pasting and moving objects


Deleting objects
Deleting objects:
Using the mouse

Using the keyboard

1. Select (see page 812) the object to be


deleted.
2. Use the Edit Delete menu command.

1. Select (see page 812) the object to be


deleted.
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 sections remain until they are explicitly deleted.)
z If a transition section is assigned to a transition, (in offline mode) you are asked to confirm
whether this 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 to be deleted with step variables that will be used in the program
(including on the operating screen or in animation tables),
z a message will appear in the online mode that the step variables are used in the
program and can only be deleted in the offline mode. If the question whether the
operation should be continued is confirmed with Yes, the mode will change to offline
and the object will be deleted.. No will terminate the operation.
z a message will appear in the offline mode that the step variables are used in the
program. If the question whether the operation should be continued is confirmed with
Yes, the object will be deleted.. WithNo the operation will be terminated.
z When deleting a macro step, 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 the section, select the lines or
columns in the line box, see also Deleting Rows and Columns, page 823.

33003101 07/2012

815

SFC Editor

Cutting objects
Cutting objects:
Using the mouse

Using the keyboard

1. Select (see page 812) the object to be cut. 1. Select (see page 812) the object to be
2. Use the Edit Cut menu command.
cut.
or
2. Press the Ctrl+X key combination.
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 this 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 to be deleted with step variables that will be used in the program
(including on the operating screen or in animation tables),
z a message will appear in the offline mode that the step variables are used in the
program. If the question whether the operation should be continued is confirmed with
Yes, the object will be deleted.. WithNo the operation will be terminated.
z an additional message is displayed in the online mode that Create project can only be
performed in the offline mode.
z When deleting a macro step, 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 page 818) in any other position (also in another
SFC section).

816

33003101 07/2012

SFC Editor

Copying objects to the clipboard


Copying objects to the clipboard:
Using the mouse

Using the keyboard

1. Select (see page 812) the object to be


copied.
2. Use the Edit Copy menu command.
or
Use the Copy menu command from the
shortcut menu (right-click).
or

1. Select (see page 812) the object to be


copied.
2. Press the Ctrl+C key combination.

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 page 818) in any other position (also in
another SFC section).

33003101 07/2012

817

SFC Editor

Pasting objects from the clipboard


Pasting objects from the clipboard:
Using the mouse

Using the keyboard

1. Use the menu command Edit Insert.


or
Use the menu command Paste in the
shortcut menu (right mouse button).
or

1. Press the Ctrl+V key combination.


2. Move the cursor to the target position
using the arrow keys.
3. Press Enter.

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 a project. That means if a reference
is already available for a transition during insertion, 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.

818

33003101 07/2012

SFC Editor

Moving objects (Drag & Drop)


Moving objects (Drag & Drop):
Using the mouse

Using the keyboard

1. Select (see page 812) the object to be


moved.
2. Position the mouse pointer on the
selected object. (on one of the selected
objects if several are selected).
Result: The mouse pointer changes its

1. Position (see page 812) the cursor on the


object to be moved.
2. Press the spacebar.
3. Press the Shift key and keep it pressed.
4. Move the object to the target position
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.

Note: The move operation is also possible across sections between different opened SFC
sections.
Note: When objects are moved beyond the visible window of the editor window, automatic
scrolling of the window will not begin until you reach the edge of the window with the mouse
pointer, not as soon as the objects are moved beyond the edge.

33003101 07/2012

819

SFC Editor

Copying objects by moving (Drag & Drop)


Copying objects via drag & drop:
Using the mouse

Using the
keyboard

1. Select (see page 812) 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 section during insertion, 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.

820

33003101 07/2012

SFC Editor

Inserting Rows and Columns


Rules for Inserting Rows
The following rules apply when inserting rows:
z The total number of rows in an SFC section cannot be changed.
However, the objects of an SFC section can be moved downwards by rows within
the available section and therefore empty rows can be inserted into the string.
z The same number of rows is inserted as selected in the vertical ruler.
z As many rows can be inserted as there are empty rows at the end of the section.
z The new rows are inserted above the first selected row (i.e. all objects of the
selected rows are moved down).
z When rows are inserted within existing links, these links are kept and are
adjusted to the new position of the objects.
Inserting Rows
Step

Action

Select (see page 813) the desired number of rows in the vertical ruler (click the
row numbers).

Use the Insert cells menu command from the shortcut menu of the vertical ruler
or the Edit Row operation Insert cells command.
Result: The number of selected rows is inserted above the first selected row.

Rules for Inserting Columns


The following rules apply when inserting columns:
The total number of columns in an SFC section cannot be changed.
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 horizontal ruler.
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.
z

33003101 07/2012

821

SFC Editor

Inserting Columns
Step

822

Action

Select (see page 813) the desired number of columns in the horizontal ruler
(click the row numbers).

Use the Insert cells menu command from the shortcut menu of the horizontal
ruler or the Edit Row operation Insert cells command.
Result: The number of selected columns is inserted in front of the first selected
column.

33003101 07/2012

SFC Editor

Deleting Rows and Columns


Rules for Deleting Rows
The following rules apply when deleting rows:
z The total number of rows in an SFC section cannot be changed.
However, the objects of an SFC section can be deleted by rows and the objects
of the following rows can be moved up.
z The same number of rows are deleted as are selected in the vertical ruler.
z The objects of the selected row(s) are deleted and the objects of the following
rows are moved up by the respective number of rows.
z If rows are deleted within existing links, these links are kept and are adjusted to
the new position of the objects.
Deleting Rows
Step
1
2

Action
Select (see page 813) the desired number of rows in the vertical ruler (click the
row numbers).
You have the following options to delete the selected rows:
z Select the menu command Move and delete cells in the rows shortcut menu,
z execute the command Edit Vertical ruler Move and delete cells,

or
z Press the Del key.

Result: The selected number of rows is deleted.

Rules for Deleting Columns


The following rules apply when deleting columns:
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 rows can be to the left.
z The same number of columns are deleted as are selected in the horizontal ruler.
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.
z

33003101 07/2012

823

SFC Editor

Deleting Columns
Step

Action

Select (see page 813) the desired number of columns in the horizontal ruler
(click the row numbers).

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 Vertical ruler Move and delete cells,
or
z Press the Del key.
Result: The selected number of columns is deleted.

824

33003101 07/2012

SFC Editor

Displaying the object properties


Displaying the object properties
You have the following options to display the object properties dialog box:
Double-click the object.
z Select (see page 812) the object and use the Edit Properties... dialog box..
z Select (see page 812) the object and use the Properties...command.from the
shortcut menu.
z Select (see page 812) the object and then press the Alt+Enter key combination.
z

When the properties dialog box is called without an object being selected, the
section properties dialog box (see page 434) is opened.
If several objects are selected, the commands do not work.
View data properties
You have the following options to display the section properties dialog box
(see page 1128):
z using the data editor (see page 299)
a. Selecting one or several lines in a list editor
b. Using the shortcut menu select the Propertiescommand.
z

33003101 07/2012

via the SFC section


a. Selecting one or several transitions in the SFC section.
b. From the context menu select the command Data properties or press Ctrl +
Enter.

825

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 window.
Selecting the search text
Process the following steps to select the search text:
Step

826

Action

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.)

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 CrossReferences window.

33003101 07/2012

SFC Editor

Initialize Animation Table


Introduction
The Initialize Animation Table transfers the selected variables to the Animation
table (see page 1433).
Selecting the variables
Process the following steps to select variables:
Step

Action

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.)

Use the Services Initialize Animation table menu command.


or
Select the menu command Animation Table from the sections context menu.
or
Press the Ctrl+T key combination.
Result: The variable(s) is/are transferred to the Animation table
(see page 1433).

Initialize Animation Table


Using Initialize Animation Table (Ctrl+T) you create an animation table with a
default name e.g. Table[SFC Editor - Mixer : [MAST]]. You can rename
the table.
All the variables you selected are listed in the animation table.
Selecting a new set of variables and using Initialize Animation Table again, all new
variables are added to this animation table (if you did not rename it).
Initialize New Animation Table
Using Initialize New Animation Table (Ctrl+Shift+T) you create a new animation
table with an indexed default name e.g. Table[SFC Editor Mixer : [MAST]1]. You can rename the table.
All the variables you selected are listed in the table.
But if you click anywhere in the section and do not select any variable, you create a
new empty animation table.
Every time you use Initialize New Animation Table you create a new animation
table.
33003101 07/2012

827

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

Select the step.

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.
Example:

828

Select the desired action section.


Result: The action section is opened.

33003101 07/2012

SFC Editor

Refining macro steps


Process the following steps to refine macro steps:
Step

Action

Select the macro step.

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.

Refining transitions
Process the following steps to refine transitions:
Step

Action

Select the transition.

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.

33003101 07/2012

829

SFC Editor

Go to
Introduction
The Go to function is used to jump to:
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.
z

Open the dialog


The following options are available to open theGo to dialog 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 Position
Go to a certain location in the current section by carrying out the following steps:
Step

Action

Open (see page 830) the Go to dialog box.

Select the Position tab.

Enter the line and/or column number.

Confirm the entry using the command button Go to.


Result: The desired position is displayed.

Jump to Bookmark
Go to a certain bookmark in the current section by carrying out the following steps:
Step
1

830

Action
Open (see page 830) the Go to dialog box.

Choose theBookmark tab.

Select a bookmark in the list.

Double click on the selected bookmark or press the Go to command button.


Result: The bookmark is shown and marked as the current bookmark
(see page 536).

33003101 07/2012

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
1

Action
Open (see page 830) the Go to dialog box.

Select the Step tab.

Select a step or a macro step in the list.

Double click on the selected step or macro step or press the Go to command
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

33003101 07/2012

Action

Open (see page 830) the Go to dialog box.

Select the Jump tab.

Select a jump in the list.

Double click on the selected jump or press the Go to command button.


Result: The desired jump is displayed.

831

SFC Editor

Go to dialog
Call the dialog box:
Refer to the Opening the dialog (see page 830)
Call the dialog box
The Go to dialog box is made up of three tabs:
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:
z

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.

832

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 page 830).

Close

Use this button to close the dialog.

Help

Use this button to call up the dialog help.

33003101 07/2012

SFC Editor

Register tab Bookmarks


Representation of theBookmark tab:

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.

33003101 07/2012

Bookmark:

Select the bookmark to be displayed from this list box.

Prev

If a current bookmark (see page 536) 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 page 536) 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 page 830).

Close

Use this button to close the dialog.

Help

Use this button to call up the dialog help.

833

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.

834

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 page 831) using the
button.

Close

Use this button to close the dialog.

Help

Use this button to call up the dialog help.

33003101 07/2012

SFC Editor

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.

33003101 07/2012

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 page 831).

Close

Use this button to close the dialog.

Help

Use this button to call up the dialog help.

835

SFC Editor

List and display jumps


Introduction
The Display jumps function is used to list all jumps referencing this step and display
a selected position of the current section.
Open the dialog
To open the dialog, select the jump and execute the Display jumps command in the
context menu of the jump.
List in the dialog
Since the jumps do not have their own names, the dialog lists the positions of the
jumps and names of their preceding steps.
Display a selected position
Follow the steps below to display a selected position in the current section.
Step

836

Action

Open the Display jumps dialog box:

Select a position from the list.

Confirm the selection using the command button Go to.


Result: The desired position is displayed.
Note: Instead of selecting the position and clicking on the button, you can also
double-click on the position.

33003101 07/2012

SFC Editor

Go to Step
Introduction
The Go to Stepfunction displays the referenced step of a jump.
Display the referenced step
Perform the steps below to display the referenced step of a jump.
Step

33003101 07/2012

Action

Select a jump,

Open the context menu (right-click).

Click on Go to Step.
Result: The referenced step is displayed.

837

SFC Editor

23.2

General Information about Steps

Overview
This section provides general information about using steps in the SFC
programming language.
What Is in This Section?
This section contains the following topics:
Topic

838

Page

Selecting steps

839

Placing steps

841

33003101 07/2012

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


command

Call via
symbol

Call via
keyboard

"Normal" step A step becomes active, when the


(see page 843) upstream transition is satisfied,
and is normally inactive when the
downstream is satisfied.
Zero or more actions belong to
every step. Steps without action
are known as waiting steps.
See also section Step (see Unity
Pro, Program Languages and
Structure, Reference Manual ) in
the Reference manual.

Edit New Step


or
Step menu command
from the shortcut menu

F3

Initial Step
The initial status of a sequence is
(see page 844) characterized by the initial step,
which is active when initializing
the project containing the SFC
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 (see Unity
Pro, Program Languages and
Structure, Reference Manual ) in
the Reference manual.

Edit New Step


or
Step menu command
from the shortcut menu

F3

33003101 07/2012

Cursor
symbol

839

SFC Editor

Step type

Description

Call via menu


command

Call via
symbol

Call via
keyboard

Cursor
symbol

Macro Step
Macro steps are used to call
(see page 856) macro sections and therefore the
hierarchical structure of
sequence control.
Macro sections 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 macro sections check
box.
See also section Macro steps
and macro sections (see Unity
Pro, Program Languages and
Structure, Reference Manual ) in
the Reference manual.

Edit New Macro


Step
or
Macro Step menu
command from the
shortcut menu

InStep
Every macro section begins with
(see page 867) an InStep.
InSteps are created
automatically in macro sections
by the SFC editor and cannot be
deleted, copied or inserted
manually.
See also section InStep
(see Unity Pro, Program
Languages and Structure,
Reference Manual ) in the
Reference manual.

OutStep
Every macro section ends with
(see page 874) an OutStep.
OutSteps are created
automatically in macro sections
by the SFC editor and cannot be
deleted, copied or inserted
manually.
See also section OutStep
(see Unity Pro, Program
Languages and Structure,
Reference Manual ) in the
Reference manual.

840

Ctrl+F3

33003101 07/2012

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 (see Unity Pro, Program
Languages and Structure, Reference Manual ) 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

Select the desired step, see also Selecting steps, page 839.

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.

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.

33003101 07/2012

841

SFC Editor

23.3

Editing "normal" steps

Overview
This section describes how to edit "normal" steps in the SFC programming
language.
What Is in This Section?
This section contains the following topics:
Topic

842

Page

Defining the properties of steps

843

Steps properties dialog box

850

33003101 07/2012

SFC Editor

Defining the properties of steps


Introduction
The following can be defined for steps:
z the step name (see page 843)
z whether the step is an initial step (see page 844)
z the supervision times and the delay time
z as a literal (see page 845)
z as a SFCSTEP_TIMES variable (see page 846)
z
z

the actions assigned (see page 880)


a comment (see page 849)

To find a specific jump in the current section use the Go to dialog box.
Defining the step name
Defining the step name:
Step

33003101 07/2012

Action

Open the properties dialog box (see page 825) for the step.
Result: The step properties dialog box (see page 850) is opened.
Example:

In order to change the name of the step, enter a step name in the Step Name
text box, see also section Step names (see Unity Pro, Program Languages and
Structure, Reference Manual ) in the Reference manual.

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 page 809) is performed.

843

SFC Editor

Defining an initial step


Defining an initial step:
Step

844

Action

Open the properties dialog box (see page 825) for the step.
Result: The step properties dialog box (see page 850) is opened.

In order to define an initial step, activate the Initial Step check box, see also
section Step types (see Unity Pro, Program Languages and Structure,
Reference Manual ) in the Reference manual.
Example:

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 page 809) is performed.
Example:

33003101 07/2012

SFC Editor

Defining the supervision time/delay time as a literal


Defining the supervision time/delay time as a literal:
Step

33003101 07/2012

Action

Open the properties dialog box (see page 825) for the step.
Result: The step properties dialog box (see page 850) is opened.

In the Supervision times and delay time area, activate the Literal option
button if it isnt already activated.

Enter a value for the minimum supervision time, the maximum supervision time
and the delay time, see also section Step times (see Unity Pro, Program
Languages and Structure, Reference Manual ) in the Reference manual.
Example:

Confirm the entries with OK.


Result: The step times are enabled, the properties dialog box is closed, and a
syntax and semantics check (see page 809) is performed.

845

SFC Editor

Defining the supervision time/delay time as an SFCSTEP_TIMES variable


Defining the supervision time/delay time as an SFCSTEP_TIMES variable:
Step

846

Action

Open the properties dialog box (see page 825) for the step.
Result: The step properties dialog box (see page 850) is opened.

In the Supervision times and delay time area, activate the


SFCSTEP_TIMES variable option button if it isnt already activated.
Example:

33003101 07/2012

SFC Editor

Step
3

Action
In the data selection box (see page 1889), specify a variable of the
SFCSTEP_TIMES (see Unity Pro, Program Languages and
Structure, Reference Manual ) data type.
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 page 1114) and confirm the selected variables there with OK.
Example:

33003101 07/2012

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 page 809) is
performed.
If the variable has already been declared (see also Derived variable declaration
(see page 342)), the procedure ends here.
If the SFCSTEP_TIMES variable has not yet been declared, process the
following steps.

847

SFC Editor

Step

Action

Declare a derived variable of the SFCSTEP_TIMES data type, see also Derived
variable declaration (see page 342).
Example:

Enter a value for the minimum supervision time, the maximum supervision time
and the delay time, see also section Step times (see Unity Pro, Program
Languages and Structure, Reference Manual ) in the Reference manual.
Example:

Result: The SFCSTEP_TIMES variable is declared and the step frame is


displayed in black.

848

33003101 07/2012

SFC Editor

Enter a comment
Enter a comment:
Step

33003101 07/2012

Action

Open the properties dialog box (see page 825) for the step.

Select the Comment tab and enter a step comment.

Confirm the comment with OK.


Result: The comment is accepted and the properties dialog box is closed.

849

SFC Editor

Steps properties dialog box


Calling the properties dialog box
see Opening the properties dialog box (see page 825)
Structure of the properties dialog box
The steps properties dialog box consists of three tabs:
General
In this tab you can define:
z the step name (see page 843)
z whether it is an initial step (see page 844)
z the step supervision times and delay time as a variable (see page 846) or
literal (see page 845)

Actions
In this tab you can define:
z the actions assigned to the step as an action variable (see page 883) or as an
action section (see page 884)
z the qualifier (see page 885) allocated to the action
z the time period for the qualifier (see page 885)
z the execution order (see page 887) of the actions

Comment
In this tab, you can enter a comment (see page 849) about the step.

General tab
Representation of the General tab:

850

33003101 07/2012

SFC Editor

Elements of the General tab:

33003101 07/2012

Element

Description

Step Name

Enter the step name (see page 843) in this text box.

Initial Step

When this check box is activated, the current step becomes an initial
step (see page 844).

Supervision times
and delay time

Define the step supervision times and delay time in this area, see also
section Step times (see Unity Pro, Program Languages and Structure,
Reference Manual ) 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 page 846) of the
SFCSTEP_TIME data type in the Name of SFCSTEP_TIMES
typed variable data selection box (see page 1889), see also
section Step times (see Unity Pro, Program Languages and
Structure, Reference Manual ) in the Reference manual.
z Literals
When you activate this option button, you can enter the step
supervision and delay times as literals (see page 845), see also
section Step times (see Unity Pro, Program Languages and
Structure, Reference Manual ) in the Reference manual.
z Maximum
Enter the maximum supervision time for the current step in this
text box.
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.

851

SFC Editor

Actions tab
Representation of the register tab Actions:

Elements of the Actions tab:

852

Element

Description

Qualifier

Select the qualifier (see page 885) for the current action from this list
box, see also section Qualifiers (see Unity Pro, Program Languages
and Structure, Reference Manual ) in the Reference manual.

Time

Define the time period for the qualifiers (see page 885) 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 page 1889).

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 page 883) in the data selection box
(see page 1889).
z Section
When you activate this check box, you can enter the action as an
action section (see page 884) in the list box.

Action list box

All actions of the current step are displayed in this list box.

33003101 07/2012

SFC Editor

Element

Description

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.

33003101 07/2012

Init Search for


selected variable

This command button is only available when an action variable is


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 the Cross-references 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 page 882).

New action

Use this command button to insert the new action (see page 880) into
the action list box.

Delete action

Use this command button to delete the selected action in the action list
box. (see page 887)
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 Changing the execution order of
actions (see page 887).

Move down

Use this command button to move the selected actions in the action
list box one position down, see also Changing the execution order of
actions (see page 887).

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.

853

SFC Editor

Comment tab
Representation of the Comment tab:

Elements of the Comment tab:

854

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.

33003101 07/2012

SFC Editor

23.4

Editing macro steps

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 Is in This Section?
This section contains the following topics:
Topic

33003101 07/2012

Page

Defining the properties of macro steps

856

Macro Steps Properties Dialog Box

863

855

SFC Editor

Defining the properties of macro steps


Introduction
The following can be defined for macro steps:
the macro step name (see page 856)
z the logic of the macro section (see page 857)
z the supervision times and the delay time
z as a literal (see page 858)
z as a SFCSTEP_TIMES variable (see page 859)
z

a comment (see page 862)

Defining the macro step name


Defining the macro step name:
Step

856

Action

Open the properties dialog box (see page 825) for the macro step.
Result: The macro step properties dialog box is opened, see also Macro Steps
Properties Dialog Box, page 863.
Example:

In order to change the name of the step, enter a name in the Step Name text
box, see also section Macro step names (see Unity Pro, Program Languages
and Structure, Reference Manual ) in the Reference manual.

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 page 809) is performed.

33003101 07/2012

SFC Editor

Editing the macro section


Editing the macro section:
Step

33003101 07/2012

Action

Open the properties dialog box (see page 825) 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.
Example:

Create the macro section logic, see also section Macro sections (see Unity Pro,
Program Languages and Structure, Reference Manual ) in the Reference
manual.

857

SFC Editor

Defining the supervision time/delay time as a literal


Defining the supervision time/delay time as a literal:
Step

858

Action

Open the properties dialog box (see page 825) for the macro step.
Result: The macro step properties dialog box is opened, see also Macro Steps
Properties Dialog Box, page 863.

In the Supervision times and delay time area, activate the Literal option
button if it isnt already activated.

Enter a value for the minimum supervision time, the maximum supervision time
and the delay time, see also section Step times (see Unity Pro, Program
Languages and Structure, Reference Manual ) in the Reference manual.
Example:

Confirm the entries with OK.


Result: The step times are enabled, the properties dialog box is closed, and a
syntax and semantics check (see page 809) is performed.

33003101 07/2012

SFC Editor

Defining the supervision/delay time as an SFCSTEP_TIMES variable.


Defining the supervision time/delay time as an SFCSTEP_TIMES variable:
Step

33003101 07/2012

Action

Open the properties dialog box (see page 825) for the macro step.
Result: The macro step properties dialog box is opened, see also Macro Steps
Properties Dialog Box, page 863.

In the Supervision times and delay time area, activate the SFCSTEP_TIMES
variable option button if it isnt already activated.
Example:

859

SFC Editor

Step
3

Action
In the data selection box (see page 1889), specify a variable of the
SFCSTEP_TIMES data type, see also section SFCSTEP_TIMES (see Unity Pro,
Program Languages and Structure, Reference Manual ) 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 page 1114) and confirm the selected variables there with OK.
Example:

860

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 page 809) is
performed.
If the variable has already been declared (see also Derived variable declaration
(see page 342)), the procedure ends here.
If the SFCSTEP_TIMES variable has not yet been declared, process the following
steps.

33003101 07/2012

SFC Editor

Step

Action

Declare a derived variable of the SFCSTEP_TIMES data type, see also Derived
variable declaration (see page 342).
Example:

Enter a value for the minimum supervision time, the maximum supervision time
and the delay time, see also section Step times (see Unity Pro, Program
Languages and Structure, Reference Manual ) in the Reference manual.
Example:

Result: The SFCSTEP_TIMES variable is declared and the macro step frame is
displayed in black.
33003101 07/2012

861

SFC Editor

Enter a comment
Enter a comment:
Step

862

Action

Open the properties dialog box (see page 825) for the macro step.

Select the Comment tab and enter a macro step comment.

Confirm the comment with OK.


Result: The comment is accepted and the properties dialog box is closed.

33003101 07/2012

SFC Editor

Macro Steps Properties Dialog Box


Calling the properties dialog box
see Displaying the object properties, page 825
Structure of the properties dialog box
The macro steps properties dialog box consists of 3 tabs:
z General
In this tab you can define:
z the macro step names (see page 856)
z the step supervision time and delay time as a variable (see page 859) or literal
(see page 858)
z

Comment
A comment (see page 862) about the step can be entered in this tab.

Tab General
Representation of the General tab:

33003101 07/2012

863

SFC Editor

Items of the General tab:

864

Item

Description

Step name

Enter the macro step name (see page 856) in this text box.

Edit

Use this command button to close the properties dialog box and open
the macro step section.

Supervision times
and delay time

You define the step supervision time and delay time in this range, see
also section Step times (see Unity Pro, Program Languages and
Structure, Reference Manual ) in the Reference manual.
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 page 1889) Name of SFCSTEP_TIMES typed
variables the Step supervision and delay times as variables
(see page 859) 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 page 858).
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.

33003101 07/2012

SFC Editor

Tab Comment
Representation of the Actions tab:

Items of the Comment tab:


Item

33003101 07/2012

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.

865

SFC Editor

23.5

Editing input steps

Overview
This section describes how to edit input steps in the SFC programming language.
What Is in This Section?
This section contains the following topics:
Topic

866

Page

Defining the properties of InSteps

867

InSteps properties dialog box

869

33003101 07/2012

SFC Editor

Defining the properties of InSteps


Introduction
The following can be defined for InSteps:
z the supervision times and the delay time (see page 867)
z the actions assigned (see page 880)
z a comment (see page 868)
Defining the supervision time/delay time
Defining the supervision time/delay time as a literal:
Step

33003101 07/2012

Action

Open the properties dialog box (see page 825) for the InStep.
Result: The properties dialog box for the step is opened, see also InSteps
properties dialog box, page 869.

Enter a value for the minimum supervision time, the maximum supervision time
and the delay time, see also section Step times (see Unity Pro, Program
Languages and Structure, Reference Manual ) in the Reference manual.
Example:

Confirm the entries with OK.


Result: The step times are enabled, the properties dialog box is closed, and a
syntax and semantics check (see page 809) is performed.

867

SFC Editor

Entering a comment
Entering a comment:
Step

868

Action

Open the properties dialog box (see page 825) for the InStep.

Select the Comment tab and enter a step comment.

Confirm the comment with OK.


Result: The comment is enabled and the properties dialog box is closed.

33003101 07/2012

SFC Editor

InSteps properties dialog box


Calling the properties dialog box
see Displaying the object properties, page 825
Structure of the properties dialog box
The InStep properties dialog box consists of three tabs:
z General
In this tab you can define:
z the step supervision time and the delay time (see page 867)
z

Actions
In this tab you can define:
z the actions assigned to the step as an action variable (see page 883) or as an
action section (see page 884)
z the qualifier (see page 885) allocated to the action
z the time period for the qualifier (see page 885)
z the execution order (see page 887) of the actions

Comment
In this tab, comment (see page 868) about the InStep can be entered.

General tab
Representation of the General tab:

33003101 07/2012

869

SFC Editor

Elements of the General tab:


Element

Description

Step Name

The names of InSteps cannot be changed, see also section Step


names (see Unity Pro, Program Languages and Structure, Reference
Manual ) in the Reference manual.

Supervision times
and delay time

Define the step supervision times and the delay time in this area, see
also section Step times (see Unity Pro, Program Languages and
Structure, Reference Manual ) in the Reference manual. For InSteps,
the steps times can be exclusively defined as literals (see page 845).
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.

Actions tab
Representation of the Actions tab:

870

33003101 07/2012

SFC Editor

Elements of the Actions tab:


Element

Description

Qualifier

Select the qualifier (see page 885) for the current action from this list
box, see also section Qualifiers (see Unity Pro, Program Languages
and Structure, Reference Manual ) in the Reference manual.

Time

Define the time period for the qualifiers (see page 885) 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 page 1889) 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 page 883) in the data selection box
(see page 1889).
z Section
When you activate this check box, you can enter the action as an
action section (see page 884) 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.

33003101 07/2012

Accept action

Use this command button to replace the definitions of the selected


action in the action list box with the modified definitions
(see page 882).

New action

Use this command button to insert the new action (see page 880) in
the action list box.

Delete action

Use this command button to delete the selected action in the action list
box. (see page 887)
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, page 887.

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, page 887.
871

SFC Editor

Element

Description

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:

872

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.

33003101 07/2012

SFC Editor

23.6

Editing Output Steps

Overview
This section describes how to edit output steps in the SFC programming language.
What Is in This Section?
This section contains the following topics:
Topic

33003101 07/2012

Page

Defining the properties of OutSteps

874

OutStep properties dialog box

876

873

SFC Editor

Defining the properties of OutSteps


Introduction
The following can be defined for OutSteps:
the delay time (see page 874)
z a comment (see page 875)
z

Defining the delay time


Defining the delay time as a literal:
Step

874

Action

Open the properties dialog box (see page 825) for the OutStep.
Result: The properties dialog box for the step is opened, see also OutStep
properties dialog box, page 876.

Enter the value of the delay time, see also section Step times (see Unity Pro,
Program Languages and Structure, Reference Manual ) in the Reference
manual.
Example:

Confirm the entries with OK.


Result: The delay time is enabled, the properties dialog box is closed, and a
syntax and semantics check (see page 809) is performed.

33003101 07/2012

SFC Editor

Entering a comment
Entering a comment:
Step

33003101 07/2012

Action

Open the properties dialog box (see page 825) for the OutStep.

Select the Comment tab and enter a step comment.

Confirm the comment with OK.


Result: The comment is enabled and the properties dialog box is closed.

875

SFC Editor

OutStep properties dialog box


Calling the properties dialog box
see Displaying the object properties, page 825
Structure of the properties dialog box
The OutStep properties dialog box consists of two tabs:
General
In this tab you can define:
z the delay time (see page 867)

Comment
In this tab, a comment (see page 868) about the OutStep can be entered.

General tab
Representation of the General tab:

876

33003101 07/2012

SFC Editor

Elements of the General tab:


Element

Description

Step Name

The names of OutSteps cannot be changed, see also section Step


names (see Unity Pro, Program Languages and Structure, Reference
Manual ) in the Reference manual.

Supervision
times and delay
time

Define the delay time in this area, see also section Step times (see Unity
Pro, Program Languages and Structure, Reference Manual ) in the
Reference manual. For OutSteps, the delay time can be exclusively
defined as literal (see page 874).
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:

33003101 07/2012

877

SFC Editor

Elements of the Comment tab:

878

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.

33003101 07/2012

SFC Editor

23.7

Editing actions

Overview
This section describes how to edit actions in the SFC programming language.
What Is in This Section?
This section contains the following topics:
Topic

33003101 07/2012

Page

Assigning actions to a step

880

Display modes for actions

888

879

SFC Editor

Assigning actions to a step


Introduction
Each step contains zero or a maximum of 20 actions, see also section Actions
(see Unity Pro, Program Languages and Structure, Reference Manual ) in the
Reference manual.
The following can be defined for actions:
z as action variable (see page 883), see also section Action variables (see Unity
Pro, Program Languages and Structure, Reference Manual ) in the Reference
manual
z as action section (see page 884) of the programming languages FBD, LD, IL or
ST, see also section Action sections (see Unity Pro, Program Languages and
Structure, Reference Manual ) in the Reference manual
z as Qualifiers (see page 885), see also section Qualifiers (see Unity Pro, Program
Languages and Structure, Reference Manual ) in the Reference manual
z the order (see page 887) in which the defined actions should be processed
Defining a new action
Defining a new action:
Step

880

Action

Open the properties dialog box (see page 825) for the step.
Result: The step properties dialog box is opened, see also Steps properties
dialog box, page 850.

Select the Actions tab.


Result: The dialog box for defining actions is opened.
Example:

33003101 07/2012

SFC Editor

Step

33003101 07/2012

Action

In the Action area, define an action as


z action variable (see page 883)
or
z action section (see page 884)

If necessary, define an Qualifier in the Qualifier symbol (see page 885) list box.

Confirm the definitions for the action with the New action button.
Result: The action is enabled in the action list box.
Example:

Confirm the entries with OK.


Result: The actions are accepted, the properties dialog box is closed, and a
syntax and semantics check (see page 809) is performed.

881

SFC Editor

Modifying an action
Modifying an action:
Step

Action

Open the properties dialog box (see page 825) for the step.
Result: The step properties dialog box is opened, see also Steps properties
dialog box, page 850.

Select the Actions tab.


Result: The dialog box for defining actions is opened.

Select the action to modify from the actions list box.


Result: The properties of the selected action are enabled in the Qualifier, Time
and Action areas.
Example:

If necessary, modify in the Action area


z action variable (see page 883)

or
z action section (see page 884)

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 .

882

If necessary, define an Qualifier in the Qualifier symbol (see page 885) list box.

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.

Confirm the entries with OK.


Result: The actions are accepted, the properties dialog box is closed, and a
syntax and semantics check (see page 809) is performed.

33003101 07/2012

SFC Editor

Defining an action variable


Defining an action variable:
Step

Action

Select the Actions tab from the step properties dialog box, if it isnt already
activated.

In the Action area, activate the Variable option button, if it isnt already activated.

Enter a Boolean variable/address, or a Boolean element of a multi-element


variable in the data selection box (see page 1889), see also section Action
variables (see Unity Pro, Program Languages and Structure, Reference Manual )
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 page 1114) and confirm the selected variables there with OK.
Example:

33003101 07/2012

If necessary, define an qualifier (see page 885) for the action.


If you do not define an qualifier, the action section is automatically assigned the
qualifier N (no qualifier).

Click the New action button to insert a new action (see page 880), or the Accept
action button to modify an existing action (see page 882).
Result: The action is enabled in the action list box.

If the action variable has not been declared, declare it as BOOL data type, see also
Creation of EDT type variable instances, page 340.

883

SFC Editor

Defining a new action section


Defining a new action section:
Step
1

884

Action
Select the Actions tab from the step properties dialog box, if it isnt already
activated.

In the Action area, activate the Section option button.

Enter the name of the action section in the list box, see also section Action
sections (see Unity Pro, Program Languages and Structure, Reference Manual )
in the Reference manual.

If necessary, define an qualifier (see page 885) for the action section.
If you do not define an qualifier, the action section is automatically assigned the
qualifier N (no qualifier).

Click the New action button to insert a new action (see page 880), or the Accept
action button to modify an existing action (see page 882).
Result: The action is enabled in the action list box.
Example:

33003101 07/2012

SFC Editor

Step

Action

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.
Example:

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.

Create the action section logic, see also section Action sections (see Unity Pro,
Program Languages and Structure, Reference Manual ) 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 qualifier assigned to the action section has no effect on the subroutine,
z the subroutine remains active when the calling step is deactivated.

Defining the qualifier


Defining the qualifier for an action:
Step

33003101 07/2012

Action

Select the Actions tab from the step properties dialog box, if it isnt already
activated.

Select the desired qualifier from the Qualifier list box, see also section Qualifiers
(see Unity Pro, Program Languages and Structure, Reference Manual ) in the
Reference manual.

885

SFC Editor

Step
3

Action
If you select an qualifier of type L (time limited), D (time delayed) or DS (delayed
and saved), you are assigning a time period for the qualifier.
You can define the time period as a literal or as a variable of the TIME data type:
z Literal
a. In the Time area, activate the Literal option button, if it isnt already
activated.
b. Enter a time period, e.g. 500 ms, 1 sec.
z Variable

a. Activate the Variable option button in the Time area.


b. 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 page 1114) and confirm the selected variables there with OK.
c. 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
Creation of EDT type variable instances, page 340.

886

Define the action variable (see page 883) or the action section (see page 884).

Click the New action button to insert a new action (see page 880), or the Accept
action button to modify an existing action (see page 882).
Result: The action is enabled with the qualifier in the action list box.
Example:

33003101 07/2012

SFC Editor

Modifying the execution order of actions


Modifying the execution order of actions:
Step

Action

Select the Actions tab from the step properties dialog box, if it isnt already
activated.

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
qualifier P1 are always processed first and actions with the qualifier P0 are
always processed last, see also section Qualifiers (see Unity Pro, Program
Languages and Structure, Reference Manual ) in the Reference manual.

Move the selected action to the target position using the Move up and Move
down buttons.

Deleting actions
Deleting actions:
Step

Action

Select the Actions tab from the step properties dialog box, if it isnt already
activated.

Select the action to be deleted from the actions list box.


The following selection options are available:
z Selecting an action
a. Click the action.
z Selecting several non-sequential actions

a. Press the Shift key and keep it pressed.


b. Click the first action to be selected.
c. Click the last action to be selected.
z Selecting several sequential actions

a. Press the Ctrl key and keep it pressed.


b. Click the actions to be selected.
3

33003101 07/2012

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.

887

SFC Editor

Display modes for actions


Introduction
The following display modes are available:
Input mode
z Expanded display
z

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.
Example of a section in input mode:

888

33003101 07/2012

SFC Editor

Expanded display
In addition to the step symbol, this mode displays the actions assigned to the section
and their properties (qualifier, name of the action variable/section and the time
period defined for the qualifier, if available). If more than two actions are assigned to
a step you can scroll the list.
Example of a section in Expanded Display:

33003101 07/2012

889

SFC Editor

23.8

Editing Transitions

Overview
This section describes how to edit transitions in the SFC programming language.
What Is in This Section?
This section contains the following topics:
Topic

890

Page

Placing transitions

891

Defining transition properties

893

Properties dialog box for transitions

899

33003101 07/2012

SFC Editor

Placing transitions
Introduction
A transition provides the condition through which the checks of one or more pretransition 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 (see Unity Pro, Program
Languages and Structure, Reference Manual ) 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 transition placement mode
You have the following options to activate the transition placement mode:
z Use the Edit New Transition menu command.
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.

33003101 07/2012

891

SFC Editor

Placing transitions
Placing transitions:
Step

Action

Activate the transition placement mode.

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.

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.

892

33003101 07/2012

SFC Editor

Defining transition properties


Introduction
The following can be defined for transitions:
z the assigned transition condition
z as variable (see page 893)
z as transition section (see page 895)
z
z

whether the transition condition should be inverted (see page 897) (trigger the
transition when 0)
a comment (see page 898)

Defining the transition condition as a variable


Defining the transition condition as a variable:
Step

33003101 07/2012

Action

Open the properties dialog box (see page 825) for the transition.
Result: The properties dialog box for the transition is opened, see also
Properties dialog box for transitions, page 899.

In the Type of transition condition area, activate the Variable option button, if
it isnt already activated.

893

SFC Editor

Step
3

Action
In the BOOL variable, value or address data selection box (see page 1889),
enter a Boolean variable/address, a Boolean element for a multi-element
variable or a Boolean literal, see also section Transition conditions (see Unity
Pro, Program Languages and Structure, Reference Manual ) 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 page 1114) and confirm the selected variables there with OK.
Example:

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 page 809) 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 page 340) or by selecting the transition and the executing the menu
command Generate Variable in the shortcut menu.
894

33003101 07/2012

SFC Editor

Step
5

Action
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 page 809) is performed and the procedure ends here.
Example:

7
8

To assign an address or comment, use the


Result: The dialog box expands.

symbol.

Enter the address or comment, or both.


Confirm with Enter or the
symbol.
Result:The variable is declared and enabled in the section. A syntax and
semantics check (see page 809) is performed.
Example:

Defining the transition condition as a section


Defining the transition condition as a section:
Step

33003101 07/2012

Action

Open the properties dialog box (see page 825) for the transition.
Result: The properties dialog box for the transition is opened, see also
Properties dialog box for transitions, page 899.

In the Type of transition condition area, activate the TRANSITIONS section


option button.

895

SFC Editor

Step
3

Action
Enter the name of the transition section in the text box, see also section
Transition section (see Unity Pro, Program Languages and Structure,
Reference Manual ) 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.
Example:

896

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.
Example:

33003101 07/2012

SFC Editor

Step

Action

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.

Create the logic for the transition section, see also section Transition section
(see Unity Pro, Program Languages and Structure, Reference Manual ) in the
Reference manual.

Inverting the transition condition


Inverting the transition condition:
Step

33003101 07/2012

Action

Open the properties dialog box (see page 825) for the transition.
Result: The properties dialog box for the transition is opened, see also
Properties dialog box for transitions, page 899.

To invert the transition condition, activate the Invert transition condition check
box.
Example:

897

SFC Editor

Step
3

Action
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 page 809) is performed.
Example:

Enter a comment
Enter a comment:
Step

898

Action

Open the properties dialog box (see page 825) for the transition.

Select the Comment tab and enter a transition comment.

Confirm the comment with OK.


Result: The comment is accepted and the properties dialog box is closed.

33003101 07/2012

SFC Editor

Properties dialog box for transitions


Calling the properties dialog box
see Displaying the object properties, page 825
Structure of the properties dialog box
The transition properties dialog box consists of two tabs:
z Transition Condition
In this tab you can define:
z the transition condition assigned to the transition as a transition variable
(see page 893) or as a transition section (see page 895)
z whether the transition condition should be inverted (see page 897)
z

Comment
In this tab, a comment (see page 849) about the transition can be entered.

Transition Condition tab


Representation of the Transition Condition tab:

33003101 07/2012

899

SFC Editor

Elements of the Transition Condition tab:

900

Element

Description

Invert transition
condition

If you activate this check box, the transition condition is inverted


(trigger the transition when 0).

Type of transition
condition

In this area, you can define the transition condition, see also section
Transition conditions (see Unity Pro, Program Languages and
Structure, Reference Manual ) 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 page 1889).
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.

33003101 07/2012

SFC Editor

Comment tab
Representation of theCommenttab:

Elements of the Comment tab:

33003101 07/2012

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.

901

SFC Editor

23.9

Editing Jumps

Overview
This section describes how to edit jumps in the SFC programming language.
What Is in This Section?
This section contains the following topics:
Topic

902

Page

Placing jumps

903

Defining jump properties

905

Jump properties dialog box

907

33003101 07/2012

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 (see Unity Pro, Program Languages
and Structure, Reference Manual ) 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.
Use the context sensitive Go to, Go to step or List and display jumps dialogs to
find a certain jump in the current section.
Activating the jump placement mode
You have the following options to activate the jump placement mode:
z Use the Edit New Jump menu command.
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
If in the Tools Options dialog in the Data and Languages tab the Automatically
assign a variable to a new graphics object checkbox is enabled, an objects
property dialog will automatically open during placement. The procedures explained
here are used when the check box is cleared.

33003101 07/2012

903

SFC Editor

Placing jumps
Placing jumps:
Step

904

Action

Activate the jump placement mode.

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 enabled again.

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.

33003101 07/2012

SFC Editor

Defining jump properties


Introduction
The following can be defined for jumps:
z the jump target (see page 905), see also Jump (see Unity Pro, Program
Languages and Structure, Reference Manual ) in the Reference manual.
z a comment (see page 906)
Defining the jump target
Defining the jump target:
Step

Action

Open the properties dialog box (see page 825) for the jump.
Result: The jump properties dialog box is opened, see also Calling the
properties dialog box (see page 907).

Enter the name of the target step in the text box, see also Jump (see Unity Pro,
Program Languages and Structure, Reference Manual ) 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) area.
You have the following options to enter the target step name:
z You can enter the step name.
or
z You can select the name of the step from the list of steps used in the current
section with the symbol.
Example:

33003101 07/2012

905

SFC Editor

Step

Action

Confirm the selection with OK.


Result: The properties dialog box is closed, the jump target is accepted and a
syntax and semantics check (see page 809) is performed.
Example:

Create the logic for the transition section, see also Transition section (see Unity
Pro, Program Languages and Structure, Reference Manual ) in the Reference
manual.

Entering a comment
Entering a comment:
Step
1

906

Action
Open the properties dialog box (see page 825) for the jump.

Select the Comment tab and enter a jump comment.

Confirm the comment with OK.


Result: The comment is enabled and the properties dialog box is closed.

33003101 07/2012

SFC Editor

Jump properties dialog box


Calling the properties dialog box
You have the following options to call the properties dialog box:
z Double-click the jump.
z Select the jump and use the Edit Properties... menu command.
or
z Select the jump and use the Object Properties... menu command from the
shortcut menu.
Structure of the properties dialog box
The jump properties dialog box consists of two tabs:
Jump target
You can define the Jump target (see page 905) this tab.
z Comment
In this tab, a comment (see page 849) about the transition can be entered.
z

Jump target tab


Representation of the Jump target tab:

Elements of the Jump target tab:

33003101 07/2012

Element

Description

Step Name

Enter the name of the target step (see page 905) in this text box, see also
section Jumps (see Unity Pro, Program Languages and Structure,
Reference Manual ) 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.

907

SFC Editor

Comment tab
Representation of the Comment tab:

Elements of the Comment tab:


Element

908

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.

33003101 07/2012

SFC Editor

23.10

Editing Branches and Joints

Overview
This section describes how to edit branches and joints in the SFC programming
language.
What Is in This Section?
This section contains the following topics:
Topic

33003101 07/2012

Page

Selecting Branches and Joints

910

Placing branches and joints

912

Modifying the Properties of Branches and Joints

913

Branches properties dialog box

916

Joints properties dialog box

917

909

SFC Editor

Selecting Branches and Joints


Introduction
Alternative sequences and parallel sequences are differentiated in SFC:
Alternative sequence
The alternative sequence offers the option to program conditional branches in
the control flow of the SFC structure, see also Alternative Branches and
Alternative Joints (see Unity Pro, Program Languages and Structure, Reference
Manual ) 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.

910

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
Parallel Branches and Parallel Joints (see Unity Pro, Program Languages and
Structure, Reference Manual ) 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).

33003101 07/2012

SFC Editor

Selecting Branches and Joints


Selecting Branches and Joints:

33003101 07/2012

Type

Call via menu command

Call via Call via


symbol keyboard

Alternative branch
(see page 912)

Edit New Alternative


branch
or
Branches and Joints
Alternative branch
shortcut menu

F4

Alternative joint
(see page 912)

Edit New Alternative


joint
or
Branches and Joints
Alternative joint shortcut
menu

Shift+F4

Parallel branch
(see page 912)

Edit New Parallel


branch
or
Branches and Joints
Parallel branch shortcut
menu

F5

Parallel joint
(see page 912)

Edit New Parallel


joint
or
Branches and Joints
Parallel joint shortcut menu

Shift+F5

Cursor
symbol

911

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 (see Unity Pro, Program
Languages and Structure, Reference Manual ) 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 branches or joints
Placing branches or joints:
Step

Action

Select the desired branch or joint, see also Selecting Branches and Joints,
page 910.

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.

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.

912

33003101 07/2012

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 page 913)
z using the properties dialog box (see page 914)
z

the position of the input pin


z using the properties dialog box (see page 915)

The following can be defined for joints:


z the number of input pins
z by dragging the mouse (see page 913)
z using the properties dialog box (see page 914)
z

the position of the output pins


z using the properties dialog box (see page 915)

Defining the number of pins using the mouse


Defining the number of pins using the mouse:
Step

Select the branch or joint.


Result: A change label is placed at both ends of the branch or joint.
Example:

Place the mouse pointer on one of the change labels.


Result: The mouse pointer changes its symbol to

33003101 07/2012

Action

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.
Example:

913

SFC Editor

Defining the number of pins using the properties dialog box


Defining the number of pins using the properties dialog box:
Step

914

Action

Open the properties dialog box (see page 825) for the branch or joint.
Result: The properties dialog box for the branch (see page 916) or joint
(see page 917) is opened.
Example of a properties dialog box for branches:

Enter the desired number of output pins (for branches) or the desired number of
input pins (for joints).
Example of a properties dialog box for branches:

Confirm the entry with OK.


Result: The number of pins is accepted.
Example:

33003101 07/2012

SFC Editor

Defining the position of the input or output pin


Defining the position of the input pin (for branches) or output pin (for joints):
Step

33003101 07/2012

Action

Open the properties dialog box (see page 825) for the branch or joint.
Result: The properties dialog box for the branch (see page 916) or joint
(see page 917) is opened.
Example of a properties dialog box for branches:

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.
Example of a properties dialog box for branches:

Confirm the entry with OK.


Result: The position of the input or output pin is accepted.
Example:

915

SFC Editor

Branches properties dialog box


Calling the properties dialog box
see Displaying the object properties, page 825
Build
Representation of the dialog box:

Elements of the dialog box:

916

Element

Description

OutPin number

Enter the number of output pins (see page 914) of the branch in this
text box.

InPin position

Enter the position of the input pin (see page 915) 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.

33003101 07/2012

SFC Editor

Joints properties dialog box


Calling the properties dialog box
see Displaying the object properties, page 825
Build
Representation of the dialog box:

Elements of the dialog box:

33003101 07/2012

Element

Description

InPin number

Enter the number of input pins (see page 914) of the branch in this text
box.

OutPin position

Enter the position of the output pin (see page 915) 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.

917

SFC Editor

23.11

Inserting Alternative Strings and Simultaneous


Strings

Overview
This section describes how to insert alternative strings and simultaneous strings in
the SFC programming language.
What Is in This Section?
This section contains the following topics:
Topic

918

Page

Selecting Alternative Sequences and Parallel Sequences

919

Placing alternative sequences and parallel sequences

920

33003101 07/2012

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 (see Unity Pro, Program Languages and
Structure, Reference Manual ) in the Reference manual.
Selecting Sequences
Selecting alternative sequences and parallel sequences

33003101 07/2012

Sequence type

Call via menu command

Alternative sequence
(see page 920)

Sequences Alternative Sequence


shortcut menu

Parallel Sequence
(see page 921)

Sequences Parallel Sequence


shortcut menu

Call via
symbol

Cursor
symbol

919

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 (see Unity Pro, Program
Languages and Structure, Reference Manual ) in the Reference manual.
Placing an alternative sequence
Placing an alternative sequence:
Step

Action

Activate the placement mode for alternative sequences, see also Selecting
Alternative Sequences and Parallel Sequences, page 919.
Result: The dialog box for defining the sequence size is opened.
Example:

Enter the number of transition-step sequences to be inserted per branch in the


Rows to insert text box.

Enter the number of branches to be inserted into the Columns to insert text box.
Example:

Confirm the entries with OK.


Result: The dialog box is closed and the cursor changes its symbol to

920

33003101 07/2012

SFC Editor

Step

Action

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.
Example:

Define the properties of the placed steps (see page 843) and transitions
(see page 893).

Placing a parallel sequence


Placing a parallel sequence:
Step

33003101 07/2012

Action

Activate the placement mode for parallel sequences, see also Selecting
Alternative Sequences and Parallel Sequences, page 919.
Result: The dialog box for defining the sequence size is opened.
Example:

Enter the number of step-transition sequences to be inserted per branch in the


Rows to insert text box.

921

SFC Editor

Step

Action

Enter the number of branches to be inserted into the Columns to insert text box.
Example:

Confirm the entries with OK.

Result: The dialog box is closed and the cursor changes its symbol to

922

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.
Example:

Define the properties of the placed steps (see page 843) and transitions
(see page 893).

33003101 07/2012

SFC Editor

23.12

Inserting Step-Transitions and Transition-StepSequences

Overview
This section describes how to insert step transitions and transition step sequences
using the SFC programming language.
What Is in This Section?
This section contains the following topics:
Topic

33003101 07/2012

Page

Selecting Step-Transition and Transition-Step Sequences

924

Placing step-transition and transition-step sequences

925

923

SFC Editor

Selecting Step-Transition and Transition-Step Sequences


Introduction
You can place the steps and transitions individually or place complete StepTransitions or Transition-Steps. Any number of steps and transitions can be
selected.
Selection
Selecting Step-Transitions and Transition-Step Sequences:

924

Sequence type

Call via the menu command

Insert Step-TransitionSequence
(see page 925)

Sequence Step-Transition
Sequence shortcut menu

Transition-Step
Sequence
(see page 926)

Sequence Transition-Step
Sequence shortcut menu

Call via
the icon

Cursor
symbol

33003101 07/2012

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 (see Unity Pro, Program
Languages and Structure, Reference Manual ) in the Reference manual.
Placing a step-transition sequence
Placing a step-transition sequence:
Step

Action

Activate the placement mode for step-transition sequences, see also Selecting
Step-Transition and Transition-Step Sequences, page 924.
Result: The dialog box for defining the number of step-transition sequences is
opened.
Example:

Enter the number of step-transition sequences to be inserted into the Rows to


insert text box.
Example:

Confirm the entry with OK.


Result: The dialog box is closed and the cursor changes its symbol to

33003101 07/2012

925

SFC Editor

Step

Action

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.
Example:

Define the properties of the placed steps (see page 843) and transitions
(see page 893).

Placing a transition-step sequence


Placing a transition-step sequence:
Step
1

926

Action
Activate the placement mode for transition-step sequences, see also Selecting
Step-Transition and Transition-Step Sequences, page 924.
Result: The dialog box for defining the number of transition-step sequences is
opened.
Example:

33003101 07/2012

SFC Editor

Step

Action

Enter the number of transition-step sequences to be inserted into the Rows to


insert text box.
Example:

Confirm the entry with OK.


Result: The dialog box is closed and the cursor changes its symbol to

33003101 07/2012

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.
Example:

Define the properties of the placed steps (see page 843) and transitions
(see page 893).

927

SFC Editor

23.13

Editing Links

Overview
Editing links in the SFC programming language.
What Is in This Section?
This section contains the following topics:
Topic

928

Page

Links

929

Placing a Link

930

Editing links

933

33003101 07/2012

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
z
z

Overlapping links and other SFC objects (step, transition, jump, etc.) is not
possible.
Overlapping links and links is possible.
Crossing links and links is possible. Crossed links are indicated by a "broken" link.

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 (see Unity
Pro, Program Languages and Structure, Reference Manual ) 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

The

33003101 07/2012

and

symbol.
cursor symbols indicate which mode is active.
929

SFC Editor

Placing a Link
Placing a link using the mouse
Carry out the following steps to place a link using the mouse:
Step

Action

Activate the placement mode for links, see also Links, page 929.

Place the mouse pointer on the start point of the link.


Note: The correct position is shown by the mouse pointer symbol.
Example:

Click the left mouse button on the start point and drag mouse pointer to the target
point of the link.
Example:

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.
930

33003101 07/2012

SFC Editor

Step
4

Action
Click on the target position with the left mouse button.
Result: The link is inserted.
Example:

See also Editing links, page 933

Placing a link using the keyboard


Carry out the following steps to place a link using the keyboard:
Step

33003101 07/2012

Action

Activate the placement mode for links, see also Links, page 929.

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.
Example:

931

SFC Editor

Step
3

Action
Use the cursor keys to move the cursor to the target position of the link.
Example:

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.
Example:

See also Editing links, page 933

932

33003101 07/2012

SFC Editor

Editing links
Editing links
Links are comprised of one or more segments connected to one another.
When cutting (see page 816), deleting (see page 815), copying (see page 817) and
moving (see page 819) 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 vertically/horizontally
Process the following procedures to move a link segment vertically or horizontally:
Step

33003101 07/2012

Action

Select the link.

Place the mouse pointer on the item to be moved.


Note: The correct position is indicated by the mouse pointer symbol.
Example:

Click the left mouse button and drag the segment to the target position.

933

SFC Editor

Step
4

Action
Release the mouse button.
Result:
The change is made.

Creating angles in FFB links


Process the following steps to create angles in links:
Step

934

Action

Select the link.

Place the mouse pointer on a change label.


Note: The correct position is indicated by the mouse pointer symbol.
Example:

33003101 07/2012

SFC Editor

Step

Action

Click the left mouse button and drag the change label to the target position.

Release the mouse button.


Result:
The change is made.

Creating a sizing handle


The creation of angles in links can only be made using sizing handles. If no sizing
handles are available they can be created. Process the following steps to create
sizing handles in links:
Step

33003101 07/2012

Action

Select the link.

Press the Ctrl key and place the mouse pointer at the target position.
Note: The correct position is indicated by the mouse pointer symbol.
Example:

935

SFC Editor

Step
3

936

Action
Left-click the target position.
Result:
The sizing handle is created.

33003101 07/2012

SFC Editor

Determining the optimum link route


Determining the optimum link route:
Step

33003101 07/2012

Action

Select the link.


Example:

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.
Example:

937

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 object
You have the following options to select text objects:
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

938

cursor symbol.

33003101 07/2012

SFC Editor

Placing text objects:


Placing text objects:
Step

33003101 07/2012

Action

Select the text object.

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.
Example:

Enter the comment.

Confirm the text entered by:


z Clicking with the mouse outside of the text object
or
z Pressing the Enter key.

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.

939

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), page 1386.

940

33003101 07/2012

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, page 1701.

33003101 07/2012

941

SFC Editor

942

33003101 07/2012

Unity Pro
IL and ST
33003101 07/2012

Common Function for Textual


Language

24

Overview
This chapter describes the common menus and dialog boxes of the IL and ST editor.
What Is in This Chapter?
This chapter contains the following topics:
Topic

33003101 07/2012

Page

Selecting Text

944

Deleting, cutting, copying, pasting and moving text

946

Undoing and redoing changes

948

Match case

949

Font sizes

950

Using Bookmarks

951

Go to

953

Go to dialog box

955

Searching text

958

Searching and replacing text

960

Call a subroutine

962

Refine DFBs and subroutines

964

Inspect windows

966

Enter comments

970

Printing the Current Section

972

Initialize search

973

Initialize Animation table

974

Displaying the section properties

975

Fullscreen

976

943

IL and ST

Selecting Text
Selecting one or more characters
Selecting one or 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:

944

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.

33003101 07/2012

IL and ST

Selecting one or more lines


Selecting one or 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
point over the characters to be selected.
or
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 (entire contents of the section)


Select all (entire contents of the section):

33003101 07/2012

Using the mouse

Using the keyboard

Use the menu command Edit Select all.


or
Press the Ctrl key, and left mouse click in the
left margin.

Press the key combination Ctrl+A.

945

IL and ST

Deleting, cutting, copying, pasting and moving text


Deleting Text
Deleting text:
Using the mouse

Using the keyboard

1. Select (see page 944) the text to be


deleted.
2. Use the Edit Delete menu command.

1. Select (see page 944) the text to be


deleted.
2. Press the Delete key.

Cutting Text
Cutting text:
Using the mouse

Using the keyboard

1. Select (see page 944) the text to be cut.


2. Use the Edit Cut menu command.
or
Use the Cut menu command from the
shortcut menu (right-click).
or

1. Select (see page 944) the text to be cut.


2. Press the Ctrl+X key combination.

Click the

symbol.

The text which is cut can be pasted (see page 947) at any location (also in another
IL or ST section).
Copying Text into the Clipboard
Copying text into the clipboard:
Using the mouse

Using the keyboard

1. Select (see page 944) the text to be


copied.
2. Use the Edit Copy menu command.
or
Use the Copy menu command from the
shortcut menu (right-click).
or

1. Select (see page 944) the text to be


copied.
2. Press the Ctrl+C key combination.

Click the

symbol.

The text which is copied can be pasted (see page 947) at any location (also in
another IL or ST section).

946

33003101 07/2012

IL and ST

Pasting Text from the Clipboard


Pasting text from the clipboard:
Using the mouse

Using the keyboard

1. Place the cursor at the target position.


2. Use the menu command Edit Insert.
or
Use the menu command Paste in the
shortcut menu (right mouse button).
or

1. Place the cursor at the target position.


2. Press the Ctrl+V key combination.

Click the

symbol.

Moving Text
Moving text:
Using the mouse

Using the
keyboard

1.
2.
3.
4.

Select (see page 944) the text to be moved.


Position the mouse pointer on the selected text.
Click the left mouse button and keep it pressed.
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.
2.
3.
4.
5.

Select (see page 944) the text to be moved.


Position the mouse pointer on the selected text.
Click the left mouse button and keep it pressed.
Press the Ctrl key and keep it pressed.
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.

33003101 07/2012

947

IL and ST

Undoing and redoing changes


Undo changes
You have the following options to undo the recent changes:
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.

948

33003101 07/2012

IL and ST

Match case
All caps text
Process the following steps to display text in All Caps:
Step

Action

Select the text to display in All Caps.

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
1
2

Action
Select the text to display in lower case.
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

33003101 07/2012

symbol.

949

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 font size
You have the following options to reduce the current font size:
Press the Ctrl+-key combination.

z
z

Select the

symbol.

Select the

symbol.

Increasing the font size


You have the following options to increase the current font size:
z Press the Ctrl++ key combination.

950

Select the

symbol.

Select the

symbol.

33003101 07/2012

IL and ST

Using Bookmarks
Introduction
Bookmarks are used to mark text lines and allow these marked lines to be easily
found in different sections.
An example of a line marked with a bookmark:

Setting a Single Bookmark


You have the following options to set a bookmark:
z Place the cursor in the line to be marked and carry out the menu command Edit
Bookmarks> 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 use Toggle Bookmark from the context
menu of the margin.
Setting Multiple Bookmarks
Setting a bookmark in each line which contains a defined search text can be done
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 Mark all.
or
z Press the key combination Ctrl+F to open the search dialog box, enter the search
text and press the command button Mark all.
Also see Searching text, page 958

33003101 07/2012

951

IL and ST

Removing Single Bookmarks


You have the following options to remove a bookmark:
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 Toggle
Bookmark from the context menu of the bookmark.
z

Removing All Bookmarks


You have the following options to remove all bookmarks in the current section:
Use the Edit Bookmarks Clear all Bookmarks menu command.
or
z Press the Ctrl+Shift+F2 key combination.
z

Searching for Bookmarks (Search Down)


You have the following options to search for bookmarks (search down):
Use the Edit Bookmarks Next Bookmark menu command.
z Use the Edit Go to Bookmark Next menu command.
or
z Press the F2 key.
z

The bookmarks are traversed according to their order of appearance in the


Bookmarks dialog.
Searching for Bookmarks (Search Up)
You have the following options to search for bookmarks (search up):
Use the Edit Bookmarks Previous Bookmark menu command.
z Use the Edit Go to Bookmark Previous menu command.
or
z Press the Shift+F2 key combination.
z

The bookmarks are traversed according to their order of appearance in the


Bookmarks dialog.
Bookmarks Dialog
Please also refer to Bookmarks Dialog (see page 538).

952

33003101 07/2012

IL and ST

Go to
Introduction
The Go to function 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.
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
1

Action
Open (see page 953) the Go todialog box.

Select the Line tab.

Enter the line number.

Confirm the entry using the command button Go to.


Result: The desired line is displayed.

Go to a bookmark
Go to a certain bookmark in the current section by carrying out the following steps:
Step
1

33003101 07/2012

Action
Open (see page 953) the Go todialog box.

Choose the Bookmark tab.

Select a bookmark in the list.

Double click on the selected bookmark or press the Go tocommand button.


Result: The desired bookmark is displayed.

953

IL and ST

Go to a location
Go to a certain location in the current section by carrying out the following steps:
Step

954

Action

Open (see page 953) the Go todialog box.

Select the Location tab.

Select a location in the list.

Double click on the selected location or press the Go tocommand button.


Result: The desired location is displayed.

33003101 07/2012

IL and ST

Go to dialog box
Call the dialog box:
see Open the dialog, page 953
Call the dialog box
The Go todialog box is made up of three tabs:
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
Representation of theLine tab:

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.

33003101 07/2012

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 page 953).

Close

Use this button to close the dialog.

Help

Use this button to call up the dialog help.

955

IL and ST

Register tab Bookmarks


Representation of theBookmark tab:

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.

956

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 page 953).

Close

Use this button to close the dialog.

Help

Use this button to call up the dialog help.

33003101 07/2012

IL and ST

Register tab Location


Representation of the tab Label:

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.

33003101 07/2012

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 page 954).

Close

Use this button to close the dialog.

Help

Use this button to call up the dialog help.

957

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:
Use the Edit Find menu command.
z Press the key combination Ctrl+F.
or
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, page 960.
For intelligent search and replace of variables and FFBs you can use the Tools
Search/Replace menu command.
Representation
Search dialog display

Elements of the dialog box

958

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 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.

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, page 951.
33003101 07/2012

IL and ST

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.
or
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.
or
z press the F3 key.

33003101 07/2012

959

IL and ST

Searching and replacing text


Searching and replacing text
You have the following options to search and replace text:
Use the Edit Replace menu command.
or
z Press the Ctrl+H key combination.
z

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 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

960

Use this command button to search for the next instance of the search
target in the section. (No replacement is made.)

33003101 07/2012

IL and ST

33003101 07/2012

Element

Description

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.

961

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 page 964).
You can enter the name of the subroutine section just like any other text, or use the
input assistant.
Entering the name of the subroutine section with input assistant
Process the following steps to enter a subroutine section name with the input
assistant:
Step

Action

Place the cursor at the target position.

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.

962

33003101 07/2012

IL and ST

Step

Action

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.

Complete the subroutine call.


IL example:
ST example:

33003101 07/2012

963

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

Place the cursor on the DFB instance name.

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.
Example:

964

Select the desired DFB section.


Result: The DFB section is opened.
Note: With nested DFBs several refine processes are possible.

33003101 07/2012

IL and ST

Refining subroutines
Process the following steps to refine subroutines:
Step

Action

Position the cursor on the subroutine call.

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.

33003101 07/2012

965

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:
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
z

966

33003101 07/2012

IL and ST

Generating an inspect window


Generating an inspect window:
Step

Action

Position the cursor in front of or in the target variable.

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.


Example (offline):

Example (online):

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
Position the mouse pointer on the inspect window, click the left mouse button and
move the inspect window to the target position.

33003101 07/2012

967

IL and ST

Anchoring the position


You can anchor all inspect windows of a section to their relative positions within the
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 monitor
Setting a zone monitor:
Step

968

Action

Position the mouse pointer on the inspect window.

Use the Settings menu command from the shortcut menu.


Result: The properties dialog box for the inspect window is opened.
Example:

Enter a minimum and a maximum value for the variable to be monitored.

Enter the format of the variable displayed in the section.

33003101 07/2012

IL and ST

Step
5

Action
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.
Example:

Hiding inspect windows


To hide and show the inspect windows select the View Hide Inspect 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 windows
Position the cursor on the inspect window to be deleted and select the Delete
Inspect menu command from the shortcut menu.

33003101 07/2012

969

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 new comment
Placing a comment:
Step

Action

Place the cursor at the target position.

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.
Example:

970

Enter the comment between the two strings.


Example:

33003101 07/2012

IL and ST

Executing Text Comments


Placing a comment:
Step

Action

Select the command text to be executed.


Example:

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.
Example:

33003101 07/2012

971

IL and ST

Printing the Current Section


Introduction
There are the following ways to print the current section:
Print the section using the menu command
z Print the section using the print documentation
z

Print the section using the menu command


Carry out the following steps to print the current section using the menu command:
Step
1

Action
Open the print dialog using:
z the menu command File Print,
z or the key combination Ctrl+P
or
z the symbol

Press OK to start printing the current section.

Print the section using the print documentation


Carry out the following steps to print the current section using the print
documentation:
Step

972

Action

Double-click on Documentation in the project browser.


Result: An overview of your system is open, see also Documentation,
page 1675

Select Program Tasks MAST/FAST/AUX ... to print the section.

Select the menu command Print from the sections shortcut menu.

Press OK to start printing the current section.

33003101 07/2012

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 window.
Selecting the search text
Process the following steps to select the search text:
Step

33003101 07/2012

Action

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.)

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 CrossReferences window.

973

IL and ST

Initialize Animation table


Introduction
The Initialize Animation Table transfers the selected variables to the Animation
table (see page 1433).
Selecting the variables
Process the following steps to select variables:
Step

Action

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.)

Use the Services Initialize Animation table menu command.


or
Select the menu command Animation Table from the sections context menu.
or
Press the Ctrl+T key combination.
Result: The variable(s) is/are transferred to the Animation table (see page 1433).

Initialize Animation Table


Using Initialize Animation Table (Ctrl+T) you create an animation table with a
default name e.g. Table[ST Editor - Mixer : [MAST]]. You can rename
the table.
All the variables you selected are listed in the animation table.
Selecting a new set of variables and using Initialize Animation Table again, all new
variables are added to this animation table (if you did not rename it).
Initialize New Animation Table
Using Initialize New Animation Table (Ctrl+Shift+T) you create a new animation
table with an indexed default name e.g. Table[ST Editor Mixer : [MAST]1]. You can rename the table.
All the variables you selected are listed in the table.
But if you click anywhere in the section and do not select any variable, you create a
new empty animation table.
Every time you use Initialize New Animation Table you create a new animation
table.
974

33003101 07/2012

IL and ST

Displaying the section properties


View section properties
You have the following options to display the section properties dialog box
(see page 425):
z Use the Edit Data Selection...menu command.
z Use the Properties from the shortcut menu.
z Press the Alt+Enter key combination.
View Data Properties
You have the following options to display the section properties dialog box
(see page 1128):
z using the data editor (see page 299)
a. Selecting one or several lines in a list editor
b. Using the shortcut menu select the Properties command.
z

33003101 07/2012

via the IL/ST section.


a. Selecting one or several element(s) in the IL/ST section.
b. From the context menu select the command Data properties or press Ctrl +
Enter.

975

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.

976

33003101 07/2012

Unity Pro
IL Editor
33003101 07/2012

IL Editor

25
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 (see Unity Pro, Program Languages and Structure, Reference
Manual ) chapter in the Reference manual.
What Is in This Chapter?
This chapter contains the following topics:
Topic

33003101 07/2012

Page

Structure of an IL program

978

Creating an IL Program

980

Syntax and Semantics Check during Programming

981

Navigating with the keyboard

985

Data input

986

Calling an FFB

992

Using Public Variables

1003

Online functions

1005

Export/Import IL Sections

1006

977

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 IL program
Properties of an IL program:
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
z
z
z
z
z

Every statement begins on a new line.


Each line is limited to 300 characters.
Line breaks are possible in statements (multi-line statements).
Labels, symbols and comments can be placed anywhere in a section.
(Comments can be entered anywhere where empty spaces are permitted.)
A syntax and semantics check (see page 981) is performed immediately after the
statement is entered. The result of this check is displayed in colored text.
Syntactically or semantically incorrect sections can be saved.

Edit and view functions


Edit and view functions of the IL editor:
z Entering text using the insert or overwrite mode (see page 980)
z Deleting text (see page 946)
z Selecting text (see page 944) (characters, words, lines, all)
z Cutting (see page 946), copying (see page 946) and pasting (see page 947) text
z Moving text (see page 947) (also between different ST/IL sections)
z Undo (see page 948) and Redo (see page 948)
z Go To function (see page 953)
z Using bookmarks (see page 951)
z Searching for text and marking the result (see page 958)
z Searching and replacing text (see page 960)
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.

978

33003101 07/2012

IL Editor
z
z

Intelligent text indentation


The text indentation of a new line is taken from the previous one.
Display the position (line, column) of the cursor in the status bar.

Input assistants
Input assistant for the IL editor:
Input assistant for variables (see page 986)
z Input assistant for functions, function blocks and procedures (see page 992)
z

Online functions
Online functions of the IL editor:
z Displaying actual values (see page 966).
z Setting breakpoints (see page 1362)
z Setting watchpoints (see page 1368)
z Step by Step (see page 1364)

33003101 07/2012

979

IL Editor

Creating an IL Program
Writing in insert/overwrite mode
Text can be entered in insert or overwrite modes
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.
z

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 program
Carry out the following procedures to create an IL program:
Step

980

Action

Creating an IL Section (see page 422).

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
(see Unity Pro, Program Languages and Structure, Reference Manual ) in the
Reference manual.
The results of the checks are indicated by a color folder, see also Syntax and
Semantics Check during Programming, page 981.

Use the TAB key or spaces to separate operands from operators.

Enter the operands (e.g. il).

Confirm the line with the ENTER key.

Repeat these steps until all instructions are entered.


Example:

33003101 07/2012

IL 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 three formats:
z
z
z

directly in the program section with colored text


as tooltip if the cursor is placed on incorrect text.
In the output window, if Generate Analyze is selected.

Representation
Representation of colors and labels:

33003101 07/2012

Labeling

Description

blue

Keyword (e.g. LD, AND, ST,...)


Note: Function block input operators
(see also section Input operator
requirements (see Unity Pro, Program
Languages and Structure, Reference
Manual ) 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 page 964).

underlining

In DFB sections, the formal parameters


of the DFBs are shown underlined.

Example

981

IL Editor

Labeling
red wavy line

Description

Example

Faulty text:
z Syntax error

e.g. spelling errors in keywords,


non-declared variables or FB
instances, incorrect block call,
unvailable block call (in the current
PLC plateform or in the library
types), EFB type call instead of the
instance,...
z Semantic error
e.g. division by zero, value range
exceeded/underflow (recognized by
the system when entered)
Inverted text

Text is selected

Tooltips
If the cursor is placed over incorrect text, the tooltip is displayed with a brief
description of the cause of the error. It will also be displayed in the output window
after the analysis.
Error messages in the output window
Error message: Accessed object is not a function.
Cause of error

Error Correction

Example

Write error is present during


accessing of a function.

Correct the write


error.

Wrong:

Right:

Name of the function was


already used for:
z one variable
z an FB instance
z a DFB Type
z an SR Section
z a procedure or function in
a user library

982

Rename the already used object.

33003101 07/2012

IL Editor

Cause of error

Error Correction

Example

Wrong syntax used during


access
z an FB

Correct the syntax.

Wrong:

Right:

Wrong:

Right:

33003101 07/2012

983

IL Editor

Error message: Accessed object is not a function block.


Cause of error

Error Correction

Example

Write error is present during


accessing.
z an FB

Correct the write


error.

Wrong:

Right:

Name of the function was


already used for:
z one variable
z an FB instance
z a DFB Type
z an SR Section
z a procedure or function in
a user library

Rename the already used object.

Function block instances that


are not defined in the data
editor.

Define the FB on the data editor.

EFB that is not available for


the current PLC platform.

Change the EFB.

An EFB that is not in the libset Update the libset.


of the current project.

984

33003101 07/2012

IL Editor

Navigating with the keyboard


Navigating with the keyboard
The following keys and key combinations are provided for navigation:

33003101 07/2012

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+Cursor left

Moves the cursor one string left

Ctrl+Cursor right

Moves the cursor one string right

Ctrl+Cursor up

Scrolls one line up (the position of the cursor is not


affected by this function)

Ctrl+Cursor down

Scrolls one line down (the position of the cursor is not


affected by this function)

Home

Moves the cursor to the beginning of the current line

End

Moves the cursor to the end of the current line

Ctrl+Home

Moves the cursor to the beginning of the current section

Ctrl+End

Moves the cursor to the end of the current section

Page Up

Scrolls one page up (the cursor remains in its position on


the screen)

Page Down

Scrolls one page down (the cursor remains in its position


on the screen)

Ctrl+Alt+Page Up

Displays the previous section (including via the View


Previous Sectionmenu).

Ctrl+Alt+Page Down

Displays the next section (including via the View Next


Sectionmenu).

Alt+Enter

Opens the properties dialog box for the selected section.

985

IL Editor

Data input
Introduction
You have different options for using data in your IL section.
Using already declared variables (see page 986)
z you can use a data selection dialog box,
or
z you can enter the variable name just like any other text.

Use undeclared variables and declare them later (see page 987)
You can define variable names when creating your IL section and then declare
all variables used.
Use undeclared variables and declare them immediately (see page 988)
You can define variable names when creating your IL section and declare them
immediately.
Declaration of variables directly in the IL section. (see page 989)
You can declare variables in the Data Editor (see page 340), but also directly in
the IL section.
Using formal parameters from function blocks (inputs/outputs, public variables)
(see page 990)
z You can use a data selection dialog box.
or
z You can enter the formal parameter name just like any other text.

Entering declared variables using data selection


Carry out the following steps to enter a declared variable using data selection:
Step

Action

Declare the required variables, see also Creation of EDT type variable instances,
page 340.

Place the cursor at the target position.

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 page 1889) is opened.

986

33003101 07/2012

IL Editor

Step
4

Action
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 page 1121) and
in the Variables tab confirm the selected variable using the OK button.
Example of a data selection dialog box:

Result: The selected variable is inserted into the section and a syntax and
semantics check (see page 981) is performed.

Entering undeclared variables and declaring them later


Process the following steps to enter undeclared variables and declare them later:
Step

33003101 07/2012

Action

Place the cursor at the target position.

Enter the variable name.


Result: The variable selected is accepted. The syntax and semantics check
(see page 981) marks the variable name with a red wavy line to identify it as
being undeclared, e.g.

Enter all variables in this way.

Declare all variables in the Data Editor (see page 340) or directly in the IL section
(see page 989).
Result: The red wavy line under the variable name disappears.

987

IL Editor

Entering undeclared variables and declaring them immediately


Process the following steps to enter undeclared variables and declare them
immediately:
Step

Action

Place the cursor at the target position.

Click Create Variable in the shortcut menu, or press the Shift+Enter key
combination
Result: The variable declaration dialog box opens.

Enter the variable name and data type.

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.

988

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.

Confirm with Enter or the


symbol.
Result: The variable is declared and inserted at the target position in the section.

33003101 07/2012

IL Editor

Declaration of variables directly in the IL section.


Process the following steps to declare variables directly in the IL section.
Step

Action

Place the cursor in an undeclared variable (undeclared variables are identified


by a red wavy line).

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.

33003101 07/2012

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.

Confirm with Enter or the


symbol.
Result: The variable is declared and the red wavy line under the variable name
disappears.

989

IL Editor

Using formal parameters


Process the following steps to use formal parameters with data selection:
Step

Action

Call the function block whose formal parameters you want to use, see also
Calling a function block (see page 993).

To use the formal parameter, place the cursor at the target position.

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 page 1889) is opened.

990

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 page 1121).

Select the Function Blocks tab.


Result:
All declared block instances are displayed.

33003101 07/2012

IL Editor

Step

33003101 07/2012

Action

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.

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 page 981) is performed.
For example:

991

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
(see Unity Pro, Program Languages and Structure, Reference Manual ) 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.

992

33003101 07/2012

IL Editor

Calling a function block using the function input assistant


Process the following steps to call a function block (elementary or derived) with the
function input assistant:
Step

Action

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.)

Open the function input assistant (see page 1125) using:


z the Edit FFB Input Assistant... menu command..
z The FFB Input Assistant...menu commandfrom the shortcut menu (rightclick) for the section.
z Pressing the Ctrl+I key combination.
or
z Select the

symbol.

Result:
The function input assistant will be opened.

33003101 07/2012

993

IL Editor

Step

994

Action

In the FFB type line click the button ...., to open an FFB selection window
(see page 1123).
Result:
The FFB selection dialog box is opened.

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.

33003101 07/2012

IL Editor

Step
5

33003101 07/2012

Action
Select the desired function block from the Name column.
Example:

995

IL Editor

Step

Action

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 (see Unity Pro, Program Languages
and Structure, Reference Manual ) of the function block, see also Information
about programming (see Unity Pro, Program Languages and Structure,
Reference Manual ).

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.

996

33003101 07/2012

IL Editor

Step
8

Action
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.
or
z Using the button ... to open a variable selection dialog box (see page 1121).
Assign all parameters of the function block a variable/address in this way.
Example:

33003101 07/2012

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 page 981) is performed.
Example:

997

IL Editor

Calling a function or procedure using the function input assistant


Calling a function or procedure using the function input assistant is identical in
principle to calling a function block. The only difference is the absence of an instance
name (step 6 of the procedure Calling a function block using the function input
assistant, page 993).
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.
Calling a function block instance using the function input assistant
Process the following steps to select a block instance that has already been
declared:
Step

Action

Place the cursor at the target position.

Open the function input assistant (see page 1125) using:


z The Edit FFB Input Assistant menu command.
z The FFB Input Assistant...menu commandfrom the shortcut menu (rightclick) for the section.
z Pressing the Ctrl+I key combination.
or
z Select the

symbol.

Result:
The function input assistant will be opened.

998

33003101 07/2012

IL Editor

Step
3

33003101 07/2012

Action
In the Instance line click the button ...., to open an FFB selection window
(see page 1116).
Result:
The dialog box for selecting function block instances is opened.

999

IL Editor

Step
4

1000

Action
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 (see Unity Pro, Program Languages
and Structure, Reference Manual ) of the function block, see also Information
about programming (see Unity Pro, Program Languages and Structure,
Reference Manual ).

33003101 07/2012

IL Editor

Step
5

Action
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.
or
z Using the button ... to open a variable selection dialog box (see page 1121).
Assign all parameters of the function block a variable/address in this way.
Example:

33003101 07/2012

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 page 981) is performed. If the variables are not declared
yet a red wavy line under the name is used to identify them.
Example:

Declare all variables in the Data Editor (see page 340) or directly in the IL section
(see page 989).
Result: The red wavy line under the variable name disappears.

1001

IL Editor

Changing the actual parameter using the function input assistant


Process the following steps to change actual parameters with the function input
assistant:
Step

Action

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.

Open the function input assistant (see page 1125) using:


z The Edit FFB Input Assistant... menu command..
z The FFB Input Assistant...menu commandfrom the shortcut menu (rightclick) 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.

Make the desired changes and confirm using OK.

Inserting FFBs via drag & drop


FFBs can also be inserted into the section via drag & drop using the Types Library
Browser.
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.
1002

33003101 07/2012

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 Values using the Initial Value
Process the following steps to assign values using the initial value:
Step

33003101 07/2012

Action

Call the function block for whose public variable you want to assign a value, see
also Calling an FFB, page 992.

Open the data editor, see also Data Editor Access, page 302.

Select the Function Block tab.


Result:
The function block instances are displayed.

1003

IL Editor

Step

Action

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.

Enter the desired value for the public variable in the Value box.

Assigning Values using the Load and Save Instructions


Carry out the following steps to assign values using the load and save instructions:
Step

Action

Call the function block for whose public variable you want to assign a value, see
also Calling an FFB, page 992.

Load the value to be assigned to the buffer.


For example:
LD 1

Save the buffer contents in a public variable, see also Using formal parameters,
page 990.
For example:
ST D_ACT1.OP_CTRL

Reading public variables


See Using formal parameters, page 990

1004

33003101 07/2012

IL Editor

Online functions
Online functions
The description of online functions is found in chapter Debugging in Textual
Languages (Structured Text, Instruction List), page 1361.

33003101 07/2012

1005

IL Editor

Export/Import IL Sections
Export/Import
The description for exporting/importing sections is found in the chapter Import /
Export, page 1701.

1006

33003101 07/2012

Unity Pro
ST Editor
33003101 07/2012

ST Editor

26
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 (see Unity Pro, Program Languages and Structure, Reference
Manual ) chapter in the Reference manual.
What Is in This Chapter?
This chapter contains the following topics:
Topic

33003101 07/2012

Page

Structure of an ST program

1008

Creating an ST Program

1010

Syntax and Semantics Check during Programming

1011

Navigating with the keyboard

1015

Data input

1016

Calling an FFB

1022

Using public variables

1033

Calling a statement

1035

Online functions

1041

Export/Import IL Sections

1042

1007

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 ST program
Properties of an ST program:
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
z
z
z
z
z
z
z

Statements must be concluded with semicolons.


Several statements (separated by semicolons) may be present in one line.
A single semi-colon denotes an empty statements (see Unity Pro, Program
Languages and Structure, Reference Manual ).
Each line is limited to 300 characters.
Line breaks are possible in statements (multi-line statements).
Labels, symbols and comments can be placed anywhere in a section.
(Comments can be entered anywhere where empty spaces are permitted.)
A syntax and semantics check (see page 1011) is performed immediately after
the statement is entered. The result of this check is displayed in colored text.
Syntactically or semantically incorrect sections can be saved.

Edit and view functions


Edit and view functions of the ST editor:
z Entering text using the insert or overwrite mode (see page 1010)
z Selecting text (see page 944) (characters, words, lines, all)
z Deleting text (see page 946)
z Cutting (see page 946), copying (see page 946) and pasting (see page 947)
z Moving text (see page 947) (also between different ST/IL sections)
z Undo (see page 948) and Redo (see page 948)
z Go To function (see page 953)
z Using bookmarks (see page 951)
z Searching for text and marking the result (see page 958)
z Searching and replacing text (see page 960)

1008

33003101 07/2012

ST Editor
z
z

z
z

Searching and replacing variables and function blocks and DFB instances
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.
Intelligent text indentation
The text indentation of a new line is taken from the previous one.
Display the position (line, column) of the cursor in the status bar.

Input assistants
Input assistant for the ST editor:
Input assistant for variables (see page 1016)
z Input assistant for functions, function blocks and procedures (see page 1022)
z Input assistant for statements (see page 1035)
z

Online functions
ST editor online functions:
z Displaying actual values (see page 966).
z Setting breakpoints (see page 1362)
z Setting watchpoints (see page 1368)
z Step by Step (see page 1364)

33003101 07/2012

1009

ST Editor

Creating an ST Program
Writing in insert/overwrite mode
Text can be entered in insert or overwrite modes
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.
z

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 program
Carry out the following procedures to create an ST program:
Step

1010

Action

Creating an ST section (see page 422).

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
(see Unity Pro, Program Languages and Structure, Reference Manual ) in the
Reference manual.
The results of the checks are indicated by a color folder, see also Syntax and
Semantics Check during Programming, page 1011.

Terminate the instruction with the closing operator (;).

Confirm the line with the ENTER key.

Repeat these steps until all instructions are entered.


Example:

33003101 07/2012

ST 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 three formats:
z
z
z

directly in the program section with colored text


as tooltip if the cursor is placed on incorrect text.
In the output window, if Generate Analyze is selected.

Illustration in the program section


Representation of colors and labels:

33003101 07/2012

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 page 964).

underlining

In DFB sections, the formal parameters


of the DFBs are shown underlined.

Example

1011

ST Editor

Labeling
red wavy line

Description

Example

Faulty text:
z Syntax error

e.g. spelling errors in keywords,


non-declared variables or FB
instances, incorrect block call,
unvailable block call (in the current
PLC plateform or in the library
types), EFB type call instead of the
instance,...
z Semantic error
e.g. division by zero, value range
exceeded/underflow (recognized by
the system when entered)
Inverted text

Text is selected

Tooltips
If the cursor is placed over incorrect text, the tooltip is displayed with a brief
description of the cause of the error. It will also be displayed in the output window
after the analysis.
Error messages in the output window
Error message: Accessed object is not a function.
Cause of error

Error Correction

Example

Write error is present during


accessing of a function.

Correct the write


error.

Wrong:
Right:

Name of the function was


already used for:
z one variable
z an FB instance
z a DFB Type
z an SR Section
z a procedure or function in
a user library

1012

Rename the already used object.

33003101 07/2012

ST Editor

Cause of error

Error Correction

Example

Wrong syntax used during


access
z an FB

Correct the syntax.

Wrong:
Right:

z a procedure

Wrong:

z an SR Section

Right:
Wrong:
Right:

Error message: Accessed object is not a function block.


Cause of error

Error Correction

Example

Write error is present during


accessing.
z an FB

Correct the write


error.

Wrong:
Right:

z a procedure

Wrong:

z an SR Section

Right:
Wrong:
Right:

Name of the function was


already used for:
z one variable
z an FB instance
z a DFB Type
z an SR Section
z a procedure or function in
a user library

Rename the already used object.

Function block instances that


are not defined in the data
editor.

Define the FB on the data editor.

33003101 07/2012

1013

ST Editor

Cause of error

Error Correction

Example

EFB that is not available for


the current PLC platform.

Change the EFB.

An EFB that is not in the libset Update the libset.


of the current project.

Wrong syntax used during


access.
z a function

Correct the syntax.

Wrong:

Right:
z a function block

Wrong:
Right:
Wrong:

Right:

1014

33003101 07/2012

ST Editor

Navigating with the keyboard


Navigating with the keyboard
The following keys and key combinations are provided for navigation:

33003101 07/2012

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+Cursor left

Moves the cursor one string left

Ctrl+Cursor right

Moves the cursor one string right

Home

Moves the cursor to the beginning of the current line

End

Moves the cursor to the end of the current line

Ctrl+Home

Moves the cursor to the beginning of the current section

Ctrl+End

Moves the cursor to the end of the current section

Page Up

Scrolls one page up (the cursor remains in its position on the


screen)

Page Down

Scrolls one page down (the cursor remains in its position on the
screen)

Ctrl+Alt+Page Up

Displays the previous section (including via the View


Previous Sectionmenu).

Ctrl+Alt+Page Down

Displays the next section (including via the View Next


Sectionmenu).

Alt+Enter

Opens the properties dialog box for the selected section.

1015

ST Editor

Data input
Introduction
You have different options for using data in your ST section.
Using already declared variables (see page 1016)
z You can use a data selection dialog box.
or
z you can enter the variable name just like any other text.

Use undeclared variables and declare them later (see page 1017)
You can define the variable name when creating your ST section and then
declare all variables used.
Use undeclared variables and declare them immediately (see page 1018)
You can define variable names when creating your ST section and declare them
immediately.
Declaration of variables directly in the ST section. (see page 1019)
You can declare variables in the Data Editor (see page 340), but also directly in
the ST section.
Using formal parameters from function blocks (inputs/outputs, public variables)
(see page 1019)
z You can use a data selection dialog box.
or
z You can enter the formal parameter name just like any other text.

Entering declared variables using data selection


Carry out the following steps to enter a declared variable using data selection:
Step

Action

Declare the required variables, see also Creation of EDT type variable instances,
page 340.

Place the cursor at the target position.

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 page 1889) is opened.

1016

33003101 07/2012

ST Editor

Step
4

Action
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 page 1121) and
in the Variables tab confirm the selected variable using the OK button.
Example of a variable selection dialog box:

Result: The selected variable is enabled in the section.

Entering undeclared variables and declaring them later


Process the following steps to enter undeclared variables and declare them later:
Step

33003101 07/2012

Action

Place the cursor at the target position.

Enter the variable name.


Result: The variable selected is accepted. The syntax and semantics check
(see page 1011) marks the variable name with a red wavy line to identify it as
being undeclared, e.g.

Enter all variables in this way.

Declare all variables in the Data Editor (see page 340) or directly in the ST
section (see page 1019).
Result: The red wavy line under the variable name disappears.

1017

ST Editor

Entering undeclared variables and declaring them immediately


Process the following steps to enter undeclared variables and declare them
immediately:
Step

Action

Place the cursor at the target position.

Click Create Variable in the shortcut menu, or press the Shift+Enter key
combination
Result: The variable declaration dialog box opens.

Enter the variable name and data type.

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.

1018

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.

Confirm with Enter or the


symbol.
Result: The variable is declared and inserted at the target position in the section.

33003101 07/2012

ST Editor

Declaration of variables directly in the ST section.


Process the following steps to declare variables directly in the ST section.
Step

Action

Place the cursor in an undeclared variable (undeclared variables are identified


by a red wavy line).

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.

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.

Confirm with Enter or the


symbol.
Result: The variable is declared and the red wavy line under the variable name
disappears.

Using formal parameters


Process the following steps to use formal parameters with data selection:
Step

33003101 07/2012

Action

Call the function block whose formal parameters you want to use, see also
Calling a function block (see page 1023).

To use the formal parameter, place the cursor at the target position.

1019

ST Editor

Step
3

Action
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 page 1889) is opened.

1020

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 page 1121).

Select the Function Blocks tab.


Result:
All declared block instances are displayed.

33003101 07/2012

ST Editor

Step

33003101 07/2012

Action

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.

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 page 1011) is performed.
For example:

1021

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 (see Unity Pro, Program Languages and Structure, Reference Manual ) 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.

1022

33003101 07/2012

ST Editor

Calling a function block using the function input assistant


Process the following steps to call a function block (elementary or derived) with the
function input assistant:
Step

Action

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.)

Open the function input assistant (see page 1125):


z The Edit FFB Input Assistant... menu command..
z The FFB Input Assistant...menu commandfrom the shortcut menu (rightclick) for the section.
z Press the Ctrl+Ikey combination.
or
z Select the

symbol.

Result:
The function input assistant will be opened.

33003101 07/2012

1023

ST Editor

Step

1024

Action

Click the FFB-Typ button in the....column, to open an FFB selection window


(see page 1123).
Result:
The FFB selection dialog box is opened.

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.

33003101 07/2012

ST Editor

Step
5

33003101 07/2012

Action
Select the desired function block from the Name column.
Example:

1025

ST Editor

Step

Action

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 (see Unity Pro, Program Languages
and Structure, Reference Manual ) of the function block, see also Information
about programming (see Unity Pro, Program Languages and Structure,
Reference Manual ).

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.

1026

33003101 07/2012

ST Editor

Step
8

Action
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.
or
z Using the button ... to open a variable selection dialog box (see page 1121).
Assign all parameters of the function block a variable/address in this way.
Example:

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 page 1011) is performed.
Example:

Calling a function or procedure using the function input assistant


Calling a function or procedure using the function input assistant is identical in
principle to calling a function block. The only difference is the absence of an instance
name (step 5 of the procedure Calling a function block using the function input
assistant, page 1023).
33003101 07/2012

1027

ST Editor

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.
Calling a function block instance using the function input assistant
Process the following steps to select a block instance that has already been
declared:
Step
1
2

Action
Place the cursor at the target position.
Open the function input assistant (see page 1125):
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.

or
z Select the

symbol.

Result:
The function input assistant will be opened.

1028

33003101 07/2012

ST Editor

Step
3

33003101 07/2012

Action
Click the Instance button in the....column, to open an FFB selection window
(see page 1116).
Result:
The dialog box for selecting function block instances is opened.

1029

ST Editor

Step
4

1030

Action
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 (see Unity Pro, Program Languages
and Structure, Reference Manual ) of the function block, see also Information
about programming (see Unity Pro, Program Languages and Structure,
Reference Manual ).

33003101 07/2012

ST Editor

Step
5

Action
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.
or
z Using the button ... to open a variable selection dialog box (see page 1121).
Assign all parameters of the function block a variable/address in this way.
Example:

33003101 07/2012

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 page 1011) is performed. If the variables are not declared
yet a red wavy line under the name is used to identify them.
Example:

Declare all variables in the Data Editor (see page 340) or directly in the ST
section (see page 1019).
Result: The red wavy line under the variable name disappears.

1031

ST Editor

Changing the actual parameter using the function input assistant


Process the following steps to change actual parameters with the function input
assistant:
Step

Action

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.

Open the function input assistant (see page 1125):


z The Edit FFB Input Assistant... menu command..
z The FFB Input Assistant...menu commandfrom the shortcut menu (rightclick) for the section.
z Press the Ctrl+Ikey combination.
or
z Select the

symbol.

Result:
The function input assistant is opened with the current actual parameters.

Make the desired changes and confirm using OK.

Inserting FFBs via drag & drop


FFBs can also be inserted into the section via drag & drop using the Types Library
Browser.
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.
1032

33003101 07/2012

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 using the initial value
Process the following steps to assign values using the initial value:
Step

33003101 07/2012

Action

Call the function block for whose public variable you want to assign a value, see
also Calling an FFB, page 1022.

Open the data editor, see also Data Editor Access, page 302.

Select the Function Block tab.


Result:
The function block instances are displayed.

1033

ST Editor

Step

Action

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.

Enter the desired value for the public variable in the Value box.

Assigning values using the assignment operator


Process the following steps to assign values using the assignment operator:
Step

Action

Call the function block for whose public variable you want to assign a value, see
also Calling an FFB, page 1022.

Call the public variable, see also Using formal parameters, page 1019.
For example:
D_ACT1.OP_CTRL

Assign a value to the public variable.


For example:
D_ACT1.OP_CTRL := 1 ;

Reading public variables


See Using formal parameters, page 1019

1034

33003101 07/2012

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 (see Unity Pro, Program Languages and
Structure, Reference Manual ) in the Reference manual) or using an input assistant.
Selecting statements
Selecting statements:
Statement Description
IF

Call via menu command

The IF statement determines


Edit New IF
that a statement or a group of
Statement
statements will only be executed
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
(see Unity Pro, Program
Languages and Structure,
Reference Manual ),
ELSE (see Unity Pro,
Program Languages and
Structure, Reference
Manual ) and
ELSIF...THEN (see Unity
Pro, Program Languages
and Structure, Reference
Manual )

33003101 07/2012

Call via
symbol

Call via key


combination
F4

1035

ST Editor

Statement Description

Call via menu command

FOR,

The FOR statement repeats a


statement sequence until the
END_FOR statement. The
number of repetitions is
determined by the start value,
the end value and the control
variable.
See also in the Reference
manual:
FOR...TO...BY...DO...EN
D_FOR (see Unity Pro,
Program Languages and
Structure, Reference
Manual ),

Edit New FOR


Statement

WHILE

The WHILE statement causes a Edit New WHILE


sequence of statements to be
Statement
executed repeatedly until its
related Boolean expression is 0.
If the 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
(see Unity Pro, Program
Languages and Structure,
Reference Manual ),

F6

REPEAT

The REPEAT statement causes a Edit New REPEAT


sequence of statements to be
Statement
executed repeatedly (at least
once) until its related Boolean
condition is 1.
See also in the Reference
manual:
REPEAT...UNTIL...END_RE
PEAT (see Unity Pro,
Program Languages and
Structure, Reference
Manual ),

Shift + F6

1036

Call via
symbol

Call via key


combination
F5

33003101 07/2012

ST Editor

Statement Description
CASE

Call via menu command

Call via
symbol

The CASE statement consists of Edit New CASE


an INT data type expression
Statement
(the "selector") and a list of
statement groups. Each group is
provided with 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
(see Unity Pro, Program
Languages and Structure,
Reference Manual ),

Call via key


combination
Shift + F4

Calling a IF statement using the input assistant


Process the following steps to call a IF statement with the input assistant:
Step

33003101 07/2012

Action

Place the cursor at the beginning of an empty line.

Select the input assistant for IF statements, see also Selecting statements,
page 1035.
Result:
An empty IF statement is inserted into the section.

1037

ST Editor

Step
3

Action
Complete the IF statement with your data.
Result: A syntax and semantics check (see page 1011) is performed
immediately after the statement is entered.
Note: An input assistant is also provided for entering variables (see page 1016)
and calling FFBs (see page 1022) (functions, function blocks and procedures).
For example:

Calling a FOR statement using the input assistant


Process the following steps to call a FOR statement with the input assistant:
Step

1038

Action

Place the cursor at the beginning of an empty line.

Select the input assistant for FOR statements, see also Selecting statements,
page 1035.
Result:
An empty FOR statement is inserted into the section.

Complete the FOR statement with your data.


Result: A syntax and semantics check (see page 1011) is performed
immediately after the statement is entered.
Note: An input assistant is also provided for entering variables (see page 1016)
and calling FFBs (see page 1022) (functions, function blocks and procedures).
For example:

33003101 07/2012

ST Editor

Calling a WHILE statement using the input assistant


Process the following steps to call a WHILE statement with the input assistant:
Step

Action

Place the cursor at the beginning of an empty line.

Select the input assistant for WHILE statements, see also Selecting statements,
page 1035.
Result:
An empty WHILE statement is inserted into the section.

Complete the WHILE statement with your data.


Result: A syntax and semantics check (see page 1011) is performed
immediately after the statement is entered.
Note: An input assistant is also provided for entering variables (see page 1016)
and calling FFBs (see page 1022) (functions, function blocks and procedures).
For example:

Calling a REPEAT statement using the input assistant


Process the following steps to call a REPEAT statement with the input assistant:
Step

33003101 07/2012

Action

Place the cursor at the beginning of an empty line.

Select the input assistant for REPEAT statements, see also Selecting statements,
page 1035.
Result:
An empty REPEAT statement is inserted into the section.

1039

ST Editor

Step
3

Action
Complete the REPEAT statement with your data.
Result: A syntax and semantics check (see page 1011) is performed
immediately after the statement is entered.
Note: An input assistant is also provided for entering variables (see page 1016)
and calling FFBs (see page 1022) (functions, function blocks and procedures).
For example:

Calling a CASE statement using the input assistant


Process the following steps to call a CASE statement with the input assistant:
Step

1040

Action

Place the cursor at the beginning of an empty line.

Select the input assistant for CASE statements, see also Selecting statements,
page 1035.
Result:
An empty CASE statement is inserted into the section.

Complete the CASE statement with your data.


Result: A syntax and semantics check (see page 1011) is performed
immediately after the statement is entered.
Note: An input assistant is also provided for entering variables (see page 1016)
and calling FFBs (see page 1022) (functions, function blocks and procedures).
For example:

33003101 07/2012

ST Editor

Online functions
Online functions
The description of online functions is found in chapter Debugging in Textual
Languages (Structured Text, Instruction List), page 1361.

33003101 07/2012

1041

ST Editor

Export/Import IL Sections
Export/Import
The description for exporting/importing sections is found in the chapter Import /
Export, page 1701.

1042

33003101 07/2012

Unity Pro
LL984 Editor
33003101 07/2012

LL984 Editor

27
Overview
This chapter describes the specifics of the LL984 Editor.
What Is in This Chapter?
This chapter contains the following sections:
Section

33003101 07/2012

Topic

Page

27.1

Creating a Program with LL984 Programming Language

1044

27.2

Editing Contacts

1067

27.3

Editing Coils

1076

27.4

Editing Function Blocks

1085

27.5

Editing Links

1090

27.6

Editing Equation Network Blocks

1096

27.7

Assigning Variables to LL984 Objects

1104

27.8

Calling Subroutines

1108

27.9

Entering Comments

1110

1043

LL984 Editor

27.1

Creating a Program with LL984 Programming


Language

Overview
This section describes the basics for creating a program in the LL984 programming
language.
What Is in This Section?
This section contains the following topics:
Topic

1044

Page

Project Settings for LL984 Programs

1045

Structure of an LL984 Program

1046

Creating an LL984 Program

1049

Syntax and Semantics Check During Programming

1052

Network Display

1055

Navigating with the Keyboard

1056

Selecting Objects

1058

Deleting, Cutting, Copying, Pasting and Moving Objects

1060

Displaying the Properties

1064

Inserting and Deleting Rows/Columns

1065

33003101 07/2012

LL984 Editor

Project Settings for LL984 Programs


Introduction
Before creating an LL984 program, you should activate the following project
settings:
z Ladder Logic 984 (LL984)
(Project Settings Program Languages)
To be able to create LL984 sections and networks.
z Allow dynamic arrays (ANY_ARRAY_XXX)
(Project Settings Variables)
To be able to use dynamic arrays with the LL984 function blocks.

33003101 07/2012

1045

LL984 Editor

Structure of an LL984 Program


Introduction
The structure of an LL984 program corresponds to a rung for relay switching.
The left power rail is located on the left side of the LL984 Editor. This left power rail
corresponds to the phase (L conductor) of a rung.
The right power rail corresponds to the neutral conductor.
A group of connected objects that are not connected to other objects (except for the
power rails), is called a rung.
Properties of an LL984 program
z
z
z
z

1046

The logic of LL984 is programmed in networks.


Several networks are grouped in segments.
Each network contains a matrix of 7 rows and 11 columns, where you can place
contacts, coils, function blocks etc.
LL984 programs are cell oriented, i.e. only 1 object can be placed in each cell.
With the exception of vertical connections. They may coexist with other objects
(contact, coils, function blocks).
LL984 segments (and also LL984 networks inside segments) are executed in the
sequence in which they are displayed in the Structural View of the Project
Browser. To change this sequence, you can drag-and-drop LL984 segments or
LL984 networks inside the Structural View.
Objects in a network are executed top to bottom, left to right.

33003101 07/2012

LL984 Editor

A syntax and semantics check is performed immediately after the statement is


entered. The result of this check is displayed in colored text and objects.
Please refer to Syntax and Semantics Check During Programming
(see page 1052).
Syntactically or semantically incorrect segments or networks can be saved.

LL984 Program Objects


The objects of the LL984 programming language help to divide a network into a
number of:
z contacts (see page 1067)
z coils (see page 1076)
z function blocks
z equation network blocks (see page 1096)
z jumps and subroutine calls (see page 1108)
These objects can be linked with each other through:
z boolean connections and links (see page 1090)
z variables
Comments for the logic of the program can be added using text objects
(see page 1110).

33003101 07/2012

1047

LL984 Editor

Edit and View Functions


z
z
z
z
z
z
z
z

Selecting objects
Deleting objects
Cutting, copying and pasting objects
Moving objects (also between different LL984 sections)
Replacing objects
Undo and Redo
Using Bookmarks (see page 536)
Searching and replacing variables and function blocks (see page 1167)

FFB Input Features


The LL984 Editor provides 2 additional features to add function blocks to a network:
LL984 Instruction Bar (see LL984 Editor, Reference Manual, LL984 Specifics)
z mnemonics (see LL984 Editor, Reference Manual, LL984 Specifics)
z

Using mnemonics (see page 1089) you can also add coils and contacts to a
network.
Online functions
Displaying and modifying variable values using:
z animation tables (see page 1442)
z instruction editors (see page 1451)

1048

33003101 07/2012

LL984 Editor

Creating an LL984 Program


Introduction
The LL984 Editor window is made up of cells and 1 object can be placed in each
one. The cells are separated visually using a grid which can be switched off (View
Grid).
Creating an LL984 Program with the Mouse
Process the following steps to create an LL984 program with the mouse:
Step

Action

Create an LL984 network. (see page 465)

Select the desired object using:


z the menu commands in the Edit New <Object> menu
or
z the symbols for the objects in the toolbar

Click the target cells in the LL984 section.


Result: The selected object is inserted and the selection mode is active again.
Example:

Result: The mouse pointer indicates the selected object (placement mode).

Return to selection mode by clicking the


4

33003101 07/2012

symbol or pressing the ESC key.

To enter the respective actual parameters (variable/address), double-click the


object.
Result: The properties dialog box for the object is opened.
Example:

1049

LL984 Editor

Step

Action

Enter the desired actual parameter and a comment (if required) and confirm the
entries with OK.
Result: The names of the associated variables are displayed above the object.
NOTE: Entering a binary address opens the Create variable dialog. By this you
can create a variable associated with the entered address.

Repeat these steps until all objects are entered.

Creating an LL984 Program with the Keyboard


Process the following steps to create an LL984 program with the keyboard:
Step

Action

Create an LL984 network. (see page 465)

Using the keyboard, place the field with the gray background on the cell where
the object should be inserted.

Select the desired object using the function keys for the objects.
Result: The cursor symbol indicates the selected object.

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.
Example:

To return to selection mode, press the ESC key.


5

1050

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.
Example:

33003101 07/2012

LL984 Editor

Step

33003101 07/2012

Action

Enter the desired actual parameter and a comment (if required) and confirm the
entries with OK.
Result: The names of the associated variables are displayed above the object.
NOTE: Entering a binary address opens the Create variable dialog. By this you
can create a variable associated with the entered address.

Repeat these steps until all objects are entered.

1051

LL984 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 3 formats:
z
z
z

Directly in the program section with colored objects or texts.


As tooltip if the cursor is placed on an incorrect object.
In the output window, if Build Analyze is selected.

NOTE: Warnings are not visualized in the program section.


Colors of Objects/Texts
Color

Description

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


below text

invalid text. For example, variables which are not declared, variables with
an incorrect data type, etc.

Tooltips
If the cursor is placed over an incorrect object, a tooltip is displayed with a brief
description of the cause of the error/warning.
Messages in the Output Window
Error and warning messages are displayed in the output window after Build
Analyze.
Double-click an error or a warning message in the output window to navigate to the
affected object in the LL984 Editor.
Errors messages in contrast to warning messages must be fixed, because they
inhibit a successful Build.

1052

33003101 07/2012

LL984 Editor

Error Messages
The following is a list of example error messages that Analyze will display (E).
Error Message
illegal link
variable %1 must be located
only coils allowed in last column
only one coil per row
FFB type %1 isnt supported
last object in row must be coil
maximum column number allowed is 11
maximum row number allowed is 7
parameter %1 expects constant value
illegal constant value %1: %2
parameter %1 expects variable
unsupported object
dimension of %1 is too small, must be at least %2
dimension of %1 must be %2
variable %1 must be writable
parameter of %1 must be a multiple of %2
parameter of %1 must be a multiple of %2
usage of LL984 language is disabled
usage of SKP instruction is disabled
%1 only allowed in subroutine network
%1 must be in row1/column1
label %1 isnt unique
label %1 doesnt exist
subroutine segment doesnt exist
file %1 is missing
IMC template %1 doesnt exist
Non-latched usage of %1 detected, which is used also as latched

33003101 07/2012

1053

LL984 Editor

Warning Messages
The following is a list of example warning messages that Analyze will display (W).
Warning Message
expression expected (if no actual parameter is assigned to a contact)
variable expected (if no actual parameter is assigned to a coil)

Tolerated Problems
Analyze will tolerate the following problems.
Problem
missing connections (to power rails or other logic elements)
skipping from a subroutine network to a network of another subroutine in the LL984
subroutine segment, if the project setting "SKP enabled" is checked

1054

33003101 07/2012

LL984 Editor

Network Display
Introduction
The LL984 Editor can display various information concerning variables attached to
coils, contacts and function blocks.
This information is displayed above the respective coil, contact or function block
node and can be displayed by tooltip, too.
4 Different Views
You can define 4 different views (View 1 to View 4) via Tools Project Settings
Program LL984 Network Display.
According to the settings for View 1 to View 4 the LL984 Editor will show the
following information:
z address (e.g. %M100)
z 984-address (e.g. 400100)
z variable name
z variable comment
z descriptors 1 to 9
z topological address
For detailed information on how to define the different views, please refer to Project
Settings, section Program (see LL984 Editor, Reference Manual, LL984 Specifics).
View Switching
You can switch between the different views defined, using CTRL+W or using the

Change View Mode button (

).

The buttons tooltip shows the current view (View 1, 2, 3 or 4.

33003101 07/2012

1055

LL984 Editor

Navigating with the Keyboard


Using the Keyboard
The following keys and key combinations are provided for navigation:

1056

Key combinations

Motion

Left arrow

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.

Right arrow

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.

Up arrow

Moves the gray field in a cell to the up by one cell and


selects the contents of that cell.

Down arrow

Moves the gray field in a cell to the down by one cell and
selects the contents of that cell.

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.

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
network and shows this new location.

Ctrl+End

Positions the gray field in the upper right hand cell in this
network and shows this new location.

33003101 07/2012

LL984 Editor

Key combinations

Motion

Page Up

Scrolls the position of the gray field one page up and


shows this new position, as long as the first row is not
visible.
Displays the previous network/segment, if the first row is
already visible. You can also display the previous
segment/network via View GoTo Previous Section.

Page Down

Scrolls the position of the gray field one page down and
shows this new position, as long as the last row is not
visible.
Displays the next network/section, if the last row is already
visible. You can also display the next section/network via
View GoTo Next Section.
Using Page Down in the last network of a segment, if the
last row is already visible, will display a message box
asking you to create a new network.
Click Yes to open the New Network dialog.
Click No to open the next segment/network.

Space bar

Selects or deselects the object in the cells highlighted in


gray.

Shift + Space bar

The position of the gray field is moved one cell to the right.

Enter

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 the Select mode.

NOTE: You can also display a segment/network by double-clicking the respective


segment/network in the Structural View of the Project Browser.

33003101 07/2012

1057

LL984 Editor

Selecting Objects
Select Mode
Objects are selected in select mode.
Select mode can be activated using:
the Edit Select Mode menu command

z
z
z

the
symbol,
or
the Esc key

The

cursor symbol indicates that select mode is active

Selecting an Object
Using the Mouse

Using the Keyboard

Left-click the object you want to select.

Move the gray field to the cell with the object


to be selected, see also Navigating with the
Keyboard (see page 1056).

Selecting Several Objects


Using the Mouse

Using the Keyboard

1. Click the left mouse button and keep it


pressed.
2. Drag the mouse across the objects you
want to select.
or
1.
2.
3.
4.

1058

Selecting several objects:


1. Move the gray field to the cell with the first
object to be selected, see also Navigating
with the Keyboard (see page 1056).
2. Press the Shift+Space bar key
combination.
Left-click the first object you want to select.
Result: The object is added to the current
Press the Ctrl key and keep it pressed.
selection and the gray field is shifted one
Left-click the next object you want to
cell to the right.
select.
Repeat these steps until all desired objects 3. Repeat these steps until all desired
objects are selected.
are selected.

33003101 07/2012

LL984 Editor

Selecting by Rows
Using the Mouse

Using the Keyboard

Selecting the contents of a row:


1. Left-click the number of the row you want to select in the vertical
ruler.

Selecting the contents of several lines:


1. Left-click the number of the first line you want to select in the
vertical ruler.
2. Press the Shift key and keep it pressed.
3. Left-click the number of the last line you want to select in the
vertical ruler.

Selecting by 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
horizontal ruler.

Selecting the contents of several columns:


1. Left-click the number of the first column you want to select in the
horizontal ruler.
2. Press the Shift key and keep it pressed.
3. Left-click the number of the last column you want to select in the
horizontal ruler.

Selecting All
Using the Mouse

Using the Keyboard

Use the Edit Select All menu command.

Press the Ctrl+A key combination.

Using the Mouse

Using the Keyboard

Left-click an empty space in the section.

Move the gray field.

Deselecting Objects

33003101 07/2012

1059

LL984 Editor

Deleting, Cutting, Copying, Pasting and Moving Objects


Deleting Objects
Using the Mouse

Using the Keyboard

1. Select (see page 1058) the object to be


deleted.
2. Use the Edit Delete menu command.

Deleting the selected object:


1. Select (see page 1058) the 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 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
Using the Mouse

Using the Keyboard

1. Select the object to be cut.


2. Use the Edit Cut menu command.
or
Use Cut from the context menu (rightclick).

1. Select the object to be cut.


2. Press the Ctrl+X key combination.

Result: The selected object is cut from the section and copied to the clipboard. This is also
the case for the actual parameters.

The cut object can be inserted in any other position (also in another LL984 network).
Copying Objects to the Clipboard
Using the Mouse

Using the Keyboard

1. Select the object to be copied.


2. Use the Edit Copy menu command.
or
Use Copy from the context menu (rightclick).

1. Select the object to be copied.


2. Press the Ctrl+C key combination.

Result: The selected object is copied to the clipboard. This is also the case for the actual
parameters.

The cut object can be inserted in any other position (also in another LL984 network).

1060

33003101 07/2012

LL984 Editor

Pasting Objects from the Clipboard


Using the Mouse

Using the Keyboard

1. Use the menu command Edit Insert.


or
Use Paste from the context menu (rightclick).
2. Left-click the target position.

1. Move the cursor to the target position


pressing Ctrl and using the arrow keys.
2. Press the Ctrl+V key combination.
3. Press Enter.

NOTE: (for pasting contacts and coils) If the target position already contains a contact or
coil, the existing object is overwritten by the new object.
NOTE: The following is the behavior of the Copy, Cut and Paste on a function block
instance. It only applies to graphical languages as FBD, LD and LL984.
z Using the Paste function after a Copy of an object:

As a result of a Copy, a new function block instance (FBI name) is used. The Paste
function creates a new FBI whenever it is repeated. Accordingly, the FBI name is
incremented.
z Using the Paste function after a Cut of an object:
As a result of a Cut, the same instance of the function is used. The Paste function uses
the same FBI whenever it is repeated. Accordingly, the FBI is identical.

33003101 07/2012

1061

LL984 Editor

Moving Objects
Using the Mouse

Using the Keyboard

1. Select the object to be moved.


2. Position the mouse pointer on the
selected object. (On one of the selected
objects if several are selected).
Result: The mouse pointer changes its

1. Position the gray field on the object to be


moved.
2. Press the Space bar.
3. Press the Shift key and keep it pressed.
4. Move the object to the target position
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 its original position to the target position. The
objects actual parameters are moved together with the object. 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 LL984
networks.
NOTE: When objects are moved beyond the visible area of the editor window, automatic
scrolling of the window will not begin until you reach the edge of the window with the mouse
pointer, not as soon as the objects are moved beyond the edge.

1062

33003101 07/2012

LL984 Editor

Copying Objects via Drag-and-Drop


Using the Mouse

Using the
Keyboard

1. Select 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 LL984
networks.
6. Release the mouse button.
Result: A copy of the selected object is pasted at the target position. The
objects actual parameters (variable/address) are copied together with the
object. A new instance is automatically created for FFBs.

33003101 07/2012

1063

LL984 Editor

Displaying the Properties


Displaying the Object Properties
You have the following options to display the object properties dialog:
Double-click the object.
z Select (see page 1058) the object and use the Edit Properties... dialog.
z Select the object and use Properties from the context menu (right-click).
z Select the object and then press the Alt+Enter key combination.
z

When the properties dialog is called without an object being selected, the Network
Properties (see page 471) dialog is opened.
If several objects are selected, the commands do not work.
Displaying the Data Properties
You have the following options to display the Data Properties dialog
(see page 1128):
z Via the LL984 network:
Select an object and use Data Properties from the context menu or press the
Ctrl+Enter key combination.
z Via the Data Editor
Select the line of the respective object in the Data Editor and use Data
Properties from the context menu or press the Ctrl+Enter key combination or
use the Edit Data Properties dialog.

1064

33003101 07/2012

LL984 Editor

Inserting and Deleting Rows/Columns


Introduction
Each network contains a matrix of 7 rows and 11 columns.
But via Insert/Delete row and Insert/Delete column you can shift rows
downwards/upwards and shift columns to the right/left.
Rules for Inserting Rows/Columns
The following rules apply when inserting rows/columns.
The new row is inserted above the first selected row.
The content of the following rows will be shifted to the bottom.
z The new column is inserted left of the first selected column.
The content of the following columns will be shifted to the right.
z If there are no free rows/columns at the bottom/right of the network, the menu
items will be disabled.
z If the new row would intersect a middle or a bottom node of an FFB, the menu
items will be disabled.
z

Rules for Deleting Rows/Columns


The following rules apply when deleting rows/columns.
You can not delete a row/column containing any object.
z If there are no free rows/columns at the current position, the menu items will be
disabled.
z

Inserting Rows
Step

Action

Select the desired row in the vertical ruler (click the row number).

Use the Insert row menu command from the context menu of the vertical ruler
or use the Edit Insert row menu command.
Result: A row is inserted above the selected row.

Inserting Columns
Step

33003101 07/2012

Action

Select the desired column in the horizontal ruler (click the column number).

Use the Insert column menu command from the context menu of the horizontal
ruler or use the Edit Insert column menu command.
Result: A column is inserted left of the selected column.

1065

LL984 Editor

Deleting Rows
Step

Action

Select the desired row in the vertical ruler (click the row number).

Use the Delete row menu command from the context menu of the vertical ruler
or use the Edit Delete row menu command.
Result: The row is deleted. The rows below are shifted on row up. At the bottom
an empty row is inserted.

Deleting Columns
Step

1066

Action

Select the desired column in the horizontal ruler (click the column number).

Use the Delete column menu command from the context menu of the horizontal
ruler or use the Edit Delete column menu command.
Result: The column is deleted. The columns from the right are shifted one
column to the left. At the right side of the grid an empty column is inserted.

33003101 07/2012

LL984 Editor

27.2

Editing Contacts

Overview
This section describes how to edit contacts in the LL984 programming language.
What Is in This Section?
This section contains the following topics:
Topic

33003101 07/2012

Page

Selecting Contacts

1068

Placing Contacts

1070

Properties Dialog for Contacts

1073

1067

LL984 Editor

Selecting Contacts
Introduction
A contact is an LL984 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.
Information Concerning Variables
The LL984 Editor can display various information concerning variables attached to
coils, contacts and function block nodes.
This information can be displayed by tooltip, too.
For further information on how the variables attached to contacts are displayed,
please refer to Network Display (see page 1055).
Contact Types
Contact Type Description

Call via Menu Command

Normally open For normally open contacts, the status


contact
of the left link is copied to the right link,
if the status of the relevant Boolean
actual parameter is 1. Otherwise, the
status of the right link is 0.

Edit New Normally


open contact
or
Normally open contact from
the context menu

F3

Normally
For normally closed contacts, the status
closed contact of the left link is copied to the right link,
if the status of the relevant Boolean
actual parameter is 0. Otherwise, the
status of the right link is 0.

Edit New Normally


closed contact
or
Normally closed contact
from the context menu

Shift+F3

1068

Call via
Icon

Call via Key

33003101 07/2012

LL984 Editor

Contact Type Description

Call via Menu Command

Positive
transitionsensing
contact

With contacts for detection of positive


transitions, the right link for a program
cycle is 1 if a transfer of the relevant
actual parameter goes from 0 to 1 and
the status of the left link is 1 at the same
time. Otherwise, the status of the right
link is 0.
Also see Edge Recognition (see Unity
Pro, Program Languages and Structure,
Reference Manual ).

Edit New Positive


transition-sensing contact
or
Positive transition-sensing
contact from the context
menu

Ctrl+F3

Negative
transitionsensing
contact

With contacts for detection of negative


transitions, the right link for a program
cycle is 1 if a transfer of the relevant
actual parameter goes from 1 to 0 and
the status of the left link is 1 at the same
time. Otherwise, the status of the right
link is 0.
Also see Edge Recognition (see Unity
Pro, Program Languages and Structure,
Reference Manual ).

Edit New Negative


transition-sensing contact
or
Negative transition-sensing
contact from the context
menu

Ctrl + Shift +
F3

33003101 07/2012

Call via
Icon

Call via Key

1069

LL984 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.
The following are permitted as actual parameters for contacts:
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 611313 and must be explicitly enabled via the Tools Project Settings Program
Languages Common by activating the Usage of ST expressions check
box.
z

Automatically Assign a Variable


If via Tools Options Data and Languages Languages the Automatically
assign a variable to a new graphical object check box is activated, then the
corresponding properties dialog is automatically opened when an object is placed.
The procedures explained here are used when the check box is deactivated.
Placing Contacts
Step

1070

Action

Select the desired contact, see also Selecting Contacts (see page 1068).

Click the target cell in the LL984 section.


or
Use the Arrow keys to move the gray field to the target position, and press
Enter.
Result: The selected contact is inserted.

To place further contacts of the same type:


z Click the target cell in the LL984 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.

33003101 07/2012

LL984 Editor

Assigning Actual Parameters


Step

Action

Open the properties dialog (see page 1064) for the contact.
Result: The contacts properties dialog is opened.
Example:

You have the following options to enter the actual parameters:


z You can enter %Mx (%Ix) and confirm using Enter.
z You can 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 Data Selection dialog and confirm the
selected variables there with OK.

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 page 1052) is performed and the procedure ends
here.

z If the variable is not declared, a Create variable? dialog opens. In this case,

continue with the following steps of this procedure.

NOTE: If you wish to declare the variable later, close the dialog using the
symbol. In this case, the variable name is enabled in the section, but not
declared.
NOTE: Entering a binary address (%M1 / %I1) opens the Create variable
dialog proposing a variable name (_000001 / _100001) that can be modified. If
there is already a variable associated to %M1 / %I1 it will be reused as proposal.
33003101 07/2012

1071

LL984 Editor

Step
4

Action
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 is performed and the procedure ends here.
Example:

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.

Confirm with Enter or the


symbol.
Result: The variable is declared and enabled in the section. A syntax and
semantics check is performed immediately after the statement is entered.
Example:

Usage of ST Expressions
To enter ST expressions for contacts the same rules apply as for entering ST
expressions for FFB pins (see page 750).

1072

33003101 07/2012

LL984 Editor

Properties Dialog for Contacts


Calling the Properties Dialog
See Displaying the Properties (see page 1064).
Structure of the Properties Dialog
The contact properties dialog consists of 2 tabs:
z General
In this tab, you can enter the actual parameter (see page 1071) of the contact.
z Comment
In this tab, you can enter a comment about the contact.
General Tab
Representation of the General tab

33003101 07/2012

1073

LL984 Editor

Elements of the General tab


Element

Description

BOOLEAN
Expression

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 Data Selection dialog
(see page 1114).
The actual parameters which are permitted are:
Boolean variables
Boolean constants
Boolean addresses (topological addresses or symbolic addresses)
ST expression delivering a Boolean result (e.g. BoolVar1 OR
BoolVar1)
z Literal (1 or 0 or. TRUE or FALSE)
z
z
z
z

OK

Use this command button to accept the entries and close the dialog.

Apply

Use this command button to accept the entries without closing the
properties dialog.

NOTE: Entering a binary address (%M1 / %I1) opens the Create variable? dialog
proposing a variable name (_000001 / _100001) that can be modified. If there is
already a variable associated to %M1 / %I1 it will be reused as proposed.
Comment Tab
Representation of the Comment tab

1074

33003101 07/2012

LL984 Editor

Elements of the Comment tab

33003101 07/2012

Element

Description

Text box

Enter a comment about the contact.


This comment is displayed as a tooltip when the cursor is placed over
the contact. It is independent from the variable comment that can be
assigned to the variable in the Data Editor.

OK

Use this command button to accept the entries and close the dialog.

Apply

Use this command button to accept the entries without closing the
properties dialog.

1075

LL984 Editor

27.3

Editing Coils

Overview
This section describes how to edit coils in the LL984 programming language.
What Is in This Section?
This section contains the following topics:
Topic

1076

Page

Selecting Coils

1077

Placing Coils

1080

Property Dialog for Coils

1083

33003101 07/2012

LL984 Editor

Selecting Coils
Introduction
A coil is an LL984 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.
Information Concerning Variables
The LL984 Editor can display various information concerning variables attached to
coils, contacts and function block nodes.
This information can be displayed by tooltip, too.
For further information on how the variables attached to coils are displayed, please
refer to Network Display (see page 1055).
Coil Types

CAUTION
UNINTENDED EQUIPMENT OPERATION
Be sure of the output states after a PLC start when using latched and non-latched
coils.
Before using non-latched or latched coils, make sure that you completely
understand the different behavior of non-latched/latched coils.
z Non-latched Coils
A reset of the coil will be performed during warm-start and after STOP/RUN of
the PLC. Reset during warm-start works for %M addresses and %M-locatedvariables attached only.
z Latched Coils
In the first scan latched coils have the status of last scan before warm-start.
Failure to follow these instructions can result in injury or equipment damage.

Coil Type

Description

Call via Menu Command

Coil (nonlatched)

With coils, the status of the left link is


copied to the relevant Boolean actual
parameter and the right link.
For further information see below.

Edit New Coil


or
Coil from the context menu

33003101 07/2012

Call via
Icon

Call via
Keyboard
F5

1077

LL984 Editor

Coil Type

Description

Call via Menu Command

Latched coil

With latched coils, the status of the left


link is copied to the relevant Boolean
actual parameter and the right link.
For further information see below.

Edit New Latched coil


or
Latched coil from the context
menu

Call via
Icon

Call via
Keyboard
Shift+F5

PLC Start Behavior of Coils


z

Non-latched Coils
A reset of the coil will be performed during warm-start and after STOP/RUN of the
PLC. Reset during warm-start works for %M addresses and %M-locatedvariables attached only.
Latched Coils
Latched coils will maintain their state after a Stop/Start of the PLC and on warmstart. In the first scan latched coils have the status of last scan before warm-start.
This is the same behavior as normal coils show in IEC Ladder Diagram language.

Detailed information:
z For details when a warm-start is performed please see Processing of Power
Outage and Restoral for Premium/Quantum PLCs (see Unity Pro, Program
Languages and Structure, Reference Manual ).
Especially for the case of a Power Cycle this depends on the position of the PLCs
key switch (MemPrt/Start/Stop).
z For firmware version 2.8:
Latched coils are not maintained if the key switch is in the Start position.
z For firmware version 2.6:
Latched coils are maintained regardless of the key switch position.
z

1078

For details regarding the PLCs key switch refer to Key Switches (see Quantum
with Unity Pro, Hardware, Reference Manual).
For details regarding Cold Start and warm-start processing refer to Processing on
Cold Start for Premium/Quantum PLCs (see Unity Pro, Program Languages and
Structure, Reference Manual ) and Processing on Warm Restart for
Premium/Quantum PLCs (see Unity Pro, Program Languages and Structure,
Reference Manual ).

33003101 07/2012

LL984 Editor

Non-latched Coil Restriction


The following restriction applies for non-latched coils:
z If an address (or a variable located on this address) is attached to a normal LL984
coil (non-latched) and this address has other (latched) write usages somewhere
else in the program (for example an assignment in ST/FBD/LD or a latched coil
in an LL984 network), this will lead to the following analyze message:
Non-latched usage of %1 detected, which is used also as
latched.
This message will be reported for the non-latched coil(s) usage in LL984
networks only.
To help avoid this restriction, start a search for getting the occurrences of this
conflicting address.
Latched Coil Representation
A latched coil is represented by a circle with an L or an M in the middle.
Whether an L or an M will be displayed inside a latched coil can be define via Tools
Options Data and Languages LL984 Show latched coil as. Please
refer to Data and Languages (see LL984 Editor, Reference Manual, LL984
Specifics).

33003101 07/2012

1079

LL984 Editor

Placing Coils
Introduction
For placing coils the following restrictions apply:
Only 1 coil can be placed per row.
z No other object can be placed to the right of a coil. The coil is always the last
object in a row.
z If a coil is placed in a cell that is already occupied by another object (e.g. FFBs),
an error message is returned.
z

A placed coil automatically creates a connection with its neighboring objects on the
left 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)
Show Coils in Last Column
Using the main menu View you can activate the Show coil in last column setting.
If this setting is activated, each coil will be displayed in the last column with a dotted
line between its "real" location cell and the last column.
Otherwise each coil will be displayed at its "real" location cell.
NOTE: Activating this setting will switch the LL984 Editor to Read only mode. No
modifications are allowed inside the LL984 Editor. To leave the Read only mode,
just deactivate this setting.
Automatically Assign a Variable
If via Tools Options Data and Languages Languages the Automatically
assign a variable to a new graphical object check box is activated, then the
corresponding properties dialog is automatically opened when an object is placed.
The procedures explained here are used when the check box is deactivated.
Placing Coils
Step

1080

Action

Select the desired coil. See also Selecting Coils (see page 1077).

Click the target cell in the LL984 section.


or
Use the Arrow keys to move the gray field to the target position, and press
Enter.
Result: The selected coil is inserted.

33003101 07/2012

LL984 Editor

Step
3

Action
To place further coils of the same type:
z Click the target cell in the LL984 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.

Assigning Actual Parameters


Step

33003101 07/2012

Action

Open the properties dialog (see page 1064) for the coil.
Result: The coils properties dialog is opened.
Example:

You have the following options to enter the actual parameters:


z You can enter %Mx (%Ix) and confirm using Enter.
z You can 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 Data Selection dialog and confirm the
selected variables there with OK.

1081

LL984 Editor

Step
3

Action
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 page 1052) is performed and the procedure ends here.
z If the variable is not declared, a Create variable? dialog opens. In this case,
continue with the following steps of this procedure.

NOTE: If you wish to declare the variable later, close the dialog using the
symbol. In this case, the variable name is enabled in the section, but not
declared.
NOTE: Entering a binary address (%M1 / %I1) opens the Create variable?
dialog proposing a variable name (_000001 / _100001) that can be modified. If
there is already a variable associated to %M1 / %I1 it will be reused as proposal.
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 is performed and the procedure ends here.

1082

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.

Confirm with Enter or the


symbol.
Result: The variable is declared and enabled in the section. A syntax and
semantics check is performed.

33003101 07/2012

LL984 Editor

Property Dialog for Coils


Calling the Properties Dialog
See Displaying the Properties (see page 1064).
Structure of the Properties Dialog
The coil properties dialog consists of 2 tabs:
z General
In this tab, you can enter the actual parameter (see page 1081) of the coil.
z Comment
In this tab, you can enter a comment about the coil.
General Tab
Representation of the General tab

Elements of the General tab


Element

Description

BOOLEAN
Expression

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 Data Selection dialog
(see page 1114).
The actual parameters which are permitted are:
z Boolean variables
z Boolean addresses (topological addresses or symbolic addresses)

33003101 07/2012

1083

LL984 Editor

Element

Description

OK

Use this command button to accept the entries and close the dialog
box.

Apply

Use this command button to accept the entries without closing the
properties dialog box.

Comment Tab
Representation of the Comment tab

Elements of the Comment tab

1084

Element

Description

Text box

Enter a comment about the coil.


This comment is displayed as a tooltip when the cursor is placed over
the coil. It is independent from the variable comment that can be
assigned to the variable in the Data Editor.

OK

Use this command button to accept the entries and close the dialog
box.

Apply

Use this command button to accept the entries without closing the
properties dialog box.

33003101 07/2012

LL984 Editor

27.4

Editing Function Blocks

What Is in This Section?


This section contains the following topics:
Topic

33003101 07/2012

Page

Editing Function Blocks

1086

Using Mnemonics

1089

1085

LL984 Editor

Editing Function Blocks


Introduction
You can insert function blocks using one of the following features:
LL984 Instruction Bar
z Mnemonics
z Data Selection
z FFB Input Assistant.
z Types Library Browser,
z Copy/Paste
z

Inserting a Function Block


Step
1

Action
In the LL984 Editor right-click and select from the context menu either
z Data Selection (Ctrl+D) or
z FFB Input Assistant (Ctrl+I).

You can also insert a function block using:


drag-and-drop from the Types Library Browser (Alt+3), .
copy/paste
LL984 Instruction Bar
Mnemonics

z
z
z
z

1086

Enter the complete name of the function block (e.g. L9_SUB).

Confirm with Enter.

Click the cell where you want to insert the function block.
Result:
The function block is inserted (if allowed at this position).

33003101 07/2012

LL984 Editor

Representation of the FFB Input Assistant

You can also see the Comments displayed in the dialog above as a tooltip when the
cursor is placed over the respective pin of the function block.
Editing Values
To open the FFB Input Assistant for an already inserted function block, right-click
the function block and select FFB Input Assistant from the context menu.
Click the Entry Field and enter a value.
You are only allowed to edit the Entry fields displayed in black. Only the nodes (top,
middle, bottom) of a function block can be edited.
You can not edit the Entry fields displayed in grey (disabled).

33003101 07/2012

1087

LL984 Editor

Restrictions
For inserting function blocks the following restrictions apply:
Only LL984 library function blocks can be inserted in LL984 networks. If you try
to insert a function block of another library a message will inform you, that this is
not possible.
z You can not insert self-programmed DFBs in LL984 networks.
z LL984 library function blocks can not be inserted in IEC languages sections
(FBD, LD, ST, IL). SFC does not use function blocks.
z FBD and LD editors will refuse insertion and will display a message that
insertion is not possible.
z For textual languages (ST, IL) the call of an LL984 library function block will be
detected during Analyze.
z

1088

33003101 07/2012

LL984 Editor

Using Mnemonics
Introduction
Instead of inserting LL984 objects via toolbar, FFB Input Assistant, Data Selection
or drag-and-drop, you can use so called Mnemonics.
Mnemonics Option
Open the Tools Options dialog.
Under Data and Languages Languages LL984 Mnemonics the Property
label column lists the contacts and coils and an assortment of frequently used
functions blocks available for LL984 networks.
In the Property value column you can enter a mnemonic for each listed element.
A mnemonic can consist of up to 4 alphanumeric signs.
Using Mnemonics
As you start typing text, while the current cell marker is on an empty cell in the
LL9894 Editor, a small edit box opens in the editor.
Entering a mnemonic (first key typed will be taken over into the edit box) and
pressing the Enter key will insert the corresponding LL984 element at the current
cell.
If the cells needed to insert the element are already occupied, a message box will
inform you and the element will not be inserted.

33003101 07/2012

1089

LL984 Editor

27.5

Editing Links

Overview
This section describes how to edit links in the LL984 programming language.
What Is in This Section?
This section contains the following topics:
Topic

1090

Page

Selecting Links

1091

Combining Links

1092

Placing Links

1093

Editing Links

1095

33003101 07/2012

LL984 Editor

Selecting Links
Introduction
Links are connections between LL984 objects (contacts, coils, FFBs etc.).
Boolean connections comprise one or more cell-segments that connect Boolean
objects (contacts, coils) with one another.
z Boolean Connection (horizontal connection)
This horizontal connection enables series switching of contacts and coils.
The cell-segments of this connection can be created individually or as a complex
connection comprising several cell-segments.
z Boolean Link (horizontal link)
This horizontal link automatically creates a connection between neighboring
Boolean objects to the left and right or between an object and the power rail.
z Vertical Connection
This vertical connection enables parallel switching of contacts and coils.
Link Types
Link Type

Description

Call via Menu Command

Horizontal
connection

horizontal connection, 1 cell wide

Edit New Boolean


Connection
or
Boolean Connection from
the context menu

F7

Horizontal link A horizontal link creates a connection


between neighboring Boolean objects
to the left and right.
If there are no neighboring Boolean
objects available, a connection to the
power rail is made.

Edit New Boolean Link


or
Boolean Link from the
context menu

Alt+F6

Vertical
connection

Edit New Vertical


Connection
or
Vertical Connection from
the context menu

Shift+F7

33003101 07/2012

vertical connection, 1 cell high

Call via
Icon

Call via Key

1091

LL984 Editor

Combining Links
Boolean Links
Horizontal and vertical Boolean links can be combined in any way.
Example:

Contacts and Coils


Contacts and coils link automatically to existing horizontal or vertical links if no free
cells are found between them.
Example:

Crossing Boolean Links


If 2 Boolean links cross each other they are automatically connected. Since Boolean
links may not cross each other there is no special label for them.
Example:

1092

33003101 07/2012

LL984 Editor

Placing Links
Placing Horizontal Connections
Process the following steps to place a horizontal link.
Step

Action

Select the horizontal connection (Boolean Connection). See also Selecting


Links (see page 1091).

Click the target cell in the LL984 section.


or
Use the Arrow keys to move the gray field to the target position and press Enter.
Result: The link is inserted.

To place further links of the same type:


z Click the target cell in the LL984 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.

Placing Horizontal Links


Process the following steps to place a horizontal link.
Step

33003101 07/2012

Action

Select the horizontal link (Boolean Link). See also Selecting Links
(see page 1091).

Click the target cell in the LL984 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.

To place further links of the same type:


z Click the target cell in the LL984 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.

1093

LL984 Editor

Placing Vertical Connections


On the right side of the cells, there is space to create a vertical connection to the cell
below or above. Process the following steps to place a vertical connection.
Step

Action

Select the vertical connection (Vertical Connection). See also Selecting Links
(see page 1091).

Click the object 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.

To place further links of the same type:


z Click the target cell in the LL984 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.

1094

33003101 07/2012

LL984 Editor

Editing Links
Introduction
If you combine several horizontal links this will result in 1 horizontal link.
If you combine several vertical links this will result in 1 vertical link.
If you combine a horizontal and a vertical link this will result in a link made of 2
objects, a horizontal and a vertical link, that can be selected independent from each
other.
Deleting, Cutting, Copying, Pasting and Moving Links
You can delete, cut, copy, paste and move links.
For further information please refer to Deleting, Cutting, Copying, Pasting and
Moving Objects (see page 1060).
Modifying the Size of Links
Step

33003101 07/2012

Action

Select a link.
Result: Size handles are displayed at the beginning and at the end of the link.

Click a size handle with the left mouse button and keep it pressed.

Drag the size handle to the desired new end position of the link and release the
mouse button.

1095

LL984 Editor

27.6

Editing Equation Network Blocks

Overview
This section describes how to edit Equation Network Blocks in the LL984
programming language.
What Is in This Section?
This section contains the following topics:
Topic

1096

Page

Editing Equation Network Blocks

1097

Editing the ST Assignment Expression

1099

33003101 07/2012

LL984 Editor

Editing Equation Network Blocks


Introduction
Equation networks in the LL984 Editor are provided as Equation Network Blocks.
Equation network blocks offer an opportunity to program complex mathematical
functions, with values stored in memory words.
An Equation Network Block contains an assignment expression written in ST
language.
In general you can use the features provided by ST language as long as it is a valid
ST assignment expression.
Please refer to the Structured Text (ST) chapter (see Unity Pro, Program Languages
and Structure, Reference Manual ) and the ST Editor chapter (see page 1007).
Using the Equation Network Block
You can insert an Equation Network Block using the respective toolbar button, via
menu (Edit New Equation Network block) or via the editors context menu
(right mouse click).
An Equation Network Block can only be inserted in an LL984 network at row 1,
column 2. The block is 7 rows high and 9 columns wide.
On the left side of an equation network block there is an Enable input pin, where you
can connect a contact or a boolean connection.
On the right side there are 5 output pins (OK, Lower, Equal, Greater,Error), where
you can connect 5 normally open coils. After inserting these coils are displayed with
symbols inside according to the pin names (O, <, =, >, E).

33003101 07/2012

1097

LL984 Editor

Representation
Representation of the Equation Network Block

Items of the Equation Network Block


Item

Description

input pin Enable

you can connect a contact or a boolean connection to


enable the block

equation network block

expression written in ST language

output pins

OK (O): set when the equation is solved without problems


Lower (<): set when the equation result is less than zero
Equal (=)set when the equation result is equal to zero
Greater (>)set when the equation result is greater than zero
Error (E): set when a problem occurred during solving the
equation (see table below)

Problems During Solving


Problem

1098

Description

invalid operation

An internal message generated by the math coprocessor.

overflow

A value is too large to be represented in its specified data type.

underflow

A number is too small to be represented in FP format (for floating


point data only).

divided by 0

The variable, constant, or result of a function directly to the right of


a / operator has a value of zero.

33003101 07/2012

LL984 Editor

Editing the ST Assignment Expression


Introduction
After inserting an Equation Network Block double-click the displayed question
marks (?????) to enter the ST assignment expression.
Confirming with Enter will start an analysis and the found detected problems will be
displayed in a tooltip.
Animation of the memory words used inside the ST assignment expression can be
seen in a Variable Window. Please refer to Variable Display Window
(see page 1417).
Memory Addresses
A memory address entered in the ST assignment expression must start with one of
the following symbols, specifying the address type:
z %M (memory bit)
z %I (discrete input)
z %IW (input word)
z %MW (memory word)
The address type must be followed by an address number (no leading zeros
required).
Creating Variables Automatically
After confirming the ST assignment expression with Enter, for every entered
address a variable will be created automatically, which is used in the equation
network.
Examples
Address

Variable

%M1

_000001

%I1

_100001

%IW1

_300001

%MW1

_400001

The variable type is derived from its address suffix.


Suffix
no suffix

Variable Type
%Mx, %Ix
%IWx, %MWx

33003101 07/2012

EBOOL
UINT

INT

DI

DINT
1099

LL984 Editor

Suffix

Variable Type

UD

UDINT

REAL

WORD

The variable is mapped to the associated internal located memory.


For example: %IW1DI becomes the variable _300001_DI:DINT@%IW1.
Constants
Constants in equation networks have the same syntax as in other IEC editors (that
is without a leading # character).
Operators
Operators and their precedence
Operation

1100

Symbol

Precedence

Parentheses

(expression)

HIGHEST

Function evaluation

identifier (argument list)

Negation

Complement

Exponentiation

**

Multiply

Divide

Add

Subtract

Comparison

< , > , <= , >=

Equality

Inequality

<>

Boolean AND

&

Boolean Exclusive OR

Boolean OR

Assignment

:=

LOWEST

33003101 07/2012

LL984 Editor

The operators **, *, /, +, -, <<, >>, <, >, <=, >=, =, <>, &, ^ and | are supported as
they are implemented now in Unity Pro ST syntax. That is not all data type
combinations for operand types and the result type are supported.
NOTE: Unity Pro only supports a floating point value for the ** operator (EXPTfunctions).
NOTE: Bitwise logical AND, OR or XOR operations work like in ST syntax.
Ternary Conditional
Ternary conditional (C?t:f ), in contrast to legacy LL984, is not available in Unity Pro
ST syntax.
The already existing SEL function block provides this functionality and has to be
used instead.
Example:
Legacy syntax:
400010 := 300010 < 300020 ? 300004 : 300005
Unity Pro syntax:
%MW10 := SEL(%IW10 < %IW20, %IW4, %IW50);
With the following, automatically created by the editor:
_400010 := SEL(_300010 < _300020, _300004, _300005);
Bitwise Shift
Bitwise shift (<<, >>), in contrast to legacy LL984, is not available in Unity Pro ST
syntax.
The already existing SHL and SHR function blocks provide this functionality and have
to be used instead.
Example:
Legacy syntax:
400010 = 300010U << 3
Unity Pro syntax:
%MW100W := SHL(%IW10W, 3);
With the following, automatically created by the editor:
_400100_W := SHL(_300010_W, 3);

33003101 07/2012

1101

LL984 Editor

Function Blocks
In general you can use the function blocks provided for ST language.
In particular the following Unity Pro function blocks replace the legacy function
blocks listed below.
Legacy Function
Name

Unity Pro
Function Name

Argument
Type*

Return Type*

Meaning

ABS

ABS

S,U,L,UL,F

S,U,L,UL,F

absolute value

ARCCOS

ACOS

arc cosine

ARCSIN

ASIN

arc sine

ARCTAN

ATAN

arc tangent

COS

COS

cosine

COSD

COSD

cosine of degrees

EXP

EXP

exponent function (power of e)


(does not need to be a whole number)

FIX

REAL_TO

convert floating point to integer


(presumes an FP argument)

FLOAT

INT_TO

S, U, L, UL

converts integer to floating point


(presumes an integer argument)

LN

LN

natural logarithm (base e)

LOG

LOG

common logarithm (base 10)

SIN

SIN

sine of radians

SIND

SIND

sine of degrees

SQRT

SQRT

square root

TAN

TAN

tangent of radians

TAND

TAND

tangent of degrees

*: S=INT, U=UINT, L=DINT, UL=UDINT, F=REAL

1102

33003101 07/2012

LL984 Editor

Example of an LL984 Expression


Legacy syntax:
40701 = 40702U + COS(40703UL) * #8.00135F + SIN(40704);
Unity Pro syntax:
%MW701 := REAL_TO_UINT(WORD_TO_REAL(%MW702W) +
COS(WORD_AS_REAL(%MW703W, %MW704W)) * 8.00135 +
SIN(WORD_TO_REAL(%MW704W)));
With the following, automatically created by the editor:
_400701 := REAL_TO_UINT(WORD_TO_REAL(_400702_W) +
COS(WORD_AS_REAL(_400703_W, _400704_W)) * 8.00135 +
SIN(WORD_TO_REAL(_400704_W)));

33003101 07/2012

1103

LL984 Editor

27.7

Assigning Variables to LL984 Objects

Assigning Variables to LL984 Objects


Introduction
In the LL984 Editor you can assign a variable (like _400001 or sym1) or an address
(like %M1) to an FFB pin or to a contact/coil.
If the variable is not declared, the Create variable? dialog opens.
If the variable or address assigned is not compatible with the pin or contact/coil, a
message will be displayed in the output window after Build Analyze.
Automatic Variable Naming
If you, for example, assign an address (e.g. %MW1) to a pin, the Create variable?
dialog opens proposing a variable name (e.g. _400001) and a data type (e.g. UINT).
The following rules apply to this automatic proposal, depending on the address of
the actual parameter, the pin type and dimension (n) in case of an array type:
Address

Pin Type

Dimension (for
array types)

Variable Name

%MW1

UINT

1 (n)

_400001 (_400001_n)

%IW1

INT

_400001_I (_400001_In)

WORD

_400001_W (_400001_Wn)

UINT

1 (n)

INT

_300001 (_300001_n)
_300001_I (_300001_In)

WORD

_300001_W (_300001_Wn)

%I1

EBOOL

1 (n)

_100001 (_100001_n)

%M1

EBOOL

1 (n)

_000001 (_000001_n)

NOTE: For the most used pin types UINT and EBOOL no type suffix are appended
to the proposed variable name.

1104

33003101 07/2012

LL984 Editor

Use Case 1
Assignment to a pin of type UINT
User-Assigned
Address

Variable

Variable Created
and Assigned

Variable Type

%MW1

not existing yet

_400001

UINT

NOTE: As the pin type was UINT no type suffix was appended to the variable name.
Use Case 2
Assignment to a pin of type ARRAY[1...n] of UINT
User-Assigned
Address

Variable

Variable Created
and Assigned

Variable Type

%MW1

not existing yet

_400001_n

ARRAY[1...n] of UINT

Use Case 3
Assignment to a pin of type ANY or ANY_ARRAY_UINT or ANY_ARRAY_BOOL
(dynamic array)
The dimension (n) of a dynamic array will be provided by another dimension pin (e.g.
LENGTH) of the function block.
This dimension pin will be initialized during block insertion.
The dimension of the array will be calculated based on the dimension pin value
entered as actual parameter of the dimension pin.
z If the resulting type is a UINT array:
dimension = dimension pin value.
z If the resulting type is a Boolean array:
dimension = dimension pin value * 16.
User-Assigned
Address

Variable

Variable Created
and Assigned

Variable Type

%MW1

not existing yet

_400001_n

ARRAY[1...n] of UINT

If you modify n on the dimension pin to n2:

33003101 07/2012

User-Assigned
Address

Variable

Variable Created and


Assigned

Variable Type

%MW1

not existing yet

_400001_n2

ARRAY[1...n2] of UINT

%MW1

already existing _400001_n2


attributes (like descriptors,
comments etc.) are taken
over

ARRAY[1...n2] of UINT

1105

LL984 Editor

Use Case 4
Assignment to a pin of type DDT1
User-Assigned
Address

Variable

Variable Created
and Assigned

Variable Type

%MW1

not existing yet

_400001_DDT1

DDT1

Memory Consumption
If you create any kind of located variables (elementary type, array or DDT) this will
not increase memory consumption on the PLC (except for Upload information).
New Variable Creation
If you assign a different address or modify a dimension pin, a new variable will be
created.
The old attributes (except the address) will be overtaken and the old variable will be
deleted, if it is not used anywhere else in the program.
Invalid Variables
If you create a located variable with an address range which exceeds the address
range defined under State RAM of the CPUs Configuration tab, the following
message will be displayed after Build Analyze:
Topological address index is not valid.
There are different ways to solve this issue:
Click the message displayed in the output window to open the Data Editor and
adapt the address of the variable.
z Click the message displayed in the output window to open the Data Editor and
delete the variable and create a new variable with an applicable address range.
z Adapt the address range defined under State RAM of the CPUs Configuration
tab.
z

NOTE: If you just create a new variable at the pin of the function block without
deleting the previously created, invalid variable the message mentioned above will
be displayed again after next Build Analyze.
Example:
Under State RAM of the CPUs Configuration tab you entered a value 10000 for
%MW.
In your program you have an L_BLKM function block with LENGTH = 10.
At the SOURCE pin of the function block you enter following value: %MW9999.
This results in creation of the following variable:
_409999:ARRAY[1..10] OF UINT@%MW9999
1106

33003101 07/2012

LL984 Editor

As the start address is %MW9999 and the length is 10, the end address will be
%MW10009.
This exceeds the address range (10000) defined under State RAM of the CPUs
Configuration tab.
Therefore the message mentioned above will be displayed after Build Analyze.

33003101 07/2012

1107

LL984 Editor

27.8

Calling Subroutines

Calling Subroutines
Introduction
Calling subroutines is managed by 3 function blocks:
L9_JSR
z L9_LAB
z L9_RET
z

For detailed information please refer to the function block descriptions (see Unity
Pro, Original LL984, Block Library).
Up to 1023 subroutines can be established.
Unity Pro does not support interrupt handling with LL984 subroutines.
Restrictions
For the calling subroutines feature the following restrictions apply:
Only one LL984 segment can be created inside the subroutine (SR Section)
node of the MAST task.
z L9_LAB and L9_RET function blocks can only be placed in an LL984 subroutine
network in the SR Sections.
z An L9_LAB function block can only be placed in row 1, column 1 of an LL984
subroutine network.
z

Subroutine Structure
A subroutine is identified by a number (1.. 1023).
Subroutines are called by the L9_JSR function block within an LL984 network
(normal or subroutine network).
Two additional function blocks, which are only available in subroutine networks,
mark the starting point (L9_LAB function block) and ending point (L9_RET function
block) of a subroutine.
A subroutine may span multiple networks.
The L9_RET function block is optional and this explicit ending point of a subroutine
can be omitted,
z if the last subroutine network is the last network of the subroutine segment or
z if a new subroutine network (L9_LAB) would entered.
The L9_RET function block or the implicit forms, return from the current subroutine
network to the calling L9_JSR function block with an OK status.

1108

33003101 07/2012

LL984 Editor

Nesting
A subroutine may call other subroutines or recursively call itself up to 100 times.
If the maximum nesting level is reached, an implicit return is performed and the ERR
output of the L9_JSR function block is set.
A nesting level problem message is propagated to the (99) cascaded L9_JSR
function blocks.
Further cascaded L9_JSR function blocks, which are being executed after a nesting
level problem, do not succeed to call a subroutine and the ERR output is being set
until the nesting level stack has been unwound.
NOTE: The message is only visible at those L9_JSR function blocks, contributing to
the problem. A dedicated problem treatment is possible on each calling level.
Subsequent L9_JSR function blocks of a segment are not influenced by this
problem.
Please also refer to the L9_JSR function block description (see Unity Pro, Original
LL984, Block Library).

33003101 07/2012

1109

LL984 Editor

27.9

Entering Comments

Entering Comments
Introduction
Comments can be placed in LL984 sections 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 (Build Build Changes).
Selecting the Text Object
You have the following options to select text objects:
Use the Edit New Comment menu command.
z Use the Comment menu from the context menu.
z Press the F8 key.
or
z

Select the

symbol.

The active placement mode for text objects is indicated by the

1110

cursor symbol.

33003101 07/2012

LL984 Editor

Placing Text Objects


Step

Action

Select the text object.

Click the target cell in the LL984 section.


or
Use the Arrow keys to move the gray field to the target position and press Enter.
Result: The text object is inserted.
Example:

Enter the comment.

Confirm the text entered with:


z Clicking with the mouse outside of the text object

or
z Pressing the Enter key.

33003101 07/2012

To insert further text objects:


z Click the target cell in the LL984 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.

1111

LL984 Editor

1112

33003101 07/2012

Unity Pro
Data Selection Dialog Box
33003101 07/2012

Programming Languages Data


Selection Dialog Box

28

Overview
This chapter describes the dialog boxes provided for data selection that can be
called from the various programming languages.
What Is in This Chapter?
This chapter contains the following topics:
Topic

33003101 07/2012

Page

Variable selection dialog box

1114

FFB Selection Dialog box

1116

FFB Type Selection Dialog box

1119

Data selection dialog box

1121

Function Input Assistant

1125

Data Properties

1128

Generate variables

1131

1113

Data Selection Dialog Box

Variable selection dialog box


Structure of the properties dialog box
The variable selection dialog box consists of two tabs:
Variables
You can select an elementary variable or an element of a multi-element variable
in this tab.
z Function Blocks
You can select a formal parameter of a function block instance in this tab.
z

Variables tab
Representation of the tab Variables tab:

Elements of the Variables tab:

1114

Element

Description

Text box

The selected variables are displayed in this text box.

button

Double click the command button to open a dialog box for filtering
(see page 377) variables.

Name

The name of the variable to search for can be entered in this text box.
You can also use the joker * and ?.

In Structure

When you activate this check box, all structured variables are
displayed.

Name

The names of the variables are displayed in this column.

Type

The types of the variables are displayed in this column.

Comment

The comments for the variables are displayed in this column.

33003101 07/2012

Data Selection Dialog Box

Function Blocks tab


Representation of the Function Blocks tab:

Elements of the Function Blocks 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 page 377)
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 joker * and ?.

Default name

When you activate this check box, 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).

NOTE: Help for the Type..


Hold down the Alt+F1 keys and then click on the function block type for which you
wish to access Help.

33003101 07/2012

1115

Data Selection Dialog Box

FFB Selection Dialog box


Structure of the properties dialog box
The dialog box for selecting function block instances and function types/function
block types consists of two tabs in FBD and LD:
z Function Blocks
You can select a function block instance in this tab.
z Function Types/Function Block Types
You can select a function type or function block type in this tab.
Function Blocks tab
Representation of the Function Blocks tab:

Elements of theFunction Blocks tab:

1116

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 page 377) 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 joker * and ?.

Default name

When you activate this check box, 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.
33003101 07/2012

Data Selection Dialog Box

Element

Description

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).

NOTE: Help for the Type..


Hold down the Alt+F1 keys and then click on the function block type for which you
wish to access Help.
Function Types/Function Block Types tab
Representation of the Function Types/Function Block Types tab:

33003101 07/2012

1117

Data Selection Dialog Box

Elements of the Function Types/Function Block Types tab:

1118

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 types shown.
Note:
Alternatively, you can also hold down Alt+F1 and then click on the
function block type for which you want to access Help.

button

Use this command button to open a dialog box for filtering


(see page 377) 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 enable this check box, Elementary Function types (EFs)
are displayed.

EFB

When you enable 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).

33003101 07/2012

Data Selection Dialog Box

FFB Type Selection Dialog box


Structure of the properties dialog box
In the Function Input Assistant dialog box: FFB type selection you can select a
function type or function block type in this tab..
Function Input Assistant: FFB Type Selection
Representation of the dialog box:

Elements of the Function Types/Function Block Types dialog box:

33003101 07/2012

Element

Description

Text box

The selected function or 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.
Note:
Alternatively, you can also hold down Alt+F1 and then click on the
function block type for which you want to access Help.

button

Use this command button to open a dialog box for filtering


(see page 377) 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 enable this check box, Elementary Function types (EFs)
are displayed.
1119

Data Selection Dialog Box

1120

Element

Description

EFB

When you enable 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).

33003101 07/2012

Data Selection Dialog Box

Data selection dialog box


Structure of the properties dialog box
The data selection dialog box consists of three tabs in IL and ST:
z Variables
You can select an elementary variable or an element of a multi-element variable
in this tab.
z Function Blocks
You can select a function block instance in this tab.
z Function Types/Function Block Types
You can select a function type or function block type in this tab.
Variables tab
Representation of the tab Variablestab:

Elements of the Variables tab:

33003101 07/2012

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 page 377) variables.

Name

The name of the variable to search for can be entered in this text box.
You can also use the joker * and ?.

EDT

When you activate this check box, elementary variables are displayed.

1121

Data Selection Dialog Box

Element

Description

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.

Function Blocks tab


Representation of the Function Blocks tab:

Elements of theFunction Blocks tab:

1122

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 page 377)
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 joker * and ?.

Default name

When you activate this check box, 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).

33003101 07/2012

Data Selection Dialog Box

Element

Description

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).

NOTE: Help for the Type..


Hold down the Alt+F1 keys and then click on the function block type for which you
wish to access Help.
Function Types/Function Block Types tab
Representation of the Function Types/Function Block Types tab:

Elements of the Function Types/Function Block Types tab:

33003101 07/2012

Element

Description

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.
Note:
Alternatively, you can also hold down Alt+F1 and then click on the
function block type for which you want to access Help.

button

Use this command button to open a dialog box for filtering


(see page 377) 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 ?.
1123

Data Selection Dialog Box

1124

Element

Description

EF

When you enable this check box, Elementary Function types (EFs)
are displayed.

EFB

When you enable 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).

33003101 07/2012

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 page 593)
z LD (see page 732)
z IL (see page 993)
z ST (see page 1023)
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 page 611)
z LD (see page 751)
z IL (see page 1002)
z ST (see page 1032)
Function Input Assistant
Representation:

33003101 07/2012

1125

Data Selection Dialog Box

Elements:

1126

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.
or
z Using the button ... you can open a dialog box to select FFB
(see page 1117) 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.
or
z Using the button ... a dialog box for FFB instances selection
(see page 1116) .

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.
or
z Using the button ... a dialog box for variables selection
(see page 1114) .

33003101 07/2012

Data Selection Dialog Box

Element

Description

Adding a pin

Using this button you can increase thenumber of inputs


(see page 615) 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.

33003101 07/2012

Removing pin(s)

Using this button you can decrease the number of inputs


(see page 615) 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.

1127

Data Selection Dialog Box

Data Properties
Introduction
The anchored window (see page 1867) Data Properties is used to display and
modify the variables and FFB properties.
The Data Properties window can be called up
using the Data Editor (see page 299).
a. Select one or several lines in the Data Editor.
b. Select Properties from the context menu.

the programming language sections


a. Select one or several element(s) in the programming language section.
b. Select Data Properties from the context menu or press CTRL+Enter.

the tab I/O Objects of a module


a. Select one or several lines in the Address/Name/Type table.
b. Select Data Properties from the context menu.

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, page 366

CAUTION
LOSS OF DATA
Before changing a data in the Data Properties window, ensure that the change is
appropriate not only to the selected instance of this data, but also to all other
instances of this data.
Failure to follow these instructions can result in injury or equipment damage.

1128

33003101 07/2012

Data Selection Dialog Box

Structure of the Window


The contents of the window depend on the selected object:
Window Data Properties for elementary variables:

Window Data Properties for function blocks:

Columns Available
The following table shows the different columns available in the Data Editor under
various tabs.

33003101 07/2012

Name

Description

Name

name of the instance or data type

Comment

comment for the variables/function blocks


Via the context menu, the comment can be linked to a
Hyperlink (see page 1821).

1129

Data Selection Dialog Box

1130

Name

Description

Address

address in the controller for referencing the variables

984 Address

LL984 address of the variable (%Mx = 00000x, %Ix = 10000x,


%IWx = 30000x, %MWx = 400001)
This column is only available for Quantum PLCs (but not for
Quantum Safety PLCs).

RW program

Shows if the variable can or can not be written by the program.

Value

initial value for the variables

Alias

name selected by the user which makes it possible to change


an IODDT, DDT or an Array element to a name defined by the
manufacturer or the user
See also: Managing an IODDT, DDT or an Array type
instance, page 355.

Alias of

complete path of the variable sub-field on which user sets


Alias attribute

Save

Shows if the variable accepts the mechanism for updating


initial values with current values.

Constant

Shows if the variable is a constant or not.

Global data

Shows if the variable is a variable that was swapped between


different stations via the network.

Global data
- Group

number of the group (the variables) in which the variable is


transported

Global data
- ID

number for the unique display of a variable in the group (the


variables)

Descriptor

descriptors (1 to 9) of variables
Descriptor 1 is displayed after selecting this column in the
Column Configuration dialog. Descriptors 2 to 9 can be
displayed using the + sign in the Descriptor column header.

Type

data type

Category

EDT, DDT or IODDT

Size

memory size

Used

number of times the variable/function block is used in the


program and in other parts of the project (animation tables,
user windows)

Custom

free text for use of an external tool or for special user


requirements

No.

order number of a function block

Version

type version

33003101 07/2012

Data Selection Dialog Box

Generate variables
Representation
Representation of the dialog box:

Items
Elements of the dialog box:
Element

Description

Name

Name of the variables to generate (maximum length = 32 characters).

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.

33003101 07/2012

Address

Address of the variables to generate (optional).

Comment

Comment for the variables to generate (optional).

1131

Data Selection Dialog Box

1132

33003101 07/2012

Unity Pro
I/O objects
33003101 07/2012

I/O Objects tab

29
Subject of this Chapter
This chapter describes the I/O objects tab, which is used to associate variables with
the module I/Os and to manage these different variables.
What Is in This Chapter?
This chapter contains the following topics:
Topic

33003101 07/2012

Page

Introduction to the I/O Object Tab

1134

I/O Objects Tab for a Processor

1136

I/O Objects Tab for a Module

1138

Details of Areas in the I/O Objects Tab

1140

I/O Objects Tab for a Bus Device

1145

How to Use the I/O Objects Tab

1146

1133

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

Displaying I/O objects (topological addressing)

X (1)

X (2)

Filtering all located objects of the PLC

Filtering I/O objects

X (1)

X (2)

Sorting all located objects of the PLC

Sorting I/O objects

X (1)

X (2)

Creating an IODDT variable for a module

Creating an IODDT variable for a channel

Creating a topological EDT variable

Presymbolizing a set of IODDT variables for a


module

Presymbolizing a set of topological EDT variables

For Quantum and Modicon M340 PLCs, displaying


X
the correspondence between the topological address
and State RAM.

X
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
z

1134

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).
The tab is accessible in offline and online mode.

33003101 07/2012

I/O objects

Operating Rules
The main operating rules are as follows:
z
z
z
z
z
z

33003101 07/2012

This tab can be used to create and associate variables, but not to delete them.
To delete a variable created by this tab, you must use the data editor.
Multiple presymbolization can only be used on compatible objects (of the same
type).
For the processors, the tab only allows PLC objects to be displayed (variables
cannot be associated).
The control loops built into the processor are regarded as module channels, and
consequently, creation and presymbolization are possible.
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).

1135

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 an inrack module 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 page 1138).
Illustration
Example of an I/O Objects screen for a Modicon M340 processor.

1136

33003101 07/2012

I/O objects

Description
The different areas of the screen are as follows:

33003101 07/2012

Zone

Description

CPU objects (see page 1140)

This zone can be used to select PLC system


and memory objects that you would like to
view in the Address Name Type Comment
zone.

I/O Objects (see page 1141)

This zone can be used to select processor I/O


objects that you would like to view in the
Address Name Type Comment zone.

Update (see page 1144)

This zone allows you to start the update of the


information in the Address Name Type
Comment zone.

Address Name Type Comment


(see page 1143)

Zone used to view and select data. The


contents of this zone are obtained using the
buttons and selections of the previous zones.
The Quantum State RAM column is added.

1137

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 page 1136).
Illustration
Example of an I/O objects screen for an Premium X bus module.

1138

33003101 07/2012

I/O objects

Description
The different areas of the screen are as follows:
Zone

Description

Create I/O variable (see page 1142)

This zone can be used to create variables and


to associate them with channels or channel
elements with a comment for each variable.

I/O Objects (see page 1141)

This zone can be used to select processor I/O


objects that you would like to view in the
Address Name Type Comment zone.

Update (see page 1144)

This zone allows you to start the update of the


information in the Address Name Type
Comment zone.

Address Name Type Comment


(see page 1143)

Zone used to view and select data. The


contents of this zone are obtained using the
buttons and selections of the previous zones.
For Quantum and Modicon M340, the State
RAM column is added.

NOTE: For Modicon M340 I/O modules only the topological I/O objects are
displayed. It is not possible to instantiate an IODDT.

33003101 07/2012

1139

I/O objects

Details of Areas in the I/O Objects Tab


At a Glance
The I/O Objects tab is available for:
Modules in the rack and their channels,
z Processors and their channels,
z Process control loops,
z Communication bus devices.
z

The following paragraphs give details of the areas available from this tab.
Illustration of the CPU Objects Area
The CPU Objects area is only available for the processor. This appears as follows:

Description of the CPU Objects Area


The selection of different objects using checkboxes %S, %SW, %M, %MW, %MD, %MF,
%KW, %KD and %KF enables these to be displayed in the Address Name Type
Comment area for Premium or the Address Name Type State RAM Comment
area for Modicon M340 and Quantum, once the Update Grid with... button is
pressed, in the Update area.
NOTE: For Premium/Atrium PLCs double-type instances of located data (%MD<i>,
%KD<i>) or floating (%MF<i>, %KF<i>) should be located by an integer type
(%MW<i>, %KW<i>). Only I/O objects make it possible to locate type instances
(%MD<i>, %KD<i>, %QD, %ID, %MF<i>, %KF<i>, %QF, %IF) by using their
topological address (for example %MD0.6.0.11, %MF0.6.0.31).
NOTE: For Modicon M340 PLCs, double-type instances of located data (%MD<i>,
%KD<i>) or floating (%MF<i>, %KF<i>) are not available.
NOTE: For Modicon M340 PLCs, the index (i) value must be even (see Unity Pro,
Program Languages and Structure, Reference Manual ) for double-type instances
of located data (%MW and %KW).

1140

33003101 07/2012

I/O objects

Illustration of the I/O Objects Area


The I/O Objects area is available for modules, processors, control loops and bus
devices. It appears as follows:

Description of the I/O Objects Area


The selection of different objects using checkboxes enables these to be displayed
in the Address Name Type Comment area, once the Update Grid with... button is
pressed, 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 configuration 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.

33003101 07/2012

1141

I/O objects

Illustration of the Create I/O Variable Area


The Create I/O Variable area is only available for modules, control loops and bus
devices. It appears as follows:

Description of the Create I/O Variable Area


Having selected one or more objects in the Address Name Type Comment area,
you can select an IODDT type and create one or more variables of this type by
clicking The I/O Objects tab is available for:Create.
Operating rules:
By selecting a line in the Address Name Type Comment area, you can create
a variable for which you can enter the name. You can also assign a comment to
the variable.
z By selecting several homogenous (same type) lines from the Address Name
Type Comment area, you can automatically create several variables with
identical prefixes (the first variable with the suffix 0 the second 1, the third 2, etc.).
This method also applies for the variable comment (the first comment will have
the suffix 0, the second 1, and the third 2, etc.).
z When the selected variable(s) is/are of EDT type, the type area is grayed out.
Type selection is only available when several types are available.
z

1142

33003101 07/2012

I/O objects

Illustration of the Address Name Type Comment Area


The Address Name Type Comment area is available for all I/O Objects tabs. These
appear as follows:

Description of the Address Name Type Comment Area


This area enables you to:
z Display the objects selected in the CPU Objects and I/O Objects areas,
z Select one or more object lines in order to create variables and associate
variables with these,
z Open (see page 1149) the Data Properties window,
z View the comment associated with the variable.
For Quantum PLCs, an additional column is available:
z

33003101 07/2012

State RAM is used to view the correspondence between the topological address
and State RAM.

1143

I/O objects

Illustration of the Update Area


The Update area is available for all I/O Objects tabs. These appear as follows:

Description of the Update Area


By clicking the Update Grid with... button, you can update the Address Name
Type Comment area from the information selected in the CPU Objects and I/O
Objects areas.
The Address Name Type Comment area is also used to select objects in order to
create variable names and comments 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 Comment area.
The Filter on use button is used to display only those objects used in the project.
The addresses, names, types and comments and use checkboxes are used,
respectively, to display:
z The Address column,
z the Name and Type and Comments columns,
z In bold the variables used in the program.

1144

33003101 07/2012

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, Fipio (Premium) and CANopen (Modicon M340) 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 page 1138) tab.

33003101 07/2012

1145

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 using Unity Pro.
For information on the different possible actions, refer to the pages describesing this
tab for:
z Processors (see page 1136)
z Modules (see page 1138)
z Communication bus devices (see page 1145)
A description of the main procedures for carrying out these actions is given below.
How to Display Required Objects
The following table shows the procedure for displaying a list of objects associated
with a processor, module or communication bus device.
Step

Action

In the CPU objects (see page 1140) area or I/O objects (see page 1141)
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.

In the Update (see page 1144) area, click Update Grid with....
Result: the Address Name Type Comment (see page 1143) 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 Object


The following table shows the procedure for selecting an object associated with a
processor, module or communication bus device.
Step
1

1146

Action
In the Address Name Type Comment (see page 1143) area, click the line of
the object to select.
Result: the line appears in reverse video, and the Create I/O variable
(see page 1142) area becomes accessible for modules and communication
bus devices, for creating a variable associated with the selected line.
Note: If the Address Name Type Comment area is empty or contains no
object to select, see the section How to Display Required Objects
(see page 1146).

33003101 07/2012

I/O objects

How to Create a Variable for an Object


The following table shows the procedure for creating a variable for a module object
or communication bus device object.
Step

Action

In the Address Name Type Comment (see page 1143) area, click the line of
the object to select.
Result: the line appears in reverse video, and the Create I/O variable
(see page 1142) area becomes accessible for modules and communication
bus devices, for creating a variable associated with the selected line.
Note: If the Address Name Type Comment area is empty or contains no
object to select, see the section How to Display Required Objects
(see page 1146).

In the Create I/O variable (see page 1142) area, select the type of variable to
create (if available).
Note: When the variable is an EDT type (such as DINT, INT, BOOL, EBOOL
type variables) or when the available IODDT is unique, the choice of type is not
available.

In the Create I/O variable (see page 1142) area, enter the name of the
variable to be created.

In the Create I/O variable (see page 1142) area, enter the comment for the
variable to be created.

In the Create I/O variable (see page 1142) area, click Create.
Result: a new variable is created, which is associated with the object selected
in the Address Name Type Comment (see page 1143) area.

How to Select a List of Objects


The following table shows the procedure for selecting several objects associated
with a module or communication bus device.
Step

33003101 07/2012

Action

In the Address Name Type Comment (see page 1143) area, click the left
column (gray column of object numbers) on the first object to select.

Hold down the mouse button and slide the cursor down to the last element to
select.
Result: the list of selected objects appears in reverse video.

1147

I/O objects

How to Create Variables Associated with a List of Objects


The following table shows the procedure to create variables associated with several
homogenous objects from a module or communication bus device.
Step

1148

Action

In the Address Name Type Comment (see page 1143) area, click the left
column (gray column of object numbers) on the first object to select.

Hold down the mouse button and slide the cursor down to the last element to
select.
Note: If the Address Name Type Comment area is empty or contains no
objects to select, see the section How to Display Required Objects
(see page 1146) in order to select a contiguous list of objects to select.

In the Create I/O variable (see page 1142) area, select the type of variable to
create (if available).
Note: When the selected variables are of 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.

In the Create I/O variable (see page 1142) 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.

In the Create I/O variable (see page 1142) area, enter the prefix of the
comment to be associated with all selected objects.
Note: This prefix will be associated with a number to form the comment for
each variable. The first object will be number 0, the second 1, the third 2, etc.
Example: if you enter the prefix Comment, the created comments will be:
Comment0, Comment1, Comment2, Comment3, etc.

In the Create I/O variable (see page 1142) area, click Create.
Result: the new variables are created and appear in the Address Name Type
Comment (see page 1143) area.

33003101 07/2012

I/O objects

How to Access Data Properties


The following table provides a step-by-step procedure for accessing the Data
Properties window from the I/O tab.
Step

Action

In the Address Name Type Comment (see page 1143) area click on the
variable whose properties you wish to display.

Right-click on Properties.
Result: the Data Properties window is displayed.
Once it is open, this window displays the properties of the variable selected in
the Address Name Type Comment area.

Frequently Asked Questions


Below is a list of the most commonly asked questions you may have on the use of
the I/O Objects tab.
Question

Answer

How can I sort the objects list into


alphabetical order in a column?

Simply click on the name of the column to be


sorted.

How can I display the variables and objects


used in my project?

The variables and objects used in a program


appear in bold and the others are not yet
used.

How can I filter the objects in the Address


Name Type Comment area?

Use the check boxes of the Update area.

Why are the Address Name Type Comment Possible reasons include:
z You have not yet updated the area by
or Address Name Type State RAM
clicking Update Grid with....
Comment areas empty?
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.

33003101 07/2012

1149

I/O objects

Question

Answer

Why is the Quantum State RAM column


empty?

z The Address Name Type State Ram

Possible reasons include:


Comment area is empty, refer to the
previous question.
z The elements displayed are not
associated with State RAM.

Why is variable creation not available?

1150

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).

33003101 07/2012

Unity Pro
Memory Tab
33003101 07/2012

Memory Tab

30
Memory Tab
Overview
The Memory tab is only available for the Modicon M340 hardware platform
equipped with a State RAM memory area.
It allows defining the type of memory management for the selected input / output
module.
The option you select here must comply with the type of memory management you
selected for the processor (see page 1282).
The following settings are possible:
If...

Then...

Topological memory management is


configured for the processor

you can only select Topological memory


management for the discrete and analog
modules.

Mixed topological and State RAM memory


management is configured for the processor

you can select either Topological or Mixed


topological and State RAM memory
management for the discrete and analog
modules.

The memory management settings of the modules are compared with the memory
management settings of the processor during Analyze. If any inconsistencies are
detected, an appropriate message is displayed in the output window.
The type of memory management you selected for the processor will be used as
default setting for the Memory Management parameter in the Memory tab.
Any application made with Unity Pro version 6.1 and later is automatically
configured with address configuration for topological addressing as the default
setting.
NOTE: If you want to import a legacy LL984 Compact application which uses
Modbus request to communicate with an HMI, you have to use State RAM
addressing to preserve the Modbus exchange between PLC and HMI.
33003101 07/2012

1151

Memory Tab

Specific Configuration Dialogs in Case of LL984 Import


If an ST section has been created during import to emulate Compact configuration
behavior (see LL984 Editor, Reference Manual, LL984 Specifics), the converter
creates a specific I/O module configuration with specific configuration dialogs
(see LL984 Editor, Reference Manual, LL984 Specifics).
The Memory Management area is grayed and the choice is fixed to Mixed
topological and State RAM.
In the State RAM area Format and Coding are defined by the converter.
You can only delete these modules. Copy and paste of these modules is not
possible.
Memory Management
The area Memory Management of the Memory tab provides the following options:
Option

Description

Topological

Select this option to work with pure topological


addressing.
If this mode is selected, the parameters in the
State RAM area of this dialog box are disabled.

Mixed topological and State RAM Select this option to work with a mixture of topological
and State RAM addressing.
With this option selected, define further State RAM
options in the State RAM area of this tab for the
different types of modules.
NOTE: With this type of memory management, all
channels are associated with only one task (MAST or
FAST).

NOTE:
If you select Mixed topological and State RAM for Memory Management the
following online features are disabled:
z I/O Objects
z Memory
z Debug
z Fault

1152

33003101 07/2012

Memory Tab

State RAM Configuration for Discrete Modules


Depending on the selected module, the State RAM area of the Memory tab
contains parameters for discrete input modules, discrete output modules or for
discrete mixed modules. They are available if the option Mixed topological and
State RAM is selected in the Memory Management area.
The figure below shows the Memory tab for a discrete mixed input / output module
as an example:

The State RAM area contains the following parameters:


Parameter

Description

Format

z Bit: Select this option for channel mapping in the discrete mode. This

means that each channel is mapped to a %I (inputs) or %M (outputs).


z Word1: Select this option for channel mapping in the word mode. This

means that a group of 8 channels is mapped to a %IW (inputs) or %MW


(outputs).
Coding

33003101 07/2012

This parameter is only available for channel mapping in word mode, that is if
the parameter Format is set to Word.
z Binary: Select this option to use the binary integer format.
z BCD: Select this option to use the BCD coding format.

1153

Memory Tab

Parameter

Description

Mapping

This parameter allows you to define the starting addresses for the inputs
and outputs.
The following sizes of the memory areas are possible:
z For inputs in Bit format: %I-1x
z For inputs in Word format: %IW-3x
z For outputs in Bit format: %M-0x
z For outputs in Word format: %MW-4x
NOTE: The State RAM address starts at address 0, but the first available
address for discrete and analog modules is %I1, %M1, %IW1, and %MW1.

(1)
z
z

When Word is selected as the Format, the LSB of the Word is mapped to:
Input 0 on discrete input modules
Output 0 on discrete output modules

NOTE: All channels of a discrete module must be configured. It is not possible to


leave a group of channels un-configured.
NOTE: You can use State RAM objects in event sections, but they are refreshed
with the frequency of the task where they are declared.
NOTE: State RAM addresses are not checked during input. If any range overlapping
is detected or any address exceeds the range of the State RAM, an appropriate
message is displayed at the validation screen or during Analyze.

1154

33003101 07/2012

Memory Tab

State RAM Configuration for Analog Modules


Depending on the selected module, the State RAM area of the Memory tab
contains parameters for analog input modules, analog output modules or for analog
mixed modules. They are available if the option Mixed topological and State RAM
is selected in the Memory Management area.
The figure below shows the Memory tab for a mixed analog input / output module
as an example:

The State RAM area contains the following parameters:


Parameter

Description

Mapping

This parameter allows you to define the starting addresses for the
inputs and outputs.
The following sizes of the memory areas are possible:
z For inputs in Word format: %IW-3x
z For outputs in Word format: %MW-4x

NOTE: State RAM addresses are not checked during input. If any range overlapping
is detected or any address exceeds the range of the State RAM, an appropriate
message is displayed at the validation screen or during Analyze.

33003101 07/2012

1155

Memory Tab

1156

33003101 07/2012

Unity Pro
Type Library Browser
33003101 07/2012

Type Library Browser

31
Overview
This chapter describes the type library browser.
What Is in This Chapter?
This chapter contains the following topics:
Topic

33003101 07/2012

Page

Access to the Type Library Browser

1158

Description of the Type Library Browser

1160

Configuration of Columns of the Type Library Browser

1163

Drag & Drop of FFBs in a program section

1165

1157

Type Library Browser

Access to the Type Library Browser


At a Glance
Functions and function blocks (FFBs) can be dragged from the type library browser
into a program section and stored (Drag & Drop).

1158

33003101 07/2012

Type Library Browser

Accessing the Browser


Step
1

Action
In the Tools menu, select the Type Library Browser option or click the Type
Library Browser button

in the language editor toolbar.

(To close the Type Library Browser click the button again).
2

33003101 07/2012

Result: The following window appears.

1159

Type Library Browser

Description of the Type Library Browser


Calling the Type Library Browser
See Access to the Type Library Browser, page 1158.
Structure of the window
Appearance:

1160

33003101 07/2012

Type Library Browser

Elements:
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

Click this button to update the display corresponding to the


filter term defined in the Name field.

Button

Click this button to open a dialog box (see page 377) for
defining the filters.

Button

Click this button to invert the filter. The button changes from
= to <> and vice versa.

Name (Text Box)

The name of the functions and function block types to search


for can be entered in this text box. You can also use the joker
* and ?.

EF

When you enable this check box, Elementary Function types


(EFs) are displayed.

EFB

When you enable this checkbox, Elementary Function Block


types (EFBs) are displayed.

DFB

When you enable this checkbox, Derived Function Blocks


(DFBs) are displayed.

Name (List)

This column displays the names of the function types and


function block types and their formal parameters.

Type

This column displays the types of the function types and


function block types.

Comment

This column displays the comments for the function types


and function block types.

Closing the Type Library Browser the currently selected Library name, Family
name and type check boxes (EF, EFB, DFB) are saved. If you open the Type
Library Browser again, these items will be preset.
33003101 07/2012

1161

Type Library Browser

Shortcut menu structure


Additional different commands can be executed via the context menu of the Type
Library Browser.
Shortcut menu commands:

1162

Menu command

Description

Copy into 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 drop down list
the Library Name which makes it quicker to access the type
in the project.

Expand All

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.

Collapse

Use this menu command to hide the formal parameters of


the selected function and function component type. The
same function is also available via the - symbol in front of the
function block type names.

Customize Columns...

Using this menu command you can:


z define the columns (see page 1163) to be displayed and
z define the sequence (see page 1163) for the columns
shown.

Help on Type

Use this button to open the help for the selected function or
function block types shown.

Data Properties

Use this menu command to call the Data Properties


(see page 1128) dialog box for the selected function and
function block type.

33003101 07/2012

Type Library Browser

Configuration of Columns of the Type Library Browser


Introduction
You can use the Column Configuration dialog box to:
z
z

define the columns that you want to display,


define the sequence for the columns shown.

Call the dialog box:


You can call up the Column configuration dialog box from the shortcut menu in the
Type Library browser (see page 1160).
Call the dialog box
Representation:

Elements:

33003101 07/2012

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 enable this checkbox, the Type Library Browser


and the versions of the functions and function blocks types
are shown.

Comment

When you enable this checkbox, the Type Library Browser


and the comments for the functions and function blocks
types are shown.

1163

Type Library Browser

Element

Description
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.

1164

33003101 07/2012

Type Library Browser

Drag & Drop of FFBs in a program section


Procedure
To insert a function or function block (FFBs) using drag & drop, carry out the
following steps:
Step

33003101 07/2012

Action

Open a program section

Open the Types Library Browser per drag & drop.


z the Tools Type Library Browsermenu command.
or
z press the key combination Alt+3.

Select the desired function/function block and hold down the left mouse button.

Drag the selected function/ function block types in the program section.

Release the mouse button.


Result:
z The FFB is 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 page 1125) is automatically
opened for inputting the current parameters.

1165

Type Library Browser

1166

33003101 07/2012

Unity Pro
Search/Replace
33003101 07/2012

Search/Replace Tool

32
Subject of this Chapter
This chapter presents the Search / Replace tool and how to use its main functions:
z
z

the Search function is used to look for data,


the Replace function is used to replace data.

What Is in This Chapter?


This chapter contains the following topics:
Topic

33003101 07/2012

Page

Overview of the Search / Replace tool

1168

General Features for Search/Replace

1170

Searching for Data

1171

Replacing Data

1172

Search Toolbar

1173

Data Search Dialog

1174

Cross-References (Search Results)

1176

Cross-References (Replace)

1179

Tracing Variables / Addresses

1181

1167

Search/Replace

Overview of the Search / Replace tool


Introduction
The Search / Replace tool provides you with the following functions:
the Search function,
z the Replace function.
z

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 Function
This function lets you replace objects such as:
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 (%M,
%MW, etc.) and their type must correspond to that of the objects being replaced.
The replacement can done on the search results and initiated at the result window.
Accessing the Data Search Dialog
To open the Data Search dialog
z
z

1168

click the Data Search


button in the toolbar or
use the Tools Search / Replace menu (Alt+5).

33003101 07/2012

Search/Replace

Predefined Search
To start a predefined search
z from the Data Editor or
z from a language editor window,
select the object whose references you want to see and use Initialize Search from
the context menu.
Another way is to select a variable in a language editor window. Doing so, the list
box of the search toolbar (see page 1173) contains the variable name. Press Enter
to start searching. You can also use 2 special buttons from the toolbar to search for
reading/writing references (see page 1173).

33003101 07/2012

1169

Search/Replace

General Features for Search/Replace


Copy / Paste
You can use copy and paste in the following instances:
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.
z

Drag-and-Drop
You can use drag-and-drop for search.
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.
Protection
The Search function is always available. Protection applies to:
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.
z

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 can not 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
z
z
z
z

1170

the position and size of the window,


the selection of search parameters,
the 10 most recent entries in the drop-down menu,
the current view (structural/functional and full/shortened/flat),
the contents of the Unity Pro Search / Replace output window.

33003101 07/2012

Search/Replace

Searching for Data


Searching via Data Search Dialog
To search data using the Data Search dialog, you must perform the following
actions:
Step
1

Action
Open the Data Search dialog
z by clicking the Data Search button
in the toolbar or
z by using the Tools Search / Replace menu (Alt+5) and pressing the Data

Search button in the Cross-References window (see page 1176).


Result:
The Data Search Dialog is displayed.
2

Specify the search options in the Data Search Dialog (see page 1174).

Click the Search button.


Result:
The search results are displayed in the Cross-References window
(see page 1176).

Predefined Search
To start a predefined search
z from the Data Editor or
z from a language editor window,
select the object whose references you want to see and use Initialize Search from
the context menu.
Another way is to select a variable in a language editor window. Doing so, the list
box of the search toolbar (see page 1173) contains the variable name. Press Enter
to start searching. You can also use 2 special buttons from the toolbar to search for
reading/writing references (see page 1173).

33003101 07/2012

1171

Search/Replace

Replacing Data

To access the data replace function, you must perform the following actions:
Step
1

Action
After searching for data (see page 1171) the search results are displayed in the
Cross-References dialog (see page 1176).

2
In the Cross-References dialog click the
with area of the dialog.

button to display the Replace

Enable the check boxes for those references of the search results which should
be replaced.

z Enter the replacement data (only data compatible with the data being

searched for is tolerated)


z or click the Down arrow to select the replacement data out of a list providing

the last 10 entries


z or click the ... button to open a Data Selection dialog to select the instance

or data to be replaced (only the instances compatible with the instance being
searched for are displayed)
5

1172

Click the Replace button to start the replacement operation in the preselected
Scope. Please refer to Data Search dialog (see page 1174).

33003101 07/2012

Search/Replace

Search Toolbar
Introduction
The main toolbar of Unity Pro provides a Data Search button with a list box beside
it to select or to enter a search string.

Start Searching
To start searching the selected or entered search string press Enter.
The default search options are used.
The options can be changed by pressing the Data Search button left to the list box
instead of pressing Enter.
The search results are displayed in the Cross-References dialog (see page 1176)
and a jump to the first occurrence of the searched data is done.
Data Search Dialog
To open the Data Search dialog (see page 1174) click the binoculars symbol.
Searching for Reading/Writing References
To search for reading/writing references only, you can use
z the Data Search dialog (see page 1174) or
z two special buttons from the toolbar (see below).
Button

Description
Click this button to start searching for reading references only.
The current search options, defined in the Data Search dialog, are
used but the Write option is ignored.
Click this button to start searching for writing references only.
The current search options, defined in the Data Search dialog, are
used but the Read option is ignored.

Using one of these 2 buttons initiates a direct jump to the first found occurrence of
the reading/writing reference (for example, into the containing network).
If instead of a direct jump to the first found occurrence of the reading/writing
reference the Data Editor is opened, either deactivate the Overlapping
(see page 1174) option or click the Go to next reference button (see page 1176).

33003101 07/2012

1173

Search/Replace

Data Search Dialog


Representation

Description
Elements of the Search tab

1174

Element

Description

Find what

Enter the complete variable name you want to search for.


Click the Down arrow to display a list providing the last 10 search
strings.
Click the ... button to open a Data Selection dialog to select the
object you want to search for.

Scope

Select the scope where you want to search.


The different scopes are:
z application
z a specific DFB of the project
z all scopes (application + all DFBs)

Search button

Starts the search and opens search results window (CrossReferences).

Close button

Closes the dialog.

Help button

Opens the Help for this dialog.

Read

Limits the search to reading references.

Write

Limits the search to writing references.

33003101 07/2012

Search/Replace

Element

Description

Overlapping

Activate this check box to search for all complete and partial
references.

Indirect

Activate this check box to search for sub-elements and direct


parents of structured variables and arrays.

Max level of
indirection

Defines the maximum level of indirect elements (subelements/parents) to be displayed.

Context

Limits the search to a specific context.


Any: no contextual search
FFB: variable passed to an FFB
Coil: variable attached to a LD/LL984 coil
Contact: variable attached to a contact
SFC Object: variable used with an SFC object
ST/IL Statement: variable used with an ST/IL statement

z
z
z
z
z
z

The context is displayed as an optional column in the search


results.

33003101 07/2012

Keep previous
results

Activate this check box to keep the previous search results.


Otherwise, the search results window (Cross-References) is
cleared before the new search results are displayed.

Output to pane 2

Deactivate this check box to display the search results in the Find
Result 1 tab of the search results window (Cross-References).
Activate this check box to display the search results in the Find
Result 2 tab of the search results window (Cross-References).

1175

Search/Replace

Cross-References (Search Results)


Introduction
The Cross-References search results dialog displays the results of a search.
Representation

Description
Elements of the Cross-References dialog
Element

Description

Find Result 1 tab


Find Result 2 tab

Depending on the respective check box activated in the Data


Search dialog (see page 1174), the search results are displayed in
one of the 2 tabs.
Displays the search results in a similar manner to the structural
view in the Project Browser.
Displays the search results in a similar manner to the functional
view in the Project Browser.
Displays the search results in Full form.
z Data declaration
z Path
z Data usage

1176

33003101 07/2012

Search/Replace

Element

Description
Displays the search results in Shortened form.
z Data declaration
z Data usage
Displays the search results in Flat form.
z Data usage

Selects the previous reference of the search results.


Selects the next reference of the search results.
Jumps directly to the currently selected found occurrence of the
reference.
Jumps directly to the previous found occurrence of the reference
(for example into the containing network).
Jumps directly to the next found occurrence of the reference.
Opens the Data Search dialog.
Displays/hides the Replace with area of the dialog
(see page 1179).
Reference

Type

This column displays the name of the instance or type


(DDT/IODDT/EFB/DFB) of the data searched for. The details
displayed depend on the display settings described above (Full,
Shortened, Flat).
This column displays
z type and reference of the data searched for,
z programming language used in the sections, subroutines,

events, etc. that contain references to the data searched for.

33003101 07/2012

Usage

This column displays


z the nature of the references to the data searched for (read only,
write only, read / write),
z the data search area.

Context

Specific context as defined in the Data Search Dialog


(see page 1174).

Unit

This column displays the unit of the Location.

Location

This column displays the location of the data searched for in a short
form.

1177

Search/Replace

Sorting Order
When the search results are displayed in Full or Shortened form sorting can only
be done by Reference or Type.
When the search results are displayed in Flat form sorting can also be done by
reference related columns (Usage, Context, Unit and Location).
The search results are first sorted by their path (Program, Task, Segment,
Section/Network).
The search results of sections/networks are sorted by a second key, depending on
the kind of the section/network.
z References within IEC language sections (FBD, LD, SFC, ST, IL) are sorted by
row and column.
z References within LL984 networks are sorted by column and row.
You can re-sort the search results by clicking on a specific column.
Re-sorting by multiple keys is not supported.

1178

33003101 07/2012

Search/Replace

Cross-References (Replace)
Introduction
The Cross-References (Search Results) dialog (see page 1176) displays the
results of a search.
To display the Replace with area of the dialog use the

button.

Representation

33003101 07/2012

1179

Search/Replace

Description
Elements of the Replace with area of the dialog
Element

Description

Replace with
To display this area of the dialog use the
button.
z Enable the check boxes for those references of the search
results which should be replaced.
z Enter the replacement data (only data compatible with the data
being searched for is tolerated),
z or click the Down arrow to display a list providing the last 10
entries,
z or click the ... button to open a Data Selection dialog to select
the instance or data to be replaced (only the instances
compatible with the instance being searched for are displayed).
Replace button

1180

Starts the replacement operation in the preselected Scope. Please


refer to Data Search dialog (see page 1174).

33003101 07/2012

Search/Replace

Tracing Variables / Addresses


Introduction
Using the tracing feature, you can locate the occurrences of a variable/address in
an application.
Tracing
Step
1

Action
Select an object in a language editor window.
Result:
The address attached to the object is displayed in the edit field of the Search
Toolbar (see page 1173).
Start a search either
z by pressing the Enter key or
z by means of one of the 2 special buttons next to the edit field of the Search

Toolbar (Searching for Reading/Writing References (see page 1173)).


Result:
z The search results are displayed in the Cross-References dialog

(see page 1176).


z A direct jump is initiated to the first found occurrence of the reading/writing

reference (for example into the containing network).


z A new automatic Search_<Search String> bookmark is created (to be

able to jump back later on). This bookmark is inserted into the bookmarks list
like any other manually created bookmark. Automatically created bookmarks
(see page 539) are displayed in gray and can not be renamed.

33003101 07/2012

Double-click a search result, displayed in the Cross-References dialog, to jump


to the respective read/write location.

With the bookmarks feature you can mark one or more of the shown locations in
the language editor. These bookmarks can be used later on to jump to from the
bookmarks window.

From the bookmarks window you can also select the automatic Start of Search
bookmark for going back to the original starting position of the search.
NOTE: You can delete automatically generated bookmarks via the bookmarks
window.

1181

Search/Replace

1182

33003101 07/2012

Unity Pro
DFB
33003101 07/2012

Users Function Blocks

33
Overview
This chapter describes how to use the users function blocks: DFB.
What Is in This Chapter?
This chapter contains the following sections:
Section

33003101 07/2012

Topic

Page

33.1

DFB Type

1184

33.2

DFB Instance

1204

33.3

How to Create Nested DFBs

1216

1183

DFB

33.1

DFB Type

Purpose of this section


This section describes the types of DFB.
What Is in This Section?
This section contains the following topics:
Topic

1184

Page

DFB Type

1185

Creating a DFB Type

1187

Configuration of a DFB Type

1188

Programming a DFB type

1191

Deleting a DFB type element

1194

Archiving a DFB Type

1195

How to protect a DFB type

1196

Deleting a DFB Type

1198

How to access the attributes of a DFB type

1199

Authorized DFB Type Modifications

1201

33003101 07/2012

DFB

DFB Type
General information about DFBs
A DFB (Derived Function Block) is a user function block that has been customized
to take the specific nature of your project into consideration. It can be stored in the
user-defined library.
To use a DFB in your application, you must:
z
z

Create a users function block model called DFB type (see Unity Pro, Program
Languages and Structure, Reference Manual ),
Use the available copies of the model called DFB instances (see Unity Pro,
Program Languages and Structure, Reference Manual ) in your project.

Online Help for DFB Types (Help on Type)


It is possible to link an HTML help file to each DFB in the user-defined library.
This file must have a name that is identical to the linked DFB and the extension
must be *.htm.

z
z

For Windows XP this file must be located in the directory:


C:\Documents and Settings\All Users\Application Data\Schneider
Electric\Unity Pro\CustomLibset/Vx.x/Language.

for Windows Vista this file must be located in the directory:


C:\ProgramData\Schneider Electric\Unity Pro\CustomLibset/Vx.x/Language.

Language is named ENG, FRE, GER, ITA, SPA or CHI according to the
language desired.
Creating Help on Type
Step

33003101 07/2012

Action

Create an HTML help file for your DFB (for example with any kind of HTML
editor).
Note: The HTML file name must be exactly the same as the name of your DFB.

Copy this file into the respective language folder (ENG, FRE ...).

Create an additional folder called HELP in the same directory as the language
folders.

Copy all the files (for example graphics) you are referencing in your HTML file to
the HELP folder.

Install your user-defined library in Unity Pro.


Result:
All the files will be copied to the Libset directory and the HTML help file will be
launched when you click the Help on Type button.

1185

DFB

Accessing a DFB Type


To create a DFB type, you must use the program Unity Pro.
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.
Accessing DFB Types Via the Derived FB Types Directory
To access the DFB types via the Derived FB Types directory, do the following:
Step

1186

Action

In the structural view of the project browser, right-click on the directory Derived
FB Types.
Result: A shortcut menu is opened.

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.

33003101 07/2012

DFB

Creating a DFB Type


How to create a DFB type
To create a DFB type (see Unity Pro, Program Languages and Structure, Reference
Manual ), you must do the following:
z

Enter a name on the empty line to create the empty structure of the DFB type,

configure the DFB type,

program the DFB Type (in the codes section).

Creating a DFB type


Do the following to create the empty structure of a DFB Type:
Step

Action

Open the DFB types (see page 1185) register tab in the data editor.
Result: The list of existing DFBs is displayed.

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.

33003101 07/2012

1187

DFB

Configuration of a DFB Type


How to Configure a DFB Type
To configure a DFB type (see Unity Pro, Program Languages and Structure,
Reference Manual ) you must:
z
z
z

input the parameters of the DFB: input, output and input/output


input the DFB variables: public or private
Input the DFB description.

Input of the Parameters and Variables


Carry out the following actions to input the parameters and the variables for a DFB:
Step

1188

Actions

Go to the DFB types (see page 1185) tab of the data editor.
Result: the list of existing DFBs is displayed on the screen.

Click on the + sign positioned in front of the name of the DFB type to be configured.
Result: the DFB type is expanded, which gives access to its various directories (input, output, etc.).

Click on the + sign of the directory that you want to expand: input, output, input/output, public,
private.

33003101 07/2012

DFB

Step

Actions

Select the first empty Name cell (indicated by an arrow) and enter the name of the parameter or the
variable, then confirm using Enter.
Result: the data is created with a BOOL type by default (or with the last type selected).

Repeat steps 4 and 5, for all data to be input.

33003101 07/2012

1189

DFB

Parameter Type Modification


Carry out the following actions to modify the type of DFB parameter:
Step

Actions

Double click on the Type cell associated with the desired parameter.
Result: you have access to the list of available types (see page 1121).

Select a new type and confirm using Enter.


Result: data is modified with the new type.
Note:The MFB can be programmed in a DFB. To do this setup the type of an input by typing AXIS_REF.
(this type name is not proposed in the list box but is a valid type for a DFB input).
Note: The IODDT related to CANopen devices for Modicon M340 cannot be used as a DFB I/O
parameter. During the analyse/build step of a project, the following message:"This IODDT cannot be
used as a DFB parameter" advises the limitations to the user.

New Pin Number Allocation


Carry out the following actions to allocate a new pin number to a DFB parameter
(when parameter is created, a default pin number is allocated):
Step

1190

Actions

Only for input, output and input/output directories:


if you want to allocate a new pin number to every element of data, double click
on the relevant No. cell.
Result: the arrow is replaced by a data entry field.

Enter the desired new pin number then Enter to validate.


Result: the data is associated with the selected pin number.

33003101 07/2012

DFB

Programming a DFB type


How to program a DFB type
To program a DFB type (see Unity Pro, Program Languages and Structure,
Reference Manual ) you must:
z create the DFB section(s),
z enter the program code for each section.
Creating a section
Carry out the following actions in order to create a DFB section:
Step

Action

Go to the DFB types (see page 1185) tab of the data editor.
Result: the list of existing DFBs is displayed on the screen.

Expand the DFB type that you would like to program.

Expand the sections directory by clicking on +.

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.

Select the programming language desired in the drop-down menu in the Language field.

33003101 07/2012

1191

DFB

Step

Action

Click OK to confirm the command.


Result: the section appears in the sections directory.

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.

Enter the section parameters and confirm with OK.


Result: the new section appears in the sections directory.

Entering the program


Carry out the following actions in order to enter the program for the section:
Step

1192

Action

Expand the sections directory of the DFB whose code you would like to enter.
Result: the list of sections is displayed on the screen.

Right-click on the name of the section to program.


Result: the contextual menu appears.

Activate the Open command.


Result: the section programming screen is displayed on the screen, in the selected language.

Enter the section program (see page 415).

33003101 07/2012

DFB

Programming restrictions
All language instructions are allowed, except instructions that use input/output
module variables (READ_STS, READ_PARAM, WRITE_CMD, 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 applications 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.
NOTE: For PL7 Function blocks (Obsolete Library): it is recommended not to use
the PL7_ function blocks inside DFBs because you are not allowed to create new
instances in online mode.

33003101 07/2012

1193

DFB

Deleting a DFB type element


Deleting an element
To delete an element, do the following:
Step

1194

Action

Open the DFB types (see page 1185) tab of the data editor and expand the DFB
type from which you want to remove an element.

Expand the directory that contains the element you want to delete.

Either:
Select the element that you want to
delete.

Or:
Right-click on the element that you
wish to delete.
Result: A contextual menu appears.

Press Delete.
Result: The item is removed from
the directory.

Activate the command Delete.


Result: The item is removed from the
directory.

33003101 07/2012

DFB

Archiving a DFB Type


Introduction
After having created a DFB type (see Unity Pro, Program Languages and Structure,
Reference Manual ), you can back it up in a user library (see page 326) if the
following conditions are met:
z
z
z
z
z

You are using Unity Pro software,


The computer is in offline mode,
You have the required access rights,
The DFB Type to back up is compatible (the nested DFBs and DDTs are also
compatible),
The DFB type name doesnt 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
z
z

You are using Unity Pro software,


The computer is in offline mode,
You have the required access rights.

Archiving a DFB Type


To archive a DFB type in a user library, you must do the following:
Step

33003101 07/2012

Action

Open the DFB types (see page 1185) register tab in the data editor.

Right-click on the DFB type that you wish to back up.


Result: A shortcut menu is opened.

Activate the Copy into library command.

Select the library and the destination family.


Click OK to confirm.

1195

DFB

How to protect a DFB type


At a Glance
There are 4 levels of protection for a DFB Type:
Read-only: The DFB type parameters directories (inputs, outputs,
inputs/outputs, public, private and sections) are in read only format,
z Version protection: The DFB type is not protected except the DFB version
number.
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.
z

NOTE: If a DFB uses a DDT, you can modify the DDT type even if the DFB is
protected.
Protection of a DFB type
To protect a DFB Type, you must do the following:
Step

1196

Action

Open the DFB types (see page 1185) register tab in the data editor.

Select the DFB Type to protect.

Select the menu command Edit Properties.


Result: The respective screen is displayed.

Select the protection level from the drop-down menu.

After selecting, enter your password in the Entry field (maximum 8 characters).

Confirm your password in the Confirmation field.

Check the Password Encrypted check box if an enhanced password


protection is required.
NOTE: A DFB Type with a crypted password can not be edited with a Unity Pro
version lower than 4.1.

Click OK to confirm.

33003101 07/2012

DFB

Modification of the protection level


To change a DFB Type protection level, you must do the following:
Step

Action

Open the DFB types (see page 1185) register tab in the variables editor.

Select the DFB Type to change the level of protection for.

Select the menu command Edit Properties.


Result: The respective screen is displayed.

Select the attribute Protection and click on the related box in the Value column.
Result: A drop-down menu appears.

Select the new protection level from the drop-down menu None, Version
Protection, Read Only, No Read&Write).

After selecting, enter the current password if the DFB was already protected.

Click OK to confirm.

Modify Password
To change a DFB type password, you must do the following:
Step
1

Open the DFB types (see page 1185) register tab in the variables editor.

Select the DFB type to change the password for.

Select the menu command Edit Properties.


Result: The respective screen is displayed.

Enable the attribute Protection by clicking on the + sign.

Select the attribute Password and click on the related box in the column Value.
Result: The Change password dialog box is opened.

Enter the current password in the Enter password field.

Enter your new password in the Entry field (maximum 8 characters).

Confirm your new password in the Confirmation field.

Check the Password Encrypted check box if an enhanced password


protection is required.
NOTE: A DFB Type with a crypted password can not be edited with a Unity Pro
version lower than 4.1.

10

33003101 07/2012

Action

Click OK to confirm.

1197

DFB

Deleting a DFB Type


Deleting a DFB type
To delete a DFB type, do the following:
Step

1198

Action

Open the DFB types (see page 1185) tab in the data editor.
Result: The list of existing DFBs is displayed.

Either:
Select the DFB that you want to
delete.

Or:
Right-click on the DFB that you wish
to delete.
Result: A contextual menu appears.

Press Delete.
Result: The item is removed from
the list.

Activate the command Delete.


Result: The item is removed from
the list.

33003101 07/2012

DFB

How to access the attributes of a DFB type


Accessing the Attributes of a DFB Type
You should perform the following steps in order to access the attributes of a DFB
type:
Step

33003101 07/2012

Action

Go to the DFB Types (see page 1185) tab of the data editor.

Right-click the DFB type whose attributes you would like to display.
Result: the contextual menu appears.

Enable the Data Properties command.


Result: The corresponding dialog box appears on the screen.

If you would like to associate an explanatory text with the definition of the DFB
type (several lines of text with hyperlinks), select the Descriptive form tab.
Result: the Descriptive form dialog box appears (see page 1828).

1199

DFB

Attribute List
The attributes of a DFB type are the following:
z
z
z
z
z
z
z
z

Slot,
Name,
Comment,
Category,
State (1 if the modification is in progress or O if the analysis has been
completed),
Diag.
Size,
Protection,
z Password,
Version,
The version number is automatically incremented after a modification of the DFB
type.
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
z
z

1200

Name,
Comment,
Protection,
z Password,
Diag.

33003101 07/2012

DFB

Authorized DFB Type Modifications


At a Glance
The modifications possible on a DFB type (see Unity Pro, Program Languages and
Structure, Reference Manual ) 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 Operation Adjustment Debugging Programming


only

DFB type in offline mode No

No

No

No

Yes

DFB type in online mode No

No

No

No

Yes

DFB instance in offline


mode

Yes

Yes

Yes

Yes

No

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 type modifications
The following table shows the operations that you can perform with DFB types in
online mode:

33003101 07/2012

Action

Non-used
DFB type

Used DFB
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

1201

DFB

Authorized modifications on the input/output parameters


The following table shows the operations that you can perform for the input/output
parameters of a DFB Type in online mode:
Action

Non-used
DFB type

Used DFB
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 modifications on public variables


The following table shows the operations that you can perform on public variables
of a DFB type in online mode:
Action

Non-used
DFB type

Used DFB
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 modifications on private variables


The following table shows the operations that you can perform on private variables
of a DFB type in online mode:
Action

1202

Non-used
DFB type

Used DFB
type

Create a variable

Yes

Yes

Delete a variable

Yes

No

Modify the name

Yes

No

Change type

Yes

No
33003101 07/2012

DFB

Action

Non-used
DFB type

Used DFB
type

Modify the comment

Yes

Yes

Change the initial value

Yes

Yes

Modify the other attributes

Yes

No

Authorized modifications of the sections


The following table shows the operations that you can perform on the sections of a
DFB Type in online mode:

33003101 07/2012

Action

Non-used
DFB type

Used DFB
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

1203

DFB

33.2

DFB Instance

Purpose of this section


This section describes DFB instances. DFB instances management is identical to
the management of EFB instances (see page 329).
What Is in This Section?
This section contains the following topics:
Topic

1204

Page

DFB Instance

1205

Creating a DFB Instance

1206

Creating several DFB Instances

1208

Deleting a DFB instance

1209

Operations on DFB Instances

1210

Modifying the Attributes of a DFB Instance

1212

Authorized DFB Instance Modifications

1215

33003101 07/2012

DFB

DFB Instance
At a Glance
A DFB instances (see Unity Pro, Program Languages and Structure, Reference
Manual ) is a copy of a validated DFB type (see Unity Pro, Program Languages and
Structure, Reference Manual ) 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 a DFB instance
To access a DFB instance, you must use the program Unity Pro.
DFB instances are accessed via the Variables & FB instances directory in the
project browser.
Accessing DFB instances via the Derived FB instances directory
To access the DFB instances via the Derived FB instances directory, you must do
the following:
Step

Action

From the project browser structural view, expand the directoryVariables & FB instances.

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.

33003101 07/2012

1205

DFB

Creating a DFB Instance


At a Glance
There are two possible ways in which you can create a DFB instance (see Unity Pro,
Program Languages and Structure, Reference Manual ):
z
z

by inserting a new instance in the function block list,


by inserting an instance in an editor.

Inserting a new DFB instance in the data editor


To create a new DFB instance, you must do the following:
Step

1206

Action

Open the Function Blocks (see page 1205) register tab in the data editor.

Select the first empty Name cell (shown by an arrow) and enter name of the new DFB instance and
confirm with Enter.

Then change the associated attributes (see page 1212).

33003101 07/2012

DFB

Inserting a new DFB instance in a language editor


To insert a new DFB instance in a language editor, you must do the following:
Step

33003101 07/2012

Action

Open the language editor (the LD editor for example).

Click on an empty zone in the language editor.


Result: A shortcut menu is opened.

Activate the Data Selection command.

In the drop-down list, select the DFB type of which you wish to insert an
instance.

Confirm with Enter.


Result: The mouse cursor is shown as a function block.

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.

1207

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 by importing a source file
Several DFB instances (see Unity Pro, Program Languages and Structure,
Reference Manual ).....importing (see page 1701) a variables exchange file (.xscy or
.txt format). If you have chosen to export the variables with the associated DFB
types, the latter will also be imported.

1208

33003101 07/2012

DFB

Deleting a DFB instance


Deleting a DFB instance
To delete a DFB instance, you must do the following:
Step

33003101 07/2012

Action

Open the Function Blocks (see page 1205) tab in the data editor.

Either:
Select the DFB instance that you
want to delete.

Or:
Right-click on the DFB instance that
you wish to delete.
Result: A contextual menu appears.

Press Delete.
Result: The item is removed from
the list.

Activate the command Delete.


Result: The item is removed from
the list.

1209

DFB

Operations on DFB Instances


At a Glance
For each DFB instance (see Unity Pro, Program Languages and Structure,
Reference Manual ), 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
z
z
z

Apply a filter on the list of instances (see page 377),


View the elements of a DFB instance,
View the attributes of a DFB instance,
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 elements of a DFB instance
To view the elements of a DFB instance, you must do the following:
Step

1210

Action

Open the Function Blocks (see page 1205) register tab in the data editor.

Open the DFB instance of which you want to view the elements.

33003101 07/2012

DFB

View the elements of a DFB instance


To view the attributes of a DFB instance, you must do the following:
Step

Action

Either:
Open the Function Blocks
(see page 1205) register tab in the
data editor.

Either:
Open the DFB instance to gain
access to its elements.

Right-click on the DFB instance


whose attributes you wish to view.
Result: A shortcut menu is opened.

Right-click on the element whose


attributes you wish to view.
Result: A shortcut menu is opened.

Activate the Properties command.


Result: The related dialog box is opened.

Attributes list
The specific DFB instance attributes are:
z
z
z
z
z
z
z
z

Instance name,
Comments,
Type,
Category,
Size,
Diag,
Used (frequency of use in program),
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 instances
To change the classification criteria, do the following:
Step

Action

Open the Function Blocks (see page 1205) register tab in the data editor.

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.

33003101 07/2012

1211

DFB

Modifying the Attributes of a DFB Instance


At a Glance
There are 2 different ways to modify the attributes of a DFB instance (see Unity Pro,
Program Languages and Structure, Reference Manual ):
z
z

From the Function Blocks register tab, for the attributes that are directly
accessible,
or via the Data Properties dialog box for all attributes.

Modifying an attribute using the Function Blocks register tab


To modify the attributes of a DFB instance, you must do the following:
Step

1212

Action

Open the Function Blocks (see page 1205) register tab in the data editor.

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.

33003101 07/2012

DFB

Step
3

Action
Modify the attribute (instance name, instance type, comment) and confirm with Enter.
Result: The DFB instance is displayed with its new attribute.

Modifying an attribute via the Data Properties dialog box


To modify the attributes of a DFB instance using the Data Properties dialog box,
you must do the following:
Step

33003101 07/2012

Action

Open the Function Blocks (see page 1205) register tab in the data editor.

Right-click on the DFB instance whose attributes you wish to view.


Result: A shortcut menu is opened.

Activate the Properties command.


Result: The related dialog box is opened.

In the Value column, double-click on the cell of the attribute to modify (you can
also highlight this cell and press Enter).

Modify the attribute (instance name, instance type, comment) and confirm with
Enter.
Result: The new attribute is assigned to the DFB instance.

1213

DFB

Simultaneous modification of an attribute of several DFB instances


To simultaneously modify an attribute of several DFB instances, you must do the
following:
Step

Action

Open the Function Blocks (see page 1205) register tab in the data editor.

Select the DFB instances of which you want to change an attribute (adjacent or
non-adjacent multi-selection).

Right-click on one of the instances that you just selected.


Result: A shortcut menu is opened.

Activate the Properties command.


Result: The related dialog box is opened.

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
z
z

All the selected instances must have the attribute and it must be modifiable,
The new attribute value must be valid for all the selected instances,
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 attributes of the elements of multiple DFB instances
Modification of one or several (multiple selection) attributes of elements of one or
several DFB instances. To do this, you must:
Step

1214

Action

Open the Function Blocks (see page 1205) register tab in the data editor.

Open the DFB instance(s) to modify.

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).

Right-click on one of the elements that you just selected.


Result: A shortcut menu is opened.

Activate the Properties command.


Result: The related dialog box is opened.

Modify the attribute value and confirm with Enter.


Result: The new attribute is assigned to the selected elements.

33003101 07/2012

DFB

Authorized DFB Instance Modifications


At a Glance
The modifications possible on a DFB instance (see Unity Pro, Program Languages
and Structure, Reference Manual ) are defined by the access rights authorized by
your user profile (see page 1201).
Authorized DFB instance modifications
The following table shows the operations that can be carried out on the DFB
instances in offline mode:
Situation

Possible Actions

Actions when there is no DFB instance


selected

Create a DFB instance,

Actions when a DFB instance is selected

Delete a DFB instance,

Paste 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
selected

Delete DFB instances,


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.

33003101 07/2012

1215

DFB

33.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

1216

Action

Create the DFB type of the last level (n)

Create the DFB type of the level n-1

For this DFB type, create a private variable with a type matching the DFB type
of level n

Create the DFB type of the level n-2

For this DFB type, create a private variable with a type matching the DFB type
of level n-1

Repeat these actions without exceeding 8 levels

Create a first level DFB type instance, which you will use in your program.

33003101 07/2012

Unity Pro
Project configuration
33003101 07/2012

Project configuration

V
Subject of this Part
This part describes how to configure a Premium/Atrium, Quantum and Modicon
M340 PLC station.
Its purpose is to guide the user in the configuration:
z
z

of the PLC station,


of the modules used in the station.

What Is in This Part?


This part contains the following chapters:
Chapter

33003101 07/2012

Chapter Name

Page

34

Introduction to the configuration

1219

35

Bus Editors

1231

36

Modules editor

1281

37

General functionalities of the editor

1319

1217

Project configuration

1218

33003101 07/2012

Unity Pro
Introduction to the configuration
33003101 07/2012

Introduction to the configuration

34
Aim of this section
This section gives a very general introduction to the functionalities offered by the
configuration editor and describes how to access the default configuration.
What Is in This Chapter?
This chapter contains the following topics:
Topic

33003101 07/2012

Page

Proposed Services

1220

Services offered in offline mode

1224

Services Offered In Online Mode

1225

Access to project configuration

1227

1219

Introduction to the configuration

Proposed Services
Introduction
The configuration tool is used to:
z
z
z
z
z
z

create\modify\save (see Unity Pro, Program Languages and Structure,


Reference Manual ) the elements involved in the configuration of the PLC station,
set up the application-specific modules comprising the station,
diagnose the modules configured in the station,
assess the current discharged from the voltages supplied by the power supply
module declared in the configuration,
control the number of application-specific channels configured in relation to the
capacities of the processor declared in the configuration.
assess the processor memory (see Unity Pro, Program Languages and
Structure, Reference Manual ) usage.

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
z

the bus editor, which allows you to select and position the modules or devices on
the bus,
the input/output module editor, which allows you to set up the modules or devices
present on the PLC station bus(es).

NOTE: When you configure the different elements of your project (specific
application, modules, processors, etc.) you may ensure that there are no conflicts
between data areas (overlap) as this may result in downgraded application
functionality.

CAUTION
UNEXPECTED APPLICATION BEHAVIOR
Before performing a build ensure there is no overlapping of data between specific
applications within the same project. Check that the project operates correctly.
Failure to follow these instructions can result in injury or equipment damage.

1220

33003101 07/2012

Introduction to the configuration

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.
Configuration example for a Modicon M340 station:

33003101 07/2012

1221

Introduction to the configuration

Configuration example for a Premium station:

1222

33003101 07/2012

Introduction to the configuration

Configuration example for a Quantum station:

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.

33003101 07/2012

1223

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 editor
The available services are:
z
z
z
z
z
z

selection/replacement of the rack(s),


selection/replacement of the power supply module,
selection/replacement/set-up of the processor,
selection/positioning/replacement of an application-specific module or a device,
selection/replacement of a PCMCIA card in a module or in the processor,
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/output modules editor


The available services are:
z
z
z

1224

the set-up of the input/output modules,


the set-up of certain PCMCIA cards,
the set-up of the application-specific functions.

33003101 07/2012

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 Modicon M340,
z Premium/Atrium,
z Quantum.
Modicon M340 PLCs
Services offered by the configuration editor:
Service

PLC in RUN
mode

PLC in
STOP 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

PLC in RUN
mode

PLC in STOP
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

Premium\Atrium PLCs
Services offered by the configuration editor:
Service

33003101 07/2012

1225

Introduction to the configuration

Quantum PLCs
All Quantum PLCs allow online modification. Services offered by the configuration
are:
Service

PLC in RUN
mode

PLC in STOP
mode

Automatic detection of the PLC configuration

Yes

Yes

Adding/removing 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.
NOTE: A feature CCOTF modification has been developped for Unity Quantum and
allows I/O configuration changes when the PLC is in RUN mode.

1226

33003101 07/2012

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
z

the PLC family,


the type of processor used in the station.

These choices determine the power of the configuration, and the available functionalities (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

From the project browser, open the Configuration directory.

For a Modicon M340 station:


From the PLC 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 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.

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
z
z

33003101 07/2012

the rack,
the power supply module (except for a Quantum station),
the processor.

1227

Introduction to the configuration

Configuration
For a Modicon M340 station:

1228

33003101 07/2012

Introduction to the configuration

For a Premium station:

33003101 07/2012

1229

Introduction to the configuration

For a Quantum station:

1230

33003101 07/2012

Unity Pro
Bus Editor
33003101 07/2012

Bus Editors

35
Aim of this section
This chapter guides the user in the creation of the physical configuration of the PLC
station.
What Is in This Chapter?
This chapter contains the following sections:
Section

33003101 07/2012

Topic

Page

35.1

Rack configuration on local bus

35.2

Configuration of the power supply modules

1239

35.3

Configuration of the processor

1242

35.4

Configuration of the modules in the PLC station

1245

35.5

Configuration of devices on the field bus

1249

35.6

Consumption management

1270

35.7

Bus editors in online mode

1277

1232

1231

Bus Editor

35.1

Rack configuration on local bus

Aim of this sub-section


This sub-section guides the user in the installation of the rack/s constituting the
station.
What Is in This Section?
This section contains the following topics:
Topic

1232

Page

Organization of the Racks

1233

How to configure the racks

1237

33003101 07/2012

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 or Modicon M340 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.
Processors belonging to the Modicon M340 family.
Type of processors

Number of racks managed

For all M340 PLC Version 01.00.

1 rack

For BMX P34 1000 Version 02.00

2 racks

For BMX P34 20X0

4 racks

Processors belonging to the Premium/Atrium family


Type of processors

33003101 07/2012

Numbers of racks managed

TSX 57 0244

1 rack

TSX 57 1x4

Up to 4 racks

TSX P57 204


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
TSX P57 6634

Up to 16 racks

1233

Bus Editor

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/U


140 CPU 534-14A/U
140 CPU 651-50\60\60S
140 CPU 652-60
140 CPU 671-60\60S
140 CPU 672-60\61

Organization of a Modicon M340 Station on PLC Bus


Station composed of a single rack:

Station composed of several racks:

1234

33003101 07/2012

Bus Editor

Organization of The Premium/Atrium Station on Bus X


Station composed of a single rack (standard rack):

Station composed of several racks (extendable racks) with different addresses:

Station composed of several racks (extensible racks) with the same address:

33003101 07/2012

1235

Bus Editor

Organization of a Quantum Station on Local Bus


Station composed of several racks:

Station composed of several racks (extendable racks) with different addresses:

1236

33003101 07/2012

Bus Editor

How to configure the racks


Introduction
You may manipulate the racks of a PLC station:
z
z

either by using the functions provided by the bus editor,


or from the browser provided by the bus editor.

Functions offered by the bus editor


From the bus editor the following functionalites are offered:
If you want to

then

select a rack

select the address of the rack

and

eight handles appear around


the selected rack.
Cut/Paste a rack

select the rack and, from the


contextual menu, click Cut

select the destination


address of the rack and,
using the contextual menu,
click Paste.

Copy/Paste a rack

select the rack and, using the select the destination


contextual menu, click Copy address of the rack and,
using the contextual menu,
click Paste.

add a rack

select an empty address

using the contextual menu,


click New Device,

or the extension symbol

33003101 07/2012

replace a rack

select the rack and, using the select the required rack from
contextual menu, click
the list offered.
Replace 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,

1237

Bus Editor

Bus editor browser


The browser only allows for the addition of one rack in the PLC station.
Example for a Premium station:

Carry out the following actions:

1238

Step

Action

From the browser, select the Rack directory and open it by clicking on +

select the required rack and, holding down right mouse button, move it to the
required address point; a dialog box is displayed.

Specify in the dialog box the required address and confirm with OK.

33003101 07/2012

Bus Editor

35.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, a Quantum station or a Modicon M340 station:
z
z

in a Modicon M340 or Premium station a power supply module is configured by


default,
in a Quantum station, there is no power supply module configured by default.

Rules for a Modicon M340 station


The power supply module must occupy the left-most position of the rack. This
position does not have an address.
There is only one power supply module per rack.
Rules for a Premium/Atrium station
The power supply module must occupy the left-most position of the rack. This
position does not have an address.
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 Quantum station
The power supply module can occupy any rack position. It has an address.
The power supply modules are single format.
Several power supply modules may be configured in a rack.

33003101 07/2012

1239

Bus Editor

Functions offered by the bus editor


From the bus editor the following functionalites are offered:

1240

If you want to

then

and

Select a module

click on it. Eight handles


appear around the module.

Copy/Paste the module

select the module and, using select the target position


the contextual menu, click
and, using the contextual
Copy
menu, click Paste.

Cut/Paste the module

select the module and, using select the target position


the contextual menu, click
and, using the contextual
Cut
menu, click Paste.

Add a module

select the position in the rack select from the proposed list
required and, using the
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.

33003101 07/2012

Bus Editor

Bus editor browser


The browser is used to put or to add (for Quantum) a power supply module in the
station.
Example of a Quantum station containing 2 power supply modules:

Carry out the following actions:

33003101 07/2012

Step

Action

In the browser, select the directory Supply, and display it by clicking on +.

Select the power supply module required and, holding down the left mouse
button, move it to the required position.

1241

Bus Editor

35.3

Configuration of the processor

Choice and replacement of the processor


Selecting the processor
The choice of processor is made when the project is created, this choice is not
irreversible.
Carry out the following actions:
Step

Action

From the welcome screen of the software, select the New command from the File menu.

Open the type of PLC required.


Example:

If you want to see all PLC versions, click on the box Show all versions.

Select the processor.

Validate with OK.

1242

33003101 07/2012

Bus Editor

Rules
For a Modicon M340 station:
z
z

the processor occupies the slot 0,


the processor is single format,

For a Premium station:


z
z

the processor occupies the slot 0, it may occupy slot 1 if a double format power
supply is configured.
the processor is single format or double format (in this case it occupies 2 slots).

For a Quantum station:


z
z

the processor may occupy any position in the rack,


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.
Replacement of the processor
The configuration editor helps you if you wish to replace the processor. A message
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:

33003101 07/2012

Step

Action

From the bus editor, select the processor.

Using the contextual menu, click Replace Processor.

Select the required processor.

Validate with OK.

1243

Bus Editor

Method 2:

1244

Step

Action

From the bus editor, display the list of processors.


Example:

Select the required processor.

Confirm your selection.

33003101 07/2012

Bus Editor

35.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
z

either you use the functions provided by the bus editor,


or you use the hardware catalog provided by the bus editor.

Positioning a module
Carry out the following actions:
Step

Action

Use the mouse to select the position of the module to insert; eight handles appear around the module.

Using the contextual menu, click New Device.

Select the required application and module.


Example:

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 or a Modicon M340, the position 0 may only be occupied
by a double format power supply or a processor.
33003101 07/2012

1245

Bus Editor

Moving a module
A module may be moved:
z
z

into the rack,


into another rack if the station has several of them.

Carry out the following actions:


Step

Action

With the mouse, select the required module.

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,

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 Modicon M340,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.

1246

33003101 07/2012

Bus Editor

Copy a module
Carry out the following actions:
Step

Action

With the mouse, select the required module.

Using the contextual menu, click Copy.

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:

33003101 07/2012

Step

Action

With the mouse, select the required module.

Via the popup menu the select the Delete Module command.

1247

Bus Editor

Hardware catalog
Using the Hardware catalog, you can insert modules in the rack:

Carry out the following actions:

1248

Step

Action

From the Configuration directory in the project browser, select the


subdirectory representing the station.
Result: the bus editor and hardware catalog appear.

Select the directory of the required specific application in the hardware catalog,
and expand it by clicking on +.

Select the module, and, holding down the mouse button, move it to the required
position on the rack in the bus editor.

33003101 07/2012

Bus Editor

35.5

Configuration of devices on the field bus

Aim of this sub-section


This sub-section guides the user in the management of devices on field buses
managed by the Modicon M340, Premium and Quantum stations.
What Is in This Section?
This section contains the following topics:
Topic
Configuration of the CANopen Slaves for Modicon M340

33003101 07/2012

Page
1250

How to access and create a Fipio field bus

1254

Creating and Accessing RIO\DIO Field Buses

1258

How to configure devices on the RIO/DIO bus

1264

1249

Bus Editor

Configuration of the CANopen Slaves for Modicon M340


Introduction
For Modicon M340 PLCs you can configure the CANopen bus with slaves (63 slaves
maximum). The configuration is completely carried out with Unity Pro, the use of
another software is not necessary.
How to Configure the CANopen Slave
This table describes the procedure to configure the CANopen slave.
Step
1

1250

Action
In the Unity Pro Project Browser, fully expand the Configuration directory and then double-click on
CANopen .
Result: The CANopen window appears:

33003101 07/2012

Bus Editor

Step

Action

Select Edit New device.


Result: The New Device window appears:

Set the address slave in Topological Address.


Choose the slave device.

33003101 07/2012

1251

Bus Editor

Step
4

1252

Action
Click on OK to confirm the choice.
Result: The CANopen window appears with the new device selected:

33003101 07/2012

Bus Editor

Step
5

Action
On the project browser the CANopen bus appears with the slaves.

Other functions
You can also add, delete, move (see Modicon M340 with Unity Pro, CANopen, User
Manual) a slave on the bus.

33003101 07/2012

1253

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 (see Premium and Atrium Using Unity Pro, Fipio Bus,
Setup Manual) 127 devices.
Procedure
To access the Fipio field bus, perform the following actions:
Step
1

1254

Action
From the project navigator, deploy the Configuration directory.
Result: the following screen appears

33003101 07/2012

Bus Editor

Step
2

33003101 07/2012

Action
Select the Fipio sub-directory and select the Opencommand using the
contextual menu.
Result: the Fipio window appears

1255

Bus Editor

Creating a Fipio bus


This operation is used to add, via the software, a device connected to the Fipio bus.
Step

1256

Action

Access the Fipio configuration screen:

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.

Enter the number of the connection point corresponding to the address.


By default, the Unity Pro software offers the first free consecutive address.

In the Reference field, enter the type of device to connect to the bus.

33003101 07/2012

Bus Editor

Step

Action

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.

Confirm with Ok.


Result: the module is declared.

Other functions
You can also:
z
z
z

33003101 07/2012

add an extension module (see Premium and Atrium Using Unity Pro, Fipio Bus,
Setup Manual) to the bus,
delete, copy, paste (see Premium and Atrium Using Unity Pro, Fipio Bus, Setup
Manual) bus devices,
change (see Premium and Atrium Using Unity Pro, Fipio Bus, Setup Manual) the
Fipio communicator.

1257

Bus Editor

Creating and Accessing RIO\DIO Field Buses


Introduction
Quantum PLCs offer a decentralized input/output architecture solution:
z

RIO field bus networks are based on the S908 input/output decentralization
network technology. Up to 31 decentralized stations may be configured, with
each station capable of supporting up to 128 input/output words.
DIO field bus networks are based on Modbus Plus technology. 32 subscribers
may be configured over 500 meters/1640 feet (receiving 64 subscribers over
2000 meters/6560 feet).

Creating a RIO Bus


The following table describes the procedure for creating a RIO bus from a
communication module:

1258

Step

Action

In the bus editor, select the slot where you wish to insert the communication
module.

Select New Device in the contextual menu.


Result: The New Device window appears.

Expand the Communication directory.


Result: The following window appears:

33003101 07/2012

Bus Editor

Step

Action

To create a RIO bus, select a 140 CRP 93x 00 module.


Result: The bus appears in the project browser:

Creating a DIO Bus


The following table describes the procedure for creating a DIO bus from a
communication module:

33003101 07/2012

Step

Action

In the bus editor, select the slot where you wish to insert the communication
module.

Select New Device in the contextual menu.


Result: The New Device window appears.

1259

Bus Editor

1260

Step

Action

Expand the Communication directory.


Result: The following window appears:

To create a bus, select a 140 NOM 2XX 00 module.


Result: The module appears in the rack.

Double-click the 140 NOM 2XX 00 modules Modbus Plus port.


Result: The bus configuration window appears.

Check the box marked DIO Bus.

Confirm the configuration.


Result: The DIO bus appears in the project browser.

33003101 07/2012

Bus Editor

Creating a DIO Bus from the Processor


The following table describes the procedure for creating a DIO bus from the
processor:

33003101 07/2012

Step

Action

In the bus editor, double-click the processors Modbus Plus port.

Check the box marked DIO Bus.

Confirm the configuration.


Result: The DIO bus appears in the project browser:

1261

Bus Editor

Accessing a RIO or DIO Bus


To access a bus, carry out the following actions:

1262

Step

Action

In the project browser, open the Configuration directory.


Example:

33003101 07/2012

Bus Editor

Step

Action

Select the RIO bus or DIO bus subdirectory depending on the type of bus you
want to open. Next, select the Open command in the popup menu.
Result: The following window is displayed for the RIO bus:

Result: The following window is displayed for the DIO bus:

33003101 07/2012

1263

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
z

either by using the functions provided by the bus editor,


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 a device
Carry out the following actions:

1264

Step

Action

From the Configuration directory in the project browser, select the RIO Bus
or DIO Bus subdirectory.

Select Open in the contextual menu.

Select the connection point and via the popup menu select the New Device
command.
Result: The New Device window appears.

33003101 07/2012

Bus Editor

33003101 07/2012

Step

Action

Select the required rack and validate with OK.


Result: The rack appears in the bus.

1265

Bus Editor

Configuration of a module in a device


Carry out the following actions:

1266

Step

Action

Select the required rack (see procedure above: Configuration of a device).

To configure a module in the rack, select the module slot.

Select New Device in the contextual menu.


Result: The New Device window appears.

Select the module to be inserted.


Result: The module appears in the rack.

33003101 07/2012

Bus Editor

Hardware catalog
Using the hardware catalog, you can insert modules into a device on the field bus:

Proceed with the following steps:

33003101 07/2012

Step

Action

From the Configuration directory in the project browser, select the DIO Bus
subdirectory.
Result: The field bus editor and hardware catalog appear.

Select the directory of the required specific application in the hardware catalog,
and expand it by clicking on +.

Select the module, and, holding down the mouse button, move it to the required
position on the rack in the bus editor.

1267

Bus Editor

Copy a module
Proceed with the following steps:
Step

Action

With the mouse, select the required module.

Using the contextual menu, click Copy.

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.
Moving a module
A module may be moved:
z
z

into the rack,


into another rack if the station has several of them.

Proceed with the following steps:


Step

Action

With the mouse, select the required module.

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,

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.

1268

33003101 07/2012

Bus Editor

Deleting a module
Proceed with the following steps:
Step

33003101 07/2012

Action

With the mouse, select the required module.

Via the popup menu, select the Delete Module command.

1269

Bus Editor

35.6

Consumption management

Aim of this sub-section


This sub-section guides the user during the selection of modules so as not to exceed
the limits:
z
z

for consuming power,


for consuming application-specific channels.

What Is in This Section?


This section contains the following topics:
Topic

1270

Page

Power consumption budget

1271

Budget on the number of application-specific channels

1274

33003101 07/2012

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 module budget
This consumption budget shows the amount of power discharged by the power
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:

33003101 07/2012

Steps

Action

With the mouse, select the power supply module.

Using the contextual menu, click Power Supply and IO Budget. The bar chart
is displayed.

Select the Power Supply tab.

1271

Bus Editor

Budget:

NOTE: The ASY 800 24 V power consumption is always included in 24 VR (Internal


Rack Power) even if configured with an external power supply.
Budget of the other modules
This consumption budget shows the amount of power discharged in the module for
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:

1272

Steps

Action

With the mouse, select the module of your choice.

Using the contextual menu, click Power Supply and IO Budget. The bar chart
is displayed.

Select the Power Supply tab.

33003101 07/2012

Bus Editor

Budget:

33003101 07/2012

1273

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
z

the processor module of the station,


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
z
z

the number of application-specific channels configured: green,


the number of application-specific channels still available: white,
the excess application-specific channels (not managed by the processor): red,
when an excess occurs, a message is displayed.

Processor module budget


This budget shows the number of channels configured by applications in the
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:

1274

Steps

Action

With the mouse, select the required Processor.

Using the contextual menu, click Power Supply and IO Budget. The bar chart
is displayed.

Select the I/O tab.

33003101 07/2012

Bus Editor

Budget:

Input/output modules budget


This budget shows the number of application-specific channels configured in the
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:

33003101 07/2012

Steps

Action

Using the mouse select the input/output module of your choice.

Using the contextual menu, click Power Supply and IO Budget. The bar chart
is displayed.

Select the I/O tab.

1275

Bus Editor

Budget:

1276

33003101 07/2012

Bus Editor

35.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 modules slot number in the rack appears in red if the module is:
z
z
z

missing,
faulty,
badly configured.

Modicon M340 PLCs

33003101 07/2012

1277

Bus Editor

Premium PLCs:

Quantum PLCs:

If a fault has occurred on a rack module, the rack number appears in red.

1278

33003101 07/2012

Bus Editor

Automatic detection of the configuration


When connected to a Quantum station, the programming software is able to detect
the different modules that make up the configuration. This operation can be
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

In online mode (PLC in Stop), open the configuration editor.

Select the rack.

From the Services menu, select Compare/IO-Sniffing....


Result: The following window opens.

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.

33003101 07/2012

Validate the new configuration by clicking Sniff.

Click OK to confirm your choice.


Result: The new configuration appears in the configuration editor.

1279

Bus Editor

1280

33003101 07/2012

Unity Pro
Modules editor
33003101 07/2012

Modules editor

36
Aim of this section
This section guides the user in the configuration of the modules comprising a
Premium/Atrium, Quantum or Modicon M340 station.
What Is in This Chapter?
This chapter contains the following sections:
Section

33003101 07/2012

Topic

Page

36.1

Configuration of Modicon M340 processors

1282

36.2

Configuration of Premium processors

1293

36.3

Configuration of the Quantum processors

1303

36.4

Configuration of the input\output modules for a


Premium\Atrium, Quantum or Modicon M340 station

1314

1281

Modules editor

36.1

Configuration of Modicon M340 processors

Configuration of Modicon M340 Processors


Access to the Configuration Screen
Proceed with the following steps:
Step

1282

Action

Select the processor.


Example:

Using the contextual menu, click Open.

Select the Configuration tab.

33003101 07/2012

Modules editor

Memory Management
The configuration screen differs, depending on the type of memory management to
be used.
The option you select here must comply with the type of memory management you
select for the input and output modules (see page 1152).
The following settings are possible:
If...

Then...

Topological memory management is


configured for the processor

you can only select Topological memory


management for the discrete and analog
modules.

Mixed topological and State RAM memory


management is configured for the processor

you can select either Topological or Mixed


topological and State RAM memory
management for the discrete and analog
modules.

The memory management settings of the processor are compared with the memory
management settings of the modules during Analyze. If any inconsistencies are
detected, a appropriate message is displayed in the output window.
The type of memory management you selected for the processor is used as default
setting for the Memory Management parameter in the Memory tab for input /
output configuration (see page 1151).
NOTE: If you want to import a legacy LL984 Compact application which uses
Modbus request to communicate with an HMI, you have to use State RAM
addressing to preserve the Modbus exchange between PLC and HMI.

33003101 07/2012

1283

Modules editor

Configuration of the Processor


NOTE: You can modify the parameters of this dialog box only in offline mode.
Configuration screen for topological memory management:

CAUTION
LOSS OF DATA ON APPLICATION TRANSFER
Do not press the RESET button on the power supply. Otherwise, %MWi is reset and
initial values are loaded.
Failure to follow these instructions can result in injury or equipment damage.
Proceed with the following steps:

1284

Step

Action

If you wish, enable the Run/Stop input option (see page 1288).
Do not enable this option if the associated discrete input is mapped in
State RAM because this inhibits the PLC start-up.

If you wish, enable the Memory protect option.


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.

If you wish, enable the Automatic start in Run option (see page 1288).

33003101 07/2012

Modules editor

Step

Action

Confirm whether the internal words %MWi (see page 1289) are to be initialized
on cold start (see Unity Pro, Program Languages and Structure, Reference
Manual ) triggered by software (application download, initialize command,
restore command, %S0 activation, cold start button on the PLC screen) or not.
By checking the box, the PLC writes the initial values to %MWI.

If you wish, enable the Cold Start Only option (see page 1289).

Define the type of Memory Management:


z select the option Topological for topological addressing
z select the option Mixed topological and State RAM for a mixture of

topological and defined State RAM addressing


7

Proceed with address configuration for the 2 different addressing types as


described in the following separate descriptions.

NOTE: The State RAM address starts at address 0, but the first available address
for discrete and analog modules is %I1, %M1, %IW1, and %MW1.
Topological Addressing
Proceed with address configuration for topological addressing as follows:
Step

Action

In the Size of global address fields of the dialog box define for the application
(see Unity Pro, Program Languages and Structure, Reference Manual ) the
number of internal bits %M.

Define the number of internal words %MW.

Define the number of constants %KW.

The system bits and system words are fixed by the manufacturer.
Unity Pro Modicon M340 applications of version 6.0 and earlier are automatically
configured with this address configuration for topological addressing.

33003101 07/2012

1285

Modules editor

Mixed Topological and State RAM Addressing


Configuration screen for mixed topological and State RAM memory management:

For mixed topological and State RAM addressing, the following options are
additionally available in the configuration screen:

1286

Option

Value

Description

Mem usage

The value (expressed as a


percentage and displayed on the
scale bar) depends on the memory
usage of the Modicon M340 Hot
Standby configuration.

A bar graph displays the percentage


of the memory already in use.

33003101 07/2012

Modules editor

Option

Value

Description

%M-0x

Enter the appropriate values. The


values depend on the Hot Standby
configuration.

Size of the different memory areas.


NOTE: The values for %IW and
%MW have to be divisible by 8.

Opens the State RAM Viewer tab


(see page 1290) which displays the
allocation of used memory.

%MW-4x
%I-1x
%IW-3x
Viewer

NOTE: The State RAM address starts at address 0, but the first available address
for discrete and analog modules is %I1, %M1, %IW1, and %MW1.
NOTE: State RAM addresses are not checked during input. If any range overlapping
is detected or any address exceeds the range of the State RAM, an appropriate
message is displayed at the validation screen or during Analyze.
NOTE: With this type of memory management, all channels are associated to one
task (MAST or FAST).
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:

33003101 07/2012

1287

Modules editor

Use of the command buttons:


Button

Role

Unselect 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.
Input RUN/STOP
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.c to 0 -> the PLC switches to STOP mode (stop program execution).
NOTE: A STOP command always takes priority over a RUN command. A STOP
command sent from a terminal or via the network has priority over the %Ir.m.c
input.
An error on the RUN/STOP input causes a switch to STOP.
Do not enable this option if the associated discrete input is mapped in State RAM
because this inhibits the start-up of the PLC.
Memory protect
The input %Ir.m.c can be parameterized to protect the internal application ram and
the memory card in the following way:
z
z

%Ir.m.c to 0 -> the internal application and the memory card are not protected,
%Ir.m.c to 1 -> the internal application and the memory card are protected.

NOTE: To cancel the protection, disconnect this input before building the
modification.
Automatic start in Run
The enabling of this option automatically changes the PLC to RUN mode at the time
of a cold start (see Unity Pro, Program Languages and Structure, Reference
Manual ).

1288

33003101 07/2012

Modules editor

Initialize %MWi
On a cold start (see Unity Pro, Program Languages and Structure, Reference
Manual ) or on download if you check the box (default state):
z the %MWi are handled like other global variables (initialized to 0 or initial value,
according to current application) in all cold start cases,
On cold start or on download if you uncheck the box:
z if %MW were previously saved in internal flash memory (using the %SW96 word)
they are restored from internal flash memory,
z if not,
z if cold start (see Unity Pro, Program Languages and Structure, Reference
Manual ) is linked to a power-off or of a push on the reset button, the %MW are
initialized:
z if not, the current values of %MW are maintained.
NOTE: if the new (or restored) application has more %MW than the previous one, the
added %MW are set to 0 (non-zero initial values are not applied).
Cold Start Only
If checked, this option forces the cold start (see Unity Pro, Program Languages and
Structure, Reference Manual ) of the application, instead of the normal warm start
(see Unity Pro, Program Languages and Structure, Reference Manual ).
By default, the Cold Start Only option is unchecked.
The Cold Start Only option is only supported since PLC V2.1.
An application using this functionality is not:
z downloadable on a PLC with a previous version,
z executable on a PLC with a previous version,
z usable with Unity Pro V4.0 or lower.
NOTE: The Cold Start Only check box is present only if the current selected PLC
can support it.
Memory Management
This area of the dialog box allows you to define the type of addressing (topological
or mixed addressing).
For mixed addressing it contains a bar graph indicating the size of the State RAM
memory used in your project in relation to the maximum memory size and a Viewer
button opening the State RAM memory viewer.

33003101 07/2012

1289

Modules editor

State RAM Memory Viewer


The following screen displays the content of the State RAM memory areas of the
M340 processor:

NOTE:
The State RAM viewer is directly accessible via the menu:
PLC State Ram Viewer

Description of the screen zones


Zone

Description

Table

This table represents the mapping of the memory area selected with the
Memory Area selection buttons.
The occupied memory addresses are marked by dashes:
z blue: for module type objects
z red: for objects entered in the program
z green: for objects defined in the variable editor
The scroll bars can be used to access the entire memory area.

Modules,
Variables and
Language
checkboxes
1290

These checkboxes are used to filter the information displayed in the table.
If, for example, Modules is the only checkbox that is selected, only
module-type information is displayed.

33003101 07/2012

Modules editor

Zone

Description

Address
information

By entering the object and its address in the Address fields and clicking
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
selection
buttons

These buttons are used to select the memory area to display in the table:
z %M (0x) output bits and internal bits
z %I (1x) input bits
z %IW (3x) input words
z %MW (4x) output words and internal words

Size of Located Data in Case of State RAM


The following table shows maximum and default size of located data in case of State
RAM configuration according to the type of processor.
Type of
Objects

Address

BMX P34 1000 V2.40Processor

BMX P34 2000, 20102, 2020, 20302


Processors (all V2.40)

Maximum Size

Default Size

Maximum Size

Default Size

output bits
and internal
bits

%M (0x)

32765

752

65530

1504

input bits and


internal bits

%I (1x)

32765

752

65530

1504

input words
and internal
words

%IW (3x)

32765

256

65530

512

output words
and internal
words

%MW (4x)

32765

256

65530

512

NOTE: To use State RAM configuration you need Unity Pro 6.1 or later and Modicon
M340 firmware 2.4 or later.
Impact of a Cold Start on %I and %IW Areas
After a Cold Start or %S0 setting, the %I and %IW areas are set to 0 and forcing state
is reset.

33003101 07/2012

1291

Modules editor

CPU Modbus Server Uses %I and %IW Areas


z

From Unity Pro V6.1, when the State RAM is configured in the CPU, the Modbus
server access to %I area for all input bits operations, to %IW area for all input
words operations.
Base address %SW138 and %SW140 are not used.
The first object address in a Modbus request (0000) corresponds to %I1 or %IW1.
From Unity Pro V6.1 with Modicon M340 (with firmware V2.4 or later), when the
State RAM is not configured, the Modbus server behaves as in V2.3.

Base address for %M and %MW in system words %SW139 and %SW141 are used
whether a State RAM is configured or not.

1292

33003101 07/2012

Modules editor

36.2

Configuration of Premium processors

Aim of this sub-section


This sub-section guides the user in the configuration of processor modules for
Premium stations.
What Is in This Section?
This section contains the following topics:
Topic
Configuration of Premium\Atrium processors

33003101 07/2012

Page
1294

Access to PCMCIA memory cards of Premium processors

1300

Access to control loop configuration for Premium processors

1302

1293

Modules editor

Configuration of Premium\Atrium processors


Access to the configuration screen
Proceed with the following steps:
Step

1294

Action

Select the processor.


Example:

Using the contextual menu, click Open.

Select the Configuration tab.

33003101 07/2012

Modules editor

Configuration of the processor


Configuration Screen:

Proceed with the following steps:

33003101 07/2012

Step

Action

If you wish, enable the RUN/STOP input (see page 1298).

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.

If you wish, enable the Automatic start in Run (see page 1298).

Confirm whether the internal words %MWi (see page 1299) are to be initialized
(on cold restart, on download, after the insert PCMCIA memory card) or not.

If you wish, enable the Cold Start Only (see page 1299) feature.

1295

Modules editor

Step

Action

Define for the application: (see Unity Pro, Program Languages and Structure,
Reference Manual )
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.

1296

The Memory cards field is completed according to the PCMCIA memory card
selected (see page 1300). The data storage area is only used by EFBs such
as READ_U_PCMCIA and WRITE_U_PCMCIA. The application area is used for
the program. However, some parts of the program (located and unlocated
variables, FB instances) are always present in the CPU internal memory
(see page 139).

33003101 07/2012

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:

33003101 07/2012

1297

Modules editor

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.
Memory protect
The input %Ir.m.c can be parameterized to protect the internal application ram and
the memory card in the following way:
z %Ir.m.c to 0 -> the internal application and the memory card are protected,
z %Ir.m.c to 1 -> the internal application and the memory card are not protected.
NOTE: If the input is in error, %Ir.m.c is considered at 1 (memory is not protected).
If you want to cancel this protection, you must disconnect this input before to build
this modification.
Automatic start in Run
The enabling of this option automatically changes the PLC to RUN mode at the time
of a cold start (see Unity Pro, Program Languages and Structure, Reference
Manual ).
Two types of start:
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.
z

1298

33003101 07/2012

Modules editor

Initialize %MWi
On cold start (see Unity Pro, Program Languages and Structure, Reference
Manual ), on download or after the insert of PCMCIA memory card:
Depending of the flag:
At the end of the transfer :
==> The initial values are assigned
to the variables.
Not
checked
Checked

On setting of %S0 :
==> The initial values are assigned to
the variables.

OS >= V2.3

NO

NO

OS < V2.3

YES

NO

OS >= V2.3

YES

YES

OS < V2.3

YES

YES

the %MWi values will be initialized to 0 or initial value even if the box is unchecked,
z if you change the %MW area on the field Size of global address fields,
z if after a power restoration, the OS detects that the contents of the internal RAM
has not been saved (PLC powered off and Back-up battery non-operational).
Cold Start Only
If checked, this option forces the cold start (see Unity Pro, Program Languages and
Structure, Reference Manual ) of the application, instead of the normal warm start
(see Unity Pro, Program Languages and Structure, Reference Manual ).
By default, the Cold Start Only option is unchecked.
The Cold Start Only option is only supported since PLC V2.7.
An application using this functionality will not be:
downloadable on a PLC with a previous version,
z executable on a PLC with a previous version,
z usable with Unity Pro V4.0 or lower.
z

NOTE: The Cold Start Only check box is present only if the current selected PLC
can support it.

33003101 07/2012

1299

Modules editor

Access to PCMCIA memory cards of Premium processors


Introduction
This operation describes how to choose a PCMCIA memory card.
Selection of a PCMCIA card
Carry out the following actions:

1300

Step

Action

Access the rack configuration screen.

Select the PCMCIA location and from the popup menu execute the
New/Replace Submodule... command.
Example:

33003101 07/2012

Modules editor

Step

Action

Select the PCMCIA family, and the card within the family.

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.

33003101 07/2012

1301

Modules editor

Access to control loop configuration for Premium processors


Instructions
Carry out the following actions:
Step

Action

Access the rack configuration screen.

Select the location of the process control loops and from the popup menu
execute the Open Subobject command.
Example:

The following screen is displayed:

1302

Configure the process control loops (see Premium and Atrium using Unity Pro,
Process Control, User Manual).

33003101 07/2012

Modules editor

36.3

Configuration of the Quantum processors

Aim of this sub-section


This sub-section guides the user in the configuration of the processor modules for
the Quantum stations.
What Is in This Section?
This section contains the following topics:
Topic

33003101 07/2012

Page

Configuration of Quantum processors

1304

Configuration of Modbus ports on Quantum

1311

1303

Modules editor

Configuration of Quantum processors


Accessing the configuration screen
Carry out the following actions:
Step

1304

Action

Access the rack configuration screen.

Select the processor.

Using the contextual menu, click Open Module.

Select the Configuration tab.

33003101 07/2012

Modules editor

Configuring the processor


The following figure shows an example of the Quantum processor configuration
screen:

Description of the Configuration Screen:


Item

Option

Operating Mode On
Cold Start

Memory Cards

33003101 07/2012

Value

Description

Automatic start in Run

%MWi Reset on cold start

Determines the operating


condition during Cold Start

Cold Start Only

If you wish, enable the Cold


Start Only (see page 1308)
feature.

A:

N/A

B:

N/A

Displays the configuration in


the PCMCIA Slots

1305

Modules editor

Item

Option

Communication

By default, the bandwidth


is 4x256 bytes, supported
by the OS versions prior
to V2.80 for the CPU and
V4.60 for the NOE.

Value

Description
The maximum data volume
exchanged each cycle
between the NOE and CPU
modules.

For Quantum processors: 4x256


z 140 CPU 311 10
4x1024
z 140 CPU 534 14
z 140 CPU 434 12
For Quantum processors:
140 CPU 651 50
140 CPU 651 60
140 CPU 652 60
140 CPU 670 60
140 CPU 671 60
140 CPU 672 60
140 CPU 672 61

4x256
4x1024
8x1024
12x1024

Mem usage

1.

A bar displays percent of


memory used.

%M-0x

2.

Size of the different memory


areas
Note: The values for %IW
and %MW have to be divisible
by 8.

z
z
z
z
z
z
z

State RAM

Configuration Online
Modification

%MW-4x

2.

%I-1x

2.

%IW-3x

2.

Viewer

N/A

Opens the State RAM


Viewer tab, which displays
the allocation of used
memory. (See the illustration
following.)

Online modif in RUN

This check box allows to:


z Add or delete discrete or
analog modules,
z Modify Parameters
NOTE: These modifications
can be done in RUN.

1. The value (expressed as a percentage and displayed on the scale) depends on the
memory usage of the Hot Standby configuration.
2. Enter the appropriate values. All values depend on Hot Standby configuration.

1306

33003101 07/2012

Modules editor

Automatic start in RUN


The enabling of this option automatically changes the PLC to Run mode (see Unity
Pro, Program Languages and Structure, Reference Manual )on 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.

WARNING
UNWANTED APPLICATION RUN ON PLC COLD START
With the Automatic start in RUN option enabled, the following events will trigger
the run of the application on cold start:
z Inserting the PCMCIA card when the PLC is powered
z Replacing the processor while powered
z Unintentional or careless use of the reset button
z Powering up a PLC with a defective battery after a power outage
To prevent the run of the application on cold start:
z use the STOP input (on Premium PLCs)
z use the switch on the front panel of the processor (for Quantum PLCs)
Failure to follow these instructions can result in death, serious injury, or
equipment damage.
%MWi Reset
On application download:
z if you check the box, the %MWi values will be re initialized or set to 0,
z if you uncheck the box, the %MWi values will set to 0.
On cold start or after inserting the PCMCIA memory card:
z if you check the box, the %MWi values will be re initialized or set to 0,
z if you uncheck the box, the %MWi values will retain their current value.

33003101 07/2012

1307

Modules editor

Cold Start Only


If checked, this option forces the cold start (see Unity Pro, Program Languages and
Structure, Reference Manual ) of the application, instead of the normal warm start
(see Unity Pro, Program Languages and Structure, Reference Manual ).
By default, the Cold Start Only option is unchecked.
The Cold Start Only option is only supported on High End PLC since V2.7.
An application using this functionality will not be:
z downloadable on a PLC with a previous version,
z executable on a PLC with a previous version,
z usable with Unity Pro V4.0 or lower.
NOTE: The Cold Start Only check box is present only if the current selected PLC
can support it.
Communication
When the UNITY protocol under TCP/IP is used (OFS or Unity Pro), it is possible to
configure the maximum volume of data that can be exchanged each cycle between
the CPU and the NOE modules using the Maximum Unity Data exchanged by Plc
Scan option.
This functionality is only supported on CPU modules with OS version 2.80 or higher,
and on NOE modules with OS version 4.60 or higher.
The bandwidth set is valid between the CPU and all existing NOE modules. It is not
possible to set different bandwidths for each of the modules.
Increasing this bandwidth has an impact on the cycle time of the controller (2ms per
kbytes exchanged). This impact is proportional to the amount of data actually
exchanged and not the bandwidth configured. So, if the channel is set to the
maximum, but not used, the impact on cycle time will be negligible.
State RAM memory
The State RAM bar chart allows you to know the size of the State RAM memory
used in your project in relation to the maximum memory size.

1308

33003101 07/2012

Modules editor

State RAM memory Viewer


The following screen displays the content of the State RAM memory areas of the
Quantum processor:

NOTE:
The state ram viewer can be directly accessible via the menu:
z PLC State Ram Viewer
Description of the screen zones
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,
Variables and
Language
checkboxes
33003101 07/2012

These checkboxes are used to filter the information displayed in the table.
If, for example, module is the only thing checked, only module-type
information will be displayed.

1309

Modules editor

Zone

Description

Address
information

By entering the object and its address in the Address fields and clicking
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
selection
buttons

These buttons are used to select the memory area to display in the table:
%M (0x) output module bits and internal bits
%I (1x) internal module bits
%IW (3x) input/output register words and internal words
%MW (4x) I/O module output words and internal words

z
z
z
z

Configuration online modification


On PLCs supporting this functionality a check box is activated and appears in the
CPU Editor tab.
If the online modif in RUN check box is selected, the user can do online RUN
modification like add / delete and modify the module parameters.

1310

33003101 07/2012

Modules editor

Configuration of Modbus ports on Quantum


Assignment of Modbus ports
The Modbus port configuration screen can be used to select the Modbus
communication parameters for 3 ports: ports No. 1, 2 and 3.
Port No. 1 is assigned:
z
z

to the built-in Modbus port for 140 CPU 6 processors


to the first built-in Modbus port (MODBUS COMM1) for other Quantum
processors

Port No. 2 is assigned:


z
z

either to the second built-in port (MODBUS COMM2), for processors with 2 builtin ports
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
z
z
z
z
z

the first NOM module will be assigned to port 2,


the second will be assigned to port 3,
the third will be assigned to port 2,
the fourth will be assigned to port 3,
the fifth will be assigned to port 2,
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.

33003101 07/2012

1311

Modules editor

Access to the configuration editor


Carry out the following actions:
Step

Action

Select the processor and then select the Open module command from the
popup menu.

Select the Modbus Port tab.


Result: The following screen appears:

Presentation of configuration parameters


Carry out the following actions:

1312

Step

Action

Choose the operating mode: Bridge Mode checkbox

Choose the transmission speed:

33003101 07/2012

Modules editor

33003101 07/2012

Step

Action

Choose the number of Stop bits:

Choose the parity:

Choose the Delay which corresponds to the minimum time tolerated between
two frames, also called delay between frames.

Choose the Modbus port slave address.

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).

Choose the communication mode:

Choose the communication protocol:

1313

Modules editor

36.4

Configuration of the input\output modules for a


Premium\Atrium, Quantum or Modicon M340
station

Subject of this Section


This section guides the user through the configuration procedure for input\output
modules dedicated to a Premium\Atrium, Quantum or Modicon M340 station.
What Is in This Section?
This section contains the following topics:
Topic

1314

Page

Access to the Modicon, Premium or Atrium I/O module configuration editor

1315

Access the Quantum input/output module configuration editor

1317

33003101 07/2012

Modules editor

Access to the Modicon, Premium or Atrium I/O module configuration editor


Procedure
Carry out the following actions:
Step

Action

With the mouse, select the module to be configured.

Using the contextual menu, click Open Module.

Configuration in offline mode


The configuration window is an editor from which you configure the module, some
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.
Screen example for a discrete module:

33003101 07/2012

1315

Modules editor

Configuration in online mode


In online mode two additional tabs are accessible:
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.

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.
Screen example for a counting module:

1316

33003101 07/2012

Modules editor

Access the Quantum input/output module configuration editor


Instructions
Proceed with the following steps:
Step

Action

With the mouse, select the module to be configured.

Using the contextual menu, click Open Module.

Configuration in offline mode


The configuration window is an editor from which you configure the module, some
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.
Screen example for a discrete module

33003101 07/2012

1317

Modules editor

Configuration in online mode


In online mode, for certain modules, two additional tabs are accessible:
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.

the Fault tab which is used to display errors occurring in the module.

NOTE: The content of these tabs is described in the corresponding applicationspecific manuals.

1318

33003101 07/2012

Unity Pro
General functionalities
33003101 07/2012

General functionalities of the


editor

37

Aim of this section


This section describes the general functions available in the configuration editor.
What Is in This Chapter?
This chapter contains the following topics:
Topic

33003101 07/2012

Page

Analysis of the configuration

1320

Export\Import of the configuration

1321

Printing the configuration

1322

1319

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
z
z
z

that all the declared modules are compatible,


that the maximum number of one type of module in the configuration is not
exceeded,
that the limits of the various types of inputs/outputs managed are not exceeded
that all the inputs/outputs declared and used in the application are properly
configured.

How to start the global analysis of the application


Carry out the following actions:

1320

Step

Action

Select the Build -> Analyse project command from the menu.

Check the result of the analysis in the information window at the bottom of the
screen.

33003101 07/2012

General functionalities

Export\Import of the configuration


Export
The description of the procedure is given in the section "Import/Export
(see page 1713)".
Import
The description of the procedure is given in the section "Import/Export
(see page 1714)".
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 page 1714)".

33003101 07/2012

1321

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
z

of the bus editor,


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 page 1675)"

1322

33003101 07/2012

Unity Pro
Debugging and adjustment
33003101 07/2012

Debugging and adjustment

VI
Subject of this Part
This part describes the debug and adjustment functions and tools offered by Unity
Pro: application debug, variable adjustment, simulator, etc.
What Is in This Part?
This part contains the following chapters:
Chapter

33003101 07/2012

Chapter Name

Page

38

Debugging the program

1325

39

Viewing and adjusting variables

1415

40

PLC Simulator

1457

41

Machine-Process Simulator

1517

1323

Debugging and adjustment

1324

33003101 07/2012

Unity Pro
Debugging the program
33003101 07/2012

Debugging the program

38
Subject of this Chapter
This chapter guides the user through how to debug the program depending on the
language used in its component sections:
z
z
z
z

Ladder language,
textual languages (Structured Text or Instruction List),
Function Block Diagram language,
Sequential Function Chart language.

What Is in This Chapter?


This chapter contains the following sections:
Section

33003101 07/2012

Topic

Page

38.1

Safety precautions

1326

38.2

Program Animation

1336

38.3

Debugging in Ladder Language

1351

38.4

Debugging in Textual Languages (Structured Text, Instruction


List)

1361

38.5

Debugging in Function Block Diagram (FBD) Language

1371

38.6

Debugging User Function Block (DFB) Instances

1381

38.7

Debugging in Sequential Function Chart Language (SFC)

1386

38.8

Information on Debugging

1396

38.9

PLC debug screen

1402

1325

Debugging the program

38.1

Safety precautions

Subject of this Section


This section presents the different safety precautions to respect when debugging a
project with Unity Pro.
What Is in This Section?
This section contains the following topics:
Topic

1326

Page

Modification in RUN

1327

Switch to STOP of a PLC in Debug mode

1328

Setting a task to STOP

1329

Task deactivation

1330

Deactivation of Inputs/Outputs

1331

Use of the Step by Step mode and Breakpoint

1332

Unwanted disconnection in Debug mode for Premium

1333

Debug Screen Via a Fipway, Fipio or Uni-Telway Network with a PCMCIA Card

1334

Behavior of Forced Variables between Modsoft/NxT/Concept and Unity Pro

1335

33003101 07/2012

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.
Warning

WARNING
UNEXPECTED BEHAVIOUR OF APPLICATION
When using the in Run modification function, ensure that the modifications will not
have adverse effects on the running process.
Modifications in In Run mode are immediately applied to the process.
Failure to follow these instructions can result in death, serious injury, or
equipment damage.

33003101 07/2012

1327

Debugging the program

Switch to STOP of a PLC in Debug mode


At a Glance
You can switch a PLC to STOP using:
z
z
z
z

the command PLC STOP when running Unity Pro


the RUN/STOP input for Modicon M340 and Premium/Atrium
the switch on the front panel of the processor for Quantum (except 140 CPU 6)
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.

WARNING
UNEXPECTED APPLICATION BEHAVIOR
In Debug mode, check that neither any breakpoint nor the Step by Step mode are
active before switching the PLC to STOP.
Failure to follow these instructions can result in death, serious injury, or
equipment damage.
NOTE: When the PLC is in STOP, all tasks are in STOP. Check the behavior of the
corresponding Inputs/Outputs.

1328

33003101 07/2012

Debugging the program

Setting a task to STOP


At a Glance
A task can be set to STOP in different ways:
z
z

Use of a breakpoint or the Step by Step mode.


Use of the PLC screen (see page 1403) (PLC animation screen).

Precautions
ATTENTION: When a task is set to STOP, Inputs/Outputs behave differently to
whena task is deactivated (see page 1330).
The behavior of outputs differs depending on the type of PLC:
z

Modicon M340 and 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.
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.

NOTE:
When a task is set to STOP with Quantum, the outputs continue to be updated by
the CPU. In two cases, this can lead to unforeseen behavior:
z when inputs are also updated by another task that is still in RUN
z when Inputs/Outputs are mapped in the same memory zone, and associated
with different tasks.

WARNING
UNEXPECTED OUTPUT BEHAVIOR - TASK STOP WITH QUANTUM
When a task is set to STOP with Quantum, ensure that no other running task is
managing the same outputs.
Failure to follow these instructions can result in death, serious injury, or
equipment damage.

33003101 07/2012

1329

Debugging the program

Task deactivation
At a Glance
A task can be deactivated in different ways:
z
z

By using system bits (%S30 to %S35 (see Unity Pro, Program Languages and
Structure, Reference Manual )).
By using the PLC screen (see page 1403) (PLC animation screen).

Precautions
ATTENTION: when a task is deactivated, Inputs/Outputs behave differently to
whena task is set to STOP. (see page 1329)
The behavior of outputs differs depending on the type of PLC:

WARNING
UNEXPECTED APPLICATION BEHAVIOR - TASK DEACTIVATION
When deactivating a task, take into account the fact that Inputs and Outputs
continue to be active.
Failure to follow these instructions can result in death, serious injury, or
equipment damage.

1330

33003101 07/2012

Debugging the program

Deactivation of Inputs/Outputs
At a Glance
The inputs associated with a task can be deactivated using the system word %SW8
(see Unity Pro, Program Languages and Structure, Reference Manual ).
The outputs associated with a task can be deactivated using the system word
%SW9 (see Unity Pro, Program Languages and Structure, Reference Manual ).
Precautions
ATTENTION: deactivating the Inputs/Outputs does not deactivate the task
(see page 1330).
NOTE:
The behavior of outputs differs depending on the type of PLC:
z Modicon M340 and Premium / Atrium: module outputs located on the PLC bus
or 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.

WARNING
UNEXPECTED APPLICATION BEHAVIOR - OUTPUTS DEACTIVATION
Before deactivating an Output, take into account its deactivation mode (fallback or
maintain).
Failure to follow these instructions can result in death, serious injury, or
equipment damage.

33003101 07/2012

1331

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 PLCs operating
modes. You must be careful when using them.
Precautions
In Debug mode, the use of a breakpoint (except for an SFC breakpoint
(see page 1387)) or of the Step by Step mode forces the task to STOP.

CAUTION
UNEXPECTED APPLICATION BEHAVIOR
Check the consequences on the behavior of the outputs when the task is set to
STOP (see page 1329).
Failure to follow these instructions can result in injury or equipment damage.

1332

33003101 07/2012

Debugging the program

Unwanted disconnection in Debug mode for Premium


Precaution
If the connection is interrupted between the Unity Pro programming software and the
Premium PLC, the breakpoint is automatically deleted. If the Premium PLC was
stopped at breakpoint level, it automatically switches to STOP after the
disconnection Timeout.

WARNING
UNEXPECTED APPLICATION BEHAVIOR
With Premium in debug mode, ensure that the consequences of a PLC Stop on the
application are acceptable.
Failure to follow these instructions can result in death, serious injury, or
equipment damage.
NOTE: When the PLC is in STOP, all tasks are in STOP. Check the behavior of the
corresponding Inputs/Outputs.

33003101 07/2012

1333

Debugging the program

Debug Screen Via a Fipway, Fipio or Uni-Telway Network with a PCMCIA Card
Restriction
If you use debug screens to access a PLC via a Fipway network, a Fipio fieldbus or
a Uni-Telway bus with a PCMCIA card, you may, on certain modules, obtain a
message explaining that it is not possible to access debugging.
The solution is to connect directly to the PLC with the Uni-Telway, USB or XIP link
(depending on the configuration of the hardware used).

1334

33003101 07/2012

Debugging the program

Behavior of Forced Variables between Modsoft/NxT/Concept and Unity Pro


Forced Variable Behavior

WARNING
UNEXPECTED VARIABLE BEHAVIOR
Check your forced variables and memory protection switch when shifting between
Modsoft/NxT/Concept and Unity Pro.
Failure to follow these instructions can result in death, serious injury, or
equipment damage.
The behavior of forced variables has been changed between Modsoft/NxT/Concept
and Unity Pro.
With Modsoft/NxT/Concept you cannot force variables (0x, 1X) with the Quantum
CPU memory protect switch in the ON position.
With Unity Pro you can force variables (%M, %I, %Q) with the Quantum CPU
memory protect switch in the ON position.
When using a basic Quantum CPU, if the memory protect switch is in the OFF
position, some variables are forced and the application is saved in flash memory:
z
z

with Modsoft/NxT/Concept, forced variables keep their state after a cold start,
with Unity Pro, forced variables lose their state after a cold start.

Warning Message when Forcing Variables


A warning message will display in Unity Pro each time that variables are forced on
the following Quantum PLCs:
z 140 CPU 311 10
z 140 CPU 434 12A/U
z 140 CPU 534 14A/U
This warning message includes a "Do not warn me again" option so that, when
checked, the message will not be redisplayed during the current Unity Pro session.
Starting a new session of Unity Pro means that the option must be checked once
more in order to no longer see it when forcing a variable.

33003101 07/2012

1335

Debugging the program

38.2

Program Animation

Subject of this Section


This section describes the animation used in the different language editors.
What Is in This Section?
This section contains the following topics:
Topic

1336

Page

Introduction to animation

1337

Section in textual languages (Structured Text or Instruction List)

1339

Section in a Ladder Diagram language

1340

Section in Function Block Diagram (FBD) language

1343

Section in Sequential Function Chart language (SFC)

1345

Display of Prepositioned steps, after an on-line modification

1347

DFB instances (user function blocks)

1348

Representation of forced variables

1350

33003101 07/2012

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
z

integral online mode (projects identical),


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
z

debug the project (setting a breakpoint or a watchpoint),


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).
NOTE: In Monitoring mode links between EFs are not animated.
Animation is managed section by section. You can stop it or restart it section by
section.
NOTE: 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.
NOTE: For all languages, the animation of strings is limited to 16 characters no
matter what the string size is. In order to animate more than 16 characters use the
animation table with the extended string animation.
Specific Features of Animation
Two types of animation are available:
z
z

33003101 07/2012

standard animation, in which the variables of the active section are refreshed
upon completion of the master task (MAST),
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)

1337

Debugging the program

Example of an animated section with Watchpoint:

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
z

the value of the variable if only its name is visible in the editor,
the type, name, address and comment of the variable if only its value is visible in
the editor.

Examples of help bubbles in an FBD editor and in a Structured Text editor

Starting and Stopping Animation


By default, the sections are animated. To stop the animation of a section click on the
button in the toolbar. To restart the animation, click the button a second time.
1338

33003101 07/2012

Debugging the program

Section in textual languages (Structured Text or Instruction List)


Animation colors
Animation of a Section in Structured Text language:

The background color of the editor is gray.


All text is shown in black.
All comments are shown in green.
Black color used in offline mode for variables and instructions is replaced.
Variables and instructions during animation 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 most 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.
NOTE: Multi-dimension array variable are not animated in the language editors and
are not shown in yellow.

33003101 07/2012

1339

Debugging the program

Section in a 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).

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 type,
name, address and comment of a numerical variable (yellow) in a help bubble (Tool
tip) when you position the mouse pointer over the variable.
NOTE: In a LD section:
z
z

the unconnected parameters of elementary functions are not animated,


the unconnected parameters of function blocks are animated.

The result of textual expressions is also animated:


z
z

1340

in green and red for Boolean expressions,


numerical expressions are replaced by their result, the associated help bubble
(Tool tip) displays type, name, address and comment of the expression.

33003101 07/2012

Debugging the program

Animations
There are 3 types of link:
z
z
z

Boolean links between contacts and coils,


Boolean links between function blocks,
numerical links between function blocks.

Two sorts of animation are possible depending on the option selected:


z

with animation of links 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.

without animation of links in which closed contacts and triggered coils are
shown in reverse video.

To select an animation, perform the following actions:


Step

Action

From the menu, select the Tools->Project Settings... command.


Result: The Project Settings (see page 479) window is displayed.

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.

Confirm with OK

33003101 07/2012

1341

Debugging the program

Example:

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.

1342

33003101 07/2012

Debugging the program

Section in Function Block Diagram (FBD) language


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).

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 type,
name, address and comment of a numerical variable (yellow) in a help bubble (Tool
tip) when you position the mouse pointer over the variable.
NOTE: In an FBD section:
z
z

the unconnected parameters of elementary functions are not animated,


the unconnected parameters of function blocks are animated.

The result of textual expressions is also animated:


z
z

33003101 07/2012

in green and red for Boolean expressions,


numerical expressions are replaced by their result, the associated help bubble
(Tool tip) displays type, name, address and comment of the expression.
1343

Debugging the program

Animating the Links


There are 2 types of link:
z
z

Boolean links between function blocks,


numerical links between function blocks.

These 2 types of links are animated in the following way:


z

1344

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),
numerical links between the function blocks are shown in black. They display the
value of the output parameter to which they are connected.

33003101 07/2012

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

33003101 07/2012

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.

1345

Debugging the program


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.

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.

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
ANIMATION OF SFC EDITOR STOPPED
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 these instructions can result in injury or equipment damage.

1346

33003101 07/2012

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
z
z

An SFC section uses macro sections


Sections are animated.
A prepositioning is performed for this section and for the sections of the macrosteps.

Procedure
Procedure for obtaining the scenario that may cause a problem.
Step

Action

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.

Use the command Build Build Changes to generate the modifications.

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.

33003101 07/2012

1347

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
z
z

textual languages (see page 1339),


Ladder Diagram language (see page 1340),
Function Block Diagram language (see page 1343).

The animated variables are the variables belonging to the DFB instance that has a
section which is currently being animated, in other words:
z
z
z

the input, input\output, output parameters,


the public variables,
the private variables.

NOTE: in a DFB section, the unconnected parameters of function blocks are not
animated.
How to Animate a Section of a DFB
To go to the relevant section of a DFB instance, perform the following operations:
Step

Action

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:

1348

33003101 07/2012

Debugging the program

Step

Action

In this box, choose the section of the DFB that you wish to animate and confirm with OK.
Section in Structured Text:

If the DFB section which is currently animated is a nested instance and you wish to animate one of
its sections, restart the operation.

33003101 07/2012

1349

Debugging the program

Representation of forced variables


At a Glance
Animation of forced variables:

NOTE: Forcing only concerns located Boolean variables of EBOOL type.


NOTE: For Modicon M340 PLCs analog I/O variables can also be forced.
In animated mode, these variables are represented in the following way:
z
z

framed by a green rectangle if the value is TRUE (1),


framed by a red rectangle if the value is FALSE (0).

NOTE: Analog I/O variables dont have any special representation when forced.
(They are not framed by rectangles)
Implementation
The table below describes the actions to be performed to force variables from a
language editor:
Step

Action

Open a section.

From the Edit menu, select all variables using the Select all command or
Select a variable.

Select the Initialize Animation Table command from the Services menu.
Result: An animation table opens with the variable(s) selected in the section.

Click on Force in the animation table.

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.

1350

33003101 07/2012

Debugging the program

38.3

Debugging in Ladder Language

Subject of this Section


This section introduces the different tools available and explains how to implement
them to debug the program. These tools are:
z
z
z

the breakpoint,
step by step execution,
the watchpoint.

What Is in This Section?


This section contains the following topics:
Topic

33003101 07/2012

Page

Inserting a breakpoint in Ladder Diagram language (LD)

1352

Step by step execution mode in Ladder Diagram language (LD)

1354

Inserting a Watchpoint in Ladder Diagram Language

1358

1351

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
z

to examine the behavior of the code,


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 Setting a Breakpoint
The program element which can be used to set a breakpoint is the rung or a SubRoutine (SR) or user function block (DFB) call within a rung.
In other words, the following program section:

How to Insert a Breakpoint


Carry out the following actions:
Step

Action

For example, select a contact in the rung.

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

1352

button in the debug toolbar.

33003101 07/2012

Debugging the program

Example:

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 Breakpoint
Either you can:
z

select the Debug->Clear Breakpoint command from the menu,

or select the

button in the debug toolbar.

Erasing a breakpoint does not restart the task. To do this, you have to press

33003101 07/2012

1353

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:

1354

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.

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.

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.

33003101 07/2012

Debugging the program

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:

33003101 07/2012

1355

Debugging the program

Step Into, Step Out and Step Over


Example:

Description of step by step from the breakpoint reached

Step

Action

Clicking on the Step Into button moves execution of the program to the SR1
call.

2 or 2 or 2

If you click on:


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

1356

Clicking on Step Out while in SR1 executes SR1 in its entirety and moves
execution of the program on to call SR2.
33003101 07/2012

Debugging the program

Step

Action

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,

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 Step Out
If you want to perform step by step section by section, execute the 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.

33003101 07/2012

1357

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
z
z

in the section ladder editor,


in the display window (see page 1417),
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 Properties
These properties are:
z
z
z
z
z

1358

the watchpoint can be set only in online mode; if the connection is broken, the
watchpoint is lost as well,
a single watchpoint is allowed at a given moment; the watchpoint is exclusive with
the breakpoint,
display of animated variables is effective before execution of the rung on which
the watchpoint has been set,
a counter is incremented each time the rung with the watchpoint is executed, up
to a maximum value of 9999, then reset to 0,
modification of a section is not authorized if a watchpoint is set.

33003101 07/2012

Debugging the program

How to Insert a Watchpoint


Carry out the following actions:
Step

Action

For example, select a contact in the rung.

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.

Example:

NOTE: Inserting a new watchpoint automatically clears the old one.

33003101 07/2012

1359

Debugging the program

How to Locate an Existing Watchpoint


Carry out the following actions:
Step
1

Action
Either:
z by selecting the following command from the menu:

Debug->Show Watchpoint,
z or select the

button in the toolbar.

The part of the language editor containing the watchpoint is displayed.

How to Synchronize with an Animation Table


Carry out the following actions:
Step

Action

Select the animation table desired.

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 Watchpoint


Either you can:

1360

select the Debug->Clear Watchpoint command from the menu,

or select the

button in the toolbar.

33003101 07/2012

Debugging the program

38.4

Debugging in Textual Languages (Structured


Text, Instruction List)

Subject of this Section


This section introduces the different tools available and explains how to implement
them to debug the program. These tools are:
z
z
z

the breakpoint,
step by step execution,
the watchpoint.

What Is in This Section?


This section contains the following topics:
Topic

33003101 07/2012

Page

Insertion of a breakpoint in textual languages (Structured Text or Instruction


List)

1362

Step by step execution mode in textual languages (Structured Text or


Instruction List)

1364

Insertion of a Watchpoint in Textual Languages (Structured Text or Instruction


List)

1368

1361

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
z

to examine the behavior of the code,


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 Setting a Breakpoint
The program element used to set a breakpoint is an instruction.
In other words, the following program section:
Line 1 (*Example*)
Line 2 IF(%MW10=14) THEN

(*Test condition*)

Line 3

(*Execution if condition true*)

%MW45:=68;

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.

1362

33003101 07/2012

Debugging the program

How to Insert a Breakpoint


Carry out the following actions:
Step

Action

Select the desired program element.

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.

Example:

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 Breakpoint
Either you can:
z

select the Debug->Clear Breakpoint command from the menu,

or select the

button in the debug toolbar.

Erasing a breakpoint does not restart the task. To do this, you have to press

33003101 07/2012

1363

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.

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.

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:

1364

33003101 07/2012

Debugging the program

33003101 07/2012

1365

Debugging the program

Step Into, Step Out and Step Over


Example:

1366

33003101 07/2012

Debugging the program

Description of step by step from the breakpoint reached

Step

Action

Clicking on the Step Into button moves execution of the program to the SR1
call.

2 or 2 or 2 If you click on:


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.

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 Step Out
If you want to perform step by step section by section, execute the 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.

33003101 07/2012

1367

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
z
z

in the section language editor,


in the display window,
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.


NOTE: Using a watchpoint degrades real-time performances due to increased
application overhead. It is not recommended to use a watchpoint in a code loop,
because the watchpoint would be called n times in a cycle and cause major
overhead, possibly triggering the task watchdog.
Watchpoint Properties
These properties are:
z
z
z
z
z

1368

the watchpoint can be set only in online mode; if the connection is broken, the
watchpoint is lost as well,
a single watchpoint is allowed at a given moment; the watchpoint is exclusive with
the breakpoint,
display of animated variables is effective before execution of the instruction on
which the watchpoint has been set,
a counter is incremented each time the instruction with the watchpoint is
executed, up to a maximum value of 9999, then reset to 0,
modification of a section is not authorized if a watchpoint is set.

33003101 07/2012

Debugging the program

How to Insert a Watchpoint


Carry out the following actions:
Step

Action

In the section, select the desired instruction.

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.

Example:

NOTE: Inserting a new watchpoint automatically clears the old one.

33003101 07/2012

1369

Debugging the program

How to Locate an Existing Watchpoint


Carry out the following actions:
Step
1

Action
Either:
z by selecting the following command from the menu:

Debug->Show Watchpoint.
z or select the

button in the toolbar.

The part of the language editor containing the watchpoint is displayed.

How to Synchronize with an Animation Table


Carry out the following actions:
Step

Action

Select the animation table desired.

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 Watchpoint


Either you can:

1370

select the following command from the menu:


Debug->Clear Watchpoint,

or select the

button in the toolbar.

33003101 07/2012

Debugging the program

38.5

Debugging in Function Block Diagram (FBD)


Language

Subject of this Section


This section introduces the different tools available and explains how to implement
them to debug the program. These tools are:
z
z
z

the breakpoint,
step by step execution,
the watchpoint.

What Is in This Section?


This section contains the following topics:
Topic

33003101 07/2012

Page

Inserting a breakpoint in Function Block Diagram language

1372

Step by step execution mode in Function Block Diagram language (FBD)

1375

Inserting a watchpoint in Function Block Diagram language (FBD)

1378

1371

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
z

to examine the behavior of the code,


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 Setting a Breakpoint
The program element used to set a breakpoint is the function block.
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.

1372

33003101 07/2012

Debugging the program

How to Insert a Breakpoint


Carry out the following actions:
Step

Action

Select the desired program element.

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.

Example:

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.

33003101 07/2012

1373

Debugging the program

How to Delete a Breakpoint


Either you can:
z

select the following command from the menu:


Debug->Clear Breakpoint,

or select the

button in the debug toolbar.

Erasing a breakpoint does not restart the task. To do this, you have to press

1374

33003101 07/2012

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.

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.

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:

33003101 07/2012

1375

Debugging the program

Step Into, Step Out and Step Over


Example:

1376

33003101 07/2012

Debugging the program

Description of step by step from the breakpoint reached

Step

Action

Clicking on the Step Into button moves execution of the program to the SR1
call.

2 or 2 or 2 If you click on:


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.

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 Step Out
If you want to perform step by step section by section, execute the 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.

33003101 07/2012

1377

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
z
z

in the section language editor,


in the display window,
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 Properties
These properties are:
z
z
z
z
z

1378

the watchpoint can be set only in online mode; if the connection is broken, the
watchpoint is lost as well,
a single watchpoint is allowed at a given moment; the watchpoint is exclusive with
the breakpoint,
display of animated variables is effective before execution of the block on which
the watchpoint has been set,
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,
modification of a section is not authorized if a watchpoint is set.

33003101 07/2012

Debugging the program

How to Insert a Watchpoint


Carry out the following actions:
Step

Action

In the section, select the block desired.

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.

Example:

NOTE: Inserting a new watchpoint automatically clears the old one.

33003101 07/2012

1379

Debugging the program

How to Locate an Existing Watchpoint


Carry out the following actions:
Step
1

Action
Either:
z by selecting the following command from the menu:

Debug->Show Watchpoint.
z or select the

button in the toolbar.

The part of the language editor containing the watchpoint is displayed.

How to Synchronize with an Animation Table


Carry out the following actions:
Step

Action

Select the animation table desired.

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 Watchpoint


Either you can:

1380

select the Debug->Clear Watchpoint command from the menu,

or select the

button in the toolbar.

33003101 07/2012

Debugging the program

38.6

Debugging User Function Block (DFB) Instances

Subject of this Section


This section introduces the different tools available and explains how to implement
them to debug the DFB instances of the program. These tools are:
z
z
z

the breakpoint,
step by step execution,
the watchpoint.

What Is in This Section?


This section contains the following topics:
Topic

33003101 07/2012

Page

Inserting a breakpoint in a DFB instance (user function block)

1382

Step by step execution mode in a DFB instance (user function block)

1384

Inserting a watchpoint in a user function block (DFB)

1385

1381

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
z

to examine the behavior of the code,


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 for Setting a Breakpoint
The program element used to set a breakpoint in a DFB section depends on the
language in which the section has been written:
z
z
z

the rung and the nested DFB call for Ladder Diagram language
(see page 1352),
the instruction for textual languages (see page 1362),
the Function Block for Function Block Diagram (see page 1372) language.

How to Insert a Breakpoint


Access the DFB instance section (see page 1348) from which you wish to insert a
breakpoint.
Depending on the language used in the DFB section, proceed in the following
manner:
z
z
z

for Ladder Diagram language (see page 1352),


for textual languages (see page 1363),
for Function Block Diagram language (see page 1363).

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
next call is stopped and so on.

the task corresponding to the

NOTE: Inserting a new breakpoint automatically clears the old one.

1382

33003101 07/2012

Debugging the program

How to Locate an Existing Breakpoint


Carry out the following actions:
Step

Action

Select the following command from the menu:


Debug->Show Breakpoint.

The part of the language editor containing the breakpoint is displayed.

How to Delete a Breakpoint


Either you can:
z

select the following command from the menu:


Debug->Clear Breakpoint,

or select the

button in the debug toolbar.

Erasing a breakpoint does not restart the task. To do this, you have to press

33003101 07/2012

1383

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
z
z

Ladder Diagram language (see page 1354),


textual languages (see page 1364),
Function Block Diagram language (see page 1375).

Step Into, Step Out and Step Over


Step by step functions are used in the same way for a section belonging to a DFB
as for a conventional section.
NOTE: a DFB section may contain a sub-routine (SR).
For a DFB section programmed in:
z
z
z

Ladder Diagram language (see page 1356),


textual languages (see page 1366),
Function Block Diagram language (see page 1376).

DFB with Several Sections


A DFB may be made up of several 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.

1384

33003101 07/2012

Debugging the program

Inserting a watchpoint in a user function block (DFB)


At a Glance
Access the DFB instance section (see page 1348)from which you wish to insert a
watchpoint.
For a DFB section programmed in:
z
z
z

33003101 07/2012

ladder language (see page 1358),


textual languages (see page 1368),
Function Block Diagram language (see page 1378).

1385

Debugging the program

38.7

Debugging in Sequential Function Chart


Language (SFC)

Subject of this Section


This section introduces the different tools available and explains how to implement
them to debug the program. These tools are:
z
z
z

the breakpoint,
step by step execution,
the watchpoint.

What Is in This Section?


This section contains the following topics:
Topic

1386

Page

Inserting a breakpoint in Sequential Function Chart language (SFC)

1387

Step by step execution mode in Sequential Function Chart language (SFC)

1390

Inserting a watchpoint in Sequential Function Chart language

1395

33003101 07/2012

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
z

to examine the behavior of the code,


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.

WARNING
UNEXPECTED APPLICATION BEHAVIOR - SFC BREAKPOINT
When using breakpoint in SFC, ensure that the task and its associated
inputs/outputs create an acceptable application processes behavior.
Failure to follow these instructions can result in death, serious injury, or
equipment damage.

WARNING
UNEXPECTED APPLICATION BEHAVIOR
Power off the operating part of the system when using breakpoint in SFC.
Failure to follow these instructions can result in death, serious injury, or
equipment damage.

33003101 07/2012

1387

Debugging the program

Element Used for Setting a Breakpoint


From an SFC section the program element used to set a breakpoint is the step.
In other words, the following chart section:

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
z
z

Ladder Diagram language (see page 1352),


Structured Text or Instruction List language (see page 1362),
Function Block Diagram language (see page 1372).

How to Insert a Breakpoint


From an SFC section:

1388

Step

Action

Select the desired step(s).

Set the breakpoint(s) by right-clicking the desired element and selecting the
following command:
Animation Insert/Remove Breakpoint.

33003101 07/2012

Debugging the program

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
z
z

Ladder Diagram language (see page 1352),


Structured Text or Instruction List language (see page 1363),
Function Block Diagram language (see page 1373).

How to Delete a Breakpoint from an SFC section


Select the breakpoint to be deleted, then select the Debug ->Clear Breakpoint
command from the menu.
NOTE: When you initiate a StepOver or StepOut in a chart, invisible breakpoints
are created by SFC editor in the same time than the breakpoint created. In order to
remove all these breakpoints use the function ClearAllBreakpoints, otherwise the
chart execution will stop via DisableTransition check button.

33003101 07/2012

1389

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
z

from an SFC section (chart),


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 Implementing Actions or Transitions


In this type of section, debugging behaves in practically the same way as debugging
for a conventional section using one of the following languages:
z
z
z

Ladder Diagram language (see page 1354),


textual languages (see page 1364),
Function Block Diagram language (see page 1375).

The specific characteristics of this type of debug are:


z
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,
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 (Chart)


Step by step mode consists in executing the application program step by step.
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.

1390

33003101 07/2012

Debugging the program

WARNING
UNEXPECTED EQUIPMENT OPERATION
The SFC Animation Panel is provided for experienced users only. Changes made
via the SFC Animation Panel must be well understood by the user.
Failure to follow these instructions can result in death, serious injury, or
equipment damage.
Animation Panel Tool
To launch the tool, carry out the following actions:

33003101 07/2012

Step

Action

Open the editor for the SFC section (chart) that you wish to debug.

Select the following command from the menu:


Services->Animation Panel->Show Animation Panel
Result: The tool is displayed.

1391

Debugging the program

Animation Panel tool:

Description of different commands:


SFC section name
Parameters zone

1392

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.

33003101 07/2012

Debugging the program

SFC section name


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. Doesnt work if you have a Delay Time
(SFCSTEP_TIME.delay) set in the properties of the STEP.

Step Trans Dependent Moves to the successor step if the transition condition and the step
delay time (SFCSTEP_TIME.delay) are fulfilled. If the transition
condition is not right, the chart is unfreezed and waits for the right
transitions condition. With the activation of the successor step the
chart returns to the freeze state.

33003101 07/2012

Step Over

This command moves to the successor step if the transition


condition and the step delay time (SFCSTEP_TIME.delay) are
fulfilled. If the transition condition is not right, the chart is unfreezed
and waits for the right transitions condition in order to move onto
the next step or steps (in the event of divergence). With the
activation of the successor step the chart returns to the freeze
state.

Step Out

Only available if the current element is a step belonging to a


macro-step section. This command unfreezes the chart (master
and macro belong logically to the same chart) in order to work
normally over the end of the macro. The process waits for the valid
transition condition(s) of the chart in order to move onto the
successor step or steps (in the event of divergence). With the
activation of the (first) successor step the chart returns to the
freeze state.

Set Break On
Selection

Sets a breakpoint for all selected steps.

Set Pre Pos On


Selection

Sets the pre-positioning markers on the steps and macro-steps of


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 the selected steps and macro-steps.

Reset Selected Steps

Deactivates the selected steps and macro-steps.


For Multi-Token operating mode only (Project Settings Allow
multiple token).
1393

Debugging the program

SFC section name


Clear All Breakpoints

Deactivates all the breakpoints.

Clear All PrePositions

Deactivates all the steps and macro-steps pre-positioned.

NOTE: The Step Into command is not available when debugging an SFC section
(chart).
SFC save and restore
The SFC_RESTORE function block can be used to restart all SFC charts of an
application with a given set of active steps at a state, saved before a CPU failure.
In a recovery situation it is possible to set a group of steps that represent a given
state in the process and to continue at that point.
(See SFC_RESTORE: SFC Save and Restore (see Unity Pro, System, Block
Library) in the System Library).

1394

33003101 07/2012

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
z
z

33003101 07/2012

ladder language (see page 1358),


textual languages (see page 1368),
Function Block Diagram language (see page 1378).

1395

Debugging the program

38.8

Information on Debugging

Subject of this Section


This section describes how to access additional information during debugging.
What Is in This Section?
This section contains the following topics:
Topic

1396

Page

Tracing task execution

1397

Task states during debugging

1399

Disconnection during the debug phase

1400

Operation of the alarm relay in Debug mode

1401

33003101 07/2012

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 Program Element from the Stack
Carry out the following actions:
Step
1

Action
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: Command_blocking section having called a Blocking_valve


(valve type) DFB instance in the Command 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.

33003101 07/2012

1397

Debugging the program

Step
2

Action
If you select:
z the Command 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 Command_blocking 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

1398

a restart of the task

33003101 07/2012

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
z

the FAST task,


the auxiliary tasks (AUX0, AUX1, AUX2, AUX3).

The task state can be:


z
z
z
z

HALT task stopped following the PLCs switch to "Halt",


RUN task currently being executed,
BKPT task in step by step mode,
STOP task stopped.

How to Determine the Projects Task State


To determine the current task state, select the Debug->Task State command from
the menu.
Example with a single task (MAST) in step by step mode:

33003101 07/2012

1399

Debugging the program

Disconnection during the debug phase


Caused by the User
For a variety of reasons, you can decide to switch from online mode to offline
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.

1400

33003101 07/2012

Debugging the program

Operation of the alarm relay in Debug mode


Description
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.

CAUTION
UNEXPECTED APPLICATION BEHAVIOR - ALARM RELAY
Set the bit %S9 to 1 in order to force outputs to fallback mode to stop alarm relay
changes on every step or breakpoint.
Failure to follow these instructions can result in injury or equipment damage.

33003101 07/2012

1401

Debugging the program

38.9

PLC debug screen

Aim of this sub-section


This sub-section shows the debug screen associated with the PLC processor.
What Is in This Section?
This section contains the following topics:
Topic

1402

Page

Overview of the CPU debugging screen

1403

Description of the Task tab: Task checking field

1405

Description of the Task tab: Operating mode field

1407

Description of tab: Realtime Clock

1409

Description of the Tab: Information

1410

33003101 07/2012

Debugging the program

Overview of the CPU debugging screen


Role
This screen is composed of 3 tabs:
z
z
z

Task, statuses and execution commands of the program tasks


Real-time Clock, adjusting the real-time clock
Information, information on the project and the PLC processor

PLC debug screens

NOTE: In the Minimum duration time , Current duration time, and Maximum duration
time fields, the values between parenthesis corespond to the Minimum, Current, and
Maximum overhead time (see Modicon M340 Using Unity Pro, Processors, Racks,
and Power Supply Modules, Setup Manual).
How to access the PLC debug screen
The CPU debug screen is only accessible in online mode using the Tools PLC
Screen command or by double clicking on the PLC processor in the configuration
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.

33003101 07/2012

1403

Debugging the program

Contextual menu in PLC screen


The contextual menu in the PLC screen displays three options:
z
z
z

Restore all (see page 1405), restore task periods configured for all periodic tasks
List of forced bits, display list of all forced bits
Print Information, print data from the information tab

PLC debug screens and its associated contextual menu

NOTE: The Restore all option is only available when Task tab is active and Print
Information when the Information Tab is active. All the options available in the
contextual menu are also available in Services Restore or Services Restore
all commands.

1404

33003101 07/2012

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.

33003101 07/2012

Column

Role

Programmed
Period

Value of the configured task period (for a periodic task).

Adjusted
Period

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.
Red background color in a field of this column indicates an erroneous returned
by the PLC.
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
Duration

Minimum duration of execution of the task, measured from the last cold restart
or reinitialization using the Init Duration command.

Current
Duration

Duration of the last task cycle.

Maximum
Duration

Maximum duration of execution of the task, measured from the last cold restart
or reinitialization using the Init Duration command.

Watchdog

Value of the task watchdog. This value may not be modified.

Operating
Mode

Operating mode of the task: RUN, STOP, HALT or BKPT (Breakpoint).

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).

1405

Debugging the program

Column

Role

Activation
Task

The Enable/Disable buttons associated with the tasks are used to enable or
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 Processing
The "Events" field is used to check the execution of event processing

The following table describes the role of each of the columns of the screen above.

1406

Column

Role

Enable or
disable all

This button is used to enable or disable all the event processing operations.
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

33003101 07/2012

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:

33003101 07/2012

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.
This does not set %S21 and %S13.

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.
This does not sets %S21 and %S13.

Output
fallback

It is used to switch the outputs into fallback mode. The values supplied to the
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
outputs

Is used to stop the fallback mode and to reapply the values supplied by the
program to the outputs.

1407

Debugging the program

Specific features
Management of output fallbacks for Premium Atrium and M340 PLCs: 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.
For Premium PLCs, during a warm start, an output in fallback or maintain mode goes
to the security mode (state 0) while the CPU is not started. When the CPU is started,
if the output falback function is still active, the output will return to the fallback mode
or stay at 0 in maintain mode.
For M340 PLCs, whatever the operating mode, an output in fallback or maintain
mode do not return to the previous state but stays in security mode (state 0) while
the fallback condition is applied.
NOTE: The buttons Output fallback and Applied Outputs are not available for
Quantum PLCs. On Quantum PLCs, the output of the stopped task will continue to
be updated (with the last value written), the others are handled normally. Inputs of
the stopped task will continue to be scanned, but the data input will be discarded.

1408

33003101 07/2012

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
and Time

Displays the date and time of the PLC processor.

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.

33003101 07/2012

User Date
and Time

Is used to adjust the date and time using the calendar and the entry fields: Date
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
realtime
clock date

This field displays the cause of the error when a date or time is not accepted.

1409

Debugging the program

Description of the Tab: Information


At a Glance
The Information tab is composed of 2 areas:
the browser field, which is used to choose the subject
z the display field displayed the information concerning the chosen subject is
displayed.
z

The Services Print information command is used to print this information.


Information tab:

NOTE:
To view the content of the Information tab perform the following actions:
build the project (Build Changes or Rebuild all project)
z connect Unity Pro to the PLC (PLC Connect)
z download (PLC Project Transfer to PLC)
z

1410

33003101 07/2012

Debugging the program

PLC IDENTIFICATION Information


This information is used to identify the PLC processor:
Element

Function

PLC RANGE

Type of PLC connected: Modicon M340, Premium,


Quantum...

PROCESSOR NAME

Reference of the connected processor

PROCESSOR VERSION

Software version of the processor

HARDWARE ID

Hardware identifier

NETWORK ADDRESS

Connection address

PLC MEMORY Information


This information is used to identify the types of memory and their size.
Element

Function

RAM CPU

Size of the internal RAM memory

BMX RMSxxx

Part Number of the SD-Card present in the PLC.

SD-Card

A memory card is inside the PLC, but Unity Pro


cannot read the part number.

RAM CARTRIDGE

Type of the RAM cartridge

FLASH CARTRIDGE

Type and size of the additional RAM cartridge

APPLICATION IDENTIFICATION Information


This information is used to identify the project:

33003101 07/2012

Element

Function

NAME

Project name

CREATION PRODUCT

Software version from which the project has been


created

DATE

Project creation date

MODIFICATION PRODUCT

Software version with which the project has been


modified

DATE

Project modification date

VERSION

Project version

SIGNATURE

Software signature associated with the project

LIBSET VERSION

Libset version used for the project

1411

Debugging the program

APPLICATION OPTION Information


This information describes the content of the project loaded into the PLC.
Element

Function

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.

PROTECTION OF SECTIONS

Protection of the project sections

APPLICATION DIAGNOSTICS

Application diagnostics: selected or unselected.

APPLICATION LAST MODIFICATION Information


This information describes the general information of the project loaded into the
PLC.
Element

Function

MODIFICATION PRODUCT

Software version with which the project has been


modified.

DATE

Project modification date.

PC NAME

Name of the PC1

APPLICATION

Path and name of the project saved in *.STU2

USER NAME

Display the name of the user profile associated with


Unity Pro1

1
2

1412

These elements can be hidden if no information are found


This element can be hidden if the project has not been previously saved

33003101 07/2012

Debugging the program

APPLICATION MISCELLANEOUS Information


Additional project information

33003101 07/2012

Element

Function

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 the 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.
See also Animation Table of Forced Bits
(see page 1450).

1413

Debugging the program

1414

33003101 07/2012

Unity Pro
Viewing and adjusting variables
33003101 07/2012

Viewing and adjusting variables

39
Subject of this Chapter
This chapter guides the user through how to implement the tools for viewing and
adjusting project variables. These tools are:
z
z
z

the variable display window,


the variable display boxes,
the animation tables.

What Is in This Chapter?


This chapter contains the following sections:
Section

33003101 07/2012

Topic

Page

39.1

Introduction to variable animation

1416

39.2

Variable Display Window

1417

39.3

Variable Display Boxes

1420

39.4

Animation Tables

1423

39.5

Instruction Editor (LL984)

1451

39.6

Modifying values:

1454

1415

Viewing and adjusting variables

39.1

Introduction to variable animation

Displaying variables in debug mode


At a Glance
Variables can be displayed using different language editors (sections)
(see page 1336), and additional tools, which are:
z
z
z

the variable display window,


the display boxes,
the animation tables.

Variables Shown in the Display Window


Certain variables used in a section cannot all be animated directly in the language
editor. These are:
z
z
z
z

numerical variables in sections that use textual languages (ST, IL),


numerical variables used in operation and comparison blocks in textual
languages (ST, IL),
structure variables belonging to the DDT family (derived data type),
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 in the Display Boxes
Each box displays the name and value of a single variable.
The boxes can be placed anywhere in the section and can be configured.
Variables Displayed in the Animation Tables
Certain variables must be continually monitored, regardless of whether they are
visible or not in the language editor at a given time.
These variables are displayed in the animation tables, called from the language
editors.

1416

33003101 07/2012

Viewing and adjusting variables

39.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.
Opening in offline mode:

The Output Window includes:


z
z

a line for each variable,


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 Window and the Textual Language Editors


A textual language editor (Structured Text, Instruction List) animates Boolean data.
Animation of other types of data takes place in the Variables Window; this data
includes:
z
z
z

33003101 07/2012

elementary numerical types,


derived type (DDT) instance variables, except Boolean types,
function block (EFB,DFB) instance variables, except Boolean types.

1417

Viewing and adjusting variables

Example with Structured Text 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.
The Output Window and the Graphical Language Editors
A graphical language editor (LD,FBD) animates Boolean and elementary numerical
types of data.
Animation of other types of data can be carried out in the Output Window; this data
includes:
z
z
z
z

1418

derived type (DDT) instance variables, except Boolean types,


function block (EFB,DFB) instance variables, except Boolean types,
numerical variables used in the operation or comparison blocks in the Ladder
Diagram language editor,
variables for numerical expressions connected to EFB or DFB in the Ladder or
Function Block Diagram language editor.

33003101 07/2012

Viewing and adjusting variables

Example with Function Block Diagram 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.

33003101 07/2012

1419

Viewing and adjusting variables

39.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
z
z
z

they are called only via sections written in textual languages (Structured Text,
Instruction List),
they contain the variable name and value,
the boxes can be placed anywhere in the section,
they can be configured.

The display boxes are implemented in offline or online mode.


Creating a Variable Display Box
Carry out the following actions:
Step

Action

Select the variable from a section (Structured Text or Instruction List).

From the contextual menu, select the "New Inspect Window" command; the
box is displayed in the section.

Use the mouse to position the box.

Settings
Carry out the following actions:
Step

1420

Action

Select the display box.

From the contextual menu, launch the "Settings" command.

33003101 07/2012

Viewing and adjusting variables

Step

Action

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.

Example:

33003101 07/2012

1421

Viewing and adjusting variables

Clearing a Variable Display Box


Carry out the following actions:

1422

Step

Action

Select the display box.

From the contextual menu, launch the "Delete Inspect" command.

33003101 07/2012

Viewing and adjusting variables

39.4

Animation Tables

Subject of this Section


This section guides the user through the implementation of animation tables.
What Is in This Section?
This section contains the following topics:
Topic

33003101 07/2012

Page

Permanent and Temporary Animation Tables

1424

Introduction to Animation Tables

1426

Managing Animation Tables

1428

Animation Table Properties

1432

Basic functions

1433

Animation of Strings in the Animation Table

1437

Modification Mode

1438

Force Mode

1442

Multiple modification and forcing of Boolean variables

1448

Animation Table of Forced Bits

1450

1423

Viewing and adjusting variables

Permanent and Temporary Animation Tables


Overview
There are 2 kinds of animation tables:
permanent animation tables
z temporary animation tables
z

Permanent Animation Table


A permanent animation table is an integrated part of a project.
It is saved with the project and can be exported.
Temporary Animation Table
A temporary animation table
z is not saved with a project but deleted when closing a project
Therefore no temporary animation table is available in the project browser, when
opening a project.
z does not modify a project
z does not modify the build state of a project
z does not create upload information (and therefore can not be uploaded)
z can not be exported
z is not included in the printout of a project
Permanent/Temporary
z

Creating an animation table via Project Browser Animation Table you can
select if a permanent or a temporary animation table should be created. To create
a temporary animation table set the Temporary Table checkbox in the
Properties dialog.
Creating an animation table outside the project browser (e.g. via Initialize
Animation Table in a language editor or creating an animation table of forced
bits) you will always create a temporary animation table.
See also Animation Table of Forced Bits, page 1450.

Switching Between Permanent and Temporary


Every temporary animation table (except the animation table of forced bits) can be
changed to a permanent animation table and vice versa.
There are 2 ways to do this:
Use the checkbox available in the Properties dialog of an animation table (see
Animation Table Properties, page 1432).

1424

Use the
button top right at the animation table. Click the button to change
from a permanent animation table to a temporary animation table and vice versa.
33003101 07/2012

Viewing and adjusting variables

Context Menu
The context menu that can be opened via Project Browser Animation Tables
provides 2 additional entries:
z Make All Tables Permanent
Use this context menu entry to change all temporary animation tables to
permanent animation tables.
As mentioned above, an animation table of forced bits is always a temporary one
and can not be changed to a permanent.
z Purge Temporary Tables
Use this context menu entry to delete all temporary animation tables.
Icons in the Project Browser
In the Project Browser the 2 kinds of animation tables are represented by different
icons.

33003101 07/2012

1425

Viewing and adjusting variables

Introduction to Animation Tables


Overview
An animation table is divided into 3 areas that include:
z
z
z

the Mode area,


the Command area,
the Display area,

Animation table:

Online and Offline Mode


In offline mode, an animation table does not display values associated with the
variables:

1426

33003101 07/2012

Viewing and adjusting variables

In online mode, an animation table displays the values of the variables.

33003101 07/2012

1427

Viewing and adjusting variables

Managing Animation Tables


Creating a New Animation Table
Carry out the following actions:
Step

Action

In the project browser, go to the Animation Tables directory.

From the contextual menu; select the New Animation Table command; the
table is created with a default name.

If you wish, you can rename the table by clicking on its name in the project
browser.

Opening an Existing Animation Table


Carry out the following actions:
Step

Action

Select the desired table in the Animation Tables directory.

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.

1428

33003101 07/2012

Viewing and adjusting variables

Attaching an Animation Table to a Functional Module


Carry out the following actions:
Step

Action

Display the Structural View and the Functional View.

Select the desired table in the Animation Tables directory in Structural View.

From the Structural View, use the mouse to drag\drop the animation table into the desired functional
module in the Functional View. The authorized insertion point of the animation table in the functional
module, is represented by a line.
Example:

Another way to attach an animation table to a functional module is described in the


following table:
Step

Action

Display the Structural View .

Select the desired table in the Animation Tables directory in Structural View.

Select the Properties command from the contextual menu.

33003101 07/2012

1429

Viewing and adjusting variables

Step

Action

Select the desired functional module from the Functional Module data selection box.
Example:

Confirm with OK.

Backing Up an Animation Table


The backup is performed automatically.
Deleting an Animation Table
Carry out the following actions:
Step

1430

Action

Select the desired table in the Animation Tables directory.

Select the Delete command from the contextual menu.

33003101 07/2012

Viewing and adjusting variables

Properties of the Animation Table


To access the properties of the animation table, carry out the following actions:
Step

Action

Select the desired table in the Animation Tables directory or in the editor
window.

Either:
z Select the Properties command from the contextual menu,
z or click Edit Properties in the menu bar.

Refer also to Animation Table Properties, page 1432.

33003101 07/2012

1431

Viewing and adjusting variables

Animation Table Properties


Presentation

Animation Table Elements

1432

Element

Description

Name

animation table name

Functional module

attached functional module

Comment

animation table comment

Number of animated characters

number of characters that can be animated in the


Extended Strings mode (range: 20-300)
Refer also to Animation of Strings in the Animation
Table, page 1437.

Temporary Table

kind of animation table (temporary/permanent


See also Permanent and Temporary Animation Tables,
page 1424.

33003101 07/2012

Viewing and adjusting variables

Basic functions
Adding a Data Item to the Animation Table
Carry out the following actions:
Step

Action

Move to an empty line

Either you can:


z double-click on the empty line
z move to a variable and from the contextual menu, by selecting the "Insert"
command
z type the variable address
Example:

Enter the variable name or select it in the "Instance selection" window


launched with the

button.

NOTE: Variables previously created in the Data Editor (see page 299) can be added
to the Animation table by entering the address in the Name element of the Animation
Table.

33003101 07/2012

1433

Viewing and adjusting variables

Adding a Data Item From Another Animation Table


Carry out the following actions:
Step

Action

In the source animation table, select the desired data item.

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.

1434

33003101 07/2012

Viewing and adjusting variables

Modifying the Display Format


Carry out the following actions:
Step

Action

In the animation table, select the desired data item.

In the contextual menu, select the "Display Format" command and choose
the format.
Example:

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 Variable
Carry out the following actions:
Step

Action

In the animation table, select the variable(s) desired.

Select the "Delete" command from the contextual menu.

NOTE: Once the deletion has been made, the table is reorganized to fill the empty
lines.

33003101 07/2012

1435

Viewing and adjusting variables

Displaying a Variable Name


Entering the variable address in the Name element displays automatically the
variable name.
Carry out the following actions:
Step

Action

Move to an empty line

Either you can:


z double-click on the empty line
z type the variable address

Example:

Result: Animation table automatically displays a in the Name element:

NOTE: It is possible to have more than one variables with the same address entered
in the Name element. The Animation Table will create an new entry for each
variables.
The graphic below shows two variables at the %MW100 address:

1436

33003101 07/2012

Viewing and adjusting variables

Animation of Strings in the Animation Table


Overview
The animation table offers two different modes (Modification/Force) to animate
strings.
Normally only the first 16 characters of a string are animated (modified).
The reason for this restriction is that for animation handling a PLC reserves a buffer.
The size of this buffer is limited and the animation of complete strings can exceed
the size of the buffer easily.
Extended Strings
The animation table can animate more than 16 characters of a string.
At the right side of the command zone area there is the checkbox
Strings).

(Extended

It can be used to activate the mode extended string animation.


Presentation

The number of characters to be animated in the mode extended string animation


can be set in the properties of the animation table (see Animation Table Properties,
page 1432).
NOTE: Using this feature you should keep in mind that the animation of big strings
can reduce the number of sections and animation tables which can be animated at
the same time.

33003101 07/2012

1437

Viewing and adjusting variables

Modification Mode
Implementing Modification Mode
Press the Modification button in the Mode area:

Modifying an Elementary Variable (EDT)


To modify an immediate value, carry out the following actions:
Step

Action

Double-click in the "Value" column on the line corresponding to the variable that
you wish to modify.

Use the keyboard to enter the desired value.

Confirm your choice by pressing the "Enter" key.

To modify a Boolean value, carry out the following actions:


Step

Action

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 "Set to 0" or "Set to 1"" commands.
To modify several variables simultaneously, see Modifying Several Boolean
Variables, page 1448

Modifying a Derived Variable (DDT)


Derived variables correspond to structures and to tables.
For a structure, if the elements that compose it are elementary variables,
modifications are made element by element see Modifying an Elementary Variable
(EDT), page 1438.
1438

33003101 07/2012

Viewing and adjusting variables

Example:

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),
page 1438.
Example:

NOTE: If the table contains structure-type elements, follow the procedure described
above.

33003101 07/2012

1439

Viewing and adjusting variables

Modifying a Function Block (FB) Data Item


Function block data corresponds to DFBs and EFBs.
If the elements that compose the function block (input/output parameters, public
variables) are elementary variables; the modifications are carried out element per
element see Modifying an Elementary Variable (EDT), page 1438.
Example of a DFB instance:

NOTE: If the variables are derived (structures, tables), you must expand them (+)
until you reach the elementary variables.
Private variables of derived function blocks cannot be accessed by the pre-defined
elements. To display or modify private variables you have to enter them variable by
variable at the end of the function block tree in the animation table. With the same
syntax is is also possible to enter variables that are used in nested derived function
blocks.

1440

33003101 07/2012

Viewing and adjusting variables

Example of a DFB instance with private variables:

Example of nested DFB with public and private variables:

33003101 07/2012

1441

Viewing and adjusting variables

Force Mode
Preset Force Values in Offline Mode
The Modification Values and Force Values for variables can be preset in offline
mode via animation tables. This information can be transferred to PLC later.
Presetting values can also be used for multiple modification and forcing of Boolean
variables (see page 1448).
Preset Force Values in Project Information
The preset force values of variables are included in the
download (Transfer Project to PLC) information of a project
z upload (Transfer Project from PLC) information of a project.
z

The Modification Value/Force Value attribute of a variable is part of the animation


table information.
Include in Upload Information
In the properties dialog of an animation table you can activate/deactivate an
additional property (Include in Upload Information).
As a default this property is activated.
This check box in the property dialog of an animation table is enabled only, if
Animation tables is activated via Project Settings General PLC embedded
data Upload information.
Implementing Forcing Mode
Press the Force button in the Operating Mode area:

1442

33003101 07/2012

Viewing and adjusting variables

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.
NOTE: Animation table doesnt manage analog I/O variables forcing.(For Modicon
M340 PLCs these variables can be forced in the program)
NOTE: With the animation table, it is not possible to set or reset the bit associated
to step S.x.
Forcing input and output values in a running controller can have serious
consequences to the operation of a machine or process. Only those who understand
the implications in the controlling logic, and who understand the consequences of
forced I/O on the machine or process, should attempt to use this function.

WARNING
UNINTENDED EQUIPMENT OPERATION
You must have prior knowledge of the process and the controlled equipment and
the modified behavior in Unity Pro before attempting to force I/O or numeric values
to memory locations.
Failure to follow these instructions can result in death, serious injury, or
equipment damage.
NOTE:
Before forcing outputs, make sure that you exactly understood the different behavior
of forced outputs (%M) with Modsoft/NxT/Concept and Unity Pro.
z With Modsoft/NxT/Concept you cannot force outputs when the Memory Protect
switch of the Quantum CPU is set to the "On" position.
With Unity Pro you can force outputs even when the Memory Protect switch of
the Quantum CPU is set to the "On" position.
z With Modsoft/NxT/Concept forced outputs maintain their values following a cold
start.
With Unity Pro forced outputs lose their disabled state following a cold start.
Forcing a Variable
To force a localized Boolean variable, carry out the following actions:

33003101 07/2012

Step

Action

Use the mouse to select the Boolean variable.

1443

Viewing and adjusting variables

Step

Action

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 located
variables (see page 1449).

When a variable is forced, the letter F is displayed in front of the value:

Forcing input and output values in a running controller can have serious
consequences to the operation of a machine or process. Only those who understand
the implications in the controlling logic, and who understand the consequences of
forced I/O on the machine or process, should attempt to use this function.

WARNING
UNINTENDED EQUIPMENT OPERATION
You must have prior knowledge of the process and the controlled equipment and
the modified behavior in Unity Pro before attempting to force I/O or numeric values
to memory locations.
Failure to follow these instructions can result in death, serious injury, or
equipment damage.
NOTE:
Before forcing outputs, make sure that you exactly understood the different behavior
of forced outputs (%M) with Modsoft/NxT/Concept and Unity Pro.
z With Modsoft/NxT/Concept you cannot force outputs when the Memory Protect
switch of the Quantum CPU is set to the "On" position.
With Unity Pro you can force outputs even when the Memory Protect switch of
the Quantum CPU is set to the "On" position.
z With Modsoft/NxT/Concept forced outputs maintain their values following a cold
start.
With Unity Pro forced outputs lose their disabled state following a cold start.
1444

33003101 07/2012

Viewing and adjusting variables

Unforcing a Variable
To unforce a located Boolean variable, carry out the following actions:
Step

Action

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 Unforcing several located
variables (see page 1449)

When a variable is unforced, the letter F no longer appears in front of the value.
Creating an Offline Forcing Animation Table
To create a new animation table of forced bits from scratch, carry out the following
actions:
Step

Action

Create a new (permanent) animation table via the Project Browser.

Enter the memory bits you want to force either as single bits (like %M1) or as a
bit array (like M1:100).

Press the Force button.

4
Press the Swaps to multiple mode
5

button.

Enter forcing values 0 or 1 in the Force value column.

To create a new animation table of existing forced bits in the PLC, carry out the
following actions:
Step

33003101 07/2012

Action

There are 3 ways to open the Forced bits animation table:


z In the status bar click the red F.
z In the Project Browser right-click Animations Tables and select Open
Forced Bits Table from the context menu.
z Via Tools PLC Screen open the PLCScreen dialog.
In the Information tab under APPLICATION MISCELLANEOUS click the
FORCED BITS line.

Since this animation table is temporary only, copy and paste the animation table
via context menu of the Project Browser.

1445

Viewing and adjusting variables

Step

Action

Make the copied animation table permanent (using the Temporary table button

In the copied Forced bits animation table press the Force button.

).

5
Press the Swaps to multiple mode

button.

6
Press the Populates multiple values using existing forced bits
button.
Result: The Force value column is populated.

Build/Build changes and Save your application.


By building, the values entered in the Force value column will be included in the
upload information which is downloaded into the PLC.
Forcing by Use of an Offline Forcing Animation Table
To force values before starting the PLC, carry out the following actions:
Step

Action

Open an existing application (*.STU, *.STA or an uploaded application).

Connect to the PLC.

Open the manually created/copied Forced bits animation table (see Creating
an Offline Forcing Animation Table above).

Press the Force button to enter forcing mode.

5
Press the Swaps to multiple mode

button.

6
Press the Execute multiple
Force value column.
7

button to force the bits from the preset

Now you can start your application.

Forcing input and output values in a running controller can have serious
consequences to the operation of a machine or process. Only those who understand
the implications in the controlling logic, and who understand the consequences of
forced I/O on the machine or process, should attempt to use this function.

1446

33003101 07/2012

Viewing and adjusting variables

WARNING
UNINTENDED EQUIPMENT OPERATION
You must have prior knowledge of the process and the controlled equipment and
the modified behavior in Unity Pro before attempting to force I/O or numeric values
to memory locations.
Failure to follow these instructions can result in death, serious injury, or
equipment damage.
NOTE:
Before forcing outputs, make sure that you exactly understood the different behavior
of forced outputs (%M) with Modsoft/NxT/Concept and Unity Pro.
z With Modsoft/NxT/Concept you cannot force outputs when the Memory Protect
switch of the Quantum CPU is set to the "On" position.
With Unity Pro you can force outputs even when the Memory Protect switch of
the Quantum CPU is set to the "On" position.
z With Modsoft/NxT/Concept forced outputs maintain their values following a cold
start.
With Unity Pro forced outputs lose their disabled state following a cold start.

33003101 07/2012

1447

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 Several Boolean Variables
Carry out the following actions:
Step

Action

1
Click on the
button.
The Set value column is added to the table:

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

The
1448

button so that the PLC acknowledges the modifications.

button clears the Set value column.


33003101 07/2012

Viewing and adjusting variables

Forcing Several Boolean (EBool) Variables


Carry out the following actions:
Step

Action

1
Click on the
button.
The Force value column is added to the table:

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

33003101 07/2012

button clears the Force value column.

1449

Viewing and adjusting variables

Animation Table of Forced Bits


Overview
You can create an animation table that includes all forced bits of a project.
Table[Forced Bits]
An animation table of forced bits
can not be modified by you
z is updated automatically if a variable or address becomes forced/unforced or if
the value of a forced variable/address changes
z is always created as a temporary animation table and can not be changed into a
permanent animation table (see also Permanent and Temporary Animation
Tables, page 1424)
z has a fixed name (Table[Forced Bits]) which can not be modified
z displays the symbolic names of the forced addresses (if mapping is available
z

Creating the Animation Table


There are 3 ways to create the animation table of forced bits:
z Via Tools PLC Screen open the PLCScreen dialog.
In the Information tab under APPLICATION MISCELLANEOUS click the
FORCED BITS line.
z In the Project Browser right-click Animations Tables and select Open Forced
Bits Table from the context menu.
z In the status bar click the red F.

1450

33003101 07/2012

Viewing and adjusting variables

39.5

Instruction Editor (LL984)

Instruction Editor
Introduction
For every Unity Pro FFB you can use the Unity Pro animation tables during runtime.
(Select a function block and use Initialize Animation Table from the context menu.
Please refer to Animation Tables (see page 563).
But since special FFBs of the Original LL984 Block Library have parameters of array
type there will be no detailed information displayed for these parameters.
So for most of the FFBs of the Original LL984 Block Library the LL984 editor
provides another means of animation called Instruction Editor.
NOTE: For the FFBs of the Original LL984 Block Library that are not supported by
the Instruction Editor see table below.
Using the Instruction Editor
To open the Instruction Editor for an FFB during runtime, select the FFB and use
Show instruction from the context menu.

33003101 07/2012

1451

Viewing and adjusting variables

Representation
Representation of the Instruction Editor

Items of the Instruction Editor

1452

Item

Description

Table Header

displays <Pin name>:<Variable name>@<Address>


z pin name of the respective function block node
z name of the connected variable

Description

describes the elements of the array

Address

displays the address of the array element in case of located


variables
In case of unlocated variables this field is empty.
In either case the corresponding data column field can be
animated/modified.

Data

displays the actual value of the array element


The value can be edited by clicking this field.

33003101 07/2012

Viewing and adjusting variables

Item

Description

Radix

allows you to select the displayed data type format


Available formats:
z Binary
z Decimal
z Floating Point
z HexaDecimal
z BCD
z ASCII
z Signed Integer
z 32 Bit Integer

Changing the Data Type


If for example an element of the table is defined as of type floating point or 32 bit
integer, the next element is shown as disabled.
For some elements you can change the predefined data type.
For example showing a decimal also as binary.
Changing from floating point to decimal will enable the next decimal row.
Changing back to floating point will disable the next decimal row.
Bit Information
For certain memory words, bit information is also available.
In this case positioning the mouse over the Data column of such a memory word will
show information for the bits, which may be specially useful when Binary is selected
as data type format (Radix).
FFBs Not Supported by Instruction Editor
The following FFBs are not supported by the Instruction Editor.

33003101 07/2012

Family

Not Supported FFBs

CONTL_COMM

L9_ID
L9_IE

MISC

L9_LAB
L9_RET

1453

Viewing and adjusting variables

39.6

Modifying values:

Modifying values:
Introduction
You have the several options for changing values of variables online:
In the shortcut menu for the variables
z With the Change Value
z With the command Set Value
z With the command Force Value

In the menu Services


z With the command Change Value

This applies to all elementary variables and elementary components of derived


variables (DDTs and Arrays) with the following applications:
z In LD (also see the Edge recognition (see Unity Pro, Program Languages and
Structure, Reference Manual ) chapter in the user guide).
z Contact
z Coil
z Operation block
z Comparison block
z

In FBD
z FFB Pin

In SFC
z Transition

In IL and ST
z without limitation

NOTE: The above-named commands are only available in the Animation Mode
(see page 1337).
Change value of variables
The Change value of variables dialog is modeless. This means that the dialog is
not closed after modifying a variable. So you can modify several variables in a
section.
One dialog is shown per section. Deactivating a section will hide the opened dialog.
Closing a section or stopping the animation of a section will close the dialog.

1454

33003101 07/2012

Viewing and adjusting variables

Appearance:

Depending on the selected variables some functions of the dialog may be grayed
out.
Elements:
Element

Description

Variable

The selected variable is displayed in this text box.


Every variable in a section can be selected either by means of this text box
or by clicking on the variable in the section itself.

Value to be set

Enter the value to be set for the valuable in this text box.
When making the entry, ensure the correct syntax of the entered literal,
e.g. 30s for a variable of data type TIME.
Use Set to assign the entered value to the selected variable and close the
dialog.

Set to 0 or 1

This function is only available for Boolean variables.


Use
to set the selected variable to 0 and close the dialog.
The same function is available with the command Set Value Set to 0
in the context menu of the variable.
Use
to set the selected variable to 1 and close the dialog.
The same function is available with the command Set Value Set to 1
in the context menu of the variable.

Force /
Cancel Force

This function is only available for located variables of data type EBOOL.
Also see the Edge recognition (see Unity Pro, Program Languages and
Structure, Reference Manual ) chapter in the user guide.
Use
to force the selected variable to 0 and close the dialog. (The
forced variable will be marked with a frame around the variable name.)
The same function is available with the command Force Value Set to
0 in the context menu of the variable.
Use
to force the selected variable to 1 and close the dialog. (The
forced variable will be marked with a frame around the variable name.)
The same function is available with the command Set Value Force to
1 in the context menu of the variable.
Use
to cancel the Force command for the selected variable and close
the dialog.
The same function is available with the command Set Value Cancel
Force in the context menu of the variable.

33003101 07/2012

1455

Viewing and adjusting variables

1456

33003101 07/2012

Unity Pro
PLC Simulator
33003101 07/2012

PLC Simulator

40
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 Is in This Chapter?
This chapter contains the following sections:
Section

33003101 07/2012

Topic

Page

40.1

Simulating a PLC

1458

40.2

Differences Between the Simulator and a Real CPU

1465

40.3

Menu Commands and Dialog Boxes in the PLC Simulator

1481

1457

PLC Simulator

40.1

Simulating a PLC

Overview
This section describes simulating a PLC.
What Is in This Section?
This section contains the following topics:
Topic

1458

Page

Introduction

1459

Loading a Project in the Simulator

1460

Simulator Icon in the Toolbar

1463

33003101 07/2012

PLC Simulator

Introduction
Installation
The simulator is automatically installed with Unity Pro.
NOTE: PLC simulator under Microsoft Windows XP SP2 and Microsoft Windows
Vista
A firewall dialog box will be displayed during the initial startup of the PLC simulator
under Microsoft Windows XP SP2 and Microsoft Windows Vista. The cause is that
the integrated firewall detects unauthorized TCP/IP activities (the PLC simulator is
a TCP/IP server on Schneider Port 502). To start the PLC simulator, press Release
in the firewall dialog box.
NOTE: PLC simulator Microsoft Windows Vista
After clicking on the Release button a User Account Control (UAC) dialog box pops
up, when UAC is enabled. This occurs, because unblocking the firewall needs
explicit user confirmation. The Continue button must be clicked to start the PLC
simulator.
Area of Use
The simulator allows you to simulate a CPU of a PLC.
The use of Breakpoints, Stepping and the GoTo function enables you to test your
user program in the simulated PLC.
Structure of the Simulator
The Simulator Dialog (see page 1482) provides the following indications:
z type of simulated PLC
z current status of the simulated PLC
z name of the loaded project
z IP address and DNS name of the host PC for the simulator
z IP addresses and DNS names of connected client PCs
z dialog box to simulate IO events
z Reset button to simulate a cold start
z Power Cycle button to simulate a warm start
z shortcut menu (right mouse button) to control the simulator
The Simulator Symbol shown in the task bar offers the following features:
z display of the current status of the simulated PLC (see page 1463)
z QuickInfo (Tooltips) shows the IP address of the host PC for the simulator, the
used port number and the name of the loaded project.
z shortcut menu (right mouse button) to control the simulator

33003101 07/2012

1459

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 Project
Loading a project in the simulator
Step
1

Action
In Unity Pro, enable the simulator mode using the menu command PLC
Simulation mode or the symbol

on the toolbar:
2

Execute the menu command Rebuild Rebuild All Project.

Create a connection to the simulator using the menu command PLC


Connect, see also Creating a Connection, page 1461.
Result:
z The simulator icon (see page 1463) appears in the toolbar:

z see also Possible Error Messages, page 1462

Note: It is standard procedure for the simulator to be installed on the same PC


as Unity Pro (Local Host). The project can also be loaded on a simulator in
another PC via a TCP/IP connection.
4

1460

Execute the menu command PLC Transfer project to PLC.


Result:
A transfer dialog box appears.

33003101 07/2012

PLC Simulator

Step

Action

Press the Transfer button.


Result: The project is loaded on the simulator and the simulator icon looks as
follows in the toolbar:

Select the menu command PLC Start.


Result: The project is launched on the simulator and the simulator icon looks as
follows in the toolbar:

Transferring Safety/Non-Safety Projects


It is not possible to transfer a non-safety project after you have transferred a safety
project to the PLC simulator and vice versa.
In this case you first have to clear the PLC simulator. See Clear, page 1503.
Unity Pro XLS Password Protection
Safety projects built with Unity Pro XLS are password protected.
If a safety project has been transferred to the simulator and you try to connect
Unity Pro XLS to the simulator, you are asked to enter the password.
You are asked to enter the password either if no project is opened in Unity Pro XLS
or if a different one is opened.
NOTE: To remove the currently loaded project from the simulator memory you can
use the Clear menu command. See Clear, page 1503.
For further information on password protection of safety projects please refer to the
Unity Pro XLS Specifics manual, chapter Protection of a Safety Project with Unity
Pro XLS.
Creating a Connection
It is standard procedure for the simulator to be installed on the same PC as Unity Pro
(Local Host). When the menu command PLC Connect is selected, a connection
to the Local Host PC on the default port 502 (Schneider Port) is automatically
created. The project can also be loaded on a simulator in another PC via a TCP/IP
connection or on a simulator running on a different port.
In this case you must specify the TCP/IP address and port number of the target PC
in the Loading a project procedure before carrying out step 3 (creating a
connection).

33003101 07/2012

1461

PLC Simulator

Then select the Unity Pro menu command PLC Set Address, and in the
Simulator text box Address enter the TCP/IP address and the optional port number
of the target PC (i.e.: 139.158.106.127:123 where 123 is the port number). Then
continue with step 3.
If you want to load the project in the Local Host PC simulator running on default port
502 (Unity Pro and simulator on the same PC), you do not have to carry out this step
as the Local Host PC address and port number is automatically entered.
Representation of the default dialog box:

Possible Error Messages


The following error messages can occur when launching the simulator:
Error message

Cause

Removal

A simulator is already
running!

The simulator is already


active. Only one simulator
can be active.

Confirm the error message with


OK and use the simulator that is
already active.

Version information from


xxx cannot be read
(err=0)!

invalid file in the simulator


directory

Reinstall Unity Pro after


uninstalling it.

The DLL xxx is


incompatible (...)!

invalid file in the simulator


directory

Reinstall Unity Pro after


uninstalling it.

At least one Simulator


DLL is incompatible.
Simulation not possible!

invalid file in the simulator


directory

Reinstall Unity Pro after


uninstalling it.

Exiting the Simulator


The procedure for exiting the simulator is as follows:
Step
1

1462

Action
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.
33003101 07/2012

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 Structure
The simulator icon is composed according to the following rules.
The background color represents the basic state.
Example

Color

Description

green

normal operating mode

yellow

PLC in HALT state

red

PLC in ERROR state

A frame around the icon shows the active debug mode


Example

Color

Description

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.

The inner symbol shows the current PLC state, such as NOCONF, IDLE,
STOPPED, RUN.
Symbol

33003101 07/2012

The simulated PLC is in


state...

Description

NOCONF (no configuration)

No user project loaded or the loaded


project is invalid or removed with the Clear
command.

IDLE

The project loaded on the PLC has not


been started or reset with the Reset
command button.

STOPPED

No project is running.

RUN

A project with at least one task is running.

1463

PLC Simulator

The color of the inner symbol shows the connection state.


Example

Color

Description

black

No TCP/IP client is connected.

red

At least one TCP/IP client is connected.

Error States
Meaning of the symbols
Symbol

The simulated PLC


is in state...

Description

HALT

An error has occurred in the project. The simulated


PLC must be re-initialized 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.

Internal States
The following symbols represent temporary internal states which should not be seen
normally. It is not possible to recover from these states, so the PLC simulator must
be closed and restarted again.
Symbol

1464

The simulated PLC is in


state...

Description

POWER OFF

An internal error has occurred during the


simulation of a PLC reset or power cycle.

INIT

An internal error has occurred during the


initialization of the PLC simulator.

UNKNOWN

The PLC simulator has entered an


unknown state.

33003101 07/2012

PLC Simulator

40.2

Differences Between the Simulator and a Real


CPU

Overview
This chapter describes the difference between the simulator and a real PLC.
What Is in This Section?
This section contains the following topics:
Topic

33003101 07/2012

Page

Limitations of the PLC Simulator

1466

System Bits and System Words

1469

1465

PLC Simulator

Limitations of the PLC Simulator


General
General limitations
The PLC simulator simulates a complete project with 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 time information.
z The PLC Simulator does not support any form of I/O. Although the simulation
contains 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 With the PLC simulator I/O events can not be triggered by setting/forcing %I bits.
z For limitations concerning the memory card please refer to Memory Card for
M340 PLC, page 1498.
z The PLC Simulator does not support any Hot Standby feature.
z

PLC OS System Services


The PLC simulator supports the most PLC OS system services on a variety of
platforms. These services are only implemented as dummy services.
This means that 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 PLC OS system services are supported:
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
z

The following PLC OS system services 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

1466

33003101 07/2012

PLC Simulator

Memory Structure
The different PLC families vary in memory structure. For detailed information about
storage principles and memory structure see the Unity Pro Reference Manual
chapter DDT: Memory occupancy.

WARNING
UNINTENDED EQUIPMENT OPERATION
Improper data mapping will occur where memory structures are different. When
managing data exchanges between M340 projects and Premium or Quantum
projects, ensure that the structure of the exchanged data has identical alignments.
Otherwise, the data will not be exchanged properly.
Failure to follow these instructions can result in death, serious injury, or
equipment damage.
Communication
Communication limitations
z The PLC simulator only supports TCP/IP based communication (Schneider Port
502). In other cases a Modbus error is returned.
z Modbus, Modbus Plus or Uni-TE 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, Fipway, Modbus, Modbus
Plus, etc., are not supported by the PLC simulator.
The PLC simulator supports the following native Modbus commands:

33003101 07/2012

Function Code (in hex)

Description

01

Read Coil Status (0x)

02

Read Input Status (1x)

03

Read Holding Registers (4x)

04

Read Input Registers (3x)

05

Force Single Coil (0x)

06

Preset Single Register (4x)

0F

Force Multiple Coils (0x)

10

Preset Multiple Registers (4x)

16

Mask Write Registers (4x)

1467

PLC Simulator

Mapping a %MW to a Boolean Element


Regarding the use of %MW mapped on a boolean element in structured data type, the
PLC simulator and a real PLC behave different.
When a %MW is mapped on a boolean element in structured data type, only the first
row is animated by the PLC simulator. On a real PLC both rows (zero and one) are
animated. Row one is used to get the information about the history value.
Unity Pro XLS Safety Project Limitations
The following limitations apply to the PLC simulator working with safety projects built
with Unity Pro XLS:
z The PLC simulator has no double code execution of the logic and comparison of
the results. It only simulates the logic but not the safety behavior of the PLC.
z It is not possible to transfer a non-safety project after you have transferred a
safety project to the PLC simulator and vice versa.
In this case you first have to clear the PLC simulator. See Clear, page 1503.
Debugging Limitations
The PLC simulator could enter HALT state when executing the Step Info or
Step Over debugging command in textual languages.
If the current element is a complex instruction (i.e. copying a huge array from one
variable to another), the execution of this instruction takes a very long time, because
it will be executed in single step mode on the PLC simulator.
Setting a breakpoint on the next instruction and executing the Go command avoids
this problem.
System Word %SW125
In case of division by 0 the %SW125 is set to:
z 16#DEF0 (division by 0) for legacy Quantum PLC and for the PLC simulator
z 16#DEF2: (arithmetic error) for Quantum HE (high end) PLCs

1468

33003101 07/2012

PLC Simulator

System Bits and System Words


System Bits
The following subsets of %S system bits (see Unity Pro, Program Languages and
Structure, Reference Manual ) are supported:
Bit
Symbol

Function

%S0
COLDSTART

cold start

Description
Normally at 0, this bit is set to 1 by:
power restoration with loss of data (battery fault)
the user program
the termina,
a change of cartridge

z
z
z
z

This bit is set to 1 during the first complete restored cycle of the PLC
either in RUN or in STOP mode. It is reset to 0 by the system before
the following cycle.
NOTE: When %S0 is set to 1, the messages in the diagnostic buffer
are deleted.
NOTE: %S0 is not set to 1 using Reset with the PLC simulator (in
contrast to a real PLC).
%S0 is not always set in the first scan of the PLC. If a signal set for
every start of the PLC is needed, %S21 should be used instead.
%S1
WARMSTART

warm restart
(not for safety PLCs)

Normally at 0, this bit is set to 1 by :


power restoration with data save
the user program
the terminal
action on change of cartridge

z
z
z
z

It is reset to 0 by the system at the end of the first complete cycle and
before the outputs are updated.
%S1 is not always set in the first scan of the PLC. If a signal set for
every start of the PLC is needed, %S21 should be used instead.
%S4
TB10MS

time base 10 ms
(not for safety PLCs)

An internal timer regulates the change in status of this bit.


It is asynchronous in relation to the PLC cycle.
Graph:

%S5
TB100MS

time base 100 ms


(not for safety PLCs)

Similar wave structure as %S4

%S6
TB1SEC

time base 1 s
(not for safety PLCs)

Similar wave structure as %S4

%S7
TB1MIN

time base 1 min


(not for safety PLCs)

Similar wave structure as %S4

33003101 07/2012

1469

PLC Simulator

Bit
Symbol

Function

%S11
WDG

watchdog overflow

Description
Normally at 0, this bit is set to 1 by:
power restoration with data save
the user program
the terminal
action on change of cartridge.

z
z
z
z

It is reset to 0 by the system at the end of the first complete cycle and
before the outputs are updated.
%S12
PLCRUNNING

PLC in RUN

This bit is set to 1 by the system when the PLC is in RUN.


It is set to 0 by the system as soon as the PLC is no longer in RUN
(STOP, INIT, etc.).

%S13
1RSTSCANRUN

first cycle after switching to


RUN

Normally set to 0, this is set to 1 by the system during the first cycle
of the master task after the PLC is set to RUN.

%S15
STRINGERROR

character string fault


(not for safety PLCs)

Normally set to 0, this bit is set to 1 when the destination zone for a
character string transfer is not of sufficient size (including the number
of characters and the end of string character) to receive this
character string.
The application stops in error state if the %S78 bit has been to set to
1.
This bit must be reset to 0 by the application.

%S17
CARRY

rotate or shift output

normally at 0
During a rotate or shift operation, this bit takes the state of the
outgoing bit.

%S18
OVERFLOW

overflow or arithmetic error

Normally set to 0, this bit is set to 1 in the event of a capacity overflow


if there is:
z a result greater than + 32 767 or less than - 32 768, in single
length
z a result greater than + 65 535, in unsigned integer
z a result greater than + 2 147 483 647 or less than 2 147 483 648, in double length
z result greater than +4 294 967 296, in double length or unsigned
integer
z real values outside limits
z division by 0
z the root of a negative number
z forcing to a non-existent step on a drum
z stacking up of an already full register, emptying of an already
empty register
It must be tested by the user program after each operation where
there is a risk of overflow, and then reset to 0 by the user if there is
indeed an overflow.
When the %S18 bit switches to 1, the application stops in error state
if the %S78 bit has been set to 1.

1470

33003101 07/2012

PLC Simulator
Bit
Symbol

Function

Description

%S19
OVERRUN

task period overrun


(periodical scanning)

Normally set to 0, this bit is set to 1 by the system in the event of a


time period overrun (i.e. task execution time is greater than the
period defined by the user in the configuration or programmed into
the %SW word associated with the task). The user must reset this bit
to 0. Each task manages its own %S19 bit.

%S20
INDEXOVF

index overflow
(not for safety PLCs)

Normally set to 0, this bit is set to 1 when the address of the indexed
object becomes less than 0 or exceeds the number of objects
declared in the configuration.
In this case, it is as if the index were equal to 0.
It must be tested by the user program after each operation where
there is a risk of overflow, and then reset to 0 if there is indeed an
overflow.
When the %S20 bit switches to 1, the application stops in error state
if the %S78 bit has been set to 1.

%S30
MASTACT

activation/deactivation of
the master task
(not for safety PLCs)

Normally set to 1. The master task is deactivated when the user sets
the bit to 0.
This bit is taken into consideration by the system at the end of each
MAST task cycle.

%S31
FASTACT

activation/deactivation of
the fast task
(not for safety PLCs)

Normally set to 1 when the user creates the task. The task is
deactivated when the user sets the bit to 0.

%S32
AUX0ACT to
%S35
AUX3ACT

activation/deactivation of
the auxiliary tasks 0-3
(not for safety PLCs)

Normally set to 1 when the user creates the task. The auxiliary task
is deactivated when the user sets the bit to 0.

%S38
ACTIVEVT

enabling/inhibition of events Normally set to 1. Events are inhibited when the user sets the bit to 0.
(not for safety PLCs)

%S39
EVTOVR

saturation in event
processing
(not for safety PLCs)

This bit is set to 1 by the system to indicate that one or more events
cannot be processed following saturation of the queues.
The user must reset this bit to 0.

%S62
MEMPROTOFF

memory protect OFF


(not for safety PLCs)

This bit is the image of the key switch on legacy and high end
Quantum PLCs.

%S65
CARDIS

card disable (Mirano)


(not for safety PLCs)

Set to 1 by the user to disable access to the card. The system will
detect a rising edge on this bit. When current access is finished (for
example application save in progress), then the access LED will be
off indicating that extraction is possible. The user has to reset the bit
after extracting the card.

%S68
PLCBAT

state of the processor


battery

This bit is used to check the operating state of the backup battery for
saving data and the program in RAM:
z set to 0: battery present and operational
z set to 1: battery missing or non-operational

33003101 07/2012

1471

PLC Simulator

Bit
Symbol

Function

Description

%S76
configured diagnostics
DIAGBUFFCONF buffer

This bit is set to 1 by the system when the diagnostics option has
been configured. Then, a diagnostics buffer for storage of errors
found by diagnostics DFBs is reserved.
This bit is read-only.

%S77
full diagnostics buffer
DIAGBUFFFULL

This bit is set to 1 by the system when the buffer that receives errors
from the diagnostics function blocks is full.
This bit is read-only.

%S78
HALTIFERROR

stop in the event of error

Normally at 0, this bit can be set to 1 by the user, to program a PLC


stop on application fault: %S15, %S18, %20.

%S80
RSTMSGCNT

reset message counters

Normally set to 0, this bit can be set to 1 by the user to reset the
message counters %SW80 to %SW86.

%S94
SAVECURRVAL

saving adjustment values


(not for safety PLCs)

Normally at 0, this bit can be set to 1 by the user to replace the initial
values of the declared variables with a Save attribute (e.g.: DFB
variables) with the current values.
For Modicon M340, on a %S94 rising edge, the internal RAM and the
memory card content are different (%S96 = 0 and the CARDERR
LED is on). On cold start, the current values are replaced by the most
recent initial values only if a save to memory card function (Backup
Save or %S66 rising edge) was done.
The system resets the bit %S94 to 0 when the replacement has been
made.
Note: this bit must be used with care: do not set this bit permanently
to 1 and use the master task only.

%S95
RESTINITVAL

restore initial values


(not for safety PLCs)

Normally on 0, this bit can be set on 1 by the user to restore the


adjustment values of user function blocks.

%S96
backup program OK
BACKUPPROGOK (not for safety PLCs)

TSX Micro:
z on 0: application program saves are invalid
z on 1: application program saves are valid
This bit can be read at any time (either by the program or while
adjusting), in particular after a cold start or a warm restart. It is
significant with regard to a PL7-effected backup application within
the internal flash EPROM.
M340:
z Set to 0 by the system when the card is missing or not usable

(bad format, unrecognized type) or card content inconsistent with


internal application RAM.
z Set to 1 when the card is correct and application is consistent with
CPU internal application RAM.
%S97
SAVEMWOK

save %MW OK
(not for safety PLCs)

on 0: %MW saves are invalid


on 1: %MW saves are valid
This bit can be read at any time (either by the program or while
adjusting), in particular after a cold start or a warm restart.

NOTE: Quantum Safety PLCs specific system bits usage is described in the
Unity_Pro_XLS Software Operating Modes Specifics guide.
1472

33003101 07/2012

PLC Simulator

System Words
The following subsets of %SW system word (see Unity Pro, Program Languages
and Structure, Reference Manual ) are supported:
Word
Symbol

Function

Description

%SW0
MASTPERIOD

master task scanning


period

This word is used to modify the period of the master task via the
user program or via the terminal.
The period is expressed in ms (1...255 ms)
%SW0=0 in cyclic operation.
On a cold restart: it takes the value defined by the configuration.

%SW1
FASTPERIOD

fast task scanning period


(not for safety PLCs)

This word is used to modify the period of the fast task via the user
program or via the terminal.
The period is expressed in milliseconds (1...255 ms).
On a cold restart, it takes the value defined by the configuration.

%SW2
AUX0PERIOD to
%SW5
AUX3PERIOD

auxiliary task scanning


period
(not for safety PLCs)

This word is used to modify the period of the tasks defined in the
configuration, via the user program or via the terminal.
The period is expressed in tens of ms (10ms to 2.55s).

%SW10
TSKINIT

first cycle after cold start


(not for safety PLCs)

If the value of the current task bit is set to 0, this means that the task
is performing its first cycle after a cold start:
z %SW10.0: assigned to the MAST task
z %SW10.1: assigned to the FAST task
z %SW10.2 to 5: assigned to the AUX 0...3 tasks

%SW11
WDGVALUE

watchdog duration

Reads the duration of the watchdog. The duration is expressed in


milliseconds (10...1500 ms).
This word cannot be modified.
NOTE: The duration range in Quantum Safety PLCs is:
20...990 ms.

%SW12
APMODE

mode of application
processor
(for safety PLCs only)

This word indicates the operating mode of the application


processor. Possible values are:
z 16#A501: application processor is in Maintenance Mode
z 16#5AFE: application processor is in Safety Mode
Any other value is interpreted as a detected error.
This system word is not available for the standard Quantum CPU.

%SW13
INTELMODE

mode of Intel processor


(for safety PLCs only)

This word indicates the operating mode of the Intel Pentium


processor. Possible values are:
z 16#501A: application processor is in Maintenance Mode
z 16#5AFE: application processor is in Safety Mode
Any other value is interpreted as a detected error.
This system word is not available for the standard Quantum CPU.

33003101 07/2012

1473

PLC Simulator

Word
Symbol

Function

Description

%SW15
OSCOMMPATCH

PLC processor patch


version

This word contains the commercial version of the PLC processor


patch.
It is coded onto the least significant byte of the word.
coding: 0 = no patch, 1 = A, 2 = B...
Example: 16#0003 corresponds to patch C.

%SW17
FLOATSTAT

error status on floating


operation
(%SW17 System word is
also managed by Quantum
Safety PLCs)

When an error in a floating arithmetic operation is detected, bit


%S18 is set to 1 and %SW17 error status is updated according to the
following coding:
z %SW17.0 = Invalid operation / result is not a number
z %SW17.1 =Denormalized operand / result is acceptable (flag not
managed by Modicon M340 or Quantum Safety PLCs)
z %SW17.2 = Division by 0 / result is infinity
z %SW17.3 = Overflow / result is infinity
z %SW17.4 = Underflow / result is 0
z %SW17.5 to 15 = not used
This word is reset to 0 by the system on cold start, and also by the
program for re-usage purposes.

%SW18
%SW19
100MSCOUNTER

absolute time counter

%SW18 is the low and %SW19 the high word for calculating
durations. Both are incremented every 1/10th of a second by the
system (even when the PLC is in STOP, they are no longer
incremented if it is powered down). They can be read and written by
the user program or by the terminal.

%SW20
%SW21
MSCOUNTER

absolute time counter

The low word %SW20 and the high word %SW21 are incremented
every 1/1000th of a second by the system (even when the PLC is in
STOP, they are no longer incremented if it is powered down). They
can be read by the user program or by the terminal. %SW20 and
%SW21 are reset on a cold start, but not on a warm start.

%SW26

number of requests
processed

This system word allows to verify on server side the number of


requests processed by PLC per second.
NOTE: This system word is available only for Modicon M340 CPU.

%SW30
MASTCURRTIME

master task execution time This word indicates the execution time of the last master task cycle
(in ms).
Note: In general %SW30 works, but keep in mind that a PC is much
faster as a PLC. For a short application a scan time less than 1ms
is possible, in such a case %SW30 remains at 0. %SW30 will not be
updated when an exception (division by 0, overflow, etc.) occurs
during execution of the user logic or after any user debug activity. If
an application throws an exception in each cycle, %SW30 will remain
at 0 and %SW31, %SW32 will remain at 32768 and 32767 from the
beginning.

%SW31
MASTMAXTIME

maximum master task


execution time

This word indicates the longest master task execution time since
the last cold start (in ms).

%SW32
MASTMINTIME

minimum master task


execution time

This word indicates the shortest master task execution time since
the last cold start (in ms).

1474

33003101 07/2012

PLC Simulator

Word
Symbol

Function

Description

%SW33
FASTCURRTIME

fast task execution time


(not for safety PLCs)

This word indicates the execution time of the last fast task cycle
(in ms).

%SW34
FASTMAXTIME

maximum fast task


execution time
(not for safety PLCs)

This word indicates the longest fast task execution time since the
last cold start (in ms).

%SW35
FASTMINTIME

minimum fast task


execution time
(not for safety PLCs)

This word indicates the shortest fast task execution time since the
last cold start (in ms).

%SW36
AUX0CURRTIME
%SW39
AUX1CURRTIME
%SW42
AUX2CURRTIME
%SW45
AUX3CURRTIME

auxiliary task execution


time
(different function in Safety
PLCs)

Those words indicate the execution time of the last cycle of the AUX
0...3 tasks (in ms).
NOTE: %SW36 and %SW39 words have a different function in
Quantum Safety PLCs and the other words are not available on
Quantum safety PLCs.

%SW37
AUX0MAXTIME
%SW40
AUX1MAXTIME
%SW43
AUX2MAXTIME
%SW46
AUX3MAXTIME

maximum auxiliary task


execution time
(different function in Safety
PLCs)

Those words indicate the longest task execution time of AUX 0...3
tasks since the last cold start (in ms).
NOTE: %SW37 word has a different function in Quantum Safety
PLCs and the other words are not available on Quantum safety
PLCs.

%SW38
AUX0MINTIME
%SW41
AUX1MINTIME
%SW44
AUX2MINTIME
%SW47
AUX3MINTIME

minimum auxiliary task


execution time
(different function in Safety
PLCs)

Those words indicate the shortest task execution time of AUX 0...3
tasks since the last cold start (in ms).
NOTE: %SW38 word has a different function in Quantum Safety
PLCs and the other words are not available on Quantum safety
PLCs.

%SW48
IOEVTNB

number of events
(not for safety PLCs)

This word indicates the number of IO events and telegram


processed since the last cold start. This word can be written by the
program or the terminal
NOTE: TELEGRAM is available only for PREMIUM (not on
Quantum neither M340).

33003101 07/2012

1475

PLC Simulator

Word
Symbol

Function

Description

%SW49
DAYOFWEEK
%SW50
SEC
%SW51
HOURMIN
%SW52
MONTHDAY
%SW53
YEAR

real-time clock function

System words containing date and current time (in BCD):


z %SW49:
Day of the week:
z 1 = Monday,
z 2 = Tuesday,
z 3 = Wednesday,
z 4 = Thursday,
z 5 = Friday,
z 6 = Saturday,
z 7 = Sunday,
z
z
z
z

%SW50: Seconds (16#SS00),


%SW51: Hours and Minutes (16#HHMM),
%SW52: Month and Day (16#MMDD),
%SW53: Year (16#YYYY).

These words are managed by the system when the bit %S50 is set
to 0.
These words can be written by the user program or by the terminal
when the bit %S50 is set to 1.
%SW54
STOPSEC
%SW55
STOPHM
%SW56
STOPMD
%SW57
STOPYEAR
%SW58
STOPDAY

real-time clock function on


last stop

System words containing date and time of the last power failure or
PLC stop (in Binary Coded Decimal):
z %SW54: Seconds (00SS),
z %SW55: Hours and Minutes (HHMM),
z %SW56: Month and Day (MMDD),
z %SW57: Year (YYYY),
z %SW58:
The most significant byte contains the day of the week (1 for
Monday through to 7 for Sunday), and the least significant byte
contains the code for the last stop:
z 1 = change from RUN to STOP by the terminal or the
dedicated input,
z 2 = stop by watchdog (PLC task or SFC overrun),
z 4 = power outage or memory card lock operation,
z 5 = stop on hardware fault,
z 6 = stop on software fault. Details on the type of software fault
are stored in %SW125.

%SW70
WEEKOFYEAR

real-time clock function

System word containing the number of the week in the year: 1 to 52.

1476

33003101 07/2012

PLC Simulator

Word
Symbol

Function

Description

%SW71
KEY_SWITCH

position of the switches on


the Quantum front panel

This word provides the image of the positions of the switches on the
front panel of the Quantum processor. This word is updated
automatically by the system:
z %SW71.0 = 1 switch in the "Memory protected" position,
z %SW71.1 = 1 switch in the "STOP" position,
z %SW71.2 = 1 switch in the "START" position,
z %SW71.8 = 1 switch in the "MEM" position,
z %SW71.9 = 1 switch in the "ASCII" position,
z %SW71.10 = 1 switch in the "RTU" position,
z %SW71.3 to 7 and 11 to 15 are not used.

%SW75
TIMEREVTNB

Timer-type event counter

This word contains the number of timer-type events in the queue.


(1): Not available on the following processors:
TSX 57 1/2/3/4/5.
This word is not available on Quantum Safety PLCs.

%SW75
TIMEREVTNB

timer-type event counter


(not for safety PLCs)

This word contains the number of timer-type events in the queue.

%SW76
DLASTREG

diagnostics function:
recording

%SW77
DLASTDEREG

diagnostics function:
non-recording

%SW78
DNBERRBUF

diagnostics function:
number of errors

Number of errors currently in the diagnostics buffer.

%SW87
MSTSERVCNT

communication flow
management

Number of requests processed by synchronous server per master


(MAST) task cycle.
The requests processed may come from communication ports
(having access to the server Modbus/UNI-TE, each of them having
its own limitation). This means also that requests from other clients,
then communication EFs like IO Scanner, connected HMI and so on
should be counted.

%SW90
MAXREQNB

maximum number of
requests processed per
master task cycle

This word is used to set a maximum number of requests which can


be processed by the PLC per master task cycle.
When the CPU is the server: This number of requests must be
between 2 (minimum) and N+4 (maximum).
N: number differs depending on the model.
When the CPU is the client:
N: number differs depending on the model.
The value 0 will not work. If a value that is outside of the range is
entered, it is the value N that is taken into account.

33003101 07/2012

Result of the last registration:


z = 0 if the recording was successful,
z = 1 if the diagnostics buffer has not been configured,
z = 2 if the diagnostics buffer is full.

Result of the last deregistration:


= 0 if the non-recording was successful,
= 1 if the diagnostics buffer has not been configured,
= 21 if the error identifier is invalid,
= 22 if the error has not been recorded.

z
z
z
z

1477

PLC Simulator

Word
Symbol

Function

Description

%SW93

memory card file system


format command and
status (Mirano)

Can be read and written by the user program or the terminal. This
word is used by the customer to format the memory card.
Formatting is possible only in Stop mode:
z %SW93.0 = 1 a rising edge starts the Format operation.
%SW93.1 gives the file system status after a formatting request:
z %SW93.1 = 0 invalid files system (bad formatting, formatting in

progress),
z %SW93.1 = 1 valid files system.

%SW96
CMDDIAGSAVEREST

command and diagnostic


of save and restore

This word is used to copy or delete the current value of %MW to or


from internal flash memory and to give the actions status. It can be
read by the user program or by the terminal:
z %SW96.0: Request to copy current value of %MW to internal Flash
memory. Set to 1 by the user to request a save, and set to 0 by
the system when a save is in progress.
NOTE: You must stop the processor before copying via %SW96.0.
z %SW96.1 is set to 1 by the system when a save is finished, and

set to 0 by the system when a save is in progress.


z %SW96.2 = 1 indicates an error on a save or restore operation

(see %SW96.8 to 15 for error code definitions).


z %SW96.3 = 1 indicates that a restore operation is in progress.
z %SW96.4 may be set to 1 by the user to delete %MW area in

internal Flash memory.


z %SW96.7 = 1 indicates that internal memory has valid %MW

backup.
z %SW96.8 to 15 are error codes:

When %SW96.2 is set to 1:


z %SW96.9 = 1 indicates that the saved %MW number is less

than the configured number,


z %SW96.8 = 1 and %SW96.9 = 1 mean that the saved

%MW number is greater than the configured number,


z %SW96.8 = 1, %SW96.9 = 1 and %SW96.10 = 1

indicate a write error in internal flash memory.


%SW97
CARDSTS

1478

card status

Can be read by the user program or by the terminal. Indicates the


status of the card.
%SW97:
0000 = no error.
0001 = application backup or file write sent to a write-protected
card.
0002 = card not recognized, or application backup damaged.
0003 = backup of the application requested, but no card available.
0004 = card access error, for example after a card has been
removed improperly.
0005 = no file system present in the card, or file system not
compatible. Use %SW93.0 to format the card.

33003101 07/2012

PLC Simulator

Word
Symbol

Function

Description

%SW108
FORCEDIOIM

number of forced I/O


module bits

This system word counts the number of forced I/O module bits. This
word is incremented for every forcing, and decremented for every
unforcing.

%SW109
FORCEDANA

number of forced analog


channels

This system word counts the number of forced analog channels.


This word is incremented for every forcing, and decremented for
every unforcing.

%SW124
CPUERR

type of processor or
system error

This system word is updated when the PLC is put in the error state.
The possible values are:
z 0x0065: execution of HALT impossible,
z 0x0080: system watchdog.
When the PLC is put in safety error state the content of %SW125 is
updated and can be read after the next restart of the PLC (see
below).

33003101 07/2012

1479

PLC Simulator

Word
Symbol

Function

Description

%SW125
BLKERRTYPE

last fault detected

The code of the last fault detected is given in this word: The
following error codes cause the PLC to stop if %S78 is set to 1.
%S15, %S18 and %S20 are always activated independently of %S78:
z 16#0002: verification of PCMCIA signature fails,
z 16#2258: execution of HALT instruction,
z 16#2302: call to non supported system function in a user
function block,
z 16#9690: error of application CRC detected in background,
z 16#DE87: calculation error on floating-point numbers (%S18,
these errors are listed in the word %SW17),
z 16#DEB0: Watchdog overflow (%S11),
z 16#DEF0: division by 0 (%S18)
z 16#DEF1: character string transfer error (%S15),
z 16#DEF2: arithmetic error (%S18),
z 16#DEF3: index overflow (%S20).
Note: The codes 16#8xxx and 16#7xxx do not stop the application
and indicate an error on function blocks.
In case of a safety error, the PLC will stop. After power off and
restart of the PLC, %SW125 will contain the code of the cause of the
error:
z 0x5AF1: Sequence check error (unpredictable execution in
CPU)
z 0x5AF2: Error in memory (address fault)
z 0x5AF3: Comparison error (execution results of Intel and
application processor differ)
z 0x5AF4: Real-time clock failure
z 0x5AF5: Error initializing double code execution
z 0x5AF6: Watchdog activation error
z 0x5AF7: Error during memory check (takes more than 8 hours)
z 0x5AF8: Error in memory check (RAM failure)
Note: %SW125 is only reset after init or complete download or
restart (it always contains the last fault detected).

%SW126
ERRADDR0
%SW127
ERRADDR1

blocking error instruction


address

Address of the instruction that generated the application blocking


error.
For 16 bit processors:
z %SW126 contains the offset for this address,
z %SW127 contains the segment number for this address.
For 32 bit processors:
z %SW126 contains the least significant word for this address,
z %SW127 contains the most significant word for this address.

In case of a safety error, the content of %SW126 and %SW127 is


for Schneider Electric use only.

NOTE: Quantum Safety PLCs specific system words usage is described in the
Unity_Pro_XLS Software Operating Modes Specifics guide.
1480

33003101 07/2012

PLC Simulator

40.3

Menu Commands and Dialog Boxes in the PLC


Simulator

Overview
This section describes the menu commands and dialog boxes in the PLC simulator.
What Is in This Section?
This section contains the following topics:
Topic

33003101 07/2012

Page

Simulator Control

1482

Simulator Control for Unknown PLC

1483

Simulator Control for Quantum PLC

1486

Simulator Control for Quantum Safety PLC

1489

Simulator Control for Premium PLC

1492

Simulator Control for M340 PLC

1495

Memory Card for M340 PLC

1498

Event Dialog

1502

Clear

1503

Reset

1504

Power Cycle

1505

Options

1506

Timing (simulator)

1507

Processor Load

1508

Priority of the Simulator

1510

Data in the User Task

1511

Minimal Sample Time

1512

Info

1513

Help

1514

Ending the Simulation

1515

1481

PLC Simulator

Simulator Control
Description
You can open and close the simulator dialog with
the menu command Simulator Control in the context menu of the simulator
symbol in the task bar or the simulator symbol.
z a double click with the left mouse button on the simulator symbol in the task bar.
z

One of the following dialog boxes is opened or closed depending on the project
loaded:
z Simulator Control for Unknown PLC, page 1483
z Simulator Control for Quantum PLC, page 1486
z Simulator Control for Quantum Safety PLC, page 1489
z Simulator Control for Premium PLC, page 1492
z Simulator Control for M340 PLC, page 1495

1482

33003101 07/2012

PLC Simulator

Simulator Control for Unknown PLC


Introduction
This dialog box is shown if the simulator does not know which PLC type should be
simulated.
This is the case e.g.,
z directly after the simulator is started, before a project is loaded
z if the simulated PLC is in NOCONF state, i.e. a valid project is not loaded in the
simulator
Representation of the dialog box

PLC Front Plate


The virtual PLC front plate shows the current state of the PLC and the project in a
two line display.
The first line shows the current state of the PLC and can contain the following texts:

33003101 07/2012

Text in the First


Line

The Simulated
PLC is in State...

Meaning

NOCONF

NOCONF (no
configuration)

No user project loaded or the loaded project is


invalid.

IDLE

IDLE

The project loaded on the PLC has not been started


or reset with the Reset command button.

1483

PLC Simulator

Text in the First


Line

The Simulated
PLC is in State...

Meaning

STOP

STOPPED

No project is running. However, the loaded project


was in RUN state at least once.

RUN

RUN

A project with at least one task is running.

HALT

HALT

An error has occurred in the project. The simulated


PLC must be re-initialized or reset using the Reset
command button.

ERROR

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.

The second line shows the current state of the project and can contain the following
texts:
Text in the
Second Line

Meaning

INVALID

No user project loaded or the loaded project is invalid.

CHECKED

The project was checked formally and found to be valid. However, the
PLC has not been configured using this project.

CONF

The project was checked formally and found to be valid. The PLC has
been configured using this project.

Events
With this command button, you can open and close the event dialog box
(see page 1502).
The command button is shown if IO events are defined in the project currently
loaded, i.e. if the project uses event tasks.
Reset
With this command button, you can reset the simulated PLC (and the simulator).
This corresponds to a cold start of the PLC (the connection between the Unity Pro
and simulator is broken, project variables are reset).
This command button corresponds to the reset button on a real CPU.

1484

33003101 07/2012

PLC Simulator

Power Cycle
With the command button, you simulate a warm start of the PLC, i.e. the connection
between Unity pro and the simulator is broken, the current project variables remain
and the simulator goes into the state RUN (autostart active) or STOP (autostart
deactivated).
This command button corresponds to the reset button of a Premium power supply
or the unplugging and plugging in of a power supply.
Host PC name
This text field shows the DNS name of the host PC for the simulator.
If the PC has multiple network cards, only the first is shown.
Host IP address
This text field shows the TCP/IP address of the host PC for the simulator.
If the PC has multiple network cards, only the first is shown.
Project name
This text field shows the name of the loaded project.
Clients connected
The list box shows current clients connected with the PC (PCs which are connected
via TCP/IP with the Host PC of the simulator, see also Creating a Connection,
page 1461). The DNS name and TCP/IP address of its host PC are shown for each
client.

33003101 07/2012

1485

PLC Simulator

Simulator Control for Quantum PLC


Introduction
The dialog box is shown if the simulator is simulating a PLC from the Quantum
family.
Representation of the dialog box

PLC Front Plate


The virtual PLC front plate shows the current state of the PLC in a one line display.

1486

Text in the
Display

The Simulated
PLC is in State...

Meaning

Init

INIT (Initialization) This display is shown for a very short time while the
simulator is starting. It is quickly replaced by one of
the following displays.

UnCfg

NOCONF (no
configuration)

No user project loaded or the loaded project is


invalid.

Idle

IDLE

The project loaded on the PLC has not been started


or reset with the Reset command button.

Stop

STOPPED

No project is running. However, the loaded project


was in RUN state at least once.

Run

RUN

A project with at least one task is running.

33003101 07/2012

PLC Simulator

Text in the
Display

The Simulated
PLC is in State...

Meaning

Halt

HALT

An error has occurred in the project. The simulated


PLC must be re-initialized or reset using the Reset
command button.

Err

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.

Key Switch
By clicking with the mouse on the switch symbol, various switch positions can be
simulated.
Meaning of the switch positions:
Switch
Position

Switch Position Meaning


on Real CPU
Start

PLC unlocked
z project can be loaded
z PLC can be started or stopped

Mem Prt

PLC locked
z project can not be loaded
z As opposed to the key switch on a real CPU, the PLC
can be started or stopped in this position.

Stop

This switch position of a real CPU is not supported by


the simulator.

Events
With this command button, you can open and close the event dialog box
(see page 1502).
The command button is shown if IO events are defined in the project currently
loaded, i.e. if the project uses event tasks.
Reset
With this command button, you can reset the simulated PLC (and the simulator).
This corresponds to a cold start of the PLC (the connection between Unity Pro, the
simulator is broken, project variables are reset and the simulator goes in RUN (if
auto start is activated) or in STOP (if auto start is deactivated)).
Reset corresponds to the reset button on a real CPU.

33003101 07/2012

1487

PLC Simulator

Power Cycle
With this command button, you execute a power cycle (power off/ power on) for the
simulated PLC (and the simulator). This corresponds to a warm start of the PLC (the
connection between Unity Pro and simulator is broken and the current project
variables remain).
A power cycle corresponds to the unplugging and plugging in of a real power supply.
Host PC name
This text field shows the DNS name of the host PC for the simulator
If the PC has multiple network cards, only the first is shown.
Host IP address
This text field shows the TCP/IP address of the host PC for the simulator
If the PC has multiple network cards, only the first is shown.
Project name
This text field shows the name of the loaded project.
Clients connected
The list box shows current clients connected with the PC (PCs which are connected
via TCP/IP with the Host PC of the simulator, see also Creating a Connection,
page 1461). The DNS name and TCP/IP address of its host PC are shown for each
client.

1488

33003101 07/2012

PLC Simulator

Simulator Control for Quantum Safety PLC


Introduction
The dialog box is shown if the simulator is simulating a PLC from the Quantum safety
family.
Representation of the dialog box

PLC Front Plate


The virtual PLC front plate shows the current state of the safety PLC in a display.
Text in the The Simulated
Display
PLC is in State...

33003101 07/2012

Meaning

Init

INIT (Initialization) This display is shown for a very short time while the
simulator is starting. It is quickly replaced by one of the
following displays.

UnCfg

NOCONF (no
configuration)

No user project loaded or the loaded project is invalid.

Idle

IDLE

The project loaded on the PLC has not been started or


reset with the Reset command button.

Stop

STOPPED

No project is running. However, the loaded project was in


RUN state at least once.

Run

RUN

A project with at least one task is running.

1489

PLC Simulator

Text in the
Display

The Simulated
PLC is in State...

Meaning

Halt

HALT

An error has occurred in the project. The simulated PLC


must be re-initialized or reset using the Reset command
button.

Err

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.

Safety Mode

The project is running in safety mode.


For further information on the different modes please refer
to the Unity Pro XLS Software Specifics manual.

Maintenance
Mode

The project is running in maintenance mode.


For further information on the different modes please refer
to the Unity Pro XLS Software Specifics manual.

Safety/Maintenance Mode (Safety Projects)


For switching between safety and maintenance mode please pay attention to the
following special features:
z Switching from safety to maintenance mode in Unity Pro XLS Software is only
possible, if the simulators key switch is unlocked (see table below).
z Switching from maintenance to safety mode can be done by setting the key
switch position of the simulator to locked.
z If the simulator is in maintenance mode and Unity Pro XLS Software is
disconnected from the simulator, it is automatically set to safety mode.
NOTE: The PLC simulator has no double code execution of the logic and
comparison of the results. Therefore the execution behaves the same in safety and
maintenance mode.
For further information on the different modes please refer to the Unity Pro XLS
Software Specifics manual.
Key Switch
By clicking with the mouse on the switch symbol, various switch positions can be
simulated.
Meaning of the switch positions
Switch
Position

Switch Position Meaning


on Real CPU
Start

PLC unlocked
z project can be loaded
z PLC can be started or stopped

1490

33003101 07/2012

PLC Simulator

Switch
Position

Switch Position Meaning


on Real CPU
Mem Prt

PLC locked
z project can not be loaded
z As opposed to the key switch on a real CPU, the PLC
can be started or stopped in this position.

Stop

This switch position of a real CPU is not supported by the


simulator.

Reset
With this command button, you can reset the simulated PLC (and the simulator).
This corresponds to a cold start of the PLC (the connection between the Unity Pro
and simulator is broken, project variables are reset).
This command button corresponds to the reset button on a real CPU.
Power Cycle
With the command button, you simulate a cold start of the PLC (since a safety PLC
does not support warm start), i.e. the connection between Unity Pro and the
simulator is broken, the simulator goes into the state RUN (autostart active) or STOP
(autostart deactivated).
This command button corresponds to the unplugging and plugging in of a power
supply.
Host PC name
This text field shows the DNS name of the host PC for the simulator.
If the PC has multiple network cards, only the first is shown.
Host IP address
This text field shows the TCP/IP address of the host PC for the simulator.
If the PC has multiple network cards, only the first is shown.
Project name
This text field shows the name of the loaded project.
Clients connected
The list box shows current clients connected with the PC (PCs which are connected
via TCP/IP with the Host PC of the simulator). The DNS name and TCP/IP address
of its host PC are shown for each client.

33003101 07/2012

1491

PLC Simulator

Simulator Control for Premium PLC


Introduction
The dialog box is shown if the simulator is simulating a PLC from the Premium
family.
Representation of the dialog box

PLC Front Plate


The virtual PLC front plate shows the current state of the PLC in a multi-line display.
The various states are indicated using combinations of the RUN and ERR LEDs.

1492

RUN
LED

ERR
LED

The Simulated
PLC is in State...

off

flashing NOCONF
(no configuration)

Meaning
No user project loaded or the loaded project is
invalid.

flashing off

IDLE

The project loaded on the PLC has not been started


or reset with the Reset command button.

flashing off

STOPPED

No project is running. However, the loaded project


was in RUN state at least once.

on

RUN

A project with at least one task is running.

off

33003101 07/2012

PLC Simulator

RUN
LED

ERR
LED

The Simulated
PLC is in State...

off

flashing HALT

An error has occurred in the project. The simulated


PLC must be re-initialized or reset using the Reset
command button.

off

on

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.

ERROR

Meaning

When data is being exchanged between Unity Pro and the simulator, the TER LED
is flashing.
The LEDs CH0, CH1, CH2, CH3, I/O and FIP are no supported by the simulator.
Events
With this command button, you can open and close the event dialog box
(see page 1502).
The command button is shown if IO events are defined in the project currently
loaded, i.e. if the project uses event tasks.
Reset
With this command button, you can reset the simulated PLC (and the simulator).
This corresponds to a cold start of the PLC (the connection between Unity Pro, the
simulator is broken, project variables are reset and the simulator goes in RUN (if
auto start is activated) or in STOP (if auto start is deactivated)).
Reset corresponds to the reset button on a real CPU.
Power Cycle
With this command button, you execute a power cycle (power off/ power on) for the
simulated PLC (and the simulator). This corresponds to a warm start of the PLC (the
connection between Unity Pro and simulator is broken and the current project
variables remain).
A power cycle corresponds to the reset button of a Premium power supply or the
unplugging and plugging in of a power supply.
Host PC name
This text field shows the DNS name of the host PC for the simulator.
If the PC has multiple network cards, only the first is shown.

33003101 07/2012

1493

PLC Simulator

Host IP address
This text field shows the TCP/IP address of the host PC for the simulator.
If the PC has multiple network cards, only the first is shown.
Project name
This text field shows the name of the loaded project.
Clients connected
The list box shows current clients connected with the PC (PCs which are connected
via TCP/IP with the Host PC of the simulator, see also Creating a Connection,
page 1461). The DNS name and TCP/IP address of its host PC are shown for each
client.

1494

33003101 07/2012

PLC Simulator

Simulator Control for M340 PLC


Introduction
The dialog box is shown if the simulator is simulating a PLC from the M340 family.
Representation of the dialog box

PLC Front Plate


The virtual PLC front plate shows the current state of the PLC in a multi-line display.
The various states are indicated using combinations of the RUN and ERR LEDs.

33003101 07/2012

RUN
LED

ERR
LED

The Simulated
PLC is in State...

Meaning

off

flashing NOCONF
No user project loaded or the loaded project is
(no configuration) invalid.

flashing off

IDLE

The project loaded on the PLC has not been started


or reset with the Reset command button.

flashing off

STOPPED

No project is running. However, the loaded project


was in RUN state at least once.

on

RUN

A project with at least one task is running.

off

1495

PLC Simulator

RUN
LED

ERR
LED

The Simulated
PLC is in State...

off

flashing HALT

An error has occurred in the project. The simulated


PLC must be re-initialized or reset using the Reset
command button.

off

on

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.

ERROR

Meaning

When data is being exchanged between Unity Pro (or other clients) and the
simulator, the SER COM LED is flashing.
The CARDERR LED is ON if a problem occurs during card access or if the memory
card is removed.
The LEDs I/O, CAN RUN, CAN ERR, ETH ACT, ETH STS and 10/100 are not
supported by the simulator.
CardAcc
The CardAcc LED is ON when the card is accessible.
Memory Card
The following features of a memory card can be simulated for the M340 PLC:
z files on the memory card generated by the data storage function blocks
z remove/insert memory card
z memory card full
z write protection
See also Memory Card for M340 PLC, page 1498.
Reset
With this command button, you can reset the simulated PLC (and the simulator).
This corresponds to a cold start of the PLC (the connection between Unity Pro, the
simulator is broken, project variables are reset and the simulator goes in RUN (if
auto start is activated) or in STOP (if auto start is deactivated)).
Reset corresponds to the reset button on a real CPU.
Power Cycle
With this command button, you execute a power cycle (power off/ power on) for the
simulated PLC (and the simulator). This corresponds to a warm start of the PLC (the
connection between Unity Pro and simulator is broken and the current project
variables remain).
A power cycle corresponds to the unplugging and plugging in of a power supply.
1496

33003101 07/2012

PLC Simulator

Host PC name
This text field shows the DNS name of the host PC for the simulator.
If the PC has multiple network cards, only the first is shown.
Host IP address
This text field shows the TCP/IP address of the host PC for the simulator.
If the PC has multiple network cards, only the first is shown.
Project name
This text field shows the name of the loaded project.
Clients connected
The list box shows current clients connected with the PC (PCs which are connected
via TCP/IP with the Host PC of the simulator, see also Creating a Connection,
page 1461). The DNS name and TCP/IP address of its host PC are shown for each
client.

33003101 07/2012

1497

PLC Simulator

Memory Card for M340 PLC


Overview
The M340 PLC simulator panel displays a memory card in the bottom left corner of
the virtual front plate. See Simulator Control for M340 PLC, page 1495.
The memory card is inserted by default after the startup of the PLC Simulator.
No Backup/Restore
On a real M340 PLC the memory card is separated in 2 parts:
a part for the OS, where the application is stored persistent (backup/restore
mechanism)
z a part for the application, where the application can store data by using data
storage function blocks
z

NOTE: The simulator does not simulate the backup/restore part of the memory card.
Not Simulated Features of a Memory Card
The following features of a real memory card are not supported:
z backup/restore to/from memory card
z operating modes for memory cards
z %S66 (APPLIBCK)
z %S93 (CKS_APPLI)
Simulated Features of a Memory Card
The following features of a memory card can be simulated for the M430 PLC:
z files on the memory card generated by the data storage function blocks
z remove/insert memory card
z memory card full
z write protection
File Management Function Blocks
The simulator supports the file management function blocks and simulates the
generation of the files on the PC.
A directory on the PC simulates the file management part of the memory card. In this
directory the files created by the user application are stored.
The directory used for memory card simulation is either the default one
(C:\Documents and Settings\USERNAME\Local Settings\Temp\DataStorage) or the
directory used during the last simulation. The last used directory is stored persistent
in the registry.
The files written by the application can be accessed by normal tools like an editor or
Office tools.
1498

33003101 07/2012

PLC Simulator

The simulator never deletes the application written files. If an application needs to
have a blank empty memory card, the system word %SW93 (Memory Card File
System Format) has to be used in STOP state of the PLC.
NOTE: There will be no tracking of the size and the number of the files written into
the memory card.
Limitations for File Management Function Blocks
z
z

Error codes generated by these functions/function blocks may be different


between PLC simulator and a real PLC.
With the PLC simulator it is not possible to delete a file that is opened (neither
with the DELETE_FILE function nor by FTP command).
It is mandatory to close the file before deleting it, in order to delete the file
descriptor.
Trying to delete a file that is opened will generate a general error code (-1).
The SET_FILE_ATTRIBUTES function is not supported by the PLC simulator.
Trying to call this function will generate a general error (-1).

For detailed information about the file management functions/function blocks please
refer to the System Block Library documentation.
Remove Memory Card
By default the memory card is inserted at simulator start.
The procedure for removing the memory card is as follows:
Step

Action

Set the system bit %S65 (CARDIS).


Result: After a potential card access has finished the CardAcc LED goes out.

Open the context menu by clicking on the memory card with the right mouse
button.

Select Remove Memory Card....


Result: The virtual front plate shows an empty memory card slot and the
CARDERR LED is on.

NOTE: Removing the memory card has no influence on the used directory and the
files, but the access to the files is disabled inside the simulator.

33003101 07/2012

1499

PLC Simulator

Insert Memory Card


The procedure for inserting the memory card is as follows:
Step

Action

Open the context menu by clicking on the memory card with the right mouse button.

Select Insert Memory Card....


Result: A Windows standard file selection dialog opens. The selection is preinitialized with the last used memory card directory.
Note: The file selection box also has a Write protected checkbox to insert a write
protected virtual memory card.

Proceed with one of the 2 following possibilities:


z Use the pre-initalized directory.

Result: The last removed memory card is inserted.


z Select another directory.

Result: Another memory card (e.g. different in content or empty) is inserted.


Result: The CARDERR LED goes off.
4

Reset the system bit %S65 (CARDIS).


Result: The virtual front plate shows a memory card and the CardAcc LED goes on.

Since a directory and its content represent the memory card, exchanging the content
of the directory can simulate the exchange of a memory card. This can be done my
normal Windows means (cut/copy/paste of files or renaming/moving folders).
Memory Card Full
By default the memory card is not full at simulator start.
Since there is no size tracking, at any time it is possible to simulate that the memory
card is full.
This is done by opening the context menu (clicking on the memory card with the right
mouse button) and checking the menu item Memory Card Full.
After this menu item is checked
new data writing is not possible
z read accesses are possible
z overwrite actions are possible
z

This state is indicated by the checkmark in the context menu item.

1500

33003101 07/2012

PLC Simulator

Write Protection
By default the memory card is not write protected at simulator start.
At any time it is possible to simulate that the memory card is write protected.
This is done by opening the context menu (clicking on the memory card with the right
mouse button) and checking the menu item Write Protection.
After this menu item is checked
z data writing is not possible
z read accesses are possible
This state is indicated by the checkmark in the context menu item.
Unity Pro adds some restrictions linked with the memory card (e.g. program
modification is forbidden if the card is write protected. The simulator supports those
restrictions too.
To realize the write protection feature the following system bits and words are
supported by the simulator:
z %S65 (CARDIS)
z %S96 (BACKUPPROGOK)
z %SW97 (CARDSTS)
NOTE: It is not possible to access the files via an FTP client through the simulator,
since the files are directly accessible by Windows features.

33003101 07/2012

1501

PLC Simulator

Event Dialog
Introduction
You can open and close the event dialog with
the menu command Event dialog in the context menu of the simulator symbol in
the task bar or the simulator symbol
z the command button Events in the simulator dialog (only open)
z

This dialog is not available for safety PLCs.


Selection Condition
The menu command and the command button are enabled if IO events are defined
in the project currently loaded, i.e. if the project uses event tasks.
Representation
Event dialog:

EVT0 Event
Possible events for the EVT0 task are shown here. This user task has the highest
priority in the system and can only contain one IO event.
If this task is part of the project, the event command button is enabled.
EVTi IO Event
Possible events for the EVTi IO task are shown here. This user task can process up
to 96 events. The maximum number of tasks depends on the PLC simulated.
The event command buttons are enabled according to the number of events defined
in the project.

1502

33003101 07/2012

PLC Simulator

Clear
Introduction
With Clear, you can remove the currently loaded project from the simulator memory
and put the simulated PLC (and the simulator) into NOCONF status.
This corresponds to a cold start of the PLC without valid project loaded (the
connection between Unity Pro and the simulator is broken).
You can execute Clear with the menu command Clear in the context menu of the
simulator symbol in the task bar.

33003101 07/2012

1503

PLC Simulator

Reset
Introduction
With Reset, you can reset the simulated PLC (and the simulator). This corresponds
to a cold start of the PLC (the connection between Unity Pro, the simulator is broken,
project variables are reset and the simulator goes in RUN (if auto start is activated)
or in STOP (if auto start is deactivated)).
Reset corresponds to the reset button on a real CPU.
You can execute reset with
the menu command Reset in the context menu of the simulator symbol in the task
bar or the simulator symbol
z the command button Reset in the simulator dialog.
z

NOTE: %S0 is not set to 1 using Reset with the PLC simulator (in contrast to a real
PLC).

1504

33003101 07/2012

PLC Simulator

Power Cycle
Introduction
With Power Cycle, you execute a power cycle (power off/ power on) for the
simulated PLC (and the simulator). This corresponds to a warm start of the PLC (the
connection between Unity Pro and simulator is broken and the current project
variables remain).
A power cycle corresponds to the reset button of a Premium power supply or the
unplugging and plugging in of a power supply.
You can execute a power cycle with
z the menu command Power Cycle in the context menu of the simulator symbol in
the task bar or the simulator symbol
z the command button Power Cycle in the simulator dialog
NOTE: In case of a safety PLC, power cycle simulates a cold start. Project variables
are reset.

33003101 07/2012

1505

PLC Simulator

Options
Description
In this dialog box, you can define special settings for the simulator.
You can open the dialog with the menu command Options in the context menu of
the simulator symbol in the task bar or the simulator symbol.
Representation
Options

Always on Top
If you activate this check box, the simulator control window is always on top of other
dialog boxes and windows.
Only PLC Front
If you activate this check box, the simulator control window is minimized and only
the virtual front plate of the PLC is shown.
Tone
If you activate this check box, the simulator plays a tone in the following situations
starting and exiting the simulator
z error in project
z

1506

33003101 07/2012

PLC Simulator

Timing (simulator)
Description
With this menu command, you can open and close the timing dialog box. This dialog
box shows simulator statistics for CPU use, process priority and user scan time.
Additionally, you can change the priority and the sleep time in this dialog box, to
optimize simulator timing and adjust the PC load.
Representation of the dialog box

The dialog box consists of 4 main areas:


z Processor Load, page 1508
z Priority of the Simulator, page 1510
z Data in the User Task, page 1511
z Minimal Sample Time, page 1512

33003101 07/2012

1507

PLC Simulator

Processor Load
Introduction
The processor load (on the PC) caused by the entire simulation and the individual
user tasks is shown here.
Process
This bar graph shows the actual processor load caused by the simulator process in
percent.
Unlike the display in the Windows task manager which only indicates the current
value, this bar graph indicates the average value over the time shown at the end of
the bar graph.
The time entry at the end of the bar graph is the time that has passed since the
simulator was started or since the last time reset was pressed.
Overhead
This bar graph shows the average processor load caused by the simulator process
overhead in percent.
The overhead is calculated as follows:
load caused by the entire process - load caused by the user tasks
This can be an absolute or relative value for the processor load caused by the
simulator. This setting can be made in the Display area.
The time entry at the end of the bar graph is the time that has passed since the
simulator was started or since the last time Reset was pressed.
Mast ... Evt1T
The bar graph shows the average processor load caused by the individual user
tasks in percent.
These can be absolute or relative values for the processor load caused by the
simulator. The representation method can be set in the Display area.
The option button at the beginning of the bar graph can be used to select a user task.
The details for this user task will be displayed in the Data in the user task area.
The time entry at the end of the bar graph is the time that has passed since the
individual tasks were started or since the last time Reset was pressed.
NOTE: In case of a safety PLC, only the Mast task is enabled

1508

33003101 07/2012

PLC Simulator

Display: Absolute
If you activate this option button, the actual value is shown in the bar graph. This is
shown as a percentage of the entire processor load for the PC.
Display: Relative
If you activate this option button, the relative processor load is shown in the bar
graph. This is shown as a percentage of the processor load caused by the simulator.
Reset
If you press this command button, time measurements in this area are reset.
This is required to achieve a consistent representation of the times which have
passed because the individual times are not started simultaneously when opening
the simulator.

33003101 07/2012

1509

PLC Simulator

Priority of the Simulator


Introduction
In this area, you can define the priority of the simulator process.
It may be necessary to assign a high priority to the simulator because the cycle times
of the individual user tasks can deviate greatly if there is a heavy load on the PC.
These deviations are directly caused by the Windows operating system and can
reach 100 ms with Normal priority. In most cases, the watchdog timer is also
affected. In this case, setting the simulator priority higher can prevent the watchdog
from being triggered.
Real-time
In this priority, user task cycle times only deviate by a few milliseconds.
NOTE: This priority should be used with care because the simulator has the highest
possible priority in this case and interrupts the Windows system. If you use this
priority with a very small sleep time and a cyclic user task, the PC may cease proper
operation.
High
In this priority, user task cycle times normally do not deviate by more than 10 ms.
Normal
In this priority, user task cycle times can deviate up to several 100 ms.
Low
This priority quickly causes the watchdog to be triggered and should only be used
on a PC with nearly no load.
Apply
If you press this command button, settings in this area are applied and used
immediately.

1510

33003101 07/2012

PLC Simulator

Data in the User Task


Introduction
2 histograms are shown in this area
z the cycle time histogram for the selected user task
z the sleep time histogram for the selected user task
Structure of the Histograms
The histograms automatically adjust their ranges to the current values.
The percent scale (y-axis) is adjusted to the maximum percent value.
If a new value is not in the range for the time scale (x-axis), the range is increased
by a factor of 2 until the new value is in the range. In this case, the previous values
are recalculated for the new range.
If a value occurs so seldom that it does not create a peak in the histogram, then a
one pixel peak is created so that the value can be seen.
Cycle time
This histogram shows the relative frequency of cycle time values in the user task
currently selected. See also Minimal Sample Time, page 1512
The counter to the left under the histogram counts the number of cycles in RUN
mode represented in this histogram.
Sleep time
This histogram shows the relative frequency of sleep time values in the user task
currently selected. See also Minimal Sample Time, page 1512
For cycle tasks, normally a single value is shown with 100 %. This is the minimum
sleep time for user tasks. If you change the value for the minimum sample time, a
second peak is created for the new value.
User tasks cycles are included in this histogram (regardless of the PLC mode).
Cycle Counter
The counter to the left under the histogram counts the number of cycles in RUN
mode represented in the cycle time histogram.
This counter has no meaning for the sleep time histogram because cycles are
included there (regardless of the PLC mode).
Reset
If you press this command button, the histograms for the user task currently selected
is reset and a new statistic is started.
33003101 07/2012

1511

PLC Simulator

Minimal Sample Time


Description
The simulator is not the only thing running on the PC, therefore the other programs
must be given a chance to be executed. Therefore the user task is assigned a fixed
sample time.
The sample time is calculated according to the following formula:
Sample Time = Cycle Time + Sleep Time.
Time of the user task

Legend
Time

Meaning

Sample time

Time which is made available for running the user task.

Cycle time

Time which is actually required for running the user task.

Sleep time

Time in which the other programs on the PC can be executed.

Minimum sample time (ms)


A minimum sample time of 10 to 100 ms can be set. The smaller the sample time
you select, the smaller the sleep time (sleep time = sample time - cycle time) and
therefore the more loaded the PC is.

NOTICE
LOSS OF PC OPERATION
Do not use a small sample time when selected in combination with a high simulator
priority and cyclic user tasks.
Failure to follow these instructions can result in equipment damage.
Apply
If you press this command button, the minimum sample time is applied to the
selected user task and used immediately.

1512

33003101 07/2012

PLC Simulator

Info
Description
With this menu command, you can open and close the info dialog box. This dialog
box shows the current version of the simulator and its components.

33003101 07/2012

1513

PLC Simulator

Help
Description
With this menu command, you can open the online help for the simulator.

1514

33003101 07/2012

PLC Simulator

Ending the Simulation


Description
With this menu command, you can exit the simulator.

33003101 07/2012

1515

PLC Simulator

1516

33003101 07/2012

Unity Pro
Machine-Process Simulator
33003101 07/2012

Machine-Process Simulator

41
Introduction
Overview
The SIM function allows you to create a virtual machine which simulates the
behaviour of all electrical, mechanical, hydraulic components of your process, in the
aim to debug the UNITY Pro application before starting up on site.
Installation
The SIMAC 100 software must be installed separately of Unity Pro software. The
software can be downloaded from the PROSYST web site (www.prosyst.fr).
Please, refer to the PROSYST vendor for further installation information.

33003101 07/2012

1517

Machine-Process Simulator

1518

33003101 07/2012

Unity Pro
Diagnostics
33003101 07/2012

Diagnostics

VII
Subject of this Part
This part describes the various diagnostics tools available in Unity Pro for the
programming, maintenance and use of Premium, Atrium, Quantum and Modicon
M340 PLCs.
What Is in This Part?
This part contains the following chapters:
Chapter

33003101 07/2012

Chapter Name

Page

42

Introduction to diagnostics tools

1521

43

Diagnostics screens

1523

44

Diagnostics Viewer

1529

45

System diagnostics

1549

46

Project diagnostics

1553

1519

Diagnostics

1520

33003101 07/2012

Unity Pro
Introduction to diagnostics
33003101 07/2012

Introduction to diagnostics tools

42
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
z
z
z
z

Language Objects (IODDTs (see Unity Pro, Program Languages and Structure,
Reference Manual )).
Diagnostics screens.
The Diagnostics Viewer.
System diagnostics.
Project diagnostics (diagnostic EFBs and DFBs).

Using the resources


The following table shows the resources available.

33003101 07/2012

Resource

Use

Language objects (see Unity


Pro, Program Languages and
Structure, Reference Manual )

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 (see Unity Pro, Program Languages and
Structure, Reference Manual ) variables.

Diagnostics screens
(see page 1523)

The diagnostics screens can be accessed from the


configuration editor for the processor and the applicationspecific 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).

1521

Introduction to diagnostics

Resource

Use

The Diagnostics Viewer


(see page 1529) for Unity Pro

The Diagnostics Viewer is a tool which can be used to


view the alarms generated by the system diagnostics and
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 page 1549)

System diagnostics is a service which combines the use


of system bits and words with the Diagnostics Viewer.
When a project has been built with the System
Diagnostics option (see page 479), the system bits and
words automatically generate diagnostics messages in
the Diagnostics Viewers (see page 1529).

Project diagnostics
(see page 1553)
(diagnostics EFBs and DFBs and
SFC diagnostics)

Project diagnostics consist of specific EFBs and DFBs


which are embedded in the code of an automation project
to provide the user or maintenance personnel with clear
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.

Advantages
The main advantages of these services are as follows:
z

z
z

1522

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.
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.
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.

33003101 07/2012

Unity Pro
Diagnostics screens
33003101 07/2012

Diagnostics screens

43
43.1

Module and processor diagnostics screens

Subject of this Section


This section introduces the user to the counting module diagnostics screens.
NOTE: By way of example, only diagnostics for application-specific counting
modules are covered here. The diagnostics screens for the other applicationspecific modules as well as those for processors are similar.
What Is in This Section?
This section contains the following topics:
Topic

33003101 07/2012

Page

Viewing fault diagnostics

1524

Lists of fault diagnostics

1526

1523

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
z

in the configuration screen of the rack, with the presence of a red square in the
position of the faulty counting module,
in all screens at module level (Description and Fault tabs),
z in the module field with the I/O LED.
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.

in the fault screen that is accessed by the Fault where the fault diagnostics are
described.

The fault is also reported:


z
z

on the module, through the centralized viewing,


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 (see Premium and Atrium using Unity Pro, Counter modules, User
manual).

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.

1524

33003101 07/2012

Diagnostics screens

Illustration
The diagram below shows the fault reporting structure.

33003101 07/2012

1525

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 module fault messages
The table below provides a list of the module fault messages.
Fault indicated

Possible interpretation and/or action

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.
Note: For Modicon M340, if the Xbus line termination are
missing, the module will stay in this state.

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.

1526

33003101 07/2012

Diagnostics screens

List of channel fault messages


The table below gives the list of fault messages at channel level.
Fault indicated. Other
consequences.

Possible interpretation and/or action.

External fault or counting input fault:


z encoder or proximity sensor
supply fault,
z line break or short circuit of at
least one encoder differential
signal (1A, 1B or 1Z),
z SSI series frame fault,
z specific fault on absolute
encoder.

Check the sensor connections.


Check the sensor power supply.
Check the sensor operation.
Delete the fault and acknowledge if the fault storing is
configured (CTY 2C).
Counting pulses or incremental encoder: preset or
reset to acknowledge the Invalid measurement
message.

Outputs are set to 0 in automatic


mode.
Invalid measurement message.
Counting application fault:
z measurement overrun
z overspeed

Outputs are set to 0 in automatic


mode.
Invalid measurement message.
Auxiliary input/output fault:
z power supply
z short circuit of at least one

output
Outputs are set to 0 in automatic
mode.
Internal fault or channel self-test:
z faulty module,
z module missing or off,
z module running self-test.

Diagnose the fault more precisely (external causes).


Check the application again, if necessary.
Delete the fault and acknowledge if the fault storing is
configured (CTY 2C).
Counting pulses or incremental encoder: preset or
reset to acknowledge the Invalid measurement
message.
Check the output connections.
Check the input/output power supply (24V).
Diagnose the fault more precisely (external causes).
Delete the fault and acknowledge if the fault storing is
configured (CTY 2C).

Module fault has gone down to channel level.


Refer to module level diagnostics.

Different hardware and software


configurations

Module fault has gone down to channel level.


Refer to module level diagnostics.

Invalid software configuration:

Check and modify the configuration constants.

z incorrect constant
z bit combination not associated

with any configuration

33003101 07/2012

Communication fault

Check the connections between the racks.

Application fault: refusal to


configure or adjust

Diagnose the fault more precisely.

1527

Diagnostics screens

1528

33003101 07/2012

Unity Pro
Viewer
33003101 07/2012

Diagnostics Viewer

44
Subject of this Chapter
The following chapter describes the Diagnostics Viewer, used to display error
messages.
What Is in This Chapter?
This chapter contains the following topics:
Topic
Reminder of the Diagnostics Associated with the Viewer

33003101 07/2012

Page
1530

Operation of the diagnostics in Unity Pro

1532

Description of the Diagnostics Viewer

1533

How to find causes

1536

Configuring the display

1538

Managing error messages

1540

Diagnostics Viewer Commands

1543

DiagViewer Properties

1545

Archiving error messages

1547

1529

Viewer

Reminder of the Diagnostics Associated with the Viewer


Diagnostics in Unity Pro
In order to check the correct operation of your process, the Unity Pro software offers
you 2 types of diagnostics:
z
z

system diagnostics,
project diagnostics.

The Diagnostics Viewer is used to display error messages.


System Diagnostics
System diagnostics are 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 Diagnostics Viewer. The Diagnostics Viewer
displays a system error message if in the project settings you have checked the
System diagnostics (see page 479) box.
Project Diagnostics
Project diagnostics uses diagnostics EFBs and DFBs. In addition, SFC program
diagnostics form an integral part of the system and allow you to test the activation
times of the steps.
When the Project diagnostics (see page 479) box is checked, information is sent to
the viewer when a fault occurs, which displays an error message.
Diagnostics EFBs and DFBs
EFBs and DFBs are function blocks that are programmed to carry out diagnostics in
your project (see page 1553).
The graphic representation of a DFB is as follows:

1530

33003101 07/2012

Viewer

Viewer
The Diagnostics Viewer is a tool that is used to display and acknowledge error
messages linked to diagnostics:

33003101 07/2012

1531

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 diagnostics


The table below describes the various phases of operation of the Unity Pro
diagnostics:
Phase

1532

Description

The diagnostics function blocks built into the project program and the
diagnostics built into the system detect process faults.

The faults are stored in the form of date/time stamped messages in the
diagnostics buffer memory.

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.

33003101 07/2012

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 Viewer
The following screen presents the Diagnostics Viewer and its 2 display fields:

1
2

List of error messages


Additional information on the message selected

Description of error messages


For each of the alarms, the error messages list displays the following information:

33003101 07/2012

Field

Description

Acknowledgement

The icon and the text indicate the message status: not
acknowledged, acknowledged, deleted or no acknowledgement.

Message

Error message. This message contains the 40 first characters of


the text entered in the comment of the function block instance 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.

1533

Viewer

Definition of icons
The Diagnostics Viewer uses the following icons to indicate the message status:
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


The additional information field provides the following information for the message
selected in the list:
z the alarm type with
z a comment (defined by the user for the diagnostics FB)
z the date of appearance,
z
z
z

1534

specific variables depending on the type of alarm,


a list of error variables including any associated comments (if these exist),
interpretation of the status words as a function of the STO file corresponding to
this alarm.

33003101 07/2012

Viewer

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 page 1536)

33003101 07/2012

1535

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 causes
The following table describes the procedure for finding causes.
Step

Action

Select the alarm in question in the Viewer.


Result: The alarm line is shown in reverse video.

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.

Click on the Initialize Search to search for cross-references to the selected


input.
Result: The Cross-References screen is displayed.

Lists of diagnostics inputs of diagnostics EFBs or DFBs


The table below specifies the diagnostics inputs (with Diag property selected) of
diagnostics EFBs or DFBs in the diagnostics library.

1536

Block name

Block type

Name of diagnostics inputs

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

33003101 07/2012

Viewer

33003101 07/2012

Block name

Block type

Name of diagnostics inputs

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

1537

Viewer

Configuring the display


At a Glance
The Diagnostics Viewer allows you to configure the display of the error messages.
You can:
z
z
z

select the columns to be displayed,


resize the columns,
choose the color and flashing of the messages.

Selecting the columns to be displayed


By default the Diagnostics Viewer displays all of its columns, but allows you to
customize the display by removing columns that are of no use.
To remove a Diagnostics Viewer column, you must perform the following operations:

1538

Step

Action

Right-click the title of the column selected.


Result: A contextual menu containing the list of columns appears on the screen.

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.

If you display the contextual menu again (steps 1 and 2), this column will not be
preceded by a pointer (deselected column).

33003101 07/2012

Viewer

Resizing of columns
To modify the size of a column, carry out the following operations:
Step

Action

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.

When the cursor appears, press and hold the right button of the mouse and
move the mouse to change the column size.

Once the correct column size has been reached release the mouse button.
Result: The column is resized.

Choosing the color and flashing of messages


The Properties dialog box of the Diagnostics Viewer (see page 1545) is used to
change the color and flashing of error messages.

33003101 07/2012

1539

Viewer

Managing error messages


At a Glance
The Diagnostics Viewer allows you manage the error messages. You can:
z
z
z
z
z
z

sort the messages list,


browse the messages list,
acknowledge a message in the list,
delete a message from the list,
activate another tool,
delete an alarm from the PLC memory.

Number of messages
The number of messages displayed in the list is defined solely by the size of the
available memory.
If the memory becomes insufficient:
z
z

the DIAG information flashes in the status bar,


the messages associated with faults that have disappeared and have been
acknowledged (if they needed acknowledging) are deleted.

Sorting messages
You can sort the messages by each column contained in the list except for the one
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
z

1540

the Up, Down, PageUp, PageDown, Home and End keys on the keyboard,
the mouse. Use the scroll bar if the list contains more messages than can be
displayed.

33003101 07/2012

Viewer

Acknowledging a message
To acknowledge a message that requires acknowledgement, you must select it and
activate one of the following commands:
z
z
z
z

the corresponding heading in the contextual menu (accessible by right-clicking


with the mouse),
the F6 function key,
the corresponding button in the toolbar,
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 messages from the list
You cannot delete a message that needs acknowledgement or where the
associated fault has not disappeared.
However, you can delete the messages associated with faults that have
disappeared and have been acknowledged. To do this activate:
z
z

the corresponding heading in the contextual menu,


the Del key.

Deleting an alarm from the PLC memory


This function is used to delete from the PLC all the messages selected in the list,
even if the fault is still present and has not been acknowledged.
Use of this function is only possible if your user profile (see page 54) is different from
ReadOnly or Operate.

33003101 07/2012

1541

Viewer

Activating another tool


If at least one message is selected in the list, you can activate the following Unity
Pro tools:
z
z
z

the animation tables for displaying the diagnostics function block data (FB alarms
only) and FFB system alarms,
the cross-references with FB alarms and FFB system alarms only,
the language editor where the diagnostics function block instance is referenced.

To launch these tools you must activate one of the following commands:
z
z
z

1542

the corresponding headings in the contextual menu,


the Ctrl + T (animation tables), Ctrl + U (cross references) and Enter (language
editor) function keys,
the corresponding buttons in the toolbar.

33003101 07/2012

Viewer

Diagnostics Viewer Commands


At a Glance
Once you have selected one or more error messages (active errors only), you have
a number of options available for accessing the Diagnostics Viewer commands:
z
z
z

using the contextual menu,


using the function keys,
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
key

Description

Suppress

deletion of the message(s) selected

Delete in DiagBuffer

deletion of alarms in the diagnostics buffer

Retrigger the Fault


Causes

F5

reactivation of the diagnostics function block

Acknowledge

F6

acknowledgments of selected message(s)

Initialize Editor

Enter

activation of the language editor

Initialize Search

Ctrl + U

activation of the cross references tool (search for


active errors)

Initialize Animation
Table

Ctrl + T

activation of the animation table tool (initialize


animation table of active errors

Help on Type

opening the online help for the concerned FFB

Properties

Alt + Enter

displaying the Diagnostics Viewer properties box

NOTE: The Initialize Search and Initialize Animation Table commands are also
accessible through the contextual menu in the additional message information area.
33003101 07/2012

1543

Viewer

Toolbar
The icons of the toolbar corresponding to the contextual menu or to the function keys
are as follows:

1544

33003101 07/2012

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
z
z
z
z

define the color of the error messages,


define the flashing mode of the error messages,
choose the fields to be displayed,
define the archiving mode,
define the mode of opening the Diagnostics Viewer.

Properties dialog box


The screen below presents the DiagViewer Properties:

33003101 07/2012

1545

Viewer

Description
The following table describes the various fields of the Properties dialog box:
Field

Description

Acknowledge blink

Allows you to define the type of flashing when an error message to be


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 page 1547). 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 information Displaying various 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 Opening

1546

When this button is checked, the Diagnostics Viewer is automatically


displayed when a fault appears.

33003101 07/2012

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 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: The history file created is named ProjectName.his, were
ProjectName is the name you entered in the Project Properties dialog box is.
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.
Note: 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.
Archive file format
The archive file is a delimited ASCII file (each item of information is separated by the
; 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);

33003101 07/2012

1547

Viewer

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
z
z
z
z
z
z
z
z
z
z
z

256: fault identifier,


1: name of this fault,
51: state of the diagnostics bits,
0: number of the declared area,
28/04/03 23:50:13: date and time of appearance of the fault,
28/04/03 23:51:15: date and time of acknowledgement of the fault,
28/04/03 23:57:16: date and time of disappearance of the fault,
0: available number of reasons for the fault,
2: status length of the fault,
10003: fault type,
148: fault classification,
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.

1548

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 ...

33003101 07/2012

Unity Pro
System diagnostics
33003101 07/2012

System diagnostics

45
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 page 479) checkbox.
NOTE: As with the project diagnostic, the information viewed on the Viewer comes
from the PLCs diag buffer (see page 1532), 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

33003101 07/2012

Action

Select Tools Project Settings


Result: the project settings configuration window is displayed.

In the Diagnostics area on the Build tab, check the System diagnostics
(see page 479) checkbox.

Confirm with OK.

Build your project.

Transfer your project to the PLC.

Open the Diagnostic Viewer by selecting: Tools Diagnostic Viewer.


Result: the system diagnostic is operational and each system alarm now
appears in the Viewer.

1549

System diagnostics

List of system alarms monitored


The following table summarizes the system information monitored automatically by
the system diagnostic service.

1550

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

%S65

Extract card command

%S66

Backup application to the memory card

%S67

State of the PCMCIA application memory card battery

%S68

State of processor battery

%S76

Diagnostic buffer configured

%S77

Diagnostic buffer full

%S96

Previously backup program

%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

%SW96

Save/restore %MW in flash memory.

%SW97

Storage card error code

%SW125

Type of blocking error

33003101 07/2012

System diagnostics

System object

Succinct description of the alarm

%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.

33003101 07/2012

1551

System diagnostics

1552

33003101 07/2012

Unity Pro
Project diagnostics
33003101 07/2012

Project diagnostics

46
Subject of this Chapter
This chapter describes how to implement project diagnostics and its functionalities.
What Is in This Chapter?
This chapter contains the following topics:
Topic

33003101 07/2012

Page

How to Create a User Diagnostic DFB

1554

Project diagnostic

1557

1553

Project diagnostics

How to Create a User Diagnostic DFB


At a Glance
You can create a diagnostic DFB in one of two ways.
z
z

You can create a standard DFB and then define its values and program it so that
it is a diagnostic DFB.
You can use the USER_DIAG_ST_MODEL (see Unity Pro, Diagnostics, Block
Library) model that we will provide you with, or use a model you already have.

These two procedures are described below.


NOTE: to understand how user diagnostic DFBs work, refer to the
USER_DIAG_ST_MODEL (see Unity Pro, Diagnostics, Block Library) model
described in the diagnostic library.
Creating a Diagnostic DFB without a Model
The following table describes the procedure to follow to create a diagnostic DFB
without a predefined model.
Step

1554

Action

In the structure view of the Project Browser, right-click on the directory Derived
FB Types.
Result: A shortcut menu is opened.

Activate the Open command.


Result: The Data Editor window is opened. It is positioned directly under the
DFB Types tab and shows the list of the projects DFBs.

Select the first empty cell in the Name column (indicated by an arrow) and
enter the name of the new DFB type, then confirm using Enter.
Result: The empty structure of the DFB type is now created. This new DFB is
added to the list of existing DFBs. It also appears in the Derived FB Types
directory tree.

In the Data Editor, right-click on the type of DFB you have just created.
Result: the contextual menu appears.

Choose the Data Properties command.


Result: the Data Properties window appears.

Click on the Diag button.


Result: the checkbox is checked in red. This type of DFB is now a diagnostic
DFB. If, in the Project Settings (see page 479), the application diagnostic has
been requested, the projects generation will incorporate the project diagnostic
service in the PLC.

Create the inputs, outputs, inputs/outputs and the internal variables of the DFB.
Note: in the inputs properties, remember to check the Diag checkbox for
inputs that will be monitored by the DFB.

33003101 07/2012

Project diagnostics

Step

Action

Write your DFBs code using the REGDFB (see Unity Pro, Diagnostics, Block
Library) function to save and date the alarm, and the DEREG (see Unity Pro,
Diagnostics, Block Library) function to de-register the alarm.
Note: refer to the description of the code of the (see Unity Pro, Diagnostics,
Block Library)USER_DIAG_ST_MODEL user diagnostic DFB model if you are
not familiar with this type of DFB.

Run a project analysis to validate your new type of DFB.


Result: your new type of DFB is created. You can now create and insert
instances of this type of DFB in your program. When your PLC is in RUN mode,
the Viewer (see page 1529) will display the alarms according to the operation
you have programmed.

Creating a Diagnostic DFB with the USER_DIAG_ST_MODEL Model


The following table describes the procedure to follow to create a diagnostic DFB
using the USER_DIAG_ST_MODEL predefined model.
Step

33003101 07/2012

Action

In the structure view of the Project Browser, right-click on the directory Derived FB
Types.
Result: A shortcut menu is opened.

Choose the Get from Library command.


Result: the Library Browser window appears.

Select the USER_DIAG_ST_MODEL diagnostic DFB model in the diagnostic


library, then click on the >> button to transfer it to your project.

Confirm the transfer with OK.


Result: the model appears in the Project Browser.

Replace the USER_DIAG_ST_MODEL name with the name of the type of user
DFB you want to create.

Modify and create the inputs, outputs, inputs/outputs and the internal variables of
the DFB.
Note: in the inputs properties, remember to check the Diag checkbox for inputs
that will be monitored by the DFB.

1555

Project diagnostics

Step

1556

Action

Write your DFBs code using the model.


Note: refer to the description of the code of the user diagnostic DFB model
(see Unity Pro, Diagnostics, Block Library) if you are not familiar with this type of
DFB.

Run a project analysis to validate your new type of DFB.


Result: your new type of DFB is created. You can now create and insert instances
of this type of DFB in your program. When your PLC is in RUN mode, the Viewer
(see page 1529) will display the alarms according to the operation you have
programmed.
Note: the message displayed by the Viewer is the comment associated with the
instance of the DFB. You must therefore remember to fill in this comment for each
instance created.

33003101 07/2012

Project diagnostics

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 (see Unity Pro, Diagnostics, Block Library). If you
cannot find the appropriate EFB or DFB among these elements, you can create your
own diagnostic DFB (see Unity Pro, Program Languages and Structure, Reference
Manual ).
NOTE: It is strongly recommended to only program a diagnostic DFB instance once
within the application.
NOTE: As with the system diagnostic, the information viewed on the Viewer comes
from the PLCs diag buffer (see page 1532), consequently the events are dated at
the source and give the precise status of the process monitored.
Implementation of diagnostic EFBs or DFBs
The following table describes the procedure to follow to use the project with a
diagnostic EFB or DFB on the Premium, Atrium and Quantum PLCs in Unity Pro.
Step

33003101 07/2012

Action

Select Tools Project Settings


Result: the project settings configuration window is displayed.

In the Diagnostics area on the Build tab, check the Application diagnostics
(see page 479) checkbox.

Choose the language of the messages in the Viewer.

Choose the Application level (see page 479) (alarm cause search level).

Confirm with OK.

Integrate the diagnostic EFBs or DFBs (see Unity Pro, Diagnostics, Block
Library) 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.

Build your project.

Transfer your project to the PLC.

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.

1557

Project diagnostics

Implementation of the SFC diagnostic


The following table describes the procedure to follow to use the SFC diagnostic on
the Premium, Atrium and Quantum PLCs in Unity Pro.
Step

Action

Select Tools Project Settings


Result: the project settings configuration window is displayed.

In the Diagnostics area on the Build tab, check the Application diagnostics
(see page 479) checkbox.

Confirm with OK.

Build your project.

Transfer your project to the PLC.

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.

Error message display


The number of messages it is possible to display is limited only by the size of the
memory buffer.When there is not enough memory, a message warns the user and
any messages of errors that have disappeared or have been acknowledged (if
necessary) are then deleted.
It is possible to modify the color of the messages and the blinking associated with
an acknowledged message.
In the viewer, it is possible to show only those messages which come from one or
more specific zones.
The list of messages can be sorted according to each field. To do this, simply click
on the column header containing the data on the basis of which the sort is to be
carried out.
A second click carries out the sort in opposite order.
By default, the error messages are inserted into the list in the chronological order in
which they appear.

1558

33003101 07/2012

Unity Pro
Operator screens
33003101 07/2012

Operator screen

VIII
Subject of this Part
This part describes the operator screens built into Unity Pro:
What Is in This Part?
This part contains the following chapters:
Chapter

33003101 07/2012

Chapter Name

Page

47

General information

1561

48

First steps

1565

49

Editing runtime screens

1575

50

Runtime screens in online mode

1651

51

Runtime screens objects library

1663

1559

Operator screens

1560

33003101 07/2012

Unity Pro
General information
33003101 07/2012

General information

47
Object of this section
This chapter introduces Unity Pro s built-in operator screens: description, creation
and operator screens
What Is in This Chapter?
This chapter contains the following topics:
Topic

33003101 07/2012

Page

Introduction

1562

Creation of Runtime Screens

1564

1561

General information

Introduction
Introduction
The operator screens are built-into the software to aid the operating of an automated
process. They use in the Unity Pro software:
z
z
z

The project browser for browsing through the screens and launching different
tools (the graphics editor, variables editor, messages editor, ...),
Thegraphics editor for creating or changing screens. In connected mode, it also
allows the viewing of animated screens and process driving,
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.

Example of use
Example of automation structure that uses the operator screens.

1562

33003101 07/2012

General information

In this structure, we find:


z
z
z

33003101 07/2012

ThePLC which contains the process management automation project.


Theterminal which contains the automation project with the operator screens. It
is connected to the PLCs by the console line or by a network.
The operator screens view the process and can be ordered by the keyboard of
the PC, the mouse or even by a command terminal connected to the PLCs.

1563

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.
Example of screen
Example of a screen that shows the state of a process, the quantities produced and
allows the safety management of a production line.This screen comprises dynamic
displays which change to match the process and static displays that remain
unchanged.

1564

33003101 07/2012

Unity Pro
First steps
33003101 07/2012

First steps

48
Object of this chapter
This chapter gives the elements required for understanding the built-in
runtimescreens: notion of runtime screen editor, main menus, etc.
What Is in This Chapter?
This chapter contains the following sections:
Section

33003101 07/2012

Topic

Page

48.1

Working principles

48.2

Menus and tools in the runtime screen editor

1567

48.3

Configuring options from the runtime screen editor

1574

1566

1565

First steps

48.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

View the project in structural view (View Structural View).

In the project browser, expand the folder Operator Screens or the folder of the
family for which you want to open a screen.

Open the screen or screens to be viewed. Select a screen to open it and


activate the command Open in the contextual menu.

Example of screen
The following screen shows an example of operator screens.

1566

33003101 07/2012

First steps

48.2

Menus and tools in the runtime screen editor

Subject of this section


This section introduces the different menus as well as the toolbars offered by the
runtime screen editor.
What Is in This Section?
This section contains the following topics:
Topic

33003101 07/2012

Page

Menus in the operator screen editor

1568

Edit toolbar

1571

1567

First steps

Menus in the operator screen editor


Main menus in the operator screens
The Unity Pro menu bar is identical for all tools accessible from the project browser.
This is a contextual bar; in other words the commands accessible via the menus
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
z
z

Edit which enable the creation or modification of the operator screens,


View is used to define screen properties (background color, size, etc.),
Services for choosing the editing tool, selecting an animated object, etc.

Edit menu
Commands that can be accessed in the Edit menu are.

1568

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

33003101 07/2012

First steps

Field

Description

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

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.

33003101 07/2012

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.
1569

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
modification

Authorizes the user to modify the variables in the PLC from the
command items.

Driving via the


PLC

Used to drive the screens with the PLC. The PLCs requirements are
taken into account by means of a variable defined in the advanced
parameters (see page 511).
Since the screen is called up by the PLC, editing and modification of the
configuration parameters are disabled.

Driving via the


operator

Used to drive the screens via the Operator. The requirements of the PLC
are disabled, it is the operator who selects the screen that he wants to
view.

Previous
animated object

Selects the previous animated object.

Next animated
object

Selects the next animated object.

Initialize search

Used to create a list of cross references for variables associated with


objects selected.

Initialize
animation table

Used to create an animation table made up of the variables associated


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 page 524).
Multi-instantiation
The operator screen editor is used to open several windows (instances) to open
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.

1570

33003101 07/2012

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.
The figure below presents the tools available via the editor toolbar.

Drawing tools for standard objects


The available tools are as follows:

They are used to complete the operations below:

33003101 07/2012

Number

Description

Select one or more objects

Create a line

Create a rectangle

Create an ellipse

Create a curve

Create a closed polygon

Create texts

Incorporation of an image

Create an inter-screen browser button

1571

First steps

Design tools for command objects


The available tools are as follows:

They are used to complete the operations below:


Number

Description

Create an input zone

Create a button

Create a check box

Create a counter

Create a cursor

Create an explicit exchange button

Positioning tools for a group of objects


The available tools are as follows:

They are used to complete the operations below:

1572

Number

Description

Flip Vertical

Flip Horizontal

Left alignment

Right alignment

Upper alignment

Lower alignment

Grouping of objects

Ungrouping of objects

Placing in the foreground

10

Placing in the background


33003101 07/2012

First steps

Object properties
The proposed tool is the following. It is used to access the properties of an object.

Screen driving tools


The available tools are as follows:

They are used to complete the operations below:


Number

Description

Driving via the PLC. This service may also be accessed via a keyboard
shortcut F2.

Driving via the operator. This service may also be accessed via a keyboard
shortcut F3.

Access tools to the animated objects


The available tools are as follows:

They are used to complete the operations below:

33003101 07/2012

Number

Description

Selects the next animated object. This service may also be accessed via a
keyboard shortcut F4.

Selects the previous animated object. This service may also be accessed via a
keyboard shortcut F5.

Initialization of an animation table. This service may also be accessed via a


keyboard shortcut CTRL+T.

Creates a list of cross-references for variables associated with objects selected.


This service may also be accessed via a keyboard shortcut CTRL+U.

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.
1573

First steps

48.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 page 524) are accessible by clicking Tools Options
Operator Screens tab.
The settings (see page 511) are accessible by clicking Tools Project Settings
Operator Screens tab.
These modifications are immediate and are automatically saved.

1574

33003101 07/2012

Unity Pro
Editing screens
33003101 07/2012

Editing runtime screens

49
Object of this section
This chapter describes the different functions offered to the user, for editing the
runtime screens: create, modify, delete a screen or a family of screens, manage
built-in runtime screen messages etc.
What Is in This Chapter?
This chapter contains the following sections:
Section

33003101 07/2012

Topic

Page

49.1

Editing screens from the browser

1576

49.2

Creating an object

1588

49.3

Default Properties screen

1598

49.4

Modification of an objects attributes

1600

49.5

Manipulation of objects in runtime screens

1629

49.6

Managing the runtime screens messages editor

1639

1575

Editing screens

49.1

Editing screens from the browser

Subject of this section


This section describes the different editing actions that users can perform on the
screens or family of screens: create, modify, delete, etc.
What Is in This Section?
This section contains the following topics:
Topic

1576

Page

Editing operator screens

1577

Operator screen editor functions

1579

Screen Family Editor Functions

1582

Operator screen properties

1584

Properties of Operator Screen Families

1587

33003101 07/2012

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
z
z
z
z
z

Create
Modify
Delete
Move
Attach/Detach
Export

Screen families
The screens are regrouped in families which accept the same editing functions as
the screens:
z
z
z
z
z
z

33003101 07/2012

Create
Modify
Delete
Move
Attach/Detach
Export

1577

Editing screens

Introduction to the project browser window


The screen below shows the project browser window with in this example a single
screen (Menu) and a screen family (Functions).

1578

33003101 07/2012

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 Screen
The Table Below Shows the Procedure for Creating a Screen.
Step

Action

Right click the Operator Screens directory contained in the project browser tree
directory.
Result: The relevant contextual menu appears

Enable the New screen command.


Result: A new screen with a generic name, appears in the tree directory

How to Modify the Name of a Screen


The Table Below Shows the Procedure for Modifying a Screen Name.
Step

Action

In the project browser, right click on the screen to be modified.


Result: The relevant contextual menu appears

Enable the Screen properties command.


Result: The screen properties dialog box appears

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 Screen


The Table Below Shows the Procedure for Deleting a Screen.

33003101 07/2012

Step

Action

In the project browser, right click on the screen to be deleted.


Result: The relevant contextual menu appears

Activate the Delete command.


Result: The screen is deleted from the directory tree

1579

Editing screens

How to Move a Screen


The Table Below Shows the Procedure for Moving a Screen in the Tree Directory
(For Example, Change Families).
Step

Action

Right click on the screen to be moved, from the project browser.


Result: The relevant contextual menu appears

Enable the Screen properties command.


Result: The screen properties dialog box appears

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 Screen Movement
When you move a screen from a family to the root, if:
z

the family is associated with a functional module, the screen loses this link.

When you move a screen from a family to another or from the root to a family, if:
z

the destination family screen is associated with a functional module, the screen
will be also.

the destination family screen is not associated with a functional module, the
screen will not be associated with any functional module.

How to Attach a Screen to a Functional Module


The Following Table Summarizes the Processes Used to Attach a Screen to a
Functional Module.

1580

Step

Action

Display the structural view and the functional view.

In the project browser of the structural view, select the screen to be associated
with a functional module.

Hold down the left mouse button to maintain the selection.

Drag and Drop the screen in the destination functional module of the functional
view. The authorized insertion point of the screen in the destination functional
module, is represented by a line.
Result:The screen is now associated with the chosen functional module

33003101 07/2012

Editing screens

How to Detach a Screen from a Functional Module


The Following Table Summarizes the Processes Used to Detach a Screen from a
Functional Module.
Step

Action

In the functional view, right click on the screen to be detached from its functional
module.
Result: The relevant contextual menu appears

Activate the Detach command.


Result:The screen loses its link with this functional module It can be associated
with another functional module.

How to Delete All Screens and All Families


The Table Below Shows the Procedure for Deleting all the Screens and Families of
a Project.
Step

Action

In the structural view project browser, select the Operator Screen directory.

Right click on the Operator Screen directory.


Result: The relevant contextual menu appears

Activate the Delete all command.


Result:: A dialog box appears

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 Screens


To find out the procedure for exporting operator screens (see page 1730).
How to Import Screens
To find out the procedure for importing operator screens (see page 1732).

33003101 07/2012

1581

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 Screen Family
The Following Table Summarizes the Processes Used to Create a Screen Family.
Step

Action

Right click the Operator Screens folder contained in the project browser tree
directory.
Result: The relevant contextual menu appears

Enable the command New family.


Result:: A new family with a generic name appears in the directory tree.

How to Modify the Name of a Screen Family


The Table Below Shows the Procedures for Modifying the Name of a Screen Family.
Step

Action

Right click on the family to be modified, from the project browser.

Enable the Family properties command.


Result:: The screen family dialog box appears

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 Screen Family


The Following Table Summarizes the Processes Used to Delete a Screen Family.
Step

Action

Right click on the family to be deleted, from the project browser.

Activate the Delete command.


Result:: The screen family is deleted from the directory tree

How to Move a Screen Family


The Following Table Summarizes the Processes Used to Move a Screen Family.
Step

1582

Action

Select the screen family to move in the project browser.

Hold down the left mouse button to maintain the selection.


33003101 07/2012

Editing screens

Step

Action

Move the screen family to the desired position in the project browser.

Release the mouse button.


Result:: The screen family is moved to chosen place

How to Attach a Screen Family to a Functional Module


The Following Table Summarizes the Processes Used to Attach a Screen Family to
a Functional Module.
Step

Action

Display the structural view and the functional view.

In the project browser of the structural view, select the screen family to be
associated with a functional module.

Hold down the left mouse button to maintain the selection.

Drag and Drop the screen family to the destination functional module of the
functional view. The authorized insertion point of the screen family in the
functional module, is represented by a line.
Result:: The screen family is now associated with the chosen functional module

How to Detach a Screen Family from a Functional Module


The following Table Summarizes the Processes Used to Detach a Screen Family
from a Functional Module.
Step

Action

In the functional view, right click on the screen family to be detached from its
functional module.
Result: The relevant contextual menu appears

Activate the Detach command.


Result:: The screen family no longer has a link with a functional module It can
be associated with another functional module.

How to Export a Screen Family


The export of a screen family takes place in the same way as screen export
(see page 1730).

33003101 07/2012

1583

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
z
z
z
z
z
z
z
z
z

Modify the screen label


Modify the value associated with the screen
Modify the comment associated with a screen
Modify the screen position
Modify the screen type
Modify the color of the screen
Modify the size of the screen
Query its creation and modification dates
Query the number of objects in the screen
Query the number of variables used in the screen

The dialog box includes three tabs:


z
z
z

General
Display
Information

Screen properties dialog box


The screen properties dialog box is as follows:

1584

33003101 07/2012

Editing screens

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 page 1616)
button to the screen. This number can be used when the PLC
(see page 524) 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.

Tab: Display
The following table describes the different functions offered by the Display tab of the
screen properties dialog box.

33003101 07/2012

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.

1585

Editing screens

Tab: Information
The following table describes the different functions offered by the Information tab
of the property dialog box of a screen.

1586

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

33003101 07/2012

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
z

modify the name of a screen family


associate the family with a functional module.

Properties dialog box of a family


The properties dialog box of a family is as follows.

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.

33003101 07/2012

1587

Editing screens

49.2

Creating an object

Subject of this section


This section describes how to create or insert an object.
What Is in This Section?
This section contains the following topics:
Topic

1588

Page

Introduction of a graphic screen object

1589

How to create standard objects

1590

How to insert an image in a screen

1592

How to create driving objects

1593

Operation of the driving objects

1595

33003101 07/2012

Editing screens

Introduction of a graphic screen object


General
4 types of objects can be created in a graphic screen :
z
z
z
z

standard objects: line, rectangle, ellipse, curve, polyline, text,


images: bitmap files with the BMP or JPGextension,
the driving (or command) objects: button, check box, input field, counter, cursor,
explicit exchange object, screen browser button,
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.

33003101 07/2012

1589

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
z

Static objects
Dynamic or animated objects

Static objects do not have variables associated with them. Their graphic representation is fixed.
Dynamic objects possess one associated variable, which allows their display to be
modified.
How to create a standard object
The create standard object procedure is identical regardless of the object, with the
exception of polygons.
Step

1590

Action

Select the type of object that you wish to create from the tool palette.

Move the mouse cursor to the position where you want to place the top left
corner of your object.

Press down the left mouse button.

Hold the button down and move the mouse cursor to the position where you
want to place the bottom right corner of the object.

Release the button.


Result: The object is created when you release the mouse button

Right click on the object.


Result: The contextual menu appears

Enable the Properties command.


Result: A contextual dialog box appears This box depends on the type of object
and allows the attributes (see page 1601) to be fixed.

33003101 07/2012

Editing screens

How to create a polygon object


The procedure for creating a polygon object is as follows.

33003101 07/2012

Step

Action

Select the type of polygon object that you require from the tool palette.

Move the mouse cursor to the position where you want to place the first point of
your object.

Press the left mouse button then release.


Result: The objects start point is created

Move the mouse cursor to the position where you want to end the first line.

Press the left mouse button then release.


Result: You have just created the first line of your object

Repeat steps 4 and 5 to create new lines to form your polygon object.
Result: Segments of consecutive straight lines are created

Finish by left clicking on the end point of the object.


Result: The object is created

Right click on the object.


Result: The contextual menu appears

Enable the Properties command.


Result: A contextual dialog box appears This box depends on the type of object
and allows the attributes (see page 1601) to be fixed.

1591

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 image object in a screen
Follow the steps below to insert an image in a screen.
Step

Action

Select the image icon from the tool palette.


Result: the selection window of the bitmap file to be inserted appears

Select the type of file to display (bmp, jpg or jpeg).

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 precautions for use


Only images in bmp, jpg or jpeg formats are recognized.
Optimize loading time:
z
z
z

Do not integrate too many images into one screen


Limit the size of images
Avoid modifying the images proportions and size in the screen

Optimize display quality:


z
z

Avoid modifying the images proportions and size in the screen


If a screen contains several different images, use 24 bit screen depth

If the image (see page 1620) is not copied in the project, it will not be exported,
during a screen export (see page 1730).
1592

33003101 07/2012

Editing screens

How to create driving objects


At a Glance
Driving (or command) objets allow the user to perform an action:
z
z
z

Browse from one screen to another


Modify the value of a variable
Send a command to the PLCs task module

There are 7 types of these objects:


z
z
z
z
z
z
z

Buttons
Check boxes
Input zones
Counters
Cursors
Buttons for browsing between screens
Objects for explicit exchanges

How to create a driving object


The procedure for creating a driving object is as follows.

33003101 07/2012

Step

Action

Select the type of driving object that you wish to create from the tool palette.

Move the mouse cursor to the position where you want to place the top left
corner of your object.

Press down the left mouse button.

Hold the button down and move the mouse cursor to the position where you
want to place the bottom right corner of the object.

Release the button.


Result: The object is created when you release the mouse button

Enable the Selection tool from the tool palette.

Right click on the object.


Result: The contextual menu appears

Enable the Properties command.


Result: A contextual dialog box appears This box depends on the type of object
and allows the attributes (see page 1601) to be fixed.

1593

Editing screens

Type of data driven according to the driving object


The table indicates the types of variables that may be driven by the driving objects.
Object

Bit

Byte

Word

Double word

Floating point

Button

X*

X*

X*

X*

Check box

Entry field

Counter

Cursor

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.

1594

33003101 07/2012

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 doesnt 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 operate
Depending on its attributes, a button works as follows.
When you click on the
and if
button, if the associated
variable is...

Then

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 operates


A check box works as follows.

33003101 07/2012

When the box

Then

is checked,

the associated bit is set to 1.

isnt checked,

the associated bit is set to 0.

1595

Editing screens

How an input zone operates


An input zone works as follows.
When

and if

Then

the entry zone contains a


value,

you press Enter,

the associated variable takes


the value read in the entry
zone.

the associated variable is


modified by the PLC,

you did not enter a value in


the entry zone,

the zone displays the value


read in the PLC.

How a counter operates


A counter operates as follows.
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 counter,

the associated variable is


decreased by one unit.

the counter is vertical,

you click on the top arrow of


the counter,

the associated variable is


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.
How a cursor operates
A cursor operates as follows.

1596

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.

33003101 07/2012

Editing screens

When the cursor and if

Then

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-screen browser button operates


An inter-screen browser button operates as follows.
When the button

Then

is enabled by a click,

the screen with the associated number is displayed.

NOTE: In the case of Multi-Instance (see page 511) 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 exchange button operates
An explicit exchange button operates as follows.

33003101 07/2012

When the button

Then

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 page 1622) parameters.

1597

Editing screens

49.3

Default Properties screen

Default Properties screen


At a Glance
The Default properties screen allows to set common attributes for all objects you
will place in the operator screen.
You can access this screen by right-clicking on the operator screen and select
properties in the menu. (No object must be selected)
Default properties screen
The following screen shows the different tabs of the default properties screen. (In
this example animation tab is visible)

Description
To see the description of all the tabs refer to object properties tab screens.
z
z
z
z
z

1598

Animation tab (see page 1607)


Animation type tab (see page 1609)
Drawing tab (see page 1602)
Text tab (see page 1605)
Screen browse tab (see page 1616)

33003101 07/2012

Editing screens

Behaviour of the Default Properties screen


When you modificate attributes in the Default Properties screen, the new attributes
are taken into account only for the objects you will place in the operator screen after
the modifications. If there are already objects in the operator screens, the
modifications will not impact them. In this case you have to modify the attributes for
each object (or compound of objects).

33003101 07/2012

1599

Editing screens

49.4

Modification of an objects attributes

Subject of this section


This section describes the attributes of objects, how to access these attributes and
the associated information.
What Is in This Section?
This section contains the following topics:
Topic

1600

Page

How to access an objects attributes

1601

Design tab

1602

Extended colors

1604

Text tab

1605

Animation Tab

1607

Animation type tab

1609

Trend diagrams

1612

Bar chart

1614

Screen browse tab

1616

Control tab

1618

Image Tab

1620

Explicit Exchanges Tab

1622

Information on the objects

1624

The data selection tool

1626

33003101 07/2012

Editing screens

How to access an objects 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
z
z
z
z
z
z
z

Animation (see page 1607)


Type of animation (see page 1609)
Design (see page 1602)
Text (see page 1605)
Image (see page 1620)
Driving (see page 1618)
Screen browsing (see page 1616)
Explicit exchanges (see page 1622)

Access to these attributes is the same for all created objects.


How to access an objects attributes
The table below indicates how to access the settings of object attributes.

33003101 07/2012

Step

Action

Select the object whose attributes you wish to modify.

Click on the object with the right mouse button.


Result: The contextual menu appears

Enable the Properties command.


Result: A dialog box displays the attributes linked to the kind of object chosen.

1601

Editing screens

Design tab
At a Glance
This tab is used to set the design attributes of a graphic object:
z
z

Modification of the objects contour line


Modification of the objects pattern and color

Design attributes setting screen


The screen below is used to set the design attributes of a rectangle type graphic
object.

Description
The table below describes the settings that you may define.
Field
Line

Description
Contour line of the graphic object:
z Single line
z Single or complex dotted line
z No contour line

1602

Thickness

Thickness of the objects 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 page 1604) parameter
screen.
33003101 07/2012

Editing screens

33003101 07/2012

Field

Description

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
corners

When this box is checked, the corners of rectangle type objects are
rounded.

Background
color

Color of the objects content (background). The colors palette contains


16 predefined colors and provides access to the extended colors
(see page 1604) parameter screen.

1603

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.
Color parameter screen
The following screen allows you to create or modify the extended colors.

Creating a personalized color


This table describes how to create a new color, that can be used for the graphic
objects.

1604

Step

Action

Position the cross hair for selecting color, tint and saturation to find the required
shade.

Adjust (up or down) the light and color selection cursor to refine your choice.

Select a box from Custom Color.

Click on the Add to custom colors button to create a new color.

33003101 07/2012

Editing screens

Text tab
At a Glance
This tab is used to set the text attributes of a graphic object:
z

text input,

associate a hyperlink,
select the character font,
select font size,
set text alignment,
select text style,
select text color.

z
z
z
z
z

Text attributes setting screen


The screen below is used to set the text attributes of a graphic object.

33003101 07/2012

1605

Editing screens

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 page 1797) will be associated with the text attribute of the graphic
object.

Url
Static display of the hyperlink defined by the

1606

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 page 1604) parameter screen.

33003101 07/2012

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
z
z

to decide to animate an object,


to choose the animation variable,
to choose the display conditions.

Animation attributes setting screen


The following screen is used to set the animation attributes of a graphic object.

33003101 07/2012

1607

Editing screens

Description
The table below describes the settings that you may define.
Field
Animated object

button

Description
The object is animated if this box is checked.
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
condition

The objects display 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.

1608

33003101 07/2012

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
z
z
z
z

to select the objects display mode,


to select the display mode of the text linked to the object,
to select flashing option,
to select the trend diagram mode,
to choose bar chart mode.

Animation type attributes setting screen


The following below is used to set the animation type attributes of a graphic object.

33003101 07/2012

1609

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

Display

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.
Choice of display mode:
Decimal,
Hexadecimal (value preceded by 16#),
Binary (value preceded by 2#),
ASCII.

z
z
z
z

When the length of the objects 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 page 1605).
If the animation variable is of the String type (string of characters), the
Display field cannot be accessed because viewing is automatically in
ASCII.

1610

Message

You must select this button to display a message configured in the


Operator screens messages editor (see page 1640). 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
comment

If this button is selected and if the text animation condition is met, the
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 page 1612). Selecting this box will give you access to the trend
diagrams parametering box.

Bar chart

You may use rectangle type objects such as bar charts (see page 1614).
Selecting this box will give you access to the bar charts parametering
box.

Flashing
background

When this box is selected and if the display condition is met, the
background of the graphic object flashes according to the user-specified
flashing color.

33003101 07/2012

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

Rectangle

Ellipse

Curve

Polygon

Text

Compoun
d object

Image

Control

Legend:
X: Yes
- : No

33003101 07/2012

1611

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 systems performance.
Only rectangular type objects can be used as trend diagrams.
Trend diagram parameter screen
The screen below allows to parameter the animated rectangles of the trend diagram
format.

Description
The table below describes the settings that you may define.

1612

Attribute

Description

Sampling

Period in which a new value is added at the end of the diagram and the
diagram is refreshed.
Default value: 1 second.
Values between 1 millisecond and 3600 second are allowed. Sampling
periods below 100 ms produce a lot of windows messages and generate
a high CPU load. Therefore only few diagrams with such small periods
should be animated at the same time and long lasting actions like Build
Changes should be avoided while diagrams are animated (see also the
NOTE at the end of the table).

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 1 and 20.
The value by default is 2.

33003101 07/2012

Editing screens

Attribute

Description

Line color

Color of the timing diagrams right segments


The colors palette contains 16 predefined colors and provides access to
the extended colors (see page 1604) parameter screen.

Threshold:
minimum and
maximum

Thresholds between which the value representation develops. For


binary values, the thresholds must be 0 and 1.

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.

NOTE: Internally, for every diagram, a timer is started with the sampling period
defined by the user. When the timer fires, the last value of the corresponding
variable transmitted from the PLC is read and added at the end of the diagram. Such
timers may not always fire exactly in equidistant periods (e.g. they may be delayed
when a lot of tasks run in parallel on the PC). Therefore the displayed values may
not represent the exact values in the PLC at the end of each sampling period.

33003101 07/2012

1613

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.
Bar chart parameter screen
The screen below allows parameterizing of animated rectangles in bar chart format.

Description
The table below describes the settings that you may define.
Attribute

Description

Type of bar chart 1.


2.
3.
4.
5.

The bar chart moves from bottom to top.


The bar chart moves from top to bottom.
The bar chart moves from left to right.
The bar chart moves from right to left.
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.

1614

33003101 07/2012

Editing screens

Attribute

Description

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 rectangles 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.
The bar chart uses the default color when the associated variable value
is:
z higher than or equal to the maximum value
z lower than or equal to the minimum value
The colors palette contains 16 predefined colors and provides access to
the extended colors (see page 1604) parameter screen.

33003101 07/2012

1615

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 buttons attributes links the button to the
screen. The buttons browser attributes allow users to:
z
z

choose the screen to be displayed,


define the text displayed in the button,

Screen browse attributes setting screen


The screen below allows users to set the animation attributes of a screen browse
button.

Description
The table below describes the different parameters that you may define.

1616

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, page 1607).

33003101 07/2012

Editing screens

Field

Description

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.

33003101 07/2012

1617

Editing screens

Control tab
At a Glance
This tab allows you to define the characteristics of a control object:
z
z
z

to choose a control variable,


to choose the minimum and maximum values,
to determine the monitoring style.

Control attributes setting screen


The screen below allows users to set the control attributes of a command graphic
object.

Description
The table below describes the settings that you may define.
Field
Variable

button

1618

Description
Variable controlled by the graphic object.
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.

33003101 07/2012

Editing screens

Field

Description

< = 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
style

Control style which depends on the type of control object. It allows you
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

33003101 07/2012

1619

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
z
z

To choose the image to be displayed,


To integrate the image into the project,
To query the size of the image (real and visual).

Image Attributes Setting Screen


The screen below allows you to set the attributes of a bitmap image built into an
operator screen.

1620

33003101 07/2012

Editing screens

Description
The table below describes the settings that you may define.

33003101 07/2012

Field

Description

Name

This field indicates the name and the access path to the file.

Image copied
into current
space

When this box is checked, the file is copied and compressed in the
project file (.STU or STA for an archive). Loading is faster when using
the screens and the image is exported at the same time as the screen
during an export (see page 1730).
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
the original size

When this box is checked, the image changes to its original size.
This box does not appear if the original size and the displayed size of the
image are identical.

1621

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 PLC 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
z
z
z

to select an explicit exchange instruction,


to select the text of the button,
to select the address of the channel to which the exchange will be applied,
To display the parameters associated with the instruction.

NOTE: Only the exchanges of objects associated with a channel are authorized.
Explicit Exchanges Attributes Setting Screen
The screen below allows you to set the attributes of an explicit exchange object.

1622

33003101 07/2012

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.

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.

NOTE: For Write_Param and for Write_Cmd we have to modified the associated
%MW by animation table or another one (by program, by Entry field through
operator screen, ...) before sending the instruction (Write_Param or Write_Cmd)
through the Operator screen.

33003101 07/2012

1623

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.
Information screen on an object
The screen below provides information on a graphic object.

1624

33003101 07/2012

Editing screens

Description
The following table describes the information offered by this screen.

33003101 07/2012

Information

Description

Type

Type of object. ellipse, button, cursor, object compound, etc.

Position

Coordinates of the objects top left point in pixels.

Size

Size of the object in pixels.

Associated
variable

Variable linked to a simple object or controlled by a simple object. In the


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.

1625

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 page 1607). The variables selection tool allows you to associate a
variable to animate the object. Variables that can animate objects include:
z
z
z

simple variables, (see Unity Pro, Program Languages and Structure, Reference
Manual )
the public variables (see Unity Pro, Program Languages and Structure,
Reference Manual )of a function block,
the parameters (input, output, input/out) (see Unity Pro, Program Languages and
Structure, Reference Manual )of a function block.

Procedure
The table below presents the procedure for using a variable to animate an object.
Step

1626

Action

Select to object to parameter in the operator screen.

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.

Select the animation tab.

Check the Animated Object box.

33003101 07/2012

Editing screens

Step

Action

5
In the Variable field enter the name of the variable or use the
open the variables selection tool.
Result: The variables selection tool appears.

button to

From the Variables tab or the Function Blocks tab select the variable to be
used to animate the object.

Click OK to confirm.

Variables tab
The table below describes the elements of the Variables tab of the data selection
tool.

33003101 07/2012

Field

Description

Button

Clicking on this button opens a dialog box (see page 377) 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.

1627

Editing screens

Field

Description

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 tab


The table below describes the elements of the Function Blocks tab of the data
selection tool.

1628

Field

Description

Button

Clicking on this button opens a dialog box (see page 377) 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
default

Authorizes the display of data named by 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.

33003101 07/2012

Editing screens

49.5

Manipulation of objects in runtime screens

Subject of this section


This section describes how to manipulate objects in the runtime screens. how to
select objects, move objects, duplicate or delete objects,...
What Is in This Section?
This section contains the following topics:
Topic
How to select graphic objects

33003101 07/2012

Page
1630

How to move and resize objects

1632

How to delete and copy objects

1634

How to position objects

1636

How to create compound objects

1638

1629

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 single object
The following table describes the operations to perform in order to select an 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 several


overlaid objects.

validate the selection mode, press ALT then right mouse


click several times on the area occupied by the objects.
Result: You select each object one after the other even
they are hidden (in the background).

successive objects on a screen. press the space bar successively.


Result: Each time you press the spacebar, you select the
next object even if it is hidden behind another object.

How to select several objects


The following table describes the operations to perform in order to select several
objects at the same time.

1630

If you want to select

Then

several contiguous objects.

frame the objects to be selected by defining a selection


zone (this 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 scattered in the


operator screen.

press Shift then click on the objects to be selected while


keeping the Shift key held down.
Result: A rectangle with handles is displayed on the
screen, it groups all the selected objects.

33003101 07/2012

Editing screens

How to deselect a selected object or a group of objects


The following table describes the operations to perform in order to deselect an
object.
Step

Action

Press Shift and hold down this key.

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.

33003101 07/2012

1631

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 mouse to move objects
The following table describes the operations to perform in order to move one or
several objects with the mouse.
Step

Action

Select the object or objects to be moved.

Click with the left mouse button on a selected objects or in the rectangle
representing the selection.

Keep the button held down.

Drag the selected object or the rectangle to the desired position.


Result: the selection is represented by a dotted zone as you move it.

Release the mouse button.


Result: the selection is placed in its new location.

How to use the keyboard to move objects


The following table describes the operations to perform in order to move one or
several objects with the keyboard.
If you want to move

Then

precisely one or several objects


by using the keyboard

after having selected one or several objects to move,


press as many times as necessary on the keyboard
direction (arrow) keys.
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 objects by after having selected one or several objects to move,
using the keyboard
press on the Shift key, then while holding down this key
press as many times as necessary on the keyboard
direction (arrow) keys.
Result: the selection represented by a dotted zone can be
moved in 10 pixel-steps.

1632

33003101 07/2012

Editing screens

How to resize objects


The following table describes the operations to perform to resize one or several
objects.

33003101 07/2012

Step

Action

Select the object or objects to be modified

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.

1633

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 objects
The following table describes the operations to perform in order to delete one or
several objects.
Step

Action

Select the object or objects to be deleted.


Result: The selection is represented by a frame with handles.

Press Delete.
Result: The selected objects are deleted. They are not memorized in the
clipboard.

How to use the mouse to copy objects


The following table describes the operations to perform in order to copy one or
several objects with the mouse.

1634

Step

Action

Select the object or objects to be copied.

Click with the left mouse button on one of the selected objects or in the rectangle
representing the selection.

Hold down the button and press CTRL.

Drag the selected object or the rectangle to the desired position.


Result: The selection is represented by a dotted zone as you move it.

Release the mouse button.


Result: The copy of the selection is placed in its chosen location.

33003101 07/2012

Editing screens

How to cut, copy or paste objects


The table below indicates the procedures for cutting, copying or pasting one or
several objects.
Step

Action

Select the object or objects to manipulate.


Result: The selection is represented by a frame with handles.

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.

33003101 07/2012

1635

Editing screens

How to position objects


At a Glance
You may have to position an object in relation to another in a screen:
z
z
z

to align the objects,


to make objects symmetrical,
to position the objects in the foreground and the background in relation to the
others.

How to align a group of objects


The table below describes the procedure for aligning a group of objects.
Step

Action

Select the objects to align.


Result: The selection is represented by a frame with handles.

Select the command to execute in the toolbar:


Left alignment,
Right alignment,
Upper alignment,
Lower alignment.

z
z
z
z

Result: The selected objects are aligned according to what has been chosen.

How to make an object or a group of objects symmetrical


The table below describes the procedure for flipping an object or a group of objects
vertically or horizontally.
Step

Action

Select the object or objects to be flipped.


Result: The selection is represented by a frame with handles.

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.

1636

33003101 07/2012

Editing screens

How to put an object in the foreground


The table below describes the procedure for placing an object in the foreground.
Step

Action

Select the object to place in the foreground.


Result: The selected object is equipped with handles.

Select the Foreground command in the toolbar.


Result: The selected object is positioned in the foreground.

How to put an object in the background


The table below describes the procedure for placing an object in the background.

33003101 07/2012

Step

Action

Select the object to place in the background.


Result: The selected object is equipped with handles.

Select the Background command in the toolbar.


Result: The selected object is positioned in the background.

1637

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 group of objects
The table below describes the procedures for binding a group of objects.
Step

Action

Select the objects to bind.


Result: The selection is represented by a frame with handles.

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 group of objects


The table below describes the operations to perform to unbind a group of objects.
Step

Action

Select the compound object to unbind.


Result: The selected object is represented by handles.

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 element belonging to a compound object


The table below describes the operations to perform to modify the characteristics of
an item belonging to a compound object, without having to ungroup it.

1638

Step

Action

Select the compound object.


Result: The selected object is represented by handles.

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.

33003101 07/2012

Editing screens

49.6

Managing the runtime screens messages editor

Subject of this section


This section describes how to manage the runtime screens messages editor.
What Is in This Section?
This section contains the following topics:
Topic

33003101 07/2012

Page

Operator screens messages editor

1640

How to manage messages linked to operator screens

1642

Find dialog box

1644

Replace dialog box

1646

Message Renumbering Dialog Box

1647

Message editing and import/export function

1648

1639

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 message list
The following table describes the operations to perform in order to display the
message list.

1640

Step

Action

Select the Operator screens directory from the project browser.

Select the Message list Open command in the contextual menu:


Result: The Message list window appears on the screen.

33003101 07/2012

Editing screens

Message screen
The screen below presents an example of a message list:

Description
The following table describes the commands accessible from the message screen.

33003101 07/2012

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.

1641

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 message
The table below describes the operations performed to create a message to be used
by the operator screen editor.
Step

Action

Right click on the Operator Screens directory in the project browser.


Result: The relevant contextual menu appears.

Click Messages list Open.


Result: The messages management dialog box appears.

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.

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.

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.

How to link a hyperlink to a message


The table below describes the operations performed to link a hyperlink to a
message.

1642

Step

Action

Open the message list,

Right click on the URL message column.


Result: The relevant contextual menu appears.

Activate the Create command.


Result: The Insert hyperlink window appears.

Enter the name with the document path or the WEB page to link to the message. Or
select it with the Browse button.

Click OK to validate the hyperlink.


Result: The hyperlink appears in the URL column.

Click OK to confirm the command.


Result: The messages management dialog box closes and the list is memorized.

33003101 07/2012

Editing screens

How to modify a message


The following table describes the operations performed to modify an existing
message.
Step

Action

Right click on the Operator Screens directory in the project browser.


Result: The relevant contextual menu appears.

Click Messages list Open.


Result: The message screen appears.

Right click on the message to be modified.


Result: A cursor appears in the text.

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.

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.

33003101 07/2012

1643

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.
Dialog box
The screen below allows users to set the find parameters.

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 replace a string of characters or a number.


Follow the steps below to find or replace a string of characters (or a number) in the
list of messages:

1644

Step

Action

Right click on the Operator Screens directory in the project browser.


Result: The relevant contextual menu appears

Click Messages list Open.


Result: The message manager dialog box appears.

33003101 07/2012

Editing screens

33003101 07/2012

Step

Action

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

Fill in the different fields proposed by the dialog box and start the find or replace
(see page 1646) of the string of characters.
Result: The changes are integrated into the list of messages.

After you complete modifications, click OK to validate.


Result: The new messages are backed up in the project.

1645

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.
Dialog box
The screen below allows users define the replace parameters.

Description
The following table describes the different fields offered by the dialog box.
Field

1646

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.

33003101 07/2012

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 Message Number
To modify a message number, you can proceed in the same way as when modifying
a message or use the Renumerate command. The table below describes the
procedure for modifying a message number using the Renumerate command.

33003101 07/2012

Step

Action

Right click on the Operator Screens folder in the project browser.


Result: The relevant contextual menu appears.

Execute the Messages list Open command.


Result: The message manager dialog box appears.

Left click in the number field of the message to be modified.


Result: The field is selected.

Activate the Renumerate command.


Result: The following dialog box appears:

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.

After you complete modifications, click OK to validate.


Result: The new numbers are backed up in the project.

1647

Editing screens

Message editing and import/export function


At a Glance
The operator screen messages also have edit and import/export functions.
Information on editing functions
The editing functions are accessed by the commands:
Edit Cut
z Edit Copy
z Edit Paste
z Edit Delete
z

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:


the message number (increasing or decreasing order),
z alphabetical order (increasing or decreasing) of messages,
z alphabetical order (increasing or decreasing) of hyperlinks.
z

To start sorting, just click on the heading of the column you want to sort.
How to import a list of messages
The table below describes the procedure for importing a list of messages.

1648

Step

Action

Right click on the Operator Screens directory in the project browser.


Result: The relevant contextual menu appears.

Execute the Messages list Import command.


Result: A dialog box is displayed asking you to choose the file to be imported.

33003101 07/2012

Editing screens

Step

Action

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.

Check the Replace1 box, or


Check the Merge (Based on new messages)2 box, or
Check the Merge (Based on new numbers)3 box.

Click OK to confirm the modifications to the list.


Result: The new messages are backed up in the project.

Note1: All currently defined messages in the project are deleted and then the new
messages are imported.
Note2: The currently defined messages in the project are kept. When one of the new
imported messages has the same message text as a message already existing in
the project, this message is not imported. All the other imported messages are
added at the end of the current message list of the project.
Note3: The currently defined messages in the project are kept. When one of the new
imported messages has the same message number as a message already existing
in the project, this message is not imported. All the other imported messages are
added at the end of the current message list of the project.
NOTE:
To import a list of messages always use the
z Operator Screens Messages list Import command
and NOT the
Operator Screens Import command.

Otherwise the dialog box for selecting the Import type will not be displayed (see
step 3 and 4 in the table above).
How to export a list of messages
The table below describes the procedure for exporting a list of messages.

33003101 07/2012

Step

Action

Right click on the Operator Screens directory in the project browser.


Result: The relevant contextual menu appears.

Execute the Messages list Export command.


Result: A dialog box appears to allow you to specify the name of the export file.

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.
1649

Editing screens

1650

33003101 07/2012

Unity Pro
Online mode
33003101 07/2012

Runtime screens in online mode

50
Object of this chapter
This chapter describes how the runtime screens editor works in online mode.
What Is in This Chapter?
This chapter contains the following topics:
Topic

33003101 07/2012

Page

Basic functions in online mode

1652

How to select an animated object

1653

How to use command objects to modify the variables associated with objects

1654

How to view the variables associated with graphic objects

1655

How to modify the variables associated with objects from an animation table

1656

How to search for cross-references

1657

How to manage the display of operator screens

1658

How to modify screen control

1660

How to obtain information on objects when in connected mode

1661

1651

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 page 524) to the PLC driver.
Display rules for a simple object
Animated objects which make up a screen are displayed when their display
condition has been met.
Display rules for a compound object
When a compound object is animated but its display conditions have not been met,
none of its component items are displayed (even if it is made up of items whose
display requirements have been met).
Basic points about display of related objects
The objects on a page are displayed according to the positioning order assigned to
them by the Foreground or Background commands.
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.

1652

33003101 07/2012

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 animated object
The table below describes the procedure for selecting an object in online mode

33003101 07/2012

If you want to select

then

an animated object using the


function keys.

press F4 or F5.
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


tool bar.

click on the next animated object or previous animated


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.

1653

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 command object to modify variables
The following table describes the procedures for using a command object to modify
variables.
Step

1654

Action

Open the operator screen in which the command objects are located.

Press the F7 key or select the Services Enable Variable Modification command.

Give control to the command object that enables the modification of the variable
settings.

Modify the command object settings.

33003101 07/2012

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 variables associated with graphic objects
The following table describes the operations necessary to display the variables
associated with the graphic objects.

33003101 07/2012

Step

Action

Select the operator screen.

Select the Tools Variables Window where the variables you want to view
are located.
Result: The Variables Window appears

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.

1655

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 variables associated with objects from an animation table
The table below describes how to modify the variables associated with graphic
objects from an animation table.

1656

Step

Action

Select the objects for which you want to modify the variables.
Result: The selected objects appear with handles and have a dotted frame.

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.

33003101 07/2012

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 for cross references
The table below describes the procedures for searching for cross references in an
animated object.

33003101 07/2012

Step

Action

Select the object(s) in the operator screen.


Result: The selected objects appear with handles and have a dotted frame.

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.

1657

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
z

Mask the horizontal and vertical scrollbars,


Go to full screenmode.

How to mask the scroll bars


The table below describes the procedure for masking scrollbars displayed by the
operator screens editor.
Step

Action

Click Tools Options.

Select the operator screen tab.


Result: The editor configuration (see page 524) dialog box is displayed.

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 full screen mode


The table below describes the procedure for switching to full screen mode.
Step

Action

Click Display Full screen.


Result: The menu and toolbars disappear.

How to exit a full screen mode.


The table below describes the procedure for switching to full screen mode.

1658

Step

Action

Press Esc to exit the full screen mode.


Result: The screen changes from full screen mode to window mode.

33003101 07/2012

Online mode

How to start the operator screens editor automatically while in full screen mode
The table below describes the procedure for automatically starting the operator
screens editor in full screen.

33003101 07/2012

Step

Action

Click Tools Project settings.

Select the operator screen tab.


Result: The editor configuration (see page 511) dialog box is displayed.

Check the Full screen at opening box and validate with OK.
Result: The operator screens editor will be automatically started in full screen
mode.

1659

Online mode

How to modify screen control


At a Glance
The control type is determined by the configuration (see page 511) options. It can
be modified in online mode.
NOTE: When the runtime screens are controlled via PLC it is not possible to edit
them in online mode, even if the option Enable Edit in online mode is set via Tools
Options Operator Screens tab.
How to set the control type in online mode
The following table describes the procedure for changing the control type for
operator screens.

1660

If you want

and if you are

then

the screens to be controlled


by the PLC,

in operator control press F2 or click on the PLC controlled


mode,
icon.

the screens to be controlled


by the operator,

in PLC control
mode,

press F3 or click on the Operator


controlled icon.

33003101 07/2012

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
z

Is the object a driving object,


which variable is associated to this object.

How to ascertain whether an object is a driving object


The table below describes the procedure for ascertaining whether an object is a
driving object.
Step

Action

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 name and the value of a variable associated with an object
The table describes the procedure for finding out the name and value of a variable
associated with an object.

33003101 07/2012

Step

Action

Position the mouse cursor on the object.


Result: the name of the variable and its current value in the PLC are displayed.

1661

Online mode

1662

33003101 07/2012

Unity Pro
Objects library
33003101 07/2012

Runtime screens objects library

51
51.1

Managing library objects

Subject of this section


This section describes how to manage the library graphic objects.
What Is in This Section?
This section contains the following topics:
Topic

33003101 07/2012

Page

The Objects Library

1664

How to manage the list of graphic items in the library

1665

Properties of the object library and its elements

1668

Handling the Objects

1671

1663

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 figure below presents the objects library.

The table below provides a description of the objects library.


Number

1664

Description

The browser displays all the families and objects.

The window displays the graphic representation(s) of the selected object.

33003101 07/2012

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 object family in the library
The following table describes the steps to be carried out to create a new object
family in the library.
Step

Action

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.

Right click on the library root.


Result: The relevant contextual menu appears.

Enable the command New family.


Result: A new screen family appears in the objects library with a generic name.

How to create an object in the library


The following table describes the operations to be performed in order to create an
object in the library.

33003101 07/2012

Step

Action

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.

Click with the right mouse button on an object family or library object.
Result: The relevant contextual menu appears.

Enable the New object command.


Result: A new object appears in the objects library with a generic name.

1665

Objects library

How to rename a library object or object family


The following table describes the operations to be performed in order to rename a
library object family.
Step

Action

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.

Click with the left mouse button on an object family or library object.

Press F2.
Result: The label is highlighted and the text input cursor flashes at the end of
the input field.

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 object in the library


The following table describes the operations to be performed in order to move an
object from a family to another family in the library.
Step

Action

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.

Left click on the library object to be moved.


Result: The relevant contextual menu appears.

Hold down the left mouse button to maintain the selection.

Move the object to the desired family while holding down the button.
Result: The object moves at the same time as the mouse cursor.

Release the mouse button.


Result: The object appears in the desired family.

NOTE: You may move an object in the same family if the Manual sort
(see page 1668) option is checked.

1666

33003101 07/2012

Objects library

How to open an object in the library


The following table describes the operations to be performed in order to open an
object in the library.
Step

Action

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.

Right click on a library object.


Result: The relevant contextual menu appears.

Activate the Open command.


Result: An operator screen window opens. It displays the graphic object or
objects contained in the library object.

Information on editing functions


The editing functions are accessed by the commands:
z
z
z
z

Edit Cut
Edit Copy
Edit Paste
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.

33003101 07/2012

1667

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
z
z
z
z
z
z

the access pathname of the library file,


the access pathname of the library images directory,
the type of family and object sorting in the library browser,
the type of family and object sorting in the library browser,
the name of families,
the name of objects,
the family linked to the object.

Library properties
The table below presents the procedures for accessing the Library Properties
dialog box.
Step

1668

Action

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.

Select the library root in the browser application.

Select the Properties command from the contextual menu.


Result: The Library Properties window appears:

33003101 07/2012

Objects library

Step
4

Action
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.

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.

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.

Library properties
The table below presents the procedures for accessing the Family Properties
dialog box.
Step

33003101 07/2012

Action

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.

Select a family in the library browser application.

Select the Properties command from the contextual menu.


Result: The Family Properties window appears:

In the Name field, give the family a name. It can be modified and can contain
up to 255 characters.

1669

Objects library

Object properties
The table below presents the procedures for accessing the Object Properties
dialog box.
Step

1670

Action

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.

Select an object in the library browser application.

Select the Properties command from the contextual menu.


Result: The Object Properties window appears.

In the Name field, give the object a name. It can be modified and can contain
up to 255 characters.

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.

33003101 07/2012

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
z
z

use all editing functions in the screen


select and copy a graphic object in another screen
bind variables to graphic objects

Edit function
An objects operator screen editor works in the same way as the project operator
screen editor. It has the same functions: The menu and toolbars (see page 1567)
are identical.
Copying an object
You can copy graphic objects between the operator screen of an object and:
z
z

another object operator screen,


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

33003101 07/2012

Action

Open (see page 1667) a library object.


Result: The operator screen with the graphic objects appears.

Right click on a graphic object.


Result: The relevant contextual menu appears.

Enable the Copy command.

Open a library object or an operator screen in which you want to copy the
graphic object.

Right mouse click on the background of the operator screen.

Activate the Paste command.


Result: The graphic object appears in the operator screen.

1671

Objects library

Association of variable
Graphic objects are animated with variables that have topological addresses.
Simply replace these variables with your project variables to animate the objects.
Procedure
The following table describes the procedure for associating project variables with
animation variables for graphic objects.
Step

Action

Copy a graphic object from the library into an operator screen, then select it.

Select the Tools Variables Window command.


Result: The Variables Window appears with all the variables of the graphic
object

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.

Select the framed object.

Select the Properties command from the contextual menu.


Result: The Object Properties window appears.

Select the Animation tab.


Result: The variable that you selected initially appears in the Variables field.

7
Click on

1672

to open the variables selection tool.

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.

For each of the project variables to be grouped, double-click on the variable in


the variables window and repeat steps 7 and 8.

33003101 07/2012

Unity Pro
Documentation, Import/export
33003101 07/2012

Documentation, Import/export

IX
Object of this part
This part presents the documentation and import/export functions.
What Is in This Part?
This part contains the following chapters:
Chapter

33003101 07/2012

Chapter Name

Page

52

Documentation

1675

53

Import / Export

1701

1673

Documentation, Import/export

1674

33003101 07/2012

Unity Pro
Documentation
33003101 07/2012

Documentation

52
Overview
This section describes how project documentation is created.
What Is in This Chapter?
This chapter contains the following topics:
Topic

33003101 07/2012

Page

Creating project documentation

1676

Documentation structure

1677

Topics in documentation

1680

Creating project documentation

1688

Print preview

1691

Page setup

1693

Print

1695

Printer setup

1698

1675

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 page 1678) or the
Functional view (see page 1679).
You can print this documentation partially or fully after it has been created.
Displaying the documentation structure
To display the documentation structure in the project browser double-click on the
Documentation directory or execute the Open command in the shortcut menu for
the directory.

1676

33003101 07/2012

Documentation

Documentation structure
General information
For the View documentation structure (see page 1688) you can use two different
views:
z Structural View (see page 1678)
z Functional view (see page 1679)
Selecting the documentation display
The following options are available to display the documentation structure in the
structure view:
z Select the symbol in the tools list in the documentation structure.

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.

33003101 07/2012

Select the subject in the documentation structure and execute the menu
command View Functional View.

1677

Documentation

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.

1678

33003101 07/2012

Documentation

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.

33003101 07/2012

1679

Documentation

Topics in documentation
Documentation topics
The documentation folder of a project can contain the following topics:
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z

Title page
Contents
General information
Configuration
Derived Data Types
Derived FB Types
EFB types
EF types
FB variables and instances
Application structure
Functional station:
Communication
Program
Animation table
Operator screen
Cross-References
Footer

NOTE: You can define the topics you want to use in your documentation using the
menu commands Include header and Exclude header first, see also Creating
project documentation, page 1688.
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. All other details are automatically generated.

1680

33003101 07/2012

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 information
This topic deals with printing the contents on the directories in the General
information in the Documentation directory of the project browser.
This information can be comments on the project, hyper-links and/or bitmaps.
Configuration
This topic deals with printing the hardware configuration.
Topic contents
z
z
z
z

Bus topology
the bus parameters (except for the X bus)
PLC and rack configuration
Parameterization of the input/output modules and the communication modules.

Derived Data Types


This topic deals with printing the derived datatypes for the project.
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
Derived FB Types
This topic deals with printing the DFBs used in the project.
Every DFB has a structure which contains the section of the DFB.
Topic contents
Topic Derived FB types
z Table of all DFBs used in the project and their properties (name, version,
creation / change date)

33003101 07/2012

1681

Documentation
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)

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.

EFB (types)
This topic deals with printing the Elementary Function Block types used in the
project.
Topic contents
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)
z

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)

1682

33003101 07/2012

Documentation

Variables & FB instances


This topic deals with printing the following objects in a tabular format.
z
z
z
z
z
z

Elementary datatypes (EDTs)


Derived Data Types (DDTs)
I/O derived data types (IODDTs)
Instances of elementary functions
Instances of elementary functions blocks
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 you can
define the scope and display for the documentation and the variables and FB
instances.
Application structure
This topic deals with printing the project 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 page 1678) or Functional view (see page 1679). (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 station:
This topic is only available in the Functional view (see page 1679) and 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.
33003101 07/2012

1683

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 page 1678) the topic contains all the project sections.
In the Functional view (see page 1679) this topic contains all sections not assigned
a functional module.
Topic contents
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

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

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.

1684

33003101 07/2012

Documentation

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 you
can define whether the documentation in the LD section is displayed in Input
modus (see page 675) or in mixed display mode (see page 676).
Also for SFC sections
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

Transition properties table


z Name of transition
z Type of transition condition
z Position of the transition object
z Comment

Jump properties table


z Target step name
z Position of the jump object
z Comment

Animation Tables
This topic deals with printing the animation 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

33003101 07/2012

1685

Documentation

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
Message lists
z Operator screen
z Properties
z Graphical representation
z List of the animated variables
z

NOTE: In the operator screen area of dialog box Printer setup you can define the
scope and display of the documentation and the variables and FB instances.
Cross-references
This topic deals with printing the cross-references for the application and the DFBs
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

1686

33003101 07/2012

Documentation

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 dialog box.

33003101 07/2012

1687

Documentation

Creating project documentation


Creating project documentation
Carry out the following steps to create project documentation:
Step

Action

Open the documentation structure. (see page 1688)

Select the documentation view (see page 1688).

Select the individual subjects that you want to include (see page 1688) or
exclude (see page 1689) or include all the subjects (see page 1689).

Set up the page for printing (see page 1693).

Define the parameters for the printout (see page 1698).

Prepare the subjects for printing (see page 1690).

Check the settings with the Print preview (see page 1691).

Select a printer and start printing (see page 1695).

Opening the documentation structure


The following options are available to open the documentation structure:
Double-click on the Documentation directory in the project browser.
or
z In the project browser select the Documentation directory and execute the Open
command in the shortcut menu for the directory.
z

Selecting the documentation view


After opening the documentation structure you can chose between the Structural
view (see page 1678) and the Functional view (see page 1679).
Including a subject in the documentation
You have the following options open to you with regard to including a subject in the
documentation:
z Select the subject to include and execute the Add header command in the
subjects 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.

1688

33003101 07/2012

Documentation

Excluding a subject from the documentation


You have the following options open to you with regard to excluding a subject from
the documentation:
z Select the subject to exclude and execute the Exclude header command in the
subjects 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 subjects to the documentation
You have the following options open to you with regard to adding all the subjects to
the documentation:
z Select the project subject to include and execute the Include all headers
command in the subjects 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 subjects from the documentation
You have the following options open to you with regard to excluding all subjects from
the documentation:
z Select the project subject and execute the Exclude all headers command in the
subjects 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.

33003101 07/2012

1689

Documentation

Updating and preparing


The documentation is updated dynamically. The documentation is updated
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 subjects shortcut menu.
or
z Select the project subject to include and execute the Edit Create printout
command in the subjects 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 setupdialog box.

1690

33003101 07/2012

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
subjects shortcut menu.
or
z Select the project desired subject and execute the View View command in the
subjects shortcut menu.
Previous page
You have the following possibilities to show the previous page:
Use the menu command Previous page in the shortcut menu.
z Execute the menu command Edit Previous page.
or
z Press Page up.
z

Next page
You have the following possibilities to show the next page:
Select the menu command Next page in the context menu.
z Execute the menu command Edit Next page.
or
z Press Page down.
z

Expand view
You have the following possibilities to expand the view:
z Use the Expand menu command from the shortcut menu.
or
z Use the Edit Expand menu command.
Contract view
You have the following possibilities to collapse the view:
Use the Collapse menu command from the shortcut menu.
or
z Use the Edit Collapse menu command.
z

33003101 07/2012

1691

Documentation

View full page


You have the following possibilities to show the whole page:
Use the menu command Zoom to fit in the shortcut menu.
z Use the Edit Zoom to fit menu command.
or
z Press the Ctrl+E key combination.
z

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.
or
z Press the Esc key.
Print
see Print, page 1695

1692

33003101 07/2012

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 Page setup.
Representation
Representation of the dialog box:

33003101 07/2012

1693

Documentation

Items
Elements of the dialog box:
Element

1694

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 page 1690).

Cancel

Cancels all changes and closes the dialog box.

Print...

Used to select the printer.

33003101 07/2012

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 subjects 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.
or
z Select the subject in the documentation structure and press the key
combinationCtrl+P.
Representation
Representation of the dialog box:

33003101 07/2012

1695

Documentation

Items
Elements of the dialog box:

1696

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 page 1688) in the document
structure will be printed out.
Current header
If you click this option button, the currently selected subject and all its subsections will be printed out. (The header for the current subject is shown in the
text box).

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 page 1691) 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.

33003101 07/2012

Documentation

33003101 07/2012

Element

Description

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.

1697

Documentation

Printer setup
Introduction
This dialog box is used to enter the printing parameters.
The following options are available to open the dialog box:
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 subjects shortcut menu.
or
z Select a subject in the documentation structure and execute the menu command
Edit Printer setup.
z

Representation
Representation of the dialog box:

1698

33003101 07/2012

Documentation

Items
Elements of the dialog box:

33003101 07/2012

Element

Description

Station

Save printout
You can save documents that have been prepared
(see page 1690) 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 page 1684).
Combined display mode
When you activate this checkbox, the documentation for the LD
section is shown in combined display mode (see page 676).
When you deactivate this checkbox, the documentation for the
LD section is shown in input mode (see page 675).

Operator screen

This area is used to define the scope and display for the
Operating screen documentation (see page 1686).
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.

Title page

This area is used to define the Title page (see page 1680) for the
documentation.
Project name
Enter the name of the project here.
Developer
Enter the name of the developer here.

1699

Documentation

1700

Element

Description

Variables & FB
instances

This area is used to define the scope and display for the Variables
and FB instances (see page 1683).
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 page 1687) 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 page 1690).

Cancel

Cancels all changes and closes the dialog box.

33003101 07/2012

Unity Pro
Import / Export
33003101 07/2012

Import / Export

53
Subject of chapter
This chapter describes the procedures for importing or exporting the project program
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.
It is also possible to Import/Export Project settings (see page 476) and
Import/Export Options (see page 515).
What Is in This Chapter?
This chapter contains the following sections:
Section

33003101 07/2012

Topic

Page

53.1

General information on the Import/Export function

1702

53.2

Importing/Exporting the various elements of Unity Pro

1712

53.3

Wizard for importing the various elements of Unity Pro

1744

1701

Import / Export

53.1

General information on the Import/Export function

Object of this sub-chapter


This sub-chapter presents general information on the Import/Export function
available under Unity Pro.
What Is in This Section?
This section contains the following topics:
Topic
General information on import/export

1702

Page
1703

Import / Export Files

1704

Type of dialog box for the export function

1705

Type of dialog boxes for the import function

1708

Managing Conflicts

1710

33003101 07/2012

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
z

the import function allows you to retrieve part or all of a project program for use
in your project,
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
z
z

Keep: the element that is already present in the project is kept (the element with
the same name is not imported),
Replace: the element that is already present in the project is replaced by the
imported element with the same name,
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.

33003101 07/2012

1703

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 Files
The files generated during an export are as follows:
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

Segment in LL984 language

X9S

Network in LL984 language

X9N

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

Global project with global DTM configuration

ZEF

NOTE: When the first letter of the file extension is X, this means that the file in XML
format (extensible markup language).

1704

33003101 07/2012

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
z
z
z

The name of the export file,


The location of the file,
The type of file,
The export options.

Standard dialog box


The following dialog box appears when you export one of the following element
types:
z
z
z
z
z

Inputs/outputs configuration (see page 1713),


DFB type (see page 1719),
DDTs (see page 1722),
Communication network (see page 1728),
Operator screen (see page 1730),

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.
The following example shows the dialog box for exporting a global project:

33003101 07/2012

1705

Import / Export

Dialog box and options


To export the following elements, you must define the name of the file with its
location. You can choose 1,2 or 3 options:
z
z
z
z
z

Program and section (see page 1715),


Variables (see page 1724),
Animation table (see page 1733),
Functional module (see page 1735).
Global project (see page 1738).

The following table describes the available options as a function of the elements to
be exported:

1706

Type of
element to
be exported

Choice of
file type

Export mode
with or
without DDT
option

Export mode
with or
without DFB
type option

Export mode
with or
without SR
option

Export mode
with or
without conf
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
module

no

yes

yes

no

no

Global
project

no

no

no

no

yes

33003101 07/2012

Import / Export

The following example shows the export dialog box for a section element, including
the checkbox options:

33003101 07/2012

1707

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
z
z
z
z

The name of the import file,


The location of the file,
The type of file,
The import option,
The import procedures (Keep, Replace, Rename).

Standard dialog box


The following dialog box appears when you import one of the following element
types:
z
z
z
z
z
z
z

Inputs/outputs configuration (see page 1714),


DFB type (see page 1721),
DDTs (see page 1723),
Variables (see page 1727),
Communication network (see page 1729),
Animation tables (see page 1734),
Operator screens (see page 1732).

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.
The following example describes the dialog box for importing a DFB type:

1708

33003101 07/2012

Import / Export

Dialog box with wizard


In order to facilitate reassignments, you can choose to import the following elements
using wizard (see page 1745):
z
z
z

Global project (see page 1740),


Sections (see page 1717),
Functional modules (see page 1737).

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.
The following example shows the dialog box for importing a section:

33003101 07/2012

1709

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 page 1703):
z

Keep,

Replace,

Rename.

These operating modes depend on the element to be imported. Excluding the global
project import function, all the other elements have these operating modes.
The following example shows the dialog box with conflicts when importing variables:

How to Manage Conflicts


You should perform the following steps in order to import an element and manage
conflicts during the import process:
Step

1710

Action

In the project browser, select the element to be imported.


Result: the element selected appears in reverse video.

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:

33003101 07/2012

Import / Export

Step

33003101 07/2012

Action

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 (XSY or
TXT).
Result: the name of the file then appears in the File name field.

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.

If you do not want to import the elements, check the Keep mode.

If you want to replace the elements with the imported ones, check the Replace
mode. For further information on the replacement of Function Block (FB)
instances see Changing the type of an instance, page 336.

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.

Start the import with your chosen option (Keep, Replace, Rename) using 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.

1711

Import / Export

53.2

Importing/Exporting the various elements of Unity


Pro

Object of this sub-chapter


This sub-chapter presents the Import/Export functions that apply to the various
elements of Unity Pro.
What Is in This Section?
This section contains the following topics:
Topic

1712

Page

Export of the input/output configuration

1713

Import of the input/output configuration

1714

Exporting the program

1715

Program Import

1717

Exporting DFB types

1719

Importing DFB types

1721

Exporting DDTs

1722

Importing DDTs

1723

Exporting Variables

1724

Importing Variables

1727

Exporting the communication network configuration

1728

Importing the configuration of a communication network

1729

Exporting operator screens

1730

Importing operator screens

1732

Exporting animation tables

1733

Importing animation tables

1734

Exporting a functional module

1735

Importing a functional module

1737

Exporting a global project

1738

Importing a global project

1740

Exporting/Importing LL984 Segments/Networks

1742

33003101 07/2012

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
z
z
z

the bus parameters,


the racks,
the modules,
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 input/output configuration
To export the input/output configuration, you must perform the following operations:

33003101 07/2012

Step

Action

In the project browser, select the Configuration folder.


Result: The selected element appears in reverse video.

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.

Select the destination directory for the export (directory tree) and enter the name
of the file.

Activate the Export command.


Result: a progress indicator lets you know how the export is proceeding.

A message in the output window tells you that export is complete.

1713

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 input/output configuration
To import an input/output configuration, you must perform the following operations:
Step

Action

In the project browser, select the Configuration folder.


Result: This folder appears in reverse video.

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.

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.

Activate the Import command.

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:
When importing a configuration with Device DDT instance:
managed Device DDT instances become unmanaged
After importing the configuration the user have to link manually all the
Unmanaged Device DDT instances with each device.
z ERIO modules will be inserted with default Device DDT
z

NOTE: A new Device DDT instance added can possibly match with an unmanaged
Device DDT instance.

1714

33003101 07/2012

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
z
z
z

either all the sections and program modules (SRs) of a sequential task (MAST,
FAST, AUX),
or a section of a sequential task (excluding the section activation conditions),
or an SR program module of a sequential task,
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.
NOTE: When you export a conditioned section, the conditions are not exported.
They are exported only if you export the complet task.
Options associated with exporting the program
Depending on the program elements you are exporting, you have a choice of 3
options:
z
z
z

export with or without the content of all the DDTs used in the program element,
export with or without the content of all the DFB types used in the program
element,
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.


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
z
z
z
z

33003101 07/2012

.XLD, if the language of the element exported is LD


.XIL, if the language of the element exported is IL
.XST, if the language of the element exported is ST
.XSF, if the language of the element exported is SFC (sections only)
.XBD, if the language of the element exported is FBD

1715

Import / Export

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 page 167) cannot be exported.
Exporting a program from the project browser
To export a program from the project browser you must perform the following
operations:

1716

Step

Action

Select the element to be exported.


Result: The selected element appears in reverse video.

Activate the Export command from the File menu or the contextual menu.
Result: A dialog box appears on the screen.

Select the destination directory for the export (directory tree) and enter the file
name.

Select export mode: with or without DDT, DFB types, SRs called.
Result: when a "with" option is selected, the corresponding box is checked.

Activate the Export command.


Result: a progress indicator lets you know how the export is proceeding.

A message in the output window tells you that export is complete.

33003101 07/2012

Import / Export

Program Import
At a Glance
This Function Is Accessible from the Project Browser. According to the element you
selected in the project browser tree, you can use it to import:
z

z
z

Either all of the sections and SR program modules of a sequential task (MAST,
FAST, AUX). The sections and program modules will be created in the order that
they were memorized during export.
Or one or all of the sections of a sequential task. These sections are imported
after the sections that already exist in the list.
If you need to perform any re-assignments, a wizard is available (except for
protected sections which cannot be modified).
Or one or all of the program modules of a sequential task. These modules are
imported after the modules that already exist in the list.
Or one or all of the Timer or Input/Output event processing operations. These
processing operations are imported after the event processing operations that
already exist in the list.

If one of the previous elements already exists in the current project, the software
asks you to choose between the following options:
z
z
z

keep the component of the current project,


replace the project component by the one from the import file,
rename the imported element.

NOTE: When importing a program element, if you wish to keep an element which
has the same name in the project (program), you must in that case rename the
imported element, because the name of an element is unique in a project.
NOTE: if the DDT, DFB types and SR known as associated were exported (options
selected during export), they are imported with the program element.
NOTE: After importing the section or program module, you must validate them.

33003101 07/2012

1717

Import / Export

How to Import a Program Element


You must perform the following operations to import a program element:

1718

Step

Action

In the project browser, select the folder into which you wish to import you
program element (Sections, SR or Events).
Result: this folder appears in reverse video.

Activate the Import command from the File menu or from the contextual menu.
Result: a dialog box appears on the screen:

Choose the source folder 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.

Select the With wizard option if you would like help in re-assigning elements.

Activate the Import command.


Result: a progress indicator shows how the import is progressing.

A message tells you when the import is complete.


If errors occur during the import, they are indicated by a message in the display
window.

33003101 07/2012

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
z

either all the DFB types of the current project (even those that have not been
used),
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 during export of all DFBs
When you export all the DFB types of the project, the software generates an .XDB
file containing
z

all the unprotected information: unprotected nested DFB types, DDTs used
and references to the protected DFB types

File generated during export of one DFB type


When you export one DFB type, the software generates an .XDB file containing
z

33003101 07/2012

all the unprotected information: current DFB type, nested DFB types, DDTs
used and references to the protected DFB types.

1719

Import / Export

Exporting one or more DFB type(s) from the project browser


To export one DFB type or all the DFB types of a project, you must perform the
following operations from the project browser:

1720

Step

Action

Select the element to be exported.


Result: The selected element appears in reverse video.

Activate the Export command from the File menu or the contextual menu.
Result: A dialog box appears on the screen.

Select the destination directory for the export (directory tree) and enter the file
name.

Activate the Export command.


Result: a progress indicator lets you know how the export is proceeding.

A message in the output window tells you that export is complete.

33003101 07/2012

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 can 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 it is Version protection protected, the version
number will be accessible in read only and the elements of the DFB will be
accessible in read/write.
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
z
z

keep the element from the current project,


replace the project element with the one in the import file,
rename the imported element.

Importing a DFB type


To import a DFB type you must perform the following operations:

33003101 07/2012

Step

Action

In the project browser, select the Derived FB Types folder.


Result: This folder appears in reverse video

Activate the Import command from the File menu or the contextual menu.
Result: A dialog box appears on the screen.

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.

Activate the Import command.


Result: A progress indicator lets you know how the import is proceeding.

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.

1721

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
z

either all the DDTs of the current project (even those that have not been used),
or one DDT.

NOTE: If you export a DDT that uses nested DDTs, these will also be exported
automatically.
File generated during export of all DDTs
When you export all the DDTs, the software generates an .XDD file which contains
all the unprotected information for the project DDTs.
File generated during export of one DDT
When you export one DDT, the software generates an .XDD file which contains all
the unprotected information such as the current DDT and DDTs used.
Exporting one or more DDTs from the project browser
To export one DDT, or all the DDTs, of a project, you must perform the following
operations from the project browser:

1722

Step

Action

Select the element to be exported.


Result: The selected element appears in reverse video.

Activate the Export command from the File menu or the contextual menu.
Result: A dialog box appears on the screen.

Select the destination directory for the export (directory tree) and enter the file
name.

Activate the Export command.


Result: a progress indicator lets you know how the export is proceeding.

A message in the output window tells you that export is complete.

33003101 07/2012

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
z
z

keep the element from the current project,


replace the project element with the one in the import file,
rename the imported element.

Importing a DDT
To import a DDT you must perform the following operations:

33003101 07/2012

Step

Action

In the project browser, select the Derived Data Types folder.


Result: This folder appears in reverse video.

Activate the Import command from the File menu or the contextual menu.
Result: A dialog box appears on the screen.

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.

Activate the Import command.


Result: A progress indicator lets you know how the import is proceeding.

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.

1723

Import / Export

Exporting Variables
At a Glance
This function is accessible from the FB Variables and instances folder in the
project browser.
According to the element you selected in the project browser tree, you can use it to
export:
z
z

all the variables of the project (even those that are not used),
all the variables of a given family: EDT, IODDT, etc. (even those that are not
used).

To export a subset of the variables, see also the sub-section Exporting a subset of
variables, page 382.
Format of Variable Files
Variables can be saved:
z

either in source format, in an .SCY file compatible with the PL7 program,

or in text format with tab separators, in a .TXT file,

or in XML format, in an OFS-compatible .XVM file,

or in XML format, in an .XSY file.

Options associated with Exporting Variables


Whatever the variables you export, you can choose two options:
z
z

export with or without the content of all the DDTs used,


export with or without the content of all the DFB types used.

By default, the two "export with" options are selected.


NOTE: These two options are available only when exporting files to .XSY format.
Purpose of importing data
Importing data into a specific format as .XSY, .SCY, .TXT or .XVM can be useful for
different purposes.
Those functionalities are described in the table below:

1724

File type

Available for

.XSY

Export / Import

.SCY

Export / PL7

.TXT

Export / Import / Excel

.XVM

Export / OFS

33003101 07/2012

Import / Export

Files structure for .XSY, .SCY, .TXT and .XVM Formats


When importing elementary variables from the data editor screen, the data structure
with extension .XSY, .SCY, .TXT and .XVM will be displayed in the following order:
Name, Address, Type, Comment and Value.
NOTE: The structure of imported data from a .XSY file can have additional
information. If the options are set in column configuration screen, the complete
structure for this type of file is the following: Name, Address, Type, Comment, Value,
Save, RW Program, Constant and Custom.
Files Generated in .XSY and .XVM Formats
When you export variables, the program generates an .XSY or an .XVM file
containing the unprotected information, such as the list of current variables, the
unprotected DFB types of which an instance is exported (if the option is set), and the
DDTs of which an instance is exported (if the option is set).
Files Generated in .SCY, .XVM, .TXT Formats
When you export variables, the program generates a .TXT or an .SCY file containing
the unprotected information about current variables.
If you want to use Microsoft Excel to open the exported .TXT file, please follow the
steps:
z
z
z
z
z

Open Microsoft Excel


With Open command of Excel, open the .TXT file by selecting in the open window
Text files as type of file
When the Excel file import assistant window opens, select Delimited for the type
of file. Click on the Next button.
In the next window, check Tab option box as column separator. Click on the Next
button.
In the next window select in the display the column that contain the values of the
variables and click on the Text option button for the column data format. Doing
so keeps the same values as in the .TXT file. If this format is not used for the
column, positive values will appear as negative when opening the .TXT file in
Excel.

NOTE: The variables must not exceed 32 characters in length. Once you have
modified the .TXT file, save it with the tab-separated value option before importing.

33003101 07/2012

1725

Import / Export

How to Export a List of Variables from the Project Browser


You must perform the following operations to export all the variables or a family of
variables from the project browser:

1726

Step

Action

Select the element to be exported in the FB Variables and instances folder.


Result: The selected element appears in reverse video.

Activate the Export command from the File menu or from the contextual menu.
Result: A dialog box appears on the screen:

Select the target folder for the export (directory tree) then enter the file name.

Select the export mode. with or without DDT, DFB type.


Result: When a "with" option is selected, the corresponding box is checked.

Activate the Export command.


Result: A progress indicator shows how the export is progressing.

A message is displayed in the display window to indicate that the export is


finished.

33003101 07/2012

Import / Export

Importing Variables
At a Glance
This function is accessible from the FB Variables and instances folder in the
project browser. It enables you to import a list of variables into your project.
NOTE: If the DDTs or associated DFB types have been exported (options selected
on export), they are imported with the list of variables.
If the list of variables already exists in the current project, the software asks you to
choose between the following options:
z
z
z

keep the component of the current project,


replace the project component by the one from the import file,
rename the imported component, allowing you to keep both components.

How to Import a List of Variables


You must perform the following operations to import a list of variables:
Step

Action

In the project browser, select the FB Variables and instances folder.


Result: the Variables folder appears in reverse video.

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:

Choose the source folder 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.

Activate the Import command.


Result: a progress indicator shows how the import is progressing.

A message tells you when the import is complete.


If errors occur during the import, they are indicated by a message in the display
window.

NOTE: You can only import .XSY or .TXT files. Files in XVM and SCY format cannot
be imported.

33003101 07/2012

1727

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
z

All communication networks with their configurations,


A specific communication network with its configuration.

File generated during export of networks


When you export one or all of the communication networks, the software generates
a .XCM file containing all the information on each network: common data, bridge.
How to export an operator screen
To export the communication networks you must perform the following operations:
Step

Action

In the project browser, select the element to be exported.


Result: The selected element appears in reverse video.

Activate the Export command from the File menu or the contextual menu.
Result: A dialog box appears on the screen.

Select the destination directory for the export (directory tree) and enter the file
name.

Activate the Export command.


Result: A progress indicator lets you know how the export is proceeding.

A message in the output window tells you that export is complete.

NOTE: If you check the With Conf. option box before the export, the networks will
be exported with the links to the modules of the project. When you will import the
networks in an other project they will link automatically to the existing modules. This
option will work only if the modules of the other project are compatible with those of
the previous one and if they are placed in the same positions in the rack.

1728

33003101 07/2012

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
z
z

keep the element from the current project,


replace the project element with the one in the import file,
rename the imported element.

How to import a functional module


To import a communication network you must perform the following operations:

33003101 07/2012

Step

Action

In the function view of the project browser, select the Communication folder.
Result: This folder appears in reverse video.

Activate the Import command from the File menu or the contextual menu.
Result: A dialog box appears on the screen.

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.

Activate the Import command.


Result: A progress indicator lets you know how the import is proceeding.

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.

1729

Import / Export

Exporting operator 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 only exported, if you export
all the operator screens of the project. See paragraph below.
Files generated during the export of an operator screen
When you export one or several operator screens, the software generates an .XCR
file for each family of screens. This file contains all the information relating to the
graphic objects and the reference of the image objects (.bmp, .jpg). The image
object references correspond to their names and their access paths.
How to export an operator screen
To export an operator screen (all screens, a family of screens or a single screen)
you must perform the following operations:

1730

Step

Action

In the project browser, select the element to be exported.


Result: The selected element appears in reverse video.

Activate the Export command from the File menu or the contextual menu.
Result: A dialog box appears on the screen.

Select the destination directory for the export (directory tree) and enter the file
name.

Activate the Export command.


Result: A progress indicator lets you know how the export is proceeding.

A message in the output window tells you that export is complete.

33003101 07/2012

Import / Export

Import/Export of messages
The messages associated with the screens are only exported, if you export all the
operator screens of the project. If you export a single operator screen or a operator
screen family, the messages are not exported.
That means when you export a single screen from project A and import it to project
B, you need to redefine all messages used inside this screen in the Messages list
of Project B.
As a workaround you can export and import all messages as described in Messages
editing and import/export function (see page 1648).
Another way to use messages created in project A in screens imported to project B,
is to open project A and project B in parallel and to copy/paste the messages from
the Messages list in project A to the messages list in project B.
You have to take care that the Message numbers meet the demands of your new
project.

33003101 07/2012

1731

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.
NOTE: Screens are only re-attached to the functional modules to which they were
attached before export when you import a complete ZEF, XEF or XFM file. If you
import an operator screen in the structural view (XCR file), the attachment between
operator screen and functional module is lost. If you import an operator screen in the
functional view (XCR file), it is attached to the functional module from which the
import was launched.
Import/Export of messages
Please refer to Import/Export of messages (see page 1731).
Importing an operator screen
To import an operator screen you must perform the following operations:

1732

Step

Action

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.

Activate the Import command from the File menu or the contextual menu.
Result: A dialog box appears on the screen.

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.

Activate the Import command.


Result: A progress indicator lets you know how the import is proceeding.

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.

33003101 07/2012

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
z

all the animation tables of the project,


a single animation table.

File generated during export of a single animation table


When you export an animation table, the software generates a .XTB file that
contains all the unprotected information such as the current animation table.
Exporting a single animation table
To export one or all of the animation tables, perform the following operations from
the project browser:

33003101 07/2012

Step

Action

Select the element to be exported.


Result: The selected element appears in reverse video.

Activate the Export command from the File menu or the contextual menu.
Result: a dialog box appears on the screen.

Select the destination directory for the export (directory tree) and enter the file
name.

Activate the Export command.


Result: a progress indicator lets you know how the export is proceeding.

A message in the output window tells you that export is complete.

1733

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
z
z

keep the element from the current project,


replace the project element with the one in the import file,
rename the imported element.

Importing a single animation table


To import a single animation table you must perform the following operations:

1734

Step

Action

In the project browser select the Animation Tables folder.


Result: This folder appears in reverse video

Activate the Import command from the File menu or the contextual menu.
Result: a dialog box appears on the screen.

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.

Activate the Import command.


Result: A progress indicator lets you know how the import is proceeding.

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.

33003101 07/2012

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
z
z
z
z
z

functional module properties (name, comment),


sections (with the variables used, program code, activation condition),
event processing,
functional sub-modules (nested functional modules),
operator screens,
animation tables.

Options associated with exporting a functional module


As with the program export procedure, you have the choice of 3 options:
z
z
z

export with or without definition of all the DDTs used in the functional module,
export with or without definition of all the DFB types used in the functional module,
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.


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.

33003101 07/2012

1735

Import / Export

How to export a functional module


To export a functional module, perform the following operations from the function
view of the project browser:

1736

Step

Action

Select the functional module to be exported.


Result: the functional module selected appears in reverse video.

Activate the Export command from the File menu or the contextual menu.
Result: A dialog box appears on the screen.

Select the destination directory for the export (directory tree) and enter the file
name.

Select export mode: with or without DDT, DFB types called.


Result: when a "with" option is selected, the corresponding box is checked.

Activate the Export command.


Result: a progress indicator lets you know how the export is proceeding.

A message in the output window tells you that export is complete.

33003101 07/2012

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,

in the existing module, the new module is then a nested module.

In all cases, the assistant is offered as an option.


NOTE: Screens are only re-attached to the functional modules to which they were
attached before export when you import a complete ZEF, XEF or XFM file. If you
import an operator screen in the structural view (XCR file), the attachment between
operator screen and funtional module is lost. If you import an operator screen in the
functional view (XCR file), it is attached to the functional module from which the
import was launched.
How to import a functional module
To import a functional module, perform the following operations:

33003101 07/2012

Step

Action

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

Activate the Import command from the File menu or the contextual menu.
Result: A dialog box appears on the screen.

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.

Activate the Import command.


Result: A progress indicator lets you know how the import is proceeding.

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.

1737

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
This function optionally allows to export the following elements of the project:
z the input/output configuration
z the communication network configuration
z the global DTMs configuration (DTMs topology tree and device configurations)
NOTE: The EFs, EFB types, protected DFB types, documentation and user
preferences are not exported.
Files generated
Two formats of export files are available:
z .XEF file to export a global project without global DTMs configuration
z .ZEF file to export a global project with global DTMs configuration
The export file 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, global DTMs configuration (ZEF file only).
When exporting protected DFBs, private variables and sections of the DFB are
encrypted. However, the variables of type IN, OUT, IN/OUT and PUBLIC still visible.
NOTE: .XEF or .ZEF file do not contain the configuration of the TSX CPP 110. Do
not forget to backup the .CO file (Sycon) for CANopen after an export of the project.
Maintain Output Links on Disabled EF
For compatibility of the project setting Maintain output links on disabled EF
(EN=0) please refer to the respective section (see page 503).

1738

33003101 07/2012

Import / Export

How to export a global project


To export a global project, perform the following operations from the project browser:
Step

Action

Select the Station folder.


Result: This folder appears in reverse video

Activate the Export project command from the File menu or the contextual
menu.
Result: A dialog box appears on the screen.

Select the export format from the Type option:


z .ZEF format to export a global project with global DTMs configuration
z .XEF format to export a global project without global DTMs configuration. If

the application contains DTMs, the global DTMs configuration is not


exported.

33003101 07/2012

Select the destination directory for the export (directory tree) and enter the file
name.

If the XEF export format is chosen, select the option With Conf to include all
data relating to the hardware configuration in the file.
NOTE: All managed Device DDT become unmanaged if the With Conf option
is unchecked. The user will link manually all the unmanaged Device DDT
instances with each device.

Activate the Export command.


Result: a progress indicator lets you know how the export is proceeding.

A message in the output window tells you that export is complete.

1739

Import / Export

Importing a global project


At a Glance
This function is accessible only from the File Open menu of Unity Pro.
The following files can be opened:
.ZEF file (Full Application Exchange Files) to import a global project with global
DTMs configuration
z .XEF file (Application Exchange Files) to import a global project without global
DTMs configuration
z

Before opening the imported project, Unity Pro proposes to save the current project
before closing it.
Libset Version
When importing a .ZEF or .XEF file, the latest Libset version is always selected.
Importing protected elements
If the project you want to import contains protected sections, these are imported and
their content is coded.
If the project you want to import contains protected DFB types, these are referenced
in the .ZEF or .XEF file but not imported.
NOTE: .ZEF or .XEF files do not contain the configuration of the TSX CPP 110.
If the .CO file (Sycon) does not exist:
a warning is displayed in the Output Window after the Open command,
z an error is displayed in the Output Window after the Analyze or Generate
command.
z

In the configuration screen of the TSX CPP 110 PCMCIA card, select the required
.CO file to update the CANopen configuration.
Importing operator screens
Screens are only re-attached to the functional modules to which they were attached
before export when you import a complete ZEF, XEF or XFM file.
If you import an operator screen in the structural view (XCR file), the attachment
between operator screen and functional module is lost.
If you import an operator screen in the functional view (XCR file), it is attached to the
functional module from which the import was launched.
The operator screens are imported with the same structure as in the source project.
If families of screens do not exist, they are automatically created.

1740

33003101 07/2012

Import / Export

Maintain Output Links on Disabled EF


For compatibility of the project setting Maintain output links on disabled EF
(EN=0) please refer to the respective section (see page 503).
How to import a global project
To import a global project, you must perform the following operations:
Step

Action

Activate the Open command from the File menu.


Result: A dialog box appears on the screen.

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.

Select the file to be imported (.ZEF or .XEF).


Result: the filename appears in the File name field.

Select the Open import File with Wizard option, if you require help reassigning
elements.

Activate the Open command.


Result:
z Unity Pro closes your current project,
z a progress indicator lets you know how the import is proceeding.

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.

Conversion Wizard
To convert a legacy project partially or as a whole you can use the Conversion
Wizard.
The Conversion Wizard provides options to remap I/O objects (channels, variables
etc.) during conversion and to adapt the hardware configuration of the new project
concurrently in Unity Pro.

33003101 07/2012

1741

Import / Export

Exporting/Importing LL984 Segments/Networks


Introduction
You can export/import LL984 segments and networks from the Structural View of
the Project Browser.
Restrictions
In contrast to the Export dialog for other language sections, the dialog for LL984
segments/networks does not provide the With SR check box, because the
subroutine networks called in the exported networks are not exported.
This is done because the called subroutine number can be given as a parameter at
runtime, so you do not know in advance which subroutines are really called.
If you want to use the called subroutines in another application, you must export and
re-import the whole LL984 subroutine segment.
Files Generated
Files with the following extensions are generated during export:
*.X9S for LL984 segments
z *.X9N for LL984 networks
z

The created files also include the definitions of variables and variable types used
inside the exported segments and networks.
Exporting LL984 Segments/Networks
Step

1742

Action

Select the element to be exported (LL984 segment/network).

Right-click and select Export from the context menu or use the File Export
menu command.

Select the destination directory for the export and enter the file name.

Select / deselect the With DDT/With DFB options.

Click the Export button.

A message in the Import/Export tab of the output window informs you when
export is completed.

33003101 07/2012

Import / Export

Importing LL984 Networks


To import a *.X9N file (LL984 network) you have to select an LL984 segment node
in the Structural View of the Project Browser
Right-click and select Import from the context menu or use the File Import menu
command.
In case of naming conflicts for the network name or the used variables and variable
types an Import Trouble Report dialog will be displayed. Please refer to Managing
Conflicts (see page 1710).
Importing LL984 Segments
To import a *.X9S file (LL984 segment) you have to select Sections or SR Sections
in the Structural View of the Project Browser.
Right-click and select Import from the context menu or use the File Import menu
command.
In case of naming conflicts an Import Trouble Report dialog will be displayed.
Importing a *.X9S file to the SR Sections node can end up in the existence of more
than one LL984 segment under SR Sections.
During Analyze this will be checked and will lead to an analyze error.
In this case move the LL984 subroutine networks needed into one LL984 SR
segment and delete the other LL984 SR segments.
Even if the Ladder Logic (LL984) option under Tools Project Settings
Program Languages is not set, *.X9S files can be imported without error
messages and the corresponding segments and networks will be created. But in this
case later during Analyze an incorrect language message will be raised for
these segments and networks.
In the context menu of segments the menu entry to import networks is disabled in
case the Ladder Logic (LL984) option is not set.

33003101 07/2012

1743

Import / Export

53.3

Wizard for importing the various elements of


Unity Pro

Object of this sub-chapter


This sub-chapter presents the functions of the wizard for importing the sections and
functional modules under Unity Pro.
What Is in This Section?
This section contains the following topics:
Topic

1744

Page

Using the assistant

1745

Variables tab of the wizard

1748

DFB and DDT Tabs of the Wizard

1750

SR, Sections, Events and Macro steps tabs of the wizard

1752

Wizard animation tables tab

1753

Wizard functional module tabs

1754

Correspondence file

1756

33003101 07/2012

Import / Export

Using the assistant


At a Glance
You can select the assistant to import the following elements:
z
z
z

a global project,
a section,
a functional module.

During the import you can use the assistant to facilitate the reassignment of the
following types of element:
z
z
z
z
z
z
z

variables,
DDTs,
DFBs,
sections (SR, macro SFC),
event processing (timer or Input/Output),
animation table,
functional module.

To do this, you must check the With wizard box in the import dialog box.
Description of the wizard
The wizard is accessible via a dialog box. This box contains one or more tabs. Each
tab corresponds to an element to be imported.

33003101 07/2012

1745

Import / Export

The illustration that follows is an example of the dialog box when a functional module
is imported:

The list of elements that cannot be reassigned (shaded columns) and the contextual
functions allowing the reassignments are offered via the following tabs:

1746

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.

33003101 07/2012

Import / Export

Tab

Description

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
modules

Provides a list of elements (variables, sections, animation tables) that are


in the functional module to be imported.

Common commands
All the tabs of the wizard contain the same commands:
z
z

Find global and Replace global (see page 1749),


Load and Save (see page 1756).

New addresses reassignment using the wizard


The procedure below explains how to reassign a range of addresses using the
import assistant wizard, note that only symbolic variables can be modified using the
assistant wizard:
Step

Action

Select the Variable tab from the wizard window.

Select the first source address from the range of addresses to re-allocate.

Right-click on the first source address.

Select Set Low Limit.


Result: In the Address remapping section, the low limit is set.

Select the last source address from the range of addresses to re-allocate.

Right click on the last source address.

Select Set High Limit.


Result: In the Address remapping section, the high limit is set.

In the blank field from the Address remapping section:


z Enter the first new remapping address.

33003101 07/2012

Click on Remapping....
Result:
z The original range of addresses is updated.
z The Target Address column is updated with the new range of addresses.

1747

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 variables
The Reassign command allows you to reassign a group of variables. For example,
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.
1748

33003101 07/2012

Import / Export

Modifying a symbol
The Go to variable command allows you to find a symbol or a character string in
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.

33003101 07/2012

1749

Import / Export

DFB and DDT Tabs of the Wizard


At a Glance
These Two Tabs Present the DFB or DDT Types to Be Imported.

Modifying an Element Name


To modify the name of an element, you must perform the following operations:

1750

Step

Action

Double click on the element to be modified.

Input the new name of the element.

Confirm your input by pressing the Enter button. The Escape button cancels the
input.

33003101 07/2012

Import / Export

Elements You May Modify


The various elements that you are able to modify are the following:

33003101 07/2012

DFB:
z Target type enables you to modify the name (Source type) of a DFB type.
This name may contain a maximum of 32 alphanumeric characters (A...Z,
0...9 and underscore character); the first character must be a letter.
z The new name of a type must be unique.
z The DFB type may not be modified.
z Comment enables you to modify comment associated with a selected DFB
type. This comment, written on a single line, may contain a maximum of 1024
characters.

DDT:
z Target type enables you to modify the name (Source type) of a DDT type.
This name may contain a maximum of 32 alphanumeric characters (A...Z,
0...9 and underscore character); the first character must be a letter.
z The new type names must be unique.d
z Comment enables you to modify comment associated with a selected DDT
type. This comment, written on a single line, may contain a maximum of 1024
characters.

1751

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 name of an element
To modify the name of an element, you must perform the following operations:
Step

Action

Double click the element to be modified.

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.

Confirm your input by pressing Enter. Press Esc to cancel the input.

Elements that you can modify


The various elements that you can modify are as follows:

1752

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.

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.

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.

33003101 07/2012

Import / Export

Wizard animation tables tab


At a Glance
This tab presents the animation tables to be imported.
Modifying the name of an element
To modify the name of an element, you must perform the following operations:
Step

Action

Double click the element to be modified.

Enter the new name for the element. You can only modify the name of an
animation table.

Confirm your input by pressing Enter. Press Esc to cancel the input.

Elements that you can modify


The various elements that you can modify are as follows:
z

33003101 07/2012

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.

1753

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
z
z
z
z

Functional modules,
Variables (see page 1748),
Sections (see page 1752).
Animation tables (see page 1753),
etc.

The tab of the element to be imported appears only if this element exists in the
functional module.
The following illustration presents the dialog box when a functional module is
imported:

1754

33003101 07/2012

Import / Export

Elements you can modify


The various elements you can modify are as follows:
z

33003101 07/2012

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.

1755

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
Save the Correspondence file to disk before launching the import command.
Failure to follow these instructions can result in injury or equipment damage.
Saving/Restoring modifications
The Load and Save commands allow you to:

1756

Command

Description

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:

33003101 07/2012

Unity Pro
Conversion Wizard
33003101 07/2012

Conversion Wizard

33003101 07/2012

1757

Conversion Wizard

1758

33003101 07/2012

Unity Pro
Conversion Wizard
33003101 07/2012

Conversion Wizard

54
Overview
This chapter describes the conversion wizard.
What Is in This Chapter?
This chapter contains the following sections:
Section

33003101 07/2012

Topic

Page

54.1

General Description of the Conversion Wizard

1760

54.2

Structure Tab of the Conversion Wizard

1768

54.3

I/O Remapping Tab of the Conversion Wizard

1773

54.4

CPU Configuration Tab of the Conversion Wizard

1793

1759

Conversion Wizard

54.1

General Description of the Conversion Wizard

Overview
This section provides a general description of the conversion wizard and how to
access the wizard.
What Is in This Section?
This section contains the following topics:
Topic

1760

Page

Introduction

1761

Access to Conversion Wizard

1763

General Representation

1765

Conversion and Result

1767

33003101 07/2012

Conversion Wizard

Introduction
Overview
The conversion wizard is an integrated part of Unity Pro.
The conversion wizard is used to:
z convert applications, exported out of legacy applications (PL7, Concept, LL984)
to Unity Pro
z convert legacy applications partially or as a whole
z remap I/O objects (channels, variables etc.) during conversion by means of the
wizard
z adapt the hardware configuration of the new application concurrently in Unity Pro
z modify the amount of used memory in the CPU
The conversion wizard is available if you have chosen to install a converter (e.g. PL7
Application Converter) during the setup of Unity Pro.
Application Conversion as a Whole
To convert an application as a whole, while keeping the same PLC family and
selection of application parts or remapping of I/O objects is not needed, you have to
use the specific converters directly via the Unity Pro menu File Open.
Additional documentation is provided for the specific converters (Concept
Application Converter and PL7 Application Converter).
Partial Application Conversion
To convert an application partially and/or the PLC family must be changed or
remapping of I/O objects is needed, use the conversion wizard via the Unity Pro
menu Tools Convert Partially.
General Procedure
General procedure to convert a legacy application to Unit Pro
Step

33003101 07/2012

Action

Export your application out of your legacy programming system (e.g. as an FEF
file out of PL7 or an ASC file out of Concept).

Create a new application in Unity Pro selecting a CPU with enough memory and
the I/O access capabilities needed (e.g. Modicon M340).
Optionally you can configure the I/O modules expected to be needed but you can
modify the hardware configuration even later (see step 6).

Launch the conversion wizard in Unity Pro via Tools Convert Partially.
Result: The conversion wizard asks you to select the exported legacy source file.

1761

Conversion Wizard

Step

1762

Action

Select the exported legacy source file.


Result: The converter analyzes the source file and displays the result in the 3 tabs
of the conversion wizard.

Select the parts of the application (or the complete application) to be converted in
the Structure tab.

Remap the I/O objects for getting them compliant with the new hardware
configuration.
Concurrently you can modify the hardware configuration of the new application in
Unity Pro.
Note: To save a backup file of your intermediate I/O mapping you can use the
Save button. With Load you can reload your latest saved intermediate I/O
mapping.

After finishing all your selections and manual modifications click OK.
Result: The converter applies the defined remapping to the selected parts of the
source file and imports the results into the opened Unity Pro Application (e.g. an
application with an Modicon M340 PLC).

Continue working on the opened application, save it or export it as a ZEF or XEF


file (see page 1738).

33003101 07/2012

Conversion Wizard

Access to Conversion Wizard


Accessing the Wizard
Step

33003101 07/2012

Action

Create a new application in Unity Pro selecting a CPU with enough memory and
the I/O access capabilities needed (e.g. Modicon M340).

Launch the conversion wizard in Unity Pro via Tools Convert Partially.

1763

Conversion Wizard

Step

Action

A file selection dialog is displayed, offering a choice of exported legacy


application files (e.g FEF files for PL7, ASC files for Concept etc.).

Select a file and confirm with Open.


Result: Depending on the kind of file selected the respective converter (PL7,
Concept, LL984) becomes active and analyzes the content of the selected file.
The result of the analysis is displayed in the 3 tabs of the conversion wizard.

Exported Files

1764

Software

Extension

Exported

PL7

*.fef

complete application

Concept

*.asc

complete application

Concept

*.sec

user-defined subset of sections

Concept

*.txt

user-defined subset of variables

Concept

*.ccf

configuration export to extract communication definitions

ProWORX32

*.pwx

complete application

MODSOFT

*.cfg

complete application

Unity Pro

*.xpg

tasks (without configuration)


33003101 07/2012

Conversion Wizard

General Representation
Overview

33003101 07/2012

1765

Conversion Wizard

Elements of the Wizard


Element
tabs

Description
The conversion wizard shows 3 tabs:
z Structure

In this tab you can select the parts of the application to be converted.
Please refer to Structure Tab of the Conversion Wizard, page 1768.
z IO Remapping
In this tab you can remap I/O objects before conversion.
Please refer to I/O Remapping Tab of the Conversion Wizard,
page 1773.
z CPU configuration
In this tab you can modify the amount of used memory in the CPU.
Please refer to CPU Configuration Tab of the Conversion Wizard,
page 1793.
Save...

Saves all your input made in the different tabs, as selecting the parts to
be converted or remapping of I/O objects, to a backup file. Each Save...
will overwrite your last backup file.

Load...

Restores all input, made in the different tabs, from a backup file.
There is only 1 level of backup file created with your last Save....

OK

Starts conversion taking into account all the input made in the different
tabs of the wizard.

Cancel

Cancels conversion and closes the wizard.

The content of the tabs may differ depending on the source code that is converted.

1766

33003101 07/2012

Conversion Wizard

Conversion and Result


Starting Conversion
Click the OK button to start converting the already prepared application.
XPG File
An XPG file containing all user corrections is saved during conversion.
z

In case of PL7 conversion an XPG file is saved to a user-related directory:


My Documents\PL7 Converter\<app name>\<app name.xpg>
This directory is different from the directory where the input file has been taken
from. This allows to read also from network directories with write-protection.
In case of Concept and LL984 conversion an XPG file is saved to the same
directory as where the source file is located.

NOTE: XPG format is used as output file format because it contains programs only,
but no configuration.
Automatic Import
The import of the converted application into the opened application is automatically
launched to free you from an otherwise additional operation step.
Report File
A report of conversion that gives the list of new mapping, warnings and what is not
converted, accompanies the XPG output file in the same user-related directory.
Application Build
To be able to build the application in Unity Pro correct the I/O mapping completely
and remove all other errors displayed during analysis of the application.

33003101 07/2012

1767

Conversion Wizard

54.2

Structure Tab of the Conversion Wizard

Overview
This section provides a description of the conversion wizards Structure tab and
how to select the parts of the application to be converted.
What Is in This Section?
This section contains the following topics:
Topic

1768

Page

Introduction

1769

Selecting Application Parts to be Converted

1771

33003101 07/2012

Conversion Wizard

Introduction
Overview
The Structure tab of the conversion wizard shows the analyzed legacy application
in a browser view.
In this browser you can select all parts of an application that should be converted.
Selectable Parts
The following parts of an application can be selected for conversion:
z program tasks and sections of programs in all programming languages, subset
list of sections
z subset list of subroutines
z subset list of animation tables
z subset list of DDTs and DFBs
z subset list of events
z subset list of I/O screen families and I/O screens (operator screens)
z variables
Depending on the legacy project, not all parts may exist.
NOTE: By default all parts of an application are selected for conversion.
I/O Screens (operator screens) can not be selected.
Variables
If you select the Variables part for conversion, all the variables that are declared
data (having a symbol or a comment) are taken into account during conversion.
Otherwise only data, called inside the selected sections, subroutines and events,
are converted.

33003101 07/2012

1769

Conversion Wizard

Browser View

The extension sign (+) in front of a directory indicates that there are selectable
subdirectories.

1770

33003101 07/2012

Conversion Wizard

Selecting Application Parts to be Converted


Overview
The Structure tab of the conversion wizard shows the analyzed legacy application
in a browser view.
In the browser view you can select the parts of an application to be converted.
You can either select single parts or all parts of a directory at once.
You can not select a directory itself.
Structure Tab

33003101 07/2012

1771

Conversion Wizard

Elements of the Tab


Element

Description

checkbox

A checkbox with a red checkmark indicates that this part should be converted.
An empty checkbox indicates that this part should not be converted.
Click the checkbox or the icon beside to toggle from checked to unchecked and
vice versa.

Comment

Displays the comment of a selected part in the browser view (read only).

Context Menu
Right click on an application part in the browser view to open a context menu.
This context menu provides the Select All and the Select None items.

1772

Element

Description

Select All

Click on any part of a directory and then click Select All to select
all parts of the respective directory.

Select None

Click on any part of a directory and then click Select None to


select all parts of the respective directory.

33003101 07/2012

Conversion Wizard

54.3

I/O Remapping Tab of the Conversion Wizard

Overview
This section provides a description of the conversion wizards I/O Remapping tab
and how to remap I/O objects before conversion.
What Is in This Section?
This section contains the following topics:
Topic
Introduction

33003101 07/2012

Page
1774

Remapping Table

1777

Remapping Channels, Groups of Channels or Specific I/O Types

1780

Clustering and Remapping of Memory Variables

1782

Memory Area Tabs of the Conversion Wizard

1784

Concurrent Editing

1786

Exclude, Communication -1, Type Restriction

1789

1773

Conversion Wizard

Introduction
Overview
The I/O Remapping tab of the conversion wizard shows the I/O objects of an
analyzed legacy application in a table view.
By means of this table view you can remap I/O objects before conversion.
The I/O Remapping tab provides additional features to ease special remapping
operations (Communication -1, Exclude, Type Restricted).
The I/O Remapping tab is applicable for all applications coming from PL7, Concept
or ProWORX32.
Syntax of I/O Objects
For the detailed syntax of I/O objects and their correspondences in Unity Pro please
refer to the specific documentation to be found under:
z Concept Converter -> Requirements and conversion -> Requirements -> System
z PL7 Converter -> Correspondence between PL7 and Unity Pro -> Correspondences between common language elements -> Correspondences between PL7
and Unity Pro: language objects
Address Column
Directly addressed I/O variables (topological addresses) are represented in the
Address column of the conversion wizard as shown in the following example.
Please also refer to PL7 Converter -> PL7 application conversion procedure ->
Conversion of a PL7 application -> Topological Addresses of PL7 Micro in the
Conversion Wizard.

1774

33003101 07/2012

Conversion Wizard

Embedded counter channels of a PL7 TSX Micro CPU

For detailed address description please refer to Languages Reference -> Data
Description -> Data Instances -> Direct Addressing Data Instances.
Corrected Column
The addresses in the I/O Remapping tab are formally adapted to Unity Pro syntax,
but have the same numerical values as before in PL7.
For details please refer to PL7 converter -> Correspondence between PL7 and Unity
Pro -> Correspondences between common language elements -> Correspondences between PL7 and Unity Pro: language objects -> Memory objects (variables
and constants).
In the Corrected column only direct addresses following the Unity Pro syntax may
appear.
If modules do not exist in Unity Pro, existing I/O objects have to be mapped
manually to other regular modules of the targeted PLC.
I/O Object Remapping
I/O Remapping is applicable to all selectable source formats and PLC families
coming from PL7, Concept or ProWORX32.

33003101 07/2012

1775

Conversion Wizard

Variable Families
Because applications can have very many variables, the variables are structured
into families.
A variable family is characterized by direct addresses of the same semantically
meaning, e.g. Word addresses or addresses of boolean variables.
Table View
The names of all variable families are listed in the table view.

If there is no extension sign (+) in front of a variable family, no object of this family
is present in the application.

1776

33003101 07/2012

Conversion Wizard

Remapping Table
Overview
The remapping table shows all variables with direct addresses used in the
application whether they are declared or not.
Even if directly addressed variables appear only in programs, they are detected and
displayed in this table.
Representation
I/O Remapping tab

33003101 07/2012

1777

Conversion Wizard

Elements of the Remapping Table


To see all columns of the table scroll horizontally.
Element

Description

Address

Topological or direct variable address


For detailed information please refer to paragraph below.

State RAM

This column is only available for Concept, Modsoft,


ProWORX32 or ProWORX Nxt applications with State RAM
assignments.
If the State RAM column is visible, the Correction column
only accepts State RAM addresses.

Correction

In this column you can enter corrections for the values of the
Address column. Use the same format as in Address
column.
Example:
Address: %I\1.1\1.4.1 -Correction: %I\1.1\1.3.1

Origin

Source module of the imported legacy application

Section

A comma-separated list of section names in which the


variable is used or the description of the hardware module, if
available in the application file.

Name

Symbolic name

Type

Variable type

Comment

Variable comment

Apply

Starts the defined remapping for the currently selected


variables.

Communication -1

Please refer toExclude, Communication -1, Type Restriction


(see page 1789).

Exclude
Type Restricted

Address
For data that have hierarchical elements, like channels for hardware modules in TSX
Premium and TSX Micro, there is an extension sign (+) to expand the list. For
example, an overview of the channels of the hardware modules is displayed.
The Address column shows the hierarchy of the topological addresses in tree form.
The rows are sorted according to the module addresses (e.g. %CH0.1*), which are
shown as:
%CH{\<Bus alias>.<Connection point>\}<Rack>.<Module>.*
The module addresses are derived from the hardware modules present in the
configuration part of the application file.
The addresses are composed with a wildcard character ".*". The wildcard
character stands for all channels of the hardware module (e.g. %CH0.1*).
1778

33003101 07/2012

Conversion Wizard

In the next level (e.g. %CH0.6.1.*), that can be expanded by clicking the extension
sign (+) in front of a module row, the channels of the module are listed.
This is done by additionally showing the channel number, followed by a wildcard
character ".*". The wildcard character stands here for the various data of the
channel, which can have more than 1 level.
Below the Channels item, there are the items for Input and Memory that are both
subdivided into Words and Bits. These 4 groups directly represent the State RAM
of the PLC. They only show those variables that are used in the entire program.
Unused I/O variables are not displayed here.
The 2 Memory groups contain clusters of memory items with consecutive
addresses. In these groups it is allowed to rearrange consecutive areas. This is not
allowed in the 2 Input groups.
Correction
You can define new start addresses for the memory items in the Memory Words
and Memory Bits groups. The new addresses are displayed in the Correction
column of the I/O Remapping tab. For further information on the remapping
process, refer to the chapter Clustering and Remapping of Memory Variables
(see page 1782).
Section
The Section column shows a comma-separated list of section names in which the
variable is used or the description of the hardware module, if available in the
application file.

33003101 07/2012

1779

Conversion Wizard

Remapping Channels, Groups of Channels or Specific I/O Types


Overview
There are several kinds of objects that are managed in hardware modules, for
example %IW, %QW, %MW, %I, %Q, etc.
By means of the conversion wizard you are able to
move all objects from one slot to another slot.
This is equivalent to search any kind of objects with e.g. addresses \4.0\2.*
and replace in all kind of objects with \5.2\3.*.
z move a subset of channels from one location to another one.
z

Procedure
Step

1780

Action

Select the rows of the data to be remapped either at the channels level or in levels below.

Right click anywhere in the selected area to open the context menu.

33003101 07/2012

Conversion Wizard

Step

Action

Select Define Target from the context menu.


The Define Target dialog opens.

Enter the address that should be assigned to the first selected row in the remapping table.

Click OK to confirm.
Result:
The selected rows are remapped incrementally starting from the new address entered for the first
selected row. Even addresses in levels below are remapped.
The new addresses are displayed in the Corrected column. See example below.

Example
Embedded counter channels of a PL7 TSX Micro CPU moved to a counting module
of a Modicon M340

Validity Check
There is no validity check of the new mapping with the opened application during
editing.
The check of consistency is done after converting the application, during the
analysis of the application in Unity Pro.
33003101 07/2012

1781

Conversion Wizard

Clustering and Remapping of Memory Variables


Overview
Not only topological addressed I/O objects, but also directly addressed memory is
structured similarly into clusters.
A cluster is a sequence of memory cells, in which immediate neighbor cells with an
address difference of 1 are collected.
Representation
The graphic below shows a cluster example with %MW1001.

1782

33003101 07/2012

Conversion Wizard

Remapping
Remapping can be applied to channels and such clusters.
Subsequent sets of clusters, subsequent sets of elements on lower levels, single
clusters or single elements can be selected and remapped by invoking the
command from the context menu. The new address will be displayed in the
Correction column.
Alignment of variables with type DINT, UDINT and REAL is automatically performed,
if a Modicon M340 configuration has been initially defined.

33003101 07/2012

1783

Conversion Wizard

Memory Area Tabs of the Conversion Wizard


Overview
The memory area tabs (%M (0x) to %MW (4x)) are only available for Concept,
Modsoft, ProWORX32 or ProWORX Nxt applications with State RAM assignments.
They show the variable allocation in the State RAM of the source application.
Memory Area Tabs (%M (0x) to %MW (4x))

The memory area tabs (%M (0x) to %MW (4x)) indicate the variable allocation of
the State RAM in the source application.

1784

33003101 07/2012

Conversion Wizard

The elements of the dialog are color-coded as follows:


Element

Color

module allocated variables

blue

language allocated variables

red

In this dialog, module allocated variables are dominant. This means that only
module allocation is indicated in the dialog, even if the variable is language
accessed.
Select a cell in the table to indicate the topological address of the variable in the
upper right corner of the dialog.
To display different memory areas, select the respective memory area tab (%M (0x),
%I (1x), %IW (3x), %MW (4x)).

33003101 07/2012

1785

Conversion Wizard

Concurrent Editing
Overview
The Conversion Wizard is a modeless window, i.e. you can work either in the
Conversion Wizard or for example in the Unity Pro hardware configuration window.
Therefore you can adapt the remapping and modify the hardware configuration
concurrently.
z You can adapt the default mapping done by the converter according to the real
hardware.
z You can concurrently modify the configuration of the new Unity Pro hardware.
z You can adapt the hardware configuration to the legacy application, while
remapping I/O objects according to the modularity of the modules that may be
different to legacy hardware.
Initial Situation
A new Modicon M340 configuration appears in the Unity Pro configuration editor.
The application of which parts have to be added is opened in the Conversion
Wizard.
The I/O channels used in the application appear in the I/O Remapping tab.

1786

33003101 07/2012

Conversion Wizard

Representation

33003101 07/2012

1787

Conversion Wizard

Interactive I/O Remapping


Step

Action

Select a channel group representing a module, e.g. CH1.1.*

Enter the corresponding target module into the configuration editor.

Open the target address dialog for the chosen channel group.

Enter the new channel assignment.

NOTE: It is required to enter a module to which a correction order refers into


configuration before giving the referring correction command.
The Conversion Wizard checks the Unity Pro configuration for the presence of the
module - if it is not there, the correction is not executed, leaving the target field blank.
If the module is present in the configuration, the Conversion Wizard reads out its
State RAM assignments done by the Unity Pro configuration and replaces the
assignments in the State RAM column by the new addresses.
Internally it keeps the old addresses and forms correction commands to the
Unity Pro-internal correction processor, which replaces all occurrences of the old
addresses with the new addresses, when acknowledgement is given with the OK
button.
Corrections for all modules can be collected before acknowledging, giving the ability
to correct also previous corrections.
No Automatic Notification
Even though you can adapt the remapping and modify the hardware configuration
concurrently, there is no automatic notification between hardware configuration and
Conversion Wizard about changes on either side.
NOTE: Following the conversion of the project, some adjustments may be needed
depending on the differences of behavior between the original hardware module and
the selected module in the Unity Pro platform.

1788

33003101 07/2012

Conversion Wizard

Exclude, Communication -1, Type Restriction


Overview
The IO Remapping tab provides additional features to ease special remapping
operations (Communication -1, Exclude, Type Restricted).
These operations can be executed by checking the appropriate checkboxes below
the remapping table.
Representation

33003101 07/2012

1789

Conversion Wizard

Communication -1
Premium or Modicon M340 memory is indexed starting with 0, whereas Compact or
Quantum memory indexing starts with 1.
If an application for the Compact or Quantum family is converted partially into a
Premium or Modicon M340 family application, and if this PLC must communicate
through the Modbus protocol with another PLC, it will be necessary to adapt the
addresses during the conversion to recover consistent exchanges with other PLCs.
The communication software introduces this offset.
To subtract a 1 of all selected addresses, which must be determined to be Modbus
communication related, activate the Communication -1 checkbox.
Exclude
To exclude I/O objects from conversion proceed as described below.
Step
1

Action
Select the I/O objects in the remapping table you want to exclude from
conversion.

Activate the Exclude checkbox.

Click the Apply button.


Result:
An X character is displayed in the Corrected column of the I/O objects excluded
from conversion.

Type Restricted
In some cases not all information of a channel has to be remapped commonly.
To remap variables that match to one type within a selection only, activate the Type
Restricted checkbox. See example below.
Type restriction applies to all kind of directly addressed variables.
%M internal variables
Variable

1790

Type

%M

bit

%MW

word

%MD (for Premium only)

double word

%MF (for Premium only)

real (floating point)

33003101 07/2012

Conversion Wizard

%K constants
Variable

Type

%KW

word constant

%KD (for Premium only)

double word constant

%KF (for Premium only)

real (floating point) constant

%I inputs
Variable

Type

%I

BOOL or EBOOL type bit

%IW

INT type word

%ID (for Premium only)

DINT type double word

%IF (for Premium only)

REAL type real (floating point)

%Q outputs

33003101 07/2012

Variable

Type

%Q

EBOOL type bit

%QW

INT type word

%QD (for Premium only)

DINT type double word

%QF (for Premium only)

REAL type real (floating point)

1791

Conversion Wizard

Type Restricted Example


For example the Type Restricted feature allows to remap all %MW variables at
once to a module in the target family.
Step

1792

Action

Select the variables to be remapped.

Activate the Type Restricted checkbox.

Select Define Target from the context menu and enter the new address for the
first variable to be remapped.

All addresses, which have the same type (e.g. %MW) as the first one selected,
are remapped.

33003101 07/2012

Conversion Wizard

54.4

CPU Configuration Tab of the Conversion Wizard

Introduction
Overview
The CPU Configuration tab of the conversion wizard allows to modify the amount
of used memory in the CPU.
The merge of corrected values and original values is put directly to the opened
application.
If there is a corrected value, it is used; otherwise the original value is taken.
The limits are check after converting the application, during the analysis of the
application in Unity Pro only.
The CPU Configuration tab is available for all PLC families with the exception that
the input for Constant Words is not available for the Quantum family.
CPU Configuration Tab
To modify the values type the new values directly into the respective rows of the
Corrected column.

33003101 07/2012

1793

Conversion Wizard

1794

33003101 07/2012

Unity Pro
33003101 07/2012

Appendices

Subject of this Part


This part presents the hyperlink functions, the ergonomics, and the shortcuts of
Unity Pro.
What Is in This Appendix?
The appendix contains the following chapters:
Chapter

33003101 07/2012

Chapter Name

Page

Hyperlinks in Unity Pro

1797

User Interface

1863

Keyboard Shortcuts

1895

1795

1796

33003101 07/2012

Unity Pro
Introduction to hyperlinks
33003101 07/2012

Hyperlinks in Unity Pro

A
Subject of this Chapter
This chapter describes how to use hyperlinks (hypertext) in Unity Pro.
What Is in This Chapter?
This chapter contains the following sections:
Section

33003101 07/2012

Topic

Page

A.1

General

1798

A.2

Principles

1802

A.3

Hyperlinks in the project browser

1813

A.4

Hyperlink in the data editor

1820

A.5

Hyperlinks in the DFB type attributes

1828

A.6

Hyperlinks in animation tables

1838

A.7

Hyperlinks in runtime screens

1845

A.8

Hyperlinks in the documentation folder

1852

A.9

Hyperlinks and drag-and-drop

1859

1797

Introduction to hyperlinks

A.1

General

Object of this sub-section


This sub-section provides general information about hyperlinks.
What Is in This Section?
This section contains the following topics:
Topic

1798

Page

Introduction to Hyperlinks

1799

Representation and opening of a hyperlink

1801

33003101 07/2012

Introduction to hyperlinks

Introduction to Hyperlinks
General
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,

help screens,

miscellaneous notes,

images,

web pages,

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 alarms
characteristics.
Hyperlinks and Project Browser
You can create hyperlinks in the project browser. They will be managed like shortcut
sheets in a directory.
Example:

NOTE: To drop a hyperlink in a blank user directory, you must press the shift key
during drag-and-drop.

33003101 07/2012

1799

Introduction to hyperlinks

Hyperlinks and Comments


You can also create hyperlinks from a comment field. A hyperlink in a comment is
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,

the animation tables,

the operator screens,

documentation.

Example:

1800

33003101 07/2012

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.

33003101 07/2012

1801

Introduction to hyperlinks

A.2

Principles

Object of this sub-section


This sub-section presents the main operate-modes and characteristics of
hyperlinks.
What Is in This Section?
This section contains the following topics:
Topic

1802

Page

Definitions

1803

Overview of operate-modes

1804

1-step mode

1805

2-step mode

1806

Description of the Hyperlink Comment Window

1808

Properties

1811

List of barred characters

1812

33003101 07/2012

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 documents 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

33003101 07/2012

Hyperlink target

.doc

Microsoft Word

.xls

Microsoft Excel

.txt

NotePad

.htm
.html
.asp
.shtml

Microsoft Internet Explorer


Netscape
WEB browser

.bmp
.jpg
.gif

Paint
Paint shop

.png

Microsoft Photo Editor

1803

Introduction to hyperlinks

Overview of operate-modes
Operate-modes
There are two operate-modes for creating and accessing a hyperlink:
z

1-step (see page 1805)mode,

2-step (see page 1806)mode.

Each of these modes is applied to specific functions of the Unity Pro application.

1804

33003101 07/2012

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 functions
You can create a hyperlink in comments and objects that belong to the following
functions:

33003101 07/2012

In the project browser:


z directories and sub-directories of the browser,
z hyperlink directory.

In the data editor on:


z elementary variable (EDT) comment,
z function block (DFB/FB) instance comment,
z derived variable (DDT) comment.

In animation tables on:


z variable (EDT/DDT/FB) comment.

In operator screens on:


z text graphical object,
z animated text objects with a message.

1805

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-step mode
The table below describes how to access the 2-step mode:
Step

1806

Action

Use the project browser to select the General Information sub-directory of the
Documentation directory.

Select Open in the contextual menu.


Result: The General Information (see page 1808) window appears.

Click on the underlined comment in blue to open the linked document.

33003101 07/2012

Introduction to hyperlinks

Available functions
You can create a hyperlink with the 2-step mode in comments and objects that
belong to the following functions:

33003101 07/2012

In the project folder:


z general information about the folder.

In DFB type attributes.

1807

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.

Toolbar
The toolbar is made up of different icons.

The table below presents the various functions of the icons.


Icon

1808

Shortcut

Description

Ctrl + N

Creates a new comment by deleting the comment that has already been
written.

33003101 07/2012

Introduction to hyperlinks

Icon

Shortcut

Description

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.

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.

33003101 07/2012

1809

Introduction to hyperlinks

Status Bar
The status bar is made up of different elements.

The table below presents the various functions of these elements.


Element

Description
Automatic line skip with a long comment.
Check to validate this function.

Allows the comment to be entered. If you dont check this box, you will
not be able to write or modify the comment.
Check to validate this function.
Confirm the editing of the comment.

Cancel.

Explains the description of checked boxes.


Shows the position of the cursor in the comment entry field (row column).

1810

33003101 07/2012

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 page 1859) icons between the file explorer and the
hyperlink insertion windows. You can, for example, insert the full path of the target
document.

33003101 07/2012

1811

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 characters
16-bit UNICODE characters outside the ANSI range are not allowed.

1812

33003101 07/2012

Introduction to hyperlinks

A.3

Hyperlinks in the project browser

Object of this sub-section


This sub-section presents the operate-mode for creating, selecting and deleting a
hyperlink in the project browser.
What Is in This Section?
This section contains the following topics:
Topic
Creating a hyperlink in the project browser

33003101 07/2012

Page
1814

Editing the properties of a hyperlink in the project browser

1816

Opening a hyperlink from the project browser

1818

Deleting a hyperlink in the project browser

1819

1813

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

1814

Action

Select the desired directory in the Project browser:

Right-click the selected directory.


Result: The contextual menu appears.

Click on Add Hyperlink in the contextual menu.


Result: The Hyperlink Properties dialog box appears.

33003101 07/2012

Introduction to hyperlinks

Step

Action

Enter the name of the hyperlink in the User Name field.

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).

33003101 07/2012

If you want to add a comment, select the Comment tab and enter your text in
the entry field.

Click OK to confirm your choice.

1815

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

1816

Action

Select the hyperlink to be edited in the Project browser.

Right-click the selected hyperlink.


Result: The contextual menu appears.

Click on Properties in the contextual menu.


Result: The Hyperlink Properties dialog box appears.

Modify the name of the hyperlink in the User Name field.

33003101 07/2012

Introduction to hyperlinks

Step
5

Action
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).

33003101 07/2012

If you want to add a comment, select the Comment tab and enter your text in
the entry field.

Click OK to confirm the changes or Cancel to cancel.

1817

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

Select the hyperlink in the Project browser:

Double click on the hyperlink


represented by an icon with the name
given to it when it was created.

Right-click the selected hyperlink.


Result: The contextual menu appears.

example:

3
4

1818

Select Open in the contextual menu.


Result: The external document is launched.

33003101 07/2012

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

33003101 07/2012

Action

Select the hyperlink to be deleted in the Project browser.

Right-click the selected hyperlink.


Result: The contextual menu appears.

Click Delete in the contextual menu.


Result: The hyperlink disappears.

1819

Introduction to hyperlinks

A.4

Hyperlink in the data editor

Object of this sub-section


This sub-section presents the operate-mode for creating, selecting, editing and
deleting a hyperlink in the data editor.
What Is in This Section?
This section contains the following topics:
Topic
Creating a hyperlink in the data editor

1820

Page
1821

Editing a hyperlink in the data editor

1823

Selecting a hyperlink in the data editor

1825

Deleting a hyperlink in the data editor

1826

33003101 07/2012

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

Open the data editor.

Select the comment where you wish to create a hyperlink in the Comment column of the Variables tab.

Right-click the selected comment.


Result: The contextual menu appears.

33003101 07/2012

1821

Introduction to hyperlinks

Step

Action

Click on Hyperlink in the contextual menu.


Result: The Edit Hyperlink dialog box appears.

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

1822

Click OK to confirm your choice.

33003101 07/2012

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

Open the data editor.

Select the hyperlink comment to be edited in the Comment column of the Variables tab.

Right-click the selected comment.


Result: The contextual menu appears.

33003101 07/2012

1823

Introduction to hyperlinks

Step

Action

Click on Hyperlink in the contextual menu.


Result: The Edit Hyperlink dialog box appears.

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).

1824

Click OK to confirm the changes or Cancel to cancel.

33003101 07/2012

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

33003101 07/2012

Action

Open the data editor.

In the Comment column of the Variables tab, click on the required hyperlink
(text in blue/mouse cursor changes to a hand).

1825

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

1826

Action

Open the data editor.

Select the comment to be deleted in the Comment column of the Variables tab.

Right-click the selected comment.


Result: The contextual menu appears.

33003101 07/2012

Introduction to hyperlinks

Step

Action

Click on Hyperlink in the contextual menu.


Result: The Edit Hyperlink dialog box appears.

Click Delete: the text in the Type the file or Web page name field is deleted.

Click OK to confirm your choice. The hyperlink is deleted.

33003101 07/2012

1827

Introduction to hyperlinks

A.5

Hyperlinks in the DFB type attributes

Object of this sub-section


This sub-section presents the operate-mode for creating, editing and deleting a
hyperlink in the DFB type attributes.
What Is in This Section?
This section contains the following topics:
Topic

1828

Page

Creating a Hyperlink from DFB Type Attributes

1829

Modifying a Hyperlink from DFB Type Attributes

1831

Selecting a Hyperlink from DFB Type Attributes

1833

Deleting a Hyperlink from DFB Type Attributes

1835

33003101 07/2012

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 page 1200) 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

33003101 07/2012

Action

Go to the DFB Types (see page 1185) tab of the data editor.

Right-click the DFB type that you want to use to create a hyperlink.
Result: the contextual menu appears.

Choose the Data Properties command.


Result: the corresponding dialog box appears on the screen.

1829

Introduction to hyperlinks

Step
4

Action
Click on the Descriptive form tab, then on the Edit button.
Result: the Descriptive form window appears.

Details of window (see page 1808)


5

Enter a comment in the entry field.

Select one or more words (contiguous) from the comment you have entered and
click on the

icon.

Result: the Insert 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 filename 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).

1830

Click OK to confirm your choice.

33003101 07/2012

Introduction to hyperlinks

Modifying 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

33003101 07/2012

Action

Go to the DFB Types (see page 1185) tab of the data editor.

Right-click the DFB type whose hyperlink you wish to edit.


Result: the contextual menu appears.

Choose the Data Properties command.


Result: the corresponding dialog box appears on the screen.

Select the Descriptive form tab, and click on the Edit button.
Result: the Descriptive form window appears.

1831

Introduction to hyperlinks

Step

1832

Action

Right click in the entry field, positioning the mouse on the hyperlink to edit.
Result: the contextual menu appears.

Click on Edit hyperlink in the contextual menu.


Result: the Edit hyperlink window appears.

The name of the hyperlink appears in the Text to display field.


In the Type the filename 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).

Click OK to confirm your choice.

33003101 07/2012

Introduction to hyperlinks

Selecting a Hyperlink from DFB Type Attributes


Procedure
The table below describes the procedure for opening a hyperlink from DFB type
attributes.
Step

33003101 07/2012

Action

Go to the DFB Types (see page 1185) tab of the data editor.

Right-click the DFB type whose hyperlink you wish to select.


Result: the contextual menu appears.

Choose the Data Properties command.


Result: the corresponding dialog box appears on the screen.

1833

Introduction to hyperlinks

Step

1834

Action

From the Descriptive form tab, click on the Edit button.


Result: the Descriptive form window appears.

In the Descriptive form window, click on the required hyperlink (text underlined
in blue/mouse cursor changes to a hand).

33003101 07/2012

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

33003101 07/2012

Action

Go to the DFB Types (see page 1185) tab of the data editor.

Right-click the DFB type whose hyperlink you wish to delete.


Result: the contextual menu appears.

Choose the Data Properties command.


Result: the corresponding dialog box appears on the screen.

1835

Introduction to hyperlinks

Step
4

Action
From the Descriptive form tab, click on the Edit button.
Result: the Descriptive form window appears.

Details of window (see page 1808)


5

1836

Right click in the entry field, positioning the mouse on the hyperlink to be
deleted.
Result: the contextual menu appears.

33003101 07/2012

Introduction to hyperlinks

Step

33003101 07/2012

Action

Click on Remove hyperlink in the contextual menu.


Result: the Remove hyperlink window appears.

You do not have access to the Text to display or Confirm the deletion of this
hyperlink entry fields.

Click OK to confirm your choice or click Cancel to cancel.

1837

Introduction to hyperlinks

A.6

Hyperlinks in animation tables

Object of this sub-section


This sub-section presents the operate-modes for accessing a hyperlink in the
animation tables.
What Is in This Section?
This section contains the following topics:
Topic
Creating a hyperlink in an animation table

1838

Page
1839

Editing a hyperlink from an animation table

1841

Selecting a hyperlink from an animation table

1843

Deleting a hyperlink from an animation table

1844

33003101 07/2012

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

33003101 07/2012

Action

Opening an animation table.

Select the variable where the hyperlink is to be created.

Select Data Properties from the contextual menu.


Result: The Data Properties dialog box appears.

Enter your comment in the comment line in the value column.

Select the comment.

Select Hyperlink in the contextual menu.


Result: The Edit Hyperlink window appears.

1839

Introduction to hyperlinks

Step
7

Action
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).

1840

Click OK to confirm your choice.

33003101 07/2012

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

33003101 07/2012

Action

Opening an animation table.

Select the variable where the hyperlink is located in the comment.

Select Data Properties from the contextual menu.


Result: The corresponding dialog box appears on the screen.

Select the comment.

Select Edit Hyperlink in the contextual menu.


Result: The Edit Hyperlink window appears.

1841

Introduction to hyperlinks

Step

1842

Action

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).

Click OK to confirm your choice.

33003101 07/2012

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

33003101 07/2012

Action

Open an animation table.

In the Comment column, double-click on the hyperlink for the selected variable.

1843

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 page 1839)
from the Data Properties window.

1844

Step

Action

After creating (see page 1839) a hyperlink in a comment for a variable,


the Data Properties window remains open.

Select the comment from which the hyperlink is to be deleted.

Select Delete Hyperlink in the contextual menu.

33003101 07/2012

Introduction to hyperlinks

A.7

Hyperlinks in runtime screens

Object of this sub-section


This sub-section presents the operate-mode for creating, editing and deleting a
hyperlink in runtime screens.
What Is in This Section?
This section contains the following topics:
Topic
Creating a hyperlink from operator screens

33003101 07/2012

Page
1846

Editing a hyperlink in the operator screens

1848

Selecting a hyperlink in an operator screen

1850

Deleting a hyperlink in an operator screen

1851

1845

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

Open an operator screen.

Select a Text object or create one.

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.

1846

33003101 07/2012

Introduction to hyperlinks

Step
5

Action
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).

33003101 07/2012

Click OK to confirm your choice.

1847

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

Open the operator screen.

Select the Text object to be edited.

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.

1848

33003101 07/2012

Introduction to hyperlinks

Step
5

Action
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

33003101 07/2012

Click OK to confirm the changes or Cancel to cancel.

1849

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

Open an operator screen.

Click on the underlined text and the mouse cursor is changed into a thumbnail.

Result: The document associated with the hyperlink is opened.

1850

33003101 07/2012

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

Open the operator screen.

Select the Text object or hyperlink to be deleted.

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.

Click Clear: the text in the Type the file or Web page name field is cleared.

Click OK to confirm your choice. The hyperlink is deleted.

33003101 07/2012

1851

Introduction to hyperlinks

A.8

Hyperlinks in the documentation folder

Object of this sub-section


This sub-section presents the operate-mode for creating, editing and deleting a
hyperlink in the documentation folder of a Unity Pro project.
What Is in This Section?
This section contains the following topics:
Topic
Creating a hyperlink in the general information of the project folder

1852

Page
1853

Editing a hyperlink in the documentation folder

1855

Deleting a hyperlink in the documentation folder

1857

33003101 07/2012

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

Use the project browser to select the General Information sub-directory of the
Documentation directory.

Select Open in the contextual menu.


Result: The General Information window appears.

Details of window (see page 1808)


3

33003101 07/2012

Enter a comment in the entry field.

1853

Introduction to hyperlinks

Step
4

Action
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).

1854

Click OK to confirm your choice.

33003101 07/2012

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

Use the project browser to select the General Information sub-directory of the
Documentation directory.

Select Open in the contextual menu.


Result: The General Information window appears.

Details of window (see page 1808)

33003101 07/2012

1855

Introduction to hyperlinks

Step

Action

Right click in the entry field, positioning the mouse on the hyperlink to edit
Result: The contextual menu appears.

Click on Edit Hyperlink in the contextual menu.


Result: The Edit Hyperlink window appears.

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

1856

Click OK to confirm your choice.

33003101 07/2012

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

Use the project browser to select the General Information sub-directory of the
Documentation directory.

Select Open in the contextual menu.


Result: The General Information window appears.

Details of window (see page 1808)

33003101 07/2012

1857

Introduction to hyperlinks

Step

1858

Action

Right click in the entry field, positioning the mouse on the hyperlink to be deleted
Result: The contextual menu appears.

Click on Delete Hyperlink in the contextual menu.


Result: The Delete Hyperlink window appears.

You do not have access to the Text to display or Confirm hyperlink deletion
entry fields.

Click OK to confirm your choice or click Cancel to cancel.

33003101 07/2012

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,

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

33003101 07/2012

Action

Locate the target document in the explorer.

In Unity Pro, open either the Hyperlink Properties, Edit Hyperlink or Insert
Hyperlink dialog box.

Size and move the Unity Pro and explorer windows so they are displayed side
by side on the screen without overlapping.

1859

Introduction to hyperlinks

Step
4

1860

Action
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.

33003101 07/2012

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

In Unity Pro, open the General Information window from the Documentation directory.

Open the text file.

Size the Unity Pro and explorer windows to display them side by side on the screen.

Select the text to be moved in the text file.

33003101 07/2012

1861

Introduction to hyperlinks

Step
5

Action
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.

1862

33003101 07/2012

Unity Pro
User Interface
33003101 07/2012

User Interface

B
Overview
This chapter describes the Unity Pro user interface. It provides an overview of the
elements used and how they are used.
What Is in This Chapter?
This chapter contains the following topics:
Topic

33003101 07/2012

Page

Window

1864

Anchored window

1867

Menus

1870

Menu commands

1872

Toolbar

1875

Output windows

1880

Status bar

1882

Directory Structures

1884

Using the Mouse

1886

Using the Keyboard

1887

Data selection boxes

1889

Dialog boxes

1891

1863

User Interface

Window
Introduction
In Windows there are two types of windows:
Application windows
z Documentation windows
z

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

1864

33003101 07/2012

User Interface

Types of windows:

Application windows
When you start Unity Pro, an application window will open on your desktop. You can
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.
33003101 07/2012

1865

User Interface

Documentation windows
When you open or create a project you can open various documentation 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 page 1870) and the toolbar (see page 1875)
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 page 1867)

1866

33003101 07/2012

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.

33003101 07/2012

1867

User Interface

Example of use
An example of an anchored window is the project browser:

1868

33003101 07/2012

User Interface

Anchoring windows
Process the following steps to anchor a window:
Step

33003101 07/2012

Action

Click the title bar of the anchored window and keep the mouse button pressed.

Drag the window close to an application window edge.


Result: The window frame displays the future position of the window.

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.

1869

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 menus
The titles of the individual menus are displayed in the menu bar. The individual menu
commands (see page 1872) 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 page 1872)). 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.
Menu bar with pulldown menu:

Submenus
The title of a submenu is a menu command (see page 1872) 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.

1870

33003101 07/2012

User Interface

Menu with submenu:

Shortcut or popup menus


Shortcut menus are menus which contain menu commands (see page 1872)
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.
Object with shortcut menu:

33003101 07/2012

1871

User Interface

Menu commands
Introduction
Menu commands are used to execute commands or to call dialog boxes.
Example of a menu with menu commands:

Keyboard shortcuts or mnemonics


Keyboard shortcuts (underlined letters) in menu commands allow you to select
menu commands using the keyboard. A main menu (menu title) and subsequently
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 command
If a menu command is not available it is grayed out. One or more other commands
must be executed before the desired menu command can be executed.
Periods () after the menu command
On execution of this menu command a dialog box is opened with options, which
must be selected before execution.

1872

33003101 07/2012

User Interface

Checkmark () in front of the menu command


The menu command is enabled. If the menu command is selected, the checkmark
disappears and the menu command is disabled. The checkmark is mostly used to
identify enabled 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, Ctrl+S to execute the menu command Save.
Starting external applications
Process the following steps to launch external applications from Unity Pro:
Step
1

33003101 07/2012

Action
Open (see page 532) Tools Adjust the Tools tab.

Click the Add button.

In the Menu Text field, enter the name of the menu item to be created (e.g.
Motor Variables).

In the Command field, enter the path to the program to be launched (e.g.
Microsoft Excel).

In the Arguments field, enter the name of the file to be opened (e.g.
Motor_Variables.xls).

1873

User Interface

Step

1874

Action

In the Output Directory field, enter the path to the file to be opened.
Display of the Tools tab:

Confirm the entries with OK.


Result: In the main menu Tools a menu command to launch the selected
application will be generated (in this example Motor Variables).
Example:

33003101 07/2012

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.
Example of a common toolbar:

Available toolbars
Standard toolbars are divided into two groups:
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.

33003101 07/2012

1875

User Interface

Main menu toolbars


The following main menu toolbars are available by default:
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, Whats 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 hiding


You have three options to hide a toolbar (to close it):
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 positions
Toolbars can be anchored in the common toolbar (standard) or in different positions
inside the application window. Toolbars can also be freely positioned on the screen
(also outside of the application window).

1876

33003101 07/2012

User Interface

Example of different toolbar positions:

Changing the position of a toolbar


Process the following steps to change the position of a toolbar:
Step

33003101 07/2012

Action

Click the toolbar separator and hold the mouse button down.

Drag the toolbar to the target position inside or outside the common toolbar.
Result: The window frame displays the intended position of the toolbar.

1877

User Interface

Step
3

Action
Release the mouse button.
Result: The toolbar is moved to the target position.
On the new position, the toolbar is
z anchored (see page 1867),
when the new position of the toolbar is on the border or outside of the
application window
z not anchored (see page 1867),
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 contents of a toolbar


Process the following steps to modify the contents of a toolbar:
Step

Action

Open the Customize dialog box, see also Call the dialog box:, page 532.

Click the symbol to be moved in the source toolbar and hold the mouse button
down.

Drag the symbol to the target position within the destination toolbar.
Result: A frame displays the intended position in the toolbar.

Release the mouse button.


Result: The symbol is removed from the source toolbar and inserted into the
destination toolbar.

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.

Restoring toolbars
Process the following steps to restore the original state of a toolbar:
Step
1

1878

Action
Open the Customize dialog box, see also Call the dialog box:, page 532.

In the Toolbars list box, select the toolbar to be restored.

Click the Reset command button.


Result: The original state of the toolbar is restored.

33003101 07/2012

User Interface

Creating your own toolbars


Process the following steps to create your own toolbars:
Step

33003101 07/2012

Action

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 Call the dialog box:, page 532.

Click New....
Result: A dialog for defining the toolbar name is opened.

Enter a name and confirm with OK.


Result: An empty toolbar is created and the name of the toolbar appears in the
toolbar list.

Click the symbol to be moved in the source toolbar and hold the mouse button
down.

Drag the symbol to the target position within the new toolbar.
Result: A frame displays the intended position in the toolbar.

Release the mouse button.


Result: The symbol is removed from the source toolbar and inserted into the
destination toolbar.

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.

Drag the new toolbar to the target position, see also Changing the position of a
toolbar, page 1877.

1879

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 page 1867).
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:
the View Output Window menu command
or
z the Alt+0 key combination.
z

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:

1880

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.
33003101 07/2012

User Interface

Output sheet

Function

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.
Go to previous error
Jumps to the previous line and calls the faulty programming language section, the
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.

33003101 07/2012

1881

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
An application can have different modes:
z HMI R/W mode - Human Machine Interface Read/Write mode:
This is the default mode when opening an application.
z HMI R/O mode - Human Machine Interface Read only mode:
This mode is active, when:
Applications are opened in Read Only mode, by checking the option "Open the
project in read-only mode" in the open file window.
Opening an application previously opened in Write mode with third party
software (using Pserver). A pop up window alerts the user at the opening.
This mode does not allow any savings of the application.
When Using third party application with Pserver, Unity Pro XL can be launch
without the Unity Pro graphical Interface generally called as a Human Machine
Interface. In this case, a dialog box prompt the user if it should switch on the
current PServer Instance.
3. Link status (Offline, Different, Equal)
4. An "*" is displayed when the initial value in the project is different/modified from
the initial value on the PLC
5. PLC status (Running, Stopped, etc.)
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. Memory status:
z Green: fragmentation <50% or memory usage <50%
z Red: fragmentation >70% and memory usage >70%
z Yellow: all other cases
10.Generate status (Generated, Not Built)
11.In the connected equal mode the red F indicates that the bits or words have
been forced in the PLC. Click on this F to display animation table containing an
exhaustive list of the variables (bits/ words) forced

1882

33003101 07/2012

User Interface

12.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.
13.Indicates whether insert or overwrite mode is active.
14.Indicates whether the Caps lock button is active.
Example: Offline status bar
Offline status bar:

Example: Online status bar


Online status bar:

33003101 07/2012

1883

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 text colors


The text colors have the following meaning:
Text color

1884

Meaning

black

Information is correct and can be edited

gray

Information is correct and write protected

red

Information is incorrect

33003101 07/2012

User Interface

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.
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 Data and Languages, page 520 dialog box.
Switching from edit mode to selection mode is done by pressing the Enter key or by
pressing an error key.

33003101 07/2012

1885

User Interface

Using the Mouse


Mouse Functions
The following mouse functions are available:

1886

Mouse function

In select mode

In edit mode

Click on links

z Click +/- button:

z Click +/- button:

Open/close the substructure.


z Click on cell:
Selects the lines in the cell
clicked and the cell becomes
the current cell.
z Click on check box:
Activate/deactivate the check
box
z Click on icon:
-

Saves the information entered


(if valid) and opens/closes the
substructure.
z Click on cell:
Saves the information entered
(if valid) and selects the lines in
the cell clicked.
z Click on check box:
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
links

z Double-click on names:

z Double-click on names:
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.
z Double-click on the vertical line
in the column header:
in the column header:
Column width is adjusted to the
Saves the information entered
current contents.
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.
z Double-click on the column
column contents
header cell:
Saves the information entered
(if valid) and lists will be sorted
according to the column
contents.

SHIFT+Click on
links

Selects consecutive elements.


Saves the information entered (if
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


available) for the object currently
being clicked.

Saves the information entered (if


valid) and selects the lines in the
cell clicked.

33003101 07/2012

User Interface

Using the Keyboard


Key functions
The following key functions are available:

33003101 07/2012

Key function

In select mode

In edit mode

Enter

Opens the current cell in edit


mode

Saves the information entered (if


valid).

Esc

Ends edit mode without saving.

Up arrow

Deselects the current cell and


Saves the information entered (if
selects the previous cell (upward). valid), deselects the current cells
and selects the previous cell
(upwards).

Cursor down

Deselects the current cell and


Saves the information entered (if
selects the next cell (downwards). valid), deselects the current cells
and selects the previous cell
(downwards).

Left arrow

Deselects the current cell and


selects the previous cell (left).

Saves the information entered (if


valid), deselects the current cells
and selects the previous cell (to
the left).

Right arrow

Deselects the current cell and


selects the next cell (right).

Saves the information entered (if


valid), deselects the current cells
and selects the next cell (to the
right).

Shift+Up arrow

Selects multiple lines in upward


direction.

Shift+Down arrow

Selects multiple lines in downward 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


becomes the current cell.

Sets the insertion point at the


beginning of the current line.

1887

User Interface

1888

Key function

In select mode

In edit mode

Ctrl+Home

Selects the first line in the table


and the first cell becomes the
current cell.

Sets the insertion point at the


beginning of the first line.

End

The last cell in the selected line


becomes the current cell.

Sets the insertion point at the end


of the current line.

Ctrl+End

Selects the last line in the table


and the first cell becomes the
current cell.

Sets the insertion point at the end


of the last line.

33003101 07/2012

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 ( ... ).

33003101 07/2012

1889

User Interface

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

1890

button.

33003101 07/2012

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.
Basic elements of a window:

33003101 07/2012

1891

User Interface

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.

1892

33003101 07/2012

User Interface

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.
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 boxes
A single line list box initially appears as a rectangular box, in which the current
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 boxes
See section Data selection boxes, page 1889
Directory structures
See section Directory Structures, page 1884

33003101 07/2012

1893

User Interface

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.

1894

33003101 07/2012

Unity Pro
Keyboard Shortcuts
33003101 07/2012

Keyboard Shortcuts

C
Overview
This chapter describes the keyboard shortcuts of the Unity Pro program.
What Is in This Chapter?
This chapter contains the following sections:
Section

33003101 07/2012

Topic

Page

C.1

General Keyboard Shortcuts

1896

C.2

Configuring the Project

1900

C.3

Creating the Project

1901

C.4

Operating the Project

1912

C.5

Documenting the Project

1918

1895

Keyboard Shortcuts

C.1

General Keyboard Shortcuts

Object of this section


This section provides general information about commonly used keyboard
shortcuts. It also provides information about a widely-used browser, namely the
Project Browser.
What Is in This Section?
This section contains the following topics:
Topic

1896

Page

Bus Editor Keyboard Shortcuts

1897

Unity Pro Main Screen and Project Browser Keyboard Shortcuts

1898

33003101 07/2012

Keyboard Shortcuts

Bus Editor Keyboard Shortcuts


Introduction
Numerous actions or commands can be performed with the mouse as well as the
keyboard. The shortcuts that you can use in the Bus Editor are described in the table
below. Furthermore, most of the general keyboard shortcuts are available in the
General Keyboard shortcuts (see page 1898) map.
Keyboard Shortcuts
This table describes the Bus Editor keyboard shortcuts.

33003101 07/2012

Action

Menu

Keyboard Shortcut

Open the New Device windows

Edit

Ctrl+Enter

Open the PLC Configuration windows

Edit

Ctrl+Alt+Enter

1897

Keyboard Shortcuts

Unity Pro Main Screen and Project Browser Keyboard Shortcuts


Introduction
Numerous actions or commands can be performed with the mouse as well as the
keyboard. The shortcuts that you can use in the Unity Pro main screen and in the
Project Browser when a project is opened are described in the table below.
Keyboard Shortcuts
This table describes the Unity Pro main screen and the Project Browser keyboard
shortcuts when a project is opened:
Action

Menu

Keyboard Shortcut

Create a project

File

Ctrl+N

Open an existing project

File

Ctrl+O

Save an existing project

File

Ctrl+S

Print part of an existing project

File

Ctrl+P

Display properties

Edit

Alt+Enter

Display a full screen

View

Ctrl+F8

Undo the preceeding action

Edit

Ctrl+Z

Redo the preceeding action

Edit

Ctrl+Y

Cut an item

Edit

Ctrl+X

Copy an item

Edit

Ctrl+C

Select all an item

Edit

Ctrl+A

Paste an item

Edit

Ctrl+V

Delete an item

Edit

Del

Show or hide the ouput windows

View

Alt+0

Animate the project

Services

Ctrl+J

Initialize Search

Services

Ctrl+U

Create an animation table

Services

Ctrl+T

Display the Project Browser

Tools

Alt+1

Display the Hardware Catalog

Tools

Alt+2

Display the Types Library Browser

Tools

Alt+3

Display the Operator Screen Library

Tools

Alt+4

Search for Cross-References

Tools

Alt+5

Display the Diagnostic Viewer

Tools

Alt+6

Display the PLC Screen

Tools

Alt+7

Display the Variable Window

Tools

Alt+8

1898

33003101 07/2012

Keyboard Shortcuts

Action

Menu

Keyboard Shortcut

Open the Data Editor

Tools

Alt+9

Insert

Edit

Ins

Display the Data Properties

Edit

Ctrl+Enter

Analyze a Type

Build

Ctrl+Shift+B

Control the Changes

Build

Ctrl+B

Connect or disconnect a PLC

PLC

Ctrl+K

Transfer a project to PLC

PLC

Ctrl+L

Transfer a project from a PLC

PLC

Ctrl+Shift+L

Put a Quantum Safety PLC in maintenance or safety mode

PLC

Ctrl+Shift+M

Run or stop a PLC

PLC

Ctrl+R

Whats this

Help

Shift+F1

NOTE: When a project is closed, the Tools and PLC tab shortcuts in the PLC menu
are not available but it is still possible to use the Ctrl+K shortcut. The shortcuts from
the File, View and Help tab shortcuts are available.
NOTE: Commands without shortcuts are not mentionned in this table.

33003101 07/2012

1899

Keyboard Shortcuts

C.2

Configuring the Project

PLC Configuration Screen Keyboard Shortcuts


Introduction
Numerous actions or commands can be performed with the mouse as well as the
keyboard. The shortcuts that you can use in the PLC Configuration Screen are
described in the table below. Furthermore, most of the general keyboard shortcuts
are available in the General Keyboard shortcuts (see page 1898) map.
Keyboard Shortcuts
This table describes the PLC Configuration Screen keyboard shortcuts.
Action

Menu

Keyboard Shortcut

Validate the action

Edit

Ctrl+W

Copy an input from the list

Edit

Ctrl+C

Paste an input in the list

Edit

Ctrl+V

Delete an AS_I Slave

Edit

Del

Cut an AS_I Slave

Edit

Ctrl+X

Copy an AS_I Slave

Edit

Ctrl+C

Paste an AS_I Slave

Edit

Ctrl+V

Delete a Series 7 module

Edit

Del

Cut a Series 7 module

Edit

Ctrl+X

Copy a Series 7 module

Edit

Ctrl+C

Paste a Series 7 module

Edit

Ctrl+V

NOTE: The Delete, cut, copy paste AS_I Slave shortcuts are only available with
Premium Communication TSX SAY 100x modules.
NOTE: The Delete, cut, copy paste Series 7 modules shortcuts are only available
with Premium Communication TSX ESY 007 modules. Furthermore, these shortcuts
are available if the user has specific access rights. Otherwise, the access is denied.

1900

33003101 07/2012

Keyboard Shortcuts

C.3

Creating the Project

Object of this section


This section provides information about the keyboard shortcuts used to create a
project.
What Is in This Section?
This section contains the following topics:
Topic

33003101 07/2012

Page

ST/IL Editors Keyboard Shortcuts

1902

FBD Editor Keyboard Shortcuts

1904

SFC Editor Keyboard Shortcuts

1906

LD Editor Keyboard Shortcuts

1907

Data Editor Keyboard Shortcuts

1909

Type Library Browser Keyboard Shortcuts

1910

Type Library Manager Keyboard Shortcuts

1911

1901

Keyboard Shortcuts

ST/IL Editors Keyboard Shortcuts


Introduction
Numerous actions or commands can be performed with the mouse as well as the
keyboard. The shortcuts that you can use in the ST/IL Editors are described in the
table below. Furthermore, most of the general keyboard shortcuts are available in
the General Keyboard shortcuts (see page 1898) map.
Keyboard Shortcuts
This table describes the ST/IL Editors keyboard shortcuts.
Action

Menu

Keyboard Shortcut

Select data from a list

Edit

Ctrl+D

Select the Function Input Assistant

Edit

Ctrl+I

Create an IF Statement

Edit/New

F4

Create a FOR Statement

Edit/New

F5

Create a WHILE Statement

Edit/New

F6

Create a REPEAT Statement

Edit/New

Shift+F6

Create a CASE Statement

Edit/New

Shift+F4

Create a variable

Edit/New

Shift+Enter

Edit the selected text in Upper case

Edit

Shift+Alt+U

Edit the selected text in lowercase

Edit

ALt+U

Find the selected text

Edit

Ctrl+F

Find the next selected occurrence

Edit

F3

Find the previous selected occurrence

Edit

Shift+F3

Replace the selected occurrence

Edit

Ctrl+H

Go to part of the selected project

Edit

Ctrl+G

Add a bookmark

Edit/Bookmark

Ctrl+F2

Go to next bookmark

Edit/Bookmark

F2

Go to previous bookmark

Edit/Bookmark

Shift+F2

Delete all bookmarks

Edit/Bookmark

Ctrl+Shift+F2

Display the general attributes of the selected item

Edit

Ctrl+Enter

Modify the properties of the selected item

Edit

Alt+Enter

Add a comment

Edit/New

F8

Open the Inspect window

Edit/New

F9

Show/Hide the Inspect window

View

Shift+F8

Go to the previous section

View

Ctrl+Alt+Pg Up

1902

33003101 07/2012

Keyboard Shortcuts

Action

Menu

Keyboard Shortcut

Go to the next section

View

Ctrl+Alt+Pg Dn

Refine an object

Services

Ctrl+Q

Set breakpoint

Debug

Ctrl+F11

Clear breakpoint

Debug

Ctrl+Shift+F11

Go to the selected breakpoint

Debug

Ctrl+F5

Step over the next action

Debug

F11

Step into the action

Debug

F12

Step out the action

Debug

Shift+F12

Set watchpoint

Debug

Alt+F11

Clear watchpoint

Debug

Alt+Shift+F11

NOTE: The IF, FOR, WHILE, REPEAT, CASE statement shortcuts are only
available with the ST Editor.

33003101 07/2012

1903

Keyboard Shortcuts

FBD Editor Keyboard Shortcuts


Introduction
Numerous actions or commands can be performed with the mouse as well as the
keyboard. The shortcuts that you can use in the FBD Editor are described in the
table below. Furthermore, most of the general keyboard shortcuts are available in
the General Keyboard shortcuts (see page 1898) map.
Keyboard Shortcuts
This table describes the FBD Editor keyboard shortcuts.
Action

Menu

Keyboard Shortcut

Select the Function Input Assistant

Edit

Ctrl+I

Create a variable

Edit

Shift+Enter

Select data from a list

Edit

Ctrl+D

Link an item

Edit/New

F6

Add a comment

Edit/New

F8

Open the Inspect window

Edit/New

F9

Select Mode

Edit

Esc

Add a bookmark

Edit/Bookmark

Ctrl+F2

Go to next bookmark

Edit/Bookmark

F2

Go to previous bookmark

Edit/Bookmark

Shift+F2

Delete all bookmarks

Edit/Bookmark

Ctrl+Shift+F2

Zoom to fit

View/Zoom

Ctrl +x
(x = multiplication sign
of number pad)

Zoom in

View/Zoom

Ctrl ++

Zoom out

View/Zoom

Ctrl +-

Show/Hide the Inspect window

View

Shift+F8

Go to the previous section

View

Ctrl+Alt+Pg Up

Go to the next section

View

Ctrl+Alt+Pg Dn

Refine an object

Services

Ctrl+Q

Set breakpoint

Debug

Ctrl+F11

Clear breakpoint

Debug

Ctrl+Shift+F11

Go to the selected breakpoint

Debug

Ctrl+F5

Step over the next action

Debug

F11

Step into the action

Debug

F12

1904

33003101 07/2012

Keyboard Shortcuts

Action

Menu

Keyboard Shortcut

Step out the action

Debug

Shift+F12

Set watchpoint

Debug

Alt+F11

Clear watchpoint

Debug

Alt+Shift+F11

Properties

Edit

Alt+enter

Data Properties

Edit/New

Ctrl+enter

Data Selection

Edit/New

Ctrl+D

FFB Input Assistant

Edit/New

Ctrl+I

NOTE: Most of the Edit tab shortcuts are available by selecting Shift+F10.

33003101 07/2012

1905

Keyboard Shortcuts

SFC Editor Keyboard Shortcuts


Introduction
Numerous actions or commands can be performed with the mouse as well as the
keyboard. The shortcuts that you can use in the SFC Editor are described in the
table below. Furthermore, most of the general keyboard shortcuts are available in
the General Keyboard shortcuts (see page 1898) map.
Keyboard Shortcuts
This table describes the STB Editor keyboard shortcuts.
Action

Menu

Keyboard Shortcut

Add a step

Edit/New

F3

Add a macro step

Edit/New

Ctrl+F3

Add a transition

Edit/New

Shift+F3

Add an alternative branch

Edit/New

F4

Add an alternative joint

Edit/New

Shift+F4

Add a parallel branch

Edit/New

F5

Add a parallel joint

Edit/New

Shift+F5

Add a link

Edit/New

F6

Add a comment

Edit/New

F8

Select Mode

Edit

Esc

Add a bookmark

Edit/Bookmark

Ctrl+F2

Go to next bookmark

Edit/Bookmark

F2

Go to previous bookmark

Edit/Bookmark

Shift+F2

Delete all bookmarks

Edit/Bookmark

Ctrl+Shift+F2

Zoom to fit

View/Zoom

Ctrl +x
(x = multiplication sign of number pad)

Zoom In

View/Zoom

Ctrl++

Zoom Out

View/Zoom

Ctrl+-

Expand/come back to the project display

View

Ctrl+E

Go to the previous section

View

Ctrl+Alt+Pg Up

Go to the next section

View

Ctrl+Alt+Pg Dn

Initialize Animation Table

Services

Ctrl+T

Initialize Search

Services

Ctrl+U

Data Properties

Edit/New

Ctrl+enter

Properties

Edit

Alt+enter

NOTE: Most of the Edit table shortcuts are available by selecting Shift+F10.
1906

33003101 07/2012

Keyboard Shortcuts

LD Editor Keyboard Shortcuts


Introduction
Numerous actions or commands can be performed with the mouse as well as the
keyboard. The shortcuts that you can use in the LD Editor are described in the table
below. Furthermore, most of the general keyboard shortcuts are available in the
General Keyboard shortcuts (see page 1898) map.
Keyboard Shortcuts
This table describes the LD Editor keyboard shortcuts.
Action

Menu

Keyboard Shortcut

Add a normally open contact

Edit/New

F3

Add a closed contact

Edit/New

Shift+F3

Add a positive transition-sensing contact

Edit/New

Ctrl+F3

Add a negative transition-sensing contact

Edit/New

Ctrl+Shift+F3

Add a coil

Edit/New

F5

Add a negated coil

Edit/New

Shift+F5

Add a set coil

Edit/New

Alt+F5

Add a reset coil

Edit/New

Shift+Alt+F5

Add a call coil

Edit/New

F4

Add a boolean connection

Edit/New

F7

Add a vertical connection

Edit/New

Shift+F7

Add a boolean link

Edit/New

Alt+F6

Add a link

Edit/New

F6

Add an operate block

Edit/New

Alt+F7

Add a compare block

Edit/New

Ctrl+F7

Add a comment

Edit/New

F8

Select mode

Edit

Esc

Add a bookmark

Edit/Bookmark

Ctrl+F2

Go to next bookmark

Edit/Bookmark

F2

Go to previous bookmark

Edit/Bookmark

Shift+F2

Delete all bookmarks

Edit/Bookmark

Ctrl+Shift+F2

Modify the properties of the selected item

Edit

Alt+Enter

Show or hide the status bar

View

Alt+0

Zoom to fit

View/Zoom

Ctrl +x
(x = multiplication sign of number pad)

33003101 07/2012

1907

Keyboard Shortcuts

Action

Menu

Keyboard Shortcut

Zoom in

View/Zoom

Ctrl ++

Zoom out

View/Zoom

Ctrl +-

Show/Hide the Inspect window

View

Shift+F8

Display the mixed mode

View

Ctrl+E

Go to the previous section

View

Ctrl+Alt+Pg Up

Go to the next section

View

Ctrl+Alt+Pg Dn

Set breakpoint

Debug

Ctrl+F11

Clear breakpoint

Debug

Ctrl+Shift+F11

Go to the selected breakpoint

Debug

Ctrl+F5

Step over the next action

Debug

F11

Step into the action

Debug

F12

Step out the action

Debug

Shift+F12

Set watchpoint

Debug

Alt+F11

Clear watchpoint

Debug

Alt+Shift+F11

Inspect Window

Edit

F9

Data Selection

Edit

Ctrl+D

FFB Input Assistant

Edit

Ctrl+I

Properties

Edit

Alt+enter

Data Properties

Edit/New

Ctrl+enter

Refine

Services

Ctrl+Q

NOTE: Most of the Edit tab shortcuts are available by selecting Shift+F10.

1908

33003101 07/2012

Keyboard Shortcuts

Data Editor Keyboard Shortcuts


Introduction
Numerous actions or commands can be performed with the mouse as well as the
keyboard. The shortcuts that you can use in the Data Editor are described in the
table below. Furthermore, most of the general keyboard shortcuts are available in
the General Keyboard shortcuts (see page 1898) map.
Keyboard Shortcuts
This table describes the Data Editor keyboard shortcuts.
Action

Menu

Keyboard Shortcut

Hide the Inspect window

View

Shift+F8

NOTE: Some shortcuts are not available from the menu bar. Please note the
following shortcuts.

33003101 07/2012

Select F2 to edit data

z
z

Select Ctrl+ Home to access the first cell in row


Select Ctrl+ End to access the last cell in row

Select + on a node to expand it

Select - on a node to contract it

1909

Keyboard Shortcuts

Type Library Browser Keyboard Shortcuts


Introduction
Numerous actions or commands can be performed with the mouse as well as the
keyboard. The shortcuts that you can use in the Type Library Browser are described
in the table below. Furthermore, most of the general keyboard shortcuts are
available in the General Keyboard shortcuts (see page 1898) map.
Keyboard Shortcuts
This table describes the Type Library Browser keyboard shortcuts.
Action

Menu

Keyboard Shortcut

Refine an object

Services

Ctrl+Q

Initialize search

Services

Ctrl+U

1910

33003101 07/2012

Keyboard Shortcuts

Type Library Manager Keyboard Shortcuts


Introduction
Some actions or commands can be performed with the keyboard. The shortcuts that
you can use in the Type Library Manager are described in the table below.
Furthermore, most of the general keyboard shortcuts are available in the General
Keyboard shortcuts (see page 1898) map.
Keyboard Shortcuts
This table describes the Type Library Manager keyboard shortcuts.

33003101 07/2012

Action

Keyboard Shortcut

Access the first cell in row

Home

Access the last cell in row

End

Access the next cell up

Up

Access the next cell down

Down

Access next cell left

Left

Access next cell right

Right

Expand a node

Contract a node

Exit the project

Alt+F4/Esc

Delete data

Delete

Selected Several EFB

Shift+Left

1911

Keyboard Shortcuts

C.4

Operating the Project

Object of this section


This section provides information about the keyboard shortcuts used to operate a
project.
What Is in This Section?
This section contains the following topics:
Topic
Search Replace Tool Screen Keyboard Shortcuts

1912

Page
1913

Diagnostic Viewer Screen Keyboard Shortcuts

1914

PLC Screen Keyboard Shortcuts

1915

Animation Screen Keyboard Shortcuts

1916

Operator Screen Keyboard Shortcuts

1917

33003101 07/2012

Keyboard Shortcuts

Search Replace Tool Screen Keyboard Shortcuts


Introduction
Numerous actions or commands can be performed with the mouse as well as the
keyboard. The shortcuts that you can use in the Search Replace Tool Screen are
described in the table below. Furthermore, most of the general keyboard shortcuts
are available in the General Keyboard shortcuts (see page 1898) map.
Keyboard Shortcuts
This table describes the Search Replace Tool Screen keyboard shortcuts.
Action

Menu

Keyboard Shortcut

Find Next item

Edit

F3

Find Previous item

Edit

Shift+F3

Replace an item

Edit

Ctrl+H

NOTE: Most of the Edit tab shortcuts are available by selecting Shift+F10.

33003101 07/2012

1913

Keyboard Shortcuts

Diagnostic Viewer Screen Keyboard Shortcuts


Introduction
Numerous actions or commands can be performed with the mouse as well as the
keyboard. All the shortcuts that you can use in the Diagnostic Viewer Screen are
described in the General Keyboard Shortcut General Keyboard shortcuts
(see page 1898) map.

1914

33003101 07/2012

Keyboard Shortcuts

PLC Screen Keyboard Shortcuts


Introduction
Numerous actions or commands can be performed with the mouse as well as the
keyboard. All the the shortcuts that you can use in the PLC Screen are described in
theGeneral Keyboard Shortcuts General Keyboard shortcuts (see page 1898) map.

33003101 07/2012

1915

Keyboard Shortcuts

Animation Screen Keyboard Shortcuts


Introduction
Numerous actions or commands can be performed with the mouse as well as the
keyboard. The shortcuts that you can use in the Animation Screen are described in
the table below. Furthermore, most of the general keyboard shortcuts are available
in the General Keyboard shortcuts (see page 1898) map.
Keyboard Shortcuts
This table describes the Animation Screen keyboard shortcuts.
Action

Menu

Keyboard Shortcut

Display format in decimal

View/Display Format

F3

Display format in hexadecimal

View/Display Format

Ctrl+F3

Display format in binary

View/Display Format

Shift+F3

Display format in ASCII

View/Display Format

Alt+F3

Enable Variable Modification

Services

F7

Enable Variable Forcing

Services

F6

Set value to 0

Services

Shift+F5

Set value to 1

Services

F5

Force to 0

Services

Shift+F4

Force to 1

Services

F4

Unforce

Services

Shift+F6

Multiple Mode

Services

Ctrl+F7

Execute Multiple Values

Services

Alt+F7

Reset Multiple Values

Services

Shift+F7

Safety/Maintenance

PLC

Ctrl+Shift+M

NOTE: Most of the Edit tab shortcuts are available by selecting Shift+F10.
NOTE: This shortcut "Ctrl+Shift+M" is only available with XLS

1916

33003101 07/2012

Keyboard Shortcuts

Operator Screen Keyboard Shortcuts


Introduction
Numerous actions or commands can be performed with the mouse as well as the
keyboard. The shortcuts that you can use in the Operator Screen are described in
the table below. Furthermore, most of the general keyboard shortcuts are available
in the General Keyboard shortcuts (see page 1898) map.
Keyboard Shortcuts
This table describes the Operator Screen keyboard shortcuts.
Action

Menu

Keyboard Shortcut

Validate

Edit

Ctrl +W

Select all

Edit

Ctrl+A

Enable variation modification

Services

F7

Go to the previous animated object

Services

F4

Go to the next animated object

Services

F5

NOTE: Some shortcuts are not available from the menu bar. Please note the
following shortcuts.

33003101 07/2012

Select Space to select next item

z
z

Select Shift+ Space to select the previous item


Select Alt+ Backspace to cancel thelast action

Select Tab to focus on the next control object in online mode

Select Shift+ Tab to focus on the previous control object in online mode

Select Enter to display the properties of a selected object

Select an Arrow to make a one pixel move in the arrow direction

Select Shift+ Arrow to make a 10 pixel move in the arrow direction

Select Page Up/Down to move the vertical scrollbar up or down

Select Ctrl + Left/Right to move the horizontal scrollbar left or right

1917

Keyboard Shortcuts

C.5

Documenting the Project

Documentation Screen Keyboard Shortcuts


Introduction
Numerous actions or commands can be performed with the mouse as well as the
keyboard. The shortcuts that you can use in the Documentation Screen are
described in the table below. Furthermore, most of the general keyboard shortcuts
are available in the General Keyboard shortcuts (see page 1898) map.
Keyboard Shortcuts
This table describes the Documentation Screen keyboard shortcuts.
Action

Menu

Keyboard Shortcut

Validate the action

Edit

Ctrl+W

NOTE: Some shortcuts are not available from the menu bar. Please note the
following shortcuts.

1918

Select F5 to refresh a project

z
z

Select Ctrl ++ to Zoom in a project


Select Ctrl +- to zoom out of a project

Select Ctrl+E to Zoom to fit

33003101 07/2012

Unity Pro
Glossary
33003101 07/2012

Glossary

0-9
%I
According to the IEC standard, %I indicates a discrete input-type language object.
%ID
According to the IEC standard, %MW indicates an input double word-type language
object.
Only I/O objects make it possible to locate type instances (%MD<i>, %KD<i>, %QD,
%ID, %MF<i>, %KF<i>, %QF, %IF) by using their topological address (for example
%MD0.6.0.11, %MF0.6.0.31).
%IF
According to the IEC standard, %MW indicates an input real-type language object.
Only I/O objects make it possible to locate type instances (%MD<i>, %KD<i>, %QD,
%ID, %MF<i>, %KF<i>, %QF, %IF) by using their topological address (for example
%MD0.6.0.11, %MF0.6.0.31).
%IW
According to the IEC standard, %IW indicates an analog input -type language object.

33003101 07/2012

1919

Glossary

%KD
According to the IEC standard, %MW indicates a constant double word-type language
object.
For Premium/Atrium PLCs double-type instances of located data (%MD<i>, %KD<i>)
or floating (%MF<i>, %KF<i>) should be located by an integer type (%MW<i>,
%KW<i>). Only I/O objects make it possible to locate type instances (%MD<i>,
%KD<i>, %QD, %ID, %MF<i>, %KF<i>, %QF, %IF) by using their topological address
(for example %MD0.6.0.11, %MF0.6.0.31).
For Modicon M340 PLCs, double-type instances of located data (%MD<i>, %KD<i>)
or floating (%MF<i>, %KF<i>) are not available.
%KF
According to the IEC standard, %MW indicates a constant real-type language object.
For Premium/Atrium PLCs double-type instances of located data (%MD<i>, %KD<i>)
or floating (%MF<i>, %KF<i>) should be located by an integer type (%MW<i>,
%KW<i>). Only I/O objects make it possible to locate type instances (%MD<i>,
%KD<i>, %QD, %ID, %MF<i>, %KF<i>, %QF, %IF) by using their topological address
(for example %MD0.6.0.11, %MF0.6.0.31).
For Modicon M340 PLCs, double-type instances of located data (%MD<i>, %KD<i>)
or floating (%MF<i>, %KF<i>) are not available.
%KW
According to the IEC standard, %KW indicates a constant word-type language object.
For Premium/Atrium PLCs double-type instances of located data (%MD<i>, %KD<i>)
or floating (%MF<i>, %KF<i>) should be located by an integer type (%MW<i>,
%KW<i>). Only I/O objects make it possible to locate type instances (%MD<i>,
%KD<i>, %QD, %ID, %MF<i>, %KF<i>, %QF, %IF) by using their topological address
(for example %MD0.6.0.11, %MF0.6.0.31).
For Modicon M340 PLCs, double-type instances of located data (%MD<i>, %KD<i>)
or floating (%MF<i>, %KF<i>) are not available.
%M
According to the IEC standard, %M indicates a memory bit-type language object.

1920

33003101 07/2012

Glossary

%MD
According to the IEC standard, %MW indicates a memory double word-type language
object.
For Premium/Atrium PLCs double-type instances of located data (%MD<i>, %KD<i>)
or floating (%MF<i>, %KF<i>) should be located by an integer type (%MW<i>,
%KW<i>). Only I/O objects make it possible to locate type instances (%MD<i>,
%KD<i>, %QD, %ID, %MF<i>, %KF<i>, %QF, %IF) by using their topological address
(for example %MD0.6.0.11, %MF0.6.0.31).
For Modicon M340 PLCs, double-type instances of located data (%MD<i>, %KD<i>)
or floating (%MF<i>, %KF<i>) are not available.
%MF
According to the IEC standard, %MW indicates a memory real-type language object.
For Premium/Atrium PLCs double-type instances of located data (%MD<i>, %KD<i>)
or floating (%MF<i>, %KF<i>) should be located by an integer type (%MW<i>,
%KW<i>). Only I/O objects make it possible to locate type instances (%MD<i>,
%KD<i>, %QD, %ID, %MF<i>, %KF<i>, %QF, %IF) by using their topological address
(for example %MD0.6.0.11, %MF0.6.0.31).
For Modicon M340 PLCs, double-type instances of located data (%MD<i>, %KD<i>)
or floating (%MF<i>, %KF<i>) are not available.
%MW
According to the IEC standard, %MW indicates a memory word-type language object.
For Premium/Atrium PLCs double-type instances of located data (%MD<i>, %KD<i>)
or floating (%MF<i>, %KF<i>) should be located by an integer type (%MW<i>,
%KW<i>). Only I/O objects make it possible to locate type instances (%MD<i>,
%KD<i>, %QD, %ID, %MF<i>, %KF<i>, %QF, %IF) by using their topological address
(for example %MD0.6.0.11, %MF0.6.0.31).
For Modicon M340 PLCs, double-type instances of located data (%MD<i>, %KD<i>)
or floating (%MF<i>, %KF<i>) are not available.
%Q
According to the IEC standard, %Q indicates a discrete output-type language object.

33003101 07/2012

1921

Glossary

%QD
According to the IEC standard, %MW indicates an output double word-type language
object.
Only I/O objects make it possible to locate type instances (%MD<i>, %KD<i>, %QD,
%ID, %MF<i>, %KF<i>, %QF, %IF) by using their topological address (for example
%MD0.6.0.11, %MF0.6.0.31).
%QF
According to the IEC standard, %MW indicates an output real-type language object.
Only I/O objects make it possible to locate type instances (%MD<i>, %KD<i>, %QD,
%ID, %MF<i>, %KF<i>, %QF, %IF) by using their topological address (for example
%MD0.6.0.11, %MF0.6.0.31).
%QW
According to the IEC standard, %QW indicates an analog output-type language
object.

A
Animating the links
This is also called power flow, and refers to a type of animation used with Ladder
language and the function blocks. The links are displayed in red, green or black
according to the variables connected.

1922

33003101 07/2012

Glossary

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:

33003101 07/2012

1923

Glossary

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.
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.

B
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)

1924

33003101 07/2012

Glossary

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:
the number 2450
z is coded: 0010 0100 0101 0000
z

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.

33003101 07/2012

1925

Glossary

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

C
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.

1926

33003101 07/2012

Glossary

D
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_TIME
see DT
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:
the number 78993016
z is coded: 0111 1000 1001 1001 0011 0000 0001 0110
z

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)

33003101 07/2012

1927

Glossary

DFB
DFB is the abbreviation 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:
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.
z

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 abbreviation 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.

1928

33003101 07/2012

Glossary

Driver
A program indicating to your computers 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.).

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:

33003101 07/2012

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

1929

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

E
EBOOL
EBOOL is the abbreviation of Extended Boolean type. A EBOOL type variable brings
a value (0 (FALSE) or 1 (TRUE) but also rising or falling edges and forcing
capabilities.
An EBOOL type variable takes up one byte of memory.
The byte split up into:
one bit for the value,
z one bit for the history bit (each time the states object changes, the value is copied
inside the history bit),
z one bit for the forcing bit (equals to 0 if the object isnt forced, equal to 1 if the bit
is forced.
z

The default type value of each bit is 0 (FALSE).

1930

33003101 07/2012

Glossary

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.
EF
Is the abbreviation of Elementary 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.

33003101 07/2012

1931

Glossary

Elementary Function
see EF

EN / ENO (enable / error notification)


EN means ENable, this is an optional block input.
If EN = 0, the block is not activated, its internal program is not executed and ENO it
is 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),
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".
z

NOTE: If EN is not connected, it is automatically set to 1.

Event processing
Event processing 1 is a program section launched by an event. The instructions
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.
NOTE: For M340, IO events with the same priority level are stored in a FIFO and
are treated in the order in which they are received.
All the timers have the same priority. When several timers end at the same time, the
lowest timer number is processed first.
The system word %SW48 counts IO events and telegram processed.
NOTE: TELEGRAM is available only for PREMIUM (not on Quantum or M340)

F
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).

1932

33003101 07/2012

Glossary

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 dEntres 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).

33003101 07/2012

1933

Glossary

Functional Module
A functional module is a group of program elements (sections, sub-programs, macro
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.

G
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:

H
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.).

1934

33003101 07/2012

Glossary

I
I/O Object
An I/O object is an implicit or explicit language object for an expert function module
or a I/O device on a fieldbus. They are of the following types: %Ch, %I, %IW, %ID,
%IF, %Q, %QW, % QD, QF, %KW, %KD, %KF, %MW, %MD, and %MF.
The objects topological address depends on the modules position on the rack or
the devices position on the bus.
For Premium/Atrium PLCs double-type instances of located data (%MD<i>, %KD<i>)
or floating (%MF<i>, %KF<i>) should be located by an integer type (%MW<i>,
%KW<i>). Only I/O objects make it possible to locate type instances (%MD<i>,
%KD<i>, %QD, %ID, %MF<i>, %KF<i>, %QF, %IF) by using their topological address
(for example %MD0.6.0.11, %MF0.6.0.31).
For Modicon M340 PLCs, double-type instances of located data (%MD<i>, %KD<i>)
or floating (%MF<i>, %KF<i>) are not available.
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.
33003101 07/2012

1935

Glossary

Instantiate
To instantiate 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
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.

K
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 Pro and 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.)).

1936

33003101 07/2012

Glossary

L
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.

M
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.

33003101 07/2012

1937

Glossary

N
Naming convention (identifier)
An identifier is a sequence of letters, numbers and underlines beginning with a letter
or underline (e.g., name of a function block type, an instance, a variable or a
section). 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 the check box Allow leading digits in the Tools
Project settings Variables dialog .
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 interconnected graphic elements. This group forms then a part of a program which may be
composed of a group of networks.

O
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.

1938

33003101 07/2012

Glossary

P
Periodic execution
The master task is executed either cyclically or periodically. In periodic mode, you
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.

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.

33003101 07/2012

1939

Glossary

R
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:


between -1.175494e-38 and 1.175494e-38 it is considered as a DEN,
z less than -3.4028234e+38, the symbol -INF (for - infinite) is displayed,
z greater than +3.4028234e+38, the symbol INF (for +infinite) is displayed,
z undefined (square root of a negative number), the symbol NAN or NAN is
displayed.
z

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 (De-normalized 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 exponent
An Literal decimal value can be expressed using standard scientific notation. The
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

1940

33003101 07/2012

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 interference. 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.

S
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.

33003101 07/2012

1941

Glossary

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.

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, Aux) 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.

1942

33003101 07/2012

Glossary

T
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
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>

33003101 07/2012

1943

Glossary

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.

U
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 variable
An unlocated variable is a variable for which it is impossible to know its position in
the PLC memory. A variable which have no address assigned is said to be
unlocated.

V
Variable
Memory entity of the type BOOL, WORD, DWORD, etc., whose contents can be modified
by the program during execution.
1944

33003101 07/2012

Glossary

Visualization window
This window, also called a watch window, displays the variables that cannot be
animated in the language editors. Only those variables that are visible at a given
time in the editor are displayed.

33003101 07/2012

1945

Glossary

W
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

1946

Data content

Representation in one of the bases

0000000011010011

16#D3

1010101010101010

8#125252

0000000011010011

2#11010011

33003101 07/2012

Unity Pro
Index
33003101 07/2012

B
AC

Index

adding
user directory, 165
adjusting
variables, 1415
animation
animation tables, 1423
inspect window, 1420
PLC screen, 1402
program, 1336
variables window, 1417
animation tables
hyperlinks, 1838
assistant
calling FFB functions, 1125
import/export, 1744
type library manager, 282

coils
LL984 editor, 1043
comparing
project, 108
configuration editor, 1219
configuring
project, 1219
configuring networks, 393
configuring X-way, 401
connecting to PLC, 94
communication parameters, 105
setting address, 96
types of connection, 102
contacts
LL984 editor, 1043
Container
FDT, 231
conversion wizard
access, 1763
conversion, 1767
CPU configuration tab, 1793
general procedure, 1761
general representation, 1765
I/O remapping tab, 1773
introduction, 1761
launch, 1763
results, 1767
structure tab, 1768
creating
derived data types, 307
EDT/DDT/IODDT/Device DDT instanc-

B
backup project
Modicon M340, 125
Premium, 127
bookmarks
graphical languages, 536
browser
DTM, 240
Browser Contextual Menus, 249
Field Bus Discovery, 256
browser directories, 170

33003101 07/2012

1947

Index

es, 339
EFB/DFB instances, 329
creating a program
LL984 editor, 1043
current library, 275

D
data editor, 299
hyperlinks, 1820
management, 369
DDT (derived data type), 307
instances, 339
debugging
program, 1325
derived data types (DDT), 307
instances, 339
derived function blocks (DFB), 1183
DFB
hyperlinks, 1828
DFB (derived function block), 1183
DFB Type, 1184
diagnostics, 1523
diagnostics viewer, 1529
documentation, 1673
hyperlinks, 1852
DTM
Browser, 241
DTM hardware catalog, 235
DTM Hardware Catalog, 235
DTM properties, 265
DTM services, 251

F
FBD editor, 571
creating a program, 572
editing FFBs, 590
other functions, 535
search/replace function, 1167
selecting data, 1113
using type library browser, 1157
FDT Container, 231
FDT container
introduction, 233
user rights, 234
FFB library version
properties, 164
Field Bus Discovery, 256
filtering
data, 377
function blocks
LL984 editor, 1043
functional modules, 199

G
go to
project browser, 161
graphical languages
bookmarks, 536

H
Hardware Catalog
DTM, 235
hyperlinks, 1798

E
EDT (elementary data type), 339
EFB (elementary function block)
instances, 329
elementary data types (EDT), 339
elementary function blocks (EFB)
instances, 329
equation network blocks
LL984 editor, 1043
export, 1701

1948

I
I/O objects management, 1133
IL editor, 977
other functions, 943
search/replace function, 1167
selecting data, 1113
using type library browser, 1157
import, 1701

33003101 07/2012

Index

import XEF file


Libset version, 1740
import ZEF file
Libset version, 1740
information
Libset, 272, 275
INIT, 124
instruction editor
LL984 editor, 1451, 1451
IODDT, 339

K
keyboard
shortcut, 1887

L
LD editor, 663
creating a program, 664
other functions, 535
search/replace function, 1167
using type library browser, 1157
libraries
Libset, 270
library content, 275
library management
variables and FFB types, 269
library manager, 274
areas, 275
Libset (set of libraries), 270
Libset information, 272, 275
Libset version, 270
import XEF file, 1740
import ZEF file, 1740
modifying, 271
options, 79
properties, 164
upgrade/downgrade, 271
links
LL984 editor, 1043

LL984 editor
assigning variables, 1043
coils, 1043
contacts, 1043
creating a program, 1043
equation network blocks, 1043
function blocks, 1043
instruction editor, 1451, 1451
links, 1043
network display, 1043, 1055
search/replace function, 1167
subroutines, 1043

M
maintain output links on disabled EF
project settings, 503
memory card access
Modicon M340, 145
memory consumption, 139
modifying the Libset version, 271

N
network display
LL984 editor, 1043, 1055

O
offline mode, 77
online mode, 86
online modifications, 88
open project dialog, 79
operator screen, 1559
hyperlinks, 1845
options, 475
Libset version, 79
output windows, 1880

P
pack function
memory, 143
PLC simulator, 1457

33003101 07/2012

1949

Index

project browser, 149


hyperlinks, 1813
project settings
maintain output links on disabled EF, 503
properties
FFB library version, 164
Libset version, 164
protecting
section, 167
purge of data, 384

T
tasks, 418
transferring
data, 129
project, 119
type library
update, 289
type library browser, 1157
type library manager, 269, 274
areas, 275
description, 277

R
RUN, 124

updating
initial values, 138
upgrade/downgrade the Libset version, 271
upload information, 122

search/replace function, 1167


sections, 421
security editor, 52
selecting
data, 1113
settings
project, 476
toolbar/menu, 532
Unity Pro, 515
SFC editor, 803
creating a program, 804
other functions, 535
search/replace function, 1167
selecting data, 1113
using type library browser, 1157
simulator, 1457
ST editor, 1007
other functions, 943
search/replace function, 1167
selecting data, 1113
using type library browser, 1157
status bar, 1882
STOP, 124
structural view, 170
structure (DDT), 307
instances, 339
subroutines
LL984 editor, 1043
1950

V
variables (EDT), 339
variables assignment
LL984 editor, 1043

Z
zoom
project browser, 155

33003101 07/2012

You might also like