要使用SCPI指令获取双向直流电源输出电流序列的波形数据,需结合电源支持的序列模式(如
LIST
或
ARB
模式),通过查询序列参数或直接读取波形数据实现。以下是具体步骤和指令示例:
LIST
或
ARB
):
plaintextSOURce:CURRent:MODE? # 返回当前电流模式(如"LIST"表示列表模式)
LIST
或
ARB
,则支持序列编程;否则需切换模式:
plaintextSOURce:CURRent:MODE LIST # 设置为列表模式(示例指令)
plaintextSOURce:CURRent:LIST:SEGMent? # 返回序列步数(如"5"表示5个数据点)
若电源支持逐点查询序列参数,可通过以下指令获取每一步的电流值和时间间隔:
查询第N步的电流值
plaintextSOURce:CURRent:LIST:DATA? # 为步数(如1~5)
示例返回值:
1.0
(表示第1步电流为1.0A)
查询第N步的时间间隔
plaintextSOURce:CURRent:LIST:TIME? # 为步数(若支持)
示例返回值:
0.1
(表示第1步持续时间为0.1s)
重复查询所有步骤
通过循环或批量查询获取完整序列数据:
plaintext# 示例:查询前3步的电流值data1 = QUERY("SOURce:CURRent:LIST:DATA1?")
data2 = QUERY("SOURce:CURRent:LIST:DATA2?")
data3 = QUERY("SOURce:CURRent:LIST:DATA3?")
部分电源支持直接读取当前输出的波形数据(需处于动态输出状态):
设置波形数据格式
plaintextWAVeform:FORMat ASCII # 设置为ASCII格式(或BINARY二进制格式)
读取波形数据
plaintextWAVeform:DATA? # 返回当前波形数据(电流值数组)
示例返回值:
+1.0,+2.0,+1.5,+0.5
(表示4个采样点的电流值)
查询波形采样参数
plaintextACQuire:SRATe? # 返回当前采样率(如"1000"表示1kSa/s)
plaintextWAVeform:POINts? # 返回波形数据点数
plaintext# 1. 确认序列模式并设置步数SOURce:CURRent:MODE LIST
SOURce:CURRent:LIST:SEGMent 5 # 设置5步序列
# 2. 定义序列参数(示例:阶梯波)
SOURce:CURRent:LIST:DATA1 1.0 # 第1步电流=1.0A
SOURce:CURRent:LIST:TIME1 0.1 # 第1步时间=0.1s
SOURce:CURRent:LIST:DATA2 2.0 # 第2步电流=2.0A
SOURce:CURRent:LIST:TIME2 0.1 # 第2步时间=0.1s
# 3. 启动输出并查询波形数据
OUTPut:STATe ON # 启动输出
WAVeform:FORMat ASCII
WAVeform:DATA? # 返回当前波形数据(需电源支持实时读取)
TRIGger:SOURce IMMediate
)。
plaintextSOURce:CURRent:LIST:DATA1 1.0 # 设置第1步电流SOURce:CURRent:LIST:DWELl1 0.1 # 设置第1步持续时间
plaintextSOURce:FUNCtion LIST:CURRent # 设置为电流列表模式SOURce:LIST:CURRent:DATA 1.0,0.1 # 电流值,时间间隔
plaintextPROG:ADVA:CURR:DATA1 1.0,0.1 # 设置第1步电流和时间PROG:ADVA:SEGM 5 # 设置序列步数
通过上述方法,可灵活获取双向直流电源输出电流序列的波形数据,并结合实际需求调整序列参数或采样设置。