1、 modbus 是什么
Modbus 是 modicon 公司提出的一种总线协议,主从通讯,位于 OSI 模型的第七层(最顶
层)
2、 modbus 协议分类
Modbus-RTU: 设备必须具备,默认状态下就是使用 Modbus-RTU 协议
Modbus-ASCII: 人类可读,冗长
Modbus-TCP: 用以太网作为介质传输
Modbus-PLUS: 高速现场总线协议,令牌
大同小异,掌握一种协议,其余协议很容易上手
3、 modbus 参考文件

加我。回复“modbus”可以领取到资料。


4. 协议解析

1、 功能码 0x03(连续读取寄存器)

主机发送: 01 03 00 00 00 0A C5 CD
地址
主机接收: 01
地址
功能码
03
功能码
数据内容(起始地址,读取个数)
14 00 00 00 01 00 02 00 03 00 04 00 05 00 06 00 07 00 08 00 09
数据内容(0x14 表示 20 个数据,内容)
校验
CD 51
校验
2、 功能码 0x06(写单个寄存器)
主机发送: 01
地址
06
功能码
00 00 00 06
数据内容(地址,内容)
09 C8
校验
主机接收: 01 06 00 00 00 06 09 C8
地址 功能码 数据内容(地址,内容) 校验
3、 功能码 0x10(写多个寄存器)
主机发送: 01 10 00 00 00 01 02 00 00 A6 50
地址 功能码 数据内容(起始地址,寄存器数量,修改的字节数,内容) 校验
主机接收: 01 10 00 00 00 01 01 C9
地址 功能码 数据内容(起始地址,寄存器数量) 校验


加我。回复“modbus”可以领取到资料。

5. STM32 实现 modbus 要解决的问题

01 接收发送数据串口
02 时间间隔问题
要求 9600,推荐 19200??
03 逻辑代码C 语言
2、 两帧之间大于 3.5 个字节时间如何解决
定时器
3、 编程注意事项
01 03 00 00 00 0A C5 CD
发送/接收顺序: 自左到右
校验: 0xcdc5
字节时间的计算:
1 个起始位, 8 个数据位, 0 个校验位, 1 个停止位, 10bit
19200/10=1920 Byte,1/1920=520us,520*3.5


点赞(1) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部