用自由口与多个仪表进行通信
SMB87设置为2#10110100
通过定时用一个XMT对仪表进行轮询,利用发送完成中断来进行接收,在执行XMT前对SM87.7进行复位,执行RCV前对SM87.7进行置位。
在仪表正常的情况下发送和读取数据是正确的,但是当断开其中一个仪表电源时,PLC读取断开电源数据时,PLC一直处于接收状态,长时间也没有报警,SMB86位全为0,从外部用串口工具模拟仪表发送数据数据后重新执行原程序,执行到断电仪表后又处于接收状态。
问题:怎样在仪表没有返回数据的情况下转入到其它仪表的正常通信状态。具体怎么设置?
最佳答案
在执行XMT前对SM87.7进行复位,并执行RCV
R SM87.7, 1
RCV VB0, 0
这样才能停止RCV,只复位SM87.7不行。
提问者对于答案的评价:
OK,非常正确,已经解决。但还是要感谢你的回答。
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc346045.html