Push button
-
- advanced
- Сообщения: 180
- Зарегистрирован: 03 дек 2014, 12:36
- Версия LabVIEW: 7.1;12
- Контактная информация:
Push button
Здравствуйте уважаемые форумчане, подскажите пожалуйста по Push button.
Имееися несколько Push button. И по нажатию одного из них выполняется алгоритм. Какое это событие в Event?
Т.е. пока кнопка нажата выполняется алгоритм Push button1.
Спасибо.
Имееися несколько Push button. И по нажатию одного из них выполняется алгоритм. Какое это событие в Event?
Т.е. пока кнопка нажата выполняется алгоритм Push button1.
Спасибо.
-
Vitekkz88
- expert
- Сообщения: 1100
- Зарегистрирован: 21 янв 2014, 15:45
- Награды: 3
- Версия LabVIEW: 12,13,14
- Откуда: Томск
- Контактная информация:
Re: Push button
Вынесите выполнение алгоритма за рамки Event-структуры. Само событие(True/False) для кнопки ловите через очередь или уведомитель. Если нужно дёрнуть event-структуру в какой-то момент, то UserEvents используйте.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
-А. И. Солженицын
-
Vitekkz88
- expert
- Сообщения: 1100
- Зарегистрирован: 21 янв 2014, 15:45
- Награды: 3
- Версия LabVIEW: 12,13,14
- Откуда: Томск
- Контактная информация:
Re: Push button
Yurets, у кнопки задайте свойство Latch Until Relesead если под нажатием имеется ввиду физически, то есть пользователь нажал кнопку и удерживает. Если кнопка залипаемая, то тем более выносите выносите выполнение алгоритма из event-структуры. Что там за хитрый алгоритм, который не может быть реализован в другом потоке? Если же всё-таки нужно это делать в Event-е, то тогда UserEvents используйте и генерируйте события на своё усмотрение.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
-А. И. Солженицын
-
- advanced
- Сообщения: 180
- Зарегистрирован: 03 дек 2014, 12:36
- Версия LabVIEW: 7.1;12
- Контактная информация:
Re: Push button
Алгоритм не хитрый, просто длительный по времени из-за работы с несколькими устройствами, а у Вас в предложенном примере ошибка не вылетает?
-
- advanced
- Сообщения: 180
- Зарегистрирован: 03 дек 2014, 12:36
- Версия LabVIEW: 7.1;12
- Контактная информация:
Re: Push button
Очень тяжело уходить от эвента, когда все проекты были на нем и работают стабильно.
Но не всё им можно реализовать как оказалось.Очень жаль.
Пришло время панели синхронизации.
Но не всё им можно реализовать как оказалось.Очень жаль.
Пришло время панели синхронизации.
-
Vitekkz88
- expert
- Сообщения: 1100
- Зарегистрирован: 21 янв 2014, 15:45
- Награды: 3
- Версия LabVIEW: 12,13,14
- Откуда: Томск
- Контактная информация:
Re: Push button
Event структура как бы намекает:"эй, разработчик! Я предназначена для обработки пользовательских событий ". Не надо туда пихать всякого, а затем костылей прикручивать. Делайте по классике, проблем будет в разы меньше! Инфа сотка:-)
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
-А. И. Солженицын
-
- advanced
- Сообщения: 180
- Зарегистрирован: 03 дек 2014, 12:36
- Версия LabVIEW: 7.1;12
- Контактная информация:
Re: Push button
Да, работает программа шикарно. Прям ощущение, что стала быстрее.
Возник такой вопрос:
Имеется около 10 событий.
Чтобы запустить одно событие нужно нажать кнопку этого события, чтобы остановить нажать ту же кнопку.
Получается, чтобы запустить другое событие надо сначала выключить кнопку "предыдуще-включенного" события.
Вроде бы мелочь, но пользователи "заклюют".
А хочется сделать, чтоб работало как эвент: Если включено одно событие- другие выключены.
Как этого добиться с помощью уведомителей.
Пример прилагаю.
Спасибо.
Возник такой вопрос:
Имеется около 10 событий.
Чтобы запустить одно событие нужно нажать кнопку этого события, чтобы остановить нажать ту же кнопку.
Получается, чтобы запустить другое событие надо сначала выключить кнопку "предыдуще-включенного" события.
Вроде бы мелочь, но пользователи "заклюют".
А хочется сделать, чтоб работало как эвент: Если включено одно событие- другие выключены.
Как этого добиться с помощью уведомителей.
Пример прилагаю.
Спасибо.
- Вложения
-
- Уведомитель события.vi
- 2 события. Должно работать только одно
- (26.03 КБ) 83 скачивания
-
Vitekkz88
- expert
- Сообщения: 1100
- Зарегистрирован: 21 янв 2014, 15:45
- Награды: 3
- Версия LabVIEW: 12,13,14
- Откуда: Томск
- Контактная информация:
Re: Push button
Yurets, у вас в коде 2 event-структуры, не надо так. Одной хватит для обработки событий. Разделите задачи на группы: группа задач для параллельного исполнения и группа задач, в которой может быть активна только одна. Тогда нужно будет менять только состояние предыдущей кнопки на false,а задача будет остановлена, т.к. будет запущена другая из этой группы.
Ту группу, где может быть только одна задача выносите в отдельный поток.
Для параллельных задач делайте отдельный цикл на каждую задачу.
Пример приложил.
Ту группу, где может быть только одна задача выносите в отдельный поток.
Для параллельных задач делайте отдельный цикл на каждую задачу.
Пример приложил.
- Вложения
-
- Уведомитель события.vi
- (27.49 КБ) 91 скачивание
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
-А. И. Солженицын
-
- advanced
- Сообщения: 180
- Зарегистрирован: 03 дек 2014, 12:36
- Версия LabVIEW: 7.1;12
- Контактная информация:
Re: Push button
Спасибо большое, работает отлично, пользователи тоже отметили четкое срабатывание кнопокVitekkz88