This page looks best with JavaScript enabled

通信入门以modbus通信协议为例

 ·  ☕ 2 min read · 👀... views

国赛决赛的modbus流量至今没接出来,学习一下通信基础,爬爬爬。

数字通信方式

按传送方式分类

  • 并行
    • 按字或字节为单位传输,n位必须要n根线,传输速度快,通信线多,成本高。多用于计算机和PLC内部总线,如显卡数据。
  • 串行
    • 以bit为单位,每次传1bit,传输距离远。

按传送方向分类

  • 单工
    • 一方只能接收不能发出:打印机
  • 半双工
    • 一根线传输,同时只有一方发出:对讲机
  • 双工
    • 两根线传输,双方可同时发出

按通信介质分类

  • 双绞线
  • 同轴电缆
  • 光纤

通信协议三要素

通信接口标准

通信接口标准是通信的硬件协议,提供了机械的电气的功能性的特性和规程。
串行数据接口标准,最常见的是RS232、RS422、RS485串行接口标准

通信格式

穿行异步通信中,通信双方必须就通信数据传送方式,传送的数据长度,校验方式和传输速率进行统一设置,这样才能保证双方通信的正确。这种双方统一设置的参数,称之为通信格式。

通信数据格式

信息传输内容做出规定,如信息帧的结构,设备的站址,功能代码,发送的数据校验方式,错误检测。

通信接口标准

RS232

RS485

首选的串行接口。
RS485接口组成的半双工网络,一般只需二根连线,成本低,易实现。再分布式工业控制系统种广泛应用。

终端电阻
100欧
末端

通信格式与数据格式

串行异步通信传送

  • 如何知道开始传送 结束传送
  • 发送的字符位数
  • 如何知道接受的字符没错

modbus协议

基于RS485,主从式的串行异步半双工通信协议。

ascii模式

数据 位数
起始位: 1位
数据长度: 7位,低位先
校验位: 1(有校验),0(无)
停止位: 1(有校验),2(无)
波特率: 可选
起始码 地址码 功能码 数据区 校验码 停止码
: 01-1F 功能码 n个字符 LRC CR | LF
: 01 03 21 02 00 02 LRC CR | LF

LRC校验码:从地址码到数据区的2位HEX求和,取和的低8位的补码为LRC校验码。

RTU模式

数据 位数
起始位: 1位
数据长度: 8位,低位先
校验位: 1(有校验),0(无)
停止位: 1(有校验),2(无)
波特率: 可选
起始码 地址码 功能码 数据区 校验码 停止码
3.5字符停止时间 01-1F 功能码 n个字符 CRC 3.5字符停止时间
3.5字符停止时间 01 03 21 02 00 02 CRC 3.5字符停止时间
3.5字符停止时间 01 83 错误代码 CRC 3.5字符停止时间

发送帧信息期间,出现大于1.5个字符的 静止时间,则信息会出现错误。

错误应答

功能码 正确应答 错误应答
H03(0000 0011) H03 H83(1000 0011)
H06 H06 H86
H10 H10 H90
Share on

ruokeqx
WRITTEN BY
ruokeqx