Safety Feedback Interface (SFX)
This instruction only applies to the
Compact GuardLogix
5380 and GuardLogix
5580 controllers.The Safety Feedback Interface (SFX) instruction scales feedback position into position units and feedback velocity into position units per time unit. Feedback Position and Velocity are read from a Safety Input assembly. SFX also allows a reference position to be set from a home input. SFX performs position unwind in rotary applications.
The outputs of this instruction are used as inputs to other drive safety instructions. An SFX instruction must be used for every safe feedback from a drive providing position or velocity to a drive safety instruction.
Available Languages
Ladder Diagram
Function Block
This instruction is not available in function block.
Structured Text
This instruction is not available in structured text.
Safety Feedback Interface Application
Safety Feedback Interface is used with a CIP Safety Drive and a motor or axis that supplies safe Feedback Position and Velocity to a safety controller. The actual position and actual velocity outputs, scaled according to the users application are supplied to other drive safety instructions.
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:
The SFX 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 the operands that are used to configure the instruction.
Operand | Data Type | Format | Description |
---|---|---|---|
Safety Control | SAFETY_FEEDBACK_INTERFACE | tag | Data structure required for proper operation of instruction. |
Time Unit | list item | This operand scales the Actual Speed output according to the selected time unit. SECONDS (0) Actual Speed is in Position Units / Second MINUTES (1) Actual Speed is in Position Units / Minute | |
Position Scaling | REAL | immediate tag | The conversion factor required to convert position counts into user units. The value is evaluated once on rung true and Output 1 [O1] is ON(1). Range: 0 Units: Feedback Counts / Position Unit |
Feedback Resolution | DINT | immediate tag | The number of Feedback Position counts per revolution of the safety feedback encoder. This value must match the value used by the drive’s Safety Feedback Object. Range: 0 |
Unwind | DINT | immediate tag | The rollover point for Feedback Position. The value is evaluated once on rung true and Output 1 [O1] ON(1). 0: Unwind Disabled 0: Unwind Enabled Units: Feedback Counts / Unwind Cycle When set to 0, the rollover unwind is disabled. The Actual Position output will wrap around from (Unwind / Position Scaling) to 0 and vice versa depending on the direction of movement. |
Home Position | REAL | immediate tag | The value assigned to the Actual Position after a successful instruction home. The value is read once after rung true and Output 1 [O1] is ON(1). Units: Position Units Tip: If Unwind is configured for a non-zero value, the Home Position must be between 0 and the Unwind Position. |
Feedback Position | DINT | tag | Position counts input Units: Counts Tip: Enter the Primary Feedback Position tag member of the motion safety instance providing position. |
Feedback Velocity | REAL | tag | Velocity input Units: Feedback Units/Second, where Feedback Units are revolutions. Tip: Enter the Primary Feedback Velocity tag member of the motion safety instance providing velocity. |
Feedback Valid | BOOL | tag | Feedback Valid input indicates that the Feedback Position and Feedback Velocity are valid for use. OFF(0): Not Valid ON(1): Valid Tip: Enter the Feedback Valid tag member of the motion safety instance providing feedback. |
Connection Faulted | BOOL | tag | This input indicates the connection status to and from the drive safety instance. OFF(0): OK ON(1): Fault Tip: Enter the Connection Faulted tag member of the motion safety instance used with this SFX instruction. |
Home Trigger | BOOL | tag | A ON(1) to OFF(0) transition of this input sets the Actual Position output to the Home Position input value and sets the Safe Feedback Homed output to ON(1) state. Setting Home Trigger ON(1) clears Safe Feedback Homed and Output SFH outputs OFF(0). |
Reset 1 | BOOL | tag | This input clears an instruction fault provided the fault condition is not present. An OFF(0) to ON(1) transition of Reset clears, the Fault Present [FP], Fault Type and Diagnostic Code. The Fault Code is set to No Faults. |
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 ‘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. This table explains instruction outputs. The outputs are external tags (safety output modules) or internal tags for used in other logic routines.
Operand | Data Type | Description |
---|---|---|
Output 1 [O1] | BOOL | ON(1): Indicates the instruction is executing and not faulted. OFF (0):
|
Fault Present [FP] | BOOL | ON(1): A fault is present in the instruction. OFF(0): The instruction is operating normally. |
Safe Feedback Homed [SFH] | BOOL | Instruction output that indicates the instruction has successfully defined the home position. SFH will be in the same state as Safe Feedback Homed operand. OFF(0): Not Homed (Incremental Position Only) ON(1): Homed (Absolute Position Valid) |
Actual Position | REAL | Instruction output that represents the position in Position Units. Units: Position Units If the instruction is faulted the Actual Position will no longer be updated and will display as 0. When the instruction rung-in-condition initially becomes TRUE the Actual position will begin to update from the initial value of zero. If Unwind is 0 then Actual Position will wrap around to 0 when the Actual Position reaches Unwind / Position Scaling for increasing position. The Actual Position will wrap from 0 to Unwind / Position Scaling for decreasing position. |
Actual Cycles | DINT | When unwind is 0 the feedback is configured as a rotary application. In a rotary application each time the position exceeds the unwind value, or rollover point, the Actual Cycles is incremented. When rotation is in the negative direction and the position decreases past zero, the position wraps around to the unwind value and Actual Cycles is decremented. |
Actual Speed | REAL | Instruction output that represents the speed of the motor from the safe feedback object converted to user defined units for speed. Units: Position Units / Second OR Position Units / Minute If the instruction is faulted the Actual Speed will no longer be calculated and will display as 0. |
Fault Type | SINT | Indicates the type of fault. See the Fault Codes and Corrective Actions section for specific codes and actions. |
Diagnostic Code | SINT | Indicates information about the cause of a fault. See the Diagnostic Codes and Corrective Actions section for specific codes and actions. |
This table explains instruction outputs that are written to the user-specified tag.
Operand | Data Type | Format | Description |
---|---|---|---|
Safe Feedback Homed | BOOL | tag | This output indicates that the SFX instruction has successfully defined the home position. OFF(0): Not homed (SFX used for incremental position only) ON(1): Homed (Home Position set) Safe Feedback Homed transitions to OFF (0) when:
Tip: Assign this tag to the Safe Feedback Homed member of the safety output tag structure corresponding to the motion safety instance of the drive module. The corresponding Axis Safety Status RA tag updates automatically in the drive axis tag to enable coordination of the motion task with the safety task. |
SFX Fault | BOOL | tag | This output indicates SFX Fault status. OFF(0): Not Faulted ON(1): Faulted - See Faults and Corrective Actions Tip: Assign this tag to the SFX Fault member of the safety output tag structure corresponding to the motion safety instance of the drive module. The corresponding Axis Safety Faults RA tag updates automatically in the drive axis tag structure to enable coordination of the motion task with the safety task. |
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
Ladder Diagram
Condition/State | Action Taken |
---|---|
Prescan | The .01, .SFH, .SFHomed and .SFXFault outputs are cleared to OFF(0). The Diagnostic Code output is set to OFF (0) The Fault Type output is set to ON (1). ActualPosition, ActualCycles, ActualSpeed, PositionScalingOut, and UnwindOut are set to a value of 0. |
Rung-condition-in is false | The .01, .SFH and .SFHomed outputs are cleared to false. 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 | Not used |
Home Operation
The SFX instruction requires a home input to set a home position for absolute position operation. At (A), the Home Trigger input transitioned from ON(1) to OFF(0) and initiates the setting of the Actual Position output to the Home Position input value. With a successful Home Operation, SF Home and Output SFH, are set to ON(1). Also shown, SF Home and Output SFH are set to OFF(0) whenever Home Trigger is ON(1). Since the Actual Position is simply updated with the home position with the trigger, it is recommended that the axis be stopped when homing.
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 SFX instruction:
SFX Instruction Output | Pass-Through Tags for Motion Safety Instance | Safe Motion Monitoring Drive Action | Axis Tag |
---|---|---|---|
Safe Feedback Homed | module 1 :SO.SFHome[instance2 ] | updates tag | axis 3 .SafeFeedbackHomedStatus |
SFX Fault | module 1 :SO.SFXFault[instance2 ] | updates tag | axis 3 .SFXFault |
1
module is the name for the drive module in Logix Designer I/O Configuration tree2
instance is 1 or 2 for dual axis drives otherwise null3
axis is the axis name in the Logix Designer Motion Group and is associated with module When assigning the Safe Feedback Homed and SFX Fault instruction outputs to the motion safety instance pass-through tags, the corresponding Axis Safety Status RA and Axis Safety Faults RA 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.
Feedback Valid Fault
A SFX instruction will fault if the Primary Feedback Valid tag from the drive Safety Input Assembly turns OFF(0) while the instruction is executing. When this happens Output 1 [O1] turns OFF(0), Fault Present [FP] output turns ON(1), Safe Feedback Homed/SFH outputs turn OFF(0) and both Actual Position and Actual Speed are set to 0 at (A).
When Feedback Valid turns ON(1) (fault condition no longer present) at (B), a Reset is required to clear the fault, turn Output 1 [O1] ON(1) and begin calculating the position and speed at (C).
A Home Trigger input ON(1) to OFF(0) transition is required to reset home position at (D).
Fault Codes and Corrective Actions
Fault Code | Description | Corrective Action |
---|---|---|
1 | No Fault | None. |
2 | Invalid Configuration Fault |
|
100 | Feedback Invalid Fault |
|
101 | Connection Fault |
|
102 | Positive Arithmetic Overflow | The position exceeds the limits of linear system. Reduce the range of motion. |
103 | Negative Arithmetic Overflow | The position exceeds the limits of linear system. Reduce the range of motion. |
104 | Home Position Arithmetic Overflow | The Home Position exceeds the allowable range of a linear system. Check the program for correct Home Position value and Position Scaling value. |
105 | Actual Speed (position units/time unit) calculation has exceeded the limit of a REAL data type. | Verify Position Scaling and Feedback Resolution input values are correct. |
Diagnostic Codes and Corrective Actions
Diagnostic Code | Description | Corrective Action |
---|---|---|
0 | No diagnostic information available. | None |
20 | Feedback Resolution value not valid. | The resolution must be greater than 0. |
21 | Position Scaling value not valid. | Check the position scaling value. |
22 | Unwind value not valid. | Check the unwind value. |
23 | Home Position value was not valid when the Home Trigger transitioned from OFF(0) to ON(1). | If using unwind, verify Home Position value is greater than or equal to 0.0 and less than the Unwind value. |
Example
Provide Feedback