Вызов фронт панели SubVI

Обсуждение, связанное с разработкой ПО верхнего уровня
irena_abr

Activity
developer
developer
Сообщения: 261
Зарегистрирован: 22 дек 2008, 14:07
Награды: 1
Версия LabVIEW: 8.5
Контактная информация:

Re: Вызов фронт панели SubVI

Сообщение irena_abr »

Ох, зря я радовалась. Не так работает, через 1 уровень проскакивает. Т.е. через 1 SubVi. 1 видит, 3 видит, а 2 - нет(по вложенности)Help!!!!!!!
Аватара пользователя
FireFly

Activity Black
expert
expert
Сообщения: 1321
Зарегистрирован: 25 апр 2009, 08:58
Награды: 2
Версия LabVIEW: 2014
Откуда: Санкт-Петербург
Поблагодарили: 1 раз

Re: Вызов фронт панели SubVI

Сообщение FireFly »

Странно. У себя проверил - всё как надо. Только пришлось учесть возможность пустых reference, а то ругался.
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
irena_abr

Activity
developer
developer
Сообщения: 261
Зарегистрирован: 22 дек 2008, 14:07
Награды: 1
Версия LabVIEW: 8.5
Контактная информация:

Re: Вызов фронт панели SubVI

Сообщение irena_abr »

Все работает! Это я сама напортачила когда выкидывала из массива ненужные subVI. Еще раз, FireFly - большое спасибо! :clap:
Аватара пользователя
FireFly

Activity Black
expert
expert
Сообщения: 1321
Зарегистрирован: 25 апр 2009, 08:58
Награды: 2
Версия LabVIEW: 2014
Откуда: Санкт-Петербург
Поблагодарили: 1 раз

Массив

Сообщение FireFly »

Получил reference на массив в родительском VI. Просмотр ClassName (рис 1) показывает значение Array, хотя для программы это просто Control. Ок. Делаю To More Specific Class Function. Далее reference подаю на Property Node, выбираю свойство Value. Создаю индикатор типа Varian (рис 2) и запускаю прогу. Property Node ругается
"Error 1000 occurred at Property Node (arg 1) in aaa.vi
Possible reason(s):
LabVIEW: The VI is not in a state compatible with this operation.
Property Name: Value"
Пробую другое свойство ArrayElement -> Value. То же самое.
Делаю ArrayElement -> Reference. Имею на выходе 1 reference (почему не массив?!) присваиваю ему класс String и вывожу на индикатор (рис 3). Ок. Вижу одно из значений моего массива. Но только одно. И почему-то из середины... Сколько не бился, вывести более одного значения не получилось...
Вложения
Class Name.PNG
Class Name.PNG (1.06 КБ) 3015 просмотров
Value.PNG
Value.PNG (2.11 КБ) 3015 просмотров
ArrElem Value.PNG
ArrElem Value.PNG (2.75 КБ) 3016 просмотров
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
irena_abr

Activity
developer
developer
Сообщения: 261
Зарегистрирован: 22 дек 2008, 14:07
Награды: 1
Версия LabVIEW: 8.5
Контактная информация:

Re: Вызов фронт панели SubVI

Сообщение irena_abr »

А почему Value? Выбирать Proporty надо же в зависимости от контрола? Или я ошибаюсь? Для массива вроде надо Arrelement?
Аватара пользователя
Eugen Graf

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

Re: Вызов фронт панели SubVI

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

Значение массива имеет тип данных Variant из за того, что не знает настоящий тип данных массива. Думаю можно преобразовать с помощью Variant To Data.

"The VI is not in a state compatible with this operation" может означать, что прибор например не запущен, т.е. находится в неактивном состоянии.
Аватара пользователя
FireFly

Activity Black
expert
expert
Сообщения: 1321
Зарегистрирован: 25 апр 2009, 08:58
Награды: 2
Версия LabVIEW: 2014
Откуда: Санкт-Петербург
Поблагодарили: 1 раз

Re: Вызов фронт панели SubVI

Сообщение FireFly »

Меняя Property Node "Index Values" получаю Reference на разные элементы... но массив получается словно обрезанный... Первый столбик и первые 2 строчки недоступны...
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
Аватара пользователя
FireFly

Activity Black
expert
expert
Сообщения: 1321
Зарегистрирован: 25 апр 2009, 08:58
Награды: 2
Версия LabVIEW: 2014
Откуда: Санкт-Петербург
Поблагодарили: 1 раз

Re: Вызов фронт панели SubVI

Сообщение FireFly »

eg писал(а):Значение массива имеет тип данных Variant из за того, что не знает настоящий тип данных массива. Думаю можно преобразовать с помощью Variant To Data.
Точно. Помогло. Получается индикатор типа Variant это бесполезная вещь. Выводить всё равно надо в индикатор конкретного типа.
Спасибо.
Вложения
Variant.PNG
Variant.PNG (2.6 КБ) 3002 просмотра
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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