SubVI
-
- professional
- Сообщения: 301
- Зарегистрирован: 12 июн 2008, 19:56
- Награды: 1
- Версия LabVIEW: 8.6; 2009
- Откуда: Montreal
- Контактная информация:
SubVI
Всем привет. У меня такой вопрос: у меня в программе есть повторяющиеся блоки и я решил сделать этот блок как SubVI а затем вставить в основную программу. Так вот эти SubVI нехотят работать независимо друг от друга, данные в них как бы пересекаются, в чем дело, как от этого избавиться, или что я делаю неправильно?
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: SubVI
Можно в принципе сделать эти подприборы реинтрантными, тогда для кождого подприбора будет создана отдельная инстанция со свей отдельной памятью.
Но такое требуется в редких случаях. Скорее всего есть выход проще. Скрин прибора не помешал бы разобраться.
Но такое требуется в редких случаях. Скорее всего есть выход проще. Скрин прибора не помешал бы разобраться.
-
- professional
- Сообщения: 301
- Зарегистрирован: 12 июн 2008, 19:56
- Награды: 1
- Версия LabVIEW: 8.6; 2009
- Откуда: Montreal
- Контактная информация:
Re: SubVI
Что отображено как иконки это входы с выходами. Надо одни данные отправлять на один порт а другие на другой
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: SubVI
Я думаю что в данном случае можно на самом деле использовать реинтрантность, т.к. в подприборе имеется цикл. Эту установку можно проделать в свойствах подприбора или же в свойствах узла при вызове.
-
- professional
- Сообщения: 301
- Зарегистрирован: 12 июн 2008, 19:56
- Награды: 1
- Версия LabVIEW: 8.6; 2009
- Откуда: Montreal
- Контактная информация:
Re: SubVI
А как это делается, это здесь? или где эти свойства подприбора, как их вызвать?
- Вложения
-
- 2.JPG (15.43 КБ) 10661 просмотр
-
- professional
- Сообщения: 301
- Зарегистрирован: 12 июн 2008, 19:56
- Награды: 1
- Версия LabVIEW: 8.6; 2009
- Откуда: Montreal
- Контактная информация:
-
- professional
- Сообщения: 301
- Зарегистрирован: 12 июн 2008, 19:56
- Награды: 1
- Версия LabVIEW: 8.6; 2009
- Откуда: Montreal
- Контактная информация:
Re: SubVI
Спасибо большое, все работает теперь как надо, только иногда данные теряются (раньше тоже), как теперь от этого избавиться?
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
-
- professional
- Сообщения: 301
- Зарегистрирован: 12 июн 2008, 19:56
- Награды: 1
- Версия LabVIEW: 8.6; 2009
- Откуда: Montreal
- Контактная информация:
Re: SubVI
Есть конвеер с тремя деталями. Надо сделать чтобы я мог выбирать для каждой детали где она выйдет с конвеера (exit1; 2; 3) или отправляется на точно такой же конвеер который расположен вслед за этим
-
- professional
- Сообщения: 301
- Зарегистрирован: 12 июн 2008, 19:56
- Награды: 1
- Версия LabVIEW: 8.6; 2009
- Откуда: Montreal
- Контактная информация:
-
- professional
- Сообщения: 301
- Зарегистрирован: 12 июн 2008, 19:56
- Награды: 1
- Версия LabVIEW: 8.6; 2009
- Откуда: Montreal
- Контактная информация:
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: SubVI
В программе может терятся какая либо информация если ты используешь какие либо переменные вместо буферов. Предлагаю построить всю прогу секвенциально и на очередях. И если тогда всё ещё будет терятся какая либо информация, то дело скорее всего в свитч кейсах, но это можно продибагить.
Иначе я хочу сказать что твоя прога не такая простая чтобы что либо сразу посоветовать.
Иначе я хочу сказать что твоя прога не такая простая чтобы что либо сразу посоветовать.