Modbus 是一种广泛使用的工业通信协议,采用主从架构通过串行连接交换数据。这些连接包括 RS-485、RS-422 和 RS-232,以及 TCP/IP 网络。
在本指南中,我们将对最佳 Modbus 测试软件工具进行对比,从专业平台到广泛使用的免费替代方案,帮助你找到符合自身需求的合适选择。
什么是 Modbus?基本原理解析
- 用于二进制串行通信的 Modbus RTU
- 用于基于字符的数据交换和更易于故障排除的 Modbus ASCII
- 用于基于以太网通信并带有 MBAP 标头的 TCP
Modbus 网络通常以单个主站运行,负责发起通信,并且最多有 247 个从站响应命令。
| 类型 | 作用 |
| 监控/分析器 | 分析实时 Modbus 通信并解码流量,在不干扰现有连接的情况下进行 |
| 分流器 | 复制一个 COM 端口数据流,使多个应用程序可同时访问 |
| 主站与从站模拟器 | 提供 Modbus 设备仿真,用于测试工作流程,无需物理硬件 |
| TCP 共享 | 通过 TCP/IP 提供访问,使你能够远程连接到本地串行设备 |
用于测试和诊断的 Modbus 监控软件
对实时 Modbus RTU 和 ASCII 流量进行有效监控需要专用软件,能够在保留现有连接的同时实时拦截 COM 端口活动。
以下是可用的领先工具:
串口监视器
最适合: 需要对串口上的实时 Modbus RTU/ASCII 通信进行实时监控和分析且不影响活动连接的开发人员和工程师。
Modbus 协议分析器 提供了一种便捷的方法,可在应用程序或驱动程序开发过程中追踪可能出现的问题,测试并优化串行设备等。
主要功能:
- 连接到已被其他程序占用的串口并立即开始监控。端口接收到的所有数据都会实时显示,以便即时跟踪任何可能的问题。
- 同时监控多个串口。您可以在一个会话中同步分析多个 Modbus 端口的活动。双向流动的数据会按先进先出方式方便地记录在一个日志中。
- 同时在表格、终端、行和转储视图中查看捕获的数据。您可以使用各种过滤器进行精确监控。
- 模拟向串行设备传输数据,以准确查看其对特定命令将如何响应。
了解如何解码 Modbus 消息,请点击此处。
协议: 在 RS-232、RS-422 和 RS-485 上运行的 Modbus RTU 和 Modbus ASCII 协议。
平台: 兼容 Windows 7/8/8.1/10/11 的 32 位和 64 位版本,以及 Windows Server 2012、2016、2019 和 ARM 版 Windows。
价格: 提供 Standard、Professional 和 Company 版本的付费许可证,并包含免费试用。
优点
- 支持对已开放端口进行非侵入式监控
- 能够同时与多个端口协同工作
- 具备内置的 Modbus 解码器,并提供专用的 Modbus 监控视图
- 包含会话回放功能
- 适用于所有 COM 端口类型,例如 USB 转 RS232 和 RS485 适配器
缺点
- 仅限 Windows 系统使用
- 专为串口监控设计,不支持 Modbus TCP
Modbus 轮询
最适合:需要实时绘图、多窗口监控和数据记录的技术人员和自动化工程师,他们需要一个可靠的主站 Modbus 设备模拟器。
Modbus Poll 是一款流行的 Windows 应用程序,用于 Modbus 实时监控和主站模拟。它能够很好地配合 Modbus RTU、ASCII 和 TCP/IP 使用,让用户读取和写入寄存器、实时可视化数据,并轮询从站设备。
多文档界面使得可以同时打开多个相互独立的轮询窗口,每个窗口可专注于不同的从站或寄存器组。凭借 20 多年的行业积累,它已成为全球自动化工程师事实上的标准工具。
功能
- 支持多文档界面,可在不同窗口中同时监控多个从站
- 通过绘图、仪表盘和图形提供实时数据可视化
- 包含数据记录功能,支持导出为 CSV 和 Excel
- 全面覆盖 Modbus 功能码
- 允许注入错误,用于测试和分析从站错误处理
- 提供命令行访问和 DLL 集成,以支持自动化场景
协议:兼容 Modbus RTU、ASCII、TCP/IP 和 UDP 通信标准。
平台:Windows。
价格:提供 14 天免费试用,单用户许可证价格约为 99 美元。
优点
- 被视为用于测试和诊断的行业标准解决方案
- 支持多窗口轮询以进行同时监控
- 功能丰富的可视化工具
- 兼容所有 Modbus 功能码
- 以可靠性和强大的文档而闻名
缺点
- 仅适用于 Windows
- 界面可能在视觉上显得过时
- 对于不熟悉脚本编写的用户来说,可能难以学习
- 充当主动 Modbus 主站,而不是作为被动监控工具运行
QMod大师
最适合: 寻找可靠、免费的 Modbus 主站并具备总线监控功能且支持 Windows 和 Linux 的开发人员和工程师。
QModMaster 提供一个免费的开源、基于 Qt 的环境,用于在 Windows 和 Linux 系统上处理 Modbus TCP/IP、RTU 和 ASCII 协议。它允许工程师和开发人员监控来自线圈、保持寄存器、输入寄存器和离散输入的数据,执行读或写操作,并连接到 Modbus 从设备。
QModMaster 提供内置的总线监视器,用于分析总线上的所有流量、绘制实时寄存器,并嵌入 Perl 脚本以运行自动化测试序列。
功能
- 具有内置监视器,可实时查看所有 Modbus 总线流量
- 支持对线圈、保持寄存器、输入寄存器和离散输入进行读取和写入操作
- 提供寄存器值的实时可视化
- 通过集成的 Perl 脚本引擎支持自动化测试序列
- 可在 Windows 上免安装运行,用户可解压后立即使用
协议:兼容 Modbus RTU、ASCII 和 TCP/IP 通信标准。
平台:Windows 和 Linux。
价格:以 GPL 许可提供的免费开源软件。
优点
- 免费提供
- 适用于多个操作系统
- 配备公交监控功能
- 包含脚本编写功能
- 无需安装即可立即使用
缺点
- 与商业软件相比,提供了更简单、精致度较低的 UI
- 开发者提供有限的官方支持
- 不包括会话回放或高级数据导出功能
Modbus 数据拆分软件解决方案
在实际应用中,一个物理 COM 端口可能会接收多个应用程序需要同时处理的 Modbus 数据。然而,串口本身并不原生支持这一点,因为一次只能有一个应用程序访问某个端口。专用的 Modbus 分流器 软件通过创建该端口的多个虚拟副本并复制传入数据来解决此问题,从而使每个应用程序都能接收到数据。
虚拟串口驱动程序
最适合:需要将来自一个物理 COM 端口的 Modbus RTU 数据同时分发到多个应用程序的开发人员和工程师。
Electronic Team 推出的 Virtual COM Port Driver 可能是完成此任务的最优解决方案。该程序作为串口分配器运行,能够将进入一个 COM 端口的数据复制到无限数量的真实和虚拟串行接口。Virtual COM Port Driver 将帮助你在系统中创建所需数量的虚拟 RS485(RS232、RS422)端口。因此,如果你希望多个应用同时接收你的 Modbus 流量,你只需创建主站接收 COM 端口的虚拟副本,并将所需的应用连接到这些副本即可。Virtual COM Port Driver 会将流量复制到真实 COM 端口的所有虚拟副本中,这样多个应用就能在同一时间接收到相同的数据。
功能
- 在您的电脑上设置多个虚拟 COM 端口对
- 允许单个物理 COM 端口将相同的 Modbus 数据并行分发给多个应用程序
- 支持回环连接以及现代调制解调器或手持设备线路信号的仿真
- 将多个 COM 端口聚合为统一的虚拟接口
协议:兼容使用 RS-232、RS-422 和 RS-485 的 Modbus RTU 和 Modbus ASCII。
平台:可在 Windows XP、Vista、7、8、8.1、10、11(32 位和 64 位)以及 Windows Server 2003 至 2019 上运行。
价格:商业软件,提供 Standard 和 PRO 版本,并提供免费试用。
优点
- 虚拟 COM 端口对创建数量不受限制
- 支持同时为多个应用进行实时数据复制
- 支持回环和通信线路仿真
- 完全基于软件;无需硬件
- 为可靠的驱动级运行而构建
缺点
- 仅适用于 Windows 平台设计
- 仅限于串行端口通信,不支持 Modbus TCP
com0com
最适合: 寻找用于简单测试和开发用途的免费虚拟空调制解调器仿真器的开发者。
com0com 是一个适用于 Windows 的内核模式虚拟串口驱动程序,且免费并开源。它会创建成对的虚拟 COM 端口,并通过一条虚拟的空调制解调器电缆将它们连接起来。这样,两个应用程序就可以像通过真实的串行连接一样相互通信。你可以通过命令行或一个简单的 GUI 安装程序来进行设置。
功能
- 生成虚拟 COM 端口对,例如 COM5 ↔ COM6
- 使用内核模式驱动程序以支持底层兼容性
- 支持通过简单的 GUI 进行安装,并通过命令行进行配置
协议: 兼容任何串行协议,例如 Modbus RTU 和 ASCII。
平台: Windows。
价格: 提供免费且开源版本。
优点
- 无需费用
- 专为可靠的内核级稳定性而打造
- 常用于软件开发环境中
缺点
- 仅支持单一目的地输出,不支持拆分到多个目标
- 缺少回环仿真功能
- 未提供用于管理的图形界面
- 不包括官方供应商支持
- 不适用于生产环境的 Modbus 使用场景
- 可能需要关闭驱动程序签名强制执行或启用 Windows 测试模式
用于基于网络的串行设备共享的 Modbus TCP 软件
在工业环境中,一个 Modbus RTU 设备通过串行端口在物理上连接到一台 PC,而多个网络用户或系统需要同时访问它。Modbus TCP 通过将串行 RTU 连接转换为 TCP/IP 数据流来解决这一问题。这使得该设备可供网络上的所有客户端使用。
串口转以太网连接器
最适合: 需要为多个远程用户或应用程序提供对本地连接的 Modbus RTU 串行设备的 TCP/IP 访问的工程师。
Electronic Team 的串口到以太网连接器是一款广受欢迎的软件应用程序,旨在通过以太网网络共享本地连接的 Modbus 串行设备的数据。它使网络用户能够使用自己计算机上的虚拟 COM 端口,与该设备进行通信,就像他们本地连接了一样。
串口到以太网连接器可同时处理超过 255 个串口设备的共享。它作为 Windows 服务在后台运行,因此无需保持应用程序打开。系统会在系统重启后自动重新配置所有连接。
功能
- 提供通过 UDP 或 TCP/IP 共享本地连接的 Modbus RTU 串行设备的能力
- 远程客户端的连接通过虚拟 COM 端口进行,保留设备的完整功能
- 允许单个端口同时服务多个客户端,并可为每个客户端配置读写权限
- 在连接丢失时缓冲数据,并在连接恢复后自动发送
- 作为 Windows 服务在后台运行,无需保持应用程序处于打开状态
- 在用户定义的超时时间内自动恢复连接
- 提供对 RAW 和 Telnet(RFC 2217)数据通信协议的支持
- 包含流量加密和密码保护,以实现安全通信
- 专为 Windows 和 Linux 环境使用而设计
- 允许导出和导入配置,轻松迁移到另一台机器
协议:支持 Modbus RTU 到 Modbus TCP/IP 和 UDP 的转换,用于串口到网络的通信。
平台:
- 可在 Windows 7 SP1、8、10、11(32 位和 64 位)Windows Server 2008 R2 SP1–2022 以及 ARM 上的 Windows 10 和 11 上运行
- 完整的 Linux 版本(完整版)
价格:提供付费许可,并包含 14 天免费试用。
优点
- 支持超过 255 台设备
- 作为 Windows 服务运行
- 连接丢失时支持数据缓冲
- 基于每个客户端控制读/写访问权限
- 支持流量加密
- 专为跨 Linux 和 Windows 环境使用而设计
- 远程客户端通过虚拟 COM 端口保留完整的串行功能
缺点
- 该软件需要在服务器和客户端系统上安装
Modbus 主站和从站模拟器
在开发过程中,Modbus 仿真至关重要。它允许主站和从站系统在无需双方都配备物理硬件的情况下,与虚拟对应端进行测试。
Simply Modbus
最适合: 寻找简单且价格实惠的 Windows 套件的工程师,该套件支持通过 TCP 和 RTU 进行 Modbus 主站和从站仿真。
专为 Windows 构建,Simply Modbus 提供了一套工具,用于测试、模拟和监控 Modbus TCP/IP 以及 RTU/ASCII 串行协议。它提供 Modbus 主站模拟器、用于对寄存器进行持续实时轮询的轮询管理器(Poll Manager)Modbus 从站模拟器,以及用于记录 Modbus 流量日志的数据记录器(Data Recorder)该界面保持简洁和极简。你只需配置连接、选择功能码,并以最少的设置开始通信。
功能
- 单一套件中包含Modbus主站和从站模拟器
- 配备轮询管理器,可持续轮询并实时显示寄存器
- 配备数据记录器,可将Modbus通信流量记录到文件中
- 支持多种数据格式,并可为每个寄存器独立配置
- 支持通过串口进行Modbus RTU模拟,以及通过以太网进行Modbus TCP模拟
协议:兼容Modbus RTU、ASCII和TCP/IP协议。
平台:Windows。
价格:提供付费许可证,包含高性价比的单用户方案,并可选站点许可证。
优点
- 在单个包装中包含主机和从机
- 简洁且专注的界面
- 经济实惠
- 按寄存器配置数据格式
- 提供站点许可证选项
缺点
- UI 看起来过时了
- 仅适用于 Windows
- 提供基本的脚本编写和自动化支持
Modbus 从站
最适合:需要并行运行多个 Modbus 从站仿真的自动化工程师和开发人员,以便对主站软件进行全面测试。
Witte Software 的 Modbus Slave 作为 Modbus Poll 的专业级对应产品。它可以通过多文档界面同时运行多达 100 个独立的从站窗口,每个窗口都保持各自的地址、寄存器映射和数据值。
Modbus Slave 通过 OLE 自动化与 Excel 集成,从而支持结构化的测试场景,使寄存器值按照脚本或数据集变化。
功能
- 支持最多 100 个同时运行的从站窗口,每个窗口都可独立配置
- 通过 OLE 自动化与 Excel 集成,可使用脚本化测试数据
- 支持异常响应模拟,用于测试主站错误处理
- 兼容 Modbus RTU、ASCII、TCP 和 UDP 协议
- 包含 30 天免费试用
协议:兼容 Modbus RTU、ASCII、TCP/IP 和 UDP。
平台:Windows
价格:提供 30 天免费试用,单用户许可证价格约为 $99
优点
- 最多支持 100 个从属 Windows
- 通过 OLE 提供与 Excel 的集成
- 为所有 Modbus 变体提供支持,例如 RTU、ASCII、TCP/IP 和 UDP
- 可信供应商
缺点
- 仅适用于 Windows
- 需要付费许可证
- 使用较旧风格的用户界面
哪款 Modbus 工具适合您的需求?
有许多可用的 Modbus 工具,最佳选择取决于你的具体任务。如果你需要用于串行流量的被动监视器,或者你想要模拟硬件、通过网络共享设备,或主动测试设备,那么针对每种场景都有专门的解决方案。
查看下表以快速找到适合你需求的工具。
| 任务 | 最佳工具 |
| 在保持连接不中断的同时监控实时 RTU/ASCII 流量 | Serial Port Monitor |
| 通过请求查询 Modbus 从设备 | Modbus Poll |
| 作为从设备运行以模拟传感器或 PLC | Simply Modbus Slave |
| 同时在多个应用程序之间共享单个串口 | Virtual Serial Port Driver |
| 通过远程 TCP/IP 网络连接到串行设备 | Serial to Ethernet Connector |
| 识别并解决 Modbus 帧错误,例如 CRC、功能码以及错误响应等问题 | Serial Port Monitor |
| 用于简单测试或学习用途的免费工具 | QModMaster |
常见问题
QModMaster 是一款流行的免费 Modbus 工具,支持 RTU 和 TCP,运行于 Windows 和 Linux 系统,并提供内置的总线监视器。ModPoll 是一款轻量级的免费 CLI 替代方案。对于非侵入式监控或内置的 Modbus 帧解码,Eltima 的 Serial Port Monitor 提供 14 天免费试用。
Modbus RTU 使用 RS-232 和 RS-485 等串行通信以二进制形式传输数据。而 Modbus TCP 使用以太网和 TCP/IP 来运行相同的协议,并用 6 字节的 MBAP 头替代串行帧。大多数现代工具与这两种变体都兼容。
Eltima 的 Serial Port Monitor 支持以非侵入方式附加到活动 COM 端口,并在不影响使用该端口的应用程序的情况下实时捕获 Modbus 流量。
您可以使用 Modbus 主站模拟器,例如免费的 QModMaster 或 Modbus Poll,来测试从站设备。它可以帮助您读取保持寄存器,通过 TCP 或串口连接到设备,并将响应与预期值进行比较。QModMaster 包含内置的 Perl 脚本功能,用于自动化测试序列。
串行端口本身不原生支持此功能,因为同一时间只能有一个应用程序使用该端口。Eltima 的虚拟串行端口驱动程序会复制串行端口,并将传入数据实时传递给每个已连接的应用程序。
Modbus Poll 作为一个主动主站模拟器运行,用于向从站设备发送请求并查看响应。Serial Port Monitor 作为一个被动分析器运行,用于在不发送请求的情况下拦截并解码活动串行连接上的通信流量。尽管它们承担不同的任务,但在开发工作流程中经常结合使用。