MODBUS RTU的龟速带来的风险
车间的14个同一品牌变频器(安川)使用MODBUS RTU控制启停并调速(运行环境CPU414-5H,PCS7 V8,编程方式STL+CFC,CP341+驱动狗)。
//===============================================================================
//接到任务
接到任务的时候就发牢骚了,就不应该使用MODBUS这么慢的通讯方式,原因如下:
1.这些都是输送带和物料泵在工艺中比较重要,速度调节慢了就会造成物料堵塞,并且某两条输送带还有紧急减速。
2.调速电机,调速就有PID回路,PID的输出值必须等到轮询到该站点时才能写入该变频器,这是很明显的滞后 。
3.如果有一个站通讯故障,MODBUS功能块会不停的尝试连接直到看门狗时间到,这对轮询来说是个致命打击。
4.变频器数量多,且有一用一备,电机不仅有故障状态还有LOCAL状态和备用的情况,MODBUS轮询到这个地方的时候该怎么处理?
5.变频器状态字节不连续(安川变频器,Modbus读回的频率和电流以及变频器端子输入信号状态相隔的字节数比较远)可能一个站点需要两次读取,不仅占用轮询时间还会导致编程复杂。
以上!所有麻烦!都是!因为!MODBUS RTU !慢!
//===============================================================================
//冷静下来,仔细分析应对措施
牢骚发完该干活了,仔细分析后,编程可以采取以下有效手段:
1.根据CP341现场柜子与MCC(马达控制中心)之间的距离,波特率完全可以使用19200
2.一用一备的电机业主将备用电机只有用时才上电。MODBUS肯定访问不到,因此上位机上做了一个面板,每个站都可以选择是否在轮询时读写该站点没有上电的备用电机当然勾选读写的时候跳过该站。
3.MODBUS轮询导致的执行滞后的时间如果能有效控制在一定范围内,PID参数合理的调整是可以弥补这个缺陷的。
4.操作员或系统自动控制选择的某个站点的变频器启停,将被优先读写。原因有2:
a. 某些电机连锁后需要立即停机。
b. 手动启停也可以让操作员不必等待轮询的时间。
5.CP341的参数里可以设置看门狗癫痫病医院哪家比较好的时间。尽可能短,并且要保证不会低于正常收发的时间。
6.记录每个站点收发的错误次数,错误超过设定值的时候报警!操作可以在面板选择跳过站, 操作员可以电机打至LOCAL模式控制。
7.编程采用STL变址寻址,尽可能缩短代码。
//==============================================================================
//到达现场后
怀着忐忑不癫痫检查项目安的心情,到了现场布置DP,以太网电缆,打点,单体运行,对传感器数值,终于有了可以MODBUS任性轮询的条件了,但是结果很糟糕,MODBUS轮询一周期接近10秒!!!!!没法一起玩耍了。情况峰会路转在一次调整CFC运行组周期后,将MODBUS的相关程序扔进OB1后,轮询缩短到了4.5秒。接着分析:
1.实际情况证明MODBUS程序CFC在OB1中执行后,轮询时间会大幅提高,虽然OB1的某些时间段内执行程序的时间会高于OB35的100ms(414-5H的最快扫描周期100ms) ,但是总体平均时间大大的小于100ms,建议以后大家不在万不得已不要在OB1里写程序 。西门子建议不让这样。
2.现场调PID时证明PID曲线呈接近式样的比较符合现场的情况。
3.舍弃了一个读回数据,因为在MODBUS内存区距离特别远。记得当时是4个需要的数据分布在3段内存里,轮询到该站时,1,2读一次,3段读一次。最后舍弃了第3段。这样处理后时间缩短至了2.几秒,除了紧癫痫患者怎么注意保养呢急减速那个有点癫痫病检查勉强外,都能处理过来。
现场还有其它的MODBUS通讯,CP341读取现场的温度巡检仪,MODBUS SLAVE给其它厂家的dcs提供运行数据和设备状态等(MODBUS转TCP网关)。大家都喜欢MODBUS RTU的开放低成本,也很怕MODBUS RTU的龟速带来的风险。