Как программно кликнуть кнопкой?
- jane_wild
- master
- Сообщения: 461
- Зарегистрирован: 30 июн 2016, 02:11
- Версия LabVIEW: 2020
- Благодарил (а): 84 раза
- Поблагодарили: 15 раз
- Контактная информация:
Как программно кликнуть кнопкой?
Доброго всем здоровья ребята. Собственно вопрос озвучен в названии темы. Следует уточнить. У кнопки Mechanical Action -> Latch when released. Соотвентсвенно property node Value(Signaling) выдает ошибку. Все логично, ну а если очень хочется, то как программно попасть в кейс event структуры с обработкой нажания этой самой кнопки. Спасибо
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Как программно кликнуть кнопкой?
Если вам надо только зайти в отдельный кадр события, можете сгенерировать User Event. А если надо поменять значение кнопки, это можно сделать через "волшебное" свойство Latch Value. Чтоб его увидеть, надо прописать SuperSecretPrivateSpecialStuff=True и активировать палитру скриптинга в настройках . Ну, или можно скопировать отсюда.jane_wild писал(а):У кнопки Mechanical Action -> Latch when released. Соотвентсвенно property node Value(Signaling) выдает ошибку.
- Вложения
-
- Latch Value.png (10.16 КБ) 3570 просмотров
-
- Latch Value.vi
- lv2013
- (4.58 КБ) 130 скачиваний
-
- 2017-10-07_0-33-29.jpg (70.51 КБ) 3570 просмотров
- jane_wild
- master
- Сообщения: 461
- Зарегистрирован: 30 июн 2016, 02:11
- Версия LabVIEW: 2020
- Благодарил (а): 84 раза
- Поблагодарили: 15 раз
- Контактная информация:
Re: Как программно кликнуть кнопкой?
Мне нужно попасть именно в обработчик нажатия кнопки. Что в этом кейсе происходит, посмотреть нельзя, vi закрыт паролем. Да мне и не важно. Я хочу из главой программы управлять контролами на этой всплывающеей панели. И для этого у меня есть массив всех references этой панели. Так вот все получается, кроме кнопок, с latch. Идея вот чем: В "скриптовых" properties есть возможность читать и записывать mechanical action. Что если перед value signaling изменить mechanical action а потом вернуть обратно. В понедельник попробую. , дома LabVIEW не установлен.
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Как программно кликнуть кнопкой?
Ну, это нынче не проблема. Есть хорошая "открывашка". Захотите - легко найдёте.jane_wild писал(а):Что в этом кейсе происходит, посмотреть нельзя, vi закрыт паролем.
Не получится. Как иногда говорят, "выплывет" вот такая табличкаjane_wild писал(а):Идея вот чем: В "скриптовых" properties есть возможность читать и записывать mechanical action. Что если перед value signaling изменить mechanical action а потом вернуть обратно.
Вдобавок,Error 1073 occurred at Property Node (arg 1) in Untitled 1
Possible reason(s):
LabVIEW: This property is writable only when the VI is in edit mode, or this method is available only when the VI is in edit mode.
Property Name: Mechanical Action
Так что надо рассмотреть другие варианты. Мне кажется, придётся переделать тот , чтобы он мог обрабатывать User Event в дополнение к текущим событиям. Иначе тут вряд ли как-то можно извернуться.- Available in the LabVIEW Run-Time Engine: No
- jane_wild
- master
- Сообщения: 461
- Зарегистрирован: 30 июн 2016, 02:11
- Версия LabVIEW: 2020
- Благодарил (а): 84 раза
- Поблагодарили: 15 раз
- Контактная информация:
Re: Как программно кликнуть кнопкой?
Спасибо сохранили мне время и избавили от проведения безуспешных тестов.
Если рассматривать вариант полной переделки данного VI. Хотела спросить совета.
Требование - Необходимо чтобы физическое поведение кнопки на экране было именно latch, в тоже самое время необходимо управлять нажатием на эту кнопку удаленно (программно).
Рассматриваю вариант, предложеннй Вами, с применением user event, а также вариант суть которого в следующем. Кнопка делается с mechanical Action -> switch when release c дефолтным состоянием false. User кликнул (кнопка в true) - Далее в event case (value change) property node -> value устанавливаем ее обратно в false. По идее несмотря на mechanical Action -> switch when release поведение будет похоже на latch when release и в тоже самое время возможно будет удаленно использовать property value(Signaling) Имеет ли этот вариант на жизнь? Будет ли это работать?
Это был бы идеальный вариант. Вы это имели ввиду? Или вот это? Больше ничего путного не нашла.Ну, это нынче не проблема. Есть хорошая "открывашка". Захотите - легко найдёте.
Если рассматривать вариант полной переделки данного VI. Хотела спросить совета.
Требование - Необходимо чтобы физическое поведение кнопки на экране было именно latch, в тоже самое время необходимо управлять нажатием на эту кнопку удаленно (программно).
Рассматриваю вариант, предложеннй Вами, с применением user event, а также вариант суть которого в следующем. Кнопка делается с mechanical Action -> switch when release c дефолтным состоянием false. User кликнул (кнопка в true) - Далее в event case (value change) property node -> value устанавливаем ее обратно в false. По идее несмотря на mechanical Action -> switch when release поведение будет похоже на latch when release и в тоже самое время возможно будет удаленно использовать property value(Signaling) Имеет ли этот вариант на жизнь? Будет ли это работать?
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Как программно кликнуть кнопкой?
Первое, ага. Только раздел там есть более удобный. Немножко не туда зашли.jane_wild писал(а):Это был бы идеальный вариант. Вы это имели ввиду?
Полностью не требуется. Нужно только добавить обработчик User Event к существующим кадрам. Это буквально дело нескольких минут. Если совсем просто делать, то как-то так получится:jane_wild писал(а):Если рассматривать вариант полной переделки данного VI.
Да, будет. Чуть посложнее просто - каждый раз надо будет отжимать кнопку.jane_wild писал(а):Кнопка делается с mechanical Action -> switch when release c дефолтным состоянием false. User кликнул (кнопка в true) - Далее в event case (value change) property node -> value устанавливаем ее обратно в false. По идее несмотря на mechanical Action -> switch when release поведение будет похоже на latch when release и в тоже самое время возможно будет удаленно использовать property value(Signaling) Имеет ли этот вариант на жизнь? Будет ли это работать?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 7 Ответы
- 357 Просмотры
-
Последнее сообщение PAG