2.2 边沿触发
假设只希望在每次M11变为“on”的时候,也就是输入变量M11=1的时候,才给M11增量一次,即P1的上升沿触发,也叫做“一次触发”或“锁定”。要这么做,可能会复杂一些,需要一个复合条件来触发动作。作为触发条件的一部分,设置触发条件中一个条件为假,这样在下一个PLC扫描时该动作就不会发生。这样做最简单的办法就是使用一个“影子变量”,它将跟随输入变量值的变化。只有在影子变量与输入变量不匹配时动作才会发生。所编的代再为:
ELSE 如果M11为”假”(即:Mll=0)
P11=0影子变量P11则随着M11变换为“假”(即:P11=0)
ENDIF 结束
特别值得注意的是,在PMAC中,任何PLC程序里的SEND、COMMAND或DISPLAY命令仅仅在一个边沿触发条件中才能执行,因为PLC程序的循环要比这些处理它们的数据操作要快,并且如果在PLC的串行扫描下执行这些程序,通讯通道可能会无法工作。例如:
在本例中,如果没有使用P11这个影子变量(即未使用边沿触发),由于PLC的高速循环扫描,PMAC将不停地发送“#1J+”命令,系统将无法正常工作,甚至导致严重事故。
3 结束语
本文论述的基于PMAC的开放式数控系统中软件PLC的触发技术,在本课题组为星火机床有限责任公司开发的轧辊磨床数控系统中已多次使用。触发技术的正确运用,可以方便、安全地实现各种复杂的逻辑关系,充分体现了开放式数控系统的优越性。基于PMAC的软件PLC技术具有方便的编程环境、灵活的编程方式,降低了PLC编程的进入门槛,极大地方便了用户的使用,为开放式数控系统的普及奠定了基础。