SSPC-Tester/Docs/Modbus接口规范/接入验收清单.md
2026-06-30 12:10:29 +08:00

82 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Modbus 主项目接入验收清单
## 1. 配置验收
- [ ] 主项目启动时成功加载 `device-profile.json`
- [ ] 配置文件随发布产物复制到预期目录。
- [ ] COM 口可以在主项目中选择并保存,没有硬编码 `COM9`
- [ ] 配置缺少物理插位、出现重复寄存器或版本不支持时,程序阻止通讯并明确报错。
- [ ] 业务代码中没有写死从站、线圈、寄存器、量程和通道映射。
## 2. 协议单元测试
- [ ] CRC16-Modbus 计算和校验正确CRC 低字节在前。
- [ ] 继电器写单线圈帧使用功能码 `0x05`
- [ ] ON 值为 `0xFF00`OFF 值为 `0x0000`
- [ ] 电压请求为从站 4、功能码 `0x03`、起始寄存器 0、数量 24。
- [ ] 电流请求为从站 5、功能码 `0x03`、起始寄存器 0、数量 24。
- [ ] 电压原始值按 `UInt16` 解析。
- [ ] 电流原始值按二进制补码 `Int16` 解析,负数测试通过。
- [ ] 电压公式为 `DATA / 100`
- [ ] 电流公式为 `DATA / 10000 × 60`
- [ ] 解析器拒绝 CRC 错误、从站错误、功能码错误和长度不足的回包。
## 3. 映射自动测试
- [ ] 物理插位完整覆盖 124。
- [ ] 24 个继电器从站/线圈组合不重复。
- [ ] 电压 `registerOffset` 完整覆盖 023。
- [ ] 电流 `registerOffset` 完整覆盖 023。
- [ ] `sourceDisplayChannel` 仅用于记录和诊断,没有参与回包字节寻址。
重点抽查:
| 物理插位 | 继电器 | 电压寄存器偏移 | 电流寄存器偏移 |
|---:|---|---:|---:|
| 1 | 从站1 / 线圈7 | 0 | 4 |
| 8 | 从站1 / 线圈0 | 7 | 16 |
| 9 | 从站2 / 线圈7 | 8 | 0 |
| 16 | 从站2 / 线圈0 | 15 | 20 |
| 17 | 从站3 / 线圈7 | 16 | 8 |
| 24 | 从站3 / 线圈0 | 23 | 12 |
## 4. 实机逐路验收
对物理插位 124 逐路执行:
1. 只闭合当前物理插位对应的继电器。
2. 确认其他继电器没有误动作。
3. 给当前接口施加已知电压和电流。
4. 主项目读取一次完整电压帧和一次完整电流帧。
5. 确认值出现在当前 `physicalSlot`,其他物理插位没有串位。
6. 对比标准仪表,记录原始值、工程值和允许误差。
7. 关闭继电器并确认硬件断开。
- [ ] 物理插位 18 通过。
- [ ] 物理插位 916 通过。
- [ ] 物理插位 1724 通过。
- [ ] 电流正值通过。
- [ ] 电流负值或反向极性通过。
- [ ] 连续轮询稳定性通过。
## 5. 异常与稳定性验收
- [ ] 拔掉串口后能超时退出,不永久卡住界面。
- [ ] 恢复连接后可以重新打开串口。
- [ ] CRC 错误帧不会被当作有效测量值。
- [ ] Modbus 异常响应能够显示异常码。
- [ ] 继电器操作与采集轮询不会同时写串口。
- [ ] 重试不会把残留回包拼入下一次响应。
- [ ] 应用退出时串口正确关闭。
- [ ] 日志能够定位到时间、请求 HEX、响应 HEX、耗时和错误原因。
## 6. 完成标准
只有在以下条件全部满足后才视为接入完成:
- 主项目所有业务页面统一使用 `physicalSlot`
- 24 路继电器、电压和电流均逐路实机通过。
- 配置文件成为映射的唯一权威来源。
- 主项目发布包在目标电脑上无需开发环境即可选择串口并运行。