FAQs from Rohde & Schwarz

如何自动将 IQ 数据从 FSVR 频谱分析仪传输至 VSE 软件——Python 示例

问题

以下一则 Python 示例演示了如何将 IQ 数据文件从频谱分析仪传输至控制器电脑并使用 VSE 信号分析软件打开。

有关测试与测量设备远程控制的更多信息,请参阅设备的使用手册和罗德与施瓦茨网站:

https://www.rohde-schwarz.com/driver-pages/remote-control/drivers-remote-control_110753.html

回答

以下一则 Python 示例演示了如何将 IQ 数据文件从频谱分析仪传输至控制器电脑并使用 VSE 信号分析软件打开。

使用以下工具进行测试:

  • FSVR 实时频谱分析仪(固件:2.23 SP1)
  • VSE 软件 (1.90)
  • PyVISA 1.11.3
  • Python 3.9

作者:罗德与施瓦茨支持部门 ─ MP

更新时间:2021 年 1 月 22 日

版本:v1.3

技术支持 -> https://www.rohde-schwarz.com/support
运行之前,请检查脚本是否存在不当设置!
本示例并不完整。所有信息均
精心编写, 但不保证无任何错误。

import pyvisa

rm = pyvisa.ResourceManager()
# 根据仪器调整合适的 VISA 资源字符串
instr = rm.open_resource('TCPIP::192.168.0.1::INSTR') # 替换为您的 IP 地址
instr.write_termination = '\n'
instr.read_termination = '\n'
instr.timeout = 3000

vse = rm.open_resource('TCPIP::127.0.0.1::INSTR') # 请勿更改本地主机
vse.timeout = 3000

vse.write('*RST')
vse.query('*OPC?')
instr.write('*RST')
instr.query('*OPC?')
instr.write('*CLS')

instr.write('INIT:CONT OFF')

print('\n' + instr.query('*IDN?'))

instr.write('FREQ:CENT 1e9')
instr.write('DISP:TRAC:Y:RLEV 0')
instr.write('TRAC1:IQ ON')
instr.write('TRAC1:IQ:SRAT 32 MHZ')
instr.write('TRAC1:IQ:RLEN 691') # 范围:1...209715200(200*1024*1024)
instr.query('*OPC?')

filePathPc = r"c:\temp\data.iq.tar"
filePathInstr = r"c:\temp\dev_data.iq.tar"

instr.write('INIT')
instr.query('*OPC?')

# 将 IQ 数据文件保存到仪器硬盘
instr.write(f'MMEM:STOR:IQ:STAT 1, "{filePathInstr}"')

# 请求获取仪器中的文件数据并保存到本机硬盘
fileData = bytes(instr.query_binary_values(f'MMEM:DATA? "{filePathInstr}"', datatype='s'))
newFile = open(filePathPc, "wb")
newFile.write(fileData)
newFile.close()

print(instr.query('SYST:ERR?'))

instr.close()

# 将文件加载到 VSE 软件
vse.write(f'MMEM:LOAD:IQ:STAT 1, "{filePathPc}"')

vse.close()

Name
Type
Version
Date
Size
FSVR IQ-data-transfer 1-3
Type
常见问题
Version
Date
Feb 04, 2021
Size
54 kB