FAQs from Rohde & Schwarz

Автоматический перенос IQ-данных из анализатора спектра FSVR в ПО VSE — пример сценария Python

Вопрос

Пример сценария Python показывает, как перенести файл с IQ-данными из анализатора спектра на управляющий ПК и открыть его с помощью ПО анализа сигналов VSE.

Дополнительную информацию о дистанционном управлении контрольно-измерительным оборудованием см. в руководстве пользователя прибора и на веб-сайте компании R&S:

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

Автор: служба поддержки R&S — MP

Дата последнего обновления: 22.01.2021 г.

Версия: 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') # не изменяйте localhost
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?')

# сохранение файла 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