Вопрос
Как можно генерировать, передавать и обрабатывать файл сигнала произвольной формы для HMF2550 в режиме дистанционного управления?
Мне не удалось найти команду загрузки файла сигнала с USB-носителя.
Как можно генерировать, передавать и обрабатывать файл сигнала произвольной формы для HMF2550 в режиме дистанционного управления?
Мне не удалось найти команду загрузки файла сигнала с USB-носителя.
Использовать файл сигнала с USB-носителя можно только с передней панели. Для подобных действий нет команд дистанционного управления. Вместе с тем можно генерировать и запускать отдельные файлы ARB, используя интерфейс дистанционного управления.
Так как это основа данного режима работы, мы начинаем с генерации файла сигнала произвольной формы. Файл должен иметь двоичный формат. В руководстве для программистов SCPI есть следующее описание:
Мы используем LabVIEW для демонстрации подготовки данных. Найдите пример VI и двоичный файл в приложении:
При этом генерируются необходимые данные ARB с объединением различных сигналов в целевом двоичном файле.
Этот сигнал отображает один период; например, на частоте 3 кГц этот файл воспроизводится 3000 раз в секунду.
После подготовки файла можно сразу начинать программирование. Наш пример написан в R&S Forum, бесплатном интерпретаторе на базе языка Python, размещенном на главной странице сайта компании Rohde & Schwarz. Здесь отображаются все действия от передачи файла до окончательной генерации сигнала.
Так как используются команды SCPI, программист может легко переписать код на любом другом языке.
***
# Файлы для импорта должны находиться в той же папке, в который располагается текущий скрипт
import VisaDeviceExtended
reload (VisaDeviceExtended)
# Проверка присутствия прибора
idnResponse = HMF2550.query ('*IDN?')
print 'Hello, I am ' + idnResponse
# Перезапустите устройство, дождитесь окончания перезапуска, сбросьте байт состояния,
# запросите ошибки (их быть не должно)
HMF2550.write ("*RST")
time.sleep(1)
HMF2550.write ("*CLS")
HMF2550.ask ("SYST:ERR?")
# Скопируйте файл ARB с ПК на прибор и запросите ошибки
# На языке Python всегда обращайте внимание на управляющие символы во избежание
# неправильного распознавания путей (см. r); в конце должно быть установлено True,
# особенно для данных устройств HMx (по умолчанию False)
HMF2550.ext_send_pc_file_data_to_instrument (r"DATA ", r"c:\temp\_lv_arb_file.bin", True)
HMF2550.ask ("SYST:ERR?")
# Настройте все необходимые параметры для ARB
HMF2550.write ('FREQ 3000') # Частота 3 кГц
HMF2550.ask ("SYST:ERR?")
HMF2550.write ('VOLT:UNIT VOLT') # Установка единицы измерения амплитуды (также может быть DBM (дБмВт))
HMF2550.ask ("SYST:ERR?")
HMF2550.write ('VOLT 2') # Установка 2 Вольт в качестве амплитуды
HMF2550.ask ("SYST:ERR?")
HMF2550.write ('FUNC:ARB RAM') # Установка режима ARB
HMF2550.ask ("SYST:ERR?")
HMF2550.write ("FUNC ARB") # Включение режима ARB
HMF2550.ask ("SYST:ERR?")
HMF2550.write ("OUTP ON") # Включение вывода (теперь должен быть сигнал)
HMF2550.ask ("SYST:ERR?")
print "ready"
***
В итоге на HMF2550 должна отображаться следующая информация:
На осциллографе будет отображаться следующая осциллограмма: