--- 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]` 的形式标注界面截图位置。正式发布前由现场人员补充对应截图。 **通道编号约定** 本系统所有"通道号"均指**物理插位**,编号为 1–24。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 | | 高速数据采集卡 | PCIe8586(ACTS 系列) | 同步采集 SSPC 开关瞬态电压/电流波形 | PCIe | | 串口扩展卡 | 8 口 UART | 提供 SSPC 控制板使用的 COM 端口 | PCIe / PCI | [插图:系统整体硬件连接示意图] ## 1.5 技术规格摘要 | 项目 | 规格 | | ------------ | ----------------------------------------------------------------- | | 测试通道数 | 24(物理插位 1–24) | | 采样率 | 高速采集卡 100 MHz / 可分频,典型 100 kHz | | 采集时长 | 单次开/关瞬态典型 50 ms(PreTrigger 10 ms + PostTrigger 40 ms) | | 电压量程 | SSPC 端 0 – 100 V;采集卡 ±5 V / ±1 V(可选) | | 电流量程 | SSPC 端 ±60 A | | 通讯协议 | Modbus-RTU(SSPC),SOCKET / SCPI(电源、负载),厂商 API(采集卡)| | 判定输出 | 合格 / 不合格 / 已测 / 未测 | | 报告格式 | PDF(A4,含封面、数据表、波形图、综合判定) | | 项目数据格式 | JSON + 二进制波形(`.bin` + `.json` 元数据) | ## 1.6 运行环境要求 | 项目 | 最低要求 | 推荐 | | -------- | --------------------------------------- | ----------------------------- | | 操作系统 | Windows 10 x64(1909 及以后) | 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 通过 **LAN(TCP/IP SOCKET,端口 5025)** 与工控机通信。 | 项目 | 推荐值 | | ---------- | ----------------------- | | IP 地址 | `192.168.6.5` | | 端口 | `5025` | | 协议 | TCP/IP SOCKET(SCPI 风格命令) | | 子网 | `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 通过 **LAN(Socket,端口 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 容器(第 9–12 章); - **报告页**:生成测试报告(第 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** | 物理通道号 0–7 | | **Role** | 通道角色,决定该通道在测试中的用途: | | | - `OutputVoltage`:SSPC 输出端电压(曲线测试必需 / 功率损耗输入端电压来源) | | | - `OutputCurrent`:SSPC 输出端电流 | | | - `InputVoltage`:SSPC 输入端电压(备用) | | | - `InputCurrent`:SSPC 输入端电流(备用) | | | - `Unconfigured`:未配置,不参与任何测试 | | **Name** | 显示名称,可自定义中文 | | **Scale** | 标定系数 K(工程值 = K × 采样值 + Offset) | | **Offset** | 标定偏置 B | | **IsCalibrated** | 是否已标定。**未勾选时,依赖该通道的真实测试会被阻止** | **典型标定流程** 1. 拆除被测件,将基准信号源接入 CH0; 2. 注入已知电压 Vref(如 28.00 V); 3. 在工程值 = K × x + B 中: - 取两个不同 Vref 值,记下采集卡读数 x₁ 与 x₂; - 解方程:K = (Vref1 − Vref2) / (x₁ − x₂),B = Vref1 − K·x₁; 4. 填写到表格对应行,勾选 **IsCalibrated**; 5. 点击 **保存并重新连接**。 > **【提示】** 重新插拔分压板或更换电缆后,应重新标定。建议每三个月进行一次例行复检。 ## 6.7 报告设置 | 字段 | 含义 | | ---------- | ------------------------------------------------- | | **保存路径** | 报告默认输出目录,默认 `%LOCALAPPDATA%\SSPCTester\Reports` | | **浏览** | 弹出目录选择对话框 | | **格式** | 单选;当前仅支持 PDF(Word 选项已灰显,后续版本提供) | ## 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** | 通道号(1–24) | | **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 一键测试全部 点击右上角 **一键测试全部** 按钮,软件将自动对 CH1–CH24 依次执行"开 → 短暂稳定 → 关 → 稳定判定",并在每路完成后立刻刷新该行状态与顶部统计。 > **【提示】** 一键测试期间,**统计条** 实时累加;按 **中止** 可在当前通道完成后停止。 ## 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 列长期保持 1–2 V | 续流回路 / 负载电感效应 | 加放电电阻或延长稳定窗口 | | 行状态长期为"测试中" | SSPC 控制板未响应 / 串口被其他程序占用 | 查看日志中的 Modbus 帧 / 重启软件 | | 行状态翻红,但电压正常 | 关断稳定未满足(电压 ≥ 0.5 V 或 2 秒超时) | 见上一行 | | 行状态翻红,电压全 0 | 通道实际未接负载或主电源关闭 | 检查接线 | --- \newpage # 第 10 章 开启与关断曲线测试 **曲线测试**通过高速采集卡同步采样 SSPC 开关瞬态,自动计算 4 个关键时间参数:**开启时间、上升时间、关断时间、下降时间**。本模块对应指标 1.1 – 1.6。 [插图:曲线测试 Tab 页全貌] ## 10.1 测试目的 | 参数 | 定义 | | ------------ | -------------------------------------------------------------------- | | **开启时间** | 控制信号发出 → 输出电压达到 90% Vmax 的时间 | | **上升时间** | 输出电压由 10% Vmax 上升到 90% Vmax 的时间 | | **关断时间** | 控制信号撤销 → 输出电压降至 10% Vmax 的时间 | | **下降时间** | 输出电压由 90% Vmax 下降到 10% Vmax 的时间 | 其中 Vmax 取**采集波形电压样点 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 ms,Post-Trigger = 40 ms(共 50 ms); - 在采集开始后 10 ms(PreTrigger 时刻)发送 ON 命令; - 采集结束后取得"上升波形"`risingCurve`; 4. **计算上升指标**: - $V_{max} = \text{p95}(v[i])$ - 开启时间 = 首次 v(t) ≥ 0.9 Vmax 的时间 − 触发时刻 - 上升时间 = (首次 v ≥ 0.9 Vmax) − (首次 v ≥ 0.1 Vmax) 5. **间歇 100 ms**; 6. **关断曲线采集**:同上,但触发时发送 OFF 命令;得到"下降波形"`fallingCurve`; 7. **计算下降指标**: - 关断时间 = 首次 v(t) ≤ 0.1 Vmax 的时间 − 触发时刻 - 下降时间 = (首次 v ≤ 0.1 Vmax) − (首次 v ≤ 0.9 Vmax) 8. **持久化**:波形数据保存到 `Projects\{项目名}\curves\` 目录; 9. **更新 UI**:表格新增/刷新行、绘制波形、给出 **合格 / 不合格** 判定。 > **【注意】** 时间基准取自 Modbus 命令的**发送时刻**,并非硬件级别的触发同步。因此,对硬件同步精度有更高要求的场合,需要使用外部触发信号配合上位机 GPIO 调用。 ## 10.5 波形显示 每个波形控件展示: - **电压曲线**:蓝色(开启)或红色(关断); - **网格**:浅灰,时间间隔自适应; - **阈值辅助线**:90% Vmax 与 10% Vmax(虚线); - **触发点标记**:纵向短线; - **悬停光标**(鼠标移入时):显示当前点 t / V 数值。 支持鼠标滚轮缩放、左键拖动平移、双击复位。 点击 **在新窗口查看曲线** 可弹出独立全屏窗口,便于打印或截图。 [插图:曲线放大窗口] ## 10.6 波形文件存储 每次采集都会保存两组文件(一组对应上升、一组对应下降): | 文件类型 | 命名样例 | 内容 | | -------- | ----------------------------------------- | ----------------------------------- | | `.bin` | `CH01_on_20260618_153022234.bin` | float32 小端序,多通道交错样点流 | | `.json` | `CH01_on_20260618_153022234.json` | 采样率、触发时刻、通道角色、标定参数 | > **【提示】** 波形原始数据由报告生成器读取并嵌入 PDF。如需在第三方工具中复盘,可用 Python / MATLAB 按元数据中描述的格式解析。 ## 10.7 判定准则 | 判定结果 | 条件 | | ---------- | ----------------------------------------------------------------- | | **合格** | 4 个时间指标均 ≤ 阈值 ✓ 且 数值有效(非 NaN) ✓ | | **不合格** | 任一指标超阈值,或采样数据异常(Vmax 过低、波形不收敛) | | **测试中** | 正在采集 | | **未测** | 当前通道未采集 | ## 10.8 注意事项 - 采集卡必须配置一个 **`OutputVoltage` 角色且已标定** 的通道,否则真实硬件下采集会被拒绝; - 当负载为大容性时,下降时间可能显著加大,应在工程上对阈值进行评估; - 采集前确认负载已连接,否则 Vmax 取不到有效幅值; - 高速采集对噪声敏感,连接线缆应尽量短,避免与强电流回路并行。 --- \newpage # 第 11 章 功率损耗测试 **功率损耗测试**同时测量 SSPC 输入端与输出端的电压、电流,计算电压降、功率损耗、效率。本模块对应指标 1.7 – 1.10、1.13。 [插图:功率损耗测试 Tab 页全貌] ## 11.1 测试目的 - 在固定工作点下,测得 SSPC 的输入功率 Pin 和输出功率 Pout; - 计算电压降 ΔV、功率损耗 Ploss、效率 η; - 为器件选型、热设计、电源容量评估提供数据依据。 ## 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 数据来源 | 物理量 | 来源 | | ------------ | -------------------------------------------------------------------- | | **Vout** | SSPC 控制板 Modbus 测量(继电器端电压回路) | | **Iout** | SSPC 控制板 Modbus 测量(电流互感器 / Hall 元件回路) | | **Vin** | 高速采集卡的 `OutputVoltage` 角色通道瞬时值(外部分压后) | | **Iin** | 等于 Iout(SSPC 为串联开关,主回路电流不分支) | > **【注意】** "输入端电压"在采集卡上挂在 `OutputVoltage` 角色通道,这是历史遗留命名。它实际指向 SSPC 输入端的测点。维护人员可在采集卡通道表中将 `Name` 字段改为"输入电压",但 `Role` 必须保持 `OutputVoltage`。 ## 11.5 测量流程 点击 **测量当前通道**,软件执行: 1. SSPC 打开指定通道; 2. 等待 50 ms 稳定; 3. 循环 N 次: - 读 SSPC Modbus 测量:得到 Vout、Iout; - 读采集卡 `OutputVoltage` 通道瞬时值:得到 Vin; - 累加 → 间隔 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 偏差 | Vin 漂移 | 重新标定 | | Modbus 电流量程精度低于实际范围 | I 分辨率不足 | 选择匹配量程的设备 Profile | | 共模噪声进入分压板 | Vin 抖动 | 调理板加滤波 / 调整接地 | ## 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 mΩ | < 10 ms | | **过温** | OverTemp | 器件温度 ≥ 85 ℃ | < 200 ms | | **过压** | OverVolt | Vin ≥ 阈值(默认 32 V) | < 50 ms | | **欠压** | UnderVolt | Vin ≤ 阈值(默认 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 V,Iin ≈ 1.000 A - Vout ≈ 27.92 V,Iout ≈ 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 或异常大 | 可能原因 | 处理 | | ---------------------------------------------------------- | --------------------------------------------- | | Vmax 取不到(电压幅值过小) | 检查负载是否接通、量程是否合适 | | 波形未在采集窗口内完成跳变(开/关时间 > 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.0,channels 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% Vmax 的时间 | 高速采集 + 上升沿百分位检测 | ≤ MaxOnTimeMs(默认 5) | 第 10 章 | | 1.2 | 关闭时间 | ms | 控制信号撤销 → 输出电压下降到 10% Vmax 的时间 | 高速采集 + 下降沿百分位检测 | ≤ MaxOffTimeMs(默认 5) | 第 10 章 | | 1.3 | 控制延迟时间 | ms | 控制端电平变化 → 内部驱动信号到达 | 厂商方法;本软件等同于"开启时间"近似 | 由型号规范确定 | 第 10 章(近似) | | 1.4 | 释放延迟时间 | ms | 控制端撤销 → 内部驱动撤销 | 同上 | 由型号规范确定 | 第 10 章(近似) | | 1.5 | 负载电压上升/下降时间 | ms | 负载侧电压 10% – 90% Vmax 的过渡时间 | 高速采集 + 双阈值检测 | ≤ MaxRiseTimeMs / MaxFallTimeMs(默认 3)| 第 10 章 | | 1.6 | 输出电压超调量 | % | 开启后稳态值与瞬态峰值之差与稳态值之比 | 高速采集 + 峰值/稳态计算 | 由规范确定 | 未实现(人工评估)| | 1.7 | 通态电阻 Ron | mΩ | 稳态导通时,输出电流为 I 时的等效串联电阻 = (Vin − Vout) / I | 功率损耗模块测得 ΔV / I | ≤ 规范值 | 第 11 章 | | 1.8 | 通态压降 ΔV | V | 稳态导通时,输入端 − 输出端电压差 | 功率损耗模块直接测得 | ≤ 规范值 | 第 11 章 | | 1.9 | 电压降 | V | 同 1.8 ΔV | 同上 | ≤ 规范值 | 第 11 章 | | 1.10 | 功率损耗 Ploss | W | Pin − Pout | 功率损耗模块直接计算 | ≤ 规范值 | 第 11 章 | | 1.11 | 待机功耗 | W | 控制信号 OFF、输出无电流时器件自身消耗 | 厂商方法 | 由规范确定 | 未实现(人工评估)| | 1.12 | 控制功耗 | W | 控制端电源消耗 | 厂商方法 | 由规范确定 | 未实现(人工评估)| | 1.13 | 效率 η | % | Pout / Pin × 100% | 功率损耗模块直接计算 | ≥ 规范值 | 第 11 章 | | 1.14 | 跳闸时间 | ms | 过流条件持续后 → 输出电压降至 10% Vmax 的时间 | 故障注入 + 高速采集(演示) | ≤ 规范值 | 第 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 | Vin ≥ 阈值后器件断开 | 故障注入 | 保护动作 | 第 12 章(演示) | | 1.22 | 欠压保护 | V | Vin ≤ 阈值后器件断开或拒绝导通 | 故障注入 | 保护动作 | 第 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 | 首次正式发布 | | | | | | | | | | | | | | | --- **— 文档结束 —**