目录

Modbus 通讯常见问题

通讯故障现象&排错思路

现象1:设备列表中Modbus设备所有点数据为空,无时间戳、质量戳

出现这种情况从如下几个方面查找问题: 如是串口通讯,通过网关报文过滤设备序列号后看看和设备是否有报文交互,如无任何报文,应该是应用使用的串口被其他程序占用,导致串口未打开,链路无法使用时就不会有通讯报文;如只有发送报文,无设备返回报文,可能是串口连接线有故障、或是串口连接错误、或是设备故障、或是串口参数设置错误等;如有发送报文,设备返回故障报文,可能是modbus点设备参数配置错误,或是测点数据地址不正确。 如是以太网通讯,通过网关报文过滤设备序列号后看看和设备是否有报文交互,如无任何报文,应该是应用无法连接目标设备的IP地址和端口,导致链路无法建立,因此就不会有通讯报文;如只有发送报文,无设备返回报文,可能是设备故障。如有发送报文,设备返回故障报文,可能是modbus点设备参数配置错误,或是测点数据地址不正确。

现象2:设备列表中Modbus设备部分点有数据,部分点无数据

部分点无数据,可能是这些测点的数据地址错误或者数据类型配置错误导致问询包长度越界导致设备无法返回正确报文;也可能是这些测点配置的功能码或设备的 Modbus 设备地址不正确,导致设备返回故障报文。

现象3:设备列表中Modbus设备测点有数据,但数据不正确

测点都返回数据但不正确,可能是测点的数据起始地址错位,这需要了解Modbus设备提供的点表地址是协议地址还是PLC地址,协议地址从0开始,PLC地址从1开始;也可能是测点配置的数据类型不正确;也可能是设备返回报文的数据字节码排序规则不一样导致。

现象4:Modbus设备通讯报文中指定设备的通讯报文经常出现超时

引起这种现象的原因时Modbus设备处理性能弱导致等待超时,遇到这种情况时,可增大应用和设备通讯时超时等待参数并将每2个问询报文之间的间隔加长。

现象5:Modbus设备通讯报文中指定设备的通讯报文经常出现乱码

出现这种现象可能是设备和网关的链路受到外界干扰,可考虑更换带屏蔽的线缆。

485总线通讯中常见的通讯故障

1、完全通讯不上。

2、只和一台设备连接时能通讯上,连接多台设备时就通讯不上或者有的能通上,有的无法通讯,或者严重丢包。

3、通讯时系统提示受到干扰,或者不通讯时通讯指示灯也不停地闪烁。

4、有时能通讯上,有时通讯不上,有的指令可以通,有的指令不可以通。

排解故障的一些方法:

1.由于485信号使用的是一对非平衡差分信号,意味485网络中的每一个设备都必须通过一个信号回路连接到地,以减少数据线上的噪音,所以数据线最好由双绞线组成,并且在外面加上屏蔽层作为地线,将485网络中485设备连接起来,并且在一个点可靠接地。

2.在工业现场当中,现场情况非常复杂,各个节点之间存在很高的共模电压,485接口使用的是差分传输方式,有抗共模干扰能力,但是当共模电压大于+12V或者小于-9V时,超过485接收器的极限接收电压。接收器就无法工作,甚至可能会烧毁芯片和一起设备。可以在485总线中使用485光隔离中继器,将485信号及电源完全隔离,从而消除共模电压的影响。

3.485总线随着传输距离的延长,会产生回波反射信号,如果485总线的传输距离如果超过100米,建议施工时在485通讯的开始端和结束端120欧姆的终端电阻。

4.485总线中485节点要尽量减少与主干之间的距离,建议485总线采用手牵手的总线拓扑结构。星型结构会产生反射信号,影响485通信质量。

5.影响485总线的负载能力的因素:通讯距离,线材的品质,波特率,转换器供电能力,485设备的防雷保护,485芯片的选择。如果485总线上的485设备比较多的话,建议使用带有电源的485转换器,无源型的485转换器由于时从串口窃电,供电能力不是很足,负载能力不够。选用好的线材,如有可能使用尽可能低的波特率,选择高负载能力的485芯片,都可以提高485总线的负载能力。485设备的防雷保护中的防雷管会吸收电压,导致485总线负载能力降低,去掉防雷保护可以提高485总线负载能力。

6. 了解并检查主控设备与被控设置的上下拉电阻,485总线首末端是否成对使用了120Ω终端电阻,如有条件则使用万用表测量485总线的工作电压,使用示波器检测RS485总线的信号。