资讯中心

联系我们

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

如何判断双向直流电源是否支持将序列历史记录自动保存到USB?

2026-06-12 09:33:29  点击:

  判断双向直流电源能否把序列历史(DLOG/ELOG)自动保存至 USB 的三层 SCPI 验证方案

  适用机型:Keysight N79xxA / N89xxA(完整 USB 存储)、E36100 BT、N6705B

  一、第一层:指令集存在性检测(判定硬件固件是否原生支持 USB 存储日志)

  直接尝试写入 USB 介质参数,通过系统错误码区分「机型不支持 USB」和「USB 未插设备」。

  标准探测指令(不带 U 盘也能测机型能力)

  scpi

  *CLS ! 清空旧错误缓存

  MEMory:DLOG:MEDium USB ! 尝试将DLOG存储切为USB

  SYSTem:ERR? ! 读取操作反馈错误

  错误码判定规则

  返回 -259. "Media error" 机型硬件 / 固件支持 USB 存储,只是当前没插 U 盘、U 盘未识别 / 格式化异常。

  返回 -113. "Undefined header" /-202. "Parameter out of range" 机型完全不支持 USB 作为 DLOG/ELOG 存储介质,只有 INT 内部闪存可用。

  返回 +0. "No error" 固件识别 USB 关键字,机型支持 USB 日志存储;插好 U 盘即可切换保存。

  ELOG 用同一逻辑探测:

  scpi

  *CLS

  MEMory:ELOG:MEDium USB

  SYST:ERR?

  快速简化判断(全局日志指令兜底)

  scpi

  *CLS

  MEMory:LOG:MED USB

  SYST:ERR?

  二、第二层:插入 U 盘后,验证 USB 介质挂载就绪(支持机型下确认 U 盘可用)

  确认机型支持 USB 后,插入FAT32 格式 U 盘,执行挂载检测:

  读取介质状态

  scpi

  MEMory:DLOG:MEDium?

  返回USB:U 盘正常挂载;

  返回INT:U 盘识别失败、未就绪。

  枚举 USB 根目录,验证文件系统可读写

  scpi

  MEMory:CATalog? USB:

  SYST:ERR?

  正常返回目录列表 = USB 读写正常;

  -259=U 盘损坏 / 格式不对 / 接触不良。

  测试在 USB 创建日志目录(模拟自动保存路径)

  scpi

  *CLS

  MEMory:DLOG:DIR "USB_TEST_LOG"

  SYST:ERR?

  无报错代表可以正常在 USB 建立自动保存文件夹。

  三、第三层:完整自动保存链路验证(最终实机确认)

  全部配置打通,跑一次序列测试自动落盘 USB:

  scpi

  *CLS

  ! 1 切换存储介质到USB

  MEM:DLOG:MED USB

  MEM:ELOG:MED USB

  ! 2 设置子目录

  MEM:DLOG:DIR "SEQ_AUTO_USB"

  MEM:ELOG:DIR "SEQ_AUTO_USB"

  ! 3 设定保存格式

  MEM:DLOG:FORM BIN

  MEM:ELOG:FORM BIN

  ! 4 开启自动保存开关(核心)

  MEM:DLOG:AUTO 1

  MEM:ELOG:AUTO 1

  ! 5 回读全部配置校验

  MEM:DLOG:MED?

  MEM:DLOG:DIR?

  MEM:DLOG:AUTO?

  运行一段 ARB 输出序列,完成后枚举 USB 日志目录看是否自动生成.dlog/.elog文件:

  scpi

  MEM:CAT? "USB:LOGSEQ_AUTO_USB"

  能看到新生成日志文件 = 完整支持 USB 自动保存序列历史。

  四、各型号原生 USB 支持速览

  N79xxA / N89xxA 大功率双向源 标配支持 USB 存储 DLOG/ELOG 自动日志,完整全套MED/DIR/AUTO指令。

  E36100 BT 小型双向源 新款固件支持 USB 全局日志MEM:LOG:MED USB;老固件仅 INT。

  N6705B/N6700B 模块化主机 仅内部 INT 闪存,无 USB 日志存储能力,发送MED USB直接报参数越界错误。

  五、关键错误码对照表

  表格

  

  六、Python 一键检测脚本

  python

  运行

  import pyvisa

  rm = pyvisa.ResourceManager()

  inst = rm.open_resource("TCPIP::192.168.1.100::INSTR")

  def check_usb_log_support(inst):

  inst.write("*CLS")

  # 探测DLOG USB介质指令是否存在

  inst.write("MEM:DLOG:MED USB")

  err = inst.query("SYST:ERR?").split(',')

  code = int(err[0])

  if code in (-113. -202):

  print("❌ 本机型固件不支持USB存储序列历史日志")

  return False

  elif code == -259:

  print("✅ 机型支持USB日志;当前未插U盘/U盘识别失败")

  return True

  elif code == 0:

  print("✅ USB介质可正常切换,U盘已就绪")

  return True

  else:

  print(f"未知错误 {code}:{err[1]}")

  return False

  support = check_usb_log_support(inst)

  inst.close()

  补充前置要求(支持机型也必须满足)

  U 盘格式必须为 FAT32;NTFS/exFAT 仪器不识别;

  单分区、无加密、无分区表隐藏;

  仪器前面板 USB 口(部分机型后面板仅通信,不支持存储 U 盘)。