Как активировать вкладки Tab Control ?

Обсуждение, связанное с разработкой ПО верхнего уровня
Ответить
lab_fan
beginner
beginner
Сообщения: 44
Зарегистрирован: 24 июл 2010, 09:55
Версия LabVIEW: 8.6f1

Как активировать вкладки Tab Control ?

Сообщение lab_fan »

Предполагаю, что многие уже сталкивались с такой проблемой.
В блок диаграмме программа расположена в окнах Case Structure. На лицевой панели представлена структурой "Tab Control".
При переходе с вкладки на вкладку (Page 1, Page 2 ...) структуры Tab Control
они открываются в незапущенном состоянии. "Оживают" только после перезапуска vi.
Как одновременно с открытием вкладки запускать её?
Простейший пример из двух вкладок прилагаю.
Вложения
__Case_Navigation Page1-2.vi
(17.83 КБ) 283 скачивания
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Как активировать вкладки Tab Control ?

Сообщение IvanLis »

lab_fan писал(а):При переходе с вкладки на вкладку (Page 1, Page 2 ...) структуры Tab Control
они открываются в незапущенном состоянии. "Оживают" только после перезапуска vi.
Как одновременно с открытием вкладки запускать её?
Во-первых, я не могу представить себе задачи, где потребуется такой фокус.
Во-вторых, у вас при запуске программы, выбирается тот или иной Case (в зависимости от Page), в котором запускается цикл. Так вот, пока цикл не будет остановлен, никакой код за его пределами не выполнится.
Вывод, необходимо использовать не отдельные циклы внутри каждой Case, а оборачивать все одним. Что бы в цикле в зависимости от Page выбирался соответствующий Case, а потом уже выполнялась операция. И поставьте в цикле задержку, вам такая частота опроса не нужна, а для системы это критично.
Аватара пользователя
Andrew Lunev

Activity Professionalism
VIP
VIP
Сообщения: 957
Зарегистрирован: 11 дек 2010, 12:31
Награды: 2
Версия LabVIEW: 2014-2021
Откуда: Москва
Благодарил (а): 4 раза
Поблагодарили: 10 раз

Re: Как активировать вкладки Tab Control ?

Сообщение Andrew Lunev »

lab_fan писал(а):Предполагаю, что многие уже сталкивались с такой проблемой.
С такой проблемой вряд ли кто-то сталкивался. Она возникла из совершенного непонимания принципов функционирования элементов блок диаграммы. Почитайте какой-нибудь учебник по LabView, думаю все вопросы отпадут сами собой.
Аватара пользователя
Vasiliy Baev

Activity Gold Bronze
leader
leader
Сообщения: 545
Зарегистрирован: 31 окт 2011, 09:02
Награды: 4
Версия LabVIEW: 2019
Откуда: Санкт-Петербург
Благодарил (а): 8 раз
Поблагодарили: 10 раз
Контактная информация:

Re: Как активировать вкладки Tab Control ?

Сообщение Vasiliy Baev »

Согласен с IvanLis
Посмотрите:
http://www.labviewportal.org/viewtopic. ... 552#p46170
Или более сложный вариант:
potoki.png
lab_fan
beginner
beginner
Сообщения: 44
Зарегистрирован: 24 июл 2010, 09:55
Версия LabVIEW: 8.6f1

Re: Как активировать вкладки Tab Control ?

Сообщение lab_fan »

Andrew Lunev писал(а):
lab_fan писал(а):Предполагаю, что многие уже сталкивались с такой проблемой.
С такой проблемой вряд ли кто-то сталкивался. Она возникла из совершенного непонимания принципов функционирования элементов блок диаграммы. Почитайте какой-нибудь учебник по LabView, думаю все вопросы отпадут сами собой.
Спасибо, Андрей! Это очень содержательно! :rtfm:
Аватара пользователя
Andrew Lunev

Activity Professionalism
VIP
VIP
Сообщения: 957
Зарегистрирован: 11 дек 2010, 12:31
Награды: 2
Версия LabVIEW: 2014-2021
Откуда: Москва
Благодарил (а): 4 раза
Поблагодарили: 10 раз

Re: Как активировать вкладки Tab Control ?

Сообщение Andrew Lunev »

Спасибо, Андрей! Это очень содержательно! :rtfm:
А чего вы хотели услышать в ответ? Судя по коду, человек его написавший, не знает:
1. Что код на БД выполняется один раз при запуске и считывание текущего значения закладки произойдет только один раз и дальнейшие переключения на лицевой панели никак не влияют на алгоритм.
2. Что цикл Wile будет выполняться так долго пока не будет выполнено условие выхода из него и если стоит условием нажатие кнопки Stop, то опять же переключение Tab на лицевой панели никак не повлияет на выполнение программы. А кнопки Stop и Stop2 дадут выход из цикла и остановят программу, так как другого кода нет.
3. Что можно посмотреть последовательность выполнения кода, нажав подсветку выполнения и увидеть все вышеизложенные проблемы самостоятельно. Не объяснять же на форуме самые основы программирования на LabView, если они есть в любом учебнике. Даже в ПИКАДовских уроках все это есть. Ниже код с минимальными изменениями, который подходит под описанную вами задачу. Всего-то и надо было поменять местами Case и Wile, а для этого надо понимать, как они работают.
Вложения
__Case_Navigation Page1-2 8.6.vi
(75.46 КБ) 206 скачиваний
Аватара пользователя
Andrew Lunev

Activity Professionalism
VIP
VIP
Сообщения: 957
Зарегистрирован: 11 дек 2010, 12:31
Награды: 2
Версия LabVIEW: 2014-2021
Откуда: Москва
Благодарил (а): 4 раза
Поблагодарили: 10 раз

Re: Как активировать вкладки Tab Control ?

Сообщение Andrew Lunev »

lab_fan, видимо вы знаете текстовые языки программирования и пытаетесь перенести предыдущий опыт разработки на LabView. Однако между ними есть фундаментальное отличие. Текстовые языки управляются потоком команд, а LabView потоком данных. Без понимания принципа потока данных писать на LabView очень тяжело, а этот принцип объясняется на первых страницах любого учебника.
lab_fan
beginner
beginner
Сообщения: 44
Зарегистрирован: 24 июл 2010, 09:55
Версия LabVIEW: 8.6f1

Re: Как активировать вкладки Tab Control ?

Сообщение lab_fan »

Andrew Lunev писал(а):
Спасибо, Андрей! Это очень содержательно! :rtfm:
А чего вы хотели услышать в ответ?
После первого Вашего ответа вспомнил анекдот про двух физиков, которые построили воздушный шар, но, испытывая корзину, случайно отцепились и взмыли в облака. Долго летят в тумане... и вдруг видят в разрыве облака - они пролетают над вершиной горы, на которой стоит человек. "Где мы находимся?" - крикнули они. Человек подумал, и сказал - "Вы находитесь на воздушном шаре". Летят они дальше в тумане... Один физик говорит другому - "Это был математик" - Почему? - Потому что:
  • Во-первых - он подумал, прежде, чем ответить.
    Во-вторых - его ответ был абсолютно точен.
    И в третьих - абсолютно бесполезен.
Это я был в тумане, а Вы, Андрей, на вершине горы. Но теперь Вы ухватились за нашу корзину и я (хотя бы на время) перевожу дух... Спасибо, коды работают, и именно для моей версии LV 8.6. Теперь - иду пить холодную колодезную воду и учить матчасть. :super:
Аватара пользователя
Andrew Lunev

Activity Professionalism
VIP
VIP
Сообщения: 957
Зарегистрирован: 11 дек 2010, 12:31
Награды: 2
Версия LabVIEW: 2014-2021
Откуда: Москва
Благодарил (а): 4 раза
Поблагодарили: 10 раз

Re: Как активировать вкладки Tab Control ?

Сообщение Andrew Lunev »

lab_fan писал(а):
  • Во-первых - он подумал, прежде, чем ответить.
    Во-вторых - его ответ был абсолютно точен.
    И в третьих - абсолютно бесполезен.
Вам кажется мой ответ бесполезным, а мне он до сих пор кажется самым верным в данной ветке. Дело в том, что кто-то накормит рыбой, а я пытаюсь научить ловить рыбу. По вашему коду видно, что вы не дурак и что понятие алгоритма вам знакомо. У вас именно проблема реализовать алгоритм на конкретном языке программирования, используя его структуры. И вы предполагаете, что они работают так же, как и в других языках. Уверен, что потратив 2 часа на чтение ПИКАДовских уроков вы с легкостью сами бы решили вашу проблему. И это позволило избежать бы подобных проблем дальше и ускорить разработку приложения на порядки. Если бы я сразу выложил решение, то фундаментальное понимание принципа потока данных так и осталось бы загадкой. Ну и опять же вы написали, что идете учить матчасть, значит все-таки воспользовались моим бесполезным советом. :wink:
lab_fan
beginner
beginner
Сообщения: 44
Зарегистрирован: 24 июл 2010, 09:55
Версия LabVIEW: 8.6f1

Re: Как активировать вкладки Tab Control ?

Сообщение lab_fan »

Andrew Lunev писал(а):
lab_fan писал(а):
  • Во-первых - он подумал, прежде, чем ответить.
    Во-вторых - его ответ был абсолютно точен.
    И в третьих - абсолютно бесполезен.
Дело в том, что кто-то накормит рыбой, а я пытаюсь научить ловить рыбу.
Спасибо, Андрей! То, что рыбу надо уметь ловить, это практически аксиома. Аднака... ситуация такая, что прежде чем свою выловлю, хоть бы подкормил кто-то... :wink: Берусь за программирование в LabVIEW с большими перерывами, смотрю в коды, которые создал сам год назад, как на картину неизвестного художника :crazy: Несмотря на изрядные пробелы в программировании, как-то работают некоторые срочно слепленные измерительные приборы. И это вселяет надежду, что имеет смысл продолжить более системно. Времени бы только хватало... LabVIEW таит большие возможности! Ещё раз огромное спасибо!
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Лицевая панель»