大家好,最近使用西门子200PLC做MODBUS通讯,200PLC做主站,三个现场采集压力的仪表做从,然后调用了200的MODBUS库,我想咨询一下如何来检测其中一个仪表掉线情况。之前我本想采用库的输出引脚ErroR这个地方指定了LB0存错误代码来检测,但是我发现这个错误代码不怎么好用,请教各位大神,有没有其他好办法来对仪表从站掉线进行检测的?
问题补充:
大家好,我测试过那个针脚,我把仪表都拆掉了,那个引脚还是0,显示正常,我很郁闷,后来我把通讯检测时间延长到10S后Err引脚才能显示个故障代码3
最佳答案
看msg指令的error错误报警值,如果通讯正常为0,非0值就是错误信息出现了的值。
简单的理解:不需要看具体错误值,只要plc侦测到该管脚为非0,说明通讯出现了错误,也可以用这个具体的地址来描述是几号从站出现的错误,当然你想描述具体的错误信息也是可以的,建议单独做一个错误报警信息辨色子程序,来判断error错误值的具体信息。
补充问题回复:
超时管脚的含义:
在默认参数状态下,modbus rtu通讯主站发送数据请求,从站应答,如果从站在规定时间内未应答,主站再发送2次数据请求,当最后一次主站发送数据请求在超时时间设置内未接收到从站的信息报文后,MSG才发出错误信息。
从站丢站的报文信息,看MSG指令的error管脚。
提问者对于答案的评价:
感谢各位的解答,谢谢
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc363717.html