modbus协议学习记录

modbus是什么?

Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气 Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准(De facto),并且现在是工业电子设备之间常用的连接方式。

modbus的构成

modbus由地址、功能码、数据和crc校验码构成:
modbus构成

功能码

功能码功能说明
0x01读取输出线圈
02H读取输入线圈
03H读取保持寄存器
04H读取输入寄存器
05H写入单线圈
06H写入单寄存器
0FH写入多线圈
10H写入多寄存器

功能码解读

03H功能码:
请求读寄存器:

从机地址功能码起始地址(hight)起始地址(low)数量(hight)数量(low)crc校验位
0x010x030x000x010x000x010xD5 0xCA

01:表示从机的地址;
03:查询功能,表示读取从机数据
0x0001: 表示读取数据的起始地址
ox0001:表示读取23个寄存器的数据

响应读寄存器功能:

从站地址功能码字节计数字节1字节2校验
0x010x030x00020x000x020xCB 0x65

01:表示从机地址
03:查询功能
0x0002:表示返回的数据字节数,即:寄存器数目*2
0x0002:表示寄存器的数值
0xCB65:是crc校验值

10H功能码(写多个寄存器):
写多个寄存器请求:

从站地址功能码起始地址寄存器的数量字节数数据1数据2crc校验
0x010x030x00010x00020x040x01020x10110x09AE

返回:

从站地址功能码起始地址寄存器的数量crc校验
0x010x030x00010x00020xAC0A

crc校验详细下次补充

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值