Configurable Redundant Output (CROUT)
This instruction applies to the Compact GuardLogix 5370, GuardLogix 5570, Compact GuardLogix 5380, and GuardLogix 5580 controllers.
The Configurable Redundant Output instruction controls and monitors redundant outputs. The reaction time for output feedback is configurable. The instruction supports positive and negative feedback signals.
Available Languages
Ladder Diagram
Function Block
This instruction is not available in function block.
Structured Text
This instruction is not available in structured text.
Operands
IMPORTANT:
Unexpected operation may occur if:
- Output tag operands are overwritten.
- Members of a structure operand are overwritten.
- Structure operands are shared by multiple instructions.
WARNING:
If changing instruction operands while in Run mode, accept the pending edits and cycle the controller mode from Program to Run for the changes to take effect.
This table provides the operands used to configure the instruction. These operands cannot be changed at runtime.
Operand | Data type | Format | Description | |
---|---|---|---|---|
CROUT | CONFIGURABLE_ROUT | tag | CROUT structure | |
Feedback Type | BOOL | Drop-down | This operand defines the feedback ON and OFF states. | |
Positive (1) | ON (1): Feedback 1 ON, Output 1 ON. OFF (0): Feedback 1 OFF, Output 1 OFF. | |||
Negative (0) | ON (1): Feedback 1 OFF, Output 1 ON. OFF (0): Feedback 1 ON, Output 1 OFF. | |||
Feedback Reaction Time | DINT | immediate | This operand specifies the amount of time that the instruction waits for Feedback 1 and Feedback 2 to reflect the state of Output 1 and Output 2 as specified by the configured Feedback Type. The valid range is 5 to 1000 ms. |
The following table explains the instruction inputs.
Operand | Data Type | Format | Description |
---|---|---|---|
Actuate | BOOL | tag | This input energizes or de-energizes Output 1 and Output 2. ON (1): Output 1 and Output 2 are energized if no faults exist. OFF (0): Output 1 and Output 2 are de-energized. |
Feedback 1 | BOOL | tag | This input is constantly monitored to make sure that it reflects the state of Output 1. When Output 1 transitions, this input must detect the transition within the Feedback Reaction Time. |
Feedback 2 | BOOL | tag | This input is constantly monitored to make sure that it reflects the state of Output 2. When Output 2 transitions, this input must detect the transition within the Feedback Reaction Time. |
Input Status | BOOL | tag immediate | If instruction inputs are from a safety I/O module, this is the status from the I/O module or modules (Connection Status or Combined Status). If instruction inputs are derived from internal logic, it is the application programmer’s responsibility to determine the conditions. ON (1): The inputs to this instruction are valid. OFF (0): The inputs to this instruction are invalid. |
Output Status | BOOL | tag immediate | This input indicates the output status of the I/O module or modules used by this instruction. ON (1): The I/O connection and the I/O module are operational. OFF (0): The module has a fault or the connection to the module has been lost. |
Reset 1 | BOOL | tag | This input clears the instruction faults provided the fault condition is not present. OFF (0) -> ON (1): The FP and Fault Code outputs are reset. |
1
ISO 13849-1 stipulates instruction reset functions must occur on falling edge signals. To comply with ISO 13849-1 requirements, add this logic immediately before this instruction. Rename the ‘Reset_Signal’ tag in the example shown below to the reset signal tag name. Then use the OSF instruction Output Bit tag as the instruction’s reset source.The following table explains the instruction outputs.
Operand | Data Type | Description |
---|---|---|
Output 1 (01) | BOOL | This output is used to control one channel of a two channel output device. Output 1 is de-energized when 1 or more of the following occurs:
|
Output 2 (02) | BOOL | This output is used to control one channel of a two channel output device. Output 2 is de-energized when 1 or more of the following occurs:
|
Fault Present (FP) | BOOL | ON (1): A fault is present in the instruction. OFF (0): The instruction is operating normally. |
Fault Code | DINT | This output indicates the type of fault that occurred. See the Fault Codes section below for the list of fault codes. This parameter is not safety-related. |
Diagnostic Code | DINT | This output indicates the diagnostic status of the instruction. See the Diagnostic Codes section below for a list of diagnostic codes. This parameter is not safety-related. |
IMPORTANT:
Do not write to any instruction output tag under any circumstances.
Normal Operation
This timing diagram shows normal operation of this instruction to control dual channel outputs when the Feedback Type is Positive. Outputs 1 and 2 are energized at (A) when the Actuate input turns ON (1). Both feedback inputs react before the Feedback Reaction timer has expired, so Output 1 and Output 2 remain energized in steady state at (B). Outputs 1 and 2 are de-energized at (C) when the Actuate input turns OFF (0). At (D), both feedback inputs react before the Feedback Reaction timer has expired, so Output 1 and Output 2 remain de-energized in steady state.
Feedback Fault
A feedback fault can occur when either Feedback 1 or Feedback 2 fails to correctly reflect the state of Output 1 and Output 2. The Feedback Type is configured as Positive in this diagram example. Output 1 and Output 2 are energized at (A), but at (B), Feedback 2 has not turned ON (1) before the Feedback Reaction timer expires, generating a feedback fault. The fault cannot be cleared at (C), because Feedback 1 and Feedback 2 do not yet reflect the state of Output 1 and Output 2. The fault is cleared at (D) when the Reset input turns ON (1) and both Feedback 1 and Feedback 2 are OFF (0), correctly reflecting the state of Output and Output 2.
False Rung State Behavior
When the instruction is executed on a false rung, all instruction outputs are de-energized.
Fault Codes and Corrective Actions
Fault Code | Description | Corrective Action |
---|---|---|
0 | No fault | None |
16#20 32 | The Input Status input transitioned from ON (1) to OFF (0) while the instruction was executing. |
|
16#21 33 | The Output Status input transitioned from ON (1) to OFF (0) while the instruction was executing. |
|
16#5000 20480 | Feedback 1 and Feedback 2 turned OFF (0) unexpectedly. |
|
16#5001 20481 | Feedback 1 turned OFF (0) unexpectedly. |
|
16#5002 20482 | Feedback 2 turned OFF (0) unexpectedly. |
|
16#5003 20483 | Feedback 1 and Feedback 2 turned ON (1) unexpectedly. |
|
16#5004 20484 | Feedback 1 turned ON (1) unexpectedly. |
|
16#5005 20485 | Feedback 2 turned ON (1) unexpectedly. |
|
16#5006 20486 | Feedback 1 and Feedback 2 did not turn ON (1) within the Feedback Reaction Time. |
|
16#5007 20487 | Feedback 1 did not turn ON (1) within the Feedback Reaction Time. |
|
16#5008 20488 | Feedback 2 did not turn ON (1) within the Feedback Reaction Time. |
|
16#5009 20489 | Feedback 1 and Feedback 2 did not turn OFF (0) within the Feedback Reaction Time. |
|
16#500A 20490 | Feedback 1 did not turn OFF (0) within the Feedback Reaction Time. |
|
16#500B 20491 | Feedback 2 did not turn OFF (0) within the Feedback Reaction Time. |
|
Diagnostic Codes and Corrective Actions
Diagnostic Code | Description | Corrective Action |
---|---|---|
0 | No fault | None |
16#20 32 | The Input Status was OFF (0) when the instruction started. | Check the I/O module connection. |
16#21 33 | The Output Status input transitioned from ON (1) to OFF (0) while the instruction was executing. | Check the I/O module connection. |
16#5000 20480 | The Actuate input is held ON (1). | Set the Actuate input to OFF (0). |
Affects Math Status Flags
No
Major/Minor Faults
None specific to this instruction. See Index Through Arrays for array-indexing faults.
Execution
Condition/State | Action Taken |
---|---|
Prescan | Same as Rung-condition-in is false. |
Rung-condition-in is false | The .01 and .02 outputs are cleared to false. The Diagnostic Code and Fault Code outputs are set to 0 |
Rung-condition-in is true | The instruction executes. |
Postscan | Same as Rung-condition-in is false. |
Provide Feedback