技术论坛

 回复:CP341的Modbus多从站通讯

返回主题列表
作者 主题
依然
至圣

经验值:10152
发帖数:2530
精华帖:19
楼主    2010-07-14 16:10:01
主题:CP341的Modbus多从站通讯
CPU315带CP341+硬件狗,带6个Modbus通讯协议的仪表,采用轮询的方式采集这6个仪表的数据。正常操作没有任何问题。现在的问题是:当有一个仪表断电后,CP341的通讯会中断,收发灯全灭!
请问有什么办法可以避免一个从站故障而导致的所以从站通讯中断现象?
JUST DO IT
依然
至圣

经验值:10152
发帖数:2530
精华帖:19
23楼    2010-11-08 19:30:59
精华帖  主题:回复:CP341的Modbus多从站通讯
前段时间是在厂里调试,没过几天设备发出去了,就一直中断调试。
这两天在现场,终于把这个问题搞定了,顺便总结一下,也给帮忙的各位一个交待。
原程序的CP341作为MODBUS主站和5个仪表通讯,通讯程序的发送信号的触发是按通信块的完成或错误来触发下一个站点的;当所有的从站都正常时通讯没有问题,但当其中有一个掉电或故障,则通讯中断。
期间尝试了对故障站点判断并屏蔽,中做成功一两个站故障通讯正常,多个站点故障同样会有问题。而且判断的程序比较复杂且冗长。
最终还是选择超时重新触发,并不完全基于发送块的完成、错误等信号,超时的时间设置按工艺要求取,但一般不能低于300ms,低于这个数据会有问题(我的系统有,不知其他的系统上会不会出现问题?);但是有意思的是如果某台从站故障,它紧接的下一个站号会有通讯问题,其他的一切正常。
查了好久,终于在硬件配置中把replay monitor time从默认的2000ms改为小于超时的时间,发现一切情况下通讯OK!
通信的事情差不多可以告一段落,感谢楼上兄弟姐妹的热心支持,特发此贴以作小结。
JUST DO IT
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。