ModScan 是 WinTECH Software 出的 Modbus 主站工具。官方自己的说法是:从 1990 年随 Windows 3.0 一起出现,久到成了全世界维护 Modbus 网络的事实标准。
它干的事情很单一:以主站身份向从站发请求,把响应解析成一张数据表,顺手把原始报文摊开给你看。
2026 年还有必要学它吗?有。因为 Modbus 本身没被替代——电表、温控器、变频器、PLC、各类传感器,现场还在大量说这个协议。而 ModScan 这种"点表 → 数据"的直白交互,是理解 Modbus 最快的方式:它把"你填的地址"和"实际发出去的报文"同时摆在屏幕上,这一点比任何文档都直观。
一、为什么是它(和该换成什么的时机)
Modbus 调试工具就那么几个,取舍很清楚:
一句话结论:先装 ModScan 学协议和做现场排障(演示版功能不缺,只限时间),要长期自动化再补 mbpoll 这类命令行工具。
价格提一句,但请当作参考:早期公开资料写的是 65 美元(基础版)/ 110 美元(含趋势图与 OLE 的专业版),不过那是 2009 年的报价,现在以官网询价为准——作为对照,同类里的 Modbus Poll 目前是 129 美元起。
二、先把四个数据区搞清楚(这是前提)
ModScan 界面上那个下拉框只有四项,但它们对应 Modbus 的四类数据对象。不搞清楚这个,后面全是瞎试。
配套的功能码全表:
两个必须记住的约定:
下拉框里的 01/02/03/04 是功能码编号。而设备手册上写的
40001、30001,那个开头的 4/3 是另一套"区号前缀"命名法,只用于地址分段,不参与报文。两套东西混在一起是新手最大的困惑源。从站执行失败时,返回的功能码是原功能码 + 0x80。比如你发 03 读保持寄存器、地址不存在,从站回
83,后面跟一个异常码(02就是"非法数据地址")。
三、安装与版本选择
官网 win-tech.com 的 Download 页(/html/demos.htm)直接下,解压即用,是绿色软件——官方建议解压到一个独立目录,比如 C:\ModScan32。
关键是选对 32 还是 64:
注意看更新日期——这是判断这个软件"活不活跃"最直接的方式。官网首页提到已上线 "Secure Modbus Version 8",支持安全 Modbus 以及 Modbus TCP 与串口,并说明既有许可证仍然有效;官方还提到有 iPhone 版(App Store 搜 ModScan)。
演示版的限制:全功能,但有时间限制(多个来源描述为运行几分钟后中断,需要重启)。所以它做现场快速排障绰绰有余,做长时间数据记录就不行了。注册后解除。
四、界面:五个地方要知道
软件打开后是一个 MDI 窗口(叫 Modsca1 之类的文档窗口),你要认的地方只有五处:
四个字段的含义和常见值:
状态行的两个计数器是最实用的诊断手段:Number of Polls 是发出去的请求数,Valid Slave Responses 是收到的有效响应数。两个数一起涨才是链路正常;只有前者涨,说明发得出去但收不回来。
五、第一次连接:串口与 TCP 两条路
走串口(RTU,现场最常见)
Connection→Connect...在 "Connect Using" 下拉里选
Direct Connection to COMxx(xx 是你的串口号)配串口参数:波特率 / 数据位 / 校验位 / 停止位。工业设备最常见的组合是 9600、8 数据位、无校验、1 停止位
点
Protocol Selections按钮,把传输模式设为 RTU(ASCII 模式很罕见,且要改成 7 数据位)设
Slave Timeout(从站超时,常用 1000 ms)和Delay Between Polls(轮询间隔,常用 500 ms)OK,开始轮询
走 TCP(以太网设备 / 网关)
Connection→Connect...在 "Connect Using" 下拉里选
Remote modbusTCP Server填设备 IP 和端口,Modbus/TCP 默认端口 502
本机必须和从站在同一网段,或者能路由过去
两个省时间的习惯
存配置:
File→Save As存成命名文档,下次File→ 打开就行,不用重填四个字段。现场有多种设备时,一个设备存一份。快速连接:
Connection→Quick Connect,沿用上一次的连接配置。
六、地址那一格:整个软件最容易填错的地方
这是全文最重要的一节,也是绝大多数"明明按手册填了却读不到数据"的根因。
结论:ModScan 的 Address 字段是 1 基的,而且它对应报文里的地址 0。所以如果手册给的是"0 基偏移量",你要 +1 再填进去。
这个说法怎么自己验证?用软件自己证明——打开 Setup → Display Options → 显示数据流(原始报文),你会看到实际发出的帧。有资料记录了一个实测例子:Address 填 1、Length 填 100、点类型选线圈时,ModScan 发出的报文是:
01 01 00 00 00 64 3D E1
逐字节拆开看:
界面的 Address=1 变成报文的 0x0000——这就是那个偏移。手册地址的三种写法对照:
(上表的换算基于"ModScan 的 Address 最小可填 1、且填 1 对应协议地址 0"这套被多份资料记录的规则。填之前建议先用显示数据流核一眼——报文里的起始地址字段是 0x0000 还是 0x0001,一眼就能看出来。)
读不到数据时的第一动作永远是:地址 ±1 各试一次。厂商手册在这件事上不统一是常态,试比翻文档快。
另外,不同工具对地址的处理方式不一样,混用时别串了——比如 QModMaster 用的是 0 基寻址,同样一台设备在它那里要填 0。
七、数据显示与浮点数
Setup → Display Options 里可以切换数据的解读方式:
浮点数是第二个大坑。 一个 32 位 IEEE-754 浮点数要占两个 16 位寄存器,ModScan 提供两个选项:
典型现场现象:某个寄存器读出来是 65535 或者一个明显离谱的天文数字,看着像通信故障,其实通信完全正常,只是数据解释方式不匹配。切成 Swapped FP. 往往就是那个真实的 25.6。
需要知道的边界:ModScan 只提供"正常"和"字序对调"这两种。如果你的设备用的是字节交换类组合(比如 BADC 这种更冷门的排法),它没有直接对应项——这时先切到十六进制,按原始字节自己算。判断顺序永远是:先确认通信通不通(看状态行两个计数器和数据流),再确认数据怎么解释。
还有个连带影响:浮点占两个寄存器,所以 Length=100 只能看到 50 个浮点值。算长度时别忘了 ×2。
八、写数据(遥控 / 遥调)
写操作简单到让人放松警惕:在数据区双击某个地址/数值,弹出 Write Register 对话框,输入值,点 Update。
写入方式上,ModScan 允许你选择单点写入时用 05/06 还是用 15/16 批量指令——有些老设备只认其中一种,这是报文级兼容性问题,不是软件 bug。
但请把这几件事做在前面:
确认设备允许远程写(有些设备有写保护位或硬件锁)。
搞清楚这个参数写的是 RAM 还是 EEPROM。写 RAM 掉电就恢复,写 EEPROM 有次数寿命、且可能改坏设备配置。
先记下原值。点表存一份、原值抄一份,写错了能回退。
现场有联锁逻辑的设备,先确认写这个值不会触发误动作。
模拟有风险,下令需谨慎。
九、看原始报文(最有用的一节)
Setup → Display Options → 显示数据流,就能把收发报文摊开,其中一种底色是主站发出的,另一种是从站回复的(软件用底色区分方向)。
这个窗口能直接回答三个问题:
是我发错了,还是它没回? —— 报文列表里只有发出没有回复,问题在链路/从站;发出去了且地址明显不对,问题在你自己的配置。
CRC 对不对? —— 校验错的响应会明确报出来,指向干扰、波特率偏高或线材。
从站到底回了什么? —— 异常响应长这样:
01 83 02 C0 F1
含义是:站号 01、功能码 83(= 03 加了 0x80,表示异常)、异常码 02(非法数据地址)、CRC。看到这个就说明地址或点类型不对、超出了设备的点表范围,不用再怀疑接线。
顺带说一句和 Wireshark 的分工:TCP 场景下,ModScan 看应用层语义(点表对不对、值对不对),Wireshark 看网络层时序(重传、延迟、连接问题);串口场景没有网络层可看,ModScan 这个数据流窗口就是唯一的观测点。
十、没有硬件也能练:配一个 ModSim
同厂有个从站模拟器 ModSim(ModSim32 / ModSim64),和 ModScan 是配套的一对:它在你的电脑上扮演从站,定义若干数据块,等主站来读。
练法:
打开 ModSim,定义一个数据块(比如保持寄存器 1~10),手工填几个值。
打开 ModScan,TCP 就连本机回环或本机 IP、端口 502;串口就配合虚拟串口对(COM3 ↔ COM4)。
对着自己模拟的从站,把"地址偏移、点类型、长度、浮点字序"这几件事全部练一遍。
价值在于把工具和点表逻辑先练熟,到现场就只剩接线和参数对齐。 现场排障的时间压力很大,这些操作不该在现场才第一次做。
十一、状态行故障速查
状态行是 ModScan 的主要报错出口,红字对应不同病因:
十二、常见坑
十三、上手路径
不用背,按四步走:
这四步做完,现场遇到"连不上"或"数据不对",基本能当场定性。
十四、参考
官网与下载(ModScan32 / ModScan64 / ModSim32 / ModSim64 的演示版):https://www.win-tech.com/html/demos.htm
ModScan32 功能说明:https://www.win-tech.com/html/modscan32.htm
Modbus 应用说明页(ModScan / ModSim 概览):https://www.win-tech.com/html/modbus1.htm
用户手册打包(MS-Word 格式,含 ModScan / ModSim / MNetSvr / MNetMon):https://www.win-tech.com/demos/cpakman.zip
功能码与报文结构速查:随手册附带的协议章节,或任一份 Modbus 应用协议规范
替代品:Modbus Poll(https://www.modbustools.com)、mbpoll(libmodbus 系的命令行工具)