先把结论说清楚(以 Keysight RP7900 双向直流电源为准):
没有一条 SCPI 直接返回 “保护触发次数与其他参数的关系”。
但可以通过 ELOG 事件日志 + 保护 / 限制阈值 + 实时测量值,自己统计出:
各类型保护(OVP/OCP/OPP/OT)触发次数
触发时的电压 / 电流 / 功率 / 温度
阈值与触发次数的关联
时间分布、频次与负载 / 工况的关系
下面把可用 SCPI 分四类给你:次数统计、事件明细、阈值参数、实时工况,最后给一个 “关系分析” 思路。
一、查询保护 / 限制事件的总次数(ELOG)
所有保护 / 限制事件都存在 ELOG(Event Log) 里:
scpi
1) 已记录事件总数
SYST:ELOG:COUNT?
2) 最大可记录事件数(是否满)
SYST:ELOG:MAX?
3) 清空事件日志(统计前可清)
SYST:ELOG:CLEAR
说明:
每一次 OVP、OCP、OPP、OT、V-Limit、I-Limit、P-Limit 都会记一条。
没有直接按 “OVP 次数”“OCP 次数” 分开的命令,要读明细后自己统计。
二、查询每条事件的详细参数(时间、类型、数值)
scpi
读取第 index 条记录(index=1.2.…,COUNT)
SYST:ELOG:DATA?
返回格式(逗号分隔):
plaintext
YYYY,MM,DD,HH,MM,SS,EventStr,V,I,P,T
示例:
plaintext
2026.06.02.14.22.05.OVP,28.5.5.2.148.2.35.1
EventStr:OVP/OCP/OPP/OT/V-Limit/I-Limit/P-Limit
V:触发时电压
I:触发时电流
P:触发时功率
T:触发时温度
用这一条就能拿到:每一次保护触发时,和电压、电流、功率、温度的对应关系。
三、查询保护 / 限制阈值(触发条件参数)
要分析 “为什么触发”,需要知道阈值:
scpi
* 保护阈值(跳闸类,严重)
VOLT:PROT:LEV? ; OVP 电压保护阈值
CURR:PROT:LEV? ; OCP 电流保护阈值
POW:PROT:LEV? ; OPP 功率保护阈值
SYST:PROT:TEMP? ; OT 过温保护阈值
* 限制阈值(仅限流/限压,不跳闸)
VOLT:LIM?
CURR:LIM?
POW:LIM?
关系分析示例:
OVP 触发次数多 → 对比 VOLT:PROT:LEV? 和触发电压 → 是否阈值过低 / 负载反压过高
OCP 频繁 → 看 CURR:PROT:LEV? 和负载电流 → 是否限流太严或负载短路 / 过载
四、查询实时工况参数(和触发次数做关联)
分析 “在什么工况下容易触发”:
scpi
* 实时测量值
MEAS:VOLT?
MEAS:CURR?
MEAS:POW?
MEAS:TEMP?
* 输出状态
OUTP? ; 输出是否开启
STAT:QUES? ; 疑问状态(保护/限制位)
STAT:OPER? ; 操作状态(恒压/恒流/恒功率)
可以把 触发次数 vs 输出模式(CV/CC/CP)、负载电流、电压、温度 做关联统计。
五、如何组合成 “保护触发次数与参数关系”
你要的 “关系”,在仪器里是分散存储的,需要上位机 / 脚本做统计,步骤:
清零日志
scpi
SYST:ELOG:CLEAR
记录一段时间工况
循环读:MEAS:VOLT?、MEAS:CURR?、STAT:OPER?…
同时监测:SYST:ELOG:COUNT? 是否增加
导出所有事件
scpi
SYST:ELOG:COUNT? → N
FOR i=1 TO N: SYST:ELOG:DATA? i
按类型统计次数
OVP_count、OCP_count、OPP_count、OT_count、LIM_count…
关联参数
次数 vs 触发电压 / 电流 / 功率 / 温度
次数 vs 保护阈值
次数 vs 输出模式、负载变化率
六、一句话总结(直接回答你的问题)
没有单条 SCPI 直接给出 “保护触发次数与参数关系”。
用以下命令组合分析:
次数:SYST:ELOG:COUNT?
每次触发参数:SYST:ELOG:DATA?
保护阈值:VOLT:PROT:LEV?、CURR:PROT:LEV?…
工况关联:MEAS:VOLT?、STAT:OPER?…