Allen-Bradley ControlLogix 5570 Reference Manual page 102

Table of Contents

Advertisement

Chapter 5
Standard Application Conversion
102
To correct any mismatched UDTs, complete the following tasks in
either project:
1. Start at the deepest nesting level of any multi-level UDT.
2. Work from the beginning of each structure and look for LINT data
types.
3. For each LINT data type or 8-byte UDT encountered, map out the sizes
of the prior UDT elements, to determine the byte offset at the start of
the element.
For more information, see
page
122.
If the byte offset for the first 8-byte element is not divisible by 8 bytes
(64 bits), insert a DINT tag element just above the 8-byte element. You
can use any name. Instructions do not need to reference this element.
4. Repeat the process until all 8-byte elements are aligned on 8-byte (64-
bit) boundaries.
5. If needed, add a DINT at the end of the UDT to satisfy the 8-byte
allocation rule.
6. Continue up through nested UDTs until the top level is correct.
When the tasks are completed, the UDTs are the same size in the
Logix Designer project, version 26 or earlier and the Logix Designer project,
version 27 or later.
You can use the padded UDTs in the Logix Designer project, version 26 or
earlier and the Logix Designer project, version 27 or later.
A useful technique when creating UDTs is to start with the largest data types
first, and work down through 8-byte, 4-byte, 2-byte, 1-byte, and finally single-
bit data types. The resultant mapping is 64-bit-aligned in all controller types,
so no manual padding is required.
Produce/Consume with Status and Safety Produce/Consume tags require an
adjustment to this technique. For these cases, the UDT must start with a 4-byte
'COMMAND_STATUS' element; therefore, one more 4-byte element
(DINT or REAL) must be added before placing any 8-byte elements.
Rockwell Automation Publication 1756-RM100F-EN-P - October 2018
Instruction Error and Fault Changes on

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents