西门子南宁PLC模块代理商
西门子南宁PLC模块代理商
西门子南宁PLC模块代理商
S7-1200的位逻辑指令,这也是我们在学习PLC编程时先接触到的指令,基本的指令。位逻辑运算指令是对二进制位进行操作的指令,数据类型是BOOL型,这其中又包括了触点指令与赋值指令、置位与复位指令、沿脉冲检测指令这三个部分。
在两篇文章中,我们介绍了触点与赋值指令、置位复位指令,那么这篇文章就介绍一下S7-1200 PLC的沿脉冲类指令。
什么是沿脉冲指令呢?
沿脉冲是指程序执行中只接通一个扫描周期时间,也可以理解为是一瞬间的很短的一个时间。我们的沿指令分为上升沿和下降沿,当信号从0变成1的时候称为上升沿,当信号从1变成0的时候称为下降沿。
S7-1200 PLC提供了四种沿脉冲指令,包括扫描操作数信号边沿指令、在信号边沿置位操作数指令、扫描RLO的信号边沿指令,以及检测信号边沿指令。下面我们就分别来学习一下这些指令吧。
一、扫描操作数信号边沿指令
触点中间带P的指令是扫描操作数上升沿指令,触点中间带N的指令是扫描操作数下降沿指令。我们看一下程序段1的程序,当检测到I0.0从0变为1时,那么Q0.0就置位为1,那指令下方的M0.0是什么意思呢?
如果有用过S7-200/200 SMART PLC的话,都知道在这些PLC里面的沿指令上方和下方是没有操作数的,这也是我们S7-200/200 SMART PLC与S7-1200 PLC的区别,大家要特别注意了。其实指令下方的M0.0是边沿存储位,是用来存储上一次扫描循环时I0.0的状态的,PLC会通过对I0.0的当前状态和上一次循环状态的结果进行对比,判断是否有变化。
如果上一次循环状态为0,也就是M0.0为0的话,I0.0的当前状态为1,就说明产生了上升沿信号,这个触点就会接通,就可以置位Q0.0。同理,对于下降沿指令,如果上一次循环状态结果为1,也就是M0.1为1的话,I0.1的当前状态为0,就说明产生了下降沿。
二、在信号边沿置位操作数的指令
线圈指令中间带P的指令是在信号上升沿置位操作数指令,线圈指令中间带N的指令是在信号下降沿置位操作数指令。
同样的,这两个指令的下方也是有操作数的,比如下图程序中的M0.0和M0.1都是用来存储上一次的逻辑运算结果的。
如果上一次的逻辑运算结果是0,也就是M0.0为0的话,当I0.0从0变成1的时候(I0.3常闭为1),说明产生了上升沿,M10.0会接通一个扫描周期时间,同时将Q0.0置为1。这里需要注意的是,Q0.0的为1为0的状态是受的逻辑运算结果影响的,如果的逻辑运算结果为0,那么Q0.0就断开,如果的逻辑运算结果为1,那么Q0.0就接通。同理,在信号下降沿置位操作数指令也是一样的,这里就不再赘述了。
三、扫描RLO的信号边沿指令
P_TRIG是扫描RLO的信号上升沿指令,N_TRIG是扫描RLO的信号下降沿指令。同样的,这两个指令的下方也是有操作数的,比如下图程序中的M0.0和M0.1都是用来存储上一次的逻辑运算结果的。
我们可以看到P_TRIG和N_TRIG指令还有一个管脚叫CLK,CLK是逻辑运算结果的输入端。
我们看下图的程序,如果**个扫描周期的逻辑运算结果为0,也就是M0.0为0的话,当I0.0从0变成1的时候(I0.3常闭为1),说明产生了上升沿,M10.0会接通一个扫描周期时间,同时将Q0.0置位为1。
当扫描到**个扫描周期的逻辑运算结果为1,也就是M0.1为1的话,当I0.3接通,常闭点断开,说明产生了下降沿,M0.1会接通一个扫描周期时间,同时将Q0.0复位为0。
浔之漫智控技术(上海)有限公司专注于西门子等