要使用SCPI指令查询双向直流电源当前的实际输出电流,需通过设备支持的电流测量查询指令(通常位于
MEASure
或
SENSe
子系统下)。以下是详细步骤和示例:
MEASure:CURRent?
(直接查询当前电流)
SENSe:CURRent:MEASure?
(传感器测量电流)
FETCh:CURRent?
(获取缓存的电流值)
SENS:FUNC "CURR"
)。
MEASure
、
SENSe
或
FETCh
子系统中,例如:
MEASure:CURRent?
(通用指令)
SENSe:CURRent:DC?
(查询直流电流)
scpiMEASure:CURRent? ; 查询当前输出电流(最常用)
或(若设备支持):
scpiSENSe:CURRent:DC? ; 查询直流电流FETCh:CURRent? ; 获取缓存的电流值
+1.2345E+00
),表示当前电流值(单位为安培A)。
MEAS:CURR? (@1)
查询通道1的电流)。
以下示例使用Python的
PyVISA
库查询电流,并处理返回值:
pythonimport pyvisa# 1. 创建资源管理器并连接设备rm = pyvisa.ResourceManager()# 根据实际连接方式修改地址(如GPIB、USB、TCPIP)source = rm.open_resource('TCPIP0::192.168.1.100::inst0::INSTR') try: # 2. 发送查询指令 current_value = source.query('MEASure:CURRent?') # 查询电流 # 3. 处理返回值(去除末尾换行符并转换为浮点数) current = float(current_value.strip()) print(f"当前输出电流: {current:.4f} A")except Exception as e: print(f"发生错误: {e}")finally: # 4. 关闭连接 source.close()
MEAS:CURR:UNIT mA?
,但多数设备不支持此扩展)。
MEAS:CURR? (@2)
查询通道2的电流)。
-999
)。建议添加错误检查逻辑:
pythonif current <-100 or current > 100: # 假设合理范围为-100A到100A print("警告:返回值异常,请检查设备状态!")
INITiate
和
FETCh
指令实现连续测量(需设备支持):
scpiINITiate:CONTinuous ON ; 启动连续测量FETCh:CURRent? ; 获取最新测量值
| 设备品牌 | 典型查询指令 | 备注 |
|---|---|---|
| Keysight |
MEAS:CURR?
|
通用指令,支持多通道 |
| ITECH |
MEAS:CURR:DC?
|
需先设置
SENS:FUNC "CURR"
|
| Chroma |
FETCh:CURRent?
|
需先启动测量(
INIT:CONT ON
)
|
| Rigol |
MEAS:VOLT?
(错误示例)
|
需确认手册,部分型号指令不同 |
关键点:始终以设备手册为准,优先测试
MEASure:CURRent?
指令,若不支持再尝试其他变体。