首先在RSLogix5000组态软件中建立絮凝池系统任务,分别建立执行不同任务的子例程。采用这种将不同功能分离的程序结构,一则条理清晰,在编写程序时不易将各部分程序混淆,不易出错;二则在调试或某些特殊情况下,可以不触发某个跳转指令的级条件,使某部分功能失效,比如使Output例程失效,便可以不产生实际输出的控制信号,便于系统的调试。其程序结构见表3-3。
表3-3 絮凝池系统程序结构
1.主程序例程
MainRoutine主例程实现向不同功能例程的跳转,这部分例程的程序如图3-4所示。
2.输入例程
Input例程实现絮凝池系统所需的外部输入数字量向内部中间变量的传递。以1#排泥阀开启状态的输入为例,其状态输入量包括开阀状态及控制模式Local:I:Data[0].0~Local:I:Data[0].15位分别对应1#~16#排泥阀的开启状态。其他排泥阀同理,具体程序如图3-5所示。
图3-4 主例程程序
图3-5 1#排泥阀开启状态输入程序
控制模式输入程序如图3-6所示。
Local:I:Data[1].1位为遥控输入信号,状态0为手动控制状态,状态1为遥控状态。
3.输出例程
Output例程中的程序实现开阀命令的实际输出功能,同样以1#排泥阀为例,如图3-7所示。
Local:O:Data[2].0~Local:O:Data[2].15分别对应1#~15#排泥阀的开阀控制信号。
图3-6 1#排泥阀控制模式状态输入程序
图3-7 1#排泥阀开阀命令输出程序(www.daowen.com)
4.程序控制流程
ProgControl例程实现排泥阀的程序控制功能,其顺序流程如图3-8所示。
图3-8 排泥阀程序自动控制流程
当控制方式为远程控制状态且每个排泥阀为程序控制方式时,程序可控状态信号prog_avbl位置位,如图3-9所示。
当进入程序控制状态,prog_open程序控制置位后,开始执行程序自动控制,发出程序控制开启第一组排泥阀请求,当第一组排泥阀关闭时间大于设定的时间后,发出开启第一组排泥阀命令,并发出关闭排泥阀请求,复位程序循环控制位prog_cycle,如图3-10所示。
图3-9 程序可控逻辑判断
图3-10 程序控制请求开启第一组排泥阀
当第一组排泥阀开启时间大于等于预设开启时间后,发出关闭第一组排泥阀命令并复位开启第一组排泥阀请求,发出开启第二组排泥阀请求,如图3-11所示。
图3-11 程序控制开启第一组排泥阀
以同样的编程方法开启2、3、4组排泥阀,当关闭第四组排泥阀命令发出后,完成一个周期的程序控制,程序循环控制位prog_cycle位置位,空闲60s后,发出开启第一组排泥阀请求,复位关闭第四组排泥阀请求,进入下一个周期的循环,如图3-12所示。
图3-12 程序控制循环
5.设备控制例程
完成上述的程序控制逻辑,下面要在例程Valvegroup1、Valvegroup2、Valvegroup3、Valvegroup4中编写各组排泥阀的单体控制逻辑程序。根据排泥阀控制要求,将采用罗克韦尔自动化提供的具有完善控制功能Add-on指令——P_ValveSO来完成。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。