# 可编程电源测试工具 v3.0 这是一个用于控制固纬 GW Instek 可编程电源的 Windows 测试工具,支持多种型号。 ## 🎯 支持的设备 - ✅ **APS-7100** - AC 可编程电源(1kVA,交流) - ✅ **PSW250-4.5** - DC 可编程电源(250W,直流) ## 功能特点 - ✅ **多设备支持**:一个软件控制 AC 和 DC 两种电源,可自由切换 - ✅ **双模式通讯**:支持串口(RS-232/USB)和网口(Ethernet/LAN)连接 - ✅ **智能界面**:根据设备类型自动显示/隐藏相关功能 - ✅ **基本控制**:电压、频率、电流设置 - ✅ **AC电源专属**:量程切换、波形选择、频率设置 - ✅ **DC电源专属**:恒压/恒流模式、过压保护 - ✅ **输出控制**:开启/关闭输出 - ✅ **实时测量**:显示电压、电流、功率等参数 - ✅ **SCPI 命令库**:70+ 预设命令(AC 40+, DC 30+),分类清晰,带详细说明 - ✅ **自定义命令**:支持直接发送任意 SCPI 命令 - ✅ **操作日志**:记录所有操作历史和命令响应 ## 系统要求 - Windows 10/11 - .NET 6.0 或更高版本 - 固纬可编程电源(支持型号:APS-7100 或 PSW250-4.5) - **连接方式**(二选一): - RS-232 串口或 USB 转串口适配器 - 以太网网口(需设备支持 LAN 选配) ## 安装与运行 ### 方法一:直接运行(需要 .NET 6.0 SDK) ```bash # 1. 进入项目目录 cd "固纬APP" # 2. 还原依赖 dotnet restore # 3. 运行程序 dotnet run ``` ### 方法二:编译发布 ```bash # 编译为独立可执行文件(包含 .NET 运行时) dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true # 可执行文件位置: # bin\Release\net6.0-windows\win-x64\publish\APS7100TestTool.exe ``` ## 使用说明 ### 1. 选择设备类型 软件启动后,首先在"连接设置"区域选择设备类型: - **APS-7100 (AC可编程电源)** - 用于交流电源 - **PSW250-4.5 (DC可编程电源)** - 用于直流电源 > 💡 **提示**:界面会根据设备类型自动调整,显示/隐藏相关功能 ### 2. 连接设备 #### 方式 A:串口连接(推荐用于调试) 1. 使用 RS-232 串口线或 USB 转串口线连接电脑与 APS-7100 2. 打开设备电源 3. 在软件中选择 **"串口连接"** 单选框 4. 选择对应的 **COM 端口**(如不确定可点击"刷新"按钮) 5. 选择 **波特率**(默认 9600,请参考设备手册设置) 6. 点击 **"连接"** 按钮 #### 方式 B:网口连接(推荐用于远程控制)⭐ 1. 使用网线将 APS-7100 连接到局域网(或直连电脑) 2. 在设备上配置 IP 地址(参考设备手册的网络设置章节) 3. 确保电脑可以 ping 通设备 IP 4. 在软件中选择 **"网口连接"** 单选框 5. 输入设备的 **IP 地址**(例如:192.168.1.100) 6. 输入 **端口号**(默认 2268,如设备手册有特殊说明请修改) 7. 点击 **"连接"** 按钮 > 💡 **提示**:网口连接速度更快、更稳定,适合长时间测试和远程控制 ### 3. 设置输出参数 #### APS-7100 (AC电源) - **电压**:0-350V(分低档/高档) - **频率**:45-500 Hz - **电流限值**:保护阈值 - **电压量程**:低档(0-175V) / 高档(0-350V) - **输出波形**:正弦波、方波、三角波 #### PSW250-4.5 (DC电源) - **电压**:0-72V - **电流**:0-4.5A(恒流输出) - **工作模式**:恒压(CV) / 恒流(CC) - **过压保护**:可设定保护值 ### 4. 控制输出 - 点击 **"输出 OFF"** 按钮开启输出(按钮变为"输出 ON") - 再次点击关闭输出 - **注意**:开启输出前请确认所有参数设置正确,并确保负载已连接 ### 5. 实时测量 连接成功后,右侧 **"实时测量"** 面板会每秒更新一次: #### APS-7100 (AC电源) - 实测电压(Vrms) - 实测电流(Arms) - 实测功率(W) - 实测频率(Hz) - 功率因数(PF) #### PSW250-4.5 (DC电源) - 实测电压(V) - 实测电流(A) - 实测功率(W) ### 6. 切换设备类型 如需在两种设备之间切换: 1. **断开当前连接**(重要!) 2. 从"设备类型"下拉框选择另一种设备 3. 界面会自动调整显示相关功能 4. 配置新设备的连接参数 5. 点击"连接"开始使用 > ⚠️ **注意**:必须先断开连接才能切换设备类型 ### 8. Modbus TCP 服务器 (新增) 软件可以作为 Modbus TCP 服务器(Slave),允许 PLC 或其他客户端通过 Modbus 协议控制电源。 #### 使用步骤: 1. 在界面下方的 "Modbus TCP 服务器" 区域,点击 **"加载配置"** 按钮。 2. **Modbus 配置编辑器** 窗口将会弹出。 3. 您可以在此窗口中: - **直接编辑**:像 Excel 一样在表格中添加或修改映射规则。 - **导入 Excel**:将现有的 Excel 配置文件导入到编辑器中。 - **导出 Excel**:将当前的配置保存为 Excel 文件。 4. 编辑完成后,点击 **"保存并应用"**。 5. 确保已连接电源设备。 6. 设置端口(默认 502),点击 **"启动服务"**。 #### 寄存器说明(Excel 列定义): 如果您选择手动编辑 Excel,请确保包含以下列(表头): - **Address**: Modbus 寄存器地址 (如 40001 填 1)。 - **RegisterType**: `Holding` (4x区) 或 `Input` (3x区)。 - **OperationType**: `Write` (PLC写->发命令) 或 `Read` (查状态->供PLC读)。 - **DataType**: `Int16`, `UInt16`, `Float` (2寄存器), `Bool`。 - **ScpiCommand**: SCPI 命令模板 (例如 `VOLT {0}` 或 `MEAS:VOLT?`)。 - **ScaleFactor**: 缩放因子 (例如 PLC写1000=10V,则 Factor=0.01)。 - **Description**: 备注说明。 在 **"SCPI 命令"** 区域可以使用预设命令或发送自定义命令: #### 方式 A:使用命令清单(推荐)⭐ 1. 从 **"命令分类"** 下拉框选择类别(系统命令、输出控制、电压设置等) 2. 在 **"命令清单"** 中选择需要的命令 3. **"功能说明"** 区域会显示该命令的详细说明 4. 点击 **"使用此命令"** 按钮,命令会自动填充到输入框 5. 点击 **"发送"** 执行命令 #### 方式 B:直接输入命令 在输入框中直接输入 SCPI 命令,然后点击 **"发送"** 按钮。 #### 常用命令示例: ```scpi # ===== 通用命令 ===== *IDN? # 查询设备识别信息 *RST # 重置设备 SOUR:VOLT 220 # 设置电压为 220V SOUR:VOLT? # 查询电压设定值 # ===== APS7100 (AC) 专用 ===== SOUR:FREQ 60 # 设置频率为 60Hz OUTP:STAT ON # 开启输出 ⚠ 注意:不是 OUTP ON OUTP:STAT OFF # 关闭输出 MEAS:SCAL:VOLT? # 测量电压 ⚠ 注意:不是 MEAS:VOLT? SOUR:CURR:LIM:RMS 5 # 设置电流限值 ⚠ 注意:不是 SOUR:CURR # ===== PSW250 (DC) 专用 ===== OUTP ON # 开启输出(支持简写) MEAS:VOLT? # 测量电压(支持简写) SOUR:CURR 2 # 设置电流 ``` > 💡 **提示**:命令库包含 40+ 常用命令,每个都有详细的功能说明和示例 ## 连接配置说明 ### 串口配置 APS-7100 默认串口参数(请参考设备手册确认): - **波特率**:9600 - **数据位**:8 - **校验位**:None - **停止位**:1 - **流控**:None ### 网口配置 APS-7100 默认网口参数(具体以设备实际配置为准): - **协议**:TCP/IP - **端口号**:2268(SCPI 标准端口,部分设备可能使用 5025) - **IP 配置**:需在设备上手动设置或通过 DHCP 获取 - **连接方式**:Raw Socket(VXI-11 或 LXI) #### 如何获取设备 IP 地址? 1. **方法 1**:在 APS-7100 前面板菜单中查看网络设置 2. **方法 2**:使用固纬提供的设备发现工具 3. **方法 3**:通过路由器 DHCP 列表查看 4. **方法 4**:使用网络扫描工具(如 Advanced IP Scanner) #### 网口连接故障排查 如果网口连接失败,请检查: 1. 设备是否已启用 LAN 功能(部分型号需选配) 2. IP 地址和端口号是否正确 3. 网络连接是否正常(使用 `ping IP地址` 测试) 4. 防火墙是否阻止了连接 5. 是否有其他软件占用了该 IP/端口 ### 串口连接故障排查 如果串口连接失败,请检查: 1. 设备是否开机 2. 串口驱动是否正确安装(USB 转串口需要安装驱动) 3. COM 端口号是否正确 4. 波特率等参数是否匹配设备设置 5. 串口是否被其他程序占用 ## 故障排除 ### 无法连接设备 - 检查串口线是否插好 - 确认在设备管理器中能看到对应的 COM 端口 - 尝试不同的波特率设置 - 确保设备串口功能已启用(参考设备手册) ### 测量值显示异常 - 检查设备是否处于输出状态 - 确认负载是否正常连接 - 尝试重新连接设备 ### 命令执行失败 - 确认 SCPI 命令格式正确 - 查询命令需以 `?` 结尾 - 参考设备编程手册确认指令支持 ## SCPI 命令参考 详细的 SCPI 命令列表请参考: - 固纬 APS-7000 系列编程手册 - [软件内置 SCPI 速查](#) (见源码 APS7100Controller.cs) ## 开发说明 ### 项目结构 ``` 固纬APP/ ├── 📄 核心代码 │ ├── APS7100TestTool.csproj # 项目配置 │ ├── Program.cs # 程序入口 │ ├── ScpiDevice.cs # 串口+网口通讯 │ ├── DeviceType.cs # 设备类型定义 │ ├── IPowerSupplyController.cs # 设备接口 │ ├── APS7100Controller.cs # AC电源控制器 │ ├── PSW250Controller.cs # DC电源控制器 │ ├── ScpiCommandLibrary.cs # AC命令库 │ ├── PSW250CommandLibrary.cs # DC命令库 │ ├── MainForm.cs # 主窗体逻辑 │ └── MainForm.Designer.cs # 主窗体界面 ├── 📚 文档 │ ├── README.md # 总体说明 │ ├── 双设备支持说明.md # 双设备功能详解 │ ├── 使用指南.txt # 快速指南 │ ├── SCPI命令库说明.txt # 命令库参考 │ ├── 网口连接配置指南.txt # 网口配置 │ └── 界面布局说明.txt # 界面说明 └── 🚀 脚本 ├── 启动.bat # 一键启动 └── 编译发布.bat # 一键编译 ``` ### 扩展功能 如需添加新功能,可在 `APS7100Controller.cs` 中添加新方法: ```csharp // 示例:添加 LIST 模式控制 public void ConfigureListMode(double[] voltages, double[] frequencies, double[] times) { _device.SendCommand("SOUR:LIST:STAT ON"); _device.SendCommand($"SOUR:LIST:COUN {voltages.Length}"); _device.SendCommand($"SOUR:LIST:VOLT {string.Join(",", voltages)}"); _device.SendCommand($"SOUR:LIST:FREQ {string.Join(",", frequencies)}"); _device.SendCommand($"SOUR:LIST:DWEL {string.Join(",", times)}"); } ``` ## 许可证 本项目仅供学习和测试使用。使用时请遵守固纬设备相关安全规范。 ## 注意事项 ⚠️ **安全警告**: - 使用前请仔细阅读 APS-7100 用户手册 - 高压输出可能造成危险,请确保操作规范 - 开启输出前务必检查负载连接 - 不要在输出状态下插拔负载 - 测试过程中注意设备散热 ## 技术支持 - 固纬官网:https://www.gwinstek.com/ - 产品手册:请从官网下载 APS-7000 系列用户手册及编程手册 --- **版本**:3.0 **更新日期**:2025-10-20 **重大更新**: - 🎉 **新增 PSW250-4.5 DC 电源支持** - ✨ 双设备支持,可自由切换 - ✨ 智能界面自适应 - ✨ 独立的设备命令库(AC 40+, DC 30+ 命令) - ✨ SCPI 命令库系统 - ✨ 网口(Ethernet)连接支持 - ✨ 串口/网口动态切换 - 🎨 优化界面布局 - 📝 完善文档说明(新增《双设备支持说明.md》) **版本历史**: - v3.0 (2025-10-20) - 双设备支持 - v2.1 (2025-10-20) - SCPI命令库 - v2.0 (2025-10-20) - 网口连接 - v1.0 (2025-10-20) - 基础功能