Logix Device Status

We are using the Allen-Bradley Logix Driver and would like to interpret some of the Status data that can be subscribed to.

Specifically the [Diagnostics]/Device/Status value. Where can I get some information on how to read that to know the status? We are hoping to get run/program or other information from that status word.

The value in that tag is the value of the CIP Identity Object’s Status attribute.

If Rockwell provides any kind of documentation on how to interpret the bits in that value I haven’t seen it.

Fair enough.

Thanks for your help!

The CIP Spec has some generic definitions for the bits in that word in Volume 3, table 5A-2.3 and table 5A-2.4, and requires that the reserved/vendor bits there, if used, be declared in the device’s EDS file.

Bit 0: "Owned".  Not applicable to a processor, I would think.
Bit 1: Reserved.
Bit 2: "Configured".  Probably always true except when at factory default.
Bit 3: Reserved.
Bits 4-7: 4-bit integer extended status code:
   0: Self test/unknown
   1: Firmware updating
   2: Any Faulted I/O connections
   3: No I/O connections
   4: Bad Non-volatile config
   5: Any major fault (also see bits 10 & 11)
   6: Any Running I/O Connections
   7: Any Idle I/O Connections
   8: Ignore
   9: Reserved
  10-15: Vendor specific (Not in EDS)
Bit 8: Minor Recoverable Fault
Bit 9: Minor Unrecoverable Fault
Bit 10: Major Recoverable Fault
Bit 11: Major Unrecoverable Fault
Bits 12-15: Vendor Specific (Must be in EDS)
3 Likes

The following worked for me based on AB documentation of the status word.
I created expression tags looking at the status word.

Key Switch position.

// Bits 12-13 represent key switch position.
// Mask and shift right to positions 0-1.
// Value - Description
//   0   - Undefined
//   1   - Run
//   2   - Program
//   3   - Remote
({[.]Status} & 12288)>>12

Processor Mode

// Bits 4-7 represent processor mode.
// Mask and shift right to positions 0-1.
// Value - Description
//   0   - Reserved
//   1   - Flash update in progress
//   2   - Reserved
//   3   - Reserved
//   4   - Flash is bad
//   5   - Faulted modes
//   6   - Run
//   7   - Program
({[.]Status} & 240)>>4
4 Likes