图3、扫描操作数的信号上升沿示例
图4、扫描操作数的信号上升沿示例 Trace 轨迹
在上述示例中,TagIn3为,Tag_M为,当操作数“TagIn1”、“TagIn2”的信号状态为1时,当TagIn3信号状态从“0”变为“1”时,即检测到TagIn3的上升沿,此时将操作数“TagOut”置位为“1”一个周期,通过“TagOut”将“TagIn4”置位为“1”。
—|N|—:扫描操作数的信号下降沿
—|N|—
使用该指令,可以确定的信号状态是否从“1”变为“0”。该指令将比较 的当前信号状态与 上一次扫描的信号状态, 上一次扫描的信号状态保存在边沿存储器位 中。
如果 上一次扫描信号状态()为“1”,当前信号状态为“0”,则检测到信号的下降沿。
指令参数如表3所示,指令的使用示例如图5-7所示。
Input | Bool | I、Q、M、D、L或常量 | 要扫描的信号 | |
InOut | Bool | I、Q、M、D、L | 保存上一次查询的信号状态的边沿存储位 |
表3、扫描操作数的信号下降沿指令参数
图5、扫描操作数的信号下降沿示例
图6、扫描操作数的信号下降沿示例
图7、扫描操作数的信号下降沿示例 Trace g轨迹
在上述示例中,TagIn3为,Tag_M为,当操作数“TagIn1”、“TagIn2””的信号状态为1时,当TagIn3信号状态从“1”变为“0”时,即检测到TagIn3的下降沿,此时将操作数“TagOut”置位为“1”一个周期,通过“TagOut”将“TagIn4”置位为“1”。
—(P)—:在信号上升沿置位操作数
—(P)—
可以使用该指令在逻辑运算结果 (RLO) 从"0"变为"1"时置位。该指令将比较 RLO 的当前信号状态与 RLO 上一次扫描的信号状态, RLO 上一次扫描的信号状态保存在边沿存储器位 中。
如果上一次扫描的 RLO ()为“0”,当前 RLO 信号状态为“1”,则说明出现了一个信号上升沿。检测到信号上升沿时, 的信号状态将在一个程序周期内保持置位为“1”。在其它任何情况下,的信号状态均为“0”。
指令参数如表4所示,指令的使用示例如图8-10所示。
Output | Bool | I、Q、M、D、L | 上升沿置位的操作数 | |
InOut | Bool | I、Q、M、D、L | 保存上一次查询的信号状态的边沿存储位 |
表4、在信号上升沿置位操作数指令参数
图8、在信号上升沿置为操作数示例
图9、在信号上升沿置为操作数示例
图10、在信号上升沿置为操作数示例 Trace 轨迹
在上述示例中,“TagOut”为,"Tag_M"为,当操作数“TagIn1”、“TagIn2”、“TagIn3”的逻辑运算结果 (RLO) 从“0”变为“1”时,则将操作数“TagOut”置位一个程序周期,通过“TagOut”将“TagIn4”置位为“1”,“TagOut”又变为“0”。在其它任何情况下,操作数“TagOut”的信号状态均为“0”。