安全反馈接口 (SFX)
此指令仅适用于
Compact GuardLogix
5380、 GuardLogix
5580 和 ControlLogix 5590 控制器。“安全反馈接口”(SFX) 指令可将反馈位置变换为位置单位,将反馈速度变换为位置单位/时间单位。“反馈位置”和“反馈速度”从“安全输入”组件读取。SFX 还允许从归零输入设置参考位置。在旋转应用中,SFX 可执行位置归位。
该指令的输出可作为其他驱动器安全指令的输入。对于提供位置和速度的驱动器,其安全反馈必须通过 SFX 指令传递给驱动器安全指令。
可用语言
梯形图

功能块
此指令不可用于功能块中。
结构化文本
此指令不可用于结构化文本中。
安全反馈接口应用
“安全反馈接口”应与 CIP Safety 驱动器及用于为安全控制器提供安全“反馈位置”和“反馈速度”的电机或轴搭配使用。实际位置和实际速度输出在根据用户应用进行变换之后,提供给其他驱动器安全指令。

操作数
重要提示:
以下情况下会导致运行出现意外:
- 输出标签操作数被覆盖。
- 结构操作数的成员被覆盖。
- 多条指令共用结构操作数。
警告:
“SFX 安全控制”结构包含内部状态信息。如果在运行模式下更改任何指令操作数,必须接受待定的编辑内容,并将控制器模式从编程模式循环切换到运行模式,以使更改生效。
下表给出了用于配置指令的操作数。
操作数 | 数据类型 | 格式 | 说明 |
|---|---|---|---|
Safety Control | SAFETY_FEEDBACK_INTERFACE | 标签 | 指令正确运行所需的数据结构。 |
Time Unit | 列表项 | 该操作数用于根据所选时间单位对“实际速度”输出进行变换。 秒 (0) “实际速度”的单位是“位置单位/秒” 分 (1) “实际速度”的单位是“位置单位/分” | |
Position Scaling | REAL | 立即数 标签 | 将位置计数转换为用户单位所需使用的转换系数。在梯级为真且“输出 1 [O1]”为 ON(1) 时会计算一次该值。 范围: 0单位:反馈计数/位置单位 |
Feedback Resolution | DINT | 立即数 标签 | 安全反馈编码器每转的“反馈位置”计数。该值必须与驱动器“安全反馈对象”使用的值匹配。 范围: 0 |
Unwind | DINT | 立即数 标签 | “反馈位置”的翻转点。在梯级为真且“输出 1 [O1]”为 ON(1) 时会计算一次该值。 0:禁用归位 0:启用归位单位:反馈计数/归位循环 设置为 0 时,禁用翻转归位。 “实际位置”输出将从(归位/位置变换)回滚为 0,或者相反,具体取决于移动方向。 |
Home Position | REAL | 立即数标签 | 通过指令成功归零后,分配给“实际位置”的值。在梯级为真且“输出 1 [O1]”为 ON(1) 时会读取一次该值。 单位:位置单位
小贴士:
如果“归位”配置为非零值,则“零点位置”必须介于 0 与“归位位置”之间。
|
Feedback Position | DINT | 标签 | 位置计数输入 单位:计数
小贴士:
输入用于提供位置的运动安全实例的“主反馈位置”标签成员。
|
Feedback Velocity | REAL | 标签 | 速度输入 单位:反馈单位/秒,其中“反馈单位”为转。
小贴士:
输入用于提供速度的运动安全实例的“主反馈速度”标签成员。
|
Feedback Valid | BOOL | 标签 | “反馈有效”输入用于指示“反馈位置”和“反馈速度”的有效性。 OFF (0):无效 ON(1):有效
小贴士:
输入用于提供反馈的运动安全实例的“反馈有效”标签成员。
|
Connection Faulted | BOOL | 标签 | 该输入用于指示与驱动器安全实例的连接状态。 OFF (0):确定 (OK) ON(1):故障
小贴士:
输入与该 SFX 指令搭配使用的运动安全实例的“连接故障”标签成员。
|
Home Trigger | BOOL | 标签 | 当此输入由 ON(1) 跳变为 OFF(0) 时,“实际位置”输出将设置为“零点位置”输入值,“安全反馈归零”输出将设置为 ON(1) 状态。 “归零触发器”设置为 ON(1) 时,“安全反馈归零”和“输出 SFH”输出将跳变为 OFF(0)。 |
Reset 1 | BOOL | 标签 | 如果不存在故障条件,此输入将清除指令故障。 当“复位”由 OFF(0) 跳变为 ON(1) 时,“存在故障”[FP]、“故障类型”和“诊断代码”将清零。“故障代码”将设置为“无故障”。 |
1
某些安全标准要求监控复位输入的转换。当复位用于复位安全功能时,可能需要额外的逻辑来验证复位输入从高电平到低电平或从低电平到高电平的转换。下表介绍指令输出。输出可以是外部标签(安全输出模块),也可以是用在其他逻辑例程中的内部标签。
操作数 | 数据类型 | 说明 |
|---|---|---|
Output 1 [O1] | BOOL | ON(1):表示指令正在执行,且未出现故障。 关闭 (OFF) (0):
|
Fault Present [FP] | BOOL | ON(1):指令中存在故障。 OFF (0):指令正常运行。 |
Safe Feedback Homed [SFH] | BOOL | 该指令输出用于指示指令已成功定义零点位置。 SFH 将与“安全反馈归零”操作数处于相同的状态。 OFF (0):未归零(仅限增量位置) ON(1):已归零(绝对位置有效) |
Actual Position | REAL | 该指令输出以位置单位表示位置。 单位:位置单位 如果指令发生故障,则“实际位置”将不再更新,并显示为 0。 如果指令梯级输入条件初始时为真,则“实际位置”的初始值为零。 如果“归位”值 0,在位置增大模式下,当“实际位置”达到“归位/位置变换”值时,实际位置将回滚为 0。在位置减小模式下,“实际位置”将从 0 回滚为“归位/位置变换”值。 |
Actual Cycles | DINT | 当“归位” 0 时,反馈配置为旋转应用。在旋转应用中,每当位置超过归位值或翻转点时,“实际循环次数”值都将递增。当旋转方向为负方向且位置减小到零时,位置将回滚为归位值,“实际循环次数”递减。 |
Actual Speed | REAL | 该指令输出表示来自安全反馈对象并已转换为用户定义速度单位的电机速度。 单位:“位置单位/秒”或“位置单位/分” 如果指令发生故障,则不再计算“实际速度”,并显示为 0。 |
Fault Type | SINT | 指示故障的类型。有关具体代码和措施,请参见“故障代码与纠正措施”部分。 |
Diagnostic Code | SINT | 指示有关故障原因的信息。有关具体代码和措施,请参见“诊断代码与纠正措施”部分。 |
下表介绍了写入用户指定标签的指令输出。
操作数 | 数据类型 | 格式 | 说明 |
|---|---|---|---|
Safe Feedback Homed | BOOL | 标签 | 此输出用于指示 SFX 指令已成功定义零点位置。 OFF (0):未归零(SFX 仅用于增量位置) ON(1):已归零(已设置零点位置) 当出现以下情况时,“安全反馈归零”将跳变为 OFF (0):
小贴士:
此标签将分配给与驱动器模块运动安全实例对应的安全输出变量结构的“安全反馈归零”成员。在驱动器轴标签中将自动更新对应的“轴安全状态 RA”标签,以协调运动控制任务与安全任务。
|
SFX Fault | BOOL | 标签 | 该输出表示 SFX 故障状态。 OFF (0):无故障 ON(1):出现故障 - 请参见“故障代码与纠正措施”部分
小贴士:
此标签将分配给与驱动器模块运动安全实例对应的安全输出变量结构的“SFX 故障”成员。在驱动器轴标签结构中将自动更新对应的“轴安全故障 RA”标签,以协调运动控制任务与安全任务。
|
重要提示:
在任何情况下,均不要对任何指令输出标签执行写操作。
影响数学状态标志
否
严重/轻微故障
没有特定于此指令的故障。请参见“数组索引编制”,了解关于数组索引故障的信息。
执行
梯形图
条件/状态 | 执行的操作 |
|---|---|
预扫描 | 将 .O1、.SFH、.SFHomed 和 .SFXFault 输出设为 OFF(0)。 将 “诊断代码”输出设为 OFF (0) 将“故障类型”输出设为 ON (1)。 将 ActualPosition、ActualCycles、ActualSpeed、PositionScalingOut 和 UnwindOut 设为 0。 |
梯级输入条件为假 | 将 .O1、.SFH 和 .SFHomed 输出设为假。 如果梯级变为假时存在指令故障,故障状态将保持不变,并显示诊断代码。 |
梯级输入条件为真 | 指令执行。 |
后扫描 | 未使用 |
归零操作
SFX 指令需要一个用于设置绝对位置操作零点位置的归零输入。在 (A) 点,“归零触发器”输入由 ON(1) 跳变为 OFF(0),并将“实际位置”输出设为“零点位置”输入值。成功执行归零操作后,“SF 归零”和“输出 SFH”都设为 ON(1)。同样如图所示,每当“归零触发器”为 ON(1) 时,“SF 归零”和“输出 SFH”都设为 OFF(0)。由于“实际位置”仅通过触发器更新为“零点位置”,因此建议在归零时将轴停止。

传递标签
安全运动监视驱动器具有一个或多个由运动任务控制的运动轴。安全运动监视驱动器还具有一个或多个运动安全实例,用于支持安全控制器的安全任务中使用的安全功能。与驱动器运动安全实例相关的标签中,有些是传递标签。下表列出了用于 SFX 指令的传递标签和对应的轴标签:
SFX 指令输出 | 运动安全实例的传递标签 | 安全运动监视驱动器的动作 | 轴标签 |
|---|---|---|---|
安全反馈归零 (Safe Feedback Homed) | module 1 :SO.SFHome[instance2 ] | 更新标签 | axis 3 .SafeFeedbackHomedStatus |
SFX Fault | module 1 :SO.SFXFault[instance2 ] | 更新标签 | axis 3 .SFXFault |
1
module 是 Logix Designer I/O 配置树中驱动器模块的名称2
对于双轴驱动器,instance 取 1 或 2,对于其他驱动器,则为空3
axis 是 Logix Designer 运动组中的轴名称,与模块相关将“安全反馈归零”和“SFX 故障”指令输出分配给运动安全实例传递标签时,在运动控制器中将自动更新对应的“轴安全状态 RA”和“轴安全故障 RA”标签。运动控制器的运动控制任务将读取“轴安全状态”和“轴安全故障”标签,以协调安全任务与运动控制任务。
反馈有效故障
若指令正在执行时,驱动器“安全输入”组件中的“主反馈有效”标签跳变为 OFF(0),SFX 指令将会出现故障。出现此情况时,在 A 点,输出 1 [O1] 跳变为 OFF(0),存在故障 [FP] 输出跳变为 ON(1),安全反馈归零/SFH 输出跳变为 OFF(0),“实际位置”和“实际速度”均设为 0。
当“反馈有效”在 (B) 点跳变为 ON(1)(故障状态不再存在)时,需要“复位”信号来清除故障,使输出 1 [O1] 跳变为 ON(1),并在 (C) 点开始计算位置和速度。
在 (D) 点,要复位零点位置,需要“归零触发器”输入由 ON(1) 跳变为 OFF(0)。

故障代码与处理措施
故障代码 | 说明 | 纠正措施 |
|---|---|---|
1 | 无故障 | 无。 |
2 | 无效配置故障 |
|
100 | 反馈无效故障 |
|
101 | 连接故障 |
|
102 | 正向算术运算溢出 | 位置超出线性系统的限制。缩小运动的范围。 |
103 | 负向算术运算溢出 | 位置超出线性系统的限制。缩小运动的范围。 |
104 | 零点位置算术运算溢出 | 零点位置超出线性系统允许的范围。检查程序,确定“零点位置”值和“位置变换”值是否正确。 |
105 | 实际速度(位置单位/时间单位)计算值超出 REAL 数据类型的限制。 | 检查确认“位置变换”和“反馈分辨率”输入值正确无误。 |
诊断代码与纠正措施
Diagnostic Code | 说明 | 纠正措施 |
|---|---|---|
0 | 无可用的诊断信息。 | 无 |
20 | 反馈分辨率值无效。 | 此分辨率必须大于 0。 |
21 | 位置变换值无效。 | 检查位置变换值。 |
22 | 归位值无效。 | 检查归位值。 |
23 | “归零触发器”由 OFF(0) 跳变为 ON(1) 时,“零点位置”值无效。 | 如果使用“归位”值,确认零点位置值大于等于 0.0 且小于“归位”值。 |
示例

提供反馈
0