FAQs from Rohde & Schwarz

Comment transférer automatiquement les données I/Q depuis l'analyseur de spectre FSVR vers le logiciel VSE – exemple Python

Question

Cet exemple Python montre comment transférer les données I/Q depuis l'analyseur de spectre vers le contrôleur PC et l'ouvrir avec le logiciel d'analyse de signaux VSE.

Pour de plus amples informations à propos de la commande à distance d'un équipement de Test & Mesure, merci de vous référer aux manuels d'utilisation des instruments et au site interne R&S :

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

Réponse

Cet exemple Python montre comment transférer les données I/Q depuis l'analyseur de spectre vers le contrôleur PC et l'ouvrir avec le logiciel d'analyse de signaux VSE.

Testé avec :

  • Analyseur de spectre temps réel FSVR (FW: 2.23 SP1)
  • Logiciel VSE (1.90)
  • PyVISA 1.11.3
  • Python 3.9

Auteur : R&S Support - MP

Mise à jour le 22.01.2021

Version : v1.3

Support technique -> https://www.rohde-schwarz.com/support
Avant l'exécution, veuillez toujours vérifier ce script pour un réglage non adapté !
Cet exemple ne prétend pas être complet. Toutes les informations ont été
compilées avec soin. Cependant, des erreurs ne peuvent pas être exclues.

import pyvisa

rm = pyvisa.ResourceManager()
# ajuste la séquence de ressources VISA pour s'adapter à votre instrument
instr = rm.open_resource('TCPIP::192.168.0.1::INSTR') # remplacer par votre adresse IP
instr.write_termination = '\n'
instr.read_termination = '\n'
instr.timeout = 3000

vse = rm.open_resource('TCPIP::127.0.0.1::INSTR') # ne pas changer l'hôte 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') # Gamme : 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?')

# sauvegarde le fichier des données I/Q sur le disque dur de l'instrument
instr.write(f'MMEM:STOR:IQ:STAT 1, "{filePathInstr}"')

# demande pour des données de fichier provenant de l'instrument et les sauvegarder vers le disque dur 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()

# charge le fichier dans le logiciel 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