Nothing Special   »   [go: up one dir, main page]

Traintools PC Communication Engineering: Publication Um5532 (1.0.0)

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

U

PID

A/D

RAM
F
GLOBAL
SUPPLIERS
OF
TURBINE
ID
AND
COMPRESSOR
CONTROL
SYSTEMS

UM5532 PC Communication Engineeringmanual

TrainTools
PC Communication
Engineering

Publication UM5532 (1.0.0)


Product Version: 3.1
System Release: 5.1
February 2005

4725 121st Street

Des Moines, Iowa 50323, U.S.A.

Phone: (515) 270-0857

Fax: (515) 270-1331

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:

Note: Notes contain important information that needs to be emphasized.

Cautions contain instructions that, if not followed, could lead to irre-


Caution: versible damage to equipment or loss of data.

Warnings contain instructions that, if not followed, could lead


Warning! to personal injury.

The appearance of this electrical hazard warning symbol on CCC


equipment or the word Warning appearing in this manual indicates
dangerously-high voltages are present inside its enclosure. To
reduce the risk of fire or electrical shock, do not open the enclo-
sure or attempt to access areas where you are not instructed to do
so. Refer all servicing to qualified service personnel.

The appearance of this user caution symbol on CCC equipment or


the word Caution appearing in this manual indicates damage to the
equipment or injury to the operator could occur if operational proce-
dures are not followed. To reduce such risks, follow all procedures
or steps as instructed.

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

Other OPC Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41


Series 3 Plus and Series 3 Controllers . . . . . . . . . . . . . . . . . . . . . .41
Series 4 Controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42
Modbus Slaves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43
Third-Party OPC Servers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
Chapter 4 Script Engine Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45
Script Engine Branch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46
Script Engine Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47
OPC Client Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48
SE Script Branches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49
SE Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50
SE Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52
SE Alarm Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54
Script Variable OPC Data Tags . . . . . . . . . . . . . . . . . . . . . . . . . .55
SE OPCServer Branch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56
SE AEServer Branch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57
Chapter 5 Archival Data System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59
ArcCom Branch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60
Tagged Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61
Tagged Data Channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62
Data Groups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63
Client Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64
Tag Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65
Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66
AE Messages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68
Critical Event Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69
Critical Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70
Critical Event Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73

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

Symbols and Acronyms


A superscript “n” preceding a symbol indicates a normalized variable (for example,
n
Td is a normalized discharge temperature). Otherwise, n and # are placeholders
indicating numeric digits.
ADaM Archive Data Manager
AE Alarms and Events, or Application Editor
AG Application Generator
ArcCom Archive Communication client program
CCC Compressor Controls Corporation
COM Component Object Model
CSR Control System Resource
CSV Comma-Separated Values (file type)
DCOM Distributed Component Object Model
EU Engineering Unit (dimension)
FTP File Transfer Protocol
HMI Human-Machine Interface
IEC International Electro-technical Commission
IO Input-Output
I/O Input and/or Output (circuits or signals)
IP Internet Protocol
OLE Object Linking and Embedding
OPC OLE for Process Control
OPC/DA OPC online Data Access
PC Personal Computer
RDF Reporter (native) Data Format file
S3P Series 3 Plus
S5 Series 5
S4 Series 4
SMTP Simple Mail Transfer Protocol
TCP Transmission Control Protocol

TV TrainView program

February 2005
TrainTools PC Communication Engineering 9

UM5532 PC Communication Engineeringmanual

Chapter 1 Project Engineering Overview


This chapter introduces the TrainTools project engineering process
and the associated programs.

Controlled Process Operator Computer


Process Controllers Panels Workstations
Instrument Input/Output Readouts Data Archiving
Transmitters Drivers Indicators System
Annunciators
Process Application Buttons Communication
Equipment Software Switches Gateways
Potentiometers
Final Control HMI Operator
Elements Drivers Interface

Figure 1-1 Simplified Diagram of Control System Data Flow

Control As illustrated in Figure 1-1, a process control system consists of:

System • the final control elements and instrumentation used to manipu-


late and monitor the controlled process,
Engineering • process controllers whose application software determines the
appropriate final control element positions from the measured
process conditions and operator inputs,
• operator panels with electro-mechanical elements for displaying
data from and returning operator inputs to the controllers, and
• computer workstations that record and display data from and
return operator inputs to the controllers.
The engineering of such systems entails numerous tasks, including
devising a control strategy; developing control programs or selecting
pre-programmed controllers; selecting field instruments, control ele-
ments, and operator panel components; developing controller I/O
channel lists and drawings; connecting control program variables to
appropriate field inputs and outputs; devising operator workstation
displays; developing a system for recording controller data; and con-
necting the operator interface screens and data archiving systems
to appropriate controller variables.
Defining the relationships between field I/O signals, control program
variables, and human-machine interface (HMI) elements is perhaps
the most tedious and error-prone aspect of this process. For exam-
ple, connecting a pressure transmitter to a controller analog input

UM5532 (1.0.0)
10 Chapter 1: Project Engineering Overview

that is read by a control algorithm and monitored by one or more


operator workstations would typically require you to:
• add that connection and the transmitter specifications to various
reports and drawings,
• determine where and how that signal is represented within the
controller’s memory,
• map a control program I/O variable to that memory location,
• define a control program process variable to represent the “real-
world” value of that I/O variable,
• calculate and enter scaling coefficients for that process variable
from the I/O variable’s field transmitter specifications, and
• configure an operator workstation variable to retrieve, record,
and display the value of that process variable.
For Series 5 Control Systems, the TrainTools project engineering
programs simplify this process by automating the memory mapping,
scaling calculations, data communication connections, and report
generation, which are set up by entering instrument specifications
into a database and defining and connecting named variables. The
system engineer can then focus on adapting the supplied control
program and human-machine interface components to the process
those variables represent.
Although they were developed to engineer the human-machine
interface (HMI) and application software for Series 5 Controllers,
these programs can more generally be used to set up TrainTools
Workstations for virtually any CCC and many third-party controllers.

February 2005
TrainTools PC Communication Engineering 11

Project Builder

Project Builder Interface (OLE Automation)

TrainView Script Application Application


Program Editor Generator Editor

Project Database

Figure 1-2 TrainTools Project Engineering Environment

Project The TrainTools project development environment (see Figure 1-2) is


an integrated set of programs for engineering the human-machine
Engineering interface of a CCC control system and creating the application soft-
Programs ware for Series 5 Reliant and Vanguard Controllers:
Central to this process is the creation of a Project Database (see
Chapter 2) describing the project’s controllers and workstations.
This is done primarily by using the Project Builder program, whose
user interface and basic operation is described in the TrainTools
Project Builder Program user manual [UM5531].
If the control system includes TrainTools Workstations:
• The flow of data to and among their HMI programs is specified
by the project database elements described in this manual.
• The run-time operation of the TrainView, Script Engine, and
Archive Reporter programs are engineered using the design
modes of those programs.
If a system includes Series 5 Controllers, elements specifying their
field instruments, I/O systems, and application software (and the
flow of information among them) are also added to the database,
from which the Application Generator and Editor programs create
each controller’s downloadable application software. These Series 5
specific aspects of TrainTools projects are discussed in the Series 5
Control System Engineering manual [UM5535].

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

Default Projects The operation of many TrainTools run-time programs is configured


Folder by elements of a project database that must be within the host PC’s
Default Projects Folder, which the installation procedure usually
defines as C:\TrainTools\Projects. You can change that setting at
any time by executing the Project Builder program’s File -> Change
Default Projects Directory command to display the following dialog:

You can then use standard Windows techniques to navigate to the


desired projects folder. When the path listed in the Current Folder
field corresponds to that folder, click on the Select button to define it
as your workstation’s Default Projects Folder.

February 2005
TrainTools PC Communication Engineering 13

UM5532 PC Communication Engineeringmanual

Chapter 2 Project Database


This chapter describes the database elements that specify and con-
figure the flow of information among TrainTools run-time programs.

Project element

Project Specification element

Library Link elements

Plant Area elements

Plant Area elements

Figure 2-1 Project Database Top-Level Elements

Overview The Project Database is a hierarchical collection of elements that


describe your process, its control system, and the human-machine
interface for both. Each element in this database can have:
• Properties that describe the corresponding component of the
control system,
• Connections and/or References that map the flow of process
information to and from that control system component or the
mounting of Series 5 Controllers into specified panels, and
• Child Elements whose properties describe lower-level control
system components.
Any graphical depiction of these elements and their children is
called a Project Tree. The top-level element of that tree is a Project
element, whose children can include:
• a hierarchy of Plant Area Elements (see page 14),
• one or more TrainView Library Link elements, and
• a Series 5 Control System Project Specification element.
Although this database is created and modified primarily by the
Project Builder program, the TrainView and Script Engine programs
can also be used to develop those sections that specify their own
run-time behaviors. All three programs can create new database
elements from templates, which greatly reduces the time and effort
needed to engineer a control system project.

UM5532 (1.0.0)
14 Chapter 2: Project Database

Plant Area element

Control System Resources branch

Equipment and Instruments branch

Panels branch

Plant Area branches

Figure 2-2 Project Database Elements

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:

Step 2: Specify a project tree Label and optional Description, then


click on the OK button. This will create a Plant Area element
whose Control System Resources, Equipment and Instruments,
and Panels elements have no default children.

February 2005
TrainTools PC Communication Engineering 15

Control System Resources element

PC elements (TrainTools Workstations)

S5 Reliant elements (Reliant Controllers)

S5 Rack elements (Vanguard Controllers)

Controller elements (Other Controllers)

Figure 2-3 Control System Resource Elements

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

TrainTools Generic Script ArcCom Archival Data Archive TrainView


OPC Servers AE Server Engine Program Manager Reporter Program

CCC Controllers Third Party


Modbus Slaves OPC Servers

Figure 2-5 TrainTools Run-Time HMI Components

TrainTools The TrainTools human-machine interface (HMI) includes the follow-


ing Distributed Component Object Model (DCOM) client and server
HMI programs:
Components • The Series 5 OPC Server program’s OPC/DA and AE Server
components share access to the HMI variables and alarm and
event notices of Series 5 Controllers.
• The Series 4 OPC Server program shares access to the param-
eter databases of Series 4 Controllers.
• The Series 3 Plus OPC Server program shares access to super-
sets of the Modbus data of Series 3 Plus Controllers.
• The Modbus OPC Server program shares access to the coils,
discrete bits, and registers of third-party Modbus slaves.
• The Script Engine program executes VBScripts and JScripts
that use OPC/DA server data to create and share additional
OPC data groups and TrainTools alarm and event messages.
• The Generic Controller AE Server program posts TrainTools
alarm and event (AE) messages triggered by boolean data
items of any specified OPC/DA server.
• The Archival Data Manager program records and shares AE
messages and OPC/DA data items at the direction of its clients.
• The ArcCom Program gathers AE and OPC/DA server data and
directs the Archival Data Manager to record it.
• The Archive Reporter displays and prints information from the
archive database as directed by the Reporter Agent.
• The TrainView program is a customized collection of DCOM
clients that incorporate AE, OPC/DA, and archived data into
interactive operator displays.

UM5532 (1.0.0)
18 Chapter 2: Project Database

Although these programs can all be run on a single workstation, the


underlying DCOM technology allows them to be distributed among
multiple PCs linked by a variety of local and wide area networks.
Our use of this standards-based, multi-tasking, distributed client-
server approach means that:
• client programs can obtain information from multiple servers
running on the same or different computers,
• information from any one process can be used by multiple client
programs running on the same or different computers,
• display elements can be modified by any authorized user who
knows VBScript or JScript to revise their defining scripts,
• process reports can be created using common ActiveX-enabled
programs (such as Microsoft Excel), and
• the timely execution of high-priority, time-critical tasks (such as
data acquisition and archiving) can be assured even if lower-
priority tasks exceed the workstation’s processing capacity. If a
workstation’s computational capacity is exceeded, execution of
its low-priority programs will simply slow or stop.

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.

If a control system includes PCs whose OPC and AE servers


Note: are accessed only by third-party clients, those servers and
their clients do not need to be defined in the project database.

February 2005
TrainTools PC Communication Engineering 19

PC element

PC Task elements

OPC Server elements

Script Engine element

AE Server elements

ArcCom element

Reporter elements

TrainView element

Figure 2-6 PC Branch Elements

• A Script Engine Branch (see page 46) also specifies scripts


that those programs can run, the OPC data those scripts will
subscribe to and the OPC and AE data they will share. The
scripts the program actually runs are specified by its clients.
• Operator interface programs are usually launched by batch or
program shortcut files. Such programs are configured by PC or
PC Task child elements specified by Command Arguments (see
Appendix B of UM5500) in those batch or shortcut files:
• Each workstation can run one instance of the ArcCom Pro-
gram, the operation of which is governed by the ArcCom
branch of any PC element of any project (see Chapter 5).
• Each workstation can run a single instance of the Reporter
Agent program, the operation of which is governed by one of
the Reporter branches of any project (see Chapter 3 of the
Archival Data Report Engineering manual [UM5533]).
• Each workstation can run multiple instances of the TrainView
program (although most only run one), with the operation of
each being governed by a TrainView branch of any project.
The host computer’s network ID is of no consequence to such
programs, so a single element nested in any PC branch can
configure a program’s operation on more than one workstation.
Thus, each PC Task of a particular PC element can define the data
available from its server programs and a set of operator interface
configurations needing that data that could run on any workstation.
Each PC Task element can have multiple OPC Server, AE Server,
and Reporter children, but only one ArcCom, one Script Engine, and
one TrainView branch. In addition, only one task of each PC ele-
ment can include an ArcCom branch.

UM5532 (1.0.0)
20 Chapter 2: Project Database

PC Elements To add a PC element to the project database:


Step 1: Right-click on the Control System Resources element of the
parent plant area (see Figure 2-2) to display its shortcut menu,
move the mouse cursor over the Add Element command and
select PC from the list of CSR types to display the properties
dialog for PC (workstation) elements:

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.

PC Task Elements To add a PC Task to a PC resource:


Step 1: Right-click on the intended parent PC element, move the
mouse cursor over the Add Element… command of the resulting
shortcut menu, and select PC Task from the resulting submenu
to display the properties dialog for such elements:

Step 2: Type the required element Label and optional Description,


then click on the OK button to create the PC Task element,
which will have no children.

February 2005
TrainTools PC Communication Engineering 21

UM5532 PC Communication Engineeringmanual

Chapter 3 AE and OPC Data Sources


This chapter tells how to specify the alarm and event and data
access servers for CCC and third-party controllers.

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

Figure 3-1 TrainTools Client Data Sources

Overview Most run-time data originates in process controllers and is accessed


via their OPC Data Access Servers (see page 22):
• Series 5 Controller variables are accessed via the S5_OPC
component of the Series 5 OPC Program (see page 30).
• Series 4, Series 3 Plus, and Modbus slave data are accessed
via the corresponding TrainTools OPC programs, while third-
party programs can provide OPC data for other devices (see
Other OPC Servers on page 41).
• The Script Engine Program (see Chapter 4) can calculate OPC
data items using data from any OPC data access server.
TrainTools Alarm and Event Servers (see page 23) post alarm and
event messages triggered by various controller variables:
• Series 5 Controller AE notices are forwarded by the S5_AES
component of the Series 5 OPC Program.
• The Generic Controller AE Server (see page 40) posts alarm
and event messages triggered by boolean variables from Series
3 Plus, Series 4, Modbus, and third-party OPC/DA servers.
• The Script Engine Program (see Chapter 4) posts alarms and
events derived from Series 4 Controller alarm and history buffer
records or information from other OPC/DA servers.

UM5532 (1.0.0)
22 Chapter 3: AE and OPC Data Sources

Controller OPC Server Program Client Program


Server ID
HMI Variables Server Object Client Object

Data Groups
Controller
HMI Variables Data Items
Data Tags

Figure 3-2 OPC Online Data Access

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.

Data Items are server variables that provide information about


the associated controller variables. A given controller variable
Note: can be represented by more than one data item. A data group
can include data items for multiple controllers.

February 2005
TrainTools PC Communication Engineering 23

S5 Controller AE Server Program Client Program


NOS Event Server ID
AE Functions Client Objects
Functions
Messages
Server
OPC Servers Object Enable/Disable
Acknowledge
Alarm
AE Conditions Functions

Figure 3-3 TrainTools Alarm and Event Communication

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

Figure 3-4 Example Alarm and Event Lists

Text: A text string, which can be defined in two different languages,


briefly describing the associated alarm condition or event:
• For an alarm condition, this message is always the same.
• For an event, one message is displayed when the associated
condition is detected and a different message can (but need
not) be displayed when that condition is cleared. For example,
a multistep sequence could post an overall begin message,
a series of begin messages as individual steps are initiated,
and a final, overall end message.
Source: Bilingual text string identifying the element of the control
system that caused or posted the alarm or event. For example,
the source of an I/O alarm might identify the associated field
device, while that of an antisurge control alarm might identify the
associated compressor.
Destination: Bilingual text string identifying an element of the control
system affected by the alarm or event condition. For example,
the destination of an I/O alarm might be used to identify its asso-
ciated field wiring terminals.
Priority: An assigned integer that indicates the seriousness of the
alarm or event. AE clients can display messages using different
colors corresponding to this property. For Series 5 Controller
alarms and events, this property also determines which global
alarm variables (if any) are set.
Group: An assigned integer that can be used to associate groups of
alarms or events. In particular, TrainView AE clients can be set
up to show or hide alarms and events according to this property.

February 2005
TrainTools PC Communication Engineering 25

AEServer element

AEServerFunction elements
Reference

OPCServer element

OPCServerFunc elements
Reference

Figure 3-5 OPC/DA and AE Server Database Elements

OPC and AE When a client program accesses an AE or OPC/DA server, that


server automatically starts (if it was not already running) and then
Server attempts to complete the requested action. This means the project
Branches database elements for such servers (see Figure 3-5) only need to
provide the information a TrainTools client would need to connect
and access specific controller variables:
• The information needed to connect to AE and OPC/DA servers
is specified by the properties of the corresponding OPC and AE
Server elements.
• Each child of any server is a server function (OPCServerFunc or
AEServerFunction) that references a control system resource
(CSR) whose children provide addressing information for a con-
troller or workstation program’s data.
This two-tier specification of data sources means the information
available from any given controller or program only needs to be
defined once, no matter how many servers are connected to it.

UM5532 (1.0.0)
26 Chapter 3: AE and OPC Data Sources

OPC Server To connect to an OPC/DA server on the same computer, a client


Elements needs only the Windows program ID specified by the server ele-
ment’s Server ID property. To connect to a remote OPC server, a
client also needs the server PC’s network identity:
• If the Remote Computer property not left blank, it must specify
the server computer’s IP address or network name.
• If that field is blank, clients use the parent PC element’s Network
ID property (see PC Elements on page 20).
Thus, the Remote Computer property is usually set only for third-
party OPC/DA servers running on computers for which no PC
elements have been created.
To add an OPC Server element to the project:
Step 1: Right-click on the intended parent PC Task element, move
the mouse cursor over the Add Element command and select
OPCServer from the resulting submenu to display the following
properties dialog:

Step 2: Type in or select the appropriate program ID from the Server


ID field/menu. Because all OPC/DA servers installed on the PC
will be listed, you would need to type this value only to specify a
third-party server that is not installed. The following servers,
which were installed by the TrainTools Setup utility that installed
Project Builder, will be listed in that menu:
• TrainTools.Modbus (Modbus OPC Server)
• TrainTools.S5_OPC (Series 5 OPC Server)
• TrainTools.S4_OPC (Series 4 OPC Server)
• TrainTools.S3p_OPC (Series 3 Plus OPC Server)
• TrainTools.SE_OPCServer (Script Engine OPC Server)
Step 3: For a third-party server running on a computer for which no
PC element has been created, type a Windows Network ID or
an IP address in the Remote Computer field.
Step 4: Specify the required Label (which is displayed in the project
tree) and optional Description, then click on the OK button.

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

AE Server To connect to an AE server on the same computer, a client needs


Elements only the Windows program ID specified by the server element’s
Server ID property. To connect to a remote AE server, a client also
needs the server PC network identity specified by the Network ID
properties of the corresponding PC element.
To add an AE Server element to the project:
Step 1: Right-click on the intended parent PC Task element, move
the mouse cursor over the Add Element command and select
AEServer from the resulting submenu to display the following
properties dialog:

Step 2: Select the appropriate program ID from the Server ID menu,


which will include all possible AE servers (which were installed
on your computer by the TrainTools Setup utility):
• TrainTools.S5_AES (Series 5 OPC Program)
• TrainTools.SE_AEServer (Script Engine Program)
• TrainTools.GC_AEServer (Generic Controller AE Server)
Selecting one of these will automatically select the appropriate
Data Source, which should not be changed.
Step 3: Specify the required Name (which is displayed in the project
tree) and optional Description, then click on the OK button.

AE Server The resulting AE Server element will have one AEServerFunction


Functions child element named Connection that must then be connected to a
data source corresponding to the specified server type:
S5_AES : S5 MPU element
SE_AEServer :Script Engine element
GC_AEServer :generic Controller element
There are three ways to do so:
• Right-drag an element of the appropriate type to that server
function, release the mouse button, and select Connect from the
resulting shortcut menu.

February 2005
TrainTools PC Communication Engineering 29

• Open an explorer table for two or more such 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 source element from the Resource menu.
No matter which method is used, you will be able to connect any S5
MPU, Script Engine, or Controller element regardless of the parent
AE Server type. It is your responsibility to connect each type of data
source to a server element with the corresponding Program ID.
More than one data source can be specified by adding additional
AEServerFunction elements:
Step 1: Right-click on the intended parent AE Server element, move
the mouse cursor over the Add Element command and select
AEServerFunction from the resulting submenu to display the fol-
lowing properties dialog.

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

Plant Area element

Control System Resources element

S5 Rack element

S5 MPU branch

S5 Reliant element

S5 MPU branch

Figure 3-6 Series 5 Controller Database Branches

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 List element

S5 Signal elements

S5 Task elements

S5 Program elements

S5 Function List element

S5 Function elements

Figure 3-7 S5 MPU Child 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 Alarm and Event List element

S5 Alarm and Event elements

S5 Command List element

S5 Command elements

S5 Config List element

S5 Config Parameter elements

S5 Function List element

S5 Function elements

S5 Function IO List element

S5 Function IO elements

S5 Function Status List element

S5 Function Status elements

Figure 3-8 S5 Function Child 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

Controller Folder elements

Controller Folder elements

Controller Function elements

Controller Variable elements

Controller Alarm Variable elements

Controller Function elements

Controller Folder elements

Controller Variable elements

Controller Alarm Variable elements

Controller Variable elements

Controller Alarm Variable elements

Figure 3-9 Generic Controller Child Elements

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.

Controller To add a generic Controller resource to a plant area:


Elements Step 1: Right-click on that plant area’s Control Systems Resources
element, move the cursor over the Add Element shortcut com-
mand and select Controller to display the following dialog:

Step 2: If a client would have to specify an Access Path to access


data from the represented device, type it into that field (Train-
Tools OPC servers do not implement access paths).
Step 3: Specify the required Label (which is displayed in the project
tree) and optional Description, then click on the OK button.
The import of Controller branches from library files has not been
implemented, so the Library Type menu will always be blank.

UM5532 (1.0.0)
36 Chapter 3: AE and OPC Data Sources

Controller Folders To add a Controller Folder to a Controller, Controller Folder, or Con-


troller Function:
Step 1: Right-click on that intended parent element, move the cursor
over the Add Element command and select Controller Folder to
display the following dialog:

Step 2: Specify the required Label (which is displayed in the project


tree) and optional Description.
Step 3: If you want that Label prepended to the CommAddresses of
this folder’s children, leave the Same As Label box checked.
Otherwise, uncheck it and type any desired address component
into the CommName field (see Data Tags on page 35).
Step 4: Click on the OK button to create the specified folder.
To import the variable tags for a Series 4 Controller application:
Step 1: Right-click on the controller folder, select the Import CF4
shortcut command to display the following dialog:

Step 2: Navigate to the folder containing the CF4 files (usually


C:\WOIS\CF4) and double-click on the desired file.

February 2005
TrainTools PC Communication Engineering 37

Controller To add a Controller Function to a Controller or Controller Folder:


Functions Step 1: Right-click on that intended parent element, move the cursor
over the Add Element command and select Controller Function
to display the following dialog:

Step 2: Specify the required Label (which is displayed in the project


tree) and optional Description.
Step 3: If you want that Label prepended to the CommAddresses of
this folder’s children, leave the Same As Label box checked.
Otherwise, uncheck it and type any desired address component
into the CommName field (see Data Tags on page 35).
Step 4: Click on the OK button to create the specified function.
The import of Controller Functions from library files has not been
implemented, so the Library Type menu will always be blank.

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:

Step 2: Specify the required Label (which is displayed in the project


tree) and optional Description.
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.

UM5532 (1.0.0)
38 Chapter 3: AE and OPC Data Sources

Step 4: Click on the Settings tab to display its fields:

Step 5: Specify the data-flow Direction for this variable:


In : clients can read but not change it
Out : clients can change but need not read it
In/Out : clients can change and should also read it
Step 6: Specify the engineering units label clients should display for
this variable by selecting it from or typing it into the EU field.
Step 7: Specify this variable’s range via the Min and Max fields.
Step 8: Specify the number of digits that clients should display after
the decimal point in this variable’s value via the Precision field (1
for #.#, 2 for #.##, and so on).
Step 9: Click on the OK button to create the specified variable.

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:

Step 2: Specify the required Label (which is displayed in the project


tree) and optional Description.

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

Generic The Generic Controller AE Server program (GC_AES.exe), which


incorporates both an OPC client and an AE server component, can
Controller AE post alarm and event messages triggered by boolean data items
Server from any OPC/DA server:
To add such an AE Server element to the project:
Step 1: Right-click on the intended parent PC Task element, move
the mouse cursor over the Add Element command and select
AEServer from the resulting submenu to display the following
properties dialog:

Step 2: Select TrainTools.GC_AEServer from the Server ID menu.


This will automatically set the Data Source to Database, which
should not be changed.
Step 3: Specify the required Name (which is displayed in the project
tree) and optional Description, then click on the OK button.
You must then add one or more AE Server Functions (see page 28)
whose Resource properties connect this server to Generic Control-
ler Branches (see page 34). This program then connects to the OPC
servers for those controllers and create alarm and event blocks that:
• post alarm and event messages to its clients as the Controller
Alarm Variables (see page 38) of those controller resources are
set and cleared, and
• enable or disable those blocks, and acknowledge their alarm
messages, in response to client directives.

February 2005
TrainTools PC Communication Engineering 41

parent Controller element

controller Function elements

group Folder elements

Controller Alarm Variable elements

Controller Variable elements

Figure 3-10 Typical Series 3 Plus Controller Branch

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

chassis Controller element

AFM Folder elements

application Function elements

group Folder elements

Controller Variable elements

Controller Alarm Variable elements

Figure 3-11 Typical Series 4 Controller Branch

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

UM5532 PC Communication Engineeringmanual

Chapter 4 Script Engine Program


This chapter tells how to specify the data sources and HMI variables
of scripts run by the Script Engine program.

TrainTools Workstation
Internal
OPC Servers

AE
External OPC Script Server
OPC Servers Client Engine OPC
TrainTools
Server Clients
Visual Basic Scripts
External
OPC Clients

Figure 4-1 TrainTools Script Engine Communication

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

Script Engine element

OPC Client element

OPC Client Group elements

SE Script elements

SE Function elements

SE Function elements

SE Alarm Variable elements


client group reference
server reference
data item reference
SE Variable elements
client group reference
server reference
data item reference
default server reference
default client group reference
Figure 4-2 Script Engine Elements of Project Database

Script Engine The Script Engine branch of a PC Task consists of:

Branch • a topmost Script Engine Element, whose OPC Connection and


OPC Group properties define a default server and client group
for drag-and-drop input connections;
• one OPC Client Branch, whose OPC Client Groups define sets
of OPC data group properties that can be applied to any data
group requested by the Script Engine OPC client; and
• SE Script Branches are hierarchical collections of scripted SE
Functions that define the structures of the programs the Script
Engine can run. Each function’s children define its outputs:
• SE Alarm Variables define boolean variables that trigger the
alarms and events posted by the SE AE Server and are also
shared by the SE OPC server.
• All other SE Variables (see page 52) define OPC data items
that are only shared by the SE OPC Server.
If an element of either type is connected to a data item from
another server, it defines an input to the function that can be
monitored via the Script Engine’s servers.

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 2: Specify the required Label (which is displayed in the project


tree and must be different for each such element in the project)
and optional Description, then click on the Setting tab to display
its fields:

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 2: Specify the required Label (which is displayed in the project


tree) and optional Description, then click on the OPC Group tab
to display its fields:

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:

Step 2: Specify the required Label (which is displayed in the project


tree) and optional Description, then click on the Settings tab to
display its fields:

Step 3: Modify the suggested scan rate (1000 milliseconds) in the


Job Timeout field (if desired).
Step 4: Click on the OK button to create the specified script.
The Script Language menu is disabled because the Script Engine
program can only run Visual Basic scripts.

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:

The fields on the Connection tab can be used to connect this


script function to a controller function, but only after the script
function’s I/O variables have been defined (see below).
Step 2: Specify the required Label (which is displayed in the project
tree) and optional Description, then click on the OK button to
add the specified script function.
After you have defined a script function’s SE Variables and SE
Alarm Variables, you can automatically connect them to like-named
variables within a single controller function by connecting the script
function to that controller function:
Step 1: Right-click on the SE Function element and select the
Connect shortcut command to display the Connection tab of
the following dialog:

Step 2: Select a Controller or S5 MPU connection from the OPC


Server Connection menu.
Step 3: Select a client data group that specifies an appropriate
Update Rate for this script’s IO from the OPC Group menu.

February 2005
TrainTools PC Communication Engineering 51

Step 4: Click on the IO button ( ) to the right of the Function Path


field to display a collapsible listing of the selected controller or
MPU’s hierarchy of HMI variables:

Step 5: Navigate to the folder or function containing the controller


variables you want to connect to the script function’s variables,
then click on the OK button.
Step 6: Project Builder will try to find controller variables whose
Label properties match those of script function variables. If it
succeeds, those script IO variables will be connected to the
matching controller variables. When all possible connections
have been made, the result of the operation will be displayed in
an alert box—click on the OK button to dismiss it.
Step 7: Click on the OK button to create the specified function.
You can also connect a script function and a controller function by
right-dragging the latter (or a representative explorer table row) to
the SE function element, releasing the mouse button, and selecting
Connect from the resulting shortcut menu.

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:

Step 2: Specify the required Label (which is displayed in the project


tree) and optional Description.
Step 3: To connect this item to an OPC server data item, click the
Connection tab to display its fields:

Step 4: Select a Controller or S5 MPU connection from the OPC


Server Connection menu.

February 2005
TrainTools PC Communication Engineering 53

Step 5: Select a client data group that specifies an appropriate


Update Rate for this variable from the Client Group menu.
Step 6: Click on the IO button ( ) to the right of the Communication
Address field to display a collapsible listing of the selected con-
troller or MPU’s hierarchical namespace:

Step 7: Navigate to the controller variable you want to connect this


script variable to, then click on the OK button.
Step 8: Click on the properties Settings tab to display its fields:

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

SE Alarm Variables Each SE Alarm Variable element specifies:


• alarm or event messages that will be posted to Script Engine AE
Server clients (see page 23), and
• an integer variable indicating the status of that alarm or event,
which can be read by Script Engine OPC Server clients.
An alarm variable can optionally be connected to a boolean control-
ler variable. If it is, its script value can be changed by either that
source or by a script function, but changes made by script functions
will not affect the connected source variable.
To define a script alarm or event:
Step 1: Right-click on the intended SE Function parent, move the
cursor over the Add Element command and select SE Alarm
Variable to display the following dialog:

Step 2: Specify the required Label (which is displayed in the project


tree) and optional Description.
Step 3: Select Alarm or Event from the Library Type menu to specify
the type of messages the Script Engine AE Server should post
for this variable, then click 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 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

SE OPCServer The information clients need to access a Script Engine’s SE Alarm


Variables and SE Variables is provided by adding an OPC Server
Branch element to the same PC Task and connecting it to an OPC Server
Function child of the Script Engine element.
To add that OPC Server element:
Step 1: Right-click on the intended parent PC Task element, move
the mouse cursor over the Add Element command and select
OPCServer to display the following properties dialog:

Step 2: Select TrainTools.SE_OPCServer from the Server ID menu.


Step 3: Leave the Remote Computer field blank.
Step 4: Specify the required Label (which is displayed in the project
tree) and optional Description, then click on the OK button.
The resulting OPC Server element will have one OPCServerFunc
child element named Connection that must then be connected to the
Script Engine element. There are two ways to do so:
• Right-drag the Script Engine element to the OPC Server Func-
tion element, release the mouse button, and select Connect
from the resulting shortcut menu; or
• Right-click on that OPC Server Function element and select
Properties to display the dialog shown below, then select the
Script Engine element from its Resource menu:

February 2005
TrainTools PC Communication Engineering 57

SE AEServer The information clients need to subscribe to a Script Engine’s AE


messages is provided by adding an AE Server element to the same
Branch PC Task and connecting it to the Script Engine element.
To add that AE Server element:
Step 1: Right-click on the intended parent PC Task element, move
the mouse cursor over the Add Element command and select
AEServer to display the following properties dialog:

Step 2: Select TrainTools.SE_AEServer from the Server ID menu.


Step 3: Specify the required Name (which is displayed in the project
tree) and optional Description, then click on the OK button.
The resulting OPC Server element will have one AEServerFunction
child element named Connection that must then be connected to the
Script Engine element. There are two ways to do so:
• Right-drag the Script Engine element to the AE Server Function
element, release the mouse button, and select Connect from
the resulting shortcut menu; or
• Right-click on that AE Server Function element and select Prop-
erties to display the dialog shown below, then select the Script
Engine element from its Resource menu:

UM5532 (1.0.0)
58 Chapter 4: Script Engine Program

February 2005
TrainTools PC Communication Engineering 59

UM5532 PC Communication Engineeringmanual

Chapter 5 Archival Data System


This chapter tells how to specify the data archiving process.

OPC OPC
Data Servers Client
Source
Programs AE AE ArcCom
Servers Client Program
Archive
Client
Archival
Archive
Data Server
Manager Archive Archive
Client Reporter

Archival Archive TrainView


Database Clients Program

Figure 5-1 TrainTools Data Archiving System

Overview Each workstation’s optional data archiving task is also a client-


server process:
• The archive server component of the Archival Data Manager
(ADaM) program records and shares OPC data and TrainTools
alarms and events at the direction of its clients.
• The client ArcCom (Archival Communication) program gathers
data from OPC and AE servers and directs its host computer’s
archive server to record it.
Because ADaM and ArcCom must run on the same workstation,
which can only run one instance of each, they can be viewed as a
single process whose operation is specified by a common ArcCom
Branch (see page 60) of the project tree.
Archived data can be accessed by TrainTools clients running on the
same or any network-connected PC:
• The Archive Reporter program generates reports that tabulate
the variation of archived variables over specified periods of time.
It can be invoked to generate any report defined in any project’s
Reporter Database Branches (see Chapter 3 of UM5533). In
particular, the Reporter Agent program will automatically initiate
all reports defined in any one such branch.
• TrainView Trends and Events Pictures display archived OPC
data items and AE messages, respectively, and can invoke the
Archive Exporter to export portions of the archival database that
can be reviewed using the Archive Viewer or other programs.

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

Figure 5-2 Archival Process Configuration Elements

ArcCom Each workstation’s data archiving task is defined by the ArcCom


branch of a PC Task. The major elements within that branch are
Branch illustrated by Figure 5-2:
• The topmost ArcCom element has no properties (and thus can
not be renamed).
• The only properties of its ADaM child are its name and the path
to the archival database, neither of which should be changed.
• The properties of that element’s ArcChannel children specify the
resolution and retention time for recorded OPC data items, its
ArcTagGroup branches specify the OPC data groups and items
that will be recorded, and the properties of those groups are set
by the OPCClientGroup children of the OPCClientFunc element
(see Tagged Data on page 61).
• The retention time for AE Messages (see page 68) is set by a
property of the ArcMSGChannel element, while its connections
specify the AE servers whose messages will be archived.
• The number of Critical Event Files (see page 69) that will be
retained is a property of the ArcCEChannel element, whose
ArcCriticalEvent children define the conditions under which such
files are created.
The default OIS task of each newly added PC element (see page
20) includes an ArcCom branch that can be deleted if you do not
want the corresponding workstation to maintain an archive data-
base. Otherwise, that process must be configured as described in
the remainder of this chapter.

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

Figure 5-3 Archival Communication Data Groups

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.

Tagged Data ArcCom records controller variables by:


• asking their OPC Data Access Servers (see page 22) to create
and report any changes to the data groups and items specified
by the ArcTagGroup and ArcTag elements within the ADaM
branch (see Data Groups on page 63), and then
• instructing ADaM to record the reported changes to appropriate
Tagged Data Channels (see page 62), as specified by each
ArcTag element’s Tag Type property.
The desired sampling intervals for such variables are specified by
the Update Rate properties of their data groups, which are set by
referencing Client Groups (see page 64) with the desired properties.
Any item from any group can be recorded to any data channel, so it
is not necessary to create separate groups for each channel.

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

The ArcChannel elements representing these data channels do not


appear in the project tree. Their properties are set via the Channels
pane of the Archive Database (ADaM) element’s properties dialog.
You can also customize Project Builder to list them as an added
table in the ADaM explorer window.

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 2: Specify the required Label (which is displayed in the project


tree) and optional Description, then click on the OPC Group tab
to display its fields:

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

Step 3: Select this group’s server function from the Connection


menu, unless it should inherit that connection from its parent.
Step 4: Select the OPCClientGroup element that defines the desired
data group properties from the Client Group menu, unless it
should inherit the client group of its parent.
Step 5: Specify the required Label and optional Description, then
click the OK button.

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:

Step 2: Specify the required Label and optional Description.


Step 3: Select the archive data channel this item should be recorded
to from the Tag Type menu (see page 62).
Step 4: To leave this item unconnected, click the OK button. Other-
wise, click the Connection tab to display its fields:

February 2005
TrainTools PC Communication Engineering 67

The Connection and Client Group fields report those properties


of the parent OPC data group, which must already be set. The
Item property, which is inherited from a connected controller
variable element, will initially be blank.
Step 5: To connect this tag element to a controller variable, click the
Browse button ( ) to display the address space of the parent
data group’s controller in a ChooseIO dialog:

Step 6: Expand that list as needed to display the desired variable,


then double-click on it or select it and click its OK button.
Step 7: Click the OK button to dismiss the properties dialog.
An unconnected tag can be linked to a controller variable using the
following drag-and-drop technique:
Step 1: Right-drag the variable to the ArcTag element, or open an
explorer table for several controller variables and then right-drag
the row for one of them to the ArcTag element.
Step 2: Release the mouse button, then select Connect from the
resulting shortcut menu.
The connection between any tag element and its controller variable
can be severed by right-clicking on the connection reference and
selecting the Delete shortcut command.
One or more tag elements can be simultaneously created and linked
by right-dragging selected controller variable elements to a tag
group element, releasing the mouse button, and selecting Import
Tags from the resulting shortcut menu. Tag group branches can be
similarly created by right-dragging a Controller Folder or Function
element to the intended parent tag group. In either case, make sure
to first define the target tag group’s connection and client group. The
properties of imported elements can be easily viewed and modified
by dragging them to the explorer pane to display a properties table.

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:

Clicking on that dialog’s Connection tab displays a list of connected


servers. Unchecking the box for any of them severs their links.

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:

Step 2: Specify the Time Before and Time After, in milliseconds.


Step 3: Specify the required Label and optional Description, then
click the OK button.

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 2: Specify the required Label and optional Description.


Step 3: To leave this trigger unconnected, click on the OK button.
Otherwise, click the Connection tab to display its fields:

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

Step 6: To connect this trigger element to a controller variable, click


the Browse button ( ) to display the address space of the
specified controller in a ChooseIO dialog:

Step 7: Expand that list as necessary to display the desired variable,


then double-click on it or select it and click its OK button.
Step 8: Click the OK button to dismiss the properties dialog.
An unconnected trigger can be linked to a controller variable using
the following drag-and-drop technique:
Step 1: Right-drag the variable to the trigger element, or open an
explorer table for several controller variables and then right-drag
the row for one of them to the trigger element.
Step 2: Release the mouse button, then select Connect from the
resulting shortcut menu.
The connection between a trigger element and its controller variable
can be severed by right-clicking on its connection reference and
selecting the Delete shortcut command.

February 2005
TrainTools PC Communication Engineering 73

UM5532 PC Communication Engineeringmanual

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

N Network ID, Host PC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22, 26

O OPC Client Groups


ArcCom Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63–67
Script Engine Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
OPC Data Tag — see: Data Tags
OPC Online Data Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
OPC Server Branches . . . . . . . . . . . . . . . . . . . .18, 25–27, 41–44
OPC Server Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
OPC Server Function . . . . . . . . . . . . . . . . . . . . . . . 27, 41–44, 56
OPC Server Programs . . . . . . . . . . . . . . . . . . . . . . . . . 17–18, 21
P PC Branches. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18–20
PC Element. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15, 18, 20
PC Task Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18, 20
Plant Area Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13, 14
Program ID, OPC Server . . . . . . . . . . . . . . . . . . . . . . . . . . 22, 26
Project Builder Program . . . . . . . . . . . . . . . . . . . . . . . . . . . 11, 12

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

U Document Evaluation Form


Publication Title: TrainTools PC Communication Engineering Manual
Publication No.: UM5532 (1.0.0) Publication Date: February 2005

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? ❒ ❒

2. Was the information clear and easy to understand? ❒ ❒

3. Was there enough information? ❒ ❒

4. Were the illustrations clear and easy to understand? ❒ ❒

5. Were there enough illustrations? ❒ ❒

6. Was the cross-referencing of information adequate? ❒ ❒

7. Could you find what you were looking for in a


reasonable period of time? ❒ ❒

8. Did you find the Table of Contents to be useful? ❒ ❒

9. Did you find the Index to be useful? ❒ ❒

How would you rate the overall usability of this document?


❒ Excellent ❒ Good ❒ Average ❒ Fair ❒ Poor

Name
Title
Dept.
Company
Street

City
State Zip
Phone

October 2000 FM73 (2.0)


a NO POSTAGE
NECESSARY
IF MAILED
IN THE
UNITED STATES

BUSINESS REPLY MAIL


FIRST CLASS MAIL PERMIT NO. 7515 DES MOINES, IOWA

POSTAGE WILL BE PAID BY ADDRESSEE

COMPRESSOR CONTROLS CORPORATION


Technical Documentation Department
4725 121st Street
Des Moines, Iowa 50323-9906

Fold Along Dotted Line

Please Fasten Here With Tape — Do Not Staple

You might also like