资讯中心

联系我们

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

Keysight双向直流电源列表模式运行记录能否通过GPIB传输?

2026-06-12 09:52:52  点击:

  一、结论总览

  Keysight N79xxA、N89xxA 大功率双向直流电源完全支持通过 GPIB(IEEE488)传输列表模式 LIST 运行记录(DLOG 采样波形记录、ELOG 步骤事件记录、LIST 时序抖动缓存);GPIB 和 TCPIP/USB VISA 共用同一套 SCPI 指令集,传输逻辑无差异,仅总线速率上限不同。

  1、可通过 GPIB 传输的三类 LIST 运行记录

  1.1 DLOG:LIST 步进电压电流采样日志

  1)缓存实时读取(不存仪器硬盘,GPIB 直传 PC)

  scpi

  *CLS

  SOUR:LIST:DLOG:DATA? 0.MAX

  返回整段 LIST 全程 V/I 时序采样数据流,ASCII/BIN 格式均可通过 GPIB 字节流完整上传上位机。

  2)读取仪器内已自动保存的.dlog 日志文件

  scpi

  MEM:DATA? "INT:LOGlist_run01.dlog"

  文件二进制 / 文本内容逐块经由 GPIB 总线发送至控制器。

  1.2 ELOG:LIST 步骤启停、保护、触发、时序事件记录

  scpi

  ! 读取全部LIST运行事件历史

  MEM:ELOG:DATA? 0.MAX

  ! 读取已保存.elog文件

  MEM:DATA? "INT:LOGlist_event.elog"

  所有事件时间戳、故障标记、步骤编号均可 GPIB 读出。

  1.3 LIST 步进时序抖动统计 / 原始抖动数组

  scpi

  ! 原始抖动数据GPIB读取

  SOUR:LIST:TIM:JIT:DATA? 0.MAX

  ! 内置统计值(均值/最大/最小/标准差)单点查询

  SOUR:LIST:TIM:JIT:MEAN?

  SOUR:LIST:TIM:JIT:MAX?

  时序捕获缓存数据不受传输接口限制,GPIB 可完整取回。

  2、GPIB 专用配置与传输要点

  2.1 寻址与 VISA 资源格式

  GPIB 标准资源字符串(Keysight IO Libraries 识别):

  plaintext

  GPIB::10::INSTR

  10 为仪器 GPIB 地址(面板可设 1–30)。

  2.2 大块二进制数据高速传输优化

  DLOG 二进制文件数据量大,GPIB 默认块传输模式(# 长度头格式)原生支持:

  启用二进制块输出(大幅提速,减少解析开销)

  scpi

  FORM:BORD SWAP ! 大端/小端字节序匹配PC

  FORM:DATA BIN ! 设置DATA?返回二进制块

  恢复 ASCII 文本模式(方便调试查看)

  scpi

  FORM:DATA ASC

  2.3 GPIB 总线速率瓶颈对比

  GPIB 标准带宽:≈1MB/s 峰值

  TCPIP 以太网:≈10–100MB/s

  USB 高速:≈40MB/s 短板场景:长时间高采样率超大 DLOG 文件(百万级采样点),GPIB 传输耗时明显更长;短 LIST 测试、ELOG 事件、抖动统计无速度压力。

  3、完整 GPIB 读取 LIST 记录标准流程

  scpi

  *RST;*CLS

  ! 1.清空旧缓存,开启LIST采样与时序捕获

  SOUR:LIST:DLOG:CLE

  SOUR:LIST:TIM:CLE

  SOUR:LIST:TIM:CAPT ON

  ! 2.执行列表

  SOUR:LIST:RUN

  *WAI

  ! 3.切换二进制模式提速GPIB传输

  FORM:BORD SWAP

  FORM:DATA BIN

  ! 4.GPIB取回三类LIST运行记录

  SOUR:LIST:DLOG:DATA? 0.MAX ! V/I采样波形

  SOUR:LIST:TIM:JIT:DATA? 0.MAX ! 步进抖动原始值

  MEM:ELOG:DATA? 0.MAX ! 运行事件日志

  ! 5.如需读取已存日志文件

  MEM:DATA? "INT:LOGlist_log.dlog"

  4、机型兼容边界

  N79xxA / N89xxA:标配 GPIB 接口(部分机型为选配模块),全套 MEM/List/DLOG/ELOG 指令 GPIB 全兼容;

  E36100 BT 小型双向源:大多无硬件 GPIB,仅 USB/LAN,不存在 GPIB 传输场景;

  N6705B 主机:自带 GPIB,LIST 记录同样支持 GPIB SCPI 上传,无功能阉割。

  5、GPIB 传输常见问题与规避

  大块数据读取超时 VISA 超时参数放大(Python 示例):

  python

  运行

  inst = rm.open_resource("GPIB::10::INSTR")

  inst.timeout = 120000 # 单位ms,设2分钟应对大文件

  二进制数据乱码 必须统一FORM:BORD字节序,上位机严格按照块长度头解析二进制流,不要当作 ASCII 字符串处理;

  传输中途报错 - 258/-410 GPIB 缓冲区溢出:分块读取大文件,不要一次性0.MAX拉取超大点数:

  scpi

  ! 分块读取DLOG,每次50000点

  SOUR:LIST:DLOG:DATA? 0.50000

  SOUR:LIST:DLOG:DATA? 50000.50000

  6、替代折中方案(GPIB 速度不足时)

  仪器内部自动保存日志到 INT/USB 闪存,仅通过 GPIB 下发MEM:DATA?拉取成品文件(比实时缓存流式读取稳定);

  超大采样场景改用 LAN/TCPIP 传输;

  测试完成后 U 盘拷贝日志,GPIB 仅做程控控制,不做大数据导出。

  7、Python GPIB 极简读取示例

  python

  运行

  import pyvisa

  rm = pyvisa.ResourceManager()

  inst = rm.open_resource("GPIB::10::INSTR", timeout=120000)

  # 配置二进制传输

  inst.write("FORM:BORD SWAP")

  inst.write("FORM:DATA BIN")

  # 读取LIST DLOG采样数据

  dlog_raw = inst.query_binary_values("SOUR:LIST:DLOG:DATA? 0.MAX", datatype='f')

  # 读取抖动数组

  jitter_arr = inst.query_binary_values("SOUR:LIST:TIM:JIT:DATA? 0.MAX", datatype='f')

  print(f"DLOG采样点数:{len(dlog_raw)//2}") # V、I成对存储

  inst.close()