Kinco PLC在煤矿矿车刷洗系统中的应用
在煤矿矿车刷洗系统中,要求实现“无人值守,少人看守”的要求,为适应这一要求,我们为山东某煤矿企业开发了此系统。
二、工艺要求
用电磁阀控制喷枪的开启和关闭来达到喷淋降尘的目的,对电磁阀要求能够通过PLC输出点以及RS485通讯并行控制,以达到双机冗余的效果;喷淋的启停时间、间隔时间、中断时间可以任意修改;系统要求具备假期中断功能以备领导视察时使用;此外,还应具备密码等级切换、时钟修改等功能。系统共分为手动、自动、停用三种状态。
1. 手动
可以强制关闭和开启任意阀门、泵.
2.自动
系统切换到自动状态后,要求先判断当前时间是否允许运行:当前时间是否在运行时间内、中断时间及假期中断时间外。如果当前时间满足运行条件,则先启动泵,泵启动之后判断当前时间是否处于1#喷枪中断时间内,如果在中断时间内,1#电磁阀不运行,接着判断2#喷枪的中断时间;如果当前时间处于1#喷枪的中断时间之外,则启动1#电磁阀。1#喷枪运行时间到,关闭1#电磁阀,然后判断并决定是否启动2#,一直到最后一个电磁阀,最后一个喷枪运行时间到后,判断泵延时时间及喷枪中断时间,这两个时间都满足后开始下一循环。
3. 停用
整套系统停止,手动/自动均不起作用。
三、硬件配置
触摸屏: MT4300L 1台
PLC: Kinco-K306EX 1个
PLC扩展模块 依据喷枪的个数而定。
Plt485:支持RS485通讯的中间继电器,数量6~24个,该项目中采用了6个
四、编程思路
利用PLC的Port1口同触摸屏通讯,利用Port0的自由口通讯协议同Plt-485模块通讯来控制电磁阀,电磁阀同时还可以通过PLC输出点来控制(此功能已经预留)。
1. 时钟功能,
由于对电磁阀的控制是通过诸多时间要素来限定,并且这些时间要能在触摸屏画面上读写,因此要求屏和PLC的时间要一致,所以就用到了PLC的内部时钟功能,将PLC的内部时钟显示到屏并以此作为当前时间来同各种时间参数做比较判断。
如上,使用READ_RTC指令读取PLC内部时钟放在VB寄存器,由于在屏的组态中只能使用VW寄存器,所以用B_To_I指令将时间参数由字节型转换为整数型,则时间与寄存器的对应关系如下:
VB10:星期
VB11:秒 VW100
VB12:分钟 VW102
VB13:小时 VW104
VB14:日 VW106
VB15:月 VW108
VB16:年 VW110
现在,我们就可以利用VW100~VW110做为判断条件与设定的各种时间进行比较了。
同时,为了避免PLC长时间工作后内部时钟可能造成的误差,在触摸屏画面中单独做了一个时钟修正功能,以随时校准时间。
在触摸屏输入校准的时间,然后点击修改,通过PLC程序中的SET_RTC指令则成功更新系统的当前时间。
2.自由口通讯
Kinco-K306EX 本体集成了2个串口,这两个串口默认使用Modbus RTU协议,当使
用自由通讯指令时,自由口通讯被激活。在这里我们使用Port0做自由口通讯,自由通讯的参数定义如下:
SMB86:自由通讯接受状态字节
SMB87:自由通讯接受控制字节
SMB88-SMW94:自由通讯控制字
然后定义自由通讯时要发送的数据(以2#站为例):
VB0:B#16#8 发送8个字节
VB1:B#16#02 2号站
VW2:16#06 RS485模块默认
VW4:16#08 第一个继电器,09为第二个继电器
VB6:B#16#01 打开,00为关闭
VB7:B#16#98 RS485模块默认
VB8:B#16#3B RS485模块默认
将数据设置完毕之后,就可以在需要的时候通过XMT指令将这些数据发送出去来控制RS485模块的继电器动作。
实际使用时是通过RS485通讯来驱动电磁阀工作的,而通过PLC输出点的控制方式已预留接线以备通讯故障时使用,这两种控制方式在程序中是并行的,所以我们就考虑使用PLC的输出点来触发自由通讯的数据发送指令,相应的PLC输出点在高、低电平变换瞬间发送数据控制Plt485继电器的开启与关闭。
3.对时间的判断
在自动程序中有较多的时间判断,需要比较系统的当前时间(既PLC内部时间)与各种
设定时间。以运行时间为例,运行时间的设定包括4个参数:小时_起始、分钟_起始、小时_结束、分钟_结束,只有当前时间在起始时间和结束时间之内时才允许自动运行,那么对这个时间的判断可分三种情况:
A.小时_起始 < 实际的小时 < 小时_结束
B. 小时_起始<= 实际的小时 < 小时_结束
并且 分钟_起始 < 实际的分钟
C. 小时_起始<= 实际的时 <= 小时_结束
并且 分钟_起始 < 实际的分钟 < 分钟_结束
上述三种条件只要成立一个,即可认为允许运行,对其它时间的判断也大致如此。
五、触摸屏画面中的几个名词
触摸屏时间操作画面
运行时间: 当前时间在此范围内系统允许自动运行
中断A: 当前时间在此范围内系统不允许自动运行
中断B: 当前时间在此范围内系统不允许自动运行
中断C: 当前时间在此范围内系统不允许自动运行
假期中断: 当前时间在此范围内系统不允许自动运行
程序循环间隔:最后一个电磁阀关闭到第一个电磁阀开启之间的间隔时间
泵延时时间: 最后一个电磁阀关闭后泵延时停止的时间间隔
1#中断: 当前时间在此范围内,1#电磁阀不允许开启
六、总结
该项目利用了Kinco-K306EX的双串口、时钟、中断、自由口通讯等诸多功能,充分展示了Kinco PLC丰富的指令,顺利实现了Kinco PLC在煤矿矿产刷洗系统中的应用。
文章版权归西部工控xbgk所有,未经许可不得转载。