气缸是自动化控制设备中较为常用的一个电气元件,通过气缸可以实现很多动作的控制,如推料动作,夹紧动作等。当一个设备上气缸特别多的情况下,我们会把这个气缸控制程序打包成一个标准程序块,然后使用时进行重复调用即可,这样可以提升程序的编写效率。那么在S7-1200/1500中如何编写一个气缸标准块的程序呢?其实,在网站上可以找到很多工程师提供的气缸块程序,但在这里我给大家介绍下我在项目中使用的气缸标准块程序,仅供大家参考。
二、定义气缸块接口区
新建一个FB块并把该FB块的名称名为“Cylinder”,在该FB块的接口区中定义如下图所示的变量。
后续在程序中调用该气缸程序块时,可先按该接口区中建立的变量,建立一个PLC的数据类型,并把该PLC的数据类型命名为“TypeCylinder”。这样可以在DB块中快速完成项目中气缸相关变量的定义,如下图所示,在DB块中定义了提升气缸和夹紧气缸两个气缸的相关变量。
三、编写气缸块的控制程序
(1)气缸限位信号滤波
为了确保气缸的原位感应和工作位感应信号是真实的接通,而非误动作或是干扰原因造成虚假接通,因此程序中可对限位信号进行滤波操作,必须要求接通时间达到设定的滤波时间后,才认为是真正的有效信号。
(2)气缸手动和自动控制程序
编写气缸的手动和自动状态的控制程序,在自动运行状态下,自动命令气缸到工作位信号为ON,自动命令气缸回原位信号为OFF,且未收到气缸工作位限位信号,则置位气缸到工作位的命令信号,同理气缸回原位程序,手动程序的设计方法可采用同样的方法设计。
这里面”iWorkInterlockOK”和“iHomeInterlockOk” 为到工作位和回原位的连锁信号,当多个气缸的动作时,若有相关的连锁条件控制时可使用该变量,若无需使用该变量,在赋值的实参变量中赋值为1即可。
当做不管是在手动模式下,还是自动模式下,若命令气缸到工作位,则气缸回到原位的命令需要复位,同理,命令气缸回原位时,气缸到工作位的信号需要复位。
不管是在手动模式还是在自动模式下,命令气缸到工作位还是命令气缸回工作位,最后都都需要进行汇总输出,用于控制电磁阀的线圈。
(3)气缸的报警程序编写
气缸的报警程序可以分为以下几个部分来设计:①气缸执行工作命令,但一定时间内未收到原位和工作位的感应信号,则可认为异常报警。②气缸执行了到工作位的命令,但是一定的时间内,未收到工作位的限位信号,则可进行报警。③气缸执行了回原位的命令,但是一定的时间内,未收到原位的限位信号,则可进行报警。④气缸到工作位的命令和回原位的命令同时接通,则说明程序逻辑错位,则执行报警。
把所有的故障信号进行汇总输出一个报警输出,也可通过一个信号进行屏蔽报警输出,特别是在调试的过程中,可以通过在触摸屏上做屏蔽按钮,屏蔽报警输出信号。按下复位按钮,可对报警进行复位操作。
调用编写好的气缸功能块程序块,完成气缸的控制,如下图所示。