Как вытащить значение из Sub VI

Обсуждение, связанное с разработкой ПО верхнего уровня
Ответить
HD_boy
user
user
Сообщения: 84
Зарегистрирован: 23 мар 2010, 10:50
Версия LabVIEW: 2009
Откуда: Казань
Контактная информация:

Как вытащить значение из Sub VI

Сообщение HD_boy »

Доброго времени суток!
Сразу к делу: Есть прибор, внутри которого есть несколько однотипных подприборов, лицевые панели которых можно открывать по запросу. Эти подприборы принимают пакеты данных с порта. Мне нужно чтобы например изменение состояния индикатора в подприборе отображалось в основном Vi. ( или например если значение, которое меряется подприбором превысило допустимый уровень, то в основном приборе загорался индикатор).
подскажите пожалуйста как мне быть!
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Как вытащить значение из Sub VI

Сообщение Eugen Graf »

Например вынести цикл из подприбора в главный прибор.
Вложения
MainSub.png
MainSub.png (6.06 КБ) 2844 просмотра
HD_boy
user
user
Сообщения: 84
Зарегистрирован: 23 мар 2010, 10:50
Версия LabVIEW: 2009
Откуда: Казань
Контактная информация:

Re: Как вытащить значение из Sub VI

Сообщение HD_boy »

с циклом понятно.. но у меня там есть и Event структуры!
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Как вытащить значение из Sub VI

Сообщение Eugen Graf »

Догда запустить подприбор параллельным потоком и передавать данные например через глобальные переменные или Queue/Notifier.
HD_boy
user
user
Сообщения: 84
Зарегистрирован: 23 мар 2010, 10:50
Версия LabVIEW: 2009
Откуда: Казань
Контактная информация:

Re: Как вытащить значение из Sub VI

Сообщение HD_boy »

а по подробнее можешь рассказать..? я никогда такого не делал....
Аватара пользователя
Alex89

Activity
adviser
adviser
Сообщения: 202
Зарегистрирован: 04 апр 2010, 18:20
Награды: 1
Версия LabVIEW: 2009 SP1
Откуда: Санкт-Петербург

Re: Как вытащить значение из Sub VI

Сообщение Alex89 »

Я же тебе уже отвечал по поводу global...
Зайди в NI Example Finder. Набери в строке поиcка: "global". Найди 2-а 's : Display Numbers и Generate Numbers. Эти 's обмениваются данными через глобальные переменные. Посмотри как они работают, там много комментариев, все понятно. Точно так же используй global и в subVI, главное следи, что бы чтение из global не опережало запись в нее.
По поводу Queue/Notifier, тоже самое - используй NI Example Finder, посмотри примеры: Queue Basics и Queue Multyplexer. Если и по примерам не понятно, то возьми книжку по :labview: ,
например, "LabVIEW для всех." (Трэвис Д., Кринг Д.), в ней очень доступно описаны все эти вещи. В интернете ее можно найти в электронном виде.
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Как вытащить значение из Sub VI

Сообщение Eugen Graf »

Вот, на первом скрине MainVI, на втором SubVI.
Вложения
Main.png
Main.png (7.74 КБ) 2833 просмотра
Sub.png
Sub.png (7.12 КБ) 2833 просмотра
Ответить

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