Light Curtain (LC)
This instruction applies to the Compact GuardLogix 5370, GuardLogix 5570, Compact GuardLogix 5380, and GuardLogix 5580 controllers.
Use the Light Curtain (LC) instruction to provide a manual and an automatic circuit reset interface from a programmable controller to a light curtain.
Many Light Curtains pulse test their two outputs; OSSD1 and OSSD2. If these outputs are wired directly into Safety controller inputs, the pulse test needs to be filtered. Otherwise, the Safety controller may mistake the low (0) pulse test for a light curtain blockage.
Most light curtains provide controllers or relays that essentially filter out the pulse test and provide two dry contacts for OSSD1 and OSSD2. If you use these devices, then OSSD1 and OSSD2 can be wired directly to the Safety controller.
If you are NOT using the light curtain controller or relay, then the Safety controller must provide the pulse test filtering. There are two ways for the Safety controller to filter this signal. The first is hardware- based digital input filters on the Safety input modules. For more information on Safety I/O modules, refer to the
DeviceNet Safety I/O User Manual
, publication 1791DS-UM001, Guard I/O EtherNet/IP Safety Modules User Manual
, publication 1791ES-UM001, and Point Guard I/O Safety Modules User Manual
, publication 1734-UM013. The second is a software- based filter in the Light Curtain instruction. For more information on this filter, refer to the section entitled Input Filter Time below.Of these two methods, the hardware filter is preferred. If the digital input filters the low (0) signals for longer than the low (0) pulse test width, then the hardware filter filters out the pulse test. For example, if the Light Curtain signals pulse low (0) for 100 s during a pulse test, then the hardware must filter out low (0)signals that are 100 s or longer. Note that the Safety DeviceNet I/O modules have a configurable filter of 0 to 126 ms.
If the hardware filter cannot filter the pulse test, or you choose not to use the hardware filter, then the filtering must be done in the Safety controller ladder logic. Software based filters look at the input once every program cycle. Theoretically, every time the Safety controller looks at OSSD1, it may be low (0) if the pulse test is occurring at that exact time. In other words, you may have to make your software filter long enough to scan OSSD1 multiple times before the filter times out, and OSSD1 is set logically low (0).
Setting the software filter time higher than the Safety controller’s Safety task period ensures that the input must be low (0) for three consecutive scans before the software filter times out. For example, if the Safety controller’s Safety task period is 5 ms, a software filter time of 10 ms requires three low (0) scans. If the filter time is 15 ms, four low (0) scans are required. The downside of using a longer hardware or software filter is that this filter time must be directly added to the calculation of the light curtain safety reaction time.
Available Languages
Ladder Diagram
Function Block
Not available for this instruction.
Structured Text
Not available for this instruction.
Operands
IMPORTANT:
Make sure that your safety input modules are configured as single, not Equivalent or Complementary. These instructions provide all dual channel functionality necessary for PLd (Cat. 3) or Ple (Cat. 4) safety functions.
This table explains the instruction inputs.
Parameter | Data Type | Description | Values |
---|---|---|---|
LC | LIGHT_CURTAIN | This parameter is a backing tag. As such, it maintains important execution information for each usage of this instruction.
NOTE:
To avoid unexpected operation do not reuse this backing tag or write to any of its members anywhere else in your program | — |
Reset Type | BOOL | The reset type determines whether the instruction is using Manual or Automatic reset for Output 1. | Manual = 1 or Automatic = 0 |
Channel A 1 | BOOL | Channel A Input | Safe = 0, Active = 1 |
Channel B 1 | BOOL | Channel B Input | Safe = 0, Active = 1 |
Input Filter Time | DINT | This parameters selects the time, from 0...250 ms, used for filtering of the output pulse testing by the light curtain. | Initial = 0 ms Maximum = 250 ms |
Mute Light Curtain | BOOL | Permits muting of the light curtain when it is not being used. | Initial = 0 Mute Light Curtain = 1 |
Circuit Reset | BOOL | Circuit Reset Input Manual Reset - Sets Output 1 after Channel A and Channel B transition from the Safe state to the Active state, and the Circuit Reset input transitions from zero to one. Automatic Reset - Visible, but not used. | Initial = 0, Reset = 1 |
Fault Reset | BOOL | After fault conditions are corrected for the instruction, the fault outputs for the instruction are cleared when this input transitions from off to on. | Initial = 0, Reset = 1 |
1
If this input is from a Guard I/O
input module, make sure that the input is configured as single, not Equivalent or Complementary.This table explains the instruction outputs.
Parameter | Data Type | Description | Values |
---|---|---|---|
Output 1 | BOOL | Output 1 is set to the Active state when input conditions are met. | Safe = 0, Active = 1 |
Cycle Inputs | BOOL | Cycle Inputs prompts for action. Before Output 1 is turned on, Channel A and Channel B inputs must be cycled through their Safe States at the same time before the circuit can be reset. This prompt is cleared when Channel A and Channel B transition to the Safe state. | Initial = 0, Prompt = 1 |
Circuit Reset Held On | BOOL | Manual Reset - The Circuit Reset Held On prompt is set when both input channels transition to the Active states, and the Circuit Reset input is already on.
The Circuit Reset Held On prompt is cleared when the Circuit Reset input is turned off. Automatic Reset - Visible, but not used. | Initial = 0, Prompt = 1 |
Light Curtain Blocked | BOOL | This value indicates that the light curtain is blocked or has lost power. | Initial = 0, Blocked = 1 |
Light Curtain Muted | BOOL | This value indicates that the light curtain is muted (that is, not being used). | Initial = 0, Muted = 1 |
Inputs Inconsistent | BOOL | This fault is set when Channel A and Channel B inputs are in inconsistent states (one Safe and one Active) for a period of time greater than the Inconsistent Time Period (listed below). This fault is cleared when Channel A and Channel B inputs return to consistent states (both Safe or both Active) and the Fault Reset input transitions from off to on. Inconsistent Time Period: 500 ms | Initial = 0, Fault = 1 |
Fault Present | BOOL | This value is set whenever a fault is present in the instruction. Output 1 cannot enter the Active state when Fault Present is set. Fault Present is cleared when all faults are cleared and the Fault Reset input transitions from off to on. | Initial = 0, Fault = 1 |
IMPORTANT:
Do not write to any instruction output tag under any circumstances.
Operation
Normal Operation
This instruction monitors the states of two input channels and turns on Output 1 when the following conditions are met.
- When using Manual Reset: both inputs are in the Active state and the Circuit Reset input is transitioned from a zero to a one.
- When using Automatic Reset: both inputs are in the Active state for 50 ms.
This instruction turns Output 1 off when either one or both of the input channels returns to the Safe state.
These normal operation state changes are shown in the following timing diagrams.
Muting Operation
The one exception to the above Output 1 control is Light Curtain Muting that, when enabled, permits the inputs to leave the Active state and output 1 to remain on. The Light Curtain Muted output represents the value of the Mute Light Curtain input and indicates that the light curtain is not being used.
This instruction also has a Light Curtain Blocked output that indicates when the input channels are NOT in the Active state (ones).
These state changes are shown in the following timing diagrams.
If the Mute Light Curtain input is not set properly, or the light curtain is blocked after the muting period is finished, the behavior of this instruction reverts back to the behavior defined earlier when no muting is present.
Operation with Inconsistent Inputs
This instruction generates a fault if the input channels are in inconsistent states (that is, one Safe and one Active) for more than 500 ms.
This fault condition is enunciated via the Inputs Inconsistent and the Fault Present outputs. Output 1 cannot enter the Active state while the Fault Present output is active. The fault indication is cleared when the offending condition is remedied and the Fault Reset input is transitioned from zero to one.
These state changes are shown in the following timing diagram.
Operation with Circuit Reset Held On - Manual Reset Only
This instruction also sets the Circuit Reset Held On output prompt if the Circuit Reset input is set (1) when the input channels transition to the Active state.
These state changes are shown in the following timing diagram.
Cycle Inputs Operation
If, while Output 1 is active, one of the input channels transitions from the Active state to the Safe state and back to the Active state before the other input channel transitions to the Safe state, the instruction sets the Cycle Inputs outputs prompt. Output 1 cannot enter the Active state again until both input channels cycle through their Safe states.
These state changes are shown in the following timing diagram.
Input Filter Time
When an input filter time is specified, then, for that length of time, an input channel is allowed to go to the Safe state while the other channel is in the Active state without Output 1 going to its Safe state. However, Output 1 goes to the Safe state when both input channels are in the Safe state at the same time.
False Rung State Behavior
When the instruction is executed on a false rung, the behavior is the same as the true rung state, except all outputs, including prompts and fault indicators, are zero.
When the rung state becomes true, the outputs will be set as determined by the instruction logic.
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 | The .O1, .CI, .CRHO, .LCB, .LCM, .II, and .FP are cleared to false. |
Rung-condition-in is false | The instruction executes as described in the False Rung State Behavior section. |
Rung-condition-in is true | The instruction executes as described in the Normal Operation section. |
Postscan | The instruction executes as described in the False Rung State Behavior section. |
Example
Manual Reset Wiring
The following wiring diagram is one example of how to wire a light curtain’s two normally open outputs and two inputs required for muting to a 1791DS Safety I/O module to comply with ISO 13849-1 Category 4.
Manual Reset Programming
The following programming example shows how the Light Curtain instruction with Manual Reset can be applied to the wiring diagram shown above.
ISO 13849-1 Category 4 requires that inputs be independently pulse tested. The
Logix Designer
programming application is used to configure the following I/O module parameters for pulse testing.Input Configuration
Input Point | Type | Point Mode | Test Source |
0 (IN0) | Single | Safety | None |
1 (IN1) | Single | Safety | None |
2 (IN2) | Single | Safety Pulse Test | 0 (T0) |
3 (IN3) | Single | Safety Pulse Test | 1 (T1) |
4 (IN4) | Single | Safety | None |
5 (IN5) | Single | Safety | None |
Test Output
Test Output Point | Point Mode |
0 (T0) | Pulse Test |
1 (T1) | Pulse Test |
2 (T2) | Power Supply |
3 (T3) | Not Used |
Automatic Reset Wiring
The following wiring diagram is one example of how to wire a light curtain’s two normally open outputs and two inputs required for muting to a 1791DS Safety I/O module to comply with ISO 13849-1 Category 4.
WARNING:
Various safety standards (EN 60204, ISO 13849-1) require that when using the Automatic Circuit Reset feature, other measures must be implemented to make sure that an unexpected (or unintended) startup will not occur in the system or application.
Automatic Reset Programming
The following programming example shows how the Light Curtain instruction with Automatic Reset can be applied to the wiring diagram shown above.
ISO 13849-1 Category 4 requires that inputs be independently pulse tested. The
Logix Designer
programming application is used to configure the following I/O module parameters for pulse testing.Input Configuration
Input Point | Type | Point Mode | Test Source |
0 (IN0) | Single | Safety | None |
1 (IN1) | Single | Safety | None |
2 (IN2) | Single | Safety Pulse Test | 0 (T0) |
3 (IN3) | Single | Safety Pulse Test | 1 (T1) |
4 (IN4) | Single | Safety | None |
5 (IN5) | Single | Safety | None |
Test Output
Test Output Point | Point Mode |
0 (T0) | Pulse Test |
1 (T1) | Pulse Test |
2 (T2) | Power Supply |
3 (T3) | Not Used |
Example
Provide Feedback