Tab Control
- Select
- developer
- Сообщения: 281
- Зарегистрирован: 12 дек 2017, 23:56
- Версия LabVIEW: 18
- Откуда: Врата надежды.
- Поблагодарили: 2 раза
Tab Control
Из-за переизбытка содержимого на вкладках присутствует ощутимая задержка в переходах от одной вкладки к другой.
К сожалению я не могу отказаться от Tab Control т.к. мне нужен доступ к манипулированию данными на других sub.vi
Любые советы и рекомендации.
Или хотя бы индикация об инициализации процесса перехода, чтоб это не выглядело как неответ на команду.
К сожалению я не могу отказаться от Tab Control т.к. мне нужен доступ к манипулированию данными на других sub.vi
Любые советы и рекомендации.
Или хотя бы индикация об инициализации процесса перехода, чтоб это не выглядело как неответ на команду.
LabView 14,18
-
IvanLis
- guru
- Сообщения: 5467
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 88 раз
Re: Tab Control
Раз у Вас есть SubVI, то для их отображения используется SubPanelSelect писал(а): ↑14 май 2020, 14:54 Из-за переизбытка содержимого на вкладках присутствует ощутимая задержка в переходах от одной вкладки к другой.
К сожалению я не могу отказаться от Tab Control т.к. мне нужен доступ к манипулированию данными на других sub.vi
Любые советы и рекомендации.
Или хотя бы индикация об инициализации процесса перехода, чтоб это не выглядело как неответ на команду
Ну а решение следующее....
Убираете TabControl, делаете кнопки, которые будут инициировать переключение между SubVI, в принципе кнопки аналогичны Pages из Tab.
По нажатии на кнопку, встраиваете FP необходимого SubVI в SubPanel.
Получается, что отображается только FP одного из всех SubVI, а остальные работают в "теневом" режиме.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
- Select
- developer
- Сообщения: 281
- Зарегистрирован: 12 дек 2017, 23:56
- Версия LabVIEW: 18
- Откуда: Врата надежды.
- Поблагодарили: 2 раза
Re: Tab Control
IvanLis, благодарю, до этого не пробовал работать с суб панелями, возьму на вооружение.
LabView 14,18
-
IvanLis
- guru
- Сообщения: 5467
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 88 раз
Re: Tab Control
Тогда нужно обязательно попробовать, т.к. TabControl не поддерживает автомасштабирование элементов на Pages, а в SubPanel все работает отлично.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
- Juri
- I/O
- Сообщения: 263
- Зарегистрирован: 19 апр 2017, 23:06
- Версия LabVIEW: 2021
- Благодарил (а): 13 раз
- Поблагодарили: 6 раз
Re: Tab Control
Можно попробовать избавиться от части графиков или путем выбора кнопкой менять назначение одного графика. Графики обычно тормозят. Или например вместо отображения 10 000 точек отображать 1000, визуально возможно ничего не поменяется.
- Select
- developer
- Сообщения: 281
- Зарегистрирован: 12 дек 2017, 23:56
- Версия LabVIEW: 18
- Откуда: Врата надежды.
- Поблагодарили: 2 раза
Re: Tab Control
Построил sub.vi переключаю, но как выяснилось задача состоит не в отображении суб а в контролах предварительных настроек этих sub.vi
Напрашивается мысль что надо на все эти контролы 2746 элементов в общей сумме строить отдельные sub.vi по каждой вкладке.
Относительно сокращения отображаемых пикселей идея интересная. Как понимаю через ноды свойств Tab control? Такое возможно?
Напрашивается мысль что надо на все эти контролы 2746 элементов в общей сумме строить отдельные sub.vi по каждой вкладке.
Относительно сокращения отображаемых пикселей идея интересная. Как понимаю через ноды свойств Tab control? Такое возможно?
LabView 14,18
-
IvanLis
- guru
- Сообщения: 5467
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 88 раз
Re: Tab Control
Нет
Вам необходимо проработать архитектуру своего приложения.
Инициализация - "предварительная настройка", необходима только при запуске программы. При дальнейшей работе в этом необходимости нет. Может их хранить в файл конфигурации или отображать по запросу.
Я Вам не предлагал сделать SubPanel для каждого контрола (хотя иногда приходится, в этом случае в окне сразу несколько SuPanel встроено), я рекомендовал сгруппировать в SubVI то, что у Вас на Pages отображается.
Иначе в чем необходимость TabControl...
Если Вы не можете вместить все элементы на экране, то опять же стоит задуматься об эргономике своего приложения.
И к стати, в цикле обработки событий интерфейса (то что Вы приложили) нет необходимости добавлять паузу.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
- Select
- developer
- Сообщения: 281
- Зарегистрирован: 12 дек 2017, 23:56
- Версия LabVIEW: 18
- Откуда: Врата надежды.
- Поблагодарили: 2 раза
Re: Tab Control
Все элементы размещены на Tab Control, как я ранее писал, проблема в задержках при переключении с одной вкладки на другую, , их у меня 9, в запущенном режиме.
Иногда этих задержек нет, иногда это может занимать до 2 - 3 с.
На основной панели все компоненты от всех терминалов Sub.vi сгруппированы между собой, если Вы это имели ввиду.я рекомендовал сгруппировать в SubVI то, что у Вас на Pages отображается.
в моем случае у меня заложены функции ввода переменных в запущенном режиме, после чего введенный алгоритм запускается к исполнению. в работеИнициализация - "предварительная настройка", необходима только при запуске программы
LabView 14,18
-
Kosist
- expert
- Сообщения: 1236
- Зарегистрирован: 21 фев 2011, 23:44
- Награды: 2
- Версия LabVIEW: 2013-2020
- Благодарил (а): 23 раза
- Поблагодарили: 30 раз
- Контактная информация:
-
IvanLis
- guru
- Сообщения: 5467
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 88 раз
Re: Tab Control
Послушайте, если есть проблемы, то проблемы именно в неправильной организации архитектуры ПО.
Вы не хотите понять, то что пишу. Либо Вы не понимаете разницы между Pages, как составляющей TabControl и SubPanel, как механизма отображения FP SubVI на FP другой VI.
Если у Вас сейчас
перерисовываются в одном UI потоке, а наверняка там есть еще и графики, то это достаточно ресурсоемкий процесс.
Я точно не могу утверждать, но мне кажется, что все элементы расположенные на TabControl, независимо от того видимы они или нет, обновляются и перерисовываются.
Я же предложил правильно сгруппировать и разместить контролы по SubVI.
В зависимости от желания пользователя, встраивать FP необходимого SubVI в SubPanel, при этом остальные элементы интерфейса (скрытые) не будут потреблять ресурс.
Зачем обновлять данные в контролах, которые пользователю не доступны и не видны.
Есть механизмы блокировать перерисовку FP, но в Вашем случае это вряд ли поможет, т.к. непонятно, по какому событию размораживать FP.
И вообще я с трудом могу представить BD программы имеющей 2746 контрола
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
- Select
- developer
- Сообщения: 281
- Зарегистрирован: 12 дек 2017, 23:56
- Версия LabVIEW: 18
- Откуда: Врата надежды.
- Поблагодарили: 2 раза
Re: Tab Control
Насколько я правильно понимаю эту идею, по Вашему мне нужно на каждый массив контролов из 16 рядов построить sub.vi, и далее переключаться между ними на суб панели?
Каждый ряд является вынесенным в основную панель масивом контролов от других sub.vi их на данный момент значительно больше чем то, что представлено на видео.
IvanLis,
В свойствах панели я отключаю многие вещи перед компиляцией проекта в exe, кстати в исходнике эта проблема отпадает, все нормально переключается, эффект задержки присутствует только в
Относительно эргономики, она разработана по образу и подобию концепта многих SCADA для работы с PLC, в каких то моментах даже оптимизирована для интуитивного освоения.
Такое количество контролов на основной панели не перегружает память, в основном цикле присутствуют структуры прерываний и все то, что в реальном времени не имеет отношения к конкретной выполняемой процедуре остановлено пока к нему не происходит очередное обращение. Обращение юзеров к control tab, происходит в процессе инициализации в процессе прототипирования поведенческой модели.
А что смущает, мне на практике приходилось наблюдать присутствие в проектах более 1000 sub.vi, если оно так задумано девелоппером, так тому и быть...И вообще я с трудом могу представить BD программы имеющей 2746 контрола
LabView 14,18
-
Kosist
- expert
- Сообщения: 1236
- Зарегистрирован: 21 фев 2011, 23:44
- Награды: 2
- Версия LabVIEW: 2013-2020
- Благодарил (а): 23 раза
- Поблагодарили: 30 раз
- Контактная информация:
Re: Tab Control
Неправильно Вы понимаете. У Вас каждый ряд - набор одинаковых контроллов. У них только разная нумерация, и данные берут из разных виаек. Значит, можно переделать программу так, чтобы вместо этих 16 рядов контролов было 16 рядов субпанелей, и в каждую загружалась одна и та же виайка-интерфейс (на которой бы отображались те контролы, что находятся в одном ряде). И так везде, по всему приложению, где у Вас повторяются контролы.Select писал(а): ↑16 май 2020, 01:55 Насколько я правильно понимаю эту идею, по Вашему мне нужно на каждый массив контролов из 16 рядов построить sub.vi, и далее переключаться между ними на суб панели?
Каждый ряд является вынесенным в основную панель масивом контролов от других sub.vi их на данный момент значительно больше чем то, что представлено на видео.
То что Вы такое видели - не означает, что это хорошо. Это значит, что к сожалению, с работает еще много "девелоперов", которым лень саморазвиваться, которым лень писать правильный код, учиться новым паттернам и архитектурам. Легче ведь слепить все в огромную кашу, а потом расказывать какое крутое и большое приложение разрабатывалось годами. Был у меня коллега, который рассказывал, как они целый год разрабатывали приложение - а когда показал его, то было ясно что так долго его "разрабатывали", потому что лепили все в кучу, а потом не могли нормально тестить и исправлять баги. А по-сути, там работы было на пару месяцев всего. Но это ведь нужно напрягаться, учиться - а это многим делать лень.Select писал(а):А что смущает, мне на практике приходилось наблюдать присутствие в проектах более 1000 sub.vi, если оно так задумано девелоппером, так тому и быть...
Мы делили апельсин - много наших полегло...
-
- professor
- Сообщения: 3407
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 176 раз
- Контактная информация:
Re: Tab Control
не надо путать 100500 контролов в ОДНОМ и 1000 сабов в одном проекте.
Много сабов - это правильно (если конечно это делается не ради количества, а ради модульности). Всё в одной куче - нет.
- Select
- developer
- Сообщения: 281
- Зарегистрирован: 12 дек 2017, 23:56
- Версия LabVIEW: 18
- Откуда: Врата надежды.
- Поблагодарили: 2 раза
Re: Tab Control
Согласен, могу, мне прийдется изменить дизайн всех ФБ суб чтоб они выглядели миниатюрными в виде строки, кроме того мне пока не совсем понятно, как отображать в основной ФБ остальные субпанели на остальные 128 строк. Можно конечно кнопкой каждый переключать, насколько это будет удобно, нужно на стороне попробовать чтоб не наломать дров в проекте.Kosist писал(а): ↑16 май 2020, 12:21 У Вас каждый ряд - набор одинаковых контроллов. У них только разная нумерация, и данные берут из разных виаек. Значит, можно переделать программу так, чтобы вместо этих 16 рядов контролов было 16 рядов субпанелей, и в каждую загружалась одна и та же виайка-интерфейс (на которой бы отображались те контролы, что находятся в одном ряде). И так везде, по всему приложению, где у Вас повторяются контролы.
Поэкспериментирую, результат выставлю, благодарю.
LabView 14,18
-
- professor
- Сообщения: 3407
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 176 раз
- Контактная информация:
Re: Tab Control
Иногда мне кажется, что ответы подбираются оп принципу "как бы возразить".
Вам рекомендуют не переделать все , а взять сделать ОДИН новый интерморда которого будет строкой индикаторов. И этот новый саб клонировать и отобразить десяток-другой раз на экране через саб-панели.
А уж откуда они будут брать данные - дело десятое. Сейчас индикаторы эти данные успешно получают, так что и в новые сабы переслать можно.
Вам рекомендуют не переделать все , а взять сделать ОДИН новый интерморда которого будет строкой индикаторов. И этот новый саб клонировать и отобразить десяток-другой раз на экране через саб-панели.
А уж откуда они будут брать данные - дело десятое. Сейчас индикаторы эти данные успешно получают, так что и в новые сабы переслать можно.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 5 Ответы
- 847 Просмотры
-
Последнее сообщение dadreamer