Программное изменение индикатора на контроллер и обратно

Простейшие вопросы в области инженерной разработки
Ответить
K0sinus
user
user
Сообщения: 70
Зарегистрирован: 22 ноя 2017, 10:29
Версия LabVIEW: 2019
Откуда: Санкт-Петербург
Поблагодарили: 2 раза
Контактная информация:

Программное изменение индикатора на контроллер и обратно

Сообщение K0sinus »

Добрый день! Есть таблица-индикатор. Возможно ли при нажатии кнопки "редактирование" сделать её контроллером и потом обратно индикатором?

Пробовал менять свойство Indicator, но при запуске выдаётся ошибка "The property is writable only when VI is in edit mode..." Возможно ли это обойти?
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Re: Программное изменение индикатора на контроллер и обратно

Сообщение Blackman »

Таблица должна быть контролом. Дальше свойство Enabled-Disabled
http://zone.ni.com/reference/en-XX/help ... _disabled/
K0sinus
user
user
Сообщения: 70
Зарегистрирован: 22 ноя 2017, 10:29
Версия LabVIEW: 2019
Откуда: Санкт-Петербург
Поблагодарили: 2 раза
Контактная информация:

Re: Программное изменение индикатора на контроллер и обратно

Сообщение K0sinus »

Этот способ не годится, мне надо разрешить выбор и выделение строк, но запретить редактирование. Делаю это case'ом, если редактирование выключено, при value change возвращаем old value. Но зачем тогда свойство Indicator?
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Re: Программное изменение индикатора на контроллер и обратно

Сообщение Blackman »

:wink:
Вложения
CI Table.vi
Версия 2013
(13.54 КБ) 68 скачиваний
K0sinus
user
user
Сообщения: 70
Зарегистрирован: 22 ноя 2017, 10:29
Версия LabVIEW: 2019
Откуда: Санкт-Петербург
Поблагодарили: 2 раза
Контактная информация:

Re: Программное изменение индикатора на контроллер и обратно

Сообщение K0sinus »

Идея с двумя таблицами хороша. Но не жирно ли с точки зрения ресурсов держать две таблицы? Или мой метод (возвращение old value если редактирование выключено) такой же затратный?
Так зачем нужно свойство Indicator?!
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Программное изменение индикатора на контроллер и обратно

Сообщение dadreamer »

K0sinus писал(а):Так зачем нужно свойство Indicator?!
Это для скриптинга в основном, чтобы различать контролы и индикаторы по неприведенным ссылкам.
K0sinus писал(а):Делаю это case'ом, если редактирование выключено, при value change возвращаем old value.
А чем плох этот способ? Можно, конечно, ещё обрабатывать нажатия клавиш и кнопок мыши. Но нужно ли?
K0sinus
user
user
Сообщения: 70
Зарегистрирован: 22 ноя 2017, 10:29
Версия LabVIEW: 2019
Откуда: Санкт-Петербург
Поблагодарили: 2 раза
Контактная информация:

Re: Программное изменение индикатора на контроллер и обратно

Сообщение K0sinus »

А чем плох этот способ? Можно, конечно, ещё обрабатывать нажатия клавиш и кнопок мыши. Но нужно ли?
Очень усложнилась структура программы. Много пересекающихся событий, которые запускают друг друга. Пытаюсь найти что-то новое, чтобы не запускать лишний раз value change.
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Программное изменение индикатора на контроллер и обратно

Сообщение dadreamer »

K0sinus писал(а):Очень усложнилась структура программы. Много пересекающихся событий, которые запускают друг друга. Пытаюсь найти что-то новое, чтобы не запускать лишний раз value change.
Ну, тогда лучше попробовать две таблицы. Если данных в таблице немного, то тормозить не будет. Иначе по-простому вряд ли получится сделать.
K0sinus
user
user
Сообщения: 70
Зарегистрирован: 22 ноя 2017, 10:29
Версия LabVIEW: 2019
Откуда: Санкт-Петербург
Поблагодарили: 2 раза
Контактная информация:

Re: Программное изменение индикатора на контроллер и обратно

Сообщение K0sinus »

Понял, спасибо!
Юрий
leader
leader
Сообщения: 526
Зарегистрирован: 28 фев 2010, 18:04
Версия LabVIEW: LV2018
Благодарил (а): 10 раз
Поблагодарили: 18 раз
Контактная информация:

Re: Программное изменение индикатора на контроллер и обратно

Сообщение Юрий »

Я, честно говоря, не уверен, что понял проблему. Но, всё же вот такой вариант.
Думается, что решение с Enabled-Disabled в этом варианте тоже пойдёт.
Вложения
Блок ввода.vi
(18.63 КБ) 72 скачивания
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Re: Программное изменение индикатора на контроллер и обратно

Сообщение Blackman »

Юрий, у Вас в режиме индикации даже скролл не работает.-( А как делать выделение строк (выделение субтаблицы, а не одной строки) мышкой? А что по поводу например контекстного меню? Которое по хорошему должно быть разным для каждого режима. С двумя таблицами это решается очень просто. С минимальными затратами.
Аватара пользователя
Vitekkz88

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

Re: Программное изменение индикатора на контроллер и обратно

Сообщение Vitekkz88 »

K0sinus, Вам шашечки или ехать? Если нужен именно индикатор(который позволяет так же выделять строки и всё такое), то только 2 таблицы.
Если же нужен дезейбл с возможностью скролить таблицу(но не выделять строки), то используйте декорацию.
Вложения
Table.vi
(10.9 КБ) 74 скачивания
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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