Modbus Rtu 通信协议

第1章 Modbus Rtu 通信协议

1.1         读取保持寄存器(单个和多个,以字为最小单位)

1.1.1          发送命令帧:

设备地址

功能码

地址H

地址L

数据量H

数据量L

CRC H

CRC L

Addr0

3 H

HoldStart

DataNum

CRC高位

CRC低位

l       度:8个字节

l       设备地址:1247

l       码:3H

l       数据地址:065535   具体范围与相关设备有关         

l           量:165535   具体范围与相关设备有关

l       码:CRC16校验

1.1.2           返回命令帧:

设备地址

功能码

数据量

数据1

数据N

CRC H

CRC L

Addr1

3 H

返回数据的字节数N

Data (1N)

CRC高位

CRC低位

l       度:5N 个字节

l       设备地址:1247

l       码:3H

l       量:实际的读取数据数量         

l           据:返回数据的意义

l       aHoldStart

l       n= DataNum1

 

VW a VB a

VWaVB a+1

VW a+nVB a+n

VWa+nVB a+n+1

Data1

Data(2)

Data(N-1)

Data(N)

l       码:CRC16校验

l        

1.1.3          命令有误:

l       1)        没有任何返回

l       2)        返回异议帧

设备地址

功能码

错误信息

CRC H

CRC L

Addr1

83 H

一个字节的错误信息

CRC高位

CRC低位

 

1.2         设置保持寄存器(多个,以字为最小单位)

1.2.1          发送命令帧:

设备地址

功能码

地址H

地址L

数据量H

数据量L

数据字节数

具体数据

CRC H

CRC L

Addr0

10 H

HoldStart

DataNum

bytN

1bytN

CRC高位

CRC低位

l         度:9bytN 个字节

l       设备地址:1247

l       码:10H

l       数据地址:065535   具体范围与相关设备有关       

l           量:1122     具体范围与相关设备有关

l       数:设置的字节个数 bytN= DataNum×2

l           据:具体的字节数据

l       码:CRC16校验

 

1.2.2          返回命令帧:

 

设备地址

功能码

地址H

地址L

数据量H

数据量L

CRC H

CRC L

Addr1

10 H

HoldStart

DataNum

CRC高位

CRC低位

l       度:8 个字节

l       设备地址:1247

l       码:10H

l       数据地址:065535   具体范围与相关设备有关    

l           量:1122     具体范围与相关设备有关

l       码:CRC16校验

1.2.3           命令有误:

l          没有任何返回

l          返回异议帧

 

地址

功能码

错误信息

CRC H

CRC L

Addr1

90 H

一个字节的错误信息

CRC高位

CRC低位

 

1.3         总结

编写通信相关的程序,其实协议和开发语言并不重要,重要的是对通信双方的通信设备的特点,性能要有充分了解,这样才能开发出可靠,高效的通信程序。

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值