Как организовать в LabVIEW работу со многими окнами?

Простейшие вопросы в области инженерной разработки
Ответить
viktorsu
interested
interested
Сообщения: 2
Зарегистрирован: 17 мар 2022, 19:24
Версия LabVIEW: 2021
Благодарил (а): 3 раза
Контактная информация:

Как организовать в LabVIEW работу со многими окнами?

Сообщение viktorsu »

Доброго времени суток,

такой вопрос.
В других языках программирования (например visual basic, delphi, python …) есть такая возможность или если можно это так назвать такой стиль программирования:
1. Создать одно окно.
2. Разместить на/в окне одну или несколько кнопок (пиктограмм) с самыми различными функциями.
3. Создать такое же второе окно, третье и т.д.
4. ВАЖНО! Эти окна полностью независимы друг от друга. Для одного окна, например номер 2 не важно, какие кнопки и функции расположены в окне номер 5 (или любом другом окне).
5. Можно работать только с одним окном, используя команды открыть окно с таким-то названием или номером „open window“ и закрыть окно «close window».
6. ВАЖНО!!! При этом, если нужно, то в оперативной памяти будет работать только процесс одного окна, которое открыто „open window“, а все остальные окна «close window» не будут занимать оперативную память.

Я не нашел такой возможности в LabVIEW. Точнее сам принцип можно реализовать с помощью работы с вкладками „Tabs“ (см. рисунок ниже - в приложении). Но по требованию должен быть другой дизайн. Это должно выглядеть не как закладки в одном окне, а как независимые окна.


Или же может можно, как-то переключить вкладки „Tabs“ на рисунке, чтобы они выглядели не как одно окно со множеством вкладок, а как несколько отдельных окон (число отдельных окон должно соответствовать числу вкладок)? Как-то может можно разделить вкладки на отдельные окна?
Вложения
Example_Tabs.jpg
Example_Tabs.jpg (14.56 КБ) 1389 просмотров
Artem.spb

Activity Автор
professor
professor
Сообщения: 3410
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 176 раз
Контактная информация:

Re: Как организовать в LabVIEW работу со многими окнами?

Сообщение Artem.spb »

Если коротко, вам нужно разобраться с методами взаимодействия потоков: очереди, нотификаторы, и/или события.

А если не коротко...
viktorsu писал(а): 23 мар 2022, 17:11 3. Создать такое же второе окно, третье и т.д.
4. ВАЖНО! Эти окна полностью независимы друг от друга. Для одного окна, например номер 2 не важно, какие кнопки и функции расположены в окне номер 5 (или любом другом окне).
Если попридираться, то тут явное противоречие. Окно такое же, но не такое же...
Я не нашел такой возможности в LabVIEW. Точнее сам принцип можно реализовать с помощью работы с вкладками „Tabs“ (см. рисунок ниже - в приложении). Но по требованию должен быть другой дизайн. Это должно выглядеть не как закладки в одном окне, а как независимые окна.
Вкладки тут вообще ни при чём, а возможность работы с многими окнами заложена в сути :labview: - виртуальные инструменты. Каждая функция может быть отдельным окном.
В настройках функций можете найти настройки отображения
win.PNG
1) по дефолту - все окна равны, любое может перекрыть все остальные, если сделать его активным
2) плавающее. Всегда остаётся поверх других окон, но не мешает работать в них
3) модальное. оно же диалоговое. Всегда висит поверх и не даёт перейти в другое окно, пока его не закроют.

Соответственно, разбираетесь с многопоточностью (см стр1). Дальше делаете много VI (по количеству окон) с нужными настройками.
В общей программе (где кнопки открытия) пишете обработки нажатия - отправить в соответствующее окно команду открыться/закрыться.
В самих окнах по командам вызываете метод открыть/закрыть. Подробнее про них читайте в справке
pn.png
pn.png (15.91 КБ) 1387 просмотров
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2211
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 27 раз

Re: Как организовать в LabVIEW работу со многими окнами?

Сообщение Borjomy_1 »

Также можно использовать свойство "Open Front panel when called", тогда при вызове функции ее передняя панель появится на экране. Притом, что несвязанные входами и выходами отдельные VI запускаются в отдельном потоке независимо от других, простор для фантизий огромен. А оформленные как Reentrant, можно запускать несколько экземпляров VI со своим набором входных данных. Учите матчасть, в Labview есть практически все, если поискать.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3410
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 176 раз
Контактная информация:

Re: Как организовать в LabVIEW работу со многими окнами?

Сообщение Artem.spb »

Borjomy_1 писал(а): 24 мар 2022, 01:01 Также можно использовать свойство "Open Front panel when called", тогда при вызове функции ее передняя панель появится на экране.
Верное замечание, но не стал писать про него, потому что в вопросе значилась необходимость открывать/закрывать командами (кнопками).
viktorsu
interested
interested
Сообщения: 2
Зарегистрирован: 17 мар 2022, 19:24
Версия LabVIEW: 2021
Благодарил (а): 3 раза
Контактная информация:

Re: Как организовать в LabVIEW работу со многими окнами?

Сообщение viktorsu »

Уважаемые коллеги,

всем большое спасибо.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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