功能介绍:作为服务端使用的SCPI协议模拟器,在没有实际设备的情况下模拟具备SCPI协议的仪器。
1. 支持的仪器类型
- 示波器 (Oscilloscope)
- 万用表 (Multimeter)
- 数据采集仪器 (Data Acquisition)
2. 通信方式
- 虚拟串口通信: 支持COM口连接,可配置波特率、数据位、停止位等
- TCP网口通信: 支持Socket连接,可配置监听端口(默认SCPI端口5025)
3. SCPI命令解析
- 实现通用的SCPI命令解析框架
- 支持标准SCPI语法(如 `:MEASURE:VOLTAGE:DC?`)
- 支持查询命令(带`?`)和设置命令
4. UI界面功能
- 显示服务状态(启动/停止)
- 实时显示接收/发送的SCPI命令日志
- 可配置模拟仪器的参数
- 选择仪器类型和通信方式
- 工具栏提供启动服务和停止服务按钮
5. 配置管理
- 使用JSON配置文件管理仪器参数
- 支持动态加载和保存配置
6. 支持测试命令a、通用命令(4个)
*IDN?, *RST, *CLS, *OPC?
b、示波器命令(40+个)
测量命令:频率、周期、电压(DC/AC/PEAK/PEAKTOPEAK)、电流、上升/下降时间
源命令:电压、频率设置与查询
通道命令:CH1-CH4的使能、电压、偏移
触发命令:触发源、模式、电平
时基命令
配置命令
c、万用表命令(20+个)
测量:电压、电流、电阻、电容、频率、周期、二极管、通断
配置:各种测量模式配置
感测:功能设置、量程、分辨率
d、 数据采集卡命令(20+个)
测量:电压、温度
配置:通道数(1-32)、采样率、缓冲区、电压范围
通道控制:使能、量程
采集控制:启动/停止、状态查询、数据读取
路由:扫描列表配置
7、使用示例
示例 1: 示波器测量
客户端 -> :*IDN?
服务端 <- SCPISimPY,Oscilloscope,1000,1.0.0
客户端 -> :MEASURE:VOLTAGE:DC?
服务端 <- 5.012
客户端 -> :MEASURE:FREQUENCY?
服务端 <- 1000.0
客户端 -> :CHANNEL:CH1:ENABLED?
服务端 <- TRUE
示例 2: 万用表配置和测量
客户端 -> :CONFIGURE:VOLTAGE:DC?
服务端 <- VOLTAGE_DC,10
客户端 -> :MEASURE:VOLTAGE:DC?
服务端 <- 5.012
客户端 -> :MEASURE:RESISTANCE?
服务端 <- 1000.0
示例 3: 数据采集卡配置
客户端 -> :CONFIG:CHANNEL:COUNT 16
服务端 <- OK
客户端 -> :CONFIG:SAMPLE:RATE 1000000
服务端 <- OK
客户端 -> :CONFIG:SAMPLE:RATE?
服务端 <- 1000000
客户端 -> :ACQUIRE:START
服务端 <- OK
客户端 -> :ACQUIRE:READ?
服务端 <- [2.5,2.501,2.502,...]
实测截图:
