干扰对MODBUS通讯的影响

最近对modbus通讯看一一些,也用了一些,普通的都基本有了解了。现在有点问题。主要是在干扰上。
1、通讯都是以二进制的形式发送的。当有干扰产生时,是否有可能原本应该为0的状态,从站却接受到1的状态?
2、通信规约上有T1.5和T3.5这两个时间间隔的概念 。当我们设置波特率为9600时,T1.5=1.7ms,T3.5=4ms;波特率为19200时,T1.5=0.86ms,T3.5=2ms。这样,当有干扰时,会否对通信发送的数据有影响,造成发送延迟?(或者其他有什么状况) 这样9600的波特率有更长的时间间隔T1.5=1.7ms,是否可以抗干扰强一点
3、通信一般都有设置超时时间设置,有的只有设置一个时间,有的还需要设置一个字符时间,这个字符时间是否就是指T3.5的时间?
4、很多PLC对于通信失败且完成的情况下会有某个位置位。有次间歇性的会发生发送了指令后,通讯正确完成和错误完成位都没有被置位的情况,这可能是什么情况引起的,是否从站由于干扰根本没收到任何信号?

问题补充:
1、谢谢
2、那波特率对于抗干扰毫无作用?那有什么用?发送的速度对于整个响应时间来说也必须小 啊。我本来的意思是指,干扰的时候有没有可能引起通讯被暂停,被断断续续的发送,可能每个字节直接的间隔是0.2个字符,或者0.5个字符。这个间隔是怎么会产生的?时间是怎么被给定的。T1.5是最长时间
3、问过这家PLC了
4、这个也算了。。我的意思就是没发送出数据帧的情况下,但执行了发送命令,PLC串口是否也会被至于接受等待状态

最佳答案

1.是的。
2.空闲线时间是将线路上不同数据包之间的间隔拉大一些,用于分辨不同的消息帧。发送方等待空闲线时间用完之后再发送,接收方等待空闲线时间用完之后再开启接收,接收到的第一个字符作为新消息的开始。它们不负责检测线路是否空闲,也就不会造成发送延迟。
3.T3.5是空闲线时间,不是超时报警,其作用见上。超时报警是用于接收方超过一定时间未接收到新的字符或者消息,则停止接收,然后报警并通知上级接收完毕。
4.对于主站来说,发送是没有问题的,然后转接收,一是接收不到(超时),二是接收到了但数据有问题。对于从站来说,接收长度是不一定的,只能用超时判断(modbus)。“通讯正确完成和错误完成位都没有被置位”,我想你就这么确定主站一定发送出了数据帧?

提问者对于答案的评价:
有点用

专家置评

已阅,最佳答案正确。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月14日
下一篇 2018年12月14日

相关推荐