Keysight N6705B/C、RP7900、N678x 双向电源 DLOG 历史记录结束条件 & 时间关联 SCPI 查询
DLOG(序列测量历史)有4 大类终止条件,全部可 SCPI 查询配置阈值、时长、采样点数;ELOG 事件日志无定时终止,仅故障触发写入。
一、核心时间基准:采样周期(决定总时长 = 点数 × 周期)
1. 查询 DLOG 采样间隔(单两点时间差,单位:秒)
scpi
// 查询当前采样周期
DLOG:PERiod?
// 设置示例(0.01=10ms)
DLOG:PER 0.01
总理论记录时长公式: 总时长 = DLOG:POINts? × DLOG:PERiod?
2. 查询总采样点数上限(固定点数停止)
scpi
DLOG:POINts?
点数填满缓冲区 / 文件 → DLOG 自动停止记录
设POINts 0 = 不按点数限制,靠时间 / 触发 / 空间终止
二、定时时长终止条件(运行固定秒数自动结束记录)
1. 查询总记录时长阈值(秒)
scpi
DLOG:DURation?
规则:
DUR 0:无时间上限;
计时从DLOG:STARt开始,到达 DUR 数值立刻停止写入历史文件;
同时开点数 + 时间:任一条件先满足即终止。
2. 查询已运行计时时长(实时已录多久)
scpi
DLOG:ELAPsed?
返回已采集秒数,未启动返回 0.
3. 时间超时后自动动作查询
scpi
// 时间到停止后输出状态
DLOG:END:OUTPut?
返回:
OFF:结束后关输出
HOLD:保持输出不变
STEP:跳到序列下一步
三、序列循环联动终止(SEQuence 循环决定 DLOG 总采集窗口)
1. 查询序列全局循环次数
scpi
SEQu:COUNt?
0 = 无限循环;N = 循环 N 遍后序列整体结束,DLOG 同步停止。
2. 查询序列单步持续时间
scpi
SEQu:STEP:DUR? <步号>,(@ch)
单步时长 × 循环数 = 序列总运行时间,DLOG 全程跟随序列录制。
3. 实时已完成循环数
scpi
SEQu:COUN:CURR? (@ch)
四、触发条件终止(电压 / 电流 / 保护事件触发停止记录)
1. 查询停止触发源开关(是否启用条件停止)
scpi
DLOG:TRIGger:STOP:SOURce?
可选返回值:
TIMe:时间停止
POINt:点数停止
CURRent:电流阈值触发停
VOLTage:电压阈值触发停
PROTect:OVP/OCP 保护跳闸停
MANual:仅手动 DLOG:STOP 停止
ALL:多条件或逻辑(任一满足即停)
2. 查询电压 / 电流停止阈值
scpi
// 停止电压阈值
DLOG:TRIG:STOP:VOLT?
// 停止电流阈值
DLOG:TRIG:STOP:CURR?
3. 查询触发边沿(高于 / 低于阈值停止)
scpi
DLOG:TRIG:STOP:SLOPe?
// POS=高于阈值停止;NEG=低于阈值停止
4. 保护联动停止开关(故障时终止日志)
scpi
DLOG:TRIG:STOP:PROTect?
// 1=保护跳闸立刻停DLOG;0=故障继续记录
五、存储空间终止(磁盘满自动停止 / 删旧文件)
属于间接结束条件,查询水位判断是否会提前终止
scpi
// 分区剩余空间
DLOG:VOL:SIZE:FREE?
// 自动删旧文件开关
DLOG:AUTO:DEL?
AUTO:DEL=0:空间耗尽直接停止写入历史文件
AUTO:DEL=1:删最早文件持续录制,不会主动终止
六、运行状态与结束标记查询
DLOG 当前运行状态
scpi
DLOG:STAT?
// 0=停止;1=采集中;2=等待触发;3=已正常结束;4=故障终止
查询本次结束的原因代码(关键:区分时间 / 点数 / 触发 / 空间)
scpi
DLOG:CONDition:END?
返回编码含义: 1 = 定时时长 DUR 到期 2 = POINts 点数填满 3 = 电压 / 电流触发停止 4 = 保护故障 PROT 停止 5 = 存储空间已满 6 = 手动下发 DLOG:STOP 7 = 序列 SEQuence 运行完毕
读取结束时刻时间戳(文件里也自带)
scpi
DLOG:TIME:STOP?
// 返回仪器系统时间 YYYY,MM,DD,HH,MM,SS
启动时间戳同步可查:
scpi
DLOG:TIME:STARt?
七、B2900 四象限 SMU 替换指令(无 DLOG,统一 LOG 前缀)
scpi
LOG:PERiod?
LOG:POINts?
LOG:DURation?
LOG:ELAPsed?
LOG:TRIG:STOP:SOUR?
LOG:COND:END?
LOG:TIME:STARt?
LOG:TIME:STOP?
八、完整交互示例(N6705C 校验时间 - 结束关系)
scpi
//1 采样周期10ms
>> DLOG:PER?
<< 0.010
//2 设定总采集60秒
>> DLOG:DUR?
<< 60
//3 最大点数6000点(60/0.01=6000匹配)
>> DLOG:POIN?
<< 6000
//4 停止源为时间+点数双条件
>> DLOG:TRIG:STOP:SOUR?
<< ALL
//5 启动采集
DLOG:STARt
//6 实时已跑时长
>> DLOG:ELAP?
<< 12.34
//7 结束后查终止原因
>> DLOG:COND:END?
<< 1 //1=定时时间到停止
//8 启停时间戳核对总耗时
>> DLOG:TIME:STARt?
<< 2026.06.11.09.30.00
>> DLOG:TIME:STOP?
<< 2026.06.11.09.31.00
九、时间与结束逻辑优先级
硬件实时判断:最先满足的条件优先终止;
无限循环序列(SEQu:COUN 0)下,DLOG 依靠 DUR/POIN/ 触发 / 空间控制单段文件长度;
若 DUR=0、POIN=0、无触发停止、AUTO:DEL=1:理论永久录制,文件持续分片新建;
正在写入的文件达到DLOG:FILE:SIZE:MAX会自动封包新建子文件,不算整体 DLOG 结束。
十、常见报错与固件兼容
-113 Undefined header:N6705A 老固件无 DUR/ELAP/COND:END 指令,仅支持 POIN/PER 基础时间配置;
-222 Data out of range:时长 / 点数超出机型硬件上限;
结束原因代码仅新版固件(≥1.06)支持,老机型只能靠 STAT 状态判断启停。