Labview вызывает subVI как независимое окно - PullRequest
0 голосов
/ 03 июля 2019

VI A - мой основной пользовательский интерфейс. Одним нажатием кнопки он может открыть отдельное окно, VI B, которое может оставаться открытым в течение продолжительного периода времени и работать независимо от A. Теперь мой вопрос состоит в том, каков наилучший способ вызова B, не вешая пользовательский интерфейс А? Программное обеспечение будет встроено в приложение, поэтому я не могу использовать что-либо, связанное с VI Server.

1 Ответ

0 голосов
/ 04 июля 2019

Это зависит от масштаба вашего проекта.

Самое маленькое решение - просто вызвать его как subVI параллельно с остальным кодом.У вас есть цикл while вокруг структуры событий для вашего главного окна ... есть второй цикл while со структурой событий, работающей параллельно.Второй цикл отслеживает только одно событие, которое запускает ваш subVI.Если вам нужно, чтобы subVI связывался с остальной частью вашего приложения, передайте в него канал канала, или номера очереди, или пользовательские события.

В более масштабных приложениях вам понадобится какая-то платформа обмена сообщениями.В комплект поставки LabVIEW входит Actor Framework.Есть справка по доставке, чтобы узнать, как ее использовать (создайте новый проект и посмотрите шаблоны проектов).Существуют и другие структуры обмена сообщениями от сторонних разработчиков с различными уровнями сложности и функциональности.

...