位逻辑操作
任务
- 理解并学习“上升沿”、“下降沿”、“置位”、“复位”、“取反”等逻辑指令
- 复习一周的学习内容
位逻辑指的就是数字量的操作,前面我们讲了常开、常闭,下面,我们接着讲

上升沿脉冲指令 PLS 和下降沿脉冲指令 PLF
置位 SET 例:SET Y0 复位 RST 例:RST Y0 区间复位 ZRST 例:ZRST Y0 Y5 运算结果取反
上升(下降)沿脉冲
上升沿:上升沿指的就是信号从 OFF 转向 ON 的那一瞬间 下降沿:下降沿指的就是信号从 ON 转向 OFF 的那一瞬间

上升沿脉冲 :指的是当 PLC 检测到
有上升沿信号时,保持一个扫描周期的高电平,如


下降沿脉冲 :指的是当 PLC 检测到
有下降沿信号时,保持一个扫描周期的高电平,如


由上面的例子可以看到,如果使用了上升(或下降)沿脉冲,Y0 输出只会在 X0 上升(或下降)沿的瞬间接通一个扫描周期(也就是只会接通一次的意思,不管 X0 接通的时间有多长),至下个扫描周期,上升沿触点就会断开。
上升(或下降)沿触点在上升(或下降)沿的那一瞬间,只保持一个扫描周期的高电平(接通)状态
注意:
因为 PLC 的扫描速度很快,一般的按钮按下至松开的时间,不管你按的速度多快,都会比一个扫描周期长很多,有的可达到几百、几千个扫描周期,也就是说按钮按下至松开的这段时间,PLC 已经循环扫描执行程序几百、几千次了。
所以,在只需要程序执行一次的场合,必须要加上上升(或下降)沿脉冲指令
下面请看一个单按钮启/停的例子:
按下按钮,接通 X0,Y0 输出,再按下 X0,Y0 熄灭
请注意分析每个扫描周期的各个寄存器及触点的状态
程序:

当 X0 按下接通瞬间
第一个扫描期各寄存器状态: X0 上升沿脉冲接通,M0 线圈得电 当 PLC 由上升下扫描至 M0 触点时,因为 M0=1,所以 M0 触点动作,常开触点闭合,常闭触点断开,接通 Y0,Y0=1,如下图

第二个扫描周期 X0 上升沿脉冲不再接通,M0 线圈失电 当 PLC 扫描至 M0 触点时,因为 M0=0,所以 M0 触点复位,常开触点断开,常闭触点接通,而上个扫描周期的 Y0=1,触点动作,常开触点接通,常闭触点断开,Y0 线圈自锁,如下图

第三以后的扫描周期,Y0 依然保持自锁状态
如果再按下按钮,接通 X0 ,当 X0 按下接通瞬间
第一个扫描期各寄存器状态: X0 上升沿脉冲接通,M0 线圈得电 当 PLC 由上往下扫描至 M0 触点时,因为 M0=1,所以 M0 触点动做,常开触点闭合,常闭触点断开,而此时的 Y0 状态为 1 也就是接通状态(因为之前它都在自锁接通状态),所以相对应的 Y0 触点也是常开的闭合,常闭的断开,结果是 Y0 线圈失电,如下图

第二个扫描周期 X0 上升沿脉冲不再接通,M0 线圈失电 当 PLC 扫描至 M0 触点时,因为 M0=0,所以 M0 触点复位,常开触点断开,常闭触点接通,而上个扫描周期的 Y0=0,触点复位,常开触点断开,常闭触点接通,Y0 线圈依然在失电状态,如下图

接下来的扫描周期,Y0 依然保持失电状态,如果 X0 再次接通的话,那就重复上面接通的过程
PLS 和PLF指令
PLS 和PLF指令其实和我们前面学到的上升沿脉冲 和下降沿脉冲
一样。
PLS 是上升沿,表示的是在驱动输入为ON的瞬间,保持一个扫描周期的高电平
例: 表示在X0接通的瞬间,M0动作(接通)一个扫描周期,下个扫描周期后状态就不再为1(接通)

上面的程序和下面的执行结果是一样的

PLF 是下降沿,表示的是在驱动输入为OFF的瞬间,保持一个扫描周期的高电平

和下面的程序效果一样

PLS 和 PLF 更多时候会用在很多触点条件之后,表示在众多条件满足接通ON或OFF的瞬间执行某个动作,如:

当X0,X1,X2,X3四个触点条件满足(即X0和X2接通输入,X1和X3不接通)的瞬间,接通M0,M0接通,执行置位Y0,复位Y1的指令,下个扫描周期,M0不再接通
置位、复位指令
置位:SET
复位:RST
在这之前我们知道通过线圈直接可以输出使灯泡点亮; 然后我们又知道了三菱 PLC 的 Y 输出与否是和其相对应的输出映像寄存器有关,当其相对应的映像寄存区为 1 时,相对应的输出端子就接通,请看下面的例子:
PLC 扫描到 X0 触点,然后访问 X0 的映像寄存区,如果 X0 的映像寄存区的状态为 1(即 X0 端子和COM 短接),则认为 Y0 的线圈线路是接通的,PLC 把 Y0 的映像寄存区的状态置 1,然后接着往下扫描,如此循环。
在每一个扫描周期里,PLC 都会访问相应的 X0 映像,同时刷新 Y0 的映像寄存区。
而 Y0 的物理端子到底有没有接通输出,由 Y0 的映像寄存器的状态决定。
当 X0 接通,Y0 线圈得电,Y0 的映像寄存区的状态置 1,Y0 的物理端子就输出,如接上外围电路连通灯泡,灯泡就亮。
反之,Y0 的映像寄存区的状态为 0,Y0 的物理端子就没有输出,灯泡不会亮。
由此可见
信息
PLC 的物理端子有没有输出,是由相对应的映像寄存区的状态决定的!相对应的映像寄存区状态为 1,有输出;为 0,无输出
而我们看到上面的 Y0 线圈得电失电,相对应的物理端子有输出和无输出的, 实质就是:PLC 根据线圈的状态不断地对 Y0 的映像寄存区进行置位(设 1)和复位(复 0)的结果
了解了 PLC 输出的实质以后,我们再来看置位 SET 和复位 RST
置位 SET:PLC 一执行置位指令,就是对相对应的位寄存器进行置位(设 1)的动做。例:

当 X0 上升沿来时,接通 [ SET Y0 ] 这条指令,把 Y0 映像寄存区的状态置 1,Y0 就有输出,下个扫描周期来时,X0 上升沿的指令触点变为断路状态(上升沿指令只保持一个扫描周期的高电平),不再执行 [ SET Y0 ]
请思考一下 ???
Y0 端子的状态会是什么样?
很显然,Y0 端子还是处于输出导通状态,道理很简单,因为 Y0 的映像寄存器的状态依然还是 1。这时可能会有人问,那为什么线圈输出的 Y0,线路断的时候,Y0 就会失电,Y0 端子就不再有输出?
这是因为线圈输出的执行过程是:
- 当
通路时,Y0 线圈得电,即 PLC 会把 Y0 映像寄存器置 1; - 当
断路时,Y0 线圈失电,即 PLC 会把 Y0映像寄存器复 0。
信息
线圈断路时 Y0 不再有输出,不是 PLC 不执行指令,而是 PLC 执行了把 Y0 映像寄存器复 0 的动作。
而指令 [ SET Y0 ] 的功能仅仅只是把 Y0 的映像寄存器置 1。虽然由于断路了,PLC 不再执行该程序,但Y0 的映像寄存器依然还是 1;就好像你去把灯打开了,你虽然不再按着开关,灯依然还是亮的一样,那如果我们想要灯灭掉,即 Y0 不再有输出怎么办?
这里就有了复位指令RST, RST 指令和 SET 指令一样,只不过它是对状态位置 0 的。如

按下 X0,Y0 有输出(灯亮),按下 X1,Y0 没输出(灯灭)
请思考
如果要求,用置位复位指令实现:按下 X0,Y0 有输出(灯亮),松开 X0,Y0 没输出(灯灭)
应该怎么实现??
上面我们学习了单个的置位和复位,但有的时候,我们想一下子把好多点都复位时怎么办?这里就引进了区域复位的概念
区域复位
ZRST Y0 Y5 执行指令结果是把 Y0-Y5(Y0、Y1、Y2、Y3、Y4、Y5)全都置 0
例:

按下 X0,置位 Y0 按下 X1,置位 Y1 按下 X2,置位 Y2 按下 X3,Y0、Y1、Y2 都复位
运算结果取反

- 当 X0、X1、X2 三个触点串联的
通路导通,则 Y0 输出,因为 Y1 前面加了运算结果取反指令,所以 Y1 无输出 - 当 X0、X1、X2 三个触点串联的
通路不导通,则 Y0 无输出,因为 Y1 前面加了运算结果取反指令,所以Y1有输出
总结
学到这里,我们总结一下,我们都学习了什么内容,应该掌握哪些要点
- 自动化系统的概念,PLC 和外围设备的关系
- PLC 和外部设备是怎么连接的,输入输出关系是什么样的
- 三菱 PLC 的选型
- 三菱 PLC 的 X 输入端子怎么样接通输入,Y 输出端子怎么样接通输出控制执行机构
- PLC 扫描机制,扫描周期,映像寄存器的实质
- 三菱编程软件的应用,新建工程,编写程序,修改程序,下载程序,模拟器应用等
- 常开触点、常闭触点、输出线圈、中间继电器 M、定时器 T
- 上升/下降沿脉冲
- 置位/复位指令应用及和线圈输出的本质
- 区域复位指令
- 运算结果取反指令
注意
这里,在编程时还要注意以下几个问题
- 输出线圈或指令前一定要连有触点条件,像下面的程序是不对的,编译不了的

- 2、同一个程序里不要出现两个以上相同名字的线圈,如

为什么呢?
假设 X0 接通时,第一条程序就接通了 Y0,而 PLC 扫描到第二条程序时,如果 X1 是断路的,那 PLC 又把 Y0 给复位了,所以,第一条程序和第二条程序是冲突的。如果出现这种情况,PLC 的执行输出结果是最后那一条程序的执行结果