MBTCP DAServer Online Help

Version 2.0

Last Revision: 5/6/10

Invensys Systems, Inc.

© 2007, 2010 Invensys Systems, Inc. All Rights Reserved.


Using the Books Online

This online help documents the ModbusSerial DAServer. For more information, click on a Help topic:

  • Copyright Information
  • Copying or Printing Topics


Copyright Information

© 2007, 2010 Invensys Systems, Inc. All Rights Reserved.

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.

Invensys Systems, Inc.
26561 Rancho Parkway South
Lake Forest, CA 92630 U.S.A.
(949) 727-3200

http://www.wonderware.com

For comments or suggestions about the product documentation, send an e-mail message to ProductDocumentationComments@invensys.com.

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, Factelligence, FactoryFocus, FactoryOffice, FactorySuite, FactorySuite A2, InBatch, InControl, IndustrialRAD, IndustrialSQL Server, InTouch, MaintenanceSuite, MuniSuite, QI Analyst, SCADAlarm, SCADASuite, SuiteLink, SuiteVoyager, WindowMaker, WindowViewer, Wonderware, Wonderware Factelligence, and Wonderware Logger are trademarks of Invensys plc, its subsidiaries and affiliates. All other brands may be trademarks of their respective owners.


Copying or Printing Topics

To copy a topic

  1. In the Topic pane, right-click the topic you want to copy, and then click Select All.
  2. Right-click again, and then click Copy. This copies the topic to the Clipboard.

Note If you want to copy only part of a topic, select the text you want to copy, right-click, and then click Copy.

  1. Open the document to which you want to copy the topic.
  2. Position your cursor where you want the information to appear.
  3. On the Edit menu, click Paste.

To print the current topic

  • Right-click a topic, and then click Print.

Note If you print from the Contents tab (by right-clicking an entry, and then clicking Print) you will see options to print only the selected topic, or the selected topic and all subtopics.


Documentation Conventions

This documentation uses the following conventions:

Convention | Used for
Initial Capitals | Paths and filenames.
Bold | Menus, commands, dialog box names, and dialog box options.
Monospace | Code samples and display text.


Getting Started

This chapter describes the Wonderware® MBTCP DAServer™ (Data Access Server), and the device and protocol environment in which it works. It includes application- and bus-level communications protocols, item naming conventions, and DAServer features.

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 User’s 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.

Related Topics

Generic Modbus Controllers

Supported Client Protocols

Supported Device Protocols


Before You Begin

Before configuring the DAServer, verify the following items:

  • A PC is set up with the necessary network cards, and is connected to the necessary networks.
  • The Windows administration account is created or identified.
  • The DAServer and any other Wonderware software such as the DAServer Manager is installed with the proper licenses. For more information, see the License Utility documentation on the distribution CD.
  • The client software is installed.
  • The device(s) is/are connected (networked) and, if necessary, programmed.

Before configuring the DAServer, you should know:

  • The device network configuration and addresses.
  • Which data items are needed for the client application.
  • The device name/topic name/group name.
  • The desired update intervals.

Related Topics

Generic Modbus Controllers

Supported Client Protocols

Supported Device Protocols


Generic Modbus Controllers

Starting in version 1.1 of the MBTCP DAServer, additional Modbus devices that are not listed in the supported hardware will be supported. These Modbus devices, referred to as Generic Modbus devices/controllers in this document and in the implementation of the DAServer, must be capable of supporting the Modbus protocol function codes, exception codes, and data types as described in Appendix B, The Modbus Protocol.

Compared to the Schneider PLCs listed in Appendix A, Supported DASMBTCP Hardware and Firmware, the Generic Modbus devices/controllers offer the following additional capabilities:

  • Configurable TCP Port Number.
  • Support of Modbus devices that cannot handle multiple-coil write in one message.
  • Support of Modbus devices that cannot handle multiple-holding-register write in one message.
  • Configurable 4-digit, 5-digit, or 6-digit addressing.
  • The maximum addressable register range will be verified by the Modbus devices and does not need to be configured into the DAServer.

Related Topics

Supported Client Protocols

Supported Device Protocols

Accessing Data Using OPC

Demo Mode


Supported Client Protocols

The MBTCP DAServer (Data Access Server) communicates with clients and PLCs using the following different communications protocols:

  • OPC
  • SuiteLink
  • DDE/FastDDE

Important! This DAServer is compliant with the OPC Data Access (DA) 2.05 specifications.

For more information about the DAServer architecture, see Reference .

Related Topics

Generic Modbus Controllers

Supported Device Protocols


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.

Related Topics

Generic Modbus Controllers

SuiteLink

DDE/FastDDE

Supported Device Protocols


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.

Related Topics

Generic Modbus Controllers

OPC

DDE/FastDDE

Supported Device Protocols


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.

Important! On Windows Vista and later operating systems, Local DDE is supported only when the DAServer is configured as "Not a Service" and activated from its executable file or launched from InTouch. Local DDE is not supported when the DAServer is activated from the System Management Console (SMC).

Related Topics

Supported Client Protocols

SuiteLink

DDE

FastDDE


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.

Related Topics

Supported Client Protocols

SuiteLink

FastDDE


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.

Related Topics

Supported Client Protocols

SuiteLink


Supported Device Protocols

The Modbus Ethernet (MBTCP) DAServer, part of the Schneider Data Access Server Family, is designed to provide connectivity to the family of Modicon controllers through the following supported network communications protocol:

  • Modbus TCP/IP Ethernet protocol

Note The MBTCP DAServer is capable of supporting dual network (NIC) cards in a system.


Modbus TCP/IP Ethernet Protocol

The Modbus TCP/IP Ethernet protocol is a part of the MBTCP DAServer, which must be installed on your computer and configured for the PLC with which you wish to communicate.

  • This Modbus TCP/IP Ethernet protocol can be used in a network with up to 1024 slave devices.

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)

Related Topics

Before You Begin

Generic Modbus Controllers

Supported Client Protocols


Setting Up Your DAServer

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 User’s Guide.

See the DAServer Manager User’s 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

Note Before attempting to configure your DAServer, you should determine the hierarchical structure of your network/controller environment.

Related Topics

Checklist for Setting up the MBTCP DAServer

Finding Your DAServer in the SMC


Checklist for Setting up the MBTCP DAServer

If you are setting up a DAServer for the first time, perform the following tasks in the order listed:

  1. Review the items described in Before You Begin on page 14.
  2. Locate the DAServer in the System Management Console (SMC). See Finding Your DAServer in the SMC on page 22.
  3. Configure the global parameters. See the DAServer Manager User’s Guide.
  4. Add a Port. See Configuring the MBTCP DAServer on page 23.
  5. Add and configure ports and devices. See applicable configuration set-up in Configuring the MBTCP DAServer on page 23.
  6. Add one or more device groups. See Device Group Definitions on page 71.
  7. Add device items. See Device Item Definitions on page 75.
  8. Activate the DAServer. See Configuring the MBTCP DAServer on page 23.
  9. Access data from the client, see Accessing Data Using OPC on page 93.
  10. Troubleshoot any problems. See Troubleshooting on page 117.


Finding Your DAServer in the SMC

Each DAServer is identified by a unique program name (ProgID) under the SMC. The ProgID for this MBTCP DAServer is: ArchestrA.DASMBTCP.2.

On the computer where the DAServer is installed, it can be found in the local node of the default group of the DAServer Manager.

You do not need to install the DAServer Manager on the same computer as the DAServer. When you access the DAServer remotely, you will not find the DAServer node under the local node. You must locate and identify the DAServer on a computer in one of the node groups.

To find the DAServer

  1. On the system Start menu, click Programs. Navigate to the Wonderware folder that contains the System Management Console and then click System Management Console.
  2. In the System Management Console, expand DAServer Manager.
  3. Locate the group with the node ArchestrA.DASMBTCP.2
  4. Expand the ArchestrA.DASMBTCP.2 node to display the global parameters.
  5. Select the configuration node to display the global parameters.

To view global parameter configuration and settings in detail, see the DAServer Manager User’s Guide.


Configuring the DAServer

Network Communication Bridge/Interface Modules are the communication links between the MBTCP DAServer and its supported 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 protoco. You must create these links within the DAServer Manager hierarchy to bridge/route control and information data between different networks to target controllers.

This is accomplished by creating Port Objects. These Port Objects simulate the physical hardware layout and must be built to establish communications to each of the controllers. Once you have built the MBTCP hierarchy, you can configure the respective devices for communications. Finally, you can create the desired Device Groups for each controller.

Note Before you add these Ports in the SMC, you need to identify your hardware topology to the devices being connected.

Related Topics

Configuring the MBTCP DAServer

Configuring Device Redundancy

Hot Configuration


Configuring the MBTCP DAServer

Note This DAServer is hosted by the DAServer Manager, a Microsoft Management Console (MMC) snap-in, which is a part of the ArchestrA System Management Console (SMC) suite of utilities. Many high-level functions and user-interface elements of the DAServer Manager are universal to all DAServers, and only the documentation for the DAServer Manager contains descriptions of those universal functions/UI elements. Therefore, reading the documentation for both the MMC and the DAServer Manager is critical to understanding this user’s guide. To read the documentation about the MMC and DAServer Manager, right-click the DAServer Manager icon and select the Help menu. Both the MMC Help and the DAServer Manager Help are displayed. An Adobe Acrobat version of the DAServer Manager documentation (DAServerManager.pdf) is also available in the CD-ROM directory\User Docs\English.

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.

To prepare the MBTCP DAServer

  1. Install the Wonderware MBTCP DAServer on Windows by running the Setup.exe program.

Note DAServer installation instructions are included in a separate Help file (.chm extension).

  1. Accept all the default settings during the installation.

Important! Since there are no default values for security settings, you must take note of the User Name and password selected during the install.

  1. After the DAServer has been installed, start the System Manager Console by clicking the Start button on the Windows taskbar and pointing to Programs.
  2. Point to the Wonderware folder that contains the System Management Console, then click System Management Console.
  3. From the System Management Console tree, click on DAServer Manager.
  4. Click on Default Group, then the Local node.
    • Under the Local node, the DAServer name is ArchestrA.DASMBTCP.2.

Note See the DAServer Manager documentation for general information about working in this snap-in environment.

  1. Before the DAServer is started, you must first build the device hierarchy to establish communications to each of the controllers.

Important! For step-by-step procedures on how to build the device hierarchy, please see the section, "MBTCP Hierarchy in the DAServer Manager."

Note Selecting the Configuration object of the hierarchy tree displays the Global Parameters configuration view for this DAServer. The default Poke Mode settings for the DAServer is Optimization mode. Configure all other global parameters as required for this DAServer. For more information about the Global Parameters configuration view, including descriptions of the different Poke Modes, see the DAServer Manager documentation. You can access that documentation by right-clicking the DAServer Manager icon and selecting the Help menu, and then navigating through the DAServer Manager book.

Important! Any Global Parameters that appear dimmed are either not supported or cannot be configured for this DAServer. Simulation Mode is not supported.

  1. When the MBTCP hierarchy build has been completed, you can start configuring the respective devices for communications.
  2. 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.

Important! For step-by-step procedures on configuring Device Groups, please see the section, "Device Group Definitions."

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

Important! For step-by-step procedures on configuring Device Items, please see the section, "Device Item Definitions."

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.2 and select Activate Server from the shortcut menu.

Note To run the MBTCP DAServer as a service, right-click on the DAServer name and select Configure As Service from the shortcut menu. 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.

Related Topics

Configuring Device Redundancy

Hot Configuration

MBTCP Hierarchy in the DAServer Manager

String-Data Handling

Message Optimization


MBTCP Hierarchy in the DAServer Manager

Before attempting to configure your DAServer, you should determine the hierarchical structure of your network/PLC environment.

Related Topics

String-Data Handling

Message Optimization

TCPIP_PORT Object

ModbusBridge Object

TSXQuantum Object

TSXMomentum Object

TSXPremium Object

ModbusPLC Object

Adding the Compact984, ModiconMicro, TSXMomentumRS, or ModbusPLCRS Objects to the MBTCP Hierarchy


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.

Important! If you subsequently clear your configuration hierarchy, you must create this TCPIP_PORT object from the Configuration branch of the hierarchy. From this point, all of the following instructions apply.

To create a TCPIP_PORT object from the Configuration branch

  1. Right-click on Configuration.
  2. Select Add TCPIP_PORT Object from the shortcut menu.
    • A new TCPIP_PORT object is created as a node in the hierarchy tree.
    • It is named New_TCPIP_PORT_000 by default.
  3. Rename the newly created object as appropriate.
    • The New_TCPIP_PORT_000 Parameters configuration view (right pane) is displayed.

This configuration view has one element:

  • Port number: Displays the default port (socket) number, which is 502.

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.

From the New_PORT_TCPIP_000 branch of the DAServer hierarchy, the following objects can be created:

  • ModbusBridge Object
  • TSXQuantum Object (representing the TSXQuantum controller)
  • TSXMomentum Object (representing the TSXMomentum controller)
  • TSXPremium Object (representing the TSXPremium controller)
  • ModbusPLC Object (representing either the Modbus Generic 4-Digit, 5-Digit, or 6-Digit controller)

Important! Each hardware configured has a limitation to the number of connections it can support at one time. Please refer to the respective hardware’s documentation for the maximum number of simultaneous Modbus/TCP server connections it can support.

Note The TSXQuantum, TSXMomentum, TSXPremium, and ModbusPLC objects represent the logical endpoint to the hardware hierarchy. If you add a ModbusBridge object, you must configure an additional leaf on the hierarchy.

Related Topics

ModbusBridge Object

TSXQuantum Object

TSXMomentum Object

TSXPremium Object

ModbusPLC Object

Adding the Compact984, ModiconMicro, TSXMomentumRS, or ModbusPLCRS Objects to the MBTCP Hierarchy


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.

  1. Rename as appropriate.
    • The New_ModbusBridge_000 Parameters configuration view is displayed.

This configuration view has three configurable elements.

  • Bridge type: From the drop-down menu, select the type of communications bridge to use for the connection to the TCP/IP Port.
    • The default bridge type is the Modbus Bridge.
    • The alternative bridge is the NR&D Pen-T Bridge.
  • Network address: Enter the host name or IP address of the bridge.
    • The number of characters should not exceed 255.
    • The field cannot be blank. (The number of characters cannot be zero (0).
    • The default value is 1.0.0.0.
  • Maximum outstanding messages: Enter the maximum number of queued messages allowed in the Modbus Bridge.

Note The Bridge Type used governs the value configured.

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

Related Topics

TCPIP_PORT Object

TSXQuantum Object

TSXMomentum Object

TSXPremium Object

ModbusPLC Object

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.

  1. Rename as appropriate.
    • The New_TSXQuantum_000 Parameters configuration view is displayed.

This configuration view has 10 elements that are configurable:

  • Network address: Enter the host name or the IP address of the PLC.
    • The number of characters cannot be more than 255.
    • The field cannot be blank. (The number of characters cannot be zero (0).
    • The default value is 1.0.0.0.
  • 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
    • 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 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: Enter the maximum number of addressable discrete inputs (read coils) in the PLC.
The minimum value is 1 (one).
The maximum value is 65536.
The default value is 65536.
    • Coil: Enter the maximum number of addressable write coils in the PLC.
The minimum value is 1 (one).
The maximum value is 65536.
The default value is 65536.
    • Input register: Enter the maximum number of addressable input registers in the PLC.
The minimum value is 1 (one).
The maximum value is 65536.
The default value is 65536.
    • Holding register: Enter the maximum number of addressable holding registers in the PLC.
The minimum value is 1 (one).
The maximum value is 65536.
The default value is 65536.
    • Extended register: Enter the maximum number of addressable extended registers in the PLC.
The minimum value is 1 (one).
The maximum value is 98303.
The default value is 98303.
  • 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: 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.
    • Holding register read: Enter the maximum number of holding registers to read at one time.
The minimum value is 1 (one).
The maximum value is 123.
The default value is 123.
    • Holding register write: Enter the maximum number of holding registers to write at one time.
The minimum value is 1 (one).
The maximum value is 100.
The default value is 100.
    • Input register read: Enter the maximum number of input registers to read at one time.
The minimum value is 1 (one).
The maximum value is 123.
The default value is 123.
    • Extended register read: Enter the maximum number of extended registers to read at one time.
The minimum value is 1 (one).
The maximum value is 122.
The default value is 122.
    • Extended register write: Enter the maximum number of extended registers to write at one time.
The minimum value is 1 (one).
The maximum value is 120.
The default value is 120.

Related Topics

TCPIP_PORT Object

ModbusBridge Object

TSXMomentum Object

TSXPremium Object

ModbusPLC Object

Adding the Compact984, ModiconMicro, TSXMomentumRS, or ModbusPLCRS Objects to the MBTCP Hierarchy


TSXMomentum Object

From the TCPIP_PORT branch of the DAServer hierarchy, you can also create a TSXMomentum object.

To add TSXMomentum objects to your MBTCP hierarchy

  1. Right-click on your TCPIP_PORT branch.
  2. Select Add TSXMomentum Object.
    • A new TSXMomentum object is created as a node in the hierarchy tree.
    • It is named New_TSXMomentum_000 by default.

Note You can add up to 1024 of this type of object to the hierarchy.

  1. Rename as appropriate.
    • The New_TSXMomentum_000 Parameters configuration view is displayed.

This configuration view has 10 elements that are configurable.

  • Network address: Enter the host name or IP address of the PLC.
    • The number of characters cannot be more than 255.
    • The field cannot be blank. (The number of characters cannot be zero (0).
    • The default value is 1.0.0.0.
  • 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 that can be in the queue for the PLC.
    • 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
    • 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).
The maximum value is 65536.
The default value is 65536.
    • Coil: Enter the maximum number of addressable write coils in the PLC.
The minimum value is 1 (one).
The maximum value is 65536.
The default value is 65536.
    • Input register: Enter the maximum number of addressable input registers in the PLC.
The minimum value is 1 (one).
The maximum value is 65536.
The default value is 65536.
    • Holding register: Enter the maximum number of addressable holding registers in the PLC.
The minimum value is 1 (one).
The maximum value is 65536.
The default value is 65536.
    • Extended register: Enter the maximum number of addressable extended registers in the PLC.
The minimum value is 1 (one).
The maximum value is 98303.
The default value is 98303.
  • 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: 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.
    • Holding register read: Enter the maximum number of holding registers to read at one time.
The minimum value is 1 (one).
The maximum value is 123.
The default value is 123.
    • Holding register write: Enter the maximum number of holding registers to write at one time.
The minimum value is 1 (one).
The maximum value is 100.
The default value is 100.
    • Input register read: Enter the maximum number of input registers to read at one time.
The minimum value is 1 (one).
The maximum value is 123.
The default value is 123.
    • Extended register read: Enter the maximum number of extended registers to read at one time.
The minimum value is 1 (one).
The maximum value is 122.
The default value is 122.
    • Extended register write: Enter the maximum number of extended registers to write at one time.
The minimum value is 1 (one).
The maximum value is 120.
The default value is 120.

Related Topics

TCPIP_PORT Object

ModbusBridge Object

TSXQuantum Object

TSXPremium Object

ModbusPLC Object

Adding the Compact984, ModiconMicro, TSXMomentumRS, or ModbusPLCRS Objects to the MBTCP Hierarchy


TSXPremium Object

From the TCPIP_PORT branch of the DAServer hierarchy, you can also create a TSXPremium object.

To add TSXPremium objects to your MBTCP hierarchy

  1. Right-click on your TCPIP_PORT branch.
  2. Select Add TSXPremium Object.
    • A new TSXPremium object is created as a node in the hierarchy tree.
    • It is named New_TSXPremium_000 by default.

Note You can add up to 1024 of this type of object to the hierarchy.

  1. Rename as appropriate.
    • The New_TSXPremium_000 Parameters configuration view is displayed.

This configuration view has 10 elements that are configurable.

  • Network address: Enter the host name or IP address of the PLC.
    • The number of characters cannot be more than 255.
    • The field cannot be blank. (The number of characters cannot be zero (0).
    • The default value is 1.0.0.0.
  • 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 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
    • 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.
    • Coil: Enter the maximum number of addressable write coils in the PLC.
The minimum value is 1 (one).
The maximum value is 65536.
The default value is 65536.
    • Input register: Enter the maximum number of addressable input registers in the PLC.
The minimum value is 1 (one).
The maximum value is 65536.
The default value is 65536.
The default value is 65536.
    • Holding register: Enter the maximum number of addressable holding registers in the PLC.
The minimum value is 1 (one).
The maximum value is 65536.
The default value is 65536.
  • Block I/O size: The 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: Enter the maximum number of discrete inputs or coils to read at one time.
The minimum value is 1 (one).
The maximum value is 1000.
The default value is 1000.
    • 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.
    • Holding register read: Enter the maximum number of holding registers to read at one time.
The minimum value is 1 (one).
The maximum value is 123.
The default value is 123.
    • Holding register write: Enter the maximum number of holding registers to write at one time.
The minimum value is 1 (one).
The maximum value is 100.
The default value is 100.
    • Input register read: Enter the maximum number of input registers to read at one time.
The minimum value is 1 (one).
The maximum value is 123.
The default value is 123.

Related Topics

TCPIP_PORT Object

ModbusBridge Object

TSXQuantum Object

TSXMomentum Object

ModbusPLC Object

Adding the Compact984, ModiconMicro, TSXMomentumRS, or ModbusPLCRS Objects to the MBTCP Hierarchy


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.

To add ModbusPLC objects to your MBTCP hierarchy

  1. Right-click on your TCPIP_PORT branch.
  2. Select Add ModbusPLC Object.
    • A new ModbusPLC object is created as a node in the hierarchy tree.
    • It is named New_ModbusPLC_000 by default.

Note You can add up to 1024 of this type of object to the hierarchy.

  1. Rename as appropriate.
    • The New_ModbusPLC_000 Parameters configuration view is displayed.

This configuration view has 15 elements that are configurable.

  • Network address: Enter the host name or IP address of the PLC.
    • The number of characters cannot be more than 255.
    • The field cannot be blank. (The number of characters cannot be zero (0).
  • Port number: Enter the port (socket) number.
    • The default port number is 502.

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.
    • 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 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
    • 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 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
    • Not checked – not selected
    • The default is checked.
  • 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
    • Not checked – not selected
    • The default is checked.

Note Certain things have to be understood when the Support Multiple Register Write Parameter is not selected in the Generic PLC configuration. When this parameter is not selected, it implies that the PLC does not support multiple register writes and the server will only write single registers to the PLC.
What this implies is that items that contain more than one register cannot be written either. For example, items such as 4xxxxx L, 4xxxxx I, 4xxxxx U, 4xxxxx F, 4xxxxx-4xxxxx M, 5 HRL, 5 HRF, 5 PV, 5 HRU, and 4xxxxx-4xxxxx cannot be written. When you try to write to the PLC with this parameter not selected, the following error message will be logged to the logger, "Cannot write to multiple register item: 4xxxxx L on Node: TCPPort.GenPLC. The PLC configurable parameter Support Multiple Register Write is not checked."

  • Swap string bytes: Select to swap string bytes on data read and data poked.
    • Checked - selected
    • Not checked - not selected
    • The default is Checked.
  • Close Ethernet connection when no activity: Select this option to close the socket connection if no item is advised to the device (Hierarchy). This can happen when the client has removed all items advised to the hierarchy.
  • 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 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: Enter the maximum number of 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 maximum value is 122.
The default value is 122.
    • Register write: Enter the maximum number of holding registers to write at one time.
The minimum value is 1 (one).
The maximum value is 100.
The default value is 100.

Related Topics

TCPIP_PORT Object

ModbusBridge Object

TSXQuantum Object

TSXMomentum Object

TSXPremium Object

Adding the Compact984, ModiconMicro, TSXMomentumRS, or ModbusPLCRS Objects to the MBTCP Hierarchy


Adding the Compact984, ModiconMicro, TSXMomentumRS, or ModbusPLCRS Objects to the MBTCP Hierarchy

The Compact984, ModiconMicro, TSXMomentumRS, and ModbusPLCRS objects can be added from the New_ModbusBridge_000 branch of the DAServer Manager hierarchy.

Related Topics

TCPIP_PORT Object

ModbusBridge Object

TSXQuantum Object

TSXMomentum Object

TSXPremium Object

ModbusPLC Object

Compact984 Object

ModiconMicro Object

TSXMomentumRS Object

ModbusPLCRS Object

Compact984 Object

The Compact984 object can be created only from the ModbusBridge branch.

To add Compact984 objects to your MBTCP hierarchy

  1. Right-click on your ModbusBridge branch.
  2. Select Add Compact984 Object from the shortcut menu.
    • A new Compact984 object is created as a node in the hierarchy tree.
    • It is named New_Compact984_000 by default.

Note You can add up to 247 of this type of object to the hierarchy.

  1. Rename as appropriate.
    • The New_Compact984_000 Parameters configuration view is displayed.

This configuration view has 10 configurable elements.

  • PLC unit ID: Enter the PLC unit ID.
    The Bridge's internal configuration contains a UnitID parameter which can be set to override the Unit_ID address received in the message from the server. In other words, when the Unit_ID box is 0 (zero) the bridge routes the message to its configured Slave device. If the server's Unit_ID is set to 0 (zero), the message will be delivered to the Slave device whose address is defined in the UnitID box of the Bridge. If the server's Unit_ID is set to a non-zero value (range 1…255), the message will be delivered to the Slave device at that numerical address, regardless of the contents of the UnitID box in the Bridge.
    • The minimum value is 0 (zero).
    • The maximum value is 255.
    • The default value is 1 (one).
  • 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
    • 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.
  • Swap string bytes: Select to swap string bytes on data read and data poked.
    • Checked - selected
    • Not checked - not selected
    • The default is Checked.
  • Close Ethernet connection when no activity: Select this option to close the socket connection if no item is advised to the device (Hierarchy). This can happen when the client has removed all items advised to the hierarchy.
  • 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.
    • 5-digit register size (applies to 984-145 Compact PLCs).
    • 6-digit register size (applies to 984-265 Compact PLCs).
    • The default value is 5, for the 984-145 Compact PLCs.
  • 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).
The maximum value is 9999 for 984-145 Compact PLCs and 65536 for 984-265 Compact PLCs.
The default value is 9999.
    • Coil: Enter the maximum number of addressable write coils in the PLC.
The minimum value is 1 (one).
The maximum value is 9999 for 984-145 Compact PLCs and 65536 for 984-265 Compact PLCs.
The default value is 9999.
    • Input register: Enter the maximum number of addressable input registers in the PLC.
The minimum value is 1 (one).
The maximum value is 9999 for 984-145 Compact PLCs and 65536 for 984-265 Compact PLCs.
The default value is 9999.
    • Holding register: Enter the maximum number of addressable holding registers in the PLC.
The minimum value is 1 (one).
The maximum value is 9999 for 984-145 Compact PLCs and 65536 for 984-265 Compact PLCs.
The default value is 9999.
    • Extended register: Enter the maximum number of addressable extended registers in the PLC.

Note This option is not available if you set Register size to 6.

The minimum value is 1 (one).
The maximum value is 9999 for 984-145 Compact PLCs and 65536 for 984-265 Compact PLCs.
The default value is 9999.
  • 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: 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.
    • Holding register read: Enter the maximum number of holding registers to read at one time.
The minimum value is 1 (one).
The maximum value is 123.
The default value is 123.
    • Holding register write: Enter the maximum number of holding registers to write at one time.
The minimum value is 1 (one).
The maximum value is 100.
The default value is 100.
    • Input register read: Enter the maximum number of input registers to read at one time.
The minimum value is 1 (one).
The maximum value is 123.
The default value is 123.
    • Extended register read: Enter the maximum number of extended registers to read at one time.

Note This option is unavailable if you set Register size to 6.

The minimum value is 1 (one).
The maximum value is 122.
The default value is 122.
    • Extended register write: Enter the maximum number of extended registers to write at one time.

Note This option is unavailable if you set Register size to 6.

The minimum value is 1 (one).
The maximum value is 120.
The default value is 120.

Related Topics

ModiconMicro Object

TSXMomentumRS Object

ModbusPLCRS Object

ModiconMicro Object

From the ModbusBridge branch of the DAServer hierarchy, the ModiconMicro object can be created.

To add ModiconMicro objects to your MBTCP hierarchy

  1. Right-click on your ModbusBridge branch.
  2. Select Add ModiconMicro Object from the shortcut menu.
    • A new ModiconMicro object is created as a node in the hierarchy tree.
    • It is named New_ModiconMicro_000 by default.

Note You can add up to 247 of this type of object to the hierarchy.

  1. Rename as appropriate.
    • The New_ModiconMicro_000 Parameters configuration view is displayed.

This configuration view has 9 elements that are configurable.

  • PLC unit ID: Enter the PLC unit ID.
    The Bridge's internal configuration contains a UnitID parameter which can be set to override the Unit_ID address received in the message from the server. In other words, when the Unit_ID box is 0 (zero) the bridge routes the message to its configured Slave device. If the server's Unit_ID is set to 0 (zero), the message will be delivered to the Slave device whose address is defined in the UnitID box of the Bridge. If the server's Unit_ID is set to a non-zero value (range 1…255), the message will be delivered to the Slave device at that numerical address, regardless of the contents of the UnitID box in the Bridge.
    • The minimum value is 0 (zero).
    • The maximum value is 255.
    • The default value is 1 (one).
  • 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
    • 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/read coils in the PLC.
The minimum value is 1 (one).
The maximum value is 9999.
The default value is 9999.
    • Coil: Enter the maximum number of addressable write coils in the PLC.
The minimum value is 1 (one).
The maximum value is 9999.
The default value is 9999.
    • Input register: Enter the maximum number of addressable input registers in the PLC.
The minimum value is 1 (one).
The maximum value is 9999.
The default value is 9999.
    • Holding register: Enter the maximum number of addressable holding registers in the PLC.
The minimum value is 1 (one).
The maximum value is 9999.
The default value is 9999.
  • 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: 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.
    • Holding register read: Enter the maximum number of holding registers to read at one time.
The minimum value is 1 (one).
The maximum value is 123.
The default value is 123.
    • Holding register write: Enter the maximum number of holding registers to write at one time.
The minimum value is 1 (one).
The maximum value is 100.
The default value is 100.
    • Input register read: Enter the maximum number of input registers to read at one time.
The minimum value is 1 (one).
The maximum value is 123.
The default value is 123.

Related Topics

Compact984 Object

TSXMomentumRS Object

ModbusPLCRS Object

TSXMomentumRS Object

The TSXMomentumRS object is created from the ModbusBridge branch of the DAServer Manager hierarchy.

To add TSXMomentumRS objects to your MBTCP hierarchy

  1. Right-click on your ModbusBridge branch.
  2. Select Add TSXMomentumRS Object from the shortcut menu.
    • A new TSXMomentumRS object is created as a node in the hierarchy tree.
    • It is named New_TSXMomentumRS_000 by default.

Note You can add up to 247 of this type of object to the hierarchy.

  1. Rename as appropriate.
    • The New_TSXMomentumRS_000 Parameters configuration view is displayed.

This configuration view has 9 elements that are configurable.

  • PLC unit ID: Enter the PLC unit ID.
    The Bridge's internal configuration contains a UnitID parameter which can be set to override the Unit_ID address received in the message from the server. In other words, when the Unit_ID box is 0 (zero) the bridge routes the message to its configured Slave device. If the server's Unit_ID is set to 0 (zero), the message will be delivered to the Slave device whose address is defined in the UnitID box of the Bridge. If the server's Unit_ID is set to a non-zero value (range 1…255), the message will be delivered to the Slave device at that numerical address, regardless of the contents of the UnitID box in the Bridge.
    • The minimum value is 0 (zero).
    • The maximum value is 255.
    • The default value is 1 (one).
  • 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
    • 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.
    • Coil: Enter the maximum number of addressable write coils in the PLC.
The minimum value is 1 (one).
The maximum value is 65536.
The default value is 65536.
    • Input register: Enter the maximum number of addressable input registers in the PLC.
The minimum value is 1 (one).
The maximum value is 65536.
The default value is 65536.
    • Holding register: Enter the maximum number of addressable holding registers in the PLC.
The minimum value is 1 (one).
The maximum value is 65536.
The default value is 65536.
    • Extended register: Enter the maximum number of addressable extended registers in the PLC.
The minimum value is 1 (one).
The maximum value is 98303.
The default value is 98303.
  • 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: 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.
    • Holding register read: Enter the maximum number of holding registers to read at one time.
The minimum value is 1 (one).
The maximum value is 123.
The default value is 123.
    • Holding register write: Enter the maximum number of holding registers to write at one time.
The minimum value is 1 (one).
The maximum value is 100.
The default value is 100.
    • Input register read: Enter the maximum number of input registers to read at one time.
The minimum value is 1 (one).
The maximum value is 123.
The default value is 123.
    • Extended register read: Enter the maximum number of extended registers to read at one time.
The minimum value is 1 (one).
The maximum value is 122.
The default value is 122.
    • Extended register write: Enter the maximum number of extended registers to write at one time.
The minimum value is 1 (one).
The maximum value is 120.
The default value is 120.

Related Topics

Compact984 Object

ModiconMicro Object

ModbusPLCRS Object

ModbusPLCRS Object

The ModbusPLCRS object is added to the DAServer hierarchy from the ModbusBridge branch.

To add ModbusPLCRS objects to your MBTCP hierarchy

  1. Right-click on your ModbusBridge branch.
  2. Select Add ModbusPLCRS Object from the shortcut menu.
    • A new ModbusPLCRS object is created as a node in the hierarchy tree.
    • It is named New_ModbusPLCRS_000 by default.

Note You can add up to 247 of this type of object to the hierarchy.

  1. Rename as appropriate.
    • The New_ModbusPLCRS_000 Parameters configuration view is displayed.

This configuration view has 12 configurable elements.

  • PLC unit ID: Enter the PLC unit ID.
    The Bridge's internal configuration contains a UnitID parameter which can be set to override the Unit_ID address received in the message from the server. In other words, when the Unit_ID box is 0 (zero) the bridge routes the message to its configured Slave device. If the server's Unit_ID is set to 0 (zero), the message will be delivered to the Slave device whose address is defined in the UnitID box of the Bridge. If the server's Unit_ID is set to a non-zero value (range 1…255), the message will be delivered to the Slave device at that numerical address, regardless of the contents of the UnitID box in the Bridge.
    • The minimum value is 0 (zero).
    • The maximum value is 255.
    • The default value is 1 (one).
  • 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
    • 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.

Note Certain things have to be understood when the Support Multiple Register Write Parameter is not selected in the Generic PLC configuration. When this parameter is not selected, it implies that the PLC does not support multiple register writes and the server will only write single registers to the PLC.
What this implies is that items that contain more than one register cannot be written either. For example, items such as 4xxxxx L, 4xxxxx I, 4xxxxx U, 4xxxxx F, 4xxxxx-4xxxxx M, 5 HRL, 5 HRF, 5 PV, 5 HRU, and 4xxxxx-4xxxxx cannot be written. When you try to write to the PLC with this parameter not selected, the following error message will be logged to the logger, "Cannot write to multiple register item: 4xxxxx L on Node: TCPPort.GenPLC. The PLC configurable parameter Support Multiple Register Write is not checked."

  • Swap string bytes: Select to swap string bytes on data read and data poked.
    • 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 maximum value is 122.
The default value is 122.
    • Register write: Enter the maximum number of holding registers to write at one time.
The minimum value is 1 (one).
The maximum value is 100.
The default value is 100.

Related Topics

Compact984 Object

ModiconMicro Object

TSXMomentumRS Object

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.

Related Topics

String-Data Handling

Message Optimization


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.

Related Topics

MBTCP Hierarchy in the DAServer Manager

Message Optimization

Full Length Style

C Style

Pascal Style


Full Length Style

If strings are read using the Full Length Style, each string always uses all of the registers allocated. The PLC string is stored in the server string as is.

If a string is written and the string is shorter than the allocation of registers, it is padded with ASCII space characters (hex 20).

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 spaces.
If the string "Wonderware" is stored in the string item "400001-400005 m," registers 400001 through 400005 contain the string "Wonderware" and no spaces are stored.
If the string "Wonderwareee" is stored in the string item "400001-400005 m," registers 400001 through 400005 contain the string "Wonderware" and no spaces are stored.
A message is placed in the logger indicating that the string was truncated.

Related Topics

C Style

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

Related Topics

Full Length Style

Pascal Style


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.

Related Topics

Full Length Style

C Style


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.

Related Topics

Configuring Device Redundancy

MBTCP Hierarchy in the DAServer Manager

String-Data Handling


Configuring Device Redundancy

The DAServer Manager provides the ability to assign redundant device for fail-over protection in the event of device failure. Two device must be configured in the same DAServer having identical item syntax.

Primary and secondary devices will be setup in the REDUNDANT_DEVICE object in the SMC, along with a common item name (ping item) shared by each device to determine device status.

To setup up a REDUNDANT_DEVICE from the configuration branch:

  1. Set-up a primary device and hierarchy in the DAServer Manager in the SMC.
  2. Create at least one device item that can be shared between the primary and secondary devices to determine device status.
  3. Set up an secondary device on the same DAServer. Once again, create an identical device item within the secondary device so that device status can be determined.
  4. Select and right-click on the configuration node.
  5. Select Add REDUNDANT_DEVICE Object. An object called New_REDUNDANT_DEVICE_000 is created.
  6. Rename the newly created object as appropriate. The New_REDUNDANT_DEVICE_000 configuration view is displayed in the Configuration branch of the hierarchy.
  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.

Note Unsolicited message configuration is not supported from the device redundant hierarchy.

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.

Related Topics

Configuring the MBTCP DAServer

MBTCP Hierarchy in the DAServer Manager


Device Groups and Device Items

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.

Important! For DDE/SuiteLink, it is strongly recommended that each device group (topic) definition contain a unique name for the PLC associated with it. The OPC, however, has the flexibility to use any names, including duplicate names, for the device group definitions.

Each device group (topic) definition should contain a unique name for the PLC associated with it.

Related Topics

Configuring the MBTCP DAServer

Hot Configuration

Device Group Definitions

Device Item Definitions

Scan-Based Message Handling

Unsolicited Message Handling Scan-Based Message HandlingScan-Based Message Handling


Device Group Definitions

The Device Groups dialog box, which is displayed by clicking the Device Groups tab in the New_<Name>PLC_000 Parameters configuration view, is used to perform the following activities:

  • Adding, defining, and deleting device groups.

Note When you add a new device group, enter a unique name.

  • Configuring the DAServer to receive unsolicited messages.
  • Configuring default update intervals.
  • Editing update intervals for the device groups.

Note When you select another part of the DAServer tree hierarchy, you are prompted to save the modifications to the configuration set.

To create or add device groups

  1. Right-click in the Device Groups dialog box.
  2. Select the Add command from the shortcut menu.
    • When you add a new device group, enter a unique name (up to 32 characters long).

To make changes on device groups’ names

Change a device group’s name for an object as follows:

  • In the Name column, double-click on the device group’s name to be modified and make the change.

To delete device groups

Deleting a device group from the list can be performed as follows:

  1. Right-click on the device group to be deleted.
  2. Select the Delete command from the shortcut menu.

Note When you select another part of the MBTCP DAServer tree hierarchy, you are prompted to save the modifications to the configuration set.

To configure the MBTCP DAServer to receive unsolicited messages

This option is available only to the PLC nodes that are directly connected to the TCPIP_Port node. PLC nodes that are connected underneath the ModbusBridge node do not have this capability.

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.
  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.
  5. In the Device Group Parameters dialog box, select the Support Unsolicited Messages check box.
  6. Click the OK button to close the dialog box.

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.

  1. Save the configuration change by clicking the Save icon located at the upper-right corner of the configuration view pane.

Note For more information on unsolicited messages, see Unsolicited Message Handling.

To configure default update intervals

  1. To configure a default update interval for the object, right-click in the Device Groups dialog box.
  2. Select Config Default Update Interval from the shortcut menu.

To make changes on update intervals

A change on an update interval for an object can be made as follows:

  • Double-click on the value to be modified in the Update Interval column and make the change.
    • Update Interval is the frequency (in milliseconds) that the DAServer acquires data from the topics associated with that device group.
    • Different topics can be polled at different rates in a PLC by defining multiple device-group names for the same PLC and setting a different Update Interval for each device group.
    • If you also select the "Support Unsolicited Message" checkbox as described above, duplicate updates could be received by the items associated with the device group. To avoid duplicate updates, set the Update Interval to 0 (zero).

Note When you select another part of the MBTCP DAServer tree hierarchy, you are prompted to save the modifications to the configuration set.

Each configuration view associated with nodes/objects in the DAServer hierarchy tree has a common feature, the Save button.

  1. When you modify any parameters in the Device Groups dialog box, click Save to save and implement the new modifications.
    • If you do not click Save, the configuration is reset to its original condition (since the last save).
  2. After all modifications, you must save when prompted for the new data to be saved to the configuration set.

Related Topics

Device Item Definitions

Scan-Based Message Handling

Unsolicited Message Handling Scan-Based Message HandlingScan-Based Message Handling


Device Item Definitions

The Device Items tab in the New_<Name>PLC_000 Parameters configuration view is used to define aliases to actual PLC items. The Device Items dialog box is the place where the following activities are performed:

  • Creating new device item definitions for PLC items.
  • Modifying the existing device items.
  • Deleting device items.
  • 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.

Name | Item Reference
Holding1 | 400001
Holding10F | 400010 F

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.

To create or add device items

  1. Right-click in the Device Items dialog box.
  2. Select the Add command from the shortcut menu.
    • A device item is created in the Name column, and it is numerically named by default.
      For example, Item_0, Item_1, and so on.
  3. Change the default name by double-clicking on it and entering the new name.
    • Enter a unique name for the new device item.
      For example, "Holding1."

To add item references

Item references for each of the device items that have been created can be added as follows:

  1. In the Item Reference column, double-click on the area in the same horizontal line as the selected device item.
  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.

To rename a device item from the list

  1. Right-click on the device item to be renamed.
  2. Select the Rename command from the shortcut menu and enter the new device item name.
  3. Click anywhere in the dialog box or press the ENTER key to apply the change.

To delete a device item from the list

  1. Right-click on the device item to be deleted.
  2. Select the Delete command from the shortcut menu.
    • The device item and its corresponding actual PLC item name will be deleted from the dialog box.

Note When you select another part of the MBTCP DAServer tree hierarchy, you are prompted to save the modifications to the configuration set.

To clear all device items

  1. Right-click anywhere in the Device Items dialog box.
  2. Select the Clear All command from the shortcut menu.

All the device items listed in the dialog box, including their corresponding actual PLC item names, will be deleted.Related Topics

Device Group Definitions

Scan-Based Message Handling

    • Unsolicited Message Handling


Exporting and Importing DAServer Item Data

The Export and Import commands on the shortcut menu enable you to export and import the DAServer item data to and from a CSV file, after the configuration of the Device Items has been completed. These commands will allow you to perform an off-line, large-scale edit on the item data configured for a controller, and import what has been edited back into the controller configuration. Import what has been edited back into the PLC configuration.

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.

To export device items

  1. Right-click anywhere in the Device Items dialog box.
  2. Select the Export command from the shortcut menu.
    • The standard Save As dialog box appears.
    • The file name has defaulted into "PLC Hierarchyname.csv," within the current-system-configured default directory.
  3. Accept the defaults to save the file.
    • The file is saved as New_<PLC Name>_000.csv.
    • It is editable in Microsoft Excel.

However, if you prefer to save the list someplace else and rename it, perform the following steps after step 2.

  1. Select the folder into which the list is to be saved.
  2. Name the list to be archived.
  3. Click the Save button.
    • The whole list will be saved as a .csv file in Excel.

The file can now be edited off-line. It contains one row for each item configured with two columns, Name and Item Reference, respectively.

To import device items

  1. To import the list, right-click anywhere in the Device Items dialog box.
  2. Select the Import command from the shortcut menu.
  3. Select the archived list (.csv file) to be imported from the folder in which it is saved.
  4. Click the Open button.
    • The whole list will be brought into the Device Items dialog box.

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.

To import device item data that has been edited off-line

  1. Right-click anywhere in the Device Items dialog box.
  2. Clear all the item data you wish to replace with the edited .csv file by selecting the Clear All command.
    • The data will be cleared after you click on Yes to confirm the deletion.
  3. Select the Import command from the shortcut menu.
    • The standard Open dialog box appears.
    • It defaults to the .csv file extension within the current-system-configured default directory.
  4. Browse for the specific CSV file you want to import, select it, then click on the Open button.
    • The DAServer Manager will import the edited file and deposit it in the Device Items dialog box.
    • During the imported file processing:
    • New item references will be added based on unique names.

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.

Related Topics

Configuring the MBTCP DAServer

Archiving Configuration Sets

Hot Configuration

When the DAServer is running out-of-proc, it supports requests from both SuiteLink and OPC client applications.

Device Item Definitions

Scan-Based Message Handling

Unsolicited Message Handling Scan-Based Message HandlingScan-Based Message Handling


Scan-Based Message Handling

Wonderware's DAServers are based on the concept of polling a hardware device for information. This polling is driven by a need which is expressed in the form of requests from one or more clients. Once a particular piece of information has been requested by a client, the DAServer formulates its own request and sends that request to the hardware device. The DAServer then waits for a response to its request. Once the information has been received, the DAServer passes that information back to the client, and repeats the process until all clients have ceased requesting information.

The rate at which the DAServer will poll a particular device for a specific piece of information is defined in the device group (topic definition) inside the DAServer, using a parameter called the Update Interval. When setting this parameter, there is always a trade-off between the update speed of the device group and the resulting decrease in system responsiveness.

Since you more than likely want very fast response, the temptation is to set the Update Interval to a value close to 0 (zero) seconds. However, if every point is polled at this rate, the entire system will suffer due to slow response time. Therefore, you should compromise, and set the Update Interval to a more reasonable value. You could also create multiple device groups for each device, setting the Update Interval to different values, then assigning different items to different device groups depending on how quickly the values change and how quickly you want to see an update of those changes.

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

Related Topics

Device Group Definitions

Device Item Definitions

Unsolicited Message Handling Scan-Based Message HandlingScan-Based Message Handling


Unsolicited Message Handling

In the world of PLCs and DAServers, it is obvious that a PLC will know when a critical event has occurred before the DAServer will have a chance to poll for that data. Therefore, it would seem natural that if a critical event occurs, the PLC should have the capability to inform the DAServer immediately, without having to wait for the DAServer to poll it.

This is the role of an unsolicited message. Once a PLC has determined that a critical condition (such as an alarm event) exists, it can generate a message that is immediately sent to the DAServer without a prior request from the DAServer. Compared to polling the PLC for an irregular event at fixed intervals, sending unsolicited messages from the PLC to the DAServer when the event occurs will not only cut down the network traffic, but may also get the data to the server more promptly.

Note The unsolicited messaging feature is available only to controllers that are directly connected to the TCPIP_PORT. Controllers under the ModbusBridge Object hierarchy cannot utilize this feature.

In accordance with the protocol, the receiver of unsolicited messages must acknowledge the receipt of unsolicited messages.

Note For the step-by-step procedure on how to configure the DAServer to receive unsolicited messages, see Device Group Definitions.

Related Topics

Device Group Definitions

Device Item Definitions

Scan-Based Message Handling Scan-Based Message Handling


Managing Your DAServer

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.

Related Topics

Configuring the DAServer as Service

Configuring the DAServer as Not a Service

Archiving Configuration Sets

Activating/Deactivating the DAServer

In-Proc/Out-of-Proc

Hot Configuration

Demo Mode


Configuring the DAServer as Service

To support DDE/SuiteLink clients, the DAServer must be configured as a service.

To configure the DAServer as a service

  1. In the DAServer Manager, navigate to the DAServer.
    • Expand DAServer Manager, expand the node group, and then expand Local or the remote computer name.
  2. Right-click ArchestrA.DASMBTCP.2 and then click Configure As Service.
  3. Click either Auto Service or Manual Service.
  4. Read the warning message and click Yes.

Related Topics

Configuring the DAServer as Not a Service

Archiving Configuration Sets

Activating/Deactivating the DAServer

In-Proc/Out-of-Proc

Hot Configuration

Demo Mode


Configuring the DAServer as Not a Service

The DAServer can only be set to run as not a service when the DAServer is in the deactivated state.

To configure the DAServer as not a service

  1. In the DAServer Manager, navigate to the DAServer.
    • Expand DAServer Manager, expand the node group, and then expand Local or the remote computer name.
  2. Right-click ArchestrA.DASMBTCP.2 and then click Configure As Service.
  3. Click Not a Service.
  4. Read the warning message and click Yes.

Related Topics

Configuring the DAServer as Service

Archiving Configuration Sets

Activating/Deactivating the DAServer

In-Proc/Out-of-Proc

Hot Configuration

Demo Mode


Archiving Configuration Sets

A configuration set includes the DAServer’s global parameters; each channel and its parameters; and each device and its parameters, device groups, and device items. It lets you manage the settings of different DAServer configurations.

The DAServer contains a default configuration set named DASMBTCP. You cannot delete the default configuration set.

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.

To archive a configuration set

  1. In the DAServer Manager, navigate to the configuration node.
  2. Expand DAServer Manager, expand the node group, and then expand Local or the remote computer name.
B. Expand the DAServer.
  1. Click Configuration.
  2. Right-click and click Archive Configuration Set.
  3. In the dialog box, type the configuration set name, and click Archive. All the current configuration values are saved to the set.

After you archive at least one configuration set, you can select it for use.

To select a configuration set

  1. In the DAServer Manager, navigate to the configuration node.
  2. Expand DAServer Manager, expand the node group, and then expand Local or the remote computer name.
B. Expand the DAServer.
  1. Click Configuration.
  2. Right-click, point to Use Another Configuration Set, then click the desired name.

To change the parameter values saved in a configuration set, make sure the desired configuration set is shown, then follow this procedure.

To change the parameter values in a configuration set

  1. In the DAServer Manager, navigate to the configuration node.
  2. Expand DAServer Manager, expand the node group, and then expand Local or the remote computer name.
B. Expand the DAServer.
  1. Click Configuration.
  2. Change the parameters that you want to change.
  3. Click the Save icon.

Clearing a configuration set returns the parameters to their default values.

To clear a configuration set

  1. In the DAServer Manager, navigate to the configuration node.
  2. Expand DAServer Manager, expand the node group, and then expand Local or the remote computer name.
B. Expand the DAServer.
  1. Click Configuration.
  2. Right-click, move the mouse over Clear Configuration Set, then left click.
  3. Read the warning message, then click Yes. The parameters are set to the default values.

To delete a configuration set

  1. In the DAServer Manager, navigate to the configuration node.
  2. Expand DAServer Manager, expand the node group, and then expand Local or the remote computer name.
B. Expand the DAServer.
  1. Click Configuration.
  2. Right-click Configuration, point to Delete Configuration Set and select the configuration set to delete.
  3. Read the warning message, then click Yes.

Related Topics

Configuring the DAServer as Service

Configuring the DAServer as Not a Service

Activating/Deactivating the DAServer

In-Proc/Out-of-Proc

Hot Configuration

Demo Mode


Activating/Deactivating the DAServer

When you activate the DAServer, it starts communicating and accepting requests from client applications. If a DAServer is configured as an automatic service, the DAServer is started and activated when the computer starts up. Also, a DAServer can be activated by the an OPC client connection request, but only out-of-proc..

To activate the DAServer

  1. In the DAServer Manager, navigate to the DAServer.
    • Expand DAServer Manager, expand the node group, and then expand Local or the remote computer name.
  2. Right-click ArchestrA.DASMBTCP.2 and then click Activate Server.

Deactivating your DAServer stops it from communicating with client applications.

A DAServer with active OPC clients does not stop until the last OPC client shuts down.

To deactivate the DAServer

  1. In the DAServer Manager, navigate to the DAServer.
    • Expand DAServer Manager, expand the node group, and then expand Local or the remote computer name.
  2. Right-click ArchestrA.DASMBTCP.2 and then click Deactivate Server.
  3. Read the warning message and click Yes.

Related Topics

Configuring the DAServer as Service

Configuring the DAServer as Not a Service

Archiving Configuration Sets

In-Proc/Out-of-Proc

Hot Configuration

Demo Mode


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 User’s Guide.

Related Topics

Configuring the DAServer as Service

Configuring the DAServer as Not a Service

Archiving Configuration Sets

Activating/Deactivating the DAServer

Hot Configuration

Demo Mode


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

Note If changes are made to server-specific parameters while the server is active, the DAServer will issue a warning message to the logger.

Related Topics

Configuring the MBTCP DAServer

Device Group Definitions

Configuring the DAServer as Service

Configuring the DAServer as Not a Service

Archiving Configuration Sets

Activating/Deactivating the DAServer

In-Proc/Out-of-Proc

Demo Mode


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

Note Use the $SYS$Licensed system item, a read-only Boolean item, to check the status of your license: True for Licensed or in Demo Mode and False for Not Licensed.

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.

Note Once a DAServer obtains a valid license, it no longer checks for a license. However, if your license expires, your DAServer will no longer function when you restart the DAServer.

Related Topics

Accessing Data Using OPC

Configuring the DAServer as Service

Configuring the DAServer as Not a Service

Archiving Configuration Sets

Activating/Deactivating the DAServer

In-Proc/Out-of-Proc

Hot Configuration


Accessing the Data in Your DAServer

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.

Related Topics

Accessing Data Using OPC

Accessing Data Using DDE/SuiteLink


Accessing Data Using 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.2.
  • 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.

Related Topics

OPC

Accessing Data Using DDE/SuiteLink


Accessing Data Using 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.

Related Topics

SuiteLink

DDE/FastDDE


MBTCP DAServer Features

The MBTCP DAServer provides following features:

  • Activate as out-of-proc
  • Device Redundancy


Activate as out-of-proc

The DAServer activates only out-of-procs thereby connecting multiple clients to a DAServer.

Related Topics

Activate as out-of-proc

© 2007, 2010 Invensys Systems, Inc. All Rights Reserved.


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.

Related Topics

Runtime Behavior


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.

Note Unsolicited message configuration is not supported in the Redundant Device Object itself. You can still receive unsolicited messages directly from device groups defined in the regular server hierarchy.

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.

Related Topics

Device Redundancy


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)

For more information, click on a Help topic.

Contents
  • Data and Register Types
  • Modbus Item Naming
  • DAServer Standard System Items
  • Generic OPC Syntax


Data and Register Types

When a client sends a read/write request to the MBTCP DAServer, the DAServer needs to know its data type and size. In order to determine this information, the MBTCP DAServer parses the item name to get the register number, data type, and size. The DAServer builds messages with items sorted by PLC, register type, register number, and topic name, allowing the DAServer to optimize the number of registers that can be read in one scan command.

The following table contains the types of data for the Modicon controllers, TSX Quantum, TSX Momentum, TSX Premium, Generic Modbus (4-Digit, 5-Digit, and 6-Digit), Compact 984, and Modicon Micro, supported by the MBTCP DAServer.

TSX Quantum/TSX Momentum/TSX Premium/Generic Modbus/Compact 984/Modicon Micro Data Type | Range
Discrete (bit/Boolean) | 0 (zero), 1 (one)
Signed Short Integer (signed 16-bit integer) | 0 (zero) to 65535
Unsigned Short Integer (unsigned 16-bit integer) | -32768 to 32767
Signed Long Integer (signed 32-bit integer) | -2147483648 to 2147483647
Unsigned Long Integer (unsigned 32-bit integer) | 0 (zero) to 4294967295
REAL (32-bit float) | 32-bit IEEE
String (ASCII) | 246 characters (Read) 200 characters (Write)

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.

Note System-defined types will not be supported as block reads. A read on any of these data types will return only the first element.

The following table lists the PLC register types, the data types contained in the registers, and what each is processed as.

PLC Register Type | Data Type Contained in the Register | Processed As
Discrete Output (Coil) | Discrete | Real Time Data
Discrete Input | Discrete | Real Time Data
Holding Register | Discrete, Integer, Float, and String | Real Time Data
Input Register | Discrete, Integer, Float, and String | Real Time Data
Extended Register | Discrete, Integer, Float, and String | Real Time Data

Related Topics

Modbus Item Naming

DAServer Standard System Items

Generic OPC Syntax


Modbus Item Naming

The Modbus-family controllers store data in the Registers. The MBTCP DAServer supports item names that are consistent with the point naming conventions used by the Modicon PLCs.

The following item naming conventions are described in this section:

  • Register-Number Item Names
  • Item Names Using the Modicon PLC Register Addresses
  • Item Names Using the Absolute Naming Convention
  • Item Names Using the Modulo-10000 Naming Convention
  • Modulo-10000 Items, BCD Register Type, and Concept Data Structures

Note The tag-name length with SuiteLink is limited to 32 characters.

Related Topics

Data and Register Types

DAServer Standard System Items

Generic OPC Syntax

Register-Number Item Names

Item Names Using the Modicon PLC Register Addresses

Absolute Notation Item Names

Modulo-10000 Point Item Names

Modulo-10000 Items, BCD Register Type, and Concept Data Structures


Register-Number Item Names

The register number, which is consistent with the point naming convention used by Modicon PLCs, is used as the item name. The Modbus-family PLC address ranges, supported by the DAServer, for the TSX Quantum, TSX Momentum, TSX Premium, Generic Modbus (4-Digit, 5-Digit, and 6-Digit), Compact 984, and Modicon Micro PLCs are shown in the following tables.

The MBTCP DAServer will adhere to this address range for native mode.

Register Type | TSX Quantum/ TSX Momentum | Modicon Micro | Compact 984-265 | Compact 984-145 | Tag 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 %I PLC object; that is, Output Coils and Contacts Registers are the same.
Input | 300001-365536 | Analog | Read-Only. Mapped to %IW 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.

Register Type | Generic Modbus (6-Digit) | Generic Modbus (5-Digit) | Generic Modbus (4-Digit) | Tag Type | Access
Output Coils | 1-65536 | 1-9999 | 1-999 | Discrete | Read Write
Contacts | 100001-165536 | 10001-19999 | 1001-1999 | Discrete | Read-Only
Input | 300001-365536 | 30001-39999 | 3001-3999 | Analog | Read-Only
Holding | 400001-465536 | 40001-49999 | 4001-4999 | Analog | Read Write
Extended | 6x0000-6x9999 | 6x000-6x999 |  | Analog | Read Write

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.

Related Topics

Item Names Using the Modicon PLC Register Addresses

Absolute Notation Item Names

Modulo-10000 Point Item Names

Modulo-10000 Items, BCD Register Type, and Concept Data Structures


Item Names Using the Modicon PLC Register Addresses

The following table lists other item name formats that are consistent with the point naming convention with the MBTCP DAServer sufix.

Item Name | Description
400001 | When no spaces and no letters follow the register number, the register contents are treated as a 16-bit unsigned quantity.
400001 S | When a space and the letter "S" follow the register number, the register contents are treated as a 16-bit signed quantity.
400001 I | When a space and the letter "I" follow the register number, the register contents are treated as a 32-bit signed quantity. This takes up two consecutive registers.
400001 L | When a space and the letter "L" follow the register number, the register contents are treated as a 32-bit signed quantity.
400001 F | When a space and the letter "F" follow the register number, the register contents are treated as a floating-point quantity. This takes up two consecutive registers.
400001 U | When a space and the letter "U" follow the register number, the register contents are treated as a 32-bit unsigned quantity.
400001-400003 M | When a space and the letter "M" follow the register number or register number pair separated by a dash, the register contents are treated as ASCII data. Each register contains up to two (2) ASCII characters. This example represents six (6) ASCII characters.
300001:10 | When a colon and a number from 1 (one) to 16 follow the register number, the register contents are treated as discrete data. This example represents bit 10 of the input register 300001.

Related Topics

Register-Number Item Names

Absolute Notation Item Names

Modulo-10000 Point Item Names

Modulo-10000 Items, BCD Register Type, and Concept Data Structures


Absolute Notation Item Names

The MBTCP DAServer also uses another naming convention called the Absolute Notation. This naming convention is independent of the PLC model numbers.

The Absolute naming convention allows access to the four Modbus data types, each with an address from 0 to 65535. The data types are indicated by the item name suffix characters.

Item Name | Description
nnnnn DO | Discrete Output Refers to the same data Modbus calls "coils." Valid range is 0 (zero) DO through 65535 DO.
nnnnn DI | Discrete Input Refers to the same data called "contacts" by Modbus. Valid range is 0 (zero) DI through 65535 DI.
nnnnn IR | Input Register Refers to the same data called "input register." Valid range is 0 (zero) IR through 65535 IR.
nnnnn HR | Holding Register Refers to the same data Modbus calls "holding register." Valid range is 0 (zero) HR through 65535 HR.
nnnnn PV | Process Variable Refers to holding register, but treated as floating points and assumes two (2) registers per floating-point number. Valid range is 0 (zero) PV through 65535 PV.

The IR and HR absolute notation can also be combined with the following conversions: L (long), F (floating), S (signed), or U (unsigned).

For example:

  • 219 HRS 16-bit signed integer
  • 000 HRL 32-bit signed integer
  • 100 HRF 32-bit floating point
  • 000 HRU 32-bit unsigned integer

Related Topics

Register-Number Item Names

Item Names Using the Modicon PLC Register Addresses

Modulo-10000 Point Item Names

Modulo-10000 Items, BCD Register Type, and Concept Data Structures


Modulo-10000 Point Item Names

The MBTCP DAServer uses the Modulo-10000 Points naming convention, where the item name is two registers separated by a dash, with no spaces and no letters following the registers.

Two or three consecutive registers may be interpreted as a single numeric quantity, and each of the component registers must be in the range of 0-9999.

Item Name | Description
400001-400002 | Can represent numbers between 0 and 99,999,999. Register 400001 = <9999> and Register 400002 = <9999>.
400005-400007 | Can represent numbers between 0 and 2,147,483,646. Register 400005 = <21>, Register 400006 = <4748>, and Register 400007 = <3646>.

  • When grouping three consecutive registers for interpretation as a single numeric quantity, overflow becomes a possibility.
  • The largest number that may be represented in the PLC with three consecutive Modulo-10000 registers is 999,999,999,999; however, the largest number that can be contained in an integer-type variable is 2,147,483,647. The latter number is used by the DAServer to represent an overflow condition.
  • Therefore, the maximum usable value represented in three Modulo-10000 registers is 2,147,483,646 or (<21><4748><3646>). Any number larger than this will be clamped at 2,147,483,647.

Related Topics

Register-Number Item Names

Item Names Using the Modicon PLC Register Addresses

Absolute Notation Item Names

Modulo-10000 Items, BCD Register Type, and Concept Data Structures


Modulo-10000 Items, BCD Register Type, and Concept Data Structures

All the integer holding registers, 16- and 32-bit, signed and unsigned, and Modulo-10000 item types honor the configuration parameters Register type and Concept data structures.

When the Register type parameter is BCD and the Use Concept data structures (Longs) parameter is selected, the data is displayed in BCD and written to the PLC in the BCD format. In addition, data that takes up two registers (Longs), except Reals, is displayed and written in the Concept-data-structure format.

The same applies when the Register type parameter is Binary and the Use Concept data structures (Longs) parameter is selected; the data is displayed in Binary and written to the PLC in the Binary format. In addition, data that takes up two registers (Longs), except Reals, are displayed and written in the Concept-data-structure format.

When the Register type parameter is BCD and the Use Concept data structures (Longs) parameter is not selected, the data is displayed in BCD and written to the PLC in the BCD format. In addition, data that takes up two registers (Longs), except Reals, is displayed and written in the non-Concept-data-structure format.

The same applies when the Register type parameter is Binary and the Use Concept data structures (Longs) parameter is not selected; the data is displayed in Binary and written to the PLC in the Binary format. In addition, data that takes up two registers (Longs), except Reals, is displayed and written in the non-Concept-data-structure format.

The Concept-data-structure format implies that data is displayed and written the same way that the Concept program from Schneider Automation handles data.

Concept-data-structure format is where the data is displayed and written in the last-register-to-first-register order.
For example:
When writing the value 2147483646 to the Modulo-10000 item 400001-400003, the value 21 is written first to register 400003, then the value 4748 is written to register 400002, and then the value 3646 is written to register 400001.

The non-Concept-data-structure format is the opposite of the Concept-data-structure format.
The value 21 is written first to register 400001, then the value 4748 is written to register 400002, and then the value 3646 is written to register 400003.

Modulo-10000 items can be displayed and written in the BCD and Binary formats. When the Modulo-10000 item occupies two registers, the maximum value that can be displayed and written is 99999999. When the Modulo-10000 item occupies three registers, the maximum value that can be displayed and written is 2147483646.

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.

Related Topics

Register-Number Item Names

Item Names Using the Modicon PLC Register Addresses

Absolute Notation Item Names

Modulo-10000 Point Item Names


DAServer Standard System Items

System items provide you with easy access to the DAServer status and diagnostics information. They are treated just like ordinary items with respect to the client. However, in most cases these items are not directly acquired via the communications layer. System item values are usually generated through internal calculations, measurements, and the tracking of the DAS Engine.

System items, like ordinary items, are defined by the following properties:

  • Group (client group/OPC group): The arbitrary collection of items, not correlated.
  • Hierarchical location (link name/OPC path. The hierarchical node section of the fully qualified OPC Item ID.): The device the item is attached to.
  • Device group (OPC access path/topic, or a Scan Group on a hierarchical branch.): A collection of items on the same physical location with the same protocol update rate.

Example:

To check the status of an external device, the reference might be:

AREA10.VESSEL1.TIC1.PLC.$SYS$Status

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.

All system items follow the same naming convention:

  • All system items start with $SYS$.
  • System item name is not case-sensitive.

All system items can be accessed through subscriptions to a device group. However, while some system items return data for that device group, others are server-wide.

Related Topics

Data and Register Types

Modbus Item Naming

Generic OPC Syntax

DAServer Global System Item

DAServer Device-Specific System Items

DAServer Device-Group-Specific System Items


DAServer Global System Item

The following system item refers to specific information regarding a global condition of the DAServer.

System Item Name | Type/ Access Rights | Description | Values
$SYS$Licensed | Boolean/ Read | Binary status indication of the existence of a valid license for the DAServer. If FALSE, this item causes the DAServer to stop updating existing tags, to refuse activation of new tags, and to reject write requests in addition to setting quality for all items to BAD. If TRUE, the DAServer functions as configured. All instances have the same value. | RANGE: 0, 1 1: Valid license exists. 0: No valid license exists.

Related Topics

DAServer Device-Specific System Items

DAServer Device-Group-Specific System Items


DAServer Device-Specific System Items

The following system items refer to specific information regarding the device(s) the DAServer is connected to.

System Item Name (Type)
Type/
Access Rights
Description
Values
$SYS$Status
Boolean/
Read
Binary status indication of the connection state to the device (hierarchy level) the item is attached to. The device group (OPC access path/topic) does not affect the value.
The status can be good even if individual items have errors.
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.
RANGE: 0, 1
1: DAServer connection to the device is intact.
0: Error communicating with the device.
$SYS$ErrorCode
Longint/
Read
Detailed error code of the communications state to the device.
The device group (OPC access path/topic) does not affect the value.
>= 0: Good status (0 is the default state – connected.
>0: is some device state like: connecting, initializing, and so on.
<0: Error status (value indicates the error).
$SYS$ErrorText
String/
Read
Detailed error string of the communications state of the device.
The device group (OPC access path/topic) does not affect the value.
Descriptive text for the communications state corresponding to the error code.
$SYS$StoreSettings
Integer/
ReadWrite
Makes the temporary update interval changes via the $SYS$UpdateInterval item permanent. If the client pokes a value of 1 into this system item, the currently set update interval is written to the server’s configuration file.
The value of this system item clears to 0 after being set, if the configuration file write is successful. If the write fails, then the value is set to -1.
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.
RANGE: -1, 0, 1
-1: Error occurred during saving the configuration file.
0: Read value always if status is OK.
1: Persist settings (cleared immediately).

Related Topics

DAServer Global System Item

DAServer Device-Group-Specific System Items


DAServer Device-Group-Specific System Items

The following system items refer to specific information regarding device groups that have been configured in the DAServer.

System Item Name (Type)
Type/
Access Rights
Description
Values
$SYS$UpdateInterval
DWord/
ReadWrite
Accesses the currently set update interval. It is the current update interval of the device group in milliseconds. A client can poke new values into this item.
The value of zero indicates that no non-system items on that topic are updated (data for these items are not acquired from the device).
RANGE: 1…2147483647
0: Topic inactive, no items are updated. Data acquisition is stopped.
>0: Expected updated interval for the set of all items in the device group.
$SYS$MaxInterval
DWord/
Read
Accesses the currently measured maximum update interval in milliseconds of all items of the corresponding device group. This item is read-only. The value of the slowest item is displayed.
RANGE: 0…2147483647
0: If update interval is 0 or if the status is false.
>0: Measured update interval
$SYS$WriteComplete
Integer/
ReadWrite
Accesses the state of pending write activities on the corresponding device group. On device group creation (adding items to an OPC group), the value of this system item is initially 1, indicating all write activities are complete – no pokes are pending.
If values are poked into any items of the device group, the value of this item 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.
RANGE: -1, 0, 1
1: Write complete (no writes are pending – initial state).
0: Writes are pending.
-1: Writes completed with errors.
$SYS$ReadComplete
Integer/ ReadWrite
Accesses the state of initial reads on all items in the corresponding device group.
The value is 1 if all active items in a device group have been read at least once.
If at least one item in the device group is activated, this item changes to 0. It changes to 1 if all items have been read successfully, or to -1 if at least one item has a non-good 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.
RANGE: -1, 0, 1
1: Read complete (all values have been read).
0: Not all values have been read.
-1: All values have been read but some have a non-good quality.
$SYS$ItemCount
DWord/
Read
Accesses the number of items in the corresponding device group. This item is read-only.
RANGE: 0…2147483647
>=0: Number of active items.
$SYS$ActiveItemCount
DWord/
Read
Accesses the number of active items in the corresponding device group. This item is read-only.
RANGE: 0…2147483647
>=0: Number of active items.
$SYS$ErrorCount
DWord/
Read
Accesses the number of all items (active and inactive) that have errors (non-good OPC quality) in the corresponding topic.
If the communications status of a device group is bad, all items have errors. This item is read-only.
RANGE: 0…2147483647
>=0: Number of all items (active and inactive) with errors.
$SYS$PollNow
Boolean/
ReadWrite
Poking a 1 to this item forces all items 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).
RANGE: 0, 1

Related Topics

DAServer Global System Item

DAServer Device-Specific System Items


DAServer Redundant Device Specific System Items

These system items are specific to the Redundant Device.

System Item Name | Type/Access Rights | Description | Values
$SYS$ForceFailover | Boolean/ ReadWrite | This is required to achieve the failover condition to be forced by client. Note: By poking a value of "1" (True) into the Force Failover item, a client can conveniently switch to the secondary device. | TRUE, FALSE
$SYS$ActiveDevice | String/Read | This system item will show the current runtime active device. | Node Hierarchy Name
$SYS$FailoverTime | Time/Read | This system item will show the time at which the switch occurred. | Time at which the switch occurred
$SYS$StandbyDevice | String/Read | This system item will show the current runtime standby device. | Node Hierarchy Name
$SYS$SecondaryDevice Status | Boolean/Read | This system item will show the status of the secondary device. This is the status of the second device defined in the configuration and is not changed with any failover. RANGE: 0, 1 | RANGE: 0, 1 (Contains the value of the system item $SYS$Status)
$SYS$PrimaryDevice Status | Boolean/Read | This system item will show the status of the primary device. This is the status of the first device defined in the configuration and is not changed with any failover. RANGE: 0, 1 | RANGE: 0, 1 (Contains the value of the system item $SYS$Status)
$SYS$FailoverReason | String/Read | This system item will show the reason for the failover. | Descriptive text “ForceFailover” or the value of the system item $SYS$ErrorText.

Important! The Redundant Hierarchy, including the Device Group, is not hot-configurable, and requires a Reset on the Redundant Hierarchy to effect a configuration change.

Related Topics

DAServer Global System Item

DAServer Device-Specific System Items

DAServer Device-Group-Specific System Items


Generic OPC Syntax

A DAServer serves as a container for the OPC Groups, which provide the mechanism for containing and logically organizing OPC items. Within each OPC Group, an OPC-compliant client can register OPC items, which represent connections to devices in the field device. In other words, all access to OPC items is maintained through the OPC Group.

The fully qualified name for an OPC item is called the Item ID (equivalent to Item Name). The syntax for specifying a unique Item ID is DAServer-dependent. In OPC data acquisition DAServers, the syntax can be as follows:

AREA10.VESSEL1.TIC1.PLC.400001

where each component (delimited by a period) represents a branch or leaf of the field device’s hierarchy.

In this example:

  • AREA10.VESSEL1.TIC1 is the link name for a DAServer.
  • PLC is the name of the target PLC.
  • 400001 is the specific data point (Item) desired.
  • An item is typically a single value such as an analog, digital, or string value.

Where Item ID describes the syntax for defining the desired data point, OPC provides for another parameter, called Access Path, that defines optional specifications for obtaining that data.

In DAServers, Access Paths are equivalent to Device Groups; it is this parameter that is used to define the update interval between the DAServer and the field device for accessing the values of data points in the PLC.

Related Topics

Data and Register Types

Modbus Item Naming

DAServer Standard System Items


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.

Note In order to determine the version of your DAServer, perform the following steps. Search for DASMBTCP.dll, right-click on the File Name, select Properties on the context menu, and select the Version tab on the Properties dialog box. The version of your DAServer is listed under File Version.

For more information, click on a Help topic.

Contents
  • Monitoring Connectivity Status with the PLC
  • Monitoring the Status of DAS Conversations
  • Error Messages and Codes


Monitoring Connectivity Status with the PLC

The built-in discrete item, $SYS$Status, can be used to monitor the status of communications with the PLC. This item is set to the following:

  • 0 (zero) when communications with the PLC fails.
  • 1 (one) when communications is successful.

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.

Related Topics

Monitoring the Status of DAS Conversations

Error Messages and Codes


Monitoring the Status of DAS Conversations

The InTouch WindowViewer supports built-in topic names, called DDEStatus and IOStatus, that can be used to monitor the status of specific DAS conversations.

For example, let us assume that WindowViewer (VIEW) is communicating with the MBTCP DAServer to a PLC that has been defined in the DAServer with the topic name ModiconPLC. The discrete items, DDEStatus and IOStatus, are set to:

  • 0 (zero) when this DAS conversation failed.
  • 1 (one) when this DAS conversation is successful.

Related Topics

Monitoring Connectivity Status with the PLC

Error Messages and Codes

Using DDEStatus and IOStatus in Excel

Reading Values from the DAServer into Excel

Writing Values to the DAServer from Excel


Using DDEStatus and IOStatus in Excel

The status of communications between the PLC and InTouch can be read into Excel by entering the following DDE reference formula in a cell on a spreadsheet:

=view|DDEStatus!ModiconPLC

or

=view|IOStatus!ModiconPLC

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.

Related Topics

Reading Values from the DAServer into Excel

Writing Values to the DAServer from Excel


Reading Values from the DAServer into Excel

Values may be read directly into Excel spreadsheets from the DAServer by entering a DDE formula into a cell using the following format:

=applicationname|<devicegroup>!itemname

Example formula:

=DASMBTCP|ModiconPLC!'<tagname>'

where:

DASMBTCP is the name of the DAServer application.

ModiconPLC is the exact device group name defined in the DAServer for the PLC.

<tagname> is the actual location in the PLC that contains the data value. This is the item name.

In this example, each time the value of <tagname> changes in the PLC, the DAServer will automatically send the new value to the cell containing the formula in Excel.

Note Refer to the Microsoft Excel manual for complete details on entering Remote Reference formulas for cells.

Related Topics

Using DDEStatus and IOStatus in Excel

Writing Values to the DAServer from Excel


Writing Values to the DAServer from Excel

Values may be written to the DAServer from Microsoft Excel by creating an Excel macro that uses the POKE command. The proper command is entered in Excel as follows:

channel=INITIATE("applicationname","topicname")

=POKE(channel,"itemname", Data_Reference)

=TERMINATE (channel)

=RETURN()

The following describes each of the above POKE macro statements:

channel=INITIATE("applicationname","topicname")

    • Opens a channel to a specific topic name (defined in the DAServer) in a particular application name (the executable name less the .exe).
    • Assigns the number of that opened channel to channel.

Note By using the channel=INITIATE statement, the word channel must be used in the =POKE statement instead of the actual cell reference. The "application name" and "topic name" portions of the formula must be enclosed in quotation marks.

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

Related Topics

Using DDEStatus and IOStatus in Excel

Reading Values from the DAServer into Excel


Error Messages and Codes

Generic DAServer error messages and MBTCP-DAServer-specific messages are supported. Use the Log Flag data to customize the messages logged to the Log Viewer. See the Log Viewer online documentation for more information about using log flags.

To troubleshoot DAServer problems, use the following error messages together with the DAServer Manager Diagnostics root data.

In the following DAServer Error Messages table:

  • <Message ID> corresponds to the message ID displayed in the DAServer’s Diagnostics root in the DAServer Manager.
  • <Device> refers to the node name of the device.

Related Topics

Monitoring Connectivity Status with the PLC

Monitoring the Status of DAS Conversations

DAServer Error Messages

Server-Specific Error Codes


DAServer Error Messages

The following table lists all the generic-DAServer and MBTCP-DAServer-specific error messages that are logged to the Log Viewer.

Error Message | Explanation | Probable Cause | Solution | Log Flag
"CoilRead" is missing from the DASMBTCP.AAcfg file under <PLC name>. | The mandatory <CoilRead> field is absent from the DeviceNode named <PLC Name> in the configuration file. | The entry is deleted from the file manually. | Use the DAServer Manager to rebuild the file. | DASProtFail
"CoilWrite" is missing from the DASMBTCP.AAcfg file under <PLC name>. | The mandatory <CoilWrite> field is absent from the DeviceNode named <PLC Name> in the configuration file. | The entry is deleted from the file manually. | Use the DAServer Manager to rebuild the file. | DASProtFail
"ExtendedRegisterRead" is missing from the DASMBTCP.AAcfg file under <PLC name>. | The mandatory <ExtendedRegisterRead> field is absent from the DeviceNode named <PLC Name> in the configuration file. | The entry is deleted from the file manually. | Use the DAServer Manager to rebuild the file. | DASProtFail
"ExtendedRegisterWrite" is missing from the DASMBTCP.AAcfg file under <PLC name>. | The mandatory <ExtendedRegisterWrite> field is absent from the DeviceNode named <PLC Name> in the configuration file. | The entry is deleted from the file manually. | Use the DAServer Manager to rebuild the file. | DASProtFail
"HoldingRegisterRead" is missing from the DASMBTCP.AAcfg file under <PLC name>. | The mandatory <HoldingRegisterRead> field is absent from the DeviceNode named <PLC Name> in the configuration file. | The entry is deleted from the file manually. | Use the DAServer Manager to rebuild the file. | DASProtFail
"HoldingRegisterWrite" is missing from the DASMBTCP.AAcfg file under <PLC name>. | The mandatory <HoldingRegisterWrite> field is absent from the DeviceNode named <PLC Name> in the configuration file. | The entry is deleted from the file manually. | Use the DAServer Manager to rebuild the file. | DASProtFail
"InputRegisterRead" is missing from the DASMBTCP.AAcfg file under <PLC name>. | The mandatory <InputRegisterRead> field is absent from the DeviceNode named <PLC Name> in the configuration file. | The entry is deleted from the file manually. | Use the DAServer Manager to rebuild the file. | DASProtFail
"IPAddress" is missing from the DASMBTCP.AAcfg file under <PLC name>. | The mandatory <IPAddress> field is absent from the DeviceNode named <PLC Name> in the Configuration file. | The entry is deleted from the file manually. | Use the DAServer Manager to build the file. | DASProtFail
"MaxAddrExtendedRegisters" is missing from the DASMBTCP.AAcfg file under <PLC name>. | The mandatory <MaxAddrExtendedRegisters> field is absent from the DeviceNode named <PLC Name> in the configuration file. | The entry is deleted from the file manually. | Use the DAServer Manager to rebuild the file. | DASProtFail
"MaxAddrHoldingRegisters" is missing from the DASMBTCP.AAcfg file under <PLC name>. | The mandatory <MaxAddrHoldingRegisters> field is absent from the DeviceNode named <PLC Name> in the configuration file. | The entry is deleted from the file manually. | Use the DAServer Manager to rebuild the file. | DASProtFail
"MaxAddrInputRegisters" is missing from the DASMBTCP.AAcfg file under <PLC name>. | The mandatory <MaxAddrInputRegisters> field is absent from the DeviceNode named <PLC Name> in the configuration file. | The entry is deleted from the file manually. | Use the DAServer Manager to rebuild the file. | DASProtFail
"MaxAddrReadCoils" is missing from the DASMBTCP.AAcfg file under <PLC name>. | The mandatory <MaxAddrReadCoils> field is absent from the DeviceNode named <PLC Name> in the configuration file. | The entry is deleted from the file manually. | Use the DAServer Manager to rebuild the file. | DASProtFail
"MaxAddrWriteCoils" is missing from the DASMBTCP.AAcfg file under <PLC name>. | The mandatory <MaxAddrWriteCoils> field is absent from the DeviceNode named <PLC Name> in the configuration file. | The entry is deleted from the file manually. | Use the DAServer Manager to rebuild the file. | DASProtFail
"MaxQueuedMsgs" is missing from the DASMBTCP.AAcfg file under <PLC name>. | The mandatory <MaxQueuedMsgs> field is absent from the DeviceNode named <PLC Name> in the configuration file. | The entry is deleted from the file manually. | Use the DAServer Manager to rebuild the file. | DASProtFail
"RegisterSize" is missing from the DASMBTCP.AAcfg file under <PLC name>. | The mandatory <RegisterSize> field is absent from the DeviceNode named <PLC Name> in the configuration file. | The entry is deleted from the file manually. | Use the DAServer Manager to rebuild the file. | DASProtFail
"RegisterType" is missing from the DASMBTCP.AAcfg file under <PLC name>. | The mandatory <RegisterType> field is absent from the DeviceNode named <PLC Name> in the configuration file. | The entry is deleted from the file manually. | Use the DAServer Manager to rebuild the file. | DASProtFail
"ReplyTimeout" is missing from the DASMBTCP.AAcfg file under <PLC name>." | The mandatory <ReplyTimeout> field is absent from the DeviceNode named <PLC Name> in the Configuration file. | The entry is deleted from the file manually. | Use the DAServer Manager to build the file. | DASProtFail
"StringVariableStyle" is missing from the DASMBTCP.AAcfg file under <PLC name>. | The mandatory <StringVariableStyle> field is absent from the DeviceNode named <PLC Name> in the configuration file. | The entry is deleted from the file manually. | Use the DAServer Manager to rebuild the file. | DASProtFail
"UnitID" is missing from the DASMBTCP.AAcfg file under <PLC name>. | The mandatory <UnitID> field is absent from the DeviceNode named <PLC Name> in the Configuration file. | The entry is deleted from the file manually. | Use the DAServer Manager to build the file. | DASProtFail
"UseLongConceptDataStruct" is missing from the DASMBTCP.AAcfg file under <PLC name>. | The mandatory <UseLongConceptDataStruct> field is absent from the DeviceNode named <PLC Name> in the configuration file. | The entry is deleted from the file manually. | Use the DAServer Manager to rebuild the file. | DASProtFail
"UseRealConceptDataStruct" is missing from the DASMBTCP.AAcfg file under <PLC name>. | The mandatory <UseRealConceptDataStruct> field is absent from the DeviceNode named <PLC Name> in the configuration file. | The entry is deleted from the file manually. | Use the DAServer Manager to rebuild the file. | DASProtFail
<PLC Name> does not allow extended register <Item name>. | The PLC does support extended registers. | The client defined an extended register and it is not supported. | Remove extended register from client. | DASProtFail
<PLC Name>: Clamping a write to <Item Name> - Received <client value>, writing <clamped value>. | The client wrote a value that exceeded the item limits. | The client wrote an invalid value. | The client must write a smaller value. | DASProtWarn
An invalid floating point value was returned by the PLC for item name <PLC Name>.<Item Name>. The value was converted to a negative 3.4e38. | Invalid floating-point number (Negative Infinity). Set the item value to Negative Infinity 3.4e+38. | The values read from the PLC registers cannot be converted to a valid float number. | Check the PLC for the value in the registers. | DASProtFail
An invalid floating point value was returned by the PLC for item name <PLC Name>.<Item Name>. The value was converted to a positive 3.4e38. | Invalid floating-point number (Positive Infinity). Set the item value to Positive Infinity 3.4e+38. | The values read from the PLC registers cannot be converted to a valid float number. | Check the PLC for the value in the registers. | DASProtFail
Connection to PLC <PLC name> at IP Address <Host name> closed, error code = <Error code>. | The PLC closed the connection. | The PLC may be having problems. | Check the PLC. | DASProtFail
CreateItem failed <PLC name>.<Item Name>. | The server encountered an invalid item name. | An invalid item name was defined by the client. | Correct the item name defined by the client. | DASProtFail
CreateItem failed due to invalid item name <PLC name>.<Item Name>. | The server encountered an invalid item name. | The client defined an invalid item name. | The client must define a valid item name. | DASProtFail
DASMBTCP failed to allocate memory. | The server could not allocate memory to continue operating. | Too many items have been defined by client or too many programs are running in this PC. | Stop unwanted programs, define less points by client, or add more memory to the PC. | DASProtFail
DASMBTCPPLCSocket::OnSocketRead(1) failed with errorcode <Error code>. | The PLC returned an error code on a request for data. | The PLC may be having problems. | Check the PLC. | DASProtFail
DASMBTCPPLCSocket::OnSocketRead(2) failed with errorcode <Error code>. | The PLC returned an error code on a request for data. | The PLC may be having problems. | Check the PLC. | DASProtFail
DASMBTCPPLCSocket::OnSocketRead(3) failed with errorcode <Error code>. | The PLC returned an error code on a request for data. | The PLC may be having problems. | Check the PLC. | DASProtFail
DASMBTCPPLCSocket::OnSocketWrite failed with errorcode <Error code>. | The PLC returned an error code on a write to PLC command. | The PLC may be having problems. | Check the PLC. | DASProtFail
Error in Reading from PLC for item <PLC name>.<Item Name>. | The PLC returned an exception. | The PLC may be having problems. | Check the PLC. | DASProtFail
Error in Writing to PLC for item <PLC name>.<Item Name>. | The PLC returned an exception. | The PLC may be having problems. | Check the PLC. | DASProtFail
Fail to Connect to PLC <PLC name> at IP Address <Host name>, error code = <Error code>. | The host name used in the IP Address field is invalid. | Invalid IP Address was configured. | A valid host name or IP Address must be configured. | DASProtFail
Failed to retrieve host information from a host database. Error code = <Error number>. | The host name used in the IP Address field is invalid. | Invalid IP Address was configured. | A valid host name or IP Address must be configured. | DASProtFail
Failed to split the message from ReceiveBuffer for Sequence Number <Sequence Number>, message possibly revoked. | A message returned by the PLC was not found in the requested messages queue. | The message may have timed out and was removed from the queue. | Increase the ReplyTimeout timer. | DASProtFail
Invalid value read for Mod 10000 register: <Item Name> on Node: <PLC Name>. Not a valid BCD-value. Convert to 2147483647. | The Modulo-10000 point value overflows. The value is clamped to 2147483647 to indicate overflow condition. | The maximum usable value represented in three Modulo-10000 registers is 2,147,483,646. | Check the PLC for the value in the registers. | DASProtWarn
Read value beyond limits for Mod 10000 register: <Item Name> on Node: <PLC Name>. Value clamped to 9999. | The Modulo-10000 point value overflows. The value is clamped to 9999. | The maximum usable value represented in one Modulo-10000 registers is 9999. | Check the PLC for the value in the registers. | DASProtWarn
recv() failed with errorcode <Error Code>. | The PLC responded with an error. | The PLC may be down or there is a communications problem. | Check the PLC and the communications link. | DASProtFail
Register Type is ’BCD’. Value clamped to 9999. | The Modulo-10000 point output value overflows. The value is clamped. | The Modulo-10000 value written to the PLC exceeded the max limit. | The client must write a smaller value. | DASProtWarn
Register Type is hot-configured to <Register type>. | The Register Type parameter was modified at run time. | The user modified the Register Type parameter while the server was running. | The Register Type parameter can be modified at run time. | DASProtWarn
Reply Timeout is hot-configured to <Reply timeout value>. | The Reply Timeout parameter was modified at run time. | The user modified the Reply Timeout parameter while the server was running. | The Reply Timeout parameter can be modified at run time. | DASProtWarn
String Variable Style is hot-configured to <String variable style>. | The String Variable Style parameter was modified at run time. | The user modified the String Variable Style parameter while the server was running. | The String Variable Style parameter can be modified at run time. | DASProtWarn
The item name <PLC Name>.<Item Name> is Invalid. It is non-numeric. | The item name is invalid. | A non-numeric register was defined where numeric was required. | Make register a numeric register. | DASProtFail
The item name <PLC Name>.<Item Name> is invalid. The bit number is invalid. | The item name has an invalid bit number. | The client defined an item with an invalid bit number. | The item bit number must be between 1 (one) and 16. | DASProtFail
The item name <PLC Name>.<Item Name> is invalid. The bit number is out of range. | The item name has an invalid bit number. | The client defined an item with an invalid bit number. | The item bit number must be between 1 (one) and 16. | DASProtFail
The item name <PLC Name>.<Item Name> is invalid. The data type is invalid. | The server encountered an invalid data type. | The client defined a data type not supported by the server. | The client must use a valid data type. | DASProtFail
The item name <PLC Name>.<Item Name> is invalid. The register range is invalid. | The Modulo-10000 item defined by the client exceeds the 3 register limit. | The client defined an invalid item name. | The client must use two or three registers when defining Modulo-10000 item names. | DASProtFail
The item name <PLC Name>.<Item Name> written string value <String Value> was truncated to <Truncated String Value>. Not enough registers were defined to hold the string value. | The server truncated the string being written to the PLC. | Not enough registers were defined by the client to hold the string data being written. | Add more registers or write less data. | DASProtFail
The PLC <PLC Name> message timed out (OnPLCReceiverTimeout), revoking message <Message ID>. | The server did not get a response from the PLC in the <ReplyTimeout> allotted time. | The PLC is offline or the data request has an invalid register number obtained from the configuration file. | Check PLC's network connection or configuration file. | DASProtFail
The PLC <PLC name> reported receiving an ILLEGAL FUNCTION code from the DAServer. PLC errorcode 01. | The function code received in the query is not 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. | Check the item definition and PLC configuration. | DASProtFail
The PLC <PLC name> reported receiving an ILLEGAL DATA ADDRESS from the DAServer. PLC errorcode 02. | The data address received in the query is not an allowable address for the slave. | The item address is out of the configured-slave address range, or 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. | Check the item definition and PLC configuration. | DASProtFail
The PLC <PLC name> reported receiving an ILLEGAL DATA VALUE from the DAServer. PLC errorcode 03. | A value contained in the query data field is not an allowable value for the slave. | This indicates a fault in the structure of the remainder of a complex request. For example, the implied length is incorrect. | Check the data value sent to the PLC. | DASProtFail
The PLC <PLC name> reported ILLEGAL RESPONSE LENGTH while working on the current request. PLC errorcode 04. | An unrecoverable error occurred while the slave was attempting to perform the requested action. | Indicates that the request as framed would generate a response whose size exceeds the available MODBUS data size. | Check the PLC. | DASProtFail
The PLC <PLC name> reported ACKNOWLEDGE while working on the current request. PLC errorcode 05. | The slave has accepted the request and is processing it, but a long duration of time will be required to do so. | This response is returned to prevent a timeout error from occurring in the client (or master). | Check the PLC. | DASProtFail
The PLC <PLC name> reported SLAVE DEVICE BUSY and cannot process the current request. PLC errorcode 06. | The slave is engaged in processing a long-duration program command. | The PLC program is taking too long to respond to the DAServer. | Check the PLC. | DASProtFail
The PLC <PLC name> reported NEGATIVE ACKNOWLEDGE and cannot process the current request. PLC errorcode 07. | The slave cannot perform the program function received in the query. | The communications data is corrupted or a DAServer problem is encountered. | Check the PLC. | DASProtFail
The PLC <PLC name> reported MEMORY PARITY ERROR while attempting to read extended memory. PLC errorcode 08. | The slave attempted to read extended memory, but detected a parity error in the memory. | The PLC may need to be serviced. | Check the PLC's extended memory. | DASProtFail
The PLC <PLC name> reported GATEWAY PATH UNAVAILABLE while attempting to read extended memory. PLC errorcode 0A. | Specialized use in conjunction with gateways; it 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. | Check the Bridge connected to the PLC. | DASProtFail
The PLC <PLC name> reported GATEWAY TARGET DEVICE FAILED TO RESPOND while attempting to read extended memory. PLC errorcode 0B. | Specialized use in conjunction with gateways; it indicates that no response was obtained from the target device. | It usually means that the device is not present on the network. | Check the Bridge connected to the PLC. | DASProtFail
The PLC <PLC name> reported unknown exception code. PLC errorcode <Error Number>. | The PLC returned an unknown error code. | The communications data is corrupted. | Check the PLC. | DASProtFail
The property RegisterSize value <Value> is invalid for PLC <PLC Name>. | The RegisterSize value in the configuration file is invalid. | The entry in the file was modified manually. | Use the DAServer Manager to rebuild the file. | DASProtFail
The register number for the item name <PLC name>.<Item Name> exceeds the configured PLC Maximum Addressable Registers. | The register defined by the client is out of range compared to the maximum addressable register number. | The client defined an invalid register number. | Client must use a register number less than or equal to the configured maximum addressable register. | DASProtFail
The socket is marked as nonblocking and the connection cannot be completed immediately for host <Host name>. | The connection to the PLC failed. | The PLC or the network may be having problems. | Check the PLC or the network. | DASProtFail
The write Item <Item Name> is invalid. The item is a read only item. | The register being written to is a read-only register. | The client is writing to a read-only register. | Select a different register. | DASProtFail
Write attempt beyond limits for Mod 10000 register: <Item Name> on Node: <PLC Name>. Value clamped to <new value>. | The output value was clamped to a predefined value because the output value exceeded certain limits. | The client wrote a value to the PLC that was too large for the register. | The client must write a smaller value. | DASProtFail

Related Topics

Server-Specific Error Codes


Server-Specific Error Codes

There are two server-specific error codes, shown in the following table, that augment those provided by the DAS Toolkit.

Error Code | Logger Message | Log Flag
-10001 | PLC not connected | DASProtFail
-10002 | PLC timeout | DASProtFail

Related Topics

DAServer Error Messages


Reference

For more information, click on a Help topic.

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.

Related Topics

Component Environments

DAServers

Plug-ins

DAS Engine

PLC Protocol Layer


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

Each physical part of a DAServer is comprised of a set of .exe and/or .dll modules. Wonderware provides the Plug-ins and the DAS Engine. The DAS Toolkit user creates the PLC Protocol Layer (DAServer-specific) modules. All three sets of modules are required for a fully functioning DAServer.

Related Topics

Plug-ins

DAS Engine

PLC Protocol Layer


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.

Related Topics

DAS Engine

PLC Protocol Layer


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.

Related Topics

Plug-ins

PLC Protocol Layer


PLC Protocol Layer

The PLC Protocol Layer provides a protocol-translation function for specific hardware, such as ModBus TCP/IP Ethernet; and it serves as an interface between the DAS Engine and the hardware.

Note Reads/writes of complete arrays will not be supported.

Related Topics

Plug-ins

DAS Engine


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.

Related Topics

DAServer Architecture


Supported DASMBTCP Hardware and Firmware

The following table lists the Modbus hardware and firmware supported by the MBTCP DAServer.

Legend | Model | Description | Firmware
TSX Quantum | 140 CPU 21304 | Controller | Exec ID 0871 HID 0405 Rev 02.10
 | 140 NOE 771 00 | Ethernet TCP/IP Option Module |
 | 140 NOE 21100 | Ethernet TCP/IP Module |
TSX Momentum |  | Controller |
 | 170 ENT 110 01 | Ethernet TCP/IP Module |
TSX Premium | TSX P57 402 | Controller |
 | TSX P57 4823 | Controller |
 | TSX ETY 110 | EtherNet TCP/IP Module |
TSX Momentum (RS232) |  | Controller |
 | 171 CCC 980 20 | Ethernet TCP/IP Module and Modbus Ports |
TSX Momentum (RS485) |  | Controller |
 | 171 CCC 980 20 | Ethernet TCP/IP Module and Modbus Ports |
Compact 984 (RS232, 5-Digit Addressing) | PC-A984-145 | Controller | Exec ID 084E Model A145
Compact 984 (RS232, 6-Digit Addressing) | PC-E984-265 | Controller |
Modicon Micro (RS232) | 110 CPU 311 01 | Controller | Exec ID 0863 HID 0701 Rev 01.10 Model 311/01
Generic Modbus Controller (4-Digit, 5-Digit, 6-Digit) |  | Generic Modbus Controller. Controller must conform to the Modbus "Application Protocol specifications." | The Generic Modbus controller will be simulated with the Modbus Simulator version 1.05 developed by Wingpath Ltd.
NR&D Bridge | Pen-T | Ethernet-to-Serial Bridge |
Modbus Bridge | 174CEV30010 174CEV30020 | Bridge |


The Modbus Protocol

This appendix describes the Modbus codes, TCP Port, and Data Types that are supported by the MBTCP DAServer.

For more information, click on a Help topic.

Contents
  • Controller Function Codes
  • Modbus Exception Codes
  • TCP Port
  • Data Types


Controller Function Codes

The MBTCP DAServer uses function codes to communicate with the various controllers supporting the Modbus protocol. The implementation for the MBTCP DAServer uses the document, " Open Modbus/TCP Specification," Release 1.1, dated December 6, 2002 as a reference.

These function codes and their descriptions are listed in the following table.

Note In communicating with the Generic Modbus PLCs, the MBTCP DAServer acts as a master and sends out the function codes to the PLCs.

Code | Name | Description
01 (0x01) | Read Coils | Reads the ON/OFF status of discrete outputs (0X references, coils) in the slave.
02 (0x02) | Read Discrete Inputs | Reads the ON/OFF status of discrete inputs (1XXXXX references) in the slave.
03 (0x03) | Read Holding Registers | Reads the binary contents of holding registers (4XXXXX references) in the slave.
04 (0x04) | Read Input Registers | Reads the binary contents of input registers (3XXXXX references) in the slave.
05 (0x05) | Write Single Coil | Forces a single coil (0X reference) to either ON or OFF.
06 (0x06) | Write Single Register | Presets a value into a single holding register (4XXXXX reference).
15 (0x0F) | Write Multiple Coils | Forces each coil (0XXXXX reference) in a sequence of coils to either ON or OFF.
16 (0x10) | Write Multiple Registers | Presets values into a sequence of holding registers (4XXXXX references).
20 (0x14) | Read General Reference | Returns the contents of registers in the Extended Memory file (6XXXXX) references.
21 (0x15) | Write General Reference | Writes the contents of registers in the Extended Memory file (6XXXXX) references.
22 (0x16) | Mask Write Holding Register | Modifies the contents of a specified (4XXXXX reference) holding register using a combination of an AND mask, an OR mask, and the register’s current contents. The function can be used to set or clear individual bits in the register.

Related Topics

Modbus Exception Codes

TCP Port

Data Types


Modbus Exception Codes

Additionally, there are exception codes generated by Modbus. The accompanying table shows these exceptions and their explanations.

Exception Code (Hex) | Name | Explanation
01 | ILLEGAL FUNCTION | The function code received in the query is not 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.
02 | ILLEGAL DATA ADDRESS | The data address received in the query is not an 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 VALUE | A value contained in the query data field is not 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 RESPONSE LENGTH | Indicates that the request as framed would generate a response whose size exceeds the available MODBUS data size. Used only by functions generating a multi-part response, such as functions 20 and 21.
05 | ACKNOWLEDGE | Specialized use in conjunction with programming commands.
06 | SLAVE DEVICE BUSY | Specialized use in conjunction with programming commands.
07 | NEGATIVE ACKNOWLEDGE | Specialized use in conjunction with programming commands.
08 | MEMORY PARITY ERROR | Specialized use in conjunction with function codes 20 and 21 to indicate that the extended file area failed to pass a consistency check.
0A | GATEWAY PATH UNAVAILABLE | Specialized use in conjunction with gateways; it 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 TARGET DEVICE FAILED TO RESPOND | Specialized use in conjunction with gateways; it indicates that no response was obtained from the target device. It usually means that the device is not present on the network.

Related Topics

Controller Function Codes

TCP Port

Data Types


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.

Related Topics

Controller Function Codes

Modbus Exception Codes

Data Types


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.

Related Topics

Controller Function Codes

Modbus Exception Codes

TCP Port


APPENDIX A

© 2007, 2010 Invensys Systems, Inc. All Rights Reserved.


APPENDIX B

© 2007, 2010 Invensys Systems, Inc. All Rights Reserved.


CHAPTER 1

© 2007, 2010 Invensys Systems, Inc. All Rights Reserved.


CHAPTER 2

© 2007, 2010 Invensys Systems, Inc. All Rights Reserved.


CHAPTER 3

© 2007, 2010 Invensys Systems, Inc. All Rights Reserved.


CHAPTER 4

© 2007, 2010 Invensys Systems, Inc. All Rights Reserved.


CHAPTER 5

© 2007, 2010 Invensys Systems, Inc. All Rights Reserved.


CHAPTER 6

© 2007, 2010 Invensys Systems, Inc. All Rights Reserved.


CHAPTER 7

© 2007, 2010 Invensys Systems, Inc. All Rights Reserved.


CHAPTER 8

© 2007, 2010 Invensys Systems, Inc. All Rights Reserved.


CHAPTER 9

© 2007, 2010 Invensys Systems, Inc. All Rights Reserved.


CHAPTER 10

© 2007, 2010 Invensys Systems, Inc. All Rights Reserved.