前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【小工匠聊Modbus】01--Modbus简介

【小工匠聊Modbus】01--Modbus简介

作者头像
Java小工匠
发布2018-08-10 14:17:20
1.2K0
发布2018-08-10 14:17:20
举报
文章被收录于专栏:小工匠技术圈

1、什么是Modbus

Modbus 是一个请求/应答协议,是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。

2、Modbus的传输方式

Modbus的传送有3种模式、

2.1、Modbus ASCII

  当控制器设为在Modbus网络上以ASCII(美国标准信息交换代码)模式通信,一个信息中的每8个比特作为1个ASCII字符传输,如数值63H用ASCII方式时,需发送两个字节,即ASCII“6"(0110110)和ASCII”3“(0110011),ASCII字符占用的位数有7位和8位,国际通用7位为多。这种方式的主要优点是字符发送的时间间隔可达到1秒而不产生错误。

2.1、Modbus RTU

  当控制器设为在Modbus网络上以RTU模式通信,在消息中的每个8Bit字节按照原值传送,不做处理,如63H,RTU将直接发送01100011。这种方式的主要优点是:数据帧传送之间没有间隔,相同波特率下传输数据的密度要比ASCII高,传输速度更快。

2.3、Modbus TCP

  Tcp ModBus相对串行链路ModBus,去掉了从机地址、校验码,因为底层的TCP协议确保了端到端的连接,Tcp协议的校验也可确保传输数据的准确性。

3、Modbus 消息帧

3.1、Modbus 消息帧概述

3.2、Modbus ASCII 与 RTU消息帧区别

3.2、Modbus ASCII 消息帧

(1)在消息中的每个8Bit 字节都作为两个ASCII字符发送

(2)十六进制,ASCII字符0...9,A...F消息中。 (3)每个ASCII字符都是一个十六进制字符组成

开始位

设备地址

功能代码

数据

LRC校验

结束位

1个字符 (冒号)

2个字符

2个字符

n个字符

2个字符

2个字符(回车换行)

注意(数字编码大端序,高字节在前)

3.3、Modbus RTU 消息帧

设备地址

功能代码

数据

CRC校验

1个字节

1个字节

n个字节

2个字节

3.4、Modbus RTU 与 Modbus TCP区别

在modbus TCP中包含一个MBAP头,该头包含以下几个部分

区域

长度

描述

客户端

服务器

传输标志

2个字节

MODBUS 请求和响应传输过程中序列号

客户端生成

应答时复制该值

协议标志

2个字节

Modbus协议默认为0

客户端生成

应答时复制该值

长度

2个字节

剩余部分的长度

客户端生成

应答时由服务器端生成

单元标志

1个字节

串行链路或其它总线上连接的远程从站识别码

客户端生成

应答时复制该值

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-07-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小工匠技术圈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、什么是Modbus
  • 2、Modbus的传输方式
  • 2.1、Modbus ASCII
  • 2.1、Modbus RTU
  • 2.3、Modbus TCP
  • 3、Modbus 消息帧
  • 3.1、Modbus 消息帧概述
  • 3.2、Modbus ASCII 与 RTU消息帧区别
  • 3.2、Modbus ASCII 消息帧
  • 3.3、Modbus RTU 消息帧
  • 3.4、Modbus RTU 与 Modbus TCP区别
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档