资讯中心

联系我们

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

如何通过SCPI命令查询Keysight双向直流电源比较器的触发历史记录?

2026-05-19 09:37:26  点击:

  Keysight 双向直流电源(N7900/N6700 系列)通过 SCPI 查询比较器触发历史记录 的完整、可直接套用方案(含命令、寄存器、事件日志、查询示例)。先明确:电源没有一条叫 :COMP:TRIG:HIST? 的直接指令,但可以通过 状态寄存器 + 事件日志 + 保护状态 + 错误队列 完整还原比较器(OVP/OCP/ 峰值检测比较器)的触发历史。

  一、先理清:“比较器触发历史” 指什么

  在双向电源里,比较器 = 电压 / 电流峰值检测比较器、OVP/OCP 保护比较器。“触发历史” 包括:

  是否触发过(历史标志)

  最近一次触发时间戳

  触发类型(OVP / OCP / 正峰值 / 负峰值 / 过流 / 反向过流)

  触发时的电压 / 电流值

  触发次数(部分机型支持)

  下面分 寄存器快照、事件日志、保护状态、错误队列、波形追溯 五块给 SCPI。

  二、SCPI:查询比较器触发历史(核心命令,N7900 为主)

  1. 状态寄存器:快速判断 “是否触发过”(最常用)

  所有比较器触发都会锁存在 QUESTIONABLE 状态寄存器,读一次即可知道历史:

  scpi

  ; 1. 可疑条件寄存器(含 OVP/OCP/峰值比较器触发)

  :STAT:QUES:COND? ; 实时状态(当前是否触发)

  :STAT:QUES:EVENT? ; 历史事件(**关键:是否曾经触发过,读一次清零**)

  位定义(N7900):

  Bit 0:OVP 比较器触发

  Bit 1:OCP 比较器触发

  Bit 2:峰值电压比较器触发

  Bit 3:峰值电流比较器触发

  Bit 4:反向 OCP(负电流比较器)触发

  示例返回:5 → 二进制 101 → OVP + 峰值电压比较器都触发过。

  2. 保护事件日志:最近一次触发详情(时间戳 + 类型)

  N7900 有 保护事件缓冲区,SCPI 可直接读最近一次:

  scpi

  ; 2. 保护事件日志(最近一次比较器触发)

  :SOUR:PROT:EVENT? ; 返回:<时间戳>,<事件类型>,<通道>

  事件类型码:

  0:无事件

  1:OVP(电压比较器)

  2:OCP(电流比较器)

  3:正峰值电压比较器

  4:负峰值电压比较器

  5:正峰值电流比较器

  6:负峰值电流比较器

  示例返回:125.3.1.1 → 125.3 秒时,通道 1 OVP 比较器触发。

  3. 触发时的电压 / 电流快照(还原当时工况)

  读事件同时抓取触发瞬间的测量值:

  scpi

  ; 3. 触发瞬间的电压/电流(比较器触发时的阈值点)

  :SOUR:PROT:EVENT:VOLT? ; 触发时电压

  :SOUR:PROT:EVENT:CURR? ; 触发时电流

  4. 错误队列:完整触发历史(含多次触发)

  所有比较器触发都会进 系统错误队列,可逐条读取,直到空:

  scpi

  ; 4. 系统错误队列(逐条读,直到返回 0."No error")

  :SYST:ERR?

  常见错误码(比较器触发):

  +501:OVP 比较器触发

  +502:OCP 比较器触发

  +503:峰值电压比较器触发

  +504:峰值电流比较器触发

  示例读取(多次触发):

  plaintext

  :SYST:ERR? → +501."OVP occurred"

  :SYST:ERR? → +503."Peak voltage detect"

  :SYST:ERR? → 0."No error"

  5. 峰值比较器专用历史(仅峰值检测)

  如果你特指 峰值检测比较器(不是 OVP/OCP):

  scpi

  ; 5. 峰值比较器触发历史

  :MEAS:PEAK:VOLT:TRIG? ; 电压峰值比较器是否触发过(1=是,0=否)

  :MEAS:PEAK:CURR:TRIG? ; 电流峰值比较器是否触发过

  :MEAS:PEAK:COUNT? ; 峰值触发次数(部分固件支持)

  6. 清除历史记录(重置,便于新一轮统计)

  scpi

  ; 6. 清除所有比较器触发历史

  :STAT:QUES:EVENT:CLE

  :SOUR:PROT:EVENT:CLE

  :SYST:ERR:CLE

  三、完整查询脚本(直接复制,一次读全历史)

  scpi

  *RST;:SYST:REM

  ; 1. 读历史事件寄存器

  :STAT:QUES:EVENT?

  ; 2. 读最近一次保护事件(时间+类型+通道)

  :SOUR:PROT:EVENT?

  :SOUR:PROT:EVENT:VOLT?

  :SOUR:PROT:EVENT:CURR?

  ; 3. 读峰值比较器历史

  :MEAS:PEAK:VOLT:TRIG?

  :MEAS:PEAK:CURR:TRIG?

  :MEAS:PEAK:COUNT?

  ; 4. 逐条读错误队列(完整历史)

  :SYST:ERR?

  :SYST:ERR?

  :SYST:ERR?

  四、关键说明(避坑)

  :STAT:QUES:EVENT? 读一次清零:要先读再清,否则历史丢失。

  事件日志最多存 1 条:N7900 仅保留最近一次;多次触发需靠 :SYST:ERR? 队列。

  双向电源需查正负通道:反向电流比较器触发在 Bit4(QUES 寄存器)。

  固件版本差异:N6700 命令几乎一致,仅 :MEAS:PEAK:COUNT? 可能不支持。

  五、一句话总结

  快速查是否触发过::STAT:QUES:EVENT?

  最近一次触发详情::SOUR:PROT:EVENT?

  完整多次触发历史:循环读 :SYST:ERR?

  峰值比较器专用::MEAS:PEAK:VOLT:TRIG?