ControlLogix Data Types

Overview

The ControlLogix driver in ACM supports multiple data types associated with tags in the device. The following sections outline all the types and their descriptions.

TypeCIP TypeDescription
BOOLC1Boolean/Digital. To invert the display value of a Boolean tag, use the following format:
Tagname! – Will display the inverse of the actual value.
SINTC28-Bit Integer
INTC3Signed 16-Bit Integer
DINTC4Signed 32-Bit Integer
LINTC5Signed 64-Bit Integer
USINTC6Unsigned 8-Bit Integer (Model/Firmware Dependent)
UINTC7Unsigned 16-Bit Integer (Model/Firmware Dependent)
UDINTC8Unsigned 32-Bit Integer (Model/Firmware Dependent)
REALCA32-Bit Float
LREALCB8 Byte Real (Model/Firmware Dependent)
DWORDD3The protocol supports reading and writing values to D3 indexed arrays. The protocol handles
calculating the correct offset within the DWORD, so tag access works the same way arrays
are described below. Requests for index values residing within the same base
DWORD index are consolidated to minimize traffic by reducing the number of redundant service
requests.
Micro 800 StringDA(Model/Firmware Dependent)
STRING0See String Support Section. Strings that are listed get stored with a CIP type of 0.

String Support

The protocol handles STRING tags within the device as a single tag. The OPC item for a STRING tag will display the concatenated contents of the character array stored in the device using the following rules for termination of the last character:

  1. The first NULL character encountered. 
  2. The LEN parameter value if 1 has not occurred. 
  3. End of the array if 1 or 2 have not occurred first.

The protocol will update the LEN parameter on writes unless disabled by option. The user can also disable use of LEN while reading strings by option. Please refer to Configuration.

Array Support

The protocol supports reading and writing values to indexed arrays. During a tag discovery poll, any array structured tags will be identified with an OPC item placeholder in the following format:

tagname[0] - indicates a one dimensional array
tagname[0,0] - indicates a two dimensional array
tagname[0,0,0] - indicates a three dimensional array

To access the third logical element in a one dimensional array of a tag called MyArrayTag the user would alter the OPC item name to MyArrayTag[2].

Bit Offset Support

Integer bit offsets are supported for read operations only on 16 and 32 bit integer data types. To access a bit offset, use the following format:

Tagname/2 – To access the third position (zero based) bit as a Boolean

Requests for index values residing within the same Integer tag are consolidated to minimize traffic by reducing the number of redundant service requests. To invert the display value of a Bit Offset tag, use the following format:

Tagname/2! – Will display to logical inverse of the actual value. Writes to this tag will be the logical inverse of the actual value.

For assistance, please submit a ticket via our Support Portal, email autosol.support@autosoln.com or call 281.286.6017 to speak to a support team member.