资讯中心

联系我们

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

如何通过SCPI查询Keysight双向直流电源输出限制历史记录的频率?

2026-06-04 09:32:44  点击:

  Keysight N79xx/N89xx/N6705C ELOG 限值 (LIM) 记录频率 SCPI 查询方案

  分两类:①LIM 限值触发防抖动间隔(硬件防重复记录周期,SCPI 可直查);②历史日志统计频次(用 ELOG 时间戳人工计算触发频率),多通道加CHx:前缀。

  一、查询 LIM 限值防重复记录间隔(仪器配置的最小记录周期,核心 SCPI)

  限值连续超限不会重复刷屏记日志,由防抖动延时控制两次 LIM 记录最小间隔,决定 LIM 理论最大记录频率:

  scpi

  :ELOG:TRIG:LIM:DELAy?

  返回单位:秒 (s),例返回0.5= 最小间隔 0.5s → 理论最高记录频率 = 1/0.5=2Hz

  多通道机型 (N6705B/C):

  scpi

  :CH1:ELOG:TRIG:LIM:DELAy?

  说明:此参数是仪器配置值,固定采样巡检周期硬件固化约 100ms,不可修改,仅防抖延时可编程。

  二、查询 LIM 触发边沿配置(辅助判断有效记录条件)

  scpi

  :ELOG:TRIG:LIM:SLOPe?

  返回POS(上升沿超限)/NEG(下降沿超限)/BOTH双边触发,仅边沿跳变 + 保持超过 DELAy 才写入 ELOG。

  三、批量读取全部 LIM 历史记录、计算实际触发频率(最常用)

  步骤 1:获取 ELOG 总条数

  scpi

  :ELOG:COUNt?

  步骤 2:导出全量 ELOG 数据,筛选 VLIM/ILIM 条目

  scpi

  :ELOG:DATA? 1.LAST

  返回格式:序号,Unix时间戳,通道,事件码,事件描述,V,I 事件码 = VLIM/ILIM 即为限值触发记录,提取所有 LIM 记录的 Unix 时间戳。

  步骤 3:频率计算公式

  触发频率总条数末次时间戳首次时间戳

  示例:LIM 共 50 条,首尾时间差 25s → 50/25=2Hz

  四、单独读取单条 LIM 事件(快速抽查时间间隔)

  scpi

  :ELOG:DATA:EVENt? n //n为索引

  只返回事件类型,配合ELOG:DATA? n拿时间戳,计算相邻 LIM 时间差。

  五、配套辅助查询指令

  限值触发开关::ELOG:TRIG:LIM? → 1 启用限值记录,0 关闭

  LIM 电压 / 电流触发阈值:

  scpi

  :ELOG:TRIG:LIM:VOLT?

  :ELOG:TRIG:LIM:CURR?

  六、Python 自动统计 LIM 触发频率(可直接运行)

  python

  运行

  import pyvisa,time

  rm=pyvisa.ResourceManager()

  inst=rm.open_resource("TCPIP::电源IP::5025::SOCKET")

  #1.读取防抖间隔

  delay=float(inst.query(":ELOG:TRIG:LIM:DELAy?"))

  max_freq=1/delay

  print("LIM最小记录间隔(s):",delay,"理论最高频率(Hz):",max_freq)

  #2.筛选全部LIM日志

  cnt=int(inst.query(":ELOG:COUN?"))

  if cnt==0:

  print("无ELOG记录")

  else:

  raw=inst.query(":ELOG:DATA? 1.LAST").split(",")

  lim_ts=[]

  for i in range(0.len(raw),7):#7字段一组

  evt=raw[i+3]

  ts=int(raw[i+1])

  if evt in ["VLIM","ILIM"]:

  lim_ts.append(ts)

  if len(lim_ts)>=2:

  span=lim_ts[-1]-lim_ts[0]

  freq=len(lim_ts)/span

  print(f"实际LIM触发频率:{freq:.3f} Hz,总LIM条数:{len(lim_ts)}")