Меню, обработка событий.

Простейшие вопросы в области инженерной разработки
Ответить
WSLB60
beginner
beginner
Сообщения: 19
Зарегистрирован: 18 окт 2016, 11:18
Версия LabVIEW: 2015 SP1

Меню, обработка событий.

Сообщение WSLB60 »

Добрый день. Помогите пожалуйста разобраться с такой темой, как обоработка событий.

Создано основное меню (VI 1) из которого вызывается основное приложение (VI 2).
В VI 2 я выставляю необходимые параметры и запускаю обработку при помощи Event Structure.
Но мне также необходимо иметь возможность вернуться в главное меню и вызвать еще несколько VI по завершению работы главного цикла или перед ним.
Возможно ли сделать так, чтобы Event Structure обрабатывал события не единоразово, а при каждом обращении к нему? Или для этого его необходимо вложить в цикл?
Структура моего VI 2 выглядит так:Изображение
Artem.spb

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

Re: Меню, обработка событий.

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

WSLB60 писал(а): Возможно ли сделать так, чтобы Event Structure обрабатывал события не единоразово, а при каждом обращении к нему?
структура и так обрабатывает (НАКАПЛИВАЕТ) события до тех пор, пока приложение запущено.
Для проверки нажмите Run второй раз, приложение "зависнет" - событие "поймано" и структура ждёт, когда сможет на него среагировать.
А вот реакция происходит при очередном обращении, для этого как раз нужен цикл.
И нет смысла городить две структуры, лучше сделать одну в цикле и в ней обрабатывать все события (в разных кейсах).
WSLB60
beginner
beginner
Сообщения: 19
Зарегистрирован: 18 окт 2016, 11:18
Версия LabVIEW: 2015 SP1

Re: Меню, обработка событий.

Сообщение WSLB60 »

Большое Вам спасибо. Совет помог.
Структура теперь выглядит вот так:
Изображение

Правда, у меня довольно громоздкий внутренний цикл.
Возможно ли обойтись без внешнего цикла для решения подобной задачи? Или это проблематично?
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Меню, обработка событий.

Сообщение dadreamer »

WSLB60, вам надо развязать цикл обработки (G)UI и цикл генерации/обработки данных. Должно быть минимум два параллельных цикла. Связь между циклами выполняется через инструменты синхронизации. Почитайте, например, вот это сообщение: http://www.labviewportal.org/viewtopic. ... 332#p72332 Думаю, шаблон "Producer - Consumer" должен подойти в вашем случае. Пользуйтесь поиском, эта тема обсуждалась миллион раз здесь и на других порталах.

Кроме того, правила форума запрещают выкладывать изображения на сторонних ресурсах. Прикрепляйте ваши картинки к сообщению с помощью кнопки "Ответит" / "Цитата" и вкладки "Добавить вложения" под сообщением.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»