(一)读取单片机的信息
根据空压机控制器内单片机的相关Modbus通讯协议,编写通讯“读信息指令”的数据帧,以PLC中的Modbus通讯指令发给控制器内的单片机,单片机响应后返回相应的数据帧。通过返回帧的相应字符串判断与控制器相连的空压机的各种故障状态工作状态以及空压机的各种压力温度数据,并将返回的各类数据存放在相应的数据寄存器。
在该子程序的开始部分,执行站地址加1的操作,即每进入读数据子程序就会读取上次读过的程序的下一台;靠站地址的不断变化我们实现了读取数据通讯的轮询操作。
Modbus指令只需要一次上升沿作为发送使能,第一周期sm124没有开合的状态变化即没有上升沿,所以第一周期过后靠sm1的常闭上升沿作为Modbus指令的发送使能。每次发送的同时靠发送使能的上升沿把sm135、sm136清位。sm135、sm136与通讯程序没有任何直接关系,只是贯穿程序所必须的标志位。
(二)向单片机中写入相关信息
整个写信息部分分下面三块:
a.逻辑判断运算部分
供气压力是系统各种运行状态改变与保持的唯一指标。压力小于供气压力要求下限就要更多的供气机组运行以增加供气量,压力大于供气压力要求上限就要把当前运行供气机组减少以减少供气量。而处于上下限之间的压力值时就保持当前机组的运行状态不变。
按照工艺控制逻辑来构成逻辑判断运算部分,并且机组按照先开后停的原则顺序启动(1、2、3←→3、2、1)。
为保证数据的正确性,需要判断读信息子程序的站地址与写信息程序将执行控制操作的站地址是否一致,然后需要判断相应的故障信息寄存器是否为0,为0证明无故障或轻故障,不为0则不向该站发任何控制指令并马上对下一台操作。
由于我们对故障进行了分类,所以可以根据不同类别的故障进行不同的控制操作:
1类故障不读不写(相应的故障信息寄存器为1)
2类故障只读不写(相应的故障信息寄存器为2)
没有故障纪录(相应的故障信息寄存器默认值为0)
对故障分类的控制策略是很有价值的,在以后的控制过程根据故障类别或者可以作为运行态的类别,进行有所区分的控制。不管是通讯控制方式还是数字I/O控制方式,相信都可以在某种程度上采用这类简便有效的方法。
b.数据帧结构部分
在这个部分里主要是发送数据帧的整体架构。
c.Modbus通讯指令发送部分
指令发送部分和读数据子程序类似,就不再多介绍了。
客户还要求机组顺序可以任意打乱,但是顺序号关联着整个控制流程又不能搭乱所以只能把机器号放到依照固定顺序排列的机器号寄存器里面去,打乱这些机器号寄存器里面存放着的机器号的顺序来实现机组顺序的任意性。主程序中加入了判断机组信息的部分,还是判断故障信息寄存器内的值,先根据这些值判断出有多少台机组在网,然后根据故障信息寄存器内的值判断哪台机组退网,退网的机组编号放在网内最后一台机组机器号寄存器的后面机器号寄存器里面。进网的时候只需改写故障信息寄存器,相应的在网机组台数可自行判断出来。这样进网退网的顺序就变成了先退先进。
四 总结
空压机系统联控可以根据实际需要自动开机或加载空压机以保持系统压力。有效保持了系统内空气压力稳定。调整了整体的负载平衡,减少了排气放空,节约了更多的能源,提高了监控系统的全面有效性,真正实现了无人自动化操作。
文章评论(0条评论)
登录后参与讨论