资讯中心

联系我们

深圳市维立信电子科技有限公司
地址:深圳市福田区红荔路第一世界广场A座8D-E
咨询电话:0755-83766766
E-mail:info@welissom.com

如何通过SCPI命令查询Keysight双向直流电源输出电压过冲时间与负载类型的关系?

2026-05-18 09:43:56  点击:

  SCPI 实测:Keysight 双向电源 输出电压过冲时间 ↔ 负载类型 关系

  核心结论

  无原生 SCPI 直读过冲时间、无负载类型关联查询指令

  测试逻辑:SCPI 程控切换三类典型负载 → 高速采集电压阶跃波形 → 解析提取过冲时长 / 恢复时间 → 建立对应关系

  主流负载类型:纯电阻负载、容性负载、感性负载

  一、负载类型对过冲的影响规律

  电阻负载:响应平顺,过冲小、过冲时间最短

  容性负载:电容储能充放电,电压回弹明显,过冲大、过冲时间大幅拉长

  感性负载:电感电流续流抑制突变,过冲偏小,但振荡拖尾久,恢复时间变长

  二、SCPI 核心程控指令

  1. 仪器通用初始化

  scpi

  *RST

  *CLS

  OUTP ON

  VOLT 15.0 ; 固定输出基准电压

  CURR 5.0 ; 限定最大输出电流

  CAL:AUTO OFF ; 关闭自动校准,保证动态响应纯净

  SENS:AUTO OFF

  2. SCPI 模拟 / 配置三类负载(双向电源专用)

  ① 纯电阻负载

  恒定阻性工况,电流跟随电压线性变化

  scpi

  LOAD:TYPE RES ; 设定阻性负载模式

  LOAD:RES 3.0 ; 设置负载电阻值

  ② 容性负载

  模拟电容负载,设置等效电容值

  scpi

  LOAD:TYPE CAP

  LOAD:CAP 100e-6 ; 100μF 等效容性负载

  ③ 感性负载

  模拟电感负载,设置等效电感值

  scpi

  LOAD:TYPE IND

  LOAD:IND 10e-3 ; 10mH 等效感性负载

  无内置负载模式机型:通过外接电子负载SCPI 同步程控切换负载类型

  3. 高速波形采集(抓取过冲时序)

  scpi

  SENS:VOLT:SAMP 5000

  SENS:VOLT:SRAT 1000000 ; 1MS/s 采样,精准抓取微秒级过冲

  TRIG:SOUR IMM

  INIT

  FETC:VOLT:ARR? ; 读取完整电压瞬态波形

  4. 阶跃触发(激发电压过冲)

  scpi

  VOLT 12.0

  *WAI

  VOLT 15.0 ; 电压阶跃爬升,产生过冲

  5. 辅助查询指令

  scpi

  LOAD:TYPE? ; 查询当前负载类型

  MEAS:VOLT:MAX? ; 查询过冲峰值电压

  MEAS:CURR? ; 读取负载实际电流

  三、标准化测试流程

  固定输出电压、环路带宽、环境温度,仅切换负载类型单一变量

  依次切换:电阻→容性→感性,设置同等等效负载功率

  每组负载下执行电压阶跃,SCPI 采集瞬态波形

  上位机算法提取:峰值过冲、过冲持续时间、电压恢复时间

  汇总数据,形成「负载类型 - 过冲时间」对应数据表

  判定标准

  过冲区间:稳态电压 ±1% 以外区间

  过冲时间:电压超出阈值的持续时长

  恢复时间:回归稳态 0.1% 误差带的总时长

  四、Python+SCPI 自动化测试脚本

  python

  运行

  import pyvisa

  import numpy as np

  rm = pyvisa.ResourceManager()

  inst = rm.open_resource("TCPIP0::仪器IP::inst0::INSTR")

  inst.timeout = 25000

  # 基础配置

  V_SET = 15.0

  TOL_OVER = 0.01 # 1%过冲阈值

  TOL_SETTLE = 0.001 # 0.1%恢复阈值

  # 负载测试序列

  load_cfg = [

  ("RES", "阻性负载"),

  ("CAP", "容性负载"),

  ("IND", "感性负载")

  ]

  # 仪器初始化

  inst.write("*RST")

  inst.write("OUTP ON")

  inst.write(f"VOLT {V_SET}")

  inst.write("CAL:AUTO OFF")

  print("负载类型t过冲幅度(V)t过冲时间(μs)t恢复时间(μs)")

  print("-"*60)

  for load_code, load_name in load_cfg:

  # 切换负载类型

  inst.write(f"LOAD:TYPE {load_code}")

  inst.write("*WAI")

  # 电压阶跃激发过冲

  inst.write("VOLT 12.0")

  inst.write("*WAI")

  inst.write(f"VOLT {V_SET}")

  # 配置采样并采集波形

  inst.write("SENS:VOLT:SAMP 5000")

  inst.write("SENS:VOLT:SRAT 1000000")

  inst.write("INIT")

  wave_data = inst.query("FETC:VOLT:ARR?")

  volt_arr = np.array([float(v) for v in wave_data.split(",")])

  time_arr = np.arange(len(volt_arr)) * 1 # 单位μs

  # 数据计算

  v_steady = np.mean(volt_arr[-800:])

  v_peak = np.max(volt_arr)

  over_amp = v_peak - v_steady

  # 计算过冲时间

  over_flag = volt_arr > v_steady*(1+TOL_OVER)

  over_time = time_arr[over_flag][-1] - time_arr[over_flag][0] if np.any(over_flag) else 0

  # 计算恢复时间

  settle_flag = np.abs(volt_arr-v_steady) <= v_steady*TOL_SETTLE

  settle_idx = next((i for i in range(len(settle_flag)) if all(settle_flag[i:])), len(settle_flag)-1)

  settle_time = time_arr[settle_idx]

  print(f"{load_name}t{over_amp:.3f}tt{over_time:.1f}tt{settle_time:.1f}")

  inst.write("OUTP OFF")

  inst.close()

  五、实测典型数据关系

  表格

  

  六、常用 SCPI 复位终止指令

  scpi

  ABORT ; 终止波形采集

  LOAD:TYPE RES ; 恢复默认阻性负载

  *RST ; 仪器参数全复位

  OUTP OFF ; 关闭输出

  七、关键注意事项

  双向电源源模式 / 灌模式下,同类型负载过冲特性存在差异,需分开测试

  容性负载容量越大、感性负载电感量越大,过冲时间延长越明显

  测试时统一负载等效功率,避免负载功率不一致影响实验结论

  无内置负载切换的电源,搭配可编程电子负载,双设备 SCPI 联动程控