☰
一图读懂Modbus协议栈模型
2026/10/20 6:26:20 网站建设 项目流程

别被“协议栈”的字眼吓到哈~~

Modbus是OSI模型第7层之上的应用层报文传输协议,它在不同类型总线或网络设备之间提供主站设备/从站设备(或客户机/服务器)通信。

配合下面两款模拟器,让你的学习和工作效率翻倍!

Modbus 主站模拟器:Modbus Master Emulator - Modbus 主站模拟器

Modbus 从站模拟器:Modbus Slave Emulator - Modbus 从站模拟器

自从1979年发布、并成为工业串行链路通信的事实标准以来,成千上万的自动化设备就是靠Modbus连起来、聊起来的。到现在,为了让这个协议继续好使,国际互联网组织还在TCP/IP协议栈上规定并保留了系统502端口,专门用来访问Modbus设备——你可以把它理解成给Modbus设备留了一个固定“门牌号”。Modbus协议栈模型如图1-2所示。

从图中看,Modbus的“灵魂”(应用层)是统一的,但它的“肉身”(底层网络和物理接口)非常百变~( •̀ ω •́ )✧

你可以把它看作一个“万能快递打包系统”:不管你是走乡间小路(串口线)还是上高速公路(以太网),里面的货物单(报文格式)是一模一样的。

为了让大家看得更明白,我们分“顶”和“底”两个部分来拆解这张图:

🧠顶层:统一的“大脑”(Modbus 应用层)

Modbus应用层——整个协议的核心,它规定了大家怎么发请求、怎么回应、怎么报错。图里所有的箭头最终都指向它,意思是:不管底下用什么网络传,传上来的内容都得遵守这个“通用语言”。

🛣️底层:四条不同的“跑道”(物理与网络层)

下面并排有四个竖列,代表了Modbus报文可以走的4种不同网络通道。咱们从左到右来看:

最左侧:“自由发挥”通道(其他/其他)

Modbus的包容性极强,除了下面提到的专属通道,你只要愿意,甚至可以通过无线、光纤或其他任何你想得到、想不到的介质去传输,Modbus都不挑食。

左二:“特快专线”(Modbus+/HDL + 物理层)

这是Modbus Plus(一种早期的工业高速令牌网),属于施耐德早期的专有网络。现在用得相对少了,算是一个“特定历史时期的VIP通道”,放在图例算是致敬历史~

右二:“经典老路”(主站/从站 + RS-232/485)

这是大家最熟悉的“Modbus RTU”或“Modbus ASCII”。通过最经典的串口线(RS-232适合近距离,RS-485适合远距离和多设备组网),主站发话,从站听话,一问一答。

最右侧:“现代高速”(Modbus TCP + TCP/IP + 以太网)

现在最火的“Modbus TCP”。它把Modbus报文套上了TCP/IP的“快递信封”,直接跑在现在的网线(以太网)上。速度快、组网方便,是现在工业物联网的主力。从下往上看:

  1. 以太网物理层/以太网II:也就是咱们平时插的网线、用的网卡。

  2. IP:负责在网络中找对门牌号(IP地址)。

  3. TCP:负责保证数据不丢包、不掉队(用到了一开始说的502端口)。

  4. 基于TCP的Modbus:把原来的Modbus指令,套进TCP的壳子里,变成了一款标准的网络应用。


💡 进阶总结:这张图对开发者意味着什么?

如果以后你要写代码,这张图就是你的“架构指南”:

如果你只写业务逻辑:只关注最顶上的“Modbus应用层”就行,随便抓个开源的Modbus库(如libmodbus),把“读寄存器、写线圈”的代码填进去。

如果你搞硬件对接:硬件选型决定底层。想省事,直接上以太网搞Modbus TCP;如果老设备升级,就写RS-485的串口代码,处理好波特率和校验位。

如果你要抓包排错:左边串口出问题,去查线有没有接反、波特率对不对;右边网络出问题,就上Wireshark抓502端口,看看包是不是被防火墙拦了。

有了这张“协议栈地图”,以后再听到现场总线、TCP/IP这些词,你就知道它们在这个图里的哪个位置啦!

开发者工具:

Modbus Master Emulator - Modbus 主站模拟器

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询