扫描操作数的信号上升沿

描述

说明

使用“扫描操作数的信号上升沿”指令,可以确定所指定操作数(<操作数 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”。

 






审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分