打印
[STM8]

STM8工程篇视频教程第1讲 Modbus通讯协议

[复制链接]
1584|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

Modbus通讯协议
Modbus概述

Modbus是由Modicon公司(现为施耐德电气的一个品牌)在1978年发明的,这是一个跨时代、里程碑式的网络协议,因为工业网络从此拉开了序幕。
    Modbus是全球第一个真正用于工业现场的总线协议,据不完全统计:截至到2004中,Modbus的节点安装数量已经超过了800万个,而且75%的产品为非施耐德产品,安装的地区遍及世界各地,可见其普及的程度,已经成为了事实上的协议标准。虽然已经走过了27个年头,Modbus今天仍然活跃在工业、建筑、基础设施等领域中。

Modbus特点
1.标准、开放:用户可以免费、放心地使用Modbus协议,不用交纳许可证费,也不会侵犯知识产权。目前,支持Modbus的厂家超过400家,支持Modbus的产品超过600种,而且在国内也有很多的用户支持和使用Modbus的产品。
2.Modbus是面向消息的协议,可以支持多种电气接口,如:RS232、RS422、RS485等,还可以在多种介质上传送,如:双绞线、光缆、无线射频等。要说明的是:和很多的现场总线不同,它不用专用的芯片与硬件,完全采用市面上销售的标准部件! 这就保证了采用Modbus的产品造价最为低廉。
3.Modbus协议的帧格式是最简单、最紧凑的协议,可以说:简单高效,通俗易懂。所以用户使用容易,厂商开发简单。

Modbus应用协议
Modbus是一种简单的客户机/服务器应用协议,客户机能够向服务器发送请求。服务器分析请求,处理请求,向客户机发送应答


Modbus主站/从站协议原理
Modbus 串行链路协议是一个主-从协议。
在同一时刻,只有一个主节点连接于总线,一个或多个子节点(最大编号为  247)连接于同一个串行总线。Modbus 通信总是由主节点发起。子节点在没有收到来自主节点的请求时,从不会发送数据。
子节点之间从不会互相通信。
主节点在同一时刻只会发起一个 Modbus 事务处理。

Modbus通信模式
在单播模式,主节点以特定地址访问某个子节点,子节点接到并处理完请求后,子节点向主节点返回一个报文(一个'应答')。在这种模式,一个Modbus事务处理包含2个报文:一个来自主节点的请求,一个来自子节点的应答。每个子节点必须有唯一的地址(1到247),这样才能区别于其它节点被独立的寻址。
    在广播模式,主节点向所有的子节点发送请求。对于主节点广播的请求子节点没有应答返回。广播请求一般用于写命令。所有设备必须接受广播模式的写功能。地址0是专门用于表示广播数据的。

串行传输模式-RTU模式

在 RTU 模式,报文帧由时长至少为 3.5 个字符时间的空闲间隔区分

整个报文帧必须以连续的字符流发送。如果两个字符之间的空闲间隔大于1.5 个字符时间,则报文帧被认为不完整应该被接收节点丢弃


串行链路上的Modbus帧结构

地址域只含有子节点地址,该地址必须在Modbus串行总线上唯一,Modbus主节点没有地址。
功能码指明服务器要执行的动作,遵从Modbus协议规范。
错误检验域是对报文内容执行"冗余校验"的计算结果。
根据不同的传输模式(RTU or ASCII)使用两种不同的计算方法,CRC或者LRC

Modbus 常用功能码

读保持寄存器
发送命令:
[设备地址][命令号03][起始寄存器地址高8位][低8位][读取的寄存器数高8位][低8位][CRC校验的低8位][CRC校验的高8位]
例:[11][03][00][6B][00][03][CRC低][CRC高]

设备响应:
[设备地址][命令号03][返回的字节个数][数据1][数据2]...[数据n]
[CRC校验的低8位] [CRC校验的高8位]
例:[11][03][06][02][2B][00][00][00][64][CRC低][CRC高]

写单个寄存器
发送命令:
[设备地址][命令号06][需下置的寄存器地址高8位][低8位][下置的数据高8位][低8位][CRC校验的低8位][CRC校验的高8位]
例:[11][06][00][01][00][03][CRC低][CRC高]

设备响应:如果成功把计算机发送的命令原样返回,否则不响应。


使用特权

评论回复
沙发
天灵灵地灵灵| | 2019-6-20 21:42 | 只看该作者
楼主越来越牛了,这图用啥画的,这么好看。

使用特权

评论回复
板凳
wdliming| | 2019-8-10 17:13 | 只看该作者
不错~!!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

148

主题

499

帖子

67

粉丝