接触器已经接到动作命令,反馈却没有在规定时间内变化;或者程序已经撤销输出,反馈仍停在原来的状态。两种情况都可能触发 FDBACK,但检查方向并不相同。读懂反馈监控,关键是沿着动作请求、输出命令、执行机构、反馈输入追踪一次接通和关断,而不是看到 ERROR 就认定接触器损坏。 [1]
这是「SIMATIC Safety 工程笔记」的反馈应用篇,面向已经看过急停或安全门调用、需要理解执行回路监控的读者。本文解释指令与回路的关系,不替代接触器选型、完整安全电路和整机验收。文中状态对照、推理和检查建议没有经过本站仿真或实机验证。
版本与图示:行为按《STEP 7 Safety V21 Instructions》(11/2025)核对;实际调用图取自 V20 文档集合内的 S7-1200 入门例程,不是 S7-1500 现场截图,也不代表它使用了某个指定的新版指令。系列以 S7-1500F 与 ET 200SP 为主,但本文只借该图解释有明确来源的接口连接,地址和模块组态不能直接移植。 [1] [2]
检查和测试前:确认设备处于获准的维护状态,做好工程备份及危险能量控制。不要短接反馈、强制输出或伪造质量位来消除报警;确认和重新集成可能恢复输出,操作前必须判断其后果。本文的逻辑举例不是生产设备在线试验授权。 [6] [9]
一、反馈来自哪里,决定它能证明什么
以一个通过线圈控制的接触器为概念对象:程序先发出输出命令,接触器再动作,规定的反馈触点将状态送回输入通道。ON 是动作请求,Q 是本块的输出命令,FEEDBACK 才是外部回路返回的信息。三个值不能接成同一个“运行位”,也不能用程序里的 NOT Q 冒充接触器反馈。 [1]
这里的关键不是图纸上画了一个常闭触点,而是该触点与被监视主触点的关系是否有器件资料支持。Siemens 的 SET-Team 答复提到使用具有强制导向或镜像特性的触点,并记录反馈信号经过哪种输入、由 FDBACK 监视。这个答复没有证明任意辅助触点都能用,也没有为所有项目统一指定普通 DI 或 F-DI。 [8]
因此,读一个现成回路时,先把“执行器完整型号、反馈触点标识、图纸线号、输入通道、程序变量”对起来。若两个接触器的反馈串联成一个返回信号,该信号不能单独告诉程序是哪一个触点没有闭合;这是汇总连接的信息限制,不应在报警文案里擅自写成某一只接触器损坏。
还要区别反馈闭合与设备安全:反馈回路反映的是所选触点及输入链的状态,不会自动测量电机转速、机械惯性或全部残余能量。接触器监控通过只能作为安全功能证据的一部分,不能替代实际停止结果和完整验证。 [9]
二、从官方例程读懂一次完整调用
图 1 来自 Siemens S7-1200 入门资料的第 9 步。先看块左边的 AND:Start 与 #EN_Safety 组合后进入 ON;反馈从另一路输入进入 FEEDBACK;输出模块的 QBAD 接入 QBAD_FIO。这个图比空白接口框多说明了一件事:反馈监控接在已有允许和动作请求之后,而不是自己决定全部启动条件。 [2]

按图中的符号关系,可以这样阅读调用。表中保留可复制的标识符,但不把官方例程的值写成通用推荐。 [1] [2]
| 接口 | 图中连接 | 核对重点 |
|---|---|---|
ON |
Start AND #EN_Safety |
动作请求和已有安全允许的组合;不是反馈输入。 |
FEEDBACK |
Feedback |
应追到真实反馈触点及其采集回路。 |
QBAD_FIO |
输出 F-I/O DB 的 QBAD |
代表由 Q 控制的输出模块;不是反馈输入的质量。 |
ACK_NEC / ACK |
true / Acknowledge |
本例对反馈错误要求人工确认。 |
FDB_TIME |
T#500MS |
例程采用的 TIME 值,不是所有接触器的标准时间。 |
Q |
Motor |
输出命令;ERROR、ACK_REQ、DIAG 在图中没有接出。 |
原图与参数表有一处地址差异:图中 Motor 是 %Q17.0、输出 DB 名带 F00017;同页文字表写成 Q16.0 和 F00016_F-DQ4。本文保留这个差异,不替原资料选定哪套绝对地址才正确。自己的工程应以已核对的硬件地址和对应 DB 为准。 [2]
FDBACK 需要实例数据;单实例保存在实例 DB,多重实例位于调用块的静态区。图中实例是 FDBACK_DB,不能因为外部引脚相同,就忽略两个调用实际是否共用了不该共用的状态。核对时从主安全块找到调用,再追到本实例及输入、输出交叉引用。 [1]
EN/ENO 不允许接线。不要让这段逻辑只在故障时执行,也不要另建一条不经过 FDBACK 的同目标输出路径。这里检查的是程序组织;没有提供另写的 SCL 替代块,更不把普通定时器加比较逻辑当成原安全指令的等价实现。 [1]
三、分别看接通与关断,理解反向反馈
V21 将正常关系定义为:Q 与 FEEDBACK 的电平相反。在没有保存反馈错误、FEEDBACK 为 1 等条件下,ON 为 1 才能使 Q 接通;ON 为 0 或检测到反馈错误会撤销 Q。反馈没有在允许时间内跟随到所需状态时,ERROR 被置位并保存。 [1]
下面限定输出模块可用、反馈有效、没有既存错误,以常闭反馈返回方式解释一次正常过程。这是依据指令规则整理的状态对照,不是接线图或逐扫描实测数据。 [1]
| 过程 | Q 与 FEEDBACK | 该怎样理解 |
|---|---|---|
| 接通前稳定状态 | Q = 0,FEEDBACK = 1 |
返回回路处于接通准备所需的状态。 |
| 请求接通后 | Q 变为 1,FEEDBACK 随后应变为 0 | 允许真实执行器和输入链经历动作时间,不能要求同一瞬间变化。 |
| 接通后的稳定状态 | Q = 1,FEEDBACK = 0 |
反馈为 0 在这里是预期状态,不代表必然断线。 |
| 撤销请求后 | Q 变为 0,FEEDBACK 随后应回到 1 | 监视释放后的返回过程,不只检查吸合。 |
这张表也说明了为何不能用“反馈为 0=故障”显示所有情境。同一个输入值,在稳定接通期间和关断后等待返回期间,意义不同。报警记录需要把 Q、FEEDBACK、时间和当前阶段放在一起,不能只截一个反馈位。
接通方向未跟随:假定 Q 已经接通、输出质量正常,但 FEEDBACK 一直为 1,应检查命令是否到达目标输出、执行器是否动作、反馈触点及采集地址是否对应;超时结果并不能在这些可能性之间直接选出一个根因。
关断方向未返回:假定 Q 已撤销,而 FEEDBACK 持续为 0,则要检查执行器释放、反馈回路和输入链。它可能与接通方向使用同一个 ERROR,却不是同一个现场过程。仅把 ON 再置 1,不会证明此前的释放问题已经消失。 [1]
尤其要避免把 FDB_TIME 当成“收到停止请求以后再等待这么久才关断 Q”。在上述正常撤销请求的分支,Q 先撤销,时间参数用于监视随后返回的反馈;真实触点何时断开、机械何时停止,仍需另外取得证据。 [1] [9]
四、FDB_TIME 要覆盖真实返回路径,而不是复制 500 ms
先从图中拿掉一个容易产生的先入为主:T#500MS 是入门例程的参数赋值,不是厂家为当前设备算好的结果;同页表格的默认值栏又是 T#0MS,两栏不能混读。V21 的诊断说明提到了负值和设定过短的问题,但不能据此推断所有正值都合适。 [1] [2]
本文建议先建立一份时间依据记录:执行器在规定条件下的吸合、释放特性;输出到线圈、触点到反馈输入的实际路径;输入处理、通信及程序调用条件。接通和关断要分别考虑,观察点也要写清。测到“线圈电压变了”,与测到“程序读到了反馈”,不是同一个时间终点。
抑制器件也应进入这份记录。Siemens 的感性负载指南说明,抑制回路必须针对应用验证,并讨论了需要更快关断时采用不同抑制方式。这里引用的是 S7-1200 资料中的机制提醒,不把它的二极管、电压和接法移植成 ET 200SP 推荐方案。 [11]
软件计时还存在边界。V21 的 S034 要求考虑循环处理、时间基准更新和 CPU 内部计时容差。图 2 中,时间基准更新与指令实际执行时刻不是完全相同的时间点;先看周期分界,再看编号 ①、②、③ 对应的调用位置。 [5]

图中 ② 的第二次调用不会在同一个运行组周期内再次更新时间基准;①、③ 则说明前后周期调用位置变化时,使用的时间基准与实际经过时间可能不同。因此,不能靠在一轮里多调用几次 FDBACK 就宣称监控精度提高,也不应把其他 CPU 的容差数字直接用于当前 CPU。 [5]
最终参数需要兼顾正常路径的最不利返回时间与安全功能允许的检测时间。没有完整环境和时间证据时,本文不提供固定毫秒数。发生偶发超时,优先比较是否更换过线圈附件、输入处理或程序周期,再判断参数是否确实需要调整;不要先放大窗口,再把报警消失当成问题已经解释。
五、QBAD_FIO 说明输出不可用,不代替反馈输入诊断
输出 F-I/O 钝化时,实际输出可能被系统替换为故障安全值。FDBACK 需要知道这不是一次普通执行器跟随过程。V21 要求 QBAD_FIO 对应由 Q 控制的输出 F-I/O 或输出通道,以避免仅由这种钝化造成额外反馈错误和确认要求。它不是任意总故障位。 [1] [7]
在采用 Value Status(值状态)的相应 S7-1200/1500 配置中,状态为 1 表示通道正在提供有效过程值,为 0 表示提供故障安全值。接入 QBAD_FIO 时使用对应输出通道的反相值状态,方向是 VS = 1 → QBAD_FIO = 0、VS = 0 → QBAD_FIO = 1。 [1] [3]
注意,输出通道的值状态可以位于输入过程映像中,并不会因为对象是输出就自动出现在同一个 Q 地址。具体位置要查模块地址空间;后缀 _VS 只是命名,不是地址依据。通道值和值状态还要在同一 F 运行组内访问。 [3]
图 1 使用模块 QBAD,不能因此推广到全部 ET 200SP 场景。系统行为表显示,支持 RIOforFA-Safety 且按通道钝化的相应配置,某通道故障时模块总 QBAD 可以不变,而该通道值状态已经改变。实际应按协议特性、钝化粒度和目标输出通道选择质量来源。 [4]
与此同时,FEEDBACK 自己的输入链也可能有故障。QBAD_FIO 说的是输出侧,不能说明反馈触点、反馈电缆和输入通道全部正常。V21 将反馈输入的 I/O 或通道故障列入 DIAG 的可能原因,这也是排查时需要同时记录两侧模块状态的原因。 [1]
从这个分工可以得到两个检查禁区:不能把反馈输入的质量误接成输出的 QBAD_FIO;也不能把 QBAD_FIO 固定为 1 来抑制本应检查的问题。使用真实质量信息是在解释运行背景,不是在授权长期忽略反馈。若故障恢复后 Q 与现场动作不符,应继续查相应状态及输出链,而不是伪造“模块可用”。
六、确认的是反馈错误,不是每一次正常启动
FDBACK 与前面的急停、门监控不能套用同一套确认解释。本指令的 ACK_NEC 针对已保存反馈错误的确认方式。没有反馈错误且其他使能条件满足时,不能仅因 ACK_NEC 为 1 就认定每次 ON 接通前都必须按 ACK;它不是独立的整机启动保护。 [1] [6]
错误被保存后,应先排除原因并恢复规定的返回状态,再按照 ACK_NEC 处理。要求人工确认时,ACK_REQ 表示请求,ACK 的有效上升沿才是确认事件。按钮持续为高不产生新的上升沿;给 ON 反复制造变化,也不能代替错误确认。 [1]
V21 英文确认段使用了 discrepancy 这个容易误读的词。结合该页开头规定的反向关系,本篇只讨论错误已保存、Q 为 0、FEEDBACK 恢复到 1 的常见恢复情境;不把它解释为“错误仍在就可以确认”,也不补写原文未列明的逐扫描内部顺序。 [1]
可以将恢复记录分为三项:原因何时排除,反馈何时恢复,当前实例何时收到符合条件的 ACK。若 FEEDBACK 仍为 0,先检查返回链;若已请求确认却不清除,再检查确认来源和边沿。清除以前保存诊断,比先按复位再回忆发生了什么更有用。
接受确认前,还要看 ON 是否仍保持为 1。按指令的使能条件推理,错误清除后持续存在的动作请求可能再次使 Q 接通。人工确认并不天然保证“只消报警,不恢复输出”;应由项目的安全允许和启动逻辑约束后续动作,不能让人员在执行机构旁边试按确认。 [1] [6]
若准备采用自动确认,S033 明确要求先由其他措施排除相关过程的自动重启。F 系统重启还可能初始化 F-DB、丢失保存的错误并自动重新集成 F-I/O,因此重启 CPU 也不能当作安全的消警手段。 [1] [6]
模块的重新集成与 FDBACK 的错误确认又是两层:对规定的通信故障,应先排除故障、等系统给出对应 F-I/O 的确认请求,再由规定用户确认恢复过程数据。这个过程没有自动替 FDBACK 完成错误确认,也没有替机器完成启动判断。接口细节见 F-I/O 钝化、重新集成与启动保护。 [7]
七、用 DIAG 区分线索,不把位号当根因
DIAG 是 BYTE 类型的非故障安全服务信息。它同时包含错误、输出质量、确认请求和 Q 状态,所以“非零=设备故障”不是有效判断。下表按 V21 的位定义整理;掩码只是位号的十六进制表示,不要求整个字节与它相等。 [1]
| 位与掩码 | 表示什么 | 检查方向 |
|---|---|---|
Bit 0 / 16#01 |
反馈错误或反馈时间设置异常,对应 ERROR | 核对时间、接线、执行器、触点和反馈输入诊断,不直接判定接触器损坏。 |
Bit 1 / 16#02 |
Q 控制的输出 F-I/O/通道钝化,对应 QBAD_FIO | 查真正的输出模块状态及质量映射。 |
Bit 2 / 16#04 |
反馈错误后,FEEDBACK 持续为 0 | 查反馈触点、线路、采集通道和故障安全替代值。 |
Bit 5 / 16#20 |
反馈错误期间,ACK 持续为 1 | 查确认按钮、线路与保持逻辑。 |
Bit 6 / 16#40 |
请求确认,对应 ACK_REQ | 判断可否恢复输出,再核对确认事件。 |
Bit 7 / 16#80 |
Q 的状态 | 不是独立故障;Bit 3、Bit 4 在本版保留。 |
该页说明 Bit 0、2、5 保存到确认;当前画面中的某个诊断位不必然代表原因此刻仍然存在。本文也不从其保存说明推导所有自动确认分支的内部清位时刻。维护记录要同时保留当前输入、已保存信息和先前动作。 [1]
两组对照尤其有帮助:ON 为 0 时 Q 不接通,先检查是不是根本没有动作请求;Q 已撤销而反馈不返回,再追查释放与反馈链。两者都可能表现为“电机不运行”,但前者不能仅凭这一现象认定 FDBACK 报了故障。
还有一种容易造成假关联的情况:查看的是回路 A 的反馈,却把回路 B 的 QBAD 接到了这个实例。单看变量值都像正常信号,组合起来却解释不了动作。建议把实例名、ON/Q 交叉引用、反馈端子、输出槽位和质量地址放进同一份记录,先证明这些数据确实属于同一个回路。
八、验证要覆盖吸合、释放、故障和再次使能
实施测试之前:先批准测试环境、危险能量隔离、刺激动作及恢复条件。以下只是编制验证计划的建议,不要求在生产设备上人为卡住接触器、拔线或强制地址;测试的预期结果应在动作前写好。
首先检查正常接通与关断两个方向,记录动作请求、Q、反馈变化和观察工具的采样条件。确认两次返回都符合所用时间依据,而不是只观察一次最快吸合。再按批准方案评价反馈不变化、反馈迟到、输入不可用和输出钝化,确认各自诊断能落到对应层级。
恢复测试要同时看错误和输出:原因恢复但尚未确认、确认保持为高、符合条件的确认、ON 保持为高,以及 F 系统重新启动,应分别评价。不要把“错误消失”和“机器不会意外动作”合并成一个通过项;这也是为什么只测试复位按钮能不能消警还不够。 [6]
对于使用串联反馈的多个执行器,应逐个考虑受监视对象的故障及所需覆盖范围,不能因总反馈在一次正常动作中变化,就推定所有触点的每种故障都已验证。具体采用普通 DI 还是 F-DI、需要何种反馈结构,应回到完整安全功能论证,而不是由本文或一条论坛答复决定。 [8] [9]
建议保留“设备与指令版本 → 实例和地址映射 → 参数依据 → 测试条件与动作 → 预期 → 实际观察 → 未覆盖事项”。程序层的记录说明算法看到什么,现场证据说明执行器做了什么;两类证据不能互相替代。本篇没有实测记录,不预先把最后两栏填成通过。
修改 FDB_TIME、确认策略、反馈地址、质量来源或指令版本后,要检查全部受影响的安全相关数据;即使另一处逻辑未直接修改,也可能需要重新验证。保留参照工程和比较结果,按要求形成安全摘要及归档。 [9] [10]
读懂 FDBACK 后,应能回答的不是“怎样把 ERROR 清掉”,而是本次请求有没有到达输出、反馈为什么没有按时返回、错误清除后谁还在请求动作。需要查模块接口时转到 F-I/O DB 状态与控制接口;准备交付时再核对 程序验收、签名与归档。
资料来源
以下按实际读取的章节或答复列出。V21 指令规则、V20 文档集合中的 S7-1200 例程和支持论坛答复各有适用范围;未将它们合并为一套经过本站验证的 S7-1500 工程。
1. Siemens:FDBACK: Feedback monitoring。STEP 7 Safety V21 Instructions,11/2025;Description、Parameters、Instruction versions、Structure of DIAG;本篇指令行为基线。
2. Siemens:Step 9: Programming the feedback monitoring。Fail-safe modules Manual Collection V20,12/2024,S7-1200 Functional Safety Manual / Getting started;Procedure 配图和参数分配表。原图与表中的输出地址存在差异,见正文。
3. Siemens:Value status (S7-1200, S7-1500)。SIMATIC Safety V21,11/2025;Properties;数字输出值状态在输入过程映像中的位置说明。
4. Siemens:QBAD/PASS_OUT/DISABLED/QBAD_I_xx/QBAD_O_xx and value status。SIMATIC Safety V21,11/2025;按 CPU、协议特性与钝化粒度区分的状态行为表。
5. Siemens:Temporal blurring for instructions with time processing。STEP 7 Safety V21 Instructions,11/2025;警告 S034、时间基准更新图及编号 ①~③ 说明。
6. Siemens:Programming startup protection。SIMATIC Safety V21,11/2025;Introduction、警告 S008;初始化、重新集成和启动保护。
7. Siemens:After communication errors。SIMATIC Safety V21,11/2025;Behavior after communication errors、Reintegration of F-I/O;仅采用该故障类型的恢复条件。
8. Siemens:Declaring that feedback from contactor is connected to normal or safety DI in SET。Siemens 支持论坛,SE Support / SET-Team,2024-08-09;关于反馈回路和评估记录的答复。它是特定问题的支持答复,不是普通 DI 适用于任何安全回路的认证。
9. Siemens:Overview of System Acceptance。SIMATIC Safety V21,11/2025;安全工程数据正确性、测试、通信、在线/离线一致性及归档。
10. Siemens:Acceptance of Changes。SIMATIC Safety V21,11/2025;Introduction、影响分析,警告 S072、S071;不展开该页全部签名与通信章节。
11. Siemens:Guidelines for inductive loads。Fail-safe modules Manual Collection V20,12/2024,S7-1200 Functional Safety Manual;抑制回路的应用验证与关断时间说明。仅用于说明应核对抑制方式,不移植其元件参数。
图片说明:两张图分别来自资料 [2] 和 [5],保留原始软件界面与时间示意,未生成或改绘。图中工程、地址和示例参数不是本站现场记录。第三方图片权利归 Siemens,不随本站原创文字的 CC BY-NC-SA 许可重新授权。
修订说明:补充实际调用、接通与关断反馈、输出质量、计时依据及错误确认后的再次使能风险。正文不设目录。资料复核日期:2026-09-10;本文为资料解读与明确标识的推理,未进行仿真或实机验证。
Comments NOTHING