我用CP341 Modbus RTU做主站 下面挂了27个从站智能仪表; 假如某个从站故障或失电,上位机需要一个通讯报警故障信号并将该从站的所有数据清0,请问程序中应该如何捕捉到该从站的故障作为标识位,我模拟了让CP341带几个从站,然后断掉一个,观察FB7的接受块的状态都是正常没有异常信息,不知各位在处理这方面的问题是如何做的,还请赐教,谢谢!
最佳答案
这个问题可以归结为:Modbus 主站如何诊断从站故障?
1、如果从站为可编程智能从站,可以采用测心跳的方法:不要应用通讯模块本身来检测(通讯模块发生故障时检测不了),例如通常应用的测心跳方法,即主站与分站约定一信息位,例如,从站发送脉冲,主站检测该信息位,如在一定的时间内该信息位无变化,则认为无心跳了,即为通讯故障。
2、如果从站为不可编程智能从站,例如智能仪表。这要了解仪表通讯协议是否有报故障的代码,若有接收到故障代码时做相应处理即可。或,在从站轮询机制中,有从站响应的信息返回位,可根据该信息位状态来判断为故障,当从站没有响应时不要再轮询它了。
提问者对于答案的评价:
谢谢阿鸣 详细的解答
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc236015.html