资讯中心

联系我们

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

如何通过SCPI命令设置Keysight双向直流电源文件存储周期?

2026-06-09 09:55:02  点击:

  Keysight N6705C/N7900/N6900 双向电源 文件存储周期 SCPI 完整方案

  先区分两个极易混淆的概念:

  DLOG:SAMP:PER:采样周期(电压电流数据点采集间隔,最小 20μs~ 最大 60s,仪器硬件原生配置)

  文件归档存储周期:每隔 X 分钟 / 小时自动分文件保存日志(仪器无内置定时自动归档寄存器,无专属DLOG:SAVE:PER、ELOG:SAVE:PER指令)

  一、1. 采样周期(数据采集间隔,可直接 SCPI 设置)

  这是波形日志底层采集节奏,决定每个数据点的时间间隔,直接对应 DLOG 存储的数据密度。

  核心指令

  scpi

  ! 设置采样周期(单位:秒)

  DLOG:SAMP:PER

  ! 查询当前采样周期

  DLOG:SAMP:PER?

  取值范围:20e-6 (20μs,50kHz) ~ 60 (60s)

  示例

  scpi

  DLOG:SAMP:PER 0.01 ! 10ms采样周期 = 100Hz采样频率

  DLOG:SAMP:PER 10 ! 10秒慢速巡检采样

  配套:总记录时长 = 采样周期 × DLOG:POIN(总点数)

  二、2. 定时分文件归档周期(每隔 N 时间保存一份独立日志文件)

  仪器无原生定时自动存文件 SCPI,提供两种工业稳定实现方案:

  方案 A:上位机 PC 定时器循环控制(99% 自动化测试首选)

  Python/LabVIEW 脚本内部设置定时周期,周期触发执行保存→下载→清空缓存→重启采集,实现按时间切片分文件。

  Python 定时归档模板(每 300 秒 / 5 分钟存一个 DLOG 文件)

  python

  运行

  import pyvisa

  import time

  from datetime import datetime

  rm = pyvisa.ResourceManager()

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

  inst.timeout = 20000

  # 基础DLOG配置

  inst.write("INST:SEL 1")

  inst.write("DLOG:FORM ASC")

  inst.write("DLOG:SAMP:PER 0.1") # 100ms采样

  inst.write("DLOG:TRIG:MODE IMM") # 连续自由采集

  archive_interval = 300 # 归档周期:300秒=5分钟

  try:

  while True:

  start_time = datetime.now().strftime("%Y%m%d_%H%M%S")

  # 启动一轮采集

  inst.write("DLOG:STAT ON")

  time.sleep(archive_interval)

  # 停止采集、保存仪器内文件

  inst.write("DLOG:STAT OFF")

  save_name = f'INT:/dlog/chan1_{start_time}.csv'

  inst.write(f'DLOG:SAVE "{save_name}"')

  # 下载到PC本地

  local_path = fr"C:power_log{start_time}_chan1.csv"

  inst.write(f'SYST:TRANSFER? "{save_name}"')

  file_bin = inst.read_raw()

  with open(local_path, "wb") as f:

  f.write(file_bin)

  print(f"已归档:{local_path}")

  # 清空缓存,准备下一轮周期采集

  inst.write("DLOG:CLE")

  except KeyboardInterrupt:

  inst.write("DLOG:STAT OFF")

  inst.close()

  方案 B:仪器内部计时器 + 状态轮询(无 PC 长脚本时)

  利用仪器SYST:TIMER硬件计时器做计时基准,上位机高频轮询计时器状态,到达周期阈值执行保存。

  开启硬件计时器

  scpi

  SYST:TIMER:RESET ! 计时器清零

  SYST:TIMER:STAT ON ! 启动计时

  SYST:TIMER? ! 读取已流逝秒数

  上位机循环查询SYST:TIMER?,数值≥归档周期时执行DLOG:SAVE、重置计时器。

  三、ELOG 输出限制历史的周期存储规则

  ELOG事件式写入:无采样周期,保护触发瞬间单条写入;原生event.log持续追加,不会自动切分文件。

  定时导出 ELOG 分文件:同样依靠上位机定时调用ELOG:EXPORT生成独立时间戳备份文件

  scpi

  ! 定时导出指令(由PC定时循环下发)

  ELOG:EXPORT "INT:/logs/elog_20260609_1430.csv"

  查询 ELOG 容量(判断是否需要周期备份)

  scpi

  ELOG:CAP? ! 返回 最大条数,当前条数

  四、保护触发模式下的存储周期逻辑(OVP/OCP 自动录波)

  采样周期依旧由DLOG:SAMP:PER锁定;

  触发后一次性记录预点数 + 后点数,单次触发生成 1 个文件;

  多轮保护多次触发会生成多个独立文件,无时间自动切片,只能 PC 批量整理。 完整保护触发配置参考:

  scpi

  INST:SEL 1

  DLOG:SAMP:PER 0.001 ! 1ms采样周期

  DLOG:POIN 10000

  DLOG:TRIG:MODE PROT

  DLOG:TRIG:PRE 2000

  DLOG:TRIG:PROT:ENAB ON

  DLOG:STAT ON

  五、关键限制汇总

  没有 SCPI 指令可以让仪器独立后台定时自动存文件,归档周期必须依赖上位机时序控制;

  唯一可硬件配置的周期是数据采样周期 DLOG:SAMP:PER;

  ELOG 无采样参数,仅能定时导出备份;

  单轮 DLOG 采集最长时长 = DLOG:POIN × DLOG:SAMP:PER,点数上限由机型内存决定(N6705C 最大 500M 读数)。

  速查指令对照表

  表格