本文用一个为客户编写的袋式收尘设备的控制程序为例,来说明结合设备的控制要求中的规律来编程的方法及其优点。
具体实现方法
袋式收尘的控制系统要求比较简单,但由于设备中控制大量的输出点,实现起来PLC的程序部分比较繁琐。其基本控制功能有设备状态指示、电机启停及故障报警,这一部分功能的实现比较容易,在这里不做介绍,它的清灰动作输出部分在实现有比较特别之处,在本文中会把重点放在这一部分。
清灰部分动作有1#~16#脉冲阀、1#~16#提升阀及1#~4#缷灰阀36个输出点的输出控制。具体控制要求如下:
1. 脉冲阀、提升阀、卸灰阀进入循环状态:
1#提升阀通(T1时间后)→1#脉冲阀通(T2)→1#脉冲阀断(T3)→1#提升阀断(T4)→2#提升阀通(T1)→2#脉冲阀通(T2)→2#脉冲阀断(T3)→2#提升阀断(T4)......→16#提升阀通(T1)→16#脉冲阀通(T2)→16#脉冲阀断(T3)→16#提升阀断(T0)→1#提升阀通(TI)→1#脉冲阀通(T2)→1#脉冲阀断(T3)→1#提升阀断(T4)......
每当2,4,6,8,10,12,14,16号提升阀关断后,也即小循环完成后,开始一个卸灰循环:1#卸灰阀通(T11)→1#卸灰阀断(T12)→2#卸灰阀通(T11)→2#卸灰阀断(T12)→3#卸灰阀通(T11)→3#卸灰阀断(T12)→4#卸灰阀通(T11)→4#卸灰阀断。
2. 按一下脉冲阀测试按钮,1#脉冲阀通秒后关断,再按一下脉冲阀测试按钮,2#脉冲阀通秒后关断,再按一下脉冲阀测试按钮,3#脉冲阀通秒后关断....按第十六下脉冲阀测试按钮,16#脉冲阀通秒后关断,再按又回到1#脉冲阀......
3. 按一下提升阀测试按钮,1#提升阀通,再按一下1#提升阀关, 再按一下提升阀测试按钮,2#提升阀通,再按一下2#提升阀关...... 按一下提升阀测试按钮,16#提升阀通,再按一下16#提升阀关,再按又回到1#提升阀......
4. 卸灰阀测试原理和提升阀相同,4#卸灰阀通、断后又回到1#卸灰阀。
分析上述控制要求,在PLC程序中实现这些功能比较麻烦,如果设备的收尘室数目增加时,这一部分的程序将会更加冗长。客户反映,以前用某品牌的PLC时,程序的编制、调试及维护都有很多不便之处。根据客户的实际情况,结合施耐德电气PLC本身的特点,对设备的控制思路做了优化,以好的实现设备的要求。
在对客户的控制要求进行深入分析的基础上,发现控制要求中是有一定的规律:每个循环中脉冲阀、提升阀和缷灰阀的每个小循环动作是相同的,只是具体的阀的输出不同。脉冲阀和提升阀有16个小循环,缷灰阀有4个小循环,每个小循环中只有1个同类的阀在输出(脉冲阀、提升阀或缷灰阀)。
Schneider / Elau Servomotor PacDrive SH31004P02A2000
SEW Servomotor PSF321 CM71L/BR/HR/TF/AS1H/KX
mens AC HSA Motor 1PH6161-4CF06-Z Z:K31
mens Kompakt-Asynchronmotor 1PH7103-7EF22-0BK3-Z Z=X01
mens Kompakt-Asynchronmotor 7kW 1PH7105-2RF03-1KA9
mens Niederspannungsmotor 1LA6163-4AA60-Z
mens Niederspannungsmotor 1LA7070-4AB61-Z
mens Niederspannungsmotor 1LA7083-4AA93-Z
mens SIMOTICS M Kompakt-Asynchronmotor 1PH8131-1DF12-2BA1
mens Torquemotor 1FE1092-6WN10-1BB0
Allen Bradley Servo Motor MPL-B1520U-VJ42AA
Allen Bradley Servo Motor MPL-B1520U-VJ44AA
Allen Bradley Servo Motor MPL-B220T-VJ42AA