Strona 1 z 1

Uruchomienie aplikacji LabVIEW spod LabVIEW

: 06 wrz 2004 20:43
autor: rafal
Witam

Jak można najprościej uruchomić spod działającej aplikacji inną aplikację? Mam na myśli panel (interfejs), w którym znajdowałyby się przyciski powodujące uruchomienie innej aplikacji LabVIEW (dokładnie coś takiego jest w Demo LabVIEW 6i - może w innych wersjach też).
Najlepiej, gdyby nowa aplikacja otwierała się w tym samym oknie.
Chodzi mi o najprostsze rozwiązanie.
Dzięki

: 07 wrz 2004 01:29
autor: PMaj
Witaj

Jeżeli masz jakiegoś VI'a i chcesz uruchomić z niego inny to należy ten 'inny' umieścić w programie głównym. można to zrobić przez wybranie z palety funkcyjnej (functions palette) opcji 'select a VI' i wybranie odpowiedniego VI'a lub po prostu wywoływany VI 'przeciągnąć' do Block Diagram głównego programu. Aby uruchamiał się po wciśnięciu przycisku należy go umieścić na przykład w strukturze 'case' - i do warunku podpiąć przycisk. Co do tego żeby wywoływany VI otwierał się w tym samym oknie - każdy VI ma swój Front Panel i szczerze wątpię aby udało się go wywołać w tym samym oknie - chyba ze pokombinujesz i np. ukryjesz panel wywoływanego VI'a i po wywołaniu uczynisz pewne kontrolki widoczne ... (jest kilka alternatywnych opcji - użycie 'tab control' i po wywołaniu VI'a zmienić 'Page').

Pozdrawiam

: 07 wrz 2004 08:56
autor: Gość
[quote="PM"] Co do tego żeby wywoływany VI otwierał się w tym samym oknie - każdy VI ma swój Front Panel i szczerze wątpię aby udało się go wywołać w tym samym oknie - chyba ze pokombinujesz i np. ukryjesz panel wywoływanego VI'a i po wywołaniu uczynisz pewne kontrolki widoczne ... (jest kilka alternatywnych opcji - użycie 'tab control' i po wywołaniu VI'a zmienić 'Page'). Pozdrawiam[/quote] Tam gdzie siedzą konternery... :) W palecie Controls>> Containers jest Sub Panel, czyli kontrolka w której mozna otworzyć VI.
Do metody Insert VI należy podać referencję do pliku zawierającego VI, który chesz otworzyć.
pozdrawiam Mikrobi

: 07 wrz 2004 10:35
autor: PMaj
witam

Rzeczywiście - Mikrobi ma tu całkowitą rację - mój błąd - da się w tym samym oknie o tworzyć nowy VI - nie pomyślałem o tym...

Pozdrawiam

: 07 wrz 2004 10:59
autor: Gość
[quote="PM"]witam Rzeczywiście - Mikrobi ma tu całkowitą rację - mój błąd - da się w tym samym oknie o tworzyć nowy VI - nie pomyślałem o tym... [/quote] ...aczkolwiek do łatwych to już nie należy ;)
pozdrawiam Mikrobi p.s. a to przykład: [img]http://layer.uci.agh.edu.pl/~mikrobi/LA ... dCtrld.png[/img]
a panel wyglada tak:
[img]http://layer.uci.agh.edu.pl/~mikrobi/LA ... _Ctrlp.png[/img]
pozdrawiam Mikrobi

: 09 wrz 2004 11:14
autor: Gość
Fajnie, a jak z pod Labview uruchomić całkiem niezależny program (zwykły exe) ??? 8O

: 09 wrz 2004 12:57
autor: PMaj
Witam
[quote]jak z pod Labview uruchomić całkiem niezależny program (zwykły exe) ?[/quote]
otóż program wykonywalny *.exe (który niekoniecznie jest programem napisanym w LabVIEW) można uruchomić przy pomocy 'system exec' - wybierając ten bloczek z palety funkcyjnej Functions Palette >> communication >> system exec.
Obsługa bloczka - patrz help.
Pozdrawiam

Uruchamianie programów

: 12 wrz 2004 22:47
autor: bogdani
Witam
To co opisywali koledzy powyżej jest dostępne od LabVIEW 6.1.
Dla LabVIEW 6i proponuję użycie wywołania poszczególnych programów VI w głównej aplikacji. Okna można tak poustawiać że będą one zajmowały cały ekran, więc zasłonią główną aplikację, a wynik ich działania, może być spokojnie przekazany do głónego programu (jeśli jest taka potrzeba) po zakończeniu ich działania. Takie właśnie rozwiązanie zastosowałem w przypadku programu FME, który jest opisany w tym serwisie. Był to mój pierwszy program (zresztą zawierający masę programistycznych błędów - szczególnie dotyczących stylu programowania) więc nie polecam go do naśladowania, ale akurat to rozwiązanie powinno ciebie zadowolić. Wiem że to nie będą programy uruchamiane w tym samym oknie, ale w 6i tego nie można inaczej chyba zrobić (nic innego w tej chwili mi nie przychodzi do głowy).
Używałem tam funkcji z menu Aplication Control: Open VI Reference, Call by Reference Node, Close LV Object Reference. To mi dawało możliwość uruchamiania programów VI z mojej aplikacji. Zresztą jest tam w przykładach demo.
Pozdrawiam bogdani

: 13 wrz 2004 19:50
autor: rafal
Dzięki. Działa.
Jak byś jeszcze wpadł na pomysł, jak odpalić go w tym samym oknie to byłbym wdzięczny.
Pozdrawiam.

Zakłądki

: 13 wrz 2004 21:28
autor: bogdani
Witaj

Rozważałeś może zamiast uruchamiania programów zrobić system zakładek przełączanych programowo ??

Wtedy w zależności co wybierzesz wyświetli ci się odpowiednia zakładka z panelem programu.

bogdani

: 14 wrz 2004 22:16
autor: rafal
Zakładki raczej by nie pasowały do mojej pracy, ale wpadłem na inny pomysł. Programy się już odpalają (w nowym oknie - jako okna modalne), tylko chciałbym, żeby po odpaleniu podprogramu minimalizował się panel główny (bo wystaje on spoza podprogramów). Mój kolejny problem to: w jaki sposób można zminimalizować okno panelu sterowania umieszczonym w nim przyciskiem (zwyczajnym buttonem)?

Dzięki i pozdrawiam.

Re: Uruchomienie aplikacji LabVIEW spod LabVIEW

: 23 gru 2005 14:46
autor: domacho
A jak zrobic, żeby w subpanelu pojawiały sie różne VI's? Każdy subVI ma przyporządkowany przycisk.