资讯中心

联系我们

深圳市维立信电子科技有限公司
地址:深圳市福田区红荔路第一世界广场A座8D-E
咨询电话:0755-83766766
E-mail:info@welissom.com

如何通过SCPI命令查询双向直流电源的哪些参数是只读的?

2026-02-02 10:10:11  点击:

  在双向直流电源中,只读参数通常指通过查询命令(以?结尾)获取的、反映设备当前状态或测量值的参数,用户无法通过SCPI命令直接修改这些参数。以下是查询只读参数的通用方法及示例:

  1. 查询只读参数的通用方法

  命令结构:只读参数的SCPI命令通常以查询标识符?结尾,例如:

  plaintextMEAS:VOLT?      // 查询实际输出电压MEAS:CURR?      // 查询实际输出电流

  OUTP:STAT?      // 查询输出开关状态

  SYST:ERR?       // 查询系统错误信息

  返回值:设备会返回当前测量值或状态(如12.345、1或0),用户无法通过命令修改这些值。

  2. 常见只读参数及示例

  (1) 输出状态参数

  输出开关状态:

  plaintextOUTP:STAT?  // 返回"1"表示输出开启,"0"表示关闭

  保护状态:

  plaintextSOUR:VOLT:PROT:TRIG?  // 查询过压保护是否触发(返回"1"或"0")SOUR:CURR:PROT:TRIG?  // 查询过流保护是否触发(返回"1"或"0")

  (2) 实际测量值

  输出电压:

  plaintextMEAS:VOLT?  // 返回当前实际输出电压(单位:V)

  输出电流:

  plaintextMEAS:CURR?  // 返回当前实际输出电流(单位:A)

  输出功率(部分设备支持):

  plaintextMEAS:POW?  // 返回当前实际输出功率(单位:W)

  (3) 系统状态参数

  系统错误信息:

  plaintextSYST:ERR?  // 返回最近错误代码和描述(如`0."No error"`)

  操作完成状态:

  plaintext*OPC?      // 返回"1"表示上一条命令已执行完成

  (4) 配置参数查询

  部分配置参数虽可查询,但修改需通过其他命令(如SOUR:VOLT设置电压,MEAS:VOLT?查询电压),此类参数在查询时为只读:

  当前输出模式:

  plaintextSOUR:FUNC?  // 返回当前工作模式("VOLT"表示恒压,"CURR"表示恒流)

  量程设置:

  plaintextSENS:VOLT:RANG?  // 查询当前电压量程(如`100`表示100V量程)

  3. 判断参数是否为只读的依据

  命令手册标注:查阅设备手册的SCPI命令集,若某参数的命令描述中仅包含查询命令(如MEAS:VOLT?),而无对应设置命令(如SOUR:VOLT),则该参数为只读。

  错误响应:若尝试对查询命令(如MEAS:VOLT?)使用设置语法(如MEAS:VOLT 12.0),设备会返回错误(如-400“Parameter Error”),表明该参数不可写。

  4. 完整Python示例(查询只读参数)

  pythonimport pyvisa# 初始化资源管理器rm = pyvisa.ResourceManager()device = rm.open_resource('TCPIP0::192.168.1.100::inst0::INSTR')  # 替换为实际设备地址try:    # 1. 查询输出开关状态(只读)    output_state = device.query('OUTP:STAT?').strip()    print(f"输出开关状态: {'开启' if output_state == '1' else '关闭'}")    # 2. 查询实际输出电压(只读)    voltage = device.query('MEAS:VOLT?').strip()    print(f"实际输出电压: {voltage} V")    # 3. 查询过压保护触发状态(只读)    ovp_triggered = device.query('SOUR:VOLT:PROT:TRIG?').strip()    print(f"过压保护触发状态: {'是' if ovp_triggered == '1' else '否'}")except Exception as e:    print(f"查询失败: {e}")    error_code = device.query('SYST:ERR?').strip()  # 查询系统错误(只读)    print(f"设备错误代码: {error_code}")finally:    device.close()

  5. 关键注意事项

  设备差异:不同厂商(如Keysight、Chroma、ITECH)的SCPI命令可能不同,需严格参考设备手册。

  权限与模式:设备需处于远程控制模式(如SYST:REM ON)才能响应SCPI命令。

  错误处理:若命令返回错误(如-420),表示设备不支持该命令,需检查手册或尝试其他描述。