Event po wywolaniu danego subVI'a
- kupsztal
- Posty: 23
- Rejestracja: 07 gru 2005 00:00
- Wersja środowiska: LabVIEW 7.1
- Lokalizacja: Cambridge, UK
- Kontakt:
Event po wywolaniu danego subVI'a
Czy jest jakis sposob na uruchomienie powiedzmy event'a w przypadku gdy zostal uruchomiony/wywolany dany subVi ?
Lub czy jest jakikolwiek sposob na zasygnalizowanie ze dany subVI zostal uruchomiony/wywolany ? (najlepiej bez ciaglego monitorowania)
Lub czy jest jakikolwiek sposob na zasygnalizowanie ze dany subVI zostal uruchomiony/wywolany ? (najlepiej bez ciaglego monitorowania)
-
- Administrator
- Posty: 1315
- Rejestracja: 30 lip 2003 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Ruda Śląska
- Kontakt:
Re: Event po wywolaniu danego subVI'a
Witaj
Możesz spróbować po uruchomieniu VIja wygenerować zdarzenie generowane programowo przez użytkownika.
Krótki opis można znaleźć m.in. tutaj: Detekcja zdarzeń w LabVIEW oraz User Event.
bogdani
Możesz spróbować po uruchomieniu VIja wygenerować zdarzenie generowane programowo przez użytkownika.
Krótki opis można znaleźć m.in. tutaj: Detekcja zdarzeń w LabVIEW oraz User Event.
bogdani
- kupsztal
- Posty: 23
- Rejestracja: 07 gru 2005 00:00
- Wersja środowiska: LabVIEW 7.1
- Lokalizacja: Cambridge, UK
- Kontakt:
Re: Event po wywolaniu danego subVI'a
Dzieki za odpowiedz.
OK. A jak to zrobic bez modyfikowania subVI'a ?
Czy majac tylko referencje do niego jestem w stanie to zrobic ? Moglbym co prawda rozwiazac ten problem poprzez np.sprawdzanie w invoke node czy dany 'vi jest uruchomiony (o ile zawiera on taka informacje)
OK. A jak to zrobic bez modyfikowania subVI'a ?
Czy majac tylko referencje do niego jestem w stanie to zrobic ? Moglbym co prawda rozwiazac ten problem poprzez np.sprawdzanie w invoke node czy dany 'vi jest uruchomiony (o ile zawiera on taka informacje)
-
- Administrator
- Posty: 1315
- Rejestracja: 30 lip 2003 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Ruda Śląska
- Kontakt:
Re: Event po wywolaniu danego subVI'a
Jeśli z referencją danego VIja użyjesz Property Node i z właściwości wybierzesz Execution >> State w wyniku otrzymasz cztery dostępne stany danego VIja: Bad, Idle, Run top level, Running.
Myślę że to wystarczy do oceny, czy VI działa.
bogdani
Myślę że to wystarczy do oceny, czy VI działa.
bogdani
- kupsztal
- Posty: 23
- Rejestracja: 07 gru 2005 00:00
- Wersja środowiska: LabVIEW 7.1
- Lokalizacja: Cambridge, UK
- Kontakt:
Re: Event po wywolaniu danego subVI'a
A jednak wciaz to nie to. Po uruchomieniu programu, "VI Property Node >> Execution >> State" zwraca zawsze "Running", poniewaz subVI ktorego chce analizowac jest czescia programu ktory pracuje (running).
W efekcie w ten sposob nie mozna stwierdzic czy dany VI zostal wywolany. Hmm....
W efekcie w ten sposob nie mozna stwierdzic czy dany VI zostal wywolany. Hmm....
Re: Event po wywolaniu danego subVI'a
Proponuję przynajmniej pokazanie diagramu.
Ewentualnie zamieszczenie kodu.
Ewentualnie zamieszczenie kodu.
- kupsztal
- Posty: 23
- Rejestracja: 07 gru 2005 00:00
- Wersja środowiska: LabVIEW 7.1
- Lokalizacja: Cambridge, UK
- Kontakt:
Re: Event po wywolaniu danego subVI'a
Zalaczam screenshot fragmentu programu ktory chce zeby byl odpowiedzialny za nie inwazyjna (bez modyfikacji subVi'a) metode odczytywania wartosci danej zmiennej. W tym przypadku ma to byc "tx frame (string)".Mikrobi pisze:Proponuję przynajmniej pokazanie diagramu.
Ewentualnie zamieszczenie kodu.
Re: Event po wywolaniu danego subVI'a
Możesz jedynie czytać wartość konkretnej kontrolki na panelu subVIja.
Nie jest niestety możliwe z kolei zarejestrowanie zdarzenia (UserEvent) pochodzącego od panelu nie otwartego VIja.
Poniżej przykład jaki testowałem:
Może ktoś ma jakiś pomysł..?
Nie jest niestety możliwe z kolei zarejestrowanie zdarzenia (UserEvent) pochodzącego od panelu nie otwartego VIja.
Poniżej przykład jaki testowałem:
Może ktoś ma jakiś pomysł..?
- kupsztal
- Posty: 23
- Rejestracja: 07 gru 2005 00:00
- Wersja środowiska: LabVIEW 7.1
- Lokalizacja: Cambridge, UK
- Kontakt:
Re: Event po wywolaniu danego subVI'a
Dzieki za sugestie. Popraw mnie, jesli sie myle, ale w Twoim przykladzie sprawdzasz czy dana zmienna ulegla zmianie (value change), czy tak ?
W przypadku mojego problemu zmienna moze byc taka sama. Dlatego uznalem ze dobrym pomyslem byoby analizowanie czy dany VI zostal wywolany.
Na jakiej zasadzie dziala Profile VIs ( Menu Tools >> Advanced >> Profile VIs ). Znajduje sie tam kolumna #Runs. Przypuszczam, ze Profile VIs zostal napisany wlasnie w LabVIEW, wiec niewykluczone ze jest metoda sprawdzania ile razy zostal wywolany dany VI.
W przypadku mojego problemu zmienna moze byc taka sama. Dlatego uznalem ze dobrym pomyslem byoby analizowanie czy dany VI zostal wywolany.
Na jakiej zasadzie dziala Profile VIs ( Menu Tools >> Advanced >> Profile VIs ). Znajduje sie tam kolumna #Runs. Przypuszczam, ze Profile VIs zostal napisany wlasnie w LabVIEW, wiec niewykluczone ze jest metoda sprawdzania ile razy zostal wywolany dany VI.
Mikrobi pisze:Możesz jedynie czytać wartość konkretnej kontrolki na panelu subVIja.
Nie jest niestety możliwe z kolei zarejestrowanie zdarzenia (UserEvent) pochodzącego od panelu nie otwartego VIja.
Poniżej przykład jaki testowałem:
Może ktoś ma jakiś pomysł..?
- wino
- Posty: 549
- Rejestracja: 23 gru 2005 00:00
- Wersja środowiska: Nie mam LabVIEW
- Lokalizacja: Kraków
Re: Event po wywolaniu danego subVI'a
co chcesz uzyskać dokładnie?
po co chcesz sprawdzać czy VI jest "uruchomiony"?
po co chcesz sprawdzać czy VI jest "uruchomiony"?