Push button

Простейшие вопросы в области инженерной разработки

Push button

Postby Yurets on 13 Nov 2017, 09:44

Здравствуйте уважаемые форумчане, подскажите пожалуйста по Push button.
Имееися несколько Push button. И по нажатию одного из них выполняется алгоритм. Какое это событие в Event?
Т.е. пока кнопка нажата выполняется алгоритм Push button1.
Спасибо.
Attachments
Безымянный.png
Yurets
advanced
advanced
 
Posts: 169
Joined: 03 Dec 2014, 12:36
LabVIEW Version: 7.1;12
Karma: 5

Re: Push button

Postby Vitekkz88 on 13 Nov 2017, 10:46

Вынесите выполнение алгоритма за рамки Event-структуры. Само событие(True/False) для кнопки ловите через очередь или уведомитель. Если нужно дёрнуть event-структуру в какой-то момент, то UserEvents используйте.
Attachments
Кнопка.png
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
User avatar
Vitekkz88
leader
leader
 
Posts: 945
Joined: 21 Jan 2014, 15:45
Location: Томск
Medals: 3
Activity (1) Silver (1) Автор (1)
LabVIEW Version: 12,13,14
Karma: 258
hardware I/O VIP

Re: Push button

Postby Vitekkz88 on 13 Nov 2017, 11:28

Yurets, у кнопки задайте свойство Latch Until Relesead если под нажатием имеется ввиду физически, то есть пользователь нажал кнопку и удерживает. Если кнопка залипаемая, то тем более выносите выносите выполнение алгоритма из event-структуры. Что там за хитрый алгоритм, который не может быть реализован в другом потоке? Если же всё-таки нужно это делать в Event-е, то тогда UserEvents используйте и генерируйте события на своё усмотрение.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
User avatar
Vitekkz88
leader
leader
 
Posts: 945
Joined: 21 Jan 2014, 15:45
Location: Томск
Medals: 3
Activity (1) Silver (1) Автор (1)
LabVIEW Version: 12,13,14
Karma: 258
hardware I/O VIP

Re: Push button

Postby Yurets on 13 Nov 2017, 11:59

Алгоритм не хитрый, просто длительный по времени из-за работы с несколькими устройствами, а у Вас в предложенном примере ошибка не вылетает?
Yurets
advanced
advanced
 
Posts: 169
Joined: 03 Dec 2014, 12:36
LabVIEW Version: 7.1;12
Karma: 5

Re: Push button

Postby Yurets on 13 Nov 2017, 12:03

Очень тяжело уходить от эвента, когда все проекты были на нем и работают стабильно.
Но не всё им можно реализовать как оказалось.Очень жаль.
Пришло время панели синхронизации.
Yurets
advanced
advanced
 
Posts: 169
Joined: 03 Dec 2014, 12:36
LabVIEW Version: 7.1;12
Karma: 5

Re: Push button

Postby Yurets on 13 Nov 2017, 12:14

Спасибо
Yurets
advanced
advanced
 
Posts: 169
Joined: 03 Dec 2014, 12:36
LabVIEW Version: 7.1;12
Karma: 5

Re: Push button

Postby Vitekkz88 on 13 Nov 2017, 16:18

Event структура как бы намекает:"эй, разработчик! Я предназначена для обработки пользовательских событий ". Не надо туда пихать всякого, а затем костылей прикручивать. Делайте по классике, проблем будет в разы меньше! Инфа сотка:-)
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
User avatar
Vitekkz88
leader
leader
 
Posts: 945
Joined: 21 Jan 2014, 15:45
Location: Томск
Medals: 3
Activity (1) Silver (1) Автор (1)
LabVIEW Version: 12,13,14
Karma: 258
hardware I/O VIP

Re: Push button

Postby Yurets on 17 Nov 2017, 12:39

Да, работает программа шикарно. Прям ощущение, что стала быстрее.
Возник такой вопрос:
Имеется около 10 событий.
Чтобы запустить одно событие нужно нажать кнопку этого события, чтобы остановить нажать ту же кнопку.
Получается, чтобы запустить другое событие надо сначала выключить кнопку "предыдуще-включенного" события.
Вроде бы мелочь, но пользователи "заклюют".
А хочется сделать, чтоб работало как эвент: Если включено одно событие- другие выключены.
Как этого добиться с помощью уведомителей.
Пример прилагаю.
Спасибо.
Attachments
Уведомитель события.vi
2 события. Должно работать только одно
(26.03 KiB) Downloaded 8 times
Yurets
advanced
advanced
 
Posts: 169
Joined: 03 Dec 2014, 12:36
LabVIEW Version: 7.1;12
Karma: 5

Re: Push button

Postby Vitekkz88 on 17 Nov 2017, 13:56

Yurets, у вас в коде 2 event-структуры, не надо так. Одной хватит для обработки событий. Разделите задачи на группы: группа задач для параллельного исполнения и группа задач, в которой может быть активна только одна. Тогда нужно будет менять только состояние предыдущей кнопки на false,а задача будет остановлена, т.к. будет запущена другая из этой группы.
Ту группу, где может быть только одна задача выносите в отдельный поток.
Для параллельных задач делайте отдельный цикл на каждую задачу.
Пример приложил.
Attachments
Уведомитель события.vi
(27.49 KiB) Downloaded 13 times
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
User avatar
Vitekkz88
leader
leader
 
Posts: 945
Joined: 21 Jan 2014, 15:45
Location: Томск
Medals: 3
Activity (1) Silver (1) Автор (1)
LabVIEW Version: 12,13,14
Karma: 258
hardware I/O VIP

Re: Push button

Postby Yurets on 20 Nov 2017, 13:49

Vitekkz88

Спасибо большое, работает отлично, пользователи тоже отметили четкое срабатывание кнопок
Yurets
advanced
advanced
 
Posts: 169
Joined: 03 Dec 2014, 12:36
LabVIEW Version: 7.1;12
Karma: 5


Return to Для чайников

Who is online

Users browsing this forum: Google and 14 guests

cron