三菱PLC中构造双稳态按钮
关键词:双稳态按钮,触发器,可编程控制器。
1.引言
在很多设备中经常会遇启动/停止,前进/后退等等的这样操作,操作者通常希望用一个按钮来实现:按一下启动,再按一下停止;如此循环往复。把这样的按钮称为双稳态按钮,即有两种稳定状态;接通和断开都能保持,我们在设计中经常会遇到控制面板的按键位置不够和PLC的输入点数不够等这一问题.如果在PLC程序中把按键做成双稳态的,一个按钮身兼二职.这一问题就可以迎刃面解了,可见PLC程序把按钮做双稳态,在经济上是合算的。
2.成双稳态按钮的三种方法
2.1通过SET和RST指令来实现.
图1 通过SET和RST指令来实现
图1程序中,当第一次按下按钮X0.此时第一条支路因串联的M1为常闭点,而使M0接通条件满足置位 .第二条支路的执行条件不满足,暂不去理会.再看第三条支路,假设持续按着按钮不释放,因支路中串联进X0的常闭点而使接通条件不满足,直到释放按钮 X0,因串联的M0已经置位,从而使M1和Y0输出保持为"1".当第二次按下按钮X0时,因为M0的状态为"1",第一条支路条件不满足,第三条支路因 X0的按钮下而使M1和Y0输出为"0",M1由"1"变为"0"产生一个下降沿,使M0复位为"0",从而使M1和Y0的"0"状态得以保持,即使释放按钮X0以后,之后对按钮X0的操作,又重复上述过程.可见得到的是一个双稳态按钮.
2.2 利用PLC基本逻辑指令来实现
图2 利用PLC基本逻辑指令来实现
PLC程序是按一定的PLC扫描周期循环往复地的执行程序代码.在每一个PLC扫描周期内,先读入输入内的信号状态,然后执行用户程序,最后刷新输出信号状态.用户程序的执行是按照先后顺序自上往下依次执行的.图2程序中正是充分利用了PLC程序的程序的执行特点.现在分析它的工作过程.按一下按钮,使 X0变为"1",在第一个PLC扫描周期内,M0变为"1",M1变为"1".M1等于"1"会使M0变为"0",但M0的状态变化要到下一个PLC扫描周期才会执行,可见M0是宽度为1个PLC扫描周期的脉冲信号.因为M0等于"1".这样会使原来状态为"0"的Y0变为"1"从第二个PLC扫描周期起,不论X0变为"0"或保持为"1",M0都变为"0"并稳定在"0"上,这样Y0通过M0常闭点与Y0常开点串联的支路保持为"1"状态.再按一下按钮,M0又产生宽度为1个PLC扫描周期的脉冲信号,这个脉冲信号使原来状态为"1"的Y0变为''0"并稳定在"0"上.如此每次按一下按钮,Y0就在 "0"和"1"之间切换一次,形成双稳态信号.
2.3借助于算术运算指令来实现
图3借助于算术运算指令来实现
数字电路中,如果把输出的"非"端反馈到D触发的"D"输入端.则每来一个时钟冲,D触发器的状态就翻转一次.图3所示的程序借鉴了数字电路中的D触发器的工作原理,按钮X0每按下一次,就相当于给触发器CP端输入一个触发脉冲.相加所得和的最低位状态,就翻转一次,如果Y0取之最低位,就可得到周期性状态,在“0”、“1”之间变化的双稳态信号。 为了避免加法的计算结果溢出,用M0和M3使期复位,就又重新开始累加。
3.结束语
文章开始提到的启动/停止,前进/后退等两种状态,也可以选用具有保持功能的三位选择开关,这是一种硬件实现方案.也可以选用本文所述的软件实现方案.殊途同归.但通过软件的方式,却节省PLC输入点的开销。如果PLC的输入非常紧张,这是一种行之有效的方法,但若是输入点绰绰有余,这样做就有画蛇添足之嫌了。软件方案和硬件方案哪一是最佳的,那就要看实际情况而定了.如果硬件很贵,那就用软件人来实现这一功能.如果硬件很便宜.那何不充分发挥硬件的功能.PLC输入点的问题正是如此.适合才是最佳的.