FAQs from Rohde & Schwarz

Cómo transferir de manera automática datos I/Q del analizador de espectro R&S®FSVR al software VSE - Ejemplo de Python

Pregunta

Este ejemplo de Python muestra cómo transferir un archivo de datos I/Q del analizador de espectro a la PC controladora y cómo abrirlo con el software de análisis de señales VSE.

Para obtener más información sobre el control remoto de instrumentos de prueba y medición, consulte los manuales de usuario de los instrumentos y el sitio web de Rohde & Schwarz:

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

Respuesta

Este ejemplo de Python muestra cómo transferir un archivo de datos I/Q del analizador de espectro a la PC controladora y cómo abrirlo con el software de análisis de señales VSE.

Probado con:

  • Analizador de espectro R&S®FSVR (FW: 2.23 SP1) en tiempo real
  • Software R&S®VSE (1.90)
  • PyVISA 1.11.3
  • Python 3.9

Autor: R&S Support - MP

Actualizado el 22.01.2021

Versión: v1.3

Soporte técnico -> https://www.rohde-schwarz.com/support
. Antes de ejecutarlo, por favor, siempre compruebe que este script no tenga una configuración inadecuada.
Este ejemplo no pretende estar completo. Toda la información ha sido
recopilada minuciosamente. No obstante, no pueden descartarse errores.

import pyvisa

rm = pyvisa.ResourceManager()
ajuste la cadena de recursos VISA para que se adapte a su instrumento
instr = rm.open_resource('TCPIP::192.168.0.1::INSTR') # reemplácela por su dirección IP
instr.write_termination = '\n'
instr.read_termination = '\n'
instr.timeout = 3000

vse = rm.open_resource('TCPIP::127.0.0.1::INSTR') # no cambie el host local
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') # Range: 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?')

# guarde los archivo de datos I/Q en el disco duro del instrumento
instr.write(f'MMEM:STOR:IQ:STAT 1, "{filePathInstr}"')

# pida los datos del instrumento y guárdelos en el disco duro local
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()

# cargue el archivo en el software VSE
vse.write(f'MMEM:LOAD:IQ:STAT 1, "{filePathPc}"')

vse.close()

Name
Type
Version
Date
Size
FSVR IQ-data-transfer 1-3
Type
FAQ
Version
Date
Feb 04, 2021
Size
54 kB