0% found this document useful (0 votes)
33 views210 pages

Allen Bradley Controllogix Ethernet Manual

The document provides comprehensive information on the Allen-Bradley ControlLogix Ethernet Driver, including setup instructions, configuration options, and performance optimization techniques. It details various properties related to channel and device configurations, automatic tag database generation, and error codes. Additionally, it includes sections on data types, addressing formats, and performance statistics to assist users in effectively utilizing the driver.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
33 views210 pages

Allen Bradley Controllogix Ethernet Manual

The document provides comprehensive information on the Allen-Bradley ControlLogix Ethernet Driver, including setup instructions, configuration options, and performance optimization techniques. It details various properties related to channel and device configurations, automatic tag database generation, and error codes. Additionally, it includes sections on data types, addressing formats, and performance statistics to assist users in effectively utilizing the driver.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Allen-Bradley ControlLogix Ethernet Driver

© 2024 PTC Inc. All Rights Reserved.


Allen-Bradley ControlLogix Ethernet Driver 2

Table of Contents
Allen-Bradley ControlLogix Ethernet Driver 1

Table of Contents 2

Allen-Bradley ControlLogix Ethernet Driver 11

Overview 12

Setup 13
Channel Properties — General 16
Tag Counts 16
Channel Properties — Ethernet Communications 17
Channel Properties — Write Optimizations 17
Channel Properties — Advanced 18
Device Properties — General 19
Operating Mode 19
Device Properties — Scan Mode 20
Tag Counts 21
Device Properties — Timing 21
Device Properties — Auto-Demotion 22
Device Properties — Tag Generation 23
Device Properties — Logix Communications Parameters 25
Device Properties — Logix Options 26
Device Properties — Logix Database Settings 27
Device Properties — ENI DF1/DH+/CN Gateway Communications Parameters 29
Block Writes 29
Device Properties — SLC 500 Slot Configuration 30
Device Properties — Redundancy 31
SLC 500 Modular I/O Selection Guide 32

Configuration API — Allen-Bradley ControlLogix Ethernet Example 35


Enumerations 36
Device Model Enumerations 37
Configuration API — Slot Configuration 38

Automatic Tag Database Generation 40

Tag Hierarchy 40

Controller-to-Server Name Conversions 43

Preparing for Automatic Tag Database Generation 44

Performance Optimization 45

Optimizing Communications 45

Optimizing the Application 47

www. [Link]
3 Allen-Bradley ControlLogix Ethernet Driver

Performance Statistics and Tuning 48

Performance Tuning Example 49

Data Types Description 61


Default Data Type Conditions 62

Address Descriptions 63

Logix Addressing 64

MicroLogix Addressing 65

SLC 500 Fixed I/O Addressing 67

SLC 500 Modular I/O Addressing 68

PLC-5 Series Addressing 69

Logix Tag-Based Addressing 71


Address Formats 73
Tag Scope 74
Internal Tags 74
Predefined Term Tags 75
Addressing Atomic Data Types 76
Addressing Structure Data Types 78
Addressing STRING Data Type 78
Ordering of Logix Array Data 79
Logix Advanced Addressing 80
Advanced Addressing: BOOL 81
Advanced Addressing: SINT 82
Advanced Addressing: INT 85
Advanced Addressing: DINT 88
Advanced Addressing: LINT 90
Advanced Addressing: REAL 92
Advanced Addressing: USINT 94
Advanced Addressing: UINT 96
Advanced Addressing: UDINT 98
Advanced Addressing: ULINT 100
Advanced Addressing: LREAL 102
Advanced Addressing: TIME32 103
Advanced Addressing: TIME 104
Advanced Addressing: LTIME 106

File Listing 108


Output Files 108
Input Files 112
Status Files 116

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 4

Binary Files 117


Timer Files 117
Counter Files 118
Control Files 119
Integer Files 120
Float Files 121
ASCII Files 121
String Files 122
BCD Files 123
Long Files 123
MicroLogix PID Files 124
PID Files 125
MicroLogix Message Files 127
Message Files 128
Block Transfer Files 129
Function Files 130
High-Speed Counter File (HSC) 130
Real-Time Clock File (RTC) 131
Channel 0 Communication Status File (CS0) 132
Channel 1 Communication Status File (CS1) 133
I/O Module Status File (IOS) 133

Error Codes 135

Encapsulation Error Codes 135

CIP Error Codes 135


0x0001 Extended Error Codes 136
0x001F Extended Error Codes 137
0x00FF Extended Error Codes 137

Event Log Messages 138


The following errors occurred uploading controller project from device. Resorting to Symbolic
Protocol. 138
Invalid or corrupt controller project detected while synchronizing. Synchronization will be
retried shortly. 138
Project download detected while synchronizing. Synchronization will be retried shortly. 138
Database error. Data type for reference tag unknown. Setting alias tag data type to default. |
Reference tag = '<tag>', Alias tag = '<tag>', Default data type = '<type>'. 138
Database error. Member data type not found in tag import file. Setting data type to default. |
Member data type = '<type>', UDT = '<type>', Default data type '<type>'. 139
Database error. Data type not found in tag import file. Tag not added. | Data type = '<type>', Tag
name = '<tag>'. 139

www. [Link]
5 Allen-Bradley ControlLogix Ethernet Driver

Database error. Error occurred processing alias tag. Tag not added. | Alias tag = '<tag>'. 139
Database error. Encapsulation error occurred during register session request. | Encapsulation
error = <code>. 140
Database error. Framing error occurred during register session request. 140
Database error. Encapsulation error occurred during fwd. open request. | Encapsulation error =
<code>. 140
Database error. Framing error occurred during forward open request. 140
Database error. Error occurred during forward open request. | CIP error = <code>, Extended
error = <code>. 140
Database error. Encapsulation error occurred while uploading project information. | Encap-
sulation error = <code>. 140
Database error. Error occurred while uploading project information. | CIP error = <code>, Exten-
ded error = <code>. 141
Database error. Framing error occurred while uploading project information. 141
Database error. Internal error occurred. 142
Database error. Encapsulation error occurred while uploading program information. | Program
name = '<name>', Encapsulation error = <code>. 142
Database error. Error occurred while uploading program information. | Program name =
'<name>', CIP error = <code>, Extended error = <code>. 142
Database error. Framing error occurred while uploading program information. | Program name
= '<name>'. 143
Database error. Unable to resolve CIP data type for tag. Setting to default type. | CIP data type =
<type>, Tag name = '<tag>', Default data type = '<type>'. 143
Encapsulation error occurred while uploading project information. | Encapsulation error =
<code>. 143
Error occurred while uploading project information. | CIP error = <code>, Extended error =
<code>. 144
Framing error occurred while uploading project information. 144
Encapsulation error occurred while uploading program information. | Program name =
'<name>', Encapsulation error = <code>. 145
Error occurred while uploading program information. | Program name = '<name>', CIP error =
<code>, Extended error = <code>. 145
Framing error occurred while uploading program information. | Program name = '<name>'. 145
Encapsulation error occurred while uploading controller program information. Encapsulation
error = <code>. 145
Error occurred while uploading controller program information. CIP error = <code>, Extended
error = <code>. 145
Framing error occurred while uploading controller program information. 145
CIP connection timed out while uploading project information. 145
Database error. CIP connection timed out while uploading project information. 145
Database error. No more connections available for fwd. open request. 146
Error opening file for tag database import. | OS error = '<code>'. 146

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 6

Controller not supported. | Vendor ID = <ID>, Product type = <type>, Product code = <code>,
Product name = '<name>'. 146
Frame received from device contains errors. 146
Write request failed due to a framing error. | Tag address = '<address>'. 146
Read request for tag failed due to a framing error. | Tag address = '<address>'. 147
Block read request failed due to a framing error. | Block size = <number> (elements), Block start
address = '<address>'. 147
Block read request failed due to a framing error. | Block size = <number> (bytes), Block name =
'<name>'. 147
Unable to write to tag. | Tag address = '<address>', CIP error = <code>, Extended error =
<code>. 148
Unable to read tag. | Tag address = '<address>', CIP error = <code>, Extended error = <code>. 148
Unable to read block. | Block size = <number> (elements), Block start address = '<address>', CIP
error = <code>, Extended error = <code>. 148
Unable to read block. | Block size = <number> (bytes), Tag name = '<tag>', CIP error = <code>,
Extended error = <code>. 149
Unable to write to tag. Controller tag data type unknown. | Tag address = '<address>', Data type
= <type>. 149
Unable to read tag. Controller tag data type unknown. Tag deactivated. | Tag address =
'<address>', Data type = <type>. 149
Unable to read block. Controller tag data type unknown. Block deactivated. | Block size = <num-
ber> (elements), Block start address = '<address>', Data type = <type>. 149
Unable to write to tag. Data type not supported. | Tag address = '<address>', Data type =
'<type>'. 150
Unable to read tag. Data type not supported. Tag deactivated. | Tag address = '<address>', Data
type = '<type>'. 150
Unable to read block. Data type not supported. Block deactivated. | Block size = <number> (ele-
ments), Block start address = '<address>', Data type = '<type>'. 150
Unable to write to tag. Data type is illegal for this tag. | Tag address = '<address>', Data type =
'<type>'. 151
Unable to read tag. Data type is illegal for this tag. Tag deactivated | Tag address = '<address>',
Data type = '<type>'. 151
Unable to read block. Data type is illegal for this block. Block deactivated. | Block size = <num-
ber> (elements), Block start address = '<address>', Data type = '<type>'. 151
Unable to write to tag. Tag does not support multi-element arrays. | Tag address = '<address>'. 152
Unable to read tag. Tag does not support multi-element arrays. Tag deactivated. | Tag address =
'<address>'. 152
Unable to read block. Block does not support multi-element arrays. Block deactivated. | Block
size = <number> (elements), Block start address = '<address>'. 152
Unable to write to tag. Native tag size mismatch. | Tag address = '<address>'. 153
Unable to read tag. Native tag size mismatch. | Tag address = '<address>'. 153
Unable to read block. Native tag size mismatch. | Block size = <number> (elements), Block start
address = '<address>'. 153

www. [Link]
7 Allen-Bradley ControlLogix Ethernet Driver

Unable to read block. Native tag size mismatch. | Block size = <number> (bytes), Block name =
'<name>'. 154
Unable to write to tag. | Tag address = '<address>'. 154
Unable to read tag. Tag deactivated. | Tag address = '<address>'. 154
Unable to read block. Block deactivated. | Block size = <number> (elements), Block start address
= '<address>'. 155
Unable to read block. Block deactivated. | Block size = <number> (bytes), Tag name = '<tag>'. 155
Error occurred during a request to device. | CIP error = <code>, Extended error = <code>. 156
Encapsulation error occurred during a request to device. | Encapsulation error = <code>. 156
Memory could not be allocated for tag. | Tag address = '<address>'. 156
Unable to read block. Frame received contains errors. | Block size = <number> (elements), Start-
ing address = '<address>'. 157
Unable to read function file from device. Frame received contains errors. | Function file =
'<name>'. 157
Unable to read block. Tags deactivated. | Block size = <number> (elements), Starting address =
'<address>', DF1 status = <code>, Extended status = <code>. 157
Unable to read function file from device. Tags deactivated. | Function file = '<name>', DF1 status
= <code>, Extended status = <code>. 158
Unable to write to address. Frame received contains errors. | Address = '<address>'. 158
Unable to write to function file. Frame received contains errors. | Function file = '<name>'. 158
Unable to read block. | Block size = <number> (elements), Starting address = '<address>', DF1
status = <code>, Extended status = <code>. 158
Unable to read function file. | Function file = '<name>', DF1 status = <code>, Extended status =
<code>. 159
Unable to read block. Tags deactivated. | Block size = <number> (elements), Starting address =
'<address>', DF1 status = <code>, Extended status = <code>. 159
Unable to read function file. Tags deactivated. | Function file = '<name>', DF1 status = <code>. 160
Unable to write to address. | Address = '<address>', DF1 status = <code>, Extended status =
<code>. 160
Unable to write to function file. | Function file = '<name>', DF1 status = <code>, Extended status
= <code>. 161
Unable to read block. | Block size = <number> (elements), Starting address = '<address>', DF1
status = <code>. 161
Unable to read function file. | Function file = '<name>', DF1 status = <code>. 162
Unable to write to address. | Address = '<address>', DF1 status = <code>. 162
Unable to write to function file. | Function file = '<name>', DF1 status = <code>. 162
Unable to read tag. Internal memory is invalid. | Tag address = '<address>'. 163
Unable to read tag. Data type is illegal for this tag. | Tag address = '<address>', Data type =
'<type>'. 163
Unable to read block. Internal memory is invalid. Tag deactivated. | Tag address = '<address>'. 163
Unable to read block. Internal memory is invalid. Block deactivated. | Block size = <number>
(elements), Block start address = '<address>'. 164

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 8

Unable to write to address. Internal memory is invalid. | Tag address = '<address>'. 164
Unable to read block. Block deactivated. | Block size = <number> (elements), Block start address
= '<address>', CIP error = <code>, Extended error = <code>. 164
Device not responding. Local node responded with error. | DF1 status = <code>. 164
Unable to write to function file. Local node responded with error. | Function file = '<name>', DF1
status = <code>. 164
Unable to write to address. Local node responded with error. | Function file = '<name>', DF1
status = <code>. 165
Unexpected offset encountered for tag. Tag will use Symbolic protocol. | Tag address =
'<address>'. 165
Unexpected offset encountered for tag. | Tag address = '<address>'. 165
Unexpected offset/span encountered for tag. | Tag address = '<address>'. 165
Project download in progress or no project exists. 165
Project download complete. 166
Project online edit detected. Currently using Symbolic addressing. 166
Project offline edit detected. Currently using Symbolic addressing. 166
The following errors occurred uploading controller project from device. Resorting to symbolic
protocol. 166
Unable to retrieve the identity for device. All tags will use Symbolic Protocol. | Encapsulation
error = <code>. 166
Unable to retrieve the identity for device. All tags will use Symbolic Protocol. | CIP error =
<code>, Extended error = <code>. 166
Unable to retrieve the identity for device. Frame received contains errors. All tags will use Sym-
bolic Protocol. 167
Requested CIP connection size is not supported by this device. Automatically falling back to max.
size. | Requested size = <number> (bytes), Max. size = <number> (bytes). 167
The tag import filename is invalid, file paths are not allowed. 167
Read/Write requests to device stopped. Updating Logical Addresses from device project. 168
Read/Write requests to device resumed. Updating Logical Addresses from device complete. Cur-
rently using Logical addressing. 168
Unable to write to tag. Value written contains a syntax error. | Tag address = '<address>', Expec-
ted format = '<format>'. 168
Unable to write to tag. Value written is out of range. | Tag address = '<address>'. 168
Database status. Importing non-alias tags. 169
Database status. Importing alias tags. 169
Database status. Building tag projects, please wait. | Tag project count = <number>. 169
Database error. Tag renamed because it exceeds max. character length. | Tag name = '<tag>',
Max. length = <number>, New tag name = '<tag>'. 169
Database error. Array tags renamed because they exceed max. character length. | Array tags =
'<tags>', Max. length = <number>, New array tags = '<tags>'. 169
Database error. Program group name exceeds max. character length. Program group renamed.
| Group name = '<name>', Max. length = <number>, New group name = '<name>'. 169

www. [Link]
9 Allen-Bradley ControlLogix Ethernet Driver

Database status. Retrieving controller project. 169


Database status. | Program count = <number>, Data type count = <number>, Imported tag
count = <number>. 169
Database status. Generating OPC tags. 170
Low memory resources. 170
Unknown error occurred. 170
Database status. Importing tags from .L5X file. | Schema revision = '<value>', Software revision =
'<value>'. 170
Details. | IP = '<address>', Vendor ID = <vendor>, Product type = <type>, Product code = <code>,
Revision= <value>, Product name = '<name>', Product S/N = <number>. 170
Elapsed time = <number> (seconds). 170
Symbolic device reads = <number>. 170
Symbolic, array block device reads = <number>. 170
Symbolic, array block cache reads = <number>. 170
Symbol instance non-block device reads = <number>. 170
Symbol instance non-block, array block device reads = <number>. 171
Symbol instance non-block, array block cache reads = <number>. 171
Symbol instance block device reads = <number>. 171
Symbol instance block cache reads = <number>. 171
Physical non-block device reads = <number>. 171
Physical non-block, array block device reads = <number>. 171
Physical non-block, array block cache reads = <number>. 171
Physical block device reads = <number>. 171
Physical block cache reads = <number>. 171
Tags read = <number>. 171
Packets sent = <number>. 171
Packets received = <number>. 172
Initialization transactions = <number>. 172
Read/Write transactions = <number>. 172
Avg. packets sent/sec = <number>. 172
Avg. packets received/sec = <number>. 172
Avg. tag reads/sec = <number>. 172
Avg. tags/transaction = <number>. 172
----------------------------------------------------------------------------------------------------- 172
%s | DEVICE STATISTICS 172
Avg. device turn-around time = <number> (milliseconds) 172
%s | CHANNEL STATISTICS 173
DRIVER STATISTICS 173
Device tag import aborted. 173

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 10

Import file '%s' not found at path '%s'. 173


Errors occurred retrieving controller project. 173
Internal driver error occurred. 173
Invalid or corrupt controller project detected while synchronizing. Try again later. 173
Project download detected while synchronizing. Try again later. 173
Low memory resources. 173
L5K file is invalid or corrupt. 173
Unknown error occurred. 174
Database error. PLC5/SLC/MicroLogix devices do not support this function. 174
L5X file is invalid or corrupt. 174
Import file '<empty>' not found at path '<empty>'. 174
Import file '%s' not found at path '<empty>'. 174
Import file '<empty>' not found at path '%s'. 174
XML element failed post-schema validation. Importing tags from device is not supported for
model. Use alternative element. | XML element = '{<namespace>}<element>', Unsupported
model = '<model>', Alternative XML element = '{<namespace>}<element>'. 174
Value not supported for an XML element on this model. Automatically setting to new value. |
Value = '<value>', XML element = '{<namespace>}<element>', Model = '<model>', New value =
'<value>'. 174

Appendices 175

Allen-Bradley ControlLogix Ethernet Channel Properties 175

Allen-Bradley ControlLogix Ethernet Device Properties 175

Allen-Bradley ControlLogix Ethernet Tag Properties 178

Logix Device IDs 179

CompactLogix 5300 Ethernet Device ID 179

1761-NET-ENI Setup 181

Data Highway Plus Gateway Setup 181

ControlNet™ Gateway Setup 183

EtherNet/IP Gateway Setup 184

Serial Gateway Setup 185

MicroLogix 1100 Setup 186

Communications Routing 186


Connection Path Specification 187
Routing Examples 188

Choosing a Protocol Mode 191

Detecting a Change in the Controller Project 193

SoftLogix 5800 Connection Notes 194

Index 196

www. [Link]
11 Allen-Bradley ControlLogix Ethernet Driver

Allen-Bradley ControlLogix Ethernet Driver


Help version 1.189

CONTENTS

Overview
What is the Allen-Bradley ControlLogix Ethernet Driver?

Communications Routing
How do I communicate with a remote processor or interface module?

Setup
How do I configure a channel and device for use with this driver?

Configuration via API


How do I configure a channel and device using the Configuration API?

Automatic Tag Database Generation


How can I configure tags for the Allen-Bradley ControlLogix Ethernet Driver?

Performance Optimizations
How do I get the best performance from the Allen-Bradley ControlLogix Ethernet Driver?

Data Types Description


What data types does this driver support?

Address Descriptions
How do I address a tag on a Allen-Bradley ControlLogix Ethernet device?

Error Codes
What are the Allen-Bradley ControlLogix Ethernet error codes?

Event Log Messages


What messages does the driver produce?

Appendices
Where can I find additional information relating to the Allen-Bradley ControlLogix Ethernet Driver?

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 12

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.

Supported Allen-Bradley Controllers

ControlLogix® 5500 Series


Communications with ControlLogix can be accomplished through an EtherNet/IP communication module
for Ethernet communications or through a 1761-NET-ENI module for Ethernet-to-serial communications
using the controller's serial port.

CompactLogix™ 5300 Series


Ethernet communications with CompactLogix requires a processor with a built-in EtherNet/IP port such as
the 1769-L35E. Communications with CompactLogix otherwise requires a 1761-NET-ENI module for Eth-
ernet-to-serial communications using the controller's serial port.

FlexLogix 5400 Series


Communications with FlexLogix can be accomplished through a 1788-ENBT daughter card for Ethernet com-
munications or through a 1761-NET-ENI module for Ethernet-to-serial communications using the con-
troller's serial port.

SoftLogix 5800
The driver supports the Allen-Bradley SoftLogix 5800 Series Controller and requires an Ethernet card in the
SoftLogix PC.

Data Highway Plus Gateway


The driver supports the PLC-5 Series and SLC 500 Series with a Data Highway Plus interface. This is accom-
plished through a DH+ gateway and requires one of the aforementioned PLCs, an EtherNet/IP com-
munication module, and a 1756-DHRIO-interface module (both residing in the ControlLogix rack).

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:

l ControlLogix 5500 Series*


l CompactLogix 5300 Series*
l FlexLogix 5400 Series*
l MicroLogix Series
l SLC 500 Fixed I/O Processor
l SLC 500 Modular I/O Series
l PLC-5 Series

www. [Link]
13 Allen-Bradley ControlLogix Ethernet Driver

*These models require 1761-NET-ENI Series B or higher.

MicroLogix 1100
The driver supports communications with the MicroLogix 1100 (CH1 Ethernet) using EtherNet/IP.

ControlLogix is a registered trademarks of Allen-Bradley Company, LLC.


CompactLogix is a trademarks of Rockwell Automation, Inc.
All trademarks are the property of their respective owners.

Setup

Channel and Device Limits


The maximum number of channels supported by this driver is 1024. The maximum number of devices sup-
ported by this driver is 1024 per channel.

Supported Devices
Device Family Communications
Via 1756-ENBT / ENET / EN2F / EN2T / EN2TR /
EN3TR / EWEB / EN2TXT Ethernet module
ControlLogix 5550 / 5553 / 5555 / 5561 / 5562 /
5563 / 5564 / 5565 / 5571 / 5572 / 5573 / 5574 /
Via Serial Gateway
5575 / 5580 processors (including GuardLogix mod-
els)
Via 1761-NET-ENI Series B or higher using Channel
0 (serial)
Built-in Ethernet/IP port on processors with E suf-
fix*
CompactLogix 5320 / 5323 / 5330 / 5331 / 5332 /
5335 / 5343 / 5345 / 5370 / 5380 / 5480 (including Via Serial Gateway
GuardLogix models)
Via 1761-NET-ENI Series B or higher using Channel
0 (serial)
Via 1788-ENBT Ethernet daughter card

Via Serial Gateway


FlexLogix 5433 / 5434 processors

Via 1761-NET-ENI Series B or higher using Channel


0 (serial)
Via SoftLogix Ethernet / IP Messaging module
SoftLogix 5810 / 5830 / 5860 processors
Via Serial Gateway
Via 1761-NET-ENI
MicroLogix 1000 / 1200 / 1500
Via EtherNet/IP Gateway
Via MicroLogix 1100 / 1400 Channel 1 (Ethernet)

MicroLogix 1100 / 1400 Via 1761-NET-ENI

Via EtherNet/IP Gateway

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 14

Device Family Communications


Via 1761-NET-ENI
SLC 500 Fixed I/O Processor
Via EtherNet/IP Gateway
Via DH+ Gateway**

SLC 500 Modular I/O Processors (SLC 5/01, SLC


Via 1761-NET-ENI
5/02, SLC 5/03, SLC 5/04, SLC 5/05)

Via EtherNet/IP Gateway


Via DH+ Gateway

PLC-5 series (excluding the PLC5/250 series) Via 1761-NET-ENI

Via EtherNet/IP Gateway


Via ControlNet Gateway

PLC-5/20C, PLC-5/40C, PLC-5/80C Via 1761-NET-ENI

Via EtherNet/IP Gateway

*For example, 1769-L35E.


**This driver supports any SLC 500 series PLC that supports DH+ or that can be interfaced to a DH+ network
(such as the KF2 interface module).

Firmware Versions
Device Family Version
ControlLogix 5550 (1756-L1) 11.035 - 13.034
ControlLogix 5553 (1756-L53) 11.028
ControlLogix 5555 (1756-L55) 11.032 - 16.004
ControlLogix 5561 (1756-L61) 12.031 - 20.011
ControlLogix 5562 (1756-L62) 12.031 - 20.011
ControlLogix 5563 (1756-L63) 11.026 - 20.011
ControlLogix 5564 (1756-L64) 16.003 - 20.011
ControlLogix 5565 (1756-L65) 16.003 - 20.011
ControlLogix 5571 (1756-L71) 20.011 - 35.011
ControlLogix 5572 (1756-L72) 19.011 - 35.011
ControlLogix 5573 (1756-L73) 18.012 - 35.011
ControlLogix 5574 (1756-L74) 19.011 - 35.011
ControlLogix 5575 (1756-L75) 18.012 - 35.011
ControlLogix 5580 (1756-L8) 28.011 - 35.011
CompactLogix 5370 (1769-L1) 20.011 - 35.011
CompactLogix 5370 (1769-L2) 20.011 - 35.011
CompactLogix 5370 (1769-L3) 20.011 - 35.011

www. [Link]
15 Allen-Bradley ControlLogix Ethernet Driver

Device Family Version


CompactLogix 5320 (1769-L20) 11.027 - 13.018
CompactLogix 5323 (1769-L23) 17.005 - 20.011
CompactLogix 5330 (1769-L30) 11.027 - 13.018
CompactLogix 5331 (1769-L31) 16.022 - 20.011
CompactLogix 5332 (1769-L32) 16.022 - 20.011
CompactLogix 5335 (1769-L35) 16.022 - 20.011
CompactLogix 5343 (1768-L43) 15.007 - 20.011
CompactLogix 5345 (1768-L45) 16.024 - 20.011
CompactLogix 5380 (5069-L3) 28.011 - 35.011
CompactLogix 5480 (5069-L4) 33.011 - 35.011
FlexLogix 5433 (1794-L33) 11.025 - 13.033
FlexLogix 5434 (1794-L34) 11.025 - 16.002
SoftLogix 5800 (1789-L60) 16.000 - 20.001
ControlLogix, CompactLogix, and FlexLogix Serial
1761-NET-ENI Series B or higher or Serial Gateway
Communications
MicroLogix 1100 (1763-L16AWA/BWA/BBB) 1.1

Communication Protocol
The Communications Protocol is EtherNet/IP (CIP over Ethernet) using TCP/IP.

Logix and Gateway Models


Logix and Gateway models support the following:

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
ENI models support unconnected messaging.

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 16

Channel Properties — General


This server supports the use of multiple simultaneous communications drivers. Each protocol or driver used
in a server project is called a channel. A server project may consist of many channels with the same com-
munications driver or with unique communications drivers. A channel acts as the basic building block of an
OPC link. This group is used to specify general channel properties, such as the identification attributes and
operating mode.

Identification

Name: Specify the user-defined identity of this channel. In each server project, each channel name must be
unique. Although names can be up to 256 characters, some client applications have a limited display win-
dow when browsing the OPC server's tag space. The channel name is part of the OPC browser information.
The property is required for creating a channel.
For information on reserved characters, refer to "How To... Properly Name a Channel, Device, Tag, and Tag
Group" in the server help.

Description: Specify user-defined information about this channel.


Many of these properties, including Description, have an associated system tag.

Driver: Specify the protocol / driver for this channel. Specify the device driver that was selected during chan-
nel creation. It is a disabled setting in the channel properties. The property is required for creating a chan-
nel.
Note: With the server's online full-time operation, these properties can be changed at any time. This
includes changing the channel name to prevent clients from registering data with the server. If a client has
already acquired an item from the server before the channel name is changed, the items are unaffected. If,
after the channel name has been changed, the client application releases the item and attempts to re-
acquire using the old channel name, the item is not accepted. Changes to the properties should not be
made once a large client application has been developed. Utilize proper user role and privilege man-
agement to prevent operators from changing properties or accessing server features.

Diagnostics

Diagnostics Capture: When enabled, this option makes the channel's diagnostic information available to
OPC applications. Because the server's diagnostic features require a minimal amount of overhead pro-
cessing, it is recommended that they be utilized when needed and disabled when not. The default is dis-
abled.
Note: This property is not available if the driver does not support diagnostics.
For more information, refer to Communication Diagnostics in the server help.

Tag Counts

www. [Link]
17 Allen-Bradley ControlLogix Ethernet Driver

Static Tags: Provides the total number of defined static tags at this level (device or channel). This inform-
ation can be helpful in troubleshooting and load balancing.

Channel Properties — Ethernet Communications


Ethernet Communication can be used to communicate with devices.

Ethernet Settings

Network Adapter: Specify the network adapter to bind. When left blank or Default is selected, the oper-
ating system selects the default adapter.

Channel Properties — Write Optimizations


The server must ensure that the data written from the client application gets to the device on time. Given
this goal, the server provides optimization properties to meet specific needs or improve application respons-
iveness.

Write Optimizations

Optimization Method: Controls how write data is passed to the underlying communications driver. The
options are:

l Write All Values for All Tags: This option forces the server to attempt to write every value to the
controller. In this mode, the server continues to gather write requests and add them to the server's
internal write queue. The server processes the write queue and attempts to empty it by writing data
to the device as quickly as possible. This mode ensures that everything written from the client applic-
ations is sent to the target device. This mode should be selected if the write operation order or the
write item's content must uniquely be seen at the target device.
l Write Only Latest Value for Non-Boolean Tags: Many consecutive writes to the same value can
accumulate in the write queue due to the time required to actually send the data to the device. If the
server updates a write value that has already been placed in the write queue, far fewer writes are
needed to reach the same final output value. In this way, no extra writes accumulate in the server's
queue. When the user stops moving the slide switch, the value in the device is at the correct value at
virtually the same time. As the mode states, any value that is not a Boolean value is updated in the
server's internal write queue and sent to the device at the next possible opportunity. This can greatly
improve the application performance.
Note: This option does not attempt to optimize writes to Boolean values. It allows users to optim-

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 18

ize the operation of HMI data without causing problems with Boolean operations, such as a moment-
ary push button.
l Write Only Latest Value for All Tags: This option takes the theory behind the second optimization
mode and applies it to all tags. It is especially useful if the application only needs to send the latest
value to the device. This mode optimizes all writes by updating the tags currently in the write queue
before they are sent. This is the default mode.

Duty Cycle: is used to control the ratio of write to read operations. The ratio is always based on one read
for every one to ten writes. The duty cycle is set to ten by default, meaning that ten writes occur for each
read operation. Although the application is performing a large number of continuous writes, it must be
ensured that read data is still given time to process. A setting of one results in one read operation for every
write operation. If there are no write operations to perform, reads are processed continuously. This allows
optimization for applications with continuous writes versus a more balanced back and forth data flow.
Note: It is recommended that the application be characterized for compatibility with the write optim-
ization enhancements before being used in a production environment.

Channel Properties — Advanced


This group is used to specify advanced channel properties. Not all drivers support all properties; so the
Advanced group does not appear for those devices.

Non-Normalized Float Handling: A non-normalized value is defined as Infinity, Not-a-Number (NaN), or as


a Denormalized Number. The default is Replace with Zero. Drivers that have native float handling may
default to Unmodified. Non-normalized float handling allows users to specify how a driver handles non-nor-
malized IEEE-754 floating point data. Descriptions of the options are as follows:

l Replace with Zero: This option allows a driver to replace non-normalized IEEE-754 floating point val-
ues with zero before being transferred to clients.
l Unmodified: This option allows a driver to transfer IEEE-754 denormalized, normalized, non-num-
ber, and infinity values to clients without any conversion or changes.

Note: This property is disabled if the driver does not support floating-point values or if it only supports
the option that is displayed. According to the channel's float normalization setting, only real-time driver tags
(such as values and arrays) are subject to float normalization. For example, EFM data is not affected by this
setting.

For more information on the floating-point values, refer to "How To ... Work with Non-Normalized Floating-Point
Values" in the server help.

Inter-Device Delay: Specify the amount of time the communications channel waits to send new requests to
the next device after data is received from the current device on the same channel. Zero (0) disables the
delay.

Note: This property is not available for all drivers, models, and dependent settings.

www. [Link]
19 Allen-Bradley ControlLogix Ethernet Driver

Device Properties — General

Identification

Name: User-defined identity of this device.

Description: User-defined information about this device.

Channel Assignment: User-defined name of the channel to which this device currently belongs.

Driver: Selected protocol driver for this device.

Model: The specific version of the device.

Tip: Use ControlLogix or CompactLogix for GuardLogix (see Supported Devices).

ID: Enter the unique network address of the device, typically in the format of <IP or hostname>,1, <routing
path>,<slot>.

The conventions for addressing vary by model and routing. For more information, refer to the model-specific
addressing topics under Reference Material.

Operating Mode

Data Collection: This property controls the device's active state. Although device communications are
enabled by default, this property can be used to disable a physical device. Communications are not attemp-
ted when a device is disabled. From a client standpoint, the data is marked as invalid and write operations
are not accepted. This property can be changed at any time through this property or the device system tags.

Simulated: Place the device into or out of Simulation Mode. In this mode, the driver does not attempt to
communicate with the physical device, but the server continues to return valid OPC data. Simulated stops
physical communications with the device, but allows OPC data to be returned to the OPC client as valid data.

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 20

While in Simulation Mode, the server treats all device data as reflective: whatever is written to the simulated
device is read back and each OPC item is treated individually. The item's memory map is based on the
group Update Rate. The data is not saved if the server removes the item (such as when the server is rein-
itialized). The default is No.

Notes:
1. Updates are not applied until clients disconnect and reconnect.

2. The System tag (_Simulated) is read only and cannot be written to for runtime protection. The System tag
allows this property to be monitored from the client.

3. In Simulation mode, the item's memory map is based on client update rate(s) (Group Update Rate for OPC
clients or Scan Rate for native and DDE interfaces). This means that two clients that reference the same
item with different update rates return different data.

4. When a device is simulated, updates may not appear faster than one (1) second in the client.

Simulation Mode is for test and simulation purposes only. It should never be used in a production envir-
onment.

Device Properties — Scan Mode


The Scan Mode specifies the subscribed-client requested scan rate for tags that require device com-
munications. Synchronous and asynchronous device reads and writes are processed as soon as possible;
unaffected by the Scan Mode properties.

Scan Mode: Specify how tags in the device are scanned for updates sent to subscribing clients. Descriptions
of the options are:

l Respect Client-Specified Scan Rate: This mode uses the scan rate requested by the client.
l Request Data No Faster than Scan Rate: This mode specifies the value set as the maximum scan
rate. The valid range is 10 to 99999990 milliseconds. The default is 1000 milliseconds.
Note: When the server has an active client and items for the device and the scan rate value is
increased, the changes take effect immediately. When the scan rate value is decreased, the changes
do not take effect until all client applications have been disconnected.
l Request All Data at Scan Rate: This mode forces tags to be scanned at the specified rate for sub-
scribed clients. The valid range is 10 to 99999990 milliseconds. The default is 1000 milliseconds.
l Do Not Scan, Demand Poll Only: This mode does not periodically poll tags that belong to the
device nor perform a read to get an item's initial value once it becomes active. It is the OPC client's
responsibility to poll for updates, either by writing to the _DemandPoll tag or by issuing explicit
device reads for individual items. For more information, refer to "Device Demand Poll" in server help.
l Respect Tag-Specified Scan Rate: This mode forces static tags to be scanned at the rate specified
in their static configuration tag properties. Dynamic tags are scanned at the client-specified scan
rate.

Initial Updates from Cache: When enabled, this option allows the server to provide the first updates for
newly activated tag references from stored (cached) data. Cache updates can only be provided when the
new item reference shares the same address, scan rate, data type, client access, and scaling properties. A

www. [Link]
21 Allen-Bradley ControlLogix Ethernet Driver

device read is used for the initial update for the first client reference only. The default is disabled; any time a
client activates a tag reference the server attempts to read the initial value from the device.

Tag Counts

Static Tags: Provides the total number of defined static tags at this level (device or channel). This inform-
ation can be helpful in troubleshooting and load balancing.

Device Properties — Timing


The device Timing properties allow the driver's response to error conditions to be tailored to fit the applic-
ation's needs. In many cases, the environment requires changes to these properties for optimum per-
formance. Factors such as electrically generated noise, modem delays, and poor physical connections can
influence how many errors or timeouts a communications driver encounters. Timing properties are specific
to each configured device.

Communications Timeouts

Connect Timeout: This property (which is used primarily by Ethernet based drivers) controls the amount
of time required to establish a socket connection to a remote device. The device's connection time often
takes longer than normal communications requests to that same device. The valid range is 1 to 30 seconds.
The default is typically 3 seconds, but can vary depending on the driver's specific nature. If this setting is not
supported by the driver, it is disabled.
Note: Due to the nature of UDP connections, the connection timeout setting is not applicable when com-
municating via UDP.

Request Timeout: Specify an interval used by all drivers to determine how long the driver waits for a
response from the target device to complete. The valid range is 50 to 9999999 milliseconds (167 minutes).
The default is usually 1000 milliseconds, but can vary depending on the driver. The default timeout for most
serial drivers is based on a baud rate of 9600 baud or better. When using a driver at lower baud rates,
increase the timeout to compensate for the increased time required to acquire data.

Attempts Before Timeout: Specify how many times the driver issues a communications request before
considering the request to have failed and the device to be in error. The valid range is 1 to 10. The default is
typically 3, but can vary depending on the driver's specific nature. The number of attempts configured for
an application depends largely on the communications environment. This property applies to both con-
nection attempts and request attempts.

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 22

Timing

Inter-Request Delay: Specify how long the driver waits before sending the next request to the target
device. It overrides the normal polling frequency of tags associated with the device, as well as one-time
reads and writes. This delay can be useful when dealing with devices with slow turnaround times and in
cases where network load is a concern. Configuring a delay for a device affects communications with all
other devices on the channel. It is recommended that users separate any device that requires an inter-
request delay to a separate channel if possible. Other communications properties (such as communication
serialization) can extend this delay. The valid range is 0 to 300,000 milliseconds; however, some drivers may
limit the maximum value due to a function of their particular design. The default is 0, which indicates no
delay between requests with the target device.
Note: Not all drivers support Inter-Request Delay. This setting does not appear if it is not available.

Device Properties — Auto-Demotion


The Auto-Demotion properties can temporarily place a device off-scan in the event that a device is not
responding. By placing a non-responsive device offline for a specific time period, the driver can continue to
optimize its communications with other devices on the same channel. After the time period has been
reached, the driver re-attempts to communicate with the non-responsive device. If the device is responsive,
the device is placed on-scan; otherwise, it restarts its off-scan time period.

Demote on Failure: When enabled, the device is automatically taken off-scan until it is responding again.
Tip: Determine when a device is off-scan by monitoring its demoted state using the _AutoDemoted sys-
tem tag.

Timeouts to Demote: Specify how many successive cycles of request timeouts and retries occur before the
device is placed off-scan. The valid range is 1 to 30 successive failures. The default is 3.

Demotion Period: Indicate how long the device should be placed off-scan when the timeouts value is
reached. During this period, no read requests are sent to the device and all data associated with the read
requests are set to bad quality. When this period expires, the driver places the device on-scan and allows for
another attempt at communications. The valid range is 100 to 3600000 milliseconds. The default is 10000
milliseconds.

Discard Requests when Demoted: Select whether or not write requests should be attempted during the
off-scan period. Disable to always send write requests regardless of the demotion period. Enable to discard
writes; the server automatically fails any write request received from a client and does not post a message
to the Event Log.

www. [Link]
23 Allen-Bradley ControlLogix Ethernet Driver

Device Properties — Tag Generation


The automatic tag database generation features make setting up an application a plug-and-play operation.
Select communications drivers can be configured to automatically build a list of tags that correspond to
device-specific data. These automatically generated tags (which depend on the nature of the supporting
driver) can be browsed from the clients.

Not all devices and drivers support full automatic tag database generation and not all support the same data
types. Consult the data types descriptions or the supported data type lists for each driver for specifics.

If the target device supports its own local tag database, the driver reads the device's tag information and
uses the data to generate tags within the server. If the device does not natively support named tags, the
driver creates a list of tags based on driver-specific information. An example of these two conditions is as fol-
lows:

1. If a data acquisition system supports its own local tag database, the communications driver uses the
tag names found in the device to build the server's tags.

2. If an Ethernet I/O system supports detection of its own available I/O module types, the com-
munications driver automatically generates tags in the server that are based on the types of I/O mod-
ules plugged into the Ethernet I/O rack.

Note: Automatic tag database generation's mode of operation is completely configurable. For more
information, refer to the property descriptions below.

On Property Change: If the device supports automatic tag generation when certain properties change, the
On Property Change option is shown. It is set to Yes by default, but it can be set to No to control over
when tag generation is performed. In this case, the Create tags action must be manually invoked to per-
form tag generation.

On Device Startup: Specify when OPC tags are automatically generated. Descriptions of the options are as
follows:

l Do Not Generate on Startup: This option prevents the driver from adding any OPC tags to the tag
space of the server. This is the default setting.
l Always Generate on Startup: This option causes the driver to evaluate the device for tag inform-
ation. It also adds tags to the tag space of the server every time the server is launched.
l Generate on First Startup: This option causes the driver to evaluate the target device for tag
information the first time the project is run. It also adds any OPC tags to the server tag space as
needed.

Note: When the option to automatically generate OPC tags is selected, any tags that are added to the
server's tag space must be saved with the project. Users can configure the project to automatically save
from the Tools | Options menu.

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 24

On Duplicate Tag: When automatic tag database generation is enabled, the server needs to know what to
do with the tags that it may have previously added or with tags that have been added or modified after the
communications driver since their original creation. This setting controls how the server handles OPC tags
that were automatically generated and currently exist in the project. It also prevents automatically gen-
erated tags from accumulating in the server.

For example, if a user changes the I/O modules in the rack with the server configured to Always Generate
on Startup, new tags would be added to the server every time the communications driver detected a new
I/O module. If the old tags were not removed, many unused tags could accumulate in the server's tag space.
The options are:

l Delete on Create: This option deletes any tags that were previously added to the tag space before
any new tags are added. This is the default setting.
l Overwrite as Necessary: This option instructs the server to only remove the tags that the com-
munications driver is replacing with new tags. Any tags that are not being overwritten remain in the
server's tag space.
l Do not Overwrite: This option prevents the server from removing any tags that were previously
generated or already existed in the server. The communications driver can only add tags that are
completely new.
l Do not Overwrite, Log Error: This option has the same effect as the prior option, and also posts an
error message to the server's Event Log when a tag overwrite would have occurred.

Note: Removing OPC tags affects tags that have been automatically generated by the com-
munications driver as well as any tags that have been added using names that match generated tags.
Users should avoid adding tags to the server using names that may match tags that are automatically
generated by the driver.

Parent Group: This property keeps automatically generated tags from mixing with tags that have been
entered manually by specifying a group to be used for automatically generated tags. The name of the group
can be up to 256 characters. This parent group provides a root branch to which all automatically generated
tags are added.

Allow Automatically Generated Subgroups: This property controls whether the server automatically cre-
ates subgroups for the automatically generated tags. This is the default setting. If disabled, the server gen-
erates the device's tags in a flat list without any grouping. In the server project, the resulting tags are named
with the address value. For example, the tag names are not retained during the generation process.
Note: If, as the server is generating tags, a tag is assigned the same name as an existing tag, the system
automatically increments to the next highest number so that the tag name is not duplicated. For example, if
the generation process creates a tag named "AI22" that already exists, it creates the tag as "AI23" instead.

Create: Initiates the creation of automatically generated OPC tags. If the device's configuration has been
modified, Create tags forces the driver to reevaluate the device for possible tag changes. Its ability to be
accessed from the System tags allows a client application to initiate tag database creation.
Note: Create tags is disabled if the Configuration edits a project offline.

www. [Link]
25 Allen-Bradley ControlLogix Ethernet Driver

Device Properties — Logix Communications Parameters

EtherNet/IP

TCP/IP Port: Specifies the TCP/IP port number that the device is configured to use. The default is 44818.

CIP

Connection Size: Specify the number of bytes available on the CIP connection for data requests and
responses. The valid range is 500 to 4000 bytes. The default 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.
The Connection Size value may also be requested through the System tag "_CIPConnectionSizeRequested." For
more information, refer to Internal Tags.

Inactivity Watchdog: Specify the amount of time, in seconds, a connection remains idle (without
read/write transactions) before being closed by the controller. The larger the value, the more time it takes
for connection resources to be released by the controller and vice versa. The default is 32 seconds.
Note: If an error about the CIP connection timing out while uploading a project occurs frequently,
increase the Inactivity Watchdog value. Otherwise, the default value is suggested.

Logix

Array Block Size: This property specifies the maximum number of array elements to read in a single trans-
action. The value is adjustable and ranges from 30 to 3840 elements. The default is 120 elements.
Tip: For Boolean arrays, a single element is considered a 32-element bit array. Setting the block size to 30
elements translates to 960-bit elements, whereas 3840 elements translate to 122880 bit elements.

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 26

Device Properties — Logix Options

Protocol Options

Protocol Mode: Select how Logix tag data is read from the controller: Logical Non-Blocking, Logical
Blocking, and Symbolic. The default is Logical Non-Blocking. This option should only be changed by
advanced users looking to increase client / server tag update performance.
For more information, refer to Choosing a Protocol Mode.
Note: Logical Non-Blocking and Logical Blocking are not available to Serial Gateway models.

Synchronize After Online Edits: When enabled, the driver synchronizes its 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 Mode is Logical Non-Blocking or Logical Blocking. The default is Yes.

Synchronize After 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 detec-
ted. This option prevents unnecessary errors from occurring during a project change. It is only available
when the selected protocol is Logical Non-Blocking or Logical Blocking. The default is Yes.
Failure to synchronize with project changes can lead to reading from and writing to the wrong Native Tag
address.

Terminate String Data at LEN: When enabled, 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 char-
acter encountered, the character whose position equals the value of LEN, or the maximum string length of
DATA (whichever occurs first). When disabled, 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 is Enable.

Project Options

Default Data Type: Select the data type assigned to a client/server tag when the default type is selected
during tag addition, modification, or import. The default is Default.
For more information, refer to Default Data Type Conditions.

Performance Statistics: The Allen-Bradley ControlLogix Ethernet Driver has the ability to gather com-
munication statistics to help determine the driver's performance. When enabled, this option is enabled. The

www. [Link]
27 Allen-Bradley ControlLogix Ethernet Driver

driver tracks the number and types of client/server tag updates. On restart of the server application, the res-
ults are displayed in the server's Event Log. The default is No.
Note: Once a project configuration is designed for optimal performance, it is recommended that users
disable Performance Statistics. Because the statistics are written to the Event Log on shutdown, the server
must be re-launched to view the results.
See Also: Detecting a Change in the Controller Project

Device Properties — Logix Database Settings

Database Import Method

Database Import Method: Select how the tag database should be populated:

l Create from Device: retrieves tags directly from the controller over the same Ethernet connection
that is used for data access, which is fast and imports most tags, but requires access to the con-
troller and does not import descriptions. Tags that are not imported include Add-On Instruction
(AOI) InOut properties.
Note: This feature is not available to Serial Gateway models.
l Create from Import File: retrieves tags from a selected RSLogix L5K/L5X file. Controller access is
not necessary, descriptions are imported, and users can work offline; however, this option is slower
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 properties
l AOI properties that alias other properties
l Equipment Phase properties that alias properties from another Equipment Phase or Pro-
gram
l Program properties that alias properties from another Program or Equipment Phase
l Timer / Counter CTL bits

Tag Import File: Click the browse (...) button to locate and select the L5K/L5X file from which tags are to be
imported. This file is used when Automatic Tag Database Generation is instructed to create the tag data-
base. All tags, including Global and Program, are imported and expanded according to their respective data
types.

Tag Descriptions: Choose Enable to import tag descriptions for non-structure, non-array tags. If necessary,
a description is given to tags with long names stating the original tag name.

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 28

Tag Generation Using the API


The config API properties for CLX offline ATG are:

"controllogix_ethernet.DEVICE_DATABASE_IMPORT_METHOD": 1, "controllogix_ethernet.DEVICE_
TAG_IMPORT_FILE": "myFile.l5x", "controllogix_ethernet.DEVICE_DISPLAY_DESCRIPTIONS": true,

where the enumeration for import method is:


0 for Create from Device;
and
1 for Create from File

Logix Database Options

Limit Name Length: Set to Enable to constrain the tag and group names to 31 characters. The default is
Disable.

1. Before OPC server version 4.70, tag and group name lengths were restricted to 31 characters. The
current length restriction of 256 characters can fit Logix 40-character Logix Tag names.

2. If an older 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 truncated due to the character limit. If so, Enable this prop-
erty to preserve the server tag names. OPC client tag references are not affected. If disabled, longer
tag names are created and clients referencing the clipped tag must be changed to reference the new
tag name.

3. If an older OPC server version was used to import tags via L5K/L5X import and no tags were trun-
cated due to the 31-character limit, leave this option disabled.

4. If tags were imported via L5K/L5X with server version 4.70 or above, leave this option disabled.
See Also: Controller-to-Server Name Conversions

Tag Hierarchy: This property specifies the tree organization of the tag hierarchy. When Condensed, 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. When Expanded, the server tags cre-
ated 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 and to represent logical groupings. To
use this functionality, enable Allow Sub Groups in Tag Generation properties.
For more information on the groups created, refer to Tag Hierarchy and Controller-to-Server Name Con-
versions.

Logix Database Filtering

Impose Array Limit: Select Enable to constrain the number of array elements. Tags in the controller can be
declared with very large array dimensions. By default, arrays are completely expanded during the tag gen-
eration process, which becomes time consuming for large arrays. By imposing a limit, only a specified num-
ber of elements from each dimension are generated. Limits only takes effect when the array dimension size
exceeds the limit. The default is Disable.

Array Count Upper Limit: Specify the array count limit. The default is 2000.

www. [Link]
29 Allen-Bradley ControlLogix Ethernet Driver

Device Properties — ENI DF1/DH+/CN Gateway Communications Para-


meters

TCP/IP Port: Specify the port number that the remote device is configured to use (such as 1756-ENBT). The
default is 44818.

Request Size: Select the number of bytes that may be requested from a device at one time to refine per-
formance. Options are 32, 64, 128, or 232. The default is 232 bytes.

Allow Function File 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. 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 ele-
ments. The default is disabled.

For more information, refer to Block Writes and Function Files.

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 instruc-
tions below.

1. To start, locate ENI DF1/DH+/CN Gateway Communications Parameters in Device Properties.

2. Enable Allow Function Files Block Writes to notify the driver to utilize block writes on function files
that support block writes.

3. Clicking OK or Apply.

4. Write the desired value to the sub element tag in question. The sub element tag immediately takes
on the value written to it.

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 30

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.

5. Once the entire desired sub elements are written, 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.

Applicable Function Files / Sub Elements


RTC
Year YR
Month MON
Day DAY
Day of Week DOW
Hour HR
Minute MIN
Second SEC

See Also: Function File Listing

Device Properties — SLC 500 Slot Configuration


For I/O to be accessed, SLC5/01/02/03/04/05 models (modular I/O racks) must be configured for use with
the Allen-Bradley ControlLogix Ethernet Driver. Up to 30 slots can be configured per device.

Slot n: the physical slot being configured. Use the plus icon to expand the properties.

Module: Set the type of module in the slot from the options available in the drop-down list.
To configure slots through the Configuration API Service, see this example.

www. [Link]
31 Allen-Bradley ControlLogix Ethernet Driver

Input Words: If required by the module selected, enter the maximum number of Input Words for this mod-
ule.

Output Words: If required by the module selected, enter the maximum number of Output Words for this
module.

To use slot configuration, follow the instructions below:

1. Select the slot to be configured by clicking on the row in the module list box.

2. To select a module, click on it from the available modules drop-down list.

3. Configure the Input Words and Output Words if necessary.

4. To remove a slot / module, select No Module from the available modules drop-down list.

5. When complete, click OK.

Tips:

l Use the 0000-Generic Module to configure I/O that is not contained in the list of Available Modules.
l The module selections available are the same as those in the Allen Bradley APS software.

Note: It is common to have open slots in the rack that do not contain a physical module. To correctly
access data for the various slots that do contain a module, the preceding module(s) must have the correct
number of words mapped. For example, if only interested in the I/O in slot 3, but slots 1 and 2 contain I/O
modules, the correct modules must be selected for slots 1, 2, and 3 from this slot configuration group.

0000-Generic Module
Use the Generic Module to map Input and Output words for modules that are not represented in the list of
available modules. To correctly use the Generic Module, users must know the number of Input and Output
words required for each module.

Consult Allen-Bradley I/O user manual documentation to confirm Input and Output requirements and be aware
that requirements may be different based on Class 1 or Class 3 operation.
For information on the number of input and output words available for each I/O module, refer to Modular I/O
Selection Guide.

Device Properties — Redundancy

Redundancy is available with the Media-Level Redundancy Plug-In.


Consult the website, a sales representative, or the user manual for more information.

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 32

SLC 500 Modular I/O Selection Guide


The following table lists the number of input and output words available for each I/O module in the Slot Con-
figuration list.

Input Output
Module ID Module Type
Words Words
0 1746-I*8 Any 8 pt Discrete Input Module 1 0
1 1746-I*16 Any 16 pt Discrete Input Module 1 0
2 1746-I*32 Any 32 pt Discrete Input Module 2 0
3 1746-O*8 Any 8 pt Discrete Output Module 0 1
4 1746-O*16 Any 16 pt Discrete Output Module 0 1
5 1746-O*32 Any 32 pt Discrete Output Module 0 2
6 1746-IA4 4 Input 100 / 120 VAC 1 0
7 1746-IA8 8 Input 100 / 120 VAC 1 0
8 1746-IA16 16 Input 100/120 VAC 1 0
9 1746-IB8 8 Input (Sink) 24 VDC 1 0
10 1746-IB16 16 Input (Sink) 24 VDC 1 0
11 1746-IB32 32 Input (Sink) 24 VDC 2 0
12 1746-IG16 16 Input [TTL] (Source) 5 VDC 1 0
13 1746-IM4 4 Input 200 / 240 VAC 1 0
14 1746-IM8 8 Input 200 / 240 VAC 1 0
15 1746-IM16 16 Input 200/240 VAC 1 0
16 1746-IN16 16 Input 24 VAC / VDC 1 0
17 1746-ITB16 16 Input [Fast] (Sink) 24 VDC 1 0
18 1746-ITV16 16 Input [Fast] (Source) 24 VDC 1 0
19 1746-IV8 8 Input (Source) 24 VDC 1 0
20 1746-IV16 16 Input (Source) 24 VDC 1 0
21 1746-IV32 32 Input (Source) 24 VDC 2 0
22 1746-OA8 8 Output (TRIAC) 100 / 240 VAC 0 1
23 1746-OA16 16 Output (TRIAC) 100 / 240 VAC 0 1
24 1746-OB8 8 Output [Trans] (Source) 10 / 50 VDC 0 1
25 1746-OB16 16 Output [Trans] (Source) 10 / 50 VDC 0 1
26 1746-OB32 32 Output [Trans] (Source) 10/50 VDC 0 2
27 1746-OBP16 16 Output [Trans 1 Amp] (SRC) 24 VDC 0 1
28 1746-OV8 8 Output [Trans] (Sink) 10/50 VDC 0 1
29 1746-OV16 16 Output [Trans] (Sink) 10/50 VDC 0 1
30 1746-OV32 32 Output [Trans] (Sink) 10/50 VDC 0 2
31 1746-OW4 4 Output [Relay] VAC/VDC 0 1
32 1746-OW8 8 Output [Relay] VAC/VDC 0 1
33 1746-OW16 16 Output [Relay] VAC/VDC 0 1
34 1746-OX8 8 Output [Isolated Relay] VAC/VDC 0 1

www. [Link]
33 Allen-Bradley ControlLogix Ethernet Driver

Input Output
Module ID Module Type
Words Words
35 1746-OVP16 16 Output [Trans 1 Amp] (Sink) 24 VDC3 0 1
36 1746-IO4 2 In 100 / 120 VAC 2 Out [Rly] VAC / VDC3 1 1
37 1746-IO8 4 In 100 / 120 VAC 4 Out [Rly] VAC / VDC4 1 1
38 1746-IO12 6 In 100 / 120 VAC 6 Out [Rly] VAC / VDC 1 1
39 1746-NI4 4 Ch Analog Input 4 0
40 1746-NIO4I Analog Comb 2 in & 2 Current Out 2 2
41 1746-NIO4V Analog Comb 2 in & 2 Voltage Out 2 2
42 1746-NO4I 4 Ch Analog Current Output 0 4
43 1746-NO4V 4 Ch Analog Voltage Output 0 4
44 1746-NT4 4 Ch Thermocouple Input Module 8 8
45 1746-NR4 4 Ch Rtd / Resistance Input Module 8 8
46 1746-HSCE High-Speed Counter/Encoder 8 1
47 1746-HS Single Axis Motion Controller 4 4
48 1746-OG16 16 Output [TLL] (SINK) 5 VDC 0 1
49 1746-BAS Basic Module 500 5/01 Configuration 8 8
50 1746-BAS Basic Module 5/02 Configuration 8 8
51 1747-DCM Direct Communication Module (1/4 Rack) 2 2
52 1747-DCM Direct Communication Module (1/2 Rack) 4 4
53 1747-DCM Direct Communication Module (3/4 Rack) 6 6
54 1747-DCM Direct Communication Module (Full Rack) 8 8
55 1747-SN Remote I/O Scanner 32 32
56 1747-DSN Distributed I/O Scanner 7 Blocks 8 8
57 1747-DSN Distributed I/O Scanner 30 Blocks 32 32
58 1747-KE Interface Module, Series A 1 0
59 1747-KE Interface Module, Series B 8 8
60 1746-NI8 8 Ch Analog Input, Class 1 8 8
61 1746-NI8 8 Ch Analog Input, Class 3 16 12
62 0000-Generic Module - -
63 1746-IC16 16 Input (Sink) 48 VDC 1 0
64 1746-IH16 16 Input [Trans] (Sink) 125 VDC 1 0
65 1746-OAP12 12 Output [Triac] 120/240 VDC 0 1
66 1746-OB6EI 6 Output [Trans] (Source) 24 VDC 0 1
67 1746-OB16E 16 Output [Trans] (Source) Protected 0 1
68 1746-OB32E 32 Output [Trans] (Source) 10 / 50 VDC 0 2
69 1746-OBP8 8 Output [Trans 2 amp] (Source) 24 VDC 0 1
70 1746-IO12DC 6 Input 12 VDC, 6 Output [Rly] 1 1
71 1746-INI4I Analog 4 Ch. Isol. Current Input 8 8
72 1746-INI4VI Analog 4 Ch. Isol. Volt/Current Input 8 8

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 34

Input Output
Module ID Module Type
Words Words
73 1746-INO4I Analog 4 Ch. Isol. Current Output 8 8
74 1746-INO4VI Analog 4 Ch. Isol. Volt/Current Output 8 8
75 1746-INT4 4 Ch. Isolated Thermocouple Input 8 8
76 1746-NT8 Analog 8 Ch Thermocouple Input 8 8
77 1746-HSRV Motion Control Module 12 8
78 1746-HSTP1 Stepper Controller Module 8 8
79 1747-MNET MNET Network Comm Module 0 0
80 1746-QS Synchronized Axes Module 32 32
81 1747-QV Open Loop Velocity Control 8 8
82 1747-RCIF Robot Control Interface Module 32 32
83 1747-SCNR ControlNet SLC Scanner 32 32
84 1747-SDN DeviceNet Scanner Module 32 32
85 1394-SJT GMC Turbo System 32 32
86 1203-SM1 SCANport Comm Module - Basic 8 8
87 1203-SM1 SCANport Comm Module - Enhanced 32 32
88 AMCI-1561 AMCI Series 1561 Resolver Module 8 8

www. [Link]
35 Allen-Bradley ControlLogix Ethernet Driver

Configuration API — Allen-Bradley ControlLogix Ethernet Example


For a list of channel and device definitions and enumerations, access the following endpoints with the REST
client or refer to the appendices.

Channel Definitions

Endpoint (GET):
[Link]
ley%20ControlLogix%20Ethernet/channels

Device Definitions

Endpoint (GET):
[Link]
ley%20ControlLogix%20Ethernet/devices

Create Allen-Bradley ControlLogix Ethernet Channel

Endpoint (POST):
[Link]

Body:
{
"common.ALLTYPES_NAME": "MyChannel",
"servermain.MULTIPLE_TYPES_DEVICE_DRIVER": "Allen-Bradley ControlLogix Ethernet"
}
See Also: Appendix for a list of channel properties.

Create Allen-Bradley ControlLogix Ethernet Device

Endpoint (POST):
[Link]

Body:
{
"common.ALLTYPES_NAME": "MyDevice",
"servermain.DEVICE_ID_STRING": "<IP Address>,0,1",
"servermain.MULTIPLE_TYPES_DEVICE_DRIVER": "Allen-Bradley ControlLogix Ethernet",
"servermain.DEVICE_MODEL": <model enumeration>
}
where <IP Address> is the device's IP address.

Note: The format of the value for servermain.DEVICE_ID_STRING may vary depending on the model enu-
meration specified for servermain.DEVICE_MODEL. The device ID string format shown above is for the Con-
trolLogix 5500 model.

See Also: Device Model Enumerations and Device Properties.

Create Allen-Bradley ControlLogix Ethernet Tags

Endpoint (POST):

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 36

[Link]

Body:
[
{
"common.ALLTYPES_NAME": "MyTag1",
"servermain.TAG_ADDRESS": "My_Tag_Address"
}
{
"common.ALLTYPES_NAME": "MyTag2",
"servermain.TAG_ADDRESS": "My_Tag_Address"
}
]
See Also: Appendix for a list of tag properties.

See server and driver-specific help for more information on configuring tags and tag groups using the Con-
figuration API.

Enumerations
Some properties, such as Device Model, have values that are mapped to an enumeration. A valid list of enu-
merations and their values can be found by querying the device endpoint with ‘content=property_defin-
itions ’or the documentation definitions endpoints.

For example, to view the property definitions for a device named “MyDevice” under a channel named
“MyChannel”, the GET request would be sent to:

[Link]
port>/config/v1/project/channels/MyChannel/devices/MyDevice/?content=property definitions

Property definitions are also available for other objects such as channels or tags.

Alternatively, if enabled in the settings for the Configuration API, the channel and device property defin-
itions for the driver can be viewed at:

[Link]

[Link]

Example Data Type Enumerations


Querying the documentation endpoint for tag data types provides the following enumerations:

{
"Default": -1,
"String": 0,
"Boolean": 1,
"Char": 2,
"Byte": 3,
"Short": 4,
"Word": 5,
"Long": 6,
"DWord": 7,
"Float": 8,
"Double": 9,

www. [Link]
37 Allen-Bradley ControlLogix Ethernet Driver

"BCD": 10,
"LBCD": 11,
"Date": 12,
"LLong": 13,
"QWord": 14,
"String Array": 20,
"Boolean Array": 21,
"Char Array": 22,
"Byte Array": 23,
"Short Array": 24,
"Word Array": 25,
"Long Array": 26,
"DWord Array": 27,
"Float Array": 28,
"Double Array": 29,
"BCD Array": 30,
"LBCD Array": 31,
"Date Array": 32,
"LLong Array": 33,
" QWord Array": 34
}

Note: Supported data types vary by protocol and driver.

Device Model Enumerations


The Device Model property has values mapped to the following enumerations. The below table is for ref-
erence only; the information at the device endpoint is the complete and current source of information:

[Link]
ley%20ControlLogix%20Ethernet/Channels

[Link]
ley%20ControlLogix%20Ethernet/Devices

Enumeration Device Model


0 ControlLogix 5500
1 CompactLogix 5300
2 FlexLogix 5400
3 SoftLogix 5800
4 DH+ Gateway: PLC-5
5 DH+ Gateway: SLC 5/04
6 ControlNet Gateway: PLC-5C
7 EIP Gateway: MicroLogix
8 EIP Gateway: SLC Fixed
9 EIP Gateway: SLC Modular
10 EIP Gateway: PLC-5
11 Serial Gateway: ControlLogix
12 Serial Gateway: CompactLogix

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 38

Enumeration Device Model


13 Serial Gateway: CompactLogix
14 Serial Gateway: FlexLogix
15 Serial Gateway: SoftLogix
16 ENI: ControlLogix 5500
17 ENI: FlexLogix 5400
18 ENI: MicroLogix
19 ENI: SLC 500 Fixed I/O
20 ENI: SLC 500 Modular I/O
21 ENI: PLC-5
22 MicroLogix 1100
23 MicroLogix 1400

Configuration API — Slot Configuration

Given this Example Slot Configuration:

Slot 1: 1746-OV32 32 Output [Trans] (Sink) 10/50 VDC


Slot 2: 1746-I*16 Any 16 pt Discrete Input Module
Slot 3: <No Module>
Slot 4: 0000-Generic Module [1 Input Word, 2 Output Words]
Slot 5: 1746-NT8 Analog 8 Ch Thermocouple Input
Slot 6 – 30: <No Module>

Configure the Slots with the API:


"controllogix_ethernet.DEVICE_SLOT_CONFIGURATION": {
"controllogix_ethernet.DEVICE_SLOT_CONFIGURATION_MODULE": [
30,
1,
255,
62,
76,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,

www. [Link]
39 Allen-Bradley ControlLogix Ethernet Driver

255,
255,
255,
255,
255,
255
],

"controllogix_ethernet.DEVICE_SLOT_CONFIGURATION_INPUT_WORDS": [
0,
1,
0,
1,
8,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],

"controllogix_ethernet.DEVICE_SLOT_CONFIGURATION_OUTPUT_WORDS": [
2,
0,
0,
2,
8,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 40

0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
]

Automatic Tag Database Generation


The Allen-Bradley ControlLogix Ethernet Driver can be configured to automatically generate a list of server
tags within the server that correspond to device-specific data. The automatically generated tags are based
on the Logix tags defined in the Logix device, and can be browsed from the OPC client. Logix tags can be
atomic or structured. Structure and array tags can quickly increase the number of tags imported (and there-
fore the number of tags available in the server).

Note: ENI/DH+, ControlNet Gateway, and MicroLogix models do not support automatic tag database gen-
eration: only ENI ControlLogix, CompactLogix, and FlexLogix models do.

Atomic Tag -> one-to-one -> Server Tag


Structure Tag -> one-to-many -> Server Tags
Array Tag -> one-to-many> -> Server Tags

For more information on the Database Creation settings, refer to the server help file.

Note: Controller tags observed in the RSLogix5000 programming environment must have the "External
Access" property configured to "Read Only" or "Read/Write" for the tags to be read. Automatically generated
tags may set External Access to "None" by default. To read controller tags, reconfigure External Access as
needed in the Add-On Instruction Parameters of RSLogix. Consult the manufacturer documentation.

Tag Hierarchy
The server tags created by automatic tag generation can follow one of two hierarchies: Expanded or
Condensed. To use this functionality, enable Allow Sub Groups in device properties.

Expanded Mode
When Expanded, the server tags created by automatic tag generation follow a group / tag hierarchy con-
sistent with the tag hierarchy in RSLogix 5000. Groups are created for every segment preceding the period
as when Condensed, but are also created in logical groupings. Groups created include the following:

l Global (controller) scope


l Program scope
l Structures and substructures
l Arrays

Note: Groups are not created for .bit addresses.

www. [Link]
41 Allen-Bradley ControlLogix Ethernet Driver

The root-level groups (or subgroup levels of the group specified in Parent 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 sub-
group 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 them-
selves. 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:

x_y_z = 3 dimensional array


x_y = 2 dimensional array
x = 1 dimensional array

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. [Link]
Allen-Bradley ControlLogix Ethernet Driver 42

Complex Example
A Logix tag is defined with the address "Local:1:[Link][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".

The static reference to "Data" would be "[Link].Local_1_O.Slot_x.Slot_09.Data". The


dynamic reference to "Data" would be "[Link]:[Link][9].Data".

Condensed Mode
In Condensed Mode, the server tags created by automatic tag generation follow a group/tag hierarchy con-
sistent 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

Note: Groups are not created for arrays or .bit addresses.

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. [Link]
43 Allen-Bradley ControlLogix Ethernet Driver

Complex Example
Logix tag is defined with address "Local:1:[Link][9].Data". This would be represented in the groups
"Local:1:O" -> "Slot[9]". Within the last group would be the tag "Data".

The static reference to "Data" would be "[Link]:[Link][9].Data". The dynamic reference


would be "[Link]:[Link][9].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.

Controller-to-Server Name Conversions


Leading Underscores
Leading underscores "_" in tag or program names are replaced with "U_". This is required because the
server does not accept tag or group names beginning with an underscore.

Long Names (OPC Server Version 4.64 and below)


Under older OPC server versions, the Allen-Bradley ControlLogix Ethernet Driver was limited to 31 char-
acters in group and tag names. Therefore, if a controller program or tag name exceeded 31 characters, it
had to be clipped. OPC server Version 4.70 and above has a 256-character limit, so the rules do not apply.
Names are clipped as follows:

Non-Array

1. Determine a 5-digit unique ID for this tag.

2. Given a tag name: ThisIsALongTagNameAndProbablyExceeds31

3. Clip tag at 31: ThisIsALongTagNameAndProbablyEx

4. Room is made for the unique ID: ThisIsALongTagNameAndProba#####

5. Insert this ID: ThisIsALongTagNameAndProba00000

Array

1. Determine a 5-digit unique ID for this array.

2. Given an array tag name: ThisIsALongTagNameAndProbablyExceeds31_23_45_8

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 44

3. Clip tag at 31 while holding on to the element values: ThisIsALongTagNameAndPr_23_45_8

4. Room is made for the unique ID: ThisIsALongTagName#####_23_45_8

5. Insert this ID: ThisIsALongTagName00001_23_45_8

Long program names are clipped in the same manner as long non-array tag names. For every tag or pro-
gram 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 Limit Name Length is enabled, the rules apply even if the 256-character names are supported.
For more information, refer to Logix Database Settings.

Preparing for Automatic Tag Database Generation


For information on using Automatic Tag Database Generation, follow the instructions below.

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.

In the server

1. Review the device properties of the device for which tags will be generated.

2. Within Logix Database Settings and select Create from Device for Database Import Method.

3. In Logix Database Options, make any desired changes and click OK.

4. In Logix Database Filtering, make any desired changes and click OK.

5. Select Tag Generation and, under Create, click the blue link to Create tags.

Note: In Logix Options, set Protocol Mode to Symbolic and Default Data Type to Default so that the
tags are 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 to be ported over to the OPC server.

2. Click File | Save As.

3. Select L5K/L5X Import/Export File and specify a name. RSLogix will export the project's contents
into this L5K/L5X file.

In the OPC Server

1. Open the device properties of the device for which tags will be generated.

2. Select Logix Database Settings and select Create from Import File for Database Import Method.

www. [Link]
45 Allen-Bradley ControlLogix Ethernet Driver

3. Enter or browse for the location of the file previously created.

4. In Logix Database Options, make any desired changes and click OK.

5. In Logix Database Filtering, make any desired changes and click OK.

6. Select Tag Generation and, under Create, click the blue link to Create tags.

Note: Imported pre-defined tag types are based on the latest version supported by the driver. For more
information, refer to Firmware Versions.

Performance Optimization
For more information about optimization of communication and application, select a link 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 [Link]) 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 per-
formance if used incorrectly. For more information on each mode's benefits and detriments, refer to Choos-
ing a Protocol Mode.

Tag Division Tips


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 bet-
ter 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.

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 46

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 ref-
erencing 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 ref-
erencing 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 Connection Size 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 property may be modified in the ControlLogix 5500 and CompactLogix
5300 device models only. For more information, refer to Logix Communications Parameters.

UDT Substructure Aliasing


If a UDT contains large substructures and one-third or more of the substructure members are referenced in
the client, refer to the following instructions to optimize reads for the substructure.

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.

System Overhead Time Slice


The System Overhead Time Slice (SOTS) is the percentage of time allocated to perform communication tasks
(such as OPC driver communications) that is set in RSLogix 5000. 100% SOTS is the percentage of time for
controller tasks (such as ladder logic). The default SOTS is 10%. In every 10 ms program scan that occurs,
the controller spends 1 ms processing driver requests (if the controller has a continuous task). The value of
SOTS defines the task's priority. If controller tasks are a high priority, the SOTS should be set below 30%. If
the communication tasks are high priority, the SOTS should be set at or above 30%. For the best balance of
communications performance and CPU utilization, set the SOTS to 10% to 40%.

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 num-
ber 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 pro-
cess all tags.

Array Elements Blocked (Symbolic and Logical Non-Blocking Modes Only)


To optimize the reading of atomic array elements, read a block of the array in a single request instead of
individually. The more elements read in a block, the greater the performance. Since transaction overhead

www. [Link]
47 Allen-Bradley ControlLogix Ethernet Driver

and processing consumes the most time, do as few transactions as possible while scanning as many desired
tags as possible. This is the essence of array element blocking.

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, 3840 REAL, 3840 LINT, 3840 UINT, 3840 USINT,
3840 ULINT, 3840 LREAL, 3840 TIME32, 3840 TIME, and 3840 LTIME.

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 block size of 3840 is overly large and 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 [Link] also writes to [Link] with the proper length
value.

Terminate String Data at LEN


In this driver, string tags are structures with separate character data and length components. As such, the
driver automatically reads a string tag in two transactions: one in Logical Protocol Mode for the string char-
acter data (DATA) and one in Symbolic Mode for the string length (LEN). When the Terminate String Data at
LEN option is disabled, a single transaction is made to read the string character data. In this case, the Sym-
bolic Mode read for string length is bypassed. In a project with many string tags, this can significantly reduce
the time required to read all tags.

For more information on the Terminate String Data at LEN option, refer to Logix Options.

Optimizing the Application


The Allen-Bradley ControlLogix Ethernet Driver has been designed to provide the best performance with the
least amount of impact on the system's overall performance. While the Allen-Bradley ControlLogix Ethernet
Driver is fast, there are a couple of guidelines that can be used to optimize the application and gain max-
imum performance.

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 rep-
resents 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 Con-
trolLogix Ethernet Driver or the network. An example of how the application may appear when configured
using a single channel is shown below.

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 48

Each device is defined under a single channel. In this configuration, the driver moves
from one device to the next as quickly as possible to gather information at an effective
rate. As more devices are added or more information is requested from a single
device, the overall update rate begins to suffer.

If the driver could only define a single channel, the 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.

Each device can be defined under its own channel. In this configuration, a single path
of execution is dedicated to the task of gathering data from each device. If the applic-
ation has fewer devices, it can be optimized in this manner.

The performance improves even if the application has more devices. While fewer
devices may be ideal, the application still benefits from additional channels. Although
by spreading the device load across all channels causes the server to move from
device to device again, it can now do so with far less devices to process on a single
channel.

See Also: Performance Tuning Example, Optimizing Communications, and Performance Statistics and
Tuning

Performance Statistics and Tuning


The Performance Statistics feature provides benchmarks and statistics about the application's performance.
Because Performance Statistics is an additional layer of processing, it can affect the server's performance.
As such, the default is off. To enable the Performance Statistics feature, access Device Properties and set
Logix Options to enable Enable Performance Statistics.

Types of Performance Statistics


Performance Statistics provide meaningful numerical results across three scopes: device, channel, and
driver. Descriptions of the types are as follows:

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.

Choosing a Statistic Type


The type of statistics needed depends on the application. In general, driver statistics provide a true measure
of the application's performance, whereas channel and device statistics are most relevant while tuning the
application. For example, will moving 10 certain tags from Device A to Device B increase the performance of
Device A? Will moving Device A from Channel 1 to Channel 2 increase the performance of Channel 1? These
questions are good examples of situations when device and channel statistics should be used.

Locating Statistics

www. [Link]
49 Allen-Bradley ControlLogix Ethernet Driver

Server statistics are output to the server's Event Log on shutdown. To view the results, shut down the server
and restart it.

Differences Between Server Statistics and Performance Statistics


Performance Statistics provide the makeup of the types of reads performed (such as symbolic vs. symbol
instance vs. physical, or device reads vs. cache reads) whereas server statistics provide a general read count
value.

Tuning the Application for Increased Performance


For information on increasing device and channel statistic results, refer to the instructions below. For more
information, refer to Optimizing Communications.

l Server tags referencing Atomic Logix tags (array or non-array) should be assigned to Logical Non-
Blocking devices.
l 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.
l Server tags referencing a Structure Logix tag composed of one-third or more of the Structure tag
should be assigned to Logical Blocking devices.
l If Symbolic Mode is used, Logix names should be kept to a minimum length.
l Logix arrays should be used as often as possible.
l Only the necessary amount of System Overhead Time Slice for Ladder Logic/FBD should allocated to
leave the rest for driver communications.
l For projects that read a large number of string tags in Logical Mode, disable the Terminate String
Data at LEN option located under Logix Options in Device Properties.

For information on increasing driver statistic results, refer to the instructions below. For more information, refer
to Optimizing Application.

l Devices should be spread across channels. More than one device should not be put on a channel
unless necessary.
l Load should be spread evenly across devices. A single device should not be overloaded unless neces-
sary.
l 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 applic-
ation. 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 com-
pletion 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 per-
formance. For an example, refer to Performance Tuning Example.

Performance Tuning Example


Statistics can be applied to any application. In the example below, the Quick Client is used in the per-
formance tuning process. The idea is that all the tags used in the project are read at the same time at a fast
scan rate. Although this is not realistic, it does provide an accurate benchmark to the project layout in the
server (tags belonging to specific devices, devices belonging to specific channels, and so forth).

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 lay-

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 50

out. Once the most efficient layout is determined, the client application can be built with reassurance that
the server is optimal.

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 pro-
ject, but the client application as well. It is recommended that the Quick Client be used to tune the applic-
ation 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.

1. In the controller project displayed below, there are the following:

2 Atomics
1 Atomic Array
1 UDT
1 UDT Array
1 Pre-Defined Type

Note: Overhead Time Slice (OTS) = 10%.

2. After performing Automatic Tag Database Generation from this controller, the server produces the
following project.

Note: The "Global" tag group contains 130 tags.

www. [Link]
51 Allen-Bradley ControlLogix Ethernet Driver

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 ref-
erenced. As such, the new tag count is 105.

4. Prepare the client for the test. To do so, launch the Quick Client from the server application by click-
ing on the QuickClient icon.

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.

6. Select Tools | Test Mode.

7. Enable 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. [Link]
Allen-Bradley ControlLogix Ethernet Driver 52

8. Return to Tools | Test Mode and disable test mode. All tags should be deactivated.

9. Disconnect the Quick Client so that time trials can begin.

10. Shutdown the server.

11. Launch the server and set the Protocol Mode to Logical Blocking under device properties.

12. Set Performance Statistics to Yes.

13. Connect to the server using the Quick Client. Select 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.

14. Disconnect the Quick Client from the server and then shutdown the server.

15. 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. [Link]
53 Allen-Bradley ControlLogix Ethernet Driver

Note: This is the control set for comparisons.

16. In the server, set the Protocol Mode to Logical Non-Blocking.

17. Connect to the server using Quick Client. Select 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.

18. Disconnect the Quick Client from the server and then shutdown the server.

19. 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. [Link]
Allen-Bradley ControlLogix Ethernet Driver 54

20. From the server, set the Protocol Mode to Symbolic to see how the performance fared prior to
Allen-Bradley ControlLogix Ethernet Driver version [Link].

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

22. Disconnect the Quick Client from the server and then shutdown the server.

23. 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. [Link]
55 Allen-Bradley ControlLogix Ethernet Driver

Note: It appears that Logical Blocking is most optimal for the given application.

Optimizing Channel Communications


Channel communications can be optimized by moving tags for Logical Blocking in one device and tags for
Logical Non-Blocking in another. This is called tag division.

Logical Blocking (Device 1)


ProcessPID
OverflowCounter

Logical Non-Blocking (Device 2)


FlowRate
ValveOpen
InProcess
Tank Volume

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 56

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. [Link]
57 Allen-Bradley ControlLogix Ethernet Driver

Note: The individual device statistics do not look impressive because the two devices are running on sep-
arate 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.

Logical Blocking ([Link] 1


ProcessPID
OverflowCounter

Logical Non-Blocking ([Link] 2)


FlowRate
ValveOpen
InProcess
Tank Volume

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 58

1. Repeat Steps 4 through 15. In Step 11, make sure [Link] 1 is Logical Blocking and Chan-
[Link] 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. [Link]
59 Allen-Bradley ControlLogix Ethernet Driver

Note: The image below displays the fourth trial utilizing tag division for the driver.

Results
Driver Performance Improvement Over
Server Project Layout
(Reads / Second) 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%

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 60

Driver Performance Improvement Over


Server Project Layout
(Reads / Second) Symbolic
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 con-
troller. All tags were imported from this controller to this [Link]. 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 per-
forming Logical 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 Block-
ing 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 scen-
ario 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.

Tip: When multiple devices are connected to the same PLC, different outcomes have been observed when
using the L8 processor versus the L7 processor, potentially influenced by the firmware version in use. Test-
ing various setups is advisable to identify the configuration that best suits your specific devices and firm-
ware. In some scenarios, grouping all devices connected to the same PLC under a single channel may offer
improved performance.

After using these optimization methods, the project has a significant performance increase (especially in
older versions). The performance increase is more apparent with larger projects.

www. [Link]
61 Allen-Bradley ControlLogix Ethernet Driver

Data Types Description

Data Types Description


Boolean Single bit
Byte Unsigned 8-bit value
Char Signed 8-bit value
Word Unsigned 16-bit value
Short Signed 16-bit value
DWord Unsigned 32-bit value
Long Signed 32-bit value
BCD Two byte packed BCD, four decimal digits
LBCD Four byte packed BCD, eight decimal digits
Float 32-bit IEEE floating point
Double 64-bit IEEE floating point
Date 64-bit Date/Time
String Null-terminated character array

For a description of Logix platform-specific data types, refer to Logix Advanced Addressing.

For specifics about Boolean arrays in firmware V30, visit the PTC website, log in to eSupport, and search for art-
icle cs332995.

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 62

Default Data Type Conditions


Client / server tags are assigned the default data type when any of the following conditions occur:

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 UDT members 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" ref-
erences I/O module tag "Local:5:[Link]" @ BOOL, the data type for "AliasTag" can-
not be resolved, so this default type is assigned to it. On the other hand, if "AliasTag"
references I/O module tag "Local:5:[Link].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.

Notes:

1. If Default is selected, the driver retrieves the Logix tag's data type from the controller when a cli-
ent is accessing a tag dynamically and does not explicitly assign a data type to the item. For
example, a tag exists in the controller that is called "MyTag" with a data type of REAL. The cor-
responding client item is specified as "[Link]" with no data type assigned.
With Default selected 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, providing the client 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.

www. [Link]
63 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.

Model
MicroLogix X X X X X X X X X X X X X X

PLC5 X X X X X X X X X X X X X X X

SLC5/05 X X X X X X X X X X X

See Also:
Logix Addressing
MIcroLogix Addressing
PLC-5 Series Addressing
SLC 500 Modular I/O Addressing

Protocol
Models Help Link
Class
ControlLogix 5500 Ethernet, CompactLogix 5300 Ethernet,
Logix-Ethernet Logix Addressing
FlexLogix 5400 Ethernet, SoftLogix 5800
PLC-5 Series
Addressing
DH+ Gateway DH+ Gateway: PLC-5 DH+ Gateway: SLC 5/04
SLC 500 Modular
I/O Addressing
ControlNet PLC-5 Series
ControlNet Gateway: PLC-5C
Gateway Addressing
Logix Addressing
ENI: ControlLogix 5500 MicroLogix Address-
ENI: CompactLogix 5300 ing
ENI: FlexLogix 5400 SLC 500 Fixed I/O
1761-NET-ENI ENI: MicroLogix Addressing
ENI: SLC 500 Fixed I/O SLC 500 Modular
ENI: SLC 500 Modular I/O I/O Addressing
ENI: PLC-5 PLC-5 Series
Addressing
MicroLogix MicroLogix Address-
MicroLogix 1100
1100 Ethernet ing
MicroLogix MicroLogix Address-
MicroLogix 1400
1400 Ethernet ing

For more information on the controller's pre-defined data types, refer to the device's documentation.

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 64

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.

ControlLogix 5500 Addressing for Ethernet


ControlLogix is a member of the Logix family and part of Rockwell Automation's Integrated Architecture.
This means it uses a tag or symbol-based addressing structure. Logix tags differ from conventional PLC data
items in that the tag name itself is the address, not a physical or logical address.

ControlLogix 5500 Addressing for ENI


ControlLogix is a member of the Logix family and part of Rockwell Automation's Integrated Architecture.
This means it uses a tag or symbol-based addressing structure. Logix tags differ from conventional PLC data
items in that the tag name itself is the address, not a physical or logical address.

ControlLogix 5500 Addressing for Serial Gateway


ControlLogix is a member of the Logix family and part of Rockwell Automation's Integrated Architecture.
This means it uses a tag or symbol-based addressing structure. Logix tags differ from conventional PLC data
items in that the tag name itself is the address, not a physical or logical address.

CompactLogix 5300 Addressing for Ethernet


CompactLogix is a member of the Logix family and part of Rockwell Automation's Integrated Architecture.
This means it uses a tag or symbol-based addressing structure. Logix tags differ from conventional PLC data
items in that the tag name itself is the address, not a physical or logical address.

CompactLogix 5300 Addressing for ENI


CompactLogix is a member of the Logix family and part of Rockwell Automation's Integrated Architecture.
This means it uses a tag or symbol-based addressing structure. Logix tags differ from conventional PLC data
items in that the tag name itself is the address, not a physical or logical address.

CompactLogix 5300 Addressing for Serial Gateway


CompactLogix is a member of the Logix family and part of Rockwell Automation's Integrated Architecture.
This means it uses a tag or symbol-based addressing structure. Logix tags differ from conventional PLC data
items in that the tag name itself is the address, not a physical or logical address.

FlexLogix 5400 Addressing for Ethernet


FlexLogix is a member of the Logix family and part of Rockwell Automation's Integrated Architecture. This
means it uses a tag or symbol-based addressing structure. Logix tags differ from conventional PLC data
items in that the tag name itself is the address, not a physical or logical address.

FlexLogix 5400 Addressing for ENI


FlexLogix is a member of the Logix family and part of Rockwell Automation's Integrated Architecture. This
means it uses a tag or symbol-based addressing structure. Logix tags differ from conventional PLC data
items in that the tag name itself is the address, not a physical or logical address.

FlexLogix 5400 Addressing for Serial Gateway


FlexLogix is a member of the Logix family and part of Rockwell Automation's Integrated Architecture. This
means it uses a tag or symbol-based addressing structure. Logix tags differ from conventional PLC data
items in that the tag name itself is the address, not a physical or logical address.

www. [Link]
65 Allen-Bradley ControlLogix Ethernet Driver

SoftLogix 5800 Addressing


SoftlLogix is a member of the Logix family and part of Rockwell Automation's Integrated Architecture. This
means it uses a tag or symbol-based addressing structure. Logix tags differ from conventional PLC data
items in that the tag name itself is the address, not a physical or logical address.

SoftLogix 5800 Addressing for Serial Gateway


SoftlLogix is a member of the Logix family and part of Rockwell Automation's Integrated Architecture. This
means it uses a tag or symbol-based addressing structure. Logix tags differ from conventional PLC data
items in that the tag name itself is the address, not a physical or logical address.

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
ASCII Files
String Files
Long Files
MicroLogix PID Files
MicroLogix Message Files

For information on function files, select a link from the list below.

High-Speed Counter File (HSC)


Real-Time Clock File (RTC)
Channel 0 Communication Status File (CS0)
Channel 1 Communication Status File (CS1)
I/O Module Status File (IOS)

MicroLogix Addressing for ENI


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.

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 66

Output Files
Input Files
Status Files
Binary Files
Timer Files
Counter Files
Control Files
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.

High-Speed Counter File (HSC)


Real-Time Clock File (RTC)
Channel 0 Communication Status File (CS0)
Channel 1 Communication Status File (CS1)
I/O Module Status File (IOS)

MicroLogix 1100 Addressing


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
String Files
Long Files
MicroLogix PID Files
MicroLogix Message Files

For information on function files, select a link from the list below.

www. [Link]
67 Allen-Bradley ControlLogix Ethernet Driver

High-Speed Counter File (HSC)


Real-Time Clock File (RTC)
Channel 0 Communication Status File (CS0)
Channel 1 Communication Status File (CS1)
I/O Module Status File (IOS)

MicroLogix 1400 Addressing


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
Long Files
MicroLogix PID Files
MicroLogix Message Files

For information on function files, select a link from the list below.

High-Speed Counter File (HSC)


Real-Time Clock File (RTC)
Channel 0 Communication Status File (CS0)
Channel 1 Communication Status File (CS1)
I/O Module Status File (IOS)

SLC 500 Fixed I/O Addressing


SLC 500 Fixed I/O Addressing for EtherNet/IP Gateway
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

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 68

Control Files
Integer Files

SLC 500 Fixed I/O Addressing for ENI


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

SLC 500 Modular I/O Addressing


SLC 500 Modular I/O Addressing for DH+
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

SLC 500 Modular I/O 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

www. [Link]
69 Allen-Bradley ControlLogix Ethernet Driver

Control Files
Integer Files
Float Files
ASCII Files
String Files

SLC 500 Modular I/O Addressing for ENI


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

PLC-5 Series Addressing


PLC-5 Series Addressing for ControlNet
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
BCD Files
PID Files
Message Files
Block Transfer Files

PLC-5 Series Addressing for DH+

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 70

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
BCD Files
PID Files
Message Files
Block Transfer Files

PLC-5 Series Addressing for EtherNet/IP Gateway


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
BCD Files
PID Files
Message Files
Block Transfer Files

PLC-5 Series Addressing for ENI


For more information on file-specific addressing, select a link from the list below.

Output Files
Input Files
Status Files
Binary Files
Timer Files

www. [Link]
71 Allen-Bradley ControlLogix Ethernet Driver

Counter Files
Control Files
Integer Files
Float Files
ASCII Files
String Files
BCD Files
PID Files
Message Files
Block Transfer Files

Logix Tag-Based Addressing


Rockwell Automation's Integrated Architecture uses a tag or symbol-based addressing structure that is com-
monly referred to as Logix tags (or Native Tags). These tags differ from conventional PLC data items in that
the tag name itself is the address, not a physical or logical address.

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, REAL, LREAL, USINT, UINT, UDINT, ULINT, TIME32, TIME, and LTIME. 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 [Link], [Link],
and so forth). If a structure member is a structure itself, both structures 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_BOOL 0, 1
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
–9,223,372,036,854,775,808 to
LINT Signed 64-bit value VT_I8
9,223,372,036,854,775,807
USINT Unsigned 8-bit value VT_UI1 0 to 255
UINT Unsigned 16-bit value VT_UI2 0 to 65535
UDINT Unsigned 32-bit value VT_UI4 0 to 4294967295
ULINT Unsigned 64-bit value VT_I8 0 to 18,446,744,073,709,551,615
±1.1754943508222875E-38 to
±3.4028234663852886E+38 (normalized)
REAL 32-bit IEEE floating point VT_R4 0
±1.4012984643248170E-45 to
±1.1754942106924411E-38 (denormalized)

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 72

Atomic
Data Description Range
Type
±2.2250738585072014E-308 to
±1.7976931348623157E+308 (normalized)
LREAL Signed 64-bit value VT_R8 0,
±4.9406564584124654E-324 to
±2.2250738585072010E-308 (denormalized)
Duration of time in micro- T32#-35m_47s_483ms_647us to T32#35m_
VT_BSTR
seconds as string 47s_483ms_647us
TIME32 Duration of time in micro-
seconds as signed 32-bit VT_I4 -2147483647 to 2147483647
value
Duration of time in micro- T#-31d_12h_59m_59s_999ms_999us to
VT_BSTR
seconds as string T#31d_12h_59m_ 59s_999ms_999us
TIME Duration of time in micro-
seconds as signed 64-bit VT_I8 -2725199999999 to 2725199999999
value
LT#-31d_12h_59m_59s_999ms_999us_999ns
Duration of time in nano-
VT_BSTR to LT#31d_12h_59m_ 59s_999ms_999us_
seconds as string
999ns
LTIME
Duration of time in nano-
seconds as signed 64-bit VT_I8 -2725199999999999 to 2725199999999999
value

See Also: Logix Advanced Addressing

Client / Server Tag Address Rules


Logix tag names correspond to client / server tag addresses. Logix tag names (entered via RSLogix5000) fol-
low the IEC 1131-3 identifier rules. Client / server tag addresses follow these same rules. They are as follows:

l Must begin with an alphabetic (A-Z, a-z) character or an underscore (_).


l Can only contain alphanumeric characters and underscores.
l Can have as many as 40 characters.
l Cannot have consecutive underscores.
l Are not case sensitive.

Client / Server Tag Name Rules


Tag name assignment in the server differs from address assignment in that names cannot begin with an
underscore.

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.

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 com-
plete and valid.

www. [Link]
73 Allen-Bradley ControlLogix Ethernet Driver

See Also: Performance Optimizations

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.

Format Syntax Example Notes


Standard <logix tag name> tag_1 Tag cannot be an array.
<logix array tag tag_1 [2, 58,
Array Ele-
name> [dim 1, 547] Dimension range = 1 to 3 | element range = 0 to 65535
ment
dim2, dim 3] tag_1 [0, 3]
Dimension range = 1 to 2 | element range = 1 to 65535
<logix array tag
name> {# The number of elements to read/write equals # of rows
Array
columns} tag_1 {8} times # of columns. If no rows are specified, # of rows
w/o Off-
<logix array tag tag_1 {2}{4} default to 1.
set*
name> {# rows}{#
columns} The array begins at a zero offset (array index equals 0 for
all dimensions).
<logix array ele-
ment tag> [off-
set1,offset2]{# tag_1 [2, 3] The array begins at an offset specified by the dimensions
Array w/ columns} {10} in the array element tag. The array always covers the
Offset* <logix array ele- tag_1 [2, 3] 2} highest dimension. Tag_1[2,3]{10} would produce an
ment tag> [off- {5} array of elements tag_1[2,3] -> tag_1[2,13]
set1,offset2]{#
rows}{# columns}
<logix tag Bit range = 0 to 31
name>.bit tag_1.0
Bit
<logix tag name>. tag_1.[0] If tag is an array, it must be a BOOL array, otherwise tag
[bit] cannot be an array.
tag_1.Data/4
Length range = 1 to 65535
<logix tag Stringtag_
String name>/<maximum [Link]/82
The maximum number of characters that can read/write
string length> SINTarraytag_
to the string.
1/16

*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 ele-
ment 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 ele-
ment array.

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 74

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:

Program: <program name>.

For example, Logix tag "tag_1" in program "prog_1" would be addressed as "Program:prog_1.tag_1" in a cli-
ent/server tag address.

Structure Tag Addressing


Logix Structure tags (Global or Program) are tags with one or more member tags. Member tags can be
atomic or structured in nature.

<structure name>. <atomic-type tag>

This implies that a substructure would be addressed as:

<structure name> . <substructure name> .<atomic-type tag>

Arrays of structures would be addressed as:

<structure array name> [dim1, dim2, dim3] . <atomic-type tag>

This implies that an array of substructures would be addressed as:

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

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 following tags are only valid for the ControlLogix 5500
and CompactLogix 5300 device models

Data
Tag Name Support Access
Type
The CIP connection size that was last
_CIPConnectionSizeRequested Word Read/Write*
requested.

www. [Link]
75 Allen-Bradley ControlLogix Ethernet Driver

Data
Tag Name Support Access
Type
The actual CIP connection size that is in
use. Its value differs from _CIPCon-
_CIPConnectionSizeActual Word Read Only
nectionSizeRequested if the value reques-
ted is not supported by the device.
Number of controller project uploads that
_LogicalAddressUploadCount have occurred since startup or reset. Word Read/Write
Write 0 to reset.
Amount of time it took to perform the last
_LogicalAddressUploadDuration controller project upload. Tag will hold Double Read Only
this value until the next upload occurs.
Timestamp for when the last controller
_LastEditDetectedTimestamp project edit (online or offline) was detec- String Read Only
ted.
_LastLo- Timestamp for when the last controller
String Read Only
gicalAddressUploadTimestamp project upload began.
*This tag is read only for ENI Logix models.

Changing the CIP Connection Size


The _CIPConnectionSizeRequested tag allows users to change the CIP connection size property in real time.
Both the connection size property (located under Logix Communication Parameters in Device Prop-
erties) and the System tag are configurable while clients are connected. Changes are applied before the
next read/Write request is performed.

Predefined Term Tags


The tags displayed in the table below can be used to obtain general processor information from a PLC run-
ning firmware version 13 or higher.

Tag Name Description


A description of the PLC's current key switch mode. Possible string values include
#MODE Program, Run, Remote Program, Remote Run, and Remote Debug. Supported data
types include string.
An integer value that corresponds to the "ProdType" attribute specified in the
#PLCTYPE
PLC's EDS file. Supported data types include all but string.
Firmware revision displayed as "<major>.<minor>". Supported data types include
#REVISION
string.
The processor name that corresponds to the "ProdName" attribute specified in the
#PROCESSORNAME
PLC's EDS file. Supported data types include string.
Indicates the PLC's status. Possible values include OK (1) and Faulted (0). Sup-
#STATUS
ported data types include all but date.
An integer value that corresponds to the "ProdCode" attribute specified in the
#PRODUCTCODE
PLC's EDS file. Supported data types include all but string.
An integer value that corresponds to the "VendCode" attribute specified in the
#VENDORID
PLC's EDS file. Supported data types include all but string.

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 76

Addressing Atomic Data Types


Below are suggested usages and addressing possibilities for a Logix data type given the address formats
available. Examples are also given for reinforcement. Click on Advanced for advanced addressing pos-
sibilities for the given atomic data type.
Tip: If multiple server data types are supported for an Atomic Data Type, the default used in Automatic
Tag Database Generation is shown in bold.
Note: Empty cells do not necessarily indicate a lack of support.

Array with or
Array Ele-
Atomic Data Type Standard without Off- Bit String
ment
set
BOOL
Boolean
Boolean Array
Client / Server Data Type See Advanced
Boolean (BOOL 1 Addressing
(BOOL 1 dimen-
Advanced dimensional BOOL
sional array)
array)
BOOLARR[0]
Client / Server Tag Example BOOLTAG BOOLARR[0]
{32}
SINT
String

Byte Array, Char (SINT 1/2/3


Array dimensional
Client / Server Data Type Boolean
Byte, Char Byte, Char array)
(SINT 1/2/3
Advanced (Bit w/i SINT)
dimensional
array) See Advanced
Addressing
SINT
Client / Server Tag Example SINTTAG SINTARR[0] SINTARR[0]{4} SINTTAG.0 SINTARR/4
INT
Word Array,
Client / Server Data Type See Advanced
Short Array (INT Boolean
Word, Short Word, Short Addressing
1/2/3 dimen- (Bit w/i INT)
Advanced INT
sional array)
Client / Server Tag Example INTTAG INTARR[0] INTARR[0]{4} INTTAG.0
DINT
Client / Server Data Type Boolean See Advanced
DWord, DWord Array,
DWord, Long Addressing
Long Long Array
Advanced (Bit w/i DINT) DINT
Client / Server Tag Example DINTTAG DINTARR[0] DINTARR[0]{4} DINTTAG.0
LINT
Client/Server Data Type See Advanced
Double,
Double, Date Double Array Addressing
Date
Advanced LINT

www. [Link]
77 Allen-Bradley ControlLogix Ethernet Driver

Array with or
Array Ele-
Atomic Data Type Standard without Off- Bit String
ment
set
Client/Server Tag Example LINTTAG LINTARR[0] LINTARR[0]{4}
REAL
Client/Server Data Type See Advanced
Float Float Float Array Addressing
Advanced REAL
Client/Server Tag Example REALTAG REALARR[0] REALARR[0]{4}
USINT
Client/Server Data Type See Advanced
Boolean (Bit
Byte Byte Byte Array Addressing
w/i USINT)
Advanced USINT
USINTTARR[0]
Client/Server Data Type USINTTAG USINTTARR[0] USINTTAG.0
{4}
UINT
Client / Server Data Type See Advanced
Word Array, Boolean (Bit
Word, BCD Word, BCD Addressing
BCD Array w/i UINT
Advanced UINT
Client / Server Tag Example UINTTAG UINTARR[0] UINTARR[0]{4} UINTTAG.0
UDINT
Client / Server Data Type See Advanced
DWord, DWord Array,
DWord, LBCD Boolean Addressing
LBCD LBCD Array
Advanced UDINT
Client / Server Tag Example UDINTTAG UDINTARR[0] UDINTARR[0]{4} UDINTAG.0
ULINT
Client / Server Data Type See Advanced
Double Double Double Array Addressing
Advanced ULINT
Client / Server Tag Example ULINTTAG ULINTARR[0] ULINTARR[0]{4}
LREAL
Client / Server Data Type See Advanced
Double Double Double Array Addressing
Advanced LREAL
Client / Server Tag Example LREALTAG LREALARR[0] LREALARR[0]{4}
TIME32
Client / Server Data Type See Advanced
String, Long String, Long Long Array Addressing
Advanced TIME32
TIME32ARR[0]
Client/Server Tag Example TIME32TAG TIME32ARR[0]
{4}
TIME
Client / Server Data Type String, See Advanced
String, LLong LLong Array
LLong Addressing

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 78

Array with or
Array Ele-
Atomic Data Type Standard without Off- Bit String
ment
set
Advanced TIME
Client / Server Tag Example TIMETAG TIMEARR[0] TIMEARR[0]{4}
LTIME
Client / Server Data Type See Advanced
String,
String, LLong LLong Array Addressing
LLong
Advanced LTIME
Client / Server Tag Example LTIMETAG LTIMEARR[0] LTIMEARR[0]{4}

Addressing Structure Data Types


Only the atomic structure members can be addressed at the structure level. For more information, refer to
the examples below.

Logix Tag
MyTimer @ TIMER

Client/Server Tag
1. Invalid

TimerTag address = MyTimer


TimerTag data type = ??

2. Valid
TimerTag address = [Link]
TimerTag data type = DWord

Addressing STRING Data Type


STRING is a pre-defined Logix data type whose structure contains two members: DATA and LEN. DATA is an
array of SINTs and stores the characters of the STRING. LEN is a DINT and represents the number of char-
acters in DATA to display to a client.

Because LEN and DATA are atomic members, they must be referenced independently from a client/server.
The syntax is as shown below.

Description Syntax Example


STRING Value DATA/<Maximum STRING length > [Link]/82
Actual STRING length LEN [Link]

Reads
The STRING read from DATA is terminated by the following:

a. The first null terminator encountered.

b. The value in LEN if a) doesn't occur first.

c. The <Maximum STRING length > if either a) or b) doesn't occur first.

www. [Link]
79 Allen-Bradley ControlLogix Ethernet Driver

Example
[Link] contains "Hello World" in the PLC, but LEN is manually set to 5. A read of
[Link]/82 displays "Hello". If LEN is set to 20, [Link]/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
[Link]/82 holds the value "Hello World." [Link] holds 11. If the value "Alarm Triggered" is
written to [Link]/82, 15 is written to [Link]. If the write to [Link] fails,
[Link] holds its previous value of 11 while [Link]/82 displays the first 11 characters
("Alarm Trigg"). If the write to [Link]/82 fails, neither tag is affected.

Terminate String Data at LEN


In the logical addressing modes, reading [Link] causes an automatic read of [Link] in Symbolic
Mode. This may be bypassed by disabling the Terminate String Data at LEN option. For more information,
refer to Logix Options.

Ordering of Logix Array Data


One-Dimensional Arrays - array [dim1]
One-dimensional array data is passed to and from the controller in ascending order.
for (dim1 = 0; dim1 < dim1_max; dim1++)

Example: 3 element array


array [0]
array [1]
array [2]

Two-Dimensional Arrays - array [dim1, dim2]


Two-dimensional array data is passed to and from the controller in ascending order.
for (dim1 = 0; dim1 < dim1_max; dim1++)
for (dim2 = 0; dim2 < dim2_max; dim2++)

Example: 3X3 element array


array [0, 0]
array [0, 1]
array [0, 2]
array [1, 0]
array [1, 1]
array [1, 2]
array [2, 0]

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 80

array [2, 1]
array [2, 2]

Three-Dimensional Arrays - array [dim1, dim2, dim3]


Three-dimensional array data is passed to and from the controller in ascending order.
for (dim1 = 0; dim1 < dim1_max; dim1++)
for (dim2 = 0; dim2 < dim2_max; dim2++)
for (dim3 = 0; dim3 < dim3_max; dim3++)

Example: 3X3x3 element array


array [0, 0, 0]
array [0, 0, 1]
array [0, 0, 2]
array [0, 1, 0]
array [0, 1, 1]
array [0, 1, 2]
array [0, 2, 0]
array [0, 2, 1]
array [0, 2, 2]
array [1, 0, 0]
array [1, 0, 1]
array [1, 0, 2]
array [1, 1, 0]
array [1, 1, 1]
array [1, 1, 2]
array [1, 2, 0]
array [1, 2, 1]
array [1, 2, 2]
array [2, 0, 0]
array [2, 0, 1]
array [2, 0, 2]
array [2, 1, 0]
array [2, 1, 1]
array [2, 1, 2]
array [2, 2, 0]
array [2, 2, 1]
array [2, 2, 2]

Logix Advanced Addressing


Advanced Addressing is available for the following atomic data types. Select a link from the list below for
more information on a specific data type.

BOOL
SINT
INT
DINT
LINT
REAL
USINT
UINT
UDINT

www. [Link]
81 Allen-Bradley ControlLogix Ethernet Driver

ULINT
LREAL
TIME32
TIME
LTIME

Advanced Addressing: BOOL

Format Supported Data Types Notes


Boolean
Byte, Char
Standard Word, Short, BCD None
DWord, Long, LBCD
Float*
The Controller tag must be a one-dimen-
Boolean
sional array.
1. The Controller tag must be a one-
dimensional array.
Array w/o Offset Boolean Array
2. The number of elements must be
a factor of 8.
Byte Array, Char Array
Word Array, Short Array, BCD Array
Array w/o Offset Not supported.
DWord Array, Long Array, LBCD Array
Float Array*
1. The Controller tag must be a one-
dimensional array.

2. The offset must lie on 32-bit


Array w/ Offset Boolean Array
boundary.

3. The number of elements must be


a factor of 8.
1. The Controller tag must be a one-
Bit Boolean dimensional array.

2. The range is limited from 0 to 31.


String String Not supported.

*The float value equals the face value of the Controller tag in float form (non-IEEE floating-point number).

Examples
Examples highlighted signify common use cases.

BOOL Controller Tag - booltag = true


Server Tag
Format Data Type Notes
Address
booltag Standard Boolean Value = true

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 82

Server Tag
Format Data Type Notes
Address
booltag Standard Byte Value = 1
booltag Standard Word Value = 1
booltag Standard DWord Value = 1
booltag Standard Float Value = 1.0
booltag [3] Array Element Boolean Invalid: Tag not an array
booltag [3] Array Element Word Invalid: Tag not an array
booltag {1} Array w/o Offset Word Invalid: Not supported
booltag {1} Array w/o Offset Boolean Invalid: Not supported
booltag [3] {32} Array w/ Offset Boolean Invalid: Tag not an array
booltag . 3 Bit Boolean Invalid: Tag not an array
booltag / 1 String String Invalid: Not supported
booltag / 4 String String Invalid: Not supported

BOOL Array Controller Tag - bitarraytag = [0,1,0,1]


Server Tag
Format Data Type Notes
Address
bitarraytag Standard Boolean Invalid: Tag cannot be an array
bitarraytag Standard Byte Invalid: Tag cannot be an array
bitarraytag Standard Word Invalid: Tag cannot be an array
bitarraytag Standard DWord Invalid: Tag cannot be an array
bitarraytag Standard Float Invalid: Tag cannot be an array
bitarraytag [3] Array Element Boolean Value = true
bitarraytag [3] Array Element Word Invalid: Bad data type
bitarraytag {3} Array w/o Offset Word Invalid: Tag cannot be an array
bitarraytag {1} Array w/o Offset Word Invalid: Tag cannot be an array
bitarraytag {1} Array w/o Offset Boolean Invalid: Array size must be a factor of 8
bitarraytag {32} Array w/o Offset Boolean Value = [0,1,0,1,...]
bitarraytag [3] {32} Array w/ Offset Boolean Offset must begin on 32-bit boundary
bitarraytag[0]{32} Array w/ Offset Boolean Value = [0,1,0,1,...]
bitarraytag[32]{64} Array w/ Offset Boolean Value = [...] values not provided above
bitarraytag . 3 Bit Boolean Value = true
bitarraytag / 1 String String Invalid: Not supported
bitarraytag / 4 String String Invalid: Not supported

Advanced Addressing: SINT

Format Supported Data Types Notes


Boolean*, Byte, Char, Word, Short, BCD,
Standard None
DWord, Long, LBCD, Float***

www. [Link]
83 Allen-Bradley ControlLogix Ethernet Driver

Format Supported Data Types Notes


Byte, Char, Word, Short, BCD, DWord,
Array Element The Controller tag must be an array.
Long, LBCD, Float***
1. Use this case to have the bits
within a SINT in array form.
Note: This is not an array of
SINTs in Boolean notation.

2. Applies to bit-within-SINT only.


Array w/o Offset Boolean Array Example: tag_1.0{8}.

3. .bit + array size cannot exceed 8


bits. Example: tag_1.1{8} exceeds
an SINT, tag_1.0{8} does not.

4. Array size must be a multiple of


eight (8).
Byte Array, Char Array, Word Array,
Short Array, BCD Array**, DWord Array, If accessing more than a single element,
Array w/o Offset
Long Array, LBCD Array**, Float the Controller tag must be an array.
Array**,***
Byte Array, Char Array, Word Array,
Short Array, BCD Array**, DWord Array,
Array w/ Offset The Controller tag must be an array.
Long Array, LBCD Array**, Float
Array**,***
1. The range is limited from 0 to 7.

2. If the Controller tag is an array,


Bit Boolean the bit class reference must be
prefixed by an array element
class reference. Example: tag_1
[2,2,3].0.
1. If accessing a single element, the
Controller tag need not be an
array.
Note: The value of the string is
the ASCII equivalent of the SINT
value. Example: SINT = 65 dec =
"A".
String String
2. If accessing more than a single ele-
ment, the Controller tag must be
an array. The value of the string is
the null-terminated ASCII equi-
valent of all the SINTs in the
string. 1 character in string = 1
SINT.

*non-zero values are clamped to true.


**Each element of the array corresponds to an element in the SINT array. Arrays are not packed.
*** Float value equals the face value of Controller tag in float form (non-IEEE floating-point number).

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 84

Examples
Examples highlighted signify common use cases.

SINT Controller Tag - sinttag = 122 (decimal)


Server Tag
Format Data Type Notes
Address
sinttag Standard Boolean Value = true
sinttag Standard Byte Value = 122
sinttag Standard Word Value = 122
sinttag Standard DWord Value = 122
sinttag Standard Float Value = 122.0
Invalid: Tag not an array. Also, Boolean is
sinttag [3] Array Element Boolean
invalid.
sinttag [3] Array Element Byte Invalid: Tag not an array.
sinttag {3} Array w/o Offset Byte Invalid: Tag not an array.
sinttag {1} Array w/o Offset Byte Value = [122]
sinttag {1} Array w/o Offset Boolean Invalid: Bad data type.
sinttag [3] {1} Array w/ Offset Byte Invalid: Tag not an array.
sinttag . 3 Bit Boolean Value = true
Value = [0,1,0,1,1,1,1,0]
sinttag . 0 {8} Array w/o Offset Boolean
Bit value of 122
sinttag / 1 String String Value = "z"
sinttag / 4 String String Invalid: Tag not an array.

SINT Array Controller Tag - sintarraytag [4,4] = [[83,73,78,84],[5,6,7,8],[9,10,11,12],[13,14,15,16]]


Server Tag
Format Data Type Notes
Address
sintarraytag Standard Boolean Invalid: Tag cannot be an array.
sintarraytag Standard Byte Invalid: Tag cannot be an array.
sintarraytag Standard Word Invalid: Tag cannot be an array.
sintarraytag Standard DWord Invalid: Tag cannot be an array.
sintarraytag Standard Float Invalid: Tag cannot be an array.
Invalid: Server tag missing dimension 2
sintarraytag [3] Array Element Byte
address.
Invalid: Boolean not allowed for array ele-
sintarraytag [1,3] Array Element Boolean
ments.
sintarraytag [1,3] Array Element Byte Value = 8
sintarraytag {10} Array w/o Offset Byte Value = [83,73,78,84,5,6,7,8,9,10]
sintarraytag {2} {5} Array w/o Offset Word Value = [83,73,78,84,5] [6,7,8,9,10]
sintarraytag {1} Array w/o Offset Byte Value = 83
sintarraytag {1} Array w/o Offset Boolean Invalid: Bad data type.
sintarraytag [1,3] Array w/ Offset Byte Value = [8,9,10,11]

www. [Link]
85 Allen-Bradley ControlLogix Ethernet Driver

Server Tag
Format Data Type Notes
Address
{4}
Invalid: Tag must reference atomic loc-
sintarraytag . 3 Bit Boolean
ation.
sintarraytag [1,3] .
Bit Boolean Value = 1
3
sintarraytag [1,3] .
Array w/o Offset Boolean Value = [0,0,0,1,0,0,0,0]
0 {8}
sintarraytag / 1 String String Value = "S"
sintarraytag / 4 String String Value = "SINT"

Advanced Addressing: INT

Format Supported Data Types Notes


Boolean*, Byte, Char**, Word, Short,
Standard None
BCD, DWord, Long, LBCD, Float****
Byte, Char**, Word, Short, BCD, DWord,
Array Element The Controller tag must be an array.
Long, LBCD, Float****
1. Use this case to have the bits
within an INT in array form.

Note: This is not an array of


INTs in Boolean notation.

2. Applies to bit-within-INT only.


Array w/o Offset Boolean Array Example: tag_1.0{16}.

3. .bit + array size cannot exceed 16


bits. Example: tag_1.1{16}
exceeds an INT, tag_1.0{16} does
not.

4. Array size must be a multiple of


eight (8).
Byte Array, Char Array**, Word Array,
Short Array, BCD Array, DWord Array, If accessing more than a single element,
Array w/o Offset
Long Array, LBCD Array***Float the Controller tag must be an array.
Array***,****
Byte Array, Char Array** Word Array,
Short Array, BCD Array, DWord Array,
Array w/ Offset The Controller tag must be an array.
Long Array, LBCD Array***, Float
Array***,****
1. The range is limited from 0 to 15.

Bit Boolean 2. If the Controller tag is an array,


the bit class reference must be
prefixed by an array element

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 86

Format Supported Data Types Notes


class reference. Example: tag_1
[2,2,3].0.
1. If accessing a single element, the
Controller tag need not be an
array.
Note: The value of the string is
the ASCII equivalent of the INT
value (clamped to 255). Example:
INT = 65 dec = "A".

2. If accessing more than a single


element, the Controller tag must
be an array. The value of the
String String string is the null-terminated ASCII
equivalent of all the INTs
(clamped to 255) in the string.

1 character in string = 1 INT,


clamped to 255

INT strings are not packed. For


greater efficiency, use SINT
strings or the STRING structure
instead.

*non-zero values are clamped to true.


**Values exceeding 255 are clamped to 255.
***Each element of the array corresponds to an element in the INT array. Arrays are not packed.
****Float value equals the face value of Controller tag in float form (non-IEEE floating-point number).

Examples
Examples highlighted signify common use cases.

INT Controller Tag - inttag = 65534 (decimal)


Server Tag
Class Data Type Notes
Address
inttag Standard Boolean Value = true
inttag Standard Byte Value = 255
inttag Standard Word Value = 65534
inttag Standard DWord Value = 65534
inttag Standard Float Value = 65534.0
Invalid: Tag not an array. Boolean is
inttag [3] Array Element Boolean
invalid.
inttag [3] Array Element Word Invalid: Tag not an array.
inttag {3} Array w/o Offset Word Invalid: Tag not an array.
inttag {1} Array w/o Offset Word Value = [65534]

www. [Link]
87 Allen-Bradley ControlLogix Ethernet Driver

Server Tag
Class Data Type Notes
Address
inttag {1} Array w/o Offset Boolean Invalid: Bad data type.
inttag [3] {1} Array w/ Offset Word Invalid: Tag not an array.
inttag . 3 Bit Boolean Value = true
Value = [0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
inttag . 0 {16} Array w/o Offset Boolean
Bit value of 65534
Value = unprintable character = 255
inttag / 1 String String
decimal.
inttag / 4 String String Invalid: Tag not an array.

INT Array Controller Tag - intarraytag [4,4] = [[73,78,84,255],[256,257,258,259],[9,10,11,12],


[13,14,15,16]]
Server Tag
Class Data Type Notes
Address
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.
Invalid: Server tag missing dimension 2
intarraytag [3] Array Element Word
address.
Invalid: Boolean not allowed for array ele-
intarraytag [1,3] Array Element Boolean
ments.
intarraytag [1,3] Array Element Word Value = 259
Value =
intarraytag {10} Array w/o Offset Byte
[73,78,84,255,255,255,255,255,9,10]
Value = [73,78,84,255,256]
intarraytag {2} {5} Array w/o Offset Word
[257,258,259,9,10]
intarraytag {1} Array w/o Offset Word Value = 73
intarraytag {1} Array w/o Offset Boolean Invalid: Bad data type.
intarraytag [1,3] {4} Array w/ Offset Word Value = [259,9,10,11]
Invalid: Tag must reference atomic loc-
intarraytag . 3 Bit Boolean
ation.
intarraytag [1,3] . 3 Bit Boolean Value = 0
intarraytag [1,3] . 0 Value = [1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0]
Array w/o Offset Boolean
{16} Bit value for 259
intarraytag / 1 String String Value = "I"
intarraytag / 3 String String Value = "INT"

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 88

Advanced Addressing: DINT

Format Supported Data Types Notes


Boolean*, Byte, Char**, Word, Short,
Standard None
BCD***, DWord, Long, LBCD, Float ****
Byte, Char**, Word, Short, BCD***,
Array Element The Controller tag must be an array.
DWord, Long, LBCD, Float ****
1. Use this case to have the bits
within a DINT in array form.
Note: This is not an array of
DINTs in Boolean notation.

2. Applies to bit-within-DINT only.


Example: tag_1.0{32}.
Array w/o Offset Boolean Array
3. .bit + array size cannot exceed 32
bits. Example: tag_1.1{32}
exceeds a DINT, tag_1.0{32} does
not.

4. Array size must be a multiple of


eight (8).
Byte Array, Char Array**, Word Array,
Short Array, BCD Array***, DWord If accessing more than a single element,
Array w/o Offset
Array, Long Array, LBCD Array, Float the Controller tag must be an array.
Array ****
Byte Array, Char Array**, Word Array,
Short Array, BCD Array***, DWord
Array w/ Offset The Controller tag must be an array.
Array, Long Array, LBCD Array, Float
Array ****
1. The range is limited from 0 to 31.

2. If Controller tag is an array, bit


Bit Boolean class reference must be prefixed
by an array element class ref-
erence. Example: tag_1 [2,2,3].0.
1. If accessing a single element, the
Controller tag need not be an
array.
Note: The value of the string is
the ASCII equivalent of the DINT
value (clamped to 255). Example:
SINT = 65dec = "A".
String String
2. If accessing more than a single ele-
ment, the Controller tag must be
an array. The value of the string is
the null-terminated ASCII equi-
valent of all the DINTs (clamped
to 255) in the string.

www. [Link]
89 Allen-Bradley ControlLogix Ethernet Driver

Format Supported Data Types Notes


1 character in string = 1 DINT,
clamped to 255
Note: DINT strings are not
packed. For greater efficiency, use
SINT strings or the STRING struc-
ture instead.

*non-zero values are clamped to true.


**Values exceeding 255 are clamped to 255.
***Values exceeding 65535 are clamped to 65535.
****Float value equals the face value of Controller tag in float form (non-IEEE floating-point number).

Examples
Examples highlighted signify common use cases.

DINT Controller Tag - dinttag = 70000 (decimal)


Server Tag
Format Data Type Notes
Address
dinttag Standard Boolean Value = true
dinttag Standard Byte Value = 255
dinttag Standard Word Value = 65535
dinttag Standard DWord Value = 70000
dinttag Standard Float Value = 70000.0
Invalid: Tag not an array. Boolean is
dinttag [3] Array Element Boolean
invalid.
dinttag [3] Array Element DWord Invalid: Tag not an array.
dinttag {3} Array w/o Offset DWord Invalid: Tag not an array.
dinttag {1} Array w/o Offset DWord Value = [70000]
dinttag {1} Array w/o Offset Boolean Invalid: Bad data type
dintag [3] {1} Array w/ Offset DWord Invalid: Tag not an array.
dinttag . 3 Bit Boolean Value = false
Value =
dinttag . 0 {32} Array w/o Offset Boolean [0,0,0,0,1,1,1,0,1,0,0,0,1,0,0,0,1,0,...0]
Bit value for 70000
Value = unprintable character = 255
dinttag / 1 String String
decimal
dinttag / 4 String String Invalid: Tag not an array.

DINT Array Controller Tag - dintarraytag [4,4] = [[68,73,78,84],[256,257,258,259],[9,10,11,12],


[13,14,15,16]]
Server Tag
Format Data Type Notes
Address
dintarraytag Standard Boolean Invalid: Tag cannot be an array.
dintarraytag Standard Byte Invalid: Tag cannot be an array.

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 90

Server Tag
Format Data Type Notes
Address
dintarraytag Standard Word Invalid: Tag cannot be an array.
dintarraytag Standard DWord Invalid: Tag cannot be an array.
dintarraytag Standard Float Invalid: Tag cannot be an array.
Invalid: Server tag missing dimension 2
dintarraytag [3] Array Element DWord
address.
Invalid: Boolean not allowed for array ele-
dintarraytag [1,3] Array Element Boolean
ments.
dintarraytag [1,3] Array Element DWord Value = 259
Value =
dintarraytag {10} Array w/o Offset Byte
[68,73,78,84,255,255,255,255,9,10]
Value = [68,73,78,84,256]
dintarraytag {2}{5} Array w/o Offset DWord
[257,258,259,9,10]
dintarraytag {1} Array w/o Offset DWord Value = 68
dintarraytag {1} Array w/o Offset Boolean Invalid: Bad data type.
dintarraytag [1,3]
Array w/ Offset DWord Value = [259,9,10,11]
{4}
Invalid: Tag must reference atomic loc-
dintarraytag . 3 Bit Boolean
ation.
dintarraytag [1,3] .
Bit Boolean Value = 0
3
dintarraytag [1,3] .0 Value = [1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0]
Array w/o Offset Boolean
{32} Bit value for 259
dintarraytag / 1 String String Value = "D"
dintarraytag / 3 String String Value = "DINT"

Advanced Addressing: LINT

Format Supported Data Types Notes


Standard Double*, Date** None
Array Element Double*, Date** The Controller tag must be an array.
If accessing more than a single element,
Array w/o Offset Double, Array*
the Controller tag must be an array.
Array w/ Offset Double, Array* The Controller tag must be an array.
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 signify common use cases.

LINT Controller Tag - linttag = 2007-01-01T[Link].000 (date) == 1.16767E+15 (decimal)

www. [Link]
91 Allen-Bradley ControlLogix Ethernet Driver

Server Tag
Format Data Type Notes
Address
linttag Standard Boolean Invalid: Boolean not supported.
linttag Standard Byte Invalid: Byte not supported.
linttag Standard Word Invalid: Word not supported.
linttag Standard Double Value = 1.16767E+15
linttag Standard Date Value = 2007-01-01T[Link].000*
Invalid: Tag not an array. Boolean is
linttag [3] Array Element Boolean
invalid.
linttag [3] Array Element Double Invalid: Tag not an array.
linttag {3} Array w/o Offset Double Invalid: Tag not an array.
linttag {1} Array w/o Offset Double Value = [1.16767E+15]
linttag {1} Array w/o Offset Boolean Invalid: Bad data type.
lintag [3] {1} Array w/ Offset Double Invalid: Tag not an array.
linttag . 3 Bit Boolean Invalid: Syntax/data type not supported.
linttag / 1 String String Invalid: Syntax/data type not supported.
*Date values are in universal time (UTC), not localized time.

LINT Array Controller Tag -


lintarraytag [2,2] = [0, 1.16767E+15],[9.4666E+14, 9.46746E+14] where:
1.16767E+15 == 2007-01-01T[Link].000 (date)
9.4666E+14 == 1999-12-31T[Link].000
9.46746E+14 == 2000-01-1T[Link].000
0 == 1970-01-01T[Link].000

Server Tag
Format Data Type Notes
Address
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.
Invalid: Server tag missing dimension 2
lintarraytag [1] Array Element Double
address.
Invalid: Boolean not allowed for array
lintarraytag [1,1] Array Element Boolean
elements.
lintarraytag [1,1] Array Element Double Value = 9.46746E+14
lintarraytag [1,1] Array Element Date Value = 2000-01-01T[Link].000*
Value = [0, 1.16767E+15, 9.4666E+14,
lintarraytag {4} Array w/o Offset Double
9.46746E+14]
Value = [0, 1.16767E+15][ 9.4666E+14,
lintarraytag {2} {2} Array w/o Offset Double
9.46746E+14]
lintarraytag {4} Array w/o Offset Date Invalid: Date array not supported.

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 92

Server Tag
Format Data Type Notes
Address
lintarraytag {1} Array w/o Offset Double Value = 0
lintarraytag {1} Array w/o Offset Boolean Invalid: Bad data type.
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.
*Date values are in universal time (UTC), not localized time.

Advanced Addressing: REAL

Format Supported Data Types Notes


Boolean*, Byte, Char**, Word, Short,
Standard None
BCD***, DWord, Long, LBCD, Float****
Byte, Char**, Word, Short, BCD***,
Array Element The Controller tag must be an array.
DWord, Long, LBCD, Float****
1. Use this case to have the bits
within a REAL in array form.
Note: This is not an array of
REALs in Boolean notation.

2. Applies to bit-within-REAL only.


Array w/o Offset Boolean Array Example: tag_1.0{32}.

3. .bit + array size cannot exceed 32


bits. Example: tag_1.1{32} exceeds
an REAL, tag_1.0{32} does not.

4. Array size must be a multiple of


eight (8).
Byte Array, Char Array**, Word Array,
Short Array, BCD Array***, DWord If accessing more than a single element,
Array w/o Offset
Array, Long Array, LBCD Array, Float the Controller tag must be an array.
Array****
Byte Array, Char Array**, Word Array,
Short Array, BCD Array***, DWord
Array w/ Offset The Controller tag must be an array.
Array, Long Array, LBCD Array, Float
Array****
1. The range is limited from 0 to 31.

2. If the Controller tag is an array,


the bit class reference must be
Bit Boolean prefixed by an array element class
reference. Example: tag_1
[2,2,3].0.
Note: Float is casted to a
DWord to allow referencing of

www. [Link]
93 Allen-Bradley ControlLogix Ethernet Driver

Format Supported Data Types Notes


bits.
1. If accessing a single element, the
Controller tag need not be an
array.
Note: The value of the string is
the ASCII equivalent of the REAL
value (clamped to 255). Example:
SINT = 65 dec = "A".

2. If accessing more than a single ele-


String String ment, the Controller tag must be
an array. The value of the string is
the null-terminated ASCII equi-
valent of all the REALs (clamped to
255) in the string. 1 character in
string = 1 REAL, clamped to 255.
Note: REAL strings are not
packed. For greater efficiency, use
SINT strings or the STRING struc-
ture instead.

*non-zero values are clamped to true.


**Values exceeding 255 are clamped to 255.
***Values exceeding 65535 are clamped to 65535.
****Float value is a valid IEEE single precision floating point number.

Examples
Examples highlighted signify common use cases.

REAL Controller Tag - realtag = 512.5 (decimal)


Server Tag
Format Data Type Notes
Address
realtag Standard Boolean Value = true
realtag Standard Byte Value = 255
realtag Standard Word Value = 512
realtag Standard DWord Value = 512
realtag Standard Float Value = 512.5
Invalid: Tag not an array. Also, Boolean is
realtag [3] Array Element Boolean
invalid.
realtag [3] Array Element DWord Invalid: Tag not an array.
realtag {3} Array w/o Offset DWord Invalid: Tag not an array.
realtag {1} Array w/o Offset Float Value = [512.5]
realtag {1} Array w/o Offset Boolean Invalid: Bad data type.
realtag [3] {1} Array w/ Offset Float Invalid: Tag not an array.
realtag . 3 Bit Boolean Value = true
realtag . 0 {32} Array w/o Offset Boolean Value = [0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,...0]

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 94

Server Tag
Format Data Type Notes
Address
Bit value for 512
Value = unprintable character = 255
realtag / 1 String String
decimal
realtag / 4 String String Invalid: Tag not an array.

REAL Array Controller Tag - realarraytag [4,4] = [[82.1,69.2,65.3,76.4],[256.5,257.6,258.7,259.8],


[9.0,10.0,11.0,12.0],[13.0,14.0,15.0,16.0]]
Server Tag
Format Data Type Notes
Address
realarraytag Standard Boolean Invalid: Tag cannot be an array.
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.
Invalid: Server tag missing dimension 2
realarraytag [3] Array Element Float
address.
Invalid: Boolean not allowed for array ele-
realarraytag [1,3] Array Element Boolean
ments.
realarraytag [1,3] Array Element Float Value = 259.8
Value =
realarraytag {10} Array w/o Offset Byte
[82,69,65,76,255,255,255,255,9,10]
Value = [82.1,69.2,65.3,76.4,256.5]
realarraytag {2} {5} Array w/o Offset Float
[257.6,258.7,259.8,9,10]
realarraytag {1} Array w/o Offset Float Value = 82.1
realarraytag {1} Array w/o Offset Boolean Invalid: Bad data type.
realarraytag [1,3]
Array w/ Offset Float Value = [259.8,9.0,10.0,11.0]
{4}
Invalid: Tag must reference atomic loc-
realarraytag . 3 Bit Boolean
ation.
realarraytag [1,3] .
Bit Boolean Value = 0
3
realarraytag [1,3] . Value = [1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0]
Array w/o Offset Boolean
0 {32} Bit value for 259
realarraytag / 1 String String Value = "R"
realarraytag / 3 String String Value = "REAL"

Advanced Addressing: USINT

Format Supported Data Types Notes


Standard Byte None

www. [Link]
95 Allen-Bradley ControlLogix Ethernet Driver

Format Supported Data Types Notes


Array Element Byte The Controller tag must be an array.
1. Use this case to have the bits
within an USINT in array form.
Note: This is not an array of
USINTs in Boolean notation.

Array w/o Offset Boolean Array 2. Applies to bit-within-USINT only.


Example: tag_1.0{8}.

3. .bit + array size cannot exceed 8


bits. Example: tag_1.1{8} exceeds
an USINT, tag_1.0{8} does not.
If accessing more than a single element,
Array w/o Offset Byte Array
the Controller tag must be an array.
Array w/ Offset Byte Array The Controller tag must be an array.
1. The range is limited from 0 to 7.

2. If the Controller tag is an array,


Bit Boolean the bit class reference must be
prefixed by an array element class
reference. Example: tag_1
[2,2,3].0.
String N/A Not Supported

Examples
Examples highlighted signify common use cases.

USINT Controller Tag - usinttag = 122 (decimal)


Server Tag
Format Data Type Notes
Address
usinttag Standard Boolean Value = true
usinttag Standard Byte Value = 122
usinttag Standard Word Invalid: Word not supported.
usinttag Standard DWord Invalid: DWord not supported.
usinttag Standard Float Invalid: Float not supported.
Invalid: Tag not an array. Also, Boolean is
usinttag [3] Array Element Boolean
invalid.
usinttag [3] Array Element Byte Invalid: Tag not an array.
usinttag {3} Array w/o Offset Byte Invalid: Tag not an array.
usinttag {1} Array w/o Offset Byte Value = [122]
usinttag {1} Array w/o Offset Boolean Invalid: Bad data type.
usinttag [3] {1} Array w/ Offset Byte Invalid: Tag not an array.
usinttag . 3 Bit Boolean Value = true
Value = [0,1,0,1,1,1,1,0]
usinttag . 0 {8} Array w/o Offset Boolean
Bit value of 122

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 96

Server Tag
Format Data Type Notes
Address
usinttag / 1 String String Value = "z"
usinttag / 4 String String Invalid: Tag not an array.

USINT Array Controller Tag - usintarraytag [4,4] = [[83,73,78,84],[5,6,7,8],[9,10,11,12],[13,14,15,16]]


Server Tag
Format Data Type Notes
Address
usintarraytag Standard Boolean Invalid: Tag cannot be an array.
usintarraytag Standard Byte Invalid: Tag cannot be an array.
usintarraytag Standard Word Invalid: Tag cannot be an array.
usintarraytag Standard DWord Invalid: Tag cannot be an array.
usintarraytag Standard Float Invalid: Tag cannot be an array.
Invalid: Server tag missing dimension 2
usintarraytag [3] Array Element Byte
address.
Invalid: Boolean not allowed for array ele-
usintarraytag [1,3] Array Element Boolean
ments.
usintarraytag [1,3] Array Element Byte Value = 8
usintarraytag {10} Array w/o Offset Byte Value = [83,73,78,84,5,6,7,8,9,10]
usintarraytag {2}
Array w/o Offset Word Value = [83,73,78,84,5] [6,7,8,9,10]
{5}
usintarraytag {1} Array w/o Offset Byte Value = 83
usintarraytag {1} Array w/o Offset Boolean Invalid: Bad data type.
usintarraytag [1,3]
Array w/ Offset Byte Value = [8,9,10,11]
{4}
Invalid: Tag must reference atomic loc-
usintarraytag . 3 Bit Boolean
ation.
usintarraytag [1,3] .
Bit Boolean Value = 1
3
usintarraytag [1,3] .
Array w/o Offset Boolean Value = [0,0,0,1,0,0,0,0]
0 {8}
usintarraytag / 1 String String Invalid: Syntax / data type not supported.
usintarraytag / 4 String String Invalid: Syntax / data type not supported.

Advanced Addressing: UINT

Format Supported Data Types Notes


Standard Word, BCD None
Array Element Word, BCD The Controller tag must be an array.
1. Use this case to have the bits
within a UINT in array form.
Array w/o Offset Boolean Array
Note: This is not an array of
UINTs in Boolean notation.

www. [Link]
97 Allen-Bradley ControlLogix Ethernet Driver

Format Supported Data Types Notes


2. Applies to bit-within-UINT only.
Example: tag_1.0{16}.

3. .bit + array size cannot exceed 8


bits. Example: tag_1.1{16} exceeds
an UINT, tag_1.0{16} does not.

4. Array size must be a multiple of


eight (8).
If accessing more than a single element,
Array w/o Offset Word Array, BCD Array
the Controller tag must be an array.
Array w/ Offset Word Array, BCD Array The Controller tag must be an array.
1. The range is limited from 0 to 15.

2. If the Controller tag is an array,


Bit Boolean the bit class reference must be
prefixed by an array element class
reference. Example: tag_1
[2,2,3].0.
String N/A Not Supported

Examples
Examples highlighted signify common use cases.

UINT Controller Tag - uinttag = 65534 (decimal)


Server Tag
Class Data Type Notes
Address
uinttag Standard Boolean Invalid: Boolean not supported.
uinttag Standard Byte Invalid: Byte not supported.
uinttag Standard Word Value = 65534
uinttag Standard DWord Invalid: DWord not supported.
uinttag Standard Float Invalid: Float not supported.
Invalid: Tag not an array. Boolean is
uinttag [3] Array Element Boolean
invalid.
uinttag [3] Array Element Byte Invalid: Tag not an array.
uinttag {3} Array w/o Offset Byte Invalid: Tag not an array.
uinttag {1} Array w/o Offset Byte Value = [65534]
uinttag {1} Array w/o Offset Boolean Invalid: Bad data type.
uinttag [3] {1} Array w/ Offset Word Invalid: Tag not an array.
uinttag . 3 Bit Boolean Value = true
Value = [0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
uinttag . 0 {16} Array w/o Offset Boolean
Bit value of 65534
uinttag / 1 String String Invalid: Syntax / data type not supported.
uinttag / 4 String String Invalid: Syntax / data type not supported.

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 98

UINT Array Controller Tag - uintarraytag [4,4] = [[73,78,84,255],[256,257,258,259],[9,10,11,12],


[13,14,15,16]]
Server Tag
Format Data Type Notes
Address
uintarraytag Standard Boolean Invalid: Tag cannot be an array.
uintarraytag Standard Byte Invalid: Tag cannot be an array.
uintarraytag Standard Word Invalid: Tag cannot be an array.
uintarraytag Standard DWord Invalid: Tag cannot be an array.
uintarraytag Standard Float Invalid: Tag cannot be an array.
Invalid: Server tag missing dimension 2
uintarraytag [3] Array Element Word
address.
Invalid: Boolean not allowed for array ele-
uintarraytag [1,3] Array Element Boolean
ments.
uintarraytag [1,3] Array Element Word Value = 259
Value =
uintarraytag {10} Array w/o Offset BCD
[49,54,54,165,100,101,102,103,9,10]
Value = [73,78,84,255,256]
uintarraytag {2} {5} Array w/o Offset Word
[257,258,259,9,10]
uintarraytag {1} Array w/o Offset Word Value = 73
uintarraytag {1} Array w/o Offset Boolean Invalid: Bad data type.
uintarraytag [1,3]
Array w/ Offset Byte Value = [259,9,10,11]
{4}
Invalid: Tag must reference atomic loc-
uintarraytag . 3 Bit Boolean
ation.
uintarraytag [1,3] .
Bit Boolean Value = 0
3
Value = [0,0,0,1,0,0,0,0]Value =
uintarraytag [1,3] .
Array w/o Offset Boolean [1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0]
0 {16}
Bit value for 259
uintarraytag / 1 String String Invalid: Syntax / data type not supported.
uintarraytag / 3 String String Invalid: Syntax / data type not supported.

Advanced Addressing: UDINT

Format Supported Data Types Notes


Standard DWord, LBCD None
Array Element DWord, LBCD The Controller tag must be an array.
1. Use this case to have the bits
within an UDINT in array form.
Note: This is not an array of
Array w/o Offset Boolean Array UDINTs in Boolean notation.

2. Applies to bit-within-UDINT only.


Example: tag_1.0{32}.

www. [Link]
99 Allen-Bradley ControlLogix Ethernet Driver

Format Supported Data Types Notes


3. .bit + array size cannot exceed 32
bits. Example: tag_1.1{32}
exceeds an UINT, tag_1.0{32}
does not.

4. Array size must be a multiple of


(eight) 8.
If accessing more than a single element,
Array w/o Offset DWord Array, LBCD Array
the Controller tag must be an array.
Array w/ Offset DWord Array, LBCD Array The Controller tag must be an array.
1. The range is limited from 0 to 31.

2. If Controller tag is an array, bit


Bit Boolean class reference must be prefixed
by an array element class ref-
erence. Example: tag_1 [2,2,3].0
String N/A Not supported

Examples
Examples highlighted signify common use cases.

UDINT Controller Tag - udinttag = 70000 (decimal)


Server Tag
Format Data Type Notes
Address
udinttag Standard Boolean Invalid: Boolean not supported
udinttag Standard Byte Invalid: Byte not supported
udinttag Standard Word Invalid: Word not supported
udinttag Standard DWord Value = 70000
udinttag Standard LBCD Value = 11170
Invalid: Tag not an array. Boolean is
udinttag [3] Array Element Boolean
invalid.
udinttag [3] Array Element DWord Invalid: Tag not an array
udinttag {3} Array w/o Offset DWord Invalid: Tag not an array
udinttag {1} Array w/o Offset DWord Value = [70000]
udinttag {1} Array w/o Offset Boolean Invalid: Boolean Array not supported
udintag [3] {1} Array w/ Offset DWord Invalid: Tag not an array
udinttag . 3 Bit Boolean Value = False
Value =
udinttag . 0 {32} Array w/o Offset Boolean [0,0,0,0,1,1,1,0,1,0,0,0,1,0,0,0,1,0,...0]
Bit value for 70000
udinttag / 1 String String Invalid: Syntax/data type not supported
udinttag / 4 String String Invalid: Syntax/data type not supported

UDINT Array Controller Tag - udintarraytag [4,4] = [[68,73,78,84],[256,257,258,259],[9,10,11,12],


[13,14,15,16]]

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 100

Server Tag
Format Data Type Notes
Address
udintarraytag Standard Boolean Invalid: Boolean not supported
udintarraytag Standard Byte Invalid: Byte not supported
udintarraytag Standard Word Invalid: Word not supported
udintarraytag Standard DWord Invalid: Tag cannot be an array
udintarraytag Standard Float Invalid: Float not supported
Invalid: Server tag missing dimension 2
udintarraytag [3] Array Element DWord
address.
Invalid: Boolean not allowed for array ele-
udintarraytag [1,3] Array Element Boolean
ments
udintarraytag [1,3] Array Element DWord Value = 259
Value =
udintarraytag {10} Array w/o Offset LCBD
[44,49,54,54,100,101,102,103,9,10]]
udintarraytag {2} Value = [68,73,78,84,256]
Array w/o Offset DWord
{5} [257,258,259,9,10]
udintarraytag {1} Array w/o Offset DWord Value = 68
udintarraytag {1} Array w/o Offset Boolean Invalid: Bad data type.
udintarraytag [1,3]
Array w/ Offset DWord Value = [259,9,10,11]
{4}
Invalid: Tag must reference atomic loc-
udintarraytag . 3 Bit Boolean
ation.
udintarraytag [1,3] .
Bit Boolean Value = False
3
udintarraytag [1,3] Value = [1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0]
Array w/o Offset Boolean
.0 {32} Bit value for 259
udintarraytag / 1 String String Invalid: Syntax/data type not supported
udintarraytag / 3 String String Invalid: Syntax/data type not supported

Advanced Addressing: ULINT

Format Supported Data Types Notes


Standard Double* None
Array Element Double* The Controller tag must be an array.
If accessing more than a single element,
Array w/o Offset Double, Array*
the Controller tag must be an array.
Array w/ Offset Double, Array* The Controller tag must be an array.
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).

Examples
Examples highlighted signify common use cases.

www. [Link]
101 Allen-Bradley ControlLogix Ethernet Driver

ULINT Controller Tag - ulinttag = 1.8446744073709560e+19 (decimal)


Server Tag
Format Data Type Notes
Address
ulinttag Standard Boolean Invalid: Boolean not supported
ulinttag Standard Byte Invalid: Byte not supported
ulinttag Standard Word Invalid: Word not supported
ulinttag Standard Double Value = 1.8446744073709560e+19
Invalid: Tag not an array. Boolean is
ulinttag [3] Array Element Boolean
invalid.
ulinttag [3] Array Element Double Invalid: Tag not an array
ulinttag {3} Array w/o Offset Double Invalid: Tag not an array
ulinttag {1} Array w/o Offset Double Value = [1.8446744073709560e+19]
ulinttag {1} Array w/o Offset Boolean Invalid: Boolean array not supported
ulintag [3] {1} Array w/ Offset Double Invalid: Tag not an array
ulinttag . 3 Bit Boolean Invalid: Syntax/data type not supported
ulinttag / 1 String String Invalid: Syntax/data type not supported

ULINT Array Controller Tag -


ulintarraytag [2,2] = [0, 1.16767E+15],[9.4666E+14, 1.8446744073709560e+19]
Server Tag
Format Data Type Notes
Address
ulintarraytag Standard Boolean Invalid: Boolean not supported
ulintarraytag Standard Byte Invalid: Byte not supported
ulintarraytag Standard Word Invalid: Word not supported
ulintarraytag Standard Double Invalid: Tag cannot be an array
ulintarraytag Standard Date Invalid: Date not supported
Invalid: Server tag missing dimension 2
ulintarraytag [1] Array Element Double
address.
Invalid: Boolean not allowed for array ele-
ulintarraytag [1,1] Array Element Boolean
ments.
ulintarraytag [1,1] Array Element Double Value = 1.8446744073709560e+19
Value = [0, 1.16767E+15, 9.4666E+14,
ulintarraytag {4} Array w/o Offset Double
1.8446744073709560e+19]
ulintarraytag {2} Value =[0, 1.16767E+15][ 9.4666E+14,
Array w/o Offset Double
{2} 1.8446744073709560e+19]
ulintarraytag {4} Array w/o Offset Date Invalid: Date array not supported
ulintarraytag {1} Array w/o Offset Double Value = 0
ulintarraytag {1} Array w/o Offset Boolean Invalid: Boolean array not supported
ulintarraytag [0,1]
Array w/ Offset Double Value = [1.16767E+15, 9.4666E+14]
{2}
ulintarraytag . 3 Bit Boolean Invalid: Syntax/data type not supported
ulintarraytag / 1 String String Invalid: Syntax/data type not supported

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 102

Advanced Addressing: LREAL

Format Supported Data Types Notes


Standard Double None
Array Element Double The Controller tag must be an array.
If accessing more than a single element,
Array w/o Offset Double Array
the Controller tag must be an array.
Array w/ Offset Double Array The Controller tag must be an array.
Bit N/A Not supported
String N/A Not supported

Examples
Examples highlighted signify common use cases.

LREAL Controller Tag - lrealtag = 1.7976931348623157E+308 (decimal)


Server Tag
Format Data Type Notes
Address
lrealtag Standard Boolean Invalid: Boolean not supported
lrealtag Standard Byte Invalid: Byte not supported
lrealtag Standard Word Invalid: Word not supported
lrealtag Standard Double Value = 1.7976931348623157E+308
Invalid: Tag not an array. Also, Boolean is
lrealtag [3] Array Element Boolean
invalid.
lrealtag {1} Array w/o Offset Double Value = [1.7976931348623157E+308]
lrealtag {1} Array w/o Offset Boolean Invalid: Boolean array not supported
lrealtag [3] {1} Array w/ Offset Double Invalid: Tag not an array
lrealtag . 3 Bit Boolean Invalid: Syntax / data type not supported
lrealtag . 0 {32} Array w/o Offset Boolean Invalid: Syntax / data type not supported
lrealtag / 1 String String Invalid: Syntax / data type not supported
lrealtag / 4 String String Invalid: Syntax / data type not supported

LREAL Array Controller Tag - lrealarraytag [4,4] = [[82.1,69.2,65.3,76.4],[256.5,257.6,258.7,259.8],


[9.0,10.0,11.0,12.0],[13.0,14.0,15.0,16.0]]
Server Tag
Format Data Type Notes
Address
lrealarraytag Standard Boolean Invalid: Tag cannot be an array.
lrealarraytag Standard Byte Invalid: Tag cannot be an array.
lrealarraytag Standard Word Invalid: Tag cannot be an array.
lrealarraytag Standard Double Invalid: Tag cannot be an array.
Invalid: Server tag missing dimension 2
lrealarraytag [3] Array Element Double
address.
lrealarraytag [1,3] Array Element Boolean Invalid: Boolean not allowed for array ele-

www. [Link]
103 Allen-Bradley ControlLogix Ethernet Driver

Server Tag
Format Data Type Notes
Address
ments.
lrealarraytag [1,1] Array Element Double Value = 257.6
Value = [82.1,69.2,65.3,76.4,256.5]
lrealarraytag {2} {5} Array w/o Offset Double
[257.6,258.7,259.8,9,10]
lrealarraytag {1} Array w/o Offset Double Value = 82.1
lrealarraytag {1} Array w/o Offset Boolean Invalid: Boolean Array not supported
lrealarraytag [1,3]
Array w/ Offset Double Value = [259.8,9.0,10.0,11.0]
{4}
lrealarraytag . 3 Bit Boolean Invalid: Syntax / data type not supported.
lrealarraytag / 1 String String Invalid: Syntax / data type not supported.

Advanced Addressing: TIME32

Format Supported Data Types Notes


Standard String, Long None
Array Element String, Long The Controller tag must be an array.
If accessing more than a single element,
Array w/o Offset Long Array
the Controller tag must be an array.
Array w/ Offset Long Array The Controller tag must be an array.
Bit N/A Not supported
String with length specifier is not sup-
String N/A
ported.

Tip: Data type in bold represents the default data type.

Examples
Examples highlighted signify common use cases.

TIME32 Controller Tag - time32tag = -2147483647 (decimal)


Server Tag
Format Data Type Notes
Address
time32tag Standard String Value = T32#-35m_47s_483ms_647us
time32tag Standard Long -2147483647
time32tag Standard DWord Invalid: DWord not supported
time32tag Standard Boolean Invalid: Boolean not supported
time32tag [3] Array Element String Invalid: Tag not an array
time32tag {1} Array w/o Offset Long Array Value = [-2147483647]
time32tag {1} Array w/o Offset String Array Invalid: String array not supported
time32tag [3] {1} Array w/ Offset Long Array Invalid: Tag not an array

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 104

Server Tag
Format Data Type Notes
Address
time32tag . 3 Bit Boolean Invalid: Syntax / data type not supported
time32tag . 0 {32} Array w/o Offset Boolean Array Invalid: Syntax / data type not supported
time32tag / 1 String String Invalid: String length not supported
time32tag / 4 String String Invalid: String length not supported

TIME32 Array Controller Tag - time32arraytag [4,4] = [[1,2,3,4],[500,600,700,800],


[90000,100000,110000,120000],[13000000,14000000,15000000,16000000]] (decimal)
Server Tag
Format Data Type Notes
Address
time32arraytag Standard String T32#1us (only first element is read)
time32arraytag Standard Long 1 (only first element is read)
Invalid: Tag cannot be an array. Boolean
time32arraytag Standard Boolean
not supported.
time32arraytag
Array Element String T32#600us
[1,1]
time32arraytag
Array Element Long Value = 110000
[2,2]
Invalid: Server tag missing dimension 2
time32arraytag [3] Array Element Long
address.
time32arraytag Invalid: Boolean not allowed for array ele-
Array Element Boolean
[1,3] ments.
time32arraytag {2} Value = [1,2,3,4,500]
Array w/o Offset Long Array
{5} [600,700,800,90000,100000]
time32arraytag {1} Array w/o Offset Long Array Value = [1]
time32arraytag {1} Array w/o Offset String Array Invalid: String Array not supported
time32arraytag
Array w/ Offset Long Array Value = [700,800,90000]
[1,2] {3}
time32arraytag . 3 Bit Boolean Invalid: Syntax / data type not supported
time32arraytag / 1 String String Invalid: String length not supported

Advanced Addressing: TIME

Format Supported Data Types Notes


Standard String, LLong None
Array Element String, LLong The Controller tag must be an array.
If accessing more than a single element,
Array w/o Offset LLong Array
the Controller tag must be an array.
Array w/ Offset LLong Array The Controller tag must be an array.
Bit N/A Not supported
String with length specifier is not sup-
String N/A
ported.

www. [Link]
105 Allen-Bradley ControlLogix Ethernet Driver

Tip: Data type in bold represents the default data type.

Examples
Examples highlighted signify common use cases.

TIME Controller Tag - timetag = -2725199999999 (decimal)


Server Tag
Format Data Type Notes
Address
Value = T#-31d_12h_59m_59s_999ms_
timetag Standard String
999us
timetag Standard LLong -2725199999999
timetag Standard QWord Invalid: QWord not supported
timetag Standard Boolean Invalid: Boolean not supported
timetag [3] Array Element String Invalid: Tag not an array
timetag {1} Array w/o Offset LLong Array Value = [-2725199999999]
timetag {1} Array w/o Offset String Array Invalid: String array not supported
timetag [3] {1} Array w/ Offset LLong Array Invalid: Tag not an array
timetag . 3 Bit Boolean Invalid: Syntax / data type not supported
timetag . 0 {32} Array w/o Offset Boolean Array Invalid: Syntax / data type not supported
timetag / 1 String String Invalid: String length not supported
timetag / 4 String String Invalid: String length not supported

TIME Array Controller Tag - timearraytag [4,4] = [[1,2,3,4],[500,600,700,800],


[90000,100000,110000,120000],[13000000,14000000,15000000,16000000]] (decimal)
Server Tag
Format Data Type Notes
Address
timearraytag Standard String T#1us (only first element is read)
timearraytag Standard LLong 1 (only first element is read)
Invalid: Tag cannot be an array. Boolean
timearraytag Standard Boolean
not supported.
timearraytag [1,1] Array Element String T#600us
timearraytag [2,2] Array Element LLong Value = 110000
Invalid: Server tag missing dimension 2
timearraytag [3] Array Element LLong
address.
Invalid: Boolean not allowed for array ele-
timearraytag [1,3] Array Element Boolean
ments.
timearraytag {2} Value = [1,2,3,4,500]
Array w/o Offset LLong Array
{5} [600,700,800,90000,100000]
timearraytag {1} Array w/o Offset LLong Array Value = [1]
timearraytag {1} Array w/o Offset String Array Invalid: String Array not supported
timearraytag [1,3]
Array w/ Offset LLong Array Value = [800,90000,100000,110000]
{4}

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 106

Server Tag
Format Data Type Notes
Address
timearraytag . 3 Bit Boolean Invalid: Syntax / data type not supported
timearraytag / 1 String String Invalid: String length not supported

Advanced Addressing: LTIME

Format Supported Data Types Notes


Standard String, LLong None
Array Element String, LLong The Controller tag must be an array.
If accessing more than a single element,
Array w/o Offset LLong Array
the Controller tag must be an array.
Array w/ Offset LLong Array The Controller tag must be an array.
Bit N/A Not supported
String with length specifier is not sup-
String N/A
ported.

Tip: Data type in bold represents the default data type.

Examples
Examples highlighted signify common use cases.

LTIME Controller Tag - ltimetag = -2725199999999999 (decimal)


Server Tag
Format Data Type Notes
Address
Value = LT#-31d_12h_59m_59s_999ms_
ltimetag Standard String
999us_999ns
ltimetag Standard LLong -2725199999999999
ltimetag Standard QWord Invalid: QWord not supported
ltimetag Standard Boolean Invalid: Boolean not supported
ltimetag [3] Array Element String Invalid: Tag not an array
ltimetag {1} Array w/o Offset LLong Array Value = [-2725199999999999]
ltimetag {1} Array w/o Offset String Array Invalid: String array not supported
ltimetag [3] {1} Array w/ Offset LLong Array Invalid: Tag not an array
ltimetag . 3 Bit Boolean Invalid: Syntax / data type not supported
ltimetag . 0 {32} Array w/o Offset Boolean Array Invalid: Syntax / data type not supported
ltimetag / 1 String String Invalid: String length not supported
ltimetag / 4 String String Invalid: String length not supported

LTIME Array Controller Tag - ltimearraytag [4,4] = [[1,2,3,4],[500,600,700,800],


[90000,100000,110000,120000],[13000000,14000000,15000000,16000000]] (decimal)

www. [Link]
107 Allen-Bradley ControlLogix Ethernet Driver

Server Tag
Format Data Type Notes
Address
ltimearraytag Standard String T#1us (only first element is read)
ltimearraytag Standard LLong 1 (only first element is read)
Invalid: Tag cannot be an array. Boolean
ltimearraytag Standard Boolean
not supported.
ltimearraytag [1,1] Array Element String T#600ns
ltimearraytag [2,2] Array Element LLong Value = 110000
Invalid: Server tag missing dimension 2
ltimearraytag [3] Array Element LLong
address.
Invalid: Boolean not allowed for array ele-
ltimearraytag [1,3] Array Element Boolean
ments.
ltimearraytag {2} Value = [1,2,3,4,500]
Array w/o Offset LLong Array
{5} [600,700,800,90000,100000]
ltimearraytag {1} Array w/o Offset LLong Array Value = [1]
ltimearraytag {1} Array w/o Offset String Array Invalid: String Array not supported
ltimearraytag [2,2] Value =
Array w/ Offset LLong Array
{4} [110000,120000,13000000,14000000]
ltimearraytag . 3 Bit Boolean Invalid: Syntax / data type not supported
ltimearraytag / 1 String String Invalid: String length not supported

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 108

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

Function File Listing


High-Speed Counter File (HSC)
Real-Time Clock File (RTC)
Channel 0 Communication Status File (CS0)
Channel 1 Communication Status File (CS1)
I/O Module Status File (IOS)

For more information on device models and their supported files, refer to Address Descriptions.

Output Files
The syntax for accessing data in the output file differs depending on the PLC model. Arrays are not sup-
ported 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

www. [Link]
109 Allen-Bradley ControlLogix Ethernet Driver

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.

MicroLogix Model Embedded I/O Expansion I/O


1000 Slot 0 N/A
1100 Slot 0 Slots 1-4
1200 Slot 0 Slots 1-6
1400 Slot 0 Slots 1-7
1500 Slot 0 Slots 1-16

The address syntax for MicroLogix I/O references a zero-based word offset, not a slot. Users must determ-
ine 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.

MicroLogix Embedded I/O Word Sizes


MicroLogix Model # Input Words # Output Words
1000 2 1
1100 6 4
1200 4 4
1400 8 6
1500 4 4

MicroLogix Expansion I/O Word Sizes


Modules # Input Words # Output Words
1769-HSC 35 34
1769-IA8I 1 0
1769-IA16 1 0
1769-IF4 6 0
1769-IF4XOF2 8 2
1769-IF8 12 1
1769-IM12 1 0
1769-IQ16 1 0
1769-IQ6XOW4 1 1
1769-IQ16F 1 0

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 110

Modules # Input Words # Output Words


1769-IQ32 2 0
1769-IR6 8 0
1769-IT6 8 0
1769-OA8 0 1
1769-OA16 0 1
1769-OB8 0 1
1769-OB16 0 1
1769-OB16P 0 1
1769-OB32 0 2
1769-OF2 2 2
1769-OF8C 11 9
1769-OF8V 11 9
1769-OV16 0 1
1769-OW8 0 1
1769-OW16 0 1
1769-OW8I 0 1
1769-SDN 66 2
1769-SM1 12 12
1769-SM2 7 7
1769-ASCII 108 108
1762-IA8 1 0
1762-IF2OF2 6 2
1762-IF4 7 0
1762-IQ8 1 0
1762-IQ8OW6 1 1
1762-IQ16 1 0
1762-OA8 0 1
1762-OB8 0 1
1762-OB16 0 1
1762-OW8 0 1
1762-OW16 0 1
1762-IT4 6 0
1762-IR4 6 0
1762-OF4 2 4
1762-OX6I 0 1

Calculation
Output Word Offset for slot x = # Output Words in slot 0 through slot (x-1).

Notes:

www. [Link]
111 Allen-Bradley ControlLogix Ethernet Driver

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

SLC 500 Syntax


The default data types are shown in bold.

Syntax Data Type Access


O:<slot> Short, Word, BCD Read Only
O:<slot>.<word> Short, Word, BCD Read Only
O:<slot>/<bit> Boolean Read Only
O:<slot>.<word>/<bit> Boolean Read Only

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.

Examples
MicroLogix Description
O:0 word 0
O/2 bit 2
O:0/5 bit 5

SLC 500 Fixed I/O Description


O:0 word 0
O:1 word 1
O/16 bit 16
O:1/0 bit 0 word 1 (same as O/16)

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 112

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)

*Addresses are in Octal.

SLC 500 Modular I/O Description


O:1 word 0 slot 1
O:1.0 word 0 slot 1 (same as O:1)
O:12 word 0 slot 12
O:12.2 word 2 slot 12
O:4.0/0 bit 0 word 0 slot 4
O:4/0 bit 0 slot 4 (same as O:4.0/0)
O:4.2/0 bit 0 word 2 slot 4
O:4/32 bit 32 slot 4 (same as O:4.2/0)

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.

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.

www. [Link]
113 Allen-Bradley ControlLogix Ethernet Driver

MicroLogix Model Embedded I/O Expansion I/O


1000 Slot 0 N/A
1100 Slot 0 Slots 1-4
1200 Slot 0 Slots 1-6
1400 Slot 0 Slots 1-7
1500 Slot 0 Slots 1-16

The address syntax for MicroLogix I/O references a zero-based word offset, not a slot. Users must determ-
ine 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.

MicroLogix Embedded I/O Word Sizes


MicroLogix Model # Input Words # Output Words
1000 2 1
1100 6 4
1200 4 4
1400 8 6
1500 4 4

MicroLogix Expansion I/O Word Sizes


Modules # Input Words # Output Words
1769-HSC 35 34
1769-IA8I 1 0
1769-IA16 1 0
1769-IF4 6 0
1769-IF4XOF2 8 2
1769-IF8 12 1
1769-IM12 1 0
1769-IQ16 1 0
1769-IQ6XOW4 1 1
1769-IQ16F 1 0
1769-IQ32 2 0
1769-IR6 8 0
1769-IT6 8 0
1769-OA8 0 1
1769-OA16 0 1
1769-OB8 0 1
1769-OB16 0 1
1769-OB16P 0 1
1769-OB32 0 2

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 114

Modules # Input Words # Output Words


1769-OF2 2 2
1769-OF8C 11 9
1769-OF8V 11 9
1769-OV16 0 1
1769-OW8 0 1
1769-OW16 0 1
1769-OW8I 0 1
1769-SDN 66 2
1769-SM1 12 12
1769-SM2 7 7
1769-ASCII 108 108
1762-IA8 1 0
1762-IF2OF2 6 2
1762-IF4 7 0
1762-IQ8 1 0
1762-IQ8OW6 1 1
1762-IQ16 1 0
1762-OA8 0 1
1762-OB8 0 1
1762-OB16 0 1
1762-OW8 0 1
1762-OW16 0 1
1762-IT4 6 0
1762-IR4 6 0
1762-OF4 2 4
1762-OX6I 0 1

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

www. [Link]
115 Allen-Bradley ControlLogix Ethernet Driver

Bit 5 of Slot 3 = 4 + 2 = 6 words = I:6/5

SLC 500 Syntax


Syntax Data Type Access
I:<slot> Short, Word, BCD Read Only
I:<slot>.<word> Short, Word, BCD Read Only
I:<slot>/<bit> Boolean Read Only
I:<slot>.<word>/<bit> Boolean Read Only

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.

Examples
MicroLogix Description
I:0 Word 0
I/2 Bit 2
I:1/5 Bit 5 word 1

SLC 500 Fixed I/O Description


I:0 Word 0
I:1 Word 1
I/16 bit 16
I:1/0 Bit 0 word 1 (same as I/16)

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)

*Addresses are in Octal.

SLC 500 Modular I/O Description


I:1 Word 0 slot 1
I:1.0 Word 0 slot 1 (same as I:1)

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 116

SLC 500 Modular I/O Description


I:12 Word 0 slot 12
I:12.2 Word 2 slot 12
I:4.0/0 Bit 0 word 0 slot 4
I:4/0 Bit 0 slot 4 (same as I:4.0/0)
I:4.2/0 Bit 0 word 2 slot 4
I:4/32 Bit 32 slot 4 (same as I:4.2/0)

Status Files
To access status files, specify a word and an optional bit in the word. The default data types are shown in
bold.

Syntax Data Type Access


S:<word> Short, Word, BCD, DWord, Long, LBCD Read/Write
S:<word> [rows][cols] Short, Word, BCD, DWord, Long, LBCD (array type) Read/Write
S:<word> [cols] Short, Word, BCD, DWord, Long, LBCD (array type) Read/Write
S:<word>/<bit> Boolean Read/Write
S/bit Boolean Read/Write

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

www. [Link]
117 Allen-Bradley ControlLogix Ethernet Driver

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.

Syntax Data Type Access


Short, Word, BCD, DWord, Long,
B<file>:<word> Read/Write
LBCD
Short, Word, BCD, DWord, Long,
B<file>:<word> [rows][cols] Read/Write
LBCD (array type)
Short, Word, BCD, DWord, Long,
B<file>:<word> [cols] Read/Write
LBCD (array type)
B<file>:<word>/<bit> Boolean Read/Write
B<file>/bit Boolean Read/Write

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.

Syntax Data Type Access


T<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 doc-
umentation.

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 118

Element Field Data Type Access


ACC Short, Word Read/Write
PRE Short, Word Read/Write
DN Boolean Read Only
TT Boolean Read Only
EN Boolean Read Only

Ranges
PLC Model File Number Max. Element
MicroLogix 4, 9-999 999
SLC 500 Fixed I/O 4, 9-255 255
SLC 500 Modular I/O 4, 9-999 999
PLC-5 Series 3-999 1999

Examples
Example Description
T4:[Link] Accumulator of timer 0 file 4
T4:[Link] Done bit of timer 10 file 4
T15:[Link] 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.

Syntax Data Type Access


C<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 doc-
umentation.

Element Field Data Type Access


ACC Word, Short Read/Write
PRE Word, Short Read/Write
UA Boolean Read Only
UN Boolean Read Only
OV Boolean Read Only
DN Boolean Read Only
CD Boolean Read Only
CU Boolean Read Only

Ranges

www. [Link]
119 Allen-Bradley ControlLogix Ethernet Driver

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:[Link] Accumulator of counter 0 file 5
C5:[Link] Done bit of counter 10 file 5
C15:[Link] 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.

Syntax Data Type Access


R<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 doc-
umentation.

Element Field Data Type Access


LEN Word, Short Read/Write
POS Word, Short Read/Write
FD Boolean Read Only
IN Boolean Read Only
UL Boolean Read Only
ER Boolean Read Only
EM Boolean Read Only
DN Boolean Read Only
EU Boolean Read Only
EN Boolean Read Only

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

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 120

Example Description
R6:[Link] Length field of control 0 file 6
R6:[Link] Done bit of control 10 file 6
R15:[Link] 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.

Syntax Data Type Access


Short, Word, BCD, DWord, Long,
N<file>:<word> Read/Write
LBCD
Short, Word, BCD, DWord, Long,
N<file>:<word> [rows][cols] Read/Write
LBCD (array type)
Short, Word, BCD, DWord, Long,
N<file>:<word> [cols] Read/Write
LBCD (array type)
N<file>:<word>/<bit> Boolean Read/Write
N<file>/bit Boolean Read/Write

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

www. [Link]
121 Allen-Bradley ControlLogix Ethernet Driver

Float Files
To access float files, specify a file number and an element. The default data types are shown in bold.

Syntax Data Type Access


F<file>:<element> Float Read/Write
F<file>:<element> [rows][cols] Float (array type) Read/Write
F<file>:<element> [cols] Float (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 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.

Syntax Data Type Access


A<file>:<char> Char, Byte* Read/Write
A<file>:<char> [rows][cols] Char, Byte* Read/Write
A<file>:<char> [cols] Char, Byte* Read/Write
A<file>:<word offset>/length String** Read/Write

*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 con-
taining the second character. The PLC programming software allows access at the word level or two-char-
acter 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.

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 122

**Referencing this file as string data allows access to data at word boundaries like the programming soft-
ware. 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 con-
troller.

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

Note: Arrays are not supported for string files.

Syntax Data Type Access


ST<file>:<element>.<field> String Read/Write

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

www. [Link]
123 Allen-Bradley ControlLogix Ethernet Driver

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.

Syntax Data Type Access


L<file>:<DWord> Long, DWord, LBCD Read/Write
L<file>:<DWord> [rows][cols] Long, DWord, LBCD (array type) Read/Write
L<file>:<DWord> [cols] Long, DWord, 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 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

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 124

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

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

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 doc-
umentation for the meaning of each field.

Element Field Data Type Access


SPS Word, Short Read/Write
KC Word, Short Read/Write
TI Word, Short Read/Write
TD Word, Short Read/Write
MAXS Word, Short Read/Write
MINS Word, Short Read/Write
ZCD Word, Short Read/Write
CVH Word, Short Read/Write
CVL Word, Short Read/Write
LUT Word, Short Read/Write
SPV Word, Short Read/Write
CVP Word, Short Read/Write
TM Boolean Read/Write
AM Boolean Read/Write
CM Boolean Read/Write
OL Boolean Read/Write
RG Boolean Read/Write
SC Boolean Read/Write
TF Boolean Read/Write
DA Boolean Read/Write
DB Boolean Read/Write
UL Boolean Read/Write
LL Boolean Read/Write
SP Boolean Read/Write

www. [Link]
125 Allen-Bradley ControlLogix Ethernet Driver

Element Field Data Type Access


PV Boolean Read/Write
DN Boolean Read/Write
EN Boolean Read/Write

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:[Link] Proportional gain of PD 0 file 14
PD18:[Link] 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 doc-
umentation.

Element Field Data Type Access


SP Real Read/Write
KP Real Read/Write
KI Real Read/Write
KD Real Read/Write
BIAS Real Read/Write
MAXS Real Read/Write
MINS Real Read/Write
DB Real Read/Write
SO Real Read/Write
MAXO Real Read/Write
MINO Real Read/Write
UPD Real Read/Write
PV Real Read/Write

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 126

Element Field Data Type Access


ERR Real Read/Write
OUT Real Read/Write
PVH Real Read/Write
PVL Real Read/Write
DVP Real Read/Write
DVN Real Read/Write
PVDB Real Read/Write
DVDB Real Read/Write
MAXI Real Read/Write
MINI Real Read/Write
TIE Real Read/Write
FILE Word, Short Read/Write
ELEM Word, Short Read/Write
EN Boolean Read/Write
CT Boolean Read/Write
CL Boolean Read/Write
PVT Boolean Read/Write
DO Boolean Read/Write
SWM Boolean Read/Write
CA Boolean Read/Write
MO Boolean Read/Write
PE, Boolean Read/Write
INI Boolean Read/Write
SPOR Boolean Read/Write
OLL Boolean Read/Write
OLH Boolean Read/Write
EWD Boolean Read/Write
DVNA Boolean Read/Write
DVHA Boolean Read/Write
PVLA Boolean Read/Write
PVHA Boolean Read/Write

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

www. [Link]
127 Allen-Bradley ControlLogix Ethernet Driver

Example Description
PD14:[Link] Set point field of PD 0 file 14
PD18:[Link] Status enable bit of PD 6 file 18

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

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 doc-
umentation.

Element Field Data Type Access


IA Word, Short Read/Write
RBL Word, Short Read/Write
LBN Word, Short Read/Write
RBN Word, Short Read/Write
CHN Word, Short Read/Write
NOD Word, Short Read/Write
MTO Word, Short Read/Write
NB Word, Short Read/Write
TFT Word, Short Read/Write
TFN Word, Short Read/Write
ELE Word, Short Read/Write
SEL Word, Short Read/Write
TO Boolean Read/Write
CO Boolean Read/Write
EN Boolean Read/Write
RN Boolean Read/Write
EW Boolean Read/Write
ER Boolean Read/Write
DN Boolean Read/Write
ST Boolean Read/Write
BK Boolean Read/Write

Ranges
PLC Model File Number Max. Element
MicroLogix 3-255 255
All SLC N/A N/A
PLC5 Message Files Message Files

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 128

Examples
Example Description
MG14:[Link] Time out bit for MSG element 0 in data file 14
MG18:[Link] Continue bit for MSG element 6 in data 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 doc-
umentation.

Element Field Data Type Access


ERR Short, Word Read/Write
RLEN Short, Word Read/Write
DLEN Short, Word Read/Write
EN Boolean Read/Write
ST Boolean Read/Write
DN Boolean Read/Write
ER Boolean Read/Write
CO Boolean Read/Write
EW Boolean Read/Write
NR Boolean Read/Write
TO Boolean Read/Write

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:[Link] Requested length field of MG 0 file 14
MG18:[Link] Continue bit of MG 6 file 18

www. [Link]
129 Allen-Bradley ControlLogix Ethernet Driver

Block Transfer Files


Block transfer 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
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.

Element Field Data Type Access


RLEN Word, Short Read/Write
DLEN Word, Short Read/Write
FILE Word, Short Read/Write
ELEM Word, Short Read/Write
RW Boolean Read/Write
ST Boolean Read/Write
DN Boolean Read/Write
ER Boolean Read/Write
CO Boolean Read/Write
EW Boolean Read/Write
NR Boolean Read/Write
TO Boolean Read/Write

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:[Link] Requested length field of BT 0 file 14
BT18:[Link] Continue bit of BT 6 file 18

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 130

Function Files
For information on the files supported by the ENI MicroLogix and MicroLogix 1100 device models, select a
link from the list below.

High-Speed Counter File (HSC)


Real-Time Clock File (RTC)
Channel 0 Communication Status File (CS0)
Channel 1 Communication Status File (CS1)
I/O Module Status File (IOS)

For more information on device models and their supported files, refer to Address Descriptions.

High-Speed Counter File (HSC)


The HSC files are a structured type whose data is accessed by specifying an element and a field. The default
data types are shown in bold.

See Also: ENI DF1/ DH+/ControlNet Gateway Communications Parameters

Syntax Data Type Access


HSC:<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 doc-
umentation.

Element Field Default Type Access


ACC DWord, Long Read Only
HIP DWord, Long Read/Write
LOP DWord, Long Read/Write
OVF DWord, Long Read/Write
UNF DWord, Long Read/Write
PFN Word, Short Read Only
ER Word, Short Read Only
MOD Word, Short Read Only
OMB Word, Short Read Only
HPO Word, Short Read/Write
LPO Word, Short Read/Write
UIX Boolean Read Only
UIP Boolean Read Only
AS Boolean Read Only
ED Boolean Read Only
SP Boolean Read Only
LPR Boolean Read Only
HPR Boolean Read Only

www. [Link]
131 Allen-Bradley ControlLogix Ethernet Driver

Element Field Default Type Access


DIR Boolean Read Only
CD Boolean Read Only
CU Boolean Read Only
UIE Boolean Read/Write
UIL Boolean Read/Write
FE Boolean Read/Write
CE Boolean Read/Write
LPM Boolean Read/Write
HPM Boolean Read/Write
UFM Boolean Read/Write
OFM Boolean Read/Write
LPI Boolean Read/Write
HPI Boolean Read/Write
UFI Boolean Read/Write
OFI Boolean Read/Write
UF Boolean Read/Write
OF Boolean Read/Write
MD Boolean Read/Write

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:[Link] Output mask setting for high-speed counter 0.
HSC:[Link] Error detected indicator for high-speed counter 1.

Real-Time Clock File (RTC)


The RTC files are a structured type whose data is accessed by specifying an element and a field. The default
data types are shown in bold.

See Also: ENI DF1/ DH+/ControlNet Gateway Communications Parameters

Syntax Data Type Access


RTC:<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 doc-
umentation.

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 132

Element Field Data Type Access


YR Word, Short Read/Write
MON Word, Short Read/Write
DAY Word, Short Read/Write
HR Word, Short Read/Write
MIN Word, Short Read/Write
SEC Word, Short Read/Write
DOW Word, Short Read/Write
DS Boolean Read Only
BL Boolean Read Only
_SET (for block writes) Boolean Read/Write

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:[Link] Year setting for real-time clock 0.
RTC:[Link] Battery low indicator for real-time clock 0.

Channel 0 Communication Status File (CS0)


To access the communication status file for channel 0, specify a word (and optionally a bit in the word). The
default data types are shown in bold.

See Also: ENI DF1/ DH+/ControlNet Gateway Communications Parameters

Syntax Data Type Access


Short, Word, BCD, DWord, Long,
CS0:<word> Depends on <word> and <bit>
LBCD
CS0:<word>/<bit> Boolean Depends on <word> and <bit>
CS0/bit Boolean Depends on <word> and <bit>

Ranges
PLC Model File Number Max. Element
MicroLogix N/A 254
All SLC N/A N/A
PLC5 N/A N/A

www. [Link]
133 Allen-Bradley ControlLogix Ethernet Driver

Examples
Example Description
CS0:0 Word 0.
CS0:4/2 Bit 2 word 4 = MCP.

For more information on CS0 words/bit meanings, refer to the Rockwell documentation.

Channel 1 Communication Status File (CS1)


To access the communication status file for channel 1, specify a word (and optionally a bit in the word). The
default data types are shown in bold.

See Also: ENI DF1/ DH+/ControlNet Gateway Communications Parameters

Syntax Data Type Access


Short, Word, BCD, DWord, Long,
CS1:<word> Depends on <word> and <bit>
LBCD
CS1:<word>/<bit> Boolean Depends on <word> and <bit>
CS1/bit Boolean Depends on <word> and <bit>

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.

For more information on CS1 words/bit meanings, refer to the Rockwell documentation.

I/O Module Status File (IOS)


To access an I/O module status file, specify a word and optionally a bit. The default data types are shown in
bold.

See Also: ENI DF1/ DH+/ControlNet Gateway Communications Parameters

Syntax Data Type Access


Short, Word, BCD, DWord, Long,
IOS:<word> Depends on <word> and <bit>
LBCD
IOS:<word>/<bit> Boolean Depends on <word> and <bit>
IOS/bit Boolean Depends on <word> and <bit>

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 134

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

For a listing of 1769 expansion I/O status codes, refer to the manufacturer's instruction manual.

www. [Link]
135 Allen-Bradley ControlLogix Ethernet Driver

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.

Encapsulation Error Codes


CIP Error Codes

Encapsulation Error Codes


The following error codes are in hexadecimal.

Error Code Description


0001 Command not handled.
0002 Memory not available for command.
0003 Poorly formed or incomplete data.
0064 Invalid session ID.
0065 Invalid length in header.
0069 Requested protocol version not supported.
0070 Invalid target ID.

CIP Error Codes


The following error codes are in hexadecimal.

Error Code Log Code Description


0001 0x01 Connection Failure*
0002 0x02 Insufficient resources
0003 0x03 Value invalid
IOI could not be deciphered or tag does not exist
0004 0x04 Note: This error may also occur if the address is valid but the
security permissions do not allow client access.”
0005 0x05 Unknown destination
0006 0x06 Data requested would not fit in response packet
0007 0x07 Loss of connection
0008 0x08 Unsupported service
0009 0x09 Error in data segment or invalid attribute value
000A 0x0A Attribute list error
000B 0x0B State already exists
000C 0x0C Object model conflict
000D 0x0D Object already exists
000E 0x0E Attribute not settable
000F 0x0F Permission denied
0010 0x10 Device state conflict
0011 0x11 Reply does not fit

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 136

Error Code Log Code Description


0012 0x12 Fragment primitive
0013 0x13 Insufficient command data / parameters specified to execute service
0014 0x14 Attribute not supported
0015 0x15 Too much data specified
001A 0x1A Bridge request too large
001B 0x1B Bridge response too large
001C 0x1C Attribute list shortage
001D 0x1D Invalid attribute list
001E 0x1E Embedded service error
001F 0x1F Failure during connection**
0022 0x22 Invalid reply received
0025 0x25 Key segment error
0026 0x26 Number of IOI words specified does not match IOI word count
0027 0x27 Unexpected attribute in list

*See Also: 0x0001 Extended Error Codes


**See Also: 0x001F Extended Error Codes

Logix5000-Specific (1756-L1) Error Codes


The following error codes are in hexadecimal.

Error Code Description


00FF General Error*

*See Also: 0x00FF Extended Error Codes


See Also: For unlisted error codes, refer to the Rockwell documentation.

0x0001 Extended Error Codes


The following error codes are in hexadecimal.

Error Code Description


0100 Connection in use
0103 Transport not supported
0106 Ownership conflict
0107 Connection not found
0108 Invalid connection type
0109 Invalid connection size
0110 Module not configured
0111 EPR not supported
0114 Wrong module
0115 Wrong device type

www. [Link]
137 Allen-Bradley ControlLogix Ethernet Driver

Error Code Description


0116 Wrong revision
0118 Invalid configuration format
011A Application out of connections
0203 Connection timeout
0204 Unconnected message timeout
0205 Unconnected send parameter error
0206 Message too large
0301 No buffer memory
0302 Bandwidth not available
0303 No screeners available
0305 Signature match
0311 Port not available
0312 Link address not available
0315 Invalid segment type
0317 Connection not scheduled
0318 Link address to self is invalid

For unlisted error codes, refer to the Rockwell documentation.

0x001F Extended Error Codes


The following error codes are in hexadecimal.

Error Code Description


0203 Connection timed out

For unlisted error codes, refer to the Rockwell documentation.

0x00FF Extended Error Codes


The following error codes are in hexadecimal.

Error Code Description


2104 Address out of range
2105 Attempt to access beyond end of data object
2106 Data in use
2107 Data type is invalid or not supported

For unlisted error codes, refer to the Rockwell documentation.

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 138

Event Log Messages


The following information concerns messages posted to the Event Log pane in the main user interface. Con-
sult the OPC server help on filtering and sorting the Event Log detail view. Server help contains many com-
mon messages, so should also be searched. Generally, the type of message (informational, warning) and
troubleshooting information is provided whenever possible.

The following errors occurred uploading controller project from device.


Resorting to Symbolic Protocol.
Error Type:
Error

Invalid or corrupt controller project detected while synchronizing. Syn-


chronization will be retried shortly.
Error Type:
Error

Possible Cause:
An invalid or corrupt controller project was detected during synchronization.

Possible Solution:
No action is required. The driver attempts synchronization again after 30 seconds.

Note:
Project synchronization is required for the Logical Addressing Modes.

Project download detected while synchronizing. Synchronization will be


retried shortly.
Error Type:
Error

Possible Cause:
A project download was attempted while the device was synchronizing with the controller project.

Possible Solution:
No action is required. The driver attempts synchronization again after 30 seconds.

Note:
Project synchronization is required for the Logical Addressing Modes.

Database error. Data type for reference tag unknown. Setting alias tag
data type to default. | Reference tag = '<tag>', Alias tag = '<tag>', Default
data type = '<type>'.
Error Type:

www. [Link]
139 Allen-Bradley ControlLogix Ethernet Driver

Error

Possible Cause:
The data type of the "Alias For" tag referenced in the alias tag declaration could not found in the tag import
file. This data type is necessary to generate the alias tag correctly.

Possible Solution:
The Alias tag assumes the data type specified as the Default Type.

Note:
In RSLogix5000, there is an "Alias For" column in the tag view under the Edit Tags tab 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. Member data type not found in tag import file. Setting
data type to default. | Member data type = '<type>', UDT = '<type>',
Default data type '<type>'.
Error Type:
Error

Possible Cause:
The definition of the data type for a member in the user-defined type could not be found in the tag import
file. The member takes the default type specified in the Device Properties.

Possible Solution:
Verify or correct the definition of the user-defined data types for the specified tags and retry the import.

See Also:
Logix Options

Database error. Data type not found in tag import file. Tag not added. |
Data type = '<type>', Tag name = '<tag>'.
Error Type:
Error

Possible Cause:
The definition of the data type for the specified tag could not be found in the tag import file. Tag is not
added to the database.

Possible Solution:
Verify or correct the definition of the data types for the specified tags and retry the import.

Database error. Error occurred processing alias tag. Tag not added. | Alias
tag = '<tag>'.
Error Type:

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 140

Error

Possible Cause:
An internal error occurred processing alias tag. Alias tag could not be generated.

Possible Solution:
Verify or correct the definition of the data types for the specified tags and retry the import.

Database error. Encapsulation error occurred during register session


request. | Encapsulation error = <code>.
Error Type:
Error

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.

Possible Solution:
The driver attempts 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

Database error. Framing error occurred during register session request.


Error Type:
Error

Database error. Encapsulation error occurred during fwd. open request. |


Encapsulation error = <code>.
Error Type:
Error

Database error. Framing error occurred during forward open request.


Error Type:
Error

Database error. Error occurred during forward open request. | CIP error =
<code>, Extended error = <code>.
Error Type:
Error

Database error. Encapsulation error occurred while uploading project


information. | Encapsulation error = <code>.
Error Type:

www. [Link]
141 Allen-Bradley ControlLogix Ethernet Driver

Error

Possible Cause:
The device returned an error within the encapsulation portion of the Ethernet/IP packet while uploading the
controller project.

Possible Solution:
The solution depends on the error code returned. If the problem persists, contact Technical Support.

Note:
A project upload is required for the Logical Addressing Modes.

See Also:
Encapsulation Error Codes

Database error. Error occurred while uploading project information. | CIP


error = <code>, Extended error = <code>.
Error Type:
Error

Possible Cause:
The device returned an error within the CIP portion of the Ethernet/IP packet while uploading the controller
project.

Possible Solution:
The solution depends on the error code returned. If the problem persists, contact Technical Support.

Note:
A project upload is required for the Logical Addressing Modes.

See Also:
CIP Error Codes

Database error. Framing error occurred while uploading project inform-


ation.
Error Type:
Error

Possible Cause:
1. The packets are misaligned (due to connection/disconnection between the PC and device).

2. There is bad cabling connecting the device that is causing noise.

Possible Solution:
1. Place the device on a less noisy network.

2. Increase the request timeout and/or attempts.

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 142

3. Restart the server and try again.

Note:
A project upload is required for the Logical Addressing Modes.

Database error. Internal error occurred.


Error Type:
Error

Database error. Encapsulation error occurred while uploading program


information. | Program name = '<name>', Encapsulation error = <code>.
Error Type:
Error

Possible Cause:
The device returned an error within the encapsulation portion of the Ethernet/IP packet while uploading the
controller project.

Possible Solution:
The solution depends on the error code returned. If the problem persists, contact Technical Support.

Note:
A project upload is required for the Logical Addressing Modes.

See Also:
Encapsulation Error Codes

Database error. Error occurred while uploading program information. |


Program name = '<name>', CIP error = <code>, Extended error = <code>.
Error Type:
Error

Possible Cause:
The device returned an error within the CIP portion of the Ethernet/IP packet while uploading the controller
project.

Possible 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

www. [Link]
143 Allen-Bradley ControlLogix Ethernet Driver

Database error. Framing error occurred while uploading program inform-


ation. | Program name = '<name>'.
Error Type:
Error

Possible Cause:
1. The packets are misaligned (due to connection/disconnection between the PC and device).

2. There is bad cabling connecting the device that is causing noise.

Possible Solution:
1. Place the device on a less noisy network.

2. Increase the request timeout and/or attempts.

3. Restart the server and try again.

Note:
A project upload is required for the Logical Addressing Modes.

Database error. Unable to resolve CIP data type for tag. Setting to default
type. | CIP data type = <type>, Tag name = '<tag>', Default data type =
'<type>'.
Error Type:
Error

Possible Cause:
1. The CIP data type in the import file is unknown.

2. The import file may contain an error.

Possible 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

Encapsulation error occurred while uploading project information. | Encap-


sulation error = <code>.
Error Type:
Error

Possible Cause:
The device returned an error within the encapsulation portion of the Ethernet/IP packet while uploading the
controller project.

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 144

Possible Solution:
The solution depends on the error code returned. If the problem persists, contact Technical Support.

Note:
A project upload is required for the Logical Addressing Modes.

See Also:
Encapsulation Error Codes

Error occurred while uploading project information. | CIP error = <code>,


Extended error = <code>.
Error Type:
Error

Possible Cause:
The device returned an error within the CIP portion of the Ethernet/IP packet while uploading the controller
project.

Possible 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

Framing error occurred while uploading project information.


Error Type:
Error

Possible Cause:
1. The packets are misaligned (due to connection/disconnection between the PC and device).

2. There is bad cabling connecting the device that is causing noise.

Possible Solution:
1. Place the device on a less noisy network.

2. Increase the request timeout and/or attempts.

3. Restart the server and try again.

Note:
A project upload is required for the Logical Addressing Modes.

www. [Link]
145 Allen-Bradley ControlLogix Ethernet Driver

Encapsulation error occurred while uploading program information. | Pro-


gram name = '<name>', Encapsulation error = <code>.
Error Type:
Error

Error occurred while uploading program information. | Program name =


'<name>', CIP error = <code>, Extended error = <code>.
Error Type:
Error

Framing error occurred while uploading program information. | Program


name = '<name>'.
Error Type:
Error

Encapsulation error occurred while uploading controller program inform-


ation. Encapsulation error = <code>.
Error Type:
Error

Error occurred while uploading controller program information. CIP error


= <code>, Extended error = <code>.
Error Type:
Error

Framing error occurred while uploading controller program information.


Error Type:
Error

CIP connection timed out while uploading project information.


Error Type:
Error

Possible Cause:
The Inactivity Watchdog is set too low to allow the project to load.

Possible Solution:
Increase the Inactivity Watchdog value and try again.

Database error. CIP connection timed out while uploading project inform-
ation.
Error Type:
Error

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 146

Possible Cause:
The Inactivity Watchdog is set too low to allow the project to load.

Possible Solution:
Increase the Inactivity Watchdog value and try again.

Database error. No more connections available for fwd. open request.


Error Type:
Error

Error opening file for tag database import. | OS error = '<code>'.


Error Type:
Error

Controller not supported. | Vendor ID = <ID>, Product type = <type>,


Product code = <code>, Product name = '<name>'.
Error Type:
Warning

Frame received from device contains errors.


Error Type:
Warning

Possible Cause:
1. The packets are misaligned due to connection and/or disconnection between the PC and device.

2. There is bad cabling connecting the device that is causing noise.

Possible Solution:
1. Place the device on less noisy network.

2. Increase the request timeout and/or attempts.

Write request failed due to a framing error. | Tag address = '<address>'.


Error Type:
Warning

Possible Cause:
1. There is an incorrect request service code.

2. The driver received more or fewer bytes than expected.

3. If this error occurs frequently, there may be an issue with the cabling or device.

www. [Link]
147 Allen-Bradley ControlLogix Ethernet Driver

Possible Solution:
1. Increase the retry attempts to allow the driver to recover from this error.

2. Verify the cabling and device are functioning properly.

Read request for tag failed due to a framing error. | Tag address =
'<address>'.
Error Type:
Warning

Possible Cause:
1. There is an incorrect request service code.

2. The driver received more or fewer bytes than expected.

3. If this error occurs frequently, there may be an issue with the cabling or device.

Possible Solution:
1. Increase the retry attempts to allow the driver to recover from this error.

2. Verify the cabling and device are functioning properly.

Block read request failed due to a framing error. | Block size = <number>
(elements), Block start address = '<address>'.
Error Type:
Warning

Possible Cause:
1. The Ethernet connection between the device and the host PC is broken.

2. The communication parameters for the Ethernet connection are incorrect.

3. The named device may have been assigned an incorrect IP address.

Possible Solution:
1. Verify the cabling between the PC and the device.

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.

Block read request failed due to a framing error. | Block size = <number>
(bytes), Block name = '<name>'.
Error Type:
Warning

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 148

Possible Cause:
1. There is an incorrect request service code.

2. The driver received more or fewer bytes than expected.

3. If this error occurs frequently, there may be an issue with the cabling or device.

Possible Solution:
1. Increase the retry attempts to allow the driver to recover from this error.

2. Verify the cabling and device are functioning properly.

Unable to write to tag. | Tag address = '<address>', CIP error = <code>,


Extended error = <code>.
Error Type:
Warning

Possible Cause:
The device returned an error within the CIP portion of the Ethernet/IP packet during a write request for the
specified tag.

Possible Solution:
The solution depends on the error codes returned.

See Also:
CIP Error Codes

Unable to read tag. | Tag address = '<address>', CIP error = <code>, Exten-
ded error = <code>.
Error Type:
Warning

Possible Cause:
The device returned an error within the CIP portion of the Ethernet/IP packet during a read request for the
specified tag.

Possible Solution:
The solution depends on the error codes returned.

See Also:
CIP Error Codes

Unable to read block. | Block size = <number> (elements), Block start


address = '<address>', CIP error = <code>, Extended error = <code>.
Error Type:

www. [Link]
149 Allen-Bradley ControlLogix Ethernet Driver

Warning

Unable to read block. | Block size = <number> (bytes), Tag name = '<tag>',
CIP error = <code>, Extended error = <code>.
Error Type:
Warning

Unable to write to tag. Controller tag data type unknown. | Tag address =
'<address>', Data type = <type>.
Error Type:
Warning

Possible Cause:
A write request for the specified tag failed because the controller tag data type is not supported.

Possible Solution:
Contact Technical Support so that support may be added for this type.

See Also:
Addressing Atomic Data Types

Unable to read tag. Controller tag data type unknown. Tag deactivated. |
Tag address = '<address>', Data type = <type>.
Error Type:
Warning

Possible Cause:
A read request for the specified tag failed because the controller tag data type is not supported.

Possible Solution:
Contact Technical Support so that support may be added for this type.

See Also:
Addressing Atomic Data Types

Unable to read block. Controller tag data type unknown. Block deac-
tivated. | Block size = <number> (elements), Block start address =
'<address>', Data type = <type>.
Error Type:
Warning

Possible Cause:
A read request for the specified block failed because a controller tag data type within the block is not sup-
ported.

Possible Solution:

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 150

Contact Technical Support so that support may be added for this type.

See Also:
Addressing Atomic Data Types

Unable to write to tag. Data type not supported. | Tag address =


'<address>', Data type = '<type>'.
Error Type:
Warning

Possible Cause:
A write request for the specified tag failed because the client tag data type is not supported.

Possible Solution:
Change the tag data type to one that is supported.

See Also:
Addressing Atomic Data Types

Unable to read tag. Data type not supported. Tag deactivated. | Tag
address = '<address>', Data type = '<type>'.
Error Type:
Warning

Possible Cause:
A read request for the specified tag failed because the controller tag data type is not supported.

Possible Solution:
Contact Technical Support so that support may be added for this type.

See Also:
Addressing Atomic Data Types

Unable to read block. Data type not supported. Block deactivated. | Block
size = <number> (elements), Block start address = '<address>', Data type =
'<type>'.
Error Type:
Warning

Possible Cause:
A read request for the specified block failed because a controller tag data type within the block is not sup-
ported.

Possible Solution:
Contact Technical Support so that support may be added for this type.

www. [Link]
151 Allen-Bradley ControlLogix Ethernet Driver

See Also:
Addressing Atomic Data Types

Unable to write to tag. Data type is illegal for this tag. | Tag address =
'<address>', Data type = '<type>'.
Error Type:
Warning

Possible Cause:
A write request for the specified tag failed because the client tag data type is illegal for the given controller
tag.

Possible Solution:
Change the tag 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 read tag. Data type is illegal for this tag. Tag deactivated | Tag
address = '<address>', Data type = '<type>'.
Error Type:
Warning

Possible Cause:
A read request for the specified tag failed because the client tag data type is illegal for the given controller
tag.

Possible Solution:
Change the tag 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.

See Also:
Addressing Atomic Data Types

Unable to read block. Data type is illegal for this block. Block deactivated.
| Block size = <number> (elements), Block start address = '<address>',
Data type = '<type>'.
Error Type:
Warning

Possible Cause:
A read request for block failed because the client tag data type is illegal for the given controller tag.

Possible Solution:

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 152

Change the data type for tags within this block to supported types. 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 does not support multi-element arrays. | Tag
address = '<address>'.
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.

Possible Solution:
Change the tag data type or address to one that is supported.

See Also:
Addressing Atomic Data Types

Unable to read tag. Tag does not support multi-element arrays. Tag deac-
tivated. | Tag address = '<address>'.
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.

Possible Solution:
Change the tag data type or address to one that is supported. In response to this error, the tag is deac-
tivated and not processed again.

See Also:
Addressing Atomic Data Types

Unable to read block. Block does not support multi-element arrays. Block
deactivated. | Block size = <number> (elements), Block start address =
'<address>'.
Error Type:
Warning

Possible Cause:
A read request for tags in this block failed because the driver does not support multi-element array access
to the given controller tag.

www. [Link]
153 Allen-Bradley ControlLogix Ethernet Driver

Possible Solution:
Change the data type or address for tags within this block to supported types. In response to this error,
<count> elements of the block are deactivated and not processed again.

See Also:
Addressing Atomic Data Types

Unable to write to tag. Native tag size mismatch. | Tag address =


'<address>'.
Error Type:
Warning

Possible Cause:
The Native tag's size (footprint) does not match the expected size that was determined from the project
upload.

Possible Solution:
1. Change the Protocol Mode to Symbolic Mode and try again.

2. Contact Technical Support to report the issue.

Unable to read tag. Native tag size mismatch. | Tag address = '<address>'.
Error Type:
Warning

Possible Cause:
The Native tag's size (footprint) does not match the expected size determined from the project upload.

Possible Solution:
1. Change the Protocol Mode to Symbolic Mode and try again.

2. Contact Technical Support to report the issue.

Unable to read block. Native tag size mismatch. | Block size = <number>
(elements), Block start address = '<address>'.
Error Type:
Warning

Possible Cause:
The block of Native tag's size (footprint) does not match the expected size determined from the project
upload.

Possible Solution:

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 154

1. Change the Protocol Mode to Symbolic Mode and try again.

2. Contact Technical Support to report the issue.

Unable to read block. Native tag size mismatch. | Block size = <number>
(bytes), Block name = '<name>'.
Error Type:
Warning

Possible Cause:
The block of Native tag's size (footprint) does not match the expected size determined from the project
upload.

Possible Solution:
1. Change the Protocol Mode to Symbolic Mode and try again.

2. Contact Technical Support to report the issue.

Unable to write to tag. | Tag address = '<address>'.


Error Type:
Warning

Possible Cause:
1. The Ethernet connection between the device and the host PC is broken.

2. The communication parameters for the Ethernet connection are incorrect.

3. The named device may have been assigned an incorrect IP address.

Possible Solution:
1. Verify the cabling between the PC and the device.

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.

Unable to read tag. Tag deactivated. | Tag address = '<address>'.


Error Type:
Warning

Possible Cause:
1. The Ethernet connection between the device and the host PC is broken.

2. The communication parameters for the Ethernet connection are incorrect.

3. The named device may have been assigned an incorrect IP address.

www. [Link]
155 Allen-Bradley ControlLogix Ethernet Driver

Possible Solution:
1. Verify the cabling between the PC and the device.

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 is deactivated and not processed again.

Unable to read block. Block deactivated. | Block size = <number> (ele-


ments), Block start address = '<address>'.
Error Type:
Warning

Possible Cause:
1. The Ethernet connection between the device and the host PC is broken.

2. The communication parameters for the Ethernet connection are incorrect.

3. The named device may have been assigned an incorrect IP address.

Possible Solution:
1. Verify the cabling between the PC and the device.

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, elements of the block is deactivated and not processed again.

Unable to read block. Block deactivated. | Block size = <number> (bytes),


Tag name = '<tag>'.
Error Type:
Warning

Possible Cause:
1. The Ethernet connection between the device and the host PC is broken.

2. The communication parameters for the Ethernet connection are incorrect.

3. The named device may have been assigned an incorrect IP address.

Possible Solution:

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 156

1. Verify the cabling between the PC and the device.

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, elements of the block is deactivated and not processed again.

Error occurred during a request to device. | CIP error = <code>, Extended


error = <code>.
Error Type:
Warning

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.

Possible Solution:
The solution depends on the error codes returned.

See Also:
CIP Error Codes

Encapsulation error occurred during a request to device. | Encapsulation


error = <code>.
Error Type:
Warning

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.

Possible Solution:
The driver attempts 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

Memory could not be allocated for tag. | Tag address = '<address>'.


Error Type:
Warning

Possible Cause:
Resources needed to build a tag could not be allocated. The tag is not added to the project.

www. [Link]
157 Allen-Bradley ControlLogix Ethernet Driver

Possible Solution:
Close any unused applications and/or increase the amount of virtual memory and try again.

Unable to read block. Frame received contains errors. | Block size = <num-
ber> (elements), Starting address = '<address>'.
Error Type:
Warning

Possible Cause:
1. There is an incorrect request service code.

2. The driver received more or fewer bytes than expected.

Possible Solution:
1. Increase the request attempts to allow the driver to recover from this error.

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

Unable to read function file from device. Frame received contains errors. |
Function file = '<name>'.
Error Type:
Warning

Unable to read block. Tags deactivated. | Block size = <number> (ele-


ments), Starting address = '<address>', DF1 status = <code>, Extended
status = <code>.
Error Type:
Warning

Possible Cause:
The address does not exist in the PLC.

Possible Solution:
Check the status and extended status codes returned by the PLC. Extended status codes may not always be
returned and the error information is contained within the status code. The codes are displayed in hexa-
decimal.

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:

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 158

Allen-Bradley documentation for error code definitions

Unable to read function file from device. Tags deactivated. | Function file
= '<name>', DF1 status = <code>, Extended status = <code>.
Error Type:
Warning

Possible Cause:
The address does not exist in the PLC.

Possible Solution:
Check the status and extended status codes returned by the PLC. Extended status codes may not always be
returned and the error information is contained within the status code. The codes are displayed in hexa-
decimal.

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:
Allen-Bradley documentation for error code definitions

Unable to write to address. Frame received contains errors. | Address =


'<address>'.
Error Type:
Warning

Unable to write to function file. Frame received contains errors. | Func-


tion file = '<name>'.
Error Type:
Warning

Unable to read block. | Block size = <number> (elements), Starting address


= '<address>', DF1 status = <code>, Extended status = <code>.
Error Type:
Warning

Possible Cause:
An address does not exist in the PLC.

Possible Solution:
Check the status and extended status codes returned by the PLC. Extended status codes may not always be
returned and the error information is contained within the status code. The codes are displayed in hexa-
decimal.

www. [Link]
159 Allen-Bradley ControlLogix Ethernet Driver

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:
Allen-Bradley documentation for error code definitions

Unable to read function file. | Function file = '<name>', DF1 status =


<code>, Extended status = <code>.
Error Type:
Warning

Possible Cause:
The address does not exist in the PLC.

Possible Solution:
Check the status and extended status codes returned by the PLC. Extended status codes may not always be
returned and the error information is contained within the status code. The codes are displayed in hexa-
decimal.

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:
Allen-Bradley documentation for error code definitions

Unable to read block. Tags deactivated. | Block size = <number> (ele-


ments), Starting address = '<address>', DF1 status = <code>, Extended
status = <code>.
Error Type:
Warning

Possible Cause:
The address does not exist in the PLC.

Possible Solution:
Check the status and extended status codes returned by the PLC. Extended status codes may not always be
returned and the error information is contained within the status code. The codes are displayed in hexa-
decimal.

Note:

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 160

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:
Allen-Bradley documentation for error code definitions

Unable to read function file. Tags deactivated. | Function file = '<name>',


DF1 status = <code>.
Error Type:
Warning

Possible Cause:
The address does not exist in the PLC.

Possible Solution:
Check the status and extended status codes returned by the PLC. Extended status codes may not always be
returned and the error information is contained within the status code. The codes are displayed in hexa-
decimal.

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:
Allen-Bradley documentation for error code definitions

Unable to write to address. | Address = '<address>', DF1 status = <code>,


Extended status = <code>.
Error Type:
Warning

Possible Cause:
The address does not exist in the PLC.

Possible Solution:
Check the status and extended status codes returned by the PLC. Extended status codes may not always be
returned and the error information is contained within the status code. The codes are displayed in hexa-
decimal.

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.

www. [Link]
161 Allen-Bradley ControlLogix Ethernet Driver

See Also:
Allen-Bradley documentation for error code definitions

Unable to write to function file. | Function file = '<name>', DF1 status =


<code>, Extended status = <code>.
Error Type:
Warning

Possible Cause:
The address does not exist in the PLC.

Possible Solution:
Check the status and extended status codes returned by the PLC. Extended status codes may not always be
returned and the error information is contained within the status code. The codes are displayed in hexa-
decimal.

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:
Allen-Bradley documentation for error code definitions

Unable to read block. | Block size = <number> (elements), Starting address


= '<address>', DF1 status = <code>.
Error Type:
Warning

Possible Cause:
The address does not exist in the PLC.

Possible Solution:
Check the status and extended status codes returned by the PLC. Extended status codes may not always be
returned and the error information is contained within the status code. The codes are displayed in hexa-
decimal.

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:
Allen-Bradley documentation for error code definitions

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 162

Unable to read function file. | Function file = '<name>', DF1 status =


<code>.
Error Type:
Warning

Possible Cause:
The address does not exist in the PLC.

Possible Solution:
Check the status and extended status codes returned by the PLC. Extended status codes may not always be
returned and the error information is contained within the status code. The codes are displayed in hexa-
decimal.

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:
Allen-Bradley documentation for error code definitions

Unable to write to address. | Address = '<address>', DF1 status = <code>.


Error Type:
Warning

Possible Cause:
The address does not exist in the PLC.

Possible Solution:
Check the status and extended status codes returned by the PLC. Extended status codes may not always be
returned and the error information is contained within the status code. The codes are displayed in hexa-
decimal.

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:
Allen-Bradley documentation for error code definitions

Unable to write to function file. | Function file = '<name>', DF1 status =


<code>.
Error Type:
Warning

www. [Link]
163 Allen-Bradley ControlLogix Ethernet Driver

Possible Cause:
The address does not exist in the PLC.

Possible Solution:
Check the status and extended status codes returned by the PLC. Extended status codes may not always be
returned and the error information is contained within the status code. The codes are displayed in hexa-
decimal.

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:
Allen-Bradley documentation for error code definitions

Unable to read tag. Internal memory is invalid. | Tag address =


'<address>'.
Error Type:
Warning

Unable to read tag. Data type is illegal for this tag. | Tag address =
'<address>', Data type = '<type>'.
Error Type:
Warning

Possible Cause:
A read request for the specified tag failed because the client tag data type is illegal for the given controller
tag.

Possible Solution:
Change the tag 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.

See Also:
Addressing Atomic Data Types

Unable to read block. Internal memory is invalid. Tag deactivated. | Tag


address = '<address>'.
Error Type:
Warning

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 164

Unable to read block. Internal memory is invalid. Block deactivated. |


Block size = <number> (elements), Block start address = '<address>'.
Error Type:
Warning

Unable to write to address. Internal memory is invalid. | Tag address =


'<address>'.
Error Type:
Warning

Unable to read block. Block deactivated. | Block size = <number> (ele-


ments), Block start address = '<address>', CIP error = <code>, Extended
error = <code>.
Error Type:
Warning

Possible Cause:
The device returned an error within the CIP portion of the Ethernet/IP packet during a read request for the
specified block.

Possible Solution:
The solution depends on the error codes returned.

See Also:
CIP Error Codes

Device not responding. Local node responded with error. | DF1 status =
<code>.
Error Type:
Warning

Possible Cause:
The PLC did not respond to the request from the local node. A local node could be an intermediate node
like 1756-DHRIO, 1756-CNB, 1761-NET-ENI, and so forth.

Possible Solution:
Refer Allen-Bradley documentation for error code definitions. For example, if STS code '0x02'(hex) is
returned, verify the cabling between the remote node (PLC) and the local node.

See Also:
Allen-Bradley documentation for error code definitions

Unable to write to function file. Local node responded with error. | Func-
tion file = '<name>', DF1 status = <code>.
Error Type:

www. [Link]
165 Allen-Bradley ControlLogix Ethernet Driver

Warning

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.

Possible Solution:
Refer to Allen-Bradley 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.

See Also:
Allen-Bradley documentation for error code definitions

Unable to write to address. Local node responded with error. | Function


file = '<name>', DF1 status = <code>.
Error Type:
Warning

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.

Possible Solution:
Refer to Allen-Bradley 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.

See Also:
Allen-Bradley documentation for error code definitions

Unexpected offset encountered for tag. Tag will use Symbolic protocol. |
Tag address = '<address>'.
Error Type:
Warning

Unexpected offset encountered for tag. | Tag address = '<address>'.


Error Type:
Warning

Unexpected offset/span encountered for tag. | Tag address = '<address>'.


Error Type:
Warning

Project download in progress or no project exists.


Error Type:
Warning

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 166

Project download complete.


Error Type:
Warning

Project online edit detected. Currently using Symbolic addressing.


Error Type:
Warning

Project offline edit detected. Currently using Symbolic addressing.


Error Type:
Warning

The following errors occurred uploading controller project from device.


Resorting to symbolic protocol.
Error Type:
Warning

Unable to retrieve the identity for device. All tags will use Symbolic Pro-
tocol. | Encapsulation error = <code>.
Error Type:
Warning

Possible Cause:
The device returned an error within the encapsulation portion of the Ethernet/IP packet during a request.
Devices set to a Logical Mode revert to Symbolic Mode until the issue is resolved.

Possible Solution:
The driver attempts 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. All tags will use Symbolic Pro-
tocol. | CIP error = <code>, Extended error = <code>.
Error Type:
Warning

Possible Cause:
The device returned an error within the CIP portion of the Ethernet/IP packet during a request. Devices set
to a Logical Mode revert to Symbolic Mode until the issue is resolved.

Possible Solution:
The solution depends on the error code that is returned. If the problem persists, contact Technical Support.

www. [Link]
167 Allen-Bradley ControlLogix Ethernet Driver

See Also:
CIP Error Codes

Unable to retrieve the identity for device. Frame received contains errors.
All tags will use Symbolic Protocol.
Error Type:
Warning

Possible Cause:
1. The packets are misaligned due to connection and/or disconnection between the PC and device.

2. There is bad cabling connecting the devices that is causing noise.

3. The wrong frame size was received.

4. There is a TNS mismatch.

5. An invalid response command was returned from the device.

6. The device is not Ethernet/IP enabled.

Possible 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 an Ethernet-enabled device.

Requested CIP connection size is not supported by this device. Auto-


matically falling back to max. size. | Requested size = <number> (bytes),
Max. size = <number> (bytes).
Error Type:
Warning

Possible Cause:
The requested CIP connection size is not supported by the device.

Possible Solution:
Change the CIP connection size to one that is supported by the device.

See Also:
Logix Communications Parameters

The tag import filename is invalid, file paths are not allowed.
Error Type:
Warning

Possible Cause:

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 168

The tag import filename includes a path.

Possible Solution:
Remove the path from the filename.

Read/Write requests to device stopped. Updating Logical Addresses from


device project.
Error Type:
Warning

Read/Write requests to device resumed. Updating Logical Addresses from


device complete. Currently using Logical addressing.
Error Type:
Warning

Unable to write to tag. Value written contains a syntax error. | Tag


address = '<address>', Expected format = '<format>'.
Error Type:
Warning

Possible Cause:
The string value written does not conform to the expected '<format>'.

Possible Solution:
1. Write a string value that conforms to the expected format without extra characters or embedded
whitespace.

2. For time types, the driver supports the same literal strings supported by Studio 5000 so it can be
used as a reference. For example, not all time parts are required but at least one part is required:
T32#0us is allowed but T32# is not.

Unable to write to tag. Value written is out of range. | Tag address =


'<address>'.
Error Type:
Warning

Possible Cause:
1. The string value written would exceed the minimum or maximum value allowed for the controller
tag's data type.

2. The integer value written exceeds the minimum or maximum value allowed for the controller tag's
data type.

Possible Solution:

www. [Link]
169 Allen-Bradley ControlLogix Ethernet Driver

Write a string or integer value that does not exceed the range of the controller tag's data type. For example,
the maximum TIME integer value is 2725199999999 which correlates to the string literal 'T#31d_12h_59m_
59s_999ms_999us'; 'T#31d_13h' would be out of range.

Database status. Importing non-alias tags.


Error Type:
Informational

Database status. Importing alias tags.


Error Type:
Informational

Database status. Building tag projects, please wait. | Tag project count =
<number>.
Error Type:
Informational

Database error. Tag renamed because it exceeds max. character length. |


Tag name = '<tag>', Max. length = <number>, New tag name = '<tag>'.
Error Type:
Informational

Database error. Array tags renamed because they exceed max. character
length. | Array tags = '<tags>', Max. length = <number>, New array tags =
'<tags>'.
Error Type:
Informational

Database error. Program group name exceeds max. character length. Pro-
gram group renamed. | Group name = '<name>', Max. length = <number>,
New group name = '<name>'.
Error Type:
Informational

Database status. Retrieving controller project.


Error Type:
Informational

Database status. | Program count = <number>, Data type count = <num-


ber>, Imported tag count = <number>.
Error Type:
Informational

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 170

Database status. Generating OPC tags.


Error Type:
Informational

Low memory resources.


Error Type:
Informational

Unknown error occurred.


Error Type:
Informational

Database status. Importing tags from .L5X file. | Schema revision =


'<value>', Software revision = '<value>'.
Error Type:
Informational

Details. | IP = '<address>', Vendor ID = <vendor>, Product type = <type>,


Product code = <code>, Revision= <value>, Product name = '<name>',
Product S/N = <number>.
Error Type:
Informational

Elapsed time = <number> (seconds).


Error Type:
Informational

Symbolic device reads = <number>.


Error Type:
Informational

Symbolic, array block device reads = <number>.


Error Type:
Informational

Symbolic, array block cache reads = <number>.


Error Type:
Informational

Symbol instance non-block device reads = <number>.


Error Type:
Informational

www. [Link]
171 Allen-Bradley ControlLogix Ethernet Driver

Symbol instance non-block, array block device reads = <number>.


Error Type:
Informational

Symbol instance non-block, array block cache reads = <number>.


Error Type:
Informational

Symbol instance block device reads = <number>.


Error Type:
Informational

Symbol instance block cache reads = <number>.


Error Type:
Informational

Physical non-block device reads = <number>.


Error Type:
Informational

Physical non-block, array block device reads = <number>.


Error Type:
Informational

Physical non-block, array block cache reads = <number>.


Error Type:
Informational

Physical block device reads = <number>.


Error Type:
Informational

Physical block cache reads = <number>.


Error Type:
Informational

Tags read = <number>.


Error Type:
Informational

Packets sent = <number>.


Error Type:

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 172

Informational

Packets received = <number>.


Error Type:
Informational

Initialization transactions = <number>.


Error Type:
Informational

Read/Write transactions = <number>.


Error Type:
Informational

Avg. packets sent/sec = <number>.


Error Type:
Informational

Avg. packets received/sec = <number>.


Error Type:
Informational

Avg. tag reads/sec = <number>.


Error Type:
Informational

Avg. tags/transaction = <number>.


Error Type:
Informational

-----------------------------------------------------------------------------------------------------
Error Type:
Informational

%s | DEVICE STATISTICS
Error Type:
Informational

Avg. device turn-around time = <number> (milliseconds)


Error Type:
Informational

www. [Link]
173 Allen-Bradley ControlLogix Ethernet Driver

%s | CHANNEL STATISTICS
Error Type:
Informational

DRIVER STATISTICS
Error Type:
Informational

Device tag import aborted.


Error Type:
Informational

Import file '%s' not found at path '%s'.


Error Type:
Informational

Errors occurred retrieving controller project.


Error Type:
Informational

Internal driver error occurred.


Error Type:
Informational

Invalid or corrupt controller project detected while synchronizing. Try


again later.
Error Type:
Informational

Project download detected while synchronizing. Try again later.


Error Type:
Informational

Low memory resources.


Error Type:
Informational

L5K file is invalid or corrupt.


Error Type:
Informational

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 174

Unknown error occurred.


Error Type:
Informational

Database error. PLC5/SLC/MicroLogix devices do not support this function.

Error Type:
Informational

L5X file is invalid or corrupt.


Error Type:
Informational

Import file '<empty>' not found at path '<empty>'.


Error Type:
Informational

Import file '%s' not found at path '<empty>'.


Error Type:
Informational

Import file '<empty>' not found at path '%s'.


Error Type:
Informational

XML element failed post-schema validation. Importing tags from device is


not supported for model. Use alternative element. | XML element = '
{<namespace>}<element>', Unsupported model = '<model>', Alternative
XML element = '{<namespace>}<element>'.
Error Type:
Security

Value not supported for an XML element on this model. Automatically set-
ting to new value. | Value = '<value>', XML element = '{<namespace>}<ele-
ment>', Model = '<model>', New value = '<value>'.
Error Type:
Security

www. [Link]
175 Allen-Bradley ControlLogix Ethernet Driver

Appendices
Select a link from the list below for more information on a specific topic.

Channel Properties
Device Properties
Tag Properties

Logix Setup
1761-NET-ENI Setup
Data Highway Plus Gateway Setup
Communications Routing
Serial Gateway Setup
Data Highway Plus Gateway
ControlNet Gateway
EtherNet/IP Gateway Setup
MicroLogix 1100 Setup
Choosing a Protocol Mode
Detecting a Change in the Controller Project
SoftLogix 5800 Connection Notes
Glossary

Allen-Bradley ControlLogix Ethernet Channel Properties


Below is a list of Allen-Bradley ControlLogix Ethernet channel-level properties.
{
"common.ALLTYPES_NAME": "MyChannel",
"common.ALLTYPES_DESCRIPTION": "",
"servermain.MULTIPLE_TYPES_DEVICE_DRIVER": "Allen-Bradley ControlLogix Ethernet",
"servermain.CHANNEL_DIAGNOSTICS_CAPTURE": false,
"servermain.CHANNEL_UNIQUE_ID": 4126021724,
"servermain.CHANNEL_ETHERNET_COMMUNICATIONS_NETWORK_ADAPTER_STRING": "",
"servermain.CHANNEL_WRITE_OPTIMIZATIONS_METHOD": 2,
"servermain.CHANNEL_WRITE_OPTIMIZATIONS_DUTY_CYCLE": 10,
"servermain.CHANNEL_NON_NORMALIZED_FLOATING_POINT_HANDLING": 0,
}

Allen-Bradley ControlLogix Ethernet Device Properties


Below is a list of Allen-Bradley ControlLogix Ethernet device-level properties.
{
"common.ALLTYPES_NAME": "MyDevice",
"common.ALLTYPES_DESCRIPTION": "",
"servermain.MULTIPLE_TYPES_DEVICE_DRIVER": "Allen-Bradley ControlLogix Ethernet",
"servermain.DEVICE_MODEL": 0,
"servermain.DEVICE_UNIQUE_ID": 1286734974,
"servermain.DEVICE_CHANNEL_ASSIGNMENT": "Channel1",
"servermain.DEVICE_ID_FORMAT": 0,
"servermain.DEVICE_ID_STRING": "<[Link]>,1,0",
"servermain.DEVICE_ID_HEXADECIMAL": 0,
"servermain.DEVICE_ID_DECIMAL": 0,
"servermain.DEVICE_ID_OCTAL": 0,

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 176

"servermain.DEVICE_DATA_COLLECTION": true,
"servermain.DEVICE_SIMULATED": false,
"servermain.DEVICE_SCAN_MODE": 0,
"servermain.DEVICE_SCAN_MODE_RATE_MS": 1000,
"servermain.DEVICE_SCAN_MODE_PROVIDE_INITIAL_UPDATES_FROM_CACHE": false,
"servermain.DEVICE_CONNECTION_TIMEOUT_SECONDS": 3,
"servermain.DEVICE_REQUEST_TIMEOUT_MILLISECONDS": 1000,
"servermain.DEVICE_RETRY_ATTEMPTS": 3,
"servermain.DEVICE_INTER_REQUEST_DELAY_MILLISECONDS": 0,
"servermain.DEVICE_AUTO_DEMOTION_ENABLE_ON_COMMUNICATIONS_FAILURES": false,
"servermain.DEVICE_AUTO_DEMOTION_DEMOTE_AFTER_SUCCESSIVE_TIMEOUTS": 3,
"servermain.DEVICE_AUTO_DEMOTION_PERIOD_MS": 10000,
"servermain.DEVICE_AUTO_DEMOTION_DISCARD_WRITES": false,
"servermain.DEVICE_TAG_GENERATION_ON_STARTUP": 0,
"servermain.DEVICE_TAG_GENERATION_DUPLICATE_HANDLING": 0,
"servermain.DEVICE_TAG_GENERATION_GROUP": "",
"servermain.DEVICE_TAG_GENERATION_ALLOW_SUB_GROUPS": true,
"controllogix_ethernet.DEVICE_PORT_NUMBER": 44818,
"controllogix_ethernet.DEVICE_CONNECTION_SIZE_BYTES": 500,
"controllogix_ethernet.DEVICE_INACTIVITY_WATCHDOG_SECONDS": 32,
"controllogix_ethernet.DEVICE_ARRAY_BLOCK_SIZE_ELEMENTS": 120,
"controllogix_ethernet.DEVICE_PROTOCOL_MODE": 1,
"controllogix_ethernet.DEVICE_ONLINE_EDITS": true,
"controllogix_ethernet.DEVICE_OFFLINE_EDITS": true,
"controllogix_ethernet.DEVICE_AUTOMATICALLY_READ_STRING_LENGTH": true,
"controllogix_ethernet.DEVICE_DEFAULT_DATA_TYPE": -1,
"controllogix_ethernet.DEVICE_ENABLE_PERFORMANCE_STATISTICS": false,
"controllogix_ethernet.DEVICE_DATABASE_IMPORT_METHOD": 1,
"controllogix_ethernet.DEVICE_TAG_IMPORT_FILE": "Veracode2.L5X",
"controllogix_ethernet.DEVICE_DISPLAY_DESCRIPTIONS": true,
"controllogix_ethernet.DEVICE_LIMIT_TAG_NAMES": false,
"controllogix_ethernet.DEVICE_TAG_HIERARCHY": 1,
"controllogix_ethernet.DEVICE_IMPOSE_ARRAY_ELEMENT_COUNT_LIMIT": false,
"controllogix_ethernet.DEVICE_ARRAY_ELEMENT_COUNT_LIMIT": 2000,
"controllogix_ethernet.DEVICE_CL_ENET_PORT_NUMBER": 44818,
"controllogix_ethernet.DEVICE_REQUEST_SIZE": 232,
"controllogix_ethernet.DEVICE_PERFORM_BLOCK_WRITES": false,
"controllogix_ethernet.DEVICE_SLOT_CONFIGURATION": {
"controllogix_ethernet.DEVICE_SLOT_CONFIGURATION_MODULE": [
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,

www. [Link]
177 Allen-Bradley ControlLogix Ethernet Driver

255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255
],
"controllogix_ethernet.DEVICE_SLOT_CONFIGURATION_INPUT_WORDS": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"controllogix_ethernet.DEVICE_SLOT_CONFIGURATION_OUTPUT_WORDS": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 178

0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
]
}
}

Allen-Bradley ControlLogix Ethernet Tag Properties


Below is a list of Allen-Bradley ControlLogix Ethernet tag properties.
{
"common.ALLTYPES_NAME": "MyTag1",
"common.ALLTYPES_DESCRIPTION": "",
"servermain.TAG_ADDRESS": "MyTag1",
"servermain.TAG_DATA_TYPE": 6,
"servermain.TAG_READ_WRITE_ACCESS": 1,
"servermain.TAG_SCAN_RATE_MILLISECONDS": 100,
"servermain.TAG_AUTOGENERATED": true,
"servermain.TAG_SCALING_TYPE": 0,
"servermain.TAG_SCALING_RAW_LOW": 0,
"servermain.TAG_SCALING_RAW_HIGH": 1000,
"servermain.TAG_SCALING_SCALED_DATA_TYPE": 9,
"servermain.TAG_SCALING_SCALED_LOW": 0,
"servermain.TAG_SCALING_SCALED_HIGH": 1000,
"servermain.TAG_SCALING_CLAMP_LOW": false,
"servermain.TAG_SCALING_CLAMP_HIGH": false,
"servermain.TAG_SCALING_NEGATE_VALUE": false,
"servermain.TAG_SCALING_UNITS": ""
}

www. [Link]
179 Allen-Bradley ControlLogix Ethernet Driver

Logix Device IDs


For information on ENI device ID setup, refer to 1761-NET-ENI Setup.

ControlLogix 5500 Ethernet


The device ID specifies the device IP address, as well as the slot number in which the controller CPU resides.
Device IDs are specified as the following:

<IP or hostname>,1,[<optional routing path>],<CPU Slot>

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
Multiple
Optional Specifies a way out of the EtherNet/IP interface mod-
Link, port Decimal *
Routing Path ule and must equal 1 (port to the backplane).
pairs
CPU Slot Link Address Slot number of the ControlLogix processor. Decimal 0-255

*For more information, refer to Connection Path Specification.

Example
[Link],1,0

This equates to an Ethernet/IP of [Link]. The port ID is 1 and the CPU resides in slot 0.

CompactLogix 5300 Ethernet Device ID


The device ID specifies the device IP address, as well as the slot number in which the controller CPU resides.
Device IDs are specified as the following:

<IP or hostname>,1,[<optional routing path>],<CPU Slot>

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).
CPU Slot Link Address Slot number of the CompactLogix processor. Decimal 0-255

*For more information, refer to Connection Path Specification.

Example
[Link],1,0

This equates to CompactLogix IP of [Link]. The port ID is 1 and the CPU resides in slot 0.

FlexLogix 5400 Ethernet Device ID

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 180

The device ID specifies the device IP address, as well as the slot number in which the controller CPU resides.
Device IDs are specified as the following:

<IP or hostname>,1,[<optional routing path>],<CPU Slot>

Designator
Designator Description Formats Range
Type*
IP/Host
N/A 1788-ENBT IP Address or host name. Decimal 0-255
Name
1 Port ID Port to backplane. Decimal 1
Multiple
Optional Specifies a way out of the 1788-ENBT interface module
Link, port Decimal *
Routing Path and must equal 1 (port to the backplane).
pairs
CPU Slot Link Address Slot number of the FlexLogix processor. Decimal 0-255

*For more information, refer to Connection Path Specification.

Example
[Link],1,0

This equates to 1788-ENBT IP of [Link]. The port ID is 1 and the CPU resides in slot 0.

SoftLogix 5800 Device ID


The device ID specifies the SoftLogix PC IP address, as well as the virtual slot number in which the controller
CPU resides. Device IDs are specified as the following:

<IP or hostname>,1,[<optional routing path>],<CPU Slot>

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
Multiple
Optional Specifies a way out of the EtherNet/IP Messaging mod-
Link, port Decimal *
Routing Path ule and must equal 1 (port to the virtual backplane).
pairs
Slot number of the SoftLogix processor in the virtual
CPU Slot Link Address Decimal 0-255
backplane.

*For more information, refer to Connection Path Specification.

Example
[Link],1,1

This equates to SoftLogix PC IP Address of [Link]. The port ID is 1 and the CPU resides in slot 1.

For information on supplementing a device ID with a routing path to a remote backplane, refer to Com-
munications Routing.

www. [Link]
181 Allen-Bradley ControlLogix Ethernet Driver

See Also: SoftLogix 5800 Connection Notes

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.

ControlLogix, CompactLogix or FlexLogix PLC utilizing the CH0 RS232 channel.


1761-NET-ENI Device Series B and newer.

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.

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>

Designator Designator Type Description Formats Range


IP Address N/A 1761-NET-ENI IP address Decimal 0-255

Example
[Link]

This equates to an ENI IP of [Link]. Since the device only supports Full Duplex DF1, a node ID is
not required.

For more information on communications parameters, refer to Logix Communications Parameters.

Data Highway Plus Gateway Setup


DH+ Gateway provides a means of communicating with SLC 500 and PLC-5 series PLC on DH+ with the
Allen-Bradley ControlLogix Ethernet Driver.

Requirements
EtherNet/IP Interface module.
1756-DHRIO Interface Module with appropriate channel configured for DH+.
SLC500 or PLC-5 series PLC on DH+ network.

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 182

Note: DH+ Gateway models do not support automatic tag database generation.

DH+ Gateway Device ID


The device ID specifies the device IP address as well as the DH+ parameters necessary for making a con-
nection. Device IDs are specified as the following:

<IP or hostname>,1,[<optional routing path>],<DHRIO Slot>.<DHRIO Channel>.<DH+ Node ID (dec)>

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
Multiple
Optional Specifies a way out of the EtherNet/IP interface mod-
Link, port Decimal *
Routing Path ule and must equal 1 (port to the backplane)
pairs
DHRIO Slot Link Address Slot number of the 1756-DHRIO interface module Decimal 0-255
DHRIO Chan- A and
DH+ channel to use Alpha
nel B
DH+ Node
DH+ node ID of target PLC in Decimal Format** Decimal 0-99
ID

*For more information, refer to Connection Path Specification.


**For more information, refer to "Node ID Octal Addressing" below.

Example
[Link],1,2.A.3

This equates to an Ethernet/IP of [Link]. The DH+ card resides in slot 2: use DH+ channel A and
addressing target DH+ Node ID 3 (dec).

Node ID Octal Addressing


The DH+ node ID is specified in Octal format in the PLC and requires a conversion to Decimal format for use
in the DH+ Gateway device ID. The node ID can be located in RSWho within RSLinx. It is displayed in Octal
format.

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.

For information on supplementing a device ID with a routing path to a remote DH+ node, refer to Com-
munications Routing.
For more information on communications parameters, refer to ENI DF1/DH+/ControlNet Gateway Com-
munications Parameters.

www. [Link]
183 Allen-Bradley ControlLogix Ethernet Driver

ControlNet™ Gateway Setup


ControlNet Gateway provides a means of communicating with PLC-5C series PLCs on ControlNet with the
Allen-Bradley ControlLogix Ethernet Driver.

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.

ControlNet Gateway Device ID


The device ID specifies the device IP address in addition to the ControlNet parameters necessary for making
a connection. Device IDs are specified as the following:

<IP or hostname>,1,[<optional routing path>],<CNB Slot>.<CNB Channel>.<ControlNet Node ID (dec)>

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
Multiple
Optional Specifies a way out of the EtherNet/IP communication
Link, port Decimal *
Routing Path module and must equal 1 (port to the backplane)
pairs
CNB Slot Link Address Slot Number of the 1756-CNB/CNBR interface module Decimal 0-255
CNB Chan- A and
Port ID The ControlNet channel to use Alpha
nel B
ControlNet
Link Address ControlNet node ID of target PLC in decimal format** Decimal 0-99
Node ID

*For more information, refer to Connection Path Specification.


**For more information, refer to "Node ID Octal Addressing" below.

Example
[Link],1,2.A.3

This equates to an Ethernet/IP of [Link]. The ControlNet card resides in slot 2: use ControlNet
channel A and addressing target ControlNet Node ID 3.

Node ID Octal Addressing


The ControlNet node ID is specified in Octal format in the PLC and requires a conversion to Decimal format
for use in the ControlNet Gateway device ID. The node ID can be located in RSWho within RSLinx. It is dis-
played in Octal format.

Example
CN node 10 (octal) in RSWho = CN node 8 (decimal) in ControlNet Gateway device ID.

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 184

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

For more information on supplementing a device ID with a routing path to remote ControlNet node, refer to
Communications Routing.
For more information on communications parameters, refer to ENI DF1/DH+/ControlNet Gateway Com-
munications Parameters.

EtherNet/IP Gateway Setup


EtherNet/IP Gateway provides a means of communicating with MicroLogix, SLC 500, and PLC-5 series PLC
on EtherNet/IP with the 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/IP connectivity.

Note : EthernetIP Gateway models do not support automatic tag database generation.

EtherNet/IP Gateway Device ID


The device ID specifies the local device IP address as well as the remote EtherNet/IP address necessary for
making a connection. Device IDs are specified as the following:

<IP or hostname>,1,[<optional routing path>],<ENBT Slot>.<ENBT Channel>.<Remote IP>

Designator
Designator Description Formats Range
Type*
IP Address or host name of the local EtherNet/IP
IP/Host Name N/A Decimal 0-255
interface module
1 Port ID Port to backplane Decimal 1
Optional Rout- Multiple Link, Specifies a way out of the EtherNet/IP interface mod-
Decimal *
ing Path port pairs ule and must equal 1 (port to the backplane)
The slot number of the second EtherNet/IP interface
ENBT Slot Link Address Decimal 0-255
module
A and
ENBT Channel Port ID The Ethernet/IP port to use Alpha
B
Remote
Link Address The remote IP address of the target PLC Decimal 0-255
IP Address

*For more information, refer to Connection Path Specification.

Example
[Link],1,2.A.[Link]

This equates to a local IP of [Link]. The second Ethernet/IP card resides in slot 2: use port A and
addressing target device with IP [Link].

www. [Link]
185 Allen-Bradley ControlLogix Ethernet Driver

Note: When configuring the device ID, verify that the device can be detected using the same route
through RSLinx.

For information on supplementing a device ID with a routing path to a remote Ethernet/IP device, refer to Com-
munications Routing.
For more information on communications parameters, refer to ENI DF1/DH+/ControlNet Gateway Com-
munications Parameters.

Serial Gateway Setup


Serial Gateway provides a means of communicating with ControlLogix, CompactLogix, FlexLogix, and SoftLo-
gix PLCs on a serial network with the Allen-Bradley ControlLogix Ethernet Driver.

Requirements
EtherNet/IP Interface module.
Local CPU with a serial port.
Remote ControlLogix, CompactLogix, FlexLogix, or SoftLogix CPU with a serial port.

Notes:

1. Local and Remote CPUs must be on the same serial network.

2. Serial Gateway models do not support automatic tag database generation.

Serial Gateway Device ID


The device ID specifies the local device IP address as well as the remote device station ID necessary for mak-
ing a connection. Device IDs are specified as the following:

<IP or hostname>,1,[<Optional Routing Path>],<CPU Slot>.<Serial Port Channel>.<Station ID (dec)>

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
Multiple
Optional Specifies a way out of the EtherNet/IP interface mod-
Link, port Decimal *
Routing Path ule and must equal 1 (port to the backplane)
pairs
Slot number of the CPU module that contains the
CPU Slot Link Address Decimal 0-255
serial port used for communications
Serial Port A and
Serial port channel to use Alpha
Channel B
Station ID DF1 station ID of target PLC in Decimal Format** Decimal 0-255

*For more information, refer to Connection Path Specification.

Example
[Link],1,0.A.3

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 186

This equates to an Ethernet/IP of [Link]. 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.

2. For more information on communications parameters, refer to Logix Communications Para-


meters.

3. When configuring the Device ID, users should verify that the device can be detected using the same
route through RSLinx.

MicroLogix 1100 Setup


MicroLogix 1100 Device ID
The Device ID specifies the IP address of the MicroLogix 1100. Device IDs are specified as the following:

<IP or hostname>

Designator Designator Type Description Formats Range


IP/Host Name N/A IP Address or host name Decimal 0-255

Example
[Link]

This equates to an IP of [Link].

For more information on communications parameters, refer to ENI DF1/DH+/ControlNet Gateway Com-
munications Parameters.

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 loc-
ated on this backplane. Supported modules include the following:

l ControlLogix 5500 processor for ControlLogix applications.


l SoftLogix 5800 processor for SoftLogix applications.
l 1756-DHRIO interface module for DH+ Gateway applications.
l 1756-CNB or 1756-CNBR interface module for ControlNet Gateway applications.

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 net-
works as its medium:

l ControlNet
l DH+
l TCP/IP (Ethernet/IP)

Important: Routing is not supported for ENI and MicroLogix 1100 models.

www. [Link]
187 Allen-Bradley ControlLogix Ethernet Driver

Connection Path Specification


The routing path is specified in the device ID. As with non-routing applications, communication originates
from the Allen-Bradley ControlLogix Ethernet Driver on the PC and is directed at the local Ethernet module.
Once at this local Ethernet module, the device ID specifies a way out of the module and onto the backplane,
just like with non-routing applications. The routing path directs the message to the desired Logix backplane.
The device ID also determines what device is communicated with (such as the ControlLogix processor,
SoftLogix processor, DH+ node, or ControlNet node).

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 Mes-
sage Configuration dialog.

Designator
Description Formats Range
Type
0-
Port ID Specifies a way out of the interface module in question.* Decimal
65535
If the corresponding port is the backplane, the link address is the slot
number of the interface module that goes out.

If the corresponding port is an interface module port, the link


Link Address Decimal 0-255
address specifies a destination node as follows.
- DH+/ControlNet: node ID
- EtherNet/IP communication module: IP address
- SoftLogix EtherNet/IP module: IP address

*For more information, refer to "Port Reference" below.

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 Mod- Virtual Back-
Ethernet Network N/A
ule plane
1756-DHRIO Backplane DH+ Network on Ch. DH+ Network on Ch.

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 188

Interface Module Port 1 Port 2 Port 3


A B
1756-CNB Backplane ControlNet Network N/A

Application Notes
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 sup-
ported since each hop requires a ControlLogix backplane. An example would be to route a DH+ mes-
sage 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 per-
spective of the device ID/routing path is from the local 1756-ENBT Module. Hop descriptions are in the fol-
lowing form:

Link Address (N), Port ID(N+1), Link Address(N+1), Port ID(N+2)

For more information, refer to Connection Path Specification. For further details on building a con-
nection/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

For more information, refer to Data Highway Plus Gateway Setup and ControlNet Gateway Setup.

www. [Link]
189 Allen-Bradley ControlLogix Ethernet Driver

Example 1
Logix5550 to PLC-5 via DH+ Gateway.

Destination Node Model Routing Device ID less IP


PLC-5/20 (D) DH+ Gateway No 1,1.B.9

Example 2
Logix5550 to PLC-5C via CN Gateway.

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 190

Destination Node Model Routing Device ID less IP


PLC-5/40C (B) CN Gateway No 1,2.A.1

Example 3
Logix5550 to Logix5550 via routing over DH+.

Destination Node Model Routing Device ID less IP


Logix5550 (C) ControlLogix 5550 Yes 1,[1,2,8,1],0

Routing Path Breakdown for Example 3.

Hop Segment Description


1 1,2,8,1 Slot 1 (DHRIO) -> Port 2 (DH+ Ch A) -> DH+ Node 8 -> Logix C backplane

Example 4
Logix5550 to PLC-5C via CN Gateway, routing over DH+.

Destination Node Model Routing Device ID less IP


PLC-5/80C (E) CN Gateway Yes 1,[1,2,8,1],2.A.3

Routing Path Breakdown for Example 4.

Hop Segment Description


1 1,2,8,1 Slot 1 (DHRIO) -> Port 2 (DH+ Ch A) -> DH+ Node 8 -> Logix C backplane

Example 5
Logix5550 to Logix5550 via routing over DH+, ControlNet

Destination Node Model Routing Device ID less IP


Logix5550 (F) ControlLogix 5550 Yes 1,[1,2,8,1,2,2,15,1],0

Routing Path Breakdown for Example 5.

Hop Segment Description


1 1,2,8,1 Slot 1 (DHRIO) -> Port 2 (DH+ Ch A) -> DH+ Node 8 -> Logix C backplane
2 2,2,15,1 Slot 2 (CNB) -> Port 2 (CN Ch A) -> CN Node 15 -> Logix F backplane

Example 6
Logix5550 to SLC 5/04 via routing over DH+, ControlNet.

Destination Node Model Routing Device ID less IP


SLC 5/04 (G) DH+ Gateway Yes 1,[1,2,8,1,2,2,15,1],1.A.2

Routing Path Breakdown for Example 6.

www. [Link]
191 Allen-Bradley ControlLogix Ethernet Driver

Hop Segment Description


1 1,2,8,1 Slot 1 (DHRIO) -> Port 2 (DH+ Ch A) -> DH+ Node 8 -> Logix C backplane
2 2,2,15,1 Slot 2 (CNB) -> Port 2 (CN Ch A) -> CN Node 15 -> Logix F backplane

Example 7
Logix5550 to Logix5550 via routing over DH+, ControlNet, Ethernet.

Destination Node Model Routing Device ID less IP


Logix5550 (H) ControlLogix 5550 Yes 1,[1,2,8,1,2,2,15,1,3,2,[Link],1],0

Routing Path Breakdown for Example 7.

Hop Segment Description


1 1,2,8,1 Slot 1 (DHRIO) -> Port 2 (DH+ Ch A) -> DH+ Node 8 -> Logix C backplane
2 2,2,15,1 Slot 2 (CNB) -> Port 2 (CN Ch A) -> CN Node 15 -> Logix F backplane
3 3,2,[Link],1 Slot 3 (ENBT) -> Port 2 -> Remote1756-ENBT IP -> Logix H backplane

Choosing a Protocol Mode


Symbolic Mode
Symbolic Mode represents each client / server tag address in the packet by its ASCII character name.

Benefits Detriments
1. All the information needed to make a data
request lies in the client / server tag's address. 1. High device turnaround time when pro-
cessing the symbolic addresses.
2. Only the data that is being accessed in the cli-
ent / server tags are requested from the PLC. 2. Less requests per multi-request packet
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 property 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 auto-
matically determined by the driver and is based on the controller revision. The table below summarizes the
modes and the protocols to which they map.

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 192

Protocol Mode Read Protocol Used Write Protocol Used


FRN V21 and Higher FRN V20 and Lower All FRN
Symbolic Symbolic (Non-Blocking) Symbolic (Non-Blocking) Symbolic
Logical Non-Blocking Symbol Instance Non-Blocking Physical Non-Blocking* Symbol Instance
Logical Blocking Symbol Instance Blocking Physical Blocking* Symbol Instance
*Deprecated in V21.

The information necessary to perform Logical reads is retrieved in a controller project upload sequence per-
formed automatically by the driver. For the sake of brevity, the term "Logical Address" represents the Sym-
bol 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.

Logical Non-Blocking Mode


Logical Non-Blocking Mode requests all client / server tags individually and at a fixed size.

Benefits Detriments
1. Contains the maximum request per multi-request
packet because each request is a fixed size.

2. Low device turnaround time because the client /


Initialization overhead when uploading the
server tags are specified in the packet with the
project to determine the logical addresses.
logical address.

3. Only the data that is being accessed in the client /


server tags are requested from the PLC.
Note: This mode is preferred when the minority of Structure tag members are referenced by a client /
server.

Logical Blocking Mode


Logical Blocking retrieves all data for a Logix tag in a single request that may be initiated by only one client /
server tag. When the data block is received, it is placed in a cache in the driver and then time stamped. Suc-
cessive client / server tags that belong to the given Logix tag then get their data from this cache. When all
tags are updated, a new request is initiated provided that the cache is not old. The cache is old when the cur-
rent 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 read.

2. Low device turnaround time 1. Initialization overhead when uploading the project to
because the client / server tags determine the logical addresses.
are specified in the packet with 2. If the minority of Logix tags are referenced, it is slower
the logical address. than Logical Non-Blocking Mode (because more data is
3. Contains the maximum being accessed from the PLC than referenced in the cli-
request per multi-request ent / server tags).
packet because each request is
a fixed size.

www. [Link]
193 Allen-Bradley ControlLogix Ethernet Driver

Note: This mode is preferred when the majority of Structure tag members are referenced by a client /
server.

See Also: Performance Statistics and Tuning

Symbol Instance vs. Physical Protocol


Symbol Instance reads are CIP requests wherein the CIP Instance ID is used to specify a Native Tag in a read
request. In Non-Blocking Mode, the CIP Member ID may be required to fully qualify the path to structure
members and array elements. For example, the CIP Instance ID would represent the structure whereas the
CIP Member ID represents the member within the structure. Because of the addition of CIP Member IDs
required to fully qualify a client / server tag, requests can vary in size. The deeper nesting of structures
means more CIP Member IDs are required to specify a tag and fewer requests fit into a single packet. Sym-
bol Instance reads were introduced in FRN V21.

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 off-
set 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.

Detecting a Change in the Controller Project


The Allen-Bradley ControlLogix Ethernet Driver monitors for project changes and can detect downloads in
progress, online edits, and offline edits. When the protocol is set to Logical, users have the option to syn-
chronize the driver's project image with that of the controller project. Synchronization ensures that the
driver uses the current logical address for each Native Tag when performing reads and writes.

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 group, locate either Synchronize After Online Edits
or Synchronize After Offline Edits and select Yes.
l Synchronize After 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 pro-
ject-change procedure depending on its mode. To enable this synchronization, right-click on the
device and select Properties.... In Logix Optionsgroup, locate Synchronize After Online Edits and
select Yes.
l Synchronize After 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 pro-
ject-change procedure depending on its mode. To enable this synchronization, right-click on the
device and select Properties.... In Logix Options group, locate Synchronize After Offline Edits and
select Yes.

Project Change Procedure (Symbolic Mode)


1. A project change is detected.

2. A message is posted to the Event Log indicating that a change is detected.

3. During project change, the scenario for downloads is as follows:

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 194

l All reads and writes in progress halt and fail.

l The controller is polled every 2 seconds to monitor for project change completion.

l The project change is no longer detected.

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 response data is ignored.

l All reads and writes in progress are retried.

5. The reads and writes resume using Symbolic Mode.

Project Change Procedure (Logical Modes)


1. A project change is detected.

2. A message is posted to the Event Log indicating that a change is detected.

3. During project change, the scenario for downloads is as follows:

l All reads and writes in progress halt and fail.

l The controller is polled every 2 seconds to monitor for project change completion.

l The project change is no longer detected.

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 The response data is ignored.

l All reads and writes in progress are retried.

5. The reads and writes resume using Symbolic Mode.

6. If the Synchronize with Controller options are enabled:

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.

SoftLogix 5800 Connection Notes


For proper operation, no Ethernet-based drivers (such as Ethernet devices, remote devices via Gateway, and
so forth) should be installed in RSLinx on the SoftLogix PC. With one or more Ethernet-based drivers
installed, requests return with CIP error 0x5, Ext. error 0x1, and CIP error 0x8.

Connecting to a SoftLogix Soft PLC on the Same PC as the OPC Server

www. [Link]
195 Allen-Bradley ControlLogix Ethernet Driver

To connect the Allen-Bradley ControlLogix Ethernet Driver to a SoftLogix Soft PLC running on the same PC
as the server, follow the instructions below.

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. In the Device Properties| General group, locate the device ID value. It should not be "[Link], 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 [Link] and the SoftLogix CPU is in slot 2 of the virtual
chassis, then the correct device ID would be "[Link], 1, 2".

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 196

Index

----------------------------------------------------------------------------------------------------- 172

%s | CHANNEL STATISTICS 173


%s | DEVICE STATISTICS 172

0000-Generic Module 31
0x0001 Extended Error Codes 136
0x001F Extended Error Codes 137
0x00FF Extended Error Codes 137
0x01 135
0x02 135
0x03 135
0x04 135
0x05 135
0x06 135
0x07 135
0x08 135
0x09 135
0x0A 135
0x0B 135
0x0C 135
0x0D 135
0x0E 135
0x0F 135
0x10 135
0x11 135
0x12 136
0x13 136
0x14 136
0x15 136

www. [Link]
197 Allen-Bradley ControlLogix Ethernet Driver

0x1A 136
0x1B 136
0x1C 136
0x1D 136
0x1E 136
0x1F 136
0x22 136
0x25 136
0x26 136
0x27 136

1761-NET-ENI 181

Address Descriptions 63
Address Formats 73
Addressing Atomic Data Types 76
Addressing STRING Data Type 78
Addressing Structure Data Types 78
Advanced Addressing
LTIME 106
Advanced Addressing: BOOL 81
Advanced Addressing: DINT 88
Advanced Addressing: INT 85
Advanced Addressing: LINT 90
Advanced Addressing: SINT 82
Advanced Addressing: UDINT 98
Advanced Addressing: UINT 96
Advanced Addressing: ULINT 100
Advanced Addressing: USINT 94
Advanced Addressing:LREAL 102
Advanced Addressing:REAL 92
Advanced Addressing:TIME 104
Advanced Addressing:TIME32 103
Allow Function File Block Writes 29
Allow Sub Groups 24

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 198

Appendices 175
Array Block Size 25
Array Count Limit 28
Array Tags 41, 73
ASCII Files 121
Attempts Before Timeout 21
Auto-Demotion 22
Automatic Tag Database Generation 40
Avg. device turn-around time = <number> (milliseconds) 172
Avg. packets received/sec = <number>. 172
Avg. packets sent/sec = <number>. 172
Avg. tag reads/sec = <number>. 172
Avg. tags/transaction = <number>. 172

BCD 61
BCD Files 123
Binary Files 117
Block read request failed due to a framing error. | Block size = <number> (bytes), Block name =
'<name>'. 147
Block read request failed due to a framing error. | Block size = <number> (elements), Block start address
= '<address>'. 147
Block Transfer Files 129
Boolean 61
Byte 61

Channel 0 Communication Status File 132


Channel 1 Communication Status File 133
Channel Assignment 19
Channel Properties — Advanced 18
Channel Properties — Ethernet Communications 17
Channel Properties — General 16
Channel Properties — Write Optimizations 17
Char 61
Choosing a Protocol Mode 191
CIP connection timed out while uploading project information. 145

www. [Link]
199 Allen-Bradley ControlLogix Ethernet Driver

CIP Error Codes 135


Communication Protocol 15
Communications Routing 186
Communications Timeouts 21
CompactLogix 5300 Addressing for ENI 64
CompactLogix 5300 Addressing for Ethernet 64
CompactLogix 5300 Addressing for Serial Gateway 64
Connect Timeout 21
Connection Path Specification 187
Connection Size 25
Control Files 119
Controller-to-Server Name Conversions 43
Controller not supported. | Vendor ID = <ID>, Product type = <type>, Product code = <code>, Product
name = '<name>'. 146
ControlLogix 5000 Addressing 71
ControlLogix 5500 Addressing for ENI 64
ControlLogix 5500 Addressing for Ethernet 64
ControlLogix 5500 Addressing for Serial Gateway 64
ControlLogix 5500 Ethernet 179
ControlLogix Communications Parameters 25
ControlLogix Database Settings 27
ControlLogix Options 26
ControlNet Gateway 183
ControlNet Gateway Device ID 183
Counter Files 118
Create 24
Create from Device 27
Create from Import File 27

Data Collection 19
Data Types Description 61
Database error. Array tags renamed because they exceed max. character length. | Array tags = '<tags>',
Max. length = <number>, New array tags = '<tags>'. 169
Database error. CIP connection timed out while uploading project information. 145
Database error. Data type for reference tag unknown. Setting alias tag data type to default. | Reference
tag = '<tag>', Alias tag = '<tag>', Default data type = '<type>'. 138
Database error. Data type not found in tag import file. Tag not added. | Data type = '<type>', Tag name =

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 200

'<tag>'. 139
Database error. Encapsulation error occurred during fwd. open request. | Encapsulation error =
<code>. 140
Database error. Encapsulation error occurred during register session request. | Encapsulation error =
<code>. 140
Database error. Encapsulation error occurred while uploading program information. | Program name =
'<name>', Encapsulation error = <code>. 142
Database error. Encapsulation error occurred while uploading project information. | Encapsulation error
= <code>. 140
Database error. Error occurred during forward open request. | CIP error = <code>, Extended error =
<code>. 140
Database error. Error occurred processing alias tag. Tag not added. | Alias tag = '<tag>'. 139
Database error. Error occurred while uploading program information. | Program name = '<name>', CIP
error = <code>, Extended error = <code>. 142
Database error. Error occurred while uploading project information. | CIP error = <code>, Extended
error = <code>. 141
Database error. Framing error occurred during forward open request. 140
Database error. Framing error occurred during register session request. 140
Database error. Framing error occurred while uploading program information. | Program name =
'<name>'. 143
Database error. Framing error occurred while uploading project information. 141
Database error. Internal error occurred. 142
Database error. Member data type not found in tag import file. Setting data type to default. | Member
data type = '<type>', UDT = '<type>', Default data type '<type>'. 139
Database error. No more connections available for fwd. open request. 146
Database error. PLC5/SLC/MicroLogix devices do not support this function. 174
Database error. Program group name exceeds max. character length. Program group renamed. | Group
name = '<name>', Max. length = <number>, New group name = '<name>'. 169
Database error. Tag renamed because it exceeds max. character length. | Tag name = '<tag>', Max.
length = <number>, New tag name = '<tag>'. 169
Database error. Unable to resolve CIP data type for tag. Setting to default type. | CIP data type = <type>,
Tag name = '<tag>', Default data type = '<type>'. 143
Database Import Method 27
Database status. | Program count = <number>, Data type count = <number>, Imported tag count =
<number>. 169
Database status. Building tag projects, please wait. | Tag project count = <number>. 169
Database status. Generating OPC tags. 170
Database status. Importing alias tags. 169
Database status. Importing non-alias tags. 169
Database status. Importing tags from .L5X file. | Schema revision = '<value>', Software revision =
'<value>'. 170
Database status. Retrieving controller project. 169

www. [Link]
201 Allen-Bradley ControlLogix Ethernet Driver

DataHighwayPlus (TM) Gateway Setup 181


Date 61
Default Data Type Conditions 62
Delete 24
Demote on Failure 22
Demotion Period 22
Details. | IP = '<address>', Vendor ID = <vendor>, Product type = <type>, Product code = <code>, Revi-
sion= <value>, Product name = '<name>', Product S/N = <number>. 170
Detecting a Change in the Controller Project 193
Device not responding. Local node responded with error. | DF1 status = <code>. 164
Device Properties — Auto-Demotion 22
Device Properties — Redundancy 31
Device Properties — Tag Generation 23
Device Properties — Timing 21
Device tag import aborted. 173
DH+ Gateway Device ID 182, 184
Diagnostics 16
Discard Requests when Demoted 22
Display Descriptions 27
Do Not Scan, Demand Poll Only 20
Double 61
Driver 19
DRIVER STATISTICS 173
Duty Cycle 18
DWord 61

Elapsed time = <number> (seconds). 170


Encapsulation Error Codes 135
Encapsulation error occurred during a request to device. | Encapsulation error = <code>. 156
Encapsulation error occurred while uploading controller program information. Encapsulation error =
<code>. 145
Encapsulation error occurred while uploading program information. | Program name = '<name>', Encap-
sulation error = <code>. 145
Encapsulation error occurred while uploading project information. | Encapsulation error = <code>. 143
ENI Device ID 181
ENI DF1/DH+/ControlNet Gateway Communications Parameters 29
Error Codes 135

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 202

Error occurred during a request to device. | CIP error = <code>, Extended error = <code>. 156
Error occurred while uploading controller program information. CIP error = <code>, Extended error =
<code>. 145
Error occurred while uploading program information. | Program name = '<name>', CIP error = <code>,
Extended error = <code>. 145
Error occurred while uploading project information. | CIP error = <code>, Extended error = <code>. 144
Error opening file for tag database import. | OS error = '<code>'. 146
Errors occurred retrieving controller project. 173
Ethernet Settings 17
EtherNet/IP Gateway Setup 184
Event Log Messages 138

File Listing 108


Filtering 28
FlexLogix 5400 Addressing for Serial Gateway 64
FlexLogix 5400 Addressing for ENI 64
FlexLogix 5400 Addressing for Ethernet 64
Float 61, 121
Float Files 121
Frame received from device contains errors. 146
Framing error occurred while uploading controller program information. 145
Framing error occurred while uploading program information. | Program name = '<name>'. 145
Framing error occurred while uploading project information. 144
Function Files 130

Generate 23
Global Tags 74

Help Contents 11
High-Speed Counter File (HSC) 130

www. [Link]
203 Allen-Bradley ControlLogix Ethernet Driver

I/O Module Status File (IOS) 133


ID 19
Identification 16, 19
Import file '%s' not found at path '%s'. 173
Import file '%s' not found at path '<empty>'. 174
Import file '<empty>' not found at path '%s'. 174
Import file '<empty>' not found at path '<empty>'. 174
Impose Array Limit 28
Inactivity Watchdog 25
Initial Updates from Cache 21
Initialization transactions = <number>. 172
Input Files 112
Input Words 31
Integer Files 120
Inter-Device Delay 18
Internal driver error occurred. 173
Internal Tags 74
Invalid or corrupt controller project detected while synchronizing. Synchronization will be retried
shortly. 138
Invalid or corrupt controller project detected while synchronizing. Try again later. 173

L5K file is invalid or corrupt. 173


L5X file is invalid or corrupt. 174
LBCD 61
Leading Underscores 43
Limit Name Length 28
Link Address 187
Logix Addressing 64, 71
Logix Advanced Addressing 80
Logix Communications Parameters 25
Logix Database Settings 27
Logix Device IDs 179
Logix Options 26
Logix Tag-Based Addressing 71
Long 61

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 204

Long Controller Program & Tag Names 40


Long Files 123
Low memory resources. 170, 173

Memory could not be allocated for tag. | Tag address = '<address>'. 156
Message Files 128
Micrologix 1100 Device ID 186
MicroLogix 1100 Setup 186
Micrologix Addressing 65
Micrologix Addressing for ENI 65
Micrologix Addressing for EtherNet/IP Gateway 65
MicroLogix Message Files 127
MicroLogix PID Files 124
Model 19
Module 30

Network Adapter 17
Non-Normalized Float Handling 18

On Device Startup 23
On Duplicate Tag 24
On Property Change 23
Operating Mode 19
Optimization Method 17
Optimizing Communications 45
Optimizing the Application 47
Ordering of Logix Array Data 79
Output Files 108
Output Words 31
Overview 12
Overwrite 24

www. [Link]
205 Allen-Bradley ControlLogix Ethernet Driver

Packets received = <number>. 172


Packets sent = <number>. 171
Parent Group 24
Performance Optimizations 45
Performance Statistics 26
Performance Statistics and Tuning 48
Performance Tuning Example 49
Physical block cache reads = <number>. 171
Physical block device reads = <number>. 171
Physical non-block device reads = <number>. 171
Physical non-block, array block cache reads = <number>. 171
Physical non-block, array block device reads = <number>. 171
PID Files 125
PLC-5 Series Addressing 69
PLC-5 Series Addressing for ControlNet 69
PLC-5 Series Addressing for EtherNet/IP Gateway 70
Port ID 187
Predefined Term Tags 75
Preparing for Automatic Tag Database Generation 44
Program Tags 74
Project download complete. 166
Project download detected while synchronizing. Synchronization will be retried shortly. 138
Project download detected while synchronizing. Try again later. 173
Project download in progress or no project exists. 165
Project offline edit detected. Currently using Symbolic addressing. 166
Project online edit detected. Currently using Symbolic addressing. 166
Project Options 26
Protocol 26
Protocol Mode 26

Read request for tag failed due to a framing error. | Tag address = '<address>'. 147
Read/Write requests to device resumed. Updating Logical Addresses from device complete. Currently
using Logical addressing. 168
Read/Write requests to device stopped. Updating Logical Addresses from device project. 168
Read/Write transactions = <number>. 172

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 206

Real-Time Clock File (RTC) 131


Redundancy 31
Replace with Zero 18
Request Size 29
Request Timeout 21
Requested CIP connection size is not supported by this device. Automatically falling back to max. size. |
Requested size = <number> (bytes), Max. size = <number> (bytes). 167
Respect Tag-Specified Scan Rate 20
Routing Examples 188

Scan Mode 20
Serial Gateway Device ID 185
Serial Gateway Setup 185
Setup 13
Short 61
Simulated 20
SLC 500 Fixed I/O Addressing 67
SLC 500 Fixed I/O Addressing for ENI 68
SLC 500 Fixed I/O Addressing for EtherNet/IP Gateway 67
SLC 500 Modular I/O Addressing 68
SLC 500 Modular I/O Addressing for DH+ 68
SLC 500 Modular I/O Addressing for ENI 69
SLC 500 Modular I/O Addressing for EtherNet/IP Gateway 68
SLC 500 Modular I/O Selection Guide 32
SLC 500 Slot Configuration 30
Slot 30
SoftLogix 5800 Addressing 65
SoftLogix 5800 Addressing for Serial Gateway 65
SoftLogix Communications Parameters 25
SoftLogix Database Settings 27
SoftLogix Options 26
SoftLogix Soft PLC Connection Notes 194
Statistic Type 48
Statistics 48
Status Files 116
String 61
String Files 122

www. [Link]
207 Allen-Bradley ControlLogix Ethernet Driver

Structure Tag Addressing 74


Supported Devices 13
Symbol instance block cache reads = <number>. 171
Symbol instance block device reads = <number>. 171
Symbol instance non-block device reads = <number>. 170
Symbol instance non-block, array block cache reads = <number>. 171
Symbol instance non-block, array block device reads = <number>. 171
Symbolic device reads = <number>. 170
Symbolic, array block cache reads = <number>. 170
Symbolic, array block device reads = <number>. 170
Synchronize After Offline Edits 26
Synchronize After Online Edits 26

Tag Counts 16
Tag Generation 23
Tag Hierarchy 40
Tag Import File 27
Tag Scope 74
Tags read = <number>. 171
TCP/IP Port 25, 29
Terminate String Data at LEN 26
The following errors occurred uploading controller project from device. Resorting to symbolic
protocol. 166
The following errors occurred uploading controller project from device. Resorting to Symbolic
Protocol. 138
The tag import filename is invalid, file paths are not allowed. 167
Timeouts to Demote 22
Timer Files 117
Timing 21

Unable to read block. | Block size = <number> (bytes), Tag name = '<tag>', CIP error = <code>, Extended
error = <code>. 149
Unable to read block. | Block size = <number> (elements), Block start address = '<address>', CIP error =
<code>, Extended error = <code>. 148
Unable to read block. | Block size = <number> (elements), Starting address = '<address>', DF1 status =

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 208

<code>, Extended status = <code>. 158


Unable to read block. | Block size = <number> (elements), Starting address = '<address>', DF1 status =
<code>. 161
Unable to read block. Block deactivated. | Block size = <number> (bytes), Tag name = '<tag>'. 155
Unable to read block. Block deactivated. | Block size = <number> (elements), Block start address =
'<address>', CIP error = <code>, Extended error = <code>. 164
Unable to read block. Block deactivated. | Block size = <number> (elements), Block start address =
'<address>'. 155
Unable to read block. Block does not support multi-element arrays. Block deactivated. | Block size =
<number> (elements), Block start address = '<address>'. 152
Unable to read block. Controller tag data type unknown. Block deactivated. | Block size = <number> (ele-
ments), Block start address = '<address>', Data type = <type>. 149
Unable to read block. Data type is illegal for this block. Block deactivated. | Block size = <number> (ele-
ments), Block start address = '<address>', Data type = '<type>'. 151
Unable to read block. Data type not supported. Block deactivated. | Block size = <number> (elements),
Block start address = '<address>', Data type = '<type>'. 150
Unable to read block. Frame received contains errors. | Block size = <number> (elements), Starting
address = '<address>'. 157
Unable to read block. Internal memory is invalid. Block deactivated. | Block size = <number> (elements),
Block start address = '<address>'. 164
Unable to read block. Internal memory is invalid. Tag deactivated. | Tag address = '<address>'. 163
Unable to read block. Native tag size mismatch. | Block size = <number> (bytes), Block name =
'<name>'. 154
Unable to read block. Native tag size mismatch. | Block size = <number> (elements), Block start address
= '<address>'. 153
Unable to read block. Tags deactivated. | Block size = <number> (elements), Starting address =
'<address>', DF1 status = <code>, Extended status = <code>. 157, 159
Unable to read function file from device. Frame received contains errors. | Function file = '<name>'. 157
Unable to read function file from device. Tags deactivated. | Function file = '<name>', DF1 status =
<code>, Extended status = <code>. 158
Unable to read function file. | Function file = '<name>', DF1 status = <code>, Extended status =
<code>. 159
Unable to read function file. | Function file = '<name>', DF1 status = <code>. 162
Unable to read function file. Tags deactivated. | Function file = '<name>', DF1 status = <code>. 160
Unable to read tag. | Tag address = '<address>', CIP error = <code>, Extended error = <code>. 148
Unable to read tag. Controller tag data type unknown. Tag deactivated. | Tag address = '<address>', Data
type = <type>. 149
Unable to read tag. Data type is illegal for this tag. | Tag address = '<address>', Data type = '<type>'. 163
Unable to read tag. Data type is illegal for this tag. Tag deactivated | Tag address = '<address>', Data type
= '<type>'. 151
Unable to read tag. Data type not supported. Tag deactivated. | Tag address = '<address>', Data type =
'<type>'. 150
Unable to read tag. Internal memory is invalid. | Tag address = '<address>'. 163

www. [Link]
209 Allen-Bradley ControlLogix Ethernet Driver

Unable to read tag. Native tag size mismatch. | Tag address = '<address>'. 153
Unable to read tag. Tag deactivated. | Tag address = '<address>'. 154
Unable to read tag. Tag does not support multi-element arrays. Tag deactivated. | Tag address =
'<address>'. 152
Unable to retrieve the identity for device. All tags will use Symbolic Protocol. | CIP error = <code>, Exten-
ded error = <code>. 166
Unable to retrieve the identity for device. All tags will use Symbolic Protocol. | Encapsulation error =
<code>. 166
Unable to retrieve the identity for device. Frame received contains errors. All tags will use Symbolic Pro-
tocol. 167
Unable to write to address. | Address = '<address>', DF1 status = <code>, Extended status = <code>. 160
Unable to write to address. | Address = '<address>', DF1 status = <code>. 162
Unable to write to address. Frame received contains errors. | Address = '<address>'. 158
Unable to write to address. Internal memory is invalid. | Tag address = '<address>'. 164
Unable to write to address. Local node responded with error. | Function file = '<name>', DF1 status =
<code>. 165
Unable to write to function file. | Function file = '<name>', DF1 status = <code>, Extended status =
<code>. 161
Unable to write to function file. | Function file = '<name>', DF1 status = <code>. 162
Unable to write to function file. Frame received contains errors. | Function file = '<name>'. 158
Unable to write to function file. Local node responded with error. | Function file = '<name>', DF1 status =
<code>. 164
Unable to write to tag. | Tag address = '<address>', CIP error = <code>, Extended error = <code>. 148
Unable to write to tag. | Tag address = '<address>'. 154
Unable to write to tag. Controller tag data type unknown. | Tag address = '<address>', Data type =
<type>. 149
Unable to write to tag. Data type is illegal for this tag. | Tag address = '<address>', Data type =
'<type>'. 151
Unable to write to tag. Data type not supported. | Tag address = '<address>', Data type = '<type>'. 150
Unable to write to tag. Native tag size mismatch. | Tag address = '<address>'. 153
Unable to write to tag. Tag does not support multi-element arrays. | Tag address = '<address>'. 152
Unable to write to tag. Value written contains a syntax error. | Tag address = '<address>', Expected
format = '<format>'. 168
Unable to write to tag. Value written is out of range. | Tag address = '<address>'. 168
Unexpected offset encountered for tag. | Tag address = '<address>'. 165
Unexpected offset encountered for tag. Tag will use Symbolic protocol. | Tag address = '<address>'. 165
Unexpected offset/span encountered for tag. | Tag address = '<address>'. 165
Unknown error occurred. 170, 174
Unmodified 18

www. [Link]
Allen-Bradley ControlLogix Ethernet Driver 210

Value not supported for an XML element on this model. Automatically setting to new value. | Value =
'<value>', XML element = '{<namespace>}<element>', Model = '<model>', New value =
'<value>'. 174

Word 61
Write All Values for All Tags 17
Write Only Latest Value for All Tags 18
Write Only Latest Value for Non-Boolean Tags 17
Write request failed due to a framing error. | Tag address = '<address>'. 146

XML element failed post-schema validation. Importing tags from device is not supported for model. Use
alternative element. | XML element = '{<namespace>}<element>', Unsupported model =
'<model>', Alternative XML element = '{<namespace>}<element>'. 174

www. [Link]

You might also like