I/O can have 4 levels of faults
- Rack/Communications Fault
- Module Fault
- Channel/Bit Fault
- Signal Fault (wirebreak, overrange, underrange,etc.)
Rack/Communicate Fault
This fault is at a higher level and will set an alarm based on custom logic to recognize that the rack is not communicating with the controller.
This will generate an alarm on a generic standard process condition #18. The alarm will call out the rack name if only 1 is failed otherwise a more generic message stating multiple racks have lost communications or failed.
A rack fault will also set each rack slot status to NOT HEALTHY which will prevent other faults and cause the input to go to fail safe state.
An abnormal condition message will be presented in affected CMs and Instruments that the I/O is faulted but won’t cause alarm.
Slot 0 of each rack is used for rack Health status
RSlots[r00].Status.Healthy = False
Where r = rack number
Module Fault
A module fault occurs when a particular module has malfunctioned or is in a mode other than operations mode. This also requires custom logic to identify if the module is faulted. Generally examining the fault word for individuals channels or bits to be a -1 indicates the module is faulted.
This will generate an alarm on a generic standard process condition. The alarm will call out the module name if only 1 is failed otherwise a more generic message stating multiple modules have failed.
A module fault will also set the Rack slot status to NOT HEALTHY AND FAULTED which will prevent other faults and cause the input to go to fail safe state.
An abnormal condition message will be presented in affected CMs and Instruments that the I/O is faulted but won’t cause alarm.
RSlots[rss].Status.Fault = True
Where r = Rack
s = Slot
Channel/Bit Fault
Channel/bit faults occur on an individual point and is typically monitored as a fault bit for that point.
This will generate a fault on the specific CM or Instrument as a I/O fault and raise an alarm for that device if the I/O points Rslot is healthy.
RSlots[rss].Fault.Bit[n] = True
Where r = Rack
s = Slot
n = bit/channel
This isn’t configured to acknowledge the presence of the module fault
Signal Fault
Analog inputs and outputs may have signal quality detection logic such as wire break or under/over range. These conditions will be suppressed if the I/O channel is faulted or the Rslot is not healthy.
A wirebreak will use fail safe values.
The condition is configurable on what action is taken as a result.
Failsafe
Discrete Inputs always assume off as the failsafe state.
Discrete and analog outputs will be controlled according to the specific logic.
Non-Instrument analog inputs use whatever value is present on the input module when failed.
Instrument based analog inputs are configurable for what failsafe value to use. EUMin, EUMax, Set Value or Last Good.