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 Milli (mu) s during a pulse test, then the hardware must filter out low (0)signals that are 100 Milli (mu) 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
LC_LD_avail_v31
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.
LC_Normal Operation
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.
LC Muting Options
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.
LC_LIght Muting Curtain second example
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.
LC_Operation with Incosistent Inputs
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.
Light Curtain Operation w circuit reset held on manual reset only
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.
Light Curtain Cycle Inputs Operation
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.
Light Curtain Input Filter 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.
LC_Manual Reset Wiring
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.
LC_Other_Pg390_v31
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.
Light Curtain with Auto Reset wire and program
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.
LC_Other_Pg392_v31
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
LC_LD_ex_v31
Provide Feedback
Have questions or feedback about this documentation? Please submit your feedback here.