Modbus 是一个请求/应答协议,是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。
Modbus的传送有3种模式、
当控制器设为在Modbus网络上以ASCII(美国标准信息交换代码)模式通信,一个信息中的每8个比特作为1个ASCII字符传输,如数值63H用ASCII方式时,需发送两个字节,即ASCII“6"(0110110)和ASCII”3“(0110011),ASCII字符占用的位数有7位和8位,国际通用7位为多。这种方式的主要优点是字符发送的时间间隔可达到1秒而不产生错误。
当控制器设为在Modbus网络上以RTU模式通信,在消息中的每个8Bit字节按照原值传送,不做处理,如63H,RTU将直接发送01100011。这种方式的主要优点是:数据帧传送之间没有间隔,相同波特率下传输数据的密度要比ASCII高,传输速度更快。
Tcp ModBus相对串行链路ModBus,去掉了从机地址、校验码,因为底层的TCP协议确保了端到端的连接,Tcp协议的校验也可确保传输数据的准确性。
(1)在消息中的每个8Bit 字节都作为两个ASCII字符发送
(2)十六进制,ASCII字符0...9,A...F消息中。 (3)每个ASCII字符都是一个十六进制字符组成
开始位 | 设备地址 | 功能代码 | 数据 | LRC校验 | 结束位 |
---|---|---|---|---|---|
1个字符 (冒号) | 2个字符 | 2个字符 | n个字符 | 2个字符 | 2个字符(回车换行) |
注意(数字编码大端序,高字节在前)
设备地址 | 功能代码 | 数据 | CRC校验 |
---|---|---|---|
1个字节 | 1个字节 | n个字节 | 2个字节 |
在modbus TCP中包含一个MBAP头,该头包含以下几个部分
区域 | 长度 | 描述 | 客户端 | 服务器 |
---|---|---|---|---|
传输标志 | 2个字节 | MODBUS 请求和响应传输过程中序列号 | 客户端生成 | 应答时复制该值 |
协议标志 | 2个字节 | Modbus协议默认为0 | 客户端生成 | 应答时复制该值 |
长度 | 2个字节 | 剩余部分的长度 | 客户端生成 | 应答时由服务器端生成 |
单元标志 | 1个字节 | 串行链路或其它总线上连接的远程从站识别码 | 客户端生成 | 应答时复制该值 |
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有