Ofs Eng PDF
Ofs Eng PDF
Ofs Eng PDF
50
35008244 04/2014
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 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.
© 2014 Schneider Electric. All rights reserved.
2 35008244 04/2014
Table of Contents
Safety Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
About the Book. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Part I Introduction to the OFS product . . . . . . . . . . . . . . 15
Chapter 1 Uses of the OFS product . . . . . . . . . . . . . . . . . . . . . . . . 17
Introducing the OFS Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Communication with PLCs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Different Access Modes for Server or Simulator . . . . . . . . . . . . . . . . . 22
Software components and terminology . . . . . . . . . . . . . . . . . . . . . . . . 25
Access of a .NET client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Access for a SOAP/XML Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Introducing the OPC UA Wrapper . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Part II Installing the OFS product . . . . . . . . . . . . . . . . . . 29
Chapter 2 Contents of the OPC Factory Server Product . . . . . . . 31
OFS Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Chapter 3 Product installation procedure . . . . . . . . . . . . . . . . . . . 33
Installing the OFS Product. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
OPC Data Access Station . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
OPC Data Access Remote Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Installation of a .NET Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Installation of an OPC XML Server . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Web Client JVM checking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Driver Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Installing the OPC UA Wrapper Product . . . . . . . . . . . . . . . . . . . . . . . 43
OFS Authorization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Part III Workstation setup . . . . . . . . . . . . . . . . . . . . . . . . . 49
Chapter 4 Workstation Configuration . . . . . . . . . . . . . . . . . . . . . . 51
4.1 COM/DCOM Station Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
DCOM Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
35008244 04/2014 3
4.2 Configuration of IIS stations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Authorization to Connect to a Web Site . . . . . . . . . . . . . . . . . . . . . . . . 59
Configuring the IIS component Using Windows 2000 or XP . . . . . . . . 61
Configuring the IIS component Using Windows 8, Windows 7, or
Windows Vista . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
FTP Publication of the Site. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Various Types of Access (Windows 2000/XP only) . . . . . . . . . . . . . . . 83
COM/DCOM Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Chapter 5 OFS as an NT service . . . . . . . . . . . . . . . . . . . . . . . . . . 91
OFS as NT Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Part IV User Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Chapter 6 The OFS Configuration Tool . . . . . . . . . . . . . . . . . . . . . 95
6.1 Introducing the Configuration Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
OFS Configuration Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Configuration Tool Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
6.2 Configuration tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Introducing the configuration tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.3 The Alias folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Introduction to the standard parameters for editing aliases . . . . . . . . . 104
Editing the Device Network Address . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Associating a Symbols Table File . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Link with Unity Pro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Link with Concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Support of symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Setting the Alias Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
6.4 The Device overview folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Creating a new device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Adjusting timeout item values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Adjusting Communication Timeout with a device. . . . . . . . . . . . . . . . . 126
6.5 The Default devices folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
The Default devices folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Dynamic Consistency and Consistency Level . . . . . . . . . . . . . . . . . . . 129
Push data support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
6.6 The Devices without Aliases folder . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Devices without Aliases folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
4 35008244 04/2014
6.7 The Deadband folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
The Deadband Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Description of the Deadband mechanism . . . . . . . . . . . . . . . . . . . . . . 140
Installation of the Deadband in a client application . . . . . . . . . . . . . . . 141
6.8 The Diagnostic folder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
The Diagnostic Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
6.9 The Simulator folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
The Simulator folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Individual simulation of a device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
6.10 The Symbols folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
The Symbols folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
6.11 The PLC Software folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
The PLC Software folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
6.12 The Communication folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
The Communication folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
6.13 The Options folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
The Options folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
6.14 Configuration database management . . . . . . . . . . . . . . . . . . . . . . . . 153
Database Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
6.15 Compatibility with Previous Versions of Configuration Tool . . . . . . . . 154
Compatibility with the Previous Version of the Configuration Tool . . . 154
6.16 Time Stamped Events Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Time Stamped Events System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Time Stamped Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Event Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Chapter 7 The OFS Manager Tool . . . . . . . . . . . . . . . . . . . . . . . . . 171
The OFS Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Chapter 8 The OFS Test Clients . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
OFS C++ OPC DA Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
The .NET OPC DA/OPC XML-DA Client . . . . . . . . . . . . . . . . . . . . . . 177
Chapter 9 The Diagnostics Screens of OPC Factory Server . . . . 181
OPC Factory Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Chapter 10 The OFS Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Simulator mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
35008244 04/2014 5
Chapter 11 The OFS Server WEB Site . . . . . . . . . . . . . . . . . . . . . . . 185
Home Page of the OFS Web Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
Read Data Page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Data Editor Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
OFS Diagnostics Home Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Chapter 12 The OPC UA Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
OPC UA Configuration Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
OPC UA Wrapper. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
OPC UA Sample Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Part V User Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Chapter 13 Example of using OFS . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Introduction to Server Installation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Example of an OFS application with a Unity Pro PLC on TCP IP . . . . 203
Executing OFS and using the OPC client . . . . . . . . . . . . . . . . . . . . . . 206
Part VI Advanced User Guide . . . . . . . . . . . . . . . . . . . . . . 209
Chapter 14 Concepts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Synchronous Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Asynchronous Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Notification service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Symbol consultation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Chapter 15 Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
15.1 Items under OFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
General information on OPC items . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Definition of a group of items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
OPC Item Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Specific Items. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
PLC operating mode management . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
15.2 Detected Error management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Feedback Mechanism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
Objects outside Software Configuration. . . . . . . . . . . . . . . . . . . . . . . . 252
Chapter 16 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
16.1 Data types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
Different OPC data types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
16.2 Unity Pro Variables on OFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Unity Pro Variables Available Using OFS . . . . . . . . . . . . . . . . . . . . . . 256
Direct addressing data instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
6 35008244 04/2014
16.3 PL7, XTEL and ORPHEE variables. . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Standard Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Grafcet objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Standard function blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
Table objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
16.4 Concept variables on OFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Variables concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
Relationship between Concept variables and IEC 61131 . . . . . . . . . 275
16.5 Modsoft variables on OFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Modsoft variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
16.6 Variables in general. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Support of extracted bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Local variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Managing Variable Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Chapter 17 Symbols. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
17.1 Symbol operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
The Different Groups of Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Read Consistency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Write Consistency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Asynchronous Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Periodic Read Utility Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
17.2 Symbol management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Introduction to symbol management . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Unity Pro exported symbols file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
PL7 Exported Symbols Table File . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
PL7 Exported Application File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
CONCEPT exported symbol table file . . . . . . . . . . . . . . . . . . . . . . . . . 294
MODSOFT exported symbol table file . . . . . . . . . . . . . . . . . . . . . . . . . 295
CSV symbol table file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
TAYLOR exported symbol table file . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Browsing of symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Managing PL7 standard function blocks . . . . . . . . . . . . . . . . . . . . . . . 300
17.3 Symbols and links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Unity Pro Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Concept Link . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
CONCEPT Remote link . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
17.4 Symbols management through Direct PLC link. . . . . . . . . . . . . . . . . . 305
Direct Resynchronization of PLC Symbol Database . . . . . . . . . . . . . . 305
35008244 04/2014 7
Chapter 18 The Diag Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
18.1 Description of the Diag Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Definition of the Diag Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
18.2 Diag Buffer for Unity Pro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
Operation from an OPC Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Description of client sequencing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Installation of the Diag Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
Diag buffer table formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Information Retrieved by the Diag Buffer at the Top of the Table . . . . 333
Specific information sent back by the Diag buffer in the table . . . . . . . 337
18.3 Diag Buffer for PL7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
Operation from an OPC client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
Description of client sequencing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Installation of the Diag buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
Diag buffer table formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
Information Retrieved by the Diag Buffer at the Top of the Table . . . . 354
Specific information sent back by the Diag buffer in the table . . . . . . . 357
Chapter 19 Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
19.1 Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
X-Way addressing modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
Direct addressing modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
19.2 Multi-Channel Feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
Multi-Channel Feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
Chapter 20 Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
20.1 Static characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
Data Items in a Request. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
Use of groups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Optimizing requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
Writing Concept structure type variables . . . . . . . . . . . . . . . . . . . . . . . 377
Addressing of discrete I/O modules for M580, M340, and Premium
devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Addressing of analog I/O modules for M580, M340, and Premium
devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Restrictions and Advice for Input/Output Objects on PL7 Devices . . . 382
20.2 Dynamic Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
Dynamic performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
8 35008244 04/2014
20.3 Estimation of Network Performance . . . . . . . . . . . . . . . . . . . . . . . . . . 386
PLC Capacity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Request Capacity: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
Estimation of Time to Read Several Variables: . . . . . . . . . . . . . . . . . . 390
Chapter 21 Client-alive Service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Client Alive Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Part VII Developer Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
Chapter 22 Advice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
Recommendations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
Part VIII Appendices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
Chapter 23 Appendices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
23.1 Compatibility of the OFS server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
OFS server compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
23.2 Detected Error codes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
Detected Error Codes Defined by OLE, OPC and the OFS Server . . 405
23.3 Modbus and UNITE Request Codes used by OFS . . . . . . . . . . . . . . . 406
Modbus and UNITE Request Codes Used by OFS. . . . . . . . . . . . . . . 406
23.4 Recommendations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
Location of an Anomaly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
Glossary ......................................... 413
Index ......................................... 419
35008244 04/2014 9
10 35008244 04/2014
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.
35008244 04/2014 11
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.
12 35008244 04/2014
About the Book
At a Glance
Document Scope
This manual describes the software installation of the OPC Factory Server (OFS) product.
Validity Note
The update of this documentation takes the latest version of OFS into account.
Related Documents
You can download these technical publications and other technical information from our website
at www.schneider-electric.com.
35008244 04/2014 13
14 35008244 04/2014
OPC Factory Server V3.50
OFS Product Introduction
35008244 04/2014
Part I
Introduction to the OFS product
35008244 04/2014 15
OFS Product Introduction
16 35008244 04/2014
OPC Factory Server V3.50
OFS Uses
35008244 04/2014
Chapter 1
Uses of the OFS product
35008244 04/2014 17
OFS Uses
General
The OFS product (OPC Factory Server) is a multi-controller data server which is able to
communicate with PLCs of the M580, Unity Momentum, TSX/PCX Premium, Quantum, M340,
TSX Compact, TSX Micro, TSX Momentum, TSX Series 7, and TSX S1000 families to supply the
OPC clients with data.
The OFS product provides client applications with a group of services (methods) for accessing to
variables of a target PLC.
OFS is compatible with versions OPC 1.0A and OPC 2.0. It will function with an OPC client up to
version 2.0a and with two types of OPC software, i.e.:
Supervisory software (see distributor offer): The OFS server plays the role of a driver providing
communication with all devices supported by Schneider Electric SA,
Custom developed supervisory software, using either the OLE Automation interface or the OLE
Custom interface.
NOTE: Knowledge of one of the following languages is required when creating a client application
for the OFS, in particular for OLE Automation, OLE Custom programming and exception
management:
Microsoft Visual Basic, version 6.0 SP3 or later,
Microsoft Visual C++, version 6.0 SP3 or later,
Microsoft VBA in Excel, version 8.0 (Office 97) or later,
Microsoft Visual C#,
The illustration shows an OFS interface:
18 35008244 04/2014
OFS Uses
The OFS server provides the interface between Schneider Electric PLCs and one or more client
applications. These applications are used to view and/or edit the data values of target devices.
The main features of the OFS product are the following:
multi-device,
multiple communication protocols,
multi-client,
access to devices and variables by address or symbol,
access to the server in local or remote mode,
use of a notification mechanism, enabling values to be sent to the client only when they change
state. The server offers two modes for exchanges with the PLC: The default "classic" (polling)
mode, or the "Push Data" mode where data are sent at the initiative of the PLC. This mode is
recommended when changes of state are infrequent,
automatic determining of the size of network requests according to the devices,
availability of services via both the OLE Automation and OLE Custom interfaces,
compatibility with both OPC DA (Data Access) Standard Version 1.0A and 2.0.
The OFS server offers the following services:
reading and writing of variables in one or more PLCs present on one or more different networks,
a user-friendly configuration tool, giving a greater understanding of the parameters needed for
the server to function efficiently, and a tool enabling parameters to be modified online, in order
to maximize utilization flexibility,
the possibility of using a list of symbols for the PLC application,
a browser interface enabling the user to obtain a graphic understanding of the accessible
devices and their associated symbols,
a list of ’specific’ items (see page 223) depending on the devices that enable specific functions
to be executed: status and starting/stopping the PLC, alarm supervisory function.
35008244 04/2014 19
OFS Uses
At a Glance
The OFS server operates on the following networks:
20 35008244 04/2014
OFS Uses
35008244 04/2014 21
OFS Uses
Description
There are three access modes for the OFS server:
A purely local mode,
A mode via a classic "DCOM" network,
A mode via a "web" http interface.
Local access
The client application and the OFS server are on the same extension.
22 35008244 04/2014
OFS Uses
The client application and the OFS server are on separate extensions, connected via the Microsoft
TCP-IP network:
NOTE: DCOM (see page 52) must be configured correctly before launching remote operation.
35008244 04/2014 23
OFS Uses
NOTE: IIS (see page 61) must be configured correctly before launching the remote operation.
24 35008244 04/2014
OFS Uses
At a Glance
To comply with the OPC foundation standard, the OPC Factory Server program includes a set of
specific software components.
.NET
.NET is a set of Microsoft software used to connect information, systems, and devices. It enables
a high level of software integration through the use of Web services which connect both to one
another and to other, wider applications over the Internet.
The .NET platform:
makes it possible to have all devices work together and to have user information updated
automatically and synchronized across all devices,
increases the capacity for Web sites to interact, enabling a better use of XML,
enables the creation of reusable modules, thereby increasing productivity and reducing the
number of programming inconsistencies,
centralizes data storage, increasing the effectiveness and simplicity of access to information,
and enabling the synchronization of information among users and devices.
Framework.NET
The .NET framework comprises 2 main parts:
the common execution language with a library of unified, hierarchical classes. It includes an
advance to Active Server Pages (ASP .NET), an environment for building intelligent client
applications (Windows Forms),
a data access subsystem (ADO .NET).
Web service
Web services are applications located on the server side. They are queried by Web or thick Client
applications located on the network. The entire system communicates via standardized messages
in XML format. Web services enable to delocalize processing, among other things.
35008244 04/2014 25
OFS Uses
Description
An OPC .NET client can access data on the OFS server via an intranet in a .NET environment.
Illustration:
NOTE: DCOM (see page 86) must be configured correctly before launching remote operation.
NOTE: Communication between the OPC .NET client and the OFS server is managed by the
DCOM layer (or COM in a local configuration). The standard OPC DA protocol is used for this
communication.
26 35008244 04/2014
OFS Uses
Description
A SOAP/XML Client can access data on the OFS server via the SOAP/XML protocol while
respecting the OPC XML DA specification of the OPC foundation.
NOTE: DCOM (see page 86) and IIS (see page 61) must be configured correctly before launching
the operation.
35008244 04/2014 27
OFS Uses
General
The OPC UA wrapper communicates with an OPC Factory server (works as a wrapper for OFS
server) to supply the OPC UA clients with data. Therefore, there is an indirect connection between
OPC UA clients and OFS version 3.50 server via OPC UA wrapper. The reference of the OPC UA
security model for administrators is on http://www.opcfoundation.org/.
Final Result
After a successful installation, the OFS setup creates links to the each.exe in the location Start
→All programs →Schneider Electric →SoCollaborative →Ofs.
This figure shows the links for OPC UA Client, OPC UA Configuration Tool and OPC UA
Wrapper:
28 35008244 04/2014
OPC Factory Server V3.50
Installation of the product
35008244 04/2014
Part II
Installing the OFS product
35008244 04/2014 29
Installation of the product
30 35008244 04/2014
OPC Factory Server V3.50
Contents of the OPC Factory Server Product
35008244 04/2014
Chapter 2
Contents of the OPC Factory Server Product
OFS Contents
NOTE: The OFS product does not contain cables for communication between the PC and PLC.
35008244 04/2014 31
Contents of the OPC Factory Server Product
32 35008244 04/2014
OPC Factory Server V3.50
Product installation procedure
35008244 04/2014
Chapter 3
Product installation procedure
35008244 04/2014 33
Product installation procedure
Install Prerequisite
The Microsoft .Net framework v3.5 SP1 must be installed. If not, the OFS setup stops installing.
Preparing to Install
In Windows 8, Server 2012, Windows 7, Server 2008 R2, Vista, XP, 2000, and Server 200•, you
need administrator rights to install OFS. OFS must not be installed on virtual machines.
NOTE: If the Vijeo Citect product is already installed on the machine with its own OFS release, do
not install OFS as a standalone product. Please contact the customer support to get the adapted
version.
The following components can be installed:
OPC Data Access Station
OPC Data Access Remote Client
.Net Interface
OPC XML server
OPC UA wrapper
Web client JVM checking
The OPC Data Access Station install option is used when a machine supports the OFS server
and/or the OPC client(s).
The OPC Data Access Remote Client install option is used when a machine receives one or more
OPC client(s) and remotely accesses the OFS server via DCOM.
The .Net Interface install option provides .Net OPC test client or .Net OPC XMLDA test client.
The OPC XML server install option provides the Web services (SOAP/OPC XMLDA) for the OPC
function as well as the Schneider Electric Web site used for diagnostics and access to OFS server
data.
The Web client JVM checking option checks for the compatibility level of the JVM to ensure that
the OFS Web site is accessible on the machine via the Internet using the OPC XML standard.
NOTE: The OPC Data Access Remote Client, .Net Interface, OPC XML server and Web client JVM
Installation options may be installed as many times as necessary on as many different machines.
No product registration is required.
34 35008244 04/2014
Product installation procedure
NOTE: If the following message appears when installing OFS, click Continue.
Step Action
1 Put the DVD in the drive. The installation automatically starts. Just follow the on-screen messages.
2 In the Customer Information window, enter the part number and the serial number provided on the DVD
box, or enter DEMO in part number field to obtain an evaluation version of the product.
Result: The product install selection screen appears:
35008244 04/2014 35
Product installation procedure
Step Action
3 Among the available features and depending on the customer information, select the ones you want to
install and click on Next.
Note: You can display the description of a feature as well as its components by putting the focus on it.
Important: The OPC Data Access Station and the OPC Data Access Remote Client cannot be both
installed on the same machine. These options are exclusive.
36 35008244 04/2014
Product installation procedure
Installation Options
The installation offers the following options:
OPC DA Server
OFS Server: Multi-controller data server which is compatible with versions OPC 1.0 and
OPC 2.0, allowing you to communicate with the Schneider PLCs in order to supply one or
more OPC client applications.
OFS Server Simulator: Enables to test the client OPC application without any PLC being
present. It provides a simple animation of all created variables and is identical to the actual
server.
OPC DA Server Manager (OFSManager.exe): The OFS manager (see page 171) is a utility
application used to access debugging information from the OFS server, either locally or
remotely. It is also used to request the server to execute certains actions on line (create a
new alias, reload symbol tables, etc.).
Error Encoder Tool (see page 405) (scoder.exe) : Utility allowing you to decode the
detected error code returned by OLE, OPC and the OFS Server.
OFS registration tool: Allows you to register the server after its installation.
OPC proxy DLLs: Updates your registry base and some system files
(OPCproxy.dll&OPCcommon.dll).
OPC Automation interface 1.0 and 2.0: This option installs the files required to use the
Automation Interface 1.0 and 2.0 of the OFS Server.
OPC DA Sample Client (OFSClient.exe): The Sample Client (see page 176) is used to access
and test any kind of OPC server. It is not specific to the OFS Server.
OFS Configuration tool: Allows you to define the devices and their properties accessible through
the OFS Server and the global settings of the OFS Server (see page 95).
OFS User Documentation: Allows you to get access to the online documentation.
NOTE:
Once the server is installed, you can use it in evaluation mode for 21 days. During this period,
you have to register your version of OFS, otherwise the server will stop at the end of the
evaluation period.
You may perform the subscription when the installation ends, or at any time during the
evaluation period.
In DEMO mode, all server functions are available, but the product use may not exceed 3 days,
the server should then be stopped and restarted.
In particular, avoid spaces in file names.
35008244 04/2014 37
Product installation procedure
Description
To perform the installation, you have just to follow the on-screen messages.
The installation offers the following components:
OFS remote server registration and OPC proxy DLLs: An update of your registry base and
of some system files will be performed (OPCproxy.dll & OPCcommon.dll),
OFS server test client: The Test Client (see page 176) (OFSClient.exe) is used to access and
test any kind of OPC server. It is not specific to the OFS server,
OFS Manager: The OFS Manager (see page 171) (OFSManager.exe) is a utility application
used to access debugging information from the OFS server, either locally or remotely. It is also
used to request the server to execute certain actions on-line (create new alias, reload symbol
tables, etc.),
OPC Automation interface 1.0 and 2.0 : This option installs the files required to use the
Automation Interface 1.0 and 2.0 of the OFS server.
To operate correctly, the remote extension must have been the subject of a DCOM configuration
(see page 52) on both the remote extension and the server extension.
38 35008244 04/2014
Product installation procedure
Description
Follow the messages on the screen to perform the installation. The installation program offers the
following option:
.NET Sample Client: this is an OFS test utility client, operating in a .NET environment.
35008244 04/2014 39
Product installation procedure
Description
This installation option is only available with the ’Large’ version of the OFS product. If this has not
already been done, it is preferable to first install IIS on the machine using the operating system
installation DVD. Then follow the messages on the screen to perform the installation. The first
message is the verification of the IIS service:
IIS (verification): if the IIS service is not installed on the machine, the installation is suspended.
You must then install IIS and restart the Web extension installation procedure (see page 61).
The installation program then proposes:
OFS Web Site: provides data via tables to the Web Clients such as the editor, data viewer and
the server status pages.
OPC XMLDA 1.01 Web services: provide the Web services specified by the OPC Foundation
in version 1.01 based on the standardized XML data format, protocol and exchanges between
clients and servers.
At this stage of installation, you must configure (see page 63) IIS according to the site’s security
and access.
NOTE: The OFS server must also be installed on the station that hosts the OFS Web site.
40 35008244 04/2014
Product installation procedure
Description
This installation checking is only available with the ‘Large’ version of the OFS product:
JVM install policy (verification): An information message appears displaying the installation
status of the JVM.
Internet Explorer (verification): if no Internet Explorer is installed on the machine, or if the
version is too old (earlier than IE 5.1), the installation program asks the user to update the
machine to the required level.
35008244 04/2014 41
Product installation procedure
Driver Installation
Description
The OFS server can use drivers already installed on your machine provided that they are not too
old. The compatibility table below indicates the minimum version you should have installed to be
sure that OFS will operate properly. Use of OFS with older versions is neither supported nor
guaranteed.
NOTE: It is compulsory to install the Driver Manager, except for use with TCP/IP in direct IP
addressing.
Compatibility Table:
42 35008244 04/2014
Product installation procedure
Installation
Follow this procedure to install the OPC UA wrapper product:
Select the OPC UA wrapper checkbox in the options at the time of OFS installation. It installs
the OPC UA wrapper.
This figure shows how to install the OPC UA wrapper:
35008244 04/2014 43
Product installation procedure
OFS Authorization
Authorize OFS
The following table describes the PC authorization procedure to use OFS without any restrictions:
Step Action
1 The window below is displayed when the SAOFS.exe file is run:
44 35008244 04/2014
Product installation procedure
Step Action
2 Click Next, a new window is displayed with 3 choices:
the PC’s authorization to know the various ways to make an authorization request
the transfer of the authorization to or from a computer storage device
the entry of the code after receiving it
Click Next.
35008244 04/2014 45
Product installation procedure
Step Action
3 By choosing the Authorize this PC option in step 2, a new window is displayed.
This window offers 5 ways to request the authorization:
Click one of the methods according to your requirements (Immediate, Fast, or with a
Delayed) then click Next and follow the remaining procedures.
46 35008244 04/2014
Product installation procedure
Step Action
4 By choosing the Transfer the authorization option in step 2, a new window is
displayed.
The window below offers 3 types of authorization transfer:
transfer the PC’s authorization to a PC on the network
Note: For an authorization transfer on the network, the OFS installation directory of the
PC receiving the authorization should be shared with the OFS share name and with the
Full Control permission rights, during the transfer operation.
Note: The removable medium must not be write-protected.
35008244 04/2014 47
Product installation procedure
Step Action
5 By choosing the Enter the received code option in step 2, a new window is displayed.
The window below prompts you to enter the authorization code:
48 35008244 04/2014
OPC Factory Server V3.50
Workstation setup
35008244 04/2014
Part III
Workstation setup
Workstation setup
35008244 04/2014 49
Workstation setup
50 35008244 04/2014
OPC Factory Server V3.50
Workstation Configuration
35008244 04/2014
Chapter 4
Workstation Configuration
Workstation Configuration
35008244 04/2014 51
Workstation Configuration
Section 4.1
COM/DCOM Station Configuration
DCOM Configuration
Description
The OFS server can operate in local mode (the server and the OPC client are located on the same
machine) or in remote mode (the OPC client and the server are on different machines connected
by DCOM generally via Ethernet TCP-IP).
The remote execution mode requires an additional adjustment using the DCOMCnfg.exe tool
provided with the DCOM package.
The server and the client station should be configured appropriately.
Step Action
1 Start DCOMCnfg.exe located in the Winnt\System32 directory.
2 In the Default Properties tab, check that:
the option Enable Distributed COM on this computer is selected,
the field Default Authentication Level is set to Connect,
the field Default Impersonation Level is set to Identify.
3 In the Application tab, select the folder Schneider-Aut OPC Factory Server in the
list, then click on Properties.
Results: the dialog box Schneider-Aut OPC Factory Server Properties appears.
4 Click on the Identity tab. The option The interactive user is selected.
5 If nobody is logged on to the server.
If the session is modified or interrupted for no reason.
Then select this user option with an appropriate password.
6 Click on the General tab, set the authentication level to Default.
7 Click on the Location tab, select the option Run application on this computer.
8 In the Security tab, select Use custom access permissions.
9 Click on Modify
Results: the Access Permission dialog box appears.
10 Click on Add, add the user.
52 35008244 04/2014
Workstation Configuration
11 Authorize access.
The SYSTEM, INTERACTIVE and NETWORK users are in this list, others, such as
EVERYONE, can be added.
12 Click on OK to close the dialog boxes.
13 In the security tab, select Use custom launch permissions.
14 Click on Modify
Results: The Launch Permission dialog box appears.
15 Click on Add, add the users.
16 Authorize the users to start up the server.
The SYSTEM, INTERACTIVE, and NETWORK users are in this list. EVERYONE
and OFSERVICE ACCOUNT 1 can be added.
17 Click OK to close the dialog boxes.
Step Action
1 Start DCOMCnfg.exe located in the c:\Winnt\System32 directory.
2 In the Default properties tab, check that:
the option Enable Distributed COM on this computer is selected,
the field Default Authentication Level is set to Connect,
the field Default Impersonation Level is set to identify.
3 In the Default Security tab, modify the Default Access Permissions list in order
to make sure that the users SYSTEM, INTERACTIVE, NETWORK and EVERYONE
are present. This last setting is only necessary to allow the server to send back
notifications to the client machine.
35008244 04/2014 53
Workstation Configuration
Configuration using Windows 8, Server 2012, Windows 7, Server 2008 R2, Vista, XP, 2000, and
Server 200•
The configuration parameters must be defined while logged on to the machine with an account
having the necessary administration rights to access and start up the server.
This chapter describes a possible configuration that allows the machine to be accessed through
DCOM.
Services configuration:
From the Start menu, choose Run and run Services.msc.
The following services must have the following Startup type:
Step Action
1 From the Start menu, choose Run and run DCOMCNFG.
2 Expand Console Root/Component Services/Computers/My Computerand right
click My computer to open the My Computer Properties dialog.
3 Click the Default Properties tab.
4 The following parameters must be set:
Enable Distributed Com on this computer must be checked,
Default Authentication Level is set to Connect,
Default Impersonation Level is set to Identify.
8 If OFS is configured as an NT service (see page 91), click on Add, enter OFService
Account, then click on OK and verify that permissions for OFService Account are:
Local Access: Allow checked,
Remote Access: Allow checked.
54 35008244 04/2014
Workstation Configuration
12 If OFS is configured as an NT service (see page 91), click on Add, enter OFService
Account, then click on OK and verify that permissions for OFService Account are:
Local Launch: Allow checked,
Remote Launch: Allow checked,
Local Activation: Allow checked,
Remote Activation: Allow checked.
If OFS is configured as an NT service (see page 91), click on Add, enter OFService
Account, then click on OK and verify that permissions for OFService Account are:
Local Access: Allow checked.
Remote Access: Allow checked.
If OFS is configured as an NT service (see page 91), click on Add, enter OFService
Account, then click on OK and verify that permissions for OFService Account are:
Local Launch: Allow checked,
Remote Launch: Allow checked,
Local Activation: Allow checked,
Remote Activation: Allow checked.
35008244 04/2014 55
Workstation Configuration
Step Action
1 From the Start menu, choose Run and run DCOMCNFG.
2 Expand Console Root/Component Services/Computers/My Computer/DCOM
Config/ and right click on Schneider-Aut OPC Factory Server to display the
properties.
3 Click on the Location tab, the option Run application on this computer should be
selected.
4 Click on the Identity tab. The option The interactive user should be selected.
5 Click on the General tab, the authentication level should be set to Use Default.
6 Click on the Security tab
the Launch and activation Permissions should be set to Use Default,
the Access Permissions should be set to Use Default.
NOTE: If the client and the server do not belong to the same Windows domain or if there is no
Windows domain, remember that identical users with identical passwords must be created on both
machines (note case sensitivity).
Client (Windows 8, Server 2012, Windows 7, Server 2008 R2, Vista, XP, Server 200•):
The configuration parameters must be defined while logged on to the machine when you have an
account with the necessary administration rights to access and start up the client.
Step Action
1 Run DCOMCnfg.exe from the c:\Windows\System32 folder and on the icon.
Right click the icon Root Console, Component Services, Computers,
WorkStation to display the properties by right clicking or,
Click Control Panel, Administrative Tools, Component Services. In the
window that pops up, click Component Services, Computers. Right click the
icon My Computer to display the properties.
2 In the Default Properties tab, check that:
the Enable Distributes COM (DCOM) on this computer option is selected,
the field Default Authentication Level is set to Connect,
the field Default Impersonation Level is set to Identify.
3 In the COM Security tab, modify the Default Access Permissions list in order to
make sure that the users SYSTEM, INTERACTIVE, NETWORK and EVERYONE
are present. This last setting is only necessary to allow the server to send back
notifications to the client machine.
56 35008244 04/2014
Workstation Configuration
Step Action
1 From the Start menu, choose Run and run secpol.msc.
2 Expand Security Settings\ Local Policies\ Security Options.
3 Double click on the following Policy item DCOM: Machine Access Restrictions in
Security Descriptor Definition Language (SDDL) syntax.
4 Click on Edit Security button to open the Access Permission dialog.
5 Click on Add, enter Everyone local account then click on OK.
6 In the Access Permission dialog, check that permissions for everyone are:
Local Access: Allow checked,
Remote Access: Allow checked.
35008244 04/2014 57
Workstation Configuration
Section 4.2
Configuration of IIS stations
58 35008244 04/2014
Workstation Configuration
Process
The following figure describes the authorization process for connecting to a Web site:
35008244 04/2014 59
Workstation Configuration
Authentication
Used to identify the user. For example, a user must provide a user name and password. They are
checked with an authority (for example, a database or a Windows domain server).
The identification and access control of a client to resources are important components of several
distributed applications.
IIS and ASP.NET provide several authentication methods.
NOTE: For additional information about Microsoft security, refer to specialized publications.
Authorization
The process that grants or refuses access to resources for specific users.
Impersonation
Impersonation enables a server process to run using the client’s login information. When the server
impersonates the client, all the operations it executes are carried out using that client’s login
information.
The advantage is that it facilitates the authorization management: NTFS authorizations applicable
to the specified account are used. If the user is not authenticated and activity impersonation is
activated, then the IUSR account (or the Internet Guest account with very limited authorizations)
is used.
ASP.NET Impersonation
Impersonation is the execution by ASP.NET of code in the context of an authenticated and
authorized client. By default, ASP.NET does not use impersonation; it executes code under the
account of the ASP.NET process, which is typically the ASP.NET account. This is contrary to ASP
behavior, which uses impersonation by default. In IIS, the default identity is the NetrworkService
account.
NOTE: Impersonation may impact performance and scalability. In general, it is more inefficient to
impersonate a client than to make a direct call.
Delegation
Like impersonation, delegation enables a server process to run using the client’s login information.
However, delegation goes further in authorizing the server process to call other computers in the
client’s name, to access remote resources.
60 35008244 04/2014
Workstation Configuration
Introduction
After installing Web station on the machine, the user must validate the Web server functions of the
machine via the IIS component. The IIS configuration must be defined manually on the Web
Station machine.
NOTE: To access the ASP.NET features, IIS must be installed with the latest security updates.
Installing IIS
The following table describes installation of IIS.
Step Action
1 In the Start menu, select Control Panel.
2 Select Add or Remove Programs, then Change or Remove Programs at the
top left of the window.
3 Select Windows Components.
Result: The following window appears:
35008244 04/2014 61
Workstation Configuration
Step Action
7 Click World Wide Web Services.
8 Confirm your choices by clicking OK then OK.
9 Then click Next to start the IIS installation.
During the installation, the following window may appear:
But the Windows DVD is not mandatory, as the files may already be located in
the c:\i386 folder.
Step Action
1 Click Start →Run.
Result: The Run dialog box appears.
2 Type %windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -i
-enable in Open field.
NOTE: Where %windir% is the environment variable corresponding to the installation
folder of Windows.
3 Click OK.
NOTE: The above command line must also be executed when updating OFS V3.x to OFS V3.50
with OPC XML server option installed.
62 35008244 04/2014
Workstation Configuration
Configuring IIS
The following table describes configuration of IIS.
Step Action
1 Create the <root>\OFS and <root>\OFS\ftp folders (example:
c:\inetpub\wwwroot\OFS and c:\inetpub\wwwroot\OFS\ftp).
2 In the Start menu, select Control Panel.
3 Click Administrative Tools then choose Internet Services Manager (IIS).
4 In the tree, expand Web Sites, Default Web Site.
Result: the following window appears:
35008244 04/2014 63
Workstation Configuration
Step Action
5 Right click on the OFS folder proposed by the user, and choose Properties.
Result: the following window appears:
64 35008244 04/2014
Workstation Configuration
Introduction
After installing Web station on the machine, validate the Web server functions of the machine via
the IIS component. You must define the IIS configuration manually on the web station machine.
NOTE:
To access the ASP.NET features, IIS must be installed with the latest security.
During the installation, Windows might ask you to confirm your action by displaying the following
dialog box. Click Continue.
Step Action
1 In the Start menu, select Control Panel.
2 Select Programs and Features, then Turn Windows features on or off at
the top left of the window.
Result: The Turn Windows features on or off window appears:
35008244 04/2014 65
Workstation Configuration
Step Action
3 Select the following item:
66 35008244 04/2014
Workstation Configuration
Step Action
1 In the Start menu, select Control Panel.
2 Select Programs and Features, then Turn Windows features on or off at
the top left of the window.
Result: The Turn Windows features on or off window appears:
35008244 04/2014 67
Workstation Configuration
Step Action
3 Select the following item:
68 35008244 04/2014
Workstation Configuration
Step Action
1 Click Start →Run.
Result: The Run dialog box appears.
2 Type %windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -i -
enable in Open field.
NOTE: Where %windir% is the environment variable corresponding to the installation folder of
Windows.
3 Click OK.
NOTE: The above command line must also be executed when updating OFS V3.x to OFS V3.50
with OPC XML server option installed.
Configuring IIS
The following table describes configuration of IIS.
Step Action
1 Create the <root>\OFS and <root>\OFS\ftp folders.
Example: c:\inetpub\wwwroot\OFS and c:\inetpub\wwwroot\OFS\ftp).
2 In the Start menu, select Control Panel.
35008244 04/2014 69
Workstation Configuration
Step Action
3 Click Administrative Tools then select Internet Information Services Manager (IIS).
Result: The IIS Manager window appears:
Click OK.
70 35008244 04/2014
Workstation Configuration
Step Action
5 In the navigation panel of the IIS Manager window, expand Default Web Site.
Right click on the OFS folder and select Convert to application.
6 Right click the OFS folder again and select Add Application.
Result: The following window appears:
7 Click Select....
Result: A dialog box appears:
On Windows 7\Server 2008R2\ Server 200x:
a Select DefaultAppPool and click OK.
b Click OK in the Add Application window.
On Windows 8\Server 2012:
a Select .NET v2.0 and click OK.
b Click OK in the Add Application window.
NOTE: Execute this step when updating OFS V3.x to OFS V3.50 with OPC XML server
option installed.
35008244 04/2014 71
Workstation Configuration
Step Action
8 Click the OFS folder in the Internet Information Services Manager (IIS) window (the icon
changed and represents now the earth).
Result: the following window appears:
Check that Anonymous authentication is enabled. If not, click Enable on the right side of
the window.
72 35008244 04/2014
Workstation Configuration
Step Action
10 Click Edit... on the right side of the window.
Result: the following window appears:
Click Set... and type the name of the low privilege anonymous account created by IIS.
Typically the format of the name is IUSR_WorkstationName.
Click OK.
35008244 04/2014 73
Workstation Configuration
Introduction
The Web data editor requires that an FTP site with the URL <host>\ofs\ftp be published.
NOTE: The following procedure shows you how to publish a FTP site using Windows 2000/XP. If
you use Windows 8, Server 2012, Windows 7, Server 2008 R2, Vista, or Server 200•, the
procedure is identical, only the GUI changes.
Step Action
1 Start IIS from the administration tools.
Right click Default FTP Site.
Choose New, Virtual Directory.
74 35008244 04/2014
Workstation Configuration
Step Action
2 In the FTP creation wizard, enter OFS.
35008244 04/2014 75
Workstation Configuration
Step Action
3 Click Browse... to specify the OFS path defined in step 1 of the IIS
configuration procedure (see page 69).
Example: c:\inetpub\wwwroot\ofs
76 35008244 04/2014
Workstation Configuration
Step Action
4 Configure the wizard window as shown below:
35008244 04/2014 77
Workstation Configuration
Step Action
5 Restart the wizard from the FTP site ofs and create the FTP site.
78 35008244 04/2014
Workstation Configuration
Step Action
6 In the FTP creation wizard, enter FTP.
35008244 04/2014 79
Workstation Configuration
Step Action
7 Click Browse... to specify the FTP path (e.g. ) defined in step 1 of the IIS
configuration procedure (see page 69).
Example: c:\inetpub\wwwroot\ofs\ftp
80 35008244 04/2014
Workstation Configuration
Step Action
8 Configure the next window as shown below:
35008244 04/2014 81
Workstation Configuration
Step Action
1 Right click on Default FTP Sites and select Properties.
2 In the Properties of the Default FTP Site window, select the Security
Accounts tab.
3 Check Anonymous access.
4 Set User Name and Password in the Account used for Anonymous Access
dialog box with the user name IUSR_FTP and the password.
5 Check Allow IIS to control password.
Step Action
1 Find the file namespace.zip located in c:\Inetpub\wwwroot\ofs\ftp.
2 Right click on this file and select Properties.
3 In the General tab, make sure the file is not read-only.
4 In the Security tab, click Add.
5 In the Select Users or Groups window, enter <machine name>\IUSR_FTP.
6 Click OK to add it to the list.
7 Select the created user and grant him total control in the Security tab.
8 Click OK to confirm and close the window.
9 Repeat the steps with the file password.rde located in
c:\Inetpub\wwwroot\ofs\ftp.
82 35008244 04/2014
Workstation Configuration
Overview
Four minimal Intranet configurations are presented (3 anonymous and one secure access types).
The following are provided for each configuration:
the ASP.NET Web Service security settings defined in the web.config file.
The web.config file, in XML format, is provided when you install Web Station in wwwroot/OFS.
To customize the ASP.NET security settings, you must open the file using a text editor or an
XML editor and change the values of the ’authentification mode’ and ’identity impersonate’
items.
the IIS security level.
To customize it, open the Internet Information Service tool, choose ’Properties’ from the pop-
up menu of the OFS\ws\opcxmlda.asmx file. Use the File Security tab to edit the authenti-
cation methods.
NOTE: The Web.config file and the IIS configuration must match.
35008244 04/2014 83
Workstation Configuration
IIS Configuration:
check anonymous access,
uncheck Integrated Windows Authentication.
Set User Name and Password in the Account used for Anonymous Access dialog box with
the User Name and Password setting IUSR_machinename.
Web.config:
<authentification mode="none" />
<identity impersonate="true" />
In this case, ASP.NET impersonates the token it is provided by IIS, which is the anonymous user
Internet account (IUSR_machinename).
Anonymous IIS access with specific ASP impersonation:
the advantage of this configuration is to provide the application with the same rights as userName.
IIS Configuration:
check anonymous access,
uncheck Integrated Windows Authentication.
Web.config:
<authentification mode="none" />
<identity impersonate="true" userName="domain\user" password="password"/>
User/password authenticates an intranet user (the password appears unencrypted).
In this case, ASP.NET performs a query using the client’s credits as a parameter in Web.config.
Anonymous IIS access without ASP impersonation:
this configuration requires that OFS be installed on the same machine as the Web Service (if the
DCOM Identification Security parameter is set).
IIS Configuration:
check anonymous access,
uncheck Integrated Windows Authentication.
Web.config:
<authentification mode="none" />
<identity impersonate="false"/>
In this case, no authentication or impersonation is performed. ASP.NET performs a query using
the credits of the local ASP account.
84 35008244 04/2014
Workstation Configuration
cannot authenticate across a firewall via a proxy, unless you use a PPTP connection,
does not support delegation to other servers, if NTLM is chosen,
is supported only by Internet Explorer 2.0 or later,
Kerberos is only supported by IIS 5.0 or later.
IIS Configuration:
check Integrated Windows Authentication.
Web.config:
<authentification mode="Windows" />
<identity impersonate="true" />
In this case, ASP.NET uses Windows authentication in combination with Microsoft IIS authenti-
cation. When the IIS authentication is performed, ASP.NET uses the authenticated identity in order
to authorize access.
35008244 04/2014 85
Workstation Configuration
COM/DCOM Configuration
Overview
By default, a Web service has very limited rights, and is unable to launch a COM server. The OPC
XML-DA Web service acts as an OPC-DA client and uses COM to access the assigned OPC-DA
server.
The following configurations can be set up in combination with the Web Service security settings.
NOTE: You are strongly advised to restart the machine after configuring the DCOM security
settings.
Two configurations are available:
an identified OFS access with impersonation,
an identified OFS access without impersonation.
Step Action
1 Start DCOMcnfg from the Start menu, then choose Run.
2 Under Windows 2000, choose theDistributed COM Configuration Properties/Default or
Under Windows 8, Server 2012, Windows 7, Server 2008 R2, Vista , XP, Server 200x, to
choose the properties right click Console Root/Component Services/Computers/My
Computer, right click My Computer and choose Properties, in the Default Properties tab.
3 Set Default Authentication Level to Connect.
4 Set Default Impersonation Level to Identify or Impersonate.
5 Then click the Default COM Security tab.
6 Click Edit Limits in Access Permissions.
7 Click on Add, enter the user name of the authorized user,
DCOM OFS settings should be set to “Use Default” to inherit from machine default settings. DCOM
OFS configuration (see page 54).
86 35008244 04/2014
Workstation Configuration
Step Action
1 Start DCOMcnfg from the Start menu, then choose Run.
2 Under Windows 2000, choose the Distributed COM Configuration Properties/Default
properties or
Under Windows XP, choose the properties right click Console Root/Component
Services/Computers/My Computer, right click My Computer and choose Properties, in
the Default Properties tab.
3 Set Default Authentication Level to Connect.
4 Set Default Impersonation Level to Identify or Impersonate.
5 Then click the Default COM Security tab.
6 Click on Modify in Access Permissions.
7 Click on Add, enter the ASPNET user name (see (see page 83) without ASP
impersonation), then click on OK.
8 Click on OK to close the dialog box window.
9 Click Edit Limits in Launch and Activation Permissions.
10 Click Add, enter the user name of the ASPNET user, then click OK.
11 Click OK to close the dialog box window, and Exit.
DCOM OFS settings should be set to “Use Default” to inherit from machine default settings. DCOM
OFS configuration (see page 54).
35008244 04/2014 87
Workstation Configuration
88 35008244 04/2014
Workstation Configuration
35008244 04/2014 89
Workstation Configuration
90 35008244 04/2014
OPC Factory Server V3.50
OFS as an NT service
35008244 04/2014
Chapter 5
OFS as an NT service
OFS as an NT service
OFS as NT Service
Description
The OFService NT service is used to start OFS Server automatically each time the service is
started.
In this case, the icon for the OFS server is not visible; the server is operating in background mode.
It is always possible to start Windows and manually stop the server by using the Control Panel.
Configuration Setting
NOTE: NT services are controlled by executing services.msc command line.
To use the NT service, you need to make the following modifications to the configuration of your
machine:
Step Action
1 Configure your server (alias, time out, and so on) preferably using the hidden
option in the diagnostic folder.
2 Run the OFSService.bat batch file, which can be found in the directory
containing the executable file of the server.
3 Configure the OFService service.
1. Execute services.msc.
2. Double-click OFService service.
3. Select the Log On tab in the Properties dialog box.
4. Select This Account and enter an account (the account can be an
administrator of the computer declared into workgroup or member of a
Domain). This account is referred below as OFService Account.
4 Configure COM/DCOM OFS Server stations.
Using Windows 2000 (see page 52), follow steps 1 to 17.
Using other platforms (see page 54), follow steps 1 to 20.
5 Start the Services tool. OFService should appear in the list.
6 Select OFservice. The default value is Manual.
You can then start OFservice and OFS by using Start and stop it using Stop.
You can also start it automatically by setting Startup type to Automatic.
35008244 04/2014 91
OFS as an NT service
Step Action
7 Close the Services tool.
8 Reboot your machine and OFS should run (use the Windows NT Task manager
to verify). Before rebooting, you can test that everything is OK by starting
OFService manually.
NOTE: The NT service cannot operate on a server in evaluation mode (client not yet registered)
or in DEMO mode.
NOTE: You can run OFS server without opening a Windows session on Windows Server 2003 and
Server 2008. On other systems, open a Windows session on the computer.
Uninstalling Services
To uninstall the OFS product while OFservice is running, proceed as follows:
Step Action
1 Stop OFservice.
2 To cancel OFservice registration on the NTservice, run the OFSNoService.bat
batch file which can be found in the directory which contains the executable file
of the server.
3 Uninstall the product.
If you want to delete OFS as an NT service, but want to keep OFS installed, proceed as follows:
Step Action
1 Stop OFservice.
2 To cancel OFservice registration on the NTservice, run the OFSNoService.bat
batch file which can be found in the directory which contains the executable file
of the server.
3 Start the DCOMcnfg tool. Select the Schneider-Aut OPC Factory Serve
application, then Properties, then Identity and check The Interactive user box.
Confirm and close DCOMcnfg, and restart the machine.
92 35008244 04/2014
OPC Factory Server V3.50
User Guide
35008244 04/2014
Part IV
User Guide
User Guide
Overview
The purpose of this section is to guide users in the product’s various features.
35008244 04/2014 93
User Guide
94 35008244 04/2014
OPC Factory Server V3.50
The OFS Configuration Tool
35008244 04/2014
Chapter 6
The OFS Configuration Tool
Overview
This chapter introduces the tool for configuring the OFS product.
35008244 04/2014 95
The OFS Configuration Tool
Section 6.1
Introducing the Configuration Tool
96 35008244 04/2014
The OFS Configuration Tool
At a Glance
OFS is an OPC data access server that may be used to read or write data on devices (in general
PLCs, but not exclusively).
To do this, the server must have the following information for each device:
The network to use,
The address of the device on the network,
The symbols table file to use if the device variables are accessed using symbols.
Moreover, the server supports a group of configuration parameters in order to best adapt the
communication with the devices.
All the parameters are processed by the configuration tool, which makes it an essential component
of the OFS product. It allows the user to configure the OFS server to connect it to networks, devices
and symbols tables.
To use the server, one must first create an alias for each device that will be accessed.
An alias is a shortcut that may be used when a network address for the device is necessary (single
replacement string). The use of an alias is also a very practical way to disconnect your OPC
application from network addresses of devices that may be modified when necessary.
As the server does not have any symbol support function, you may indicate to the server the name
and path of the symbols table file to use (one per device). It enables the view symbols function for
the device.
You may next configure other device parameters using the properties page for the device.
NOTE: All changes made to the server configuration parameters are static: To enable the changes,
the server must be shut down, then restarted.
35008244 04/2014 97
The OFS Configuration Tool
Description
To launch the OFS Configuration Tool:
click on the Start button in the task bar,
Select Programs\Schneider Electric\OFS\OFS Configuration Tool.
The upper part of the window offers a set of menus and a tool bar:
The upper part of the window offers a menu bar and a tool bar.
File menu:
The New Device Alias option will allow you to create new devices.
The Open Archive option will allow you to restore a configuration from a backup file. See
also the compatibility paragraph (see page 154),
The Save Archive as option is used to save the server settings and the aliases and their
properties in a file. This option is recommended if a large number of aliases has been
declared.
The Save configuration option will allow you to save all the changes you have done, which
will be taken into account after the next server starting up.
The Reset Default device settings option will allow you to restore the default settings of the
Default devices folder. Refer to The Default devices folder (see page 127). This option is
enabled only when Default devices is selected in the tree view. Refer to Introduction to the
Standard parameters for editing aliases (see page 104).
The Print Preview option will allow you to preview your printing.
The Print option will allow you to print or sent in a text file all the parameters.
Edit menu: Access to copy, paste and delete functions for the device Alias.
View menu: Allows you to view the list of configured devices in several modes see below.
Settings menu: Allows you to choose the soft language (English, French or German) of the
configuration tool.
Help menu: Allows you to access to help while using OFS product.
NOTE: If a previous version of the configuration tool was installed and aliases already created, a
compatibility dialog box will appear the first time the program is run, which allows existing aliases
to be restored. See the Compatibility (see page 154) paragraph for further details.
98 35008244 04/2014
The OFS Configuration Tool
NOTE: To retrieve an OFS configuration created with a version of OFS older than version 3.50,
run first the version 3.50 Configuration Tool and apply the settings before launching the OFS
server.
NOTE: On Windows XP, an OFS configuration change requires administrator’s rights.
35008244 04/2014 99
The OFS Configuration Tool
Section 6.2
Configuration tool
Configuration tool
Presentation
When the configuration tool is opened, one or more aliases are created and the associated
properties are set. The client application can create variables on the devices associated with these
aliases. In most cases, the Alias definition is sufficient.
As with Windows explorer, you can view the list of configured devices in four modes:
the tiles display mode,
the icons display mode,
the list display mode,
the details display mode.
Section 6.3
The Alias folder
Overview
This section describes alias management.
Tab Folder(s)
Devices Device overview: Allows you to view the list of configured devices and the
properties of devices.
Default devices: Defines the settings given by default when a new device
is created.
Devices without Aliases: Defines the settings applied for the devices
without aliases, i.e. which are not in the device overview.
OPC settings Deadband: Defines the settings for deadband feature.
OFS Server Diagnostic: Defines the settings for diagnostic feature.
settings Simulation: Defines the settings for simulation feature.
Symbols: Defines the settings for symbols files.
PLC Software: Defines the settings in relation with PLC software.
Communication: Defines the settings for communication server feature.
Options: Defines the optional settings for OFS server.
Presentation
The Configuration tool offers a graphic assistant for configuring the network and the address].
To call the assistant, click on the Device address attached box that corresponds to the
alias selected:
Field Description
Tree-view 1st level: X-Way or Direct addressing (depending on the network being used).
The Other family is reserved for future extensions.
2nd level: Type of network.
Alias address Displays the alias string as the result of the selections. In Read Only for X-Way or
Direct addresses, in Read/Write for other protocols.
Reset Erases the string.
Cancel Exit screen without taking into account the choices made.
OK Exit screen taking into account the choices made.
Notes:
The USBX driver is reserved for Unity Pro PLC.
The X-Way drivers do not support the CONCEPT PLC.
X-Way Parameters
The illustration below shows the X-Way (see page 365) addressing modes:
Field Description
PLC’s This area enables you to identify the type of PLC in use:
UNITY ≡ programming with Unity Pro ≡ /U at the end of the alias’
address,
PL7 ≡ programming with PL7 ≡ /T at the end of the alias’ address,
X-TEL ≡ programming with X-TEL ≡ /S at the end of the alias’ address,
ORPHEE ≡ programming with ORPHEE ≡ /J at the end of the alias
address.
Through ETY 120 Driver TCPIP only, reserved for certain modules (e.g.: TSX ETY120):
If selected, enter an IP address.
Addressing Addressing levels for X-Way addresses. See Communication
levels (see page 365) section.
Network/Station/ X-Way Address. The unlabelled text boxes are grayed out depending on
Gate/Index the addressing level selected. For more details on X-Way addressing, see
the section entitled Communication (see page 365).
Index is the XWAY gateway number. To have an index number, you must
create a virtual alias (without associated symbol table file) by using
Gateway XWAY (see page 121) as driver.
Instance number One instance per driver installed. Generally equal to 1. Each driver
corresponds to a communication card in the PC.
1K Service (for This option increases the communication performance by raising the size
PL7 equipment of the frames to 1024 bytes. The PLC application must be set-up in periodic
only) and not cyclic mode. It sets the gate to 7 which limits addressing to 3 levels.
Moreover, the data are no longer accessed synchronously with the PLC
cycle. In certain cases this may lead to a lack of data consistency.
Minimum This option is accessible for PLCs other than Unity Pro:
communication When checked, the server uses the default communication parameter
profile values, and no adjustment is performed. The communication
performance may not be optimum.
When not checked (by default), the OFS server adjusts the
communication parameters optimally, in order to dialogue with the
associated device.
The table below describes the fields relative to direct address parameters:
Field Description
PLC’s This area enables you to identify the type of PLC in use:
UNITY ≡ programming with Unity Pro ≡ /U at the end of the alias’
address,
PL7 ≡ programming with PL7 ≡ /T at the end of the alias’ address,
X-TEL ≡ programming with X-TEL ≡ /S at the end of the alias’ address,
ORPHEE ≡ programming with ORPHEE ≡ /J at the end of the alias
address,
CONCEPT ≡ programming with Concept ≡ /Q at the end of the alias’
address.
ModbusSerial The PLC node is only available for Modbus RTU.
It defines the slave number of the device inside the Modbus network.
Premium Unity PLCs are not accessible via the Modbus Serial Link.
Modbus Plus Modbus Plus only:
Data master: limited rights (read/write variables).
Program master: unlimited rights, reserved for the Concept and Unity Pro
programming workshop (read/write variables, program modification and
configuration).
Enter the Modbus address (the first value is compulsory, the others are
optional depending on routing levels)
Modbus request This option can be used to increase dynamic performance when a Unity
for access on Pro PLC is accessed via an NOE (Ethernet TCP/IP) or NOM (Modbus Plus)
located data or NWM (FactoryCast HMI Web Server) communication module and only
in these three cases.
When this box is checked, OFS uses Modbus requests to access located
data and these modules are able to process four times more requests in a
PLC cycle.
Only the topological objects %MW, %MD and %MF are supported if the
box is checked.
However, Unity Pro protocol requests can sometimes prove more
advantageous to use as they are more economical in terms of number of
data exchanges with the PLC (see page 376).
If your performance is OK, it is recommended that you do not check this
box.
Swap 32 bits This option is available for Concept PLCs.
values When checked, the real float or long values (%MF or %MD) are swapped
in the Modbus requests to be consistent with certain specific devices.
Minimum This option is accessible for PLCs other than Unity Pro:
communication When checked, the server uses the default communication parameter
profile values, and no adjustment is performed. The communication
performance may not be optimum.
When not checked (by default), the OFS server adjusts the
communication parameters optimally, in order to dialogue with the
associated device.
Description
A symbols table file can be associated with the alias, in order to provide access to the symbols for
the variables of this device. The symbols file is generated by the PLC programming software: Unity
Pro for Premium and Quantum PLCs, PL7 for Premium/Micro PLCs or Concept for Quantum PLCs.
For the devices of the Series 7 and S1000 ranges, the symbols file can be obtained in the same
way as for a Premium, but having first converted the application to Premium format. The only
restriction is that no consistency check will be possible with the application loaded in the PLC.
Clicking in the "Symbols table file" attached box in ‘General’ part for the selected alias brings up a
file explorer:
The file types that can be inserted are listed in the "type of files" list box. Select the appropriate file
type.
Enter the file of your choice and click "Open". The file name and directory will then be displayed.
NOTE: The path locating the symbol file contains neither extended characters nor unicode
characters.
Description
To install the Unity Pro link via the OFS server, select the .stu project file (see Associating a
Symbols Table File, page 110 and see Symbol management, page 288) as symbols file for any
device or group.
This .stu file authorizes the consistency check (application name and version) between the symbol
table file and the application in the PLC (see page 129).
The direct link with Unity Pro can thus be used to:
access the database of one or more Unity Pro projects,
support symbols,
consult the symbols,
access the unlocated variables and structured data,
perform a dynamic consistency check, with automatic reloading of the symbols where changes
have been made to the PLC application.
NOTE: Unity Pro and OFS server may be on the same machine or different machines (DCOM link).
Description
OFS supports the following versions of Concept:
Concept 2.2 SR2,
Concept 2.5 SR2 (and above).
To install the Concept link, select the .prj project file and as symbols file for any device or group.
This prj file authorizes the consistency check (application name and version) between the symbol
table file and the application in the PLC (see page 129).
The Concept workshop and the prj files should always be located on the same machine. The OFS
Server can be located either on the Concept machine (usual case) or on another machine (Remote
Concept Link feature).
The same project can be used simultaneously with the Concept and OFS Workshop in Windows
7/Vista/2000/200x server as long as Concept is running in its own memory space (16 bit program).
In order to do this:
edit the usual Concept shortcut properties,
in the Shortcut tab, check the "Run in Separate Memory Space" box.
With OFS, more than one Concept project can be used at once, as long as they are from the same
version of Concept. In order to do this, create the aliases required, and for each of these select a
different project file.
OFS software, when used with the stripped Quantum executable file, will not read unlocated
variables.
If you anticipate using unlocated variables:
Use the full Quantum executable, not a stripped down version.
Activate IEC runtime on the PC.
Check the unlocated media option on the properties page.
Otherwise, you will not be able to access unlocated variables.
Concept and OFS may run simultaneously on the same Concept project. Several Concept projects
may be opened simultaneously, as long as they are all of the same version.
Support of symbols
Description
This function enables you to replace the address of any variable by its name in the PLC application
(e.g.: use of "Symbol" rather than the topological address "%MW1" or instead of State RAM
location "400001"). It amounts to a string substitution, and has no effect on Read/Write operations.
The supported symbol (see page 288) table formats are:
PL7 symbol table file or exported project file,
Concept exported symbol table file,
Concept project file (direct link with Concept database),
Modsoft exported symbol table file,
CSV symbol table file (Excel exported format),
Taylor exported symbol table file (identical to Excel format),
Unity Pro exported symbol table file,
Unity Pro project file (direct link with Unity Pro).
NOTE: For old ranges: XTEL files must be converted to PL7 format in order to use symbols on the
series 7 (using the "PL7-3 converter" function of the PL7 PRO). The series 1000 does not allow
the use of symbols.
Presentation
Now that the alias has an address, it is necessary to adjust its property settings.
These parameters will allow the behavior of the server to be adapted for the associated alias.
For each alias that is declared, it is possible to set up the following parameters:
General Settings
The general settings display this way:
Field Description
Symbol Access For Unity devices only, when Located Only is checked, only direct (not
Mode symbolized) topological addresses are supported.
This mode excludes Symbol table file and Using Data Dictionary
configuration.
It provides No Communication Break capability during Unity Pro build
change (see page 309) without any other configuration, and whatever Unity
Pro or Firmware versions.
Refer to the chapter Unity Pro Variables on OFS\ Direct addressing data
instances (see page 257) to have the list of supported objects.
Objects arrays are also supported.
Symbol table file Name and path of the Symbol table file. See dedicated section
(see page 110). It can be entered and changed here, or directly from the
grid.
The size of the character string is limited to 255 characters.
PLC Embedded Using Data Dictionary option:
Data Associated with a Unity Pro symbol file, this option allows the OFS server to
automatically resynchronize the addresses of the variables in case of
inconsistency detection after of an application on-line modification.
In addition, without any symbol file, this option allows the OFS server to
browse the application variables.
This option is visible in case of TCP IP direct driver and Unity Pro PLC.
No Communication Break option:
A build change done through a connected Unity Pro breaks the
communication during the symbol database reload and the inconsistency
detection. As the result, all the quality of animated items is set to BAD.
To avoid this disturbance, a synchronization mechanism is set up between
OFS / Unity Pro and the CPU firmware by checking the option No
Communication Break. Refer to the Version Compatibilities.
Database access Not available for the devices which can be programmed by X-TEL, ORPHEE
and PL7 software workshops.
Allows you to set up the Concept or Unity Pro database in relation to the
OFS server:
Preload settings Allows data to be pre-loaded at server start-up rather than when running:
No preload: by default.
Symbols table: pre-loads the symbol table.
Device: loads the symbols table if one exists and creates a continuous
connection to the device.
Field Description
Dynamic This option can greatly speed up the import of symbol for HMI-tools .PRJ
consistency (Concept) or .STU (Unity Pro) or .XVM (Unity Pro) symbol files.
This option is used to define the rule to apply in the case of a detection of an
inconsistency (see page 148).
A build change concerning a new variable creation does not imply a
database resynchronization in Debug Consistency level.
For Unity Pro PLC alias, the New Symbol Detection option allows to
browse a new variable adding in Debug Consistency level if the Unity Pro is
in version 6.0 or later.
Consistency level Available if the symbols table is .prj-type (Concept) or .stu-type (Unity Pro)
or .xvm-type (Unity Pro).For .fef and .scy-types of PL7, consistency is
checked at device startup.
OFS may detect an inconsistency when reading / writing items. In the case
of weak frequency of group polling, this option allows to periodically check
the consistency at the period defined in the dynamic coherency check in the
PLC software folder.
Field Description
Driver Summary of driver settings in read only.
information
Push data Not available for certain networks, in particular the ModbusTCPGateway
area option. Write orders from the device to the server. For more information on
this subject, go to the push data section (see page 132). N.B.: if "No Push
Data" is selected, other fields are not significant.
Adjustment Settings
The adjustment settings display this way:
Field Description
Max Channels Number of channels allocated to the device.
Note: This parameter has a very large impact on performance, as it
determines the maximum number of requests that OFS can process
in parallel (see page 370).
Max Pending Maximum number of requests authorized to be pending (awaiting
response) for a device. This number does not depend on the number
of opened channels.
Range: [0...256], 0 is the default value and it indicates that
OFScalculates the optimal value.
Frame Timeout Permissible delay between request and answer. Range:
[1000...10900], to the maximum of a third of Device Timeout.
Device Timeout Delay for the status change of the device (Missing, Unknow or OK).
Range: [3000...32767], at least three times the Frame timeout (or 0 to
disable the feature).
For more information on this subject, see frame and device timeout
(see page 125).
Modbus Gateway
The illustration shows an example of a gateway-type alias (Modbus Gateway):
Field Description
Max Channels The indicated value must be consistent with the technical characteristics of
the gateway.
If this parameter is greater than the capacity of the gateway, system
messages on the management of sockets may be displayed in the trace file.
Note: This parameter has a very large impact on performance, as it
determines the maximum number of requests that OFS can process in
parallel (see page 370).
Maximum Maximum number of requests authorized to be pending (awaiting response)
pending for a device. This number does not depend on the number of opened
requests channels.
Range: [0...256], 0 is the default value and it indicates that OFScalculates
the optimal value.
In this example, the alias is associated with a Concept (/Q) project with a Modbus index of 33, on
a gateway with the IP address 139.175.80.40.
This device used the gateway parameter values Max channels and Max pending. The
parameters can only be modified in the gateway alias properties, not in the alias.
For this type of alias, the Push function is not supported.
XWAY Gateway
The illustration shows an example of a gateway-type alias (XWAY Gateway):
Maximum number of authorized requests pending responses for a device, where the server sends
several requests in parallel (0 by default).
Here, the alias is associated with a Unity Pro(/U) project with a XWAY index of 29 on a gateway
with XIP address 0.2.0.
This device uses the gateway parameter values Max Pending. These parameters can only be
modified in the gateway alias properties, not in the alias.
Section 6.4
The Device overview folder
Step Action
1 From the File menu, select New Device Alias.
Note: You can use the contextual menu by right mouse clicking on top window to
create a new device.
Result: A new device is created and the configuration tool gives a default name
that can be immediately changed or later by a "rename".
Note: you cannot have two identical names.
2 Assign a name to your device.
3 Define the device network address (see page 105) which includes the network
driver, the type and the device address.
4 Set the Device type (optional and only for Unity devices).
If your application plans to use Enhanced Diagnostics specific items (refer to the
chapter Enhanced Diagnostics Specific Items (see page 231), you have the
possibility to set the device type to match with the actual device present in your
application.
In other cases, let the value be set to Default.
When the Device type is set, you can browse or animate only the Enhanced
diagnostics specific items related to that type.
The Default value allows browsing or animating Enhanced Diagnostics specific
items common to all devices types.
Note: If the device is connected during browse or items adding operations, the
actual device type (identified at device connection) overrides the configured type.
5 Provide a Symbols table file name (see page 110) (optional).
6 Set the alias properties (see page 115) which are related to how the server will
behave towards the variables created on that alias.
Note: It is recommended to associate a single and unique alias for each device.
If not, the properties of the first alias will be used to create an item with the second
alias.
Additional information
From the Edit menu, you can copy, paste or delete a device.You can also use the contextual menu
(mouse right-click) for the same operations.
Description
The frame timeout shows the maximum length of time the Server will wait for an answer from a
device after sending a request. This can be defined according to the device in its properties page.
The frame timeout may be configured dynamically, device by device, using the specific
(see page 223) #TimeOut item.
To avoids item quality flickering and over-long OPC application startup time due to missing
devices, a device timeout feature has been introduced.
When active, this option has two effects:
if the device is physically missing, then it will be considered ’missing’ for a time equal to the
Device Timeout.
when the communication is interrupted an observation period of a duration equal to the device
timeout is engaged. After this period, and if the communication stays inoperational, the device
is declared missing and all of its active items are affected (the quality of the elements is set to
BAD).
This timeout can be defined device by device in the properties page.
If the value in the device property page is set to 0, then the device timeout takes the default value
(5000 ms).
This feature is incompatible with synchronous groups.
If the multi-channel (see page 370) feature is enabled, the frame timeout value is the same for all
channels open with a given device.
Description
Various parameters can be used to set this important communication parameter. They can be
global or device (see page 115) specific parameters. They can also be static (configured using the
Configuration Tool) or dynamic (configured using a write specific (see page 223) item
(see page 125) and method.
Section 6.5
The Default devices folder
Description
This folder lists all the alias properties applied by default when an alias is created.
Illustration:
A full set of default parameters of your choice can be set up so that property adjustment for each
new alias created is minimized.
Introduction
To access the value of a symbolized object in the PLC memory, the OFS server must know:
The topological address associated with this object in the case of a located object,
The address of this object in PLC memory in other case.
The correspondence between the symbols and the topological addresses is done in 3 different
ways:
Through a file exported from UnityPro software (XVM exported file type),
Through directly by the UnityPro software (STU file type),
Through directly from the PLC.
The OFS server provides different mechanisms to manage the consistency between the OFS
application and the PLC. These mechanisms depend on:
The PLC type,
The synchronization type (by XVM file, by UnityPro or directly by the PLC),
The consistency level (Strict, Debug, ‘Dynamic consistency check’).
Description
The dynamic consistency control function is available on PLCs configured with the Concept link
(see page 112) or the Unity Pro link (see page 111) or the Unity Pro file of exported XVM symbols
(see page 291) or the direct PLC symbol database (see page 305).
This function allows the server to check at regular intervals the consistency between the
application loaded in the PLC and the currently open Concept or Unity Pro symbols database or
the direct PLC symbol database.
Thus by using both Concept and OFS or Unity Pro and OFS, uploading several modifications to
the PLC using Concept or Unity Pro will cause, after several seconds, closing and reloading of the
Concept or Unity Pro database by the OFS server.
The automatic loading function can be deactivated (see PLC Software folder (see page 148)). In
this case, reloading may be performed manually using the OFS Manager (see page 171), with the
reload and update services.
OFS automatically updates its network requests in the event that certain variable locations have
changed and, if the OPC browse interface is opened and closed, an updated list of symbols will
appear.
With Concept, it is possible to use non-located variables but their value cannot be read as long as
the variables are not used. With OFS, all non-located and unused variables will be displayed with
the attribute "Quality Bad". If, following automatic updating of the Concept database, OFS
discovers that some unlocalized variables that were not used, are in fact used, the attribute "Quality
Bad" will be replaced by the attribute "Quality Good" and the updated value will be displayed.
NOTE: For proper operation with Concept or Unity Pro, the automatic save option must be enabled
(in Concept, in the menu Options->Preference->Common, the option Save after download is
checked). If you do not wish to use this option, you must save manually.
The OFS server checks the consistency between the application loaded in the device and the
symbols file linked to its alias if the option Dynamic consistency check is checked. When there
is a variation, it applies the selected consistency policy. If the dynamic control option is not
checked, consistency is checked only on each access to the device.
Consistency Policy
The consistency policy defines the procedure to follow if there is any variation between the
application of the PLC and that of Unity Pro. This behavior is defined in the configuration of the
alias.
Description
As a general rule, to update OPC items automatically, the server sends some network requests to
the PLC, then waits for the PLC responses to update its internal data tables. This is called polling
the device.
In contrast, the Push data feature corresponds to the spontaneous transmission of data by the PLC
to the active server, without any request having come from the server.
The data is regarded as being pushed by the PLC. This feature is particularly worthwhile when the
values of the data being monitored do not change very frequently. This does, however, mean that
specific processes have to be included in the PLC application for sending data.
This function is supported on TCP/IP (except ETY 120), Fipway and Ethway networks.
This feature can be enabled and configured PLC by PLC using the device (see page 115) property
page.
Data sent by the device to the server should fit within the Push data range that has been defined
for this device. Only one range can be defined for each device (using the device (see page 115)
properties page).
Any number of OPC items can be defined within this range. They are seen as ordinary OPC items.
The device has an option which can be used to send a timestamp (see page 115) with the data,
used by the server to update the timestamp property of all items associated with Push data.
Some sample applications are provided on the DVD to show how a PLC application can send Push
Data to the server.
In both cases, the functions and the behavior of the server are perfectly identical.
To use these functions, you must adhere to the following procedure:
The number of OPC items that can be created in the Push data range is unlimited (single variables
and tables) but it is not possible to create variables that straddle the limits of the area.
In addition to its value, each OPC item must include important attributes:
Quality,
Timestamp.
For the items included in the Push data range, the Quality attribute is identical for all items and may
be:
Always defined as Good (if the Quality Check Rate value defined in the device properties page
is equal to 0),
Defined according to the communication status and the operation mode of the device (if the
Quality Check Rate value defined in the properties page of the device is defined as NN and not
as 0). Every NN seconds, the server will attempt to read the operating mode of the device:
When the communication is interrupted, the quality is defined as Bad,
If the communication is established and if the operating mode is defined as RUN, the quality
is defined as Good,
If the communication is established and if the operating mode is other than RUN (generally
this means STOP), the quality is defined as Uncertain,
The Quality Check Rate option is only available for PLCs of types Concept, PL7 on X-Way and
Unity Pro.
For items included within the Push data range, when the Timestamp option is used, the date/time
is set as follows:
The current time and date of the server when a read operation is requested by the OPC client,
The time and date of the PLC when the server receives the new values of this latter,
The current time and date of the server when the Push data area is initialized (whether it be with
the value of 0 or read from the device).
The Timestamp option may be enabled individually for each alias, from the properties page.
To send the time/date to the server, the PLC must include it in the header of the data sent.
Place the GMT time on the PLC in compliance with the OPC standard.
To facilitate data formatting according to the PLC, two header formats may be used.
Illustration of the 2 formats:
NOTE: The difference between the two formats is made by OFS by checking the least significant
byte of the first word that contains 0 in format 1 and a value from 1 to 12 in the second case.
NOTE: On a Premium, the date/time may be easily be inserted using the RRTC function.
NOTE: Some sample PLC applications are provided on the DVD.
In order to allow creation of the Push data range and the reception of the associated data prior to
creating an item, configure the device (in the device properties page) so that it is preloaded when
the server is started.
All OPC write operations are performed directly on the device. The Push data area is not affected
at all.
All OPC read operations of the device are performed directly (unless for a cache read), the Push
data area is simultaneously updated.
For X-Way devices, only variables %MW and %MD may be associated with the Push data area.
The others (%MB, %MF) are managed as though the area was not defined.
For Concept-type devices, the Push data area is always located in 4x. Only variables of type INT,
DINT or FLOAT may be created there.
NOTE:
If you use the Push function on a Premium via TCPIP in direct addressing mode, and the XIP
driver is also enabled, make sure the IP of the Premium is not declared in the XIP driver (the
same TCP/IP port 502 is shared).
Only one Push data area may be created per device. However, if the device is accessible by
several network addresses, it is then possible to define one area per address,
The Push Data function is not supported for I/O objects. It is however possible to send them to
the OFS server by copying the I/O objects to standard objects .
NOTE: The size of the data range configured should be at least equal to the quantity of data sent
by the device.
NOTE: On TCPIP, OFS listens to port 502 (Schneider TCP Port). Some Schneider tools also use
this port (especially the PLC simulator). They should thus not be started on the same machine as
OFS.
NOTE:
On a Premium using TCP/IP the PC extension number must be equal or greater than 100 in the
configuration of the Ethernet module in order to specify the use of the Modbus/TCP protocol.
On a Quantum, the communication function blocks use only located variables.
NOTE: The Push Data feature is not compatible with the Ethernet I/O scanning service.
Section 6.6
The Devices without Aliases folder
Presentation
The Devices without Aliases folder displays as follows:
Description
The options to be chosen here are the same as in the device overview (see page 123). The
selections made here are applied only to the devices created without aliases, or aliases created
dynamically with OFS Manager, at server run time.
Section 6.7
The Deadband folder
Description
Deadband is a percentage of the range of values that an analog variable can take. If the value
exceeds the range, the cached value is updated and the server sends a notification. It is part of the
Group attribute, and so is applied to every variable of that group and considered as the notification
criterion when the value changes.
This folder defines the settings for deadband feature:
The range can be adjusted here for each variable, whether floating or integer, with minimum and
maximum values.
You can add or delete entries by using the contextual menu (mouse right-click) over the table.
NOTE: The Configuration tool will not allow a value less than that entered in the Min value field to
be entered in the Max value field.
Definition
Deadbanding is associated with the cyclic reading of a user group, and is a method of filtering
notifications of changes in the value of items: it avoids waking up the client application when the
variable changes within a dead range around the last value received.
Note: The deadbanding mechanism does not reduce the flow of requests between the server and
the PLC. It is used to reduce the number of notifications sent by the server, and thus processed by
the client application: this will reduce the load on the processor.
Note: The deadbanding mechanism has no effect when the client requests a synchronous or
asynchronous read or refresh.
Description
The OFS server uses deadbanding as specified by OPC standards:
In general, deadbanding only concerns real variables: %MF, called ANALOG variables by the OPC
standard. As an extension of this standard, it is possible to use this feature for integer variables
provided that the configuration steps described below have been followed.
NOTE: The OFS server uses this OPC term to refer to floating point type PLC variables, even
though this term does not correspond to the idea of analog variables usually used in the control
system field.
Deadbanding is based on the following notions:
The analog type, defined with min. and max. limits which represent the range of values (interval)
of the variables being handled. This notion has been introduced because the OFS server has
no way to obtain these maximum and minimum values directly from the programming tool (PL7,
Concept, Unity Pro, XTEL or ORPHEE).
Example:
AnalogType = [-1.0, 1.0]
The max. limit of an analog type (1.0 in the above example) is called Engineering Unit high bound
(Eng. high bound unit). The min. limit (-1.0) is called EU low bound (Eng. low bound unit).
notion of a usual notification range, which corresponds to the difference between the max limit
and the min limit defined for an analog type.
In the previous example:
The usual range of variation of the AnalogType is: 2 = (1.0 - (-1.0)),
notion of notification threshold, which conditions the transmission of a notification to the client
application: notification is transmitted if, and only if, the difference (in absolute value) between
the value read and the last value sent is above this threshold.
The threshold value of an analog type is calculated by applying the deadbanding value defined
for the group to the usual variation range of this type.
Deadbanding is a percentage variation between 0 (i.e.: 0%) and 1.0 (i.e: 100%).
To summarize, for an analog type, the notification condition is as follows:
ABS (Value read - Last value sent) > Deadbanding * (Max. limit - Min. limit).
NOTE: All notifications are sent if the deadbanding is 0% (default value). In the previous example:
NOTE: If the deadbanding value assigned to the group is 10%, the notification threshold for the
AnalogType is:
NOTE: 0.2 = 0.10 (deadbanding) * 2 (usual variation range).
NOTE: This means that only those variables in the group whose value varies by a difference of
more than 0.2 (in absolute value) will be notified to the client application.
Description
Declaration of analog types: use of the Configuration tool.
Note:
"AnalogType" is the name given to the analog type by the user.
NOTE: 1. A maximum of 100 analog types may be defined.
NOTE: 2. You cannot modify the limits for an analog type after the server has started. Changes
you make will not go into affect until after you stop and then restart the OFS server.
Defining the value of the Deadband:
The dead-banding Percentage associated with a user group can be set when the group is
created (AddGroup primitive) or dynamically adjusted during the server session
(PercentDeadBand property).
attaching an item to an analog type:
The general syntax of an item (see page 219) has an optional parameter which states the
analog type to which it belongs, and so informs the OFS server of its notification threshold.
The syntax of an item with analog type is as follows:
<item> ::= <driver name>:<API address>!<variable name>[ @<analog type name>]
Note:
The space before the @ character is optional.
Example of an item definition: "FIP01:0.31.0!%MF330 @AnalogType".
Comments:
it is possible to have the same item twice in the same group (e.g. "%MF330") with and without
the analog type suffix (" @AnalogType"), so as to be able to compare the effect of dead-banding
for notification filtering.
It is possible to have items of different analog types in the same group (i.e.: several analog types
referenced in the same group).
Section 6.8
The Diagnostic folder
Description
This folder defines the settings for diagnostic feature. Here is an illustration:
Field Description
OverWriteLog 0verwrite the log files every time the server is started.
file
Diagnostic Activates the corresponding log trace file. When this option is selected, a
browse window allows to select a log file.
You can set the maximum size of the Diagnostic log file (in Mb) by setting
the Max Size (Mb) value. The default value is 1000.
When the Diagnostic log file size exceeds the value, the file is discarded.
Symbol Adds data on the symbol files in the Diagnostic file.
manager
Networks Activates the corresponding log trace file. When this option is selected, a
browse window allows to select a log file.
You can set the maximum size of the network log file (in Mb) by setting
the Max Size (Mb) value. The default value is 1000.
When the networks log file size exceeds the value, the file is discarded.
Query Adds data on the generated queries in the networks file.
generator
Field Description
Server mode Hidden: The server is invisible on screen.
Control: The server is indicated by an icon in the task notification bar,
only the reduced menu (About and Exit) is accessible by right clicking.
Diagnostic: A complete set of diagnostic windows is displayed when the
server is running, including a plotting window displaying messages.
Verbose: The plotting window displays additional information messages.
The rest is identical to "Diag." mode. This data can be used to solve a
temporary anomaly for the support or an experienced user. It is not
recommended to use it in the operating phase, as there may be a large
number of messages.
Section 6.9
The Simulator folder
Presentation
If the alias has been configured with the simulation property (see page 115), any variable created
on these devices is simulated by the server.
Description
This folder defines the value variation to be applied to all simulated variables by the server.
Field Description
Simulator mode Allows you to select the simulation mode.
Initial values Random: the variables are initialized to random values.
Zero: all variables are initialized to zero.
Max value Maximum value for the simulated variable. Range: [0..32767].
The variable is increased at each cycle, and returns to 0 when the
maximum value is reached (cyclically).
Boolean variables are inverted, floating point variables are increased by
0.3.
Notification N=1: simulated variables are updated at the same update rate as the group
adjust and each time a reading is performed (sync or async)
1< : at each period there is one chance in N that the simulated
variable will be modified. There is no correlation between different declared
variables; their values change individually.
The decrease in the probability value (increase of N) reduces the number
of notifications, and thus reduces the CPU load on the machine.
Description
This feature allows the server to simulate a missing device.
The choice between accessing a real device and device simulation is made, device by device, in
the properties page of the device (see page 115).
The conditions for use are the same as for simulator mode (setting the parameters for animation
of the variables from the simulation folder of the configuration tool).
Section 6.10
The Symbols folder
Description
This folder provides a list of file name extensions associated with the symbols tables. This list may
be completed by new extensions (up to a maximum of 12 suffixes). You must attach the new suffix
to one of the existing 8 types of symbol files.
In addition to the 10 predefined and no modifiable first symbol extensions, you can add or delete
entries by using the contextual menu (right-click) over the table.
The extensions are saved to the memory, even when the server is uninstalled and/or reinstalled.
However, for this to happen, one condition must be observed: they must be entered when the grid
contains extensions which have already been set by the server. If you are starting out with an
empty grid (server never installed), they risk being overwritten during installation of the server.
Illustration:
Step Action
1 Create a new entry.
2 Enter an extension, then press Return.
3 Double click on the corresponding field in the Symbol Type column.
Result: A list appears.
4 Select a file type.
Section 6.11
The PLC Software folder
Description
This folder allows you to define the settings in relation with PLC Software:
Option Function
Dynamic consistency Cyclic consistency check rate (s): If this option is checked in
device properties, the database reloading and period parameters
are used to define the action on the database and the frequency
of the consistency check.
Project tiles options Unity project files (*stu): With this option, the OFS server will
free the Unity project (STU file) when it has accessed the
database to look for variable properties. A remote Unity client can
then open and modify this project, which is impossible when this
option is not checked.
If this modification is downloaded to the PLC, the cyclic
consistency check of the server detects the modification and re-
learns the project. In the case of this utilization, it is thus strongly
recommended to select the option available in Unity Pro V2.0
Tools →Options →General →Project autosaving on
download. Without this, the user must manually save the project
on downloading in order for the application loaded in the PLC to
be consistent with the project (STU file).
Symbol table: If the ‘Reload Database’ option is checked, the
server reloads automatically the new database in case of
inconsistency detection.
Section 6.12
The Communication folder
Presentation
The Communication folder page gives access to general synchronization parameters for data
exchange with the devices and polling frequency on reception.
Description
This folder defines the settings for communication server feature:
The table below describes the fields relative to the communication folder:
Field Description
Communication Saturation occurs when a group’s update period is too low and the server is unable to
overrun behavior update all the items in the programmed period.
Items to Bad Quality option: The items must be read with the group’s update period
(default parameters); otherwise, the quality of the unrefreshed items is declared bad.
Rate adapt option: The items are updated even if a saturation appears. Here, the
update period is not guaranteed and the client is notified as to the server polling period.
The frame time-out for assigned devices must be sized in order to allow a complete
update of the items. The group update period remains the same but enables the group
items to be read in the frame time-out. After this time, the quality level switches to bad.
In any case, the quality depends on the time-out period. If you want to read as many
items as possible, the time-out period must be longer than the group period.
Advanced feature If the option Quick Item validation is checked, item validation makes no physical
access to the corresponding device (request emission).
If the device is not accessible, this avoids the server having to await communication time
out.
If the option Quick SetActive State is checked, the interface IOPCItemMgt: Quick
SetActive State () performs a Synchronous Read and an immediate notification to
speed up the first values acquisition.
Specific Items Enable OPC extensions: Enables/disables the specific items (see page 223).
Change PLC Status: If the Enable OPC extensions option only is checked, it allows
the server to change the PLC operating mode (RUN/STOP)
Modbus Serial When a device is in time out on a Serial Modbus Network due to device missing, or
Driver frame time-out is greater than configured frame time-out, OFS server sends commands
to the Serial Modbus Driver in order to adapt the baud rate that generates unexpected
workload.
When checking Disable driver reconfiguration on time out option, the reconfiguration
is skipped.
Modbus Request When multiple registers with nonadjacent addresses are accessed on the same
Optimization equipment, OFS performs optimization: a single request is generated to read the entire
zone that includes all registers, and then only the requested values are extracted.
If the option Enable discontinuous memory access is checked, OFS does not
perform any optimization, and instead accesses each register individually. In this way it
can avoid accessing restricted zones of certain Power devices such as SEPAM.
X-Way for push Gate: value of the reception gate on which the server will receive data from the remote
data device.
Range: [0..255]
Note: If the Change PLC status option is not checked, any client application attempting to write
on the #PLCStatus item receives an system message.
Section 6.13
The Options folder
Description
This folder allows the optional functions of the OFS server to be activated:
Field Description
DCOM security Enables/disables DCOM security
(see page 51).
DNS Scanning TCP/IP Authorizes the server to use DNS to identify
the PLC.
Processor Affinity This setting gives to the OFS server which
processor is used to run all OFS server
process tasks.
Client Alive timeout(s) Refer to Client-alive Service (see page 393).
Timestamp Event Group Name Allows to configure the OPC group name
reserved for Time stamping function
(see page 166).
Default name is ##TSEventsGroup##.
Shutdown batch file If a .BAT file is indicated, it will be run at the
time of the shutdown request from the OFS
server. Shutdown of the OFS server will
occur after running the .BAT file. If the batch
process still has not finished after 10
seconds, the batch will be interrupted, and
the server will be effectively stopped.
Section 6.14
Configuration database management
Database Management
Description
Certain third party software programs (OFS Manager for example) may attempt to modify the
configuration database at the same time as, and by taking priority over the configuration tool.
The two following scenarios may arise:
the configuration tool is launched when the configuration database is in the process of being
modified by a third party program,
In this case, an information message is displayed when the configuration tool is launched
indicating that the tool will run in "Read only". The configuration tool will then not be able to
modify the configuration database.
the configuration database is modified by a third party program when the configuration tool is
running,
In this case, when the configuration tool first attempts to modify the configuration database (user
clicks "OK" for example) an information message is displayed indicating that the configuration
tool is going to switch to "Read only". The configuration tool will then no longer be able to modify
the configuration database.
In both cases, in order to be able to modify the configuration database using the configuration tool,
you must close the latter and relaunch it until the configuration database becomes unprotected.
Section 6.15
Compatibility with Previous Versions of Configuration Tool
Description
If an older version of the configuration tool has previously been installed, it will be detected
automatically and the configuration parameters will be restored.
The first time the Configuration tool is executed, a dialog box will appear inviting you to restore
these configuration parameters:
Illustration:
If you answer:
YES: the previous configuration parameters are restored,
NO: the previous configuration parameters are lost.
Section 6.16
Time Stamped Events Configuration
Generalities
Some applications manage events which occur very quickly. Processing these events via the
regular flow of data (standard acquisition by polling, then associating with an alarm in the SCADA
and displaying in the alarm viewer) induces a lost of events.
When used to associate with the different IOs (sources) mentioned here below, OFS V3.5 is able
to retrieve the events (value and time stamp) which are buffered in the source, and to notify the
client with the memorized value and their time stamp provided by the source. This mechanism
allows to manage events which occurs faster than the polling rate from OFS, in order not to lose
any events.
Required Products
The different products involved in the source time stamping system are:
the sources of the TS events: BMX-IOs (BMX\BME-CRA, BMX-ERT) and the PLC
NOTE: BMX-ERT can be in a local M580\M340 rack or in an M580\M340 drop.
Client: Vijeo Citect SCADA (including IO server, alarm server and Operator Clients) or any OPC
client acting as a SOE viewer
OFS server
PLC station configuration tool: Unity Pro (version 7.0 or later)
NOTE: To get the minimum versions of the concerned products, allowing to manage the time
stamping features, please refer to System Time Stamping User Guide on the DVD.
Main Use
This illustration shows a typical configuration:
The 140 NOC 781 00 can be replaced by an external router. The VJC alarm server can run on the same
machine as OFS and VJC IO server.
For BMX-ERT time synchronization, a GPS receiver is required.
For time synchronization (VJC, OFS and event sources other than BMX-ERT) a NTP server is required.
The NTP server must be synchronized on a GPS.
The PC running OFS and VJC I/O server must be also synchronized by NTP server.
This following table shows the process of the system runtime sequence:
Step Action
1 Detect and time stamp local I/Os changes.
Store TS I/O changes in local event buffer.
2 OFS reads the source event buffers.
Send the variables to the I/O server.
3 Send the variables to the alarm server (value, source time and quality).
4 Process the received variables.
Use the received variables to evaluate the alarms.
5 Get the alarms from the alarm server.
Display the alarms in the alarm viewer.
NOTE: OFS sends the TS event in the standard OPC-DA notification format.
Step Action
1 In Unity Pro version 7.0 or later, select Tools →Project Settings.
Result: Project Settings window appears:
2 Expand the general menu in the Projects Settings window, and select the PLC
embedded data setting.
3 Check the Data dictionary box.
4 Click Apply to save changes, or click OK to save changes and close the window.
NOTE: To configure the different source events, please refer to the proper documentation or to the
System Time Stamping User Guide on the DVD.
OFS Configuration
Configure the TS events (see page 161).
TS Events Features
The custom OPC property is linked to OPC items with the following definition:
Description: time stamped event support
PropertyId: 5012
Comment: true if the variable is configured as time stamped event
Type: VT_BOOL
Values: 1 if the item is a time stamped event and 0 if not
NOTE: For Unity Pro variables configured as TS events, the property value is set to 1 and used
by the OPC client to determine which items can be added in the event group.
TS Events Configuration
The only devices that can be configured with an alias are PLC devices. Event sources other than
PLC are not configurable. They are discovered at runtime by reading a devices description table
embedded in the PLC.
A time stamped events appears in the device panel of the current alias.
This figure shows the configuration of the time stamped events:
When the Time - Stamped Events topic is deployed, you can access different parameters
described in the following table:
When checked, Available property set the TS Event Service of the current device as available. In
that case the following properties are enabled:
BMX\BME-CRA Polling Rate (ms): Rate at which ReadEvent requests are sent on a
BMX\BME-CRA event channel. A unique event channel is opened to a BMX\BME-CRA for all
TS variables of the BMX\BME-CRA sub module (except BMX-ERT):
If value is 0, then no BMX\BME-CRA Event buffer read is performed (it can be used to disable
temporarily the BMX\BME-CRA Event sources when tuning the configuration or definitively
if the TS Event function is not required for BMX\BME-CRA family).
BMX-ERT Polling Rate (ms): Rate at which ReadEvent requests are sent on a BMX-ERT
event channel:
For in-rack BMX-ERT, a TDA channel is opened for each ERT, in addition to the M340 device
Max Channel it belongs to.
For remote BMX-ERT, a TDA channel is opened for each ERT, in addition to the BMX\BME-
CRA event channel the ERT belongs to.
If value is 0, then no BMX_ERT Event buffer read is performed (it can be used to disable
temporarily the BMX_ERT Event sources when tuning the configuration or definitively if the
function is not required for BMX-ERT family).
OFS Runtime
When a time stamped item is added to the event group (see page 221), and if Available Service
Support property is checked for the alias, OFS builds the TS events source list attached to the
PLC and sends an identification request to each event source device.
The event service availability status and event source devices attached to a PLC are displayed in
the Network Info window, in the Devices tree-view, under the correct device.
Detailed configuration:
The following table describes the properties displayed in the Network Info window above, for the
MBP1 device:
BMX-CRA Polling Rate1 0...4000 ms Value configured in the BMX-CRA Polling Rate box).
BMX-ERT Polling Rate1 0...4000 ms Value configured in the BMX-ERT Polling Rate box).
(1) If the time stamped events configured service support value is No, the values are not displayed.
The table describes the properties displayed in the Network Info window above, in the Event
Source Nb leaf:
NOTE: If time stamped events configured service support value is No or if time stamped events
Unity Pro service support value is No, then the Event Sources Nb leaf is not displayed.
Event Group
Description
A reserved OPC group name is to be used at group creation for a TS event process. Each OPC
client can create at most one OPC events group.
NOTE: The reserved OPC group name can be configured in the OFS Server Settings\Option\
Timestamp Event Group Name field of the Configuration tool (see page 151)
NOTE: Default name is ##TSEventsGroup##
Items adding:
If the Available Service Support property for TS events is not set for a given item alias, that
item is not added. An E_FAIL detected error is returned if Available Service Support property
is not set and an explicit error message is displayed in OFS diagnostics window.
It is not possible to add specific items. An E_FAIL detected error is returned in that case and
an explicit error message is displayed in OFS diagnostics window.
It is not possible to add the same item more than one time. An OPC_E_DUPLICATE_NAME
detected error is returned if the same item is added and an explicit error message is displayed
in OFS diagnostics window.
It is not possible to add items associated to a same Alias (defined in the OFS configuration tool)
in several events groups. An E_FAIL detected error is returned in that case and an explicit error
message is displayed in OFS diagnostics window.
OFS connects to all the TS events sources linked to the current item alias and, if the group is
already active, starts reading the event buffer of the entire event sources attached to each item
PLC.
Group activation:
On group activation, OFS starts reading the event buffer of the entire event sources attached to
each active PLC item.
NOTE: Any events that should be notified to inactive items, will be lost (and not forwarded to a
client).
Item deactivation:
On item deactivation, the items of the group are deactivated in sequence. When the notification
task encounters an inactive item, it discards the value that was to have been notified.
When a PLC event active reference counter is 0 (an event active reference counter gives the
number of active items linked to a given device, it is incremented on each activation and
decremented on each item deactivation), OFS stops reading the event buffer of the entire event
sources attached to it.
Group deactivation:
When the group is deactivated, all items in the group are deactivated. The item deactivation rule
described above is applied for all the items of the group.
Items removal:
If items to be removed are active in an active group, the item deactivation rule described above is
applied for all the items of the group and then the items are removed.
Group removal:
If the event group is active, the items removal rule described above is applied for all the items of
the group and then the group is removed.
Not supported operations:
The following operations performed on the event group return an E_FAIL detected error
immediately:
IOPCGroupStateMgt::SetName()
IOPCGroupStateMgt::CloneGroup()
any IOPCSyncIO method
any IOPCASyncIO2 method
OPC-DA notification:
Reading the event source buffer may return a series of data quite different from standard real-time
data access. That is, a series of value changes can refer to a same OPC item.
The OPC client must process the OnDataChange() returned arrays (handles, values, quality and
time stamp) in the array order. Identical handles can be returned.
Configuration Change On The Fly (CCOTF):
OFS monitors an event modification (OMC) to detect:
any TS event property modification (add \ remove) of a variable
any TS variable renaming
any event source topology modification (add \ remove of event source)
Chapter 7
The OFS Manager Tool
Description
The OFS Manager is a tool for troubleshooting and adjustment that works ONLY with OPC Factory
Server (locally or remotely) or the OFS simulator. Do not use it when the application is operating.
OFS Manager can be used to get informations on status of server when OFS operates in hidden
mode or on a remote PC. All informations usually provided by the debugging interface of the server
are then available through OFS manager interface.
The OFS Manager adjustment functions are only accessible using the OFS Manager.
Most of the modifications are memorized and are final. However some changes (debugging mode)
are valid only for the current server instance. By closing and opening the server, the changes made
are lost.
Connection to the server: Server -> Connect menu
Managing aliases: Select an alias and then use the Alias menu or the right mouse button:
Changing an alias: Used to change the network address or the symbols table filename
Deleting an alias: Used to remove an alias from the list
Symbols table:
It is possible to ask the server to close a symbols table file that is already open and to reopen it.
No change will be made to the already existing items. On the other hand, the list of symbols will be
updated (e.g.: for the OFS navigation interface). Only the new symbols shall be included, but if a
symbol has changed address, it will keep the old address.
For that, first select the symbols table filename from among the filenames present in the Symbols
Table window. Next use the Symbols Table menu or the right mouse button. The addition of a
symbols file will be accounted for. However, if a filename is changed it will only be accounted for
in the next OFS session.
Managing the debugging mode:
The OFS server has 3 debugging options, which are the following:
Verbose mode: This is a full display mode, messages are shown in the Server Diagnostics
window.
Symbol mode : This is used to display additional information messages about the symbols table.
Request: This is used to display information about network requests generation in the Server
Network window.
NOTE: To avoid any conflict on the Alias creation, it is recommended to close the configuration
tool before using the OFS manager.
Chapter 8
The OFS Test Clients
Description
The OFS client is an OPC client supplied with the OFS server as a test tool. It is an OPC client in
compliance with the OPC DA V2.0 standard.
Installation
To install it on your machine, select the "Sample OPC client" option during installation of the full
extension or the option "OFS server test client" during the installation of the remote extension.
Main uses
The C++ OPC DA client is mainly used to verify the configuration and communication of the whole
system: OPC Client / OFS Server / PLCs.
Step Action
1 The following window appears the test client opens:
Description
The .NET OPC DA/OPC XML-DA client is an OPC client that may used as a test tool. It is an .NET
OPC client that lets you connect to the OFS server via OPC DA or via the SOAP/XML protocol
compliant with the OPC XML-DA V1.01 standard. To install it on the machine, select the .Net
station option when installing an extension.
The main uses and characteristics of this client are identical to those of the C++ OPC DA
(see page 176) client.
The .NET OPC DA/OPC XML-DA client lets you connect to the OFS server via OPC DA or via
HTTP OPC XML.
The test clients provided by OFS must not be used for critical functions.
WARNING
UNINTENDED EQUIPMENT OPERATION
Limit or restrict access to authorized persons by providing appropriate and independent
protection via your application or infrastructure.
Failure to follow these instructions can result in death, serious injury, or equipment
damage.
Step Action
1 Launch the test client from Start →Programs →Schneider Electric →OFS →OFS test client →Sample
Net - OPC XML client.
2 When the .NET OPC DA/OPC XML-DA client is started, the following window appears:
3 Click on <Browse> for the list the servers that may be reached.
The following window appears on top of the opening window:
Step Action
4 When the .NET OPC DA/OPC XML-DA client is started, the following window appears:
Chapter 9
The Diagnostics Screens of OPC Factory Server
Description
The OPC Factory server screens are used to view:
the server’s communication status (Server Status),
the server’s diagnostic window (Windows Diagnostic),
the information screen about the variables configured on the server (Varman Window),
the information screen about the server networks (Network Window).
Network Window
In diagnostic mode or extended diagnostic mode, the server provides the list of active frequencies
corresponding to the various frequencies of the declared groups. For each group, it provides the
number of declared items and the number of network queries generated.
To do this, open the Network windows window from the General menu.
Chapter 10
The OFS Simulator
Simulator mode
Description
Simulator mode enables the user to test the client OPC application without any PLC being present.
It provides a simple animation of all created variables and is identical to the actual Server.
The server can be started in simulator mode in two ways:
by selecting the "OFS Factory Server Simulator" shortcut created during installation. It launches
OFS.exe with the "-simu" parameter,
by checking the "simulator mode" option in the "options" folder of the configuration tool.
When the server is started in simulator mode, no license code is required.
The animation of simulated variables can be set in the configuration tool, under the Simulation
folder.
NOTE:
As all the variables are simulated, there is no link between an item which is actually related to
a table of elements (bits, words), and the items related to the individual components of this table,
in simulation mode, there is no way to determine the maximum supported frame length for a
given device,
It is possible that when using the real device an item that was READ_WRITE in simulation mode
becomes READ_ONLY in real mode,
Concept Boolean variables that are located in State Ram in the register areas (3x or 4x) are
actually simulated as bytes and not as Boolean values.
Chapter 11
The OFS Server WEB Site
At a Glance
The home page is used to access the service pages on the site:
Diagnostics,
Monitoring (edit, read/write data).
Step Action
1 Open your usual browser.
2 Enter the name of the Web Site machine using the following syntax:
http://’name of the Web service machine’/OFS.
Result: The OFS server home page looks like this:
The Documentation link allows you to access and open Web services
documentation.
At a Glance
The Read Data page can be used to view animation tables containing lists of device variables
configured and communicating with the OFS server. This page cannot be used to create a table,
to modify a variable or to force a variable value. The data viewer page uses the tables created by
the data editor.
Illustration
View of the Data Viewer page (read data) from an OFS server:
NOTE: In the left-hand field the window displays the tables created by the editor. The user can
select which table to display.
FIELD FUNCTION
Name Name of the variable (mnemonic).
Value Value of the variable or system message.
Type Data type supported by OFS.
ReadOnly If this box is selected the variable cannot be forced by the variable editor.
This field does not match the access right attribute of the OPC item.
Comment Comment on the variable.
At a Glance
This page is used to create animation tables containing lists of PLC or device variables to be
viewed or modified.
WARNING
UNINTENDED EQUIPMENT OPERATION
Limit or restrict access to authorized persons by providing appropriate and independent
protection via your application or infrastructure.
Failure to follow these instructions can result in death, serious injury, or equipment
damage.
Illustration
View of the Data Editor page (data editor) from an OFS server:
In sequential order:
create a new table of variables,
save a table, password protected,
copy the selected table or the selected variable,
paste the copied table or the copied variable,
delete a table or a variable,
change the password (USER by default),
start or stop the animation.
NOTE: write access to variables is password controlled. The password is the same as the one
used to save the tables.
Double-click in the table to show or hide the pane for editing variables. To add a new variable, fill
in the Name field or select the variable in the browse section by expanding the OPC XML DA tree.
Then click OK.
Diagnostics Page
This page displays the status of the OFS server.
Illustration
The Diagnostics home page is the following:
Chapter 12
The OPC UA Tools
Overview
This chapter introduces the tools for using the OPC UA wrapper.
General
OPC UA configuration tool is used to manage OPC UA applications, security settings, certificates,
communications and HTTP access.
Installation
Follow this procedure to install the OPC UA configuration tool product:
Step Action
1 Select the OPC UA wrapper checkbox in the options at the time of OFS
installation. It installs the OPC UA configuration tool. (see page 43)
2 Select the OPC UA configuration tool option at location start →All programs
→Schneider Electric →SoCollaborative →Ofs →OPC UA Tools →OPC
UA Configuration Tool, the following screen appears:
OPC UA Wrapper
Configuration
Select the OPC UA wrapper option at location Start →All programs →Schneider Electric →
SoCollaborative →Ofs →OPC UA Tools →OPC UA Wrapper.
Result: The OPC UA Wrapper Server screen appears:
Local Access
The OPC UA wrapper and OPC UA client are running on same PC. The OPC UA wrapper
communicates with OFS version 3.50 server and provides data to OPC UA client.
This figure shows the OPC UA wrapper and OPC UA client on same PC:
Remote Access
The OPC UA wrapper and OPC UA client are running on two different PC. But OFS version 3.50
server and OPC UA wrapper, both applications must run on a same windows PC. OPC UA wrapper
communicates with OFS version 3.50 server and provides data to OPC UA client.
The figure shows the OPC UA wrapper and OPC UA client on different PC:
General
The OFS UA sample client is an OPC client supplied with the OFS server as a test tool. It is an
OPC client in compliance with the OPC UA version 1.1 standard.
Installation
Select the OPC-UA wrapper checkbox in the options at the time of OFS installation. It installs the
OPC UA sample client. (see page 43)
Main Uses
The OPC UA client is mainly used to verify the configuration and communication of the overall
system: OPC UA client, OFS server and PLCs.
Step Action
1 Select the OPC UA sample client option at location start →All programs →
Schneider Electric →SoCollaborative →Ofs →OPC UA Tools →OPC UA
Client, the following screen appears of the OPC UA sample client:
Part V
User Example
User Example
Chapter 13
Example of using OFS
Introduction
Before using the OFS server, it must be installed (see page 37) and configured (see page 95).
Once these two phases are complete, the OFS server is ready for use.
NOTE: When using ready-to run supervisory software, you may not be able to use all features
listed in the following chapter (see the documentation of the OPC interface of your supervisory
software to verify that point).
Configuration:
The OFS Configuration Tool is used to perform the following operations:
Configuration of symbols tables,
configuration of aliases and addresses,
configuration of the device’s options with its properties page,
configuration of general server options.
Operation:
The client must launch the server and initialize communication. The user can then:
create groups,
create items,
execute synchronous read,
execute synchronous write,
activate group notification,
activate group.
At the same time, the server automatically sends notification of value changes.
General
In this example, you will see how to use OFS to read and write a word in a Unity Pro PLC (Quantum
or Premium) using TCP IP. You need to completely install OFS (client + server).
The following screen shows the main window of the OFS configuration tool:
This screen will help you configure the alias. It is divided into 4 zones:
zone 1 shows all the available drivers,
zone 2 shows data for each driver,
zone 3 enables you to identify the type of PLC in use,
zone 4 displays the final data of the alias’ address.
Once you have entered all the parameters, select Save configuration in the file menu.
The alias creation phase is now complete. You can quit the OFS configuration tool selecting Exit
(file menu).
General
The following steps show how to start up the OFS server with an OPC client using the aliases
previously created.
NOTE: When you make a change in the OFS configuration tool, you must re-start the server for
the modifications to be taken into account.
This screen shows all the aliases created in the OFS configuration tool. Click on your alias
"Device_TCPIP" which appears in the field Item ID.
In our example we want to read and write a word. Let us take for example the word 10, or %MW10.
The OFS Client syntax to enter in order to read or write a word is !%MW10 after the name of the
alias "Device_TCPIP" (see screen above).
The field "Active" means the item is refreshed periodically by a value change in the PLC.
The item is active when the indicator (next to the item) is green.
The field "Good(192)" means the value displayed is the current value in the PLC.
To write a value in this item, click "Item" then "Write". Enter a number in the "Value" field and click
OK.
Part VI
Advanced User Guide
Chapter 14
Concepts
Concepts
Synchronous Services
Description
these services are used for partial or complete reading and writing of a group of items,
the periodic scanning of variables (read polling) must be handled by the client application,
the term "synchronous" means that the client application which calls up these read or write
services is blocked for the time it takes to obtain a result. The instruction which follows a
synchronous read or write call in the code of the client application will only be executed when
all the communication requests corresponding to that call have been processed. During a
synchronous read operation, the OFS server does not guarantee that all the variables in a
group will be accessed in the same PLC scan if this group is transcribed on several
communication requests. The OFS server provides a mechanism for ascertaining the number
of requests necessary to access the whole of a group of items (for synchronous groups only).
A synchronous read or write service is consistent if it is either:
Done in single request user group (with prefix ‘$’)
The number of communication requests does not exceed 1 (check the value of the #NbrRequest
specific item)
NOTE: For more details refer to the section on consistencyReading (see page 284) and writing
(see page 285)
WARNING
UNINTENDED EQUIPMENT OPERATION
To ensure that a synchronous read or write is performed in the same PLC scan, make sure that
the client application read or write operation is consistent.
Failure to follow these instructions can result in death, serious injury, or equipment
damage.
Asynchronous Services
Description
These services are used for partial or complete reading and writing of a group of items,
the periodic scanning of the evolution of variables (read polling) must be handled by the client
application,
the client application is not blocked during the time it takes to obtain the data,
a notification mechanism (which must be activated) notifies the client of the results,
the process for synchronization with the PLC is exactly the same as the one outlined for
synchronous (see page 212) services.
Notification service
Description
The periodic scanning of variables: read polling and the notification of changes in variable values
are performed by the OFS server.
The client application should program a "Wake up" function, which is called up by the OFS when
value changes have occurred on items of all periodically examined groups.
This means that the "Wake Up" function is unique in the client application: it receives all the
notifications from the OFS server, then it must redistribute them to the processing functions specific
to each periodically scanned group.
NOTE: For ready-to-run supervisory software, the "Wake Up" function should be pre-programmed.
If this is not the case, the notification mechanism may not be used.
The name of this "Wake Up" function is set by the OPC standard OnDataChange.
NOTE: In the "Wake up" function, processes that take up a significant amount of CPU time (e.g.:
over complex display) should not be performed, as this may adversely affect the Operating
System’s performance.
The OFS server notifies by group, not individually by item. That means that, for a given group, the
OFS server sends the list of items whose value has changed to the client application "Wake Up"
function. In the case of a table type item, the OFS server transmits the whole table even if only a
subset of the elements has changed in value.
The following notions are associated with the notification service:
Assignment of a scanning period ("RATE") to a group: this enables you to scan the PLC
variables with different periods.
Example: display the PLC time every second, and display a temperature every minute.
Allocation of a deadband to a group (dead banding): filtering of notifications when group variable
values change. Notification occurs if, after the group scanning period, variables have changed
by more than a certain percentage with respect to their old value (see chapter on Deadband
(see page 137)).
Example: inform the client application only if temperatures have changed by more than 10%.
NOTE: Deadbanding is only applied to floating point or integer variables. The aim of these two
concepts is to enable the user to control (limit) the flow of notifications sent to the client application,
to avoid overloading the system.
Symbol consultation
Description
The OPC Browse Interface is supported by the OFS product. This enables users to browse
symbols available for a given PLC, provided that the OPC Client used supports the Browse
interface. This is an easy way to determine which variables can be created for a given device.
Browsing structures and tables are available when the programming language includes these
object types (e.g.: Concept programming tool).
NOTE: Only devices declared with the Configuration Tool and associated with a Symbol Table can
be browsed.
NOTE: When browsing Unity Pro symbols of ANY_ARRAY type, only the first element of the table
is visible.
Chapter 15
Items
Items
Section 15.1
Items under OFS
General
Before reading or writing values, an OPC item should be created for each device variable.
The general syntax for an OPC item is:
<item>::=<driver name>:<address device>/<Device Type>!<definition
variable>[:<length table>|<number of extracted bit>][;<postfix>]
<nom driver>:<device address> /<Device Type>The part may be replaced by an alias
(see page 115) created by the Configuration Tool.
If an alias is not used, the driver name must be one of the names given in the following list and
the device address is the address of the device on the communication medium:
The variable definition part can either be a variable address (see the "Syntax" column in the other
tables in this chapter) or a symbol (see page 114).
Modbus Plus users planning to use Concept and OFS simultaneously, or the multi-channel feature,
should use DM mode. Otherwise you may not be able either to connect to the PLC with Concept
or download your application.
For variables that support this feature, the table length enables the user to create items that are
actually tables and gives the number of elements making up this table.
The postfix can be R (read only) and is a way of creating an item that will always be considered as
read only.
NOTE: The driver name, device address, device type and variable definition parameters are
mandatory.
NOTE: The table length and suffix parameters are optional.
NOTE: Examples:
UNTLW01:0.254.0/S!%MW3
MODBUS01:12/Q!400003
FIP01:0.31.0/U!%MW5
MBPLUS01:DM.5/Q!400005
XIP01:0.5/T!%MW100
MBT:1.2.3.4/U!%MW100
TSX1!%MW100
QTM1!400100
TSX2!toto
QTM2!toto
NOTE: The device address field for MBT and MBTG, uses the ";xx" suffix to designate the index
of the Modbus node connected to the TCP/IP gateway. For example, "139.160.218.103;50".
NOTE: To define an item, the OPC DA test clients accept the two following syntaxes:
The Path field provides the Alias and the Name field defines the variable,
The Path field is empty (or indicates the host server) and the Name field completely defines the
item according to this syntax: Alias!Variable.
NOTE: Contrary to OPC DA clients, OPC XML clients may use the Path field only to qualify the
host server. If the field is empty, the default server is then addressed.
Definition
All the OFS product’s services are based on the concept of a group of items:
Several groups can be defined.
A group may concern several devices: each item of a group can have a different device address.
A group concerns various communication devices and media: each item may refer to a different
communication driver. If a device can be accessed via several communication media, it is
possible to mix variables addressed via different media within one group.
The items comprising a group can be different: it is possible to mix all types of objects managed
by the OFS server.
For example: mixing words, double words and floating points within one group.
All the items in the same group have the same update rate and deadbanding percentage.
An item is a variable of any PLC which can be accessed either by their address or by their symbol.
Properties
The IOPCItemProperties interface is supported by OFS server.
The following properties are supported:
canonical data type,
value,
quality,
timestamp,
access rights,
description (only if a comment has been given in the Workshop),
the forcing state of a bit (only for input bits and output bits, see I/O module objects, page 264).
For Concept variables and Unity Pro variables only:
InitialValue (the initial value of a variable),
VariableKind (the type of variable: elementary, structured, function block, section),
VariableTypeId (The Type id as known by the Concept tool),
MemoryArea (areas: 0x,1x,3x,4x, unlocated, unused, etc.),
AreaIndex (the index inside of the memory area),
VariableSize (the size, useful for non elementary variables),
RelativeOffset (the offset inside of a structured variable).
For a given variable, some of them may not be supported if it doesn’t make sense (e.g.: no
Description if the variable does not have a comment, no InitialValue if the variable has no initial
value, etc.)
For Unity Pro variables only:
CustomString (free character string buffer),
To test the use of OPC item properties, you can use OFS client (see OFS C++ OPC DA Client,
page 176).
Example of use:
You want to know when the link between the PC and the PLC is broken. When this is the case, you
want to display something special in your OPC client application:
The quality of an item is the specification to use: in general, it is not possible to use the item quality
to display something, only its value can be used.
The solution is to create an item, which has a value directly linked to the quality of another item.
When the communication works well, the quality value is always 192 (QUALITY_Good). On the
contrary, the quality value is 24 or 28 (QUALITY_Bad + reason).
Using OFS client, create a group and an item. When you have done this, reopen the browse
interface, reselect the same symbol and click on the Properties button. Select ID 3 (Item Quality)
then double-click on OK. The value of the new item is the quality of the previous item.
Specific Items
Description
A specific item is an OPC item which is not related to any PLC variable but is a way to view/modify
some internal parameters (internal to the OPC server or internal to the PLC). These items can be
used with the test client given with the product, thus avoiding any modifications to your OPC
application that may not be reusable with any another OPC server (see page 176).
a specific item has a path like any other item,
the definition of a specific item always starts with a ‘#’ character,
specific item can be created in any group (except synchronous groups),
certain specific items can have an active status in an active group. Thus, the server can
automatically detect changes,
specific items can be read/written within any subset of the group (including both ordinary and
specific items),
to read or write a specific item either synchronous or asynchronous functions can be used.
Specific items available for a device can be browsed in the #Specific subfolder attached to any
device. The Diag Buffer function has been implemented in the form of a set of specific items. They
are introduced in a separate section, in addition to the list provided below.
NOTE: All specific items are disabled if the enable OPC extensions box is not checked in the
Communication folder of the configuration tool (see page 149).
Specific items can be divided in 2 categories, basic specific items and enhanced diagnostics
specific items
#AppliName
If communication with the device is enabled, the value read is 0, otherwise the value read is 1.
To modify the state, write either 0 or 1.
This item can be used to temporarily disable communication with a device (for instance before
modifying the device that will cut communication) to avoid timeouts or others.
If the value written is 1, the items related to that device will become Bad immediately since the
server will stop sending requests to that device. If the value written is 0, the server will once again
send all the requests to the device, and the items should become Good again within a few seconds.
#MaxChannel
Read/Write of the #NbrMaxPendingReq parameter for a given device. This parameter is the
number of requests that can be transmitted in parallel to the device before its capacity is exceeded.
In general, this parameter is automatically adjusted by OFS to the value which gives the best
server performance. However, it can be lowered to avoid communication overloads to the PLC.
This parameter is strongly linked to the previous parameter (#MaxChannel) for devices managing
multi-channel (see page 370) configurations.
#NbrRequest
Its value (a number of requests) is only related to one device (defined by its path). This indicates
the number of requests sent to that device, by the server, to refresh its internal cache. This includes
all the frequencies that may exist in the server.
This item (see page 283) may be created with no path within a synchronous group (name starting
with $ or $$). In this case its value is the number of requests necessary to read the whole group.
If this item is created with no path within an ordinary group, its value is always 0. This is only
possible for questions of compatibility.
#PlcStatus
The value returned is the PLC mode (1 if the PLC is running, 0 if it is stopped).
It is possible to write the value to force the operating mode of the PLC. To do this, the Change PLC
Status (see page 248) option must have been checked in the Communication folder of the
configuration tool.
NOTE: Using the #PlcStatus is very costly. You are strongly advised to insert this item within a
group with a large period.
#RefreshDevice
This item is designed to manage the consistency between the symbol table file and the application
in the PLC.
If the value 1 is written to this item, the server will read the application name and version from the
Device.
If this item is read, the server will perform a consistency check between the application name and
version already read from the device and the same information from the symbol table file open for
that device. The value returned can be:
0: no check was performed (no symbol table information or device information),
1: everything is OK and consistent,
2: application names are not consistent,
3: application versions are not consistent,
6: applications are different but the symbols are consistent.
#TimeOut
Its value (expressed in ms) is only related to one device (defined by its path). This value represents
the frame timeout which is the time the server will wait for an answer from the device after it has
sent a request. Any write will modify the server internal parameter for this device.
#DeviceIdentity
#AppliID
#AppliOMC
The value of these items is a copy of the Application signature (ID) and the object modification
counters (OMC) read in the PLC. This can be used to feed back internal changes made by Unity
Pro on generation of the application. Some of these signatures are modified each time you
generate an application, others are positioned only when the application is created.
These items are used to detect an application modification, or to check their consistency, for
example in a complex use of Diag Buffer.
Each signature is written in a double word (DWORD).
Generally, to detect an application modification, #AppliID is enabled, then #AppliOMC is read
to precisely determine the modification type.
#AppliOMC cannot be enabled, only read.
#PLCQualStatus
This item has to be added as active in a standard active OPC group in the form <myAlias>!
#PLCQualStatus, where myAlias is the PLC alias configured in the OFS Configuration tool.
The #OFSStatus specific item is reserved for internal use only.
This item allows monitoring the communication activity of a device.
As event sources other than PLCs are not configured in the OFS configuration tool, reference
#PLCQualStatus in the following form: <direct_address>!#PLCQualStatus:
For BMX-CRA drop: direct_address>=MBT:<IP_address>/U (with IP_address is the
drop IP address).
For InRack BMX-ERT: <direct_address>=<direct_address_plc>\\<r>.<s>.<c>/U
r: rack number of the BMX-ERT
s: slot number of the BMX-ERT in the rack
c: channel number of BMX-ERT in the slot
direct_address_plc: PLC address build with the configuration tool
NOTE: For event sources other than PLC (BMX-ERT, BMX-CRA, and so on) %S0 does not exist.
In that case, OFS will switch in a transparent way to the mechanism described below
(#PLCQualStatus2 item). From OPC client side, the syntax remains
<direct_address>!#PLCQualStatus.
#PLCQualStatus2
This item has the same features as #PLCQualStatus. The difference is that the device
connection is maintained by sending, periodically, a mirror request to the device, and no a read
request.
NOTE: Adding many PLCQualStatus2 linked to a same device in several groups with different
rate generates a mirror request for each rate. Thus, it is strongly recommended to activate only one
PLCQualStatus2 by device at the accurate rate.
<<system>>!#ClientAlive
#TSEventSynchro
This item allows OFS to send a Synchro value to the entire event sources attached to the PLC,
each time a write operation is performed.
It can be performed by the SOE viewer when it starts or when it restarts. It allows getting initial
values or current values of all the configured events items. Perform it before the event group
activation. It is the responsibility of the OPC client to manage the correct order sequence.
NOTE: For VJC I/O server is generic and cannot do anything dedicated to OFS. The job described
above is done by OFS OPC driver.
When #TSEventSynchro is added to a standard OPC group (that is not in a reserved event
group), OFS connects to all the TS events sources linked to the current device alias. On each write,
OFS sends a Synchro value to all the event sources linked to the current device alias.
#TSEventItemsReady
This specific item value is set to FALSE each time OFS server starts to browse TS Events and set
to TRUE when the TS Events browse is completed.
You can diagnose the backup battery by using the following results:
%S68 = 0: Battery is present and functioning.
%S68 = 1: Battery is missing or no longer functioning.
This bit is set to 0 by the system when the card is missing or not usable (bad
format, unrecognized type, and so on) or card content inconsistent with
internal application RAM.
This bit is set to 1 when the card is correct and application is consistent with
CPU internal application RAM.
#IntIOStatus Supported PLC: Modicon M580. %S117
Contains the period of this task. If this value is 0 (%SW0 = 0), the functioning
of the MAST task is cyclical.
The period is expressed in ms (1...255 ms).
#FastPeriod Supported PLC: Premium/Quantum/Modicon M340/Modicon M580. %SW1
Contains the period of this task. The period is expressed in ms (1...255 ms).
#WatchDogValue Supported PLC: Any. %SW11
Bit 9 (for Premium only): This bit indicates if at least one ETY module
does not have the minimum version:
0: All the ETY modules have the minimum version.
1: Atleast one ETY module does not have the minimum version. In
this case, no Primary PLC can start.
Bit 10 (for Premium only): This bit indicates if there is a Monitored ETY
OS version mismatch between Primary and Standby:
0: No Monitored ETY OS version mismatch.
1: Monitored ETY OS version mismatch. If OS version mismatch is
not allowed in the command register (bit 4 = 0), the system does not
work as redundant as soon as the fault is signaled.
Bit 11: Reserved.
Bit15: Healthy:
0: The CoPro interface is healthy.
This word provides the image of the switches on the Quantum CPU front
panel. It is updated automatically by the system.
X0 = 1: If the key switch is in memory protect (legacy Quantum) or lock
(HE Quantum) position
X1 = 1: If the key switch is in stop position (legacy Quantum only).
X2 = 1: If the key switch is in start position (legacy Quantum only).
X3...X7: Unused.
X8 = 1: If the slide switch is in MEM position (legacy Quantum only).
X9 = 1: If the slide switch is in ASCII position (legacy Quantum only).
X10 = 1: If the slide switch is in RTU position (legacy Quantum only).
X11...X15: Unused.
When the error is fixed, the system sets the card status to 0.
#CPUErr Supported PLC: Any. %SW124
...
For instance, the meaning of the value 16#0003 is Patch C.
...
%SW168:X15: 0 in case of error on the device no 16, else = 1.
...
%SW170:X15: 0 in case of error on the device no 64, else = 1.
Description
The PLC operating mode can be controlled using the specific item #PLCStatus. The modification
of any PLC operating mode by the server can be enabled/disabled using the Configuration tool
(see page 149).
Changing the operating can change the system behavior.
WARNING
UNINTENDED EQUIPMENT OPERATION
Restrict access to the embedded server by configuring passwords.
Failure to follow these instructions can result in death, serious injury, or equipment
damage.
The current operating mode of the PLC is viewed by reading the #PLCStatus specific item. Since
this item can be activated, it is possible to monitor the PLC operating mode using it.
The current operating mode of the PLC is modified by writing the #PLCStatus specific item.
The following values are associated with the different operating modes of the PLC:
STOP: 0* RUN: 1* INIT: 2**
(*) Non operational for ORPHEE type PLCs,
(**) Non operational for Unity Pro or PL7 type PLCs.
NOTE: If the programming tool is connected to the device, the exclusive reservation (performed
by PL7, Unity Pro or Concept) may stop the modification of the operating mode of the PLC.
NOTE: Modbus Plus devices have Data Master (DM) or Program Master (PM) modes. To modify
the PLC operating modes of certain devices, it may be necessary to use PM mode.
Section 15.2
Detected Error management
Feedback Mechanism
Description
the feedback mechanism consists of three parts:
description of the result of the call (execution) of a primitive,
the description of the validity of an item: Quality flag,
the availability of a GetErrorString primitive used to call up the description label of an event
from its code (see page 405).
result of calling up a primitive:
All the methods offered return a detected error code. The programming language used to
carry out the OPC client can use it as a detected error code or trigger an exception (usually
languages using OLE Automation, e.g. Visual Basic).
In particular, this means that an event detected by a "function" type primitive is not indicated to the
caller by means of the value that it returns.
anomalies that can be returned are the following:
E_xxx: standard detected errors defined by OLE and Win 32,
OPC_E_xxx: improperly operating specific to OPC,
OFS_E_xxx: improperly operating specific to the OFS server,
in addition to the action described above, some of the exposed primitives contain a pErrors
parameter in their call interface (output parameter).
This pErrors parameter is defined for the primitives that can manage several items during the
same call (e.g.: AddItems).
pErrors allows you:
to log a report for each item (an element in the pErrors table),
to indicate an anomaly to the caller through a channel other than that for triggering the
exceptions. Typically, when S_FALSE is returned, there is no triggering of exceptions, as the
result from the primitive is of type success with a error code. In order to know on which item
the event occurred, the pErrors parameter must be consulted.
For example, the pErrors parameter allows notification for the AddItems primitive that some of
the items mentioned have an invalid syntax.
description of the validity of an item:
primitives with synchronous and cyclic read contain the parameter pQualities, which
describes the validity of the items concerned. They give a Quality attribute for each item.
For these primitives, this parameter comes in addition to the pErrors parameter. The Quality
attribute of an item is a value on 8 bits composed of 3 fields : Quality, Substatus and Limit.
B7 B6 B5 B4 B3 B2 B1 B0
Quality Substatus Limit
To obtain the detected error code which corresponds to the field concerned, it is advisable to apply
the appropriate extraction mask and to study the value thus obtained.
the Limit field (2 bits) is not managed,
the Quality field (2 bits) which designates the validity of an item’s value:
B7 B6 Quality Meaning
0 0 The value of an item is incorrect for the
Bad
reasons shown in the Substatus field
1 1 Good The value of an item is correct
0 1 Uncertain An anomaly has been detected on the item,
but it is still "too early" to set it to Bad.
Transitional status.
the Substatus field (4 bits) which provides details on the Quality field, and whose significance
varies according to the value (Bad, Good) of the Quality field.
The Substatus field for the Bad value of the Quality field:
The Substatus field for the Good value of the Quality field:
The Substatus field for the Uncertain value of the Quality field:
NOTE: For all the other values not mentioned in the above tables, please contact technical
support.
Description
The OFS server does not have access to the software configuration of the applications it accesses.
If a group contains items that are outside the software configuration, it may not be read on other
items that are compatible with the configuration. It is due to the fact that optimization algorithms
are used in read requests.
In case of a table, the OFS server can not read the whole table, even if only one sub-element of its
elements is outside configuration.
Example 1: Application in which 522 words have been configured: from %MW0 to %MW521. The
read or write of a group containing table item %MW520:10 will not be possible for the whole of this
item, even though the words %MW520 and %MW521 are in the configuration.
NOTE: The words %MW520 and %MW521 in this example can be accessed individually.
Example 2: Application in which 522 words have been configured: from %MW0 to %MW521.
An active group with the active items %MW0 (quality Good) and %MW500 (quality Good).
If the item %MW530 is added, %MW500 becomes "Bad" and %MW530 is "Bad" but %MW0
remains "Good".
Explanation: reading the whole active group requires 2 requests: one for %MW0 and another for
%MW500 and %MW530.
The first request is still OK: %MW0 remains "Good".
However %MW500 and %MW530 are reported as being "Bad quality".
If the item %MW530 is deleted, %MW500 becomes "Good" again.
Chapter 16
Variables
Variables
Section 16.1
Data types
Data types
Description
The OPC data types handled by the OFS client (called "expected") can be different from the native
data types of the variables within the device (called "canonical").
By default, at item creation, they are identical. However, you can opt for another type.
More specifically, conversions between canonical type arrays or 16 bit words and expected type
character strings are supported, giving the user easy handling of character strings with PLCs
(these do not have canonical type character strings):
The conversion byte array -> string produces an ASCII string.
Section 16.2
Unity Pro Variables on OFS
Section Contents
This section presents the different Unity Pro variables available either directly (direct addressing)
or by a symbol table (.XVM, .STU or .XSY).
At a Glance
OFS provides access to the following Unity Pro variable types:
Elementary data type (EDT),
Table, Structure,
Derived data type (DDT),
I/O derived data type (IODDT) (1),
Elementary function block (EFB), derived function block (DFB) (1).
NOTE:
Postfix S is used to read and write a character string-type variable in the form of a byte table
(OCP-type VT_UI1 table). For example, %MW100:10;S.
Postfix C is used to read and write a string-type variable in the form of a string of characters
(OCP-type VT_BSTR). For example, %MW110:10;C.
Description
The following table shows the EDTs in Unity Pro:
Unity Pro data type OPC data type Variant type Returned
format
BOOL BOOL VT_BOOL True/False
EBOOL BOOL VT_BOOL True/False
INT INT VT_I2 16 bits
DINT DINT VT_I4 32 bits
UINT UINT VT_UI2 16 bits
UDINT UDINT VT_UI4 32 bits
REAL Float VT_R4 Floating IEEE
TIME UDINT VT_UI4 32 bits
DATE UDINT VT_UI4 32 bits
TIME_OF_DAY or TOD (1) UDINT VT_UI4 32 bits
DATE_AND_TIME (1) DFLOAT VT_R8 Double IEEE
STRING Array of byte Array of 2048 bytes
VT_UI1 max
BYTE BYTE VT_UI1 8 bits
WORD UINT VT_UI2 16 bits
DWORD UDINT VT_UI4 32 bits
At a Glance
Direct addressing data instances have a preset slot in the PLC memory or in an application-specific
module. This slot is recognized by the user.
Access syntax
The syntax of a direct addressing data instance is defined by the % symbol followed by a memory
location prefix and in certain cases some additional information.
The memory location prefix can be:
M, for internal variables,
K, for constants,
S, for system variables,
I, for input variables,
Q, for output variables.
%M internal variables
Access syntax:
Memory organization:
NOTE: Modification of %MW<i> entails modifications to the corresponding %MD<i> and %MF<i>.
%K constants
Access syntax:
%I constants
Access syntax:
%S system variables
Access syntax:
I/O variables
These variables are contained in the application-specific modules.
Access syntax:
<@mod = \<b>.<e>\<r>.<m>
<b> bus number (omitted if station is local).
<e> device connection point number (omitted if station is local).
<r> rack number.
<m> module slot
<c> channel number (0 to 999) or MOD reserved word.
<d> date number (0 to 999) or ERR reserved word.
NOTE: The above syntax is supported only on Premium, M340 local drop, and M580 families. For
Unity Quantum and Unity Momentum PLCs, you must use flat addresses such as %I
(see page 258) and %M (see page 257)
Section 16.3
PL7, XTEL and ORPHEE variables
Standard Objects
System objects
The table below shows the system objects supported by OFS server:
NOTE: The Fipio I/O objects are only accessible on PLCs programmed using PL7 via X-Way
networks.
Grafcet objects
Description
NOTE: The macro-steps are only available on PCX/TSX 57 version 3.0 or above.
Definition
See also PL7 (see page 300) blocks for R/W property modification.
PL7_3 timer: %Ti
Monostable: %Mni
Register: %Ri
Drum: %Dri
Table objects
Definition
Reminders:
The size of the tables is unlimited, excepting (system and memory) bit tables, which are limited to
450 elements.
Element type Syntax TSX 37 / TSX 37 / PCX/TSX TSX Series 7 TSX S1000
PCX/TSX 57 57 on non-X-Way
on X-Way networks
System bit %Si:L R - - -
System word %SWi:L R/W - - -
System Double word %SDi:L R/W - - -
NOTE: Access to system objects via table syntax is an extension as far as PL7 language is
concerned. The system objects defined in the Micro and PCX Premium ranges are not all
consecutive. This can limit access via table syntax in certain cases.
Element type Accepted syntax TSX 37 / TSX 37 / PCX/TSX TSX Series 7 TSX S1000
PCX/TSX 57 on 57 on non-X-Way
X-Way networks
Internal bit %Mi:L R/W R/W R R
%Bi:L W if module W if module
%Mxi:L length is 8 length is 8
Internal word %MWi:L R/W R/W R/W R/W
%Wi:L
Double word %MDi:L R/W R/W R/W R/W
%DWi:L
Floating point %MFi:L R/W R/W R/W R/W
(32 bits) %FDi:L
Constant word %KWi:L R - R -
%CWi:L
Constant %KDi:L R - R -
double word %CDi:L
Element type Accepted syntax TSX 37 / TSX 37 / PCX/TSX TSX Series 7 TSX S1000
PCX/TSX 57 on 57 on non-X-Way
X-Way networks
Constant %KFi:L R - R -
floating point %CFi:L
(32 bits)
Common word %NW{j}k:L R/W R/W - -
on network 0 j = station no.
k = word no.
Common word %NW{i.j}k:L R/W R/W - -
on other i = network no.
networks j = station no.
k = word no.
Character %MBi:L R/W* - - R/W**
string %CHi:L
(*) %MBi :L are R/W only if the address and length are even. If not, they are read-only.
(**) The size must be between 2 and the maximum size permitted by ORPHEE.
NOTE: Access to common words via table syntax is an extension as far as PL7 language is
concerned.
NOTE: Limit: For a TSX 17 PLC, OFS cannot read bits whilst bits are being written. Also in this
same PLC range, it is possible to read up to 16 words using OFS.
NOTE: Beyond the "steps status", access to other Grafcet objects via table syntax is an extension
as far as PL7 language is concerned.
NOTE: Reminder:
NOTE: Macro-steps are only available on PCX Premium version 3.0 or higher.
Section 16.4
Concept variables on OFS
Variables concept
Definition
Symbols are supported throughout and all variables are represented by symbols, as there is no
address syntax in the Concept language.
Relation between Concept basic data types and OPC data types:
Concept data type OPC Data Type Variant type Returned format
BOOLEAN BOOL VT_BOOL True/False
BYTE BYTE VT_UI1 8 bits
WORD INT VT_I2 16 Bit
INT INT VT_I2 16 Bit
UINT UINT VT_UI2 16 Bit
DINT DINT VT_I4 32 bits
UDINT UDINT VT_UI4 32 bits
FLOAT FLOAT VT_R4 Floating IEEE
TIME DINT VT_I4 32 bits
Structures are supported. It is possible to access a structure either by a bytes table (the user needs
to know the internal fields and their type) or field by field with the following syntax:
<Structure name>.<field name>
In this case, the server finds out the data type directly from the Concept database.
NOTE:
Structure access may only take place with a device associated with a Concept project file (*.prj)
as a Symbol Table file. Both located and unlocated devices may be accessed.
For easy manipulation of a structure, the user may create a group, and then one item for each
field of the structure within this group.
Access to unlocated variables and structures is only possible if the IEC runtime has been
enabled in the PLC configuration (see page 112),
In addition, unlocated variables and structures must actually be used in the PLC application to
be readable/writable with OFS. In fact, with Concept, any unused, unlocated variable is not
recognized by the PLC. This is why OFS accepts the creation of an item linked to an unused,
unlocated variable, but immediately defines its quality attribute as "Bad" to show it can no longer
be read or written. It is possible to obtain automatic updates using the Concept programming
tool and the DCC feature.
A table item or an unlocated structure has "read only" access if the entire size of the table or of
the structure exceeds 200 bytes.
When an item represents an entire structure, it is considered a table.
Postfix S is used to read and write a variable in the form of a byte table (OCP-type VT_UI1
table). For example, 400001:10;S.
At a Glance
It is possible to access certain Concept variables using IEC 61131 syntax. This does not concern
located variables.
IEC 61131 to Concept:
%Mi 0x
%MWi 4x
%MFi 4x (access to 2 registers)
%MDi 4x (access to 2 registers)
Section 16.5
Modsoft variables on OFS
Modsoft variables
Definition
The Modsoft supported syntax is limited to long addresses only (6 digits).
Example: 400001.
The following syntax ARE NOT supported (not to be confused with table syntax):
4:00001,
40001,
4x00001.
Any register located in the 6x range-id is not accessible.
The table syntax <reg. number>:<length> is supported for range-id 0,1,3,4.
It allows one or more registers to be read at once (actually <length> registers).
For Holding registers, it is possible to create a floating item or a Long integer using the postfix F or
D. Two consecutive registers will be used. The usual R postfix can be used at the same time.
Example:
400001;S byte table for displaying character strings
400001;F floating point for registers 1 and 2
400012;D long integer (32 bits) for registers 12 and 13
400120;FR floating point considered as read-only for registers 120 and 121
Modsoft syntax
Reminders: In read mode, the size of the tables is unlimited, except for bit tables (system and
memory), which are limited to 2000 elements.
NOTE:
The S postfix allows reading and writing a variable to a byte array (Array of VT_UI1 OPC type).
Section 16.6
Variables in general
Variables in general
At a Glance
Generally speaking, the reading of extracted bits is supported for any variable of simple integer
data type (including Concept unlocated variables):
The syntax is: <Variable definition>: Xn or <variable definition>, n for XTEL or <variable
definition>.n for Unity Pro.
The bits are numbered from 0 to 7 for 8 bits integers, from 0 to 15 (for 16 bits integers) and from 0
to 31 for 32 bits integers.
Element types, access:
Element type Accepted syntax Concept PL7 Unity Pro Orphee or Xtel
Extracted byte bit %MBi:Xj - R see Direct -
addressing
Word extracted bit %MWi:Xj R R/W R
%Wi,j data instances,
page 257
Double word %MDi:Xj R R R
extracted bit %DWi:Xj
System word %SWi:Xj - R -
extracted bit
Constant %KWi:Xj - R R (series 7 only)
extracted bit
Symbol extracted Symbol:Xj R R R (series 7 only)
bit (single or
double word)
Structure field Struct.member:Xj R - -
extracted bit
Examples:
Writing extracted bits is only possible for %MW variables on PCX/PMX Premium and micro,
version 3.0 or later, on XWAY-type network, and is not supported on Modbus networks.
Local variables
Definition
There is a pseudo-protocol (driver name: "LOCAL") which allows for the creation of variables which
are only local in relation to the server (unrelated to any hardware device). These local variables are
always WORD (VT_12) type variables, created using a name.
Syntax: "LOCAL": ! <name>
Example: "LOCAL:!Bridge"
If two or more clients create the same local variable (the same name), its value is shared. This
means that if a client modifies the value, the other client(s) will be notified (if notification has been
activated). This function is generally used to exchange data from one client to the other.
Description
the OFS server manages tables of variables. This provides easy access to a group of
contiguous variables of the same type,
the OFS server accepts several kinds of syntax, according to the target PLC: <Origin
Element>:<Length>
The <Origin Element> field represents either the address or the symbol of the first element in
the table. The <Length> field represents the number of elements (of the same type as the origin
variable) in the table.
Example for PL7 objects: For a variable with the address %MW10 and symbol MYARRAY.
A table of 20 elements starting with this variable may be referenced in the following two
(equivalent) ways:
%MW10:20
MYARRAY:20
NOTE: This is the only syntax to allow the referencing of a table as a symbol for PL7 objects, as
the tables cannot be symbolized in PL7 language. The Concept and Unity Pro languages accept
symbolic references to a table. This syntax can always be used with Concept and Modsoft
variables.
There are no limits to the size of the tables. However, they must not exceed the zones
configured through the workshop,
a table of variables corresponds to a single item of a group.
NOTE: During "cyclic" read of a group containing a table item, the OFS server sends the whole
table to the client application, regardless of the number of elements in this table whose values have
been changed.
Chapter 17
Symbols
Symbols
Section 17.1
Symbol operation
Symbol operation
Description
The OFS product has 2 types of groups:
User Group:
an item may be localized on any device,
it is not possible to find out the number of requests needed to read the whole group,
Any one part of a group may be read,
the group is notifiable,
the name of a group may be any string of characters.
Synchronous Group:
all items must be localized on the same device,
it is possible to find out the number of requests needed to read the whole group (specific
items #NbrRequest),
even if the user executes the read function on a part of the group, all items are read,
the group is notifiable,
it is not possible to add any specific items other than #NbrRequest, nor any local variables,
to a synchronous group
the declaration of items in the Push Data box is prohibited in synchronous groups (it is
impossible to guarantee that items in Push Data and items in polling will be updated
synchronously)
the group name must start with $ or $$,
the device timeout for the devices in use in synchronous groups must be set to 0 (this function
must not be used).
$ : number of requests limited to 1. The creation of items is prohibited when the maximum size of
a read request is reached. A write request is refused when the items in the group targeted for
reading exceeds the maximum authorized size (it should be noted that a write request, because it
contains both the description of the items and the values to be written, is more restrictive as far as
number of items is concerned).
$$ : any number of requests, all linked to the same device.
A synchronous group may include the specific item "#NbrRequest" which enables the user to find
out the number of communication requests needed to read all of the items in the group.
This item is read-only and may be read at any time, without needing to physically read the group
(no time used up on network communication).
This item can only be used in a synchronous group.
NOTE: The system group (see page 404) function is used for compatibility reasons only. Avoid this
as much as possible (it is of no use for an ordinary group).
Read Consistency
Definition
Consistency of a group of items:
TAll the items in a group are consistent with each other (i.e. read in the same PLC cycle) if and
only if the group is transcribed on a single request. This means that the client application can
be sure of the consistency of the items accessed in read mode when the #NbrRequest specific
item associated with the group or the device equals 1 (synchronous group only)
For more details refer to the section on performance (see page 373).
When the prefix ’$’ is used before the name of a group, the OFS server checks each time an
item is added that the request number does not exceed the unit. These are known as single
request user groups.
During a write request, if the number of items from a synchronous group exceeds the size of a
request, it will be refused in its entirety.
NOTE: The maximum quantity of lodge able items in a write frame is generally less than the lodge
able quantity in a read frame. That is the reason why writing all of the items in a synchronous group
can not be executed.
The OFS server (AddItems primitive) refuses to add the item and reports message if a single
request group cannot be transcribed on a single request.
Write Consistency
Definition
The write primitive displayed by the OFS server allows one or several items to be written in a group
at the same time. Obviously the items must be modifiable.
NOTE: During a write request, the OFS server overwrites the old values present in the PLC. The
client application must take charge of the preliminary overwrite confirmation, if this is necessary.
If, during a write request concerning several items, there is some overlapping between items, you
shouldn’t be able to see what the write order will be. Write optimizer focus on performance rather
than transmission order.
Example: If the write concerns items %MW0:5 and %MW0, the values provided by the 3rd element
of a %MW0:5 item and by the 2nd item (%MW2) are taken into account, but the final value will be one
or the other.
Consistency of the variables with each other during a write operation:
Write consistency is obtained when the data to write is lodged in the same network request, i.e.
either table type variables or same type variables, whose addresses are contiguous and whose
total size does not exceed the maximum (see page 373) size for a request.
Asynchronous Operation
Description
In asynchronous operation mode, a request for any asynchronous operation receives an
immediate response. That does not mean that the operation requested has been completed, but
that it has either been refused (incorrect code response), or that it is underway (correct code
response).
The completion and the outcome of the operation will be announced using the notification
mechanism. In order for this to occur, this mechanism must be activated before using
asynchronous operation.
The following are the four operations:
Read,
Write,
Refresh,
Cancel.
Read/Write:
Similar to asynchronous operation with the same name (same functions, same restrictions).
Refresh:
Requests notification of all the values in progress of all the group’s active items. The group must
be active.
Cancel:
Stops the progress of a current read, write or refresh operation. It is not possible to know if the
operation has actually been stopped.
Description
Installation of the periodic read utility of a group’s items consists of 4 stages:
Subscription of the group to the notification service set up by the OFS server.
Programming of the OnDataChange "waken" function, called by the OFS server to notify of
changes in values that have occurred in the groups.
Activation of all the items to be examined, if this has not already been done.
Activation of the group to trigger regular examination of the group’s items, which the OFS server
is responsible for: ActiveStatus property set to TRUE. In terms of performance, it is advisable to
activate the elements within a non-active group first and then activate the group. By doing this,
you will avoid having too long a start up time due to numerous network requests.
Reminder:
The OnDataChange primitive receives notifications for all groups whose servers ensure read
polling.
Notification is done by group, and not individually for each item of a group. So the
OnDataChange primitive receives the list of the group’s items having changed value from one
of the read polling function’s iterations to another.
Stopping a group’s periodic read utility is carried out in 2 phases:
deactivation of the group: ActiveStatus property set to FALSE,
stopping the group’s subscription to notification service.
NOTE: For user groups: it is possible to activate/deactivate the group’s item at any time. For
synchronous groups: (name starting with $ or $$) all items are still regarded as active, in other
words no partial activation/deactivation is possible.
Section 17.2
Symbol management
Symbol management
Introduction
OFS server establishes symbol/address correspondence using a symbol file. This symbol file may
have been created by a programming workshop (Concept, Modsoft, PL7, Unity Pro) or with an
external tool such as a Text Editor (CSV format).
For devices in the S7 range, access to symbols is only possible by firstly converting corresponding
applications to Premium applications.
Supported symbol file formats are the following:
PL7 exported symbol table file (default extension SCY),
PL7 exported application file (default extension FEF),
Concept exported symbol table file (default extension CCN),
Concept project file (default extension PRJ),
Unity Pro located exported symbol table file (default extension XSY),
Unity Pro exported symbol table file (default extension XVM),
Unity Pro project file (default extension STU),
Modsoft exported symbol table file (default extension TXT),
CSV exported symbol table file (default extension CSV),
Taylor exported symbol table file (default extension FIS).
For each format, only symbols that are associated with enough information for accessing variables
are loaded and can be used (see below for details).
Symbol/address correspondence can also use a Concept (see page 112) or Unity Pro
(see page 111) project file.
Several devices or groups can share the same symbol table file.
The link between the symbol file and a group of items is established either:
by creating a link between a device and a symbol table. The Configuration tool is used for this:
Creating an extension for the format you intend to use (e.g. .txt for Modsoft format),
creating an alias for the device with the Configuration tool,
linking the symbol table and this device.
when the group is created, by entering the name and path of the symbol table.
Symbol management is intended for a user group. Syntax of a group name: <Group
name>[=<symbol table file path>].
E.g.: creating group 1= C:\test.csv
OFS server will report a message to the client application if, while establishing this link, it detects
that the neutral file does not exist or that it is invalid (its content is syntactically incorrect).
If a symbol file contains "collisions" (multiple declarations of the same symbol or address) the OFS
server only retains the 1st occurrence of this identifier, and does not take following occurrences
into account:
Procedure
To create such a file using the Unity Pro workshop:
open the application using Unity Pro,
open the application browser,
open the data editor,
open any window in this editor (e.g. FB variable and instance),
use the File->Export menu to create the file.
This exported file authorizes the consistency check between the symbols file and the application
in the PLC (see Setting the Alias Properties, page 115 and The PLC Software folder, page 148).
Application Consistency
The dynamic coherency check (see page 129) defines the procedure to follow if there is any
variation between the application of the PLC and that of Unity Pro.
NOTE: When a project modification is transferred to the PLC, the consistency of XVM exported
symbols with the Unity Pro file will only be accounted for after the file is manually exported by the
user. The export operation may be automated by checking the ’XVM file’ option in the menu ’Tools
→Options →General →Automatic Backup During Transfer to PLC from Unity Pro V2.0.2.
Procedure
To create such a file using the PL7 software, proceed as follows:
Open the application with PL7,
Open the application browser,
Open the data editor,
Open any window in this editor (e.g. Memory Objects),
Use the File->Export menu to create the file.
The exported file authorizes the consistency check (application name and version) between the
symbols table file and the application in the PLC (see Setting the Alias Properties, page 115 and
The PLC Software folder, page 148).
For XWAY drivers, "Dynamic consistency" cannot be configured, the option is always disabled.
In "strict" level, the consistency is checked with the application name and the version.
In "Debug" level, no checking is performed and the qualities of the items are always in "good".
Procedure
To create such a file using the PL7 software, proceed as follows:
Open the application with PL7,
Use the File->Export Application menu to create the file.
The exported file authorizes the consistency check (application name and version) between the
symbols table file and the application in the PLC (see Setting the Alias Properties, page 115 and
(see page 148). Consistency is checked only at device startup. If there is any inconsistency, all
items of the device are positioned with the Quality field set to Bad. The OFS server does not use
the configuration data of this file.
Procedure
To create such a file using the Concept workshop:
open the application with Concept,
use the File->Export menu,
select Variables: text delimited,
do not select a section,
create the file with the .CCN (see page 110) extension.
The two other choices in the File-Export menu (Variables: Factory Link and Variables: Modlink)
should be avoided.
Only access to located variables is possible using this kind of file since it does not contain the
necessary information to access unlocated variables. For the same reason, access to structured
variables is not possible.
Description
To create such a file with the Modsoft workshop:
open the application with Modsoft,
from the main menu, select "Utility"->"Symbol Table" > to open the symbol table editor,
use the "File I/O"->"Export" menu to create the file.
This exported file does not authorize the consistency check (application name and version)
between the symbols table file and the application in the PLC.
Modsoft applications may receive comments, using the comments section of the file. However, the
OFS server only uses reference symbols.
Only symbols compliant with IEC format are supported. Symbols defined for the bits extracted from
registers are not supported.
Description
This type of file can be used with tools such as text editors (e.g. Notepad) or other tools (e.g. Excel
97 or later).
The format of each line is very simple:
<Address><Separator><Symbol><Separator><Comments>
the <Address> should be a valid address for the device associated with that symbol file,
the <Separator> can be a comma, a space or a tab character,
the <Symbol> can be any string of characters without a comma/space/tab/special character.
In cases where certain special features are used (table length, special postfix such as R), add them
to the address.
Example: table with 10 Read Only registers,
400001:10;R Table_Status
This file does not authorize the consistency check (application name and version) between the
symbols table and the application in the PLC (see Setting the Alias Properties, page 115 and The
PLC Software folder, page 148). With Excel 97, use commas as separators.
NOTE: Maximum lengths are 50 characters for the address, 33 characters for symbols and 510
characters for comments.
Description
To create the symbols file using the Taylor workshop:
open the application with the Taylor ProWORX 32 tool,
select the project ProWORX 32, then right click on the mouse,
select "Export Documentation",
select the file type "ProWORX PLUS Symbol .FIS file",
click on the Save button.
This exported file does not authorize the consistency check (application name and version)
between the symbols table file and the application in the PLC (see Setting the Alias Properties,
page 115 and The PLC Software folder, page 148).
Browsing of symbols
At a Glance
Symbol browsing is supported by the OPC-Browse interface. It has a multi-level hierarchy:
A node for each device (Alias, Path, Symbols table) whether it is actually connected or not.
For each node:
a sub-directory named "#Specific" for all specific items that can be created for this device,
a sub-directory for each structured variable or array (Concept or Unity Pro project file only)
which in turn has a sub-directory if the structure contains arrays or sub-structures.
the complete list of application symbols declared in the symbols table file (see page 110)
associated with the device (see page 110) or nothing (no symbol) if no symbols table has been
declared for the device.
Devices which are connected but which have not been configured in the alias table can not be
browsed.
Filtering possibilities exist to allow the user to select by type (for example, to ask for all Boolean
variables), by name (wildcard ’*’ accepted), by rights of access, by located or unlocated character
(Concept or Unity Pro project file only), by structured or non structured character.
The associated address and comments can also be obtained with each symbol ("&A" filter for the
address and "&C" for the comments, or both "&A&C").
It is also possible to filter the variables using criteria based on their addresses.
Summary of the filter syntax (BNF syntax):
<Symbol filter>[=<Address filter>][&A][&C][&E][&S][+<Filter on
Customstring attribute>.
<Symbol filter> any symbol string, including the wildcard ’*’,
<Address filter> any address string, including the wildcard ’*’,
&A: requests the display of the address,
&C: requests the display of the comments,
&E: only displays simple elements and not structures or arrays (for Concept project only),
&S: only displays structures and arrays (Concept or Unity Pro project file only).
Examples of filters:
So that the browse interface can go faster (certain types of software require that all the symbols
tables are opened when the browse interface is opened), a symbols table can be preloaded when
the server is started. This option is selected with the configuration tool when an alias is created in
the properties page.
NOTE: When browsing Unity Pro symbols of ANY_ARRAY type, only the first element of the table
is visible.
Reminder
It is possible to modify the R/W fields of a Standard Function Block (e.g. "Preset" field of a %MNi.P
Monostable), only if the Function Block has the "adjustable" property. "Adjustable" or "non
adjustable" properties are assigned in the Configuration editor of the PL7 workshop.
During a write request from the R/W field of a standard Function Block, the OFS server does not
carry out preliminary checking to make sure that the object has the "adjustable" property.
This means that if the Function Block does not have this property, the OFS server returns the
generic detected error code.
Section 17.3
Symbols and links
Overview
This section describes the various links.
Introduction
In case of Unity PLCs, the symbol consistency is managed by:
The variable access protocol
An internal mechanism of OFS
The variable access protocol to Unity PLCs is based on an address in the PLC memory. The PLC
responds only to the requests that are consistent with the PLC application. If after a modification
of the PLC application, the variable mapping changes, OFS will still be able to communicate with
this PLC after a resynchronization.
This mechanism doesn’t detect the modifications of the PLC application without affecting the
variable mapping.
OFS uses mechanism based on periodic polling of the PLC application stamps to check the
consistency between the PLC application and the symbols. To enable this mechanism, check the
dynamic consistency option. Once enabled, the mechanism will detect any change even the most
minor, in the application. You can use the mechanism to link a SCADA application to a PLC
application.
This mechanism is not available when you select direct synchronization by the PLC.
Description
To install the Unity Pro link via the OFS server, select the .stu project file ( (see page 110)
This .stu file authorizes the consistency check (application name and version) between the symbol
table file and the application in the PLC (see page 129).
The Unity Pro workshop and .stu files can be located on different machines. The OFS server can
be located either on the Unity Pro machine (usual case) or on another machine.
The same project can be used simultaneously with the Unity Pro workshop and OFS.
NOTE: In case of direct UnityPro utilisation, do not set the security of UnityPro to ON. Otherwise,
the mandatory login will not be activated by the UnityPro server.
Concept Link
Description
Installation of the Concept link is only possible with Concept 2.2 SR2 or higher.
To install the Concept link, select the prj project file (see Associating a Symbols Table File,
page 110 and see Symbol management, page 288) as the symbols file for any device or group.
This prj file authorizes the consistency check (application name and version) between the symbol
table file and the application in the PLC (see page 129).
The Concept workshop and the prj files should always be located on the same machine. The OFS
server can be located either on the Concept machine (usual case) or on another machine (Remote
Concept Link feature).
The same project can be used simultaneously with the Concept and OFS Workshop as long as
Concept is running in its own memory space (16 bit program).
In order to do this:
edit the usual Concept shortcut properties,
in the Shortcut tab, check the "Run in Separate Memory Space" box.
With OFS, more than one Concept project can be used at once, as long as they are from the same
version of Concept. In order to do this, create the aliases required, and for each of these select a
different project file.
OFS software, when used with the "stripped" Quantum executable file, will not read non-located
variables.
Description
The remote link offers exactly the same features as the normal Concept link. The only difference
is that the Concept machine (where the Concept programming tool and the Concept project files
are situated) is not the one on which the OFS server or the simulator is launched.
These machines must be linked by DCOM (usually on TCP/IP). An OFS server (with a license) or
an OFS simulator (DEMO mode) must be installed on the Concept machine. An appropriate DCOM
configuration must be carried out in order to enable access to this server which is called "proxy
server".
On the OFS machine, when specifying a Concept project, open the device properties page in order
to check the appropriate remote Concept option (the proxy server is either an OFS server or an
OFS simulator) and give the complete access path of the Concept machine.
The path of the Concept project must be the same as that seen by the proxy server on the Concept
machine (it must begin with the letter of a drive, followed by the complete path).
Section 17.4
Symbols management through Direct PLC link
Introduction
In some network architectures, the PC supporting the OFS server cannot directly access the Unity
Pro project files (STU) or Unity Pro variable export file (XVM). As a result, when an on-line
modification is performed through Unity Pro connected to the PLC, the OFS server detects an
inconsistency but is unable to resynchronize the application variable layout to maintain the
animation of the symbolized variable and to add new items.
However, Unity Pro can optionaly build and download the application with the embedded
DataDictionary which includes the symbolized variable layout. Then the OFS server can
automatically retrieve the consistency by accessing this DataDictionary in the CPU memory.
In addition, the DataDictionary allows OFS to implement a synchronization mechanism between
Unity Pro and the CPU in order to avoid the animation break of the symbolized variables during the
resynchronizations.
Due to communication limitation, and because the DataDictionary is generated from Unity Pro,
the automatic resynchronization is available with devices using TCP IP direct driver over Ethernet
network and UNITY PLCs.
The Quantum Safety CPU does not implement the data dictionary.
NOTE: The comments, the IODDT, custom strings and the private members of the DFB are not
supported by the Data Dictionary.
Three different operating modes are proposed depending of the Unity Pro and OFS setting and
versions:
partial resynchronization
full resynchronization
resynchronization without animation break
Partial Resynchronization
The browse operation of OFS still functions through the Unity Pro project files (STU) or Unity Pro
variable export file (XVM). When an inconsistency is detected, OFS resynchronizes the addresses
of the animated variables from the Data Dictionary. In case of incomplete resynchronization, OFS
retrieves the addresses of the variable from Unity Pro through STU or XVM files.
This operating mode is selected by providing the Symbol table file and by checking the Using
Data Dictionary setting in the OFS configuration for the corresponding device:
The Data Dictionary setting must be checked in the PLC Embedded Data section of the Project
Setting in the Unity Pro application. In addition, to get an updated symbol file, the Project
autosaving on download setting has to be checked.
To take the advantage of this feature, the minimum required versions are:
Full Resynchronization
Without any symbol file, the OFS server browses the application variables by using the Data
Dictionary embedded in the CPU memory as well as when an inconsistency is detected after an
on-line modification.
This operating mode is selected by checking the Using Data Dictionary setting without any
Symbol table file:
The Data Dictionary setting must be checked in the PLC Embedded Data section of the Project
Setting in the Unity Pro application.
To take the advantage of this feature, the minimum required versions are:
NOTE: For a device configuration using a DataDictionary without any attached symbol file, if the
DataDictionary is not reachable for any reason (for example, the data dictionary is not embedded
in the CPU because Unity Pro has not built it, or the Browse request is not supported because the
CPU firmware is not at the right level), then the OFS server can only provide the direct located
addresses on this device. In this case, the symbolic accesses are not available.
NOTE: For a device configuration using a DataDictionary without any attached symbol file, the
following behavior is to be considered when the device is missing at OFS startup. After a certain
amount of connection retry failures, the DataDictionary preload is cancelled. As a consequence,
any IOPCItemMgt::Additems or IOPCItemMgtValidateItems operation will fail until the device is
connected. This operating mode allows OFS to not wait for the preconfigured DataDictionary
timeout (240 seconds) and improves OFS startup duration. The case above will not occur if Partial
Resynchronization configuration is used.
NOTE: On configurations using DataDictionary and where the device is known to be missing
before OFS startup, it is strongly recommended to check the OFS Server Settings \
Communication \ Advanced features \ Quick Item Validation in OFS Configuration tool.
The Preload on build change setting must be checked in the PLC embedded data section of the
Project Setting in the Unity Pro application. The Effective Build change time-out setting gives a
time limit to apply the change after a time-out.
To take the advantage of this feature, the minimum required versions are:
Chapter 18
The Diag Buffer
Overview
This chapter describes the Diag Buffer detection tool.
Section 18.1
Description of the Diag Buffer
General
The Diag Buffer detects anomalies on monitored elements and transmits messages to the display
systems.
This function is only provided for Premium TSX57/PCX57 PLCs programmed with PL7 and those
programmed by Unity Pro that have a minimum software version (see PL7 / Unity Pro
documentation for further information).
It lets you view an alarm being triggered in real time and gives all the characteristics of the alarm
triggered in a bytes table:
type of detected error,
start date and time,
end date and time,
trigger zone between 0 and 15 (in case several modules are declared on the same PLC),
alarm comments...
Illustration
The diagram below shows the functioning of the Diag Buffer:
Operation
The table below describes the different operating phases:
Phase Description
1 The diagnostics DFB integrated in the applications program or system detect when
the process is not operational.
2 Detected faults are stored in a buffer memory called Diag Buffer.
3 One or more multi-station viewers (15max) allow you to:
view of one or more areas of a PLC,
view one or more areas of several PLCs,
acknowledge messages,
view the evolution of an item’s status.
For more information on the Diag Buffer, see the section on Diag Buffer installation
(see page 340).
Section 18.2
Diag Buffer for Unity Pro
This item enables connection to the PLC. Firstly, the number of the zone that you wish to monitor
must be indicated on the PLC (between 0 and 15) by carrying out a WRITE function.
Example of a write on
#DiagLogon:
Value to write:
bit i = 1: the zone is displayed,
bit i = 0: the zone cannot be displayed.
Bit 0 corresponds to zone 0, bit 15 corresponds to zone 15.
Examples:
to monitor zone 6: write 0040 hex
to monitor zones 2 and 15: write 8004 hex
HRESULT Comment
OFS_E_DIAG_OK OK
OFS_E_DIAG_NO_BUFFER Diag buffer not activated
OFS_E_DIAG_MMI_ALREADY_CONNECTED The viewer is already connected
OFS_E_DIAG_BUFFER_FULL FULL Diag buffer is full
OFS_E_DIAG_TOO_MUCH_MMI All possible viewers (15) are connected
HRESULT Comment
OFS_E_DIAG_OK OK
OFS_E_DIAG_NO_BUFFER Diag buffer is not activated
OFS_E_DIAG_BUFFER_FULL Diag buffer is full
OFS_E_DIAG_WRONG_MMI_ID The viewer identifier is not valid (outside range 1 to 15)
OFS_E_DIAG_MMI_NOT_CONNECTED OPC client not connected
NOTE: Destruction of the #DiagLogon item will automatically disconnect you from the viewer,
without using the #DiagLogout item.
This item enables you to read the list of detected errors in the diag buffer memory.
Value to write:
nothing,
Value returned after read:
detected errors saved in the form of a 550 byte table (see page 328).
Value returned by the item:
HRESULT Comment
S_OK Read successful, no modification is recorded in the 120 byte
table, or
read successful, modifications recorded in the 120 byte table
(the anomaly has been acknowledged or has disappeared), or
Read successful, a new table has been created (a new
anomaly has appeared).
OFS_E_DIAG_NO_BUFFER Diag buffer is not activated
OFS_E_DIAG_BUFFER_FULL Diag buffer is full
OFS_E_DIAG_WRONG_MMI_ID The viewer identifier is not valid (outside range 1 to 15)
OFS_E_DIAG_MMI_NOT_CONNECTED OPC client not connected
HRESULT Comment
OFS_E_DIAG_OK OK
OFS_E_DIAG_NO_BUFFER Diag buffer is not activated
OFS_E_DIAG_BUFFER_FULL Diag buffer is full
OFS_E_DIAG_MMI_NOT_CONNECTED OPC client not connected
OFS_E_DIAG_WRONG_ERROR_ID Non authorized anomaly identifier
OFS_E_DIAG_ERROR_NOT_USED No element corresponds to this identifier
This item lets you to know the evolution of the status of a FB anomaly without having to wait to be
notified of a change in the bytes table (see page 332).
Value to write:
value on 8 bytes corresponding to the status address and length.
E.g. the value returned in the "Length of Status" zone (fourth byte from zero) of the table and
the field "Status Address" from FB specific data.
Var[8] = 98 hex, Var[9] = 01 hex, Var[10] = 76 hex, Var[11] = 25 hex
The value to write in the #DiagReadStatus item is 25760198 hex or 628490648 dec.
HRESULT Comment
OFS_E_DIAG_OK OK
OFS_E_DIAG_NO_BUFFER Diag buffer not activated
OFS_E_DIAG_MMI_NOT_CONNECTED OPC client not connected
OFS_E_DIAG_WRONG_ERROR_ID Non authorized anomaly identifier
OFS_E_DIAG_ERROR_NOT_USED No element corresponds to this identifier
HRESULT Comment
OFS_E_DIAG_OK OK
OFS_E_DIAG_NO_BUFFER Diag buffer not activated
OFS_E_DIAG_MMI_NOT_CONNECTED OPC client not connected
HRESULT Comment
OFS_E_DIAG_OK OK
OFS_E_DIAG_NO_BUFFER Diag buffer not activated
OFS_E_DIAG_MMI_NOT_CONNECTED OPC client not connected
OFS_E_DIAG_WRONG_ERROR_ID Non authorized anomaly identifier
OFS_E_DIAG_ERROR_NOT_USED No element corresponds to this identifier
For each name, the first byte is length of the name, then one byte for each characters of the
name.
Example of result buffer:
HRESULT Comment
OFS_E_DIAG_OK OK
OFS_E_DIAG_NO_BUFFER Diag buffer not activated
OFS_E_DIAG_MMI_NOT_CONNECTED OPC client not connected
OFS_E_DIAG_WRONG_ERROR_ID Non authorized anomaly identifier
OFS_E_DIAG_ERROR_NOT_USED No element corresponds to this identifier
This item allows alarm retrigger (build again the list of FaultCause).
After this retrigger, the PLC DiagBuffer updates the alarm, so user gets a new buffer for this alarm
on #DiagReadNextError item. But this alarm still shows the original number of FaultCause,
not the updated number.
Value to write:
the value on 2 bytes corresponding to the "Identification number" zone, the second and third
byte (from zero) of the table.
Value returned after read:
nothing.
Value returned by the item:
HRESULT Comment
OFS_E_DIAG_OK OK
OFS_E_DIAG_NO_BUFFER Diag buffer not activated
OFS_E_DIAG_MMI_NOT_CONNECTED OPC client not connected
OFS_E_DIAG_WRONG_ERROR_ID Non authorized anomaly identifier
OFS_E_DIAG_ERROR_NOT_USED No element corresponds to this identifier
With the OFS server several PLCs can be monitored at the same time, it has a multi-station
function (unlike the Unity Pro which can only manage one PLC at a time). To supervise several
PLCs at once, simply create other aliases in the configuration tool and add them to another group
belonging to the same client (minimum of 1 group per device to monitor).
NOTE: Read the causes of an event directly before the next one. It permits to read the causes in
any case.
General
Before starting up an OPC client, it is advisable to create aliases for each of the PLCs to be
monitored. In order to make the installation of the Diag Buffer easier.
With these aliases it is easier to declare PLC addresses during the creation of an OPC client.
When an OPC client wishes to use the Diag Buffer, it must define a handle and use this handle
only once in the creation of a group.
To do this, at each call of the IOPCServer::AddGroup( ) method, the ClientGroup parameter (4th
parameter) must contain a unique value. This value corresponds to the client’s clientHandle.
As this value must also be unique amongst all the OPC clients using the Diag Buffer, the following
procedure must be considered:
if during the connection, the return code OFS_E_DIAG_MMI_ALREADY_CONNECTED is
transmitted, it means that theclientHandle is already in use. Another value must therefore be
used.
In order to do this, consult the window which can be accessed via the General->NetManX-
WayWindow menu and extend the branch Devices<>@Device<>DiagBuffer connections
which gives the list of connected viewers (handle + MMI id).
Possible values for the clientHandle are between 0 and - 2 (0 to FFFFFFFE hex).
FFFFFFFF hex is reserved.
Example of the settings of the handle with the C++ test client supplied on the OPC Factory Server
DVD:
create a short cut on the executable file OFSClient.exe,
in the properties of the short cut, add onto the end of the line
"Target"="C:\ ...\OFSClient.exe" -h10 for example to fix a handle = 10 for this OPC client.
All the examples on the following pages use the test client supplied on the DVD.
For more information on the OPC client see the OFS Client (see page 176)section.
an inactive group:
1- To connect to the Diag Buffer, the OPC client must add the #DiagLogon (see page 317)
specific item to the group. The connection is established when the OPC client writes and
validates the zone number of the PLC to be monitored in this item. If the write is successful, the
client obtains its viewer identifier number by carrying out a read (1 if it is the first connected)
2- To disconnect from the Diag Buffer, the OPC client must add the #DiagLogout
(see page 318) specific item to the group. The disconnection is carried out when the client
writes any value in this item.
3- For acknowledgment, the OPC client requires the #DiagAckError (see page 319) specific
item in the group.
4- To update the Diag Buffer status, the OPC client needs to add the #DiagReadStatusU
(see page 320) specific item.
5- To get the FaultCause system message, the OPC client requires the #DiagGetFltCse (to
write) and the # DiagFltCseResult (see page 322) (to read).
6- To retrigger the list of FaultCause, the OPC client requires the #DiagRetriggError
(see page 324)specific item to the group. The retrigg is done when the client writes a valid
ErrorID in this item.
7- For the deletion, the OPC client requires the #DiagResetError (see page 321) specific item
to the group. The destruction is done when the client writes a valid ErrorID in this item.
An active group: this group must be created or activated after actual connection with the
#DiagLogon item.
To reset the alarms coming from Diag Buffer, the client needs to add the #DiagReadNex-
tErrorU (see page 319) specific item to the group.
The screen below shows a 550 bytes table (see page 332) in which the detected error
(see page 332) code of the activated alarm can be found. Each byte represents a specific piece
of information:
Example of translation, the bytes 2 and 3 represent the identifier of the anomaly.To acknowledge
it, the client writes 0604 hex (decimal value is 1540) in #DiagAckErr.
Description
The 550 byte table (see page 328) (alarm reset after a read on #DiagReadNextError) is structured
in the following way:
Illustration of the structure of the bytes table:
Description
The illustration details the contents of the first 26 bytes in the table:
Time stamp at the end of the alarm (coded on 4 bytes): PLC time and date when the alarm
disappeared,
Time stamp at the acknowledgement of the alarm (coded on 4 bytes): PLC time and date when
the alarm acknowledgment,
Time stamp format:
bit 0: Status:
0: disappeared,
1: active.
bit 1: Acknowledgment:
0: acknowledged,
1: not acknowledged or acknowledgment not requested.
bit 2: Need acknowledge:
0: acknowledgment is not required,
1: acknowledgment is required.
bit 3: Deleted:
0: still in DiagBuffer,
1: deleted from DiagBuffer.
FB Specific Data
The diagram describes the Variable Size Specific data section for Function Block:
Section 18.3
Diag Buffer for PL7
This item enables connection to the PLC. Firstly, the number of the zone that you wish to monitor
must be indicated on the PLC (between 0 and 15) by carrying out a WRITE function.
Example of a write on
#DiagLogon:
Value to write:
bit i = 1: the zone is displayed,
bit i = 0: the zone cannot be displayed.
Bit 0 corresponds to zone 0, bit 15 corresponds to zone 15.
Examples:
to monitor zone 6: write 0040 hex
to monitor zones 2 and 15: write 8004 hex
HRESULT Comment
OFS_E_DIAG_OK OK
OFS_E_DIAG_NO_BUFFER Diag buffer not activated
OFS_E_DIAG_MMI_ALREADY_CONNECTED The viewer is already connected
OFS_E_DIAG_BUFFER_FULL Diag buffer is full
OFS_E_DIAG_TOO_MUCH_MMI All possible viewers (15) are connected
HRESULT Comment
OFS_E_DIAG_OK OK
OFS_E_DIAG_NO_BUFFER Diag buffer not activated
OFS_E_DIAG_BUFFER_FULL Diag buffer is full
OFS_E_DIAG_WRONG_MMI_ID The viewer identifier is not valid (outside range 1 to 15)
OFS_E_DIAG_MMI_NOT_CONNECTED OPC client not connected
NOTE: Destruction of the #DiagLogon item will automatically disconnect you from the viewer,
without using the #DiagLogout item.
This items enables you to read errors in the Diag Buffer memory.
Value to write:
nothing,
Value returned after read:
errors saved in the form of a 120 byte table (see page 353).
Value returned by the item:
HRESULT Comment
S_OK Read successful, no modification is recorded in the 120
byte table
S_OK Read successful, modifications recorded in the 120
byte table (the anomaly has been acknowledged or has
disappeared)
S_OK Read successful, a new table has been created (a new
anomaly has appeared)
OFS_E_DIAG_NO_BUFFER Diag buffer not activated
OFS_E_DIAG_BUFFER_FULL Diag buffer is full
OFS_E_DIAG_WRONG_MMI_ID The viewer identifier is not valid (outside range 1 to 15)
OFS_E_DIAG_MMI_NOT_CONNECTED OPC client not connected
HRESULT Comment
OFS_E_DIAG_OK OK
OFS_E_DIAG_NO_BUFFER Diag buffer not activated
OFS_E_DIAG_BUFFER_FULL Diag buffer is full
OFS_E_DIAG_MMI_NOT_CONNECTED OPC client not connected
OFS_E_DIAG_WRONG_ERROR_ID Non authorized anomaly identifier
OFS_E_DIAG_ERROR_NOT_USED No element corresponds to this identifier
This item lets you to know the evolution of the status of a DFB anomaly without having to wait to
be notified of a change in the 120 bytes error table (see page 353).
Value to write:
the value on 4 bytes corresponding to the Status Handle zone starting by a read of the highest
ranking byte.
E.g. the value returned in the Status Handle zone of the #DiagReadNextError item table is
such that:
Var[8] = 98 hex, Var[9] = 01 hex, Var[10] = 76 hex, Var[11] = 25 hex
The value to write in the #DiagReadStatus item is 25760198 hex or 628490648 dec.
Value returned after read:
the values of status 0 + status 1, taking into account the value of the words from right to left.
E.g. the value returned is 0010001D hex; status0 value is 001D hex; status1 value is 0010 hex.
With the OFS server several PLCs can be monitored at the same time, it has a multi-station
function (unlike the PL7 which can only manage one PLC at a time). To supervise several PLCs at
once, simply create other aliases in the configuration tool and add them to another group belonging
to the same client (minimum of 1 group per device to monitor).
General
Before starting up an OPC client, it is advisable to create aliases for each of the PLCs to be
monitored. In order to make the installation of the diag buffer easier.
With these aliases it is easier to declare PLC addresses during the creation of an OPC client.
When an OPC client wishes to use the diag buffer, it must define a handle and use this handle only
once in the creation of a group.
To do this, at each call of the IOPCServer::AddGroup( ) method, the hClientGroup parameter (4th
parameter) must contain a unique value. This value corresponds to the client’s clientHandle.
As this value must also be unique amongst all the OPC clients using the diag buffer, the following
procedure must be considered:
if during the connection, the return code OFS_E_DIAG_MMI_ALREADY_CONNECTED is
transmitted, it means that the clientHandle is already in use. Another value must therefore
be used.
In order to do this, consult the window which can be accessed via the General->NetManX-
WayWindow menu and extend the branch Devices<> @Device<>DiagBuffer connections which
gives the list of connected viewers (handle + MMI id).
Possible values for the clientHandle are between 0 and - 2 (0 to FFFFFFFE hex).
FFFFFFFF hex is reserved.
Example of the settings of the handle with the C++ test client supplied on the OPC Factory Server
DVD:
create a short cut on the executable file OFSClient.exe,
in the properties of the short cut, add onto the end of the line
"Target"="C:\ ...\OFSClient.exe" -h10 for example to fix a handle = 10 for this OPC client.
All the examples on the following pages use the test client supplied on the DVD.
For more information on the OPC client see the OFS Client (see page 176)section.
an inactive group:
1- To connect to the diag buffer, the OPC client must add the #DiagLogon (see page 342)
specific item to the group. The connection is established when the OPC client writes and
validates the zone number of the PLC to be monitored in this item. If the write is successful, the
client obtains its "viewer identifier" number by carrying out a read (1 if it is the first connected)
2- To disconnect from the diag buffer, the OPC client must add the #DiagLogout (see page 343)
specific item to the group. The disconnection is carried out when the client writes any value in
this item.
3- For acknowledgment, the OPC client requires the #DiagAckError (see page 344) specific
item in the group.
4- To update the Diag Buffer status, the OPC client needs to add the #DiagReadStatus
(see page 345) specific item.
The following screen shows the installation of specific items:
An active group: this group must be created or activated after actual connection with the
#DiagLogon item.
To reset the alarms coming from diag buffer, the client needs to add the #DiagReadNextError
(see page 344) specific item to the group.
The screen below shows a 120 byte table (see page 353) in which the detected error
(see page 353) code of the activated alarm can be found. Each byte represents a specific piece
of information:
Example of translation of bytes V12 to V15 which represent the time of the beginning of the alarm.
The table describing the time stamp format of the Diag buffer enables you to extract the different
values.
The values read are: V15=11 hex, V14=D2 hex, V13=D6 hex, V12=B9 hex.
Description
The 120 byte table (see page 349) (alarm reset after a read on #DiagReadNextError) is structured
in the following way:
Illustration of the structure of the bytes table:
Description
The illustration details the contents of the first 22 bytes in the table:
The table gives the definition of the code retrieved in this byte:
Type (coded on 4 bytes): this is the type of anomaly which is retrieved by the diag buffer:
- Diag-DFB: status value, coding on 2 bytes for "length of status" = 2, 4 bytes for "length of
status" =4.
- Grafcet: system detected anomaly. It occurs when the execution time exceeds the expected
time.
For more information see PL7 documentation on DFBs.
Status handle (coded on 4 bytes): this value must be used during a #DiagReadStatus
write,
Time stamp at the beginning of the alarm (coded on 4 bytes): time and date when the alarm was
triggered,
Time stamp at the end of the alarm (coded on 4 bytes): time and date when the alarm
disappeared,
Time stamp format:
bit 0: Status:
0: disappeared,
1: active.
bit 1: Acknowledgment:
0: acknowledged,
1: not acknowledged or acknowledgment not requested.
bit 2: Type of alarm (with or without acknowledgment):
0: acknowledgment not requested,
1: acknowledgment requested.
Number of the zone to be monitored: PLC zone from where the diag buffer retrieved the
anomaly. Grafcet anomalies always belong to the common zone.
Chapter 19
Communication
Communication
Section 19.1
Communication
Communication
Introduction
General
the OFS server allows the use of several different communication media simultaneously: a client
application can, for example, gain access to a PLC using Fipway and to another using ISAway.
the OFS server provides X-Way and Modbus network transparency: A client application can
access PLCs in a PLC network architecture including bridges for switching between
communication media.
OFS server behavior in the event of an inoperable communication with the PLC (PLC missing,
disconnected, etc.):
all the requests corresponding to one group will be transmitted, both for reading items and
for writing items.
from a performance point of view, this means that the execution period for the read or write
primitive may rise to n times the timeout period (where n is the number of requests associated
with the group).
Note:
There are no request retries on timeout.
NOTE: For networks with logical connections, if the connection is broken, the server automatically
tries to re-establish it.
NOTE: E.g.: TCP-IP.
NOTE: When the XIP driver is used more than one device connected and one of these is absent,
communication with devices connected by XIP is blocked for a few seconds as XIP uses Winsock
and awaits the end of the TCP/IP timeout. After this timeout, everything should come back normal
except, of course, communication with the missing PLC.
The OFS server will indicate communication anomalies to the client application in the following
way: each item belonging to an inoperative request will be marked invalid *, whether it is for a
group’s synchronous or cyclic read request.
* Whatever the method used to perform the read, invalid means that the Quality attribute is Bad.
Valid means that the Quality attribute is Good.
Comments:
the client application can determine whether the PLC has been reconnected by re-addressing
a synchronous read request to the group concerned,
during the cyclic read of a group, the quality of items (Quality attribute) will change from Bad to
Good when the PLC is reconnected. The feedback mechanism (see page 250) describes the
Quality attribute associated with an item.
The OFS server allocates for:
X-Way: a socket (communication channel) for each driver for PL7 or UNITY-type devices, and
up to 16 sockets for XTEL or ORPHEE-type devices
Modbus Plus: a path to each device (PM), or up to 16 paths to each device (DM)
Description
Example of access through a network:
Addressing to 3 levels:
Allows a station connected to the network at any point of the X-Way communication architecture
to be reached.
Illustration:
Addressing to 5 levels:
It is generally used for devices connected on a Uni-Telway bus.
Illustration:
Module: physical location of the communication module in the rack. Its value must be defined
as follows: (Master rack number * 16) + Number of master module.
Channel: address of the device connected to the communication module. Its value must be
defined as follows: (Master channel number * 100) + slave Ad0 number.
Addressing to 6 levels:
This is similar to addressing to 5 levels. It was created for extended services (FIPIO,
communication module integrated in rack).
Illustration:
Selector: designates a communication module on the CPU (2) or in a separate module (1).
Connection point: device address, if the destination module is FIPIO. Physical positioning in
the PLC rack, if the destination module is a PLC card.
Reference: communication entity in the device (similar to the Gate number).
Examples:
5 level addressing:
6 level addressing:
For more information on the X-Way address, see "X-Way Communication" documentation, ref.
TSX DR NET.
NOTE: In point to point connections (Uni-Telway, ISAway, PCIway), the default address 0.254.0
can be used to reference the PLC.
NOTE: 0.254.0 can be used to access to the Fipio Master when we are connected through the
privilegied terminal @63
NOTE: 0.254.5.17.104 can be used to access to the Uni-Telway slave @4 which is connected on
the rack 1 module 1 channel 1 when we are connected on the local PLC.
NOTE: 0.254.8.2.14.0 can be used to access to the Fipio connection point 14 when we are
connected through the privilegied terminal @63.
NOTE: With Ethway and XIP, it is possible to use gate 7, which accepts large frames (up to 1024
bytes). In order to do this, the PL7 application must be configured in periodic mode (MAST task).
The "1K service" option must be checked in the alias definition page.
NOTE: Example: normal address: XIP01:1.2, to use gate 7: XIP01:1.2.7
Description
over TCP/IP, the only information required is the IP address. This can be given as four groups
of numbers separated by dots or by a DNS name e.g. "My Station". In this case, the DNS
scanning feature should be enabled (see page 151).
over Modbus Plus, the syntax is:
<access level>.<node1>.<node2>.<node3>. <node4>.<node5>
The access level can be:
PM = Program Master,
DM = Data Master.
Section 19.2
Multi-Channel Feature
Multi-Channel Feature
Multi-Channel Feature
Description
Certain communication protocols are half-duplex networks which means that after sending one
request, the server should wait for the answer before sending the next request. This is the case for
most protocols used by OFS except on X-Way Unity- or PL7-type PLCs. The only way to speed up
communications is to open several channels between the sender and the receiver.
You may open between 1 and 16 channels for each device and you may configure that number
either statically with the OFS Configuration Tool (see page 115) or dynamically with the specific
#MaxChannel item. The value that gives optimal performance depends on the PLC being
accessed (number of requests it can process per cycle) and the communication card being used
(notably on Concept-type PLCs). To obtain this data, please refer to the PLC and communication
card documentation.
NOTE: The multi-channel function is not significant for Unity Pro or PL7-type PLCs using an X-Way
network (full-duplex protocol) or with a serial Modbus driver (single channel only) for all PLC types.
NOTE: For Uni-Telway, the maximum number of channels is linked to the number of slaves
declared in the Uni-Telway driver configuration.
NOTE: The specific item #NbrMaxPendingReq cannot theoretically be greater than the number of
channels open on a half-duplex protocol. If the value is greater, the requests are placed in a queue.
These two parameters have a major effect on the communication performance of OFS.
NOTE: To summarize, on a half-duplex protocol, the maximum number of requests transmitted in
parallel to a device is the smaller value between #NbrMaxPendingReq and the number of channels
actually open.
NOTE: On a full-duplex protocol, only the value #NbrMaxPendingReq is taken into account.
Chapter 20
Performance
Performance
Section 20.1
Static characteristics
Static characteristics
PL7 devices
The tables below gives the size in bytes of data items in a single request for PL7 devices:
(1) : In this specific case, several PLC cycles are required to access the values.
Concept devices
The tables below gives the size in bytes of data items in a single request for Concept devices:
Read Write
Located variables 250 200
Unlocated variables for Concept 2.5 and later 244 1
Concept 2.2 unlocated variables 246 1
NOTE: The frame length for a Concept device is fixed (256 bytes). It does not depend on the
communication media.
X-Tel devices
The tables below gives the size in bytes of data items in a single request for X-Tel devices:
Device ORPHEE
The tables below gives the size in bytes of data items in a single request for ORPHEE devices:
Use of groups
Description
Dividing items into different groups can have an effect on the construction of network requests. For
each device, the items are separated into independent sets if necessary. However, the sets will not
be determined by the groups themselves but by the update periods of the groups.
Illustration:
In summary:
the groups do not influence the generation of network requests: declaring items in two different
groups with the same period is the same, in terms of the requests generated, as declaring items
in a single group.
requests are generated not within a group, but within batches made up of items belonging to
groups with the same period.
Optimizing requests
Description
Optimization is carried out individually for each set of items (see page 375) corresponding to a
device and a frequency.
Optimization algorithms follow two stages:
Compacting: grouping in tables of items of the same type which have similar or consecutive
addresses. For writing, this regrouping is only carried out if the items are strictly consecutive.
From the original items you obtain a list of elements to send to the PLC to read or write.
Compacting is also applied for non-located data if the version of Concept used is 2.5 or higher.
On Series 7 type PLCs, compacting is not carried out for unitary bits. For bit tables, it is only
carried out if their number is multiplied by 8.
Concatenation: construction of requests by optimizing the possibilities offered by the protocol.
Certain protocols let you define access to several objects of different types in the same request.
OFS automatically adjusts the size of requests to the maximum that is admissible:
OFS uses different communication protocols according to the devices being accessed.
List of protocols used with the algorithms in use:
access to PL7 devices on X-Way (UNITE V2 protocol):
compacting in all cases,
concatenation for reading,
Description
Concept gives you the opportunity to build data structures, made up of members of different types.
Unitary writing of bits: it is important to note that when the fields of bit or byte type are declared in
the structure, they are not compacted. In fact, each of these fields is the object of a write request.
Example: a structure made up of 2 bits and three consecutive words would give rise to 3 requests
if the fields are written unitarily. Please note however that the write of the structure in its entirety
would give rise to a single request.
Writing non-aligned fields: when the members are not aligned on the 16 bit boundaries, the writing
of one of these members, where this cannot be carried out with a single request, is forbidden.
Illustration:
Aligned structure: Non-aligned structure:
The real type member is considered as being stored on 3 addresses. The write would require 2
access bytes and 1 access word. When that is possible, it is preferable to build structures while
taking into account the alignment criteria.
Important: the write of a complete structure, including when the members inside are not aligned
remains possible.
Addressing of discrete I/O modules for M580, M340, and Premium devices
General
The "Read operation" and "Write operation" sections use a type of optimization known as "module
optimization".
NOTE: For M580, topological syntax is supported only if the General \ Configuration\M580
preferred I/O data type value in Unity Project Settings is set to Topological.
Read operation
Items addressing the same module are compacted for discrete Input/Output modules
For example, for a discrete input module, reading of the following objects generates a request:
Object Comment
%I1.0 input bit of rack 0, module 1 and channel 0
%I1.0.ERR detected error on the channel of rack 0, module 1 and channel 0
%I1.2 input bit of rack 0, module 1 and channel 2
%I1.3.ERR detected error on the channel of rack 0, module 1 and channel 3
%I1.6 input bit of rack 0, module 1 and channel 6
%I1.31 input bit of rack 0, module 1 and channel 31
However, if the module detected error bit is added to the objects above, given that it alone
generates one request, the reading of all the objects will take two requests:
Object Comment
%I1.0 input bit of rack 0, module 1 and channel 0
%I1.0.ERR detected error on the channel of rack 0, module 1 and channel 0
%I1.2 input bit of rack 0, module 1 and channel 2
%I1.3.ERR detected error on the channel of rack 0, module 1 and channel 3
%I1.MOD.ERR detected error on the module of rack 0, module 1 and channel 3
%I1.6 input bit of rack 0, module 1 and channel 6
%I1.31 input bit of rack 0, module 1 and channel 31
Write operation
The concatenation of items (i.e. the construction of requests by optimizing the possibilities offered
by the protocol) addressing the same module is performed for discrete Input/Output modules.
OFS automatically adjusts the size of requests to the maximum admissible by the protocol.
For example, on a Uni-Telway bus, for a discrete output module, writing of the following objects
generates a request:
Object Comment
%Q2.0 output bit of rack 0, module 2 and channel 0
%Q2.1 output bit of rack 0, module 2 and channel 1
%Q2.3 output bit of rack 0, module 2 and channel 3
%Q2.10 output bit of rack 0, module 2 and channel 10
%Q2.11 output bit of rack 0, module 2 and channel 11
%Q2.31 output bit of rack 0, module 2 and channel 31
Addressing of analog I/O modules for M580, M340, and Premium devices
General
The "Read operation" and "Write operation" sections use a type of optimization known as "channel
optimization".
NOTE: For M580, topological syntax is supported only if the General \ Configuration\M580
preferred I/O data type value in Unity Project Settings is set to Topological.
Read operation
In read mode, objects are compacted and concatenated on items addressing the same channel
of an Input/Output module.
For example, reading of the following objects generates a request:
Object Comment
%IW1.0.2 input word of rack 0, module 1, channel 0 and position 2
%IW1.0.3 input word of rack 0, module 1, channel 0 and position 3
%IW1.0.10 input word of rack 0, module 1, channel 0 and position 10
%ID1.0 double input word of rack 0, module 1, channel 0 and position 0
%ID1.0.4 double input word of rack 0, module 1, channel 0 and position 4
%ID1.0.6 double input word of rack 0, module 1, channel 0 and position 6
%ID1.0.11 double input word of rack 0, module 1, channel 0 and position 11
Object Comment
%IW\0.2.54\0.0 input word at connection point 54 of a base module, channel 0 and
position 0
%IW\0.2.54\0.0.1 input word at connection point 54 of a base module, channel 0 and
position 1
%IW\0.2.54\0.0.2 input word at connection point 54 of a base module, channel 0 and
position 2
%IW\0.2.54\0.0.29 input word at connection point 54 of a base module, channel 0 and
position 29
%IW\0.2.54\0.0.30 input word at connection point 54 of a base module, channel 0 and
position 30
%IW\0.2.54\0.0.31 input word at connection point 54 of a base module, channel 0 and
position 31
If you want to address different channels, you should allow one request per addressed channel. In
this example, 5 requests are generated:
Object Comment
%IW1.0 input word of rack 0, module 1, channel 0 and position 0
%IW1.1 input word of rack 0, module 1, channel 1 and position 0
%IW1.3 input word of rack 0, module 1, channel 2 and position 0
%IW1.4.2 input word of rack 0, module 1, channel 4 and position 2
%IW1.15 input word of rack 0, module 1, channel 15 and position 0
The module detected error bit generates an additional request, whereas the module channel bit
does not. If the module channel bit does not generate an additional request, the module detected
error bit will be included in the same request.
Write operation
In write mode, objects are concatenated on items addressing the same channel of an Input/Output
module.
For example, on a Uni-Telway bus, writing of the following objects generates a request:
Object Comment
%QD1.0 double output word of rack 0, module 1, channel 0 and position 0
%QW1.0.2 output word of rack 0, module 1, channel 0 and position 2
%QW1.0.3 output word of rack 0, module 1, channel 0 and position 3
%Q1.0 output bit of rack 0, module 1, channel 0 and position 0
Input/Output Performance
Reading Input/Output items generates a large number of requests. You should therefore beware
of any loss of performance which may occur, especially when addressing in addition items other
than I/O items.
Defining an I/O Item when the Device or I/O Module is not Connected
If the device and/or the I/O module are not connected when an item is defined, "module
optimization (see page 378)" is not performed.
As a result, the channels of discrete I/O modules are addressed using "channel optimization"
(see page 380), that is with one request per channel.
Section 20.2
Dynamic Performance
Dynamic Performance
Dynamic performance
Introduction
The dynamic performance of OFS depends on several parameters and can be measured
according to several characteristics (configuration response time, read/write response time,
volumes of data exchanged, sensitivity to anomalies) and along two lines (OFS communication
with devices and OFS communication with OPC clients). In certain cases it is necessary to
configure different OFS parameters to obtain better performance. For example, if devices are
accessed via different types of network and a lower performance network is used on somewhere
on the network path. Below, we provide you with the server adjustment parameters which have an
influence on performances for OFS communication with devices.
Multi-channel feature
On half-duplex networks (see page 370), this parameter can be used to send several requests to
a device simultaneously. The higher the value, the better the performance you will obtain for
communication with the device.
Specific item
The number of requests sent (see page 223) in parallel to a device (see specific item
#NbrMaxPendingRequest).
This parameter is calculated automatically by OFS according the device accessed. However, as
OFS does not know everything about the system environment, it is sometimes necessary to adjust
it to use different values. You may wish to reduce it to allow other interfaces (programming
workshop, diagnostics tools, another device) to communicate more easily with the device. You
make also wish to reduce it if the route used to access the device may be subject to bottlenecks
(E.g.: Access via XIP then UNITELWAY). It is not advisable to increase this value. However, in
some cases (on TCP/IP or XIP networks) doing so may make it possible to process larger volumes
of data.
Frame timeout
This parameter specifies the maximum tolerated time period for obtaining a response to a request
from a device.
It is advisable to set it at a reasonably high value because:
if it is too low, "false" timeouts (the response arrives after the specified period has elapsed) may
have a negative effect on performance.
if it is too high, feedback times may be too long and missing devices may be detected too late.
The user must therefore find the compromise best suited to his requirements.
Sampling speed
The lower the value, the better the response times you obtain for synchronous access will be. If an
unsuitable period is configured (one which is too short relative to actual requirements), this may
have a negative effect on performance. However, this parameter only has an influence on the
machine time (for PC on which OFS is installed) and not on network bandwidth.
Section 20.3
Estimation of Network Performance
PLC Capacity
PLC Quantum
Communication adapter CPU Request size Request per PLC scan time
Copro 140 CPU 6•• 1024 16 for located or unlocated
NOE 140 CPU 6•• 256 From 12 to 16 for located
140 CPU 5•• From 1 to 4 for unlocated
140 CPU 4••
140 CPU 3••
NWM 140 CPU 6•• 256 From 1 to 4 for located
140 CPU 5•• 1 for unlocated
140 CPU 4••
140 CPU 3••
NOE 1024 (*) 140 CPU 6•• 1024 12 for located or unlocated
140 CPU 5••
140 CPU 4••
140 CPU 3••
(*) On CPU modules with OS version 2.80 or higher and on NOE modules with OS version 4.60 or higher.
PLC Premium
Communication adapter CPU Request size Request per PLC scan time
Copro TSX P57 6•• 1024 16 for located or unlocated
TSX P57 5••
TSX P57 4••
ETY / WMY TSX P57 6•• 256 16 for located or unlocated
TSX P57 5••
TSX P57 4••
ETY / WMY TSX P57 3•• 256 12 for located or unlocated
ETY / WMY TSX P57 2•• 256 8 for located or unlocated
ETY / WMY TSX P57 1•• 256 4 for located or unlocated
TSX P57 0••
PLC M340
Communication adapter CPU Request size Request per PLC scan time
Copro BMX P34 20•• 1024 8 for located or unlocated
NOE BMX P34 10•• 1024 8 for located or unlocated
BMX P34 20••
PLC M580
Communication adapter CPU Request size Request per PLC scan time
Embedded port BMX P58 1020 1024 8
Embedded port BMX P58 20x0 1024 12
Embedded port BMX P58 30x0 1024 16
Embedded port BMX P58 40x0 1024 16
Request Capacity:
The size of the answer frame gives the number of needed requests:
The address of each variable can take up to 8 bytes depending on the module and protocol. The
Unite or Modbus protocol, allows up 240 bytes of data.
NOTE: If the variables are not contiguous, the number of requests is greater.
Task time to 10 ms
PLC PL7 TSX CONCEPT UNITY PREMIUM UNITY QUANTUM M340 M580
P57 1•• TSX P57 5•• 140 CPU 651 60
Protocol Unite Modbus Unity Unity Unity Unity
Module ETY NOE COPRO ETY COPRO / NOE CPU/NOE Embedded
NOE 1024 port
BMXP5830x0
Request size 256 256 1024 256 1024 256 1024 1024
Nb of requests 4 12 16 4 12 4 8 16
per scan
Nb of needed 42 / 250 42 / 250 10 / 60 42 / 250 10 / 60 42 / 250 10 / 60 10 / 60
requests ( 5.000 /
30.000 words)
5.000 words 220 ms 80 ms 20 ms 220 ms 20 ms 220 ms 40 ms 20 ms
30.000 words 1.26 s 420 ms 80 ms 1.26 s 100 ms 1.26 s 160 ms 80 ms
Task time to 50 ms
PLC PL7 TSX CONCEPT UNITY PREMIUM UNITY QUANTUM M340 M580
P57 1•• TSX P57 5•• 140 CPU 651 60
Protocol Unite Modbus Unity Unity Unity Unity
Module ETY NOE COPRO ETY COPRO / NOE CPU/NOE Embedded
NOE 1024 port
BMXP5830x0
Request size 256 256 1024 256 1024 256 1024 1024
Nb of requests 4 12 16 4 12 4 8 16
per scan
Nb of needed 42 / 250 42 / 250 10 / 60 42 / 250 10 / 60 42 / 250 10 / 60 10 / 60
requests ( 5.000 /
30.000 words)
5.000 words 4.4 s 1.6 s 400 ms 4.4 s 400 ms 4.4 s 800 ms 400 ms
30.000 words 25.2 s 8.4 s 1.6 s 25.2 s 2s 25.2 s 3.2 s 1.6 s
Chapter 21
Client-alive Service
Client-alive Service
Functionalities
In certain cases, OFS needs to detect OPC clients’ improper disconnection (proper disconnections
are detected) to go to a falling back state and self deactivate all active groups. The OPC client
signals it is alive by writing periodically a #Client Alive specific item. The OPC client handling the
group is considered as missing if no #Client Alive write action has been performed during a
configured client-alive timeout.
NOTE: Improper disconnections are managed automatically by OFS OPC driver.
This following screen shows the client-alive service that appears in the OFS Server settings →
Options panel:
NOTE: A #Client Alive can be added in any group except the reserved event group. The
monitoring applies to all active groups managed by the client, including the reserved event group.
NOTE: A #Client Alive specific item is not linked to an alias but to the system. To keep normal
item syntax, the browse publishes a <<system>> root branch and #Client Alive leaf. The full
syntax is <<system>>! #Client Alive.
NOTE: The client-alive monitoring of a client starts when the first #Client Alive write is performed
(if the service is not disabled). This allows the service to remain optional for other OPC clients.
OFS Runtime:
A monitoring task computes periodically the time elapsed between 2 consecutive #Client Alive
write operations. If that time is superior to the configured Client Alive timeout, then all active
groups owned by the client are deactivated by OFS.
Periodically write #Client Alive at times Client Alive timeout. If it is not the case, the groups is
deactivated in an unexpected way. A typical value is <#Client Alive writing_rate> =
<client-alive Timeout> /2
Part VII
Developer Guide
Developer Guide
Chapter 22
Advice
Advice
Programming
Description
The main phases of application client programming (using either VB and Automation Interface 2.0
or C++ and Custom Interface) are as follows:
creation of a connection with the OFS server (in local or offset mode):
OPC-AUTOMATION: Connect()
OPC-CUSTOM: CoCreateInstance() + QueryInterface() for IOPCServer + Get
GroupCollection(),
creation of one or more GROUPS:
OPC-AUTOMATION: GroupCollection \ Add() + Get ItemsCollection()
OPC-CUSTOM: IOPCServer \ AddGroup()+ QueryInterface() for IOPCItemMgt,
creation of ITEMS in an existing group:
OPC-AUTOMATION: ItemsCollection \ AddItem() or AddItems()
OPC-CUSTOM: IOPCItemMgt \ AddItems(),
READ or WRITE of group ITEMS:
OPC-AUTOMATION: ptr \ ASyncRead() group or ptr \ ASyncWrite() group
OPC-CUSTOM: IOPCASyncIO2 \ Read() or IOPCASyncIO2 \ Write(),
destruction of existing GROUPS (this may include the destruction of all items contained within
these groups):
OPC-AUTOMATION: GroupCollection \ Remove() or RemoveAll()
OPC-CUSTOM: IOPCServer \ RemoveGroup(),
closing the CONNECTION with the OFS server:
OPC-AUTOMATION: Disconnect()
OPC-CUSTOM: IOPCServer \ Release().
NOTE: The above information is only needed for the creation of new personalized applications.
Recommendations
At a Glance
This chapter contains several recommendations to enable optimum use of the server. As a general
rule, you should remember that the limit on the number of items that are simultaneously accessible
is linked to the communication resources between the OFS server and the devices. The limiting
element is the entrance of communication modules on to PLCs.
for a group containing a large number of items (several thousands), the creation of items or the
modification of the group properties (update rate, for example) is made much quicker by
deactivating the group beforehand and then reactivating it when the operation is complete. This
point is particularly important when using synchronous groups ($ and $$), as for each item
created, the destination of the new item is checked with respect to the first item created in the
group.
when using a large number of items (several thousands), divide them up into several groups to
adapt the update rate and therefore be able to desynchronize them. In order to avoid
communication peaks with devices:
when developing an application, it is preferable to use the "AddItems" method which is more
powerful than the simple "AddItem" method.
Part VIII
Appendices
Appendices
Chapter 23
Appendices
Appendices
Section 23.1
Compatibility of the OFS server
Definition
OFS is compatible with OPC 1.0A and 2.0.
In particular, the OFS server accepts the notion of a mono-request, mono-PLC synchronous group.
Syntactically, the name of a synchronous group starts with "$" (see The Different Groups of Items,
page 283).
The OFS server is also compatible with the notion of a system group dedicated to a PLC address
and driver pair:
The system groups refer to a given device and are used to manage specific items related to that
device. System groups are distinguished from user groups by their name, which must include the
prefix "_SYS=".
A system group only contains the following specific items starting with "#":
#PLCStatus" for managing the PLC operating mode,
#TimeOut" for managing a communication medium timeout,
#NbrRequest" for ascertaining the number of requests sent to this device.
Specific items and system groups cannot be activated. Notification and asynchronous read/write
are not possible.
Section 23.2
Detected Error codes
Detected Error Codes Defined by OLE, OPC and the OFS Server
General
For information on the code sent, simply run the scoder.exe utility then enter the code and click
"OK".
Section 23.3
Modbus and UNITE Request Codes used by OFS
Description
This is a list of all the request codes used by the OFS server. If your device does not support a
request code, this feature will not be available. If you do not use the feature, the request code WILL
NOT BE generated.
For Modbus devices, even if the request code is supported, the maximum length may not be.
Modbus request codes used by OPC Factory Server:
Request Function name Max. length OFS features using the request code
code (hex) used
01 Read Coil Status 2000 Read of 0x items
02 Read Input Status 2000 Reading 1x items
03 Read Holding Registers 125 Read of 4x items and device detection
(with 0 reg)
04 Read Input Registers 125 Read of 0x items
05 Force Single Coil Write of a single 0x item
0F Force Multiple Coil 800 Write of several 0x items
10 16 Preset Multiple 100 Write of any number of 4x items
Registers
11 Report Slave ID Read of device operating mode
16 Mask Write 4X registers Write of a byte item located in the 4x
area
2A IEC Runtime FC Access to unlocated Concept variables
(read/write)
5A Internal Unity request Access to Unity PLC
7E Modsoft FC Starting / Stopping the device
Request code Function name OFS features using the request code
(hex)
0F Identify Device detection
24 Start Starting the device
25 Stop Stopping the device
33 Initialize Initializing the device
36 Read Object Read of all items on TSX Series 7, S1000
37 Write Object Write of all items on TSX Series 7, S1000
38 Read Object List Read of all items on Premium, Micro
4F Read CPU Device detection and read of the device’s
operating mode on Premium, Micro
5A Internal Unity request Access to Unity PLC
83 Write Generic Object Write of all items on Premium, Micro
FA Mirror Detection of max PDU size
Section 23.4
Recommendations
Recommendations
Location of an Anomaly
Description
The table below shows a number of situations that can be easily avoided. If the suggested solution
is not sufficient, contact Schneider Electric SA support services.
Server In Modbus, the values of the items The base address to be indicated in the alias properties
Push Data defined in the Push Data zone are not should only contain the offset of the address. Therefore,
updated. to indicate a base address in Modbus corresponding to
402000 for example, simply indicate 2000 as the value
in the "Base address" field.
Symbol The symbols from a Concept V2.5 file Make sure the .VAR file is present in the Concept project
cannot be accessed. space. This .VAR file is generated by the Concept
workshop (refer to the product documentation) and
absolutely must exist in order for OFS to be able to
access the symbols.
Glossary
A
Address
Builder name for a PLC variable. For example "%MW1".
Alias
An alias is a shortcut that may be used when a network address for the device is necessary (single
replacement string). The use of an alias is also a very practical way to disconnect your OPC
application from network addresses of devices that may be modified when necessary.
ASP
Active Server Page allows a Web site builder to dynamically create web pages. It supports the
code written in compiled languages such as by Visual Basic, C++, C #, etc.
C
CCOTF
Configuration Change On The Fly.
Client application
Software using the primitives provided by a server application, via mechanisms (interfaces)
implemented by OLE.
CLR
Common Language Runtime is part of the .Net framework. It is the program that controls execution
of programs written in all supported languages allowing them to understand each other. It also
controls the security aspect.
CLS
Common Language Specification allows the user to optimize and ensure the interoperability of
languages by defining all functions that developers may use in numerous languages.
COM
Component Object Model: foundations of the OLE 2.0 standard.
CRA
Communicator Remote Adaptater: drop end communicator.
CRP
Communicator Remote Processor: I/O network head module or bus head communicator.
D
DCOM
Distributed COM: COM model distributed over a TCP-IP network.
F
FIP
Factory Instrumentation Protocol.
FTP
File Transfer Protocol is the standard internet protocol that is used for exchanging files between
computers and the internet.
G
GAC
Global Assembly Cache contains all assemblies necessary for .NET and manages different
versions of assemblies.
H
Handle
Single value identifying the object.
HTML
HyperText Mark-up Language is the language used to describe Web pages.
HTTP
HyperText Transfert Protocol is the protocol used for transferring HTML pages.
I
IDE
Integrated Development Environment is a program that includes a code editor, a compiler, a
detected error analyzer and a graphic interface.
IIS
Internet Information Server is the ftp, Web or HTTP server developed by Microsoft to work under
Windows.
Impersonation
Ability to execute a thread with a different security context than that of the thread’s owner in a
client/server application. When a client contacts a server, the server typically runs with the security
context of some service account that has access to every resource that it might possibly need to
carry out a request.
J
JRE
Java Runtime Environment is a subgroup of the Sun Java development kit that may be embedded
in an application. JRE provides minimum conditions (an environment) for running a Java
application.
L
LCID
Language Code IDentifier.
M
Multi-clients
Several client applications simultaneously access the same server application.
O
OFS
OPC Factory Server: OLE server for exchanging data with the PLC.
OLE
Object Linking and Embedding: object for linking and embedding. In particular supplies the OLE
Automation interface, a technique which enables a server to display the methods and properties
to a client.
OPC
OLE for Process Control.
OPC group
Controls a collection of OPC items, that is a list of PLC variables.
OPC item
PLC variable on a PLC and a given communication medium.
OPC server
Controls a collection of OPC groups. Hierarchical root of the OPC model.
P
PLC
Programmable Logic Controller: programmable controller (industrial).
Primitive
OPC function
R
RCW
Runtime Callable Wrapper: The main function is to group calls between .Net client and the non-
managed COM object.
RDE
Read Data Editor: The OFS RDE is used to display and edit the variables of devices from a table
based on a Java application or window.
Remote server
The client and server application are located on 2 separate stations, linked by the Microsoft TCP-
IP network.
S
Server application
Software presenting the primitives to the client applications, via mechanisms (interfaces)
implemented by OLE.
SOAP
Simple Object Access Protocol a Microsoft protocol using HTTP and XML for information
exchange.
Socket
Communication channel established between the OFS server and one or more PLCs, on a given
communication media. The number of sockets available depends on the communication medium.
SOE
Sequence Of Events.
SP
Service Pack: operating system corrections and upgrades
Symbol
Identifier attributed by a designer to a control system. For example "PUMP". A symbol cannot start
with the prefix ‘%’.
U
UNC
Universal Naming Convention.
V
VB
Visual Basic: consumer language supporting OLE Automation.
VBA
Visual Basic for Applications: Script language using Basic syntax included in the MS-Office Suite.
W
Wintel
Windows/Intel: describes a PC equipped with a 32-bit Windows operating system and an Intel x86
processor.
WSDL
Web Service Description Language provides a basic model in XML format for describing Web
services.
X
XML
eXtensible Markup Language is an derived extensible meta-language used for structuring data.
Index
A configuration
COM, 86
Access
Configuration
Intranet client, 26
DCOM, 52
Local, 22
IIS with Windows 2000/XP, 61
Remote, 22
IIS with Windows 7, Windows Vista, or
SOAP/XML Client, 27
Windows 200x server, 65
addressing
Configuration Tool
X-Way, 365
At a Glance, 97
Addressing modes
Execution, 98
Direct, 369
Consistency
Adjustment
Debugging level, 130, 130
Timeout, 126
consistency
Alias
read, 284
Address, 105
Consistency
Archive, 98
Strict level, 130, 130
Definition, 97
Write, 285
Editing, 104
Consistency level, 117
Management, 171
Properties, 115
anomaly D
solution, 408
Database access, 116
Deadband
C Client application, 141
Cyclic read service, 214
Channels, 119, 120
Mechanism, 140
Client
Value, 141
2000, 53
Default devices, 128
XP, Vista, 200x server, 56
Definition
Communication
Group of items, 221
OFS with PLCs, 20
detected error codes, 405
Communication cable, 31
Device
Compatibility
Dynamic consistency, 117
Drivers, 42
Device address
Previous version of Configuration Tool,
Example, 219
154
Diag buffer
Compatibility
Definition, 312
OFS server, 404
Header information, 333, 354
Concept
Installation, 328, 349
Link, 112, 303
diag buffer
Remote link, 304
management, 346
V
Variables
local, 279
MODSOFT, 276
CONCEPT, 273
Tables, 280
Variables PL7
Grafcet objects, 266
X
X-Way, 106