使用MCGS软件,在一个串口下接了3台MODBUS RTU支持的从设备。在设备窗口建立完3个子设备后,MODBUS地址分别是1/2/3,采集周期均设置为1000mS,使用“检查”功能在“通道连接”窗口监测数据接收良好。
进入运行窗口,实际系统开始后,发现3台表数据刷新很慢,经常丢失数据。
利用后台串口监视程序监视此串口发送数据,发现MCGS向1/2/3号发送命令的时间间隔不固定,时长时短。例如刚向1号从机发出读命令,立即又向2号设备发送读命令,造成1号从机来不及响应,而2号从机响应了第2条命令。
修改子设备采集周期为5000mS,再次运行。通过后台监视MCGS发送命令周期并未延长,仍然与以前一样。
以上问题比较奇怪,大家见到过没有?
感觉是MODBUS RTU设备对通讯反映比较迟钝引起的。
好好检查一下你的监测一下通讯。
如果单独每台进行通讯,反映速度没有问题的话,就是我说的问题。
解决办法是每台设备间的访问时间间隔设置长一点,让设备有个识别的时间。
可以用TYServer测试一下即可,在通道属性里设置一下控制器间隔进行测试一下,看看是不是这个问题。