要使用SCPI指令设置双向直流电源输出电流序列的起始值,需结合序列模式(List Mode)的配置指令,通过定义序列点参数实现。以下是具体步骤和示例:
plaintextSOURce:LIST:COUNt <N>
<N>为序列点总数(如3表示3个点)。plaintextSOURce:LIST:CURRent:DATA<n> <I_n>, <T_n>
<n>为序列点序号(从1开始,如DATA1表示第1点)。<I_n>为当前点的电流值(单位:A,如-10表示-10A)。<T_n>为当前点的持续时间(单位:秒或电源支持的单位,如2表示2秒)。plaintextSOURce:LIST:CURRent:DATA1 -5, 2 // 第1点:-5A,持续2秒SOURce:LIST:CURRent:DATA2 0, 1 // 第2点:0A,持续1秒
plaintextSOURce:LIST:FUNCtion ON
plaintextSOURce:LIST:CYCLe OFF
初始化与复位
plaintextSYSTem:REMote // 进入远程模式*RST // 复位设备(可选)
配置序列参数
plaintextSOURce: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秒
启用序列模式
plaintextSOURce:LIST:FUNCtion ON
启动输出
plaintextOUTPut:STATe ON // 开启输出,电源将按序列输出电流
SOURce:LIST:CURRent直接定义序列点:plaintextSOURce:LIST:CURRent -5, 0, 10 // 3个点的电流值(需结合时间参数)
plaintextSOURce:LIST:GOTO 2 // 跳转到第2点
plaintextLIST:CURR:DATA1 -5, 2000 // 2000=200ms
plaintextLIST:JUMP:INDEx 2 // 跳转到第2点
PROG:LIST:CURR:DATA定义序列点:plaintextPROG:LIST:CURR:DATA1 -5, 2 // 第1点:-5A,2秒
查询当前序列点索引
plaintextSOURce:LIST:INDEx?
1表示第1点)。查询序列点参数
plaintextSOURce:LIST:CURRent:DATA1? // 查询第1点的电流值与时间
错误处理
plaintextSYSTem:ERRor?
-400 Parameter Error:参数超出范围(如电流值超过电源规格)。-107 No Sequence Active:序列未启用时查询状态。pythonimport pyvisaimport timerm = pyvisa.ResourceManager()power = rm.open_resource("TCPIP0::192.168.1.100::inst0::INSTR")# 配置序列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}") # 应输出: 当前序列点: 1power.close()
SOURce:LIST:COUNt?返回的总点数。-5A)。