内置工具

参数不明的设备,
让它自己说出来。

老设备最常见的障碍不是技术,是没有人记得通信参数。 串行通信辅助工具会系统性地扫过所有可能组合, 用实际收到的帧是否完整、CRC 是否正确来判断,直到锁定为止。

serial autodetect / com3

示意输出。实际扫描会按现场流量与超时设置调整顺序。

扫描维度

要试的组合比想象中多。

单靠人工,每个组合换一次设置、等一次超时,几百种排列很快就一个下午。 工具用毫秒级切换自动走完。

BAUD RATE

波特率

1200 / 2400 / 4800 / 9600 / 19200 / 38400 / 57600 / 115200

FRAME

数据格式

7/8 数据位 × None/Even/Odd × 1/2 停止位

PROTOCOL

协议

Modbus RTU / ASCII 及常见品牌私有协议特征

SLAVE ID

从站站号

1 – 247 扫描,并列出在线响应的所有站号

判断依据

不是靠猜,是靠证据。

工具用四层信号逐步收敛,避免「看起来有响应」的假阳性。

  1. 电平与帧错误

    波特率错误时 UART 会产生 framing / parity error。错误率高的组合直接排除。

  2. 静默间隔一致性

    正确波特率下,帧与帧之间的静默间隔会呈现稳定的协议特征。

  3. 校验码验证

    用 CRC-16 (RTU) 或 LRC (ASCII) 验算。连续多帧通过才视为命中。

  4. 语义合理性

    检查功能码是否在合法集合、数据长度与声明长度是否一致、地址范围是否合理。

被动模式优先

现场已有 HMI 在轮询时,工具优先采用被动监听: 不主动发出任何字节,只听既有流量就能推导出参数。

这对「不允许在运行中设备上注入报文」的场合很重要—— 很多产线根本不会给你主动测试的机会。

主动模式 · 需授权

若线路上没有主站(例如设备待机、或直接接单机 PLC), 工具可发出最低风险的只读查询(Modbus FC03/FC04)探测。

主动模式一律需要人工明确启用,并可限定站号与地址范围。

输出

扫描完直接得到可用的配置文件。

  • — 确认的串口参数(波特率 / 数据位 / 校验 / 停止位)
  • — 协议类型与在线从站站号清单
  • — 观测到的轮询周期与各站台流量占比
  • — 被访问过的寄存器地址范围(做点表的起点)
  • — 可直接导入 Falcon 的配置文件,以及交给 AI agent 的数据摘要

最后一项是关键:这份摘要就是 一小时产出远程 HMI 流程的输入。

scan-result.json
{ "port": "COM3", "baud": 38400, "frame": "8E1", "protocol": "modbus-rtu", "confidence": 0.98, "slaves": [ { "id": 1, "polls_per_sec": 4.2 }, { "id": 2, "polls_per_sec": 1.1 } ], "observed_ranges": [ "4x:0-19", "4x:100-107", "0x:0-31" ], "errors": { "crc": 0, "timeout": 2 } }

手上有一台没人搞得懂的设备?

那正是最适合开始的地方。