Вопрос по событиям на лицевой панеле
-
- user
- Сообщения: 72
- Зарегистрирован: 13 сен 2011, 18:06
- Версия LabVIEW: 2009
- Контактная информация:
Вопрос по событиям на лицевой панеле
Здравствуйте, подскажите пожалуйста. Вопрос по Event. По задумке, когда загружается программа, то открывается файл конфигурации прибора и если были изменения настроек, то на выходе задать вопрос об сохранении изменений. Сколько литеретуры просмотрел, но хорошего описания об Event-структурах не нашел, да об самих событиях тоже мало написано. Может подскажите где об этом почитать с примерчиками бы, конечно. Заранее благодарен.
-
- user
- Сообщения: 72
- Зарегистрирован: 13 сен 2011, 18:06
- Версия LabVIEW: 2009
- Контактная информация:
Re: Вопрос по событиям на лицевой панеле
Здравствуйте, дорогие, коллеги! Почему при использовании Event структуры для определения событий на ЛП (нажал на кнопку, изменил значение слайдер-контрола) программа просто подвисает (видимо зацикливается на опросе Event-структур) ? Как сделать так, чтобы и программа автономно работала, и события на ЛП отслеживались, и по этим событиям программа их отрабатывала? Или нужно синхронизируемые процессы понадобятся?
-
IvanLis
- guru
- Сообщения: 5462
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 86 раз
Re: Вопрос по событиям на лицевой панеле
У Вас наверное события не верно определены.Vladimir_T писал(а):Здравствуйте, дорогие, коллеги! Почему при использовании Event структуры для определения событий на ЛП (нажал на кнопку, изменил значение слайдер-контрола) программа просто подвисает (видимо зацикливается на опросе Event-структур) ? Как сделать так, чтобы и программа автономно работала, и события на ЛП отслеживались, и по этим событиям программа их отрабатывала? Или нужно синхронизируемые процессы понадобятся?
Но без созерцания программы этого сказать нельзя
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
- VIP
- Сообщения: 1327
- Зарегистрирован: 03 фев 2010, 00:42
- Награды: 6
- Версия LabVIEW: 6.1 - 2024
- Откуда: Германия
- Благодарил (а): 1 раз
- Поблагодарили: 38 раз
- Контактная информация:
Re: Вопрос по событиям на лицевой панеле
Если у вас несколько таких структур - сведите всё к одной. Использовать несколько структур в одном инструменте сильно не рекомендуетсяVladimir_T писал(а):Здравствуйте, дорогие, коллеги! Почему при использовании Event структуры для определения событий на ЛП (нажал на кнопку, изменил значение слайдер-контрола) программа просто подвисает (видимо зацикливается на опросе Event-структур)?
http://zone.ni.com/reference/en-XX/help ... dtnsevnts/
-
- user
- Сообщения: 72
- Зарегистрирован: 13 сен 2011, 18:06
- Версия LabVIEW: 2009
- Контактная информация:
Re: Вопрос по событиям на лицевой панеле
Спасибо за ответы, как лучше прикрепить код в виде VI или блок схемы (картинкой)? Хотя последнее я не знаю как делается.... часто вижу, что картинки блок-схем выкладывают, а как это делается?
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 126 раз
- Контактная информация:
Re: Вопрос по событиям на лицевой панеле
http://www.labviewportal.org/viewtopic. ... =15#p50360Vladimir_T писал(а):Спасибо за ответы, как лучше прикрепить код в виде VI или блок схемы (картинкой)? Хотя последнее я не знаю как делается.... часто вижу, что картинки блок-схем выкладывают, а как это делается?
Или вы имели в виду, как сохранить скрин БД? Проще всего так: на БД нажать Ctrl+A -> в меню Edit -> Create VI Snippet from Selection. Сохраненный файл загружайте на форум и выкладывайте.
-
- user
- Сообщения: 72
- Зарегистрирован: 13 сен 2011, 18:06
- Версия LabVIEW: 2009
- Контактная информация:
Re: Вопрос по событиям на лицевой панеле
Приложил кусок программы для проверки идеи. Идея в том, чтобы при любых изменениях органов управления на ЛП, именно это изменение сохранялось в переменной Command, которая затем должна передаваться в реальный прибор. Сейчас идея работатет и не подвисает, в переменной Command сохраняются значения, но дальше передача не идет, даже принудительно по кнопке Передача.
- Вложения
-
- Check_Event_Struct.vi
- Тест на события ЛП
- (16.3 КБ) 147 скачиваний
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 126 раз
- Контактная информация:
Re: Вопрос по событиям на лицевой панеле
Vladimir_T
У вас на инструмент ИЛИ приходят два провода, один с кнопки "Передача/Прием", другой - из структуры события. Даже если вы нажали кнопку "Передача/Прием", будет ожидать наступления события - изменения состояния элементов LASER, LED_MODE, Power. Как только оба входа ИЛИ будут определены, тогда программа перейдёт к структуре Case. А вообще, если поменять местами True и False в Case, то получится примерно то, что вы хотите: при активации состояния "Передача" и нажатии LASER, LED_MODE, Power лампочка будет мигать. Нужно ещё сделать "отжатие" кнопок при их нажатии. И, возможно, определить таймаут для Event'а. Хотя, я бы обошелся в вашем случае обычными кейсами и селекторами вместо событий.
У вас на инструмент ИЛИ приходят два провода, один с кнопки "Передача/Прием", другой - из структуры события. Даже если вы нажали кнопку "Передача/Прием", будет ожидать наступления события - изменения состояния элементов LASER, LED_MODE, Power. Как только оба входа ИЛИ будут определены, тогда программа перейдёт к структуре Case. А вообще, если поменять местами True и False в Case, то получится примерно то, что вы хотите: при активации состояния "Передача" и нажатии LASER, LED_MODE, Power лампочка будет мигать. Нужно ещё сделать "отжатие" кнопок при их нажатии. И, возможно, определить таймаут для Event'а. Хотя, я бы обошелся в вашем случае обычными кейсами и селекторами вместо событий.
-
- user
- Сообщения: 72
- Зарегистрирован: 13 сен 2011, 18:06
- Версия LabVIEW: 2009
- Контактная информация:
Re: Вопрос по событиям на лицевой панеле
Спасибо за помощь, ошибку исправил: условие в стркутуре Case поменял. Действительно все события отслеживаются, но кнопка "Передача" теперь стала зависеть от Event - структуры. Почему так?
- Вложения
-
- Check_Event_Struct.vi
- (11.9 КБ) 136 скачиваний
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 126 раз
- Контактная информация:
Re: Вопрос по событиям на лицевой панеле
Vladimir_T, измените у кнопки Mechanical Action с Latch на Switch, если хотите, чтобы она оставалась в прежнем состоянии. Просто сейчас она у вас отжимается на следующей итерации цикла, вот и всё.
-
- user
- Сообщения: 72
- Зарегистрирован: 13 сен 2011, 18:06
- Версия LabVIEW: 2009
- Контактная информация:
Re: Вопрос по событиям на лицевой панеле
Вот хочу приложить фрагмент. Это только тестовый кусок для проверки самой идеи. Все получилось, как по задумке.
- Вложения
-
- Check_Event_Structure_2.vi
- (14.71 КБ) 144 скачивания
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 3 Ответы
- 347 Просмотры
-
Последнее сообщение ujin1
-
- 7 Ответы
- 916 Просмотры
-
Последнее сообщение dadreamer
-
- 10 Ответы
- 761 Просмотры
-
Последнее сообщение Zloydj
-
- 14 Ответы
- 690 Просмотры
-
Последнее сообщение Vladimir_T