通过SCPI指令配置双向直流电源的序列输出参数,需结合电源的序列编程功能(如PROG、LIST或ADVA等命令族)。以下是详细步骤和示例指令,适用于大多数双向直流电源(如Keysight、Chroma、ITECH等品牌):
scpiPROG:MODE LIST // 选择列表模式(部分电源用LIST或SEQ)PROG:LIST:COUN 5 // 设置序列总步数为5(根据实际需求调整)
关键参数:
VOLT)CURR)RAMP,电压/电流变化时间)DWEL,稳定后保持时间)示例(配置第1步):
scpiPROG:LIST:VOLT 1, 10.0 // 第1步电压设为10.0VPROG:LIST:CURR 1, 1.0 // 第1步电流设为1.0A
PROG:LIST:RAMP 1, 50 // 第1步步进时间50ms
PROG:LIST:DWEL 1, 1000 // 第1步保持时间1000ms
配置第2步:
scpiPROG:LIST:VOLT 2, 20.0 // 第2步电压20.0VPROG:LIST:CURR 2, 2.0 // 第2步电流2.0A
PROG:LIST:RAMP 2, 30 // 第2步步进时间30ms
PROG:LIST:DWEL 2, 500 // 第2步保持时间500ms
批量配置(部分电源支持):
scpiPROG:LIST:DATA "10.0,1.0,50,1000;20.0,2.0,30,500" // 一次性设置多步(格式:VOLT,CURR,RAMP,DWEL)
scpiPROG:LIST:RUN // 启动序列(部分电源用INIT或TRIG)
scpiPROG:LIST:ABOR // 立即停止序列
pythonimport pyvisa# 连接电源rm = pyvisa.ResourceManager()source = rm.open_resource("TCPIP0::192.168.1.100::inst0::INSTR")# 配置序列参数steps = [ (10.0, 1.0, 50, 1000), # 第1步:10V, 1A, 50ms步进, 1s保持 (20.0, 2.0, 30, 500), # 第2步:20V, 2A, 30ms步进, 0.5s保持 (15.0, 1.5, 20, 800) # 第3步:15V, 1.5A, 20ms步进, 0.8s保持]# 进入序列模式并设置步数source.write("PROG:MODE LIST")source.write(f"PROG:LIST:COUN {len(steps)}")# 配置每一步参数for i, (volt, curr, ramp, dwell) in enumerate(steps, start=1): source.write(f"PROG:LIST:VOLT {i}, {volt}") source.write(f"PROG:LIST:CURR {i}, {curr}") source.write(f"PROG:LIST:RAMP {i}, {ramp}") source.write(f"PROG:LIST:DWEL {i}, {dwell}")# 启动序列source.write("PROG:LIST:RUN")print("序列已启动,按任意键停止...")input()# 停止序列source.write("PROG:LIST:ABOR")source.close()
-400 Query Error)PROG:MODE LIST)。PROG:LIST:COUN?查询最大步数)。OUTP:STAT OFF)。TRIG:SOUR BUS表示通过SCPI触发)。VOLT:PROT和CURR:PROT)。RAMP和DWEL参数单位正确(通常为ms或s)。循环序列
scpiPROG:LIST:LOOP 3 // 循环执行序列3次
外部触发
scpiTRIG:SOUR EXT // 设置触发源为外部信号TRIG:SLOP POS // 上升沿触发
查询序列状态
scpiPROG:LIST:STAT? // 返回序列运行状态(如"RUNNING"或"IDLE")
LIST模式,指令类似上述示例。SEQ模式,如SEQ:COUN、SEQ:VOLT等。LIST和PULSE模式,需通过LIST:STEP配置每一步。建议:始终以电源的编程手册为准,不同型号可能存在指令差异。