modbus协议使用介绍

Modbus 协议
1 Modbus协议简介
Modbus是最常用的设备之间的通信协议,广泛用于传感器、PLC、监控系统等应用中。Modbus的主要功能是是实现设备之间,设备和系统之间的数据交换。
如果设备之间是串口连接,则使用Modbus RTU通信格式。如果设置之间用网线连接,则常用Modbus TCP通信格式。
以下主要以Modbus RTU方式进行介绍。
在这里插入图片描述

2 通信方式
Modbus设备可分为主站(master)和从站(slave)。主站只有一个,从站可以有多个,主站向各从站发送请求帧,从站给予响应。
在使用Modbus TCP通信时,主站为client端,主动建立连接;从站为server端,等待连接。
• 主站请求:功能码+数据
• 从站正常响应:请求功能码+响应数据

3 协议格式
3.1 主站读取从站寄存器数据
VFBOX网关作为主站,读取温湿度传感器中的数据。传感器中寄存器的地址是40002,则主站发送的请求指令如下:
01 03 00 01 00 01 D5 CA
从机地址 功能号 数据地址 读取数据个数 CRC校验
从站收到主站的指令后,则返回相应的内容。
01 03 02 0017 F8 4A
从机地址 功能号 数据字节个数 两个字节数据 CRC校验
MODBUS主机就完成了一次对从机数据的读操作,实现了通讯。

4 Modbus数据块和功能码定义
Modbus协议定义了标准的数据块的数据类型,地址范围和对应的功能码。
数据块 功能说明
0X Digital Coils 数据类型:布尔量,Boolean
读写:可读写
寄存器地址:00001-09999(10进制), 协议地址:0000H-270FH(16进制)
功能码:01H 05H 0FH
1X digital Inputs 数据类型:布尔量,Boolean
读写:只读
寄存器地址:10001-19999(10进制), 协议地址:0000H-270FH(16进制)
功能码:02H
3X Analog Inputs 数据类型:模拟量,可以是short,word,float,double
读写:只读
寄存器地址:30001-39999(10进制), 协议地址:0000H-270FH(16进制)
功能码:04H
4X Holding Registers 数据类型:模拟量,可以是short,word,float,double
读写:可读写
地址范围:40001-49999(10进制),0000H-270FH(16进制)
功能码:03H 06H 10H

5 Modbus协议测试

  1. 读取Modbus设备数据的数据,可以把设备连接到电脑上,通过Modbus测试软件或者厂家提供的测试软件来读取Modbus设备的数据。
  2. 比如,设备是485接口,则通过485转USB通信线连接到电脑上,在电脑上打开Modbus测试软件,读取设备的数据。
  3. Modbus协议有多种测试软件,可在百度搜索合适的软件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值