要通过SCPI指令设置双向直流电源的序列步进顺序,需结合电源的编程手册,使用PROG:LIST系列指令定义步进参数,并通过触发和循环控制实现序列执行。以下是具体步骤和指令说明:
一、核心指令与功能
双向直流电源的序列步进功能通常通过PROG:LIST(列表编程)指令实现,主要涉及以下指令:
设置步进参数
电压步进:
scpiPROG:LIST:VOLT:DATA#
示例:设置第1步电压为220V,保持5ms:
scpiPROG:LIST:VOLT:DATA1 220.0.50
电流步进(若电源支持):
scpiPROG:LIST:CURR:DATA#
参数含义与电压步进类似,单位为A。
查询步进参数
查询第#步的电压/电流设置:
scpiPROG:LIST:VOLT:DATA#? // 查询电压步进PROG:LIST:CURR:DATA#? // 查询电流步进
示例:查询第1步电压设置:
scpiPROG:LIST:VOLT:DATA1?
控制序列执行
触发模式:
scpiPROG:LIST:TRIG
AUTO:自动连续触发。
MANUAL:单次触发(需外部信号或指令触发)。
循环次数:
scpiPROG:LIST:COUN
示例:循环执行序列3次:
scpiPROG:LIST:COUN 3
启动序列:
scpiOUTP:ON // 启动输出(需确保序列已配置完成)
二、完整操作流程
配置步进参数
设置多步电压序列(例如3步):
scpiPROG:LIST:VOLT:DATA1 10.0.100 // 第1步:10V,保持10msPROG:LIST:VOLT:DATA2 20.0.50 // 第2步:20V,保持5ms
PROG:LIST:VOLT:DATA3 15.0.200 // 第3步:15V,保持20ms
设置触发与循环
自动触发,无限循环:
scpiPROG:LIST:TRIG AUTOPROG:LIST:COUN 0
启动输出
scpiOUTP:ON
三、注意事项
指令兼容性
不同厂商的电源指令可能不同(如Keysight、ITECH、Chroma等),需参考具体手册。例如:
ITECH电源可能使用LIST:VOLT而非PROG:LIST:VOLT。
部分电源支持PROG:WAVE指令实现更复杂的波形序列。
时间单位
保持时间通常以100μs为单位,需根据实际需求换算(如50=5ms)。
错误处理
若指令无效,电源可能返回错误码(如-420表示查询无效)。建议:
检查指令拼写与格式。
通过*STB?或SYST:ERR?查询错误状态。
双向输出支持
若电源支持双向输出(正负电压),需分别设置正负范围的步进参数,并确保负载匹配。
四、示例代码(Python + PyVISA)
pythonimport pyvisa# 连接电源rm = pyvisa.ResourceManager()source = rm.open_resource("TCPIP0::192.168.1.100::inst0::INSTR") # 替换为实际地址# 配置3步电压序列source.write("PROG:LIST:VOLT:DATA1 10.0.100")source.write("PROG:LIST:VOLT:DATA2 20.0.50")source.write("PROG:LIST:VOLT:DATA3 15.0.200")# 设置自动触发,无限循环source.write("PROG:LIST:TRIG AUTO")source.write("PROG:LIST:COUN 0")# 启动输出source.write("OUTP:ON")# 关闭连接source.close()