功能介绍:作为服务端使用的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,...]

实测截图:

image