佰马工业网关 工业路由器modbus数据采集异常怎么办

  • 时间 :2026-06-25
  • 作者 :佰马科技
  • 浏览数 :1663

应用背景:

当部署使用佰马工业数采网关、工业数采路由器,通过485串口下发modbus采集指令读取数据时,发现没有数据或数据异常。本文提供解决方法思路。


1、首先检查物理接线是否正确。设备的485接口,A、B分别对应下位设备485接口的AB接口。


2、登入网关、路由器的web管理页面,点击数据采集,基础设置的数据采集是必须启用的,数据缓存可选可不选,启用后需要保存并应用。


image.png


3、检查接口设置,启用对应的接口,如果设备带有多路485,则查看设备端实际接入接口的标注,启用对应的接口,波特率对应下位设备的波特率,数据位、校验位、停止位默认是8N1,具体看下位设备需求,一般在产品说明书中会有说明。


image.png


4、检查采集规则是否有成功配置,在配置栏,根据下位设备的点表进行采集规则配置后,配置好采集规则后,需要先点击添加,将规则添加至上方规则栏中,然后点击保存并应用才算配置完成。注意:配置规则时,接口应选择下位设备实际接入的接口,并在接口设置中已启用,否则会导致无法正常采集。


image.png


image.png


5、在数据查询中查看采集结果。


(1)如下图所示,无采集结果。

点击路由状态→系统日志,刷新一下日志,以输出最新日志内容,方便进行问题分析。


image.png


image.png


可以直接观察日志最左边的时间点,寻找较近时间点的日志内容;如下图所示,找到设备的采集日志,如果输出内容较多且较快,可能会导致在判断下位设备响应的过程中输出一些系统日志,这时需要我们往下多查询几条日志以读取完整采集日志;如下图中间红框所示,设备成功下发采集指令,返回结果为May 29 14:31:00 dctd[17840]: Read [1] finish, return 0 bytes

May 29 14:31:00 dctd[17840]: Fails to read 1 modbus reply, size 0。读取完成,0字节;未能成功读取回复大小为0。说明并未收到下位设备的回复,此时应检查下位设备是否能够正常应答,或采集规则是否正确对应下位设备的点表内容。


image.png


(2)成功采集到结果,与实际数据一致。

查看日志内容如下图所示,成功采集到数据后会输出数据结果。此处我下位设备通过软件模拟,故采用modbus TCP进行演示,Modbus tcp回复报文格式略有不同。下位设备回复reply: 00 04 (事务标识)00 00 (协议标识)00 05 (后续数据长度)前面这段可以不管,主要看后面这段是否正确01(从站地址) 03(功能码) 02 (后续数据长度)00 0b(寄存器数据)。


image.png


image.png


image.png


(3)采集到数据,但数据结果与实际结果不符。

举例:我下位设备有台总磷设备,数据类型是32位浮点型。如下图所示,佰马网关下发采集指令后,收到的回复为reply:08 03 04 56 04 3e 0e a2 de,此时数据类型为float ABCD,通过计算我们能够得到此数据为36350514429952.002非常的大。但下位设备表盘上的数据为0.139,那我们通过计算工具计算0.139对应16进制数为3e 0e 56 04。对比回复报文,我们能够发现实际数据应该用小端序CDBA处理,那我们就点击采集规则的修改按钮进行修改,修改数据类型为float CDBA。


image.png


image.png


image.png


image.png


修改后我们发现,采集到的数据结果与下位设备表盘一致,为正确数据。同理,其他数据类型也可参考此方法进行排查调试。


image.png

联系我们
联系我们

佰马Baimatech,集M2M产品研发、IoT平台服务、国际化运营于一体,让我们联接,共创未来