← 返回软件与工具库

Modbus Slave 从站模拟器:能模拟 32 个从站,$129 永久授权

最后更新 2026-09-02
⏱ 约 9 分钟 🟡 涉接线/强电
Modbus Slave ModbusSlave / Modbus 从站模拟器 Modbus工具 商业付费

需要一台(或一整条总线的)假从机来开发上位机时最省事的选择,能模拟 32 个从站设备/地址区并用 Excel 驱动数据;代价是商业授权,本站不提供下载。

授权
商业软件 闭源 单用户永久授权 $129,含免费无限期支持与维护升级;3-9 套 $119/套,10 套以上 $109/套。
平台
Windows
协议
Modbus RTU、Modbus ASCII、Modbus TCP
官网
https://www.modbustools.com/
适合
  • · 设备还没到货或拿不到,但上位机、SCADA、网关的轮询逻辑得先写完先测完
  • · 需要一次造出一整条多机总线,验证轮询节奏、超时重试与地址分配
不适合
  • · 只想验证一台真实从站设备的寄存器读写对不对(那要的是主站工具,不是从站模拟器)
  • · 简单到一问一答就够、且不接受商业授权的临时场合
这是商业付费软件,本站不提供下载

请从官方渠道购买授权: 官网 | 官方下载页

文件名
Modbus Slave(商业付费软件,本站不提供下载)
版本
以官网为准
SHA256
待补(尚未实际核对,不填占位值)
核对于
2026-09-02

本站不托管安装包,上方为官方渠道直链。下载后请自行核对 SHA256,与上表不一致说明文件被改动过。

先把这篇和 Modbus Poll 那篇的分工说清楚:Poll 是主站模拟器,你手里有设备、想读它;Slave 是从站模拟器,你手里没有设备、但得让程序以为有。两者是同一家 Witte Software 的配套产品,价格和条款一模一样($129 单用户永久授权),值不值的账在 Poll 那篇里算过了,这里不重复。

这篇只回答一个问题:你为什么会需要一个假的从站。

主站和从站,谁先开口

Modbus 是一主多从。整条线上只有主站有开口权,从站永远是被动的——主站不问,从站一个字节都不会发。从站按 1 到 247 的地址寻址,主站在报文头上写谁的地址,那台从站才应答,其余的装没听见。

这个不对称决定了调试工具必须分成两类。你拿主站工具去连另一台主站,两边都在等对方先说话,结果就是干瞪眼;你拿从站模拟器去连一台真实从站,两边都不主动问,同样什么都不会发生。

所以第一步是搞清楚:你写的程序是哪一头。

如果你在写上位机、组态、SCADA、数据采集服务,或者写一台协议网关的北向接口——你的程序是主站。它需要的是一个能应答的对端。这个对端本该是现场那台电表、变频器、温控器,但很多时候你根本拿不到它。

三种拿不到设备的情况

第一种,设备还没到货。 项目立项了,采购在走流程,硬件三周后才到,但软件工期不等人。你总不能干等三周,等设备到了再开始写通信层。

第二种,设备在客户现场。 这是最常见也最难受的一种。设备装在几百公里外的配电房里,产线上还在跑,你没法把它拆下来带回办公室。远程调试意味着每改一行代码就要联系现场的人配合,一天试不了几轮。

第三种,你要造的场景真实设备造不出来。 这一种最容易被低估。你的程序要处理从站不应答(超时)、应答异常码、寄存器返回越界值、通信中途断开又恢复——这些都是异常路径,恰恰是最容易出 bug 的地方。你去哪里找一台"会按你的要求出故障"的真实设备?没有。你只能自己造一个。

模拟器解决的就是这三件事:把对端变成一个你能完全控制的东西。

32 个从站意味着什么

官方对 Modbus Slave 的描述是 "a slave simulator for simulating 32 slave devices/address areas",即一次可以模拟 32 个从站设备或地址区。

这个数字的价值不在于"数量多",在于它能复现你办公室里复现不了的拓扑。

现实中的一条 485 总线是什么样?一个楼层的配电室里挂十几块电表,一条产线上挂几十个温控表和传感器,地址从 1 排到 30 几。你的主站程序要按顺序轮询它们,处理每一台的超时和重试,还得保证一台设备卡住不会拖垮整条线的采集周期。

而你办公室的桌上只有一台样机。于是轮询逻辑里那些真正会出问题的地方,你一个都测不到:

  • 轮询节奏:30 台设备一圈轮完要多久?你设的采集周期够不够?某台超时后是跳过还是重试三次再跳,会不会把整圈时间拖爆?
  • 超时处理:单台不应答时,你的程序是标记这一台离线继续往下走,还是整个采集任务卡死?
  • 地址冲突:现场施工把两台设备拨成了同一个地址,总线上会同时应答,报文互相踩踏。你的程序看到这种混乱数据会怎样?
  • 部分离线:一半设备在线一半掉线,你的数据表里是留空、留旧值,还是写了 0 让上层误以为是真实读数?

有了 32 个从站,你在办公室里就能把一整条总线搭出来,把上面这些路径挨个走一遍。这比等到现场调试时再发现问题,代价小得不是一个量级。

用 Excel 驱动寄存器数据

官方另一句值得注意的描述是 "OLE Automation support for easy interface to your Excel spreadsheet"——支持 OLE 自动化,能和 Excel 表格对接。

这条容易被当成锦上添花的小功能,其实它把模拟器从"手动点几下"变成了"可编程的测试夹具"。

手动改寄存器值是这样的:你在界面上双击某个地址,敲进去一个数,看主站读到什么。测三五个值还行,测一百个就没人干得下去。

接上 Excel 之后思路完全变了。你把测试数据摆在表格里——一列地址,一列值,一列期望结果——让表格去驱动模拟器的寄存器。于是这几件事变得可行:

  • 批量测试用例:把几十上百组输入摆在表里,一次跑完,不用手工敲。
  • 造边界值:有符号数的 -32768 和 32767、无符号数的 65535、温度的负值、流量的零值。这些边界值在真实设备上你几乎没机会触发,但用户现场一定会遇到。表格里排一排,全试一遍。
  • 跑回归:通信层改过之后,把同一张表再跑一次,看结果有没有变。这是纯手动调试永远做不到的。

顺带说一句,用表格排数据时最容易翻车的是寄存器编号和报文地址常差 1。文档上写"40001 号保持寄存器",报文里实际填的地址往往是 0。你在 Excel 里排地址列的时候,先在模拟器上用功能码 03(读保持寄存器,日常用得最多的一个)读一次确认对齐关系,再往下排,否则整张表的数据全错一位。

同样要留神的还有 32 位量:一个 32 位的浮点数或长整型要拆成两个 16 位寄存器存,而高低字、高低字节的组合有四种字序。主站和从站字序对不上,读出来的数会变成天文数字或者接近零的怪值。模拟器的好处是你可以把四种都试一遍,直接看哪种能对上,不用靠猜。

免费方案能顶到哪一步

不是所有场景都得掏这笔钱。

如果你的主站程序现在只需要"有个东西会回话",那 UartAssist 和 SCOMM 都带自动应答规则:设置成收到 A 就回 B,把主站发的那条读请求整包填进去,把你想要的应答整包填进去,就能顶替一台从机。免费,五分钟配好,验证"我的串口发出去了、我的解析代码能收回来"这一层完全够用。

但这个方案有明确的天花板,你迟早会撞上:

  • 规则是静态的。收到 A 永远回 B。而真实从站的应答是有状态的——你写了个值进去,下次读应该读回新值。自动应答做不到这件事,你的写逻辑等于没测。
  • 造不出 32 台设备。要模拟一整条总线,意味着要为每台设备的每个功能码各写一条规则,几十条规则手工维护,比买软件贵得多。
  • CRC 得自己算。每改一次应答内容,校验字节就得重算一遍。改十次算十次。可以用 CRC / Modbus 校验计算器顶一阵,但这本身就说明你已经在做模拟器该做的事了。

所以判断标准很直白:你要验证的是"通没通",免费方案够;你要验证的是"逻辑对不对",就该上模拟器了。

最后

Modbus Slave 是商业付费软件,本站只做内容介绍,不提供下载,也不讨论任何非官方渠道。要用请到 modbustools.com 走官方购买,授权是永久的,含免费无限期的支持与维护升级。

先想清楚你缺的是哪一头:缺一台会应答的设备,看这篇;缺一个能主动去问的主站,那要的是 Modbus Poll 或者免费开源的 QModMaster。

📄 来源 / 自校链接

本文为公开资料整理,非亲测。关键参数与代码请结合实物与下列官方来源验证。

延伸阅读

和它配套的主站工具是 Modbus Poll,定价结构与值不值的账在那篇里算过了。 只是想在简单场景里省下这笔钱,可以用 UartAssist 或 SCOMM 的自动应答规则临时扮演一台从机。 报文对不上先算校验,用 CRC / Modbus 校验计算器把字节粘进去直接验; 多机总线的收发方向与终端电阻见 RS-485 差分总线。 其余同类见软件与工具库。

同类可替代
内容有错、看不懂、或想看下一期?告诉我们 →

本文为公开资料的学习整理,非亲测。涉接线/花钱/合规的步骤请结合实物与官方最新资料验证,风险自负。见免责声明。

这个页面有问题?

提交时会附带当前页面地址和浏览器信息,帮助我们定位问题。不填联系方式即为匿名。