Доброго времени суток!
Требуется помощь в одной задаче. На Labview программирую не долго, месяца 3 всего) Поэтому не обессудьте уж)
Задача состоит в том, чтобы написать программу сбора данных с обработкой событий интерфейса.
В прилагаемом примере все вроде бы работает, как надо, за исключением одного: почему-то не изменяет состояние notifier, отвечающий за остановку циклов... Причем в главном цикле он состояние меняет, а потом нет. Буду рад ответам и общим советам
P.s. пример носит статут тестового шаблона, так что есть некоторые огрехи в стиле
Notifier' ы и параллельные циклы
-
Kosist
- expert
- Сообщения: 1236
- Зарегистрирован: 21 фев 2011, 23:44
- Награды: 2
- Версия LabVIEW: 2013-2020
- Благодарил (а): 23 раза
- Поблагодарили: 30 раз
- Контактная информация:
Re: Notifier' ы и параллельные циклы
Notifiers для этой цели не годятся - они блокируют друг друга, нет буффера данных. В Вашем примере программа заходит в цикл, а нотифер остановки читается перед циклом - поэтому программа никогда не прочитает нотифер остановки.
А для Вашей задачи нужно использовать Producer Consumer Queued State Machine паттерн; где верхний цикл будет получать данные/комманды пользователя, и передавать при помощи очереди в нижний цикл.
По этому паттерну инфы полно и у нас на портале, и на ni-вских - попробуйте, это Вам поможет.
А для Вашей задачи нужно использовать Producer Consumer Queued State Machine паттерн; где верхний цикл будет получать данные/комманды пользователя, и передавать при помощи очереди в нижний цикл.
По этому паттерну инфы полно и у нас на портале, и на ni-вских - попробуйте, это Вам поможет.
Мы делили апельсин - много наших полегло...