资讯中心

联系我们

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

如何通过SCPI指令查询双向直流电源输出电压序列的插值时间间隔历史记录?

2026-01-09 09:33:35  点击:

要通过SCPI指令查询双向直流电源输出电压序列的插值时间间隔历史记录,需结合数据记录功能序列配置查询指令实现,具体步骤如下:

1. 确认电源支持的数据记录功能

双向直流电源(如Keysight N6700、E36300系列)通常内置数据记录仪,可记录电压、电流随时间的变化。需通过SCPI指令启用数据记录并配置存储参数:

scpi*RST  ; 复位电源DATA:LOG:STAT ON  ; 启用数据记录
DATA:LOG:SOUR VOLTage  ; 设置记录源为电压
DATA:LOG:TIME 1000  ; 设置采样间隔为1000ms(1s)
DATA:LOG:COUN 100  ; 设置记录点数为100(总记录时间=1000ms×100=100s)
DATA:LOG:STAR  ; 启动数据记录
  • 参数说明
    • DATA:LOG:TIME:采样间隔(单位:ms或s,需与电源要求一致)。
    • DATA:LOG:COUN:记录点数,总记录时间 = 采样间隔 × 记录点数。

2. 查询数据记录内容

数据记录完成后,通过以下指令读取记录的电压序列和时间戳:

scpiDATA:LOG:DATA?  ; 查询所有记录数据(电压值和时间戳)
  • 返回格式:通常为逗号分隔的数值对(如12.0,0.0,24.0,1.0,0.0,2.0),其中奇数位为电压值,偶数位为时间戳(单位:s或ms)。

3. 查询序列配置参数

若需查询电压序列的插值时间间隔(即相邻电压点间的切换时间),需通过序列配置指令获取:

scpiPROG:LIST:VOLT:DATA1?  ; 查询列表模式第1步电压和时间PROG:LIST:VOLT:DATA2?  ; 查询列表模式第2步电压和时间
  • 返回格式12.0,1000(电压12V,保持时间1000ms),插值时间间隔即为相邻步骤的保持时间。

4. 结合时间戳计算历史插值间隔

若数据记录仪已记录电压变化的时间戳,可通过以下步骤计算历史插值间隔:

  1. 读取数据记录仪的时间戳和电压值(DATA:LOG:DATA?)。
  2. 遍历数据点,计算相邻电压值变化的时间差:
    python# 示例:解析返回的数据并计算插值间隔raw_data = "12.0,0.0,24.0,1.0,0.0,2.0"  # 假设返回数据data_pairs = [float(x) for x in raw_data.split(',')]voltages = data_pairs[::2]  # 提取电压值timestamps = data_pairs[1::2]  # 提取时间戳for i in range(1, len(timestamps)):    interval = timestamps[i] - timestamps[i-1]    print(f"插值间隔 {i}: {interval}s")

5. 注意事项

  1. 单位一致性:确保采样间隔(DATA:LOG:TIME)和时间戳单位一致(如均为ms或s)。
  2. 电源限制:检查电源的最大记录点数和采样率是否支持目标时间分辨率。
  3. 数据存储:部分电源需插入U盘保存数据记录,查询前需确认存储路径:
    scpiDATA:LOG:DEST "USB"  ; 设置数据存储至U盘
  4. 错误处理:查询前清除错误队列,避免历史错误影响结果:
    scpi*CLS  ; 清除错误队列SYST:ERR?  ; 查询当前错误(可选)