FAQs from Rohde & Schwarz

Cómo transferir automáticamente datos I/Q del analizador de espectro 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 al PC controlador y abrirlo con el software de análisis de señales VSE.

Para obtener más información sobre el control remoto de equipos de test y medida, consulte el manual de usuario de estos 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 al PC controlador y abrirlo con el software de análisis de señales VSE.

Probado con:

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

Autor: Servicio de asistencia técnica de R&S - MP

Actualizado el 22.01.2021

Versión: v1.3

Soporte técnico -> https://www.rohde-schwarz.com/support
Antes de la ejecución debe comprobarse siempre si la configuración es correcta en este archivo de comandos.
Este ejemplo no pretende ser completo. Toda la información ha sido
recopilada minuciosamente. No obstante, no pueden descartarse errores.

import pyvisa

rm = pyvisa.ResourceManager()
# ajustar el archivo de comandos de recurso VISA conforme a su instrumento
instr = rm.open_resource('TCPIP::192.168.0.1::INSTR') # sustituir 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 cambiar 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') # Rango: 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?')

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

# solicitar datos de archivo del instrumento y guardar 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()

# cargar 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