Modbos是OSI模型第七层(应用层)报文传输协议,主要是在不同类型的总线或网络设备间提供主站设备/从站设备(客服机/服务器)通信。
协议栈模型如下:

Modbus通信协议一般用于串行链路、TCP/IP以太网以及其他支持互联玩协议的网络版本。
大多数的Modbus设备通信时通过串口(RS232/RS485)或TCP/IP物理层进行连接(在上一节中有提到,含图),即RTU模式与ASCII模式。


通常情况下,Modbus协议是一个主/从(Master/Slave)或客户端/服务器(Client/Server)架构协议。一般网络中有一个节点是Master节点,其他使用该协议参与网络通信的节点一般为Slave节点,每个Slave设备都有唯一的地址标识。
每一个Modbus报文均包含准备执行质量的设备的Modbus地址,线路上的所有设备都会收到指令(因为有PearToPear与广播的方式)。指定地址的设备会执行并回应主设备的指令,地址为0的除外,因为地址0表示的是广播指令(收到指令的设备都会执行指令,但无需回复指令)。
PLC、HMI、控制面板、驱动程序、动作控制、输入/输出设备等。

如果出现差错,在走完正常流程的过程后,从机设备(服务端)返回的响应报文中的功能码域将包含一个异常码,主机设备(客户端)依据异常码确定下一个执行的操作。
