要实现双向直流电源输出电流序列的渐变效果(即电流平滑过渡),需结合斜坡控制(Ramp)或列表模式(List/Program Mode)的SCPI指令。以下是具体实现方法:
不同品牌的电源可能使用不同指令,但核心逻辑类似:
scpiSOURce:CURRent:MODE RAMP ; 启用斜坡模式SOURce:CURRent:RAMP:RATE 0.5 ; 设置斜坡速率(如0.5 A/s)
scpiSOURce:LIST:CURRent 1, 2, 3 ; 设置电流序列目标值(1A → 2A → 3A)SOURce:LIST:DWELl 1, 1, 1 ; 每步持续时间(秒)
SOURce:LIST:STEP 3 ; 设置总步数
SOURce:LIST:MODE AUTO ; 自动执行列表
INITiate
或
OUTPut:TRIGger
启动渐变输出。
scpiINITiate ; 启动列表输出
scpiSOURce:CURRent:MODE RAMP
scpiSOURce:CURRent:RAMP:RATE 0.5 ; 电流变化速率0.5 A/s
scpiSOURce:CURRent:LEVel:IMMediate 2.0 ; 设置目标电流(如2A)OUTPut ON ; 开启输出
scpiSOURce:FUNCtion:MODE LIST
scpiSOURce:LIST:CURRent 1, 2, 3 ; 目标电流序列SOURce:LIST:DWELl 2, 3, 2 ; 每步持续时间(秒)
scpiINITiate
部分设备支持直接编程时间-电流对:
scpiSOURce:PROGram:DATA "CURR", 0, 1.0, 1, 2.0, 2, 3.0 ; 时间(s):电流(A) → 0s:1A, 1s:2A, 2s:3ASOURce:PROGram:MODE RUN
pythonimport pyvisarm = pyvisa.ResourceManager()power_supply = rm.open_resource("TCPIP0::192.168.1.100::inst0::INSTR")# 方法1:斜坡模式power_supply.write("SOUR:CURR:MODE RAMP")power_supply.write("SOUR:CURR:RAMP:RATE 0.5") # 0.5 A/spower_supply.write("SOUR:CURR:LEV:IMM 2.0") # 目标电流2Apower_supply.write("OUTP ON")# 方法2:列表模式power_supply.write("SOUR:FUNC:MODE LIST")power_supply.write("SOUR:LIST:CURR 1, 2, 3")power_supply.write("SOUR:LIST:DWEL 2, 3, 2")power_supply.write("INIT")power_supply.close()
LIST
,ITECH可能用
PROG
)。
DWELl 0.001
)。
MEASure:CURRent?
轮询电流值,验证渐变过程。
-400
(查询错误),检查指令拼写或参数范围。
| 品牌 | 斜坡模式指令 | 列表模式指令示例 |
|---|---|---|
| Keysight |
SOUR:CURR:RAMP:RATE 0.5
|
SOUR:LIST:CURR 1,2; DWEL 1,1
|
| ITECH |
PROG:RAMP:CURR 0.5
|
PROG:LIST:CURR 1,2,3; TIME 1,2,3
|
| Chroma |
CURR:RAMP:RATE 0.5
|
LIST:CURR 1,2; LIST:TIME 1,2
|
关键点:优先测试
RAMP:RATE
或
LIST
模式,若不支持则需通过编程模式(如
PROG:DATA
)模拟渐变。