【八】F_TRIG: 检查信号下降沿
可以使用该指令在 CLK 从"1"变为"0"时置位输出 Q。该指令将比较 CLK 的当前信号状态与 CLK 上一次扫描的信号状态, CLK 上一次扫描的信号状态保存在背景数据块中。如果上一次扫描的 CLK (保存在背景数据块)为“1”,当前 CLK 信号状态为“0”,则说明出现了一个信号下降沿。检测到信号下降沿时,输出 Q 信号状态将在一个程序周期内保持置位为“1”。在其它任何情况下,输出 Q 的信号状态均为“0”。指令参数如表9所示,指令的使用示例如图23-25所示。
EN | Input | Bool | I、Q、M、D、L或常量 | 使能输入 |
ENO | Output | Bool | I、Q、M、D、L | 使能输出 |
CLK | Input | Bool | I、Q、M、D、L或常量 | 当前逻辑运算结果 (RLO) |
Q | Output | Bool | I、Q、M、D、L | 边沿检测的结果 |
表9、检查信号下降沿指令参数
图23、检测信号下降沿示例
图24、检测信号下降沿示例
图25、检测信号下降沿示例 Trace 轨迹
在上述示例中,当操作数“TagIn2”由“1”变为“0”时,操作数“TagIn1”、“TagIn2”、“TagIn3”的逻辑运算结果 (RLO) 即 CLK 输入 从“1”变为“0”,该指令输出 Q 中生成一个信号下降沿,输出的值在一个循环周期内为“1”,从图18-3中可以看到此时操作数“TagOut”被置位一个循环周期,通过“TagOut”将“TagIn4”置位为“1”。
(C)沿指令使用注意事项【一】—|P|—、—|N|—、 —(P)— 、—(N)—、P_TRIG、N_TRIG 均出现边沿存储位,该存储位:
(1)如果使用全局变量( DB 或者 M ),则该全局变量在程序中只能使用一次,即使一个变量判断多次检测边沿也是一样,每次检测边沿使用不同全局变量。
(2)如果使用局部变量,则只能使用 FC 的 InOut,FB 的 InOut、Static ,不能使用 Temp。并且每个边沿位使用不同的局部变量。
【二】R_TRIG、F_TRIG指令:因为边沿存储位位于背景数据块中,所以背景数据块、多重背景等不能重复使用,也就是每次使用都是一个新的背景数据块或者多重背景。
(D)沿指令使用常见问题【问】为什么进行边沿检测,得不到正确的输出?
【答】边沿检测不能正常输出,原因有以下几种可能:
【一】输入必须出现跳变,上升沿是从"0"变为"1",下降沿是从"1"变为"0",对于—|P|—、—|N|—,检测的是触点上面操作数的输入变化,对于 —(P)— 、—(N)—,检测的是线圈前的逻辑计算结果、对于 P_TRIG、N_TRIG、R_TRIG、F_TRIG 检测是的 CLK 输入。
【二】—|P|—、—|N|—、 —(P)— 、—(N)—、P_TRIG、N_TRIG 均出现边沿存储位,该存储位:
(1)如果使用全局变量( DB 或者 M ),则该全局变量在程序中只能使用一次,即使一个变量判断多次检测边沿也是一样,每次检测边沿使用不同全局变量。
(2)如果使用局部变量,则只能使用 FC 的 InOut,FB 的 InOut、Static ,不能使用 Temp。并且每个边沿位使用不同的局部变量。
【三】R_TRIG、F_TRIG指令:背景数据块、多重背景不能重复使用,也就是每次使用都是一个新的背景数据块或者多重背景。
【四】边沿输出只有一个扫描周期置位,监视程序是看不到的,需要连接一个置位指令或者加法指令进行捕捉。
- S7-1200程序块三种加密方法,还可以绑定硬件序列号! 2024-11-05
- 西门子生成式AI与博途深度融合,SCL编程轻松实现! 2024-11-05
- S7-1500 连接 S200 PN,这两点很重要! 2024-11-05
- 西门子首款虚拟 PLC——S7-1500V 2024-11-05
- 西门子 S7-1500V 成为奥迪虚拟化工厂核心,云端部署引领工业潮流! 2024-11-05
- 西门子Simatic Automation Workstation 2024-11-05
- 西门子新改版的网站,让人爱恨交加! 2024-11-05
- 西门子技术论坛 2024-11-05
- 西门子到底想要干什么? 2024-11-05
- 西门子新版网站产品查询和生成数据页的方法 2024-11-05