一、Modbus概述
1.MODBUS通信栈(软件实现方法)
2.MODBUS应用协议
2.1 MODBUS应用协议介绍
- Modbus是一种简单客户机/服务器应用协议;
- 客户机能够向服务器发送请求;
- 服务器分析请求,处理请求,向客户机发送应答。
2.2 MODBUS事务处理(无差错)
- 当服务器对客户机响应时,它使用功能码域来指示正常(无差错)响应或者出现某种差错(称为异常响应);
- 对于一个正常响应来说,服务器仅复制原始功能码。
2.3 MODBUS事务处理(异常处理)
- 对于异常响应,服务器将原始功能码的最高有效位(mostsignificant bit,MSB)设置逻辑值1之后返回(相当于十进制处理中将原功能码加上128);(功能码为1个字节,8个二进制位,最高位1等于十进制128、十六进制80);
- 异常码指示差错类型。
3.通用MODBUS帧结构
3.1 应用数据单元
Modbus协议定义了一个与基础通信层无关的简单协议数据单元(PDU),在特定总线或网络上附加一些字段,构成该总线或网络上的ADU。
- PDU中的功能码确定执行哪一种操作;
- 功能码后面是请求和响应参数的数据域;
- ADU中附加地址用于告知站地址,校验域用于报文校验的CRC计算结果。
MODBUS数据模型
MODBUS ADU与PDU长度
MODBUS PDU结构
二、MODBUS协议说明
MODBUS协议是工业自动化中广泛使用的主/从式通信协议,它的设计初衷是为了在各种设备之间进行数据传输和交换,在开放系统互连(OSI)模型中处于第二层(数据链路层)。
1.MODBUS的基本概念
1.1 通信模型
MODBUS是一种主从通信协议,这意味着在通信过程中存在一个主设备和一个或多