在双向直流电源的序列(List)模式下,若需通过SCPI指令控制输出电压与电流的比值(即动态调整电压和电流的相对变化关系),需结合序列步进参数设置和斜率控制功能(若电源支持)。以下是具体方法及示例:
一、核心思路
序列模式基础:在List模式下,电源按预设的序列点(Step)依次输出电压/电流值,每个点可定义目标值、保持时间等参数。
比值控制逻辑:通过调整相邻序列点的电压和电流值,间接控制它们的比值(如电压/电流 = 阻抗)。若需动态变化,需在序列中逐步修改电压和电流值。
斜率控制(可选):若电源支持斜率(Slew Rate)设置,可直接控制电压或电流的变化速率,从而影响比值的变化过程。
二、具体步骤与指令
1. 进入序列模式并配置参数
plaintextSOURce:LIST:MODE VOLTage ; 设置为电压序列模式(或CURRent模式)SOURce:LIST:COUNt 3 ; 定义序列总点数为3
2. 设置序列点参数(以电压序列为例)
第1点:设置初始电压和电流值(比值=5V/1A=5Ω):
plaintextPROG:LIST:VOLTage:DATA1 5.0 ; 第1点电压为5VPROG:LIST:CURRent:DATA1 1.0 ; 第1点电流为1A(需确保与电压匹配,避免触发保护)
PROG:LIST:DWELl1 1.0 ; 第1点保持时间为1秒
第2点:修改电压和电流值(比值=10V/2A=5Ω,保持比值不变):
plaintextPROG:LIST:VOLTage:DATA2 10.0 ; 第2点电压为10VPROG:LIST:CURRent:DATA2 2.0 ; 第2点电流为2A
PROG:LIST:DWELl2 1.0 ; 第2点保持时间为1秒
第3点:调整比值(如改为10V/1A=10Ω):
plaintextPROG:LIST:VOLTage:DATA3 10.0 ; 第3点电压为10VPROG:LIST:CURRent:DATA3 1.0 ; 第3点电流为1A
PROG:LIST:DWELl3 1.0 ; 第3点保持时间为1秒
3. 启用斜率控制(若电源支持)
设置电压斜率(控制电压变化速率):
plaintextSOURce:VOLTage:SLEW 5.0 ; 设置电压斜率为5V/s(根据需求调整)
设置电流斜率(控制电流变化速率):
plaintextSOURce:CURRent:SLEW 2.0 ; 设置电流斜率为2A/s
4. 启动序列输出
plaintextSOURce:LIST:FUNCtion ON ; 启用序列模式OUTPut ON ; 开启输出
三、厂商差异与指令扩展
Keysight N6700系列:
可能需通过SOURce:LIST:STEP:TIME设置步进时间(替代DWELl)。
示例:
plaintextSOURce:LIST:STEP:TIME1 0.1 ; 第1步步进时间为0.1秒
ITECH IT6000系列:
使用LIST:ADVance:COUNter查询当前步序号。
示例:
plaintextLIST:ADVance:COUNter? ; 查询当前步序号
斜率控制替代方案:
若电源不支持斜率指令,可通过缩短DWELl时间(如0.01秒)和增加序列点数模拟斜率效果。
四、完整Python脚本示例(PyVISA)
pythonimport pyvisa# 连接电源rm = pyvisa.ResourceManager()power_supply = rm.open_resource("TCPIP0::192.168.1.100::inst0::INSTR") # 替换为实际地址# 配置序列模式power_supply.write("SOURce:LIST:MODE VOLTage")power_supply.write("SOURce:LIST:COUNt 3")# 设置序列点参数power_supply.write("PROG:LIST:VOLTage:DATA1 5.0")power_supply.write("PROG:LIST:CURRent:DATA1 1.0")power_supply.write("PROG:LIST:DWELl1 1.0")power_supply.write("PROG:LIST:VOLTage:DATA2 10.0")power_supply.write("PROG:LIST:CURRent:DATA2 2.0")power_supply.write("PROG:LIST:DWELl2 1.0")power_supply.write("PROG:LIST:VOLTage:DATA3 10.0")power_supply.write("PROG:LIST:CURRent:DATA3 1.0")power_supply.write("PROG:LIST:DWELl3 1.0")# 启用序列模式并开启输出power_supply.write("SOURce:LIST:FUNCtion ON")power_supply.write("OUTPut ON")# 关闭连接power_supply.close()
五、注意事项
指令兼容性:不同型号电源的SCPI指令可能不同,需参考具体设备手册。
比值合理性:确保电压/电流比值在电源和负载的允许范围内,避免触发保护。
实时性:部分电源的指令执行可能存在延迟,需通过查询状态(如SOURce:LIST:STATe?)确认序列运行情况。
权限控制:确保设备处于远程模式(SYSTem:REMote)且未被其他程序锁定。