Я пытаюсь загрузить сигналы произвольной формы на генератор сигналов Rigol DG4062. Я не использую какие-либо предварительно написанные библиотеки VISA. Я отправляю простые команды SCPI на IP-адрес моего устройства. Следующая последовательность команд работает без ошибок:
- Настройка свойств канала, таких как выходная нагрузка, частота и амплитуда напряжения
- Загрузка сигнала произвольной формы (с использованием библиотеки сокетов python) использование
:SOURCE2:DATA:VALUE VOLATILE,<comma separated floating point data>
Проблема заключается в том, что если число точек данных в приведенной выше команде превышает определенный порог (1456, если быть точным, найдено методом проб и ошибок), то ошибка не генерируется Устройство, однако, форма сигнала не отображается на выходе генератора сигналов, и я не знаю, был ли он загружен или нет (так как ранее загруженный сигнал не изменяется).
Я пробовал следующие способы, чтобы заставить устройство работать, но безуспешно:
- Проверка хода ранее отправленной команды путем отправки
* CLS; * OP C
и опрос состояния регистров с помощью:
* ESR?
перед отправкой следующих команд.
Использование следующей команды для отправки двоичных блоков данных длиной 16384:
SOURCE2:DATA:DAC VOLATILE,#516384<binary block>
Разбивка данных на более мелкие пакеты и отправка ('\ n') только в последнем пакете (это было сделано для проверки того, происходит ли переполнение буфера TCP в генераторе сигналов).
вопросы:
1. Как я могу загрузить максимальное число произвольных точек, указанных в руководстве (16384 точки одновременно), в генератор сигналов?
2. Есть ли способ отладки передачи данных на устройстве Rigol (кроме использования команд SCPI)?