资讯中心

联系我们

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

如果双向直流电源不支持自动保存,有哪些替代方案可以实现数据导出?

2026-06-12 09:50:00  点击:

  双向直流电源无 AUTO 自动保存时 全套数据导出替代方案

  针对无 MEM:DLOG:AUTO / MEM:ELOG:AUTO固件机型(典型:N6705B、老旧简易双向源、低配 E36100),分 5 套可落地方案,全部基于 SCPI 程控,优先级从简单到高精度。

  方案一:序列跑完后一次性手动缓冲区导出(最通用、零额外硬件)

  仪器运行 ARB 序列时,数据先存入板载高速缓冲区,无自动落盘时,序列停止后一次性读取全部缓存,上位机直接存 CSV / 文件。

  1.DLOG 波形采样缓存读取 SCPI

  scpi

  *CLS

  ! 读取全部DLOG采样点数

  SOUR:ARB:DLOG:POINts?

  ! 批量导出全部电压、电流时序数组(二进制/ASCII可选)

  SOUR:ARB:DLOG:DATA?

  ! 清空缓存,准备下一轮测试

  SOUR:ARB:DLOG:CLEar

  2.ELOG 事件缓存读取(启停、保护、触发记录)

  scpi

  ! 查询事件总条数

  MEM:ELOG:COUNt?

  ! 读取0~全部条数的事件日志(时间戳+事件类型)

  MEM:ELOG:DATA? 0.MAX

  ! 清空事件缓存

  MEM:ELOG:CLEar

  上位机处理逻辑

  Python/LabVIEW 接收返回数组,直接写入本地.csv,等效自动保存文件;全程数据不落地仪器闪存,避免路径 / 格式兼容问题。

  方案二:上位机高频轮询实时采样(长时不间断测试首选)

  不等序列结束,PC 定时下发测量指令,每秒 / 毫秒级抓取实时 V/I,电脑本地持续写入日志,完全绕开仪器自带存储限制。

  基础轮询 SCPI 读取指令

  scpi

  ! 单次同步测量电压电流

  MEAS:SCAL:VOLT?

  MEAS:SCAL:CURR?

  ! 高精度同步采集(ARB序列同步触发采集)

  MEAS:ARR:VOLT? 1

  MEAS:ARR:CURR? 1

  定时循环示例(Python 极简)

  python

  运行

  import pyvisa, time, csv

  inst = pyvisa.ResourceManager().open_resource("TCPIP::IP::INSTR")

  with open("run_log.csv","w",newline='') as f:

  writer=csv.writer(f)

  writer.writerow(["时间(s)","电压(V)","电流(A)"])

  start=time.time()

  while True:

  v=inst.query("MEAS:SCAL:VOLT?")

  i=inst.query("MEAS:SCAL:CURR?")

  t=round(time.time()-start,3)

  writer.writerow([t,v.strip(),i.strip()])

  time.sleep(0.01) # 10ms采集间隔

  优势:不受仪器缓冲区大小限制,几小时 / 几天连续记录;数据直接存在电脑硬盘。

  方案三:手动保存至仪器存储(手动触发保存,替代自动 AUTO)

  机型支持MEM:DLOG:SAVE但无 AUTO 自动开关时,序列结束用指令一键保存到 INT/USB,只是需要程控触发保存动作。

  scpi

  *CLS

  ! 配置存储路径、格式(和自动保存参数完全一致)

  MEM:DLOG:MED INT

  MEM:DLOG:DIR "MANUAL_LOG"

  MEM:DLOG:FORM CSV

  ! 手动把当前缓存存为日志文件

  MEM:DLOG:SAVE "test_run_01"

  ! ELOG同理

  MEM:ELOG:SAVE "event_run_01"

  搭配流程:

  启动 ARB 序列

  等待序列运行完成(可查询SOUR:ARB:STAT?判断结束)

  自动下发SAVE指令存文件到仪器闪存 / U 盘

  后续用MEM:DATA?把仪器里的文件下载到 PC 归档

  查询序列运行状态判断结束:

  scpi

  SOUR:ARB:STAT?

  ! 返回0=停止,1=运行中

  方案四:U 盘手动批量导出(面板操作 + SCPI 文件下载)

  面板手动操作:运行序列后,仪器前面板菜单手动 Save 日志到 FAT32 U 盘;

  SCPI 远程下载 U 盘文件到电脑:

  scpi

  ! 列出USB目录全部日志

  MEM:CAT? "USB:LOG"

  ! 读取指定文件完整二进制/文本内容到上位机

  MEM:DATA? "USB:LOGtest_run_01.dlog"

  适合不方便长时间电脑联机的工位,批量跑完多组测试后统一拷贝 U 盘数据。

  方案五:ARB 波形内置标记分段保存(长序列拆分多段日志)

  超长输出序列拆成多段 ARB 波形片段,每一段运行结束立刻触发一次手动 SAVE,实现分段归档,替代分片 SPLIT 自动保存。

  scpi

  ! 加载第一段波形

  SOUR:ARB:LOAD "seg1.arb"

  SOUR:ARB:RUN

  *WAI ! 等待本段跑完

  MEM:DLOG:SAVE "seg1_log"

  ! 加载第二段波形

  SOUR:ARB:LOAD "seg2.arb"

  SOUR:ARB:RUN

  *WAI

  MEM:DLOG:SAVE "seg2_log"

  方案六:硬件外接采集(极致高精度场景,脱离电源内置采集)

  电源自身采集精度 / 速率不足、且无存储时,搭配高精度 DAQ / 示波器并联采集 V/I:

  电压:差分探头并联输出端;电流:串联高精度分流器 + DAQ 采集;

  DAQ 自带连续存储数据流,完全独立于电源设备; 适用:功率动态大、μs 级高速波形捕捉场景。

  各方案优劣对比

  表格

  

  关键配套校验指令(导出前必用)

  确认缓存有有效数据

  scpi

  SOUR:ARB:DLOG:POINts?

  ! 返回0=无采样数据,不可导出

  读取文件后校验完整性

  scpi

  SYST:ERR?

  MEM:FILE:SIZE? "xxx.dlog"

  读取仪器系统时间,给日志打时间戳

  scpi

  SYST:TIME?;DATE?

  最简自动化替代模板(无 AUTO 机型通用)

  scpi

  *RST;*CLS

  ! 1.配置DLOG采样参数

  SOUR:ARB:DLOG:PER 0.001

  SOUR:ARB:DLOG:POINts 50000

  ! 2.启动序列

  SOUR:ARB:RUN

  *WAI ! 阻塞等待序列跑完

  ! 3.导出缓存到上位机

  SOUR:ARB:DLOG:DATA?

  ! 4.清空缓存准备下一次

  SOUR:ARB:DLOG:CLEar