SSPC-Tester/Docs/用户使用手册.md

2149 lines
108 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.

---
title: "固态功率控制器SSPC动态参数检测系统用户使用手册"
subtitle: "SSPCTester v1.0"
author: "SPC-DynaTest 项目组"
date: "2026-06-25"
lang: zh-CN
toc-title: "目 录"
---
# 文档信息
| 项目 | 内容 |
| ------------ | ------------------------------------------------------------ |
| 文档名称 | 固态功率控制器SSPC动态参数检测系统用户使用手册 |
| 适用软件 | SSPCTester v1.0 |
| 文档编号 | SPC-DT-UM-001 |
| 适用读者 | 现场测试人员、质量评审人员 |
| 文档版本 | V1.0 |
| 发布日期 | 2026-06-25 |
| 编制 / 审核 / 批准 | (由现场负责人签署) |
**修订记录**
| 版本 | 日期 | 修订内容 | 修订人 |
| ---- | ---------- | -------------- | ------ |
| V1.0 | 2026-06-25 | 首次正式发布 | |
---
# 阅读约定
为方便阅读,本手册使用以下统一约定。
**字体与样式**
- `等宽字体` 表示文件路径、命令、配置键、寄存器地址等技术内容。
- **粗体** 表示界面上的按钮、菜单或控件名称,例如 **开始测试**
- *斜体* 用于术语首次出现时的标识。
**信息提示**
> **【提示】** 用于补充说明或操作建议。
> **【注意】** 用于强调可能影响测试结果或数据准确性的事项。
> **【警告】** 用于强调可能造成人身伤害、设备损坏或不可恢复后果的事项。
**插图占位**
本手册中以 `[插图XXX]` 的形式标注界面截图位置。正式发布前由现场人员补充对应截图。
**通道编号约定**
本系统所有"通道号"均指**物理插位**,编号为 124。Modbus 从站地址、线圈号、寄存器偏移仅在底层通信中使用,用户无需关心。
---
\newpage
# 第 1 章 产品概述
## 1.1 产品简介
**固态功率控制器SSPC动态参数检测系统**(以下简称"本系统"或 SSPCTester是一套面向 24 路固态功率控制器的自动化检测平台,用于在生产、入厂复检、定型试验等环节,对 SSPC 的动态特性、功率损耗、保护功能等关键参数进行自动化测量、判定与报告输出。
软件采用 **C# / WPF / .NET 8** 架构,运行于 Windows x64 平台。配合外部高速数据采集卡、程控电源、可编程电子负载、Modbus-RTU 控制板等硬件,实现对被测件 24 路通道的逐路加电、波形采集、参数计算与合格判定。
## 1.2 适用范围
本系统适用于以下使用场景:
- 24 路结构的固态功率控制器SSPC成品测试
- 同结构组件的型式试验、抽样验收、出厂检验;
- 现场维修后的功能复检;
- 设计阶段对开关特性的对比验证。
## 1.3 主要功能特性
| 功能模块 | 主要能力 |
| ---------------- | ------------------------------------------------------------------------ |
| **基础测试** | 24 路通道逐路或一键导通/关断,实时读取电压电流,自动判定通断是否正常 |
| **开启与关断曲线** | 高速采集卡同步采样开关过程波形,自动计算开启时间、上升时间、关断时间、下降时间 |
| **功率损耗测试** | 同时采集输入/输出两端的电压电流,计算电压降、功率损耗与转换效率 |
| **保护功能演示** | 支持跳闸、短路、过温、过压、欠压、限流共 6 类保护项目的演示与记录 |
| **项目管理** | 以"被测件 = 项目"为单位组织测试数据,支持历史项目浏览与重测 |
| **报告生成** | 一键生成 PDF 格式专业测试报告,含封面、综合判定、各模块数据及波形 |
| **设备管理** | 集中管理 SSPC 控制板、程控电源、可编程负载、高速采集卡的连接、参数与标定 |
| **模拟模式** | 提供完整 Mock 驱动,无需真实硬件即可演练与培训 |
## 1.4 系统组成
本系统由"软件 + 硬件"两部分构成。
**软件部分**
- SSPCTester.UI基于 WPF 的主程序(`SSPCTester.UI.exe`
- SSPCTester.Logic业务逻辑层测试流程、计算、报告生成、项目存储
- SSPCTester.Devices设备抽象与驱动层含 Mock 与真实驱动)。
**硬件部分**
| 部件 | 推荐型号 | 用途 | 通讯方式 |
| ---------------- | ----------------------- | ------------------------------------------ | ----------------- |
| 工业控制计算机 | x86_64 工控机 | 运行 SSPCTester、安装 PCIe 采集卡 | — |
| SSPC 测控板 | 24 路 Modbus-RTU 控制板 | 控制 24 路继电器开关,回采电压/电流 | Modbus-RTU 串口 |
| 程控电源 | UDP5080-100 | 给 SSPC 供电(电压/电流可调) | LAN / SOCKET 5025 |
| 直流电子负载 | IT8702P | 模拟 SSPC 输出端的负载 | LAN / Socket 30000 |
| 高速数据采集卡 | PCIe8586ACTS 系列) | 同步采集 SSPC 开关瞬态电压/电流波形 | PCIe |
| 串口扩展卡 | 8 口 UART | 提供 SSPC 控制板使用的 COM 端口 | PCIe / PCI |
[插图:系统整体硬件连接示意图]
## 1.5 技术规格摘要
| 项目 | 规格 |
| ------------ | ----------------------------------------------------------------- |
| 测试通道数 | 24物理插位 124 |
| 采样率 | 高速采集卡 100 MHz / 可分频,典型 100 kHz |
| 采集时长 | 单次开/关瞬态典型 50 msPreTrigger 10 ms + PostTrigger 40 ms |
| 电压量程 | SSPC 端 0 100 V采集卡 ±5 V / ±1 V可选 |
| 电流量程 | SSPC 端 ±60 A |
| 通讯协议 | Modbus-RTUSSPCSOCKET / SCPI电源、负载厂商 API采集卡|
| 判定输出 | 合格 / 不合格 / 已测 / 未测 |
| 报告格式 | PDFA4含封面、数据表、波形图、综合判定 |
| 项目数据格式 | JSON + 二进制波形(`.bin` + `.json` 元数据) |
## 1.6 运行环境要求
| 项目 | 最低要求 | 推荐 |
| -------- | --------------------------------------- | ----------------------------- |
| 操作系统 | Windows 10 x641909 及以后) | Windows 11 x64 |
| 运行时 | .NET 8 Desktop Runtime自包含部署可免装| .NET 8 |
| CPU | 4 核 2.0 GHz | 6 核及以上 |
| 内存 | 4 GB | 8 GB |
| 硬盘 | 5 GB 可用空间 | 20 GB SSD |
| 扩展槽 | 1 × PCIe采集卡+ 1 × PCIe/PCI串口扩展| 同左 |
| 网络 | 1 × 千兆以太网(电源 / 负载所在网段) | 千兆以太网 + 独立交换机 |
| 显示器 | 1920 × 1080 | 1920 × 1080 及以上 |
| 权限 | 当前用户对 `%LOCALAPPDATA%` 有写权限 | 同左 |
---
\newpage
# 第 2 章 安全注意事项与作业前检查
> **【警告】** 本系统在测试过程中可能向被测件施加最高 100 V 直流电压、最大 60 A 电流。所有作业必须遵循下列安全规范,由经培训的人员执行。
## 2.1 一般安全要求
1. **培训资质**:操作人员应接受电气安全与本系统操作培训,熟悉急停位置与紧急断电流程。
2. **个人防护**:作业时穿戴防静电手腕带、绝缘手套;带电换接电缆严禁徒手操作。
3. **设备接地**工控机、SSPC 工装、程控电源、电子负载机壳必须可靠接保护地PE接地电阻 ≤ 4 Ω。
4. **环境要求**:作业环境温度 5 ℃ 40 ℃、相对湿度 ≤ 75 %、无导电粉尘与腐蚀性气体。
5. **急停**:测试台应配置就近可达的红色急停按钮,能在 1 秒内切断电源至 SSPC 与电子负载。
## 2.2 高压与高电流防护
- 程控电源输出电压 ≥ 36 V 时,应视为危险电压,禁止在带电状态下接触输出端子。
- 电子负载在大电流回吸状态下,输入端子温升较高,断电后应等待 ≥ 60 秒再触摸。
- 测试电缆截面积应与最大测试电流匹配(建议 60 A 段使用 ≥ 10 mm² 多股铜线)。
## 2.3 ESD 与设备保护
- 拔插 SSPC 被测件前,必须先停止测试、断开程控电源输出。
- 高速采集卡与 SSPC 信号端禁止热插拔;必须在工控机断电状态下安装。
- 同一被测件不应在带电状态下重复插拔工装座,避免触点电弧。
## 2.4 作业前检查清单
每次开机测试前,按以下顺序检查并签字确认。
| 序号 | 检查项 | 标准 | 确认 |
| ---- | ------------------------------------------------------------ | ---------------------------- | ---- |
| 1 | 工装座、被测件外观、端子 | 无变形、无烧蚀、无松动 | □ |
| 2 | 测试电缆、信号线 | 绝缘完好、无破皮、连接牢靠 | □ |
| 3 | 接地线导通 | 电阻 ≤ 4 Ω | □ |
| 4 | 程控电源初始设定 | 输出关闭、电压电流上限符合规程 | □ |
| 5 | 电子负载初始设定 | 输入关闭、模式为 CC、电流 0 A | □ |
| 6 | 急停按钮 | 弹起、可用 | □ |
| 7 | 工控机电源、UPS 状态 | 正常 | □ |
| 8 | 软件版本 | 与受控版本一致 | □ |
| 9 | `device-profile.json` 校验和 | 与发布记录一致 | □ |
| 10 | 上次测试残留状态 | 已清理;已断电 | □ |
## 2.5 异常处置原则
发生以下任一情况,应立即按"先切电源、后查软件"的顺序处置:
- 被测件冒烟、异味、温度异常升高;
- 程控电源、电子负载出现报警;
- 测试中电流持续超出软件设定上限;
- 工控机死机或软件无响应。
处置步骤:
1. **拍下急停按钮**,切断 SSPC 供电与负载回路;
2. 关闭程控电源主开关;
3. 待设备冷却后,断开被测件,记录现象与时间;
4. 由维护人员排查根因,必要时联系研发支持。
[插图:操作台急停按钮与设备布置示意]
---
\newpage
# 第 3 章 硬件接线与首次使用
## 3.1 设备布置
推荐的测试台布置如下:
[插图:测试台俯视布置图]
- **左侧**:程控电源 UDP5080-100、可编程电子负载 IT8702P
- **中部**:被测件 SSPC 工装座,背面引出 24 路接线端子;
- **右侧**:工控机(含 PCIe8586 采集卡与串口扩展卡)、显示器;
- **正面**:急停按钮、状态指示灯。
## 3.2 SSPC 控制板接线
SSPC 控制板包含三部分接线:
1. **主功率回路**(程控电源 → SSPC 输入端 → 24 路输出 → 24 个负载端子);
2. **Modbus-RTU 控制串口**(串口扩展卡 → SSPC 控制板的 RS-485 接口);
3. **采集卡引线**(采集卡 4 路差分输入 → SSPC 测试点)。
**主功率回路连接**
| 端子 | 连接对象 | 备注 |
| ---------- | ------------------------------ | --------------------- |
| `V+_IN` | 程控电源 + | 主供电正端 |
| `V-_IN` | 程控电源 | 主供电负端 |
| `CH1``CH24` | 各路输出 → 负载切换矩阵 → 电子负载 | 单路最大 60 A |
| `GND` | 共地 | 与电源、负载共地 |
> **【注意】** 务必在 **程控电源输出关闭、电子负载输入关闭** 状态下接线。
**控制串口连接**
| 工控机端 | SSPC 控制板端 |
| -------------- | ------------- |
| 串口扩展卡某 COM 口(如 COM1 | RS-485 A / B / GND |
> **【提示】** 该 COM 口名称将在软件中配置为 `Devices.Sspc.PortName`。
## 3.3 程控电源 UDP5080-100 接线
UDP5080-100 通过 **LANTCP/IP SOCKET端口 5025** 与工控机通信。
| 项目 | 推荐值 |
| ---------- | ----------------------- |
| IP 地址 | `192.168.6.5` |
| 端口 | `5025` |
| 协议 | TCP/IP SOCKETSCPI 风格命令) |
| 子网 | `255.255.255.0` |
| 默认网关 | `192.168.6.1`(或留空) |
接线步骤:
1. 将 UDP5080 后面板 LAN 口连接到工控机网卡或同网段交换机;
2. 通过电源前面板菜单设置上表 IP
3. 在工控机执行 `ping 192.168.6.5`,应正常响应;
4. 主功率端子按 3.2 节接到 SSPC 输入端。
[插图UDP5080-100 LAN 配置界面]
## 3.4 直流电子负载 IT8702P 接线
IT8702P 通过 **LANSocket端口 30000** 与工控机通信。
| 项目 | 推荐值 |
| ---------- | ----------------------- |
| IP 地址 | `192.168.200.100` |
| 端口 | `30000` |
| 协议 | TCP/IP Socket |
| 子网 | `255.255.255.0` |
接线步骤:
1. 通过负载前面板系统菜单配置 IP
2. 工控机 `ping 192.168.200.100` 验证;
3. 负载输入端 +/- 接至 SSPC 输出回路(与被测通道串联);
4. 负载默认工作模式为恒流 CC最大电流应不超过被测通道额定值。
> **【提示】** 若 UDP5080 与 IT8702P 不在同一网段,可在工控机配置两块网卡或为同一网卡添加两个 IP路由表无需修改
## 3.5 PCIe8586 高速采集卡通道分配
PCIe8586 用于采集 SSPC 开关瞬态波形以及功率损耗的输入端电压。默认 4 通道配置如下:
| 物理通道 | 角色 (Role) | 推荐用途 | 量程 |
| -------- | ---------------- | ---------------- | ------ |
| CH0 | `OutputVoltage` | SSPC 输出端电压 | ±5 V |
| CH1 | `OutputCurrent` | SSPC 输出端电流 | ±5 V |
| CH2 | `InputVoltage` | SSPC 输入端电压 | ±5 V |
| CH3 | `InputCurrent` | SSPC 输入端电流 | ±5 V |
> **【注意】** 采集卡量程为低压差分输入,被测 28 V 主回路必须经过**外部分压/电流互感器调理**后,再接入采集卡,并在软件设置中进行**标定**(详见 6.6 节)。
[插图:采集卡接线与外部调理板示意]
## 3.6 COM 端口分配
| 设备 | 推荐 COM 口 | 默认波特率 |
| --------------- | ----------- | ---------- |
| SSPC 控制板 | COM1 | 9600 |
| 程控电源(备用) | COM2 | 9600 |
| 电子负载(备用) | COM3 | 9600 |
> **【提示】** 程控电源与电子负载默认采用 LAN 通信;预留 COM 仅用于备份或现场临时调试。
## 3.7 首次上电顺序
按以下顺序通电,可避免感性负载尖峰冲击:
1. 接通工控机 UPS
2. 启动工控机,登录 Windows
3. 接通串口扩展卡所在电源(如独立);
4. 通电程控电源(输出保持关闭);
5. 通电电子负载(输入保持关闭);
6. 启动 SSPCTester 软件(详见第 4 章);
7. 由软件 **连接所有设备**,确认 4 个设备绿灯均亮;
8. 在系统设置或首次使用页面中确认通信参数无误;
9. 进入项目信息页,开始首次测试。
## 3.8 首次使用前的软件检查
| 序号 | 检查项 | 结果 |
| ---- | ----------------------------------------------------- | ---- |
| 1 | `Config\device-profile.json` 存在且校验通过 | □ |
| 2 | 设置页四设备 IP/COM 口与现场实际一致 | □ |
| 3 | 设置页 **Mock 模式** 全部关闭 | □ |
| 4 | 采集卡 4 路通道角色、Scale/Offset 已标定IsCalibrated 勾选 | □ |
| 5 | 项目数据路径、报告路径已确认存在并可写 | □ |
---
\newpage
# 第 4 章 软件安装与启动
## 4.1 安装包结构
软件以**绿色发布**方式提供,无需安装程序。典型目录结构:
```
SSPCTester\
├── SSPCTester.UI.exe ← 主程序
├── SSPCTester.UI.deps.json
├── SSPCTester.UI.runtimeconfig.json
├── appsettings.json ← 出厂默认配置
├── Config\
│ └── device-profile.json ← Modbus 24 路映射
├── LatoFont\ ← 报告字体
├── zh-Hans\、zh-Hant\、ja\、… ← 本地化资源
└── *.dll ← 运行时依赖
```
## 4.2 部署步骤
1. 将完整发布目录解压/拷贝到工控机本地磁盘(推荐 `C:\SSPCTester\`)。**不要**部署到只读目录或网络盘。
2. 确认 `Config\device-profile.json` 存在且与现场 SSPC 控制板配置一致。
3. 右键 `SSPCTester.UI.exe` → 属性 → 解除锁定(如系统提示)。
4. 首次运行建议以"普通用户"启动,确保对 `%LOCALAPPDATA%\SSPCTester\` 目录有写权限。
> **【提示】** 升级时直接覆盖发布目录;**用户数据**(项目、报告、用户设置)保存在 `%LOCALAPPDATA%\SSPCTester\`,不会被覆盖。
## 4.3 关键文件清单
| 文件 / 目录 | 用途 |
| ----------------------------------------------------- | ------------------------------------------ |
| `SSPCTester.UI.exe` | 主程序入口 |
| `appsettings.json` | 出厂默认配置 |
| `Config\device-profile.json` | Modbus 协议与 24 路映射(关键配置文件) |
| `%LOCALAPPDATA%\SSPCTester\settings.json` | 当前用户在设置页保存的硬件配置 |
| `%LOCALAPPDATA%\SSPCTester\Projects\` | 项目数据根目录 |
| `%LOCALAPPDATA%\SSPCTester\Reports\` | 报告默认输出目录 |
| `%LOCALAPPDATA%\SSPCTester\Logs\app-YYYYMMDD.log` | 应用日志(按天滚动,保留 7 天) |
## 4.4 启动方式
**方式 A — 双击启动(推荐)**
直接双击 `SSPCTester.UI.exe`
**方式 B — 通过启动脚本**
在解决方案根目录下使用 `run.ps1`
```powershell
PowerShell.exe -ExecutionPolicy Bypass -File .\run.ps1
```
`run.ps1` 默认启动 `publish\win-x64\SSPCTester.UI.exe`,并将工作目录设为发布目录,确保读取 `appsettings.json``Config\device-profile.json`
## 4.5 启动顺序说明
软件启动时按下列顺序工作:
1. 读取 `appsettings.json` 出厂默认配置;
2. 叠加用户本地配置 `%LOCALAPPDATA%\SSPCTester\settings.json`(若存在);
3. 初始化日志系统Serilog → 文件 + UI 日志面板);
4. 构造依赖注入容器注册四类设备驱动Mock + 真实);
5. 创建主窗体并加载历史项目列表;
6.`AutoConnect=true`,后台依次连接 4 类设备;
7. 主窗体显示,进入"浏览态"。
## 4.6 首次启动检查
软件启动后,主界面顶部应能看到 **设备连接面板**(详见 5.3)。检查项:
- 4 个设备指示灯SSPC、电源、负载、采集卡显示连接状态
- 任意一个未连接时,可点击 **连接全部**
- 底部日志面板应能看到启动信息(蓝色 INFO 行)。
[插图:主窗体首次启动时的全貌]
## 4.7 退出软件
通过主窗体右上角 **关闭** 按钮退出。退出时软件自动:
1. 保存当前用户设置到 `%LOCALAPPDATA%\SSPCTester\settings.json`
2. 依次断开 SSPC、电源、负载、采集卡
3.`Sspc.CloseAllRelaysOnDisconnect=true`,先全部关断 24 路继电器;
4. 关闭日志文件。
> **【注意】** 严禁通过任务管理器强制结束进程;强制结束可能导致继电器停留在通态、波形文件不完整。
---
\newpage
# 第 5 章 主界面总览
## 5.1 整体布局
启动后,主界面分为四个区域:
```
┌──────────────────────────────────────────────────────────┐
│ 顶部:标题栏 + 设备连接面板(折叠/展开)+ 设置按钮 │
├──────────────┬───────────────────────────────────────────┤
│ 侧栏:项目树 │ 内容区:根据状态切换不同页面 │
│ │ - 首页 / 项目信息 / 测试主页 / 报告 / 设置 │
├──────────────┴───────────────────────────────────────────┤
│ 底部:日志面板(最近 500 条,可滚动) │
└──────────────────────────────────────────────────────────┘
```
[插图:主界面整体布局]
## 5.2 浏览态与测试态
软件存在两种工作状态:
| 状态 | 触发 | 侧栏项目树 | 顶部状态条 |
| -------------- | ------------------- | --------------------- | -------------------- |
| **浏览态** | 默认;测试完成或中止 | 显示全部项目,可自由切换 | 无 |
| **测试态** | 点击 **开始测试** | **仅显示当前项目** | 显示橙色"测试进行中" |
> **【设计说明】** 测试期间设备被独占,隐藏其他项目可避免误操作。
## 5.3 设备连接面板
位于标题栏右下方。展开后包含:
| 控件 | 含义 |
| ------------------- | ------------------------------------------------------ |
| SSPC 指示 | 绿=已连接、灰=未连接;下方文本显示"Mock"或"真实" |
| 电源指示 | 同上 |
| 负载指示 | 同上 |
| 采集卡指示 | 同上 |
| **连接全部** | 同时连接所有未连接的设备 |
| **断开全部** | 同时断开所有已连接的设备 |
| **打开设置页** | 快速进入第 6 章描述的设置页 |
[插图:设备连接面板展开状态]
## 5.4 侧栏项目树
侧栏列出当前所有项目。每个项目展开后有三个子节点:
- **项目信息**:被测件与现场信息编辑(第 8 章);
- **测试主页**:四个测试模块的 Tab 容器(第 912 章);
- **报告页**:生成测试报告(第 13 章)。
**操作**
- 单击项目名:选中并显示项目概况;
- 双击项目名:直接打开"项目信息"页;
- 单击子节点:切换到对应页面。
[插图:侧栏项目树]
## 5.5 内容区页面切换
| 入口 | 显示页面 |
| -------------------- | ---------------------- |
| 启动后默认 | 首页(最近项目列表) |
| 点击 **新建项目** | 新建项目对话框 → 项目信息 |
| 项目树 → 项目信息 | 项目信息页 |
| 项目信息 → 开始测试 | 测试主页(标签页容器) |
| 项目树 → 报告页 | 报告页 |
| 标题栏 → 设置 | 设置页 |
## 5.6 日志面板
底部日志面板展示最近 500 条事件,按时间倒序滚动。
| 等级 | 颜色 | 含义示例 |
| ------------ | ----- | --------------------------------- |
| Info信息 | 黑/蓝 | 启动、连接成功、保存设置 |
| Success成功| 绿色 | 测试合格、报告生成成功 |
| Warning警告| 橙色 | 配置缺失、单次重试、未标定通道 |
| Error错误| 红色 | 通信失败、CRC 错误、文件写入失败 |
> **【提示】** 详细历史日志请查看 `%LOCALAPPDATA%\SSPCTester\Logs\app-YYYYMMDD.log`。
## 5.7 颜色与图标约定
测试结果在表格、徽标、状态条中统一使用以下四种状态:
| 图标 / 文本 | 颜色 | 含义 |
| ----------- | ------------- | ------------------------------------------ |
| ● 合格 | 绿 `#2e9e5b` | 所有判定项通过 |
| ● 不合格 | 红 `#d23b3b` | 任一判定项失败 |
| ● 测试中 | 蓝 `#1a73c4` | 当前正在采集 / 等待响应 |
| ● 已测 | 蓝 `#1a73c4` | 已采集但本模块无合格判定(如功率损耗) |
| ○ 未测 | 灰 `#8a929d` | 尚未执行 |
数值(电压、电流、时间)一律使用等宽字体显示,确保小数点对齐。
---
\newpage
# 第 6 章 系统设置
设置页用于配置硬件连接参数、采集卡通道、报告与项目存储路径。所有修改在点击 **保存并重新连接** 后写入用户配置文件,并尝试重新连接受影响的设备。
[插图:系统设置页全貌]
## 6.1 进入设置页
- 标题栏右侧 **设置** 按钮;或
- 设备连接面板 → **打开设置**
## 6.2 SSPC Modbus 配置
| 字段 | 含义 |
| ------------------------------ | -------------------------------------------------------------------- |
| **使用 Mock** | 勾选后改用模拟驱动,无需真实串口。培训/演练时使用 |
| **启动时自动连接** | 软件启动后是否自动尝试连接 |
| **断开时全部关断** | 软件退出或断开 SSPC 时,是否自动写入全部 24 路 OFF 命令 |
| **记录原始帧** | 在日志中记录每一帧 Modbus 收发,便于排障 |
| **端口名 (PortName)** | 串口名,下拉框列出系统可用 COM 口;也可手工填写 |
| **波特率 (BaudRate)** | 默认 9600 |
| **数据位 / 校验 / 停止位** | 默认 8 / None / One |
| **读超时 (ReadTimeoutMs)** | 默认 500 ms |
| **重试次数 (Retry)** | 默认 2 |
| **设备 Profile 路径** | 默认 `Config/device-profile.json` |
| **连接 / 测试** 按钮 | 触发实际连接并显示结果 |
| **断开** 按钮 | 主动断开连接 |
| **状态** | 实时显示 "已连接" / "未连接" / "连接失败" 等 |
> **【注意】** 若 **使用 Mock = false** 但 **PortName** 在系统中不存在,连接会失败并在日志中显示 "端口不存在"。请先在 Windows "设备管理器 → 端口" 中确认实际 COM 号。
## 6.3 程控电源 UDP5080-100 配置
| 字段 | 含义 |
| --------------------- | ------------------------------------- |
| **使用 Mock** | 模拟模式 |
| **启动时自动连接** | 是否自启动连接 |
| **IP 地址** | 默认 `192.168.6.5` |
| **端口** | 默认 `5025`SOCKET / SCPI |
| **测试连接** 按钮 | 建立 TCP 连接并发送身份查询,验证可达性 |
| **状态** | "已连接" / "未连接" / "超时" |
> **【提示】** 测试连接成功后,软件会在日志中显示电源型号字符串,可据此确认对端硬件。
## 6.4 直流电子负载 IT8702P 配置
| 字段 | 含义 |
| --------------------- | ------------------------------------- |
| **使用 Mock** | 模拟模式 |
| **启动时自动连接** | 是否自启动连接 |
| **IP 地址** | 默认 `192.168.200.100` |
| **端口** | 默认 `30000` |
| **测试连接** 按钮 | 验证可达性 |
| **状态** | 同上 |
## 6.5 PCIe8586 高速采集卡配置
| 字段 | 含义 |
| ----------------------------- | ----------------------------------------------------- |
| **使用 Mock** | 模拟驱动,生成逼真的 RC 上升/下降波形 |
| **启动时自动连接** | 是否自启动连接 |
| **设备列表** | 下拉框显示当前枚举到的物理采集卡(含逻辑 ID 与序列号) |
| **刷新设备** | 重新枚举 |
| **连接 / 测试** 按钮 | 打开选定卡并执行一次自检 |
| **通道数 (ChannelCount)** | 1 / 2 / 4 / 8 |
| **量程 (InputRange)** | `PlusMinus5V`±5V`PlusMinus1V`±1V |
| **时钟分频 (ClockDivider)** | 基准 100 MHz分频后即采样率如 1000 → 100 kHz |
| **实际采样率** | 自动计算 = 100 MHz ÷ 时钟分频 |
| **Pre-Trigger (ms)** | 触发前采样窗口,默认 10 ms |
| **Post-Trigger (ms)** | 触发后采样窗口,默认 40 ms |
| **总采集时长** | = Pre + Post默认 50 ms |
> **【注意】** 28 V 主功率信号必须经过外部分压或互感器调理后才能接入采集卡。请勿直接接入超出 ±5 V 量程的信号,否则可能损坏前端 AD。
## 6.6 采集卡通道角色与标定
采集卡配置区下方的通道表DataGrid每行对应一个物理通道
| 列 | 说明 |
| ----------------- | ------------------------------------------------------------------------- |
| **CH** | 物理通道号 07 |
| **Role** | 通道角色,决定该通道在测试中的用途: |
| | - `OutputVoltage`SSPC 输出端电压(曲线测试必需 / 功率损耗输入端电压来源) |
| | - `OutputCurrent`SSPC 输出端电流 |
| | - `InputVoltage`SSPC 输入端电压(备用) |
| | - `InputCurrent`SSPC 输入端电流(备用) |
| | - `Unconfigured`:未配置,不参与任何测试 |
| **Name** | 显示名称,可自定义中文 |
| **Scale** | 标定系数 K工程值 = K × 采样值 + Offset |
| **Offset** | 标定偏置 B |
| **IsCalibrated** | 是否已标定。**未勾选时,依赖该通道的真实测试会被阻止** |
**典型标定流程**
1. 拆除被测件,将基准信号源接入 CH0
2. 注入已知电压 V<sub>ref</sub>(如 28.00 V
3. 在工程值 = K × x + B 中:
- 取两个不同 V<sub>ref</sub> 值,记下采集卡读数 x₁ 与 x₂
- 解方程K = (V<sub>ref1</sub> V<sub>ref2</sub>) / (x₁ x₂)B = V<sub>ref1</sub> K·x₁
4. 填写到表格对应行,勾选 **IsCalibrated**
5. 点击 **保存并重新连接**
> **【提示】** 重新插拔分压板或更换电缆后,应重新标定。建议每三个月进行一次例行复检。
## 6.7 报告设置
| 字段 | 含义 |
| ---------- | ------------------------------------------------- |
| **保存路径** | 报告默认输出目录,默认 `%LOCALAPPDATA%\SSPCTester\Reports` |
| **浏览** | 弹出目录选择对话框 |
| **格式** | 单选;当前仅支持 PDFWord 选项已灰显,后续版本提供) |
## 6.8 项目数据路径
| 字段 | 含义 |
| ------------- | ----------------------------------------------------- |
| **项目根目录** | 所有项目存放位置,默认 `%LOCALAPPDATA%\SSPCTester\Projects` |
| **浏览** | 选择目录 |
> **【注意】** 修改后已有项目不会自动迁移,请先手动将旧目录中的 `project.json` 与 `curves` 等内容复制到新路径,再重新启动软件。
## 6.9 "保存并重新连接"
页面底部的统一保存按钮。点击后:
1. 将所有控件值序列化到 `%LOCALAPPDATA%\SSPCTester\settings.json`
2. 调用所有受影响设备的"断开 → 重新连接"流程;
3. 在日志面板输出每个设备的最终状态。
> **【提示】** 设置页修改不影响发布目录中的 `appsettings.json`。如需调整出厂默认值,请由维护人员单独修改 `appsettings.json` 并重新分发。
## 6.10 配置文件优先级
```
出厂默认 (appsettings.json)
↓ 覆盖
用户配置 (%LOCALAPPDATA%\SSPCTester\settings.json)
↓ 覆盖
本次运行的临时修改(未保存)
```
> **【提示】** 若希望"恢复出厂",可直接删除 `%LOCALAPPDATA%\SSPCTester\settings.json`,下次启动时自动读取 `appsettings.json` 重建。
---
\newpage
# 第 7 章 项目管理
## 7.1 项目概念
本系统以"**一个被测件 = 一个项目**"组织数据。一个项目内可以包含多次测试运行,但只保留最近一次完整的结果集;如需历史比对,建议另建项目并在项目名中包含序列号。
每个项目都对应磁盘上一个目录,结构如下:
```
%LOCALAPPDATA%\SSPCTester\Projects\
└── {项目名}\
├── project.json ← 项目元数据 + 各模块结果
├── curves\ ← 曲线测试的波形原始数据
│ ├── CH01_on_20260618_153022234.bin
│ ├── CH01_on_20260618_153022234.json
│ ├── CH01_off_20260618_153023876.bin
│ └── CH01_off_20260618_153023876.json
└── report.pdf ← 最近一次生成的报告
```
## 7.2 新建项目
从以下任一入口打开 **新建项目** 对话框:
- 首页右上角 **新建项目** 按钮;
- 首页空状态 **新建项目** 提示按钮;
- 侧栏底部 **+** 按钮。
[插图:新建项目对话框]
| 字段 | 必填 | 说明 |
| --------------- | ---- | ------------------------------------------ |
| **项目名称** | ✓ | 唯一;用于磁盘目录名(会自动去除非法字符) |
| **被测件编号** | ✓ | 例如 `SSPC-2026-001` |
| **型号** | | 被测件型号 |
| **测试人员** | | 默认登录用户名,可手工修改 |
点击 **创建** 后:
1. 在项目根目录下创建 `{项目名}` 目录;
2. 写入初始 `project.json`
3. 自动跳转到该项目的"项目信息"页(第 8 章)。
> **【注意】** 项目名一旦创建不可重命名(会导致旧报告中的报告编号与目录失配)。如需更名,请新建项目并手工迁移数据。
## 7.3 打开历史项目
**方式 A — 首页最近项目表**
首页表格列出全部项目,列含义:
| 列 | 含义 |
| --------------- | --------------------------------------------- |
| **项目名称** | 项目目录名 |
| **被测件编号** | 来自 `project.json` 中的 `Dut.SerialNumber` |
| **最近测试时间** | `LastTestedAt`,无则显示 "—" |
| **综合判定** | 合格 / 不合格 / 已测 / 未测 徽标 |
| **操作** | **打开** 按钮 |
- 单击行 → 选中项目;
- 双击行 → 打开"项目信息"页;
- 点击 **打开** → 打开"项目信息"页。
**方式 B — 侧栏项目树**
侧栏列出全部项目,单击项目名展开 3 个子节点,单击子节点即可进入对应页面。
## 7.4 删除 / 备份项目
软件本身不提供"删除项目"按钮,避免误操作。
- **备份**:直接拷贝 `%LOCALAPPDATA%\SSPCTester\Projects\{项目名}\` 目录到归档位置;
- **删除**:在 Windows 资源管理器中删除对应项目目录,下次启动后该项目从列表中消失。
> **【提示】** 已生成的 PDF 报告位于该项目目录内,如需保留请在删除项目前另存。
## 7.5 项目命名建议
为便于查找与统计,建议项目命名包含:
```
{产品型号}-{被测件编号}-{日期或批次}
```
例如:`SSPC-24P-A001-20260625`、`SSPC-A001-LOT2026Q2-003`。
---
\newpage
# 第 8 章 项目信息与测试参数配置
打开项目后默认进入"项目信息"页。本页用于完善被测件资料、记录测试环境、勾选要执行的测试项。
[插图:项目信息页全貌]
## 8.1 被测件信息
| 字段 | 含义 |
| ------------- | ------------------------------------------ |
| **产品名称** | 例如 "24 路固态功率控制器" |
| **型号** | 产品型号 |
| **编号** | 被测件序列号 / 单号;建议唯一 |
| **生产厂家** | 被测件来源 |
## 8.2 测试现场信息
| 字段 | 含义 |
| ---------------- | ---------------------------------------------------------------------- |
| **测试人员** | 操作员姓名 |
| **测试日期** | 日期选择器,默认当天 |
| **环境温度 (℃)** | 建议 23 ± 5 |
| **相对湿度 (%)** | 建议 ≤ 75 |
| **大气压 (kPa)** | 建议 86 106 |
| **备注** | 多行文本,可记录特殊条件、被测件状态、临时设备替换等 |
> **【注意】** 环境参数会随报告一并输出,建议按现场实测填写。
## 8.3 测试项选择
页面下方的 4 个复选框对应四大测试模块:
| 复选框 | 对应模块 | 章节 |
| --------------- | ---------------------- | ----- |
| **基础测试** | 24 路开/关与稳定性 | 第 9 章 |
| **开启与关断曲线** | 高速波形采集与时间指标 | 第 10 章 |
| **功率损耗** | 输入/输出双端功率测量 | 第 11 章 |
| **保护功能** | 6 类保护演示 | 第 12 章 |
> **【提示】** 这里的勾选影响两处:
>
> 1. 进入测试主页后,未勾选模块的 Tab 仍可点开但不会进入"必测"流程;
> 2. 报告生成时,可选择仅输出已勾选模块的章节(详见第 13 章)。
## 8.4 开始测试
页面右下角 **开始测试** 按钮。点击后:
1. 软件切换到"测试态"
2. 侧栏只保留当前项目;
3. 顶部出现橙色"测试进行中"状态条;
4. 内容区切换到"测试主页"(标签页容器),默认显示"基础测试"。
> **【注意】** 测试态期间,无法切换到其他项目;如需中止,点击顶部状态条的 **中止** 按钮。中止后已采集数据保留,未执行模块状态保持"未测"。
[插图:测试主页(标签页容器)默认视图]
---
\newpage
# 第 9 章 基础测试
**基础测试**用于验证 SSPC 24 路通道的开/关功能和稳定性。它是后续曲线、功率、保护测试的前提:基础不通过,后续模块通常也无法获得有效数据。
[插图:基础测试 Tab 页全貌]
## 9.1 测试目的
- 验证每一路继电器能否按命令导通;
- 验证导通后能否读到有效电压、电流;
- 验证关断命令后输出端能否回零并稳定;
- 给出每路通道的合格 / 不合格判定。
## 9.2 界面布局
页面自上而下分为三层:
1. **统计条**(顶部一行):已完成 X / 24、合格 X、不合格 X、未测 X
2. **操作区**右上角刷新频率2 Hz / 5 Hz、**清空结果**、**一键测试全部**
3. **通道表格**主区域24 行,每行对应一路通道。
| 列 | 含义 |
| ----------- | ------------------------------------------ |
| **CH** | 通道号124 |
| **V** | 当前/最近一次导通时的电压V |
| **A** | 当前/最近一次导通时的电流A |
| **关断电压** | 关断命令稳定后的电压V |
| **状态** | 合格 / 不合格 / 测试中 / 未测 徽标 |
| **操作** | 行内 **开** / **关** 按钮 |
## 9.3 单通道开/关流程
**步骤 1点击某行的 "开"**
软件执行:
1. 向 SSPC 控制板发送对应物理插位的 ON 命令Modbus 功能码 0x05写入 0xFF00
2. 等待响应回声并刷新该行的电压、电流;
3. 启动后台轮询任务,按"刷新频率"2 Hz 或 5 Hz持续读取该通道测量。
**步骤 2观察读数**
- **V** 列应稳定在被测件额定电压附近(如 28 V
- **A** 列应等于电子负载设定值(如 1 A
- 若读数明显偏离,可点击 **关** 终止;并检查接线、负载、电源。
**步骤 3点击该行的 "关"**
软件执行:
1. 停止后台轮询;
2. 发送 OFF 命令(功能码 0x05写入 0x0000
3. 进入稳定等待:在 2 秒超时内,连续读取该通道电压;
4. 当电压 < 0.5 V **连续 2 **满足该条件时认为已稳定关断
5. 综合开通时与关断时的结果给出 **合格 / 不合格** 判定
## 9.4 一键测试全部
点击右上角 **一键测试全部** 按钮软件将自动对 CH1CH24 依次执行" 短暂稳定 稳定判定"并在每路完成后立刻刷新该行状态与顶部统计
> **【提示】** 一键测试期间,**统计条** 实时累加;按 **中止** 可在当前通道完成后停止。
## 9.5 刷新频率说明
| 频率 | 适用 |
| -------- | ------------------------------------------------------ |
| **2 Hz** | 默认CPU 占用低适合 24 路并行场景或老旧工控机 |
| **5 Hz** | 更细腻的读数动态显示适合验证负载阶跃响应或观察波动 |
> **【注意】** 刷新频率仅影响 UI 显示;判定逻辑仍以 SSPC 控制板返回的离散测量为准。
## 9.6 判定准则
| 判定结果 | 条件 |
| ---------- | -------------------------------------------------------------------- |
| **合格** | 通信无错误 导通电压 > 1.0 V ✓ 且 关断稳定(连续 2 次电压 < 0.5 V)✓ |
| **不合格** | 任一条件不满足 |
| **测试中** | 已发出 ON / OFF 命令正在等待稳定 |
| **未测** | 尚未点击 **开** |
稳定等待超时 **2 秒**超时后视为不合格
> **【提示】** 若被测件存在续流回路或大容性负载,关断后电压回零可能超过 2 秒,应在硬件侧补加放电电阻或在维护版本中调整阈值。
## 9.7 清空结果
**清空结果** 按钮会将当前表格中所有行的状态恢复为"未测"电压电流清零。**已写入项目的结果不会立即被清除**仅在下次"开始测试"或退出/重进项目时同步
## 9.8 常见现象解释
| 现象 | 可能原因 | 处理 |
| ----------------------------- | ----------------------------------------- | ----------------------------------- |
| 导通 V 列读到 0 V | 程控电源未输出 / 主回路断线 | 检查电源面板状态主回路 |
| 关断 V 列长期保持 12 V | 续流回路 / 负载电感效应 | 加放电电阻或延长稳定窗口 |
| 行状态长期为"测试中" | SSPC 控制板未响应 / 串口被其他程序占用 | 查看日志中的 Modbus / 重启软件 |
| 行状态翻红但电压正常 | 关断稳定未满足电压 0.5 V 2 秒超时 | 见上一行 |
| 行状态翻红电压全 0 | 通道实际未接负载或主电源关闭 | 检查接线 |
---
\newpage
# 第 10 章 开启与关断曲线测试
**曲线测试**通过高速采集卡同步采样 SSPC 开关瞬态,自动计算 4 个关键时间参数:**开启时间、上升时间、关断时间、下降时间**本模块对应指标 1.1 1.6
[插图曲线测试 Tab 页全貌]
## 10.1 测试目的
| 参数 | 定义 |
| ------------ | -------------------------------------------------------------------- |
| **开启时间** | 控制信号发出 输出电压达到 90% V<sub>max</sub> 的时间 |
| **上升时间** | 输出电压由 10% V<sub>max</sub> 上升到 90% V<sub>max</sub> 的时间 |
| **关断时间** | 控制信号撤销 → 输出电压降至 10% V<sub>max</sub> 的时间 |
| **下降时间** | 输出电压由 90% V<sub>max</sub> 下降到 10% V<sub>max</sub> 的时间 |
其中 V<sub>max</sub> 取**采集波形电压样点 95 百分位的均值**,自动剔除瞬态尖峰。
## 10.2 界面布局
页面自上而下分为四区:
1. **标题与说明**:模块名 + 测试基准说明;
2. **左侧参数卡**通道选择、4 个阈值、**采集当前通道**、**在新窗口查看曲线**
3. **右侧波形区**:上下两个波形控件——**开启曲线**(上升)与 **关断曲线**(下降);
4. **底部结果表**CH / 开启时间 / 上升时间 / 关断时间 / 下降时间 / 状态。
[插图:曲线测试左右分栏视图]
## 10.3 阈值设置
阈值用于判定时间参数是否合格。出厂默认值:
| 阈值 | 默认值 | 含义 |
| ----------------- | ------ | -------------------------- |
| `MaxOnTimeMs` | 5.0 ms | 开启时间上限 |
| `MaxRiseTimeMs` | 3.0 ms | 上升时间上限 |
| `MaxOffTimeMs` | 5.0 ms | 关断时间上限 |
| `MaxFallTimeMs` | 3.0 ms | 下降时间上限 |
> **【提示】** 阈值随项目保存(位于 `project.json` 的 `CurveThresholds` 字段),可针对不同型号被测件调整。
## 10.4 采集流程
点击 **采集当前通道** 后,软件自动执行以下步骤:
1. **前置校验**
- 若采集卡为真实硬件,检查至少有一个 `OutputVoltage` 角色且已标定的通道;
- 若校验失败,弹出提示并终止;
2. **置初态**:发送 OFF 命令并等待稳定(避免起点电压不稳定);
3. **开启曲线采集**
- 启动采集卡Pre-Trigger = 10 msPost-Trigger = 40 ms共 50 ms
- 在采集开始后 10 msPreTrigger 时刻)发送 ON 命令;
- 采集结束后取得"上升波形"`risingCurve`
4. **计算上升指标**
- $V_{max} = \text{p95}(v[i])$
- 开启时间 = 首次 v(t) ≥ 0.9 V<sub>max</sub> 的时间 触发时刻
- 上升时间 = (首次 v ≥ 0.9 V<sub>max</sub>) (首次 v ≥ 0.1 V<sub>max</sub>)
5. **间歇 100 ms**
6. **关断曲线采集**:同上,但触发时发送 OFF 命令;得到"下降波形"`fallingCurve`
7. **计算下降指标**
- 关断时间 = 首次 v(t) ≤ 0.1 V<sub>max</sub> 的时间 触发时刻
- 下降时间 = (首次 v ≤ 0.1 V<sub>max</sub>) (首次 v ≤ 0.9 V<sub>max</sub>)
8. **持久化**:波形数据保存到 `Projects\{项目名}\curves\` 目录;
9. **更新 UI**:表格新增/刷新行、绘制波形、给出 **合格 / 不合格** 判定。
> **【注意】** 时间基准取自 Modbus 命令的**发送时刻**,并非硬件级别的触发同步。因此,对硬件同步精度有更高要求的场合,需要使用外部触发信号配合上位机 GPIO 调用。
## 10.5 波形显示
每个波形控件展示:
- **电压曲线**:蓝色(开启)或红色(关断);
- **网格**:浅灰,时间间隔自适应;
- **阈值辅助线**90% V<sub>max</sub> 与 10% V<sub>max</sub>(虚线);
- **触发点标记**:纵向短线;
- **悬停光标**(鼠标移入时):显示当前点 t / V 数值。
支持鼠标滚轮缩放、左键拖动平移、双击复位。
点击 **在新窗口查看曲线** 可弹出独立全屏窗口,便于打印或截图。
[插图:曲线放大窗口]
## 10.6 波形文件存储
每次采集都会保存两组文件(一组对应上升、一组对应下降):
| 文件类型 | 命名样例 | 内容 |
| -------- | ----------------------------------------- | ----------------------------------- |
| `.bin` | `CH01_on_20260618_153022234.bin` | float32 小端序,多通道交错样点流 |
| `.json` | `CH01_on_20260618_153022234.json` | 采样率、触发时刻、通道角色、标定参数 |
> **【提示】** 波形原始数据由报告生成器读取并嵌入 PDF。如需在第三方工具中复盘可用 Python / MATLAB 按元数据中描述的格式解析。
## 10.7 判定准则
| 判定结果 | 条件 |
| ---------- | ----------------------------------------------------------------- |
| **合格** | 4 个时间指标均 ≤ 阈值 ✓ 且 数值有效(非 NaN ✓ |
| **不合格** | 任一指标超阈值或采样数据异常V<sub>max</sub> 过低、波形不收敛) |
| **测试中** | 正在采集 |
| **未测** | 当前通道未采集 |
## 10.8 注意事项
- 采集卡必须配置一个 **`OutputVoltage` 角色且已标定** 的通道,否则真实硬件下采集会被拒绝;
- 当负载为大容性时,下降时间可能显著加大,应在工程上对阈值进行评估;
- 采集前确认负载已连接,否则 V<sub>max</sub> 取不到有效幅值;
- 高速采集对噪声敏感,连接线缆应尽量短,避免与强电流回路并行。
---
\newpage
# 第 11 章 功率损耗测试
**功率损耗测试**同时测量 SSPC 输入端与输出端的电压、电流,计算电压降、功率损耗、效率。本模块对应指标 1.7 1.10、1.13。
[插图:功率损耗测试 Tab 页全貌]
## 11.1 测试目的
- 在固定工作点下,测得 SSPC 的输入功率 P<sub>in</sub> 和输出功率 P<sub>out</sub>
- 计算电压降 ΔV、功率损耗 P<sub>loss</sub>、效率 η;
- 为器件选型、热设计、电源容量评估提供数据依据。
## 11.2 界面布局
页面自上而下分为三区:
1. **左侧参数卡**:通道选择、采集次数、采集间隔、**测量当前通道**
2. **中部实时读数卡**Vin / Iin / Pin、Vout / Iout / Pout、损耗 / 效率;
3. **底部汇总表**CH / Vin / Iin / Pin / Vout / Iout / Pout / 损耗 / 效率 / 状态。
## 11.3 参数说明
| 参数 | 默认值 | 说明 |
| ------------------ | ------ | ------------------------------------- |
| **采集次数 (N)** | 5 | 单次测量内连续采样 N 次,取算术平均 |
| **采集间隔 (ms)** | 100 | 相邻两次采样的间隔 |
总采样耗时 ≈ N × 间隔 = 500 ms默认
## 11.4 数据来源
| 物理量 | 来源 |
| ------------ | -------------------------------------------------------------------- |
| **V<sub>out</sub>** | SSPC 控制板 Modbus 测量(继电器端电压回路) |
| **I<sub>out</sub>** | SSPC 控制板 Modbus 测量(电流互感器 / Hall 元件回路) |
| **V<sub>in</sub>** | 高速采集卡的 `OutputVoltage` 角色通道瞬时值(外部分压后) |
| **I<sub>in</sub>** | 等于 I<sub>out</sub>SSPC 为串联开关,主回路电流不分支) |
> **【注意】** "输入端电压"在采集卡上挂在 `OutputVoltage` 角色通道,这是历史遗留命名。它实际指向 SSPC 输入端的测点。维护人员可在采集卡通道表中将 `Name` 字段改为"输入电压",但 `Role` 必须保持 `OutputVoltage`。
## 11.5 测量流程
点击 **测量当前通道**,软件执行:
1. SSPC 打开指定通道;
2. 等待 50 ms 稳定;
3. 循环 N 次:
- 读 SSPC Modbus 测量:得到 V<sub>out</sub>、I<sub>out</sub>
- 读采集卡 `OutputVoltage` 通道瞬时值:得到 V<sub>in</sub>
- 累加 → 间隔 IntervalMs
4. 取平均:$\bar{V}_{in}$、$\bar{V}_{out}$、$\bar{I}$
5. 计算衍生量并刷新实时读数 + 汇总表:
$$
\Delta V = \bar{V}_{in} - \bar{V}_{out}
$$
$$
P_{in} = \bar{V}_{in} \cdot \bar{I},\quad P_{out} = \bar{V}_{out} \cdot \bar{I}
$$
$$
P_{loss} = P_{in} - P_{out}
$$
$$
\eta = \dfrac{P_{out}}{P_{in}} \times 100\%
$$
6. SSPC 关断该通道。
## 11.6 结果状态
| 状态 | 含义 |
| -------- | --------------------------------------------------- |
| **已测** | 已完成采集并计算了完整指标。本模块**不给出合格/不合格**判定,由质量人员对照规范评估 |
| **测试中** | 正在采集 |
| **未测** | 尚未点击 **测量当前通道** |
> **【提示】** 若需要"自动判定",可在维护版本中在 `PowerLossRow` 中接入阈值(例如 ΔV ≤ 0.5 V、η ≥ 99 %)。
## 11.7 常见误差源
| 误差源 | 影响 | 缓解 |
| --------------------------------- | -------------------------- | ------------------------------- |
| 采样数过少N ≤ 2 | 噪声未平均掉,η 抖动 | 增大 N 到 10 以上 |
| 负载未稳定(刚切换工作点) | 电压电流瞬态 | 采集前确认负载已稳定 ≥ 100 ms |
| 采集卡通道未标定 / Scale 偏差 | V<sub>in</sub> 漂移 | 重新标定 |
| Modbus 电流量程精度低于实际范围 | I 分辨率不足 | 选择匹配量程的设备 Profile |
| 共模噪声进入分压板 | V<sub>in</sub> 抖动 | 调理板加滤波 / 调整接地 |
## 11.8 注意事项
- 采集卡必须有 **`OutputVoltage` 角色且已标定** 的通道,否则真实硬件下采集会被拒绝;
- 测量期间不应同时执行基础测试或曲线测试,以免竞争 SSPC 串口;
- 对效率极高(η > 99.5 %)的器件,建议提升 N 与间隔,必要时使用更高精度电流测量配置。
---
\newpage
# 第 12 章 保护功能测试
**保护功能测试**用于演示 SSPC 的 6 类保护:跳闸、短路、过温、过压、欠压、限流。本模块对应指标 1.14、1.17、1.19、1.21 1.23。
> **【说明】** 当前版本保护功能采用 **演示框架**,不会真正向被测件施加破坏性故障,仅展示"如何在系统中记录与呈现保护结果"。实际故障注入需要外部专用工装,由后续版本接入。
[插图:保护功能测试 Tab 页全貌]
## 12.1 测试目的
- 验证软件框架对 6 类保护项的记录、展示能力;
- 为后续接入真实故障注入设备建立结果数据格式;
- 形成"演示报告",配合质量评审展示规程符合性。
## 12.2 界面布局
| 区域 | 内容 |
| ---------------- | ----------------------------------------------------- |
| **顶部警告条** | 提示"当前模块为框架占位,不执行真实故障注入" |
| **左侧参数卡** | 6 个保护项复选框 + 4 个阈值输入 + **生成演示结果** |
| **右侧波形占位** | 显示"框架占位"提示 |
| **底部结果表** | 保护类型 / 触发条件 / 关断时间 / 结果 |
## 12.3 保护项与默认触发条件
| 复选框 | 保护类型 | 触发条件 | 关断时间参考 |
| ------------- | -------- | ------------------------------------- | ------------ |
| **跳闸** | Trip | 电流 ≥ 1.5 × 额定电流,持续 t > 50 ms | < 80 ms |
| **短路** | Short | 输出负载阻抗 1 | < 10 ms |
| **过温** | OverTemp | 器件温度 85 | < 200 ms |
| **过压** | OverVolt | V<sub>in</sub> ≥ 阈值(默认 32 V | < 50 ms |
| **欠压** | UnderVolt | V<sub>in</sub> ≤ 阈值(默认 22 V | < 50 ms |
| **限流** | Limit | I 阈值默认 1.2 A | < 30 ms |
## 12.4 阈值参数
| 阈值 | 默认值 | 说明 |
| ---------------------- | ------ | -------------- |
| **过压阈值 (V)** | 32.0 | OverVolt 触发 |
| **欠压阈值 (V)** | 22.0 | UnderVolt 触发 |
| **过流阈值 (A)** | 1.2 | Limit 触发 |
| **过温阈值 (℃)** | 85.0 | OverTemp 触发 |
## 12.5 生成演示结果
1. 勾选要演示的保护项
2. 必要时修改阈值
3. 点击 **生成演示结果**
4. 结果表自动填充每个勾选项的演示数据关断时间在合理范围内随机模拟状态固定为 Pass)。
## 12.6 结果表字段
| | 含义 |
| -------------- | ------------------------------------------ |
| **保护类型** | Trip / Short / OverTemp / ... |
| **触发条件** | 文本描述 "I 1.5 × Irated" |
| **关断时间 (ms)** | 演示数据符合 12.3 表的参考范围 |
| **结果** | Pass演示模式恒为 Pass |
## 12.7 注意事项
- 演示结果**不代表被测件真实保护性能**不可作为型式试验依据
- 报告输出包含本模块时应在备注栏注明"保护项为框架演示数据"
- 后续接入真实故障注入硬件时本表字段保持兼容只是结果来源改变
---
\newpage
# 第 13 章 测试报告
完成一项或多项测试后使用本模块生成 PDF 报告
[插图测试报告页全貌]
## 13.1 进入报告页
- 侧栏 项目 **报告页**
- 或者完成全部测试后软件提示"前往报告页"。
## 13.2 报告内容勾选
| 复选框 | 内容 |
| --------------------- | ----------------------------------- |
| **封面 + 综合判定** | 必选包含报告标题被测件信息综合判定徽标签名区 |
| **基础测试** | 是否包含基础测试 24 行表格 |
| **开启与关断曲线** | 是否包含曲线测试表格与嵌入波形图 |
| **功率损耗** | 是否包含功率损耗汇总表 |
| **保护功能** | 是否包含保护功能结果表 |
## 13.3 文件名与路径
| 字段 | 说明 |
| ----------- | ---------------------------------------------------- |
| **文件名** | 默认 `项目名_YYYYMMDD.pdf`可手工修改 |
| **保存路径** | 默认取自系统设置的报告路径可点击 **浏览** 修改 |
| **上次输出路径** | 显示最近一次生成的完整文件路径可点击 **打开文件夹** |
**建议文件名格式**
```
{项目名}_{被测件编号}_{YYYYMMDD}.pdf
```
例如`SSPC-A001_SSPC-2026-001_20260625.pdf`。
## 13.4 生成报告流程
1. 勾选要包含的章节
2. 修改文件名如需要
3. 点击 **生成报告**
4. 软件依次
- 调用 `ProjectStore.SaveAsync` 持久化最新项目数据
- 调用 `ReportGenerator.Generate` QuestPDF 渲染 PDF
- 写入目标路径
- 在日志面板与"上次输出路径"显示结果
5. 点击 **打开文件夹** 可直接定位到 PDF
## 13.5 报告结构
报告统一采用 A4 纸张深蓝标题表格化展示
**封面**
- 报告标题"固态功率控制器动态参数测试报告"
- 报告编号`SPC-YYYYMMDD-XXXXX`自动生成
- 产品信息名称型号编号生产厂家
- 测试日期测试人员
- 编制 / 审核 / 批准 签名区空格供手工签字
**报告体**
| 章节 | 内容 |
| ---------------- | -------------------------------------------------------------------- |
| 被测件 + 现场信息 | 双栏表格 |
| 基础测试 | 24 × 4 CH / V / A / 状态 |
| 曲线测试 | N × 5 CH + 4 时间指标 + 状态每行后附上升与下降波形图 |
| 功率损耗 | N × 9 CH / Vin / Iin / Pin / Vout / Iout / Pout / 损耗 / 效率 |
| 保护功能 | 6 保护类型 / 触发条件 / 关断时间 / 结果 |
| 综合判定 | 大号徽标 + 文字结论 |
**页眉 / 页脚**
- 页眉报告编号 + 项目名称
- 页脚页码 X / Y + 生成时间
## 13.6 综合判定逻辑
综合判定根据项目中所有结果集`BasicResults`、`CurveResults`、`PowerResults`、`ProtectResults`的状态取最差值
| 优先级从高到低 | 综合判定 |
| ---------- | -------- |
| 1. 任一不合格 | 不合格 |
| 2. 全部合格 | 合格 |
| 3. 有测量但无判据 | 已测 |
| 4. 仍在执行 | 进行中 |
| 5. 全部未执行 | 未测 |
> **【提示】** 功率损耗模块只产生"已测"状态,不会拉低综合判定;保护功能演示数据为 Pass不会拉低综合判定。
## 13.7 报告样张
[插图测试报告封面样张]
[插图测试报告内页基础测试表格]
[插图测试报告内页曲线测试 + 波形图]
## 13.8 注意事项
- 报告生成依赖项目目录写权限如遇 "拒绝访问" 错误请检查路径或换到本地用户目录
- 若曲线测试章节波形丢失`curves/` 目录文件被外部清理报告中对应位置会显示"波形数据缺失"
- 当前仅支持 PDF后续会提供 Word/DOCX 输出
---
\newpage
# 第 14 章 端到端操作演练
本章以"新建项目 完成四项测试 生成报告"为主线给出一次完整的现场操作演练便于新员工快速上手
> **【场景设定】** 被测件为某型号 24 路 SSPC序列号 `SSPC-2026-001`,常温常压环境,由测试员 **张三** 执行。
## 14.1 准备
### 14.1.1 硬件准备
1. 3.1 节布置完成
2. 程控电源 UDP5080-100 已通过 LAN 接入工控机网卡 `ping 192.168.6.5`
3. 电子负载 IT8702P 已通过 LAN 接入工控机第二张网卡或同一网卡多 IP `ping 192.168.200.100`
4. SSPC 控制板已通过 RS-485 接入 `COM1`
5. 采集卡 4 路通道按 3.5 节接线并完成标定
6. 急停按钮就位UPS 正常
7. 被测件已上电程控电源仍**保持输出关闭**)。
### 14.1.2 软件启动
1. 双击 `C:\SSPCTester\SSPCTester.UI.exe`
2. 进入主界面后展开设备连接面板
3. 点击 **连接全部**
4. 等待 4 个设备指示灯依次变绿
5. 若任一设备未连接进入 **设置** 检查 6.2 6.5 节描述的参数
## 14.2 新建项目
1. 首页 **新建项目**
2. 填写
- 项目名称`SSPC-A001-20260625`
- 被测件编号`SSPC-2026-001`
- 型号`SSPC-24P-A`
- 测试人员`张三`
3. 点击 **创建**
4. 软件跳转至"项目信息"
## 14.3 填写项目信息
| 字段 | 填入 |
| -------- | -------------------------- |
| 产品名称 | 24 路固态功率控制器 |
| 型号 | SSPC-24P-A |
| 编号 | SSPC-2026-001 |
| 生产厂家 | XX 公司 |
| 测试人员 | 张三 |
| 测试日期 | 2026-06-25 |
| 环境温度 | 23 |
| 相对湿度 | 55 |
| 大气压 | 101 |
| 备注 | 入厂复检常温常压 |
勾选全部 4 项测试
- 基础测试
- 开启与关断曲线
- 功率损耗
- 保护功能
[插图项目信息页填写完成状态]
## 14.4 开始测试
1. 点击右下 **开始测试**
2. 软件切换到测试态顶部出现橙色"测试进行中"
3. 默认显示"基础测试"Tab
## 14.5 执行基础测试
1. 在程控电源前面板设置电压 28 V限流 5 A、**开输出**
2. 在电子负载前面板设置CC 模式电流 1.0 A、**开输入**
3. 在软件中将刷新频率选择为 **2 Hz**
4. 点击 **一键测试全部**
5. 观察统计条已完成 X / 24 持续递增
6. 等待 24 路全部完成典型 60 90
7. 检查统计合格 24不合格 0如有不合格行记录通道号并按 15.3 节排查
[插图基础测试完成后的 24 行表格]
## 14.6 执行曲线测试
1. 切换到 **开启与关断曲线** Tab
2. 阈值保持默认5 / 3 / 5 / 3 ms
3. 选择通道`CH1`
4. 点击 **采集当前通道**
5. 等待约 200 300 ms开启与关断波形依次显示
6. 检查时间参数是否落在阈值内默认全部 < 5 ms
7. 改选 `CH2`、`CH3`、`CH4`重复采集
8. 必要时点击 **在新窗口查看曲线** 进行复核
> **【提示】** 实际验收一般覆盖 24 路全部;本节为节约篇幅仅演示 4 路。
[插图曲线测试 4 路完成后的视图]
## 14.7 执行功率损耗测试
1. 切换到 **功率损耗** Tab
2. 参数保持默认采集 5 间隔 100 ms
3. 选择通道`CH1`点击 **测量当前通道**
4. 中部实时读数显示
- Vin 28.05 VIin 1.000 A
- Vout 27.92 VIout 1.000 A
- 损耗 0.13 W效率 99.54 %
5. 表格新增 CH1 一行
6. 切换 `CH2`、`CH3`、`CH4`重复测量
[插图功率损耗测试完成后的实时读数与汇总表]
## 14.8 生成保护功能演示结果
1. 切换到 **保护功能** Tab
2. 勾选全部 6 项保护
3. 阈值保持默认
4. 点击 **生成演示结果**
5. 表格出现 6 Pass 状态记录
## 14.9 生成报告
1. 中止测试或等待四模块完成后软件回到浏览态
2. 侧栏 项目 **报告页**
3. 勾选全部章节
4. 文件名修改为 `SSPC-A001_SSPC-2026-001_20260625.pdf`
5. 点击 **生成报告**
6. 等待 2 5 日志面板提示"报告生成成功"
7. 点击 **打开文件夹**确认 PDF 已生成
8. 双击 PDF 复核内容封面各章节表格波形图综合判定徽标
[插图报告页生成成功提示]
## 14.10 收尾
1. 在软件中点击 **断开全部**
2. 关闭电子负载输入程控电源输出
3. 退出软件顶部 × 按钮软件自动保存设置并断开设备
4. 关闭电子负载主电源程控电源主电源
5. 拔下被测件
6. 整理工装与电缆
---
\newpage
# 第 15 章 故障排除与常见问题
本章按"启动 设备连接 测量 判定 报告 性能"的故障类别整理每条均给出现象可能原因处理步骤
## 15.1 启动类故障
### 15.1.1 双击 `.exe` 无任何反应
| 可能原因 | 处理 |
| ----------------------------------------- | ------------------------------------------------------- |
| 缺少 .NET 8 Desktop Runtime | 安装 .NET 8 Desktop Runtime或使用自包含发布版本 |
| 文件被解压锁定 | 右键 `.exe` 属性 **解除锁定** |
| 杀毒软件拦截 | 在杀毒软件中将发布目录加入信任名单 |
| 用户权限不足 | 以普通用户启动不要使用"以管理员身份运行" |
### 15.1.2 启动后立即崩溃;日志提示 device-profile.json 加载失败
| 可能原因 | 处理 |
| ----------------------------------------- | ------------------------------------------------------- |
| `Config\device-profile.json` 缺失 | 从发布包中恢复该文件 |
| 文件被改成非 UTF-8 或语法错误 | VS Code 打开校验 JSON 语法 |
| `schemaVersion` 不是 `"1.0"` | 与现场 SSPC 控制板版本不匹配联系维护人员获取匹配版本 |
| 24 `physicalSlot` 不连续 / 寄存器偏移重复 | 用比对工具检查与原始发布版本的差异 |
### 15.1.3 启动后日志中提示"用户设置加载失败,使用默认配置"
| 可能原因 | 处理 |
| ----------------------------------------- | ------------------------------------------------------- |
| `%LOCALAPPDATA%\SSPCTester\settings.json` 损坏 | 删除该文件软件下次启动自动重建 |
## 15.2 设备连接类故障
### 15.2.1 SSPC 连接失败 / 状态显示"未连接"
**现象**基础测试点击 **开** 无反应日志显示 `SerialPort: 端口不存在` `Modbus: 读超时`
| 可能原因 | 处理 |
| ----------------------------------------- | ------------------------------------------------------- |
| **PortName 不存在** | 设置 SSPC 端口名 改为系统实际的 COM |
| 串口被其他程序占用 | 关闭串口调试助手 / 串口监视工具 |
| 串口扩展卡驱动未正常加载 | 重启工控机必要时重装驱动 |
| 设备 Profile 路径填错 | 改回默认 `Config/device-profile.json` |
| `UseMock = false` SSPC 控制板未通电 | 通电 SSPC 控制板 |
| 波特率 / 校验位与现场不符 | 改为现场实际参数默认 9600 8-N-1 |
### 15.2.2 电源 UDP5080 连接失败
**现象**设备指示灯灰色日志显示 `Socket connect 192.168.6.5:5025 timeout`
| 可能原因 | 处理 |
| ------------------ | ----------------------------------------------- |
| IP 不通 | 工控机执行 `ping 192.168.6.5`检查网卡 IP 在同网段 |
| 网线 / 交换机故障 | 重插网线更换网口 |
| 电源前面板未启用 LAN | 进入电源系统菜单确认 LAN 已启用 |
| 防火墙拦截 5025 端口 | Windows 防火墙允许 SSPCTester.UI.exe |
### 15.2.3 电子负载 IT8702P 连接失败
| 可能原因 | 处理 |
| ---------------------- | --------------------------------------------------- |
| IP 不通 | 15.2.2 |
| 端口非 30000 | 修改设置或更新负载侧端口 |
| 负载前面板未开启 LAN | 系统菜单启用 LAN |
| 负载主电源未开 / 急停按下 | 排查硬件 |
### 15.2.4 PCIe8586 采集卡连接失败
| 可能原因 | 处理 |
| ----------------------------------- | ----------------------------------------------------- |
| 采集卡未在 PCIe 槽中识别 | 关机重插BIOS 中检查 PCIe 槽状态 |
| 厂商驱动 (`ACTS1000_64.dll`) 缺失 | 从厂商驱动包重新安装 |
| 选错逻辑 ID | 设置 采集卡 **刷新设备** 重新选择 |
| 工控机系统时间与采集卡时钟不一致 | 同步系统时间重启采集卡 |
| 采集卡前端进入保护 | 检查输入信号是否超量程断电 30 秒后重连 |
## 15.3 测量类异常
### 15.3.1 基础测试"继电器无反应"
> **现场最常见故障。**
| 可能原因 | 处理 |
| ------------------------------------------ | ------------------------------------------------------- |
| 设置中 SSPC `UseMock = false` `PortName` 不存在 | 改为正确 COM |
| 串口波特率与控制板不一致 | 改为现场实际波特率 |
| 主电源未开 | 通电 |
| SSPC 控制板掉电 | 检查 24 V 供电 |
| `device-profile.json` 的从站地址与现场不符 | 由维护人员校对 |
### 15.3.2 功率测试读数全为 0
| 可能原因 | 处理 |
| ---------------------------------------------- | --------------------------------------------- |
| 采集卡处于 Mock 模式 | 设置 采集卡 关闭 Mock |
| 采集卡通道没有 `OutputVoltage` 角色 / 未标定 | 设置 通道表 配置 + 标定 |
| Scale = 0 或未填 | 重新计算并填写 Scale / Offset |
| 外部分压板未通电 | 通电 |
| Modbus 读取的电压 / 电流寄存器返回 0 | 检查负载电流是否真的为 0 |
### 15.3.3 曲线测试报错"未找到已标定的 OutputVoltage 通道"
| 可能原因 | 处理 |
| ---------------------------------------------- | --------------------------------------------- |
| 采集卡通道 Role 全为 `Unconfigured` | 设置 至少配置一个 `OutputVoltage` |
| 已配置但 `IsCalibrated = false` | 6.6 节完成标定并勾选 |
### 15.3.4 曲线时间指标显示 NaN 或异常大
| 可能原因 | 处理 |
| ---------------------------------------------------------- | --------------------------------------------- |
| V<sub>max</sub> 取不到(电压幅值过小) | 检查负载是否接通、量程是否合适 |
| 波形未在采集窗口内完成跳变(开/关时间 > 50 ms | 增大 PostTriggerMs |
| 采集卡通道接错位置 / 极性反 | 重新接线 |
| 噪声极大导致首次过阈值误判 | 检查地线 / 屏蔽 / 缩短线缆 |
### 15.3.5 基础测试"关断电压"列长期偏高
| 可能原因 | 处理 |
| ---------------------- | --------------------------------------------- |
| 续流回路 / 电感储能 | 加放电电阻 |
| 测量端有偏置 | 用万用表复核 SSPC 输出端实际电压 |
| Modbus 测量量程偏差 | 校对 `device-profile.json``voltage.range` |
## 15.4 判定类异常
### 15.4.1 全部 24 路基础测试不合格
- 多半为 SSPC 通信不通;先按 15.3.1 排查。
### 15.4.2 曲线测试个别通道偏慢
| 可能原因 | 处理 |
| ------------------------------ | ------------------------------------- |
| 该通道实际开关速度慢 | 记录并由质量评审决定 |
| 该通道接线接触不良 | 紧固接线 |
| 采集卡端外部调理板老化 | 由维护人员复检调理板 |
### 15.4.3 多次重测结果不一致
| 可能原因 | 处理 |
| ------------------------------ | ------------------------------------- |
| 电源 / 负载未稳定 | 测前等待 ≥ 100 ms |
| 噪声较大 | 检查接地 / 屏蔽 / 远离强电源 |
| 室温 / 器件温度大幅变化 | 控制环境条件 |
## 15.5 报告生成失败
| 可能原因 | 处理 |
| --------------------------------- | ------------------------------------------- |
| 报告路径无写权限 | 改到 `%LOCALAPPDATA%` 内 / 当前用户文档目录 |
| 文件名包含非法字符(`*`, `?`, `:` | 修改文件名 |
| 同名文件被 Word/Adobe Reader 打开 | 关闭打开该 PDF 的程序 |
| 曲线波形文件 (`curves\`) 被外部清理 | 重新执行曲线测试或在备注中说明 |
## 15.6 性能与稳定性
### 15.6.1 一键测试 24 路过慢
| 可能原因 | 处理 |
| ------------------------- | ------------------------------------------ |
| 单路稳定等待 2 秒被频繁触发 | 检查负载是否过容性 |
| 串口超时 + 重试 2 次 | 检查串口稳定性 |
| 工控机 CPU 占用过高 | 关闭无关程序 |
### 15.6.2 高刷新频率下 UI 卡顿
- 将刷新频率改回 2 Hz
- 关闭日志面板的实时滚动;
- 升级工控机内存到 8 GB+。
### 15.6.3 长时间运行后日志面板"刷不动"
- 日志面板上限 500 条;超出后自动丢弃旧条目,属正常现象;
- 历史日志在文件中完整保留。
---
\newpage
# 第 16 章 维护与日志
## 16.1 日志位置
| 类别 | 位置 | 说明 |
| ---------- | ----------------------------------------------------- | ---------------------------------------- |
| 应用日志 | `%LOCALAPPDATA%\SSPCTester\Logs\app-YYYYMMDD.log` | 按天滚动,自动保留最近 7 天 |
| UI 日志 | 主界面底部日志面板 | 最近 500 条;重启后清空 |
| 项目日志 | `Projects\{项目名}\project.json` 末尾的事件字段 | 仅记录关键事件 |
> **【提示】** 报障时请同时附 `app-YYYYMMDD.log` 与对应项目目录。
## 16.2 项目数据备份
**何时备份**
- 现场验收前后;
- 软件升级前;
- 月度归档。
**备份方法**
`%LOCALAPPDATA%\SSPCTester\Projects\` 整个目录复制到外部归档存储(移动硬盘 / NAS / 归档服务器)。
**还原方法**
将归档目录还原到目标工控机的同路径下,启动软件即可在首页列表中看到。
## 16.3 配置升级
### 16.3.1 升级 `appsettings.json`
- 出厂默认配置升级一般跟随 `SSPCTester.UI.exe` 升级一起发布;
- 用户在设置页保存过的值不会被覆盖(位于 `%LOCALAPPDATA%`)。
### 16.3.2 升级 `device-profile.json`
> **【注意】** 该文件直接决定 24 路通道与硬件的映射关系,必须由授权维护人员替换。
升级步骤:
1. 对原文件取 SHA256 校验值并归档;
2. 停止 SSPCTester
3. 将新文件替换到 `Config\device-profile.json`
4. 启动 SSPCTester确认日志中显示"profile 加载成功schemaVersion 1.0channels 24"
5.**基础测试 → 一键测试全部** 复核 24 路与现场实际配对正确。
## 16.4 软件升级流程
1. 下载新版本发布包zip
2. 备份 `%LOCALAPPDATA%\SSPCTester\` 整目录;
3. 退出 SSPCTester
4. 将旧版发布目录改名(保留以便回滚);
5. 解压新版到原路径;
6. 启动 SSPCTester检查版本号
7. 在设置页确认参数;
8. 进行一次基础测试回归。
## 16.5 例行检查表
| 周期 | 检查项 |
| ---- | ------------------------------------------------------------ |
| 每日 | 接地、急停、电源、负载初始状态 |
| 每周 | 设置页 Mock 模式、版本号、磁盘剩余空间 |
| 每月 | `app-*.log` 中错误统计;归档项目目录 |
| 每季 | 采集卡通道标定复检(详见 6.6 节);接插件检查 |
| 每年 | 程控电源 / 电子负载送计量校准;操作员资格复审 |
## 16.6 联系与支持
- 软件技术支持SPC-DynaTest 项目组
- 现场维护:由用户单位维修部门负责
- 厂商接口UDP5080-100、IT8702P、PCIe8586 厂商技术支持热线
---
\newpage
# 附录 A 23 项指标完整定义表
> **说明**:本附录列出 SSPC 动态参数测试的 23 项标准指标。表格指明每项指标的定义、典型测试方法、判定准则,以及在本软件中的覆盖位置。"软件位置"列指向本手册中对应章节,"未实现"表示当前版本由人工评估。
| 编号 | 中文名 | 单位 | 定义 | 测试方法 | 判定准则 | 软件位置 |
| ---- | ------------------ | ---- | ----------------------------------------------------------------- | --------------------------------------------------------- | ------------------------------------- | --------------- |
| 1.1 | 开启时间 | ms | 控制信号有效 → 输出电压上升到 90% V<sub>max</sub> 的时间 | 高速采集 + 上升沿百分位检测 | ≤ MaxOnTimeMs默认 5 | 第 10 章 |
| 1.2 | 关闭时间 | ms | 控制信号撤销 → 输出电压下降到 10% V<sub>max</sub> 的时间 | 高速采集 + 下降沿百分位检测 | ≤ MaxOffTimeMs默认 5 | 第 10 章 |
| 1.3 | 控制延迟时间 | ms | 控制端电平变化 → 内部驱动信号到达 | 厂商方法;本软件等同于"开启时间"近似 | 由型号规范确定 | 第 10 章(近似) |
| 1.4 | 释放延迟时间 | ms | 控制端撤销 → 内部驱动撤销 | 同上 | 由型号规范确定 | 第 10 章(近似) |
| 1.5 | 负载电压上升/下降时间 | ms | 负载侧电压 10% 90% V<sub>max</sub> 的过渡时间 | 高速采集 + 双阈值检测 | ≤ MaxRiseTimeMs / MaxFallTimeMs默认 3| 第 10 章 |
| 1.6 | 输出电压超调量 | % | 开启后稳态值与瞬态峰值之差与稳态值之比 | 高速采集 + 峰值/稳态计算 | 由规范确定 | 未实现(人工评估)|
| 1.7 | 通态电阻 R<sub>on</sub> | mΩ | 稳态导通时,输出电流为 I 时的等效串联电阻 = (V<sub>in</sub> V<sub>out</sub>) / I | 功率损耗模块测得 ΔV / I | ≤ 规范值 | 第 11 章 |
| 1.8 | 通态压降 ΔV | V | 稳态导通时,输入端 输出端电压差 | 功率损耗模块直接测得 | ≤ 规范值 | 第 11 章 |
| 1.9 | 电压降 | V | 同 1.8 ΔV | 同上 | ≤ 规范值 | 第 11 章 |
| 1.10 | 功率损耗 P<sub>loss</sub> | W | P<sub>in</sub> P<sub>out</sub> | 功率损耗模块直接计算 | ≤ 规范值 | 第 11 章 |
| 1.11 | 待机功耗 | W | 控制信号 OFF、输出无电流时器件自身消耗 | 厂商方法 | 由规范确定 | 未实现(人工评估)|
| 1.12 | 控制功耗 | W | 控制端电源消耗 | 厂商方法 | 由规范确定 | 未实现(人工评估)|
| 1.13 | 效率 η | % | P<sub>out</sub> / P<sub>in</sub> × 100% | 功率损耗模块直接计算 | ≥ 规范值 | 第 11 章 |
| 1.14 | 跳闸时间 | ms | 过流条件持续后 → 输出电压降至 10% V<sub>max</sub> 的时间 | 故障注入 + 高速采集(演示) | ≤ 规范值 | 第 12 章(演示) |
| 1.15 | I²t 容量 | A²·s | 跳闸前允许的电流平方积分 | 厂商方法 | 由规范确定 | 未实现 |
| 1.16 | 过载能力 | ×Irated | 允许短时承受的过载倍数 | 厂商方法 | 由规范确定 | 未实现 |
| 1.17 | 短路保护 | — | 输出阻抗 ≤ 1 mΩ 条件下能否正常保护 | 故障注入(演示) | 保护动作,结果 = Pass | 第 12 章(演示) |
| 1.18 | 短路分断能力 | A | 短路保护时允许的最大电流 | 厂商方法 | 由规范确定 | 未实现 |
| 1.19 | 过温保护 | ℃ | 温度达到阈值后器件断开 | 故障注入 / 加热实验 | 保护动作,结果 = Pass | 第 12 章(演示) |
| 1.20 | 温升 | ℃ | 长期工作下结温与环温之差 | 厂商方法 | 由规范确定 | 未实现 |
| 1.21 | 过压保护 | V | V<sub>in</sub> ≥ 阈值后器件断开 | 故障注入 | 保护动作 | 第 12 章(演示) |
| 1.22 | 欠压保护 | V | V<sub>in</sub> ≤ 阈值后器件断开或拒绝导通 | 故障注入 | 保护动作 | 第 12 章(演示) |
| 1.23 | 限流保护 | A | I ≥ 阈值后器件限流或断开 | 故障注入 | 保护动作 | 第 12 章(演示) |
> **【提示】** 编号 1.3 / 1.4 / 1.6 / 1.11 / 1.12 / 1.15 / 1.16 / 1.18 / 1.20 在当前软件版本中由人工评估;后续版本将逐步纳入自动测试。
\newpage
# 附录 B Modbus 通信参数参考
## B.1 串口参数
| 项目 | 值 |
| ------------ | ----------------- |
| 协议 | Modbus-RTU |
| 波特率 | 9600 |
| 数据位 | 8 |
| 校验 | None |
| 停止位 | 1 |
| 读超时 | 500 ms |
| 重试次数 | 2 |
| CRC | CRC16-Modbus低字节在前 |
## B.2 24 路继电器映射
> 物理插位为业务唯一编号。从站地址、线圈号仅在协议层使用。
| 物理插位 | 从站 | 线圈 | 物理插位 | 从站 | 线圈 |
| -------- | ---- | ---- | -------- | ---- | ---- |
| 1 | 1 | 7 | 13 | 2 | 3 |
| 2 | 1 | 6 | 14 | 2 | 2 |
| 3 | 1 | 5 | 15 | 2 | 1 |
| 4 | 1 | 4 | 16 | 2 | 0 |
| 5 | 1 | 3 | 17 | 3 | 7 |
| 6 | 1 | 2 | 18 | 3 | 6 |
| 7 | 1 | 1 | 19 | 3 | 5 |
| 8 | 1 | 0 | 20 | 3 | 4 |
| 9 | 2 | 7 | 21 | 3 | 3 |
| 10 | 2 | 6 | 22 | 3 | 2 |
| 11 | 2 | 5 | 23 | 3 | 1 |
| 12 | 2 | 4 | 24 | 3 | 0 |
**写继电器**(功能码 0x05
| 字段 | 值 |
| -------- | -------- |
| 功能码 | 0x05 |
| 开启值 | 0xFF00 |
| 关闭值 | 0x0000 |
## B.3 电压采集寄存器偏移
> 电压采集从站固定为 `4`,功能码 `0x03`,起始寄存器 `0`,寄存器数 `24`,量程 `100.0` V公式 `B`:实际值 = DATA / 100。
| 物理插位 | 偏移 | 物理插位 | 偏移 | 物理插位 | 偏移 | 物理插位 | 偏移 |
| -------- | ---- | -------- | ---- | -------- | ---- | -------- | ---- |
| 1 | 0 | 7 | 6 | 13 | 12 | 19 | 18 |
| 2 | 1 | 8 | 7 | 14 | 13 | 20 | 19 |
| 3 | 2 | 9 | 8 | 15 | 14 | 21 | 20 |
| 4 | 3 | 10 | 9 | 16 | 15 | 22 | 21 |
| 5 | 4 | 11 | 10 | 17 | 16 | 23 | 22 |
| 6 | 5 | 12 | 11 | 18 | 17 | 24 | 23 |
## B.4 电流采集寄存器偏移
> 电流采集从站固定为 `5`,功能码 `0x03`,起始寄存器 `0`,寄存器数 `24`,量程 `60.0` A公式 `A`:实际值 = DATA / 10000 × 60有符号 (Int16 二进制补码)。
| 物理插位 | 偏移 | 物理插位 | 偏移 |
| -------- | ---- | -------- | ---- |
| 1 | 4 | 13 | 2 |
| 2 | 19 | 14 | 21 |
| 3 | 5 | 15 | 3 |
| 4 | 18 | 16 | 20 |
| 5 | 6 | 17 | 8 |
| 6 | 17 | 18 | 15 |
| 7 | 7 | 19 | 9 |
| 8 | 16 | 20 | 14 |
| 9 | 0 | 21 | 10 |
| 10 | 23 | 22 | 13 |
| 11 | 1 | 23 | 11 |
| 12 | 22 | 24 | 12 |
## B.5 CRC16-Modbus 校验
| 项目 | 值 |
| -------- | ------------------------------- |
| 多项式 | 0xA001反向 0x8005 |
| 初值 | 0xFFFF |
| 字节序 | 低字节在前 |
## B.6 数据公式
| 公式标识 | 计算式 | 适用 |
| -------- | ------------------------------- | ------------------ |
| A | 实际值 = DATA / 10000 × range | 电流(双向量程) |
| B | 实际值 = DATA / range | 电压(单向量程) |
\newpage
# 附录 C PCIe8586 采集卡技术参数
## C.1 硬件规格
| 项目 | 规格 |
| ---------- | -------------------------- |
| 形态 | PCIe x4 |
| 操作系统 | Windows x64 |
| 通道数 | 8可配置启用 1 / 2 / 4 / 8|
| 采样率 | 基准 100 MHz可分频 |
| 量程 | ±5 V 或 ±1 V软件可选 |
| 原始数据 | 16 位有符号 / 无符号码值 |
| DMA 布局 | 多通道交错CH0[0]、CH1[0]、CH0[1]、CH1[1]…)|
| 同步触发 | 软件触发;可选外部触发 |
| 厂商 DLL | `ACTS1000_64.dll` |
## C.2 调用顺序(参考)
```
EnumerateDevices → Open → Configure → Start → SoftwareTrigger
→ Read Loop → Stop → ReleaseAD → Close
```
## C.3 通道角色枚举
| Role | 中文 | 用途 |
| ---------------- | ---------- | ------------------------------------ |
| `OutputVoltage` | 输出电压 | 曲线测试电压源;功率损耗输入端电压来源 |
| `OutputCurrent` | 输出电流 | 曲线测试电流参考 |
| `InputVoltage` | 输入电压 | 备用 |
| `InputCurrent` | 输入电流 | 备用 |
| `Unconfigured` | 未配置 | 该通道不参与任何测试 |
## C.4 采样率换算
$$
\text{ActualSampleRateHz} = \frac{100\,000\,000}{\text{ClockDivider}}
$$
| ClockDivider | 实际采样率 |
| -----------: | ----------- |
| 1 | 100 MHz |
| 10 | 10 MHz |
| 100 | 1 MHz |
| **1000** | **100 kHz** |
| 10000 | 10 kHz |
> **【提示】** 100 kHz 已能满足 SSPC 毫秒级开关瞬态采样需求;更高采样率会显著增加数据量。
## C.5 触发与采集窗口
| 字段 | 默认 | 说明 |
| ---------------- | ---- | ------------------------------------------ |
| `PreTriggerMs` | 10 | 触发前采样时长(用于观察控制信号到达前波形) |
| `PostTriggerMs` | 40 | 触发后采样时长(观察整个开/关跳变过程) |
| 总时长 | 50 | Pre + Post |
\newpage
# 附录 D 程控电源 UDP5080-100 接入参数
## D.1 默认 LAN 参数
| 项目 | 值 |
| -------- | --------------- |
| 协议 | TCP/IP SOCKET |
| IP | `192.168.6.5` |
| 端口 | `5025` |
| 子网 | `255.255.255.0` |
| 命令风格 | SCPI |
## D.2 SCPI 命令示例
| 操作 | 命令 |
| ------------ | ----------------------------- |
| 身份查询 | `*IDN?` |
| 设置电压 | `VOLT 28.0` |
| 设置限流 | `CURR 5.0` |
| 输出开启 | `OUTP ON` |
| 输出关闭 | `OUTP OFF` |
| 读电压 | `MEAS:VOLT?` |
| 读电流 | `MEAS:CURR?` |
> **【提示】** 实际接入由 SSPCTester 内部驱动封装,用户无需在 UI 中手工发送 SCPI。
## D.3 注意事项
- 主回路连接前务必将 OUTP 设为 OFF
- 修改 IP 后请刷新 ARP 或重启网卡;
- 长时间不使用时关闭 OUTP延长寿命。
\newpage
# 附录 E 直流电子负载 IT8702P 接入参数
## E.1 默认 LAN 参数
| 项目 | 值 |
| -------- | ------------------- |
| 协议 | TCP/IP Socket |
| IP | `192.168.200.100` |
| 端口 | `30000` |
| 子网 | `255.255.255.0` |
## E.2 工作模式
| 模式 | 含义 | 应用示例 |
| ---- | ---------- | --------------------------------- |
| CC | 恒流 | 设置 1.0 A模拟典型负载默认 |
| CV | 恒压 | 不常用 |
| CR | 恒阻 | 配合特殊故障演示 |
| CP | 恒功率 | 配合特殊故障演示 |
## E.3 注意事项
- 接入主回路前确保输入关闭;
- CC 模式下电流设置应不超过被测 SSPC 通道额定电流;
- 长时间大功率回吸前确认散热风道无遮挡。
\newpage
# 附录 F 术语表
| 术语 | 中文 / 英文 | 解释 |
| -------------- | ---------------------- | -------------------------------------------------------------------- |
| SSPC | Solid-State Power Controller | 固态功率控制器,本系统的被测对象 |
| 物理插位 | Physical Slot | 24 路 SSPC 通道的业务编号1 24 |
| 模块地址 | Slave Address | Modbus 协议中的从站编号1 / 2 / 3 |
| 线圈 | Coil | Modbus 中可写的离散输出,功能码 0x05 |
| 寄存器 | Register | Modbus 中可读的 16 位数据单元,功能码 0x03 |
| 寄存器偏移 | Register Offset | 在 24 寄存器回包中的零基位置0 23 |
| CRC | Cyclic Redundancy Check | 循环冗余校验,本系统使用 CRC16-Modbus |
| Modbus-RTU | — | 工业串行通信协议,本系统 SSPC 控制板使用 |
| 跳脱 / 跳闸 | Trip | 过流保护动作 |
| I²t | — | 电流平方积分,过流保护熔断特征量 |
| 额定电流 | Rated Current | 器件规定条件下可长期承受的最大电流 |
| 上升时间 | Rise Time | 信号从 10% 到 90% 幅值的时间 |
| 下降时间 | Fall Time | 信号从 90% 到 10% 幅值的时间 |
| 电压降 | Voltage Drop | 输入端 输出端电压之差 |
| 功率损耗 | Power Loss | 输入功率 输出功率 |
| 效率 | Efficiency | 输出功率 / 输入功率 |
| DAQ | Data Acquisition | 数据采集,特指本系统的 PCIe8586 高速采集卡 |
| 触发 | Trigger | 采集卡开始记录数据的同步信号 |
| 浏览态 | Browsing Mode | 默认状态,可自由切换项目 |
| 测试态 | Testing Mode | 测试进行中,设备独占 |
| 综合判定 | Overall Status | 所有结果状态的最差值 |
| Mock | — | 模拟驱动,用于无硬件环境下的演练 |
| Profile | Device Profile | 设备描述文件,本系统指 `device-profile.json` |
\newpage
# 附录 G 配置文件样本
## G.1 `appsettings.json`(节选)
```json
{
"Devices": {
"MockMode": false,
"Sspc": {
"UseMock": false,
"AutoConnect": true,
"PortName": "COM1",
"BaudRate": 9600,
"DataBits": 8,
"Parity": "None",
"StopBits": "One",
"ReadTimeoutMs": 500,
"Retry": 2,
"DeviceProfilePath": "Config/device-profile.json",
"CloseAllRelaysOnDisconnect": true,
"LogRawFrames": true,
"ModuleAddresses": [ 1, 2, 3 ],
"ChannelsPerModule": 8
},
"PowerSupply": {
"UseMock": false,
"AutoConnect": true,
"IpAddress": "192.168.6.5",
"Port": 5025
},
"Load": {
"UseMock": false,
"AutoConnect": true,
"IpAddress": "192.168.200.100",
"Port": 30000
},
"Daq": {
"UseMock": false,
"AutoConnect": true,
"LogicalDeviceId": 0,
"ChannelCount": 4,
"InputRange": "PlusMinus5V",
"ClockDivider": 1000,
"PreTriggerMs": 10,
"PostTriggerMs": 40,
"Channels": [
{ "PhysicalChannel": 0, "Role": "OutputVoltage", "Name": "输出电压", "Scale": 1.0, "Offset": 0.0, "IsCalibrated": true },
{ "PhysicalChannel": 1, "Role": "OutputCurrent", "Name": "输出电流", "Scale": 1.0, "Offset": 0.0, "IsCalibrated": true },
{ "PhysicalChannel": 2, "Role": "InputVoltage", "Name": "输入电压", "Scale": 1.0, "Offset": 0.0, "IsCalibrated": true },
{ "PhysicalChannel": 3, "Role": "InputCurrent", "Name": "输入电流", "Scale": 1.0, "Offset": 0.0, "IsCalibrated": true }
]
}
},
"Storage": {
"ProjectsRoot": "%LOCALAPPDATA%\\SSPCTester\\Projects"
},
"Report": {
"SavePath": "%LOCALAPPDATA%\\SSPCTester\\Reports",
"Format": "Pdf"
}
}
```
## G.2 `device-profile.json`(简化样例,仅前 4 路)
```json
{
"schemaVersion": "1.0",
"profileId": "spc-dynatest-modbus-24ch",
"serialDefaults": {
"baudRate": 9600, "dataBits": 8, "parity": "None",
"stopBits": 1, "readTimeoutMs": 500, "retry": 2,
"protocol": "ModbusRTU"
},
"frame": {
"registerBytes": 2, "dataByteOrder": "BigEndian",
"crc": "CRC16Modbus", "crcByteOrder": "LittleEndian"
},
"relay": {
"functionCodeWrite": 5,
"onValue": "0xFF00", "offValue": "0x0000"
},
"voltage": {
"slave": 4, "functionCodeRead": 3,
"startRegister": 0, "registerCount": 24,
"range": 100.0, "unit": "V",
"formula": "B", "signed": false
},
"current": {
"slave": 5, "functionCodeRead": 3,
"startRegister": 0, "registerCount": 24,
"range": 60.0, "unit": "A",
"formula": "A", "signed": true
},
"channels": [
{ "physicalSlot": 1, "relay": { "slave": 1, "coil": 7 },
"voltage": { "registerOffset": 0 }, "current": { "registerOffset": 4 } },
{ "physicalSlot": 2, "relay": { "slave": 1, "coil": 6 },
"voltage": { "registerOffset": 1 }, "current": { "registerOffset": 19 } },
{ "physicalSlot": 3, "relay": { "slave": 1, "coil": 5 },
"voltage": { "registerOffset": 2 }, "current": { "registerOffset": 5 } },
{ "physicalSlot": 4, "relay": { "slave": 1, "coil": 4 },
"voltage": { "registerOffset": 3 }, "current": { "registerOffset": 18 } }
// …其余 20 行省略
]
}
```
\newpage
# 附录 H 文件目录与默认路径速查
| 类型 | 路径 |
| ---------------- | ------------------------------------------------------------- |
| 主程序 | `<安装目录>\SSPCTester.UI.exe` |
| 出厂配置 | `<安装目录>\appsettings.json` |
| Modbus 映射 | `<安装目录>\Config\device-profile.json` |
| 用户设置 | `%LOCALAPPDATA%\SSPCTester\settings.json` |
| 项目数据 | `%LOCALAPPDATA%\SSPCTester\Projects\` |
| 报告输出 | `%LOCALAPPDATA%\SSPCTester\Reports\` |
| 应用日志 | `%LOCALAPPDATA%\SSPCTester\Logs\app-YYYYMMDD.log` |
| 单项目目录 | `Projects\{项目名}\` |
| 单项目元数据 | `Projects\{项目名}\project.json` |
| 单项目波形 | `Projects\{项目名}\curves\CH{nn}_{on|off}_{时间戳}.{bin|json}` |
| 单项目报告 | `Projects\{项目名}\report.pdf` |
`<安装目录>` 推荐 `C:\SSPCTester\`。`%LOCALAPPDATA%` 通常为 `C:\Users\<用户名>\AppData\Local`
\newpage
# 附录 I 修订记录
| 版本 | 日期 | 修订内容 | 修订人 | 审核 / 批准 |
| ----- | ---------- | ----------------- | -------- | ----------- |
| V1.0 | 2026-06-25 | 首次正式发布 | | |
| | | | | |
| | | | | |
---
**— 文档结束 —**