Push button

Простейшие вопросы в области инженерной разработки
Ответить
Yurets
advanced
advanced
Сообщения: 180
Зарегистрирован: 03 дек 2014, 12:36
Версия LabVIEW: 7.1;12
Контактная информация:

Push button

Сообщение Yurets »

Здравствуйте уважаемые форумчане, подскажите пожалуйста по Push button.
Имееися несколько Push button. И по нажатию одного из них выполняется алгоритм. Какое это событие в Event?
Т.е. пока кнопка нажата выполняется алгоритм Push button1.
Спасибо.
Вложения
Безымянный.png
Аватара пользователя
Vitekkz88

Activity Silver Автор
expert
expert
Сообщения: 1100
Зарегистрирован: 21 янв 2014, 15:45
Награды: 3
Версия LabVIEW: 12,13,14
Откуда: Томск
Контактная информация:

Re: Push button

Сообщение Vitekkz88 »

Вынесите выполнение алгоритма за рамки Event-структуры. Само событие(True/False) для кнопки ловите через очередь или уведомитель. Если нужно дёрнуть event-структуру в какой-то момент, то UserEvents используйте.
Вложения
Кнопка.png
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
Аватара пользователя
Vitekkz88

Activity Silver Автор
expert
expert
Сообщения: 1100
Зарегистрирован: 21 янв 2014, 15:45
Награды: 3
Версия LabVIEW: 12,13,14
Откуда: Томск
Контактная информация:

Re: Push button

Сообщение Vitekkz88 »

Yurets, у кнопки задайте свойство Latch Until Relesead если под нажатием имеется ввиду физически, то есть пользователь нажал кнопку и удерживает. Если кнопка залипаемая, то тем более выносите выносите выполнение алгоритма из event-структуры. Что там за хитрый алгоритм, который не может быть реализован в другом потоке? Если же всё-таки нужно это делать в Event-е, то тогда UserEvents используйте и генерируйте события на своё усмотрение.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
Yurets
advanced
advanced
Сообщения: 180
Зарегистрирован: 03 дек 2014, 12:36
Версия LabVIEW: 7.1;12
Контактная информация:

Re: Push button

Сообщение Yurets »

Алгоритм не хитрый, просто длительный по времени из-за работы с несколькими устройствами, а у Вас в предложенном примере ошибка не вылетает?
Yurets
advanced
advanced
Сообщения: 180
Зарегистрирован: 03 дек 2014, 12:36
Версия LabVIEW: 7.1;12
Контактная информация:

Re: Push button

Сообщение Yurets »

Очень тяжело уходить от эвента, когда все проекты были на нем и работают стабильно.
Но не всё им можно реализовать как оказалось.Очень жаль.
Пришло время панели синхронизации.
Yurets
advanced
advanced
Сообщения: 180
Зарегистрирован: 03 дек 2014, 12:36
Версия LabVIEW: 7.1;12
Контактная информация:

Re: Push button

Сообщение Yurets »

Спасибо
Аватара пользователя
Vitekkz88

Activity Silver Автор
expert
expert
Сообщения: 1100
Зарегистрирован: 21 янв 2014, 15:45
Награды: 3
Версия LabVIEW: 12,13,14
Откуда: Томск
Контактная информация:

Re: Push button

Сообщение Vitekkz88 »

Event структура как бы намекает:"эй, разработчик! Я предназначена для обработки пользовательских событий ". Не надо туда пихать всякого, а затем костылей прикручивать. Делайте по классике, проблем будет в разы меньше! Инфа сотка:-)
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
Yurets
advanced
advanced
Сообщения: 180
Зарегистрирован: 03 дек 2014, 12:36
Версия LabVIEW: 7.1;12
Контактная информация:

Re: Push button

Сообщение Yurets »

Да, работает программа шикарно. Прям ощущение, что стала быстрее.
Возник такой вопрос:
Имеется около 10 событий.
Чтобы запустить одно событие нужно нажать кнопку этого события, чтобы остановить нажать ту же кнопку.
Получается, чтобы запустить другое событие надо сначала выключить кнопку "предыдуще-включенного" события.
Вроде бы мелочь, но пользователи "заклюют".
А хочется сделать, чтоб работало как эвент: Если включено одно событие- другие выключены.
Как этого добиться с помощью уведомителей.
Пример прилагаю.
Спасибо.
Вложения
Уведомитель события.vi
2 события. Должно работать только одно
(26.03 КБ) 81 скачивание
Аватара пользователя
Vitekkz88

Activity Silver Автор
expert
expert
Сообщения: 1100
Зарегистрирован: 21 янв 2014, 15:45
Награды: 3
Версия LabVIEW: 12,13,14
Откуда: Томск
Контактная информация:

Re: Push button

Сообщение Vitekkz88 »

Yurets, у вас в коде 2 event-структуры, не надо так. Одной хватит для обработки событий. Разделите задачи на группы: группа задач для параллельного исполнения и группа задач, в которой может быть активна только одна. Тогда нужно будет менять только состояние предыдущей кнопки на false,а задача будет остановлена, т.к. будет запущена другая из этой группы.
Ту группу, где может быть только одна задача выносите в отдельный поток.
Для параллельных задач делайте отдельный цикл на каждую задачу.
Пример приложил.
Вложения
Уведомитель события.vi
(27.49 КБ) 88 скачиваний
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
Yurets
advanced
advanced
Сообщения: 180
Зарегистрирован: 03 дек 2014, 12:36
Версия LabVIEW: 7.1;12
Контактная информация:

Re: Push button

Сообщение Yurets »

Vitekkz88
Спасибо большое, работает отлично, пользователи тоже отметили четкое срабатывание кнопок
Ответить

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