资讯中心

联系我们

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

如何用SCPI指令获取双向直流电源测量值?

2025-12-29 10:52:47  点击:

使用SCPI指令获取双向直流电源的测量值(如电压、电流、功率等)需通过查询(Query)指令实现,具体步骤如下:


一、核心SCPI指令

双向直流电源通常支持以下测量值查询指令:

测量类型SCPI指令说明
电压MEASure:VOLTage[:DC]?查询直流电压(单位:伏特V)
电流MEASure:CURRent[:DC]?查询直流电流(单位:安培A)
功率MEASure:POWer[:DC]?查询直流功率(单位:瓦特W)
电阻MEASure:RESistance?查询负载电阻(单位:欧姆Ω)
多参数查询MEASure:SCALar:ALL?一次性查询所有标量测量值(电压、电流、功率等)

二、分步操作流程

1. 连接设备并确认通信

确保电源已通过GPIB、RS-232、LAN或USB连接至控制器(如PC),并确认SCPI通信正常。例如:

pythonimport pyvisarm = pyvisa.ResourceManager()power_supply = rm.open_resource("TCPIP0::192.168.1.100::inst0::INSTR")  # 示例:LAN连接power_supply.query("*IDN?")  # 查询设备标识,验证通信

2. 查询单个测量值

  • 查询电压

    scpiMEAS:VOLT:DC?

    示例响应:+12.34567890(单位:V)

  • 查询电流

    scpiMEAS:CURR:DC?

    示例响应:-1.23456789(单位:A,负值表示反向电流)

  • 查询功率

    scpiMEAS:POW:DC?

    示例响应:-15.23456789(单位:W,负值表示电源吸收功率)

3. 查询多参数(一次性获取所有值)

scpiMEAS:SCAL:ALL?

示例响应:+12.34567890,-1.23456789,-15.23456789
(格式:电压,电流,功率)

4. 设置测量参数(可选)

部分电源支持配置测量范围或分辨率:

scpiSENS:VOLT:DC:RANG 20       ; 设置电压量程为20VSENS:CURR:DC:RES 0.001     ; 设置电流分辨率为1mA

三、完整代码示例(Python + PyVISA)

pythonimport pyvisa# 1. 连接设备rm = pyvisa.ResourceManager()power_supply = rm.open_resource("TCPIP0::192.168.1.100::inst0::INSTR")# 2. 查询单个测量值voltage = power_supply.query("MEAS:VOLT:DC?")current = power_supply.query("MEAS:CURR:DC?")power = power_supply.query("MEAS:POW:DC?")print(f"电压: {voltage.strip()} V")print(f"电流: {current.strip()} A")print(f"功率: {power.strip()} W")# 3. 查询多参数(一次性获取)all_values = power_supply.query("MEAS:SCAL:ALL?")v, i, p = all_values.split(',')print(f"多参数查询 - 电压: {v} V, 电流: {i} A, 功率: {p} W")# 4. 关闭连接power_supply.close()

四、注意事项

  1. 单位确认
    • 默认单位为伏特(V)、安培(A)、瓦特(W),但部分设备可能支持切换单位(如mVmA),需查阅手册。
  2. 双向电流处理
    • 反向电流会返回负值(如-1.23A),需在代码中正确处理符号。
  3. 错误处理
    • 若查询返回错误(如-400Invalid Query),检查:
      • 指令拼写是否正确(如MEAS:VOLT? vs MEAS:VOLT:DC?)。
      • 设备是否支持该测量功能(如低端电源可能无功率测量)。
  4. 实时性优化
    • 频繁查询时,可启用触发测量(如INITiate:CONT OFF + TRIGger:SOUR IMM)减少延迟。
  5. 多通道设备
    • 若电源有多个通道(如CH1、CH2),需在指令中指定通道:
      scpiMEAS:VOLT:DC? (@1)       ; 查询通道1电压MEAS:CURR:DC? (@2)       ; 查询通道2电流

五、常见设备指令对比

品牌电压查询指令电流查询指令多参数查询指令
KeysightMEAS:VOLT:DC?MEAS:CURR:DC?MEAS:SCAL:ALL?
ITECHMEAS:VOLT?MEAS:CURR?MEAS:MULT?
ChromaMEAS:VOLT:DC?MEAS:CURR:DC?FETCH:SCAL?
RigolMEAS:VOLT?MEAS:CURR?MEAS:ALL?

关键点:优先测试标准指令(如MEAS:VOLT:DC?),若不支持再查阅设备手册的专用指令。