当前位置: 首页 > 热点

技术科普|如何在ALPS系统上模拟MODBUS协议

来源:C114 通信网    时间:2023-06-21 11:19:13

请想象一下你有一个工厂,里面有许多机器和设备,比如传感器、电机、控制器等,这些设备需要相互通信以便共享数据和执行任务。Modbus协议就像是这些设备之间的一种语言或规则,确保机器和设备能够互相理解和交流。


(资料图)

PART.1

Modbus协议介绍

在Modbus协议中,有一个主设备(通常是一个控制器或计算机)和多个从设备(比如传感器或执行器)。主设备可以向从设备发送指令,要求它们执行某些操作或提供数据。从设备接收到指令后,会根据指令进行相应的操作,并将结果返回给主设备。

举个例子,假设你有一个温度传感器和一个温度控制器,它们之间通过Modbus协议进行通信。

温度传感器是一个从设备,它负责测量环境的温度。温度控制器是一个主设备,它负责接收温度传感器的数据,并根据需要控制其他设备,例如空调或加热器。

1 读取温度数据

温度控制器可以向温度传感器发送一个读取命令,要求它提供当前的温度数据。温度传感器接收到命令后,会测量温度,并将测量结果返回给温度控制器。温度控制器可以使用这些数据来做出相应的决策,比如调整空调的温度设置。

2 设置温度阈值

设置温度阈值

温度控制器可以向温度传感器发送一个写入命令,要求它设置一个新的温度阈值。温度传感器接收到命令后,会将新的温度阈值保存起来,以便后续的温度测量和比较。温度控制器可以通过修改温度阈值来控制其他设备的运行,比如当温度超过阈值时,启动加热器。

3 多个设备的通信

除了温度传感器和温度控制器之间的通信,Modbus协议还支持多个设备之间的通信。例如,你可以有多个温度传感器和多个温度控制器,它们可以通过Modbus协议相互通信,共享数据和执行任务。这样,你可以建立一个复杂的温度监控和控制系统,以确保整个工厂的温度保持在合适的范围内。

Modbus协议可以通过串口或以太网进行数据传输。串口通常用于较短距离的通信,而以太网适用于更长距离和大规模的通信。

在Modbus协议中,数据传输的格式相对简单。它包含一些特定的信息,比如指令类型、要读取或写入的数据的位置、数据的数量等。这些信息帮助设备之间正确地传输数据。

Modbus协议支持多种数据类型的传输,比如开关状态、整数、浮点数等。这意味着不同类型的设备可以使用Modbus协议进行通信,并传输各种类型的数据。

总之,Modbus协议是一种用于工业设备之间通信的规则,确保它们能够相互交流和共享数据。它通过简单的格式和灵活的数据类型支持,成为工业领域中常用的通信协议之一。

PART.2

在仪表上模拟Modbus协议

01拓扑图

使用信而泰DarYu 2000E应用与安全测试仪同时模拟Modbus主站和从站,主站和从站之间建立Modbus通信,并发送Modbus数据。

02仪表配置步骤

1. 占用端口

点击设备->设备状态,点击相应端口并占用:

2. 网络邻居配置

点击网络->创建网络邻居,输入名称:LAB-loopback,点击确认。设置对应的IP地址,然后保存:

3. 应用流配置

(1) 点击管理->应用流,输入“modbus”并执行搜索,然后选择“Default MODBUS UDP Profile”并另存为:

(2) 输入名称并确定:

(3) 编辑Modbus应用流:

(4) 进入Modbus应用流编辑界面,该界面能对Modbus参数进行修改:

A.选择L4协议类型:

B. 从站参数编辑:

Transaction Flag:目前系统支持四种类型

Function Code:目前系统支持10种常用的Modbus功能码

其他参数根据实际的情况进行修改。

C.主站参数编辑:

其他参数根据实际的情况进行修改。

D. 另存为Modbus应用流:

(5) 添加刚才保存的Modbus应用流并删掉Default MODBUS UDP Flow,最终保存配置:

4. 测试用例配置:

(1) 点击测试->创建测试例,输入名称,点击确定。

(2) 更换之前创建的网络邻居

(3) 添加并编辑测试组件

5. 此时所有配置均完成,最后保存并运行测试用例:

6. 结果与抓包分析:

(1) 在实时统计结果里分别可以查看Modbus的会话数和吞吐量等指标:

(2) 在测试运行过程中可以实时捕获报文进行分析:

下面是实时抓取的Modbus报文:

推荐内容

Copyright   2015-2022 南方导报网 版权所有  备案号:粤ICP备18023326号-21   联系邮箱:855 729 8@qq.com