Safely-Limited Speed (SLS)

This instruction only applies to the
Compact GuardLogix
5380 and
GuardLogix
5580 controllers.
The Safely-Limited Speed (SLS) instruction monitors the speed of a motor or axis and sets the SLS Limit output if the speed exceeds the Active Limit input value.
Available Languages
Ladder Diagram
SLS_avail lang_v31
Function Block
This instruction is not available in function block.
Structured Text
This instruction is not available in structured text.
Safely-Limited Speed Application
Safely-Limited Speed is used with a CIP safety drive that supplies motor or axis speed and a Safe Feedback Interface (SFX) instruction to scale the feedback. During operation, the SLS instruction signals when the motor speed exceeds a specified limit. During operation of the SLS function, the limit may be changed. The output is used to initiate an application specific action such as STO, SS1, SS2 or STO.
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.
    • The rung in condition is no longer true.
    • An instruction fault has occurred.
WARNING:
The SLS Safety Control structure contains internal state information. If any of the configuration operands are changed while in run mode, accept the pending edits and cycle the controller mode from Program to Run for the changes to take effect.
The following table provides operands used for configuring the instructions.
Operand
Data Type
Format
Description
Safety Control
SAFELY_LIMITED_SPEED
tag
Data structure required for proper operation of instruction.
Restart Type
list item
This input selects the Restart Type for the instruction.
MANUAL (0)
A 0 to 1 transition of the Reset input is required after Request has been removed to enable the instruction to operate.
AUTOMATIC (1)
The instruction will reset when the Request has been removed and no fault is present [FP] = OFF(0). Once reset, the instruction will be able to operate.
safety advisory
ATTENTION:
Only use Automatic Restart in applications where it is determined that no unsafe conditions occur from its use.
Cold Start Type
list item
Selects the Behavior when applying controller power or a controller mode change to Run.
MANUAL (0)
A 0 to 1 transition of the Reset input is required with the Request removed to enable the instruction to operate.
AUTOMATIC (1)
The instruction resets when the Request has been removed.
Inputs
The following table explains the instruction inputs.
Operand
Data Type
Format
Description
Request
BOOL
tag
When set to ON(1) this operand initiates operation of SLS monitoring.
Active Limit
REAL
immediate
tag
This operand defines the speed limit trip point.
Range: Greater than symbol zero
Units: Position Unit / Time Unit
Check Delay
INT
immediate
tag
This operand sets the delay time between the instruction Request input and the start of the speed monitoring.
Range: 0 to 32,767
Units: mSec
Feedback SFX
SAFETY_FEEDBACK_INTERFACE
tag
This operand provides velocity data. Assign this operand is to the Safety Control tag of the SFX instruction that is used with this SLS instruction. The following members of the SFX Safety Control tag are used:
FeedbackSFX.ActualVelocity units: Position Unit / Time Unit
Reset
1
BOOL
tag
This operand resets the SLS function. An OFF(0) to ON(1) transition resets the SLS function and Fault Present [FP] provided the Request is OFF(0) and any fault condition has been removed. The Reset Required [RR] output indicates when a reset is required to reset the function.
1
ISO 13849-1 stipulates instruction reset function must occur on falling edge signals. To comply with ISO 13849-1 requirements, add the logic immediately before this instruction. Rename the ‘Reset_Signal’ tag in this example to the reset signal tag name. Then use the OSF instruction Output Bit tag as the instruction’s reset source.
Reset-Signal Example
RSL5K_MMVC Reset-Signal Example_v31
Outputs
This table explains the instruction outputs. The outputs are external tags (safety output modules) or internal tags used in other logic routines.
Operand
Data Type
Description
Output 1 [O1]
BOOL
ON(1): Indicates the instruction is executing and the function is not faulted.
OFF(0): Any of the conditions below:
Reset Required [RR]
BOOL
ON(1): Indicates that a reset is required to restart the instruction and or to clear faults. See Reset Input for Reset sequence.
OFF(0): Normal operation under Automatic Restart operation.
Fault Present [FP]
BOOL
ON(1): A fault is present in the instruction.
OFF(0): The instruction is operating normally.
Diagnostic Code
SINT
This output indicates the diagnostic status of the instruction. See Diagnostic Codes and Corrective Actions for specific codes and actions.
Fault Type
SINT
This output indicates the type of fault that occurred. See the Fault Codes and Corrective Actions section for specific codes and actions.
Check Delay Active
BOOL
ON(1): Indicates that Check Delay timer is active.
This table explains the instruction outputs that are written to the user-specified tag.
Operand
Data Type
Format
Description
SLS Active
BOOL
tag
The SLS instruction writes the SLS Active status to this tag.
OFF(0): SLS not active
ON(1): SLS active
Tip:
Assign the SLS Active operand to the SLS Active member of the safety output tag structure corresponding to the motion safety instance of the drive module. The corresponding Axis Safety Status updates automatically in the drive axis tag structure to enable coordination of the motion task with the safety task.
SLS Limit
BOOL
tag
The SLS instruction writes the SLS Limit status to this tag.
OFF(0): Speed has not reached the limit.
ON(1): The speed limit was reached or exceeded.
Tip:
Assign the SLS Limit operand to the SLS Limit member of the safety output tag structure corresponding to the motion safety instance of the drive module. The corresponding Axis Safety Status updates automatically in the drive axis tag structure so that any necessary actions by the motion controller can be taken.
SLS Fault
BOOL
tag
The SLS instruction writes the SLS Fault status to this tag.
OFF(0): Not faulted
ON(1): Faulted
SLS Fault is set to ON (1) state for the following fault type and corresponding condition:
  • Configuration Fault
An instruction input operand value is out of range.
  • SFX Instruction Not Ready Fault
The feedback used for monitoring is not valid or the SFX instruction is not running when SLS is requested.
Tip:
Assign the SLS Fault operand to the SLS Fault member of the safety output tag structure corresponding to the motion safety instance of the drive module. The corresponding Axis Safety Faults tag updates automatically in the drive axis tag structure so that any necessary actions by the motion controller can be taken.
IMPORTANT:
Do not write to any instruction output tag under any circumstances.
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 .01, .FP, .RR, .SLSActive, .SLSLimit, .SLSFault, and .CheckDelayActive outputs are cleared to OFF(0).
The Diagnostic Code output is set to OFF(0).
The Fault Type output is set to ON(1).
Rung-condition-in is false
The .01, .SLSActive, .SLSLimit and .CheckDelayActive outputs are cleared to OFF(0).
If an instruction fault is present when rung went false the fault condition will be maintained and Diagnostic Code displayed.
Rung-condition-in is true
The instruction executes.
Postscan
N/A
Operation
Normal Operation
The SLS function begins if it has been previously reset and the Request input is asserted ON(1). At this point the Check Delay Timer will begin. When the Check Delay Timer expires speed monitoring begins. The speed provided by an SFX instruction is compared to the active limit. If the axis speed exceeds the Active Limit then the SLS Limit is set to ON(1) and remains on until the SLS function is reset.
All speed values used in the SLS instruction are in Position Units / Time Unit. A position unit is user defined according to the particular application and is configured in the SFX instruction. Time units are also configured in the SFX instruction and may be selected as seconds or minutes.
Pass-Through Tags
A Safe Motion Monitoring Drive has one or more motion axes that are controlled by a motion task. The Safe Motion Monitoring Drive also has one or more motion safety instances that support safety functions used in a safety task of a safety controller. Some of the tags associated with a drives motion safety instance are pass-through tags. The following table shows the pass-through tags and the corresponding axis tags for the SLS function:
SLS Instruction Output
Pass-Through Tags for Motion Safety Instance
Safe Motion Monitoring Drive Action
Axis Tag
SLS Active
module
1
:SO.SLSActive[instance
2
]
updates tag
axis
3
.SLSActiveStatus
SLS Limit
module
1
:SO.SLSLimit[instance
2
]
updates tag
axis
3
.SLSLimitStatus
SLS Fault
module
1
:SO.SLSFault[instance
2
]
updates tag
axis
3
.SLSFault
1
module is the name for the drive module in Logix Designer I/O Configuration tree
2
instance is 1 or 2 for dual axis drives otherwise null
3
axis is the axis name in the Logix Designer Motion Group and is associated with module
When assigning the SLS Active, SLS Limit and SLS Fault instruction outputs to the motion safety instance pass-through tags, the corresponding Axis Safety Status and Axis Safety Faults tags automatically update in the motion controller. The motion control task of motion controller reads the Axis Safety Status and the Axis Safety Faults tags to coordinate operation between the safety task and motion task. The following is a typical sequence of events:
  1. The safety application receives an input to begin speed monitoring.
  2. The safety application sets the Request input ON(1) to request the SLS function.
  3. The SLS instruction sets SLS Active output and writes the module:SO.SLSActive[instance] tag of the motion safety instance of the drive.
  4. The motion safety instance in the drive updates the Axis Safety Status tag read in the motion controller.
  5. The motion application reduces the axis speed or continues to maintain the axis speed below the SLS Active Limit.
In many applications it is necessary for the SLS Active Limit to change dynamically. Changes to the SLS Active limit are range checked and then applied to the SLS function even if the function is active. It may also be necessary for the motion application to coordinate speed control with Active Limit changes. To accommodate motion coordination the safety controller tag list contains two general purpose 16 bit tags for each motion safety instance. These tags appear as module:SO.PassThruData[A|B][instance]. Axis tags named axis.AxisSafetyDataA and axis.AxisSafetyDataB are updated whenever the corresponding pass-through tags module:SO.PassThruDataA[instance] and module:SO.PassThruDataB[instance] change values.
Normal Operation, Automatic Restart
Normal operation with Automatic Restart is shown in the following diagram. After Check Delay expires the speed must stay below the Active Limit or the SLS Limit will be set to ON(1). The SLS Limit, once set will remain ON(1) until the SLS function is reset. For automatic restart operation, the SLS function will be reset when the request is removed OFF(0) provided no SLS faults have occurred.
SLS Normal Operation Automatic Restart
Normal Operation, Manual Restart
When manual restart is enabled, the SLS function requires an OFF(0) to ON(1) transition of the Reset input to reset the SLS function instruction before subsequent operation. The Reset Required output indicates that the Reset input must make an OFF(0) to ON(1) transition to reset the instruction. The following diagram shows normal operation with Manual Restart.
SLS Normal Operation Manual Restart
Faulted Operation
Faults for the SLS Limit function are for invalid configuration, and SFX Instruction Not Ready described in the following section, Fault Codes and Corrective Actions. If the Active Limit is exceeded a Fault is not asserted, only SLS Limit is set to ON(1)
Fault Codes and Corrective Actions
Fault Code
Description
Corrective Action
1
No Fault
None.
2
Invalid Configuration Fault
  • Check the input values and correct inconsistencies or illegal values. Check the diagnostic code for more information
  • Reset the fault.
102
SFX Instruction Not Ready Fault
Ensure that the SFX function that supplies inputs to this SLS instance is executing and not faulted before requesting SLS.
Diagnostic Codes and Corrective Actions
Diagnostic Code
Description
Corrective Action
0
No diagnostic information.
None
10
Rung went false while SLS function was executing.
Make sure this instruction rung is enabled.
20
Active Limit value not valid.
Check the Active Limit value to ensure it is within the allowed range.
21
Check Delay value not valid.
Check the Check Delay value to ensure it is within the allowed range.
22
Active Limit exceeded.
Reduces the axis speed before Check Delay expires.
Example
SLS_example
Provide Feedback
Have questions or feedback about this documentation? Please submit your feedback here.