说明
使用“扫描操作数的信号下降沿”指令,可以确定所指定操作数(<操作数 1>)的信号状态是否从“1”变为“0”。该指令将比较 <操作数 1> 的当前信号状态与上一次扫描的信号状态,上一次扫描的信号状态保存在边沿存储器位 <操作数 2> 中。如果该指令检测到逻辑运算结果 (RLO) 从“1”变为“0”,则说明出现了一个下降沿。
下图显示了出现信号下降沿和上升沿时,信号状态的变化:
每次执行指令时,都会查询信号下降沿。检测到信号下降沿时,<操作数 1> 的信号状态将在一个程序周期内保持置位为“1”。在其它任何情况下,操作数的信号状态均为“0”。
在该指令上方的操作数占位符中,指定要查询的操作数(<操作数 1>)。在该指令下方的操作数占位符中,指定边沿存储位(<操作数 2>)。
说明 修改边沿存储位的地址 边沿存储器位的地址在程序中最多只能使用一次,否则,会覆盖该位存储器。该步骤将影响到边沿检测,从而导致结果不再唯一。边沿存储位的存储区域必须位于 DB(FB 静态区域)或位存储区中。 |
参数
下表列出了“扫描操作数的信号下降沿”指令的参数:
参数 | 声明 | 数据类型 | 存储区 | 说明 |
---|---|---|---|---|
<操作数 1> | Input | BOOL | I、Q、M、D、L、T、C | 要扫描的信号 |
<操作数 2> | InOut | BOOL | I、Q、M、D、L | 保存上一次查询的信号状态的边沿存储位。 |
示例
以下示例说明了该指令的工作原理:
满足下列条件时,将置位操作数“TagOut”:
操作数“TagIn_1”、“TagIn_2”和“TagIn_3”的信号状态为“1”。
操作数“TagIn_4”出现信号下降沿。上一次扫描的信号状态存储在边沿存储器位“Tag_M”中。
操作数“TagIn_5”的信号状态为“1”。
文章来源于:电子工程世界 原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。