说明
使用“扫描操作数的信号上升沿”指令,可以确定所指定操作数(<操作数 1>)的信号状态是否从“0”变为“1”。
该指令将比较 <操作数1> 的当前信号状态与上一次扫描的信号状态,上一次扫描的信号状态保存在边沿存储位(<操作数 2>)中。如果该指令检测到逻辑运算结果 (RLO) 从“0”变为“1”,则说明出现了一个上升沿。
下图显示了出现信号下降沿和上升沿时,信号状态的变化:
每次执行指令时,都会查询信号上升沿。检测到信号上升沿时,<操作数 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”。
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !