AB ControlLogix Ethernet Driver
AB ControlLogix Ethernet Driver
AB ControlLogix Ethernet Driver
Ethernet Driver
Table of Contents
Table of Contents 2
Allen-Bradley ControlLogix Ethernet Driver 7
Overview 8
Device Setup 9
Communications Routing 10
Connection Path Specification 11
Routing Examples 12
Logix Device IDs 14
CompactLogix 5300 Ethernet Device ID 15
Logix Communications Parameters 17
Logix Options 18
Logix Database Settings 20
Logix Database Options 21
Logix Database Filtering 22
1761-NET-ENI Setup 22
Data Highway Plus Gateway Setup 23
ControlNet Gateway Setup 24
EtherNet/IP Gateway Setup 25
Serial Gateway Setup 25
MicroLogix 1100 Setup 26
ENI DF1/DH+/ControlNet Gateway Communications Parameters 27
SLC 500 Slot Configuration 28
SLC 500 Modular I/O Selection Guide 29
Performance Optimizations 31
Optimizing Communications 31
Optimizing the Application 33
Performance Statistics and Tuning 34
Performance Tuning Example 35
Data Types Description 48
Address Descriptions 49
Logix Addressing 49
MicroLogix Addressing 50
SLC 500 Fixed I/O Addressing 52
SLC 500 Modular I/O Addressing 52
PLC-5 Series Addressing 53
Logix Tag-Based Addressing 54
Address Formats 55
Tag Scope 56
Internal Tags 57
Predefined Term Tags 57
Addressing Atomic Data Types 57
Addressing Structure Data Types 58
Addressing STRING Data Type 58
Ordering of Logix Array Data 59
Logix Advanced Addressing 60
Advanced Addressing: BOOL 60
Advanced Addressing: SINT 62
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 3
www. kepware.com
4 Allen-Bradley ControlLogix Ethernet Driver
Socket error <code> occurred on <device name>. Operation <operation name> failed because
<reason>. 99
Unable to bind to adapter: <adapter>. Connect failed. 100
Winsock initialization failed (OS error = n). 100
Winsock V1.1 or higher must be installed to use the Allen-Bradley ControlLogix Ethernet Driver. 100
Device-Specific Error Messages 100
Allen-Bradley ControlLogix Ethernet <Device>: CIP connection size <requested> is not supported by
this device. Automatically falling back to 500 bytes. 101
Device <device name> is not responding. 101
Encapsulation error occurred during a request to device <device name>. [Encap. error=<code>]. 101
error occurred during a request to device <device name>. [CIP error=<code>, Ext.
error=<code>]. 102
Frame received from device <device name> contains errors. 102
Unable to retrieve the identity for device <device>. [CIP error=<error>, Ext. error=<error>]. All
tags will use Symbolic Protocol Mode. 102
Unable to retrieve the identity for device <device>. [Encap. error=<error>]. All tags will use
Symbolic Protocol Mode. 102
Unable to retrieve the identity for device <device>. Frame received contains errors. All tags will use
Symbolic Protocol Mode. 103
ControlLogix-Specific Error Messages 103
Read Errors (Non-Blocking) 103
Read request for tag <tag address> on device <device name> failed due to a framing error. Tag
deactivated. 104
Unable to read <tag address> on device <device name>. Tag deactivated. 104
Unable to read tag <tag address> on device <device name>. [CIP error=<code>, Ext.
error=<code>]. 104
Unable to read tag <tag address> on device <device name>. Controller tag data type <type>
unknown. Tag deactivated. 104
Unable to read tag <tag address> on device <device name>. Data type <type> is illegal for this
tag. Tag deactivated. 105
Unable to read tag <tag address> on device <device name>. Data type <type> not supported. Tag
deactivated. 105
Unable to read tag <tag address> on device <device name>. Tag does not support multi-element
arrays. Tag deactivated. 105
Read Errors (Blocking) 105
Read request for <count> element(s) starting at <tag address> on device <device name> failed
due to a framing error. Block deactivated. 106
Unable to read <count> element(s) starting at <tag address> on device <device name>. Block
deactivated. 106
Unable to read <count> element(s) starting at <tag address> on device <device name>. [CIP
error=<code>, Ext. error=<code>]. 106
Unable to read <count> element(s) starting at <address> on device <device>. Controller tag data
type <type> unknown. Block deactivated. 107
Unable to read <count> element(s) starting at <address> on device <device>. Data type <type>
is illegal for this block. 107
Unable to read <count> element(s) starting at <address> on device <device>. Data type <type>
not supported. 107
Unable to read <count> element(s) starting at <tag address> on device <device name>. Block
does not support multi-element arrays. Block deactivated. 107
Write Errors 108
Unable to write to <tag address> on device <device name>. 108
Unable to write to tag <tag address> on device <device name>. [CIP error=<code>, Ext.
Status=<code>]. 108
Unable to write to tag <tag address> on device <device name>. Controller tag data type <type>
unknown. 109
Unable to write to tag <tag address> on device <device name>. Data type <type> is illegal for this 109
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 5
tag.
Unable to write to tag <tag address> on device <device name>. Data type <type> not supported. 109
Unable to write to tag <tag address> on device <device name>. Tag does not support multi-
element arrays. 109
Write request for tag <tag address> on device <device name> failed due to a framing error. 110
Project Synchronization Errors 110
Encapsulation error occurred while uploading project information. [Encap. error=<code>]. 110
Error occurred while uploading project information. [CIP error=<code>, Ext. error=<code>]. 110
Framing error occurred while uploading project information. 111
Invalid or corrupt controller project detected while synchronizing. Synchronization will be retried
shortly. 111
Low memory resources. 111
Project download detected while synchronizing. Synchronization will be retried shortly. 112
Unable to read <element> element(s) starting at <address> on device <device name>. Native tag
size mismatch. 112
Unable to read tag <tag name> on device <device name>. Native tag size mismatch. 112
Unable to write to tag <tag name> on device <device name>. Native tag size mismatch. 112
ENI/DH+/ControlNet Gateway Specific Error Messages 112
Device <device name> is not responding. Local node responded with error [DF1 STS=<value>]. 113
Unable to read <block size> element(s) starting at <address> on device <device name>. [DF1
STS=<value>, EXT STS=<value>]. Tag(s) deactivated. 113
Unable to read <block size> element(s) starting at <address> on device <device name>. Frame
received contains errors. 113
Unable to write to address <address> on device <device name>. [DF1 STS=<value>, EXT
STS=<value>]. 114
Unable to write to address <address> on device <device name>. Frame received contains errors. 114
Unable to write to address <address> on device <device name>. Local node responded with error
[DF1 STS=<value>]. 114
Unable to write to function file <address> on device <device name>. Local node responded with
error [DF1 STS=<value>]. 115
Automatic Tag Database Generation Errors 115
Database error: Array tags <orig. tag name><dimensions> exceed 31 characters. Tags renamed to
<new tag name><dimensions>. 115
Database error: Data type <type> for tag <tag name> not found in tag import file. Tag not added. 116
Database error: Data type for Ref. Tag <tag name> unknown. Setting Alias tag <tag name> data
type to Default (<type>). 116
Database error: Error occurred processing Alias tag <tag name>. Tag not added. 116
Database error: Member data type <type> for UDT <UDT name> not found in tag import file. Setting
to Default type <type>. 116
Database error: Program group <orig. program name> exceeds 31 characters. Program group
renamed to <new program name>. 117
Database error: Tag <orig. tag name> exceeds 31 characters. Tag renamed to <new tag name>. 117
Database error: Unable to resolve CIP data type <hex value> for tag <tag name>. Setting to default
type <logix data type>. 117
Invalid or corrupt controller project detected while synchronizing. Try again later. 117
Project download detected while synchronizing. Try again later. 118
Unable to generate a tag database for device <device name>. Reason: Import file not found. 118
Unable to generate a tag database for device <device name>. Reason: L5K file is invalid or corrupt. 118
Unable to generate a tag database for device <device name>. Reason: Low memory resources. 118
Reference Material 119
Choosing a Protocol Mode 120
Detecting a Change in the Controller Project 121
SoftLogix 5800 Connection Notes 123
Glossary 124
www. kepware.com
6 Allen-Bradley ControlLogix Ethernet Driver
Index 126
www. kepware.com
7 Allen-Bradley ControlLogix Ethernet Driver
CONTENTS
Overview
What is the Allen-Bradley ControlLogix Ethernet Driver?
Device Setup
How do I configure a device for use with this driver?
Communications Routing
How do I communicate with a remote ControlLogix 5000 processor or 1756-DHRIO/1756-CNB Interface Module?
Performance Optimizations
How do I get the best performance from the Allen-Bradley ControlLogix Ethernet Driver?
Address Descriptions
How do I address a tag on a Allen-Bradley ControlLogix Ethernet device?
Error Descriptions
What error messages does the driver produce?
Error Codes
What are the Allen-Bradley ControlLogix Ethernet error codes?
Reference Material
Where can I find additional information relating to the Allen-Bradley ControlLogix Ethernet Driver?
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 8
Overview
The Allen-Bradley ControlLogix Ethernet Driver provides an easy and reliable way to connect Allen-Bradley
ControlLogix Ethernet controllers to OPC client applications, including HMI, SCADA, Historian, MES, ERP, and
countless custom applications.
SoftLogix 5800
The driver supports the Allen-Bradley SoftLogix 5800 Series Controller and requires an Ethernet card in the
SoftLogix PC.
ControlNet Gateway
The driver supports the PLC-5C Series. This is accomplished through a ControlNet gateway and requires the
aforementioned PLC, an EtherNet/IP communication module, and a 1756-CNB/CNBR interface module (both
residing in the ControlLogix rack).
1761-NET-ENI
The driver supports communications with the 1761-NET-ENI device. The ENI device adds extra flexibility in
device networking and communications by providing an Ethernet-to-serial interface for both Full Duplex DF1
controllers and Logix controllers. In conjunction with the ENI device, this driver supports the following:
MicroLogix 1100
The driver supports communications with the MicroLogix 1100 (CH1 Ethernet) using EtherNet/IP.
www. kepware.com
9 Allen-Bradley ControlLogix Ethernet Driver
Device Setup
Supported Devices
Device Communications
ControlLogix 5550 / 5553 / 5555 / 5561 / 5562 / Via 1756-ENBT / ENET / EN2F / EN2T / EN2TR /
5563 / 5564 / 5565 / 5571 / 5572 / 5573 / 5574 / EN3TR / EWEB / EN2TXT Ethernet module
5575 / 5585 processors
Via Serial Gateway
Via 1761-NET-ENI
Via 1761-NET-ENI
Via 1761-NET-ENI
Firmware Versions
Device Version
ControlLogix 5550 (1756-L1) 11.35 - 13.34
ControlLogix 5553 (1756-L53) 11.28
ControlLogix 5555 (1756-L55) 11.32 - 16.04
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 10
Device Version
ControlLogix 5561 (1756-L61) 12.31 - 20.11
ControlLogix 5562 (1756-L62) 12.31 - 20.11
ControlLogix 5563 (1756-L63) 11.26 - 20.11
ControlLogix 5564 (1756-L64) 16.03 - 20.11
ControlLogix 5565 (1756-L65) 16.03 - 20.11
ControlLogix 5571 (1756-L71) 20.11 - 28.011
ControlLogix 5572 (1756-L72) 19.11 - 28.011
ControlLogix 5573 (1756-L73) 18.12 - 28.011
ControlLogix 5574 (1756-L74) 19.11 - 28.011
ControlLogix 5575 (1756-L75) 18.12 - 28.011
ControlLogix 5583 (1756-L83) 28.011
ControlLogix 5585 (1756-L85) 28.011
CompactLogix 5370 (1769-L1) 20.11 - 28.011
CompactLogix 5370 (1769-L2) 20.11 - 28.011
CompactLogix 5370 (1769-L3) 20.11 - 28.011
CompactLogix 5320 (1769-L20) 11.27 - 13.18
CompactLogix 5323 (1769-L23) 17.05 - 20.11
CompactLogix 5330 (1769-L30) 11.27 - 13.18
CompactLogix 5331 (1769-L31) 16.22 - 20.11
CompactLogix 5332 (1769-L32) 16.22 - 20.11
CompactLogix 5335 (1769-L35) 16.22 - 20.11
CompactLogix 5343 (1768-L43) 15.07 - 20.11
CompactLogix 5345 (1768-L45) 16.24 - 20.11
ControlLogix 5380 (5069-L3) 28.011
FlexLogix 5433 (1794-L33) 11.25 - 13.33
FlexLogix 5434 (1794-L34) 11.25 - 16.02
SoftLogix 5800 (1789-L60) 16.00 - 20.01
ControlLogix, CompactLogix, and FlexLogix Serial 1761-NET-ENI Series B or higher or Serial
Communications Gateway
MicroLogix 1100 (1763-L16AWA/BWA/BBB) 1.1
Communication Protocol
The Communications Protocol is EtherNet/IP (CIP over Ethernet) using TCP/IP.
l Connected Messaging
l Symbolic Reads
l Symbolic Writes
l Symbol Instance Reads (V21 or higher)
l Physical (DMA) Reads (V20 or lower)
l Symbol Instance Writes
ENI Models
ENImodels support unconnected messaging.
Communications Routing
Routing provides a way to communicate with a remote device over various networks. It can be thought of as a
bridge between the local device and a remote device even if they are on two different field bus networks. Access
to a remote (destination) backplane allows for direct communication with the supported modules located on this
backplane. Supported modules include the following:
www. kepware.com
11 Allen-Bradley ControlLogix Ethernet Driver
A routing path is a series of backplane hops, whose last hop points to the destination backplane. Each hop
requires a Logix backplane (not a Logix processor). An individual hop can utilize one of the following networks as
its medium:
l ControlNet
l DH+
l TCP/IP (Ethernet/IP)
Important: Routing is not supported for ENI and MicroLogix 1100 models.
The routing path specification begins and ends with the left and right bracket respectively ([]). The path itself is
a series of port/link address pairs, identical to the communication path syntax in RSLogix 5000 Message
Configuration dialog.
Designator
Description Formats Range
Type
Port ID Specifies a way out of the interface module in question.* Decimal 0-
65535
Link Address If the corresponding port is the backplane, the link address is the slot Decimal 0-255
number of the interface module that goes out.
Single Hop
IP Address, Port ID0, [Link Address0, Port ID1, Link Address1, Port ID2], Link Address2.
Multi-Hop (N Hops)
IP Address, Port ID0, [Link Address0, Port ID1, Link Address1, Port ID2, Link Address2, ... Port ID(N+1), Link
Address(N+1), Port ID(N+2)], Link Address(N+2).
Notes:
1. The last port ID in the path (Port ID2 and Port ID(N+2) for single-hop and multi-hop respectively) must
be 1 (port for backplane).
2. Port ID0 must be 1 (port for backplane). Link Address2 and Link Address (N+2) are the slot numbers of
the remote Logix processor/1756-DHRIO module/1756-CNB module.
Port Reference
Interface Module Port 1 Port 2 Port 3
EtherNet/IP Communication Module Backplane Ethernet Network N/A
SoftLogix EtherNet/IP Messaging Module Virtual Backplane Ethernet Network N/A
1756-DHRIO Backplane DH+ Network on Ch. A DH+ Network on Ch. B
1756-CNB Backplane ControlNet Network N/A
Application Notes
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 12
1. Messages cannot be routed in or out of the same interface module channel more than once within the
path. Doing so results in CIP error 0x01 Ext. error 0x100B.
2. For multiple channel interface modules, messages cannot be routed into and then immediately out of that
same module (using different channels), regardless of whether the message is directed to the backplane
first or avoids the backplane all together. As previously mentioned, the latter is not supported since each
hop requires a ControlLogix backplane. An example would be to route a DH+ message from one DH+ link
(such as Channel A of 1756-DHRIO) to another DH+ link (such as Channel B of same 1756-DHRIO)
through one 1756-DHRIO-interface module. This is commonly referred to as Remote DH+ messaging and
is not supported.
Routing Examples
The routing examples below include the entire device ID minus the IP of the local 1756-ENBT. The perspective of
the device ID/routing path is from the local 1756-ENBT Module. Hop descriptions are in the following form:
Note: For more information, refer to Connection Path Specification. For further details on building a
connection/routing path, refer to Allen-Bradley Publication 1756-6.5.14, pp. 4-5 through 4-8.
In the illustration below, all DH+/ControlNet node IDs are specified in Decimal format. The node ID specified in
the PLC and displayed in RSWho is in Octal format. Descriptions of the colors are as follows:
l Green = Ethernet
l Blue = DH+
l Orange = ControlNet
Note:For more information, refer to Data Highway PlusGateway Setup and ControlNet Gateway Setup.
www. kepware.com
13 Allen-Bradley ControlLogix Ethernet Driver
Example 1
Logix5550 to PLC-5 via DH+ Gateway.
Example 2
Logix5550 to PLC-5C via CN Gateway.
Example 3
Logix5550 to Logix5550 via routing over DH+.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 14
Example 4
Logix5550 to PLC-5C via CN Gateway, routing over DH+.
Example 5
Logix5550 to Logix5550 via routing over DH+, ControlNet
Example 6
Logix5550 to SLC 5/04 via routing over DH+, ControlNet.
Example 7
Logix5550 to Logix5550 via routing over DH+, ControlNet, Ethernet.
www. kepware.com
15 Allen-Bradley ControlLogix Ethernet Driver
Designator
Designator Description Formats Range
Type*
IP/Host Name N/A IP Address or host name. Decimal 0-255
1 Port ID Port to backplane. Decimal 1
Optional Multiple Link, Specifies a way out of the EtherNet/IP interface module Decimal *
Routing Path port pairs and must equal 1 (port to the backplane).
CPUSlot Link Address Slot number of the ControlLogix processor. Decimal 0-255
Example
123.123.123.123,1,0
This equates to an Ethernet/IP of 123.123.123.123. The port ID is 1 and the CPU resides in slot 0.
Designator
Designator Description Formats Range
Type*
IP/Host Name N/A CompactLogix Ethernet IP Address or host name. Decimal 0-255
1 Port ID Port to backplane. Decimal 1
Optional Multiple Link, Specifies a way out of the Ethernet port and must Decimal *
Routing Path port pairs equal 1 (port to the backplane).
CPUSlot Link Address Slot number of the CompactLogix processor. Decimal 0-255
Example
123.123.123.123,1,0
This equates to CompactLogix IP of 123.123.123.123. The port ID is 1 and the CPU resides in slot 0.
Designator
Designator Description Formats Range
Type*
IP/Host Name N/A 1788-ENBT IP Address or host name. Decimal 0-255
1 Port ID Port to backplane. Decimal 1
Optional Multiple Link, Specifies a way out of the 1788-ENBT interface module Decimal *
Routing Path port pairs and must equal 1 (port to the backplane).
CPUSlot Link Address Slot number of the FlexLogix processor. Decimal 0-255
Example
123.123.123.123,1,0
This equates to 1788-ENBT IP of 123.123.123.123. The port ID is 1 and the CPU resides in slot 0.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 16
Designator
Designator Description Formats Range
Type*
IP/Host N/A SoftLogix PC NIC IP Address or host name. Decimal 0-255
Name
1 Port ID Port to backplane. Decimal 1
Optional Multiple Link, Specifies a way out of the EtherNet/IP Messaging module Decimal *
Routing Path port pairs and must equal 1 (port to the virtual backplane).
CPUSlot Link Address Slot number of the SoftLogix processor in the virtual Decimal 0-255
backplane.
Example
123.123.123.123,1,1
This equates to SoftLogix PC IP Address of 123.123.123.123. The port ID is 1 and the CPU resides in slot 1.
Note: For information on supplementing a device ID with a routing path to a remote backplane, refer to
Communications Routing.
www. kepware.com
17 Allen-Bradley ControlLogix Ethernet Driver
l TCP/IP Port: This parameter specifies the TCP/IP port number that the device is configured to use. The
default setting is 44818.
l Connection Size: This parameter specifies the number of bytes available on the CIP connection for data
requests and responses. The valid range is 500 to 4000 bytes. The default setting is 500 bytes.
Note: Only the ControlLogix 5500 and CompactLogix 5300 device models support this feature. To support
connection sizes greater than 500 bytes, the device must support Firmware version 20 or later controllers
and Ethernet bridge EN3x, EN2x, or EN5.x. Older Ethernet modules like ENBT and ENET do not support
this feature. Devices that do not meet the necessary requirements automatically fall back to the default
setting of 500 bytes, although the requested size is re-attempted after communications failure.
Important: The Connection Size value may also be requested through the System tag "_
CIPConnectionSizeRequested." For more information, refer to Internal Tags.
l Inactivity Watchdog: This parameter specifies the amount of time a connection can remain idle
(without read/write transactions) before being closed by the controller. In general, the larger the
watchdog value, the more time it takes for connection resources to be released by the controller and vice
versa. The default setting is 32 seconds.
Note: If the Event Log error "CIP connection timed-out while uploading project information" occurs
frequently, increase the Inactivity Watchdog value. Otherwise, an Inactivity Watchdog value of 32
seconds is preferred.
l Array Block Size: This parameter specifies the maximum number of array elements to read in a single
transaction. The value is adjustable and ranges from 30 to 3840 elements. The default setting is 120
elements.
Note: For Boolean arrays, a single element is considered a 32-element bit array. Thus, setting the block
size to 30 elements translates to 960 bit elements, whereas 3840 elements translate to 122880 bit
elements.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 18
Logix Options
l Protocol Mode: This parameter specifies how Logix tag data is read from the controller. This option
should only be changed by advanced users who are looking to increase client/server tag update
performance. Options include Symbolic Mode, Logical Non-Blocking Mode and Logical Blocking Mode. The
server project is interchangeable between these three modes. The default setting is Logical Non-Blocking
Mode. For more information, refer to Choosing a Protocol Mode.
Note: Logical Non-Blocking Mode and Logical Blocking Mode are not available to Serial Gateway models.
l Online Edits: When enabled, the driver synchronizes its own project image with that of the controller
project when an online project edit (or project download from RSLogix/Studio5000) is detected. This
option prevents unnecessary errors from occurring during a project change. It is only available when the
selected protocol is Logical Mode. The default setting is Yes.
l Offline Edits: When enabled, the driver synchronizes its own project image with that of the controller
project when an offline project edit (or project download from RSLogix/Studio5000) is detected. This
option prevents unnecessary errors from occurring during a project change. It is only available when the
selected protocol is Logical Mode. The default setting is Yes.
Caution: Failure to synchronize with project changes can lead to reading from and writing to the wrong
Native tag address.
l Automatically Read String Length: When checked, the driver automatically reads the LEN member of
the STRING structure whenever the DATA member is read. The DATA string is terminated at the first null
character encountered, the character whose position equals the value of LEN, or the maximum string
length of DATA (whichever occurs first). When unchecked, the driver bypasses the LEN member read
and terminates the DATA string at either the first null character encountered or the maximum string
length of DATA (whichever occurs first). Therefore, if LEN is reduced by an external source without
modification to DATA, the driver does not terminate DATA according to this reduced length. The default
setting is Yes.
l Default Type: This parameter specifies the data type assigned to a client/server tag when the default
type is selected during tag addition, modification, or import. The default setting is Default. For more
information, refer to Default Data Type Conditions.
Notes:
1. If Default is selected, the driver retrieves the Logix tag's data type from the controller when a client is
accessing a tag dynamically and does not explicitly assign a data type to the item. For example, a tag
www. kepware.com
19 Allen-Bradley ControlLogix Ethernet Driver
exists in the controller that is called "MyTag" with a data type of REAL. The corresponding client item
is specified as "Channel1.Device1.MyTag" with no data type assigned. With Default specified as the
default data type in the server, the driver reads "MyTag" from the controller and determine that it is a
REAL in the response. Thus, it provides the client item a data type of Float.
2. Since the majority of I/O module tags are not bit-within-Word/DWord tags, it is advised that the
default type be set to the majority data type as observed in the .ACD project. For example, if 75% of
alias I/O module tags are INT tags, set the default type to INT.
l Enable Performance Statistics: The Allen-Bradley ControlLogix Ethernet Driver has the ability to
gather communication statistics to help determine the driver's performance. When checked, this option is
enabled. The driver tracks the number and types of client/server tag updates. On restart of the server
application, the results are displayed in the server's Event Log. The default setting is No.
Note: Once a project configuration is designed for optimal performance, it is recommended that users
disable Performance Statistics. Furthermore, since the statistics are outputted to the Event Log on
shutdown, the server must be re-launched to view the results.
1. A Dynamic tag is created in the client with Native as its assigned data type.
2. A Static tag is created in the server with Default as its assigned data type.
3. In offline automatic tag generation, when an unknown data type is encountered in the L5K/L5X file for
UDTmembers and Alias tags.
4. In offline automatic tag generation, when an alias of the following type is encountered in the L5K/L5X:
a. Alias of an alias.
b. Alias of non bit-within-Word/DWord I/O module tag. For example, if tag "AliasTag" references
I/O module tag "Local:5:C.ProgToFaultEn" @ BOOL, the data type for "AliasTag" cannot be
resolved, so this default type is assigned to it. On the other hand, if "AliasTag" references I/O
module tag "Local:5:C.Ch0Config.RangeType.0" @ BOOL, the data type can be resolved because
of the . (dot) BIT that defines it as a bit-within-Word/DWord. Aliases of bit-within-Word/DWord
I/O module tags are automatically assigned the Boolean data type.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 20
Create Tag Database from Device: This option retrieves tags directly from the controller over the same
Ethernet connection that is used for data access. This option is fast and imports most tags, but requires access
to the controller and does not import descriptions. Tags that are not imported include:
l Add-On Instruction (AOI) InOut parameters
Note: This feature is not available to Serial Gateway models.
Create Tag Database from Import File:This option retrieves tags directly from an RSLogix L5K/L5X file. This
option retrieves tags directly from an RSLogix L5K/L5X file. Controller access is not necessary, descriptions are
imported, and users have the ability to work offline. However, this option is slow and does not import all the tags
in the controller. Tags that are not imported include:
l I/O tags
l Add-On Instruction (AOI) InOut parameters
l AOI parameters that alias other parameters
l Equipment Phase parameters that alias parameters from another Equipment Phase or Program
l Program parameters that alias parameters from another Program or Equipment Phase
l Timer/Counter CTL bits
Tag Import File: This parameter specifies the exact location of the L5K/L5X import file from which tags are
imported.d. This file will be used when Automatic Tag Database Generation is instructed to create the tag
database. All tags, including Global and Program, will be imported and expanded according to their respective
data types.
Display Descriptions: When checked, this option imports tag descriptions. Descriptions are imported for non-
structure, non-array tags only. If necessary, a description is given to tags with long names stating the original
tag name.
www. kepware.com
21 Allen-Bradley ControlLogix Ethernet Driver
l Limit Tag/Group Names to 31 Characters?: When checked, this parameter limits the tag and group
names to 31 characters. Before OPC server version 4.70, tag and group name lengths were restricted to
31 characters; however, the current length restriction of 256 characters can fit Logix 40 character Logix
Tag names. The default setting is unchecked.
Note: If an older OPC server version was used to import tags via L5K/L5X import, inspect the Event Log or
scan the server project to see if any tags were cut due to the character limit. If so, it is recommended that
this option be enabled to preserve the server tag names. OPC client tag references are not affected. If not
chosen, new longer tag names are created for those that were clipped. OPC clients referencing the
clipped tag would have to be changed to reference the new tag.
If an older OPC server version was used to import tags via L5K/L5X import and no tags were clipped due
to the 31 character limit, do not select this option. Similarly, if tags were imported via L5K/L5X with OPC
server version 4.70 or above, do not select this option.
l Tag Hierarchy: This parameter specifies the tag hierarchy. Options include Condensed and Expanded.
The default setting is Expanded. Descriptions of the options are as follows:
l Condensed Mode: In this mode, the server tags created by automatic tag generation follow a
group/tag hierarchy consistent with the tag's address. Groups are created for every segment
preceding the period.
l Expanded Mode: In this mode, the server tags created by automatic tag generation follow a
group/tag hierarchy consistent with the tag hierarchy in RSLogix 5000. This is the default
setting. Groups are created for every segment preceding the period as in Condensed mode, but
groups are also created to represent logical groupings.
Note: For more information on the groups created, refer to Tag Hierarchy.
Note: To enable this functionality, check Allow Automatically Generated Subgroups in device
properties.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 22
l Impose Array Element Count Limit: When checked, an array element count limit is imposed. Tags in
the controller can be declared with very large array dimensions. By default, arrays are completely
expanded during the tag generation process, which becomes time consuming for large arrays. By
imposing a limit, only a specified number of elements from each dimension are generated. Limits only
takes effect when the array dimension size is exceeds the limit. The default setting is unchecked.
l Element Count Limit: This parameter is used to specify the element count limit. The default setting is
2000.
1761-NET-ENI Setup
1761-NET-ENI provides a means of communicating with ControlLogix, CompactLogix, FlexLogix, MicroLogix, SLC
500, and PLC-5 Series PLCs on Ethernet with the Allen-Bradley ControlLogix Ethernet Driver.
Requirements
MicroLogix, SLC 500, or PLC-5 series PLC supporting Full Duplex DF1 utilizing the CH0 RS232 channel.
1761-NET-ENI Device Series A, B, C, or D.
Notes:
1. For communications parameters, database settings, and project/protocol options, ENI ControlLogix,
CompactLogix, and FlexLogix users should refer to the "Logix Setup" book in the Table of Contents.
2. To turn on the CompactLogix Routing option (located in the utility's ENI IP Addr tab), use the ENI /
ENIW utility supplied by Allen-Bradley. This was tested on an ENI module with Firmware revision 2.31.
Important: The ENI module has a limited number of TCP connections. As such, users should avoid applications
that communicate with the module (such as RSLinx/RSWho) so that connections are available for the driver.
ENI Device ID
The device ID specifies the IP address of the 1761-NET-ENI. Device IDs are specified as the following:
<IP Address>
www. kepware.com
23 Allen-Bradley ControlLogix Ethernet Driver
Example
123.123.123.123
This equates to an ENI IP of 123.123.123.123. Since the device only supports Full Duplex DF1, a node ID is not
required.
Note: For more information on communications parameters, refer to Logix Communications Parameters.
Requirements
EtherNet/IP Interface module.
1756-DHRIO Interface Module with appropriate channel configured for DH+.
SLC500 or PLC-5 series PLC on DH+ network.
Note: DH+ Gateway models do not support automatic tag database generation.
Designator
Designator Description Formats Range
Type*
IP/Host Name N/A IP Address or host name. Decimal 0-255
1 Port ID Port to backplane. Decimal 1
Optional Multiple Link, Specifies a way out of the EtherNet/IP interface module Decimal *
Routing Path port pairs and must equal 1 (port to the backplane).
DHRIOSlot Link Address Slot number of the 1756-DHRIO interface module. Decimal 0-255
DHRIO DH+ channel to use. Alpha A and
Channel B
DH+ Node ID DH+ node ID of target PLC in Decimal Format.** Decimal 0-99
Example
123.123.123.123,1,2.A.3
This equates to an Ethernet/IP of 123.123.123.123. The DH+ card resides in slot 2: use DH+ channel A and
addressing target DH+ Node ID 3 (dec).
Example
DH+ Node 10 (octal) in RSWho = DH+ Node 8 (decimal) in DH+ Gateway device ID.
It is important to verify communications with the proper controller. In the example above, if 10 was entered as
the DH+ node ID in the DH+ Gateway device ID, then communications would take place with Node 12 (octal
equivalent of 10 decimal) and not Node 10 (octal). If Node 12 (octal) does not exist, then the DHRIO module
would return DF1 STS 0x02. This means that the link layer cannot guarantee delivery of the packet. In short, the
DH+ node cannot be located on the DH+ network.
Notes:
1. For information on supplementing a device ID with a routing path to a remote DH+ node, refer to
Communications Routing.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 24
Requirements
EtherNet/IP Interface Module.
1756-CNB or 1756-CNBR Interface Module.
PLC-5C series PLC on ControlNet network.
Note: ControlNet Gateway models do not support automatic tag database generation.
Designator
Designator Description Formats Range
Type*
IP/Host N/A IP Address or host name. Decimal 0-255
Name
1 Port ID Port to backplane. Decimal 1
Optional Multiple Link, Specifies a way out of the EtherNet/IP communication Decimal *
Routing Path port pairs module and must equal 1 (port to the backplane).
CNBSlot Link Address Slot Number of the 1756-CNB/CNBR interface module. Decimal 0-255
CNB Channel Port ID The ControlNet channel to use. Alpha A and
B
ControlNet Link Address ControlNet node ID of target PLC in decimal format.** Decimal 0-99
Node ID
Example
123.123.123.123,1,2.A.3
This equates to an Ethernet/IP of 123.123.123.123. The ControlNet card resides in slot 2: use ControlNet
channel A and addressing target ControlNet Node ID 3.
Example
CN node 10 (octal) in RSWho = CN node 8 (decimal) in ControlNet Gateway device ID.
It is important to verify communications with the proper controller. In the example above, if 10 was entered as
the ControlNet node ID in the ControlNet Gateway device ID, communications takes place with Node 12 (octal
equivalent of 10 decimal), not Node 10 (octal). If Node 12 (octal) does not exist, the CNB module returns DF1 STS
0x02. This means that the link layer could not guarantee delivery of the packet. In short, the ControlNet node
could not be located on the ControlNet network.
Notes:
1. For more information on supplementing a device ID with a routing path to remote ControlNet node, refer to
Communications Routing.
www. kepware.com
25 Allen-Bradley ControlLogix Ethernet Driver
Requirements
2 or more EtherNet/IP Interface modules (such as 1756-ENBT).
MicroLogix, SLC500, or PLC-5 series PLC with EtherNet/IPconnectivity.
Note: EthernetIP Gateway models do not support automatic tag database generation.
Designator
Designator Description Formats Range
Type*
IP/Host Name N/A IP Address or host name of the local EtherNet/IP Decimal 0-255
interface module.
1 Port ID Port to backplane. Decimal 1
Optional Multiple Link, Specifies a way out of the EtherNet/IP interface module Decimal *
Routing Path port pairs and must equal 1 (port to the backplane).
ENBTSlot Link Address The slot number of the second EtherNet/IP interface Decimal 0-255
module.
ENBTChannel Port ID The Ethernet/IP port to use. Alpha A and
B
Remote Link Address The remote IPaddress of the target PLC. Decimal 0-255
IPAddress
Example
123.123.123.123,1,2.A.192.168.1.10
This equates to a local IP of 123.123.123.123. The second Ethernet/IP card resides in slot 2: use port A and
addressing target device with IP 192.168.1.10.
Notes:
1. For information on supplementing a device ID with a routing path to a remote Ethernet/IP device, refer to
Communications Routing.
3. When configuring the device ID, users should verify that the device can be detected using the same route
through RSLinx.
Requirements
EtherNet/IP Interface module.
Local CPU with a serial port.
Remote ControlLogix, CompactLogix, FlexLogix, or SoftLogix CPU with a serial port.
Notes:
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 26
Designator
Designator Description Formats Range
Type*
IP/Host Name N/A IP address or host name. Decimal 0-255
1 Port ID Port to backplane. Decimal 1
Optional Multiple Link, Specifies a way out of the EtherNet/IP interface module Decimal *
Routing Path port pairs and must equal 1 (port to the backplane).
CPUSlot Link Address Slot number of the CPU module that contains the serial Decimal 0-255
port used for communications.
Serial Port Serial port channel to use. Alpha A and
Channel B
Station ID DF1 station ID of target PLC in Decimal Format.** Decimal 0-255
Example
123.123.123.123,1,0.A.3
This equates to an Ethernet/IP of 123.123.123.123. The CPU card resides in slot 0: use Channel A (serial port)
and addressing target station ID 3 (dec).
Notes:
1. For information on supplementing a Device ID with a routing path to a remote serial node, refer to
Communications Routing.
3. When configuring the Device ID, users should verify that the device can be detected using the same route
through RSLinx.
<IP or hostname>
Example
123.123.123.123
Note: For more information on communications parameters, refer to ENI DF1/DH+/ControlNet Gateway
Communications Parameters.
www. kepware.com
27 Allen-Bradley ControlLogix Ethernet Driver
l CLENET Port Number: This parameter specifies the port number that the remote device is configured
to use (such as 1756-ENBT). The default setting is 44818.
l Request Size: This parameter specifies the number of bytes that may be requested from a device at one
time. To refine the performance of this driver, configure the request size to one of the following settings:
32, 64, 128, or 232. The default setting is 232 bytes.
l Perform Block Writes for Function Files Supporting Block Writes: Function files are structure-
based files (much like PD and MG data files) and are unique to the MicroLogix 1100, 1200 and 1500.
Supported function files include the following: High-Speed Counter (HSC), Real-Time Clock (RTC),
Channel Communication Status file (CS0), Channel 1 Communication Status file (CS1), and I/O Module
Status file (IOS). For more information, refer to "Block Writes" below.
For applicable function files, data can be written to the device in a single operation. By default, when data
is written to a function file sub element (field within the function file structure), a write operation occurs
immediately for that tag. For such files as the RTC file, whose sub elements include hour (HR), minute
(MIN) and second (SEC), individual writes are not always acceptable. With such sub elements relying
solely on time, values must be written in one operation to avoid time elapsing between sub elements
writes. For this reason, there is the option to "block write" these sub elements. The default setting is
unchecked.
Block Writes
Block writing involves writing to the device the values of every read/write sub element in the function file in a
single write operation. It is not necessary to write to every sub element before performing a block write. Sub
elements that are not affected (written to) have their current value written back to them. For example, if the
current (last read) date and time is 1/1/2001, 12:00.00, DOW = 3 and the hour is changed to 1 o'clock, the
values written to the device are 1/1/2001, 1:00.00, DOW = 3. For more information, refer to the instructions
below.
1. To start, locate the Function File Options tab in Device Properties. Then, select the Perform Block
Writes for Function Files Supporting Block Writes checkbox to notify the driver to utilize block
writes on function files that support block writes.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 28
2. Next, write the desired value to the sub element tag in question. The sub element tag immediately takes
on the value written to it.
Note: After a sub element is written to at least once in block write mode, the tag's value does not originate
from the controller, but instead from the driver's write cache. After the block write is done, all sub
element tag values originate from the controller.
3. Once the entire desired sub elements are written to, perform the block write that sends these values to
the controller. To instantiate a block write, reference tag address RTC:<element>._SET. Setting this tag's
value to 'true' causes a block write to occur based on the current (last read) sub elements and the sub
elements affected (written to). Immediately after setting the tag to 'true', it is automatically reset to
"false." This is the default state and performs no action.
See Also:
Function File Listing
l Add:When clicked, this button inserts the selected module to the selected slot.
Note: Before adding a module, users must know the number of input and output words in each slot. This
www. kepware.com
29 Allen-Bradley ControlLogix Ethernet Driver
is necessary for the driver to correctly address the I/O. To address the I/O in a particular slot, all slots up
to and including that slot must be configured with I/O. For example, if a user is only interested in the I/O
in slot 3, the I/O for slots 1 and 2 must be configured.
l Remove: When clicked, this button deletes the selected model from the selected slot.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 30
www. kepware.com
31 Allen-Bradley ControlLogix Ethernet Driver
Performance Optimizations
Follow these guidelines to optimize the application and gain maximum performance.
For more information on optimization at the communication and application levels, select a link from the list
below.
Optimizing Communications
Optimizing Application
Performance Statistics and Tuning
Performance Tuning Example
Optimizing Communications
As with any programmable controller, there are a variety of ways to enhance the performance and system
communications.
Protocol Mode
The Protocol Mode determines how Logix tag data is accessed from the controller. There are three types of
protocol modes: Symbolic, Logical Non-Blocking and Logical Blocking. Descriptions are as follows:
l Symbolic Mode: Each client/server tag address is represented in the packet by its ASCII character
name.
l Logical Non-Blocking Mode: Each client/server tag is represented by its logical memory address in the
PLC.
l Logical Blocking Mode: The Logix tag is accessed as a single chunk of data. Each client/server tag
(such as MYTIMER.ACC) has a corresponding Logix tag (MYTIMER). Many client/server tags can belong to
the same Logix tag, as in the case of structures. On every read cycle, the Logix tag is read, its block is
updated in the driver cache and all client/server tags are updated from this cache.
Logical Non-Blocking Mode is generally recommended because it is the most efficient mode for gathering and
processing Logix tag data. Symbolic Mode is recommended for backward compatibility, whereas Logical Non-
Blocking Mode is recommended for projects containing a small number of references to UDT and/or predefined
structure Logix tags. Although Logical Blocking Mode can be efficient, it can also hurt performance if used
incorrectly. For more information on each mode's benefits and detriments, refer to Choosing a Protocol Mode.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 32
Users should designate one or more devices for Logical Blocking purposes and one or more devices for Logical
Non-Blocking purposes. This improves performance because different tags in a project are often better suited for
different modes. When utilizing tag division, users should do the following:
1. Assign server tags referencing Atomic Logix tags (array or non-array) to the Logical Non-Blocking device.
2. Assign server tags referencing a Structure Logix tag composed of one-third* or less of the Structure tag
to the Logical Non-Blocking device(s). For example, if there are 55** or less member tags referencing a
PID_ENHANCED Logix tag, all these tags should be assigned to the Logical Non-Blocking device.
3. Assign server tags referencing a Structure Logix tag composed of one-third* or more of the Structure tag
to the Logical Blocking device(s). For example, if there are more than 55** member tags referencing a
PID_ENHANCED Logix tag, all of those tags should be assigned to the Logical Blocking device.
*One-third is not an exact limit, but rather a figure that has held true in a number of studies.
**A PID_ENHANCED structure has 165 tags, so one-third equals 55 tags.
Connection Size
Increasing the ConnectionSize allows more read/write requests per data packet, which provides greater
throughput. Although it also increases the CPU load and response turnaround time, it significantly improves
performance. The Connection Size parameter may be modified in the ControlLogix 5500 and CompactLogix 5300
device models only. For more information, refer to Logix Communications Parameters.
1. Create an alias of the substructure in RSLogix 5000. Then, assign server tags referencing the rest of the
UDT substructure to a Logical Blocking device.
2. Next, assign the server tags referencing the rest of the UDT (but not the substructure) to a Logical Non-
Blocking device.
Multi-Request Packets
The Allen-Bradley ControlLogix Ethernet Driver has been designed to optimize reads and writes. For non-array,
non-string tags (which only request one element), requests are blocked into a single transaction. This provides
drastic improvement in performance over single tag transactions. The only limitation is the number of data bytes
that can fit in a single transaction.
Important: In Symbolic Mode, each tag's ASCII string value is inserted into the request packet until no more tag
requests fit. For optimum performance, users should keep the tag names' size to a minimum. The smaller the tag
name, the more tags that fit in a single transaction and the fewer transactions needed to process all tags.
Block sizes are specified as an element count. A block size of 120 elements means that a maximum of 120 array
elements are read in one request. The maximum block size is 3840 elements. Boolean arrays are treated
differently: in protocol, a Boolean array is a 32-bit array. Thus, requesting element 0 is requesting bits 0 through
31. To maintain consistency in discussion, a Boolean array element is considered a single bit. In summary, the
maximum number of array elements (based on block size of 3840) that can be requested is as follows:122880
BOOL, 3840 SINT, 3840 INT, 3840 DINT and 3840 REAL.
As discussed in Logix Communication Parameters, the block size is adjustable and should be chosen based
on the project at hand. For example, if array elements 0-26 and element 3839 are tags to be read, then using a
www. kepware.com
33 Allen-Bradley ControlLogix Ethernet Driver
block size of 3840 is not only overkill, but detrimental to the driver's performance. This is because all elements
between 0 and 3839 are read on each request, even though only 28 of those elements are of importance. In this
case, a block size of 30 is more appropriate. Elements 0-26 would be serviced in one request and element 3839
would be serviced on the next.
Optimizing Strings
In the Logical Addressing modes, a write to STRING.DATA also writes to STRING.LEN with the proper length
value.
Note: For more information on the "Automatically Read String Length" option, refer to Logix Options.
The server refers to communications protocols like Allen-Bradley ControlLogix Ethernet as a channel. Each
channel defined in the application represents a separate path of execution in the server. Once a channel has been
defined, a series of devices must then be defined under that channel. Each of these devices represents a single
Allen-Bradley Logix CPU from which data is collected. While this approach to defining the application provides a
high level of performance, it doesn't take full advantage of the Allen-Bradley ControlLogix Ethernet Driver or the
network. An example of how the application may appear when configured using a single channel is shown below.
If the driver could only define a single channel, the example above would be the only option available; however,
the driver can define up to 1024 channels. Using multiple channels distributes the data collection workload by
simultaneously issuing multiple requests to the network. An example of how the same application may appear
when configured using multiple channels to improve performance is shown below.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 34
Each device has now been defined under its own channel. In this new
configuration, a single path of execution is dedicated to the task of
gathering data from each device. If the application has fewer devices,
it can be optimized as shown here.
l Device: These statistics provide the data access performance on a particular device.
l Channel: These statistics provide the average data access performance for all the devices under a given
channel with Performance Statistics enabled.
l Driver: These statistics provide the average data access performance for all devices using the Allen-
Bradley ControlLogix Ethernet Driver with Performance Statistics enabled.
Locating Statistics
Server statistics are output to the server's Event Log on shutdown. To view the results, shut down the server and
restart it.
1. Server tags referencing Atomic Logix tags (array or non-array) should be assigned to Logical Non-
Blocking devices.
2. Server tags referencing a Structure Logix tag composed of one-third or less of the Structure tag should
be assigned to Logical Non-Blocking devices.
3. Server tags referencing a Structure Logix tag composed of one-third or more of the Structure tag should
be assigned to Logical Blocking devices.
www. kepware.com
35 Allen-Bradley ControlLogix Ethernet Driver
6. Only the necessary amount of System Overhead Time Slice for Ladder Logic/FBD should allocated to leave
the rest for driver communications.
7. For projects that read a large number of string tags in Logical Mode, uncheck the "Automatically Read
String Length" option located in the Logix Options tab of Device Properties.
For information on increasing driver statistic results, refer to the instructions below. For more information, refer
to Optimizing Application.
1. Devices should be spread across channels. More than one device should not be put on a channel unless
necessary.
2. Load should be spread evenly across devices. A single device should not be overloaded unless necessary.
3. The same Logix tag should not be referenced across different devices.
Note: Although these general rules can help optimize performance, it ultimately depends on the application. The
scan rate can obscure results: if tag requests are light, read and write transactions can complete before the next
request comes in. In this case, Logical Blocking and Logical Non-Blocking will have the same Performance
Statistics results. If tag requests are high (many tags or high scan rates), transaction completion time may take
longer. This is when the strengths and weaknesses of Logical Blocking and Logical Non-Blocking become
apparent. Performance Statistics can help tune the application for maximum performance. For an example, refer
to Performance Tuning Example.
The statistics gathered are relative. Users should start with a server project layout, gather the statistics, and
then tune. It is recommended that more than one trial be used to properly assess the results for a given layout.
Once the most efficient layout is determined, the client application can be built with reassurance that the server
is optimal.
Caution: Performance results obtained using the Quick Client do not equate to performance results obtained
using a client application:several factors produce discrepancies. Although performance tuning with the client
application is more accurate than with the Quick Client, the tuning required not only affects the server project,
but the client application as well. It is recommended that the Quick Client be used to tune the application before
the client application is developed.
Note: The tuning process described below assumes that all tags are being read at a fast scan rate. Writes hinder
the performance.
2 Atomics
1 Atomic Array
1 UDT
1 UDT Array
1 Pre-Defined Type
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 36
2. After performing Automatic Tag Database Generation from this controller, the server produces the
following project.
3. To illustrate the benefits of tag division, this example does not reference all tags. More than one-third of
the ProcessPID tags, less than one-third of the FlowRates tags, and all other tags are referenced. As such,
the new tag count is 105.
4. Next, prepare the client for the test. To do so, launch the Quick Client from the server application by
clicking on the icon as shown below.
www. kepware.com
37 Allen-Bradley ControlLogix Ethernet Driver
5. Once the project is loaded, remove all groups except those containing tags of interest. Statistics and
System tags, for example, are not needed.
Note: For small projects, set the Group Update Rate to 0-10 ms. For large projects, set the rate to 10-
50 ms.
7. Then, select Test 8. Activate items on start. Deactivate items on stop and then set a test interval.
Note: Since this project is fairly small, the interval has been set to 2 minutes. For larger projects, the
interval should be increased to get a more accurate reading.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 38
9. Return to Tools | Test Mode and then disable test mode. All tags should be deactivated.
10. Disconnect the Quick Client so that time trials can begin.
12. Next, launch the server and set the Protocol Mode to Logical Blocking. This is the default setting.
www. kepware.com
39 Allen-Bradley ControlLogix Ethernet Driver
14. Connect to the server using the Quick Client. Then, click Tools | Test Mode. Enable Test Mode.
Note: Data reading begins. When the test interval expires, all tags are deactivated and the driver ceases
statistics gathering. The results can then be viewed.
15. Disconnect the Quick Client from the server and then shutdown the server.
16. Next, re-launch the server and search its Event Log for statistics. The image below displays the first trial
utilizing Logical Blocking for the device.
Note: The image below displays the first trial utilizing Logical Blocking for the channel and driver.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 40
18. Connect to the server using Quick Client. Then, click Tools | Test Mode and enable test mode.
Note: Data reading begins. When the test interval expires, all tags are deactivated and the driver ceases
statistics gathering. The results can then be viewed.
19. Disconnect the Quick Client from the server and then shutdown the server.
20. Next, re-launch the server and then search its Event Log for statistics. The image below displays the
second trial utilizing Logical Non-Blocking for the device.
Note: The image below displays the second trial utilizing Logical Non-Blocking for the channel and driver.
www. kepware.com
41 Allen-Bradley ControlLogix Ethernet Driver
21. From the server, set the Protocol Mode to Symbolic to see how the performance fared prior to Allen-
Bradley ControlLogix Ethernet Driver version 4.6.0.xx.
22. Connect to the server using the Quick Client. Then, click Tools | Test Mode and enable test mode.
Note: Data reading begins. When the test interval expires, all tags are deactivated and the driver ceases
statistics gathering. The results can then be viewed.
23. Disconnect the Quick Client from the server and then shutdown the server.
24. Next, re-launch the server and search its Event Log for statistics. The image below displays the third trial
utilizing Symbolic for the device.
The image below displays the third trial utilizing Symbolic for the channel and driver.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 42
Note: It appears that Logical Blocking is most optimal for the given application.
www. kepware.com
43 Allen-Bradley ControlLogix Ethernet Driver
1. Repeat Steps 4 through 15. In Step 11, make sure that Device 1 is Logical Blocking and Device 2 is Logical
Non-Blocking.
2. Launch the server and search the server Event Log for statistics. The image below displays the fourth trial
utilizing tag division for the device.
Note:The image below displays the fourth trial utilizing tag division for the channel and driver.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 44
Note: The individual device statistics do not look impressive because the two devices are running on separate
statistic counters. The key to this test is that the channel and driver statistics are better (6126) than using one
channel/one device with either Logical Blocking (5972) or Logical Non-Blocking (3705).
Optimize Application
The application can be optimized by moving Device 1 to one channel and Device 2 to another.
www. kepware.com
45 Allen-Bradley ControlLogix Ethernet Driver
1. Repeat Steps 4 through 15. In Step 11, make sure Channel1.Device 1 is Logical Blocking and
Channel2.Device 2 is Logical Non-Blocking.
2. Launch the server and search the server Event Log for statistics. The image below displays the fifth trial
utilizing Logix tag coupled with multiple channels for Channel 1.Device1.
Note: The image below displays the fourth trial utilizing Logix tag for Channel2.Device2.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 46
Note: The image below displays the fourth trial utilizing tag division for the driver.
Results
Driver Performance Improvement
Server Project Layout
(Reads/Second) Over Symbolic
Single Channel 5972 768%
Single Device with Logical Blocking
Single Channel 3705 476%
Single Device with Logical Non-Blocking
Single Channel 777 N/A
Single Device with Symbolic
Single Channel 6126 788%
Multiple Devices with Tag Division
Multiple Channels 6426 827%
Multiple Devices with Tag Division
Conclusions
The project began with a single channel and a single device, which is the default behavior for a single controller.
All tags were imported from this controller to this channel.device. All three protocol modes were then tested to
see which would provide the best performance. In this case, Logical Blocking Protocol was the best. The best
protocol depends on the application at hand. When performance is crucial, it is worth performing Logical
www. kepware.com
47 Allen-Bradley ControlLogix Ethernet Driver
Blocking and Logical Non-Blocking trials to determine which is the best protocol mode for the application.
Symbolic protocol is not necessary because it never meets the performance caliber of either of the other protocol
modes. It is shown here for the sake of the example.
Measures were taken to optimize communications using the tips outlined in Optimizing Communications. Most
notably, tag division was used to place the Logical Blocking type tags in a device assigned Logical Blocking and
the Logical Non-Blocking type tags in a device assigned Logical Non-Blocking. Furthermore, both devices resided
on the same channel. The results show an improvement over using Logical Blocking on a single device. This is
because some tags lend themselves better to one protocol mode over another. For example, reading an entire
COUNTER benefits from Logical Blocking over Logical Non-Blocking since it's much faster reading the COUNTER
as a block then as individual members.
Measures were also taken to optimize the application by placing devices on their own channel. Using the devices
created in the previous trial, a Logical Blocking device was placed on one channel and a Logical Non-Blocking
device on another. The results show improvement over the single channel/multiple devices scenario from the
previous trial. This reinforces the idea that performance is improved by having as few devices per channel and as
many channels as necessary.
After using these three optimization methods, the project has an 827% performance increase over Allen-Bradley
ControlLogix Ethernet Driver version earlier than 4.6.0.xx. Tag division and multiple channels improved the
performance by 107%. The performance increases is more apparent with larger projects.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 48
Note: For a description of Logix platform-specific data types, refer to Logix Advanced Addressing.
www. kepware.com
49 Allen-Bradley ControlLogix Ethernet Driver
Address Descriptions
Address specifications vary depending on the model in use. For the model of interest's address information, refer
to the table below.
Note: For more information on the controller's pre-defined data types, refer to the device's documentation.
Logix Addressing
For more information on these models' tag-based addressing and relationship to the Allen-Bradley ControlLogix
Ethernet Driver, refer to Logix Tag-Based Addressing.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 50
MicroLogix Addressing
MicroLogix Addressing for EtherNet/IP Gateway
The actual number of addresses available depends on the model of the PLC. The ranges have been opened up to
allow for maximum flexibility with future models. If the driver finds at Runtime that an address is not present in
the device, it posts an error message and then removes the tag from its scan list. For more information on file-
specific addressing, select a link from the list below.
Output Files
Input Files
Status Files
Binary Files
Timer Files
Counter Files
Control Files
Integer Files
Float Files
ASCIIFiles
String Files
Long Files
MicroLogix PID Files
MicroLogix Message Files
For information on function files, select a link from the list below.
Output Files
www. kepware.com
51 Allen-Bradley ControlLogix Ethernet Driver
Input Files
Status Files
Binary Files
Timer Files
Counter Files
Control Files
Integer Files
Float Files
ASCIIFiles
String Files
Long Files
MicroLogix PID Files
MicroLogix Message Files
For information on function files, select a link from the list below.
Output Files
Input Files
Status Files
Binary Files
Timer Files
Counter Files
Control Files
Integer Files
Float Files
String Files
Long Files
MicroLogix PID Files
MicroLogix Message Files
For information on function files, select a link from the list below.
Output Files
Input Files
Status Files
Binary Files
Timer Files
Counter Files
Control Files
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 52
Integer Files
Float Files
ASCII Files
String Files
Long Files
MicroLogix PID Files
MicroLogix Message Files
For information on function files, select a link from the list below.
Output Files
Input Files
Status Files
Binary Files
Timer Files
Counter Files
Control Files
Integer Files
Output Files
Input Files
Status Files
Binary Files
Timer Files
Counter Files
Control Files
Integer Files
Output Files
Input Files
Status Files
Binary Files
Timer Files
Counter Files
Control Files
Integer Files
Float Files
ASCII Files
String Files
www. kepware.com
53 Allen-Bradley ControlLogix Ethernet Driver
The actual number of addresses available depends on the model of the PLC. The ranges have been opened up to
allow for maximum flexibility with future models. If the driver finds at Runtime that an address is not present in
the device, it posts an error message and then removes the tag from its scan list. For more information on file-
specific addressing, select a link from the list below.
Output Files
Input Files
Status Files
Binary Files
Timer Files
Counter Files
Control Files
Integer Files
Float Files
ASCII Files
String Files
Output Files
Input Files
Status Files
Binary Files
Timer Files
Counter Files
Control Files
Integer Files
Float Files
ASCII Files
String Files
Output Files
Input Files
Status Files
Binary Files
Timer Files
Counter Files
Control Files
Integer Files
Float Files
ASCII Files
String Files
BCD Files
PID Files
Message Files
Block Transfer Files
Output Files
Input Files
Status Files
Binary Files
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 54
Timer Files
Counter Files
Control Files
Integer Files
Float Files
ASCII Files
String Files
BCD Files
PID Files
Message Files
Block Transfer Files
Output Files
Input Files
Status Files
Binary Files
Timer Files
Counter Files
Control Files
Integer Files
Float Files
ASCII Files
String Files
BCD Files
PID Files
Message Files
Block Transfer Files
Output Files
Input Files
Status Files
Binary Files
Timer Files
Counter Files
Control Files
Integer Files
Float Files
ASCII Files
String Files
BCD Files
PID Files
Message Files
Block Transfer Files
Note: Throughout this help file, Logix tags are assumed to be global in nature unless specified otherwise.
The Allen-Bradley ControlLogix Ethernet Driver allows users to access the controller's atomic data types: BOOL,
SINT, INT, DINT, LINT, and REAL. Although some of the pre-defined types are structures, they are ultimately
based on these atomic data types. Thus, all non-structure (atomic) members of a structure are accessible. For
example, a TIMER cannot be assigned to a server tag but an atomic member of the TIMER can be assigned to the
tag (such as TIMER.EN, TIMER.ACC, and so forth). If a structure member is a structure itself, both structures
www. kepware.com
55 Allen-Bradley ControlLogix Ethernet Driver
would have to be expanded to access an atomic member of the substructure. This is more common with user and
module-defined types and is not found in any of the pre-defined types.
Atomic Data
Description Range
Type
BOOL Single-bit value VT_ 0, 1
BOOL
SINT Signed 8-bit value VT_UI1 -128 to 127
INT Signed 16-bit value VT_I2 -32,768 to 32,767
DINT Signed 32-bit value VT_I4 -2,147,483,648 to 2,147,483,647
LINT Signed 64-bit value VT_I8 9,223,372,036,854,775,808 to
9,223,372,036,854,775,807
REAL 32-bit IEEE floating VT_R4 1.1755 E-38 to 3.403E38, 0, -3.403E-38 to -1.1755
point
Note: Logix tag names should be kept to a minimum in size for optimum performance. The smaller the name, the
more requests that are able fit in a single transaction.
Important: Symbolic Mode users should keep the client/server tag addresses below 400 characters. For
example, tagarray[1,2,4].somestruct.substruct_array[3].basetag.[4] is 57 characters in length. Since a packet
can only hold 500 data bytes, any overhead bytes that need to be added to the packet can greatly diminish the
room available to the characters themselves. By keeping the address below 400, the tag request remains
complete and valid.
Address Formats
There are several ways to address a Logix tag statically in the server or dynamically from a client. The format
used depends on the type and usage of the tag. For example, the bit format would be used when accessing a bit
within a SINT-type tag. For information on address format and syntax, refer to the table below.
Note: All formats except for Array and String are native to RSLogix5000. Therefore, when referencing an atomic
data type, an RSLogix 5000 tag name can be copied and pasted into the server's tag address field and be valid.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 56
*Since this format may request more than one element, the order in which array data is passed depends on the
dimension of the Logix Array tag. For example, if rows times cols = 4 and the Controller tag is a 3X3 element
array, then the elements that are being referenced are array_tag [0,0], array_tag [0,1], array_tag [0,2], and
array_tag [1,0] in that exact order. The results would be different if the Controller tag were a 2X10 element
array.
Note: For more information on how elements are referenced for 1, 2 and 3 dimensional arrays, refer to Ordering
of Array Data.
Tag Scope
Global Tags
Global tags are Logix tags that have global scope in the controller. Any program or task can access Global tags;
however, the number of ways a Global tag can be referenced depends on its Logix data type and the address
format being used.
Program Tags
Program tags are identical to Global tags except that a Program tag's scope is local to the program in which it is
defined. Program tags follow the same addressing rules and limitations as Global tags, but are prefixed with the
following notation:
For example, Logix tag "tag_1" in program "prog_1" would be addressed as "Program:prog_1.tag_1" in a
client/server tag address.
<structure name> . <substructure array name> [dim1, dim2, dim3] . <atomic-type tag>
Note: The examples above are only a few of the addressing possibilities that involve structures, and are
displayed to provide an introduction to structure addressing. For more information, refer to Allen-Bradley or
Rockwell documentation.
www. kepware.com
57 Allen-Bradley ControlLogix Ethernet Driver
Internal Tags
Internal tags are not visible in the server configuration, but can be browsed by the OPC client and found under
the <Channel Name>.<Device Name> group. The _CIPConnectionSizeRequested tag reflects the CIP connection
size that was requested. The _CIPConnectionSizeActual tag reflects the actual CIP connection size that is in use.
Its value differ from the _CIPConnectionSizeRequested tag if the value requested is not supported by the device.
For more information on the connection size, refer to Logix Communications Parameters.
Note: The tags described in the table below are only valid for the ControlLogix 5500 and CompactLogix 5300
device models.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 58
Advanced
Client/Server LINTTAG LINTARR[0] LINTARR[0]{4}
Tag Example
REAL
Client/Server Float Float Float Array See Advanced
Data Type Addressing
REAL.
Advanced
Client/Server REALTAG REALARR[0] REALARR[0]{4}
Tag Example
Logix Tag
MyTimer @ TIMER
Client/Server Tag
1. Invalid
2. Valid
TimerTag address = MyTimer.ACC
TimerTag data type = DWord
www. kepware.com
59 Allen-Bradley ControlLogix Ethernet Driver
Because LEN and DATA are atomic members, they must be referenced independently from a client/server. The
syntax is as shown below.
Reads
The STRING read from DATA is terminated by the following:
Example
MYSTRING.DATA contains "Hello World" in the PLC, but LEN is manually set to 5. A read of MYSTRING.DATA/82
displays "Hello". If LEN is set to 20, MYSTRING.DATA/82 displays "Hello World".
Writes
When a STRING value is written to DATA, the driver also writes to LEN with the length of DATA written. If the
write to LEN fails for any reason, the write operation to DATA is considered failed as well (despite the fact that the
DATA write to the controller succeeded).
Note: This behavior was designed specifically for Logix tags of type STRING or a custom derivative of it. The
following precautions apply to users who wish to implement their own STRING in UDTs.
l If a UDT exists that has a DATA member referenced as a STRING and a LEN member referenced as a DINT,
the write to LEN succeeds regardless of the intentions of LEN for the given UDT. Care must be taken when
designing UDTs to avoid this possibility if LEN is not intended to be the length of DATA.
l If a UDT exists that has a DATA member referenced as a STRING but does not have a LEN member, the
write to LEN fails silently without consequence to DATA.
Example
MYSTRING.DATA/82 holds the value "Hello World." MYSTRING.LEN holds 11. If the value "Alarm Triggered" is
written to MYSTRING.DATA/82, 15 is written to MYSTRING.LEN. If the write to MYSTRING.LEN fails,
MYSTRING.LEN holds its previous value of 11 while MYSTRING.DATA/82 displays the first 11 characters ("Alarm
Trigg"). If the write to MYSTRING.DATA/82 fails, neither tag is affected.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 60
array [1, 2]
array [2, 0]
array [2, 1]
array [2, 2]
BOOL
SINT
INT
DINT
LINT
REAL
www. kepware.com
61 Allen-Bradley ControlLogix Ethernet Driver
*The float value equals the face value of the Controller tag in float form (non-IEEE floating-point number).
Examples
Examples highlighted in yellow signify common use cases.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 62
Examples
Examples highlighted in yellow signify common use cases.
www. kepware.com
63 Allen-Bradley ControlLogix Ethernet Driver
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 64
Examples
Examples highlighted in yellow signify common use cases.
www. kepware.com
65 Allen-Bradley ControlLogix Ethernet Driver
Data
Server Tag Address Class Notes
Type
intarraytag Standard Boolean Invalid: Tag cannot be an array.
intarraytag Standard Byte Invalid: Tag cannot be an array.
intarraytag Standard Word Invalid: Tag cannot be an array.
intarraytag Standard DWord Invalid: Tag cannot be an array.
intarraytag Standard Float Invalid: Tag cannot be an array.
intarraytag [3] Array Element Word Invalid: Server tag missing dimension 2 address.
intarraytag [1,3] Array Element Boolean Invalid: Boolean not allowed for array elements.
intarraytag [1,3] Array Element Word Value = 259
intarraytag {10} Array w/o Byte Value = [73,78,84,255,255,255,255,255,9,10]
Offset
intarraytag {2} {5} Array w/o Word Value = [73,78,84,255,256] [257,258,259,9,10]
Offset
intarraytag {1} Array w/o Word Value = 73
Offset
intarraytag {1} Array w/o Boolean Invalid: Bad data type.
Offset
intarraytag [1,3] {4} Array w/ Offset Word Value = [259,9,10,11]
intarraytag . 3 Bit Boolean Invalid: Tag must reference atomic location.
intarraytag [1,3] . 3 Bit Boolean Value = 0
intarraytag [1,3] . 0 Array w/o Boolean Value = [1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0]
{16} Offset Bit value for 259
intarraytag / 1 String String Value = "I"
intarraytag / 3 String String Value = "INT"
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 66
Examples
Examples highlighted in yellow signify common use cases.
www. kepware.com
67 Allen-Bradley ControlLogix Ethernet Driver
Data
Server Tag Address Format Notes
Type
dintarraytag [1,3] Array Element DWord Value = 259
dintarraytag {10} Array w/o Byte Value = [68,73,78,84,255,255,255,255,9,10]
Offset
dintarraytag {2}{5} Array w/o DWord Value = [68,73,78,84,256] [257,258,259,9,10]
Offset
dintarraytag {1} Array w/o DWord Value = 68
Offset
dintarraytag {1} Array w/o Boolean Invalid: Bad data type.
Offset
dintarraytag [1,3]{4} Array w/ Offset DWord Value = [259,9,10,11]
dintarraytag . 3 Bit Boolean Invalid: Tag must reference atomic location.
dintarraytag [1,3] . 3 Bit Boolean Value = 0
dintarraytag [1,3] .0 Array w/o Boolean Value = [1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0]
{32} Offset Bit value for 259
dintarraytag / 1 String String Value = "D"
dintarraytag / 3 String String Value = "DINT"
Supported Data
Format Notes
Types
Standard Double*, Date** None
Array Element Double*, Date** The Controller tag must be an array.
Array w/o Double, Array* If accessing more than a single element, the Controller tag must be
Offset an array.
Array w/ Double, Array* The Controller tag must be an array.
Offset
Bit N/A Not supported.
String N/A Not supported.
*Double value equals face value of Controller tag in float form (non-IEEE floating-point number).
**Date values are in universal time (UTC), not localized time.
Examples
Examples highlighted in yellow signify common use cases.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 68
9.4666E+14 == 1999-12-31T17:06:40.000
9.46746E+14 == 2000-01-1T17:00:00.000
0 == 1970-01-01T00:00:00.000
Data
Server Tag Address Format Notes
Type
lintarraytag Standard Boolean Invalid: Boolean not supported.
lintarraytag Standard Byte Invalid: Byte not supported.
lintarraytag Standard Word Invalid: Word not supported.
lintarraytag Standard Double Invalid: Tag cannot be an array.
lintarraytag Standard Date Invalid: Tag cannot be an array.
lintarraytag [1] Array Element Double Invalid: Server tag missing dimension 2 address.
lintarraytag [1,1] Array Element Boolean Invalid: Boolean not allowed for array elements.
lintarraytag [1,1] Array Element Double Value = 9.46746E+14
lintarraytag [1,1] Array Element Date Value = 2000-01-01T17:00:00.000*
lintarraytag {4} Array w/o Double Value = [0, 1.16767E+15, 9.4666E+14,
Offset 9.46746E+14]
lintarraytag {2} {2} Array w/o Double Value = [0, 1.16767E+15][9.4666E+14,
Offset 9.46746E+14]
lintarraytag {4} Array w/o Date Invalid: Date array not supported.
Offset
lintarraytag {1} Array w/o Double Value = 0
Offset
lintarraytag {1} Array w/o Boolean Invalid: Bad data type.
Offset
lintarraytag [0,1] Array w/ Offset Double Value = [1.16767E+15, 9.4666E+14]
{2}
lintarraytag . 3 Bit Boolean Invalid: Syntax/data type not supported.
lintarraytag / 1 String String Invalid: Syntax/data type not supported.
www. kepware.com
69 Allen-Bradley ControlLogix Ethernet Driver
Examples
Examples highlighted in yellow signify common use cases.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 70
Data
Server Tag Address Format Notes
Type
realarraytag Standard Byte Invalid: Tag cannot be an array.
realarraytag Standard Word Invalid: Tag cannot be an array.
realarraytag Standard DWord Invalid: Tag cannot be an array.
realarraytag Standard Float Invalid: Tag cannot be an array.
realarraytag [3] Array Float Invalid: Server tag missing dimension 2 address.
Element
realarraytag [1,3] Array Boolean Invalid: Boolean not allowed for array elements.
Element
realarraytag [1,3] Array Float Value = 259.8
Element
realarraytag {10} Array w/o Byte Value = [82,69,65,76,255,255,255,255,9,10]
Offset
realarraytag {2} {5} Array w/o Float Value = [82.1,69.2,65.3,76.4,256.5]
Offset [257.6,258.7,259.8,9,10]
realarraytag {1} Array w/o Float Value = 82.1
Offset
realarraytag {1} Array w/o Boolean Invalid: Bad data type.
Offset
realarraytag [1,3] {4} Array w/ Float Value = [259.8,9.0,10.0,11.0]
Offset
realarraytag . 3 Bit Boolean Invalid: Tag must reference atomic location.
realarraytag [1,3] . 3 Bit Boolean Value = 0
realarraytag [1,3] . 0 Array w/o Boolean Value = [1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0]
{32} Offset Bit value for 259
realarraytag / 1 String String Value = "R"
realarraytag / 3 String String Value = "REAL"
File Listing
Select a link from the list below for information on a specific file supported by various device models.
Output Files
Input Files
Status Files
Binary Files
Timer Files
Counter Files
Control Files
Integer Files
Float Files
ASCII Files
String Files
BCD Files
Long Files
MicroLogix PID Files
PID Files
MicroLogix Message Files
Message Files
Block Transfer Files
Note: For more information on device models and their supported files, refer to Address Descriptions.
www. kepware.com
71 Allen-Bradley ControlLogix Ethernet Driver
Output Files
The syntax for accessing data in the output file differs depending on the PLC model. Arrays are not supported for
output files. The default data types are shown in bold.
PLC-5 Syntax
Syntax Data Type Access
O:<word> Short, Word, BCD Read/Write
O:<word>/<bit> Boolean Read/Write
O/bit Boolean Read/Write
Note: Word and bit address information is in octal for PLC-5 models. This follows the convention of the
programming software.
MicroLogix Syntax
Syntax Data Type Access
O:<word> Short, Word, BCD Read/Write
O:<word>/<bit> Boolean Read/Write
O/bit Boolean Read/Write
MicroLogix models have two types of I/O: embedded I/O and expansion I/O (not applicable for MicroLogix 1000).
Embedded I/O resides with the CPU base unit while Expansion I/O plugs into the CPU base unit. The table below
lists the I/O capabilities of each MicroLogix model.
The address syntax for MicroLogix I/O references a zero-based word offset, not a slot. Users must determine the
word offset to a particular slot. This requires knowledge of the modules and their respective size in words. The
table below specifies the size of some available modules; however, it is recommended that users consult both the
MicroLogix documentation and the controller project to determine the module's true word size.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 72
Calculation
Output Word Offset for slot x = # Output Words in slot 0 through slot (x-1).
Notes:
1. The Embedded I/O needs to be taken into account when offsetting to Expansion I/O.
2. The number of Input words does not factor into the calculation for Output Word Offset.
I/O Example
Let
Slot 0 = MicroLogix 1500 LRP Series C = 4 Output Words
Slot 1 = 1769-OF2 = 2 Output Words
Slot 2 = 1769-OW8 = 1 Output Word
Slot 3 = 1769-IA16 = 0 Output Word
Slot 4 = 1769-OF8V = 9 Output Word
Bit 5 of Slot 4 = 4 + 2 + 1 = 7 words = O:7/5
www. kepware.com
73 Allen-Bradley ControlLogix Ethernet Driver
Ranges
PLC Model Min. Slot Max. Slot Max. Word
MicroLogix N/A N/A 2047
SLC 500 Fixed I/O N/A N/A 1
SLC 500 Modular I/O 1 30 *
PLC-5 Series N/A N/A 277 (octal)
*The number of Input or Output words available for each I/O module can be found in the SLC 500 Modular I/O
Selection Guide. For slot configuration help, refer to Device Setup.
Examples
MicroLogix Description
O:0 word 0
O/2 bit 2
O:0/5 bit 5
PLC5* Description
O:0 word 0
O:37 word 31 (37 octal = 31 decimal)
O/42 bit 34 (42 octal = 34 decimal)
O:2/2 bit 2 word 2 (same as O/42)
Input Files
The syntax for accessing data in the input file differs depending on the PLC model. Arrays are not supported for
input files. The default data types are shown in bold.
PLC-5 Syntax
Syntax Data Type Access
I:<word> Short, Word, BCD Read/Write
I:<word>/<bit> Boolean Read/Write
I/bit Boolean Read/Write
Note: Word and bit address information is in octal for PLC-5 models. This follows the convention of the
programming software.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 74
MicroLogix Syntax
Syntax Data Type Access
I:<word> Short, Word, BCD Read/Write
I:<word>/<bit> Boolean Read/Write
I/bit Boolean Read/Write
MicroLogix models have two types of I/O: embedded I/O and expansion I/O (not applicable for MicroLogix 1000).
Embedded I/O resides with the CPU base unit while Expansion I/O plugs into the CPU base unit. The table below
lists the I/O capabilities of each MicroLogix model.
The address syntax for MicroLogix I/O references a zero-based word offset, not a slot. Users must determine the
word offset to a particular slot. This requires knowledge of the modules and their respective size in words. The
table below specifies the size of some available modules; however, it is recommended that the MicroLogix
documentation and controller project be consulted to determine a module's true word size.
www. kepware.com
75 Allen-Bradley ControlLogix Ethernet Driver
Calculation
Input Word Offset for slot x = # Input Words in slot 0 through slot (x-1).
Notes:
1. The Embedded I/O needs to be taken into account when offsetting to Expansion I/O.
2. The number of Output words does not factor into the calculation for Input Word Offset.
I/O Example
Let
Slot 0 = MicroLogix 1500 LRP Series C = 4 Input Words
Slot 1 = 1769-OF2 = 2 Input Words
Slot 2 = 1769-OW8 = 0 Input Word
Slot 3 = 1769-IA16 = 1 Input Word
Slot 4 = 1769-OF8V = 11 Input Word
Bit 5 of Slot 3 = 4 + 2 = 6 words = I:6/5
Ranges
PLC Model Min. Slot Max. Slot Max. Word
MicroLogix N/A N/A 2047
SLC 500 Fixed I/O N/A N/A 1
SLC 500 Modular I/O 1 30 *
PLC-5 Series N/A N/A 277 (octal)
*The number of Input or Output words available for each I/O module can be found in the SLC 500 Modular I/O
Selection Guide. For slot configuration help, refer to Device Setup.
Examples
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 76
MicroLogix Description
I:0 Word 0
I/2 Bit 2
I:1/5 Bit 5 word 1
PLC5* Description
I:0 Word 0
I:10 Word 8 (10 octal = 8 decimal)
I/20 Bit 16 (20 octal = 16 decimal)
I:1/0 Bit 0 word 1 (same as I/20)
Status Files
To access status files, specify a word and an optional bit in the word. The default data types are shown in bold.
The number of array elements (in bytes) cannot exceed the block request size specified. This means that the
array size cannot exceed 16 words given a block request size of 32 bytes.
Ranges
PLC Model Max. Word
MicroLogix 999
SLC 500 Fixed I/O 96
SLC 500 Modular I/O 999
PLC-5 Series 999
The maximum word location is one less when accessing as a 32-bit data type (such as Long, DWord, or Long
BCD).
Examples
Example Description
S:0 Word 0
S/26 Bit 26
www. kepware.com
77 Allen-Bradley ControlLogix Ethernet Driver
Example Description
S:4/15 Bit 15 word 4
S:10 [16] 16 element array starting at word 10
S:0 [4] [8] 4 by 8 element array starting at word 0
Binary Files
To access binary files, specify a file number, a word and optional bit in the word. The default data types are
shown in bold.
The number of array elements (in bytes) cannot exceed the block request size specified. This means that array
size cannot exceed 16 words given a block request size of 32 bytes.
Ranges
PLC Model File Number Max. Word
MicroLogix 3, 9-999 999
SLC 500 Fixed I/O 3, 9-255 255
SLC 500 Modular I/O 3, 9-999 999
PLC-5 Series 3-999 1999
The maximum word location is one less when accessing as a 32-bit data type (such as Long, DWord, or Long
BCD).
Examples
Example Description
B3:0 Word 0
B3/26 Bit 26
B12:4/15 Bit 15 word 4
B3:10 [20] 20 element array starting at word 10
B15:0 [6] [6] 6 by 6 element array starting at word 0
Timer Files
Timer files are a structured type whose data is accessed by specifying a file number, an element and a field. The
default data types are shown in bold.
The following fields are allowed for each element. For the meaning of each field, refer to the PLC's documentation.
Ranges
PLC Model File Number Max. Element
MicroLogix 4, 9-999 999
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 78
Examples
Example Description
T4:0.ACC Accumulator of timer 0 file 4
T4:10.DN Done bit of timer 10 file 4
T15:0.PRE Preset of timer 0 file 15
Counter Files
Counter files are a structured type whose data is accessed by specifying a file number, an element, and a field.
The default data types are shown in bold.
The following fields are allowed for each element. For the meaning of each field, refer to the PLC's documentation.
Ranges
PLC Model File Number Max. Element
MicroLogix 5, 9-999 999
SLC 500 Fixed I/O 5, 9-255 255
SLC 500 Modular I/O 5, 9-999 999
PLC-5 Series 3-999 1999
Examples
Example Description
C5:0.ACC Accumulator of counter 0 file 5
C5:10.DN Done bit of counter 10 file 5
C15:0.PRE Preset of counter 0 file 15
Control Files
Control files are a structured type whose data is accessed by specifying a file number, an element, and a field.
The default data types are shown in bold.
The following fields are allowed for each element. For the meaning of each field, refer to the PLC's documentation.
www. kepware.com
79 Allen-Bradley ControlLogix Ethernet Driver
Ranges
PLC Model File Number Max. Element
MicroLogix 6, 9-999 999
SLC 500 Fixed I/O 6, 9-255 255
SLC 500 Modular I/O 6, 9-999 999
PLC-5 Series 3-999 1999
Examples
Example Description
R6:0.LEN Length field of control 0 file 6
R6:10.DN Done bit of control 10 file 6
R15:18.POS Position field of control 18 file 15
Integer Files
To access integer files, specify a file number, a word, and an optional bit in the word. The default data types are
shown in bold.
The number of array elements (in bytes) cannot exceed the block request size specified. This means that array
size cannot exceed 16 words given a block request size of 32 bytes.
Ranges
PLC Model File Number Max. Word
MicroLogix 7, 9-999 999
SLC 500 Fixed I/O 7, 9-255 255
SLC 500 Modular I/O 7, 9-999 999
PLC-5 Series 3-999 1999
The maximum word location is one less when accessing as a 32-bit data type (such as Long, DWord, or Long
BCD).
Examples
Example Description
N7:0 Word 0
N7/26 Bit 26
N12:4/15 Bit 15 word 4
N7:10 [8] 8 element array starting at word 10
N15:0 [4] [5] 4 by 5 element array starting at word 0
Float Files
To access float files, specify a file number and an element. The default data types are shown in bold.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 80
The number of array elements (in bytes) cannot exceed the block request size specified. This means that array
size cannot exceed 8 floats given a block request size of 32 bytes.
Ranges
PLC Model File Number Max. Word
MicroLogix 8-999 999
SLC 500 Fixed I/O N/A N/A
SLC 500 Modular I/O 8-999 999
PLC-5 Series 3-999 1999
Examples
Example Description
F8:0 Float 0
F8:10 [16] 16 element array starting at word 10
F15:0 [4] [4] 16 element array starting at word 0
ASCII Files
To access ASCII file data, specify a file number and a character location. The default data types are shown in
bold.
*The number of array elements cannot exceed the block request size specified. Internally, the PLC packs two
characters per word in the file, with the high byte containing the first character and the low byte containing the
second character. The PLC programming software allows access at the word level or two-character level.
TheAllen-Bradley ControlLogix Ethernet Driver allows accessing to the character level.
Using the programming software, "A10:0 = AB," would result in 'A' being stored in the high byte of A10:0 and 'B'
being stored in the low byte. Using the Allen-Bradley ControlLogix Ethernet Driver, two assignments would be
made: "A10:0 = A" and "A10:1 = B." This would result in the same data being stored in the PLC memory.
**Referencing this file as string data allows access to data at word boundaries like the programming software.
The length can be up to 232 characters. If a string that is sent to the device is smaller in length than the length
specified by the address, the driver null terminates the string before sending it down to the controller.
Ranges
PLC Model File Number Max. Character
MicroLogix 3-255 511
SLC 500 Fixed I/O N/A N/A
SLC 500 Modular I/O 9-999 1999
PLC-5 Series 3-999 1999
Note: Not all MicroLogix and SLC 500 PLC devices support ASCII file types. For more information, refer to the
PLC's documentation.
Examples
Example Description
A9:0 character 0 (high byte of word 0)
A27:10 [80] 80 character array starting at character 10
www. kepware.com
81 Allen-Bradley ControlLogix Ethernet Driver
Example Description
A15:0 [4] [16] 4 by 16 character array starting at character 0
A62:0/32 32 character string starting at word offset 0
String Files
To access string files, specify a file number and an element. Strings are 82 character null terminated arrays. The
driver places the null terminator based on the string length returned by the PLC. The default data types are
shown in bold.
Ranges
PLC Model File Number Max. Word
MicroLogix 9-999 999
SLC 500 Fixed I/O N/A N/A
SLC 500 Modular I/O 9-999 999
PLC-5 Series 3-999 999
Examples
Example Description
ST9:0 String 0
ST18:10 String 10
BCD Files
To access BCD files, specify a file number and a word. The default data types are shown in bold.
PLC-5 Syntax
Syntax Data Type Access
D<file>:<word> BCD, LBCD Read/Write
D<file>:<word> [rows][cols] BCD, LBCD (array type) Read/Write
D<file>:<word> [cols] BCD, LBCD (array type) Read/Write
The number of array elements (in bytes) cannot exceed the block request size specified. This means that array
size cannot exceed 16 BCD, given a block request size of 32 bytes.
Ranges
PLC Model File Number Max. Word
MicroLogix N/A N/A
SLC 500 Fixed I/O N/A N/A
SLC 500 Modular I/O N/A N/A
PLC-5 Series 3-999 999
Examples
Example Description
D9:0 word 0
D27:10 [16] 16 element array starting at word 10
D15:0 [4][8] 32 element array starting at word 0
Long Files
To access long integer files, specify a file number and an element. The default data types are shown in bold.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 82
The number of array elements (in bytes) cannot exceed the block request size specified. This means that array
size cannot exceed 8 longs given a block request size of 32 bytes.
Ranges
PLC Model File Number Max. Word
MicroLogix 9-999 999
SLC 500 Fixed I/O N/A N/A
SLC 500 Modular I/O N/A N/A
PLC-5 Series N/A N/A
Examples
Example Description
L9:0 word 0
L9:10 [8] 8 element array starting at word 10
L15:0 [4] [5] 4 by 5 element array starting at word 0
The following fields are allowed for each element. For the meaning of each field, refer to the PLC's documentation
for the meaning of each field.
www. kepware.com
83 Allen-Bradley ControlLogix Ethernet Driver
Ranges
PLC Model File Number Max. Element
MicroLogix 3-255 255
All SLC N/A N/A
PLC-5 PID Files PID Files
Examples
Example Description
PD14:0.KC Proportional gain of PD 0 file 14
PD18:6.EN PID enable bit of PD 6 file 18
PID Files
PID files are a structured type whose data is accessed by specifying a file number, an element, and a field. The
default data types are shown in bold.
PLC-5 Syntax
Syntax Data Type Access
PD<file>:<element>.<field> Depends on field Depends on field
The following fields are allowed for each element. For the meaning of each field, refer to the PLC's documentation.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 84
Ranges
PLC Model File Number Max. Element
MicroLogix N/A N/A
SLC 500 Fixed I/O N/A N/A
SLC 500 Modular I/O N/A N/A
PLC-5 Series 3-999 999
Examples
Example Description
PD14:0.SP Set point field of PD 0 file 14
PD18:6.EN Status enable bit of PD 6 file 18
The following fields are allowed for each element. For the meaning of each field, refer to the PLC's documentation
for the meaning of each field.
www. kepware.com
85 Allen-Bradley ControlLogix Ethernet Driver
Ranges
PLC Model File Number Max. Element
MicroLogix 3-255 255
All SLC N/A N/A
PLC5 Message Files Message Files
Examples
Example Description
MG14:0.TO Ignore if timed out bit of MG 0 file 14
MG18:6.CO Continue bit of MG 6 file 18
Message Files
Message files are a structured type whose data is accessed by specifying a file number, an element, and a field.
The default data types are shown in bold.
PLC-5 Syntax
Syntax Data Type Access
MG<file>:<element>.<field> Depends on field Depends on field
The following fields are allowed for each element. For the meaning of each field, refer to the PLC's documentation.
Ranges
PLC Model File Number Max. Element
MicroLogix N/A N/A
SLC 500 Fixed I/O N/A N/A
SLC 500 Modular I/O N/A N/A
PLC-5 Series 3-999 999
Examples
Example Description
MG14:0.RLEN Requested length field of MG 0 file 14
MG18:6.CO Continue bit of MG 6 file 18
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 86
PLC-5 Syntax
Syntax Data Type Access
BT<file>:<element>.<field> Depends on field Depends on field
The following fields are allowed for each element. For more information on the meaning of each field, refer to the
PLC's documentation.
Ranges
PLC Model File Number Max. Element
MicroLogix N/A N/A
SLC 500 Fixed I/O N/A N/A
SLC 500 Modular I/O N/A N/A
PLC-5 Series 3-999 1999
Examples
Example Description
BT14:0.RLEN Requested length field of BT 0 file 14
BT18:6.CO Continue bit of BT 6 file 18
Note: For more information on device models and their supported files, refer to Address Descriptions.
The following fields are allowed for each element. For the meaning of each field, refer to the PLC's documentation.
www. kepware.com
87 Allen-Bradley ControlLogix Ethernet Driver
Ranges
PLC Model File Number Max. Element
MicroLogix N/A 254
All SLC N/A N/A
PLC5 N/A N/A
Examples
Example Description
HSC:0.OMB Output mask setting for high-speed counter 0.
HSC:1.ED Error detected indicator for high-speed counter 1.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 88
The following fields are allowed for each element. For the meaning of each field, refer to the PLC's documentation.
Ranges
PLC Model File Number Max. Element
MicroLogix N/A 254
All SLC N/A N/A
PLC5 N/A N/A
Examples
Example Description
RTC:0.YR Year setting for real-time clock 0.
RTC:0.BL Battery low indicator for real-time clock 0.
Ranges
PLC Model File Number Max. Element
MicroLogix N/A 254
All SLC N/A N/A
PLC5 N/A N/A
Examples
Example Description
CS0:0 Word 0.
CS0:4/2 Bit 2 word 4 = MCP.
Note: For more information on CS0 words/bit meanings, refer to the Rockwell documentation.
www. kepware.com
89 Allen-Bradley ControlLogix Ethernet Driver
Ranges
PLC Model File Number Max. Element
MicroLogix N/A 254
All SLC N/A N/A
PLC5 N/A N/A
Examples
Example Description
CS1:0 Word 0.
CS1:4/2 Bit 2 word 4 = MCP.
Note: For more information on CS1 words/bit meanings, refer to the Rockwell documentation.
Ranges
PLC Model File Number Max. Element
MicroLogix N/A 254
All SLC N/A N/A
PLC5 N/A N/A
Examples
Example Description
IOS:0 Word 0.
IOS:4/2 Bit 2 word 4.
Note: For a listing of 1769 expansion I/O status codes, refer to the instruction manual.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 90
Note: ENI/DH+, ControlNet Gateway, and MicroLogix 1100 models do not support automatic tag database
generation: only ENI ControlLogix, CompactLogix, and FlexLogix models do.
Note: For more information on the Database Creation settings, refer to the server help file.
Tag Hierarchy
The server tags created by automatic tag generation can follow one of two hierarchies: Expanded or Condensed.
To enable this functionality, make sure "Allow Automatically Generated Subgroups" is enabled in Device
Properties. The default setting is Expanded Mode.
Expanded Mode
In Expanded Mode, the server tags created by automatic tag generation follow a group/tag hierarchy consistent
with the tag hierarchy in RSLogix 5000. Groups are created for every segment preceding the period as in
Condensed Mode, but are also created in logical groupings. Groups created include the following:
The root level groups (or subgroup levels of the group specified in "Add generated tags to the following group")
are "Prgm_<program name>" and "Global". Each program in the controller has its own "Prgm_<program
name>" group. The driver recognizes this as the first group level.
Basic Global Tags (or non-structure, non-array tags) are placed under the Global group; basic Program tags are
placed under their respective program group. Each structure and array tag is provided in its own subgroup of
the parent group. By organizing the data in this fashion, the server's tag view mimics RSLogix5000.
The name of the structure/array subgroup also provides a description of the structure/array. For instance, an
array tag1[1,6] defined in the controller would have a subgroup name "tag1_x_y"; x signifies dimension 1
exists, and y signifies dimension 2 exists. The tags within an array subgroup are all the elements of that array
(unless explicitly limited). The tags within a structure subgroup are the structure members themselves. If a
structure contains an array, an array subgroup of the structure group is created as well.
With a complex project, the tag hierarchy can require a number of group levels. The maximum number of group
levels created by automatic tag generation is seven. This does not include the group specified in "Add generated
tags to the following group". When more than seven levels are required, the tags are placed in the seventh group
(causing the hierarchy to plateau).
Array Tags
A group is created for each array that contains the array's elements. Group names have the notation: <array
name>_x_y_z where:
Array tags have the notation: <tag element>_XXXXX_YYYYY_ZZZZZ. For example, element tag1[12,2,987]
would have the tag name "tag1_12_2_987".
Simple Example
www. kepware.com
91 Allen-Bradley ControlLogix Ethernet Driver
Complex Example
A Logix tag is defined with the address "Local:1:O.Slot[9].Data". This would be represented in the groups
"Global" - "Local_1_O" - "Slot_x" - "Slot_09". Within the last group would be the tag "Data".
Condensed Mode
In Condensed Mode, the server tags created by automatic tag generation follow a group/tag hierarchy consistent
with the tag's address. Groups are created for every segment preceding the period. Groups created include the
following:
l Program scope
l Structures and substructures
With a complex project, it is easy to see how the tag hierarchy can require a number of group levels. The
maximum number of group levels created by automatic tag generation is seven. This does not include the group
specified in "Add generated tags to the following group". When more than seven levels are required, the tags are
placed in the seventh group (causing the hierarchy to plateau).
Note: Tag or structure member names leading off with an underscore is converted to "U_". This is required
because the server does not support leading underscores. For more information, refer to Controller-to-Server
Name Conversion.
Simple Example
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 92
Complex Example
Logix tag is defined with address "Local:1:O.Slot[9].Data". This would be represented in the groups "Local:1:O"
-> "Slot[9]". Within the last group would be the tag "Data".
Note: I/O module tags cannot be directly imported in Offline mode. Since aliases can be imported, it is
recommended that they be created for I/O module tags of interest in RSLogix5000.
Non-Array
Array
Long program names are clipped in the same manner as long non-array tag names. For every tag or program
name that is clipped, the unique ID is incremented. Array tag names (elements) of a clipped array name have the
same unique ID. This provides for 100000 unique tag/program names.
Note: If the "Limit tag/group names to 31 Characters" setting is enabled, the following rules apply even if the
256 character names are supported. For more information, refer to Logix Database Options.
www. kepware.com
93 Allen-Bradley ControlLogix Ethernet Driver
Online
It is recommended that all communications to the Logix CPU of interest cease during the database creation
process.
In RSLogix5000
Set the project OFFLINE.
1. Open the device properties of the device for which tags will be generated.
2. Select Logix Database Settings and then select Create tag database from device.
3. Next, click Options. In Logix Database Options, make any desired changes. Then, click OK.
4. Next, click Filtering. In Logix Database Filtering, make any desired changes. Then, click OK.
5. Select the Database Creation tab and utilize as instructed in the server help file.
Note: In Logix Options, set Protocol Mode to Symbolic and Default Data Type to Default so that the tags
will be imported with the data types used in the controller.
Offline
The Allen-Bradley ControlLogix Ethernet Driver uses a file generated from RSLogix5000 called an L5K/L5X
import/export file to generate the tag database.
In RSLogix5000
1. Open the project containing the tags that will be ported over to the OPC server.
3. Select L5K/L5X Import/Export File and then specify a name. RSLogix will export the project's
contents into this L5K/L5X file.
1. Open the device properties of the device for which tags will be generated.
2. Select Logix Database Settings and then select Create tag database from import file.
3. Enter or browse for the location of the L5K/L5X file previously created.
4. Next, click Options. In Logix Database Options, make any desired changes. Then, click OK.
5. Next, click Filtering. In Logix Database Filtering, make any desired changes. Then, click OK.
6. Select the Database Creation tab and utilize as instructed in the server help file.
Note: Imported pre-defined tag types are based on the latest version supported by the driver. For more
information, refer to Firmware Versions.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 94
Error Codes
The following sections define error codes that may be encountered in the server's Event Log. For more
information on a specific error code type, select a link from the list below.
www. kepware.com
95 Allen-Bradley ControlLogix Ethernet Driver
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 96
www. kepware.com
97 Allen-Bradley ControlLogix Ethernet Driver
Error Descriptions
Error messages are classified according to error sub types. For more information, select a link from the list
below.
Address Validation
Address <address> is out of range for the specified device or register.
Array size is out of range for address <address>.
Array support is not available for the specified address: <address>.
Data type <type> is not valid for device address <address>.
Device address <address> contains a syntax error.
Device address <address> is not supported by model <model name>.
Device address <address> is read only.
Memory could not be allocated for tag with address <address> on device <device name>.
Missing address.
Possible Cause:
A tag address that has been specified statically references a location that is beyond the range of the device's
supported locations.
Solution:
Verify that the address is correct; if it is not, re-enter it in the client application.
Note:
For valid bit and array element ranges, refer to Address Formats.
Possible Cause:
A tag address that has been specified statically is requesting an array size that is too large.
Solution:
2. Specify a different starting point by re-entering the address in the client application.
Note:
For valid array size ranges, refer to Address Formats.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 98
Possible Cause:
A tag address that has been specified statically contains an array reference for an address type that doesn't
support arrays.
Solution:
1. Re-enter the address in the client application to remove the array reference.
Possible Cause:
A tag address that has been specified statically has been assigned an invalid data type.
Solution:
Modify the requested data type in the client application.
Possible Cause:
A tag address that has been specified statically contains one or more of the following errors.
2. Address is invalid according to the address format and underlying Controller tag data type.
Solution:
Re-enter the address in the client application.
See Also:
Addressing Atomic Data Types
Address Formats
Possible Cause:
A tag address that has been specified statically references a location that is valid for the communications protocol
but not supported by the target device.
Solution:
Verify the address is correct; if it is not, re-enter it in the client application. Also verify that the selected model
name for the device is correct.
www. kepware.com
99 Allen-Bradley ControlLogix Ethernet Driver
Possible Cause:
A tag address that has been specified statically has a requested access mode that is not compatible with what the
device supports for that address.
Solution:
Change the access mode in the client application.
Memory could not be allocated for tag with address <address> on device
<device name>.
Error Type:
Warning
Possible Cause:
Resources needed to build a tag could not be allocated. Tag will not be added to the project.
Solution:
Close any unused applications and/or increase the amount of virtual memory. Then, try again.
Missing address
Error Type:
Warning
Possible Cause:
A tag address that has been specified statically has no length.
Solution:
Re-enter the address in the client application.
Communication Errors
The following is a list of sub type error topics. Click on a link for more information about that specific error
message.
Communication Errors
Socket error <code> occurred on <device name>. Operation <operation name> failed because
<reason>.
Unable to bind to adapter: <adapter>. Connect failed.
Winsock initialization failed (OS error = n).
Winsock V1.1 or higher must be installed to use the Allen-Bradley ControlLogix Ethernet Driver.
Possible Cause:
Communications with <device name> failed during the specified socket operation. Possible operations include:
l connect
l wait for send data (test socket before sending)
l send
l wait for receive data (test socket before receiving)
l receive
Both error <code> and detailed <reason> are provided by the operating system. This error is posted when the
<device name> is in an error state (_Error is true).
Solution:
The <reason> details why the error occurred and suggests a remedy when appropriate.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 100
Possible Cause:
The driver was unable to bind to the specified network adapter, which is necessary for communications with the
device.
Reasons:
Solution:
1. For network adapters available on the system, check the network adapter list in the communications
server application (located in channel properties). If the specified adapter is not in this list, steps should
be taken to make it available to the system. This includes verifying that the network connection is enabled
and connected in the PC's network connections.
2. Determine how many channels are using the same adapter in the communications server application.
Then, reduce this number so that only one channel is referencing the adapter. If the error still occurs,
check to see if other applications are using that adapter and then shut down those applications.
Possible Cause:
The version number of the Winsock DLL found on the system is less than 1.1.
Solution:
Upgrade Winsock to version 1.1 or higher.
www. kepware.com
101 Allen-Bradley ControlLogix Ethernet Driver
Possible Cause:
The requested CIPconnection size is not supported by the device.
Solution:
Change the CIPconnection size to one that is supported by the device.
See Also:
Logix Communications Parameters
Possible Cause:
1. The Ethernet connection between the device and the host PC is broken.
4. When using the Serial Gateway device model, one or more devices has an incorrect serial port
configuration.
5. The response from the device took longer to receive than the amount of time specified in the "Request
Timeout" device setting.
Solution:
2. Verify that the correct port is specified for the named device.
3. Verify that the IP address given to the named device matches that of the actual device.
4. Verify that all devices have the correct serial port and system protocol configuration.
5. Increase the Request Timeout setting so that the entire response can be handled.
Possible Cause:
The device returned an error within the Encapsulation portion of the Ethernet/IP packet during a request. All
reads and writes within the request failed.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 102
Solution:
The driver will attempt to recover from such an error. If the problem persists, contact Technical Support. This
excludes error 0x02, which is device-related, not driver-related.
See Also:
Encapsulation Error Codes
Possible Cause:
The device returned an error within the CIP portion of the Ethernet/IP packet during a request. All reads and
writes within the request failed.
Solution:
The solution depends on the error code(s) returned.
See Also:
CIP Error Codes
Possible Cause:
1. The packets are misaligned due to connection and/or disconnection between the PC and device.
Solution:
Unable to retrieve the identity for device <device>. [CIP error=<error>, Ext.
error=<error>]. All tags will use Symbolic Protocol Mode.
Error Type:
Warning
Possible Cause:
The identity was unable to be retrieved because the device returned an error within the CIP portion of the
Ethernet/IP packet during a request. Devices set to a Logical mode will revert to Symbolic Mode until the issue is
resolved.
Solution:
The solution depends on the error code that is returned. If the problem persists, contact Technical Support.
See Also:
CIP Error Codes
www. kepware.com
103 Allen-Bradley ControlLogix Ethernet Driver
Possible Cause:
The identity was unable to be retrieved because the device returned an error within the Encapsulation portion of
the Ethernet/IP packet during a request. Devices set to a Logical mode will revert to Symbolic Mode until the issue
is resolved.
Solution:
The driver will attempt to recover from such an error. If the problem persists, contact Technical Support. This
excludes error 0x02, which is device-related, not driver-related.
See Also:
Encapsulation Error Codes
Unable to retrieve the identity for device <device>. Frame received contains
errors. All tags will use Symbolic Protocol Mode.
Error Type:
Warning
Possible Cause:
1. The packets are misaligned due to connection and/or disconnection between the PC and device.
Solution:
1. The driver recovers from this error without intervention. If this error occurs frequently, there may be an
issue with the cabling, the network, or the device itself.
2. Verify that the device being communicated with is a Rockwell Ethernet/IP-enabled device.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 104
Unable to read tag <tag address> on device <device name>. Tag does not support multi-element
arrays. Tag deactivated.
Read request for tag <tag address> on device <device name> failed due to a
framing error. Tag deactivated.
Error Type:
Warning
Possible Cause:
A read request for the specified tag failed due to one of the following reasons:
Solution:
If this error occurs frequently, there may be an issue with the cabling or the device itself. If the error occurs
frequently for a specific tag, contact Technical Support. Increasing the request attempts gives the driver more
opportunities to recover from the error. In response to this error, the tag is deactivated and is not processed
again.
Possible Cause:
1. The Ethernet connection between the device and the Host PC is broken.
Solution:
2. Verify that the correct port has been specified for the named device.
3. Verify that the IP address given to the named device matches that of the actual device.
Note:
In response to this error, the tag will be deactivated and will not be processed again.
Possible Cause:
The device returned an error within the CIP portion of the Ethernet/IP packet during a read request for the
specified tag.
Solution:
The solution depends on the error code(s) returned.
See Also:
CIP Error Codes
Unable to read tag <tag address> on device <device name>. Controller tag
data type <type> unknown. Tag deactivated.
Error Type:
Warning
www. kepware.com
105 Allen-Bradley ControlLogix Ethernet Driver
Possible Cause:
A read request for the specified tag failed because the Controller tag's data type is not currently supported.
Solution:
Contact Technical Support so that support may be added for this type. In response to this error, the tag is
deactivated and is not processed again.
Unable to read tag <tag address> on device <device name>. Data type
<type> is illegal for this tag. Tag deactivated.
Error Type:
Warning
Possible Cause:
A read request for the specified tag failed because the client's tag data type is illegal for the given Controller tag.
Solution:
Change the tag's data type to one that is supported. For example, data type Short is illegal for a BOOL array
Controller tag. Changing the data type to Boolean can remedy the problem. In response to this error, the tag is
deactivated and is not processed again.
See Also:
Addressing Atomic Data Types
Unable to read tag <tag address> on device <device name>. Data type
<type> not supported. Tag deactivated.
Error Type:
Warning
Possible Cause:
A read request for the specified tag failed because the client's tag data type is not supported.
Solution:
Change the tag's data type to one that is supported. In response to this error, the tag is deactivated and is not
processed again.
See Also:
Addressing Atomic Data Types
Unable to read tag <tag address> on device <device name>. Tag does not
support multi-element arrays. Tag deactivated.
Error Type:
Warning
Possible Cause:
A read request for the specified tag failed because the driver does not support multi-element array access to the
given Controller tag.
Solution:
Change the tag's data type or address to one that is supported. In response to this error, the tag is deactivated
and it is not processed again.
See Also:
Addressing Atomic Data Types
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 106
Read request for <count> element(s) starting at <tag address> on device <device name> failed
due to a framing error. Block deactivated.
Unable to read <count> element(s) starting at <tag address> on device <device name>. Block
deactivated.
Unable to read <count> element(s) starting at <tag address> on device <device name>. [CIP
error=<code>, Ext. error=<code>].
Unable to read <count> element(s) starting at <tag address> on device <device name>. Controller
tag data type <type> unknown. Block deactivated.
Unable to read <count> element(s) starting at <tag address> on device <device name>. Data type
<type> is illegal for this block. Block deactivated.
Unable to read <count> element(s) starting at <tag address> on device <device name>. Data type
<type> not supported. Block deactivated.
Unable to read <count> element(s) starting at <tag address> on device <device name>. Block does
not support multi-element arrays. Block deactivated.
Possible Cause:
A read request for tags <tag address> to <tag address>+<count> failed due to one of the following reasons:
Solution:
If this error occurs frequently, there may be an issue with the cabling or the device itself. If the error occurs
frequently for a specific tag, contact Technical Support. Increasing the request attempts also gives the driver
more opportunities to recover from this error. In response to this error, <count> elements of the block are
deactivated and it is not processed again.
Possible Cause:
1. The Ethernet connection between the device and the host PC is broken.
Solution:
2. Verify that the correct port has been specified for the named device.
3. Verify that the IP address given to the named device matches that of the actual device.
Note:
In response to this error, <count> elements of the block are deactivated and it is not processed again.
Possible Cause:
www. kepware.com
107 Allen-Bradley ControlLogix Ethernet Driver
The device returned an error within the CIP portion of the Ethernet/IP packet during a read request for the
specified tag.
Solution:
The solution depends on the error code(s) returned.
See Also:
CIP Error Codes
Possible Cause:
A read request for tags <tag address> to <tag address>+<count> failed because the Controller tag's data type
is not currently supported.
Solution:
Contact Technical Support so that support may be added for this type. In response to this error, <count>
elements of the block are deactivated and it is not processed again.
Possible Cause:
A read request for tags <tag address> to <tag address>+<count> failed because the client's tag data type is
illegal for the given Controller tag.
Solution:
Change the data type for tags within this block to one that is supported. For example, data type Short is illegal for
a BOOL array Controller tag. Changing the data type to Boolean would remedy this problem. In response to this
error, <count> elements of the block are deactivated and it is not processed again.
See Also:
Addressing Atomic Data Types
Possible Cause:
A read request for tags <tag address> to <tag address>+<count> failed because the client's tag data type is
not supported.
Solution:
Change the data type for tags within this block to one that is supported. In response to this error, <count>
elements of the block are deactivated and it is not processed again.
See Also:
Addressing Atomic Data Types
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 108
Warning
Possible Cause:
A read request for tags <tag address> to <tag address>+<count> failed because the driver does not support
multi-element array access to the given Controller tag.
Solution:
Change the data type or address for tags within this block to one that is supported. In response to this error,
<count> elements of the block are deactivated and it is not processed again.
See Also:
Addressing Atomic Data Types
Write Errors
The following messages may be generated. Click on the link for a description of the message.
Write Errors
Unable to write to <tag address> on device <device name>.
Unable to write to tag <tag address> on device <device name>. [CIP error=<code>, Ext.
Status=<code>].
Unable to write to tag <tag address> on device <device name>. Controller tag data type <type>
unknown.
Unable to write to tag <tag address> on device <device name>. Data type <type> is illegal for this
tag.
Unable to write to tag <tag address> on device <device name>. Data type <type> not supported.
Unable to write to tag <tag address> on device <device name>. Tag does not support multi-
element arrays.
Write request for tag <tag address> on device <device name> failed due to a framing error.
Possible Cause:
1. The Ethernet connection between the device and the host PC is broken.
Solution:
2. Verify that the correct port has been specified for the named device.
3. Verify that the IP address given to the named device matches that of the actual device.
Possible Cause:
The device returned an error within the CIP portion of the Ethernet/IP packet during a write request for the
specified tag.
Solution:
The solution depends on the error code(s) returned.
www. kepware.com
109 Allen-Bradley ControlLogix Ethernet Driver
See Also:
CIP Error Codes
Unable to write to tag <tag address> on device <device name>. Controller tag
data type <type> unknown.
Error Type:
Warning
Possible Cause:
A write request for the specified tag failed because the Controller tag's data type is not currently supported.
Solution:
Contact Technical Support so that support may be added for this type.
Unable to write to tag <tag address> on device <device name>. Data type
<type> is illegal for this tag.
Error Type:
Warning
Possible Cause:
A write request for the specified tag failed because the client's tag data type is illegal for the given Controller tag.
Solution:
Change the tag's data type to one that is supported. For example, data type Short is illegal for a BOOL array
Controller tag. Changing the data type to Boolean would remedy this problem.
See Also:
Addressing Atomic Data Types
Unable to write to tag <tag address> on device <device name>. Data type
<type> not supported.
Error Type:
Warning
Possible Cause:
A write request for the specified tag failed because the client's tag data type is not supported.
Solution:
Change the tag's data type to one that is supported.
See Also:
Addressing Atomic Data Types
Unable to write to tag <tag address> on device <device name>. Tag does not
support multi-element arrays.
Error Type:
Warning
Possible Cause:
A write request for the specified tag failed because the driver does not support multi-element array access to the
given Controller tag.
Solution:
Change the tag's data type or address to one that is supported.
See Also:
Addressing Atomic Data Types
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 110
Write request for tag <tag address> on device <device name> failed due to a
framing error.
Error Type:
Warning
Possible Cause:
A write request for the specified tag failed after so many retries due to one of the following reasons:
Solution:
If this error occurs frequently, there may be an issue with the cabling or device. Increasing the Retry Attempts
gives the driver more opportunities to recover from this error.
"The following error(s) occurred uploading controller project from device <device name>. Resorting to symbolic
addressing."
Possible Cause:
The device returned an error within the Encapsulation portion of the Ethernet/IP packet while uploading the
controller project.
Solution:
The solution depends on the error code that is returned. If the problem persists, contact Technical Support.
Note:
A project upload is required for the Logical Addressing Modes.
See Also:
Encapsulation Error Codes
Possible Cause:
www. kepware.com
111 Allen-Bradley ControlLogix Ethernet Driver
The device returned an error within the CIP portion of the Ethernet/IP packet while uploading the controller
project.
Solution:
The solution depends on the error code that is returned. If the problem persists, contact Technical Support.
Note:
A project upload is required for the Logical Addressing Modes.
See Also:
CIP Error Codes
Possible Cause:
1. The packets are misaligned (due to connection/disconnection between the PC and device).
Solution:
Note:
A project upload is required for the Logical Addressing Modes.
Possible Cause:
An invalid or corrupt controller project was detected during synchronization.
Solution:
No action is required. The driver will re-attempt synchronization after a period of 30 seconds.
Note:
Project synchronization is required for the Logical Addressing Modes.
Possible Cause:
Memory required for controller project upload could not be allocated.
Solution:
Close any unused applications and/or increase the amount of virtual memory. Then, restart the server and try
again.
Note:
A project upload is required for the Logical Addressing Modes.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 112
Possible Cause:
A project download was attempted while the device was synchronizing with the controller project.
Solution:
No action is required. The driver will re-attempt synchronization after a period of 30 seconds.
Note:
Project synchronization is required for the Logical Addressing Modes.
Possible Cause:
The Native tag's size (footprint) does not match the expected size that was determined from the project upload.
Solution:
Contact Technical Support to report the issue. Then, change the Protocol Mode to Symbolic as a workaround.
Unable to read tag <tag name> on device <device name>. Native tag size
mismatch.
Error Type:
Warning
Possible Cause:
The Native tag's size (footprint) does not match the expected size that was determined from the project upload.
Solution:
Contact Technical Support to report the issue. Then, change the Protocol Mode to Symbolic as a workaround.
Unable to write to tag <tag name> on device <device name>. Native tag size
mismatch.
Error Type:
Warning
Possible Cause:
The Native tag's size (footprint) does not match the expected size that was determined from the project upload.
Solution:
Contact Technical Support to report the issue. Then, change the Protocol Mode to Symbolic as a workaround.
www. kepware.com
113 Allen-Bradley ControlLogix Ethernet Driver
Unable to write to address <address> on device <device name>. Frame received contains errors.
Unable to write to address <address> on device <device name>. Local node responded with error
[DF1 STS=<value>].
Unable to write to function file <address> on device <device name>. Local node responded with
error [DF1 STS=<value>].
Device <device name> is not responding. Local node responded with error
[DF1 STS=<value>].
Error Type:
Warning
Possible Cause:
This error means that the PLC did not respond to the read request from the local node. A local node could be an
intermediate node like 1756-DHRIO, 1756-CNB, 1761-NET-ENI, and so forth.
Solution:
Refer to A-B documentation for STS error code definitions. For example, if STS code '0x02'(hex) is returned,
verify the cabling between the remote node (PLC) and the local node.
Possible Cause:
The address requested in the block does not exist in the PLC.
Solution:
Check the status and extended status codes that are being returned by the PLC. An extended status code may not
always be returned; therefore, the error information is contained within the status code. The codes are displayed
in hexadecimal.
Status code errors in the low nibble of the status code indicate errors found by the local node. The driver will
continue to retry reading these blocks of data periodically. Errors found by the local node occur when the KF
module cannot see the destination PLC on the network.
Status code errors in the high nibble of the status code indicate errors found by the PLC. These errors are
generated when either the block of data the driver is asking for is not available in the PLC or the address does not
exist in the PLC. The driver will not ask for these blocks again after receiving this kind of error.
Note:
The block starting at address <address> may be deactivated in the process depending on the severity of the
error.
See Also:
A-B documentation for STS and Ext. STS error code definitions.
2. TNS mismatch.
Possible Cause:
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 114
Solution:
The driver will recover from this error without intervention. If this error occurs frequently, there may be an issue
with the cabling or the device itself.
Possible Cause:
The address written to does not exist in the PLC.
Solution:
Check the status and extended status codes that are being returned by the PLC. Note that an extended status
code may not always be returned and the error information is contained within the status code. The codes are
displayed in hexadecimal.
Note:
Status code errors in the low nibble of the status code indicate errors found by the local node. Errors found by
the local node occur when the KF module cannot see the destination PLC on the network for some reason. Status
code errors in the high nibble of the status code indicate errors found by the PLC. These errors are generated
when the data location is not available in the PLC or not writeable.
See Also:
A-B documentation for STS and Ext. STS error code definitions.
Possible Cause:
4. TNS mismatch.
Solution:
The driver recovers from this error without intervention. If this error occurs frequently, there may be an issue
with the cabling or the device itself.
Possible Cause:
This error means that the PLC did not respond to the write request from the local node. A local node could be an
intermediate node like 1756-DHRIO, 1756-CNB, 1761-NET-ENI, and so forth.
www. kepware.com
115 Allen-Bradley ControlLogix Ethernet Driver
Solution:
Refer to A-B documentation for STS error code definitions. For example, if the STS code '0x02'(hex) is returned,
verify the cabling between the remote node (PLC) and the local node.
Possible Cause:
This error means that the PLC did not respond to the write request from the local node. A local node could be an
intermediate node like 1756-DHRIO, 1756-CNB, 1761-NET-ENI, and so forth.
Solution:
Refer to A-B documentation for STS error code definitions. For example, if the STS code '0x02'(hex) is returned,
verify the cabling between the remote node (PLC) and the local node.
Possible Cause:
The name assigned to an array tag originates from the tag name in the controller. This name exceeds the 31
character limitation and will be renamed to one that is valid. <Dimensions> define the number of dimensions for
the given array tag . XXX for 1 dimension, XXX_YYY for 2, XXX_YYY_ZZZ for 3. The number of Xs, Ys, and Zs
approximates the number of elements for the respective dimensions. Since such an error will occur for each
element, generalizing with XXX, YYY, and ZZZ implies all array elements will be affected.
Solution:
None
See Also:
Controller-to-Server Name Conversions
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 116
Database error: Data type <type> for tag <tag name> not found in tag import
file. Tag not added.
Error Type:
Warning
Possible Cause:
The definition of data type <type>, for tag <tag name>, could not be found in the tag import file. Tag will not be
added to the database.
Solution:
Contact Technical Support.
Database error: Data type for Ref. Tag <tag name> unknown. Setting Alias tag
<tag name> data type to Default (<type>).
Error Type:
Warning
Possible Cause:
The data type of the "Alias For" *tag referenced in the Alias tag's declaration could not found in the tag import
file. This data type is necessary to generate the alias tag correctly.
Solution:
The Alias tag will take on the default type specified in the Default Type tab in Device Properties.
Note:
In RSLogix5000, "Alias For" is a column in the tag view under the Edit Tags tab. This is where the reference to the
tag, structure tag member, or bit that the alias tag will represent is entered.
See Also:
Logix Options
Database error: Error occurred processing Alias tag <tag name>. Tag not
added.
Error Type:
Warning
Possible Cause:
An internal error occurred processing alias tag <tag name>. Alias tag could not be generated.
Solution:
None
Database error: Member data type <type> for UDT <UDT name> not found in
tag import file. Setting to Default type <type>.
Error Type:
Warning
Possible Cause:
The definition of data type <type>, for a member in the user-defined type <UDT name>, could not be found in
the tag import file.
Solution:
This member will take on the default type specified in the Default Type tab of Device Properties.
See Also:
Logix Options
www. kepware.com
117 Allen-Bradley ControlLogix Ethernet Driver
Possible Cause:
The program name assigned to this group exceeds the 31 character limitation and will be renamed to one that is
valid.
Solution:
None
See Also:
Controller-to-Server Name Conversions
Database error: Tag <orig. tag name> exceeds 31 characters. Tag renamed to
<new tag name>.
Error Type:
Warning
Possible Cause:
The name assigned to a tag originates from the tag name in the controller. This name exceeds the 31 character
limitation and will be renamed to one that is valid.
Solution:
None
See Also:
Controller-to-Server Name Conversions
Database error: Unable to resolve CIP data type <hex value> for tag <tag
name>. Setting to default type <logix data type>.
Error Type:
Warning
Possible Cause:
Solution:
Resolve any errors in RSLogix, then retry the tag export process to produce a new tag import file.
See Also:
Preparing for Automatic Tag Database Generation
Possible Cause:
An invalid or corrupt controller project was detected during synchronization.
Solution:
Wait for the project download to complete, and then attempt automatic tag generation.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 118
Possible Cause:
A project download was attempted while the device was synchronizing with the controller project.
Solution:
Wait for the project download to complete, and then attempt automatic tag generation.
Unable to generate a tag database for device <device name>. Reason: Import
file not found.
Error Type:
Warning
Possible Cause:
The file specified as the tag import file in the Database Settings tab of Device Properties cannot be found.
Solution:
Select a valid tag import file or retry the tag export process in RSLogix to produce a new tag import file.
See Also:
Preparing for Automatic Tag Database Generation
Logix Database Settings
Unable to generate a tag database for device <device name>. Reason: L5K file
is invalid or corrupt.
Error Type:
Warning
Possible Cause:
The file specified as the tag import file in the Database Settings tab of Device Properties is not an L5K file (or it is a
corrupt L5K file).
Solution:
Select a valid L5K file or retry the tag export process in RSLogix to produce a new L5K file.
See Also:
Preparing for Automatic Tag Database Generation
Logix Database Settings
Unable to generate a tag database for device <device name>. Reason: Low
memory resources.
Error Type:
Warning
Possible Cause:
Memory required for database generation could not be allocated. The process is aborted.
Solution:
Close any unused applications and/or increase the amount of virtual memory. Then, try again.
www. kepware.com
119 Allen-Bradley ControlLogix Ethernet Driver
Reference Material
Select a link from the list below for more information on a specific topic.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 120
Benefits Detriments
1. All the information needed to make a data request 1. High device turnaround time when
lies in the client/server tag's address. processing the symbolic addresses.
2. Only the data that is being accessed in the 2. Less requests per multi-request packet
client/server tags are requested from the PLC. because the size of each request varies.
3. Backward compatible.
Notes:
1. To take advantage of the multi-request packet optimization, as many tags should be represented in a
single packet as possible. Since tag addresses are represented by their ASCII character name in the
packet, the tag addresses should be as short as possible. For example, "MyTag" is preferred over
"MyVeryLongTagNameThatContains36Chars."
2. When the default data type parameter is set to "Default," automatic tag generation creates tags with a
data type that matches the type in the controller.
Logical Modes
Logical Non-Blocking and Logical Blocking encapsulate two read protocols. The protocol used is automatically
determined by the driver and is based on the controller revision. The table below summarizes the modes and the
protocols to which they map.
*Deprecated in V21.
The information necessary to perform Logical reads is retrieved in a controller project upload sequence
performed automatically by the driver. For the sake of brevity, the term "Logical Address" represents the Symbol
Instance ID or Physical Address, depending on the protocol used. The Logical Modes avoid the time-consuming
address parsing and lookups that are required for every symbolic request.
Note: These Logical Modes are not available to Serial Gateway models.
Benefits Detriments
1. Contains the maximum request per multi-request Initialization overhead when uploading the
packet because each request is a fixed size. project to determine the logical addresses.
Note: This mode is preferred when the minority of Structure tag members are referenced by a client/server.
www. kepware.com
121 Allen-Bradley ControlLogix Ethernet Driver
updated, a new request is initiated provided that the cache is not old. The cache is old when the current time >
cache timestamp + tag scan rate. If this case holds, another block request is made to the device, the cache is
refreshed, and the cycle repeats.
Benefits Detriments
1. Contents are retrieved on every 1. Initialization overhead when uploading the project to
read. determine the logical addresses.
2. Low device turnaround time 2. If the minority of Logix tags are referenced, it is slower
because the client/server tags than Logical Non-Blocking Mode (because more data is
are specified in the packet with being accessed from the PLC than referenced in the
the logical address. client/server tags).
Note: This mode is preferred when the majority of Structure tag members are referenced by a client/server.
Physical reads are CIP requests wherein the DMA address is used to specify a Native tag in a read request. In
Non-Blocking Mode, the byte offset may be required to fully qualify the path to structure members and array
element. For example, the starting DMA address would represent the structure whereas the byte offset
represents the member within the structure. Ultimately the start + offset is the DMA address specified in the
request: all requests are fixed in size (unlike Symbol Instance reads). No matter how deep structures are nested,
the request is the same size in the packet. Physical reads have been deprecated as of FRN V21.
l Downloads in Progress: The driver monitors for both online and offline edits in every request. It detects
if a download occurs while actively reading or writing to Native tags, then follows a project-change
procedure depending on its mode. To enable this synchronization, right-click on the device and select
Properties. In the Logix Options tab, locate either Online Edits or Offline Edits and select Yes.
l Online Edits: The driver monitors for online edits in every request. It detects if an online edit occurs with
the controller on the following read or write operation, then follows a project-change procedure
depending on its mode. To enable this synchronization, right-click on the device and select Properties.
In the Logix Options tab, locate Online Edits and select Yes.
l Offline Edits:The driver monitors for offline edits in every request. It detects if an offline edit occurs
with the controller on the following read or write operation, then follows a project-change procedure
depending on its mode. To enable this synchronization, right-click on the device and select Properties.
In the Logix Options tab, locate Offline Edits and select Yes.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 122
l The controller is polled every 2 seconds to monitor for project change completion.
l A message is posted to the Event Log indicating that a change is no longer detected.
4. During project change, the scenario for online and offline edits is as follows:
l The controller is polled every 2 seconds to monitor for project change completion.
l A message is posted to the Event Log indicating that the change is no longer detected.
4. During project change, the scenario for online and offline edits is as follows:
l After 30 seconds of Symbolic Mode, the driver uploads (synchronizes) the project from the
controller.
l The reads and writes resume using Logical Mode with the new logical addresses.
7. If the Synchronize with Controller options are disabled, the reads and writes resume using Logical Mode
with the old logical addresses.
www. kepware.com
123 Allen-Bradley ControlLogix Ethernet Driver
1. Ensure that there are no Ethernet-based drivers currently running in RSLinx on the PC.
2. Verify that the EtherNet/IP Message Module is installed in the SoftLogix virtual chassis.
3. Open the server's Device Properties. In the General tab, locate the Device ID value. It should not be
"127.0.0.1, 1, <PLC_CPU_slot>". The Device ID should be set to "<specific_IP_address_of_PC>, 1,
<PLC_CPU_slot>".
For example, if the PC's IP address is 192.168.3.4 and the SoftLogix CPU is in slot 2 of the virtual chassis,
then the correct device ID would be "192.168.3.4, 1, 2".
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 124
Glossary
Term Definition
Protocol Mode The means by which Controller tag addresses are specified in data access communication
packets.
Default Type Due to the symbolic nature of Logix tag-Based Addressing, tags can be of any data type.
This is in contrast to DF1 where file access (such as N7:0) is always a given set of data
types (Word, Short). Because of this flexibility, there needs to be a data type that tags
default to when no data type is explicitly set. This is the case when a tag is created in a
client and assigned the data type "Native" or created in the server and assigned the data
type "Default". In these cases, the tag in question is assigned the data type set as the
default type. There are also cases in Automatic Tag Database Generation where the default
type is used to set a server tag's data type.
Gateway Utilizing an EtherNet/IP communication module to obtain access to a DH+ or ControlNet
network from the same backplane. Rack must contain an EtherNet/IP communication
module and a DHRIO or CNB module.
Link Address Unique identifier for an interface module (such as node ID, IP address and so forth).
Packet Stream of data bytes on the wire representing the request(s) being made. Packets are
limited in size.
Logical Mode A Protocol Mode in which Controller tag addresses are specified by their logical address in
the controller. This provides a performance increase over Symbolic Mode but requires a
project upload to gather the logical addresses. There are two logical addresses that can be
used. If the controller revision is V20 or lower, the logical address is the Physical (DMA)
address. If the controller revision is V21 or higher, the logical address is the Symbol
Instance ID.
Non-Blocking: Each client/server tag is requested individually from the device. Similar to
Symbolic in nature but much faster in performance.
Blocking: Each Controller tag is requested as a single block of data. Each client/server tag
is updated via cache storage of this data in the server. Much faster performance over
Symbolic Mode.
Port ID Specifies a way out of the interface module in question (such as channel).
Project Synchronization of the driver's project image with that of the controller project. This is
Synchronization required for the Logical Protocol modes.
Routing Utilizing one or more Logix racks to hop to another Logix rack.
Symbolic Mode A Protocol Mode in which Controller tag addresses are specified by their ASCII character
equivalent. Each client/server tag is requested individually. This provides immediate
access to controller data without a project upload but is overall slower in performance
when compared to any of the Logical Modes. When the default data type is set to Default,
the tag data types are returned from the controller during automatic tag database
generation.
Tag Division Special assignment of tags to devices whose Protocol Mode is set for Logical Blocking or
Logical Non-Blocking Mode. Assignment is based on rules that maximize the performance
of access to these tags.*
*For more information on tag division, refer to Performance Statistics and Tuning and Optimizing
Communications.
www. kepware.com
125 Allen-Bradley ControlLogix Ethernet Driver
Term Definition
client/server protocol to interface with the server.
Client/Server Data type for tags defined statically in the server or dynamically in a client. Supported data
Data types in the server are listed in Data Type Descriptions. Supported data types in the client
Type depends on the client in use.
Client/Server Tag defined statically in the server or dynamically in a client. These tags are different entities
Tag than Logix tags. A Logix tag name becomes a client/server tag address when referencing
such Logix tag.
Client/Server Row x column data presentation format supported by the server and by some clients. Not all
Array clients support arrays.
Logix Data A data type defined in RSLogix 5000 for Logix-platform controllers.
Type
Logix Tag Tag defined in RSLogix 5000 for Logix-platform controllers.
Logix Array Multi-dimensional array (1, 2 or 3 dimensions possible) support within RSLogix 5000 for
Logix-platform controllers. All Logix atomic data types support Logix arrays. Not all Logix
structure data types support Logix arrays.
Logix Pre- Logix data type pre-defined for use in RSLogix 5000.*
Defined Data
Type
Server The OPC/DDE/proprietary server utilizing thisAllen-Bradley ControlLogix Ethernet Driver.
Structure A Logix data type (pre-defined or user-defined) that consists of members whose data types
Data Type are atomic or structure in nature.
Structure Tag A Logix tag defined with a Structure data type.
www. kepware.com
126 Allen-Bradley ControlLogix Ethernet Driver
Index
1761-NET-ENI 22
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 127
BCD 48
BCD Files 81
Binary Files 77
Block Transfer Files 85
Boolean 48
Byte 48
www. kepware.com
128 Allen-Bradley ControlLogix Ethernet Driver
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 129
File Listing 70
FlexLogix 5400 Addressing for Serial Gateway 50
FlexLogix 5400 Addressing for ENI 50
FlexLogix 5400 Addressing for Ethernet 50
Float 48, 79
Float Files 79
Frame received from device <device name> contains errors. 102
Framing error occurred while uploading project information. 111
Function File Listing 86
Global Tags 56
Glossary 124
Help Contents 7
High-Speed Counter File (HSC) 86
www. kepware.com
130 Allen-Bradley ControlLogix Ethernet Driver
Integer Files 79
Internal Tags 57
Invalid or corrupt controller project detected while synchronizing. Synchronization will be retried
shortly. 111
Invalid or corrupt controller project detected while synchronizing. Try again later. 117
LBCD 48
Leading Underscores 92
Link Address 11
Logix Addressing 49, 54
Logix Advanced Addressing 60
Logix Communications Parameters 17
Logix Database Filtering 22
Logix Database Options 21
Logix Database Settings 20
Logix Device IDs 14
Logix Options 18
Logix Tag-Based Addressing 54
Long 48
Long Controller Program & Tag Names 90
Long Files 81
Low memory resources. 111
Memory could not be allocated for tag with address <address> on device <device name>. 99
Message Files 85
Micrologix 1100 Device ID 26
MicroLogix 1100 Setup 26
Micrologix Addressing 50
Micrologix Addressing for ENI 50
Micrologix Addressing for EtherNet/IP Gateway 50
MicroLogix Message Files 84
MicroLogix PID Files 82
Missing address. 99
Non-Blocking 103
Optimizing Communications 31
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 131
Performance Optimizations 31
Performance Statistics and Tuning 34
Performance Tuning Example 35
PID Files 83
PLC-5 Series Addressing 53
PLC-5 Series Addressing for ControlNet 53
PLC-5 Series Addressing for EtherNet/IP Gateway 54
Port ID 11
Predefined Term Tags 57
Preparing for Automatic Tag Database Generation 92
Program Tags 56
Project download detected while synchronizing. Synchronization will be retried shortly. 112
Project download detected while synchronizing. Try again later. 118
Project Synchronization Errors 110
www. kepware.com
132 Allen-Bradley ControlLogix Ethernet Driver
Tag Hierarchy 90
Tag Import File 20
Tag Scope 56
TCP/IP Port 17
Timer Files 77
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver 133
Unable to read tag <tag address> on device <device name>. Controller Tag data type <type> unknown. Tag
deactivated. 104
Unable to read tag <tag address> on device <device name>. Data type <type> is illegal for this tag. Tag
deactivated. 105
Unable to read tag <tag address> on device <device name>. Data type <type> not supported. Tag
deactivated. 105
Unable to read tag <tag address> on device <device name>. Tag does not support multi-element arrays. Tag
deactivated. 105
Unable to read tag <tag name> on device <device name>. Native Tag size mismatch. 112
Unable to retrieve the identity for device <device>. [CIP error=<error>, Ext. error=<error>]. All tags will
use Symbolic Protocol Mode. 102
Unable to retrieve the identity for device <device>. [Encap. error=<error>]. All tags will use Symbolic
Protocol Mode. 102
Unable to retrieve the identity for device <device>. Frame received contains errors. All tags will use Symbolic
Protocol Mode. 103
Unable to write to <tag address> on device <device name>. 108
Unable to write to address <address> on device <device name>. [DF1 STS=<value>, EXT
STS=<value>]. 114
Unable to write to address <address> on device <device name>. Frame received contains errors. 114
Unable to write to address <address> on device <device name>. Local node responded with error [DF1
STS=<value>]. 114
Unable to write to function file <address> on device <device name>. Local node responded with error [DF1
STS=<value>]. 115
Unable to write to tag <tag address> on device <device name>. [CIP error=<code>, Ext.
Status=<code>]. 108
Unable to write to tag <tag address> on device <device name>. Controller Tag data type <type>
unknown. 109
Unable to write to tag <tag address> on device <device name>. Data type <type> is illegal for this tag. 109
Unable to write to tag <tag address> on device <device name>. Data type <type> not supported. 109
Unable to write to tag <tag address> on device <device name>. Tag does not support multi-element
arrays. 109
Unable to write to tag <tag name> on device <device name>. Native Tag size mismatch. 112
www. kepware.com