Traintools PC Communication Engineering: Publication Um5532 (1.0.0)
Traintools PC Communication Engineering: Publication Um5532 (1.0.0)
Traintools PC Communication Engineering: Publication Um5532 (1.0.0)
PID
A/D
RAM
F
GLOBAL
SUPPLIERS
OF
TURBINE
ID
AND
COMPRESSOR
CONTROL
SYSTEMS
TrainTools
PC Communication
Engineering
Web: www.cccglobal.com
© 2002-2005, Compressor Controls Corporation. All rights reserved.
This manual is for the use of Compressor Controls Corporation and is
not to be reproduced without written permission.
Air Miser, Guardian, Recycle Trip, Reliant, Safety On, SureLink, TTC,
Total Train Control, TrainTools, TrainView, TrainWare, Vanguard,
Vantage, WOIS, and the TTC and impeller logos are registered trade-
marks; and COMMAND, TrainPanel, and the Series 5 logo are
trademarks of Compressor Controls Corporation. Other company and
product names used herein are trademarks or registered trademarks
of their respective holders.
The control methods and products discussed in this manual may be
covered by one or more of the following patents, which have been
granted to Compressor Controls Corporation by the United States
Patent and Trademark Office:
4,949,276 5,347,467 5,508,943 5,609,465
5,622,042 5,699,267 5,743,715 5,752,378
5,879,133 5,908,462 5,951,240 5,967,742
6,116,258 6,217,288 6,317,655 6,332,336
6,494,672 6,503,048
Many of these methods have also been patented in other countries,
and additional patent applications are pending.
The purpose of this manual is only to describe the configuration and
use of the described products. It is not sufficiently detailed to enable
outside parties to duplicate or simulate their operation.
The completeness and accuracy of this document is not guaranteed,
and nothing herein should be construed as a warranty or guarantee,
expressed or implied, regarding the use or applicability of the
described products. CCC reserves the right to alter the designs
or specifications of its products at any time and without notice.
TrainTools PC Communication Engineering 3
Document Scope
The TrainTools project development environment is an integrated set of programs
for engineering the human-machine interface of a CCC control system and creating
the application software for Series 5 Reliant and Vanguard Controllers. Central to
this process is the creation of a project database that describes those workstations
and controllers.
The TrainTools Project Builder Program user manual [UM5531] tells how to use
that program to create and manage control system projects.
This manual tells how to use the Project Builder program to define the project data-
base elements that specify the available online and archived process data and tell
TrainTools Workstation programs how to access it:
Chapter 1 introduces the TrainTools project engineering process and the asso-
ciated programs.
Chapter 2 describes the database elements that specify and configure the flow
of information among TrainTools run-time programs.
Chapter 3 tells how to specify the alarm and event and data access servers for
CCC and third-party controllers.
Chapter 4 tells how to specify the data sources and HMI variables of scripts
run by the Script Engine program.
Chapter 5 tells how to specify the data archiving process.
The Archival Data Report Engineering manual [UM5533] tells how to use the
Project Builder and Archive Reporter programs to specify and design tabulated
reports of archived OPC online data.
The Series 5 Control System Engineering manual [UM5535] discusses Project
Builder features and project database elements that are specific to Reliant and
Vanguard Controllers. It also tells how to use the Application Editor and Generator
programs to generate each controller’s downloadable application software.
UM5532 (1.0.0)
4 Contents
Documentation Conventions
The document title appears in the header of each odd-numbered
page, while the chapter or appendix title appears in the header of
even-numbered pages. Odd-page footers list the document number
and revision level [UM5532 (1.0.0)], while even-page footers provide
the publication date (February 2005).
Acronyms are defined in the sections of this manual that discuss the
corresponding subjects, by placing them in parentheses following
the spelled-out terms they represent. As an example, a three-letter
acronym (TLA) is a way to represent a three-word subject by com-
bining and capitalizing the initial letters of those three words. Most
are also listed under Symbols and Acronyms on page 8.
Cross-references to other documents specify a section and chapter,
while cross-references between chapters of this document specify a
page number. References that do not specify a location are internal
to the chapter in which they appear. In computerized versions of this
manual, all such references are hot-linked to their target locations
and appear in green. Entries in the tables of contents, illustration
and table lists, and index are also hot-linked but are not green.
Attention may be drawn to information of special importance by
using this text styling or one of the following structures:
February 2005
TrainTools PC Communication Engineering 5
Table of Contents
Document Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Documentation Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Table of Contents. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
List of Figures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Symbols and Acronyms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Chapter 1 Project Engineering Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Control System Engineering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Project Engineering Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Project Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Default Projects Folder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Chapter 2 Project Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Plant Area Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Control System Resources Branch . . . . . . . . . . . . . . . . . . . . . . . . 15
Project Organization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
TrainTools HMI Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
PC Branches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
PC Elements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
PC Task Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Chapter 3 AE and OPC Data Sources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
OPC Data Access Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Alarm and Event Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
OPC and AE Server Branches. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
OPC Server Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
OPC Server Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
AE Server Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
AE Server Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Series 5 OPC Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
S5 MPU Branches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Alarm and Event Function Blocks. . . . . . . . . . . . . . . . . . . . . . . . 33
Generic Controller Branches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Data Tags. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Controller Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Controller Folders. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Controller Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Controller Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Controller Alarm Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Generic Controller AE Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
UM5532 (1.0.0)
6 Contents
February 2005
TrainTools PC Communication Engineering 7
List of Figures
Figure 1-1 Simplified Diagram of Control System Data Flow . . . . . . . . . . . . . . . . 9
Figure 1-2 TrainTools Project Engineering Environment. . . . . . . . . . . . . . . . . . . 11
Figure 2-1 Project Database Top-Level Elements. . . . . . . . . . . . . . . . . . . . . . . . 13
Figure 2-2 Project Database Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Figure 2-3 Control System Resource Elements . . . . . . . . . . . . . . . . . . . . . . . . . 15
Figure 2-4 Alternate Organizations for an FCCU Project Tree . . . . . . . . . . . . . . 16
Figure 2-5 TrainTools Run-Time HMI Components . . . . . . . . . . . . . . . . . . . . . . 17
Figure 2-6 PC Branch Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Figure 3-1 TrainTools Client Data Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Figure 3-2 OPC Online Data Access. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Figure 3-3 TrainTools Alarm and Event Communication. . . . . . . . . . . . . . . . . . . 23
Figure 3-4 Example Alarm and Event Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Figure 3-5 OPC/DA and AE Server Database Elements. . . . . . . . . . . . . . . . . . . 25
Figure 3-6 Series 5 Controller Database Branches. . . . . . . . . . . . . . . . . . . . . . . 30
Figure 3-7 S5 MPU Child Elements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Figure 3-8 S5 Function Child Elements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Figure 3-9 Generic Controller Child Elements. . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Figure 3-10 Typical Series 3 Plus Controller Branch. . . . . . . . . . . . . . . . . . . . . . . 41
Figure 3-11 Typical Series 4 Controller Branch. . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Figure 4-1 TrainTools Script Engine Communication . . . . . . . . . . . . . . . . . . . . . 45
Figure 4-2 Script Engine Elements of Project Database . . . . . . . . . . . . . . . . . . . 46
Figure 5-1 TrainTools Data Archiving System. . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Figure 5-2 Archival Process Configuration Elements . . . . . . . . . . . . . . . . . . . . . 60
Figure 5-3 Archival Communication Data Groups . . . . . . . . . . . . . . . . . . . . . . . . 61
Figure 5-4 Archived Alarm and Event Sources . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Figure 5-5 Critical Event Branch of ADaM Element . . . . . . . . . . . . . . . . . . . . . . 69
UM5532 (1.0.0)
8 Contents
February 2005
TrainTools PC Communication Engineering 9
UM5532 (1.0.0)
10 Chapter 1: Project Engineering Overview
February 2005
TrainTools PC Communication Engineering 11
Project Builder
Project Database
UM5532 (1.0.0)
12 Chapter 1: Project Engineering Overview
Project Security All programs that modify the project database require users to log
on by providing a name and password from the TrainTools accounts
database of the workstation on which that database is stored. Each
account is assigned an access level that governs the corresponding
user’s ability to create or modify control system projects:
• Guests and Operators can examine but not change projects.
• Engineers and Managers can also change or reconfigure a con-
trol system and its operator interface, but cannot create them or
save and restore backups and revisions.
• Administrators have unrestricted rights to create, modify, and
manage control system projects and the accounts database.
Accounts are managed by the Administrator program, as described
in Chapter 3 of the TrainTools Getting Started user guide [UM5500].
February 2005
TrainTools PC Communication Engineering 13
Project element
UM5532 (1.0.0)
14 Chapter 2: Project Database
Panels branch
Plant Area Each Plant Area element has only Label and Description properties,
and any or all of the following children:
Elements • one Control System Resources element, whose children specify
TrainTools HMI programs and their information sources (see
Control System Resources Branch on page 15);
• one Equipment and Instruments element, whose children
describe the field instruments and control elements connected
to the plant area’s Series 5 Controllers (see Equipment and
Instrument Branch in Chapter 3 of UM5535);
• one Panels element, whose Panel element children describe
racks or enclosures for the plant area’s Series 5 Controllers
(see Panels Branch in Chapter 2 of UM5535); and
• child Plant Areas (see Project Organization on page 16).
To add a Plant Area branch to the project database:
Step 1: Right-click on the project or an existing plant area element,
move the mouse cursor over the Add Element command, and
select Plant Area from the resulting submenu to display the
Plant Area properties dialog:
February 2005
TrainTools PC Communication Engineering 15
Control System The Control System Resources element of each plant area has no
Resources properties but can have any of the following child elements, which
Branch represent TrainTools HMI programs and their information sources:
• PC branches specify TrainTools Workstation communication,
data archiving, and operator interface tasks (see TrainTools
HMI Components on page 17).
• All other branches specify the available HMI variables of CCC
and third-party process control devices and the addressing
information TrainTools Workstations need to access them:
• The properties and children of Controller elements provide the
information clients of Series 3 Plus, Series 4, Modbus, and
third-party OPC/DA servers need to access the HMI variables
of the corresponding types of controllers (see Chapter 3).
• S5 Reliant and S5 Rack branches of the tree not only provide
data addressing information for Series 5 OPC Server clients,
but also specify the structure of Series 5 Controller application
programs and their field inputs and outputs.
Project database elements that represent components of a
Series 5 Control System are discussed briefly in the Series 5
OPC Program section of Chapter 3. Series 5 specific project
development topics are discussed in detail in the Series 5
Control System Engineering manual [UM5535].
UM5532 (1.0.0)
16 Chapter 2: Project Database
Unit 1 Unit 1
Control System Resources Control System Resources
controllers for the overall entire control system
operation of the FCCU for FCCU-1
Equipment & Instruments Equipment & Instruments
instrumentation for the instrumentation for
FCCU as a whole FCCU-1 as a whole
PR Train 1 PR Train 1
Control System Resources Equipment & Instruments
PRT-1 specific PRT-1 specific
controllers instrumentation
Equipment & Instruments Steam Turbine 1
PRT-1 specific Equipment & Instruments
instrumentation
ST-1 specific
Steam Turbine 1 instrumentation
Control System Resources
turbine-specific
controllers
Equipment & Instruments
turbine-specific
instrumentation
Figure 2-4 Alternate Organizations for an FCCU Project Tree
Project Because plant areas can be nested and control system resources
Organization can be defined at a different level than the equipment they control,
the project organization can duplicate that of the plant it will serve.
For example, a plant might be divided into units, each with its own
control room and control system, but its equipment and instruments
might be divided into several trains or process areas.
As a more specific example, a plant might include a fluidized-bed
cat cracker unit (FCCU) with a power recovery train (PRT) consist-
ing of several individual machines. The instruments and controllers
could all be defined at multiple levels, as shown in the left-hand
panel of Figure 2-4. Or, the entire control system could be defined at
the unit level, while the associated transmitters and transducers
could be defined at the unit, train, and machine levels, as shown in
the right-hand panel of that illustration.
February 2005
TrainTools PC Communication Engineering 17
TrainTools Workstations
Project Database
UM5532 (1.0.0)
18 Chapter 2: Project Database
PC Branches The TrainTools programs each workstation might run are specified
by plant area PC branches:
• Each PC element specifies the network ID of a particular Train-
Tools workstation and has one or more PC Task children with
no properties other than their labels.
• The children of each PC Task configure the operation of various
TrainTools client programs. However, the information provided
by each such element is not necessarily used by programs run-
ning on the computer represented by the parent PC element.
In other words, each workstation does not necessarily run all of the
programs configured by the corresponding PC branch, and some of
those programs might actually be run by other computers:
• Each server program is automatically launched the first time a
client tries to connect to it, and subsequently operates under the
direction of its clients:
• OPC and AE Server Branches (see page 25) only provide the
information TrainTools clients running on the same or other
workstations need to access their run-time data. Because this
includes the computer’s network ID, these elements must be
nested in PC branches representing their host computers.
February 2005
TrainTools PC Communication Engineering 19
PC element
PC Task elements
AE Server elements
ArcCom element
Reporter elements
TrainView element
UM5532 (1.0.0)
20 Chapter 2: Project Database
Step 2: Type the IP address or network name of the PC that will host
any nested AE, OPC, and archival data servers into the Network
ID field.
Step 3: Type the required element Label and optional Description,
then click on the OK button to create the specified PC element.
Each newly created PC element includes a default task named OIS
that includes one OPC Server, one ArcCom, and one TrainView
child, any of which can be deleted. You can additional OPC Servers,
one Script Engine, and multiple AE Server and Reporter elements to
that task. All retained or added children must be further defined as
discussed in subsequent chapters.
February 2005
TrainTools PC Communication Engineering 21
Series 5 Series 5
Controllers OPC Program
Series 4 Series 4 Script Engine
Controllers OPC Program Program
Alarms
Series 3 Plus Series 3 Plus Generic Controller and
Controllers OPC Program AE Server Program Events
Modbus Modbus
Slave Devices OPC Program OPC Online Data
Other Third-Party TrainTools
Controllers OPC Servers Clients
UM5532 (1.0.0)
22 Chapter 3: AE and OPC Data Sources
Data Groups
Controller
HMI Variables Data Items
Data Tags
OPC Data The OPC Online Data Access protocol specifies standard methods
Access Servers that client programs can use to read and set control program HMI
variables via an intermediate server program:
• In order to connect to a server running on the same computer, a
client only needs that server’s Windows program ID. To connect
to a server running on a different PC, the client also needs to
know that computer’s Windows network ID.
• In order to access a particular variable, the client must provide
an identifying character string referred to as the variable’s Data
Tag or ItemID. The tags for all available variables comprise the
server’s Namespace (also known as its Address Space).
• Variables are not individually accessible by clients. Instead, the
client instructs the server to maintain Data Groups that consist
of Data Items specified by supplying the tags of the desired con-
troller variables. For example, a group might include items for all
of a display screen’s process variables.
• Each Data Group has a standard set of properties, including
its Name, Update Rate, and Percent Deadband.
• Each Data Item has a value, quality, and timestamp, and can
have various other properties.
• A client can subscribe to any group, in which case that group’s
server will report any changes to its items at intervals specified
by its Update Rate.
February 2005
TrainTools PC Communication Engineering 23
Alarm and Event Abnormal conditions (alarms) and operational changes (events) are
Servers also communicated using client-server methods:
• TrainWare programs post alarm and event notices to their con-
trollers’ Notification Object Service (NOS), which are retrieved
and converted into AE messages by the Series 5 OPC Program
(see page 30).
• Generic Controller AE Server programs create AE messages
that are triggered by boolean data items from other types of
OPC/DA servers (see page 40).
• Script Engine scripts create AE messages that can be triggered
by OPC data items of any type (see page 57).
• The AE server component of each of those programs sends
every AE message it creates to all of its clients.
Each such message includes a wealth of information about the con-
dition that triggered it:
Status: Events have four possible states:
0 : clear (condition does not exist)
1 : active (condition does exist)
4 : re-enabled
5 : disabled
Alarms have six possible states:
0 : clear (corrected and acknowledged, or not detected)
1 : active (neither corrected nor acknowledged)
2 : acknowledged (but not corrected)
3 : unacknowledged (but corrected)
4 : re-enabled
5 : disabled
Timestamp: The time at which the status most recently changed (set
by PC except for messages from Series 5 Controllers).
UM5532 (1.0.0)
24 Chapter 3: AE and OPC Data Sources
February 2005
TrainTools PC Communication Engineering 25
AEServer element
AEServerFunction elements
Reference
OPCServer element
OPCServerFunc elements
Reference
UM5532 (1.0.0)
26 Chapter 3: AE and OPC Data Sources
February 2005
TrainTools PC Communication Engineering 27
OPC Server The resulting OPC Server element will have one OPCServerFunc
Functions child element named Connection that must then be connected to a
controller resource. There are three ways to do so:
• Right-drag a Controller element or S5 MPU child of an S5 Rack
or S5 Reliant element to that server function, release the mouse
button, and select Connect from the resulting shortcut menu.
• Open an explorer table for two or more Controller or S5 MPU
elements, then right-drag the desired row to the server function,
release the mouse button, and select Connect.
• Right-click on the server function and select Properties to dis-
play the properties dialog box illustrated below, then select the
desired Controller or MPU from its Resource menu. However, if
your project includes multiple Vanguard or Reliant Controllers
whose S5 MPU children have not been renamed, you will be
unable to tell them apart.
More than one controller resource can be connected by adding
additional OPCServerFunc elements:
Step 1: Right-click on the intended parent OPC Server element,
move the mouse cursor over the Add Element command and
select OPCServerFunc from the resulting submenu to display
the following properties dialog.
Step 2: You can select the associated controller from the Resource
menu, or leave that field blank and establish the connection
later using one of the drag-and-drop methods described above.
Step 3: Specify the required Label (which is displayed in the project
tree) and optional Description, then click on the OK button.
You can break the association of a controller resource with an OPC
Server by:
• right-clicking on the connection reference of its OPCServer
Func element and selecting Delete, or
• right-clicking on that server function element and selecting
Delete (which will remove that element from the project).
UM5532 (1.0.0)
28 Chapter 3: AE and OPC Data Sources
February 2005
TrainTools PC Communication Engineering 29
Step 2: You can select a data source from the Resource menu, or
leave that field blank and establish the connection later using
one of the drag-and-drop methods described above.
Step 3: Specify the required Name (which is displayed in the project
tree) and optional Description, then click on the OK button.
You can break the association of a data source and AE Server by:
• right-clicking on the connection reference of its AEServer Func-
tion element and selecting Delete, or
• right-clicking on that server function element and selecting
Delete (which will remove that element from the project).
UM5532 (1.0.0)
30 Chapter 3: AE and OPC Data Sources
S5 Rack element
S5 MPU branch
S5 Reliant element
S5 MPU branch
Series 5 OPC The data that are available from Series 5 Vanguard and Reliant
Controllers are specified by the S5 MPU branches of their S5 Rack
Program and S5 Reliant CSRs, and accessed via the S5_OPC and S5_AES
components of the Series 5 OPC program:
• The information clients need to access the OPC data of such
controllers is provided by adding OPC Server elements to PC
Tasks, setting their Server IDs to TrainTools.S5_OPC, and con-
necting their server functions to those S5 MPUs.
• The information clients need to access the alarms and events of
such controllers is provided by adding AE Server elements to
PC Tasks, setting their Server IDs to TrainTools.S5_AES, and
connecting their server functions to those S5 MPUs.
Both of those servers are provided by the Series 5 OPC Server pro-
gram, which provides access to all configuration parameters, status
variables, commands, alarms, and events of the connected Series 5
Controllers. That program’s operation is described in detail by the
Series 5 OPC Server user manual [UM5505].
Each Series 5 Controller’s branch of the project not only defines its
available run-time data, but also the functionality and structure of its
application software. That information is converted to downloadable
software using the TrainTools Application Editor and Application
Generator programs, as described in the Series 5 Control System
Engineering manual [UM5535].
February 2005
TrainTools PC Communication Engineering 31
S5 MPU element
S5 Signal elements
S5 Task elements
S5 Program elements
S5 Function elements
S5 MPU The children of each S5 MPU element (see Figure 3-7) define the
Branches control functions and HMI variables that controller will provide:
• The S5 Signal children of the S5 Signal List element specify the
field conditions the controller can monitor and the final control
elements it can manipulate:
• Each input signal type defines a function block that can filter,
select, scale, invert, alarm, and/or simulate signals from one
or more input circuits and report the value and status of the
corresponding field condition via a structured output variable.
• Each output signal type defines a function block that can
disable, invert, and/or simulate a control block output, pass
the result to an output circuit, and post alarms for that circuit.
The available IO processing blocks are described in the Series
5 Controller Operation and Configuration manual [UM5402].
OPC clients can monitor the value of any S5 Signal that has
been connected to a control program input or output, and can
also monitor unused inputs and set unused outputs that have
been set up for OPC Client Access (see Chapter 3 of UM5535).
For analog inputs, only the transmitter engineering units value
(real_PV) is accessible.
• The S5 Task elements define the scan rates at which control
programs can run, while their S5 Program branches define the
programs that will run at those speeds. Only the three default
tasks are allowed (see MPU Branch in Chapter 2 of UM5535).
• Each S5 Program has a single S5 Function List element that
has no properties and appears in the project tree as a folder
named Functions. The S5 Function children of that list specify
that program’s standard or custom function blocks.
UM5532 (1.0.0)
32 Chapter 3: AE and OPC Data Sources
S5 Function element
S5 Command elements
S5 Function elements
S5 Function IO elements
Every S5 Function has the following six children, each of which has
no properties and appears in the project tree as a folder with the
indicated name:
• an S5 Alarm and Event List element named Alarms and Events,
whose children identify the parent’s Alarm and Event Function
Blocks and provide data tags for their HMI variables;
• an S5 Command List element named Commands, whose chil-
dren provide data tags for the parent’s command variables;
• an S5 Config List element named Config, whose children pro-
vide data tags for the parent’s configuration parameters;
• an S5 Function List element named Functions, which will have
no children if the parent is a standard TrainWare application;
• an S5 Function IO List element named IO, whose children pro-
vide data tags for the parent’s input and output variables; and
• an S5 Function Status List element named Status, whose chil-
dren provide data tags for the parent’s status variables.
AE clients can acknowledge all Alarms and enable or disable all
Alarms and Events, while OPC clients can access all Command,
Config, IO, and Status variables.
February 2005
TrainTools PC Communication Engineering 33
Alarm and Event As discussed in Chapter 2 of the Series 5 Controller Operation and
Function Blocks Configuration manual [UM5402], each alarm or event that a Series 5
Controller can post is managed by an alarm or event function block.
Whenever such a block’s state variable changes, it posts a record to
the controller’s Notification Server (NOS) that includes:
• the values of its state and index variables and the time at which
the state variable changed, and
• the value of its handle variable.
Each NOS record is passed to any connected Series5 OPC Server
program, which uses its handle value to retrieve the alarm or event’s
extended attributes from the controller’s AE Definitions transit file.
That program then creates an alarm or event message that includes
that extended information and sends it to all clients connected to its
S5_AES server component.
If any client acknowledges an alarm, the server changes the value
of the associated controller function block’s ackn variable. Enabling
or disabling an alarm or event will similarly change the associated
controller function block’s disable variable.
UM5532 (1.0.0)
34 Chapter 3: AE and OPC Data Sources
Controller element
Generic The data available from all devices other than Series 5 Controllers
are specified by Controller elements and accessed via OPC servers
Controller of the appropriate types (see Other OPC Servers on page 41). Each
Branches such resource can have the following children:
• Controller Alarm Variables (see page 38) define alarm and
event messages that will be posted by the Generic Controller
AE Server (see page 40) as connected boolean OPC data items
are set and cleared.
• All other Controller Variables (see page 37) define OPC data
items that are ignored by that AE Server.
• Controller Folders (see page 36) and Controller Functions (see
page 37) are used to represent hierarchical NameSpaces and
define their fully-qualified DataIDs (see Data Tags on page 35).
TrainView objects can be connected to Controller functions but
not to Controller Folders.
Controller Folder branches can be imported from Series 4 Controller
configuration (CF4) and TrainView 1 database (TV1) files. You can
also copy and paste Series 3, Series 3 Plus, and Series 4 Controller
branches from the corresponding standard project templates.
February 2005
TrainTools PC Communication Engineering 35
Data Tags Hierarchies of controller, folder, function, and variable elements are
used to specify the fully-qualified ItemIDs for server variables:
CommAddresses
• Each element has a CommName property. By default, it will be
the same as that element’s Label with an appended period. If
you override that default, any desired periods must be explicitly
included. The CommName can be a null string (no characters).
• Each item’s data tag is provided by its CommAddress property,
which is formed by appending its CommName to those of all
folders and functions it is nested within. For example, if a vari-
able with the CommName “EGT1” was nested in a folder with
the CommName “Turbine2.”, a TrainTools client would provide
the CommAddress “Turbine2.EGT1” when asking the server to
create a data item for it.
Neither the Label nor Access Path property of the parent Controller
element is included in any variable’s CommAddress.
UM5532 (1.0.0)
36 Chapter 3: AE and OPC Data Sources
February 2005
TrainTools PC Communication Engineering 37
Controller Each Controller Variable element defines the data tag and other
Variables properties a client would need to access a device variable. To add
such an element to a generic Controller resource:
Step 1: Right-click on a Controller, Controller Folder, or Controller
Function element, move the cursor over the Add Element com-
mand and select Controller Variable to display this dialog:
UM5532 (1.0.0)
38 Chapter 3: AE and OPC Data Sources
Controller Alarm Each Controller Alarm Variable element specifies the alarm or event
Variables messages that a Generic Controller AE Server (see page 40) would
post as a connected boolean OPC data item is set and cleared.
To add an alarm variable to a generic Controller resource:
Step 1: Right-click on the intended parent Controller, Controller
Folder, or Controller Function element, move the mouse cursor
over the Add Element shortcut command and select Controller
Alarm Variable to display the following properties dialog:
February 2005
TrainTools PC Communication Engineering 39
Step 3: If you typed the controller variable’s tag (ItemID) into the
Label field, leave the Same As Label box checked. Otherwise,
uncheck it and type that tag into the CommName field.
Step 4: Select Alarm or Event from the Library Type menu to specify
the type of messages the GC_AES program should post for this
variable, then click on the Settings tab to display its fields:
These fields define the messages that will be posted for this
variable (see Alarm and Event Servers on page 23).
Step 5: Select the Priority and Group from those fields.
Step 6: Select Primary from the Language menu, then enter the
Source, Destination, and message Text strings a client should
display when set to use that language:
• Event Text On and Text Off messages are posted when the
associated data item is set or cleared, respectively.
• Alarm Text On messages are posted when the associated
data item is set or cleared or the alarm is acknowledged,
enabled, or disabled.
Step 7: Select Secondary from the Language menu, then enter the
Source, Destination, and message Text strings a client should
display when set to use that language.
Step 8: Click on the OK button to create the specified variable.
UM5532 (1.0.0)
40 Chapter 3: AE and OPC Data Sources
February 2005
TrainTools PC Communication Engineering 41
Other OPC The information needed to access data from Series 3 Plus, Series 4,
Modbus, and third-party OPC servers is provided by adding OPC
Servers Server Elements (see page 26) of the corresponding types and
connecting their OPC Server Functions (see page 27) to Generic
Controller Branches (see page 34) that define their available data.
Series 3 Plus and The Series 3 Plus OPC program provides access to all Modbus data
Series 3 Controllers points and some configuration parameters of the connected Series
3 and Series 3 Plus Controllers, as well as a few variables it calcu-
lates from those parameters and data.
The connection information for such servers is provided by OPC
Server elements whose Server IDs are set to TrainTools.S3p_OPC.
To create a Series 3 Plus Controller data item, an OPC client must
provide a fully-qualified ItemID of the form COM#.ID.tag, where:
COM# : the PC serial port the controller is connected to
ID : the controller’s Computer ID parameter value
tag : the OPC tag of the desired variable as indicated
on the OPC Data data sheet for its controller
Each variable’s tag is provided by the CommName property of its
project element. The remaining ItemID fields can be provided by
creating the tree structure shown in Figure 3-10 and setting the
CommName property of each element as follows (be sure to include
all indicated periods):
parent : null string
controller : serial port and ComputerID (COM#.ID.)
group : null string
The S3P template in the TrainTools\Lib\BaseLib\Project Templates
folder includes function branches for the standard Series 3 Plus
controllers that conform to this structuring convention. After copying
them to appropriate parent folders, you only need to set the AFM
and folder CommNames as indicated above.
UM5532 (1.0.0)
42 Chapter 3: AE and OPC Data Sources
Series 4 The Series 4 OPC program provides access to all parameters of the
Controllers connected Series 4 Controllers. Its operation is described in detail
by the Series 4 OPC Server user manual [UM5504].
The connection information for such servers is provided by OPC
Server elements whose Server IDs are set to TrainTools.S4_OPC.
To create a Series 4 data item, an OPC client must provide a fully-
qualified ItemID of the form COM#.G.M.App.db_name, where:
COM# : the PC serial port the AFM is connected to
G.M : the AFM’s Group.Module address
App : the control program’s application number
db_name : the database name of the desired variable
Each variable’s db_name is provided by the CommName property
of its project element. The remaining ItemID fields can be provided
by creating the tree structure shown in Figure 3-11 and setting the
CommName property of each element as follows (be sure to include
all indicated periods):
chassis : null string
AFM : serial port, group, and module (COM#.G.M.)
application : application number (0. to 3.)
group : null string
The S4 template in the TrainTools\Lib\BaseLib\Project Templates
folder include AFM branches for the standard Series 4 application
packages that conform to this structuring convention. After copying
them to appropriate chassis elements, you only need to set the AFM
and chassis CommNames as indicated above.
Those templates also include a Script Engine Branch (see page 46)
named Alarm Generator whose scripts retrieve alarms and events
from the Series 4 Controller alarm and history buffers and post
appropriate messages to TrainTools AE clients.
February 2005
TrainTools PC Communication Engineering 43
Modbus Slaves Data from Modbus slave devices can be accessed via the Modbus
OPC program. To do so, you must:
• create a Modbus OPC program configuration file defining the
available data of each connected slave,
• use Project Builder to duplicate that server namespace as a
Controller branch of the project database, and
• add an OPC Server element with the Server ID TrainTools.
Modbus and an OPC server function connected to the Control-
ler element representing the Modbus OPC Server’s namespace.
The hierarchical NameSpace of this server requires clients to pro-
vide fully-qualified ItemIDs of the form Device.[Group.]tag, where:
Device : a server variable specifying the slave’s Modbus
ID number, the PC serial port it is connected to,
and its communication parameters
Group : one or more optional address space levels
tag : a server variable providing the offset of a specific
coil, discrete bit, or register of the specified device
When duplicating the server’s namespace to the project tree, the
usual practice is to:
• create a Controller element representing all connected slaves;
• create a Controller Function element representing each device,
setting its Label equal to the device name and leaving the Same
As Label option set;
• create a Controller Folder element representing each group,
setting its Label equal to the group name and leaving the Same
As Label option set; and
• create a Controller Variable or Alarm Variable for each discrete
bit, coil, and register, setting its Label equal to that data point’s
tag and leaving the Same As Label option set.
UM5532 (1.0.0)
44 Chapter 3: AE and OPC Data Sources
Third-Party OPC Although few control devices implement OPC data access as a
Servers native communication protocol, third-party programs are available
that provide data access using various intermediate protocols.
TrainTools clients should be able to communicate via any server
that complies with the OPC DA 1.0 and 2.0 standards, but such
compatibility can not be guaranteed without being tested.
Depending on their specific requirements, such third-party programs
might be run on the same PCs as the TrainTools server programs or
on separate computers. Either way, elements providing the informa-
tion needed to access their data must be added to the project tree:
• OPC Server Elements (see page 26) must be added providing
the information clients need to connect to such servers, and
• Generic Controller Branches (see page 34) defining their avail-
able data must be connected to those server elements via their
child OPC Server Functions (see page 27).
If the third-party server will run on a TrainTools Workstation, its OPC
Server element should be added to a PC Task in that workstation’s
PC resource. Otherwise, you can create a separate PC resource for
that program’s host computer, or add its OPC Server element to the
PC resource for a TrainTools Workstation but specify its actual PC’s
Network ID via the OPC Server’s Remote Computer property:
Unless that server program has been installed on the computer you
are using to run the Project Builder program, its program ID will not
be listed in the Server ID menu of the above dialog. You would then
need to ascertain that program ID in some other fashion (perhaps
from its documentation or by using an interactive client to connect to
it) and type it into the Server ID field.
The NameSpace of each such server, which must be duplicated to a
Controller resource, can also be determined from its documentation
or by browsing that NameSpace using an interactive client.
February 2005
TrainTools PC Communication Engineering 45
TrainTools Workstation
Internal
OPC Servers
AE
External OPC Script Server
OPC Servers Client Engine OPC
TrainTools
Server Clients
Visual Basic Scripts
External
OPC Clients
Overview The Script Engine program periodically runs custom Visual Basic
scripts that update OPC data items and post alarms and events
based on data obtained from other OPC servers. It includes three
client/server components (see Figure 4-1) that are described by
separate but interconnected branches of the project:
• an OPC client through which its scripts can access data items
from any available OPC server, as specified by that task’s Script
Engine Branch;
• an OPC server through which TrainTools and third-party clients
can access script HMI variables, which are accessed using
information specified by that task’s SE OPCServer Branch; and
• an AE Server that posts TrainTools alarms and events triggered
by boolean script variables, which are accessed using informa-
tion specified by that task’s SE AEServer Branch.
When an OPC or AE client subscribes to data from the correspond-
ing Script Engine server, it identifies the project database elements
that configure the calculation of that information (see Script Variable
OPC Data Tags on page 55). The Script Engine program is started
automatically (if not already running), then connects to the informa-
tion sources of and runs the scripts specified within that PC Task.
UM5532 (1.0.0)
46 Chapter 4: Script Engine Program
SE Script elements
SE Function elements
SE Function elements
February 2005
TrainTools PC Communication Engineering 47
Script Engine Each PC Task can include only one Script Engine branch. To add
Element such a child to a PC Task element:
Step 1: Right-click on that PC Task element, move the cursor over
the Add Element shortcut command and select Script Engine to
display the following dialog:
Step 3: Select this Script Engine’s default data source and client
data group from the OPC Connection and OPC Group menus.
Step 4: Click on the OK button to add the specified Script Engine
element to the project database.
UM5532 (1.0.0)
48 Chapter 4: Script Engine Program
OPC Client When asking a server to create a data group, an OPC client can
Groups specify several group properties including a desired Update Rate
and Percent Deadband. For TrainTools clients, those properties are
set by connected OPCClientGroup elements.
The OPC Groups (OPCClientFunc) element of each newly created
Script Engine branch includes OPCClientGroup elements named
Fast and Slow. The default Update Rate properties for these groups
are 100 and 1000 milliseconds, respectively, while their default
Percent Deadband properties are both zero.
To specify additional sets of data group properties:
Step 1: Right-click on the OPC Groups element, move the mouse
cursor over the Add Element shortcut command and select
OPCClientGroup to display the following properties dialog:
Step 3: Type the data group Update Rate and Percent Deadband
property values in the Scan Rate and Deadband fields, then
click on the OK button.
The dialog does not allow you to set the other properties that can be
defined for an OPC data group because they are not implemented
by TrainTools OPC servers. When configuring a script to use data
from third party servers, those properties can be set via client group
explorer tables.
February 2005
TrainTools PC Communication Engineering 49
SE Script Each of the programs the Script Engine will run is represented by an
Branches SE Script element, whose Timeout property specifies how often its
functions are executed.
To add an SE Script element to a Script Engine branch:
Step 1: Right-click on that intended parent element, move the cursor
over the Add Element shortcut command and select SE Script
to display the following dialog:
UM5532 (1.0.0)
50 Chapter 4: Script Engine Program
SE Functions The functions each script will execute are specified by SE Function
elements, which can be nested to define script object hierarchies.
To add an SE Function element to an SE Script or SE Function:
Step 1: Right-click on the intended parent element, move the cursor
over the Add Element command and select SE Function to dis-
play the following dialog:
February 2005
TrainTools PC Communication Engineering 51
UM5532 (1.0.0)
52 Chapter 4: Script Engine Program
SE Variables Each SE Variable element defines a script variable that can be read
or set by Script Engine OPC Server clients.
Each can optionally be connected to an OPC server data item,
either via the Connection tab of its properties dialog or using drag-
and-drop techniques. If it is, the script variable will be read from
and/or written to that data item as specified by its Direction property:
IN/OUT : Script variable will change if OPC data item does,
and changes calculated by the script are written
back to that data item
IN : Script variable will change if OPC data item does,
but changes calculated by the script are not writ-
ten back to that data item
OUT : Script variable changes calculated by the script
are written to the OPC data item but its server
value is never read
To define a script variable:
Step 1: Right-click on the intended SE Function parent, move the
cursor over the Add Element command and select SE Variable
to display the following dialog:
February 2005
TrainTools PC Communication Engineering 53
Step 9: Select the desired variable type from the Native Type field.
For numeric variables, you should also:
• specify a range via the Min and Max fields,
• type the engineering units label that clients should display for
this variable into the EU field, and
• specify the number of digits that clients should display after
the decimal point in each floating-point variable’s value via the
Precision field (1 for #.#, 2 for #.##, and so on).
Step 10: If you have or will connect the variable to an OPC data
item, select its Direction from that menu.
Step 11: Click on the OK button to create the specified variable.
UM5532 (1.0.0)
54 Chapter 4: Script Engine Program
These fields define the messages that will be posted for this
variable (see Alarm and Event Servers on page 23).
Step 4: Select the Priority and Group from those fields.
February 2005
TrainTools PC Communication Engineering 55
Step 5: Select Primary from the Language menu, then enter the
Source, Destination, and message Text strings a client should
display when set to use that language:
• Event Text On and Text Off messages are posted when the
variable is set or cleared, respectively.
• Alarm Text On messages are posted when the variable is set
or cleared or the alarm is acknowledged.
Step 6: Select Secondary from the Language menu, then enter the
Source, Destination, and message Text strings a client should
display when set to use that language.
Step 7: To leave this item unconnected, click the OK button. Other-
wise, click the Connection tab to connect this AE variable to a
boolean data item from another OPC server the same way you
would connect an SE Variable (see page 52).
Script Variable When an OPC client subscribes to a Script Engine data item, it must
OPC Data Tags identify the corresponding hierarchy of project database elements
so that program will know how to calculate the requested variable.
This information is incorporated into the data tag it submits to the
server, which must be of the form:
ProjName!ProgName.ScriptName.FuncName.VarName
where
ProjName : is the project folder, which must be within the
Default Projects Folder (see page 12)
ProgName : is the Script Engine element
ScriptName : is the SE Script element
FuncName : is the SE Function element (repeated if the parent
function is nested in another)
VarName : is the SE Variable or Alarm Variable element
The required tag for any particular variable can be determined by
opening an explorer table for its SE Variable or SE Alarm Variable
element and viewing the CommAddress property:
The above example lists the tag for the boolean OPC data item that
triggers an alarm specified by the Level_High alarm variable of the
Tank_Level function of the Computed Variables script defined within
a script engine branch named Script Engine within the Acme_Gas
project database.
UM5532 (1.0.0)
56 Chapter 4: Script Engine Program
February 2005
TrainTools PC Communication Engineering 57
UM5532 (1.0.0)
58 Chapter 4: Script Engine Program
February 2005
TrainTools PC Communication Engineering 59
OPC OPC
Data Servers Client
Source
Programs AE AE ArcCom
Servers Client Program
Archive
Client
Archival
Archive
Data Server
Manager Archive Archive
Client Reporter
UM5532 (1.0.0)
60 Chapter 5: Archival Data System
ArcCom element
ADaM element
ArcChannel elements
ArcCEChannel element
ArcCriticalEvent elements
ArcMSGChannel element
server references
ArcTagGroup elements
OPCClientFunc element
OPCClientGroup elements
February 2005
TrainTools PC Communication Engineering 61
ArcCom element
ADaM element
ArcTagGroup elements
ArcTagGroup elements
ArcTag elements
data item reference
server reference
properties reference
OPCClientFunc element
OPCClientGroup elements
If you do delete the ArcCom branch from that task, you can add a
new one to any PC Task element by right-clicking on it and selecting
ArcCom from the resulting shortcut menu. Because the ArcCom
element has no properties, this process displays no dialog box.
To test the operation of a data archiving process, right-click on its
ArcCom element and select Run ArcCom from the resulting menu.
A production workstation’s archiving task is usually launched by a
batch file or program shortcut that uses Command Arguments (see
Appendix B of UM5500) to specify the governing ArcCom branch.
Changes to this branch of the database will not take effect until Arc-
Com and ADaM are restarted.
UM5532 (1.0.0)
62 Chapter 5: Archival Data System
Tagged Data OPC data items are recorded in various archival data files that are
Channels represented by the project database’s ArcChannel elements. Each
channel element has the following properties:
• Its Resolution property sets the minimum interval at which data
item changes are recorded. At the end of each such interval, a
record is added for each item that changed. Each record identi-
fies the item, its new value, and the time at which it changed as
a multiple of the resolution. For example, if the channel’s resolu-
tion is one second, each record will indicate when that change
occurred in seconds since the file was created.
If an item changes more than once during any given interval,
only the first change is recorded. For example, when recording
an item whose OPC data group is updated at 50 millisecond
intervals to a channel with a 100 millisecond resolution, two
changes could be received during any given interval.
On the other hand, no entries will be recorded for intervals in
which no change is received. For example, if an item whose
data group is updated at 500 millisecond intervals is recorded to
a channel with a 100 millisecond resolution, changes will be
recorded in at most one out of every five intervals.
• Its Chunk Length property specifies the intervals at which new
files are created for that channel, while its Length specifies how
long each such file will be retained (for example, twelve hours).
The Length is an integer multiple of the Chunk Length, and the
number of files maintained for a channel will be one more than
that integer. For example, if the Length is twelve hours and the
chunk length is one, thirteen files will be maintained. The new-
est will contain data for the current hour. At the end of that hour,
it is closed, a new file is started, and the oldest file is deleted.
Floating-point variables (such as analog input and output values)
can be recorded to either or both of the following channels:
• Low-Density 1 (default properties: one second resolution, seven
one-day chunks).
• High-Density (default properties: one millisecond resolution, 24
one-hour chunks).
Average values for any variable that is recorded to the High-Density
channel only are also recorded to the Low-Density 1 channel, and
average values for all variables recorded to either channel are also
recorded to a Low-Density 2 channel (default properties: one minute
resolution, four one-week chunks).
Boolean and integer variables (for which the above channels would
calculate meaningless average values) should be recorded to the
Discrete channel only (default properties: one millisecond resolu-
tion, four one week chunks).
February 2005
TrainTools PC Communication Engineering 63
Data Groups The ArcCom program’s OPC data groups and items are defined by
OPCClientGroup, ArcTagGroup, and ArcTag elements:
• The properties of each OPCClientGroup child of the ArcCom->
OPC Groups (OPCClientFunc) element define a set of OPC
data group properties that can be applied to any Tag Group.
• Each ArcTagGroup element defines an OPC data group. That
data group’s OPC server is specified by connecting its tag group
element to an OPC Server element of any PC resource. Its data
group properties are set by referencing an OPCClientGroup.
• Each ArcTag element defines one of the data items of the group
defined by its parent Tag Group. Its Tag Type property specifies
which data channel it will be recorded to. The ItemID (tag) of the
desired controller variable is specified by reference to a variable
within the CSR branch for that controller.
As shown in Figure 5-3, tag groups can be nested, in which case the
child groups would inherit the client group and/or server connection
of their parents (although such inherited settings can be overridden).
UM5532 (1.0.0)
64 Chapter 5: Archival Data System
Client Groups The OPC Groups (OPCClientFunc) element of each newly created
ArcCom branch includes two OPCClientGroup elements named
Fast and Slow. The default Update Rate properties for these groups
are 100 and 1000 milliseconds, respectively.
To specify additional sets of data group properties:
Step 1: Right-click on the OPC Groups element, move the mouse
cursor over the Add Element shortcut command and select
OPCClientGroup to display the following properties dialog:
Step 3: Type the data group Update Rate and Percent Deadband
property values in the Scan Rate and Deadband fields, then
click on the OK button.
The dialog does not allow you to set the other properties that can be
defined for an OPC data group because they are not implemented
by TrainTools OPC servers. When configuring ArcCom to record
data from third party servers, those properties can be set via client
group explorer tables.
February 2005
TrainTools PC Communication Engineering 65
Tag Groups The ADaM element of each newly-created ArcCom branch has one
ArcTagGroup child named Tags with three nested groups named
Discrete, High Density, and Low Density. ArcTag elements specify-
ing the data items to be recorded in the corresponding Tagged Data
Channels should be added to those groups.
The server function and client group connections of those groups
are initially undefined. To specify either or both of them:
Step 1: Right-click on that element in the project tree and select the
Properties command to display the following properties dialog:
Step 2: Select the S5 MPU or Controller element for this group from
the Connection menu, which will list all of the OPC Server Func-
tions (see page 27) in this project. That will also be the default
controller for any nested groups.
Step 3: Select the OPCClientGroup element that defines the desired
data group properties from the Client Group menu, which will list
all client groups defined for this ArcCom branch. That will also
be the default client group for any nested data groups.
The Discrete and High Density groups are usually connected to
the Fast client group, while the Low Density group is connected
to the Slow client group.
Step 4: Specify the optional Description, then click the OK button.
Connections to the specified client group and/or server function are
then added to that tag group element. To sever either link, right-click
on the corresponding connection reference and select Delete.
If your project includes more than one controller, you must create
tag groups for each. However, you can nest those tag groups within
the three default groups so they inherit their client group properties.
You can also delete the default groups and/or add other tag group
children to the parent ArcCom element.
To specify additional OPC data groups:
Step 1: Right-click on the ADaM or any existing tag group element.
Step 2: Move the mouse cursor over the Add Element… command
of the resulting shortcut menu and select ArcTagGroup to dis-
play the properties dialog shown and described above.
UM5532 (1.0.0)
66 Chapter 5: Archival Data System
Tags The ArcTag children of each ArcTagGroup define the data items to
be included in the corresponding OPC data group:
• The Tag Type and Label properties of each specify the data
channel its data item will be recorded to (Discrete, High Density,
or Low-Density 1) and the database label for that data.
• The connection of each, which specifies the controller variable
element for the process or controller condition it will represent,
can be set from the ArcTag properties dialog or by dragging and
dropping that variable element to the tag element.
To add a data item to a tag group:
Step 1: Right-click on a tag group’s tree element and select the Tag
command to display the following properties dialog:
February 2005
TrainTools PC Communication Engineering 67
UM5532 (1.0.0)
68 Chapter 5: Archival Data System
ArcCom element
ADaM element
ArcMSGChannel element
server references
Figure 5-4 Archived Alarm and Event Sources
AE Messages The Alarm and Event Servers (see page 23) whose messages are
to be archived are specified by right-dragging their tree elements to
the ArcCom->ADaM->Messages element, then releasing the mouse
button and selecting the Connect command. This adds connections
to those servers to the Messages element (see Figure 5-4).
All messages from the connected servers are recorded to a single
message channel whose ArcMSGChannel element’s Length and
Chunk Length properties are functionally equivalent to those of the
Tagged Data Channels (see page 62). Because all AE messages
are recorded and each is time stamped by its source, this channel
neither needs nor has a Resolution property.
By default, each archived messages file accumulates data for one
week and is retained for four weeks. The Chunk Length can only be
changed from the ArcMSGChannel element’s explorer table, but the
Length can be changed from its properties dialog:
February 2005
TrainTools PC Communication Engineering 69
ArcCom element
ADaM element
ArcCEChannel element
ArcCriticalEvent elements
ArcCETrigger elements
group reference
server reference
variable reference
Figure 5-5 Critical Event Branch of ADaM Element
Critical Event The ArcCom program also monitors specified OPC data items and
Files instructs the Archive Data Manager to record a Critical Event File
whenever any of them changes to a non-zero value. Such files
incorporate all tagged data and AE messages recorded during an
interval defined relative to that trigger variable transition.
The number of such files that will be retained in the archive data-
base is defined by the MaxRecords property of the Critical Events
(ArcCEChannel) child of the ArcCom->ADaM element, which can be
changed by displaying its properties dialog:
Once that number of critical events have been recorded, each sub-
sequent event will overwrite the oldest file.
Critical events of various durations can be defined by adding Critical
Event (ArcCriticalEvent) children to the Critical Events element. The
children of those elements then define the conditions that will trigger
the recording of a critical event file of that duration.
You can also specify the concurrent generation of critical event
reports by the Archive Reporter program (see Critical Event Con-
nections in Chapter 3 of UM5533).
UM5532 (1.0.0)
70 Chapter 5: Archival Data System
Critical Events The Critical Events branch can include multiple Critical Event
(ArcCriticalEvent) children, whose Time Before and Time After prop-
erties specify the data intervals (in milliseconds) for files recorded
when any of its trigger conditions are detected:
• The sum of those properties specifies the nominal length of
each file. If a single trigger condition is detected during that
interval, the file data will encompass a period beginning the
specified time before and continuing until the specified time
after that triggering event.
• If additional trigger conditions are detected, the recording will
begin the specified time before the first of them and end the
specified time after the last was detected.
To add a critical event element to the data archiving process:
Step 1: Right-click on the Critical Events (ArcCEChannel) element,
move the mouse cursor over the Add Element… command and
then select ArcCriticalEvent to display the following dialog:
February 2005
TrainTools PC Communication Engineering 71
Critical Event The conditions under which a critical event file of a specified length
Triggers will be recorded are defined by the ArcCETrigger children of the cor-
responding ArcCriticalEvent. Each such child is connected to an
OPC data item that will trigger such a recording when it changes to
its set (non-zero) value, so they are usually boolean variables that
normally equal 0, off, false, or no. An ArcCETrigger’s connection
can be set from its properties dialog or by dragging and dropping a
variable element.
To add a critical event trigger to any critical event element:
Step 1: Right-click on that critical event element, move the mouse
cursor over the Add Element… item, then select ArcCETrigger
to display the following dialog:
Step 4: Select the OPC server function for the trigger variable’s con-
troller and OPC server from the Connection menu.
Step 5: Select the Client Group whose properties ArcCom should
use when creating a data group and item for this trigger variable
(see Data Groups on page 63).
UM5532 (1.0.0)
72 Chapter 5: Archival Data System
February 2005
TrainTools PC Communication Engineering 73
Index
A ADaM Branch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
ADaM Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
AE Server Branches . . . . . . . . . . . . . . . . . . . . . . . . 18, 25, 28–29
AE Server Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
AE Server Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28, 40, 57
AE Server Programs . . . . . . . . . . . . . . . . . . . . . . . . 17–18, 21, 23
Alarms and Events
Archiving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Modbus Slaves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Series 3 and 3 Plus Controllers. . . . . . . . . . . . . . . . . . . . . . . 41
Series 4 Controllers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Series 5 Controllers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Third-Party OPC Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
ArcCEChannel Element. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
ArcCETrigger Element. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
ArcCom Branches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
ArcCom Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
ArcCriticalEvent Element. . . . . . . . . . . . . . . . . . . . . . . . . . . 69, 70
Archival Communication Program . . . . . . . . . . . . . . . . . . . . . . . 59
Archival Data Client Programs . . . . . . . . . . . . . . . . . . . . . . . . . 59
Archival Data Manager Program . . . . . . . . . . . . . . . . . . . . . . . . 59
ArcTag Element. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
ArcTagGroup Element. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
C CommAddress — see: Data Tags
Control System Resources Element . . . . . . . . . . . . . . . . . . . . . 15
Controller Alarm Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Controller Element. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15, 35
Controller Folder Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Controller Function Element . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Controller Variable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Critical Event Archiving . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69–72
UM5532 (1.0.0)
74 Index
D Data Archiving
Configuring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60–72
Critical Event Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69–72
OPC Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61–67
Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Resolution and Retention Time . . . . . . . . . . . . . . . . . . . 62, 68
Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Data Tags
Generic Controller Variables . . . . . . . . . . . . . . . . . . . . . . . . 35
Modbus Slave Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Script Engine Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Series 3 and 3 Plus Controller Variables . . . . . . . . . . . . . . . 41
Series 4 Controller Variables . . . . . . . . . . . . . . . . . . . . . . . . 42
Series 5 Controller Variables . . . . . . . . . . . . . . . . . . . . . . . . 32
Third-Party OPC Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Default Projects Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
G Generic Controller AE Server Program. . . . . . . . . . . . . . . . . . . 40
Generic Controller Branches. . . . . . . . . . . . . . . . . . 34–40, 41–44
M Modbus OPC Server Program . . . . . . . . . . . . . . . . . . . . . . . . . 43
February 2005
TrainTools PC Communication Engineering 75
Project Database
Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Project Engineering
Controller Data Sources . . . . . . . . . . . . . . . . . . . . . . . . . 21–44
Data Archiving. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59–72
High-Level Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–20
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–12
Script Engine Communication. . . . . . . . . . . . . . . . . . . . . 45–57
TrainTools Programs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
R Resolution and Retention Time
Archived AE Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Archived OPC Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
S Script Engine AE Server Element . . . . . . . . . . . . . . . . . . . . . . . 57
Script Engine Branches . . . . . . . . . . . . . . . . . . . . . . 19, 45, 46–55
Script Engine Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Script Engine OPC Server Element. . . . . . . . . . . . . . . . . . . . . . 56
Script Engine Program . . . . . . . . . . . . . . . . . . . . . . . . . 17, 21, 45
SE Alarm Variable Element . . . . . . . . . . . . . . . . . . . . . . . . . 54–55
SE Function Element. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50–51
SE Script Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
SE Variable Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52–53
Series 3 and 3 Plus OPC Servers . . . . . . . . . . . . . . . . . . . . . . . 41
Series 4 OPC Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Series 5 Controller Branches. . . . . . . . . . . . . . . . . . . . . . . . 30–33
Series 5 OPC Server Program . . . . . . . . . . . . . . . . . . . . . . . . . 30
T Tagged Data Channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Third-Party OPC Servers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
TrainTools Alarms and Events . . . . . . . . . . . . . . . . . . . . . . 23–24
TrainTools Run-Time Programs . . . . . . . . . . . . . . . . . . . . . 17–18
TrainTools Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
U Update Rate
ArcCom OPC Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
OPC Server Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Script Engine OPC Groups . . . . . . . . . . . . . . . . . . . . . . . . . . 48
UM5532 (1.0.0)
76 Index
February 2005
FM73
Please help us evaluate the quality of this publication by completing and returning this survey. If
you have comments concerning a specific page, please include a copy of that page with your
comments marked on it.
Yes No
1. Was the document organized in a logical manner? ❒ ❒
Name
Title
Dept.
Company
Street
City
State Zip
Phone