国赛决赛的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 |