Доброго времени суток.
Пытаюсь сделать обработку нажатий кнопок в RealTime. Пока есть две кнопки: Play & Stop.
В теории по кнопке Play должен начать опрос аналоговых входов и отображение графиков, а по кнопке Stop опрос должен прекратиться.
А на практике при запуске сразу же срабатывают оба пользовательских события (без нажатия кнопок), а потом отрабатывает только Timeout и на кнопки не реагирует.
Подскажите, пожалуйста, как правильно создавать пользовательские события на нажатие кнопок?
Пользовательские события (Custom Events) в RealTime
-
- professor
- Сообщения: 3406
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 176 раз
- Контактная информация:
Re: Пользовательские события (Custom Events) в RealTime
Касаемо глобальной идеи: если вам надо отловить нажатия кнопок, то зачем user event?
Вы под циклом сами генерируете эти события, вот они и происходят На кнопки же не реагирует, потому что вы кнопки и не отслеживаете
Ну а "почему-то сразу срабатывает" вовсе не "почему-то".Вы под циклом сами генерируете эти события, вот они и происходят На кнопки же не реагирует, потому что вы кнопки и не отслеживаете
-
- advanced
- Сообщения: 170
- Зарегистрирован: 18 июл 2019, 13:53
- Версия LabVIEW: 2020
- Откуда: Россия, Ижевск
- Благодарил (а): 33 раза
- Контактная информация:
Re: Пользовательские события (Custom Events) в RealTime
Потому что Value Change в RealTime не работает (привожу скрин из помощи к 2018 версии).>>Касаемо глобальной идеи: если вам надо отловить нажатия кнопок, то зачем user event?
А как кнопки отслеживать?>>На кнопки же не реагирует, потому что вы кнопки и не отслеживаете
- Вложения
-
- Real-Time Module Details.PNG (8.45 КБ) 2400 просмотров
-
- professor
- Сообщения: 3406
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 176 раз
- Контактная информация:
Re: Пользовательские события (Custom Events) в RealTime
Странно, что они вообще рекомендуют события, с самого начала события в любом виде были только под виндой, и в остальных системах их рекомендовали избегать.
И если написано, что value change не работает, с чего вы решили, что таким странным способом оно заработает?
Ради двух кнопок стоит ли вообще связываться с событиями? Я бы рекомендовал сначала освоиться с событиями в обычной системе.
И если написано, что value change не работает, с чего вы решили, что таким странным способом оно заработает?
Ради двух кнопок стоит ли вообще связываться с событиями? Я бы рекомендовал сначала освоиться с событиями в обычной системе.
-
- advanced
- Сообщения: 170
- Зарегистрирован: 18 июл 2019, 13:53
- Версия LabVIEW: 2020
- Откуда: Россия, Ижевск
- Благодарил (а): 33 раза
- Контактная информация:
Re: Пользовательские события (Custom Events) в RealTime
В разделе user events есть пример. Я его переделал под кнопки, правда не понял как он работает :)>>И если написано, что value change не работает, с чего вы решили, что таким странным способом оно заработает?
Я их и использую в обычной системе. Простая и понятная логика, все кнопки в интерфейсе обрабатываю с помощью событий. Поэтому и в RealTime пытался эту же технологию использовать.>>Ради двух кнопок стоит ли вообще связываться с событиями? Я бы рекомендовал сначала освоиться с событиями в обычной системе.
С очередями не работал совсем, но попробую разобраться.
-
- user
- Сообщения: 94
- Зарегистрирован: 28 июл 2019, 13:16
- Версия LabVIEW: 19
- Благодарил (а): 2 раза
- Поблагодарили: 3 раза
- Контактная информация:
Re: Пользовательские события (Custom Events) в RealTime
Если возникнет необходимость передавать сообщения в RealTime Target можно разобраться с Asynchronous Message Communication (AMC) Library.С очередями не работал совсем, но попробую разобраться.
http://www.ni.com/example/31091/en/
Либо с Shared Variable либо еще с чем-то еще из Interprocess communication все равно придется разбираться.
-
- advanced
- Сообщения: 170
- Зарегистрирован: 18 июл 2019, 13:53
- Версия LabVIEW: 2020
- Откуда: Россия, Ижевск
- Благодарил (а): 33 раза
- Контактная информация:
Re: Пользовательские события (Custom Events) в RealTime
Вот что получилось если использовать User Events. Проверено, работает.
Слева получилось некрасиво - слишком много пересечений. Но как сделать проще, не знаю.
Слева получилось некрасиво - слишком много пересечений. Но как сделать проще, не знаю.
- Вложения
-
- AnalogInputMonitoring.vi
- (45.49 КБ) 99 скачиваний
-
- professor
- Сообщения: 3406
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 176 раз
- Контактная информация:
Re: Пользовательские события (Custom Events) в RealTime
Ну справа ещё менее красиво.
Во-первых, в такой конфигурации события вообще незачем городить, просто кейсы с кнопками внутрь "событий" запихать.
Машину состояний посмотрите, её тут вполне зватит.
А лучше кнопки вынести в отдельный цикл. В целом лучше делать именно так: один цикл чисто под UI и он ловит кнопки. максимум что-то отображает. а параллельные циклы уже всё остальное делают.
Во-первых, в такой конфигурации события вообще незачем городить, просто кейсы с кнопками внутрь "событий" запихать.
Машину состояний посмотрите, её тут вполне зватит.
А лучше кнопки вынести в отдельный цикл. В целом лучше делать именно так: один цикл чисто под UI и он ловит кнопки. максимум что-то отображает. а параллельные циклы уже всё остальное делают.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 13 Ответы
- 2454 Просмотры
-
Последнее сообщение rsv