Dasmbtcp 3.0 PDF
Dasmbtcp 3.0 PDF
Dasmbtcp 3.0 PDF
Version 3.0
Last Revision: 2/26/13
Contents
Welcome..............................................................7
MBTCP Version 3.0 Features................................................................. 7
Documentation Conventions .................................................................. 8
Technical Support................................................................................... 8
Troubleshooting .............................................103
Monitoring Connectivity Status with the PLC....................................103
Monitoring the Status of DAS Conversations.....................................104
Using DDEStatus and IOStatus in Excel.........................................105
Reading Values from the DAServer into Excel...............................105
Writing Values to the DAServer from Excel ...................................106
Error Messages and Codes..................................................................107
DAServer Error Messages...............................................................107
Server-Specific Error Codes............................................................116
Index .............................................127
Welcome
Documentation Conventions
This documentation uses the following conventions:
Technical Support
Wonderware Technical Support offers a variety of support options to answer
any questions on Wonderware products and their implementation.
Before you contact Technical Support, refer to the relevant section(s) in this
documentation for a possible solution to the problem. If you need to contact
technical support for help, have the following information ready:
The type and version of the operating system you are using.
Details of how to recreate the problem.
The exact wording of the error messages you saw.
Any relevant output listing from the Log Viewer or any other diagnostic
applications.
Details of what you did to try to solve the problem(s) and your results.
If known, the Wonderware Technical Support case number assigned to
your problem, if this is an ongoing problem.
C H A P T E R 1
Getting Started
Contents
Overview
Before You Begin
Generic Modbus Controllers
Supported Client Protocols
Supported Device Protocols
Overview
The DAServer is one component of a software system that connects your
software application with information on the factory floor.
This DAServer documentation covers only the information you need to
configure and run the DAServer component. See the documentation that comes
with the related components for details on their operation. You can find
installation instructions in a help file on the distribution CD.
You use the DAServer Manager to configure, activate, and troubleshoot the
DAServer. The DAServer Manager is located in the System Management
Console (SMC).
This documentation describes some of the features of the DAServer Manager.
See the DAServer Manager Users Guide to find more information on:
Global parameters
Configuration sets
Time zone features
Icon definitions
Activation/deactivation
Configuring as a service
Importing/exporting device items
Standard diagnostics
You can troubleshoot problems with the DAServer using the ArchestrA Log
Viewer, a snap-in to the SMC. See the Log Viewer help file to find information
on:
Viewing error messages.
Determining which messages are shown.
Bookmarking error messages.
You may also be able to troubleshoot problems using your client application,
such as the Wonderware InTouch HMI software. The client application can use
system device items to determine the status of nodes and the values of some
parameters.
Important! This DAServer is compliant with the OPC Data Access (DA)
2.05 specifications.
For more information about the DAServer architecture, see the Reference
section.
OPC
OPC (OLE for Process Control) is a non-proprietary set of standard interfaces
based upon Microsofts OLE/COM technology. This standard makes possible
interoperability between automation/control applications, field systems/
devices and business/office applications.
Avoiding the traditional requirement of software/application developers to
write custom drivers to exchange data with field devices, OPC defines a
common, high-performance interface that permits this work to be done once,
and then easily reused by HMI, SCADA, control and custom applications.
Over the network, OPC uses DCOM (Distributed COM) for remote
communications.
SuiteLink
SuiteLink uses a TCP/IP-based protocol and is designed specifically to meet
industrial needs such as data integrity, high throughput, and easier diagnostics.
This TCP/IP standard is supported on Windows NT and Windows NT-
technology-based operating systems (for example, Windows 2003, Windows
2000, Windows XP, and Windows XP Embedded).
SuiteLink is not a replacement for DDE, FastDDE, or NetDDE. The protocol
used between a client and a server depends on your network connections and
configurations. SuiteLink provides the following features:
Value Time Quality (VTQ) places a timestamp and quality indicator on all
data values delivered to VTQ-aware clients.
Extensive diagnostics of the data throughput, server loading, computer
resource consumption, and network transport are made accessible through
the operating systems performance monitor. This feature is critical for the
operation and maintenance of distributed industrial networks.
Consistent high data volumes can be maintained between applications
regardless if the applications are on a single node or distributed over a
large node count.
The network transport protocol is TCP/IP using Microsofts standard
WinSock interface.
DDE/FastDDE
DDE/FastDDE communication protocols allow communication between a
client and a server. DDE protocol is developed by Microsoft whereas
FastDDE protocol is proprietary to Wonderware.
DDE
DDE is a communications protocol to allow applications in the Windows
environment to send/receive data and instructions to/from each other. It
implements a Client/Server relationship between two concurrently running
applications.
The server application provides the data and accepts requests from any other
application interested in its data. Requesting applications are called clients.
Some applications such as InTouch and Microsoft Excel can simultaneously be
both a client and a server.
FastDDE
FastDDE provides a means of packing many proprietary Wonderware
Dynamic Data Exchange messages into a single Microsoft DDE message. This
packing improves efficiency and performance by reducing the total number of
DDE transactions required between a client and a server.
Although Wonderware's FastDDE has extended the usefulness of DDE for our
industry, this extension is being pushed to its performance constraints in
distributed environments.
Note For more information on the Modbus protocol and to better understand
how to read and write data to the different Modicon controllers, please refer to
the Modicon "Modbus Protocol Reference Guide" (PI-MBUS-300) from
Schneider Electric.
Direct Connectivity
The Modbus TCP/IP Ethernet protocol is utilized to directly connect to the
following Modicon controllers through the TCP/IP port.
TSX Quantum controllers
TSX Momentum controllers
TSX Premium controllers
Generic Modbus TCP (4-Digit, 5-Digit, and 6-Digit) controllers
Indirect Connectivity
The TCP/IP Ethernet protocol, through the TCP/IP port and down to either
a Modbus Bridge or NR&D Pen-T Bridge is used to communicate with the
following controllers:
Compact 984 controllers (via RS232)
Modicon Micro controllers (via RS232)
TSX Momentum controllers (via RS232 or RS485)
Generic Modbus Serial (4-Digit, 5-Digit, 6-Digit) controllers (via
Serial RS485)
For more information about Modbus Bridge models and other supported
hardware, see "Supported MBTCP DAServer Hardware and Firmware" on
page 121.
C H A P T E R 2
This section describes the procedures required to set up the MBTCP DAServer
for use with the supported devices, gateways, and communication-interfaces.
Many high-level functions and user-interface elements of the DAServer
Manager are universal to all DAServers. These universal functions are
described in detail in the DAServer Manager Users Guide.
See the DAServer Manager Users Guide to find more information on:
Global parameters
Configuration sets
Time zone features
Icon definitions
Activation/deactivation
Configuring as a service
Importing/exporting device items
Standard diagnostics
C H A P T E R 3
Note Before you add these Ports in the SMC, you need to identify your
hardware topology to the devices being connected.
Note The shortcut menu items described in this document typically represent
only a subset of any actual shortcut menu. Most items in each shortcut menu
are standard Windows commands. For more information about those
commands, please see Help, by right-clicking the System Management
Console icon.
Note For more information on the Modbus protocol and to better understand
how to read and write data to the different Modicon controllers, please refer to
the Modicon Modbus Protocol Reference Guide (PI-MBUS-300) from
Schneider Electric.
Important! Since there are no default values for security settings, you
must take note of the User Name and password selected during the install.
3. After the DAServer has been installed, start the System Manager Console
by clicking the Start button on the Windows taskbar and pointing to
Programs.
4. Point to the Wonderware folder that contains the System Management
Console, then click System Management Console.
5. From the System Management Console tree, click on DAServer
Manager.
6. Click on Default Group, then the Local node.
Under the Local node, the DAServer name is
ArchestrA.DASMBTCP.3.
7. Before the DAServer is started, you must first build the device hierarchy
to establish communications to each of the controllers.
Important! Any Global Parameters that appear dimmed are either not
supported or cannot be configured for this DAServer. Simulation Mode is
not supported.
8. When the MBTCP hierarchy build has been completed, you can start
configuring the respective devices for communications.
9. You may create the desired Device Groups for each controller by:
Navigating to the object of interest in the DAServer Manager tree
view.
Clicking on the Device Groups tab.
Right-clicking in the Device Groups dialog box and selecting the
Add command from the shortcut menu.
10. Finally, you may create the desired Device Items for each controller by:
Navigating to the object of interest in the DAServer Manager tree
view.
Clicking on the Device Items tab.
Right-clicking in the Device Items dialog box and selecting the Add
command from the shortcut menu.
Note When any configuration view is in an open state and you open the same
server the second time, the DAServer locks the second instance of this same-
server access for any update or configuration activities. Access to this second
opening instance will resume after the first one has been closed.
The DAServer is now ready for use. In order to use the DAServer, you must
activate it.
If you are using an OPC Client, the DAServer can be auto-started.
If you are using DDE/SuiteLink, you must start the DAServer either as a
manual or automatic service.
To activate the DAServer, right-click on ArchestrA.DASMBTCP.3 and
select Activate Server from the shortcut menu.
Note The default name created from adding a hierarchy object is in the format
of New_ObjectName_###, where ObjectName is the name of the object type
and ### is a numeric value starting from "000" enumerated sequentially per
hierarchy object. The hierarchy object name is up to 32 characters long. The
link name for the OPC items is constructed by assembling the respective object
names of the nodes along the hierarchy tree in the logical order, starting from
this DAServers TCPIP_PORT root down to the leaf. Therefore, the link name
is always unique for the DAServer.
TCPIP_PORT Object
The server-specific configuration portion of the MBTCP DAServer hierarchy
tree under the DAServer Manager starts at the TCPIP_PORT object.
1. Configure the TCPIP_PORT object from the Configuration branch of the
hierarchy after the DAServer has been installed.
2. Rename this object as appropriate.
Note The MBTCP DAServer uses port 502 as the default port number to
contact the PLC. The port number in this display is dimmed and non
changeable. However, the actual port to be used by the Generic Modbus PLCs
can be configured in the ModbusPLC object. This setting will override the port
setting in the TCPIP_PORT object. Controllers configured under the
ModbusBridge object will always use port number 502.
ModbusBridge Object
To add ModbusBridge objects to your MBTCP hierarchy
1. Right-click on the TCPIP_PORT branch.
2. Select Add ModbusBridge Object from the shortcut menu.
It is named New_ModbusBridge_000 by default.
Note You can add up to 247 of each type object to the hierarchy. However, the
bridge itself limits the number of PLCs that can be connected to the serial line.
3. Rename as appropriate.
The New_ModbusBridge_000 Parameters configuration view is
displayed.
Modbus Bridge:
The Bridge Type Modbus is the default bridge.
This attribute is editable.
The maximum number is 4 (four).
The minimum number is 1 (one).
The default value is 2 (two).
NR&D Pen-T Bridge:
The value of this attribute is set to 1 (one).
This attribute is not editable.
From the ModbusBridge branch of the DAServer hierarchy, the following
objects can be created:
Compact984 Object
ModiconMicro Object
TSXMomentumRS Object
ModbusPLCRS Object
For further instructions on adding these objects, see "Adding the Compact984,
ModiconMicro, TSXMomentumRS, or ModbusPLCRS Objects to the MBTCP
Hierarchy."
TSXQuantum Object
To add TSXQuantum objects to your MBTCP hierarchy
1. Right-click on the TCPIP_PORT branch.
2. Select Add TSXQuantum Object from the shortcut menu.
A new TSXQuantum object is created as a node in the hierarchy tree.
It is named New_TSXQuantum_000 by default.
3. Rename as appropriate.
The New_TSXQuantum_000 Parameters configuration view is
displayed.
Reply timeout (sec): Enter the amount of time the server will wait for an
acknowledgment.
The minimum value is 1 (one).
The maximum value is 60.
The default value is 3 (three).
Maximum outstanding messages: Enter the maximum number of
outstanding messages in the queue.
The minimum value is 1 (one).
The maximum value is 20.
The default value is 4 (four).
Use Concept data structures (Longs): Select to read data from the PLC
in concept data structure format for Long item types. If checked, the
DAServer will process the data in the same register order as the Concept
programming software.
Checked selected (Default)
Not checked not selected
Use Concept data structures (Reals): Select to read data from the PLC in
concept data structure format for Real item types. If checked, the
DAServer will process the data in the same register order as the Concept
programming software.
Checked selected (Default)
Not checked not selected
Bit order format: The format of the bit order entered into the PLC.
When the Bit order format is selected as B1 B2 B16, it means the
bit order starts from left to right (the Most Significant Bit = Bit 1 and
the Least Significant Bit = Bit 16).
When the Bit order format is selected as B16 B15 B1, it indicates
that the bit order starts from right to left (MSB = Bit 16 and LSB = Bit
1).
The default is bit order starts from left to right.
Register Order: The order of the PLC memory registers written to and
read from, used to support 64-bit data types.
Order 1: R1 R2 R3 R4 (Default)
Order 2: R2 R1 R4 R3
Order 3: R3 R4 R1 R2
Order 4: R4 R3 R2 R1
where R1, R2, R3, and R4 are the relative register addresses in the PLC.
String variable style: PLC string-data format. Select the option for the
style used by the device to store strings in its registers.
Full length (space padded) (Default)
C style (null terminated)
Pascal style (includes length specifier)
Register type: Select either Binary or BCD for the register type being
used.
Binary (Default)
BCD
Maximum address range: There are five sub-elements in this Maximum
addressable registers box. The maximum addressable registers can be
obtained from the Modicon Concept or Modsoft configuration programs.
The PLC will return an error if a register within the configured range is
used to read data but does not exist in the PLC. The MBTCP DAServer
filters out registers outside of this range and logs error messages.
Discrete input Minimum value is 1 (one) (Default)
Enter the maximum number of
addressable discrete inputs (read Maximum value is 65536
coils) in the PLC
Coil Minimum value is 1 (one) (Default)
Enter the maximum number of
addressable write coils in the Maximum value is 65536
PLC.
Input register Minimum value is 1 (one) (Default)
Enter the maximum number of
addressable input registers in the Maximum value is 65536
PLC.
Holding register Minimum value is 1 (one) (Default)
Enter the maximum number of
addressable holding registers in Maximum value is 65536
the PLC.
Extended register Minimum value is 1 (one) (Default)
Enter the maximum number of
addressable extended registers in Maximum value is 98303
the PLC.
Block I/O size: The Block I/O Sizes box contains seven sub-elements.
The DAServer uses the Block I/O sizes to maximize data throughput. The
MBTCP DAServer uses a 256-byte buffer to read or write data to the PLC.
The maximum value is the maximum number of registers that can be read
or written from/to the PLC in one command.
Discrete input/coil read Minimum value is 1 (one)
Enter the maximum number of
discrete inputs or coils to read at Maximum value is 1976 (Default)
one time.
Coil write The minimum value is 1 (one)
Enter the maximum number of
coils to write at one time. The maximum value is 800 (Default)
Holding register read The minimum value is 1 (one)
Enter the maximum number of
holding registers to read at one The maximum value is 123 (Default)
time.
Holding register write The minimum value is 1 (one)
Enter the maximum number of
holding registers to write at one The maximum value is 100 (Default)
time.
Input register read The minimum value is 1 (one)
Enter the maximum number of
input registers to read at one time. The maximum value is 123 (Default)
Extended register read The minimum value is 1 (one)
Enter the maximum number of
extended registers to read at one The maximum value is 122 (Default)
time.
Extended register write The minimum value is 1 (one)
Enter the maximum number of
extended registers to write at one The maximum value is 120 (Default)
time.
TSXMomentum Object
From the TCPIP_PORT branch of the DAServer hierarchy, you can also create
a TSXMomentum object.
Use Concept data structures (Reals): Select to read data from the PLC in
concept data structure format for Real item types. If checked, the
DAServer will process the data in the same register order as the Concept
programming software.
Checked selected (Default)
Not checked not selected
Bit order format: The format of the bit order entered into the PLC.
When the Bit order format is selected as B1 B2 B16, it means the
bit order starts from left to right (the Most Significant Bit = Bit 1 and
the Least Significant Bit = Bit 16).
When the Bit order format is selected as B16 B15 B1, it indicates
that the bit order starts from right to left (MSB = Bit 16 and LSB = Bit
1).
The default is bit order starts from left to right.
Register Order: The order of the PLC memory registers written to and
read from, used to support 64-bit data types.
Order 1: R1 R2 R3 R4 (Default)
Order 2: R2 R1 R4 R3
Order 3: R3 R4 R1 R2
Order 4: R4 R3 R2 R1
where R1, R2, R3, and R4 are the relative register addresses in the PLC.
String variable style: PLC string-data format. Select the option for the
style used by the device to store strings in its registers.
Full length (space padded) (Default)
C style (null terminated)
Pascal style (includes length specifier)
Register type: Select either Binary or BCD for the register type being
used.
Binary (Default)
BCD
Block I/O size: This Block I/O Sizes box contains seven sub-elements.
The DAServer uses the block I/O sizes to maximize data throughput. The
MBTCP DAServer uses a 256-byte buffer to read or write data to the PLC.
The maximum value is the maximum number of registers that can be read
or written from/to the PLC in one command.
Discrete input/coil read Minimum value is 1 (one)
Enter the maximum number of
discrete inputs or coils to read at Maximum value is 1976 (Default)
one time.
Coil write The minimum value is 1 (one)
Enter the maximum number of
coils to write at one time. The maximum value is 800 (Default)
Holding register read The minimum value is 1 (one)
Enter the maximum number of
holding registers to read at one The maximum value is 123 (Default)
time.
Holding register write The minimum value is 1 (one)
Enter the maximum number of
holding registers to write at one The maximum value is 100 (Default)
time.
Input register read The minimum value is 1 (one)
Enter the maximum number of
input registers to read at one time. The maximum value is 123 (Default)
TSXPremium Object
From the TCPIP_PORT branch of the DAServer hierarchy, you can also create
a TSXPremium object.
Note You can add up to 1024 of this type of object to the hierarchy.
3. Rename as appropriate.
The New_TSXPremium_000 Parameters configuration view is
displayed.
Register Order: The order of the PLC memory registers written to and
read from, used to support 64-bit data types.
Order 1: R1 R2 R3 R4 (Default)
Order 2: R2 R1 R4 R3
Order 3: R3 R4 R1 R2
Order 4: R4 R3 R2 R1
where R1, R2, R3, and R4 are the relative register addresses in the PLC.
String variable style: PLC string-data format. Select the option for the
style used by the device to store strings in its registers.
Full length (space padded) (Default)
C style (null terminated)
Pascal style (includes length specifier)
Register type: Select either Binary or BCD for the register type being
used.
Binary (Default)
BCD
Maximum address range: There are four sub-elements in this Maximum
addressable registers box. The maximum addressable registers can be
obtained from the Modicon Concept or Modsoft configuration programs.
The PLC will return an error if a register outside of this range is used to
read data. The MBTCP DAServer filters out registers outside of this range
and logs error messages.
Discrete input With 1-based addressing (Default)
Enter the maximum number of Minimum value is 1 (one) (Default)
addressable discrete inputs (read Maximum value is 65536
coils) in the PLC
With Zero Based Addressing
selected:
Minimum value is 0
Maximum value is 65535
Coil With 1-based addressing (Default)
Enter the maximum number of Minimum value is 1 (one) (Default)
addressable write coils in the Maximum value is 65536
PLC.
With Zero Based Addressing
selected:
Minimum value is 0
Maximum value is 65535
ModbusPLC Object
The ModbusPLC object is created from the TCPIP_PORT branch of the
DAServer hierarchy. It is intended for PLCs/controllers that use the Modbus
protocol but not in the list of the supported hardware described in Appendix A,
Supported MBTCP DAServer Hardware and Firmware. However, the
PLCs/controllers need to conform to and comply with the Modbus
specifications as listed in Appendix B, The Modbus Protocol.
Note The MBTCP DAServer uses port 502 as the default port number to
contact the PLC. The port number is configurable in this object. This will
override the port setting in the parent TCPIP_PORT object for this
connectivity.
Reply timeout (sec): Enter the amount of time the server will wait for an
acknowledgment.
The minimum value is 1 (one).
The maximum value is 60.
The default value is 3 (three).
Maximum outstanding messages: Enter the maximum number of
outstanding messages in the queue for the PLC.
The minimum value is 1 (one).
The maximum value is 20.
The default value is 1 (one).
Use Concept data structures (Longs): Select to read data from the PLC
in concept data structure format for Long item types. If checked, the
DAServer will process the data in the same register order as the Concept
programming software.
Checked selected (Default)
Not checked not selected
Use Concept data structures (Reals): Select to read data from the PLC in
concept data structure format for Real item types. If checked, the
DAServer will process the data in the same register order as the Concept
programming software.
Checked selected (Default)
Not checked not selected
Support multiple coil write: Select for the PLC to write to multiple coils
in one message with the Modbus protocol function code 15 (0x0F). If not
selected, the PLC will write to a single coil in one message with the
Modbus protocol function code 5 (0x05).
Checked selected (Default)
Not checked not selected
Support multiple register write: Select for the PLC to write to multiple
registers in one message with the Modbus protocol function code 16
(0x10). If not selected, the PLC will write to a single register in one
message with the Modbus protocol function code 6 (0x06).
Checked selected (Default)
Not checked not selected
Register size (digits): Select the correct register size for addressing the
PLC.
4-digit is used for addressing the Modbus Generic 4-Digit PLCs.
5-digit applies to the Modbus Generic 5-Digit PLCs.
6-digit is used for addressing the Modbus Generic 6-Digit PLCs.
(Default)
Note The selection for the Register size determines the maximum
address range. They are changeable as in other supported PLCs listed in
Appendix A, Supported MBTCP DAServer Hardware and Firmware.
For 4-digit, the maximum value is 999.
For 5-digit, the maximum value is 9999.
For 6-digit, the maximum value is 65536.
String variable style: PLC string-data format. Select the option for the
style used by the device to store strings in its registers.
Full length ( space padded) (Default)
C style (null terminated)
Pascal style (includes length specifier)
Register type: Select either Binary or BCD for the register type being
used.
Binary (Default)
BCD
Block I/O size: This Block I/O Sizes box contains four sub-elements. The
DAServer uses the block I/O sizes to maximize data throughput. The
MBTCP DAServer uses a 256 byte buffer to read or write data to the PLC.
The maximum value is the maximum number of registers that can be read
or written from/to the PLC in one command.
Discrete input/coil read Minimum value is 1 (one)
Enter the maximum number of Maximum value is 1976 (Default)
discrete inputs or coils to read at
one time.
Coil write Minimum value is 1 (one)
Enter the maximum number of Maximum value is 800 (Default)
coils to write at one time.
Holding register read Minimum value is 1 (one)
Enter the maximum number of Maximum value is 123 (Default)
holding registers to read at one
time.
Holding register write Minimum value is 1 (one)
Enter the maximum number of Maximum value is 100 (Default)
holding registers to write at one
time.
Compact984 Object
The Compact984 object can be created only from the ModbusBridge branch.
Note You can add up to 247 of this type of object to the hierarchy.
3. Rename as appropriate.
The New_Compact984_000 Parameters configuration view is
displayed.
ModiconMicro Object
From the ModbusBridge branch of the DAServer hierarchy, the ModiconMicro
object can be created.
Note You can add up to 247 of this type of object to the hierarchy.
3. Rename as appropriate.
The New_ModiconMicro_000 Parameters configuration view is
displayed.
Use Concept data structures (Reals): Select to read data from the PLC in
concept data structure format for Real item types. If checked, the
DAServer will process the data in the same register order as the Concept
programming software.
Checked selected (Default)
Not checked not selected
Bit order format: The format of the bit order entered into the PLC.
When the Bit order format is selected as B1 B2 B16, it means the
bit order starts from left to right (the Most Significant Bit = Bit 1 and
the Least Significant Bit = Bit 16).
When the Bit order format is selected as B16 B15 B1, it indicates
that the bit order starts from right to left (MSB = Bit 16 and LSB = Bit
1).
The default is bit order starts from left to right.
Register Order: The order of the PLC memory registers written to and
read from, used to support 64-bit data types.
Order 1: R1 R2 R3 R4 (Default)
Order 2: R2 R1 R4 R3
Order 3: R3 R4 R1 R2
Order 4: R4 R3 R2 R1
where R1, R2, R3, and R4 are the relative register addresses in the PLC.
String variable style: PLC string-data format. Select the option for the
style used by the device to store strings in its registers.
Full length (space padded) (Default)
C style (null terminated)
Pascal style (includes length specifier)
Register type: Select either Binary or BCD for the register type being
used.
Binary (Default)
BCD
Block I/O size: This Block I/O Sizes box contains five sub-elements. The
DAServer uses the Block I/O sizes to maximize data throughput. The
MBTCP DAServer uses a 256-byte buffer to read or write data to the PLC.
The maximum value is the maximum number of registers that can be read
or written from/to the PLC in one command.
Discrete input/coil read The minimum value is 1 (one)
Enter the maximum number of
discrete inputs or coils to read The maximum value is 1976 (Default)
at one time.
Coil write The minimum value is 1 (one)
Enter the maximum number of
coils to write at one time. The maximum value is 800 (Default)
Holding register read The minimum value is 1 (one)
Enter the maximum number of
holding registers to read at one The maximum value is 123 (Default)
time.
Holding register write The minimum value is 1 (one)
Enter the maximum number of
holding registers to write at one The maximum value is 100 (Default)
time.
Input register read The minimum value is 1 (one)
Enter the maximum number of
input registers to read at one The maximum value is 123 (Default)
time.
TSXMomentumRS Object
The TSXMomentumRS object is created from the ModbusBridge branch of
the DAServer Manager hierarchy.
Note You can add up to 247 of this type of object to the hierarchy.
3. Rename as appropriate.
The New_TSXMomentumRS_000 Parameters configuration view
is displayed.
Register Order: The order of the PLC memory registers written to and
read from, used to support 64-bit data types.
Order 1: R1 R2 R3 R4 (Default)
Order 2: R2 R1 R4 R3
Order 3: R3 R4 R1 R2
Order 4: R4 R3 R2 R1
where R1, R2, R3, and R4 are the relative register addresses in the PLC.
String variable style: PLC string-data format. Select the option for the
style used by the device to store strings in its registers.
Full length (space padded) (Default)
C style (null terminated)
Pascal style (includes length specifier)
Register type: Select either Binary or BCD for the register type being
used.
Binary (Default)
BCD
Maximum address range: There are five sub-elements in this Maximum
addressable registers box. The maximum addressable registers can be
obtained from the Modicon Concept or Modsoft configuration programs.
The PLC will return an error if a register outside of this range is used to
read data. The MBTCP DAServer filters out registers outside of this range
and logs error messages.
Discrete input The minimum value is 1 (one)
Enter the maximum number of
addressable discrete inputs or The maximum value is 65536
read coils in the PLC. (Default)
Coil The minimum value is 1 (one)
Enter the maximum number of
addressable write coils in the The maximum value is 65536
PLC. (Default)
Input register The minimum value is 1 (one)
Enter the maximum number of
addressable input registers in the The maximum value is 65536
PLC. (Default)
Holding register The minimum value is 1 (one)
Enter the maximum number of
addressable holding registers in The maximum value is 65536
the PLC. (Default)
Extended register The minimum value is 1 (one)
Enter the maximum number of
addressable extended registers in The maximum value is 98303
the PLC. (Default)
Block I/O size: The Block I/O Sizes box contains seven sub-elements.
The DAServer uses Block I/O Sizes to maximize data throughput. The
MBTCP DAServer uses a 256-byte buffer to read or write data to the PLC.
The maximum value is the maximum number of registers that can be read
or written from/to the PLC in one command.
Discrete input/coil read The minimum value is 1 (one)
Enter the maximum number of
discrete inputs or coils to read The maximum value is 1976 (Default)
at one time.
Coil write The minimum value is 1 (one)
Enter the maximum number of
coils to write at one time. The maximum value is 800 (Default)
Holding register read The minimum value is 1 (one)
Enter the maximum number of
holding registers to read at one The maximum value is 123 (Default)
time.
Holding register write The minimum value is 1 (one)
Enter the maximum number of
holding registers to write at one The maximum value is 100 (Default)
time.
Input register read The minimum value is 1 (one)
Enter the maximum number of
input registers to read at one The maximum value is 123 (Default)
time.
Extended register read The minimum value is 1 (one)
Enter the maximum number of
extended registers to read at The maximum value is 122 (Default)
one time.
ModbusPLCRS Object
The ModbusPLCRS object is added to the DAServer hierarchy from the
ModbusBridge branch.
Note You can add up to 247 of this type of object to the hierarchy.
3. Rename as appropriate.
The New_ModbusPLCRS_000 Parameters configuration view is
displayed.
Reply timeout (sec): Enter the amount of time the server will wait for an
acknowledgment.
The minimum value is 1 (one).
The maximum value is 60.
The default value is 3 (three).
Use Concept data structures (Longs): Select to read data from the PLC
in concept data structure format for Long item types. If checked, the
DAServer will process the data in the same register order as the Concept
programming software.
Checked selected (Default)
Not checked not selected
Use Concept data structures (Reals): Select to read data from the PLC in
concept data structure format for Real item types. If checked, the
DAServer will process the data in the same register order as the Concept
programming software.
Checked selected (Default)
Not checked not selected
Support multiple coil write: Select for the PLC to write to multiple coils
in one message. If not selected, the PLC will write to a single coil in one
message.
Checked selected (Default)
Not checked not selected
Support multiple register write: Select for the PLC to write to multiple
registers in one message. If not selected, the PLC will write to a single
register in one message.
Checked selected (Default)
Not checked not selected
Swap string bytes: Select to swap string bytes on data read and data
poked.
Checked - selected (Default)
Not checked - not selected
Bit order format: The format of the bit order entered into the PLC.
When the Bit order format is selected as B1 B2 B16, it means the
bit order starts from left to right (the Most Significant Bit = Bit 1 and
the Least Significant Bit = Bit 16).
When the Bit order format is selected as B16 B15 B1, it indicates
that the bit order starts from right to left (MSB = Bit 16 and LSB = Bit
1).
The default is bit order starts from left to right.
Register Order: The order of the PLC memory registers written to and
read from, used to support 64-bit data types.
Order 1: R1 R2 R3 R4 (Default)
Order 2: R2 R1 R4 R3
Order 3: R3 R4 R1 R2
Order 4: R4 R3 R2 R1
where R1, R2, R3, and R4 are the relative register addresses in the PLC.
Register size (digits): Select the correct register size for addressing the
PLC.
4-digit is used for addressing the Modbus Generic 4-Digit PLCs.
5-digit applies to the Modbus Generic 5-Digit PLCs.
6-digit is used for addressing the Modbus Generic 6-Digit PLCs.
(Default)
Note The selection for the Register size determines the maximum
address range. They are changeable as in other supported PLCs listed in
Appendix A, Supported MBTCP DAServer Hardware and Firmware.
For 4-digit, the maximum value is 999.
For 5-digit, the maximum value is 9999.
For 6-digit, the maximum value is 65536.
String variable style: PLC string-data format. Select the option for the
style used by the device to store strings in its registers.
Full length (space padded) (Default)
C style (null terminated)
Pascal style (includes length specifier)
Register type: Select either Binary or BCD for the register type being
used.
Binary (Default)
BCD
Block I/O size: This Block I/O Sizes box contains four sub-elements. The
DAServer uses Block I/O Sizes to maximize data throughput. The
MBTCP DAServer uses a 256-byte buffer to read or write data to the PLC.
The maximum value is the maximum number of registers that can be read
or written from/to the PLC in one command.
Discrete input/coil read The minimum value is 1 (one)
Enter the maximum number of
discrete inputs or coils to read at The maximum value is 1976
one time. (Default)
Coil write The minimum value is 1 (one)
Enter the maximum number of
coils to write at one time. The maximum value is 800 (Default)
Register read The minimum value is 1 (one)
Enter the maximum number of
extended registers to read at one The maximum value is 122 (Default)
time.
Register write The minimum value is 1 (one).
Enter the maximum number of
holding registers to write at one The maximum value is 100 (Default)
time.
The logical endpoint for each branch of the MBTCP hierarchy tree is a
hardware device (PLC).
Note In order to use the DAServer, you must activate it. See the DAServer
Manager documentation for information about how to activate and deactivate
the DAServer.
String-Data Handling
The MBTCP DAServer can process three different configurable string variable
styles:
Full Length
C Style
Pascal
Depending on what string style the PLC is using, you can configure the server
using the user interface in the PLC configuration view in order to use the
appropriate string variable style.
C Style
If a string is read using the C Style, the string always uses all of the registers
allocated. The PLC string is stored in the server string as is, except that the last
character contained in the last register of the string is replaced with a null
character (hex 00).
If a string is written and the string is shorter than the allocation of registers, it is
padded with ASCII null characters (hex 00).
For example:
If the string "Wonderware" is stored in the string item "400001-400010 m,"
registers 400001 through 400005 contain the string "Wonderware" and
registers 400006 through 400010 contain nulls.
If the string "Wonderware" is stored in the string item "400001-400005 m,"
registers 400001 through 400005 contain the truncated string "Wonderwar0"
with a null character replacing the last character "e."
A message is placed in the logger indicating that the string was truncated.
Pascal Style
If strings are read using the Pascal Style, each string uses a length obtained
from the first byte of the string to store data in the server. The PLC string is
stored in the server string as is, up to the length obtained from the first byte of
the string. If the length is greater than the number of registers defined in the
item, then the PLC string is stored in the server string as is, up to the maximum
number of registers.
The first byte written of any string of this style contains the character count.
The string being written starts in the second byte. If a string is written and the
string plus the character count are shorter than the allocation of registers, it is
padded with ASCII null characters (hex 00).
For example:
If the string "Wonderware" is stored in the string item "400001-400010 m,"
registers 400001 through 400006 contain the string "(10)Wonderware0" and
registers 400007 through 400010 contain nulls. The (10) in the string implies
one byte containing the character count.
If the string "Wonderware" is stored in the string item "400001-400005 m,"
registers 400001 through 400005 contain the truncated string "(9)Wonderwar."
A message is placed in the logger indicating that the string was truncated.
Message Optimization
The MBTCP DAServer uses Multi read and write commands to optimize PLC
read/write messages. The MBTCP DAServer optimizes the reading and
writing of data by grouping points that are in consecutive registers. The Block
I/O sizes parameters control the buffer size. The default is to maximize the
buffer size.
Note The number of bytes for the query and response buffers must not exceed
the Modbus maximum buffer size of 256 bytes.
7. Enter or use the device browser to select the primary and secondary
devices. Save the hierarchy node configuration by clicking on the save
icon.
Note The primary device and secondary device must be a PLC object, and not
the Port or Bridge objects.
Important! A Ping item must be specified and be a valid tag in both the
primary and secondary controllers to determine the connection status for
$SYS$Status. The Ping item can be a static item in the device such as a
firmware version or processor type. If the Ping item is invalid or does not exist
in the controller, the failover operation may not work correctly as the value of
$SYS$Status may continue to stay as FALSE in the standby device.
C H A P T E R 4
The Device Groups tab in the DAServer Manager user interface is used to
create new, modify, or delete device group definitions for an object. For
DDE/SuiteLink communications, one or more device group definitions must
exist for each PLC that the DAServer will communicate with.
Each device group (topic) definition should contain a unique name for the PLC
associated with it.
Note When you add a new device group, enter a unique name.
Note When you select another part of the DAServer tree hierarchy, you are
prompted to save the modifications to the configuration set.
When you add a new device group, enter a unique name (up to 32
characters long).
Note When you select another part of the MBTCP DAServer tree hierarchy,
you are prompted to save the modifications to the configuration set.
1. Click on the PLCs name in the PLC branch of the DAServer hierarchy.
2. Select the Device Group tab of the configuration view pane at right.
3. Add a new device group or select an existing device group.
4. Right-click on the device group name, then select Edit from the shortcut
menu.
The Device Group Parameters dialog box is displayed.
Note Since the status of Support Unsolicited Messages check box cannot be
readily viewed from the Device Groups tab, proper naming of device groups
which support unsolicited messages is strongly recommended.
7. Save the configuration change by clicking the Save icon located at the
upper-right corner of the configuration view pane.
Note When you select another part of the MBTCP DAServer tree hierarchy,
you are prompted to save the modifications to the configuration set.
Archiving the created list of device items to a .csv file, a file with values
separated by commas.
Importing a .csv file into the Device Items tab.
Each device item definition should contain a unique name for the PLC
associated with it.
The Device Items dialog box has the following two columns:
Name: This column defines the alias names to actual PLC items.
Item Reference: The actual PLC item names, linked to the created aliases,
are defined in this column.
For example:
For Modicon holding register 400001 and 400010, the following entries can be
created.
Note When you create or add a new device item, a unique name needs to be
entered for it.
Once the Device Items feature is utilized to configure item names, it provides
the DAServer with the capability to perform OPC Item browsing. When the
DAServer is running and an OPC client requests item information, the
configured items will show up under the PLC hierarchy node.
Note System items are not valid item reference, but DAServer-specific
system items are ok.
Note When you select another part of the MBTCP DAServer tree hierarchy,
you are prompted to save the modifications to the configuration set.
The file can now be edited off-line. It contains one row for each item
configured with two columns, Name and Item Reference, respectively.
Note When the list to be imported contains duplicate names as found in the
current list but the Item References are different, a dialog box will appear to
prompt you to make a selection.
If there are duplicate names, you will be provided with the option to replace the
existing entry with the new entry, or ignore the new entry.
C H A P T E R 5
After you configure the DAServer, there are two steps to take before you can
access data with your client application.
The first step is to determine what kind of client applications are to be used
with this DAServer. If any of your client applications use DDE/SuiteLink, you
must configure the DAServer as a service. If only OPC client applications will
be used, you can configure the DAServer as a service or as not a service.
The last step is to activate the DAServer. Some client applications can
programatically activate the DAServer. If you configure the DAServer as an
automatic service, the DAServer is started and activated when the computer on
which the DAServer is installed starts up. If you configure the DAServer as a
manual service, the DAServer is not started when the computer starts up.
Instead, it is started upon the first connection from an OPC client or when
activated from the DAServer Manager.
After a DAServer is running as an auto or manual service, it stays running until
explicitly stopped in the DAServer Manager or the computer shuts down.
Caution! Care should also be taken not to accidently delete the configuration
set file outside of the DAServer Manager using Windows Explorer.
You can create multiple configuration sets and switch between them.
Archiving, clearing, and switching configuration sets can only be done when
the DAServer is deactivated.
Before you create a configuration set, verify that you have saved any changes
you made to the global parameters. If you change a parameter and then
immediately create a configuration set, the original parameter value is saved as
part of the configuration set, not the changed value.
To save a global parameter, click the Save icon.
After you archive at least one configuration set, you can select it for use.
In-Proc/Out-of-Proc
The DAServer can run only as a stand-alone process (out-of-proc). If the
CLXCTX_ALL option is chosen, out-of-proc activation for the DAServer is
triggered. Explicitly starting as part of the client process (in-proc) is not
currently supported. Activation using the CLSCTX_ACTIVATE
_64_BIT_SERVER flag is also not supported.
When the DAServer is running out-of-proc, it supports requests from both
SuiteLink and OPC client applications.
If the DAServer is running as a service, the icon on the DAServer node in the
SMC is yellow. If the DAServer is not running as a service, the icon is white.
For more information, see the DAServer Manager Users Guide.
Hot Configuration
If a parameter value change takes effect right away while the DAServer is
running, the parameter is a hot-configurable parameter. Certain parameters in
the MBTCP DAServer are hot-configurable. Incorporated in the DAServer are
the following hot-configuration functionalities:
Modifying Global Configuration parameters.
Adding, deleting, or modifying device nodes (without affecting any other
device nodes, excluding the children of the modified device nodes).
Adding, deleting, or modifying device groups in the Name and Update
Interval columns in the Device Groups tab.
Adding, deleting, or modifying Name and Item Reference in the Device
Items tab.
Limited support is provided for the hot configuration for the server-specific
configuration parameters in this release. You can modify server-specific
parameters while the server is active. However, to have those changes take
effect, you have to restart the DAServer.
The following parameters are hot configurable. They can be modified online
and changes will take affect without restarting the DAServer.
Reply timeout
String variable style
Register type
Demo Mode
You can install a fully functioning version of this DAServer for demonstration
purposes without a license. Demo Mode allows you to test the functionality of
the DAServer for 120 minutes. After that time, you must install a license to
continue using the DAServer.
When you first start this DAServer, it checks for a license. If the DAServer
cannot find a valid license installed on the local computer, it logs a warning
message indicating a valid license cannot be retrieved, and enters Demo mode.
Thereafter, the DAServer repeats its request for the license every 30 seconds. If
no license is found, the DAServer again logs a warning message on the issue.
This process is repeated for 120 minutes, after which the server stops updating
read/write on all device items (read from cache is allowed, but all non-system
data would receive Bad quality status) and reject the addition of any new items.
The DAServer continues to request for a license. Clients continue to function
normally (for instance, you can still add or remove an item, but its quality is set
to Bad until a license is obtained).
If you subsequently add a license to the License Manager, the DAServer logs a
message acknowledging the license, switches out of Demo mode, and runs
normally.
C H A P T E R 6
Client applications read and write to data items that are internal to the
DAServer, as well as to the items located in the devices. Client application
communication with the DAServer is done using either the OPC or
DDE/SuiteLink protocols. The client application may or may not be on the
same computer as the DAServer.
You do not need to create device items in the DAServer for your OPC client
application.
group name: The OPC group created from the client for organizing a
collection of items logically with the same data acquisition properties
between the client and the server, such as update rate.
device group: Meaningful names configured in the DAServer under a
specific controller for the common custom attributes between the
DAServer and the device, such as update interval. If not specified from the
client, the default device group using the global configuration attribute
values from the DAServer is assumed. Functionally, a device group is
equivalent to an access path (optional).
link name: The set of hierarchy node names, representing the specific
devices on a communications path link from the hierarchy root to a
specific controller as configured for this DAServer under the DAServer
Manager, separated by delimiters.
item name: A specific data element, the leaf of the hierarchy tree of this
DAServer, within the specified group. For example, when using this
DAServer, an item can be a relay, timer, counter, register, and so on, in the
controller.
Note You can define multiple device-group (topic) names for the same
device (PLC) to poll different points at different rates.
item name: A specific data element within the specified topic. For
example, when using this DAServer, an item can be a relay, timer, counter,
register, and so on, in the PLC.
Note The term "point" is used interchangeably with the term "item" in
this user's guide.
For more information on item/point names, see the Item Names section of this
user's guide.
C H A P T E R 7
Activate as out-of-proc
The DAServer activates only out-of-proc thereby connecting multiple clients
to a DAServer.
Device Redundancy
The DAServer Manager provides the ability to assign redundant device for
fail-over protection in the event of device failure. Two identical devices are
expected to be configured in the DAServer Manager having identical item
syntax, connected to the same DAServer.
Note Items can not be added for updates through the Redundant Device
Object if the items do not exist in both controllers.
If the Primary device fails, the DAServer will automatically switch over to the
Secondary device. The Secondary device then becomes the active device with
the failed Primary device reverting to the backup role. If the failed device
recovers to good status, it will remain in the standby mode.
Runtime Behavior
The DAServer will start with the active device. The DAS Engine will switch to
the standby device when the active device fails to communicate. The value of
the $SYS$Status will determine the communication failure.
Note The value of the $SYS$Status of the standby device must be TRUE in
order to switch over to the standby device. Otherwise, there will not be any
failover.
When $SYS$Status shows a FALSE value at both active and standby devices,
the DAS Engine will consider a complete communication failure and mark all
the items subscribed to the redundancy device hierarchy with the current time
and the appropriate OPC quality. The DAS Engine will activate the slow-poll
mechanism to retry the communication to both devices until either one of the
Ping Items returns to a good quality and update its $SYS$Status item to TRUE.
When the DAS Engine switches to the standby device, the standby device
becomes active and the originally active device becomes the standby.
When the active device becomes the standby device the Ping Item will not be
deleted from that the standby device. This will ensure the standby will be able
to recover the communication again.
Note The Ping Item must be a valid item from the controller that has not been
rejected by the server for the failover to function properly.
The DAServer will log any failover activities. All other functionality such as
diagnostics, enable/disable, and reset will be performed exactly same as it is
performed for any other hierarchy node.
This feature allows the DAServer to provide fail over support by providing one
node which switches between two other nodes. The Redundant device is
configured with a redundancy node which directs itself to one of the two nodes
and switches to the other based on lack of communications to a common user-
configured controller item. In this manner the Redundant Device Object can be
used to direct client requests to the redundant node, which switches between
device or communication pathway failure without intervention.
Clients advising data values from the MBTCP DAServer can subscribe to tags
in these 64-bit data-types using specific item syntax. The MBTCP DAServer
reads four consecutive registers in the PLC to get a 64-bit value. These
registers are read in four register orders:
Order 1: R1 R2 R3 R4 (Default)
Order 2: R2 R1 R4 R3
Order 3: R3 R4 R1 R2
Order 4: R4 R3 R2 R1
where R1, R2, R3, R4 are the registers. You can select the order in which the
registers are to be read.
C H A P T E R 8
Item Name
The Wonderware MBTCP DAServer supports a variety of data types for the
Modicon controllers. It also supports item names that follow the conventions
described for the following Modicon PLCs:
TSX Quantum (6-Digit)
TSX Momentum (6-Digit)
TSX Premium (6-Digit)
Generic Modbus (4-Digit, 5-Digit, 6-Digit)
Compact 984 (RS232, 5-digit and 6-Digit)
Modicon Micro (RS232, 5-digit)
TSX Momentum (RS232/RS485, 6-Digit)
Generic Modbus (RS232/RS485, 4-Digit, 5-Digit, and 6-Digit)
Contents
Data and Register Types
Modbus Item Naming
DAServer Standard System Items
Generic OPC Syntax
Note The unsigned integer data type "U" has a valid range of 0 (zero) to
2147483647 when accessed through DDE/SL client; for OPC clients the valid
range is from 0 to 4294967295.
The following table lists the PLC register types, the data types contained in the
registers, and what each is processed as.
TSX
Quantum/
Register TSX Modicon Compact Compact Tag
Type Momentum Micro 984-265 984-145 Type Access
Output 1-65536 1-9999 1-65536 1-9999 Discrete Read
Coils Write
Contacts 100001-165536 10001-19999 100001-165536 10001-19999 Discrete Read-
Only
Input 300001-365536 30001-39999 300001-365536 30001-39999 Analog Read-
Only
Holding 400001-465536 40001-49999 400001-465536 40001-49999 Analog Read
Write
Extended 6x0001-6x9998 6x000-6x999 Analog Read
Write
Register
Type TSX Premium Tag Type Access
Output 1-65536 Discrete Read/Write. Mapped to %M PLC object; that is,
Coils With 1-based Output Coils and Contacts Registers are the same.
addressing
(Default)
0-65535
With 0-based
addressing
selected
Contacts 100001-165536 Discrete Read-Only. Mapped to %I PLC object; that is,
With 1-based Output Coils and Contacts Registers are the same.
addressing
(Default)
100000-165535
With 0-based
addressing
selected
Input 300001-365536 Analog Read-Only. Mapped to %IW PLC object; that is,
With 1-based Input Registers and Holding Registers are the
addressing same.
(Default)
300000-365535
With 0-based
addressing
selected
Holding 400001-465536 Analog Read/Write. Mapped to %MW PLC object; that is,
With 1-based Input Registers and Holding Registers are the
addressing same.
(Default) Poking a value to a particular bit in the Holding
register in this TSX Premium PLC is not
400000-465535 supported.
With 0-based
addressing
selected
Note The x in the Extended register number indicates the file number, where
x = 0 implies file number 1, x = 1 implies file number 2, up to x = 9 implies file
number 10. The extended memory size in the PLC determines how many
extended memory files exist. Each file contains up to 10000 registers. The last
file in the PLC will always contain less than 10000 registers.
For example:
A 24K-extended-memory-size PLC contains three (3) files, where the last
file contains 4576 registers.
A 72K-extended-memory-size PLC contains eight (8) files, where the last
file contains 3728 registers.
A 96K-extended-memory-size PLC contains 10 files, where the last file
contains 8304 registers.
1K is 1024 registers.
Warning messages are logged and the client value status is updated when data
is clamped high when reading or writing data. Warning messages will also be
displayed when the PLC data does not convert to BCD correctly.
Note This syntax does not refer to the access path/device group. As long as
the data requested is from the same external device, the value will always be
the same.
Note For DDE/SuiteLink clients, $SYS$Status always comes from the leaf
level of a DAServer hierarchy branch, which is the destination PLC node. For
OPC clients, $SYS$Status can be accessed at all hierarchy levels. $SYS$Status
at the root level of the whole hierarchy tree is always good, as it represents the
quality status of the local computer itself. Hence, for practical application,
OPC clients should reference $SYS$Status at any hierarchy levels other than
the root.
Type/
System Item Access
Name Rights Description Values
$SYS$Licensed Boolean/ Binary status indication of the existence RANGE: 0, 1
Read of a valid license for the DAServer.
If FALSE, this item causes the DAServer 1: Valid license
to stop updating existing tags, to refuse exists.
activation of new tags, and to reject write 0: No valid license
requests in addition to setting quality for exists.
all items to BAD. If TRUE, the
DAServer functions as configured.
All instances have the same value.
Type/
System Item Access
Name (Type) Rights Description Values
$SYS$Status Boolean/ Binary status indication of the RANGE: 0, 1
Read connection state to the device (hierarchy
level) the item is attached to. The device 1: DAServer
group (OPC access path/topic) does not connection to the
affect the value. device is intact.
The status can be good even if individual 0: Error
items have errors. communicating
For DDE/SuiteLink clients, $SYS$Status with the device.
always comes from the leaf level of a
DAServer hierarchy branch, which is the
destination PLC node.
For OPC clients, $SYS$Status can be
accessed at all hierarchy levels.
$SYS$Status at the root level of the
whole hierarchy tree is always good, as it
represents the quality status of the local
computer itself. Hence, for practical
application, OPC clients should
reference $SYS$Status at any hierarchy
levels other than the root.
Type/
System Item Access
Name (Type) Rights Description Values
$SYS$ErrorCode Longint/ Detailed error code of the >= 0: Good status
Read communications state to the device. (0 is the default
The device group (OPC access state connected.
path/topic) does not affect the value. >0: is some device
state like:
connecting,
initializing, and so
on.
<0: Error status
(value indicates
the error).
$SYS$ErrorText String/ Detailed error string of the Descriptive text
Read communications state of the device. for the
The device group (OPC access communications
path/topic) does not affect the value. state
corresponding to
the error code.
$SYS$StoreSettings Integer/ Makes the temporary update interval RANGE: -1, 0, 1
ReadWrite changes via the $SYS$UpdateInterval
item permanent. If the client pokes a -1: Error occurred
value of 1 into this system item, the during saving the
currently set update interval is written to configuration file.
the servers configuration file. 0: Read value
The value of this system item clears to 0 always if status is
after being set, if the configuration file OK.
write is successful. If the write fails, then 1: Persist settings
the value is set to -1. (cleared
If the update interval has been changed immediately).
via the $SYS$UpdateInterval item and
this item is not poked to 1, the DAServer
uses the original update interval for that
topic the next time it is started.
Reading the item always provides 0.
Read/Write values are persisted only if
the user sets this system item. The values
other than this persist only for the life of
the DAServer.
Type/
System Item Name Access
(Type) Rights Description Values
$SYS$UpdateInterval DWord/ Accesses the currently set update RANGE:
ReadWrite interval. It is the current update 12147483647
interval of the device group in
milliseconds. A client can poke new 0: Topic inactive, no
values into this item. items are updated.
The value of zero indicates that no Data acquisition is
non-system items on that topic are stopped.
updated (data for these items are not >0: Expected
acquired from the device). updated interval for
the set of all items in
the device group.
$SYS$MaxInterval DWord/ Accesses the currently measured RANGE:
Read maximum update interval in 02147483647
milliseconds of all items of the
corresponding device group. This item 0: If update interval
is read-only. The value of the slowest is 0 or if the status is
item is displayed. false.
>0: Measured update
interval
$SYS$WriteComplet Integer/ Accesses the state of pending write RANGE: -1, 0, 1
e ReadWrite activities on the corresponding device
group. On device group creation 1: Write complete
(adding items to an OPC group), the (no writes are
value of this system item is initially 1, pending initial
indicating all write activities are state).
complete no pokes are pending. 0: Writes are
If values are poked into any items of pending.
the device group, the value of this item -1: Writes completed
changes to 0, indicating write activity with errors.
is currently in progress.
If the server has completed all write
activities, the value of this item
changes to 1 if all pokes were
successful or to -1 if at least one poke
has failed.
If the value of this item is not zero, the
client can poke 1 or -1 to it (poke a 1 to
clear errors, or a -1 to test a client
reaction on write errors).
If the value of this item is zero, it
cannot be poked.
Type/
System Item Name Access
(Type) Rights Description Values
$SYS$ReadComplete Integer/ Accesses the state of initial reads on all RANGE: -1, 0, 1
ReadWrite items in the corresponding device
group. 1: Read complete (all
The value is 1 if all active items in a values have been
device group have been read at least read).
once. 0: Not all values have
If at least one item in the device group been read.
is activated, this item changes to 0. It -1: All values have
changes to 1 if all items have been read been read but some
successfully, or to -1 if at least one have a non-good
item has a non-good quality. quality.
Poking a 0 to this item resets the
internal read states of all items in this
device group. This resets this item to 0.
If all items are read again after this
poke, this item changes back to 1 or -1.
$SYS$ItemCount DWord/ Accesses the number of items in the RANGE:
Read corresponding device group. This item 02147483647
is read-only.
>=0: Number of
active items.
$SYS$ActiveItemCo DWord/ Accesses the number of active items in RANGE:
unt Read the corresponding device group. This 02147483647
item is read-only.
>=0: Number of
active items.
$SYS$ErrorCount DWord/ Accesses the number of all items RANGE:
Read (active and inactive) that have errors 02147483647
(non-good OPC quality) in the
corresponding topic. >=0: Number of all
If the communications status of a items (active and
device group is bad, all items have inactive) with errors.
errors. This item is read-only.
$SYS$PollNow Boolean/ Poking a 1 to this item forces all items RANGE: 0, 1
ReadWrite in the corresponding device group to
be read immediately (all messages in
this device group become due).
This is useful if you want to force to
get the newest values from the device,
regardless of its update interval.
This also works on device groups with
a zero update interval (manual
protocol triggering).
Type/Access
System Item Name Rights Description Values
C H A P T E R 9
Troubleshooting
This chapter describes troubleshooting tools that can be used to deal with the
MBTCP DAServer problems you may encounter.
The DAServer Manager provides access to diagnostics and other statistical
data, and the Log Viewer provides access to event messages logged during the
operation of a DAServer. Also, your client (for example, InTouch) can monitor
connectivity with the PLC through the $SYS$Status item. Use these tools
together with the information in this section to troubleshoot your MBTCP
DAServer.
Contents
Monitoring Connectivity Status with the PLC
Monitoring the Status of DAS Conversations
Error Messages and Codes
Note For DDE/SuiteLink clients, $SYS$Status always comes from the leaf
level of a DAServer hierarchy branch, which is the destination PLC node. For
OPC clients, $SYS$Status can be accessed at all hierarchy levels. $SYS$Status
at the root level of the whole hierarchy tree is always good, as it represents the
quality status of the local computer itself. Hence, for practical application,
OPC clients should reference $SYS$Status at any hierarchy levels other than
the root.
Enter the following DDE reference formula in the appropriate place in your
client:
=DASMBTCP|ModiconPLC!$SYS$Status
where:
DASMBTCP is the name of the DAServer application.
ModiconPLC is the exact device group defined in the DAServer
for the PLC.
$SYS$Status is the discrete item used to monitor the status of
connectivity with the PLC.
Enter the following OPC item reference syntax when adding the item in your
OPC client:
YourLinkName.$SYS$Status
where:
YourLinkName is the assembly of hierarchy node names leading to
a specific controller device.
$SYS$Status is the discrete item used to monitor the status of
connectivity with the controller device.
Note In the case of a PLC disconnect, the DAServer will retry three times
before entering into slow poll mode. In the case of reply time-out, the
DAServer will go into slow poll mode immediately.
Note Refer to the Microsoft Excel manual for complete details on entering
Remote Reference formulas for cells.
=POKE(channel,"itemname", Data_Reference)
POKEs the value contained in the Data_Reference to the specified
item name (actual location in the PLC), via the channel number
returned by the previously executed INITIATE function.
Data_Reference is the row/column ID of the cell containing the data
value.
=TERMINATE(channel)
Closes the channel at the end of the macro.
Some applications have a limited number of channels; therefore, they
should be closed when finished.
Channel is the channel number returned by the previously executed
INITIATE function.
=RETURN()
Marks the end of the macro.
Note Refer to the .xlm sample Excel poke macro provided on the DAServer
CD. Also refer to the Microsoft Excel manual for complete details on entering
Remote Reference formulas for cells.
C H A P T E R 1 0
Reference
Contents
DAServer Architecture
Component Environments
DAServer Architecture
This DAServer is a collection of components that work in concert to provide
communications access with hardware field devices. These components
include:
DAServer Manager: This is the Microsoft Management Console (MMC)
snap-in, that is part of the ArchestrA System Management Console suite
of utilities, supplied with the DAServer. It provides the necessary user-
interface for diagnostics, configuration, and activation.
Client Plug-ins: These are the components that are added to a DAServer
to enable communications with clients.
Examples are: OPC, DDE/Suitelink, and so on.
DAS Engine: This is the library that contains all the common logic to
drive data access.
Device Protocol: This is the custom code provided by this DAServer to
define the communications with a particular device.
DAServers
A DAServer is comprised of three physical parts (see the following figure).
They are the following:
Plug-in Component(s): Responsible for communicating with clients.
DAS Engine: This common component is used by all DAServers.
PLC Protocol Layer, DAServer-specific: This component is responsible
for communicating with the hardware.
DAServer Architecture
Plug-ins
Plug-ins provide a protocol-translation function for device integration clients.
Typical Plug-ins communicate in DDE, SuiteLink, or OPC protocol, and serve
as interfaces between their clients and the DAS Engine.
Note Items of an array are not supported in the DDE/SL plug-in. These arrays
are converted to HEX strings, which provide legacy behavior for DAServers
that support this in the DAServer-specific code.
DAS Engine
The DAS Engine is a middleware component that exposes two sets of unique
interfaces, one for communicating with the Plug-ins and the other one for
communicating with the PLC Protocol Layer components.
Component Environments
Stand-alone DAServers have the following characteristics:
The DAS Engine is dynamically linked to the other DAServer
components. In other words, a new DAS Engine (feature enhancement or
bug fix) would not require relinking to the other components nor re-QA of
those other components. When deployed to the system, the new DAS
Engine would attach to all existing DAServer components.
Newly deployed Plug-ins (feature enhancements or bug fixes) do not
require relinking nor re-QA of associated components. Even new Plug-ins
(for example, OPC Alarm & Events) would not require any development
changes to the other components, and therefore no relinking in a customer-
installed base. In fact, it is feasible to implement new functionality in a
Plug-in to enhance the DAServer without any involvement of the code of
the other components.
DAServers can be configured in one stand-alone configuration utility
(DAServer Manager), and the DAServer Manager is capable of displaying
specific configuration views for all DAServers. This utility allows the
browsing and editing of DAServers on different nodes.
The DAServer Manager diagnostics tool displays generic diagnostic
objects common to all DAServers, in addition to the DAServer-specific/
DAServer-developer-defined diagnostic data.
The DAServer data configuration format is XML. Any XML-enabled program
(for example, XML Editor) can read this format.
A P P E N D I X A
The following table lists the Modbus hardware and firmware supported by the
MBTCP DAServer.
A P P E N D I X B
This appendix describes the Modbus codes, TCP Port, and Data Types that are
supported by the MBTCP DAServer.
Contents
Controller Function Codes
Modbus Exception Codes
TCP Port
Data Types
Excep
tion
Code
(Hex) Name Explanation
01 ILLEGAL The function code received in the query is not
FUNCTION an allowable action for the slave. This may be
because the function code is only applicable to
newer controllers, and was not implemented in
the unit selected. It could also indicate that the
slave is in the wrong state to process a request
of this type; for example, because it is
unconfigured and is being asked to return
register values.
Excep
tion
Code
(Hex) Name Explanation
02 ILLEGAL DATA The data address received in the query is not an
ADDRESS allowable address for the slave. More
specifically, the combination of reference
number and transfer length is invalid. For a
controller with 100 registers, a request with
offset 96 and length 4 would succeed, a request
with offset 96 and length 5 will generate
exception 02.
03 ILLEGAL DATA A value contained in the query data field is not
VALUE an allowable value for the slave. This indicates
a fault in the structure of the remainder of a
complex request, such as that the implied length
is incorrect. It specifically does NOT mean that
a data item submitted for storage in a register
has a value outside the expectation of the
application program, since the MODBUS
protocol is unaware of the significance of any
particular value of any particular register.
04 ILLEGAL Indicates that the request as framed would
RESPONSE generate a response whose size exceeds the
LENGTH available MODBUS data size. Used only by
functions generating a multi-part response, such
as functions 20 and 21.
05 ACKNOWLEDG Specialized use in conjunction with
E programming commands.
06 SLAVE DEVICE Specialized use in conjunction with
BUSY programming commands.
07 NEGATIVE Specialized use in conjunction with
ACKNOWLEDG programming commands.
E
08 MEMORY Specialized use in conjunction with function
PARITY ERROR codes 20 and 21 to indicate that the extended
file area failed to pass a consistency check.
0A GATEWAY PATH Specialized use in conjunction with gateways; it
UNAVAILABLE indicates that the gateway was unable to
allocate a Modbus Plus PATH to use to process
the request. It usually means that the gateway is
misconfigured.
0B GATEWAY Specialized use in conjunction with gateways; it
TARGET indicates that no response was obtained from
DEVICE FAILED the target device. It usually means that the
TO RESPOND device is not present on the network.
TCP Port
The MBTCP DAServer uses port 502 as the default to contact all PLCs. This
includes the port used for unsolicited messages from the PLCs that are
programmed to provide unsolicited data (that is, the PLCs that are directly
connected to the TCPIP_PORT; controllers under the ModbusBridge Object
hierarchy cannot utilize this unsolicited messaging feature).
However, you have the option to configure the actual port to be used through
the ModbusPLC object. When a non-502 port is used by the Generic Modbus
PLC to communicate with the MBTCP DAServer, it will not be able to send
unsolicited data to the DAServer.
Data Types
The MBTCP DAServer supports the following data types:
Boolean
16-bit signed integer
16-bit unsigned integer
32-bit signed integer
32-bit unsigned integer
ASCII string
32-bit single precision floating point
64-bit floating point
64-bit unsigned integer
64-bit signed integer
Note For detailed information on these data types, see Data and Register
Types in Chapter 3.
Index
Symbols Coil write 29, 32, 36, 40, 44, 48, 52, 56
Communication Protocols 11
.csv file 65 Compact 984 controllers 14
.csv file in Excel 68 Compact 984 PLC 87
$SYS$ActiveItemCount 100 Config Default Update Interval 64
$SYS$ErrorCode 98 Configuration 19
$SYS$ErrorCount 100 Configuration set 62, 67
$SYS$ErrorText 98 Configure default update intervals 64
$SYS$ItemCount 100 Configure the DAServer to receive unsolicited
$SYS$Licensed 78, 97 messages 63
$SYS$MaxInterval 99 Configuring the MBTCP DAServer 19
$SYS$PollNow 100 Create a TCPIP_PORT object 23
$SYS$ReadComplete 100 Create or add device groups 61
$SYS$Status 96, 97, 103 Create or add device items 65
$SYS$StoreSettings 98 CSV file 67
$SYS$UpdateInterval 99
$SYS$WriteComplete 99 D
A DAS Engine 117
DAS Toolkit 118
Absolute Notation Naming Convention 93 DAServer
Access Path 102 activating/deactivating the DAServer 76
Activate Server 22 configuring as service 73
Active Device 84, 101 managing your DAServer 73
Actual PLC item names 65 setting up your DAServer 15
Add command 65 DAServer Manager 19, 20, 117, 119
Add item references 66 DAServer Manager book 21
Add ModbusBridge objects 24 DAServer Manager documentation 19, 20, 22, 56
Add ModbusPLC objects 37 DAServer Manager tree 21
Add ModiconMicro objects 45 DAServer version 103
Add TSXMomentum objects 29 Data Access Server 11
Add TSXMomentumRS objects 49 Data and Register Types 87
Add TSXPremiumPLC objects 33 Data Type 88
Add TSXQuantum objects 26 DCOM 12
Alarm event 71 DDE 12, 13
Alias names 65 DDE communications protocol 80
Aliases 64 DDE/SuiteLink 73
Application name 80 DDE/SuiteLink, Accessing Data Using 80
ArchestrA System Management Console 19 DDEStatus 104
ArchestrA.DASMBTCP.2 16, 17, 20, 22, 73, 74, 76 Default Group 20
Archiving a Configuration Set 71 Default update interval 64
archiving configuration sets 74 Delete a device item from the list 67
Auto service 22 Delete command 67
Delete device groups 62
B Demo Mode 78
Device group 80, 96
before you begin 10 Device Group Parameters dialog box 63
Bit order format 27, 31, 34, 39, 42, 47, 50, 55 Device Groups 21
Block I/O size 29, 32, 36, 40, 44, 48, 56 Device Groups dialog box 21, 61
Block I/O sizes 52 Device Groups tab 21, 61, 77
Boolean item 78 Device groups. 77
Bridge type 25 Device hierarchy 21
Device Item Definitions 21, 64
C Device Items box 69
Device Items configuration 67
C style 40, 55 Device Items dialog box 21, 64, 65, 67, 69
checklist Device Items tab 21, 64, 65, 77
setting up the MBTCP DAServer 15 Device nodes 77
Clear All command 67, 69 DI (Discrete Input) 93
Clear all device items 67 Diagnostics 12
Coil 28, 32, 35, 43, 48, 51 Direct Connectivity 14
Discrete input 28, 32, 35, 43, 48, 51 Input register read 29, 32, 36, 44, 48, 52
Discrete input/coil read 29, 32, 36, 40, 44, 48, 52, 56 InTouch WindowViewer 104
Distributed COM 12 IOStatus 104
DO (Discrete Output) 93 IP address 25, 34
documentation conventions 8 IR (Input Register) 93
Dynamic Data Exchange 13 Item ID 102
Item Name 102
E Item name 80, 81
Item Names 87
error messages 107 Item Reference column 65, 66, 68
Export command 67 ItemID 79
Export DAServer device item data 67
Export DAServer device item data to a CSV file 67 L
Export feature 67
Extended register 28, 32, 44, 51 L (long) 94
Extended register number 92 Large-scale edit on item data 67
Extended register read 29, 33, 45, 52 License Manager 78
Extended register write 29, 33, 45, 52 Link name 80, 102
Local node 20
F Log Flag data 107
Log Viewer 107
F (floating) 94 Logger 77
FastDDE 12, 13
Features 12 M
Full length 40, 55
Make change on device groups 62
G Make changes on update intervals 64
Manual or automatic service 22
Generic Modbus (RS232/RS485) PLC 87 Manual service 22
Generic Modbus controllers 14 Maximum address ramge 43
Generic Modbus PLC 87 Maximum address range 28, 32, 35, 48, 51
Generic Modbus Serial controllers 14 Maximum outstanding messages 25, 27, 30, 34, 38
Global Configuration parameters 77 MBTCP DAServer
Global Parameters 21 configuring as not a service 74
Group 96 MBTCP hierarchy 21
Group name 80 MBTCP Hierarchy in the DAServer Manager 21
Message Optimization 58
H Microsoft Management Console 19
MMC 19
Help menu 21 Modbus 13
Hierarchical location 96 Modbus Bridge 14, 25
Hierarchy 22 Modbus Generic 4-Digit PLCs 40, 55
HMI 12 Modbus Generic 5-Digit PLCs 40, 55
Holding register 28, 32, 36, 48, 51 Modbus Generic 6-Digit PLCs 40, 55
Holding register read 29, 32, 36, 40, 44, 48, 52 Modbus Item Naming 89
Holding register read/write 44 Modbus Protocol Reference Guide 14, 20
Holding register write 29, 32, 36, 40, 44, 48, 52 Modbus TCP/IP Ethernet Protocol 13
Host name 25, 34 Modbus-family controllers 89
Hot configurable 77 Modicon Micro (RS232) PLC 87
Hot Configuration 77 Modicon Micro controllers 14
HR (Holding Register) 94 Modicon PLC Naming Convention 92
Modicon PLCs 89
I ModiconPLC 80
Modulo-10000 Points Naming Convention 94
import 69
Import command 69 N
Import DAServer device item data 67
Import DAServer device item data from a CSV Name column 62, 65, 68
file 69 NetDDE 12
Import feature 67 Network address 25, 26, 30, 34, 37
Import off-line-edited DAServer device item data Network transport protocol 12
from a CSV file 69 New_Compact984_000 41
Indirect Connectivity 14 New_Compact984_000 Parameters 41
in-proc/out-of-proc 77 New_ModbusBridge_000 24
Input register 28, 32, 36, 44, 48, 51 New_ModbusBridge_000 Parameters 24
Update Interval 70
Update Interval column 64
Use Concept data structures (Longs) 27, 30, 34, 38,
42, 46, 50, 54
Use Concept data structures (Reals) 27, 31, 34, 38,
42, 47, 50, 54
V
Value Time Quality (VTQ) 12
W
welcome 7
WinSock 12
Z
Zero Based Addressing 34, 39, 54