Keysight 双向直流电源 SCPI:EEPROM 保护状态 + 触发时间溯源全套指令(N6705B/C、N678xA、E363xx 双向系列)
核心逻辑:EEPROM 三级保护(硬件 WP / 校准区 CAL:SEC / 用户区 SYST:SEC)所有开启事件、关闭事件全部带时间戳存入系统 EEPROM 事件日志;可先查实时保护状态,再从系统日志提取保护启用时刻、持续时长、触发诱因(过温 / 风扇故障 / 软件上锁),建立「保护状态 — 发生时间 — 存续时长」关联关系。
一、第一步:查询当前实时 3 级 EEPROM 保护状态(瞬时状态)
scpi
:SYSTem:EEPROM:WPIN? //硬件全EEPROM写保护:1=硬件锁死开启,0=关闭
:CALibration:SECure:STATe?//校准分区EEPROM保护:1=校准区上锁,0=解锁
:SYSTem:SECure:STATe? //用户参数分区EEPROM保护:1=用户区上锁,0=解锁
:SYSTem:EEPROM:ERRor? //EEPROM介质损坏标记:≠0=坏块永久保护生效
返回 = 1 代表当前该分区处于写保护锁定,配合日志查该状态从何时生效。
二、第二步:读取系统 RTC 时钟(日志基准时间,统一时间坐标系)
scpi
:SYSTem:TIME? //读取仪器当前系统时间,格式:HH,MM,SS
:SYSTem:DATE? //读取仪器当前日期,格式:YYYY,MM,DD
日志内时间戳基于本机 RTC,用于换算保护已持续多久。
三、第三步:SCPI 提取 EEPROM 保护历史时间戳(关键,保护启停时间)
仪器SYSTem:LOG永久存入 EEPROM,每条日志 =【时间 + 事件码 + 事件描述】,保护开关事件固定事件码:
表格
1. 查询日志总条数、遍历所有日志
scpi
:SYSTem:LOG:COUNt? //日志总条目N
:SYSTem:LOG:DATA? //读取第n条日志,返回:YYYY,MM,DD,HH,MM,SS,错误码,"事件文本"
示例读取第 1 条::SYST:LOG:DATA? 1 返回范例:2025.12.15.09.23.12.550."System Security EEPROM Write Protect Enabled" →2025-12-15 09:23:12 用户区 EEPROM 保护开启。
2. 筛选保护相关日志(自动化批量筛选)
scpi
:SYSTem:LOG:SELect "550;551;560;561;570;571;504" //筛选保护相关事件码
:SYSTem:LOG:DATA:ALL? //一次性导出全部筛选后的带时间戳记录
四、第四步:建立【保护状态 ↔ 时间】三种关联查询
关联 1:当前保护已持续多长时间
从日志找到最后一次该保护开启时间戳;
用当前SYST:DATE?/SYST:TIME?做时间差 =保护连续锁定时长。 例:用户 SEC 当前 = 1.日志最后 550 事件在 2025-12-15 → 从该日期至今一直处于 EEPROM 保护。
关联 2:保护触发源 + 发生时序(风扇 / 过热→自动开保护的时间)
日志 504(过温故障)时间戳 早于 550/560 → 风扇 / 过热故障在先,延时触发 EEPROM 写保护; 两条时间差 = 故障发生到 EEPROM 上锁的延时。
关联 3:历史曾开启保护的起止时间段
一条 550(上锁时间)+ 后续一条 551(解锁时间)= 该次保护生效区间; 无对应解锁记录 =保护从上锁日持续至今(当前仍锁)。
五、DLOG/ELOG 采样日志:通道保护降功率时序(双向电源专属)
通道因 EEPROM 保护限功率时,DLOG 存储功率限值变更时间:
scpi
:INST:NSEL
:SOUR:DLOG:DATA? //读取功率限值变更记录(含时间戳,POW:LIM被EEP保护锁死时刻)
:SOUR:POW:LIM?;POW:LIM:MAX?//对比实时功率上限与出厂额定,锁定发生时间和日志匹配
六、一键批量巡检指令(自动化脚本单条采集全量)
scpi
:SYST:EEP:WPIN?;CAL:SEC?;SYST:SEC?;SYST:EEP:ERR?;SYST:DATE?;SYST:TIME?;SYST:LOG:COUN?
返回依次:硬件保护、校准保护、用户保护、EEPROM 故障、当前日期、当前时间、日志总数。
七、状态 - 时间判定表
表格