一、Modbus数据链路层
1.1 Modbus主从协议原理
Modbus串行链路协议是一个主-从协议。在同一时间,总线上只能有一个主站和一个或多个(最多247个)从站。Modbus通信总是由主站发起,当从站没有收到来自主站的请求时,不会发送数据,从站之间不能相互通信。主站同时只能启动一个Modbus事务处理。
主站用两种模式向从站发出Modbus请求:
单播模式:主站寻址单个从站,从站接收并处理完请求之后,向主站返回一个报文(一个“应答”)。在这种模式下,一个 Modbu事务处理包含2个报文:一个是主站的请求,另一个是从站的应答每个从站必须有唯一的地址(1~247),这样才能区别于其他站独立地被寻址。广播模式:主站可以向所有的从站发送请求。对于主站发送的广播请求没有应答返回,广播请求必须是写命令,所有设备必须接受广播方式的写命令,地址0被保留用来识别广播通信。
1.2 Modbus寻址规则
Modbus寻址空间由256个不同地址组成。地址0为广播地址。所有从站必须识别广播地址。Modbus主站没有特定地址,只有从站有一个地址。在Modbus串行总线上,这个地址必须是唯
一的。
1.3 Modbus帧描述
Modbus应用协议定义了一个与下层通信无关的简单协议数据单元(PDU,PDU - Protocol Data Unit)。
发起 Modbus 事务处理的客户端构造 Modbus PDU,然后添加附加的域以构造通信 PDU。