XMT和RCV通讯不正常时的问题

我用S7200和仪表通讯时。 用XMT和RCV做发送接收程序时,存在两个问题。
1.首先用m0.0沿触发发送指令,马上就会通过RCV指令收到一串数据。  接收完成后,我再人工触发一次m0.0发出XMT发送命令,
如此循环,发送请求都是我人工写入m0.0的值产生的,怎样做到接收完成后自己触发发送命令呢?
2.如果我发送XMT命令时,首先忘记给发送缓冲区赋协议定义好的数值就发出了XMT命令,程序就再也通讯不上了。
另外我如果把仪表的通讯线拔掉后再插回来,程序也一样在也通讯不上了。怎么办

最佳答案

1)这个可以。当发送完成后进入发送完成中断,在这个中断中编辑接收程序,当接收完成后进入接收完成中断,在这个中断中编辑发送指令,这样就循环了,如果需要跳出循环,调用一次中断分离就可以,当需要重新启动信号,再调用一次中断初始化就可以。
2)首先建议你先定义好发送数据,确认后再发送。但当中间过程出现不可预见的问题时,可以利用通讯控制的几个标志位(如接收指令中的SM86.7/SM186.7 = 0),中断通讯内容,然后,等待确认完成后,再启动通讯。

提问者对于答案的评价:
谢谢

最佳答案作者回复:
SM86.7=0后,启动定义才能生效!

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc367301.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 下午2:39
下一篇 2021年7月5日 下午2:40

相关推荐

发表回复

登录后才能评论