






















Modbus Studio 是一个用于 Modbus RTU / Modbus TCP 调试的桌面工具,主要用于:
在日常上位机、控制器、传感器和 PLC 调试中,很多工程师会使用 Modbus Poll 和 Modbus Slave 这类工具。它们很经典,也很稳定,但在实际项目交付和反复联调时,会遇到一些不方便的地方。
Modbus Poll 适合快速读取某一段寄存器,但它更偏“地址段调试”,不是“工程点位调试”。项目点位多了以后,常见问题包括:
40001 到底是什么变量、单位是什么、倍率是多少,不在工具里形成统一上下文。UINT16、INT16、FLOAT_ABCD、倍率 0.1 等,容易算错。Modbus Slave 适合临时模拟从站,但它通常更关注四个数据区本身,而不是项目字典。实际模拟设备时会遇到:
Modbus Studio 的目标不是简单复制 Modbus Poll 或 Modbus Slave,而是把常见 Modbus 调试过程整理成一个完整工程:
简单来说,Modbus Poll 和 Modbus Slave 更像“协议调试工具”,而 Modbus Studio 更想做成“项目调试工作台”。它让一次调试留下完整的工程上下文,而不是只留下几个临时地址和一堆零散截图。
Modbus Studio\Modbus Studio.exe
推荐按以下顺序使用:
.mbs 工程文件。寄存器字典是软件的核心。Client 和 Server 都会根据字典中的地址和长度工作,不会读取或显示字典之外的点位。

| 字段 | 说明 |
|---|---|
| 分组 | 用于分类点位,例如“温度传感器”“系统状态”。 |
| 地址 | Modbus 显示地址,例如 40001。 |
| 名称 | 点位名称,例如“设定温度”。 |
| 数据类型 | 解析原始值时使用的数据格式。 |
| 长度 | 占用的 16 位寄存器数量,位区通常为 1。 |
| 读写权限 | R 只读、W 只写、RW 读写。 |
| 比例因子 | 用于工程值换算。 |
| 单位 | 显示单位,例如 ℃、kPa、%。 |
| 备注 | 点位用途、范围或调试说明。 |
| 地址范围 | Modbus 区域 | Client 行为 | Server 行为 |
|---|---|---|---|
00001 - 09999 |
线圈 Coil | 可读取,可写线圈 | 可模拟,可切换开关值 |
10001 - 19999 |
离散输入 Discrete Input | 可读取,只读 | 可模拟,只读区 |
30001 - 39999 |
输入寄存器 Input Register | 可读取,只读 | 可模拟寄存器值 |
40001 - 49999 |
保持寄存器 Holding Register | 可读取,可写寄存器 | 可模拟寄存器值 |
说明:界面中填写的是常见 Modbus 显示地址,协议报文会自动转换为零基地址。例如 40001 会转换为协议地址 0。
支持的数据类型:
UINT16INT16UINT32INT32FLOAT_ABCDFLOAT_CDABFLOAT_BADCFLOAT_DCBABCDBIT选择数据类型后,软件会自动给出推荐长度,用户也可以手动修改。
界面显示的解析值与设备原始值之间按比例因子换算:
解析值 = 原始值 × 比例因子
原始值 = 解析值 ÷ 比例因子
示例:
| 原始值 | 比例因子 | 界面解析值 |
|---|---|---|
250 |
0.1 |
25 |
1234 |
0.01 |
12.34 |
写入“解析值”时,软件会自动反算为原始寄存器值再发送。
Client 页面用于连接真实 Modbus 设备。

Modbus RTU。Modbus TCP。127.0.0.1。502。Client 不再依赖手动输入功能码、起始地址和数量。连接成功后,软件会根据寄存器字典自动循环读取:
01。02。03。04。可在顶部设置“循环周期”,单位为毫秒。
“合并读取”开启后,软件会尝试把相邻或接近的字典点位合并为较少的读取请求,减少报文数量。
适合:
如果设备对读取范围要求严格,或不允许读取未定义地址,可以关闭“合并读取”。
Client 表格显示:
| 列名 | 说明 |
|---|---|
| 地址 | 字典中的显示地址。 |
| 名称 | 点位名称、数据类型和长度。 |
| 原始值 / 状态 | 寄存器显示 HEX,位区显示开关状态。 |
| 解析值 | 根据数据类型和比例因子计算后的值。 |
| 倍率/单位 | 当前点位的比例因子和单位。 |
| 权限 | R、W 或 RW。 |
| 备注 | 字典备注。 |
读取失败的行会高亮提示,方便定位某个地址或长度配置错误。
满足以下条件时可以写线圈:
00001 - 09999。W 或 RW。操作方法:
满足以下条件时可以写保持寄存器:
40001 - 49999。W 或 RW。支持两种写入方式:
| 写入位置 | 说明 |
|---|---|
| 原始值 / 状态 | 输入 HEX 原始值,例如 0064 或 0000 0064。 |
| 解析值 | 输入工程值,软件按数据类型和比例因子自动编码。 |
输入完成并确认后,软件会立即写入设备。写入期间如果正在轮询,软件会短暂停止轮询,写入完成后再恢复。

Server 页面用于模拟 Modbus 从站。
Server 不再生成固定地址表,而是完全根据寄存器字典显示数据。
如果某个区域为空,说明寄存器字典中没有该区域的地址。
Modbus TCP。0.0.0.0。502。提示:Windows 上监听 502 端口可能需要管理员权限。调试时可使用 1502、5020 等普通端口。
Modbus RTU。RTU Server 需要真实串口或虚拟串口工具配合测试。
Server 表格按四个区域切换:
0xxxx1xxxx3xxxx4xxxx位区可以直接切换开关值。寄存器区可以编辑:
如果服务已经启动,修改会立即同步到 Server 内部数据区,外部主站下一次读取即可获得新值。
当外部主站写入线圈或保持寄存器时:
报文日志用于查看通信过程。

显示内容包括:
| 字段 | 说明 |
|---|---|
| 时间 | 报文发生时间。 |
| 方向 | TX 发送或 RX 接收。 |
| 协议 | RTU 或 TCP。 |
| 数据 | 原始十六进制报文。 |
| 解析结果 | 软件解析后的简要说明。 |
| 耗时 | 本次事务耗时,单位 ms。 |
| 状态 | 发送、成功或失败。 |
日志最多保留 1000 条。可以点击“清空日志”清除当前日志。

工程文件使用 .mbs 格式,本质是 JSON 文本文件。
点击“新建工程”会清空当前配置,包括:
如果当前工程有未保存修改,软件会先弹出确认提示。
点击“保存工程”会保存当前所有数据,包括:
第一次保存会弹出文件路径选择框。
点击“另存为”会强制选择新路径,并把当前工程路径切换到新文件。
点击“打开工程”选择 .mbs 文件后,软件会恢复保存时的所有配置和数据。
最近打开或保存的工程会显示在“最近工程”列表中。点击项目可快速打开;点击删除图标只会移除最近记录,不会删除磁盘上的工程文件。
检查:
127.0.0.1。检查:
检查:
可以尝试关闭“合并读取”后再测试。
公众杨工碎碎念公众号

留言:
Modbus Studio
即可获取下载链接。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。