图1 水泵的启动次序
3.2 软件设计特点
本控制系统中,5台水泵的热继电器故障输入及5个高水位信号输入共10个输入点,5个启动水泵及一个报警输出点共6个输出点,西门子CPU224具有12个输入点,10个输出点,已满足使用要求。
(1) 启动信号:1#~5#高水位脉冲信号,共用信号,水泵启动时代表水泵的队列编号(1#~5#)从备用泵队列中出列,同时此编号入运行泵队列。
(2) 停止信号:1#~5#低水位脉冲信号,共用信号,此时水泵编号的转移从运行泵队列移至备用泵队列
l 入列(入先进先出队列):当高水位脉冲信号到达时,使用填表指令(ATT)入表;
l 出列(出先进先出队列):当低水位脉冲信号到达时,使用先进先出指令(FIFO)出列。
(3) 故障出列:包括水泵运行或停止时出现故障时的出列,故障泵自动退出运行,并把下一台未运行的正常泵作为备用泵,随时等待启动信号。
故障定义:空气开关跳闸的输出信号、电机热继电器过载。
(4) PLC的程序设计流程图
图2示出PLC程序流程图。
图2 PLC程序流程图西门子PLC具有良好的编程界面,对于S7-200的编程软件STEP7 Micro WIN,各子程序及主程序是在编写时独立分开的,各个子程序可以定义为完成各种单独功能的子程序,以主程序调用各个子程序,各子程序之间可以互为调用。在本系统设计中,各子程序的功能定义及分配如下:
l SBR0:初始化子程序;
l SBR1:备用泵初始入列处理子程序;
l SBR2:故障出入列处理子程序;
l SBR3:队列移位处理子程序;
l SBR4:启停泵处理子程序;
l SBR5:定时轮换处理子程序。
以1#泵出现故障为例,在SBR2子程序中,水泵故障及修复后出入队列的部分程序如图3,其中,参数IN1传递的为水泵备用队列编号,参数IN2传递的为水泵运行队列编号。
图3 子程序SBR2
(5) 软件编写时应该考虑的问题
l 为防止水面波动引起浮球误动作,增加延时2s判断;
l 浮球故障引起的上下水位信号中有两个或以上信号同时或短时间内接通,此时只接收一个信号,同时由PLC输出报警,以便检查故障;
l 因水泵启动方式为Y/△启动,要求电机完全启动(即Y/△启动转换完毕)后第一水泵后才能启动下一台水泵,同时,为了减少电机启动时对电网的冲击,都不允许两台泵在短时间内相继启动,因此,需要对启动两台水泵之间增加一个延时判断,即如果在接收一个启泵信号之后的一定时间内不能再接收第二个启泵信号;
l 水泵的定时轮换工作。
4 结束语
本文介绍了多台电机的轮换控制的一种实现方法,该系统由于采用西门子S7-200 PLC实现多台电机的轮换工作及故障自动切换,使水泵工作时间均等,水泵电机寿命延长。由于该系统设计合理,自投入运行以来一直正常。
参考文献
[1] S7-200系列可编程控制器系统手册. 2002
作者简介
刘敏俊(1977-) 男 目前主要从事生产自动化的系统设计及应用编程。