ControlLogix T04:C83 fault in Run, what to check for Boolean array subscript?
I'm getting a Major Fault T04:C83 on our ControlLogix controller while the machine is in Run. The fault message is 'Value Out of Range'. I suspect it's related to a Boolean array or bit-level addressing. What should I check first?
A T04:C83 'Value Out of Range' major fault on a ControlLogix or CompactLogix controller indicates that a data value tested was outside its required limits. This specific fault type is associated with array subscripts used with Boolean arrays and bit-level addressing. It occurs when a bit index or Boolean array subscript goes out of range, either during normal operation in Run mode or during prescan on controllers before revision 13.
Likely causes and checks
1Bit index or Boolean array subscript beyond the array size
- Points to it
- The most common cause is a bit index or Boolean array subscript attempting to access a memory location outside the defined dimensions or length of the array.
- Check
- Examine the logic where the fault occurs, specifically looking for expressions like BoolArray[Index] or Word.[Bit] with an indirect bit number. Read the value of the 'Index' at the time of the fault and compare it against the declared length of the Boolean array or the number of bits in the data type.
2Index calculated or entered without range checking
- Points to it
- The index value used for the Boolean array or bit-level addressing might be generated by a calculation, an HMI input, or a recipe change, and this value is not being validated to ensure it stays within the acceptable range.
- Check
- Identify where the index value is written or calculated. Implement or verify existing limit-checking logic to ensure the index is always within the valid bounds before it is used.
Next check: After checking the index value against the array size and verifying range checking, if the fault persists, review the program logic for any indirect bit numbers that might be exceeding the bit capacity of the data type.
Related questions
Describe the fault or upload a photo, and InduQT checks it against the manufacturer manuals. Share the result here when it helps someone else.