Добрый день. В данный момент изучаю LabVIEW и модульные приборы PXI.
Работаю с платой NI PXIe-6555 (генератор цифровых сигналов). Стоит задача, которая вызвала у меня затруднение:
Необходимо сформировать управляющие последовательности на выходах платы:
1. DIO_0 - тактовая частота (сделал)
2. DIO_1...DIO_3 - отправлять управляющие команды по SPI, по нажатию кнопки.
Проблема состоит в том, что я сформировал частоту на выход DIO_0 и получается, что сессия работы с DIO_0 открыта. Когда я хочу начать сессию с другими выходами (DIO_1...DIO_3), чтобы отправить посылку SPI, появляется ошибка - необходимо завершить начатую сессию, чтобы обратиться к другими DIO. Я не могу её завершить, так как прервется тактовая частота.
Вопросы:
1. Подскажите варианты решения данной ситуации.
2. Можно ли записать в память платы сигнал, завершить сессию работы с этой платой, при этом, чтобы этот сигнал бесконечно повторялся ?
3. Может быть это проще сделать через скриптовое описание? Подскажите пожулайста, материал с котором можно начать изучение скриптов в LabVIEW, а именно для генерации сигналов.
Заранее спасибо.
Вопросы по плате HSDIO
-
- interested
- Сообщения: 2
- Зарегистрирован: 31 окт 2013, 09:48
- Версия LabVIEW: 2013
- Контактная информация:
-
Andrew Lunev
- VIP
- Сообщения: 957
- Зарегистрирован: 11 дек 2010, 12:31
- Награды: 2
- Версия LabVIEW: 2014-2021
- Откуда: Москва
- Благодарил (а): 4 раза
- Поблагодарили: 10 раз
Re: Вопросы по плате HSDIO
1. С вашим генератором я не работал, но скорее всего программируется он по стандартной концепции NI. В таком случае вы не можете создать несколько задач цифрового вывода одновременно. Задача может быть только одна, но она может быть многоканальной. Поэтому создаете четырехканальную задачу и для каждого канала формируете нужную цифровую последовательность.
2. Записать сигнал в плату можно и пустить его по кругу тоже можно, но только для задачи целиком и не завершая сессию(задачу).
3. Не понимаю про какие скрипты в LabView вы говорите. Что вы называете скриптами?
Если тактовая частота должны быть всегда, а команды по SPI должны меняться, то остается только в реальном времени генерировать последовательность и посылать ее в буфер. Но тут надо следить чтобы буфер не опустошался, иначе тактовый сигнал собьется.
Если тактовый сигнал нужен только в момент подачи команд, то генерируете сигналы на 4 канала, записываете в буфер и запускаете на вывод. После завершения вывода команды задача остановится. Следующую команду формируете так же и перезапускаете задачу.
2. Записать сигнал в плату можно и пустить его по кругу тоже можно, но только для задачи целиком и не завершая сессию(задачу).
3. Не понимаю про какие скрипты в LabView вы говорите. Что вы называете скриптами?
Если тактовая частота должны быть всегда, а команды по SPI должны меняться, то остается только в реальном времени генерировать последовательность и посылать ее в буфер. Но тут надо следить чтобы буфер не опустошался, иначе тактовый сигнал собьется.
Если тактовый сигнал нужен только в момент подачи команд, то генерируете сигналы на 4 канала, записываете в буфер и запускаете на вывод. После завершения вывода команды задача остановится. Следующую команду формируете так же и перезапускаете задачу.
-
- interested
- Сообщения: 2
- Зарегистрирован: 31 окт 2013, 09:48
- Версия LabVIEW: 2013
- Контактная информация:
Re: Вопросы по плате HSDIO
Сейчас я пошел по такому пути решения:
1. Создаю два файла в waveform editor, которые описывают все задействованные каналы.
1ый файл с частотой, которая пойдет на DIO_0:
2ой такой же файл, но в дальнейшем в него буду добавлять команды SPI:
2. После этого записываю два этих файла в память платы.
3. по срабатыванию кнопки "отправить команду SPI", я переписываю файл SPI , добавляя в него команду:
4. Устанавливаю триггер, который запускает передачу файла с командой.
5. после отправки этого файла, продолжаю посылать файл WORK...
Моя программа:
(в данный момент вместо добавления команд SPI, я просто рандомом переписываю файл SPI (для отладки процесса перезаписи файла в памяти платы.))
Переключение генерации среди файлов, происходит по триггеру без проблем. Однако в памяти платы waveform "SPI" почему то не обновляется..
1. Создаю два файла в waveform editor, которые описывают все задействованные каналы.
1ый файл с частотой, которая пойдет на DIO_0:
2ой такой же файл, но в дальнейшем в него буду добавлять команды SPI:
2. После этого записываю два этих файла в память платы.
3. по срабатыванию кнопки "отправить команду SPI", я переписываю файл SPI , добавляя в него команду:
4. Устанавливаю триггер, который запускает передачу файла с командой.
5. после отправки этого файла, продолжаю посылать файл WORK...
Моя программа:
(в данный момент вместо добавления команд SPI, я просто рандомом переписываю файл SPI (для отладки процесса перезаписи файла в памяти платы.))
Переключение генерации среди файлов, происходит по триггеру без проблем. Однако в памяти платы waveform "SPI" почему то не обновляется..
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 10 Ответы
- 773 Просмотры
-
Последнее сообщение Zloydj