没有合适的资源?快使用搜索试试~ 我知道了~
首页STM32 Modbus 教程
资源详情
资源评论
资源推荐
安富莱电子
安富莱电子
W
W
W
W
W
W
.A
.A
R
R
M
M
F
F
LY.C
LY.C
O
O
M
M
S
S
T
T
M
M
3
3
2-V
2-V
4
4
、
、
V
V
5
5
、
、
V
V
6
6
开
开
发板
发板
_
_
M
M
O
O
D
D
B
B
US
US
教程
教程
安
安
富莱
富莱
ST
ST
M
M
32
32
开
开
发
发
板
板
M
M
O
O
D
D
B
B
U
U
S
S
教
教
版本:V0.5
日期:2016-01-11
适用的开发板型号:
STM32-V4 (STM32F103ZET6)
STM32-V5
(STM32F407IGT6) STM32-V
6
(STM32F429BIT6)
配套的例程:
硬件环境:
结果。
V4,V5,V6 开发板任意一款,使用 RS485 接口。
使用两个 STM32 主板,一个运行主站程序,一个运行从站程序。通过 RS232 串口观察
运
行
如果只有一个板子,可以使用我们开发 的 PC 机调试软件进行试验。需 要 PC 机配一 个
USB
转 RS485 转换
器。
PC 软件下载地址:http://bbs.armfly.com/read.php?tid=14967
USB-RS485 转换器
购买地址:https://item.taobao.com/item.htm?_u=b8teau726a7&id=522606958735
2
2
0
0
1
1
6
6
年
年
01
01
月
月
11
11
版本:
版本:
V0.5
V0.5
第
第
1
1
页
页
共
共
52
52
页
页
安富莱电子
安富莱电子
W
W
W
W
W
W
.A
.A
R
R
M
M
F
F
LY.C
LY.C
O
O
M
M
S
S
T
T
M
M
3
3
2-
2-
V
V
5
5
开
开
发
发
板
板
MODBUS
MODBUS
例程讲
例程讲
第
第
1
1
章
章
M
M
OD
OD
B
B
U
U
S
S
协议介
协议介
1.1
MO
MO
D
D
BUS
BUS
标
标
准
准
简介
简介
Modbus 是由 Modicon(现为施耐德电气公司的一个品牌) 在 1979 年发明的,是全球第一个真
正
用于工业现场的总线协议。
ModBus 网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部
专 用线路连接而成。其系统结构既包括硬件、亦包括软件。它可应用于各种数据采集和过程监控。
为更好地普及和推动 Modbus 在基于以太网上的分布式应用,目前施耐德公司已将 Modbus 协议的
所有权移交给 IDA(Interface for Distributed Automation,分布式自动化接口)组织,并成立了
Modbus-IDA 组织,为 Modbus 今后的发展奠定了基础。
在中国,Modbus 已经成为国家标准。
标准编号:GB/T19582-2008
标准名称:《基于 Modbus 协议的工业自动化网络规范》
分 3 个部分:
《GB/T 19582.1-2008
《GB/T 19582.2-2008
《GB/T 19582.3-2008
第 1 部分:Modbus 应用协议》
第 2 部分:Modbus 协议在串行链路上的实现指
南 》 第 3 部分:Modbus 协议在 TCP/IP 上的实现指
本教程仅涉及 第 1 部分和 第 2 部分,串行链路仅介绍 RS485 网络。
本章节的介绍文字,“抄袭”自 GB/T19582 国标文件,我们摘抄重要的知识点进行整理汇总。
1.2
MO
MO
D
D
BUS
BUS
协
协
议
议
概述
概述
按照 7 层 OSI 通信模型,Modbus 标准包括应用层、数据链路层、物理层。
2
2
0
0
1
1
6
6
年
年
01
01
月
月
11
11
版本:
版本:
V0.5
V0.5
第
第
2
2
页
页
共
共
52
52
页
页
层
ISO/OSI 模型
7
应用层 Modbus 协议
6
表示层 空
5
会话层 空
4
传输层 空
3
网络层 空
2
数据链路层
Modbus 串行链路协议
1
物理层 EIA/TIA-485 ( 或 EIA/TIA-232)
安富莱电子
安富莱电子
W
W
W
W
W
W
.A
.A
R
R
M
M
F
F
LY.C
LY.C
O
O
M
M
S
S
T
T
M
M
3
3
2-
2-
V
V
5
5
开
开
发
发
板
板
MODBUS
MODBUS
例程讲
例程讲
Modbus 协议
客户机/服务器
Modbus 串行链路协议是一个主/从协议。该协议位于 OSI 模型的第二层。
一个主从类型的系统有一 “ ”个向某个 子 节点发出显式命令并处理响应的节点(主节点) 。典型的子节
点在没有收到主节点的请求时并不主动发送数据,也不与其它子节点通信。
在 物 理 层 , Modbus 串 行 链 路 系 统 可 以 使 用 不 同 的 物 理 接 口 (RS485 、 RS232) 。
最 常 用 的 是
TIA/EIA-485 (RS485) 两线制接口。
1.3
1.3
M
M
od
od
b
b
u
u
s
s
主站
主站
/
/
从站协
从站协
议
议
原理
原理
Modbus 串行链路协议是一个主-从协议。在同一时刻,只有一个主节点连接于总线,一个或多个子
节点 (最大编号为 247 ) 连接于同一个串行总线。Modbus 通信总是由主节点发起。子节点在没有收到
来自主节点的请求时,从不会发送数据。子节点之间从不会互相通信。主节点在同一时刻只会发起一个
Modbus 事务处理。
主节点以两种模式对子节 点发出 Modbus 请求:
单播模式
主节点以特定地址访问某个子节点,子节点接到并处理完请求后,子节点向主节点返回一个报文(一
个
'应答')。在这种模式 ,一个 Modbus 事务处理 包含 2 个报文:一个来自主节点的请求,一个来自子节
点的应答。
每个子节点必须有唯一的 地址 (1 到 247),这样才能区别于其它节点被独立的寻址。
广播模式
主节点向所有的子节点发送请求。对于主节点广播的请求没有应答返回。广播请求一般用于写命令。
所有设备必须接受广播模式的写功能。地 址 0 是专门用于表示广播数据的。
地址规则:
Modbus 寻址空间有 256 个不同地址。
2
2
0
0
1
1
6
6
年
年
01
01
月
月
11
11
版本:
版本:
V0.5
V0.5
第
第
3
3
页
页
共
共
52
52
页
页
Modbus 主站/从站
EIA/TIA-485
(或 EIA/TIA-232)
安富莱电子
安富莱电子
W
W
W
W
W
W
.A
.A
R
R
M
M
F
F
LY.C
LY.C
O
O
M
M
S
S
T
T
M
M
3
3
2-
2-
V
V
5
5
开
开
发
发
板
板
MODBUS
MODBUS
例程讲
例程讲
地址 0 为广播地址。所有的子节点必须识别广播地址。
Modbus 主节点没有地址,只有子节点必须有一个地址。 该地址必 须在 Modbus 串行总线上唯
一。
1.4
1.4
M
M
od
od
b
b
u
u
s
s
帧
帧
描
描
述
述
《Modbus 应用协议》定义了简单的协议数据单元(PDU - Protocol Data
Unit):
MODBUS
PDU
Modbus 协议数据单元
发起 Modbus 事务处理的客户端构 造 Modbus PDU,然后添加附加的域以构造通信
PDU。
Modbus 串行链路 PDU
MODBUS PDU
串行链路上的 Modbus
帧
在 Modbus 串行链路,地址域只含有子节点地址。
如前文所述,合法的子节点地址为十 进制 0 – 247。 每个子设备被赋 予 1 – 247 范围中的地
址。
主节点通过将子节点的地址放到报文的地址域对子节点寻址。当子节点返回应答时,它将自己的地址放到
应答报文的地址域以让主节点知道哪个子节点在回答。
功能码指明服务器要执行的动作。功能码后面可跟有表示含有请求和响应参数的数据域。
错误检验域是对报文内容 执行 "冗余校验" 的计算结果。根据不同的传输模 式 (RTU or ASCII) 使
用 两种不同的计算方法。
1.5
1.5
R
R
T
T
U
U
传输
传输
模
模
式
式
有两种串行传输模式被定义: RTU 模式 和 ASCII 模式。
它定义了报文域的位内容在线路上串行的传送。它确定了信息如何打包为报文和解码。
Modbus 串行链路上所有设备的传输模 式 (和串行口参数) 必须相同。
2
2
0
0
1
1
6
6
年
年
01
01
月
月
11
11
版本:
版本:
V0.5
V0.5
第
第
4
4
页
页
共
共
52
52
页
页
地址域 功能码 数据
CRC (或 LRC)
功能码
数据
0 1 ~ 247 248 ~ 55
广播地址 子节点单独地址 保留
安富莱电子
安富莱电子
W
W
W
W
W
W
.A
.A
R
R
M
M
F
F
LY.C
LY.C
O
O
M
M
S
S
T
T
M
M
3
3
2-
2-
V
V
5
5
开
开
发
发
板
板
MODBUS
MODBUS
例程讲
例程讲
尽管在特定的领 域 ASCII 模式是要求的,但达 到 Modbus 设备之间的互操作性只有每个设备都有
相同的模式: 所有设备必须实现 RTU 模式。ASCII 传输模式是选项。
当设备使用 RTU (Remote Terminal Unit) 模式 在 Modbus 串行链路通信,报文中每个 8 位字节
含
有两个 4 位十六进制字符。这种模式的主要优点是较高的数据密度,在相同的波特率下比 ASCII 模式
有
更 高的吞吐率。每个报文必须以连续的字符流传送。
RTU 模式每个字节 ( 11 位 ) 的格式为 :
编码系统: 8–位二进制,报文中每个 8 位字节含有两个 4 位十六进制字符(0–9 , A–
F)
每字节的 bit 流:
1
8
1
1
起始位
数据位, 首先发送最低有效位
位作为奇偶校验
停止位
偶校验是要求的, 其它模 式 ( 奇校验, 无校 验 ) 也可以使用。 为了保证与其它产品的最大兼容
性,
同时支持无校验模式是建议的。默认校验模式模式 必须为偶校
验。 注 : 使用无校验要求 2 个停止位。
字符是如何串行传送的:
每个字符或字节均由此顺序发送(从左到右):最低有 效位 (LSB) . . . 最高有效 位
(MSB)
RTU 模式位序列
设备配置为奇校验、偶校验或无校验都可以接受。如果无奇偶校验,将传送一个附加的停止位以填充
字符帧:
RTU 模式位序列 (无校验的特殊情
况)·
帧检验域:循环冗余校验 (CRC), 2 字
节。
2
2
0
0
1
1
6
6
年
年
01
01
月
月
11
11
版本:
版本:
V0.5
V0.5
第
第
5
5
页
页
共
共
52
52
页
页
无奇偶校验
起始
1 2 3 4 5 6 7 8
停止 停止
有奇偶校验
起始
1 2 3 4 5 6 7 8
校验 停止
剩余51页未读,继续阅读
weixin_40613689
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论5