Communication Guide, Trident v1
Communication Guide, Trident v1
Communication Guide, Trident v1
Communication Guide
for Trident v1 Systems
Assembly No. 9700079-002
April 2004
Information in this document is subject to change without notice. Companies, names and data used in
examples herein are fictitious unless otherwise noted. No part of this document may be reproduced or
transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express
written permission of Triconex.
Triconex, Tricon, Trident, TriStation 1131, TriStation MSW, and CEMPLE are trademarks of Invensys plc,
its subsidiaries and affiliates. All other brands may be trademarks of their respective owners.
Preface ix
Summary of Sections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
Related Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x
Product and Training Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x
Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x
Chapter 1 Introduction 1
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
TriStation Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Client/Server Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Peer-to-Peer Communication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Modbus Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Triconex Time Synchronization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Network Printing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Module Capabilities and Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Ethernet Port Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
CM Connection to a TriStation PC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Installing an NIC Card in a TriStation PC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Installing TCP/IP Protocol on a TriStation PC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Directly Connecting a Trident CM to a TriStation 1131 PC . . . . . . . . . . . . . . . . . . . . 24
Connecting a Trident CM to a TriStation PC Using a Hub . . . . . . . . . . . . . . . . . . . . . 25
Setting the Trident Node Number with an Address Plug. . . . . . . . . . . . . . . . . . . . . . 26
Configuring a Trident CM Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
TriStation Software Installation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Installing the TriStation 1131 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Uninstalling the TriStation 1131 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Verifying the TriStation 1131 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Tagnames and Aliases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Write Access by External Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Glossary 179
Index 187
This guide describes communication features available with Trident version 1 systems,
including how to install and configure communication modules. This document replaces all
previous versions of the Trident Communication Guide.
Trident version 1 systems can be used with TriStation versions 3.0 through 4.0 and later.
In this guide, Triconex controllers refers to Tricon and Trident controllers.
Summary of Sections
• Chapter 1, Introduction—Describes the types of communication available with a
Triconex controller and the capabilities of its communication modules.
• Chapter 2, Communication Hardware—Discusses the hardware used to enable
Triconex controllers for communication with each other and with external devices.
• Chapter 3, TriStation Communication—Explains how to connect a TriStation PC to a
Triconex controller and specify write access to points.
• Chapter 4, Client/Server Communication—Explains how to configure Ethernet ports
in the TriStation project and how to configure and use the Triconex OPC Server and
DDE Server client/server programs which use the TSAA messaging protocol.
• Chapter 5, Peer-to-Peer Communication—Explains how to set up controllers for
communication in a Peer-to-Peer network.
• Chapter 6, Modbus Communication—Explains how to set up a controller for
communication as a Modbus master, slave, or both.
• Chapter 7, Related Communication Features—Describes the time synchronization and
parallel printing features of a Tricon controller.
• Appendix A, Communication Module Capabilities—Describes CM operation and
physical communication interfaces.
• Appendix B, Main Processor Capabilities—Describes MP operation and physical
communication interfaces.
• Appendix C, TSAA Protocol—Provides a programmer’s reference for TSAA, which is a
Triconex protocol used for client/server applications.
• Appendix D, Modbus Protocol—Provides detailed information about the Modbus
protocol that can be used by Triconex serial ports.
• Glossary—Provides definitions of terms used in this guide.
Related Documentation
These Triconex books contain related information:
• Planning and Installation Guide
• Developer’s Guides for TriStation MSW and TriStation 1131
• Safety Considerations Guide
• SOE Recorder User’s Guide
Web Site
http://www.triconex.com
Technical Support
Customers in the U.S. and Canada can obtain technical support from the Customer Support
Center (CSC) at the numbers below. International customers should contact their regional
support center.
Requests for support are prioritized as follows:
• Emergency requests are given the highest priority
• Requests from participants in the System Watch Agreement (SWA) and customers with
purchase order or charge card authorization are given next priority
• All other requests are handled on a time-available basis
If you require emergency or immediate response and are not an SWA participant, you may
incur a charge. Please have a purchase order or credit card available for billing.
Telephone
Toll-free number 866-746-6477, or
Toll number 508-549-2424 (outside U.S.)
Fax
Toll number 508-549-4999
E-mail
ips.csc@invensys.com
Overview 2
Module Capabilities and Usage 4
Overview
Trident controllers can communicate with other Triconex controllers and with external devices
by using ports on the Main Processor (MP) Baseplate and the Communication Module (CM)
Baseplate.
This table lists the protocols available with each module.
Supported Protocol MP CM
TriStation 3 3
TSAA Client/Server 3
Peer-to-Peer 3
Modbus Slave 3 3
Modbus Master 3
Modbus Master/Slave 3
Time Synchronization 3
Network Printing 3
TriStation Communication
TriStation protocol enables communication between a TriStation PC and a Triconex controller.
A TriStation PC can be connected to a Triconex controller through an Ethernet port on the CM
Baseplate, or through a serial port on the MP Baseplate.
TriStation MSW (Multi-System Workstation) and TriStation 1131 Developer’s Workbench are
used to develop and monitor applications which run in a Triconex controller. The TriStation
1131 software is compliant with Part 3 of the IEC 61131 International Standard for
Programmable Controllers.
Client/Server Communication
TSAA protocol enables client/server communication between a Triconex controllers and a PC.
OPC Server and DDE Server use TSAA protocol to exchange data with Triconex controllers.
TSAA protocol can also be used to write custom programs for accessing Triconex points.
Peer-to-Peer Communication
Triconex Peer-to-Peer protocol allows multiple Triconex controllers in a closed network to
exchange safety-critical data. The controllers exchange data by using Send and Receive function
blocks in their TriStation applications. The controllers can synchronize their time with the
master node (the one with the lowest node number) or with an external device, such as a DCS.
Modbus Communication
Modbus is an industry-standard master/slave protocol that is traditionally used for energy
management, transfer line control, pipeline monitoring, and other industrial processes. A
Trident controller can operate as a Modbus master, slave, or both. A DCS typically acts as the
master while the Triconex controller acts as a slave. The master can also be an operator
workstation or other device that is programmed to support Modbus devices.
The Trident controller includes serial ports on the CM and MP that enable communication with
Modbus devices. Each CM and MP port can operate in a point-to-point configuration with a
single Modbus device. In addition, each CM port can operate in a multi-point configuration
with several Modbus devices connected to a serial link.
external device time prevails for all Triconex controllers on the network. Triconex Time
Synchronization can be used with external devices that use TSAA or Modbus protocol.
If networked controllers are collecting event data for system maintenance and shutdown
analysis, Triconex Time Synchronization must be used to ensure accurate time-stamping of
events.
Network Printing
A Trident controller can send brief ASCII text messages to a printer by means of a print server
connected to an Ethernet port on the CM. These messages are typically used for alarms, status
and maintenance. The printing devices you can use with a Trident controller include an HP
JetDirect-compatible print server, a printer, and a router or hub.
Overview 6
Triconex Communication Cables 7
Redundant Devices 8
Print Servers and Printers 11
Overview
This chapter describes Triconex products and other devices that must be purchased to enable a
Triconex controller for communication. Typical configurations include redundant modules,
cables, and workstations, but can include other devices.
Triconex supplies communication cables, but does not supply PCs, hubs, MAU devices, print
servers, or printers. You must purchase these devices from manufacturers such as Black Box
Network Services and Hewlett-Packard.
If the system requires a hub, it should operate at 10 or 100 megabits per second, or be auto-
negotiable for either speed. Most hubs do not require configuration and do not have IP
addresses. If you are using a managed hub, follow the manufacturer’s instructions for
installation and configuration.
If you need assistance with selecting communication hardware, please contact your Network
Administrator or Information Technology department.
1. Typical Ethernet devices are print servers and PCs used for SOE, OPC Server, or DDE Server.
Redundant Devices
To ensure continuous operation of a Triconex system if a hardware failure occurs, you can create
a redundant configuration. Redundant devices can include modules, workstations, cables,
hubs, media converters, printers, and power sources.
A redundant device operates in parallel with a primary device so that, if the primary device
fails, the redundant device is easily or automatically placed into service. A typical configuration
includes two CM modules with redundant cables connected to one port on each module. The
redundant modules protect against internal faults, and the redundant cables protect against
cable breakage. To protect against network failures, you can connect a primary workstation to
one network and a redundant workstation to another network, as shown in this figure.
Trident Controller
CM
To CM
NET2
Ports
To NCM To NCM
NET2 NET2
Ports Ports
NN
NET 2 NN
NET 2
M M M CC M M M CC
P P P MM P P P MM
A B C 1 2 A B C 1 2
HP JetDirect-Compatible
Print Server Trident Controller
Centronics-Compatible
Printer
Ethernet CM
Standard
Hub
Printer Cable
Ethernet Cable
Ethernet Cable
MP
Other Network
Connections
Overview 14
Communication Accessories 15
MP Connection to a TriStation PC 16
CM Connection to a TriStation PC 22
TriStation Software Installation 29
Tagnames and Aliases 31
Write Access by External Devices 32
Overview
This chapter describes the tasks required to connect a PC used for TriStation to a Trident
controller. TriStation must be used to program and operate the controller, and to establish its
address on an Ethernet network. TriStation can also be used for diagnostic monitoring of
downloaded projects that are running in Trident controllers on a network.
The initial task is to set up a PC with the required hardware and communication protocols. This
includes installing a network adapter card and the DLC or TCP/IP protocol. If you plan to
connect the TriStation PC to an MP port on the Trident controller, the DLC protocol must be
installed on the PC. If you plan to connect the TriStation PC to a CM port, the TCP/IP protocol
must be installed on the PC.
The next task is to install the TriStation 1131 software on a PC using the setup program provided
by Triconex. Then you can physically connect the TriStation PC to an MP or CM port on the
Trident controller. You can connect the PC directly to one of these ports, or to an Ethernet hub
that is connected to one of the ports.
Your communication cable must be rated for 10 or 100 megabits per second. Hubs can be auto-
negotiable for either speed. You can buy communication cables from Triconex or from other
manufacturers. You must buy hubs from other manufacturers.
Another essential task of the physical connection is to set the node address of the Trident
controller using a Triconex-supplied address plug. The physical address must match the logical
address that you set in the TriStation configuration.
After the physical connection tasks are completed, you must logically configure the connection
in the TriStation project. After completing the physical and logical connection tasks, you can
download, run and monitor the TriStation application.
The sections in this chapter include detailed instructions for all of these tasks.
Communication Accessories
The TriStation PC can be directly connected to an MP or CM port on the Trident controller, or
to an Ethernet hub that is connected to one of these ports. These accessories are available from
Triconex.
A suitable hub should operate at 10 or 100 megabits per second, or be auto-negotiable for either
speed. Most hubs do not require configuration and do not have IP addresses. If you are using a
managed hub, follow the manufacturer’s instructions for installation and configuration. You
must purchase hubs elsewhere because Triconex does not supply them. Examples of
dependable manufacturers are Black Box Network Services and Hewlett-Packard.
MP Connection to a TriStation PC
This section explains how to connect a TriStation PC to a Trident MP port. This can be a direct
connection from the MP to the PC, or a connection through a hub on a network.
To set up the connection you must install a network interface card and DLC protocol on the PC,
set the node number of the controller, connect the PC to an Ethernet port on the MP Baseplate,
and configure the connection in the TriStation project.
Topics include:
• Installing a Network Interface Card in a TriStation PC (page 17)
• Installing DLC Protocol on a TriStation PC (page 17)
• Directly Connecting a Trident MP to a TriStation PC (page 18)
• Connecting a Trident MP to a TriStation PC Using a Hub (page 19)
• Setting the Trident Node Number with an Address Plug (page 20)
• Configuring an MP Connection to a TriStation PC (page 21)
Procedure
1 Install the network adapter card by following the manufacturer’s instructions. Do not
change the factory default settings on the network interface card.
2 Connect the network interface card directly to an MP port on the Trident controller or to
an Ethernet hub.
3 Run the diagnostics provided with the network interface card according to the
manufacturer’s instructions.
Procedure
1 Attach one end of the cross-over cable to one of the RJ-45 connectors on the MP
Baseplate. This is typically MP A, as shown in the figure.
2 Attach the other end of the cross-over cable to the network interface card in the PC.
Trident Controller
CM
Cross-over
Cable
RJ-45 MP
Connector
(MP A)
Procedure
1 Attach at least one 10BaseT straight-through cable from an RJ-45 connector on an MP
Baseplate to the hub.
Using more than one cable provides redundancy for the TriStation connection. If you
use only one cable during live operation, you have to unplug it and move it to another
RJ-45 connector if the original connection fails.
2 Attach the network interface card in the TriStation PC to the hub using another 10BaseT
straight-through cable.
Trident Controller
CM
To Ethernet
Network
Straight-through RJ-45
Cable Connectors
MP
Hub
Channel A
Channel B
Channel C
Straight-through Cables
Procedure
1 In the lower-left corner of the MP Baseplate, attach a Triconex-supplied address plug
which has the correct number.
To complete the setting, the node must be configured in the TriStation project.
Procedure
1 In TriStation v4, go to the TriStation Communication screen; in TriStation v3, go to the
Communications tab on Project Options.
2 Specify these properties to match the physical connection.
Property Action
Main Processor Check the Main Processor Connection check box. (In v3.0, select Main
Connection Processor as the Default Connection.)
Node Number Enter the number specified by the address plug on the MP Baseplate.
Node Name Enter a name with eight or fewer characters to identify the Tricon
controller.
Main Processor Click Left, Middle, or Right to specify which MP port is connected to
Setup (Port) the TriStation PC.
NIC Index Enter the index position of the network interface card in the TriStation
(Network Adapter) PC.
3 Open the MP Setup screen and click the Network Ports tab.
4 For the port that is physically connected to TriStation PC, specify the Transceiver Mode
to match the hardware installed.
5 Click OK to save.
CM Connection to a TriStation PC
This section explains how to connect a TriStation PC to a Trident CM port. To do so, you must
install a network interface card and TCP/IP protocol on the PC, set the node number of the
controller, connect the PC to an Ethernet port on the CM, and configure the connection in the
TriStation 1131 project.
Topics include:
• Installing an NIC Card in a TriStation PC (page 23)
• Installing TCP/IP Protocol on a TriStation PC (page 23)
• Directly Connecting a Trident CM to a TriStation 1131 PC (page 24)
• Connecting a Trident CM to a TriStation PC Using a Hub (page 25)
• Setting the Trident Node Number with an Address Plug (page 26)
• Configuring a Trident CM Connection (page 27)
Procedure
1 Install the network interface card by following the manufacturer’s instructions. Do not
change the factory default settings on the network interface card.
2 Connect the network interface card directly to a CM port on the Trident controller or to
an Ethernet hub.
3 Run the diagnostics provided with the network interface card according to the
manufacturer’s instructions.
Procedure
1 Attach one end of a cross-over cable to a Net1 or Net2 connector on the CM baseplate,
as shown in this figure.
Trident Controller
Cross-over
Cable
RJ-45
Connectors
MP
2 Attach the other end of the cross-over cable to the network interface card in the
TriStation PC.
Procedure
1 Attach one end of a straight-through cable to a Net1 or Net2 connector on the CM
Baseplate.
2 Attach the other end of the straight-through cable to an Ethernet hub, as shown in this
figure.
3 Connect the TriStation PC to the hub using another straight-through cable.
To Ethernet
Network Trident Controller
CM
Straight-through
Straight-through
Cable
Cable
RJ-45
Connectors
Hub
MP
Procedure
1 In the lower-left corner of the MP Baseplate, attach a Triconex-supplied address plug
which has the correct number.
To complete the setting, the node must be configured in the TriStation project.
Before Starting
Before starting this procedure, you must determine the IP address to use for the CM. If the
connection goes through a gateway or a router, you also need IP addresses for those devices.
Typically, you can get the necessary IP addresses from your Network Administrator or
Information Technology department.
Procedure
1 In TriStation go to the TriStation Communication or Communications screen and specify
these properties to match the physical connection.
Property Action
Network Connection Check the Network Connection check box.
Node Number Enter the number that you set with rotary switches on the ACM or
NCM.
Node Name Enter a name that contains eight or fewer characters to identify the
Tricon controller.
IP Address Enter the IP address.
NIC Index ( Enter the index position of the network interface card in the
TriStation PC.
Property Action
Slot Selection Click Left Slot or Right Slot, depending on which slot contains the
module that is connected to the TriStation PC.
Mode For the TriStation connection, select Open Network from the list.
For each CM on a baseplate, you can select Open Network for either Net1
or Net2, but not for both of these ports.
Privilege Click Read or Read/Write to specify access privileges for external
devices on the network.
A TriStation application must use the Privilege option in conjunction
with the MP.REMOTE_WRT_ENBL control attribute (and possibly other
write controls) to enable writes by external devices.
Transceiver Port Click RJ-45 or MAU depending on the type of CM Baseplate port to
which you have physically attached the TriStation cable.
Property Action
Transceiver Select the Auto mode if the TriStation cable can auto-negotiate to either
Mode 10 or 100 megabits per second.
If your cable operates at only one speed, select the appropriate speed
from the list.
IP Address If using the default node number, do not change this property (leave
blank).
If using a different node number, enter the IP address that identifies the
controller on the network. This must be the same address you enter in
step 2.
IP Subnet Mask Get the subnet mask from your Network Administrator.
Default Gateway If the CM connection to the TriStation PC goes through a default
IP Address gateway, enter the IP address of the gateway.
Time Click None. This property does not apply to TriStation communication.
Synchronization
Before Starting
If you have previously installed the TriStation 1131 software on your PC, you must uninstall it
before installing a new version of the software.
Procedure
1 Log on as an administrator or as a user with administrator privileges.
2 Close all open applications.
3 Insert the TriStation 1131 CD in the CD-ROM drive.
If the installation starts automatically, go to Step 6. Otherwise, go to the next step.
4 From the Start menu, click Settings, and then click Control Panel.
5 Double-click Add/Remove Programs.
6 On the Install/Uninstall tab of the Add/Remove Programs Properties dialog box, click
Install.
7 Follow the InstallShield Wizard instructions.
Triconex recommends installing the TriStation 1131 software in the default destination
folder, which is: C:\Program Files\Triconex\TriStation 1131 4.0\Programs.
8 To restart your PC after the installation has finished, click Yes. You must restart your PC
before running the TriStation 1131 software.
9 To complete the installation, click Finish.
Procedure
1 Log on as an administrator or as a user with administrator privileges.
2 From the Start menu, click Settings, and then click Control Panel.
3 Double-click Add/Remove Programs, and select TriStation 1131.
4 Click Change/Remove.
The Confirm File Deletion dialog box asks you to confirm the deletion of the selected
application and all its components.
5 Click Yes to remove the previous version of TriStation 1131.
Note If you saved projects in the default directory, (C:\Program
Files\Triconex\TriStation 1131 4.0\Programs), the uninstall program
does not remove them.
6 Click Yes or Yes to All if the Remove Shared File dialog box asks about removing unused
DLLs.
7 When the Uninstall Successfully Completed message appears, click OK.
You can now install a new version of the TriStation 1131 software.
Procedure
1 From the Start menu, select Programs, Triconex, and then Install Check.
2 Click Run.
3 Click Display Details and verify that the program is validated by viewing each item in
the list.
Access by Access by
Protocol or Application
Tagname Alias
Modbus Master 3
Modbus Slave 3
Trident or Tricon Peer (in a Peer-to-Peer network) 3
OPC Server 3 3
DDE Server 3
User-Written TSAA Application 3 3
Overview 34
Configuring Ethernet Ports in TriStation 36
DDE Server for Triconex 45
OPC Server for Triconex 55
Other OPC Products 59
Overview
Client/server communication with Triconex controllers can be done by using the DDE Server
and OPC Server applications, which use the Triconex System Access Application (TSAA)
protocol. For most process control networks, using DDE Server or OPC Server is the best
solution.
TSAA protocol can also be used to write custom applications for accessing Triconex data, such
as these:
• Control (read/write) applications for operators that need read access to Triconex status
and write access to Triconex data.
• Monitor (read-only) applications such as a sequential events recorder or a status
display that collects and records Triconex data.
For detailed protocol information, see Appendix C, TSAA Protocol.
CM CM
NET2
NET1
NET2
(NCM) NN
M M M CC
P P P MM
A B C 1 2
MP MP
Ethernet Network
To DCS
Applications that use TSAA to exchange information with a Triconex controller require a
Trident CM. You can install a maximum of two CM modules in a controller. You can physically
connect one Ethernet port on each CM to an Ethernet network. Through one Ethernet port, the
controller can communicate with multiple devices on a network, such as a TriStation PC, a print
server, and a client PC.
Ethernet ports on the Trident CM are called Net1 and Net2. The Net2 ports can operate at 10 or
100 megabits per second; the Net1 ports can operate at 10 megabits only. The data transmission
rate of the device or network you connect determines which port and cabling you must use.
Most Ethernet devices and networks operate at 100 megabits per second, so connecting one to
a Trident controller usually means you must use Fast Ethernet (100BaseTX) cabling.
Each Ethernet port must be configured in the TriStation project, which means you must specify
the mode, access privilege, port type and speed, IP address, and time synchronization
properties. Part of physically connecting a CM port to a network is to set the IP address of the
port. The most convenient methods are to use the Triconex default address or a Reverse ARP
server. Other ways are discussed in this chapter.
A Trident controller on an Ethernet network can communicate with devices on other networks
if you specify the IP address of the default gateway or other routes in the TriStation project.
Specifying the default gateway is often sufficient, but you can specify multiple other routes if
necessary.
Another task is to specify whether external devices are to have access to the application running
on the Triconex controller. There are many levels of access including allowing general write
access while protecting specific points from write access through configuration settings. For
more information, see Trident Write Access (page 99).
Procedure
1 Open the TriStation project and go to the CM Setup (Configuration) screen.
2 Specify these properties as required by the project and installation.
Privilege
This property determines whether external devices connected to Open Network ports have
Read or Read/Write access to Trident points.
• If set to Read, external devices cannot write to any tagnames no matter what other
write access controls are used. This setting protects safety-critical tagnames from writes
by external devices on an open network.
• If set to Read/Write, external devices can write to tagnames depending on the settings
of other write access controls.
Read is the default setting.
The Privilege option must be used in conjunction with other write access controls. For more
information, see Trident Write Access (page 99).
Transceiver Port
Use the default called RJ-45 if you have attached the communication cable to an RJ-45 connector
on the CM Baseplate.
Select the MAU option if you have attached an MII MAU to a 40-pin subminiature D connector
or an AUI MAU to a DB-15 connector on the CM Baseplate. You might have to set the physical
address of a MAU before attaching it to a CM port. You must purchase MAUs from a third-party
manufacturer. For more information, see Chapter A, Communication Module Capabilities.
Transceiver Mode
Under Transceiver Mode, select Auto mode for the physical connection to TriStation if the cable
can auto-negotiate to either 10 or 100 megabits per second.
If the cable operates at only one speed, select the appropriate speed from the list under
Transceiver Mode.
TCP/IP Address
Enter the IP address of the controller on a network. If the network configuration permits, use a
Triconex default address. If not, get an address from your Network Administrator or
Information Technology department. For more information, see Setting the IP Address
(page 38).
Time Synchronization
This property specifies whether to use time synchronization in the network.
These options are available:
• On Net1: Synchronizes the time with the master node on the network that is connected
to Net1.
• On Net2: Synchronizes the time with the master node on the network that is connected
to Net2.
• None: Time synchronization is not performed by a Trident controller, but can be
performed by an external device (such as an OPC client).
For more information, see Time Synchronization (page 101).
Procedure
1 Connect the controller to the network by using an Ethernet port on the CM.
2 Power up the controller.
3 Connect the TriStation PC to the network, or directly to an Ethernet port on the CM.
4 Verify the node number in the TriStation project is configured set to this IP address:
• 192.168.1.1 (Trident CM Net1)
• 192.168.2.2 (Trident CM Net2)
If the controller includes two communication modules, the default address applies to
both modules.
Note The Left CM and Right CM use the same 48-bit physical MAC address and
cannot be connected to the same network.
5 In the TriStation project, open a connection between the TriStation PC and the controller.
6 Wait about 40 seconds for the module to reset and become active.
When the module is active, its Active indicator is green.
7 Download the TriStation application to the controller.
8 Verify the setting of the default IP address on the network by opening a DOS window
and entering the command “ping <IP address>.”
If the network connection is made, the reply includes the IP address followed by byte
and time information.
If the connection is not okay, the reply is “Request timed out.”
Procedure
1 Give the Network Administrator the MAC address, which is:
40-00-00-00-x-03 (where x is the Trident controller node number)
2 Ask the Network Administrator for the IP address that is to be used for the controller.
3 Connect the controller to the network through a network port on the communication
module. Power up the controller.
During initialization, the communication module sends a request to the RARP server for
an IP address that has been mapped to its own 48-bit MAC address.
Note The Left CM and Right CM use the same 48-bit physical MAC address and
cannot be connected to the same network.
4 Verify the setting of the intended IP address on the network by opening a DOS window
and entering the command “ping <IP address>.”
If the network connection is made, the reply includes the IP address followed by byte
and time information.
If the connection is not okay, the reply is “Request timed out.”
5 Connect the TriStation PC to the network, or directly to network port on the
communication module.
6 In the TriStation configuration, specify the node number of the controller and its
intended IP address, if you have not already done so.
7 Open a connection between the TriStation PC and the controller.
8 Download the TriStation application to the controller.
Procedure
1 Ask your Network Administrator for the IP address that is to be used for the controller.
2 Connect the TriStation PC to a TriStation port on the MP Baseplate.
3 Connect the controller to the network by means of an Ethernet port on the CM.
4 In the TriStation project, configure these:
• The MP and CM ports
• The node name and node number of the controller
• The intended IP address
5 Power up the controller.
6 In TriStation, connect to the controller and specify which communication port is to be
used.
7 Download the TriStation application.
The CM initializes (resets) and accepts the IP address you specified in the TriStation
project.
8 Verify the setting of the intended IP address on the network by opening a DOS window
and entering the command “ping <IP address>.”
If the network connection is made, the reply includes the IP address followed by byte
and time information.
If the connection is not okay, the reply is “Request timed out.”
9 If the IP address is set, you can disconnect the TriStation PC from the MP port and
connect it to an Ethernet port on the CM or to the network.
Procedure
1 Ask your Network Administrator for the IP address that is to be used for the Trident
controller.
2 Connect the controller to the network using an Ethernet port on the CM.
3 Connect the TriStation PC to an Ethernet port on the CM, using a direct or network
connection.
4 On the TriStation PC, use Windows procedures to set the IP address of the PC to either
of these:
• 192.168.1.x if the PC is physically connected to a Net1 port, where x is any unused
host number.
• 192.168.2.x if the PC is physically connected to a Net2 port, where x is any unused
host number.
5 Wait for the TriStation PC to reset.
6 Open the TriStation project. Specify the node name, node number, and the default IP
address of the controller.
7 Specify the intended IP address for the Ethernet port on the CM Setup (Configuration)
screen.
8 Power up the controller.
9 From TriStation, open a connection to the controller and specify the CM port that is to
be used for the connection. Verify that the default IP address is displayed.
10 Connect to the controller and download the TriStation project.
11 Wait for the download to complete.
After the download is complete, TriStation displays the message, “Connection failed.”
The default IP address you specified in the node definition is invalid, and the intended
IP address of the CM is set.
12 On the TriStation PC, use Windows procedures to set the IP address of the PC to its
actual address on the network.
13 Verify that the intended IP address of the CM has been set by opening a DOS window
and entering the command “ping <IP address>.”
If the network connection is made, the reply includes the IP address followed by byte
and time information.
If the connection is not okay, the reply is “Request timed out.”
14 In the TriStation project, change the default IP address to the newly set IP address.
15 In TriStation, connect to the controller.
16 After the IP address is set on the network, you must reconfigure the IP address in the
TriStation project and assign a valid IP address to the TriStation PC.
Message Routing
A Trident controller on a network can communicate with devices on other networks if you
specify the IP address of the default gateway or other gateways in the TriStation project. Before
starting these procedures, get the IP addresses you will need from your Network Administrator
or Information Technology department.
CM
Centronics
Printer
JetDirect 206.32.216.84
Print Server
192.168.1.101
206.32.216.100 MP
Default
192.168.1.100 Gateway Trident Controller
Procedure
1 Open the TriStation project and go to the CM Setup (Configuration) screen.
2 Click the Network tab and select Left Slot or Right Slot depending on which CM is being
configured.
3 For the Mode property, select Open Network for Net1 or Net2 (depending on which one
is connected to an Ethernet network).
4 For the Default Gateway Address property, enter the IP address of the default gateway
that is connected to the local subnet.
CM
Centronics
Printer
206.32.216.64
Route 1
206.32.216.100
JetDirect
Print Server
192.168.1.101
MP
Trident Controller
Route 2
192.168.2.101
206.32.216.101
192.168.2.1
OPC Server
Installing on Windows NT
1 If a previous version is installed, uninstall it.
2 Close all open applications.
3 Go to the WindowsNT folder and double-click the setup.exe program.
4 Follow the installation instructions.
• If the installation is successful, a message advises you to click Finish. You are
finished with the installation procedure.
• If the installation requires Factory Suite 2000 components, a message is displayed
and the DDE Server setup is closed. Continue to step 5 in this procedure.
5 Go to the FS2000 folder (under the WindowsNT folder) and double-click SETUP.bat.
You may see a warning about the Windows service pack installed on your PC. Click OK
to continue installing the Factory Suite 2000 components.
6 Follow the installation instructions. You may also be asked if you want to install Adobe
Acrobat 3.0, which is an older version of the product. Click Cancel to not install this
version, and then click OK.
7 Go to the WindowsNT folder and double-click the setup.exe program to restart the DDE
Server installation.
8 Click Finish to complete the installation. You may be required to reboot your PC.
You can also modify or delete the configuration of a Triconex controller. Before modifying a
configuration, make sure it is not being used by a DDE client. If you delete a configuration, the
associated controller can no longer be accessed by a DDE client.
To allow a DDE client to change the values of Triconex variables, you must enable write access
by setting controls in the TriStation application.
Procedure
1 Start DDE Server from the Start menu by selecting Programs, then Triconex, then
Triconex DDE Server. The DDE Server main window is displayed.
2 From the File menu, click Configure. The Configuring Host Information screen is
displayed.
3 Either select an existing node and click Modify or click Add to add a host.
The Host Name Configuration screen is displayed.
Host Name
The Host Name property identifies the user-defined name for a controller which must be unique
for each controller. (This name is used by the DDE client application to request data from the
controller.)
The default names are TRINODE01 (for node 1) through TRINODE16 (for node 16)
Node Number
The Node Number property identifies the Triconex node number which must be unique for
each controller.
The node number must match the physical switch settings on the MP Front Panel (Tricon) or
MP Baseplate (Trident), the ACM or NCM (Tricon) and the node address specified in the
TriStation project. The default values are 1 to 16.
Redundant
The Redundant property identifies whether there are redundant paths to the controller. You
should select this property if the physical configuration is redundant. This means that two
network interface cards must be connected to network ports on two communication modules.
• For Tricon, the Net2 port on two ACM or two NCM modules
• For Trident, the Net1 or Net2 port on two CM modules
The default is not redundant.
For more information, see Configuration Requirements for Redundancy (page 51).
Time Sync
The Time Sync property identifies whether a Triconex node (host) is to be synchronized with
the clock on the DDE Server PC. If there is more than one Triconex controller in a network, you
should select the master node for synchronization with the DDE Server PC clock. The master
node can then synchronize the time of the other Triconex controllers.
For time-critical applications, Triconex does not recommend selecting the Time Sync property
because PCs are not generally a reliable source for time synchronization.
The default is not synchronized.
Poll Time
The Poll Time property identifies how often the Triconex controller refreshes the data stored as
aliases. The polling interval must be greater than the scan time of the controller.
The default is 1,000 milliseconds (one second).
IP Address
The IP (Internet Protocol) address property identifies the unique 32-bit network address of the
primary communication module in the Triconex controller.
For a Tricon controller, you must specify this property if the Use 802.2 property is not selected.
Device Type
The Device Type property identifies whether the host is a Tricon or a Trident controller.
Procedure
1 On the Host Name Configuration screen, click the Server button. The Configuring Host
Information screen is displayed.
2 Specify the following properties.
LLC SAP
The LLC SAP (Service Access Point) property specifies the address for the DDE Server on the
PC, which must be a unique address.
The default is 4.
Procedure
1 On a PC, from the Start menu, click the MS-DOS Command Prompt.
2 Type the word ping followed by the IP address to be tested. For example, for an IP
address of 206.32.216.43, enter this:
ping 206.32.216.43
3 If the network connection is made, the reply includes the IP address followed by byte
and time information. If the connection is not okay, the reply is “Request Timed Out”.
Procedure
1 Install two network adapter cards and the TCP/IP protocol on the DDE Server PC.
2 On the DDE Server PC, use Windows NT procedures to set the IP addresses of the
network adapter cards. A sample IP address is:
206.32.216.x (where x = 1 to 254)
3 Connect the network adapter cards on the DDE Server PC to Ethernet ports on the
primary and redundant Triconex communication modules.
4 In TriStation, set the IP addresses for the primary and redundant communication
modules.
A sample IP address is 206.32.64.y where y is the node number. The node number is set
as follows:
• For Tricon, the number is set with physical switches on the NCM or ACM.
• For Trident, the number is set with the address plug on the MP Baseplate.
5 From the DDE server application, configure each Triconex node with a host name. You
must use the same IP address for the node configuration in DDE Server that is used in
TriStation.
Procedure
1 Install two network adapter cards and the DLC protocol on each network card on your
DDE PC.
2 Connect the first network adapter card in the DDE PC to the left NCM or ACM.
3 Connect the second network adapter card to the right NCM or ACM.
4 In the DDE Server application, check the Redundant and Use 802.2 properties. (When
these properties are checked, it is not necessary to configure IP addresses.)
5 Set the First Adapter property to 0 (zero) and the 2nd Adapter property to 1 (one).
Save the address you have specified in the DDE client application and start the DDE Server
application. Both the client and server applications must be running concurrently to request or
exchange data. The DDE Server sends the request to the Triconex controller, then returns the
data to the DDE client application.
As an example, the following address could be entered in a blank cell of a Microsoft Excel
worksheet to request the value for alias 40001 in TRINODE02:
=TR1DDE|TRINODE02!‘40001’
Although you can run only one DDE Server application at a time, you can run as many DDE
client applications as allowed by the virtual memory available on your PC.
For details on syntax for the DDE address, see the user’s manual for the client application you
are using.
Menu Commands
The DDE Server includes these commands.
You can include TriStation configurations for multiple networked controllers in one XML file
by using the same file name when exporting each configuration. The information from each
TriStation configuration is appended to the file.
In OPC Server, you can edit the properties of aliases and tagnames and other aspects of the
configuration. If you change the name of the configuration or alias, a new entry is created in the
XML configuration file. If you change properties related to the entry, but do not change the
configuration or alias name, those properties are changed for the entry.
The Triconex OPC Server is available from Triconex and Matrikon. For more information on the
Triconex OPC Server and OPC client applications, see the Matrikon Web site at
www.matrikon.com.
Procedure
1 In TriStation, assign all aliases to be accessed by OPC Server.
2 To allow an OPC client to change the values of Triconex variables, you must enable write
access in the TriStation application.
3 From TriStation, complete the application and download it to the controller.
4 Export the XML configuration file by exporting the tagnames (points).
Select the file type as Matrikon OPC XML Data Files(*.XML). Name the file using the
XML extension, using a maximum of eight characters. If you include multiple
configurations, use the same file name each time you use the export command.
5 If not already done, install OPC Server and start it. When OPC Server is loaded, a gray
Triconex icon is displayed on the status bar.
6 To open the XML configuration file, right-click the Triconex icon from the status bar and
select Configure.
The OPC Server for Triconex PLCs window is displayed.
7 From the File menu, select Open, then select the XML file you exported from TriStation.
As the file loads, statistics are displayed. When finished, you can display Server
Configuration and Alias configuration information.
8 To display Server Configuration information, select a node from the Current
Configuration pane. This screen shows the Server Configuration information. You can
make changes to these properties by entering the changes and pressing the Apply
button.
Click node to
display Server
Configuration
Specify the
properties of the
Left and Right
CM on tab 1 and
tab 2
9 Under Protocol Settings, specify the TCP/IP address and other properties of the
Triconex communication module on tab 1.
If the controller includes two communication modules, specify the properties of the left
module and the right module on tabs 1 and 2.
Do not use tabs 3 through 7.
10 To display alias information, select a node under Alias Configuration in the Current
Configuration pane. To make changes to an alias, double-click the alias row. An Edit
Alias screen is displayed, as shown in this screen.
Click node to
display Alias
Configuration.
Double-click
alias row to
edit an alias.
11 Repeat steps 8 through 11 for each node configuration included in the XML file.
12 If you made changes to any of the configurations and want to keep them, save the
configuration file.
13 To use OPC Server to get data from a Triconex controller, install an OPC client
application. (Matrikon sells OPC client applications.)
14 In the OPC client application, you can specify the tagnames or aliases of the data to be
accessed.
A sample tagname is DO_02, as shown in the preceding screen.
The location of the data is described as node: bin: offset in the Item Path column for the
Alias Configuration.
Redundant Configuration
OPC Server can be configured for dual redundancy by using two OPC Server PCs. Each PC
must include two Ethernet interface cards, which must be connected to a Triconex
communication module on the primary network and a Triconex communication module on the
redundant network. You must specify the properties of the redundant Triconex communication
modules on the OPC Server Configuration screen. For a figure of redundancy which includes
OPC Server, see Redundant Devices (page 8).
Overview 62
Peer-to-Peer Data Transfer Time 64
Configuring Peer-to-Peer Ports in TriStation 66
Allocating Peer-to-Peer Memory 67
Using Send and Receive Function Blocks 67
Restrictions on Data Transmission Speed 69
Monitoring Peer-to-Peer Communication 70
Sample Peer-to-Peer Programs 72
Overview
Triconex Peer-to-Peer protocol is designed to allow multiple Tricon and Trident controllers in a
closed network to exchange safety-critical data. (If you plan to implement a complex Peer-to-
Peer network, please contact Triconex Technical Support.) To enable Peer-to-Peer
communication, you must connect each controller to an Ethernet network by using an Ethernet
port on the CM. The controllers exchange data by using Send and Receive function blocks in
their TriStation applications.
Peer-to-Peer Network
CM CM
Tricon
Controller
NN
M M M CC
P P P MM
A B C 1 2
MP MP
Trident Controller Trident Controller
To configure a TriStation application for Peer-to-Peer communication, you must do these tasks:
• Configure the physical port connection for Peer-to-Peer mode
• Allocate memory for Send and Receive function blocks
• Add Send and Receive function blocks to the TriStation application
• Observe restrictions on data transmission speed
In addition, Triconex recommends that you calculate the data transfer time to determine
whether the control algorithms will operate correctly.
A TriStation application must use a specific Send function block to send data to a matching
Receive function block in another TriStation application. Each Send function block has a
parameter that identifies the Receive function block to which it sends data. Each Receive
function block has a parameter that identifies the Send function block from which it receives
data.
The Send and Receive function blocks can transfer data with BOOL, DINT, or REAL data types.
Some function blocks transfer 20 data values, and others transfer 32 data values. For detailed
information about the available Send and Receive function blocks, see the TriStation Libraries
Reference.
Peer-to-Peer communication speed for Tricon controllers is 10 megabits per second; Trident
controllers communication speed is 10 or 100 megabits per second. If the network includes both
types of controllers, you can run the entire network at 10 megabits per second, or you can use a
hub that converts messages from 10 to 100 megabits per second when they are transferred from
a Tricon to a Trident. Triconex suggests using the Net1 port on both Tricon and Trident
communication modules, because 10 megabits per second is the only speed available on Net1.
With this setup, Net2 is available for faster communication with external devices on an Ethernet
network. For more information, see Restrictions on Data Transmission Speed (page 69).
For monitoring Peer-to-Peer data exchange, TriStation provides function blocks and system
attributes to track network communication paths and verify whether the Ethernet ports are
receiving data from other controllers.
The sample programs described in this chapter on the TriStation CD. These programs show how
to send data at high speed and under controlled conditions, and how to measure the maximum
data transfer time.
Procedure
1 Open the TriStation project used for the sending controller and go to the Memory
Allocation screen.
2 Find the bytes allocated for BOOL, DINT, and REAL points.
• Add the number of bytes allocated for all BOOL input, output, and aliased memory
points.
• Repeat these steps for DINT and REAL points.
3 Open the TriStation project used for the receiving controller and go to the Memory
Allocation screen.
4 Find the bytes allocated for BOOL, DINT, and REAL points.
• Add the number of bytes allocated for all BOOL input, output, and aliased memory
points.
Point Allocated
Steps Operation Result
Type Bytes
1. Enter the number of bytes for each point BOOL _________ ÷8= _________
type on the sending controller and divide or
multiply as indicated. Add the results. DINT _________ •4= _________
REAL _________ •4= _________
System Variables + 376
Total bytes of aliased points TBS = _________
2. Multiple total bytes sending TBS (step 1) by .01 TS = _________
3. Enter the number of bytes for each point BOOL _________ ÷8= _________
type on the receiving controller and divide or
multiply as indicated. Add the results. DINT _________ •4= _________
REAL _________ •4= _________
System Variables + 376
Total bytes of aliased points TBR = _________
4. Multiple total bytes receiving TBR (step 3) by .01 TR = _________
5. Get the scan time of sending node in milliseconds by viewing the SS = _________
Scan Time in the diagnostic screen or by getting the value of the
ACTUAL_SCAN_TIME parameter in the SYS_MP_EXT_STATUS
function block.
6. Get the scan time of receiving node in milliseconds by viewing the SR = _________
Scan Period in the Execution List.
7. Multiply the larger of TS or SS by 2. _________
8. Multiply the larger of TR or SR by 2. _________
9. Add the results of step 7 and 8 to get the data transfer time = DT _________
10. If the number of pending send requests in the application is greater
than 10, divide the number of send requests by 10. _________
11. Multiply the results of steps 9 and 10 to get the adjusted data Adjusted
transfer time. DT _________
12. Compare the adjusted DT to the process-tolerance time to determine if it is
acceptable.
Procedure
1 Open the TriStation project and go to the Network tab on the CM Setup (Configuration)
screen.
2 Specify these properties to match the physical connection.
Mode
Select Peer-to-Peer for Net1or Net2 Mode.
For each CM on a baseplate, you can select Peer-to-Peer for one Ethernet port. If you are using
two CM modules, you must select Peer-to-Peer for the same Ethernet port (Net1 or Net2) on
each CM.
Transceiver Port
This option describes the physical network connection. Select RJ-45 (the default) if you have
attached your communication cable to an RJ-45 connector on the CM Baseplate.
Select the MAU option if you have attached an MII MAU to a 40-pin subminiature D connector
or an AUI MAU to a DB-15 connector on the CM Baseplate. You might have to set the physical
address of a MAU before attaching it to a CM port. You must purchase MAUs from a third-party
manufacturer. For more information, see Chapter A, Communication Module Capabilities
Transceiver Mode
This option specifies whether messages are transmitted and received simultaneously (10
Megabit Full Duplex mode) or in one direction at a time (10 Megabit Half Duplex mode). Select
a mode that is compatible with the available hardware.
Time Synchronization
This option specifies whether to use time synchronization in your network. Select one of the
following:
Select one of the following options:
• On Net1: Synchronizes the time with the master node on the network that is connected
to Net1
• On Net2: Synchronizes the time with the master node on the network that is connected
to Net2
• None: Time synchronization is not performed by a Trident controller, but can be
performed by an external device (such as an OPC client)
The _32 ending means that the function block can send 32 data values. Function block names
that do not include the _32 ending can send 20 data values.
All Send function blocks—and all Receive function blocks—have the same parameters, except
for the data transfer parameters which are BOOL, DINT, or REAL. For detailed descriptions, see
the TriStation Libraries Reference.
Send1toNode2
Identifiers for:
Sending Function Block
Receiving Node 21
Receiving Function Block Send1toNode2Status
Recv1FromNode1
Identifiers for:
Receiving Function Block
Sending Node 1
2 Recv1FromNode1Status
Sending Function Block
Solution Description
Run the entire network at 10 Data exchange among Triconex controllers can be effectively done at
megabits a rate of 10 megabits per second. Triconex suggests using the Net1
port on both Trident and Tricon communication modules, because 10
megabits per second is the only speed available on Net1. With this
setup, Net2 is available for faster communication with external
devices on an Ethernet network.
Convert messages from 10 to The data rate can be converted when messages are transferred from a
100 megabits Tricon controller to a Trident controller. A typical method is to
connect the Tricon and Trident controllers to a hub which can convert
from 10 to 100 megabits. For Trident controllers, another method is to
use MAU connections, which can convert from 10 to 100 megabits, to
CM ports.
Because safety-critical data is being transferred, each controller must have two CM modules
which are connected to redundant Peer-to-Peer networks.
The data transfer time described in this section is calculated using this equation.
DT = (2 • <Larger of TS or SS>) + (2 • <Larger of TR or SR>)
Parameter Description
DT Data transfer time in milliseconds.
TBS Total bytes of aliased variables in the sending node.
Time for sending controller to transfer aliased data over the communication bus in
TS milliseconds.
TS = (TBS ÷ 100,000) * 1000
SS Scan time of sending node in milliseconds.
TBR Total bytes of aliased variables in the receiving node.
Time for receiving controller to transfer aliased data over the communication bus in
TR milliseconds.
TR = (TBR ÷ 100,000) * 1000
SR Scan time of receiving node in milliseconds.
the send a third time. This is why the general rule for data transfer time is 1 to 2 seconds, even
though the estimated time (DT) is 800 milliseconds.
The application running in the receiving controller includes a network that measures the actual
time so that you can validate the assumed 2-second maximum transfer time. Since the process
tolerance time of the receiving node is 4 seconds, the maximum time-out limit is set to 2 seconds
(half the process tolerance time). The receiving node should get at least one sample of new data
within the maximum time-out limit. Using this criteria satisfies the basic requirement for using
Peer-to-Peer to transfer safety critical data.
Overview 76
Physical Features 77
Configuring Serial Ports in TriStation 82
Programming for Triconex Masters 87
Programming for Triconex Slaves 92
Sample Modbus Programs 96
Overview
Modbus is an industry-standard master/slave protocol that is traditionally used for energy
management, transfer line control, pipeline monitoring, and other industrial processes. A serial
port on a Triconex module can operate as a Modbus master, slave, or both. A DCS, operator
workstation, or other Modbus device typically acts as the master while the Triconex serial port
acts as the slave.
Serial ports on the CM and MP provide choices for communication with Modbus devices. Each
port can operate in a point-to-point connection with a single Modbus device, or in a multi-point
serial link with several Modbus devices. For an example, see Configuration Options (page 77).
A Trident CM serial port can act as a master, slave, or combination master/slave with these
physical features:
• Point-to-point or multi-point network topology
• RS-232, RS-422, or RS-485 communication interface
• 2-wire (half duplex) or 4-wire (full duplex) cables
• Hardware handshake with or without signal delays
For a CM serial port configured as a master, the associated TriStation application can use
Modbus Read and Write function blocks to communicate with slave devices, including other
Triconex controllers. Programs in external Modbus master devices can directly access point
values in a Triconex controller if the points have aliases and if write access controls are correctly
applied.
A TriStation application normally uses alphanumeric names to identify Triconex points
(program variables). Numeric identifiers called aliases must also be used to make the point
values accessible to external Modbus devices. An alias has five digits that define its data type
and hardware address in the controller.
An MP serial port cannot be configured as a master, and the TriStation application cannot use
Modbus Read and Write function blocks. MP serial ports can act only as slaves in a point-to-
point configuration, using the RTU data format and 4-wire (full duplex) physical media. The RS-
485 or RS-232 transceiver mode can be used.
Function blocks and system attributes allow you to monitor the communication status of each
CM and MP serial port. The status information includes the number and kinds of messages
received and sent and milliseconds since the last message was received.
The sample programs described in this chapter are included on the TriStation CD. These
programs show how to use the Modbus Read and Write function blocks for transmitting aliased
data, how to set time-out and retry values for Modbus communication, and how to control the
flow of data from slave to master. For detailed information, see Chapter D, Modbus Protocol
Physical Features
When connecting a Trident CM or MP serial port to one or more Modbus devices, you can select
from these physical features.
Configuration Options
A Trident CM or MP serial port can operate in a point-to-point connection with a single Modbus
device, or in a multi-point serial link with several Modbus devices.
Point-to-Point Connection
This figure depicts a point-to-point connection, which is a direct connection between devices.
Modbus Master
Modbus Slave CM
Point-to-Point Connection
MP
Multi-Point Connection
This figure depicts a multi-point connection, which allows connections between several devices.
Modbus Master
CM
Multi-Point Connection
MP
Option MP CM
Slave RTU 3 3
Slave ASCII 3
Master 3
Combination Master/Slave 3
Point-to-Point 3 3
Multi-Point 3
RS-232 3 3
RS-485 3 3
2-Wire Cable 3
4-Wire Cable 3
Hardware Handshake 3
Signal Delay 3
Modbus Range 3 3
Modbus Read and Write Function Blocks 3
Procedure
1 Open the TriStation project and go to the EICM Setup (Configuration) screen.
2 Specify these properties to match the physical connection.
Port Selection
The Port Selection property specifies the serial port to be configured. For the Left CM, select Port
1, 2, or 3. For the Right CM, select Port 6, 7, or 8.
Protocol
The Protocol property specifies the communication protocol to be used with the port. For
Modbus communication, select one of these:
• Modbus Slave ASCII (Trident CM)
• Modbus Slave RTU (Trident MP and CM)
• Modbus Master (Trident CM)
• Modbus Master/Slave (Trident CM)
For information about the ASCII and RTU modes, see Communication Modes (page 162).
Baud Rate
The Baud Rate property specifies the data transmission speed.
Select 1200, 1400, 2400, 4800, 19200, 38400, 57600, or 115200.
Stop Bits
The Stop Bits property specifies whether to transmit 1 bit or 2 bits after each character to notify
the receiving computer that the transmission of a byte of data is complete.
Parity
The Parity property specifies whether to use parity checking, which is a way to detect data
communication errors, on the transmitted data.
Odd and Even parity counts the number of 1 bits in a one-byte data item then sets the parity bit
(9th bit) to 0 or 1 to result in an Odd or Even total number of 1 bits.
Mark and Space parity (also called high/low parity) set the parity bit to 1 or 0 regardless of the
number of 1 bits in the data item.
Settings include:
• Odd sets the parity bit to 0 or 1 to make the total number of 1 bits odd.
• Even sets the parity bit to 0 or 1 to make the total number of 1 bits even.
• Mark sets the parity bit to 1 for each data item.
• Space sets the parity bit to 0 for each data item.
• None deletes the parity bit.
The default is Odd.
Handshake
The Handshake property specifies whether to use signals to establish a valid connection. With
hardware handshake, a separate wire sends a signal when the receiving device is ready to
receive the signal, which ensures that a device transmits data only when the other device is
ready to receive it.
For the Trident CM, the setting of the Transceiver Mode property determines whether
hardware handshake is valid.
Specify Hardware if the physical hardware using any of these configurations:
• Any 2-wire configuration (required)
• A multi-point configuration that uses the RS-485 transceiver mode (required)
• A point-to-point configuration that uses an external modem with RS-232 transceiver
mode (optional)
The default is None.
To delay the timing of Modbus data transmission, see Setting Signal Delays for Hardware
Handshake (page 85).
Wire Type
The Wire Type property specifies the type of wire used for serial communication.
Settings include:
• 2-Wire (half duplex) if using one pair of wires for Modbus reads and writes. (Only
available when the Transceiver Mode property is set to RS-485 on the Trident CM Serial
Ports tab.)
• 4-Wire (full duplex) if using two pairs of wires—one pair for Modbus reads and the
other pair for Modbus writes. (Trident MP serial ports must use this setting.)
Modbus Range
The Modbus Range property identifies the range of five-digit numbers that can be assigned to
a point. The leftmost digit identifies the data type and the other digits identify the hardware
address in the controller.
The minimum value is –32,768; the default is 0.
The maximum value is 32,767; the default is 32,767.
Honeywell DHP uses 0 to 9,999.
The Modbus Range operates in conjunction with the Minimum and Maximum values on the
Trident MP, and Trident CM serial ports to scale values of REAL points. For more information,
see How REAL Numbers are Scaled to Integers (page 92).
40001 40004
RTS CTS
Post-delay Pre-delay
RTS
Data
Parameter Action
Alias For CTS, enter 40001.
For RTS, enter 40004.
Parameter Action
Port Enter the EICM port number.
Station Enter the slave station address.
D01 Enter the delay in milliseconds; 0 to 10,000.
• MBREAD_BOOL • MBWRITE_BOOL
• MBREAD_DINT • MBWRITE_DINT
• MBREAD_REAL • MBWRITE_REAL
• MBREAD_REAL_TRD • MBWRITE_REAL_TRD
Read and Write function blocks of types BOOL and DINT can transmit 32 data values. Read and
Write function blocks of type REAL can transmit 25 data values.
Triconex controllers use BOOL, 32-bit DINT (double integer) and 32-bit REAL numbers,
whereas traditional Modbus protocol supports only Booleans and 16-bit integers. For this
reason, TriStation includes function blocks which convert REAL values to integers and integers
to REAL values. The sections beginning on page 88 provide guidelines for use of these function
blocks.
For detailed information on function blocks, see the TriStation Libraries Reference. For examples,
see Sample Modbus Programs (page 96).
Slave
Station 2
TriStation Programming
for Modbus Master Port
Starting Alias 1
31001
Serial Port Number 32
1
Slave Station Address 2
Slave
Station 2
TriStation Programming
for Modbus Master Port
Starting Alias
Triconex Controller
Modbus Master
Modbus Write
Modbus Integer 15337 Scaling
This figure depicts how scaling is done. Values above the Max Span or below the Min Span are
clamped to the respective limit. The same principle applies to values outside the Modbus range.
Real
Value
Min Span
16-bit Integer
Modbus Modbus (Modbus Value)
Min Max
Triconex Controller
Modbus Master
Modbus Read
Modbus Integer 15337 Scaling
This figure depicts how scaling is done. Values above the Max Span or below the Min Span are
clamped to the respective limit. The same principle applies to values outside the Modbus range.
16-bit Integer
Modbus
Min
Real Value
Min Span Max Span
Procedure
1 Open the TriStation project and open the Setup (Configuration) screen for the
communication module to be used.
2 Specify the Modbus Range Minimum and Maximum values.
The Minimum can be -32,768 or higher; the Maximum can be 32,767 or lower.
3 Click OK to save the settings.
4 For each tagname to be scaled, open the tagname and click the Scaling (Min/Max) tab to
display the scaling properties.
5 Ensure the Disable scaling check box is not checked. By default, the option is not
checked.
6 Enter the Minimum Value to be used to scale the REAL number to an integer; must be
less than the maximum value. The default is -32768.0.
7 Enter the minimum value to be used to scale the REAL number to an integer; must be
less than the maximum value. The default is 32767.0.
8 Enter the Precision (decimal places) to display.
9 Save the settings.
10 Repeat for each REAL tagname to be scaled.
Tagname
Byte 0 1 0 1
Bit 31 22 15 0
Sign of Fraction
Procedure
1 In TriStation go to a tagname that is not to be scaled and open the Properties screen.
2 Click the Scaling (Min/Max) tab to display the scaling properties.
3 Ensure the Disable Scaling check box is checked.
4 Save the setting by clicking Apply or OK.
Overview 98
Trident Write Access 99
Tagnames and Aliases 100
Time Synchronization 101
Printing from a Trident Controller 104
Overview
This chapter describes the time synchronization and printing features that can be used with
Triconex controllers.
Time Synchronization protocol allows networks of Tricon and Trident controllers to be
synchronized with each other, and optionally, with external devices.
Network printing protocol allows a Trident controller to print messages by means of a print
server connected to an Ethernet port on the CM. The print server must be compatible with the
JetDirect network printing protocol, and the printer must be compatible with the print server.
An Ethernet hub might also be needed. A TriStation application must include print function
blocks to send messages to a printer.
Access by Access by
Protocol or Application
Tagname Alias
Modbus Master 3
Modbus Slave 3
Peer-to-Peer (Triconex) 3
OPC Server, OPC Data Manager, and OPC Redundancy Broker 3 3
DDE Server 3
User-Written TSAA Application 3 3
Time Synchronization
If you have multiple Triconex controllers on an Ethernet network, you can synchronize their
time with:
• The master node (the controller with the lowest node number)
• An external device, such as an OPC client, that writes time values to a TriStation project
• A combination of the master node and an external device
These sections provide more information about these strategies and instructions for setting the
Triconex controller clock and setting time synchronization properties on the communication
modules.
To allow an external device to adjust the Triconex clock, you must configure a CM for time
synchronization, and you must configure the TriStation project to allow write access. For
instructions, see these sections:
• Setting Time Synchronization Properties (page 103)
• Trident Write Access (page 99)
Combination Schemes
In a typical configuration, Triconex controllers on a network are synchronized with the master
node. In addition, the master node can accept time adjustments from an external device so that
the external time prevails for all controllers on the network. Examples of external time sources
are an OPC client and a DCS.
Procedure
1 On the TriStation PC, ensure the time is set correctly. Usually, this is done from a setting
on the PC Control Panel.
2 In TriStation, open the project and connect to the controller.
3 From the Commands menu, select the Set Calendar Clock command and click Yes when
the prompt asks whether you want to Set Calendar Clock the current configuration.
The Triconex clock is now set to the PC time, that is, to the correct local time.
None
This option applies if you do not want to synchronize the controller with the master node. If
None is selected, the controller can receive time adjustments from an external device such as an
OPC client or a DCS.
Printing Setup
If used, a print server must be connected to an Ethernet (Net1 or Net2) port on the CM that is
configured for the Open Network mode. A printer must be connected to the print server—it
cannot be connected directly to a CM port. These figures show the basic printing configurations.
Trident Controller
HP JetDirect-Compatible
Centronics-Compatible Print Server CM
Printer
Ethernet
Standard Cross-over Cable
Printer Cable
MP
HP JetDirect-Compatible
Print Server Trident Controller
Centronics-Compatible
Printer
Ethernet CM
Standard
Hub
Printer Cable
Ethernet Cable
Ethernet Cable
MP
Other Network
Connections
You can purchase communication cables from other manufacturers. You must purchase print
servers elsewhere because Triconex does not supply them. Black Box cables and Hewlett-
Packard print servers are examples of dependable network printing devices.
Triconex has tested the following Hewlett-Packard print servers and found them to be effective:
• HP JetDirect Ex Plus
• HP JetDirect 500X Series, model J3265A
Printers
Select a printer that is compatible with your print server. The Trident controller prints ASCII
text only, which does not include formatting or graphics, so a Centronics-compatible printer is
adequate. Laser printers are also suitable.
Procedure
1 In the TriStation project, go to the Printer tab on the CM Network tab.
2 Specify the Slot Selection, Left or Right, where the CM is installed.
3 Specify the Modes as Open Network (Workstation TCPIP).
4 Click the Printer tab and specify these properties as needed.
Printer Number
Enter a number from 1 to 10. This must be the same number that is declared for the PRINTER
parameter in print function blocks.
Line Width
Enter the maximum printable line width for your printer, based on the manufacturer’s
specifications.
The most typical printer widths are 80 characters and 132 characters.
Line Width
Under Print Server, enter the TCP/IP Port number that was defined by the manufacturer of the
print server.
TCP Port
Enter the TCP/IP port number that was defined by the manufacturer of the print server.
An HP JetDirect print server with one port uses TCP/IP port number 9100.
An HP JetDirect print server with three ports uses TCP/IP port numbers 9100, 9101, and
9102.
IP Address
Enter the 32-bit IP address of the print server on the network.
If the print server is not on the same subnet as the Trident controller, you must specify the
destination address on the Routing tab of the CM Setup screen.
CM Operation 110
Physical Description 112
CM Operation
The CM is an optional module for the Trident controller which supports multiple message
protocols and physical media types. Ports on the CM can communicate with TriStation, other
Trident or Tricon controllers, Ethernet devices, and Modbus master and slave devices.
The Trident controller supports a left and right CM on one baseplate. The CM Baseplate must
be connected directly above or below the MP Baseplate. Two baseplate interconnects are
required to connect the MP Baseplate to the CM Baseplate. For more information about
mechanical installation, see the Trident Planning and Installation Guide.
The left and right CM operate independently. Each can be connected to a separate network, or
both can be used in a redundant configuration.
Message Handling
This figure depicts how message handling works. The CM ports communicate with the three
MP modules by means of the Comm Bus. Each CM supports two Comm Buses—a left bus and
a right bus—so that a fault on one CM does not affect the other CM.
A message received by a CM port is passed to all three MP modules over the Comm Bus. The
TriBus votes on the message before sending it to the MP modules for processing, and sends the
response back to the Comm Bus after processing is complete. The Comm Bus then forwards the
response to the CM port.
802.3 TriStation
Modbus
RS-232/RS-485
MP A
TriBus
TriBus
TriBus
MP B MP C
Physical Description
For the left and right CM, the CM Baseplate includes these ports:
• Three RS-232/RS-485 serial ports which are TriStation-configurable for RTU or ASCII
and Modbus master, slave, or combination master/slave
• One Ethernet (Net1) port which operates at 10 megabits per second
• One Ethernet (Net2) port which operates at 10 or 100 megabits per second
• Two connectors for Media Adapter Units (MAU) which can be used to convert media
types or extend network distances
The Debug port is for Triconex use and is not associated with either the left or right CM.
Left Module
Serial 3
Serial 2
Serial 1 PASS
FAULT
PASS
FAULT
ACTIVE ACTIVE
Right Module
Serial 3
Serial 2
NET1 Left Module
Serial 1 AUI MAU
10BaseT
COMMUNICATIONS COMMUNICATIONS
TX TX
SERIAL SERIAL
RX RX
10BaseT/100BaseTX RX RX
TX TX
SERIAL SERIAL
10BaseT/100BaseTX NET 1
LINK
TX NET 1
LINK
TX
RX RX
LINK LINK
NET 2 TX NET 2 TX
RX RX
CM 3201 CM 3201
Figure 3 CM Baseplate
Types of Ports
Serial Ports
A CM provides three optically isolated RS-232/RS-485 serial ports which are TriStation-
configurable for point-to-point or multi-point serial connections. Transmission rates up to 115.2
kilobits per second per port can be selected.
Ethernet Ports
A CM provides two Ethernet ports with RJ-45 sockets for connection to twisted-pair cables:
• Net1—A 10BaseT connector which can operate only at 10 megabits per second.
• Net2—A 10BaseT/100BaseTX connector which can operate at 10 or 100 megabits per
second.
MAU Connections
To convert Ethernet ports to other media types or to extend network distances using fiber optic
cabling, the CM provides four MAU connections for use in place of the 10BaseTor 100BaseT
connectors. Fiber optic cabling can be directly connected to the TriStation PC or an Ethernet
device by crossing over the fiber optic cable or connecting it to a fiber optic hub. The MAU
connections allow the Net1 and Net2 ports to support the following media types and distances.
Net1 Ports
• AUI 10Base-FL single-mode fiber optic with a range of 14 kilometers
• AUI 10Base-FL multi-mode fiber optic with a range of 2 kilometers
• AUI 10Base2 thin-net 50-ohm coax with a range of 185 meters (useful for Peer-to-Peer
connection with Tricon controllers)
Net2 Ports
• MII 10BaseFX to 100BaseFX single-mode fiber with a range of 14 to 20 kilometers
• MII 1BaseFX to 100BaseFX multi-mode fiber with a range of 2 kilometers
Note When a MAU is physically installed and configured in the TriStation project, the
corresponding 10BaseT or 100BaseTX connector is disabled.
Debug Port
The CM Baseplate includes one RJ-12 connector in the lower left corner. This connector, covered
when not in use, is intended for Triconex use as a Debug port. This port provides access to
diagnostic information for both the left and right CM. For more information, contact Triconex
Technical Support.
Specifications
Parameter Description
Type RS-232 C
Connector RJ-12 with 6 pins:
Pins 1-3 — left position
Pins 4-6 — right position
Debug Baud rate 9600
Protocol ASCII
8-bit
1 stop bit
No parity
Galvanic Isolation 500 V DC
CM Front Panel
The CM front panel includes status and communication indicators. For information about the
communication indicators, see CM Communication Indicators (page 116). For information
about the other indicators, see the Trident Planning and Installation Guide.
Pass (Green)
PASS
CM Status FAULT Fault (Red)
Indicators ACTIVE
Active (Yellow)
LOCK
Unlock (Red)
COMMUNICATIONS
TX
SERIAL Serial 1 (Green/Green)
RX
TX
SERIAL Serial 2 (Green/Green)
RX
TX
Communication SERIAL Serial 3 (Green/Green)
RX
Indicators
LINK NET1 Link (Green)
NET1 TX
NET1 TX/RX (Green/Green)
RX
CM 3201
CM Communication Indicators
The CM communication indicators identify the type of communication occurring on the Trident
controller. The TX light indicates the CM is transmitting a message and the RX light indicates
the CM is receiving a message.
This symbol ( — ) means the indicator is not important for this condition.
Ethernet Ports
Protocol Serial Ports
(Net1 and Net2)
TriStation 3
TSAA 3
Peer-to-Peer 3
Modbus Slave 3
Modbus Master 3
Modbus Master/Slave 3
Time Synchronization 3
Network Printing 3
For summary information about the protocols, see Chapter 1, Introduction For detailed
information, see the related chapter and appendices.
MP Operation 120
Physical Description 123
MP Operation
A Trident controller must include a Main Processor (MP) Baseplate which holds three MP
Modules. The MP Baseplate provides three DB-9-pin ports for connecting Modbus master
devices and three 10BaseT ports for connecting to TriStation PCs.
Each MP serves as one channel of the Triple Modular Redundant (TMR) Trident controller and
consists of two CPU sections.
One section, called the System Executive (SX), does these tasks:
• Executes the downloaded TriStation application
• Manages TriBus communication and voting
• Manages TriStation and Modbus communication over MP ports
• Processes information from the Communication Module (CM)
• Performs system diagnostics
The other CPU section, called the Input/Output Executive (IOX), does these tasks:
• I/O module ASIC communication
• I/O control
• I/O diagnostics
The three MP modules communicate with each other by means of an inter-processor bus called
TriBus, which is a high-speed, fault-tolerant communication path used primarily for voting and
diagnostics. The three MP modules communicate with the I/O modules over a TMR, RS-485
I/O bus which operates at 2 megabits per second. The MP modules communicate with the CM
over an RS-485 COMM bus, processing all messages received by the CM except Modbus and
TSAA read queries.
The MP Baseplate provides redundant system alarm contacts and redundant, fused logic power
connectors for the MP and I/O modules.
For more information about MP modules, see the Trident Planning and Installation Guide.
Message Handling
This figure depicts how message handling works. The MP ports communicate with the three
MP modules by means of the TriBus. A message received from one MP port is passed to the
other MP modules over TriBus before the message is acted upon, which means communication
requests come from TriBus and are voted before they are processed. The TriStation port on MP
A is redundant with the TriStation ports on MP B and MP C. The serial port on MP A is
redundant with the serial ports on MP B and MP C. If communication redundancy is not
required, only one MP port must be connected to ensure successful TriStation or Modbus
communication among all three MP modules.
In each scan of the control program, a five-millisecond time slot is reserved for communication
message handling and other background tasks. If an MP cannot completely process a message
and generate a response within the five-millisecond time slot, it completes the message in the
next scan within the five-millisecond time slot. This strategy guarantees that variations in
communication traffic for the MP ports do not affect the scan time of the TriStation application.
802.3
TriStation
Modbus
RS-232/RS-485
MP A
TriBus
TriBus
Tribus
MP B MP C
Modbus Modbus
RS-2323/RS-485 RS-232/RS-485
TriStation Messages
1 Receives message, transmits to other MP modules over TriBus
2 Votes message request with other MP modules over TriBus
3 Processes message and transmit response
Physical Description
The MP Baseplate includes these ports:
• Three serial (Modbus slave) ports which can be configured for the RS-232 or RS-485
transceiver mode.
• Three Tristation ports for connecting the TriStation PC using DLC protocol.
• Three Debug ports for Triconex use.
Serial Ports
The serial ports on the MP Baseplate consist of DB-9-pin sockets, as shown in this figure.
Left
Serial Port
Middle
Serial Port
Right
Serial Port
COMMUNICATIONS
TX
IO BUS
RX
TX TX TX
COMM BUS COMM BUS COMM BUS
RX RX RX
TX TX TX
SERIAL SERIAL SERIAL
RX RX RX
1 RX RX RX
Specifications
Feature Description
Socket type DB-9-pin DTE standard, shielded, located on baseplate
RS-232 maximum cable length 50 feet (15 meters)
RS-485 maximum cable length 4,000 feet (1.2 kilometers)
Transmission rates (bps) 1200, 1400, 2400, 4800, 19200, 38400, 57600, or 115200-
Configuration options Slave, RTU mode, optional parity, 1 stop bit
Galvanic isolation 500 V DC
TriStation Ports
The TriStation ports on the MP Baseplate consist of 10BaseT sockets, as shown in this figure.
TX TX
COMM BUS COMM BUS
Middle TriStation Port RX RX
TX TX TX
SERIAL SERIAL SERIAL
Right TriStation Port RX RX RX
Specifications
Feature Description
Socket type 10BaseT, RJ-45 standard, shielded, located on baseplate
10BaseT maximum cable length 330 feet (100 meters) using category 5 twisted-pair cable
Protocol TriStation
Node address (configured in the Derived from address plug on MP Baseplate
TriStation project)
Galvanic isolation 500 V DC
Debug Ports
The debug ports on the MP Baseplate consist of RJ-12 6-pin sockets in the lower left corner, as
shown in this figure. These sockets, covered when not in use, are intended for Triconex use as
diagnostic tools. They provides access to diagnostic information for both the MP and the
associated I/O Processor. For more information, please contact Triconex Technical Support.
Left Right
Debug Port Middle Debug Port
Debug Port
Specifications
Feature Description
Socket Type RJ-12 with 6 pins:
Pins 1-3 are for the MP
Pins 4-6 are for the IOP
Transceiver Mode RS-232 C
Transmission rate (bps) 9600
Communication Option ASCII
8-bit
1 stop bit
No parity
Galvanic Isolation 500 V DC
MP Front Panel
The MP front panel includes status, mode, alarm, and communication indicators as shown in
this figure. For information about the communication indicators, see MP Communication
Indicators (page 128).
For information about the other indicators, see the Trident Planning and Installation Guide.
Pass (Green)
PASS
MP Status FAULT Fault (Red)
Indicators
ACTIVE
Active (Yellow)
LOCK
Unlock (Red)
COMMUNICATIONS
TX
IO BUS
RX
TX/RX I/O Bus (Green/Green)
TX
COMM BUS TX/RX Communication Bus (Green/Green)
RX
Communication
Indicators TX
SERIAL TX/RX Modbus (Green/Green)
RX
MP3101
MP Communication Indicators
The MP communication indicators identify the type of communication occurring on the
controller. The TX light indicates the MP is transmitting a message and the RX light indicates
the MP is receiving a message.
This symbol ( — ) means the indicator is not important for this condition.
Overview 130
TSAA Messages 132
Response Codes 157
Overview
Triconex System Access Application (TSAA) protocol is a messaging protocol which provides
message formats used in application programs that read and write data to Triconex controllers.
TSAA is based on a client/server model which allows a client to request information from an
external device using a server application.
You can use TSAA to develop these types of applications:
• Control (Read/Write) Applications, such as an operator interface station, that require
access to the status of the Triconex controller and the ability to write data to the
controller
• Monitor (Read-Only) Applications, such as SOE Recorder, that receive data from the
controller
If the controller and PC use different ordering types, the application might need to convert data
to the appropriate order.
Little-Endian Order
In little-endian ordering, the data is ordered from right to left with the most significant bits and
bytes to the right.
Byte 1 Byte 0
Big-Endian Order
In big-endian ordering, the data is ordered from the left to right with the most significant bits
and bytes to the left.
Byte 0 Byte 1
TSAA Messages
A TSAA message is a request made by a client or a response made by the Triconex controller.
This section describes the format of TSAA messages and the available types of messages. In this
document, the words frame and message mean the same thing—a unit of data that is transmitted
through a network.
Message Format
Each TSAA message adheres to a format which includes these fields:
• A frame header which identifies the message (big-endian order)
• A data area which contains the frame message (little-endian order for Tricon;
big-endian for Trident)
• A 32-bit Cyclic Redundancy Check (CRC) (little-endian order for Tricon and Trident)
Frame Header
The frame header in a TSAA message includes these fields.
Type
The Type field in the frame header identifies the message type. These types of TSAA messages
are available.
Request
Triconex
Type Message Type Description from
Response
Client
TRICON_DATA Returns data in response to a
1 3
type 2 message.
TRICON_DATA_REQ Requests data from the
2 3
TriStation application.
Request
Triconex
Type Message Type Description from
Response
Client
WRITE_TRICON_DATA Requests the controller to write
3 to memory and output variables 3
in the TriStation application.
WRITE_TRICON_DATA_RSP Responds to a request to write to
4 memory and output variables by 3
a type 3 message.
READ_TRICON_CLOCK Requests the current time on the
5 3
controller clock.
READ_TRICON_CLOCK_RSP Returns the current time on the
6 controller clock in response to a 3
type 5 message.
SET_TRICON_CLOCK Requests setting of the controller
7 3
clock.
SET_TRICON_CLOCK_RSP Responds to a request to set the
8 3
clock made by a type 7 message.
ADJUST_TRICON_CLOCK Requests controller to adjust
9 3
clock forward or backward.
ADJUST_TRICON_CLOCK_RSP Responds to a request to adjust
10 the clock made by a type 9 3
message.
READ_TRICON_DATA Requests data (memory, input,
11 or output variables) to be read 3
from the TriStation application.
READ_TRICON_RSP Returns variable data in
12 3
response to a type 11 message.
TRICON_SOE_REQ Requests SOE (sequence of
13 3
events) data from the controller.
TRICON_SOE_RSP Returns SOE data in response to
14 3
a type 13 message.
TRICON_CPSTATUS_REQ Requests the TriStation
application name and version
15 number. 3
Request
Triconex
Type Message Type Description from
Response
Client
TRICON_SOE_DATAAVAIL Sends a message to the client
when SOE data is available. The
message is sent when SOE data
17 3
is put into an empty SOE block
and every 10 seconds while there
is data available in any block.
TRICON_GET_SYMBOL_REQ Requests part of a symbol table
22 from the controller. 3
For Trident only.
TRICON_GET_SYMBOL_RSP Sends part of a symbol table as
23 requested by a type 22 message. 3
For Trident only.
nodeNumber
The nodeNumber field identifies the destination node number for the message which is the
node number for the Triconex controller.
seqNum
The seqNum field identifies the number of the message in a multiple-message response. This
field can help determine if there are missing messages.
version
The version field identifies the version number of the protocol used by the sender:
• For Tricon, the number must be 0.
• For Trident, the number must be 1.
flag
The flag field is a bit field that indicates the position of the frame in a multi-frame message, or
that the message is a single frame.
• 0x00 identifies a mid-frame of a multi-frame message.
• 0x01 identifies the first frame of a multi-frame message.
• 0x02 identifies the last frame of a multi-frame message.
• 0x03 identifies a single frame message.
id
The id field assigns a number to a request and associated response. If a client makes periodic
requests of the same message type and wants to associate them with the responses, this field can
be used to assign an identifier. The request and response use the same identifier.
length
The length field identifies the length of the frame excluding the CRC32 field.
TRICON_DATA (Type 1)
A TRICON_DATA message replies to a request for data made by a TRICON_DATA_REQ (type
2) message. If the client sends a data request at least once every two minutes, the controller
continues sending data responses at the interval specified by the request.
Data_Hdr
The Data_Hdr field includes these fields.
numberOfBlocks
The numberOfBlocks field identifies the number of blocks in the data portion of the message.
Bin Headers
A TRICON_DATA (Type 1) message can have multiple bin headers followed by bin data. Each
bin header includes these fields.
bin
The bin field identifies which bin holds the message data, using a numeric value to represent
the variable type and data type.
totalLength
The totalLength field indicates the length of the bin.
offset
The offset field identifies the starting position of the requested data in the bin.
• For discrete data types, the offset is the number of bits.
• For integer and real data types, the offset is the number of 32-bit words.
length
The Length field contains the length of the data returned in the message.
TRICON_DATA_REQ (Type 2)
A TRICON_DATA_REQ message requests one or more bins of data from a Triconex controller.
The controller responds with a TRICON_DATA (type 1) message. If the client sends a data
request at least once every two minutes, the controller continues sending data responses at the
interval specified by the request.
The data request message is designed for applications that require all of the data in one or more
bins. After the request is sent, the controller continuously sends data responses to the client at
specified intervals. The client cannot stop the controller from sending data, but the controller
will stop sending data if a data request is not received again within two minutes.
If you use TCP protocol (or UDP protocol with connect and disconnect functions), you must
leave the connection open for a minimum of two minutes after sending this request. If the
application requires specifying the range of data, use READ_TRICON_DATA (type 11).
This message includes these fields.
Data_Req_Hdr
The Data_Req_Hdr field contains these fields.
binsRequested reqTime
2 bytes 2 bytes
binsRequested
The binsRequested field is a binary mask that identifies which bins of data the Triconex
controller should send.
If the request includes an invalid bin number, the response is a bin header with no data.
reqTime
The reqTime field indicates the time in milliseconds between broadcasts of the requested bins.
For example, a value of 1,000 causes a Triconex controller to broadcast the data once per second.
If this value is zero (0), the controller broadcasts the data each time the ACM or NCM (Tricon)
or CM (Trident) is updated.
WRITE_TRICON_DATA (Type 3)
A WRITE_TRICON_DATA message requests the Triconex controller to write data to output
and memory variables in the TriStation application. These conditions must be met for the
controller to accept this request:
• The variables must be defined as read/write.
• For Tricon, the keyswitch must be in the Program or Remote position. For Trident, the
Remote mode must be enabled by setting a system attribute.
• The TriStation configuration setting (Disable Remote Changes to Outputs) which was
downloaded to the controller must allow remote changes. (This setting only affects
changes to discrete outputs and analog outputs.)
• The TriStation configuration for the ACM or NCM (Tricon) and CM (Trident) must be
configured as read/write.
If the controller cannot write the data, it sends a reject response code. For more information, see
Response Codes (page 157).
This message includes these fields.
Write_Hdr
The Write_Hdr contains these fields.
numberOfBlocks rfu
2 bytes 2 bytes reserved
numberOfBlocks
The numberOfBlocks field indicates the number of write data blocks for the message type.
Write_Data
The Write_Data field includes these fields.
binNumber
The binNumber field indicates the number of the bin to be changed.
offset
The offset field identifies the starting position of the requested data in the bin.
• For discrete data types, the offset is the number of bits.
• For integer and real data types, the offset is the number of 32-bit words.
numberOfValues
The numberOfValues field indicates the number of variables to be written starting at the
specified offset.
Values
The Values field contains the values for the variables to be changed. Discrete variables require
one byte each for the new value (0 or 1).
WRITE_TRICON_DATA_RSP (Type 4)
A WRITE_TRICON_DATA_RSP message replies with a success or failure code to a request to
write data sent by a WRITE_TRICON_DATA (type 3) message.
This message includes these fields.
responseCode
The responseCode field indicates the success or failure of the request. A value of zero (0)
indicates the request was successfully completed.
For more information, see Response Codes (page 157).
subReason
The subReason field contains additional information about the failure of the request.
READ_TRICON_CLOCK (Type 5)
A READ_TRICON_CLOCK message requests the current time on the Triconex controller. The
controller responds with READ_TRICON_CLOCK_RSP (type 6) which sends the current time
to the client.
There are no fields specific to this message.
Frame_Hdr CRC
8 bytes 4 bytes
READ_TRICON_CLOCK_RSP (Type 6)
A READ_TRICON_CLOCK_RSP message sends the current controller time to the client in
response to a READ_TRICON_CLOCK (type 5) request.
This message includes these fields.
Read_Clock_Rsp
The Read_Clock_Rsp field includes these fields.
ResponseCode
The responseCode field indicates the success or failure of the request. A value of zero (0)
indicates the request was successfully completed.
For more information, see Response Codes (page 157).
subReason
The subReason field contains additional information about the failure of the request.
relSec
The relSec field indicates the current Triconex system time expressed in relative seconds.
• For Tricon, relative seconds are seconds past 00:00 January 1, 1970 based on local time.
• For Trident, relative seconds are seconds past 1970 based on universal time (Greenwich
Mean Time). (2000 is the earliest date and 2050 is the latest date.)
milliSec
The milliSec field indicates the millisecond portion of the Triconex system time.
SET_TRICON_CLOCK (Type 7)
A SET_TRICON_CLOCK message requests the time to be set on the Triconex controller. The
controller responds with a SET_TRICON_CLOCK_RSP (type 8) message.
These conditions must be met for the controller to accept this request:
• For Tricon, the keyswitch must be in Program mode.
Set_Clock
The Set_Clock field includes these fields.
relSec
The relSec field contains the controller system time expressed in relative seconds.
• For Tricon, relative seconds are seconds past 00:00 January 1, 1970 based on local time.
• For Trident, relative seconds are seconds past 1970 based on universal time (Greenwich
Mean Time). (2000 is the earliest date and 2050 is the latest date.)
milliSec
The milliSec field contains the millisecond portion of the system time.
SET_TRICON_CLOCK_RSP (Type 8)
A SET_TRICON_CLOCK_RSP message replies with a success or failure code to a
SET_TRICON_CLOCK (type 7) message.
This message includes these fields.
Set_Clock_Rsp
The Set_Clock_Rsp field contains these fields.
responseCode
The responseCode field indicates the success or failure of the request. A value of zero (0)
indicates the request was successfully completed.
For more information, see Response Codes (page 157).
subReason
The subReason field contains additional information about the failure of the request.
ADJUST_TRICON_CLOCK (Type 9)
An ADJUST_TRICON_CLOCK message requests the time to be adjusted on the Triconex
controller either forward or backward. The controller responds with an
ADJUST_TRICON_CLOCK_RSP (type 10) message.
These conditions must be met for the controller to accept this request:
• For Tricon, the keyswitch must be in Program mode.
• For Trident, the operational mode must be set to Program.
For Tricon only, the controller does not allow an application or an external device to set the time
continuously. At least five minutes must pass before the controller will respond to a
SET_TRICON_CLOCK message. If the application program sends this message before five
minutes pass, the message is rejected.
This message includes these fields.
Adjust_Clock
The Adjust_Clock field includes these fields.
AdjustSeconds AdjustMilliseconds
4 bytes signed 4 bytes signed
AdjustSeconds
The AdjustSeconds field contains the number of seconds to adjust the controller clock either
forward or backward.
AdjustMilliseconds
The AdjustMilliseconds field contains the number of milliseconds to adjust the controller clock
either forward or backward.
Adjust_Clock_Rsp
The Adjust_Clock_Rsp field contains these fields.
responseCode
The responseCode field indicates the success or failure of the request. A value of zero (0)
indicates the request was successfully completed.
For more information, see Response Codes (page 157).
subReason
The subReason field contains additional information about the failure of the request.
Read_Hdr
The Read_Hdr field includes these fields.
numberOfBlocks rfu
2 bytes 2 bytes reserved
numberOfBlocks
The numberOfBlocks field indicates the number of Read_Data blocks for this message.
Read_Data
The Read_Data field includes these fields.
binNumber
The binNumber field contains the number of the bin to be read.
offset
The offset field identifies the starting position of the requested data in the bin.
• For discrete data types, the offset is the number of bits.
• For integer and real data types, the offset is the number of 32-bit words.
If the numberOfValues field is zero (0), this field is ignored.
numberOfValues
The numberOfValues field contains the number of variables to be read from the bin. If the
number is zero (0), all of the data in the bin is returned.
Read_Rsp_Hdr
responseCode
The responseCode field indicates the success or failure of the request. A value of zero (0)
indicates the request was successfully completed.
For more information, see Response Codes (page 157).
subReason
The subReason field contains additional information about the failure of the request.
numberOfBlocks
The numberOfBlocks field indicates the number of Read_Data_Rsp blocks in the message.
Read_Data_Rsp
The Read_Data_Rsp field includes these fields.
binNumber
The binNumber field contains the number of the bin to be read.
offset
The offset field contains the number of variables from the beginning of the bin.
• For discrete data types, the offset is the number of bits.
• For integer and real data types, the offset is the number of 32-bit words.
numberOfValues
The numberOfValues field indicates the number of variables that are read starting at the
specified offset.
Data
The Data field contains data from the bin.
• For Tricon, the data is ordered in little-endian format.
• For Trident, the data is ordered in big-endian format.
For more information about Trident data, see Symbol Table Information (page 131).
Soe_Req
The Soe_Req field includes these fields.
soeNumber
The soeNumber field contains the SOE block number which can be 1 to 16. (SOE blocks are
configured in TriStation.)
firstFlag
The firstFlag field indicates whether this is the first data request for this SOE block. This value
should be set to one (1) for the first request. For all subsequent requests, it should be set it to zero
(0).
ackFlag
The ackFlag field indicates whether the last TRICON_SOE_RSP message was received correctly.
If the message was received correctly, set the field to one (1). If not, set it to zero (0).
getIndex
The getIndex field is a pointer into the SOE data block that indicates the start of the data being
requested.
wrapCount
The wrapCount field indicates the number of times the buffer has been filled since the last time
the TriStation application issued an SOECLR command for this block.
generation
The generation field indicates the number of times the TriStation application has issued the
SOECLR command.
Soe_Rsp
The Soe_Rsp field includes these fields.
soeNumber
The soeNumber field indicates the number of the SOE block.
responseCode
The responseCode field indicates the success or failure of the request. A value of zero (0)
indicates the request was successfully completed.
For more information, see Response Codes (page 157).
subReason
The subReason field identifies the subcode for the request. Used for debugging.
numberOfEntries
The numberOfEntries field indicates the number of entries in the response. There are two types
of entry: time stamp and event data. For more information, see entry (SOE Data Entry)
(page 149) and entry (SOE Time Stamp) (page 151).
getIndex
The getIndex field is a pointer into the SOE data block and is the beginning of the transferred
data stream.
nextIndex
The nextIndex field is a pointer into the SOE data block that indicates the start of the data being
requested.
wrapCount
The wrapCount field indicates the number of times the buffer has been filled since the last time
the TriStation application issued an SOECLR command for this block.
generation
The generation field indicates the number of times the TriStation application has issued the
SOECLR command.
offset
The offset field contains the number of variables from the beginning of the bin.
• For discrete data types, the offset is the number of bits.
• For integer and real data types, the offset is the number of 32-bit words.
dataType
The type field identifies the data type of the SOE entry with a numeric value.
bin
The bin field identifies which bin holds the message data, using a numeric value to represent
the variable type and data type.
For Tricon
For Trident
type
The type field indicates whether the entry is an SOE time stamp or an SOE data entry.
• If 1, the entry is a time stamp.
• If 2, the entry is a data entry.
soeNumber
The soeNumber field identifies the SOE block number.
value
The value field contains the value of the aliased variable. If On, it is 0x00000001; if Off, it is
0x00000000.
microseconds
The microseconds field contains the microseconds part of the time stamp which can be from 0
to 999,999.
reason
The reason field indicates the reason a time stamp entry was made. The reasons are described
in these table.
Value Reason
1 SOESTRT command processed.
2 SOESTOP command processed or buffer full for First Out block.
Value Reason
3 SOECLR command processed.
4 Event has been detected. It can be collected from the Entry field of the TRICON_SOE_RSP
message.
type
The type field indicates whether the entry is an SOE time stamp or an SOE data entry.
• If 1, the entry is a time stamp.
• If 2, the entry is a data entry.
soeNumber
The soeNumber field identifies the SOE block number.
second
The second field contains the seconds part of the time stamp which can be from 0 to 59.
SoeDataAvail
The SoeDataAvail field includes these fields.
putIndex
The putIndex field contains a pointer to the last data available in the SOE data block.
firstIndex
The firstIndex field contains a pointer to the beginning of the available data in the SOE data
block.
size
The size field contains the number of entries in the block. The block size is specified in
TriStation.
state
The state field contains a number representing the status of the SOE block.
The states include:
0 Block is not defined or block is not started.
1 Block is collecting.
2 Block is stopped or cleared.
3 Block is full.
wrapCount
The wrapCount field contains the number of times the buffer has been filled since the last time
the TriStation application issued an SOECLR command for this block.
generation
The generation field contains the number of times the TriStation application has issued the
SOECLR command.
Tricon_Get_Symbol
The Tricon_Get_Symbol field includes these fields.
totalSize
The totalSize field must be set to zero (0).
offset
The offset field identifies the starting position of the requested data in the symbol table.
• For discrete data types, the offset is the number of bits.
• For integer and real data types, the offset is the number of 32-bit words.
Symbol_Table_Rsp
The Symbol_Table_Rsp field includes these fields.
responseCode
The responseCode field indicates the success or failure of the request. A value of zero (0)
indicates the request was successfully completed.
For more information, see Response Codes (page 157).
subReason
The subReason field identifies the sub code for the request. Used for debugging.
totalSize
The totalSize field identifies the total size of the symbol table.
offset
The offset field identifies the starting position of the requested data in the symbol table.
• For discrete data types, the offset is the number of bits.
• For integer and real data types, the offset is the number of 32-bit words.
Length
The Length field contains the length of the data returned.
symbolVersion
The symbolVersion field contains the version of the symbol table which is the same TriStation
application version.
After conversion to little endian format on the client PC, this is a 32 bit number with this format:
MMMMnnn: where MMMM is the 16 bit major version number and nnnn is the TriStation
application minor version number.
Tricon_Symbol_Table
The Tricon_Symbol_Table field includes these fields.
Number of Entries
The number of Tricon_Symbol_Entry structures in the table.
String Offset
Reserved.
Checksum
Reserved.
Tricon_Symbol_Entry
The Tricon_Symbol_Entry field includes these fields.
Bin No Modbus
Name Offset Bin Number rfu Alias
Offset conversion Station
4 bytes 1 byte 1 byte reserved 2 bytes 1 byte 1 byte 2 bytes
Name Offset
The Name Offset field identifies the starting position of the name string for this entry.
Bin Number
The Bin Number identifies the bin number of the entry.
Bin Offset
The Bin Offset field identifies the starting position of the entry in the bin.
No Conversion
Reserved for Triconex use.
Modbus Station
Reserved for Triconex use.
Alias
The Alias field identifies the alias number for the entry.
Response Codes
Every response sent by a Triconex controller in reply to an external device includes a code which
indicates the result of the request. A response code of zero (0) indicates the message was
successful. Other codes indicate specific errors.
Code Description
0 Request was successful.
1 No buffer available to process the request. Retry the request.
2 Bin number specified in the request was not in the range from 0 to12.
3 The Tricon NCM or Trident CM module is busy processing previous
requests and cannot accept another request. This can happen if more
than four WRITE_TRICON_DATA requests are outstanding at one
time.
4 No MP is running.
5 TSX has rejected the request. The subReason field contains the specific
reason.
6 Request to TSX timed out.
7 Invalid response from TX.
8 Message was too big.
9 Offset or numberOfValues in the request was invalid.
10 No control program (TriStation application).
11 Read-only port.
236 Bad SOE number.
237 Invalid SOE type.
238 Invalid SOE state.
Overview 160
Message Response Time 161
Modbus Messages 162
Modbus Functions 168
Transmission Errors and Exception Conditions 176
Overview
This appendix provides detailed information about Modbus protocol, which is a
communication protocol used with serial ports to transmit data between a Modbus master and
slave. Modbus protocol includes functions which define the message format for the query and
response.
Query-Response Sessions
Modbus communication is a query-response session, in which the Modbus master initiates a
query and a Modbus slave responds. In Modbus communication, a serial link transmits data in
both directions, but in only one direction at a time.
A query-response session consist of these actions:
• The master sends a query to a slave.
• The master starts a fail-safe timer while it waits for the slave response. Typical slave
response time is in hundreds of milliseconds.
• The slave returns a response to the master.
• The master waits until it has received the response from the slave before sending
another query.
• If there is a slave response timeout, the master will retry the query. The number of
retries and the timeout interval is configured by the MBCTRL function block.
Modbus Messages
This section describes the Modbus messages (query and response functions) supported by
Triconex communication modules. The serial ports on Triconex communication modules
support several Modbus message formats and functions (queries and responses).
Topics include:
• Communication Modes (page 162)
• Function Names and Aliases (page 163)
• Modbus Message Formats (page 163)
• Sample Query and Response Messages (page 165)
• Modbus Message Lengths (page 166)
Communication Modes
A Modbus serial link must use either the Remote Terminal Unit (RTU) or ASCII mode of
communication. If both modes are available, you should choose RTU because it is more efficient
and robust than ASCII. Each serial port can use a different communication mode, assuming that
each port is connected to a separate Modbus master or slave device. If you configure a port for
combination Modbus master and slave operation, you must use RTU mode.
RTU Mode
In RTU mode, data is sent in 8-bit binary characters. Gaps between characters cannot exceed
three character times (the time it takes to send a character). RTU mode uses a 16-bit cyclic
redundancy check (CRC) to detect transmission errors.
ASCII Mode
In ASCII mode, data is transmitted in pairs of ASCII characters. The first character is the ASCII
representation of the most significant 4 bits of the corresponding RTU character. The second
character is the ASCII representation of the least significant 4 bits of the corresponding RTU
character. For example, the RTU character 010011112 (4F16)is sent as the two ASCII characters 4
and F (3416 and 4616). Each ASCII message has a colon at the beginning and a carriage return and
line feed at the end. Gaps between characters in an ASCII message are not significant.
ASCII Mode
Bytes
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Station Function
: Data Data LRC CR LF
Address Code
Data Fields
The Data fields contain information that is specific to the query or response. The length of the
data varies, depending on the function code.
• The hex characters that comprise the content of a message are converted to binary
notation. The colon, carriage return, and line feed are ignored.
• The binary characters are summed without wrap-around carry.
• The resulting sum is negated.
This table shows how to calculate the LRC for the sample message presented earlier in this
chapter.
Table 5 Sample LRC Checksum Calculation
Message Content Checksum Calculation
Address 0 2 0000 0010
Function Code 0 1 0000 0001
Starting Address (H.O.) 0 0 0000 0000
Starting Address (L.O.) 1 3 0001 0011
Quantity of Points (H.O.) 0 0 0000 0000
Quantity of Points (L.O.) 2 5 + 0010 0101
0011 1011
One’s-Complement: 1100 0100
Add 1: + 0000 0001
Two’s-Complement: 1100 0101
Error Check C 5
Modbus Functions
This section includes details on Modbus functions.
Functions include:
• Read Coil Status Function (Function 01) (page 168)
• Read Input Status (Function 02) (page 169)
• Read Holding Registers (Function Code 03) (page 170)
• Read Input Registers (Function Code 04) (page 170)
• Force Single Coil (Function Code 05) (page 171)
• Preset Single Register (Function Code 06) (page 172)
• Read Exception Status (Function Code 07) (page 173)
• Loop-Back Diagnostic Test (Function 08) (page 173)
• Force Multiple Coils (Function Code 15) (page 174)
• Preset Multiple Registers (Function Code 16) (page 175)
Query Format
The Read Coil Status query requests the On/Off status of a group of logic coils from a station.
You can request the status of as many as 2,000 coils with each query, but some Modbus devices
have lower limits. The coils are numbered starting at 0; for example, coil 0 is alias 1, coil 1 is alias
2, and so forth.
The Read Coil Status query is also known as the Read Output Status query.
RTU Mode
Bytes
1 2 3 4 5 6 7 8
Station
0000 0001 Starting Address Number of Coils CRC
Address
ASCII Mode
Bytes
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Station
: Address 0 1 Starting Address Number of Coils LRC CR LF
Response Format
The Read Coil Status response data is packed with one bit for each coil, where 1=On, and 0=Off.
The low-order bit of the first RTU character contains the status of the first coil. For coil quantities
that are not even multiples of eight, the last RTU character is zero-filled at the high-order end.
RTU Mode
Bytes
1 2 3 4 n n+1 n+2
Station 0000 0001 Data Length Data CRC
Address Data
ASCII Mode
Bytes
1 2 3 4 5 6 7 8 n n+1 n+2 n+3 n+4
Query Format
The Read Input Status function operates in the same manner as Read Coil Status (Function Code
01), except that the status of digital inputs is obtained. Inputs are also numbered starting at 0.
For example, input status 0 is alias 10001, input status 1 is alias 10002, and so forth. You can
request the status of as many as 2,000 coils with each query, but some Modbus devices have
lower limits.
RTU Mode
Bytes
1 2 3 4 5 6 7 8
Station 0000 0010 Number of Input Points CRC
Address Starting Address
ASCII Mode
Bytes
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Station
: Address 0 2 Starting Addresses Number of Input Points LRC CR LF
Response Format
RTU Mode
Bytes
1 2 3 4 n n+1 n+2
Station
Address 0000 0010 Data Length Data Data CRC
ASCII Mode
Bytes
1 2 3 4 5 6 7 8 n n+1 n+2 n+3 n+4
Station
: Address 0 2 Data Length Data Data LRC CR LF
Query Format
The Read Holding Registers query requests the binary content of holding registers from a
station. You can request the status of as many as 125 registers with each query, but some
Modbus devices have lower limits. The registers are numbered beginning with 0. For example,
register 0 is alias 40001, register 1 is alias 40002, and so forth.
The Read Holding Registers query is also known as the Read Output Registers query.
RTU Mode
Bytes
1 2 3 4 5 6 7 8
Station
Address 0000 0011 Starting Address Number of Registers CRC
ASCII Mode
Bytes
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Station
: Address 0 3 Starting Address Number of Registers LRC CR LF
Response Format
The Read Holding Registers response data consists of two bytes for each register queried, with
the binary content right-justified. The leftmost character includes the high-order bits, and the
rightmost character includes the low-order bits.
RTU Mode
Bytes
1 2 3 4 n n+1 n+2
Station
Address
0000 0011 Data Length Data Data CRC
ASCII Mode
Bytes
1 2 3 4 5 6 7 8 n n+1 n+2 n+3 n+4
Station
: Address 0 3 Data Length Data Data LRC CR LF
Query Format
The Read Input Registers function operates in the same manner as the Read Holding Registers
query (Function Code 03), except that it obtains the status of input registers. You can request the
status of as many as 125 registers with each query, but some Modbus devices have lower limits.
The registers are numbered beginning with 0. For example, register 0 is alias 30001, register 1 is
alias 30002, and so forth.
RTU Mode
Bytes
1 2 3 4 5 6 7 8
Station 0000 0100 Number of Registers CRC
Address Starting Address
ASCII Mode
Bytes
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Station
: Address 0 4 Starting Address Number of Registers LRC CR LF
Response Format
RTU Mode
Bytes
1 2 3 4 n n+1 n+2
Station
Address 0000 0100 Data Length Data Data CRC
ASCII Mode
Bytes
1 2 3 4 5 6 7 8 n n+1 n+2 n+3 n+4
Station
: Address
0 4 Data Length Data Data LRC CR LF
Query Format
The Force Single Coil function turns a single coil On or Off, depending on its current state.
Because the slave is actively scanning, it can also alter the state of the coil (unless the coil is
disabled). Coils are numbered beginning with 0; for example, coil 0 is alias 1, coil 1 is alias 2, and
so forth.
A coil value of 65,280 (FF0016) turns the coil On, and a coil value of zero (000016) turns the coil
Off. All other values are illegal and do not affect the coil. If the query contains legal values, the
slave responds after the coil state has been altered.
RTU Mode
Bytes
1 2 3 4 5 6 7 8
Station 0000 0101 Coil Value CRC
Address Address to Modify
ASCII Mode
Bytes
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Response Format
RTU Mode
Bytes
1 2 3 4 5 6 7 8
Station 0000 0101 Coil Value CRC
Address Modified
Address
ASCII Mode
Bytes
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Query Format
RTU Mode
Bytes
1 2 3 4 5 6 7 8
Station 0000 0101 Register Value CRC
Address Address to Modify
ASCII Mode
Bytes
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Response Format
RTU Mode
Bytes
1 2 3 4 5 6 7 8
Station
0000 0110 Address to Modify Register Value CRC
Address
ASCII Mode
Bytes
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Station
: 0 6 Address to Modify Register Value LRC CR LF
Address
Query Format
The Read Exception Status function returns the status of eight coils from the slave application
running in the controller. Which coils and what they represent depends on the slave. When a
serial port, configured as a slave, responds to this query, it sends the status of the first eight coils
(aliases 00001 through 00008) defined in the application. Coils are numbered from 0; for
example, coil 0 is alias 1, coil 1 is alias 2, and so forth. The status of each coil is packed in the data
field, one bit for each coil (1=On, 0=Off). You can program these coils to hold any type of
information; for example, machine on or off, heads retracted, safeties satisfied, and receipt-in-
process error conditions.
Note A CM serial port configured as a Modbus master cannot use the Read Exception Status
function.
RTU Mode
Bytes
1 2 3 4
Station
0000 0111 CRC
Address
ASCII Mode
Bytes
1 2 3 4 5 6 7 8 9
Station
: 0 7 LRC CR LF
Address
Response Format
RTU Mode
Bytes
1 2 3 4 5
Station Coil Data
0000 0111 CRC
Address
ASCII Mode
Bytes
1 2 3 4 5 6 7 8 9 10 11
Station
: 0 7 Coil Data LRC CR LF
Address
Query Format
The Loop-Back Diagnostics Test query tests the communications link between the Modbus
master and slave. This query does not affect point values in the slave. When the serial port
acting as a slave receives this query, it re-transmits the query as the response.
RTU Mode
Bytes
1 2 3 4 5 6 7 8
Station
0000 1000 Data CRC
Address
ASCII Mode
Bytes
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Station
: 0 8 Data LRC CR LF
Address
Response Format
RTU Mode
Bytes
1 2 3 4 5 6 7 8
Station
0000 1000 Data CRC
Address
ASCII Mode
Bytes
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Station
: 0 8 Data LRC CR LF
Address
Note A CM serial port configured as a Modbus Master cannot use the Loop-Back Diagnostic
Test function.
Query Format
The Force Multiple Coils query sets each coil in a consecutive block of coils to the specified state
(On or Off) regardless of whether the coils are enabled or disabled. Because the slave is actively
scanning, it can also alter the state of a coil (unless it is disabled). Coils are numbered from 0; for
example, coil 0 is alias 1, coil 1 is alias 2, and so forth. The status of each coil is packed in the data
field, one bit for each coil (1=On, 0=Off).
A single Force Multiple Coils query can set a maximum of 128 coils. The query-response time
required by some Modbus masters might require a much smaller quantity.
RTU Mode
Bytes
1 2 3 4 5 6 7 8 n n+1 n+2
Station Starting Byte Coil Coil
0000 1111 Quantity CRC
Address Address Count Data Data
ASCII Mode
Bytes
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 n n+1n+2 n+3 n+4
Station Starting Byte Coil Coil
: Address
0 F
Address
Quantity
Count
LRC CR LF
Data Data
Response Format
RTU Mode
Bytes
1 2 3 4 5 6 7 8 n n+1 n+2
Station Starting Byte Coil Coil
0000 1111 Quantity CRC
Address Address Count Data Data
ASCII Mode
Bytes
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 n n+1n+2 n+3 n+4
Station Starting Byte Coil Coil
: Address
0 F
Address
Quantity
Count
LRC CR LF
Data Data
Query Format
The Preset Multiple Registers query can change the contents of a maximum of 60 consecutive
holding registers, however, some Modbus devices have lower limits. Because the slave is
actively scanning, it can also alter the state of the registers (unless they are disabled). The values
are provided in binary code up to the maximum valid register value of the controller (16-bit for
Trident). Unused high-order bits must be set to zero. The registers are numbered beginning
with 0; for example, register 0 is alias 40001, register 1 is alias 40002, and so forth.
RTU Mode
Bytes
1 2 3 4 5 6 7 8 n n+1 n+2
Station Starting Byte Register Register
0001 0000 Quantity CRC
Address Address Count Data Data
ASCII Mode
Bytes
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 n n+1n+2 n+3 n+4
Station Starting Byte Register Register
: Address
1 0
Address
Quantity
Count
LRC CR LF
Data Data
Response Format
RTU Mode
Bytes
1 2 3 4 5 6 7 8
Station
0001 0000 Starting Address Quantity CRC
Address
ASCII Mode
Bytes
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Station
: 1 0 Starting Address Quantity LRC CR LF
Address
Transmission Errors
The most frequent cause of transmission errors is noise. Noise sources include improperly
installed or broken connectors, damaged cables, electrical equipment such as generators and
elevators, and lightning. Transmission errors can be detected through the use of character
framing, parity checking, and redundancy checking.
When a slave detects a transmission error, it does not act on or respond to the message. The
master assumes a communications error has occurred if there is no response within a specified
time, usually three seconds.
Parity checking helps detect single-bit transmission errors. However, if there are two errors
within a single character, parity checking cannot detect a change. For example, if 1100 0100 is
distorted to 1111 0100, the number of 1 bits in the data is still odd.
Modbus protocol provides several levels of error checking in order to assure the accuracy of
data transmission. To detect multiple bit errors, the system uses cyclic redundancy check (CRC)
for RTU mode, or longitudinal redundancy check (LRC) for ASCII mode. For more information,
see Checksum Field (CRC or LRC) (page 164).
Exception Conditions
If a master detects an exception in a response to a query or does not receive a response, it takes
appropriate actions which usually include re-transmitting the query. This table lists exception
conditions that are returned by the slave if a programming or operation error causes a master
to send an incorrect query.
Exception Responses
When a slave detects an exception condition, it sends a response message to the master
consisting of the slave’s station address, function code, error code, and error-check fields. To
indicate that the message is an exception response, the slave sets the high-order bit of the
function code to 1. The example shows an exception response to a Preset Multiple Registers
query.
Sample Query
RTU Mode
Bytes
1 2 3 4 5 6 7 8 n n+1 n+2
Station Starting Byte Register Register
0001 0000 Quantity CRC
Address Address Count Data Data
ASCII Mode
Bytes
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 n n+1n+2 n+3 n+4
Station Starting Byte Register Register
: Address
1 0
Address
Quantity
Count
LRC CR LF
Data Data
ASCII Mode
Bytes
1 2 3 4 5 6 7 8 9 10 11 12 13
Station Exception
: 9 0
Code
LRC CR LF
Address
10Base2
The standard for an Ethernet LAN capable of transmitting 10 megabits of data per second
through thin coaxial cables, to a maximum distance of 656 feet (200 meters).
10BaseT
The standard for an Ethernet LAN capable of transmitting 10 megabits of data per second
through twisted-pair wire.
100BaseTX
The predominant standard for a Fast Ethernet LAN capable of transmitting 100 megabits of data
per second through Category 5 twisted-pair cable only.
AUI
Attachment Unit Interface. A coaxial cable connected to a transceiver that plugs into a 15-pin
socket on the network interface card (NIC), to a maximum distance of 328 feet (100 meters).
ARP
Stands for Address Resolution Protocol which is a TCP/IP protocol used to obtain the physical
address of a node on an Ethernet network. A client station broadcasts an ARP request onto the
network with the IP address of the target node it wants to communicate with. The node with
that address responds by sending back its physical address so that packets can be transmitted
to it.
Centronics
A standard 36-pin parallel interface for connecting printers and other devices to a computer.
client/server
An architecture in which the client (PC or workstation) is the requesting machine and the server
is the supplying machine, both of which are connected by means of a local area network (LAN)
or wide area network (WAN).
closed network
A network designed for maximum safety which includes only Triconex devices. A Peer-to-Peer
network is an example of a closed network.
communication path
The route between any two nodes. Same as line, channel, link, or circuit.
communication protocol
Hardware and software standards that govern data transmission between two computers or
communications devices. There are several layers (levels) of functionality in a protocol. Each
layer may be available as a separate software component, or several layers may be combined
into one.
CTS signal
In Modbus communication, an RS-232 signal sent from the receiving station to the transmitting
station which indicates it is ready to accept data.
data bits
The number of bits used to represent one character of data. When a Modbus slave transmits
ASCII text, either seven or eight bits can be used. When a Modbus master or slave uses the RTU
mode, eight data bits are required.
default gateway
A router that forwards all messages not addressed to stations within the local subnet.
duplex
See full duplex and half duplex.
Ethernet
A type of computer network which is defined by the IEEE 802.3 standard. An Ethernet network
is typically a shared media LAN. All stations on the segment share the total bandwidth, which
is either 10 megabits (Ethernet), 100 megabits (Fast Ethernet) or 1,000 megabits (Gigabit
Ethernet) per second.
exception condition
In Modbus communication, a programming or operation error which involves an illegal or
illogical query by the master.
exception response
In Modbus communication, the response of a slave to a programming or operation error.
Fast Ethernet
Another name for 100BaseTX Ethernet communication. Fast Ethernet transmits data at 100
megabits per second rather than 10 megabits per second as in regular Ethernet. Fast Ethernet
operates in a LAN (local area network) that shares the 100 megabit per second bandwidth with
all transmitting stations.
full duplex
Serial communication using two pairs of wires—one pair for Modbus reads and the other pair
for Modbus writes. Called 4-wire in TriStation.
gateway
A computer that performs protocol conversion between different types of networks or
applications. For example, a gateway can convert a TCP/IP packet to a NetWare IPX packet and
vice versa.
GPS
Stands for Global Positioning System which is a system of 24 satellites for identifying earth
locations, launched by the U.S. Department of Defense. The GPS is used for navigation and is
the most accurate time source for a local clock.
half duplex
Serial communication using one pair of wires to transmit Modbus reads and writes. Called 2-
wire in TriStation.
hardware handshake
Signals transmitted back and forth between two stations to coordinate the timing of data
transmission.
hub
A connecting device in a network that joins communication lines together in a star
configuration. Passive hubs are connecting units that add nothing to the data passing through
them. Active hubs (multi-port repeaters) regenerate the data bits to maintain a strong signal.
Intelligent hubs provide added functionality.
IP address
The unique 32-bit address of a computer attached to an Ethernet network. Every client and
server in an Ethernet network requires an IP address which is either permanently assigned or
dynamically assigned at startup.
JetDirect
A print server for LaserJet printers from HP which is available as an internal card or external
unit. It supports its own proprietary printing protocol and several others, depending on the
model. The JetAdmin printer management software is used to configure and control the
JetDirect print server.
MAC address
The unique physical address of a network device that is burned into the Network Interface Card
(NIC) of the device when it is manufactured.
master
In Modbus communication, a device that initiates all query and response exchanges with the
slave devices.
MAU
Stands for media adapter unit which is a device used to convert one type of Ethernet media to
another. In a Trident system, a MAU can be used to convert a CM port to another Ethernet
media type or to extend network distances.
MII
Stands for media independent interface which is a bus used between network controllers and
physical interfaces that is based on the MII interface specification.
Modbus protocol
An industry-standard master/slave protocol that is traditionally used for energy management,
transfer line control, pipeline monitoring, and other rugged industrial processes. A Modbus
communication link can use either the Remote Terminal (RTU) or ASCII mode of transmission.
multi-point
In Modbus communication, a link that interconnects three or more master or slave devices.
network topology
In a network, the pattern of interconnection between nodes; for example, a bus, ring or star
configuration.
NIC
Stands for Network Interface Card which is a printed circuit board that plugs into both a client
and a server device and controls the exchange of data between them. Also called a network
adapter card.
node
In computer communication, a node is a network junction or connection point. For example, a
Trident controller in an Ethernet network is a node. A terminal connected to a minicomputer or
mainframe is a node.
open network
An Ethernet network to which Triconex controllers and other Ethernet devices, including
routers and gateways to other networks, can be connected.
OPC
Stands for OLE for Process Control which is a standard set of non-proprietary interfaces used
to develop client/server programs. OPC supports interoperability between field devices and
applications for process control, factory automation, and business.
parallel port
A socket on a computer used to connect a printer or other parallel device to the computer's
parallel interface.
parity checking
An error detection method that tests the integrity of digital data during transmission over a
serial communication path. Parity checking counts the number of 1 bits in a one-byte data item
and sets the parity bit (the ninth bit) to 0 or 1, resulting in an odd or even total number of bits.
path
In computer communication, the route between any two nodes. Also called line, channel, link,
or circuit.
print server
A hardware device with multiple Ethernet ports that enables a printer to be located anywhere
in an Ethernet network.
Peer-to-Peer protocol
An Ethernet-based Triconex protocol that allows two applications running on separate Triconex
controllers to exchange a limited amount of process control data. Because a Peer-to-Peer
network is restricted to Triconex controllers, the cable can be isolated and protected more
securely than an Ethernet cable. A Peer-to-Peer network requires the use of Ethernet ports on
CM modules.
point-to-point
In Modbus communication, a link that connects one master or slave device to another.
process-tolerance time
The maximum length of time that can elapse before the control algorithms in a TriStation
application fail to operate correctly.
protocol
Rules that govern transmitting and receiving of data. See communication protocol.
RARP
Stands for Reverse Address Resolution Protocol which is a TCP/IP protocol used by a diskless
workstation to obtain its IP address.
redundancy
The practice of using a spare device in parallel with a primary device so that, if the primary
device fails, the spare device is easily or automatically placed into service. Examples are
redundant modules which protect against internal faults, redundant cables which protect
against cable breakage, and redundant workstations which protect against network failures.
router
A device that forwards data packets from one local area network (LAN) or wide area network
(WAN) to another. Based on routing tables and routing protocols, routers read the network
address in each transmitted frame and decide how to send it based on factors like network
traffic, speed, or bad lines.
RS-232
Stands for Recommended Standard 232 which is a standard interface approved by the
Electronic Industries Association (EIA) for connecting serial devices in point-to-point
configurations.
RS-422
Stands for Recommended Standard 422 which is a standard interface approved by the
Electronic Industries Association (EIA) for connecting serial devices in point-to-point
differential configurations.
RS-485
Stands for Recommended Standard 485 which is a standard interface approved by the
Electronic Industries Association (EIA) for connecting serial devices in multi-point differential
configurations.
RTS signal
In Modbus communication, an RS-232 signal sent from the transmitting station to the receiving
station requesting permission to transmit.
scan surplus
A component of the scan time of a controller, the scan surplus is the time left after the executable
elements and communication messages have been processed. The scan surplus should be
positive. If the scan surplus is negative, the scan time should be increased.
scan time
The time required by a controller for the cycle of required control functions. The scan time
includes input poll time; execution time for all executable elements in the TriStation project;
processing time for TriStation and Peer-to-Peer messages, TSAA writes, and Modbus writes;
and output poll time.
slave
In Modbus communication, a device that is controlled by another device called the master. The
master initiates all query and response exchanges, and the slave can only respond.
station
A computer, workstation or terminal in a network. Also called a node.
subnet
A division of a network into an interconnected, but independent, segment (domain) to improve
performance and security. Typically, Triconex controllers are configured in a subnet that is part
of a large network for process control.
subnet mask
The addressing method used to split networks into subnets. The mask is a binary pattern that
subdivides a single IP address into a subnet number and a new host number. A typical subnet
mask is 255.255.255.0, which means that 254 Class C addresses are available.
TCP/IP
Stands for Transmission Control Protocol/Internet Protocol which is the global standard
communication protocol for the Internet. Can also be used for private networks such as
corporate intranets and distributed control systems.
TCP/IP is a routable protocol, which means that all messages contain not only the address of
the destination station, but the address of a destination network. This allows TCP/IP messages
to be sent to multiple networks within an organization or around the world, hence its use in the
Internet.
time synchronization
A Triconex protocol used to establish and maintain a synchronized, network-wide time basis.
A controller’s time can be synchronized with the master node in a network of Tricon or Trident
controllers, or with a Distributed Control System (DCS).
TSAA
Stands for Triconex System Access Application, a protocol that enables client/server
communication between Triconex controllers and PCs. Two client/server programs, OPC
Server and DDE Server, use TSAA protocol to exchange data with Triconex controllers. TSAA
protocol can also be used to write other programs for accessing Trident points.
transceiver
A transmitter and receiver of analog or digital signals, such as a transponder or network
adapter.
TriStation protocol
A Triconex master/slave protocol in which the master (a TriStation PC) communicates with the
slave (a Triconex controller) over an Ethernet network. TriStation communicates with the Main
Processors in order to download the application to the Triconex controller and upload
diagnostic information.
P R
parallel port, defined, 182
RARP, defined, 183
parallel printing, overview, 103
Read Coil Status function, 168
parity checking, defined, 182
Read Exception Status function, 173
parity checking property, 83
Read function blocks, for Modbus master, 87
path (communication), defined, 182 Read function blocks (Modbus)
PC redundancy, OPC Server, 58 sample, 90
Peer-to-Peer sample programs, 96
configuring ports, 66 Read Holding Registers function, 170
data transfer time, 64 Read Input Registers function, 170
function blocks, 67
monitoring communcation, 70 Read Input Status function, 169
Peer-to-Peer communication READ_TRICON_CLOCK message, 140
overview, 3, 62 READ_TRICON_CLOCK_RSP message, 141
speed restrictions, 63, 69 READ_TRICON_DATA message, 144
using Send and Receive function blocks, 67–68 READ_TRICON_RSP message, 145
Peer-to-Peer protocol, defined, 183 real values
performance, Modbus functions, 162 IEEE standard, 95
points, overview, 31, 100 transmitting with scaling, 92
point-to-point, defined, 183 Recvid input parameter, 68
point-to-point configuration, 77 Recvnode input parameter, 68
W
Wire Type property, 84
write access
by tagname or alias, 31, 100
configuring CM port, 36
Trident, 32, 99
Write function blocks, for Modbus master, 87
Write function blocks (Modbus)
sample, 91
sample programs, 96
WRITE_TRICON_DATA message, 139
WRITE_TRICON_DATA_RSP message, 140