siemens西门子广元授权总代理
图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基本逻辑指令来实现
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借助于算术运算指令来实现
数字电路中,如果把输出的"非"端反馈到d触发的"d"输入端.则每来一个时钟冲,d触发器的状态就翻转一次.图3所示的程序借鉴了数字电路中的d触发器的工作原理,按钮x0每按下一次,就相当于给触发器cp端输入一个触发脉冲.相加所得和的位状态,就翻转一次,如果y0取低位,就可得到周期性状态,在“0"、“1"之间变化的双稳态信号。为了避免加法的计算结果溢出,用m0和m3使期复位,就又重新开始累加。
3.结束语
文章开始提到的启动/停止,前进/后退等两种状态,也可以选用具有保持功能的三位选择开关,这是一种硬件实现方案.也可以选用本文所述的软件实现方案.殊途同归.但通过软件的方式,却节省plc输入点的开销。如果plc的输入非常紧张,这是一种行之有效的方法,但若是输入点绰绰有余,这样做就有画蛇添足之嫌了。软件方案和硬件方案哪一是**的,那就要看实际情况而定了.如果硬件很贵,那就用软件人来实现这一功能.如果硬件很便宜.那何不充分发挥硬件的功能.plc输入点的问题正是如此.适合才是**的.
西门子PLC模块代理商 西门子触摸屏代理商 西门子代理商