要使用SCPI指令设置双向直流电源输出电流序列的起始值,需结合电源的动态模式(如
LIST、ARB或DYN模式)
或序列编程功能,通过指定序列的第一个数据点来实现。以下是详细步骤和示例:
查询支持的输出模式
通过以下指令确认电源是否支持序列模式(如
LIST
或
ARB
):
plaintextSOURce:FUNCtion? # 查询当前输出功能(如"CURR"表示电流模式)SOURce:CURRent:MODE? # 查询电流模式(如"LIST"表示列表模式)
若返回LIST或ARB
,则支持序列编程;否则需参考手册切换模式。
切换至序列模式(若未激活)
plaintextSOURce:CURRent:MODE LIST # 设置为列表模式(示例指令)
若电源支持通过
DATA
指令逐点设置序列,直接定义第一个数据点为起始值:
plaintext# 设置序列的第一个数据点(电流值=1.0A,持续时间=0.1s)SOURce:CURRent:LIST:DATA1 1.0, 0.1
# 或简化为(部分电源支持):
SOURce:CURRent:LIST:VALue 1.0 # 仅设置电流值(时间间隔可能需单独设置)
若电源支持批量加载序列数据(如通过数组或文件):
plaintext# 示例:通过数组设置序列(部分电源支持)SOURce:CURRent:LIST:DATA {1.0, 2.0, 3.0} # 设置序列值(时间间隔需另设)
SOURce:CURRent:LIST:TIME {0.1, 0.1, 0.1} # 设置每步持续时间
若电源支持任意波形模式,可通过波形定义工具生成序列后加载:
plaintext# 示例:定义波形并设置起始点(需配合上位机软件)SOURce:CURRent:ARB:DATA "WAVE_NAME" # 加载预定义的波形
SOURce:CURRent:ARB:STARt 0 # 从波形起点开始(索引0)
查询序列的第一个数据点
plaintext# 查询第一个数据点的电流值SOURce:CURRent:LIST:DATA1?
# 查询第一个数据点的时间间隔
SOURce:CURRent:LIST:TIME1?
返回值示例:
1.0
(电流值)
0.1
(时间间隔)
查询整个序列(可选)
plaintextSOURce:CURRent:LIST:DATA? # 查询所有序列数据(部分电源支持)
plaintext# 1. 进入电流模式并设置为列表模式SOURce:FUNCtion CURRent
SOURce:CURRent:MODE LIST
# 2. 设置序列的第一个数据点(电流=1.0A,持续时间=0.1s)
SOURce:CURRent:LIST:DATA1 1.0, 0.1
# 3. 可选:设置后续数据点(如第二步电流=2.0A,持续时间=0.1s)
SOURce:CURRent:LIST:DATA2 2.0, 0.1
# 4. 查询验证
data1 = QUERY("SOURce:CURRent:LIST:DATA1?")
time1 = QUERY("SOURce:CURRent:LIST:TIME1?")
print(f"起始电流: {data1} A, 持续时间: {time1} s")
SOURce:CURRent:LIST:SIZE?
确认最大支持步数。
INITiate
或
TRIGger
指令启动序列输出:
plaintextINITiate:CONT ON # 连续输出序列TRIGger:SOURce IMMediate # 立即触发输出
plaintext# 设置电流序列起始值SOURce:CURRent:LIST:VALue 1.0 # 设置电流值
SOURce:CURRent:LIST:DWELl 0.1 # 设置持续时间
plaintext# 进入列表模式并设置起始值SYSTem:REMote
SOURce:FUNCtion LIST:CURRent
SOURce:LIST:CURRent:DATA 1.0, 0.1 # 电流值,持续时间
plaintext# 设置序列起始点SOURce:CURRent:MODE LIST
SOURce:CURRent:LIST:POINT1:VALue 1.0
SOURce:CURRent:LIST:POINT1:TIME 0.1
通过以上方法,可灵活设置双向直流电源输出电流序列的起始值,并验证设置结果。