要使用SCPI指令查询双向直流电源输出电流序列的当前状态,需结合序列模式(List Mode)的相关指令,通过查询当前执行的序列点索引或状态寄存器来实现。以下是具体步骤和指令说明:
查询当前序列点索引:
SOURce:LIST:INDEx?+1(表示当前执行到第1个序列点)。查询序列点参数:
SOURce:LIST:CURRent:DATA<n>?(<n>为序列点序号)SOURce:LIST:CURRent:DATA1?(查询第1点的电流值与时间)。查询序列状态(部分型号支持):
STATus:OPERation:EVENt? 或 STATus:QUEStionable:EVENt?+0(无错误)或错误代码(如-400表示参数错误)。初始化与复位:
SYSTem:REMote:进入远程模式。*RST:复位设备(可选)。配置序列参数:
SOURce:LIST:COUNt 3:设置序列包含3个点。SOURce:LIST:CURRent:DATA1 -5, 2:第1点电流-5A,持续2秒。SOURce:LIST:CURRent:DATA2 0, 1:第2点电流0A,持续1秒。SOURce:LIST:CURRent:DATA3 10, 3:第3点电流10A,持续3秒。启用序列模式:
SOURce:LIST:FUNCtion ON:激活序列功能。启动输出:
OUTPut:STATe ON:开启输出,电源将按序列输出电流。查询当前状态:
SOURce:LIST:INDEx?:查询当前执行的序列点序号。SOURce:LIST:CURRent:DATA<n>?:查询指定序列点的参数(如SOURce:LIST:CURRent:DATA1?)。STATus:OPERation:EVENt?:查询操作状态寄存器(判断序列是否正常运行)。Keysight N6700系列:
SOURce:LIST:CURRent直接定义序列点,如SOURce:LIST:CURRent -5, 0, 10(需结合时间参数)。SOURce:LIST:GOTO 2(跳转到第2点)。ITECH IT6000系列:
LIST:CURR:DATA1 -5, 2000(2000=200ms)。LIST:JUMP:INDEx 2(跳转到第2点)。Chroma 62000P系列:
PROG:LIST:CURR:DATA定义序列点,如PROG:LIST:CURR:DATA1 -5, 2(第1点-5A,2秒)。错误处理:
SYSTem:ERRor?。-400(参数超出范围)、-107(序列未启用时查询状态)。自动化脚本示例(Python):
pythonimport pyvisarm = pyvisa.ResourceManager()power = rm.open_resource("TCPIP0::192.168.1.100::inst0::INSTR") # 替换为实际IP地址# 配置序列power.write("SYST:REM")power.write("SOUR:LIST:COUN 3")power.write("SOUR:LIST:CURR:DATA1 -5, 2")power.write("SOUR:LIST:CURR:DATA2 0, 1")power.write("SOUR:LIST:CURR:DATA3 10, 3")power.write("SOUR:LIST:FUNC ON")# 启动输出power.write("OUTP ON")# 查询当前状态current_index = int(power.query("SOUR:LIST:INDEx?"))print(f"当前序列点: {current_index}")# 查询第1点参数data1 = power.query("SOUR:LIST:CURR:DATA1?")print(f"第1点参数: {data1.strip()}")power.close()