关于上升沿和下降沿,我们应该用更通用的概念去理解,上升沿和下降沿是为了捕捉信号的变化状态,在沿发生时执行一个扫描周期,完成一次函数调用。就是如何判断上升沿和下降沿发生的问题,我们画图说明之,利用位逻辑的“与”运算就可以实现上升沿和下降沿的判断了,再利用Return(函数返回指令)配合完成调用执行一次。
简单看下博途自带的上升沿指令、沿指令这些描述:
P_TRIG:扫描 RLO 的信号上升沿、 每次执行指令时,都会查询信号上升沿。检测到信号上升沿时,该指令输出 Q 将立即返回程序代码长度的信号状态“1”。在其它任何情况下,该输出返回的信号状态均为“0”。 |
边沿存储器位的地址在程序中最多只能使用一次,否则,会覆盖该位存储器。这将影响边沿评估,并且结果会变得不明确。边沿存储位的存储区域必须位于 DB(FB 静态区域)或位存储区中。 |
R_TRIG:检测信号上升沿、 |
使用“检测信号上升沿”指令,可以检测输入 CLK 的从“0”到“1”的状态变化。该指令将输入 CL