如何像专家一样测试 MODBUS 设备?

一 需要的软件

1.测试软件:ModScan32,Modbus Poll(读写Modbus设备数据的软件)

2.USB转RS485转换器/网线(用于Modbus设备和电脑的连接)

3.Modbus设备(具有Modbus通讯功能的硬件设备)

注:以上是测试Modbus通讯需要的软硬件。

二  MODBUS设备信息的确认

设备信息的确认

(这里以亿佰特Modbus采集模块为例)

图片

  • 可以看出这个设备具有AI,DI采集功能,并带有两个DO输出功能;且具有Modbus RTU和Modbus TCP通讯功能。详细信息如下:

信息一:

以Mosbus RTU通讯为例,具体信息如下:

站地址:1

波特率:9600

数据位:8

停止位:1

奇偶校验位:NONE

信息二:

以Mosbus TCP通讯为例,具体信息如下:

IP地址:192.168.3.7

端口号:502

信息三:

图片

这里Modbus的AI输入数据实际存储在保持寄存器。

三  外部设备的连接及配置

1.为Modbus 设备提供电源,并将RS485口信号接入USB转RS485转换器的通讯口。(Modbus设备的485-A接转换器的(T/R+),Modbus设备的485-B接转换器的(T/R-))。

2. USB转RS485转换器接入电脑的USB口。

图片

3. 确认USB转RS485转换器在电脑COM口的驱动被识别

图片

在设备管理器的端口处查询USB转RS485转换器的对应COM口,这里使用的是帝特的转换器PL2302,可以看出对应的COM口是COM5. 

图片

双击COM5,弹出属性对话框,在“端口设置”里检查COM口参数,需要与Mosbus设备的参数保持一致。

四 Modbus测试软件的设置

(这里以Modscan32为例)

打开Modscan32软件,并新建项目。

图片

Address:Modbus的起始地址,这里默认0001;按照设备的实际需要输入。

Length: Modbus地址数量,按照实际需要输入

Device Id:设备的站地址,按照实际情况输入

Modbus Point Type: Modbus功能类型,根据实际需要监控的类型选择。 

图片

功能码01是输出线圈(DO)的读写操作,功能码02是输入线圈(DI)的读取操作,功能码03是保持寄存器的读写操作,功能码04是输入寄存器的读写操作。具体选择哪个功能,根据需要读写的数据来选择。 

图片

显示数据的类型选择“十进制”显示。 

图片

单击菜单栏的“连接设置”,在下拉菜单中选择“连接”选型,弹出以上对话框。

检查连接的参数,确保和Modbus设备的参数保持一致;COM5是RS485转USB转换器的驱动口,所以这里选择为COM5;其他波特率,数据位,停止位,奇偶校验位和设备保持一致。选择好后,单击“确认”按钮。 

图片

可以看到数据已经连接成功。

五 数据测试

1.输出线圈数据测试

图片

本次使用的设备有两个DO输出,所以Length数据个数写入2即可,功能码选择对应的“01:COIL STATUS”;可以看出目前没有输出,均显示0.

图片

双击窗口中的“00001:<0>”;弹出写线圈的对话框,值选择“开”,单击“更新”。 

图片

可以看到00001的值已经更新为1。

图片

设备的D01口也已经被触发而亮灯,D02没有更新数据所以默认为0,指示灯灭。

2.输入线圈的测试

图片

本次使用的设备有四个DI输入,所以Length数据个数写入4即可,功能码选择对应的“02:INPUT STATUS”;可以看出目前只有通道1显示1,其他均显示0.因为02是输入线圈功能,所以只有状态显示,不可以强制;通道1目前处于被触发状态,所以显示1,其他均为被触发,所以显示0。 

3.输入寄存器测试

图片

本次使用的设备有2个AI输入,所以Length数据个数写入2即可,功能码选择对应的“03:HOLDING REGUSTER”;可以看出目前2个通道都显示0.因为这里只是用保持寄存器存储AI输入状态,所以不能强制数据。

六  Modbus TCP通讯测试

1.硬件连接

图片

由于这个Modbus采集模块支持Modbus TCP以太网功能,也拥有以太网口,所以支持以太网通讯,可以直接用网线连接电脑,或者通过交换机/路由器来连接电脑;完成以太网连接的外部构架.

这里只简单的测试本地设备网线直联电脑的测试。

2.电脑设置

图片

修改电脑的IP地址与设备保持一致,在这里我修改为 192.168.3.100 保证与设备处于同一网段并保证IP不同,经过以上步骤若无法连接设备请关闭防火墙再次尝试。

3.软件设置

图片

单击菜单栏的“连接设置”,在下拉菜单中选择“连接”选型,弹出以上对话框。

检查连接的参数,确保和Modbus设备的参数保持一致;本次使用Modbus TCP通讯的方式,所以“使用的连接”选择“Remote modbusTCP Server”;“IP  Address设置为192.168.3.7和Modbus设备的IP地址保持一致。选择好后,单击“确认”按钮。 

图片

可以看到已经连接成功。

ModbusPOLL的连接类似。

ModScan32用来模拟主设备。它可以发送指令到从机设备((使用Modbus协议的智能仪表终端设备)中,从机响应之后,就可以在界面上返回相应寄存器的数据。

ModScan32主要用来读取和设置具有Modbus协议的智能仪表终端设备的参数;参与设备测试并辅助工程师调试Mosbus设备,从而提高工作效率。

作者:

网名禅主,80后,2015年开始从事环保行业自控及电气系统设计,调试工作,已有10年时间;先后从事过污泥处理,工业废水处理,污水处理,市政泵站,调蓄池相关工作。

图片

2025年2月