Sorry for such a long post but here goes.
I've been messing around this week with a 1756-5583E controller running on version 30.11, and I decided to play with LINTs, ULINTS, and other U-integer data types just for fun. (I now regret this decision, lol). No matter what instruction I attempted to use a LINT or other 64-bit data type in, when I verified the routine it told me I'm using an invalid data type. So I start digging around and found this in the New Features section of Studio5000 version 32 release notes:
"Added new predefined data types (USINT, UINT, UDINT, ULINT) and 64-bit data types (LINT and REAL) to improve range, accuracy, and precision of user applications and increase productivity. The new data types are applicable to CompactLogix 5380, CompactLogix 5480, and ControlLogix 5580 controllers only".
After a lot of screwing around I discovered that LINT is available in the tag editor in all my Studio versions (21, 28, 30, 31, 32, & 34), but Studio woofs its cookies if you try to use it in code at V31 or below. You can declare a LINT tag but if you can use in code without getting an invalid data type error, I can't figure it out. If I use LINT in V32 or above (as advertised in the release notes), all is well.
BUT WAIT: THERE'S MORE!
You'd think I'd had enough but I went even further down the rabbit hole and found this on page 130 in the Replacement Guidelines: Logix 5000 Controllers (March 2022) manual (bold italics are mine):
"LINT data types are aligned on 64-bit boundaries in Logix 5000® controllers, that use a Logix Designer project, version 27 or later".
This appears to directly contradict the release notes that said LINT was new in V32. Then this on page 131:
"See Produce and Consume Tags on page 106, if you Produce/Consume tags in UDTs between the following:
- 5580 and 5570 controllers that use Logix Designer projects, version 26 or earlier.
- 5380 and 5370 controllers that use Logix Designer projects, version 26 or earlier".
According to Rockwell's Product Compatibility and Download Center (PCDC) there is no L8 controller that can be flashed to below V28.
Questions:
- Does anyone know why 64-bit data types are available in Studio V31 and below if they can't be used in code?
- If they can be used in code, what the heck am I missing? (I was trying simple things like MOV a decimal value to data type LINT tag).
- Does anyone know why these three Rockwell reference tools (release notes, Replacement Guidelines, and PCDC) seem to so egregiously contradict one another?
Thanks and again, sorry so long.