Wonderware: MBTCP Daserver User'S Guide
Wonderware: MBTCP Daserver User'S Guide
Wonderware: MBTCP Daserver User'S Guide
Version B
Last Revision: 9/9/04
Wonderware
All rights reserved. No part of this documentation shall be reproduced, stored
in a retrieval system, or transmitted by any means, electronic, mechanical,
photocopying, recording, or otherwise, without the prior written permission of
Invensys Systems, Inc. No copyright or patent liability is assumed with respect
to the use of the information contained herein. Although every precaution has
been taken in the preparation of this documentation, the publisher and the
author assume no responsibility for errors or omissions. Neither is any liability
assumed for damages resulting from the use of the information contained
herein.
The information in this documentation is subject to change without notice and
does not represent a commitment on the part of Invensys Systems, Inc. The
software described in this documentation is furnished under a license or
nondisclosure agreement. This software may be used or copied only in
accordance with the terms of these agreements.
Trademarks
All terms mentioned in this documentation that are known to be trademarks or
service marks have been appropriately capitalized. Invensys Systems, Inc.
cannot attest to the accuracy of this information. Use of a term in this
documentation should not be regarded as affecting the validity of any
trademark or service mark.
Alarm Logger, ActiveFactory, ArchestrA, Avantis, DBDump, DBLoad, DT
Analyst, FactoryFocus, FactoryOffice, FactorySuite, FactorySuite A2, InBatch,
InControl, IndustrialRAD, IndustrialSQL Server, InTouch, InTrack,
MaintenanceSuite, MuniSuite, QI Analyst, SCADAlarm, SCADASuite,
SuiteLink, SuiteVoyager, WindowMaker, WindowViewer, Wonderware, and
Wonderware Logger are trademarks of Invensys plc, its subsidiaries and
affiliates. All other brands may be trademarks of their respective owners.
Contents 3
Contents
Before You Begin ...............................................7
About This Book .................................................................................... 7
Introduction ........................................................9
Overview ................................................................................................ 9
Generic Modbus Controllers ................................................................ 10
Communications Protocols .................................................................. 10
Application Communications Protocols ........................................... 10
Network Communications Protocols................................................ 12
Modbus TCP/IP Ethernet Protocol ............................................... 12
Accessing Items via the DAServer....................................................... 13
Features ................................................................................................ 14
Demo Mode.......................................................................................... 15
Configuration....................................................17
Getting Started Quickly with the DAServer ....................................... 17
Configuring the DAServer ................................................................... 19
MBTCP Hierarchy in the DAServer Manager ................................. 22
TCPIP_PORT Object .................................................................... 22
ModbusBridge Object ................................................................... 24
TSXQuantum Object..................................................................... 25
TSXMomentum Object................................................................. 29
TSXPremium Object..................................................................... 33
ModbusPLC Object....................................................................... 37
Adding the Compact984, ModiconMicro, TSXMomentumRS, or
ModbusPLCRS Objects to the MBTCP Hierarchy....................... 41
String-Data Handling........................................................................ 57
Full Length Sytle........................................................................... 57
C Style........................................................................................... 58
Pascal Style ................................................................................... 58
Message Optimization ...................................................................... 59
Configuring Device Group and Device Item Definitions .................... 59
Device Group Definitions................................................................. 59
Device Item Definitions.................................................................... 62
Scan-Based Message Handling ........................................................ 67
Unsolicited Message Handling ......................................................... 68
Archiving Configuration Sets ........................................................... 68
Hot Configuration ................................................................................ 69
Troubleshooting ...............................................85
Monitoring Connectivity Status with the PLC......................................85
Monitoring the Status of DAS Conversations.......................................86
Using DDEStatus and IOStatus in Excel...........................................86
Reading Values from the DAServer into Excel.................................87
Writing Values to the DAServer from Excel .....................................87
Error Messages and Codes ....................................................................88
DAServer Error Messages.................................................................89
Server-Specific Error Codes..............................................................98
Reference..........................................................99
DAServer Architecture .........................................................................99
DAServers .........................................................................................99
Plug-ins ........................................................................................100
DAS Engine .................................................................................101
PLC Protocol Layer .....................................................................101
Component Environments...................................................................101
Index ................................................................109
• Contents
• Index
You can view this document online or you can print it, in part or whole, by
using the Adobe Acrobat Reader’s print facility. To view this document
properly, you must use version 4.0 of the Acrobat Reader.
C H A P T E R 1
Introduction
Contents
• Overview
• Generic Modbus Controllers
• Communications Protocols
• Accessing Items via the DAServer
• Features
• Demo Mode
Overview
The Wonderware® MBTCP DAServer (referred to as the DAServer throughout
the remainder of this user’s guide) is a Microsoft® Windows® application
program that acts as a communications protocol server. It allows other
Windows application programs access to data in the (Schneider’s) Modicon-
family of controllers (also referred to as devices), including the TSX Premium,
TSX Quantum, and TSX Momentum that are connected to the DAServer
through the computers’ Ethernet ports and the Modbus TCP/IP protocol.
The MBTCP DAServer also provides connectivity to the Modicon Micro,
Compact 984, and TSX Momentum controllers through a Modbus Bridge
(174CEV30010 or 174CEV30020) and/or an NR&D Pen-T Bridge that bridges
the communications between the Ethernet and the Serial Modbus protocol.
The MBTCP DAServer also supports Modbus-compatible controllers. A
supported Modbus controller can be connected directly through the TCP/IP
protocol, or serially through the RS232/RS485 connection via a Modbus
Bridge. This supported controller can either be a 4-Digit, 5-Digit, or 6-Digit
controller, and it must conform to and comply with the Modbus specifications
as listed in Appendix B, The Modbus Protocol.
While the DAServer is primarily intended for use with Wonderware InTouch®
(Version 7.11 Patch 02 and later), it may be used by any Microsoft Windows
program capable of acting as a DDE, SuiteLink™, or OPC client that can also
coexist with FactorySuite™ 2000 and greater.
Communications Protocols
The MBTCP DAServer (Data Access Server) communicates with clients and
PLCs using the following different communications protocols:
• Application communications protocols such as OPC, DDE, and SuiteLink
to communicate with clients located on either local or remote nodes.
• Modbus TPC/IP Ethernet protocol to communicate with the Modicon
controllers, either directly or through a Modbus or NR&D Pen-T Bridge
and RS232 or RS485 serial cable.
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 Microsoft’s 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 system’s 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 Microsoft’s standard
WinSock interface.
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.
DDE
DDE is a communications protocol developed by Microsoft 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.
NetDDE
NetDDE is a communications protocol that extends the standard DDE
functionality to include communications over local area networks and through
serial ports. Network extensions are available to allow DDE links between
applications running on different computers connected via networks or
modems.
For example, NetDDE supports DDE between applications running on IBM-
compatible computers connected via LAN or modem, and DDE-aware
applications running on non-IBM-compatible computers under operating
environments such as VMS and UNIX.
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 (174CEV30010 or 174CEV30020) 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)
OPC
In the case of OPC communications, the protocol addresses an element of data
in a conversation with six characteristics: node name, program name, group
name, device group, link name, and item name.
• The node name (required for remote access) and device group are
optional.
• A fully qualified OPC Item name (ItemID) is composed of the link name
and item name.
• All other characteristics are specified through separate DAServer means.
To access an OPC item, the OPC client needs to connect to the DAServer
(either in-process or out-of-process) and create an OPC group defining the
data-acquisition properties for the collection of items to be added. OPC groups
can be either public or private. Public OPC groups are shared across multiple
clients, whereas private OPC groups are local to a single client. Optionally, a
device group, which indicates the access path to the items for read/write, can
be specified from the DAServer.
The following briefly describes each characteristic of the OPC protocol:
• node name: Computer (host) name identifying a specific node on the
network (for Remote Access ONLY).
• program name: The registered OPC server name uniquely identifying a
specific server (ProgID). For this DAServer, the program name is
ArchestrA.DASMBTCP.1.
• 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.
DDE/SuiteLink
In the case of DDE/SuiteLink communications, the protocol addresses an
element of data in a conversation that uses a four-part naming convention that
includes the node name, application name, topic name, and item name. The
fully qualified DDE/SuiteLink naming convention includes all four parts,
although the node name part (required for remote access only) is optional. The
following briefly describes each portion of this naming convention:
• node name: Computer (host) name identifying a specific node on the
network (for Remote Access ONLY).
• application name: The name of the Windows program (this DAServer)
that will be accessing the data element. In the case of data coming from or
going to the Modicon devices via the DDE/SuiteLink PlugIn of this
DAServer, the application name portion of the address is DASMBTCP.
• topic name: Meaningful names are configured in the DAServer to identify
specific devices. These names are then used as the topic names in all
conversations with that device. For example, the ModiconPLC topic
name maps to a device group defined in the DAServer.
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.
Features
The Wonderware MBTCP DAServer provides the following features:
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 2
Configuration
Once the Wonderware MBTCP DAServer has been installed, a small amount
of configuration is required. This configuration is performed using the
DAServer Manager hosted in the System Management Console after it is
started through the Programs menu of the Windows Start button.
Before the DAServer is activated, the device hierarchy, simulating the physical
hardware layout, must first be built to establish communications to each of the
controllers. Once the MBTCP hierarchy has been built, the respective devices
for communications can be configured. Finally, the desired Device Groups for
each controller may be created.
Note To run the MBTCP DAServer as a service, use the context menu on the
DAServer name and select Configure As Service. You can configure it as an
auto service or manual service. For more information about configuring your
DAServer as a service see the Activation/Deactivation/Service Component of
the DAServer Manager documentation.
Contents
• Getting Started Quickly with the DAServer
• Configuring the DAServer
• Configuring Device Group and Device Item Definitions
• Hot Configuration
Note If you are not familiar with DAServer functionality, please proceed to
the more-detailed procedures following this section.
Important! Since there are no default values for security settings, you
must take note of the User Name and password selected during the install.
Note The hierarchy entry is added in the "edit mode," providing a convenient
place for you to appropriately describe components of your specific hardware
environment. Both hierarchy node name and device group name are
numerically sequenced by default. They can be renamed at any time.
The DAServer is now ready for use. In order to use the DAServer, you must
activate it from the DAServer Manager using either the shortcut menu’s
Activate Server command from the ArchestrA.DASMBTCP.1 node, or an
OPC Client.
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.1.
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.
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.1 and
select Activate Server from the shortcut menu.
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
directly under the TCPIP_PORT object is available at that node and is
configurable using the ModbusPLC Object.
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.
Note You can add up to 1024 of this type of object to the hierarchy.
3. Rename as appropriate.
• The New_TSXQuantum_000 Parameters configuration view is
displayed.
TSXMomentum Object
From the TCPIP_PORT branch of the DAServer hierarchy, you can also create
a TSXMomentum object.
Note You can add up to 1024 of this type of object to the hierarchy.
3. Rename as appropriate.
• 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
• Not checked – not selected
• The default is checked.
• 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
• Not checked – not selected
• The default is checked.
• 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.
• 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)
• C style (null terminated)
• Pascal style (includes length specifier)
• The default style is Full length.
• Register type: Select either Binary or BCD for the register type being
used.
• Binary
• BCD
• The default register type is Binary.
• 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: Enter the maximum number of addressable discrete
inputs/read coils in the PLC.
• The minimum value is 1 (one).
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.
• Checked – selected
• Not checked – not selected
• The default is checked.
• 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
• Not checked – not selected
• The default is checked.
• 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.
• 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)
• C style (null terminated)
• Pascal style (includes length specifier)
• The default style is Full length.
• Register type: Select either Binary or BCD for the register type being
used.
• Binary
• BCD
• The default register type is Binary.
• 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: Enter the maximum number of addressable discrete
inputs or read coils in the PLC.
• The minimum value is 1 (one).
• The maximum value is 65536.
• The default value is 65536.
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 DASMBTCP 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 You can add up to 1024 of this type of object to the hierarchy.
3. Rename as appropriate.
• The New_ModbusPLC_000 Parameters configuration view is
displayed.
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
directly under the TCPIP_PORT object is available at that node and is
configurable using the ModbusPLC Object. Controllers configured under the
ModbusBridge object will always use port number 502.
• 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.
• 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 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.
• The default value is 6, for the Modbus Generic 6-Digit PLCs.
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 DASMBTCP 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)
• C style (null terminated)
• Pascal style (includes length specifier)
• The default style is Full length.
• Register type: Select either Binary or BCD for the register type being
used.
• Binary
• BCD
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.
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.
• Checked – selected
• Not checked – not selected
• The default is checked.
• 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
• Not checked – not selected
• The default is checked.
• 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.
• 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)
• C style (null terminated)
• Pascal style (includes length specifier)
• The default style is Full length.
• Register type: Select either Binary or BCD for the register type being
used.
• Binary
• BCD
• The default register type is Binary.
• 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: Enter the maximum number of addressable discrete
inputs or read coils in the PLC.
• The minimum value is 1 (one).
• The maximum value is 65536.
• The default value is 65536.
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.
• Checked – selected
• Not checked – not selected
• The default is checked.
• 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
• Not checked – not selected
• The default is checked.
• 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
• Not checked – not selected
• The default is checked.
• 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
• Not checked – not selected
• The default is checked.
• 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 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.
• The default value is 6, for the Modbus Generic 6-Digit PLCs.
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 DASMBTCP 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)
• C style (null terminated)
• Pascal style (includes length specifier)
• The default style is Full length.
• Register type: Select either Binary or BCD for the register type being
used.
• Binary
• BCD
• The default register type is Binary.
• 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: Enter the maximum number of discrete
inputs or coils to read at one time.
• The minimum value is 1 (one).
• The maximum value is 1976.
• The default value is 1976.
• Coil write: Enter the maximum number of coils to write at one time.
• The minimum value is 1 (one).
• The maximum value is 800.
• The default value is 800.
• Register read: Enter the maximum number of extended registers to
read at one time.
• The minimum value is 1 (one).
The logical endpoint for each branch of the MBTCP hierarchy tree is a
hardware device (PLC).
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 DAServer’s TCPIP_PORT root down to the leaf. Therefore, the link name
is always unique for the DAServer.
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.
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.
Note Some PLCs, for example the TSX Premium PLC, can send Holding
Register and Coil unsolicited data to the MBTCP DASever, while other PLCs,
for example the TSX Quantum PLC, can send the Holding Register unsolicited
data only to the DAServer.
1. Click on the PLC’s name in the PLC branch of the DAServer hierarchy.
2. Select the Device Group tab of the configuration view pane at right.
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.
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.
2. Type in the actual PLC item name in the frame that appears.
• For example, "400001."
3. Click anywhere in the dialog box or press the ENTER key to have the
change take effect.
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 Export and Import features on the shortcut menu of the Device Items
dialog box enable you to export and import the DAServer device item data to
and from a CSV file, after the configuration of the Device Items has been
completed. These features provide you with the following capabilities:
• Archive lists of device items.
• Import an archived list of device items into the Device Items dialog box
when you need to utilize or reconfigure any of the device items on the
archived list.
• Perform an off-line, large-scale edit on the item data configured for a
device item list.
• Import what has been edited back into the Device Items configuration.
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.
Some items, like alarms, change very infrequently but because of their
importance require very fast updates. For those kinds of items, you should set
the Update Interval at a very small value. If you desire an immediate response,
set the Update Interval at 1 (one).
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
C H A P T E R 3
Item Names
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 Coils 1-65536 1-9999 1-65536 1-9999 Discrete Read/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 6x0000-6x9999 6x000-6x999 Analog Read/Write
Register
Type TSX Premium Tag Type Access
Output Coils 1-65536 Discrete Read/Write. Mapped to %M PLC object; that is, Output
Coils and Contacts Registers are the same.
Contacts 100001-165536 Discrete Read-Only. Mapped to %M PLC object; that is, Output
Coils and Contacts Registers are the same.
Input 300001-365536 Analog Read-Only. Mapped to %MW PLC object; that is, Input
Registers and Holding Registers are the same.
Holding 400001-465536 Analog Read/Write. Mapped to %MW PLC object; that is, Input
Registers and Holding Registers are the same.
Poking a value to a particular bit in the Holding register
in this TSX Premium PLC is not supported.
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.
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 Name Access
(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 with
For DDE/SuiteLink clients, $SYS$Status 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 Name Access
(Type) Rights Description Values
$SYS$ErrorCode Longint/ Detailed error code of the >= 0: Good status (0
Read communications state to the device. is the default state –
The device group (OPC access 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 for
Read communications state of the device. the communications
The device group (OPC access state corresponding
path/topic) does not affect the value. to the error code.
$SYS$StoreSettings Integer/ Used to make the temporary update RANGE: -1, 0, 1
ReadWrite interval changes via the
$SYS$UpdateInterval item permanent. If -1: Error occurred
the client pokes a value of 1 into this during saving the
system item, the currently set update configuration file.
interval is written to the server’s 0: Read value
configuration file. always if status is
The value of this system item clears to 0 OK.
after being set, if the configuration file 1: Persist settings
write is successful. If the write fails, then (cleared
the value is set to -1. immediately).
If the update interval has been changed
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/ Used to access the currently set update RANGE:
ReadWrite interval. It is the current update 1…2147483647
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/ Used to access the currently measured RANGE:
Read maximum update interval in 0…2147483647
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$WriteComplete Integer/ Used to access the state of pending RANGE: -1, 0, 1
ReadWrite write activities on the corresponding
device group. On device group 1: Write complete
creation (adding items to an OPC (no writes are
group), the value of this system item is pending – initial
initially 1, indicating all write state).
activities are complete – no pokes are 0: Writes are
pending. pending.
If values are poked into any items of -1: Writes completed
the device group, the value of this item with errors.
changes to 0, indicating write activity
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/ Used to access the state of initial reads RANGE: -1, 0, 1
ReadWrite on all items in the corresponding
device group. 1: Read complete
The value is 1 if all active items in a (all values have been
device group have been read at least read).
once. 0: Not all values
If at least one item in the device group have 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/ Used to access the number of items in RANGE:
Read the corresponding device group. This 0…2147483647
item is read-only.
>=0: Number of
active items.
$SYS$ActiveItemCou DWord/ Used to access the number of active RANGE:
nt Read items in the corresponding device 0…2147483647
group. This item is read-only.
>=0: Number of
active items.
$SYS$ErrorCount DWord/ Used to access the number of all items RANGE:
Read (active and inactive) that have errors 0…2147483647
(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).
C H A P T E R 4
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.
where:
view is the name of the InTouch application.
[DDE][IO] Status is the built-in topic name used to monitor the status
of communications between the DAServer and
InTouch.
ModiconPLC is the exact topic name defined in the server for the
PLC.
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 5
Reference
Contents
• DAServer Architecture
• Component Environments
DAServer Architecture
Note DAServers are supported on Microsoft Windows 2003, Windows 2000,
Windows XP, and Windows XP Embedded only. NetDDE protocol is not
supported by DAServers.
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
Supported DASMBTCP
Hardware and Firmware
The following table lists the Modbus hardware and firmware supported by the
MBTCP DAServer Version 1.1.
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 an
FUNCTION 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.
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.
Excep
tion
Code
(Hex) Name Explanation
03 ILLEGAL DATA A value contained in the query data field is not an
VALUE 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 generate
RESPONSE a response whose size exceeds the available
LENGTH 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 programming
E commands.
06 SLAVE DEVICE Specialized use in conjunction with programming
BUSY commands.
07 NEGATIVE Specialized use in conjunction with programming
ACKNOWLEDG commands.
E
08 MEMORY Specialized use in conjunction with function codes
PARITY ERROR 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 the
DEVICE FAILED target device. It usually means that the device is not
TO RESPOND 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
Note For detailed information on these data types, see Data and Register
Types in Chapter 3.
Index
Symbols Bridge type 24
$SYS$ActiveItemCount 82 C
$SYS$ErrorCode 80
$SYS$ErrorCount 82 C style 40, 56
$SYS$ErrorText 80 Clear All command 64, 66
$SYS$ItemCount 82 Clear all device items 64
$SYS$Licensed 15, 79 Coil 28, 32, 36, 44, 48, 52
$SYS$MaxInterval 81 Coil write 28, 32, 36, 41, 45, 49, 52, 56
$SYS$PollNow 82 Communication Protocols 10
$SYS$ReadComplete 82 Compact 984 controllers 13
$SYS$Status 78, 79, 85 Compact 984 PLC 71
$SYS$StoreSettings 80 Config Default Update Interval 61
$SYS$UpdateInterval 81 Configuration 17
$SYS$WriteComplete 81 Configuration node 69
.csv file 62 Configuration set 60, 64
.csv file in Excel 65 Configuration Set Name 68
Configure default update intervals 61
A Configure the DAServer to receive unsolicited
messages 60
Absolute Notation Naming Convention 75 Configuring the DAServer 19
Access Path 83 Create a TCPIP_PORT object 23
Activate Server 22 Create or add device groups 59
Actual PLC item names 62 Create or add device items 63
Add command 63 CSV file 64
Add Compaq984 Object 19
Add item references 63 D
Add ModbusBridge Object 18
Add ModbusBridge objects 24 DAS Engine 99
Add ModbusPLC Object 18 DAS Toolkit 100
Add ModbusPLC objects 37 DAServer Manager 17, 19, 20, 99, 101
Add ModbusPLCRS Object 19 DAServer Manager book 21
Add ModiconMicro objects 46 DAServer Manager documentation 18, 19, 21, 22, 57
Add TCPIP_PORT Object. 18 DAServer Manager tree 18, 21, 22
Add TSXMomentum Object 18, 19 DAServer version 85
Add TSXMomentum objects 29 Data Access Server 10
Add TSXMomentum-RS Object 19 Data and Register Types 71
Add TSXMomentumRS objects 49 Data Type 72
Add TSXPremium Object 18 DCOM 11
Add TSXPremiumPLC objects 33 DDE 11
Add TSXQuantum Object 18 DDE communications protocol 14
Add TSXQuantum objects 25 DDEStatus 86
AddModiconMicro Object 19 Default Group 20
Alarm event 68 Default update interval 61
Alias names 62 Delete a device item from the list 64
Aliases 62 Delete command 64
Application name 14 Delete device groups 60
ArchestrA System Management Console 19 Demo Mode 15
ArchestrA.DASMBTCP.1 18, 19, 20, 22 Device group 14, 78
Archive Configuration Set 68 Device Group Definitions 59
Archive configuration sets 68 Device Group Parameters dialog box 61
Archiving a Configuration Set 68 Device Groups 17, 19, 21, 22
Auto service 19, 22 Device Groups dialog box 22, 59
Device Groups tab 21, 59, 69
B Device groups. 69
Device hierarchy 17, 21
Before 7 Device Item Definitions 22, 59, 62
Bit order format 27, 31, 35, 40, 43, 47, 51, 55 Device Items 19
Block I/O size 28, 32, 36, 41, 44, 48, 56 Device Items box 66
Block I/O sizes 52 Device Items configuration 64
Boolean item 15 Device Items dialog box 22, 62, 63, 64, 66
Device Items tab 22, 62, 69 Import DAServer device item data from a CSV
Device nodes 69 file 66
DI (Discrete Input) 75 Import feature 64
Diagnostics 11 Import off-line-edited DAServer device item data
Direct Connectivity 12 from a CSV file 66
Discrete input 28, 31, 35, 44, 48, 51 Indirect Connectivity 13
Discrete input/Coil read 32, 36 Input register 28, 32, 36, 44, 48, 52
Discrete input/coil read 28, 41, 45, 48, 52, 56 Input register read 29, 33, 37, 45, 49, 53
Distributed COM 11 InTouch WindowViewer 86
DO (Discrete Output) 75 IOStatus 86
Dynamic Data Exchange 11 IP address 25, 34
IR (Input Register) 75
E Item ID 83
Item Name 83
Edit mode 19 Item name 14
error messages 88 Item Names 71
Export command 65 Item Reference column 62, 63, 65
Export DAServer device item data 64 ItemID 13
Export DAServer device item data to a CSV file 64
Export feature 64 L
Extended register 28, 32, 44, 52
Extended register number 74 L (long) 76
Extended register read 29, 33, 45, 53 Large-scale edit on item data 64
Extended register write 29, 33, 45, 53 License Manager 15
Link name 14, 83
F Local node 20
Log Flag data 88
F (floating) 76 Log Viewer 88
FastDDE 11 Logger 69
Features 11, 14
Full length 40, 56 M
G Make change on device groups 60
Make changes on update intervals 61
Generic Modbus (RS232/RS485) PLC 71 Manual or automatic service 22
Generic Modbus controllers 12 Manual service 19, 22
Generic Modbus PLC 71 Maximum address ramge 44
Generic Modbus Serial controllers 13 Maximum address range 27, 31, 35, 48, 51
Getting Started Quickly 17 Maximum outstanding messages 25, 26, 30, 34, 39
Global Configuration parameters 69 MBTCP hierarchy 21
Global Parameters 21 MBTCP Hierarchy in the DAServer Manager 21
Group 78 Message Optimization 59
Group name 13 Microsoft Management Console 19
Microsoft Windows 2000 99
H Microsoft Windows 2003 99
Microsoft Windows XP 99
Help menu 21 Microsoft Windows XP Embedded 99
Hierarchical location 78 MMC 19
Hierarchy 22 Modbus 12
HMI 11 Modbus Bridge 10, 13, 25
Holding register 28, 32, 36, 48, 52 Modbus Generic 4-Digit PLCs 40, 56
Holding register read 29, 32, 36, 45, 49, 52 Modbus Generic 5-Digit PLCs 40, 56
Holding register read/write 44 Modbus Generic 6-Digit PLCs 40, 56
Holding register write 29, 33, 36, 45, 49, 53 Modbus Item Naming 72
Host name 25, 34 Modbus Protocol Reference Guide 12, 20
Hot configurable 69 Modbus TCP/IP Ethernet Protocol 12
Hot Configuration 69 Modbus TPC/IP Ethernet protocol 10
HR (Holding Register) 76 Modbus-family controllers 72
Modicon Micro (RS232) PLC 71
I Modicon Micro controllers 13
Modicon PLC Naming Convention 74
import 66 Modicon PLCs 72
Import command 66 ModiconPLC 14
Import DAServer device item data 64 Modulo-10000 Points Naming Convention 76
N ProgID 13
Program name 13
Name column 60, 63, 65 PV (Process Variable) 76
NetDDE 11, 12
NetDDE protocol 99 R
Network address 25, 26, 30, 34, 38
Network transport protocol 11 Reference 10
New_Compact984_000 42 reference 99
New_Compact984_000 Parameters 42 Register number 71, 73
New_ModbusBridge_000 24 Register read 41, 56
New_ModbusBridge_000 Parameters 24 Register size (digits) 40, 43, 56
New_ModbusPLC_000 37 Register type 27, 31, 35, 40, 43, 48, 51, 56, 71
New_ModbusPLC_000 Parameters 37 Register write 41, 57
New_ModbusPLCRS_000 53 Remote Reference formulas for cells 88
New_ModbusPLCRS_000 Parameters 53 Rename a device item from the list 64
New_ModiconMicro_000 46 Rename command 64
New_ModiconMicro_000 Parameters 46 Reply time-out 86
New_ModiconMicroPLC_000 49 Reply timeout 26, 30, 34, 38, 42, 47, 50, 54
New_PLC_000 Parameters 59, 62 RS232 serial cable 10
New_TCPIP_Port_000 18 RS485 serial cable 10
New_TCPIP_PORT_000 Parameters 23
New_TSXMomentum_000 29
S
New_TSXMomentum_000 Parameters 30
S (signed) 76
New_TSXMomentumRS_000 Parameters 49
SCADA 11
New_TSXPremium_000 Parameters 33
Scan Based Message Handling 67
New_TSXPremiumPLC_000 33
Scan-Based Message Handling 67
New_TSXQuantum_000 Parameters 26
Service 17, 19, 22
New_TSXQuantumPLC_000 25
Setup.exe 18, 20
Nmae column 62
Slow poll mode 86
Node name 13, 14
SMC 19
NR&D Pen-T Bridge 10, 13
Snap-in environment 18, 21
NRD Pen-T Bridge 25
String variable style 27, 31, 35, 40, 43, 47, 51, 56
O SuiteLink 11
SuiteLink communications protocol 14
Off-line edit on item data 64 Support multiple coil write 39, 55
OLE for Process Control 11 Support multiple register write 39, 55
OLE/COM technology 11 Support Unsolicited Messages 61
OPC 11 System Management Console 17, 18, 20
OPC client 63
OPC communications protocol 13
T
OPC Item browsing 63
Target PLC 83
OPC protocol 13
TCP/IP Ethernet protocol 13
Open button 66
TCP/IP port 13
Open Modbus/TCP Specification 105
The file can be edited off-line 65
P Topic name 14, 71
TSX Momentum (RS232/RS485) PLC 71
Pascal style 40, 56 TSX Momentum controllers 12, 13
PLC 71 TSX Momentum PLC 71
PLC disconnect 86 TSX Premium controllers 12
PLC hierarchy node 63 TSX Premium PLC 71
PLC Hierarchyname.csv 65 TSX Quantum controllers 12
PLC Protocol Layer 99, 100 TSX Quantum PLC 71
PLC register types 72
PLC Unit ID 50
U
PLC unit ID 42, 47, 54
U (unsigned) 76
Plug-in Component(s) 99
UNIX 12
Plug-ins 101
Unsolicited Message Handling 68
Point Naming Convention 73
Update Interval 67
POKE command 87
Update Interval column 61
Poke Mode settings 21
Use Another Configuration Set 69
Port number 23, 38
Use Concept data structures (Longs) 27, 31, 34, 39,
Prepare the MBTCP DAServer 18, 20
43, 47, 50, 54
V
Value Time Quality (VTQ) 11
VMS 12
W
WinSock 11
Wonderware folder 18
Wonderware InTouch 10