Вызов фронт панели SubVI
-
- developer
- Сообщения: 261
- Зарегистрирован: 22 дек 2008, 14:07
- Награды: 1
- Версия LabVIEW: 8.5
- Контактная информация:
Re: Вызов фронт панели SubVI
Ох, зря я радовалась. Не так работает, через 1 уровень проскакивает. Т.е. через 1 SubVi. 1 видит, 3 видит, а 2 - нет(по вложенности)Help!!!!!!!
-
FireFly
- expert
- Сообщения: 1321
- Зарегистрирован: 25 апр 2009, 08:58
- Награды: 2
- Версия LabVIEW: 2014
- Откуда: Санкт-Петербург
- Поблагодарили: 1 раз
Re: Вызов фронт панели SubVI
Странно. У себя проверил - всё как надо. Только пришлось учесть возможность пустых reference, а то ругался.
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
-
- developer
- Сообщения: 261
- Зарегистрирован: 22 дек 2008, 14:07
- Награды: 1
- Версия LabVIEW: 8.5
- Контактная информация:
Re: Вызов фронт панели SubVI
Все работает! Это я сама напортачила когда выкидывала из массива ненужные subVI. Еще раз, FireFly - большое спасибо!
-
FireFly
- expert
- Сообщения: 1321
- Зарегистрирован: 25 апр 2009, 08:58
- Награды: 2
- Версия LabVIEW: 2014
- Откуда: Санкт-Петербург
- Поблагодарили: 1 раз
Массив
Получил 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). Ок. Вижу одно из значений моего массива. Но только одно. И почему-то из середины... Сколько не бился, вывести более одного значения не получилось...
"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 (1.06 КБ) 3026 просмотров
-
- Value.PNG (2.11 КБ) 3026 просмотров
-
- ArrElem Value.PNG (2.75 КБ) 3027 просмотров
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
-
- developer
- Сообщения: 261
- Зарегистрирован: 22 дек 2008, 14:07
- Награды: 1
- Версия LabVIEW: 8.5
- Контактная информация:
Re: Вызов фронт панели SubVI
А почему Value? Выбирать Proporty надо же в зависимости от контрола? Или я ошибаюсь? Для массива вроде надо Arrelement?
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Вызов фронт панели SubVI
Значение массива имеет тип данных Variant из за того, что не знает настоящий тип данных массива. Думаю можно преобразовать с помощью Variant To Data.
"The VI is not in a state compatible with this operation" может означать, что прибор например не запущен, т.е. находится в неактивном состоянии.
"The VI is not in a state compatible with this operation" может означать, что прибор например не запущен, т.е. находится в неактивном состоянии.
-
FireFly
- expert
- Сообщения: 1321
- Зарегистрирован: 25 апр 2009, 08:58
- Награды: 2
- Версия LabVIEW: 2014
- Откуда: Санкт-Петербург
- Поблагодарили: 1 раз
Re: Вызов фронт панели SubVI
Меняя Property Node "Index Values" получаю Reference на разные элементы... но массив получается словно обрезанный... Первый столбик и первые 2 строчки недоступны...
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
-
FireFly
- expert
- Сообщения: 1321
- Зарегистрирован: 25 апр 2009, 08:58
- Награды: 2
- Версия LabVIEW: 2014
- Откуда: Санкт-Петербург
- Поблагодарили: 1 раз
Re: Вызов фронт панели SubVI
Точно. Помогло. Получается индикатор типа Variant это бесполезная вещь. Выводить всё равно надо в индикатор конкретного типа.eg писал(а):Значение массива имеет тип данных Variant из за того, что не знает настоящий тип данных массива. Думаю можно преобразовать с помощью Variant To Data.
Спасибо.
- Вложения
-
- Variant.PNG (2.6 КБ) 3013 просмотров
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 7 Ответы
- 300 Просмотры
-
Последнее сообщение dadreamer