要使用SCPI指令查询双向直流电源的输出电压过冲量,需结合电压测量、触发控制和数据处理指令,通过以下步骤实现自动化测试:
输出电压过冲量指电源开通/关闭时,输出电压瞬时超出稳定值的幅度(如从0V突升至52V,稳定值为48V,则过冲量为4V)。测试需通过示波器或电源内置测量功能捕捉瞬态波形,并计算过冲值。
scpiSOUR:VOLT 48 ; 设置输出电压为48V
scpiTRIG:SOUR EXT ; 触发源为外部信号TRIG:SLOP POS ; 上升沿触发
若电源支持示波器功能(如内置波形记录):
scpiACQ:TYPE SINGle ; 单次采集模式ACQ:STATE RUN ; 启动采集
scpiWAV:POIN? ; 查询波形数据点数
scpiWAV:DATA? ; 查询波形数据(二进制或ASCII格式)
示例返回数据:
1,2,3,...,52,48,48,...
(单位:V)
pythonstable_voltage = 48 # 稳定电压值overshoot_voltage = max(waveform_data) # 最大电压值overshoot = overshoot_voltage - stable_voltage # 过冲量
pythonimport pyvisarm = pyvisa.ResourceManager()power_supply = rm.open_resource("TCPIP0::192.168.1.100::inst0::INSTR") # 电源IP地址# 配置电源power_supply.write("SOUR:VOLT 48")power_supply.write("TRIG:SOUR EXT")power_supply.write("TRIG:SLOP POS")# 启动采集并获取数据power_supply.write("ACQ:TYPE SINGle")power_supply.write("ACQ:STATE RUN")waveform_data = power_supply.query_ascii_values("WAV:DATA?") # 假设返回ASCII格式数据# 计算过冲量stable_voltage = 48overshoot_voltage = max(waveform_data)overshoot = overshoot_voltage - stable_voltageprint(f"输出电压过冲量: {overshoot:.2f}V")
若电源仅支持瞬态测量(如峰值电压查询),可直接通过以下指令获取过冲量:
scpiMEAS:VOLT:PEAK? ; 查询电压峰值
示例流程:
scpipeak_voltage = float(power_supply.query("MEAS:VOLT:PEAK?"))overshoot = peak_voltage - 48 # 稳定电压值
WAV:FORMat
(如
WORD
)和
WAV:BYTeorder
(如
LSBFirst
)解析数据。
SOUR:VOLT:PROT 55
)防止设备损坏。