zmienna wewnętrzna na zewnątrz

Jeśli masz coś do powiedzenia w sprawie LabVIEW napisz. Tutaj są tematy, których nie można uściślić do innych działów.
Awatar użytkownika
mar3cki
Posty: 53
Rejestracja: 15 lis 2005 00:00
Lokalizacja: Wrocław

zmienna wewnętrzna na zewnątrz

Post autor: mar3cki »

mam pewien problem, mianowicie stworzyłem jakiś tam swój bloczek, wewnątrz jest pętla for, a w niej wykonywane są pewne operacje

w jaki sposób mogę wyciągnąć zmienną lokalną (na której są wykonywane działania wewnątrz pętli) na zewnątrz pętli i bloczka i oglądać ją w czasie wykonywania się pętli :?:

czy wogóle jest taka możliwość w LV7.1 :?:

w LV8.0 wiem, że jest shared variable i ona by mi załatwiła sprawę jednak zależy mi na rozwiązaniu do LV7.1
pozdro marecki

Certified LabVIEW Developer
Awatar użytkownika
Blamek
Posty: 115
Rejestracja: 20 paź 2005 00:00
Lokalizacja: Kraków

Re: zmienna wewnętrzna na zewnątrz

Post autor: Blamek »

hmm, nie sprawdzalem, ale mozesz sprobowac rozwiazanie, o ktore jest ostatnio czesto sugerowane na forum, czyli VI Server, RunVI i metoda "wait until done" na false. Pozniej musisz sprawdzic stan subVIa (jesli jest idle to znaczy ze juz skonczyl biegac i mozna odczytac terminale, ale tez za pomoca VI Servera bo inaczej sie nie da), jesli nie chcesz nic robic z ta zmienna, tylko ja podejzec to albo udostepnij panel subVIa (lub jego kawalek) bezposrednio lub jako element panelu glownego VI'a.

Nawiasem mowiac tak sie zastanawiam czy nie dalo by sie zrobic takiego dwustanowego vi'a pierwszy stan to ten w ktorym wykonuje sie program, a z jakichs tam naszych pobodek uruchamiamy go jako vi server, drugi stan bylby odpowiedzialny za pamietanie wynikow dzialania z pierwszego stanu (przez shiftregister). Nie wiem czy jasno wyrazilem o co mi chodzi i czy to ma wogle jakis sens?
God is dead - Nietsche, Nietsche is dead - God
Awatar użytkownika
progor
Posty: 197
Rejestracja: 01 kwie 2005 00:00
Lokalizacja: Kraków

Re: zmienna wewnętrzna na zewnątrz

Post autor: progor »

jest sposób.
zmienną stworzyć w głównym VI, a do subVI pociągnąć referencje.
jak w subVI będziesz u przypisywał wartości w każdej pętli, to w głównym VI na bierząco będziesz miał aktualizacje.

dobre referencje nie są złe :D
Awatar użytkownika
wino
Posty: 549
Rejestracja: 23 gru 2005 00:00
Wersja środowiska: Nie mam LabVIEW
Lokalizacja: Kraków

Re: zmienna wewnętrzna na zewnątrz

Post autor: wino »

albo też robisz sobie VIglobal
działa to w nastepujacy sposób
ten case co jest na obrazku ma jak widzisz trzy opcje
set->ustawiasz wartosc
get->pobierasz wartosc
clear->czyscisz

clear->enum zawierajacy(clear,set,get)

i robisz tak: w subVI układasz VIglobala i dajesz mu wartosc set i wpisujesz do niego wartosc
a na glownym panelu kładziesz ten sam VIglobal i nadajesz mu wartosc get i odzczytujesz z niego i w ten cudowny sposob masz wartosc na wierzchu

dzieki shifty register wartosc jest zapamietywana bo go nie INICJALIZUJESZ!!

na dole trzy screan shooty tego VI mam nadzieje ze pomoge

mysle ze to prosty sposob ma wiele zalet nie masz dodatkowych przewodow wyprowadzenia w VI masz wolne no i mozesz tak przesyłac dane aaaaaaa nieważne

mysle ze jasno jak nie to zapytaj jeszcze raz to ci wysle srean shoota z tym jak go urzyc 8)

P.S. ilos literek w słowie aaaaaaa została ustalona przez moja kolezenke
defaultowo było 4 ale poprosiła mnie o 7 bo jak napisała"7 to szczesliwa liczba :D"

milej zabawy
Awatar użytkownika
mar3cki
Posty: 53
Rejestracja: 15 lis 2005 00:00
Lokalizacja: Wrocław

Re: zmienna wewnętrzna na zewnątrz

Post autor: mar3cki »

ponieważ ten bloczek będzie uniwersalny użycie zmiennych globalnych odpada, problem został już rozwiązany poprzez użycie następnego bloczka do odczytu
pozdro marecki

Certified LabVIEW Developer
ODPOWIEDZ