Modbus协议主要描述的是应用层的信息封装格式,处于OSI模式的第七层(应用层)。Modbus的物理层可以是RS-485、Ethernet II /802.3。Modbus协议栈的层次图: 本文主要介绍Modbus使用物理层是EIA/TIA-485的情况。Modbus主要内容为应用层协议,所以在现实使用中可以将EIA/TIA-485(485)和Ethernet II /802.3(以太网)不同的物理连接网络通过Modbus协议组成统一的系统。使用EIA/TIA-485这种串行通讯方式的Modbus协议框图:
物理层的EIA/TIA-485大家比较熟悉,现场总线通讯很多设备都使用485通讯。下面重点介绍一下Figure 2 中的 Data Link 层和Application层。Application层主要目的是定义应用层的功能和参数。应用层帧格式见图: Modbus应用层的Function Code 就是我们熟悉的功能码,常见的有04(read input register) 03(Read Holding Registers)等。这些内容大家比较熟悉,就不一一说明了。具体功能码含义可参见文章最后的相关资料及工具。 Data Link 层主要目的是确定总线上的具体从机以及检验数据帧传输是否正确。Data Link层的数据帧格式见图: