S7-1200CPU提供了四种沿脉冲指令供用户使用,分别为:扫描操作数信号边沿指令、在信号边沿置位操作数的指令、扫描RLO的信号边沿指令以及检测信号边沿指令。
信号从0--1的时刻称为上升沿,信号从1--0的时刻称为下降沿,不管是上升沿还是下降沿,在PLC程序中都只接通一个扫描周期的长度时间。
一、扫描操作数信号边沿指令
上升沿指令
当检测到M0.7的信号由0变为1时,Q0.6置位。程序中M1000.0称为边沿存储位,用来存储上一次扫描循环时M0.7的状态。
PLC通过对M0.7当前状态和上一次循环状态的结果进行对比,判断是否有变化。
若上一次循环状态位0(即M1000.0=0),M0.7的当前状态为1,则说明产生了上升沿信号,该上升沿触点指令导通。对于下降沿指令同理。
下降沿指令
二、在信号边沿置位操作数的指令
在线圈指令中间有P的指令称之为“在信号上升沿置位操作数”指令,在线圈指令中间有N的指令称之为“在信号下降沿置位操作数”指令。
M10.1存储上一次逻辑运算结果,当本次的逻辑运算结果与上一次进行对比,若上一次结果为0(即M10.1=0),而本次的结果为1,则说明出现上升沿,此时M10.0会保持一个扫描周期的接通,其他任何时刻M10.0断开。
注意:Q0.6的输出结果受逻辑运算结果影响,若逻辑运算结果为0,则Q0.6断开;若逻辑运算结果为1,则Q0.6接通。
三、扫描RLO的信号沿指令
P_TRIG为扫描RLO的信号上升沿指令,N_TRIG为扫描RLO的信号下降沿指令。
M200.0和M200.1分别存储前一个扫描周期的逻辑运算结果,CLK为输入端。
四、检测信号边沿指令
R_TRIG和F_TRIG,该指令是一个FB块,使用时需要为其分配背景DB块。
CLK为本次逻辑运算结果的输入端,该指令上一次逻辑运算结果存储于指令的背景DB块的“Stat_Bit”变量中。