DAQmx старт-стоп-старт

VISA, TCP/IP, USB, CAN, GPIB и подобные протоколы
Ответить
Artem.spb

Activity Автор
professor
professor
Сообщения: 3624
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 57 раз
Поблагодарили: 195 раз
Контактная информация:

DAQmx старт-стоп-старт

Сообщение Artem.spb »

Никогда такого не было и вот опять не делал и оказалось, что не знаю :crazy:
Суть задачи: по желанию пользователя остановить задачу, а потом её снова запустить. Т.к. конфигурация не меняется, решил не пересоздавать настройки а использовать уже готовое.
Ну и как бонус - после остановки "сбрасывать" выходы в 0 для безопасности. Выяснил на форумах, что общего штатного решения нет, поэтому советуют остановить-записать 0-снова остановить.
И вот оказалось, что функция Stop, хоть в справке и написано, что возвращает задачу в "дозапущенное состояние", останавливает как-то странно, что потом записать в буфер ничего не получится.
stop-help.png
Вопрос: как правильно настроить так, чтобы можно было многократно перезапускать?
stop-start.png
Гоняю на симуляторе, может, в этом причина.
Вложения
daqmx_stop-start.vi
(20.76 КБ) 19 скачиваний
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2303
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 33 раза
Поблагодарили: 34 раза

Re: DAQmx старт-стоп-старт

Сообщение Borjomy_1 »

Виртуально останавливать? Не?
Перезапуск задачи имеет смысл только тогда, когда меняются параметры ввода-вывода.
А виртуальная остановка выполняется однократной записью массива некоторой длины с нулевыми значениями. Буфер циклический и выход будет обновляться автоматически. При старте снова подпихиваете ему буфер с необходимой огибающей
Artem.spb

Activity Автор
professor
professor
Сообщения: 3624
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 57 раз
Поблагодарили: 195 раз
Контактная информация:

Re: DAQmx старт-стоп-старт

Сообщение Artem.spb »

Borjomy_1 писал(а): 17 сен 2025, 07:49 Перезапуск задачи имеет смысл только тогда, когда меняются параметры ввода-вывода.
Так в справке написано, что стоп не для замены настроек, а остановка с сохранением конфигурации.
вот тут прямым текстом с картинками написано сделать, как я поробовал.
А виртуальная остановка выполняется однократной записью массива некоторой длины с нулевыми значениями. Буфер циклический и выход будет обновляться автоматически.
У меня регенерация запрещена, чтобы буфер случайно в цикл не пошёл, хотя это и не критично.
При старте снова подпихиваете ему буфер с необходимой огибающей
С регенерацией никогда не работал, но буфер у меня на 1 сек и такие способы остановки будут медленно реагировать. Сигнал уже должен быть, а он ещё не начал генерироваться.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3624
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 57 раз
Поблагодарили: 195 раз
Контактная информация:

Re: DAQmx старт-стоп-старт

Сообщение Artem.spb »

Для истории: такая фигня творится в симуляторе.
Позже проверил с реальным оборудованием, всё работает без пляски с бубном.
Так что в коде пришлось ставить проверку "если симулятор, так делать не нужно"
Ответить

Вернуться в «Коммуникация с приборами»