资讯中心

联系我们

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

如何通过SCPI指令查询双向直流电源序列延时时间?

2026-02-27 10:05:59  点击:

  针对 Agilent/Keysight 双向直流电源(如 N6700/N7900 系列),“序列延时时间”在 SCPI 语境下通常指 “序列步进之间的驻留时间(Dwell Time)”,即每个电压/电流点保持的时间。请注意:在 Keysight 电源的 List 模式中,没有名为 LIST:DELay的通用指令(该指令通常存在于信号源中),查询延时时间必须使用 LIST:DWELl 命令。

  1. 核心查询指令:获取驻留时间(Dwell Time)

  2. 指令详解与常见误区

  为什么是 DWELl而不是 DELay?

  LIST:DWELl(驻留):指序列模式(List Mode)中,输出停留在某个设定值上的持续时间。这是你通常想查询的“步进延时”。

  OUTP:DEL:RISE/FALL(延迟):指通道开关的延迟(Turn-on/Turn-off Delay),用于多通道上电/下电排序,与序列内部步进无关。

  TRIGger:DELay:指接收到触发信号后到开始动作的触发延迟,通常用于同步外部设备。

  如果你误用了 LIST:DELay?,仪器会报错 -221. "Settings conflict"。

  3. 完整查询流程(Python/PyVISA 示例)

  以下代码演示如何安全地查询并解析序列的延时时间数组:

  import pyvisa

  rm = pyvisa.ResourceManager()

  psu = rm.open_resource('TCPIP0::192.168.1.100::inst0::INSTR') # 替换为你的地址

  # 1. 查询驻留时间列表

  dwell_string = psu.query('SOUR:LIST:DWELl? (@1)').strip()

  # 返回值类似: "0.001.0.002.0.001"

  # 2. 转换为浮点数列表

  dwell_list = [float(x) for x in dwell_string.split(',')]

  print(f"序列延时时间列表 (秒): {dwell_list}")

  # 输出: [0.001. 0.002. 0.001]

  # 3. 查询最小允许值(边界检查)

  min_dwell = float(psu.query('SOUR:LIST:DWELl? MIN, (@1)'))

  print(f"硬件最小驻留时间: {min_dwell} s")

  # 4. 验证设置是否合法(可选)

  if any(t < min_dwell for t in dwell_list):

  print("警告:有步进延时小于硬件极限,实际输出可能被钳位!")

  4. 特殊情况:查询“触发延迟”(Trigger Delay)

  如果你的本意是查询“从收到触发信号到序列开始执行”的延迟(这在 Keysight 电源中不常见,通常默认为 0),指令如下:

  /* 查询触发延迟(通常返回 0) */

  TRIGger:DELay? (@1)