恭喜,你发布的帖子
发布于 2016-04-29 08:42:18
8楼
S7-1200做主站轮询8个从站,采用Done和ERROR的方式,发现一个问题,当其中一个从站掉电后,就会停止轮询。请教大神,怎样编写检测故障程序,判断这个站故障并跳过这个站,以使轮询能够进行下去
定时器加计数器来实现的话,现场调试要花很长时间,大家有什么好的轮询思路?
这个项目我们也曾做过,1200作主站与10个变频器MODBUS-RTU通信,运行的两年多了,一直非常稳定。不仅是根据DONE和ERROR的状态,而且也做了一个延时判断,当DONE或延时到触发了下一从站的通信。如下图。
图1:从站丢失或故障的情况下延时1秒,并记录未响应次数。
图2:触发下一个从站的采集。
结论:485通信,会因为设备原因、环境原因等,导致各种故障现象,因此程序上还是要考虑的可能性越多越好,而且还要有一些容错机制。
仅个人观点,表述不当之外,请指正。
请填写推广理由:
分享
只看
楼主