Referencje pomiędzy VI

Sprawy związane z interfejsem użytkownika - kontrolki, wskaźniki, wyświetlacze, wykresy oraz inne zagadnienia tego typu...
gumiskoz
Posty: 3
Rejestracja: 21 maja 2013 23:39
Wersja środowiska: LabVIEW 2010

Referencje pomiędzy VI

Post autor: gumiskoz »

Witam,

Byłbym wdzięczny jakby ktoś mi pomógł rozwiązać pewien problem w mojej pracy inżynierskiej. Generalnie chodzi mi o to aby do referencji do TabControl z pierwszego VI (oznaczmy go jako VI-a) odwołać się z poziomu drugiego VI (oznaczmy go jako VI-b). W najprostszy sposób byłoby poprzez connector na wejściu z VI-b wprowadzić referencję do TabControl z VI-a, jednak nie potrafię tego wykonać. Jeżeli ktoś byłby w stanie mi pomóc to byłbym wdzięczny.

P.S. Być może jest w projekcie możliwość utworzenia globalnej referencji która odwoływałaby się do każdego VI.

Pozdrawiam,
Paweł
Awatar użytkownika
Trint
Posty: 14
Rejestracja: 22 paź 2012 14:10
Wersja środowiska: LabVIEW 2012

Re: Referencje pomiędzy VI

Post autor: Trint »

Jeśli dobrze rozumiem, to:
VI-a: ma Tab Control na front panelu.
VI-b: w nim chcemy mieć referencję do tego Tab Controla.

W VI-a z menu kontekstowego taba Create-> Reference. Na Block diagramie utworzy się referencja. Na niej Create-> Indicator, a następnie podłącz go do konektora jako wyjście. Skopiuj go do VI-b, zamień na kontrolkę, podłącz do wejścia. Zamieszczam przykład.
Załączniki
Przesyłanie referencji.png
Przesyłanie referencji.png (9.53 KiB) Przejrzano 7735 razy
Jamal79
Posty: 289
Rejestracja: 01 maja 2012 14:14
Wersja środowiska: LabVIEW 2012
Lokalizacja: Farum

Referencje pomiędzy VI

Post autor: Jamal79 »

W przypadku dwoch sub-VI'ai bedzie dzialac, ale jak zamierzasz odpalac dwa poszczegolne programy to musial bys zapisac wartosc np, do pliku, albo uzyc "globalnych zmiennych". Jezeli maja dzialac na roznych klientach, to "globalne zmienne" tez powiny rozwiazac problem...
Brak, konkretow to i malo konkretne odpowiedzi...
gumiskoz
Posty: 3
Rejestracja: 21 maja 2013 23:39
Wersja środowiska: LabVIEW 2010

Re: Referencje pomiędzy VI

Post autor: gumiskoz »

Próbowałem zastosować metodę zaproponowaną przez ,,Trint" jednak program się zawiesza i nic nie mogę zrobić. W załączniku przesyłam całą pracę. Problem polega na tym, że chciałbym zakładki TabControl z VI-Panele ukrywać tak jak to zrobiłem w TabControl-Hierarchia. Jednak nie mam pojęcia jak to połączyć referencjami. Jak wrzucam to wszystko do jednego VI-a to działa elegancko jednak promotor nie uznaje całego programu w jednym VI. Dlatego prosiłbym o pomoc w odpowiednim skonfigurowaniu referencji.
Załączniki
Praca Inz.lvproj
(6.12 KiB) Pobrany 401 razy
Hierarchia.vi
(36.43 KiB) Pobrany 378 razy
Panele.vi
(2.15 MiB) Pobrany 385 razy
Awatar użytkownika
Trint
Posty: 14
Rejestracja: 22 paź 2012 14:10
Wersja środowiska: LabVIEW 2012

Re: Referencje pomiędzy VI

Post autor: Trint »

Ten program się nie zawiesza, tylko posłusznie robi to, co programista mu kazał.
1.
Po co w twoim subVI (Hierarchia.vi) drugi TabControl, skoro chcesz modyfikować ten pierwszy, z Panele.vi ?
Żeby to zrobić, trzeba przesłać referencję do subVI, czyli z kontrolki Tab Control 2 (refnuma) utworzyć jedno z wejść do niego.
Potem w głównym Vi z menu kontekstowego Tab Control: Create -> Reference, i połączyć utworzoną referencję z subVI.
2.
Po co w subVI struktura Event? ona czeka na wciśnięcie przycisku Loguj na swoim panelu, a nie Login na panelu głównego VI. Ale ten pierwszy się nie wyświetla, bo po prostu front panele subVI-ów się domyślnie nie wyświetlają. Więc nie ma czego wcisnąć, więc program czeka w nieskończoność - "zawiesza się".
3.
Po co w subVI pętla w pętli, a obie mają taki sam warunek zakończenia? Wychodzi mi, że przy prawidłowym działaniu obie powinny wykonać się dokładnie raz, czyli w ogóle ich nie musi być.
4.
Uprościłem twój kod. A na przyszłość, pisz spokojniej. Sam siebie potrafiłem zaskoczyć, jak szybko człowiek zaczyna dążyć do pisania tzw. spagetti.
(Jak przyprawić programistę LV o zawał? wpisać w google "labview spaghetti code")
Załączniki
Panele.vi
(1.14 MiB) Pobrany 393 razy
Hierarchia.vi
(11.06 KiB) Pobrany 390 razy
gumiskoz
Posty: 3
Rejestracja: 21 maja 2013 23:39
Wersja środowiska: LabVIEW 2010

Re: Referencje pomiędzy VI

Post autor: gumiskoz »

Nie wiem jak Ci dziękować za pomoc. W życiu nie pomyślałbym, że można aż tak uprościć moje wypociny. Uświadomiłeś mi, że jeszcze daleka droga przede mną do tworzenia dobrych programów w LV. Niestety póki co sam sobie utrudniam sprawę i niepotrzebnie komplikuję tworzone przez siebie programy. Pozdrawiam i jeszcze raz dziękuje za pomoc.
ODPOWIEDZ