ControlLogix OPC Driver Agent Help
ControlLogix OPC Driver Agent Help
OPC Driver
Agent Help
OPC Server Driver Agent for
ControlLogix Controllers
Version 7.1
ControlLogix OPC Driver Agent Help
TABLE OF CONTENTS
Introduction ........................................................................................................5
Compatibility and Compliance ................................................................................... 5
What Should I Do Next?......................................................................................6
Learn How the OPC Server Works ............................................................................. 6
Read a Quick-Start Guide ......................................................................................... 6
Get Detailed Information on the Configuration Editors ............................................... 6
Verify That It’s Working or Troubleshoot a Problem ................................................... 6
Print a Copy of This Document ................................................................................. 6
Contact Technical Support ........................................................................................ 6
Theory of Operation ............................................................................................7
Main Server Features ............................................................................................... 8
Network Connections Tree ....................................................................................... 9
Network Automatic Configuration .......................................................................... 9
Address Space Tree ................................................................................................. 9
Access Paths ...................................................................................................... 10
Unsolicited Message Filters ................................................................................. 10
Data Items ........................................................................................................ 11
Conversions Tree ................................................................................................... 11
Simulation Signals Tree .......................................................................................... 11
Alarm Definitions Tree ........................................................................................... 11
Quick-Start Guide ..............................................................................................12
Configuration Editor Reference ........................................................................13
Network Connections ............................................................................................. 14
Creating and Deleting ......................................................................................... 14
Editing the ControlLogix Driver Agent .................................................................. 17
Editing Network Connections............................................................................... 18
Editing the ControlLogix Driver Agent Device ....................................................... 22
Editing Network Nodes ....................................................................................... 25
Address Space ....................................................................................................... 30
Device Folders ................................................................................................... 31
Devices .............................................................................................................. 34
Folders .............................................................................................................. 42
Data Items ........................................................................................................ 45
Conversions .......................................................................................................... 53
Simulation Signals ................................................................................................. 54
Alarm Definitions ................................................................................................... 54
Saving and Undoing Configuration Changes ............................................................ 55
Configuration Import/Export ................................................................................... 55
Options ................................................................................................................. 55
Validation & Troubleshooting ...........................................................................56
Data Monitor ......................................................................................................... 56
Cyberlogic OPC Client ............................................................................................ 56
Performance Monitor ............................................................................................. 56
DirectAccess .......................................................................................................... 56
Event Viewer ......................................................................................................... 62
ControlLogix Driver Agent Messages ....................................................................... 62
Frequently Asked Questions ................................................................................... 63
INTRODUCTION
The Cyberlogic OPC Server provides OPC Data Access, Alarms & Events and XML Data
Access functions, and has a modular structure that supports a variety of industrial
devices and communication networks. The various communication subsystems, which we
call driver agents, are plug-ins that you can easily add as required. As a result, the server
maintains a set of common features, but has the flexibility to allow additional features as
required by the specific driver agent.
The ControlLogix Driver Agent is one of these plug-in modules. It allows the Cyberlogic
OPC Server to communicate to the Logix family of Programmable Automation Controllers,
such as ControlLogix, CompactLogix and FlexLogix, over Ethernet, Data Highway Plus
and serial DF1 connections.
This document includes only the information that is specific to the ControlLogix Driver
Note
Agent. If you need help connecting to PLC-2, PLC-3, PLC-5 and SLC-500 controllers,
refer to the DHX OPC Driver Agent Help. For information on the common features of
the Cyberlogic OPC Server, refer to the Cyberlogic OPC Server Help.
Cyberlogic OPC products provide full compliance with the OPC Foundation specifications
for:
Data Access 3.0, 2.05a and 1.0a
Alarms & Events 1.1
XML Data Access 1.0
Data Access Automation 2.02
These products are tested for compliance to the OPC specifications using the latest test
software from the OPC Foundation. All Cyberlogic OPC products are certified for
compliance by the OPC Foundation's Independent Testing Laboratory. In addition, they
are tested annually for interoperability with other OPC products at the OPC Foundation’s
Interoperability Workshops.
This document describes only the features specific to the ControlLogix Driver Agent. For
information on the common features of the Cyberlogic OPC Server, refer to the
Cyberlogic OPC Server Help.
THEORY OF OPERATION
This section will familiarize you with the main features of the Cyberlogic OPC Server as
they relate to the ControlLogix Driver Agent. Refer to the Cyberlogic OPC Server Help for
a full discussion of the common features of the Cyberlogic OPC Server. If you are new to
OPC or the Cyberlogic OPC Server, we strongly recommend that you read the OPC
Tutorial first. You will find it in the Help section of your product installation.
OPC servers obtain data from field components and present it, in a standard way, to OPC
client applications. The basic functionality of the OPC server is the same for all types of
field components and networks, but some of the communication and data-handling will
vary from one family to another. The driver agent is a plug-in software module that
accommodates these specific differences.
The ControlLogix Driver Agent handles communications over Data Highway Plus,
Ethernet and serial DF1. It also provides the means to obtain and pass data from all
Logix family Programmable Automation Controllers.
The remainder of this theory section will discuss the Main Server Features you will find in
the Cyberlogic OPC Server, as they relate to Allen-Bradley communications.
When you open the Cyberlogic OPC Server Configuration editor, you will find five main
trees, representing the five main areas that you will configure. These are:
The Address Space Tree is required for most configurations. Here you will
create and organize the data items that will be available to the client
application, and you will define how they are updated with new information.
The Conversions Tree is optional. In it, you can define formulas that can be
used to convert raw data values obtained from the field equipment into a
form that is more useful to the client. For example, you can change a
transducer’s voltage value into a pressure value in psi. Refer to the
Cyberlogic OPC Server Help for a full discussion of this tree.
The Simulation Signals Tree is optional. If you want to be able to use
simulated data item values instead of real values, you can create various
types of simulated data functions in this tree. Simulations are often useful for
troubleshooting client applications. Refer to the Cyberlogic OPC Server Help
for a full discussion of this tree.
The Alarm Definitions Tree is another optional tree. It is used when you will
interface to Alarms & Events clients. This tree allows you to define the
desired alarm conditions and specify what information should be passed as
they occur and clear. Refer to the Cyberlogic OPC Server Help for a full
discussion of this tree.
The Network Connections Tree is required for all configurations. This is
where you select the networks and interface devices you will use, and
configure each of the field components as nodes on those networks.
The following sections describe these operational features of the server. Because the
Network Connections Tree is normally configured first, we will start there.
The ControlLogix Driver Agent uses various means for connecting to its devices or
networks. For a DF1 connection, a serial COM port serves that purpose. In other cases, a
Data Highway Plus or Ethernet adapter card is used. The Cyberlogic OPC Server refers to
all of these using the generic term “network connection”. The ControlLogix Driver Agent
uses the Cyberlogic DHX family of drivers for low-level communication services to all of
its network connections. Each network connection in the Cyberlogic OPC Server
corresponds to a CLX device in the driver configuration, and contains all of the
parameters for these devices.
The server refers to each physical device on the network as a “network node”. A typical
network node might be a Logix controller on an Ethernet network. The server accesses
the network nodes through their corresponding network connection. The network node
configuration contains the communication parameters for the physical node device.
The ControlLogix Driver Agent does not support the network automatic configuration
feature. You must manually configure the ControlLogix network connections and network
nodes.
The address space tree allows you to organize the data items in a way that makes sense
for your project. You can group and name related data items regardless of where they
exist in the physical devices.
The branches of the tree are device folders, devices and folders. These establish how the
data items are organized. The data items themselves are the “leaves” of the tree. You
will begin construction of the tree at the address space root folder, which may contain
device folders and devices.
Access Paths
An access path is a logical connection to a network node. These connections link the data
items in an address space device with their values in a physical device. They tell the
server where and how to obtain these values during solicited data reads and writes. The
ControlLogix Driver Agent requires that at least one access path is configured.
Each device in the server’s address space can have a list of associated access paths. If
there are multiple access paths, the one at the top of the list is the primary access path,
and the rest are backups.
In addition to the more common solicited updates, the Cyberlogic OPC Server supports
unsolicited data updates for some driver agents. Unsolicited message filters are then
used to guarantee that unsolicited messages are accepted only from trusted sources.
However, the ControlLogix Driver Agent does not support unsolicited messaging, so
these filters are not available.
Data Items
A data item represents a register in the physical device, a range of registers, a bit inside
a register or a range of bits. The ControlLogix Driver Agent supports all ControlLogix data
types. For more information on the supported data types, refer to Appendix A: PLC Tag
Names and Appendix B: Predefined ControlLogix Structures.
Conversions Tree
Refer to the Cyberlogic OPC Server Help for a full discussion of this tree.
QUICK-START GUIDE
Before you can use the OPC server, you must configure it by using the OPC Server
Configuration Editor. Every server requires configuration of the Network Connections
tree, and most users will want to configure the Address Space tree. The remaining trees
(Conversions, Simulation Signals and Alarm Definitions) are optional features used by
some systems.
For a step-by-step guide through a typical configuration session, refer to the Cyberlogic
OPC Server Help. After you have created the basic configuration using that procedure,
the Configuration Editor Reference will explain the details of how to edit your
configuration.
This section provides a detailed description of each of the configuration editor features. If
you are a new user and want a procedure to guide you through a typical configuration
session, refer to the Quick-Start Guide in the Cyberlogic OPC Server Help.
The Cyberlogic OPC Server Configuration Editor allows the user to create and modify the
configuration file used by the runtime module. It is needed only to generate
configuration files and is not otherwise required for the operation of the runtime module.
After you edit the configuration, you must open the File menu and select Save &
Caution!
Update Server, or click the Save & Update Server toolbar button, for the changes
you have made to take effect. Otherwise, the server will still be running with the old
configuration.
To launch the editor from the Windows Start menu, navigate to the Cyberlogic DHX
OPC Server Suite or Cyberlogic DHX OPC Premier Suite, then open the
Configuration submenu and select the OPC Server menu item.
The left pane of the main workspace window includes the five main configuration trees.
Two of these, the Network Connections and Address Space trees, are described in detail
here, followed by a section on Saving and Undoing Configuration Changes.
For a discussion of the Conversions, Simulation Signals and Alarm Definitions trees and
other important configuration topics including Configuration Import/Export, Editor
Options and Connecting to OPC Client Software, please refer to the Cyberlogic OPC
Server Help.
Network Connections
The ControlLogix Driver Agent is a plug-in software module that permits the Cyberlogic
OPC Server to communicate with the Logix family of Programmable Automation
Controllers. You will set up your OPC Server to do this by configuring appropriate
network connections and network nodes in the Network Connections Tree.
The ControlLogix Driver Agent uses the DHX drivers for its low-level communication
services. A network connection in the OPC server corresponds to a CLX device in the
driver architecture. A CLX device may relate to a physical network card, such as a
1784-PKTX, or an abstract object, such as an Ethernet CLX device, which behaves like a
network card. A network node in the OPC server corresponds to a Logix controller that is
connected to the OPC server over one of the networks.
In the Cyberlogic OPC Server, there are two ways to create network connections and
network nodes: automatic and manual. However, the ControlLogix Driver Agent requires
manual configuration.
After you edit the configuration, you must open the File menu and select Save &
Caution!
Update Server, or click the Save & Update Server toolbar button, for the changes
you have made to take effect. Otherwise, the server will still be running with the old
configuration.
The editor will create the proper driver agent and network connection folders.
You can now right-click on the network connection and select New, and then Network
Node to manually create a network node.
Deleting
To delete the ControlLogix Driver Agent folder, a network connection or a network node,
select it and press the Delete key, or right-click on it and select Delete from the
context menu.
Deleting the ControlLogix Driver Agent folder will also delete all ControlLogix network
connections and network nodes.
Deleting a ControlLogix network connection will also delete all of its network nodes.
You cannot delete a network node that is used as part of an access path for a device.
Note
If you wish to delete a network node that is in use, right-click on it and select Cross-
References to obtain a list of devices that use the network node. You must then edit
those devices to remove the access path that contains the network node you want to
delete.
Once you have created a ControlLogix network connection, simply click on the
ControlLogix (Allen-Bradley) folder, and the configuration screen will appear on the
right side of the editor.
The ControlLogix Driver Agent configuration has one tab, called General.
After you edit the configuration, you must open the File menu and select Save &
Caution!
Update Server, or click the Save & Update Server toolbar button, for the changes
you have made to take effect. Otherwise, the server will still be running with the old
configuration.
General Tab
Description
This optional field can be used to describe the device. It can be up to 255 characters
long.
Disable Writes
If this box is checked, the server will not write data to any of the network nodes that
connect through this driver agent.
DirectAccess
If this box is checked, the user is permitted to configure DirectAccess to the network
nodes that connect through this driver agent.
If this box is checked, the server will not write data via DirectAccess to any of the
network nodes that connect through this driver agent. This does not affect writes
through configured data items.
Once you have created a ControlLogix network connection, simply select it and the
configuration screen will appear on the right side of the editor.
The ControlLogix network connection configuration has two tabs, General and Settings.
After you edit the configuration, you must open the File menu and select Save &
Caution!
Update Server, or click the Save & Update Server toolbar button, for the changes
you have made to take effect. Otherwise, the server will still be running with the old
configuration.
General Tab
Name
The name identifies this network connection. It can be up to 50 characters long, may
contain spaces, but must not begin with a space. It also must not contain any periods.
Description
This optional field further describes the network connection. It can be up to 255
characters long.
Disable Writes
If this box is checked, the server will not write data to any of the nodes on this network
connection.
If the Disable Writes checkbox is grayed-out, it indicates that writes have already been
Note
disabled at a higher level.
DirectAccess
If this box is checked, the user is permitted to configure DirectAccess to the nodes on
this network connection. The default state is checked, allowing DirectAccess.
When DirectAccess is enabled, a _Status folder will appear under this network connection
in the client browser window. For more information on this folder and the status items it
contains, refer to the Cyberlogic OPC Server Help.
If this box is checked, the server will not write data via DirectAccess to any of the nodes
on this network connection. This does not affect writes through configured data items.
The default state is checked, disabling DirectAccess writes.
Protocol
Click the drop-down button and select the specific protocol used by this network.
The choices are ControlLogix over Ethernet and ControlLogix over DHX.
Settings Tab
Click the drop-down button to select the CLX device this network connection will use to
communicate.
The data field will tell you if the device is not configured or if it is configured for a
different protocol than you have selected for the network connection.
Configure…
Click this button to run the DHX Driver Configuration Editor, allowing you to modify the
configuration of the CLX devices and to create new ones. For more information on
configuring CLX devices, refer to Editing the ControlLogix Driver Agent Device.
The server will try to open the CLX device shown in the Map To ControlLogix Driver
Agent Device field. If it fails, it will retry repeatedly until it succeeds. This field specifies
the interval at which the server will attempt these retries.
The valid range for the Open Retry Interval is 1-60 seconds, and the default is 1 second.
This value defines the maximum number of simultaneous transactions that the server will
allow for the nodes on this network connection. The number of concurrent requests may
also be limited for each network node on its Optimizations Tab.
The optimum value to use depends upon the network type. If the messages will pass
through a bridge or other device to a different type of network, then the slowest network
in the path to the network node should dictate the value to use.
Lower values reduce the server’s resource requirements, but may reduce performance.
Caution!
Selecting excessively high values consumes more system resources, but typically does
not improve the performance of the server, and may actually harm performance.
When you click the Configure… button on the Settings tab, the DHX Driver Configuration
editor opens.
The CLX Devices tab lists all of the ControlLogix Driver Agent devices and allows you to
add new devices. Select the desired CLX device and click Edit. The appropriate editor
dialog appears.
Settings Tab
The two editors are similar, so we will use the CLX over DHX Configuration Editor as an
example, noting where the Ethernet CLX Editor differs.
Name
Description
DHX Device
For CLX Over DHX devices, you must select the DHX device that the CLX device will use.
This selection sets the maximum number of solicited channels the OPC Server will use for
the device. The optimum value to use depends upon the network type. Use the following
table as a guideline when selecting this value.
Selecting values above the recommended range consumes more system resources but
Caution!
typically does not improve the performance of the Server.
Automatic
When this option is selected, the CLX Driver will start when Windows boots.
Manual
When this option is selected, the CLX Driver will not start when Windows boots, but you
can control it manually using the Start and Stop buttons.
Disabled
When this option is selected, the CLX Driver will not run.
Start
In Automatic or Manual mode, click this button to start the CLX Driver.
Stop
In Automatic or Manual mode, click this button to stop the CLX Driver.
Driver Status
This tells you whether or not the CLX Driver is running, stopped, starting or stopping.
Once you have created a ControlLogix network node, simply select it and the
configuration screen will appear on the right side of the editor.
The ControlLogix network node configuration has four tabs, General, Settings, Health
Watchdog and Optimizations.
After you edit the configuration, you must open the File menu and select Save &
Caution!
Update Server, or click the Save & Update Server toolbar button, for the changes
you have made to take effect. Otherwise, the server will still be running with the old
configuration.
General Tab
Name
The name identifies the network node. It can be up to 50 characters long, may contain
spaces, but must not begin with a space. It also may not contain any periods.
Description
This optional field further describes the network node. It can be up to 255 characters
long.
Disable Writes
If this box is checked, the server will not write data to this node. The default state is
unchecked, enabling writes.
If the Disable Writes checkbox is grayed-out, it indicates that writes have already been
Note
disabled at a higher level.
DirectAccess
If this box is checked, the user is permitted to configure DirectAccess to this node. The
default state is checked, allowing DirectAccess.
When DirectAccess is enabled, a _Status folder will appear under this network node in
the client browser window. For more information on this folder and the status items it
contains, refer to the Cyberlogic OPC Server Help.
If this box is checked, the server will not write data via DirectAccess to this node. This
does not affect writes through configured data items. The default state is checked,
disabling DirectAccess writes.
Settings Tab
Processor
This field identifies the physical device type of this network node. You may select a
specific PLC model or a PLC family. Choose a family if you are unsure of the exact model
in use. The server uses this information to optimize network communications.
CIP Path
This is the node’s network address. The interpretation of this address varies according to
the type of network. For more information about CIP paths, refer to Appendix C: CIP
Paths. The CIP Path Wizard will help you to create the correct CIP path for your
installation.
Click this path to launch the CIP Path Wizard. It will guide you through the configuration
of a new CIP path.
Timeout
This is the amount of time that the server will wait to receive a reply to a command
message. If the server does not receive a reply within that interval, it cancels the
transaction and marks it as timed out. This interval is specified in seconds.
Retries
This is the number of times the server will reattempt each transaction that fails. The
Health Watchdog uses this value to determine when to mark the node as unhealthy.
Refer to the Health Watchdog Tab section for more information on this feature.
Each network node monitors the health of the connection to its physical device. If there
is no communication for a long time, the server sends a diagnostic request to the
physical device to see if it can still communicate. If it cannot, the server will re-check the
connection until communication is reestablished. Once a failed network connection is
reestablished, the server continues to exercise the connection until it is satisfied that the
connection is reliable. After this, the node is marked as healthy again.
The Health Watchdog tab allows you to configure the time intervals associated with
these tests.
On Line Interval
If there is no traffic to a healthy node for the specified length of time, the server will
send a status request to the node to verify that it is still online. Selecting None disables
the on-line health monitoring.
If you are using a slow network and you are not using redundant access paths, you
might want to disable health monitoring to reduce some of the network traffic. In that
case, the OPC server will always report the status of the node as healthy.
Once communication to a node has failed, the server will send status requests to the
node at this interval to determine whether it can communicate.
Once the server reestablishes communication to an unhealthy node, it waits for the
communication to stay active for this length of time before considering the node to be
healthy. The server then returns the node to service.
Optimizations Tab
This value defines the maximum number of simultaneous transactions that the server will
allow for this node. The number of concurrent requests is also limited for the network
connection on its Settings Tab.
Lower values reduce the resource requirements but may reduce performance. Higher
values use more resources, but typically improve performance. However, an excessively
high setting may reduce performance or overload the processor, possibly causing loss of
communication. Setting this selection to Unlimited causes the node to use the network
connection’s Maximum Network Requests value.
Setting this value to a lower number may prevent overloading the PLC with messages
Note
and allow better operation of other applications, such as PLC programming software,
that access the same PLC.
Address Space
The Address Space Tree describes the hierarchical address structure of the Cyberlogic
OPC Server. The branches of the tree are Device Folders, Devices and Folders. Its
“leaves” are Data Items. The intent of this structure is to permit the user to organize the
data items into logical groups.
Device Folders
A device folder groups devices and other device folders. You can place a device folder
directly under the Address Space root folder or under another device folder, up to four
levels deep.
After you edit the configuration, you must open the File menu and select Save &
Caution!
Update Server, or click the Save & Update Server toolbar button, for the changes
you have made to take effect. Otherwise, the server will still be running with the old
configuration.
Right-click on the Address Space root folder or an existing device folder. Select New and
then Device Folder from the context menu.
To speed up the creation of similarly-configured device folders, you can create multiple
device folders in a single operation by duplicating an existing one. To do this, right-click
on an existing device folder and select Duplicate… from the context menu.
The above dialog box opens. You must specify how the duplicates are to be named by
entering values for the Base Text, First Number, Numeric Places and Number
Increment fields. To generate names for the duplicated device folders, the editor
begins with the base text and appends a number to it. The first duplicate uses the
selected First Number value with the specified number of digits. This number is then
incremented by the specified number for each of the remaining duplicates.
As an example, if Numeric Places is 3 and First Number is 2, the number 002 will be
appended to the base text.
Use the Number Of Duplicates field to specify the number of device folders you wish
to create. If you want to duplicate all branches within the original device folder, check
the Including Subtree checkbox.
To delete an existing device folder, select it and press the Delete key, or right-click on
the device folder and select Delete from the context menu.
General Tab
Name
The Name identifies this device folder. It can be up to 50 characters long, may contain
spaces, but must not begin with a space. It also may not contain any periods.
Description
This optional field further describes the device folder. It can be up to 255 characters
long.
Simulate
Checking this box enables data simulation for all data items found at this level or below.
This provides a quick way to switch between real and simulated data for a large number
of data items. Refer to the Cyberlogic OPC Server Help for a full discussion about
simulating data.
If the Simulate checkbox is grayed-out, it indicates that simulation has already been
Note
selected at a higher level.
Disable Writes
Checking this box disables write requests for all data items found at this level or below.
By default, this box is not checked and writes are enabled.
If the Disable Writes checkbox is grayed-out, it indicates that writes have already been
Note
disabled a higher level.
Devices
A device in the address space represents a source of data to which the server
communicates. This data source may be a PLC, a group of PLCs or other physical data
sources. You can place devices directly in the Address Space root folder or in a device
folder. In addition to its device-specific functionality, a device operates as a folder. It can
contain folders and data items.
After you edit the configuration, you must open the File menu and select Save &
Caution!
Update Server, or click the Save & Update Server toolbar button, for the changes
you have made to take effect. Otherwise, the server will still be running with the old
configuration.
Right-click on the Address Space root folder or an existing device folder. Select New and
then Device from the context menu.
Duplicating a Device
To speed up the creation of similarly-configured devices, you can create multiple devices
in a single operation by duplicating an existing one. To do this, right-click on an existing
device and select Duplicate… from the context menu.
The above dialog box opens. You must specify how the duplicates are to be named by
entering values for the Base Text, First Number, Numeric Places and Number
Increment fields. To generate names for the duplicated devices, the editor begins with
the base text and appends a number to it. The first duplicate uses the selected First
Number value with the specified number of digits. This number is then incremented by
the specified number for each of the remaining duplicates.
As an example, if Numeric Places is 3 and First Number is 2, the number 002 will be
appended to the base text.
Use the Number Of Duplicates field to specify the number of devices you wish to
create. If you want to duplicate all branches within the original device, check the
Including Subtree checkbox.
Deleting a Device
To delete an existing device, select it and press the Delete key, or right-click on the
device and select Delete from the context menu.
General Tab
Name
The name identifies the device. It can be up to 50 characters long, may contain spaces,
but must not begin with a space. It also may not contain any periods.
Description
This optional field further describes the device. It can be up to 255 characters long.
Simulate
Checking this box enables data simulation for all data items found at this level or below.
This provides a quick way to switch between real and simulated data for a large number
of data items. Refer to the Cyberlogic OPC Server Help for a full discussion about
simulating data.
If the Simulate checkbox is grayed-out, it indicates that simulation has already been
Note
selected at a higher level.
Disable Writes
Checking this box disables write requests for all data items found at this level or below.
By default, this box is not checked and writes are enabled.
If the Disable Writes checkbox is grayed-out, it indicates that writes have already been
Note
disabled a higher level.
DirectImport
Click this button to import data items from one of the controllers listed on the Access
Paths Tab.
After you choose the controller you wish to import from, the DirectImport window will
show you all of the data items in the controller, with arrays and structures arranged in
folders. You can browse through it, using the check boxes to select the items you wish to
import.
The items you selected will be imported into the Address Space tree, ready for use.
DirectImport will try to arrange the folders and data items using the same structure as
Caution!
they have in the controller from which you are importing.
However, the Cyberlogic OPC Server allows no more than four levels of folders within a
device. If the DirectImport would result in more than four levels of folders, then the
imported structure will be flattened to fit it into the available number of levels.
DirectAccess
If this box is checked, the user is permitted to configure DirectAccess to the nodes
associated with this device. The default state is checked, allowing DirectAccess.
When DirectAccess is enabled, a _Status folder will appear under this device in the client
browser window. For more information on this folder and the status items it contains,
refer to the Cyberlogic OPC Server Help.
If this box is checked, the server will not write data via DirectAccess to any of the nodes
associated with this device. This does not affect writes through configured data items.
The default state is checked, disabling DirectAccess writes.
Each device has an associated list of access paths. Depending upon your network
configuration, the access paths may include multiple paths to the same PLC, paths to
different PLCs, or some combination of the two. The access path at the top of the list is
the primary access path; the rest are backups. If the current access path fails or is
disabled, the server switches to the highest access path that is available and enabled.
If you wish to use DirectImport, you must first configure one or more access paths for
Note
the device.
Enable Checkbox
To the left of each access path is a checkbox that, when checked, enables the access
path. The server uses only enabled access paths.
Network Connection
The Network Connection column displays the network connection associated with each of
the access paths.
Network Node
The Network Node column displays the network node associated with each of the access
paths.
The server assigns priority to the access paths from top to bottom, with the access path
at the top having the highest priority. Use the up and down arrows on the right side of
the list box to adjust the priorities as needed.
Information
If dynamic enable is configured for the highlighted access path, the enable data item will
be shown here. In addition, if a description was entered for the access path, it will be
displayed here.
This information is edited on the Access Path dialog box, described below.
New...
Click the New… button (or right-click inside the list window and select New… from the
context menu) to create a new access path. The Access Path dialog box opens.
If you check the Dynamic Enable box, you can specify an Item ID that will be used to
control the enable status of the access path. Enter a data item or DirectAccess item ID in
the box, or click the browse button to the right of it to browse for the desired item. You
can use a Math and Logic item, if you wish. The Sampling Interval allows you to specify
how often the enable item should be checked.
If the value of the enable item is false (Boolean false or a register value of 0), then the
access path will be disabled. If the value is true (Boolean true or a nonzero register
value), then the access path will be enabled.
Edit...
To modify an existing access path, select it and click the Edit… button (or right-click on
the access path and select Edit... from the context menu). The Access Path dialog box
opens.
Modify the current selections and click OK when you are done.
Delete
To delete an existing access path, select it and click the Delete button (or right-click and
select Delete from the context menu).
Folders
A folder logically groups data items and other folders. You can place folders directly
under devices or under other folders, up to four levels deep.
After you edit the configuration, you must open the File menu and select Save &
Caution!
Update Server, or click the Save & Update Server toolbar button, for the changes
you have made to take effect. Otherwise, the server will still be running with the old
configuration.
Right-click on an existing device or folder, and select New and then Folder from the
context menu.
Duplicating a Folder
To speed up the creation of similarly-configured folders, you can create multiple folders
in a single operation by duplicating an existing one. To do this, right-click on an existing
folder and select Duplicate… from the context menu.
The above dialog box opens. You must specify how the duplicates are to be named by
entering values for the Base Text, First Number, Numeric Places and Number
Increment fields. To generate names for the duplicated folders, the editor begins with
the base text and appends a number to it. The first duplicate uses the selected First
Number value with the specified number of digits. This number is then incremented by
the specified number for each of the remaining duplicates.
As an example, if Numeric Places is 3 and First Number is 2, the number 002 will be
appended to the base text.
Use the Number Of Duplicates field to specify the number of folders you wish to
create. If you want to duplicate all branches within the original folder, check the
Including Subtree checkbox.
Deleting a Folder
To delete an existing folder, select it and press the Delete key, or right-click on the
folder and select Delete from the context menu.
General Tab
Name
The Name identifies this folder. It can be up to 50 characters long, may contain spaces,
but must not begin with a space. It also may not contain any periods.
Description
This optional field further describes the folder. It can be up to 255 characters long.
Simulate
Checking this box enables data simulation for all data items found at this level or below.
This provides a quick way to switch between real and simulated data for a large number
of data items. Refer to the Cyberlogic OPC Server Help for a full discussion about
simulating data.
If the Simulate checkbox is grayed-out, it indicates that simulation has already been
Note
selected at a higher level.
Disable Writes
Checking this box disables write requests for all data items found at this level or below.
By default, this box is not checked and writes are enabled.
If the Disable Writes checkbox is grayed-out, it indicates that writes have already been
Note
disabled a higher level.
DirectImport
Click this button to import data items from a PLC. For a detailed description of how to
use this function, refer to the DirectImport discussion in the Devices section.
Data Items
A data item represents a register in the physical device, a range of registers, a bit inside
a register or a range of bits. The specific types of registers available vary from one PLC
type to another, but all of the register types for all PLC models are available for
configuration.
After you edit the configuration, you must open the File menu and select Save &
Caution!
Update Server, or click the Save & Update Server toolbar button, for the changes
you have made to take effect. Otherwise, the server will still be running with the old
configuration.
Right-click on an existing device or folder, and select New and then Data Item from
the context menu.
To delete an existing data item, select it and press the Delete key, or right-click on the
data item and select Delete from the context menu.
General Tab
Name
The Name identifies the data item. It can be up to 50 characters long, may contain
spaces, but must not begin with a space. It also may not contain any periods.
Description
This optional field further describes the data item. It can be up to 255 characters long.
Simulate
Checking this box enables data simulation for this data item. Refer to the Cyberlogic OPC
Server Help for a full discussion about simulating data.
If the Simulate checkbox is grayed-out, it indicates that simulation has already been
Note
selected at a higher level.
Disable Writes
Checking this box disables all write requests for this data item. By default, this box is not
checked and writes are enabled.
If the Disable Writes checkbox is grayed-out, it indicates that writes have already been
Note
disabled a higher level.
Data Tab
Tag Name
This is the tag name used for the data in the physical device.
Wizard...
If you have difficulties with specifying valid addresses, click this button and the Address
Wizard will help you to define the address correctly.
Tag Type
This is the type of data specified by the item identified in Tag Name.
All of the ControlLogix pre-defined structures are supported, along with user-defined
types. Refer to Appendix B: Predefined ControlLogix Structures for more information on
these structures.
Data Type
This drop-down allows you to select the native type of the data as it is found in the
physical device. This tells the server how many bytes of data to read and write for this
data item. Not all data types are allowed for all register types.
Normally, you will set the type to Default, which selects the usual data format for that
type of register. However, in unusual applications where the data is stored in the physical
device in a non-standard way, you can specify a different format to simplify the access to
the data.
String Length
If the data type is a string format, this field specifies the number of bytes in the string.
Remember that Unicode strings require two bytes per character.
Span Messages
This check box is available only for strings, arrays and bit fields.
If the box is not checked, the server will deliver all of the data for this data item in a
single message. However, large data items may not fit into a single message, in which
case the Span Messages box must be checked.
If the box is checked, the server may take more than a single message to obtain all data
for this item. This may lead to data tearing if the data changes between the messages.
This selection specifies the default variant format (VT_xxx) in which the data will be sent
to OPC clients. Each OPC client can request data in any variant format and consequently
override the Canonical Data Type setting.
Use Conversion
Check this box to indicate that the selected conversion should be applied to the data
before the value is stored in the data item cache. You must select one of the previously-
configured Conversions from the drop-down box.
Simulation Tab
Signal
If you enabled simulation on the General tab or at a higher level, you may choose to
simulate the data item value with one of the previously-defined Simulation Signals, a
fixed value or an echo of the last value written to the item.
Value
When simulation is enabled and the Signal field is set to Fixed Value, the data item will
be set to this value.
Alarms Tab
Generate Alarms
If this box is checked, the server will test the alarm conditions for this data item,
generating alarms as appropriate.
Refer to the Cyberlogic OPC Server Help for a full discussion on creating and using
alarms.
Message Prefix
Enter the text for the first part of the alarm message. The second part will be the body
text of the specific alarm that is generated.
Alarm
Select one of the previously-defined Alarm Definitions to serve as the alarm template for
this data item.
Properties Tab
In addition to the main data item properties—value, quality and timestamp—the OPC
specification includes several optional properties that your client application may use.
This tab allows you to set these data item properties. These properties are static and do
not change while the server is running.
Engineering Units
This is OPC property ID 100. It specifies the engineering units text, such as DEGC or
GALLONS. It can be up to 50 characters long.
Open Label
This is OPC property ID 107, and is presented only for discrete data. This text describes
the contact when it is in the open (zero) state, such as STOP, OPEN, DISABLE or
UNSAFE. It can be up to 50 characters long.
Close Label
This is OPC property ID 106, and is presented only for discrete data. This text describes
the contact when it is in the closed (non-zero) state, such as RUN, CLOSE, ENABLE or
SAFE. It can be up to 50 characters long.
Default Display
This is OPC property ID 200. It is the name of an operator display associated with this
data item. It can be up to 255 characters long.
BMP File
This is OPC property ID 204. It is the name of a bitmap file associated with this data
item, for example C:\MEDIA\FIC101.BMP. It can be up to 255 characters long.
HTML File
This is OPC property ID 206. It is the name of the HTML file associated with this data
item, for example http://mypage.com/FIC101.HTML. It can be up to 255 characters long.
Sound File
This is OPC property ID 205. It is the name of the sound file associated with this data
item, for example C:\MEDIA\FIC101.WAV. It can be up to 255 characters long.
AVI File
This is OPC property ID 207. It is the name of the AVI file associated with this data item,
for example C:\MEDIA\FIC101.AVI. It can be up to 255 characters long.
Foreground Color
This is OPC property ID 201. Click on the box and select the foreground color used to
display the item.
Background Color
This is OPC property ID 202. Click on the box and select the background color used to
display the item.
Blink
This is OPC property ID 203. Check this box to indicate that displays of the item should
blink.
Conversions
The raw data associated with data items may be process values from instruments. In
most cases, these measurements are not expressed in engineering units. To simplify
operations on the data, the Cyberlogic OPC Server allows you to associate a conversion
with each data item.
A user can define many different conversions. A number of data items can then use each
conversion. As a result, the user need not define the same conversion many times over.
Simulation Signals
The server can simulate the data for each of the data items according to a predefined
formula. This makes it easy to perform client-side testing without the need for a physical
device.
A user can define many different types of simulation signals. A number of data items can
then use each such signal. As a result, the user need not define the same simulation
signal many times over.
Each signal has parameters that define properties such as amplitude, phase and number
of steps.
Alarm Definitions
The Cyberlogic OPC Server supports the OPC Alarms and Events specification, permitting
it to generate alarms based on the value of data items.
The user may define many different alarm conditions. A number of data items can then
use each such condition. As a result, the user need not define the same alarm condition
many times over.
There are two categories of alarms: digital and limit. Digital alarms are normally used
with Boolean data items and limit alarms are normally used with numeric data items, but
both types of alarms may be used with either data type. Alarms cannot be used with
string or array data items, or with bit fields larger than 64 bits.
Configuring alarms is meaningful only if your client software also supports the OPC
Note
Alarms & Events specification. Consult your client software documentation to see what
specifications it supports.
After you edit the configuration, you must open the File menu and select Save &
Caution!
Update Server, or click the Save & Update Server toolbar button, for the changes
you have made to take effect. Otherwise, the server will still be running with the old
configuration.
To save the configuration without updating the server, open the File menu and select
Save, or click the Save button on the toolbar. The changes will be saved but the server
will still be running with the old configuration.
To save the configuration and update the server, open the File menu and select Save &
Update Server, or click the Save & Update Server button on the toolbar.
To undo configuration changes and revert to the previously saved configuration, open
the File menu and select Undo Changes, or click the Undo Changes button on the
toolbar.
Configuration Import/Export
The Import/Export feature allows you to export the configuration data to text file format
and import configuration data from these exported files and also from comma separated
values files from other vendors’ OPC servers and programming software.
For details on this important feature and instructions in its operation, refer to the
Cyberlogic OPC Server Help.
Options
The editor has several options that may be set to adjust the operation of the editor to
suit your preferences and to set security levels as needed for communication with client
software. For a full discussion, refer to the Cyberlogic OPC Server Help.
Data Monitor
The Data Monitor lets you monitor the values and status of the data items. Its use is
described in detail in the Cyberlogic OPC Server Help.
Performance Monitor
The Performance Monitor is a Microsoft diagnostic tool that the Cyberlogic drivers
support. Its use is described in detail in the Cyberlogic OPC Server Help.
DirectAccess
At run time, in addition to the user-configured branches, the Cyberlogic OPC Server
dynamically creates DirectAccess branches in its address space. These are created for
both network nodes and devices.
DirectAccess allows read and write operations. However, for extra security, write
operations are disabled by default. If writes are permissible, they can be enabled on a
node-by-node basis as part of the network node configuration, and on a device-by-device
basis as part of the device configuration.
Device DirectAccess
Each device in the address space will contain all of its configured data items, plus a
DirectAccess branch, as shown in the example above. This branch will appear only for
devices that have DirectAccess enabled. OPC clients can then use this branch to access
any register in the device by directly specifying the register address.
In the DirectAccess branch for a device, the Cyberlogic OPC Server reports a list of hints
about the types of data items that may exist on the selected device. These are not valid
item addresses. Rather, they are just hints to help the user to specify a proper address.
For more details on using these hints, refer to the Address Hints section.
As you can see in the example above, each network connection branch contains its
configured network nodes. However, only network nodes that enable DirectAccess are
present. OPC clients can then use this branch to access any bit or register in any
configured network node by directly specifying its address.
For network nodes in the DirectAccess branch, the Cyberlogic OPC Server reports a list of
hints about the types of data items that may exist on the selected node. These are not
valid item addresses. Rather, they are just hints to help the user to specify a proper
address.
Address Hints
The ({index}) portion of the hint indicates the item within the array. If we have five
temperature sensors, 0-4, and we want to view the third one, ({index}) would become
(2).
The last part of the hint is the OPC property. If none is specified, the default is .Value.
Here, we explicitly request the Value.
Therefore, to access the value of the third item in this array of temperature sensors
using DirectAccess to the network node, we would edit the Item ID field to read:
To access the same register using DirectAccess to the device, you would edit the Item ID
to read:
Here are some additional examples of valid DirectAccess item addresses for a
ControlLogix processor:
"control.2,4"
A bit field four bits long starting at the third bit (bit 2) of a value named control
"goodparts"_UINT16
Unsigned 16-bit integer named goodparts. (The _UINT16 portion is a data type
override.)
"current_value"_STRING_10
10-character ASCII string named current_value. (The _STRING_10 portion is a data
type override.)
The address hints are shown enclosed in double-quotes, and the item address you
Note
specify in place of the hint must also be enclosed in double-quotes. If a data type
override is used, it is not enclosed in the double-quotes.
Previous versions of the Cyberlogic OPC Server did not require the double-quotes, but
had the requirement that any periods (.) in the address had to be replaced with a
forward slash (/). This format is still valid, for compatibility with existing configurations.
However, the double-quote format is preferred for new configurations.
The listed hints cover only the most common address formats. In fact, any item address
in one of the following formats is valid:
{Tag Name}
{Tag Name}_{Data Type Override}
Tag Name
The Tag Name portion may be any tag name that is acceptable in the Tag Name field of
a data item. This portion is enclosed in double-quotes.
The PLC item tag requirements are discussed in Appendix A: PLC Tag Names and
Appendix B: Predefined ControlLogix Structures.
This capability permits you to display the value in a format other than the native format
of the register. For example, a register might normally contain binary data, but is being
used to hold BCD data for a particular application. You could then specify that it should
be treated as BCD. The data type override portion is optional, and if used, is not
enclosed in double-quotes.
The STRING and WSTRING data types may require the count value, which specifies the
maximum number of characters in a string. By default, the count value is 1.
Any data type that is acceptable in the Data Type field of a data item may be specified as
the override type. Notice that not all data types are valid for all register addresses. The
table below shows all supported data types.
The Data Type Override field requires you to use the form in the Type column, not the
Caution!
Canonical Data Type. For example, if you want 32-bit floating point format, you must
specify FLOAT32. The canonical form VT_R4 will not work.
Event Viewer
During startup and operation, the Cyberlogic OPC Server may detect problems or other
significant events. When a noteworthy event is detected, the server sends an appropriate
message to the Windows Event Logger. You can view these messages using the
Windows Event Viewer. Its use is described in detail in the Cyberlogic OPC Server Help.
For an explanation of the error messages that may be logged by the ControlLogix Driver
Agent, refer to the ControlLogix Driver Agent Messages section.
Registration DLL failed to load. The I/O operations of the server have been
disabled. Reinstall the product.
A necessary registration DLL could not be loaded. This may indicate a corrupted
installation. Repair the existing installation, or remove and reinstall the software.
Registration verification failed. The I/O operations of the server have been
disabled. Reinstall the product.
A registration check indicated that the software’s evaluation time has expired. Run the
Activation Wizard to authorize further use of the software.
This is a time-limited installation of the software. After the stop time, the driver agent will
not allow any further I/O operations.
This is a time-limited installation of the software. The stop time has been reached or
exceeded, so the driver agent will not allow any further I/O operations.
The Cyberlogic License Server failed to respond with valid license information.
The I/O operations of the ControlLogix Driver Agent have been disabled.
Contact the manufacturer's technical support.
The driver agent experienced a problem when it tried to contact the Cyberlogic License
Server. If the license server is not running, start it and then try restarting the driver. If
the license server is already running, contact Cyberlogic Tech Support.
The driver agent failed to allocate needed memory. This is a fatal error. Close other open
applications or add more memory to the system, and then try to restart the OPC server.
Indicates a possible programming bug in the OPC server. Contact Cyberlogic Tech
Support for more information on a possible solution.
Indicates a possible programming bug in the OPC server. Contact Cyberlogic Tech
Support for more information on a possible solution.
The ControlLogix driver agent does not support the auto configuration feature. You must
configure the network connections and network nodes manually.
I have a Plug and Play adapter card for Data Highway (or Data Highway Plus)
installed in my system. There is no communication and the DHX demo
software doesn’t show any of the existing nodes.
The Plug and Play cards for Allen-Bradley networks all default to node address 0. If there
is another one of these cards anywhere on your network, it is likely that it is using this
default address, resulting in a conflict. Use the DHX Configuration Editor to change the
adapter’s node address to a different value.
ControlLogix nodes will not show up under the ControlLogix Network Connections branch
because the ControlLogix Driver Agent does not support the auto configuration feature.
The DHX Driver Agent will detect the nodes, but because Logix processors are not
supported by that driver agent, it will show them as “Unknown”. That is, they are not of
a type that the DHX Driver Agent knows how to support. Auto configuration will do the
same for any unknown controller type. For example, if Allen-Bradley introduces a new
type of SLC, auto configuration will not be able to identify it and will show it as
“Unknown”. This would also be true for any third-party Data Highway device that the
utility detects.
What is the optimum setting for the System Overhead Time Slice (SOTS)?
The SOTS allocates time between the communication tasks (such as OPC) and the
controller tasks (such as solving ladder logic). The SOTS is set in RSLogix5000 and is
expressed as the percentage of time to be allocated to the communication tasks. Its
default value is 10%. Thus, 10% of the scan time will go to communication tasks and
90% will go to servicing controller tasks.
The value you should use will depend on the priority you place on communication tasks
as compared with the priority you place on controller tasks. SOTS values above 50% are
appropriate for applications where communication has the higher priority. Values below
50% should be used when controller tasks have the higher priority. A reasonable value to
start with would be in the range of 30-60%. From there, you should observe the system
performance and adjust the value as needed to find the optimum for your application.
There are certain OPC Foundation common components that are installed and used by all
OPC servers. If the OPC server you removed had a poorly-written uninstall program, it
may have removed these common components even though they were still in use by the
Cyberlogic OPC Server. To correct this, run the DHX OPC Server installation program and
follow the procedure for repairing the installation.
However, the ControlLogix Driver Agent extends this syntax when it comes to specifying
arrays, array elements and bit fields.
Arrays
Single-dimensional arrays are supported for data types other than strings and bit fields.
To specify an array of data type elements, use the following syntax:
OR
The Lower Bound specifies the array index value for the first element in an array. If not
specified, the Lower Bound defaults to zero. Visual Basic applications may expect the first
index to be one, in which case you would set the Lower Bound value to a 1.
Array Elements
Some complex data types may contain built-in arrays of certain type. To specify an
element of such array, use the following syntax:
Bit Fields
Examples
Sta3PartPresent Tag named Sta3PartPresent
control.2 [4] A bit array four bits long starting at the third
bit (bit 2) of a value named control
Syntax
The following tables define the syntax used for the PLC tag names.
Notation
Accepted Syntaxes
General Syntax
This section explains the general syntax used for all CIP paths. The specific format used
for a given configuration will depend on the driver, hardware and network setup. Refer to
the example sections for details.
The CIP path is an addressing method used to identify a target device by specifying each
step of the route to that device. By default, all numeric values in the CIP path are
assumed to be decimal, unless specified otherwise. Path fields are separated by commas.
In the second form, the leading port number is disregarded by the Cyberlogic drivers.
This form is supported for compatibility with RSLinx/RSLogix 5000.
Address Fields
The address fields can take many forms, depending on the type of network used. These
are shown below with examples of each.
Ethernet
Form Example
<IP Address> 192.168.1.12
<IP Address>:<IP Port> 192.168.1.12:32767
<DNS Name> sta3r
<DNS Name>:<IP Port> sta3r:16385
In the table above, the forms that include <IP Port> are to be used when it is
Note
necessary to override the default IP port. The specified IP port is part of the address
field and does not take the place of the port field in the CIP path syntax.
Form Example
<Octal station number> 8#17
<Decimal station number> 15
DF1 Network
Form Example
<Decimal station number> 254
ControlNet Network
Form Example
<Decimal station number> 99
ControlLogix backplane
Form Example
<Decimal slot number> 1
Port Fields
PLCs, modules and other components may have ports associated with them, through
which the message can be routed to another address. The most common port
assignments are shown in the table below.
In this example, the Ethernet CLX device sends a message directly to a ControlLogix
chassis that is the final destination.
192.168.1.2, 1, 0
The message goes to an Ethernet module at the specified IP address. It must then go
across the backplane to the processor module.
Here, the Ethernet CLX device sends a message directly to its final destination, a
CompactLogix controller.
192.168.54.40,1,0
0: Specifies the virtual “slot” for the processor; always 0 for CompactLogix
This example has the Ethernet CLX device send the message to a ControlLogix chassis,
which routes it to another Ethernet network, and on to its final destination.
10.8.2.124, 1, 3, 2, 10.9.2.78, 1, 0
The message goes to an Ethernet module in a ControlLogix chassis, then goes across its
backplane to another Ethernet module. From there, the message goes to another
ControlLogix chassis, where it crosses the backplane to a processor module.
This is a simple example in which the CLX over DHX device directly addresses a
ControlLogix processor on a DH+ network.
31, 1, 2
Here we address a Data Highway Plus module in a chassis, then go across the backplane
to the processor module.
This is identical to the previous example; only the addressing method is different.
8#37, 1, 2
This is functionally the same as the previous example, except here we specify the
address in octal.
In this example, we are addressing a MicroLogix 1100, SLC5/05 or PLC-5 processor using
an Ethernet DHX/CIP device.
192.168.33.117
There is no backplane port or slot to address, so the CIP path is simply the IP address.
Only the more recent versions of SLC5/05 and PLC-5 controllers can use the Ethernet
Caution!
DHX/CIP Driver. The older versions use the Ethernet DHX Driver.
1761-NET-ENI Module
The CIP path you must use with this module depends on its firmware revision level.
Firmware Rev. A
192.168.1.77
192.168.1.77, 3, 1
For firmware revisions B-D, the IP address alone may work, but it may be necessary to
use <IP address>, 3, 1. In this case, the 3 is the port number for the DF1 port and 1 is
the default address for the device connected via the serial link.
For this example, we have created a router by installing two Ethernet modules in a
ControlLogix chassis, and will use this to pass messages from an Ethernet DHX/CIP
device on one Ethernet network to a logic controller on another Ethernet network.
When used with the Ethernet DHX/CIP Driver, this type of router can be used only for
Caution!
configurations in which the final destination device is a MicroLogix 1100, SLC5/05 or
PLC-5.
10.3.54.101, 1, 5, 2, 192.168.65.6
The message is sent to one of the modules, which passes it along the ControlLogix
backplane to the other module, which then sends it along to the final destination.
When you configure the CIP path for the ControlLogix Gateway Driver, you are really
configuring only the beginning of the path. That is, you are specifying the path only up to
the port on the 1756-DHRIO or 1756-DH485 module in the gateway chassis, omitting the
final address. This address is the destination node for the message, and it will be
appended to the configured CIP path by the driver, as it processes the message.
192.168.9.2, 1, 4.B
The message is addressed to the Ethernet module in the chassis used as the gateway,
then it goes across the backplane to the Data Highway Plus module. Notice that the path
does not specify the DH+ node address of the destination device.
4.B: Addresses the 1756-DHRIO module in slot 4, and uses its DH+ port B
(The destination DH+ node address is not specified, but will be appended by the
driver at runtime.)
This is the same as the previous example, but here we use the alternative method of
specifying the DH+ channel.
192.168.9.2, 1, 4, 3
The message routing is identical to the previous example, because the 4, 3 form is
exactly the same as the 4.B form.
(The destination DH+ node address is not specified, but will be appended by the
driver at runtime.)
DNS Name
In this example, the message goes to an Ethernet module with the DNS name
AssemblyLineA, and is routed through the gateway chassis in the same manner as in the
previous example.
AssemblyLineA, 1, 2.A
The routing in this case is handled the same way as the previous examples, but this time
using the DNS name. Notice also that in this example we use port A of the DH+ module,
which is in slot 2.
2.A: Addresses the 1756-DHRIO module in slot 2, and uses its DH+ port A
(The destination DH+ node address is not specified, but will be appended by the
driver at runtime.)
2. Enter the IP address or DNS name of the node. For this example, select IP Address
and enter 10.207.55.221.
3. Optionally, you may enter an IP port number if you do not wish to use the default of
44818. For this example, leave this field blank and select Default.
You have specified the Ethernet interface in the target system. Now you must
communicate over that system’s backplane.
Finally, you must specify the slot number for the controller module.
8. Select Yes to indicate that you have specified the entire path.
2. Enter the octal Data Highway Plus node number of the target node. For this
example, enter 15 in the Station Address field.
You have specified the Data Highway Plus interface in the target system. Now you
must communicate over that system’s backplane.
6. Enter 9 in the Slot Number field to specify the slot number for the controller
module.
7. Select Yes to indicate that you have specified the entire path.
2. Enter the IP address or DNS name of the node. For this example, select IP Address
and enter 10.207.55.221.
3. Optionally, you may enter an IP port number if you do not wish to use the default of
44818. For this example, leave this field blank and select Default.
You have specified the Ethernet interface in the first chassis. To reach its Data
Highway Plus module, you must communicate over the backplane.
7. Enter 4 in the Slot Number field to specify the location of the Data Highway Plus
module.
8. You are not finished with the addressing path, so select No.
12. Enter 15 in the Station Address field. This is the octal DH+ node number of the
target node.
13. You have not yet reached the controller in the target chassis, so select No to
continue specifying the path.
You have specified the DH+ interface in the target system. Now you must
communicate over that system’s backplane.
17. Enter 9 in the Slot Number field to specify the location of the controller module.
18. You have now specified the entire path, so select Yes to indicate that you are done.
This appendix provides two examples of the use of the Address Wizard.
Example 1: Simple Addressing covers setting up the addressing for a single
register.
Example 2: Accessing Bits Within a Register shows how to address bits
within a register as a bit array.
On this screen, you must specify the data you want to access.
If the data were an element of an array, you would need to check this box and
specify the element of the array here.
It is possible to access individual bits or groups of bits within the register, but for this
example we will access the register as a word.
7. Select No.
8. Click Next.
On this screen, you must specify the data you want to access.
12. The Status selection is not available for this tag type.
If the data were an element of an array, you would need to check this box and
specify the element of the array here.
Now you will begin defining the addressing scheme to be used by the OPC Server.
You can create an array within the OPC server, but we do not want to do this.
17. Select Yes to indicate that we want to access only some of the bits within the
element.
On this screen, you specify the exact bits you want to address.
Although the default values will work well for most common network layouts, some cases
may require a few adjustments. In this appendix, we will discuss how to decide on the
proper settings to use, and will provide examples of some typical kinds of configurations.
Maximum request values are set at both the network connection level and at the network
node level.
The maximum network request limit is entered on the Settings Tab of the network
connection. This parameter limits the total number of simultaneous transactions for all
network nodes on that network connection.
The maximum node request limit is entered on the Optimizations Tab of the network
node. This parameter allows you to limit the number of simultaneous transactions for
that individual network node. If Unlimited is selected, the number of transactions is
limited only by the value set for the network connection.
These parameters interact, so each must be taken into consideration when setting the
other. For example, the number of simultaneous transactions actually handled by a
network node will never be greater than the lower of the two numbers. Furthermore, the
number of simultaneous transactions handled by a network connection will never be
greater than the total of the limits set on the nodes on that network.
In addition, you must remember that the resources available to process transactions
through the network connection are shared among the network nodes. This further
restricts the number of transactions that may be available for communication to a given
network node. As the client applications request data from the various network nodes,
the server arbitrates these competing requests, allowing them to be processed as
resources become available. Thus, the number of transactions being processed by each
network node will constantly be changing, but each network node will never process
more than its limit, and all of them combined will never process more than the limit for
the network connection.
The purpose of these parameter settings is to allow the user to allocate system resources
and network bandwidth in a way that will yield the best performance. If the concurrent
request limit is set too low, throughput will suffer even though there are unused
resources available to the server.
However, choosing the maximum setting doesn’t always improve performance, and may
actually make things worse. There are a number of situations in which you should lower
these limits.
Bridging to other networks. If you have two or more different networks
bridged together, and the messages must pass through more than one
network, you should choose values consistent with the slowest network.
Other software using the network. If you have applications other than the
OPC server communicating on the network, you may find that the OPC
server consumes so much bandwidth that the other applications cannot run
satisfactorily. For example, with the OPC server running, your programming
software may not be able to connect to the PLC, or uploads and downloads
may take excessively long. You may wish to lower the OPC server’s limits to
prevent the network from saturating and permit the programming software
to run.
The goal is to adjust these limits to a level that will allocate the system resources most
effectively.
Controllers in the Logix family are particularly sensitive to the maximum concurrent
request settings. With other controller families, setting the value too high may consume
system resources without improving performance. But with the Logix family, a setting
that is too high not only wastes resources, but will result in poorer performance or
complete failure to update the data. This happens because the controller can become
overwhelmed with update requests, causing repeated errors and retries. When this
occurs, the OPC server will report the data items as having bad quality, an indication that
you should reduce the setting.
The recommended range for Logix family controllers is 4-8, with 6 being the default
setting. If you wish to change the setting, the recommended procedure is to make a
small change and check to see how that affects the data quality. If you increase the limit
and start to see bad quality being reported, you must lower the setting until the bad
quality disappears.
A network connection is configured for a maximum of 16 network requests and one of its
nodes is configured for a maximum of 4.
The limit for that node will be 4 simultaneous transactions, regardless of the fact that the
network connection can handle more. This means that there will always be at least 12
concurrent requests available to other network nodes using that network connection.
A network connection is configured for a maximum of 8 network requests and one of its
nodes is configured as Unlimited.
The maximum number for that node would be 8, that is, everything the network
connection can handle. If the network connection limit is increased to 16, then the limit
for that network node would increase as well.
The total of the limits for the five network nodes is then 40, twice what the network
connection can handle. This simply means that it will not be possible run the limit of 8
requests on all five network nodes at the same time.
In this configuration, no more than two network nodes could run at their limit of 8
simultaneous transactions, and occasionally one or two might reach that limit. However,
the server will always try to spread the load equally among all nodes, so most of the time
all nodes would be running at about 4 simultaneous transactions.
The benefit of this configuration is that it avoids the situation where the slower nodes are
overwhelmed with transactions they cannot handle, while the faster node is deprived of
transactions that it could handle. When the slower nodes are each handling two
transactions, the remaining 6 that the network can handle will be available to the faster
node.
This section illustrates the layout of the DHX architecture. It includes a description of
each DHX component along with suggested methods for employing them to support
Allen-Bradley networks.
DHX Driver
The DHX Driver provides connectivity between Windows-based applications and interface
adapter cards from Allen-Bradley and SST. A few of the many cards supported are the
1784-KT, 1784-KTX, 1784-PKTX and 1784-PCMK from Allen-Bradley, as well as the
SST-DHP-PCI, 5136-SD and 5136-SD-PCI from SST. These provide communication over
Data Highway, Data Highway Plus, DH-485 and ControlNet
The kernel mode device driver of the DHX Driver has exceptional performance and
stability. It operates in either interrupt or polled mode and fully implements all network
features, including solicited and unsolicited communication. The high performance native
API (DHXAPI) of the DHX Driver takes full advantage of the event-driven, multitasking,
multithreaded features of Windows operating systems.
The driver includes the DHX Gateway Server for remote access by the DHX Gateway
Driver and is fully compatible with all other components of the DHX family.
The driver includes the DHX Gateway Server for remote access by the DHX Gateway
Driver and is fully compatible with all other components of the DHX family.
The driver includes the DHX Gateway Server for remote access by the DHX Gateway
Driver and is fully compatible with all other components of the DHX family.
system running the DHX Gateway Server. It can then access the Data Highway, Data
Highway Plus, DH-485 and ControlNet networks that are connected to the server node.
For example, the DHX Gateway Driver provides complete DHX Driver functionality to the
client node applications. An interface adapter, such as a 1784-PCMK card, is not required
on the client node. DHX Gateway Driver nodes can communicate with multiple remote
servers and all Windows-compatible TCP/IP networks are supported.
The DHX Gateway Driver is compatible with all other components of the DHX family.
The ControlLogix Gateway Driver is fully compatible with all other components of the
DHX family.
If your computer uses Windows 7, Vista or the 64-bit edition of any Windows version,
refer to Cyberlogic Knowledge Base article KB2010-02 Running 16-Bit Applications for
important information on using the Virtual DHX Driver on your system.
The Virtual DHX Driver is fully compatible with all DHX components and requires at least
one of these drivers to operate:
DHX Driver
Ethernet DHX Driver
Serial DHX Driver
DHX Gateway Driver
ControlLogix Gateway Driver
The DHX OPC Server supports multiple, priority-based access paths for reliable,
redundant communications. It also supports both solicited and unsolicited
communications and uses an advanced transaction optimizer to guarantee minimum load
on your networks. With only a couple of mouse clicks, the DHX OPC Server will
automatically detect and configure the attached networks and node devices. Other
noteworthy features include DirectAccess, Data Write Protection and Health Watchdog.
DHX SDK
Software developers can use the DHX Software Development Kit to provide connectivity
to Data Highway, Data Highway Plus, DH-485, Ethernet and ControlNet networks from
their 32-bit C/C++ applications.
The SDK supports two styles of interfaces, 6001-F1E and Cyberlogic's high-performance
DHXAPI. The 6001-F1E interface is an excellent bridge for developers who would like to
port their 16-bit applications to the latest Windows environments. Developers of new
applications can use either the 6001-F1E or the DHXAPI interface. For a complete 6001-
F1E specification, contact any Allen-Bradley distributor.
Since all DHX family drivers are built on the same DHX architecture, applications
developed with the DHX SDK can be used with all DHX family drivers and can execute
under all current Windows operating systems.