работа с SubVI

Простейшие вопросы в области инженерной разработки

работа с SubVI

Postby Et_cetera on 04 Nov 2017, 22:23

Помогите пожалуйста со следующей проблемой: Есть Матрица с номерами датчиков, и Массив "алгоритм" из булевых переменных.
ЧТО ТРЕБУЕТСЯ: При нажатии на элемент массива "алгоритм" и по нажатию кнопки ДТ в массиве
"используемые датчики" с тем же индексом, вывести лицевую панель SubVI вида: "ON/OFF" " №ДТ" "задействован/незадейтвован" "ок"
Где на матрицу № ДТ передаются данные с той же матрицы основного прибора.
При выборе элемента в массиве ON/OFF № датчиков формируются в массив . По клику
кнопки ОК данные передаются в основной прибор дальше, лицевая панель Sub VI закрывается.
При нажатии на следующую кнопку ДТ в массиве Исп.датчики в массиве булевых переменных ничего не должно отображаться, а в строковом массиве должна быть информация, что датчик уже задействован.
В чем проблемы: При открытии подприбора данные не записываются, кнопка ОК не закрывает лицевую панель, и индикатор Numeric, имитирующий поступление данных с DAQ останавливается.

В качестве примера использовала встроенные примеры LabVIEW, но видимо не разобралась до конца.
Attachments
Программа.vi
(12.28 KiB) Downloaded 10 times
Untitled 8 (SubVI).vi
(7.91 KiB) Downloaded 11 times
Et_cetera
beginner
beginner
 
Posts: 16
Joined: 17 Oct 2017, 22:53
LabVIEW Version: 2017
Karma: 0

Re: работа с SubVI

Postby zxc_pavel on 04 Nov 2017, 23:38

VI не закрывалась по 2 причинам: Вы не меняли в параметрах File -> Vi properties -> Windows Appearance -> Custom - там 2 галки надо open и close. И вы не меняли массив после выхода -> условие каждую итерацию срабатывало бы.
Ну и я запутался, пытаясь понять что надо в итоге сделать)
Attachments
Программа.vi
(19.97 KiB) Downloaded 12 times
Untitled 8.vi
(13.31 KiB) Downloaded 9 times
zxc_pavel
user
user
 
Posts: 80
Joined: 02 Jun 2016, 12:07
LabVIEW Version: 14
Karma: 69

Re: работа с SubVI

Postby Et_cetera on 05 Nov 2017, 16:31

Attachments
Untitled 1 Folder.zip
(11.78 KiB) Downloaded 11 times
Et_cetera
beginner
beginner
 
Posts: 16
Joined: 17 Oct 2017, 22:53
LabVIEW Version: 2017
Karma: 0

Re: работа с SubVI

Postby zxc_pavel on 06 Nov 2017, 08:19

Я опять запутался...
Почему нельзя сопоставить 2 массива в одной программе? Это намного проще и понятнее было бы
В чем отличие массива исп.датчики в главной программе от массива в subVi, я не могу понять

Логичнее было бы: выбираем только алгоритм - смотрим какие датчики свободны - выбираем - убираем их из свободных.?
zxc_pavel
user
user
 
Posts: 80
Joined: 02 Jun 2016, 12:07
LabVIEW Version: 14
Karma: 69

Re: работа с SubVI

Postby Et_cetera on 06 Nov 2017, 20:21

zxc_pavel, в конечной программе там еще все запутанней)) поэтому для удобства пользователя было решено использовать SubVI.

Я поняла, что совсем вас запутала, поэтому предельно упростила. В этой программе надо выбрать операцию (сложение или вычитание) и нажать ОК. в открывшемся окне выбрать два из четырех чисел и нажать ОК. должен вывестись результат сложения или вычитания.
Укажите пожалуйста на мои ошибки. Почему у меня не "отлипает" кнопка ОК в массиве? окно SubVI не закрывается поэтому?
Пробовала делать не с массивами- все получилось. А с ними- почему-то нет(
Attachments
калькулятор.vi
(10.04 KiB) Downloaded 9 times
калькулятор (SubVI).vi
(7.74 KiB) Downloaded 9 times
Et_cetera
beginner
beginner
 
Posts: 16
Joined: 17 Oct 2017, 22:53
LabVIEW Version: 2017
Karma: 0

Re: работа с SubVI

Postby zxc_pavel on 06 Nov 2017, 20:43

Добавьте в программку 2 вещи:
1. В Case, где вызывается subVI - добавьте обнуление массивов - (и в сложение и в вычитание), у Вас постоянно в них заходит
2. В том же Case: ПКМ на subVI -> SubVI Node Setup - галки поставить

И перед запуском основной программы закройте subvi
Attachments
1.png
1.png (1.65 KiB) Viewed 369 times
2.png
2.png (20.85 KiB) Viewed 369 times
zxc_pavel
user
user
 
Posts: 80
Joined: 02 Jun 2016, 12:07
LabVIEW Version: 14
Karma: 69

Re: работа с SubVI

Postby Et_cetera on 07 Nov 2017, 22:33

zxc_pavel, а в чем разница между галочками в настройках Vi properties -> Windows Appearance -> Custom , и нажатием ПКМ? вроде одни и те же.. в любом случае, это заработало, большое спасибо.
Не подскажите ещё, как сделать так, чтобы при вызове подприбора кнопками с разными индексами (массив из кнопок), в SubVI сбрасывались данные, введеные при вызове подприбора кнопкой с другим индексом? Если поставить обнуление, то сбрасывается везде(
Et_cetera
beginner
beginner
 
Posts: 16
Joined: 17 Oct 2017, 22:53
LabVIEW Version: 2017
Karma: 0

Re: работа с SubVI

Postby zxc_pavel on 07 Nov 2017, 23:27

Да должен был и так работать... Это одно и то же.
Да по-разному можно, главное не заходить постоянно в нее, например, запоминать нажатия в еще одном массиве и передавать его
Или сделать булеву константу, которая сбрасывается на false при смене состояния, обнулять тогда не надо
Или сделать целочисленную константу, которая будет запоминать последний индекс
Attachments
07.png
07-1.png
07-1.png (10.45 KiB) Viewed 330 times
zxc_pavel
user
user
 
Posts: 80
Joined: 02 Jun 2016, 12:07
LabVIEW Version: 14
Karma: 69


Return to Для чайников

Who is online

Users browsing this forum: Bing [Bot] and 14 guests

cron