下面给出完整 SCPI 命令和计算方法。
一、先明确:什么是 “输出记忆触发命中率”?
命中率 = 实际触发次数 ÷ 条件满足总次数
实际触发次数:MEM 真正动作的次数(ELOG 里记录)
条件满足总次数:电压 / 电流进入触发区间的总次数(DLOG 采样统计)
二、SCPI:查 “实际触发次数”(ELOG)
1. 选通道、确保 MEM 功能开启
scpi
:INST:SEL OUT1
:OUTP:MEM:STAT ON ; 开启输出记忆
2. 查询 ELOG 里的触发事件总数(关键)
scpi
:ELOG:COUN? ; 返回:事件总数(含 MEM 触发)
3. 过滤出 “MEM 触发” 事件(避免把 OVP/OCP 算进去)
scpi
:ELOG:LAST:TYPE? ; 看最近一次事件类型
; 典型返回:MEM(输出记忆)、OVP、OCP 等
连续读 :ELOG:LAST:TYPE? 并统计返回为 MEM 的次数 → 实际触发次数
三、SCPI:查 “条件满足总次数”(DLOG)
要算命中率,必须知道:在统计时间内,触发条件总共满足了多少次。这靠数据记录(DLOG)采样:
1. 开启 DLOG 并设置采样
scpi
:SENS:DLOG:STAT ON
:SENS:DLOG:PER 0.001 ; 采样间隔 1ms(根据需要改)
:SENS:DLOG:POIN 10000 ; 采样点数
2. 读取 DLOG 数据并统计 “条件满足次数”
scpi
:SENS:DLOG:DATA? ; 返回一串电压/电流采样值
上位机把数据读回来,统计超过阈值的次数 → 条件满足总次数
四、命中率计算公式(上位机算)
plaintext
命中率(%) = (MEM触发次数 ÷ 条件满足总次数) × 100
五、常用 SCPI 速查表(直接复制用)
1. MEM 相关
scpi
:INST:SEL OUT1
:OUTP:MEM:STAT? ; 记忆功能状态
:OUTP:MEM:TRIG:TYPE? ; 触发类型(AUTO/EXT/BUS/IMM)
:OUTP:MEM:ACT? ; 是否正在触发动作
:OUTP:MEM:DWELL? ; 动作持续时间
2. ELOG(触发次数)
scpi
:ELOG:COUN? ; 事件总数
:ELOG:LAST:TYPE? ; 最近事件类型
:ELOG:LAST:TIM? ; 最近事件时间戳
3. DLOG(条件总次数)
scpi
:SENS:DLOG:STAT?
:SENS:DLOG:PER?
:SENS:DLOG:POIN?
:SENS:DLOG:DATA?
六、一句话总结
没有直接的 “命中率” SCPI
实际触发次数:读 :ELOG:COUN? + 过滤 MEM 类型
条件满足总次数:读 :SENS:DLOG:DATA? 后上位机统计
命中率:自己用除法算