Witam
Zna ktos jakis szybki i dobry sposob na jednoczesne zamykanie wszystkich rownoleglych petli while( tzn chodzi mi mulithread ).
Mam 3 oddzielne watki pracujace w jednym VI.
Mam problem gdy prubuje je zamknac gdy w ktoryms z nich wystapi error.
Normalnie to zamykam w event na zmiane wartosci stop.
Ale zauwazylem ze jak programowo zmienie wartosc kontrolki to event wtedy nie reaguje.
Moze mi tez ktos to wyjasnic? Istnieje jakis prosty sposob na zrobienie event kiedy VI zmienia wartosc jakiejs kontrolki?
Co jest lepiej uzywac shift register czy feedback gdy
oba przypadki obsluguja tylko jednego subVI.
pzdr
zamykanie multithread jednoczesnie
- wino
- Posty: 549
- Rejestracja: 23 gru 2005 00:00
- Wersja środowiska: Nie mam LabVIEW
- Lokalizacja: Kraków
zamykanie multithread jednoczesnie
Jeżeli użyjesz właściwości kontrolki value(signaling) do zmiany wartości kontroli to event sie odpali.
Re: zamykanie multithread jednoczesnie
Moglbys to pokazac na przykladzie? lab 8.0
Re: zamykanie multithread jednoczesnie
Tu masz pokazane jak zrobić, żeby event reagował na programową zmianę jakiejś kontrolki. Tak jak podpowiedział wino - trzeba użyć property node Value (Signaling).
Program prosty - dwa led'y. Jeden zmieniany programowo, drugi przez event.
A co do tych trzech wątków które chcesz zamknąć: komunikują się one jakoś między sobą? Wymieniają jakieś dane? Pokaż ten przykład.
Program prosty - dwa led'y. Jeden zmieniany programowo, drugi przez event.
A co do tych trzech wątków które chcesz zamknąć: komunikują się one jakoś między sobą? Wymieniają jakieś dane? Pokaż ten przykład.
Ostatnio zmieniony 25 lut 2009 22:03 przez coolfon, łącznie zmieniany 1 raz.
Re: zamykanie multithread jednoczesnie
dzieki za przyklad.
co do 3 watkow to jeden to obsluga sterownika silnika, drugi to obsluga
tcp/ip a trzeci to zwyky even reagujacy na zdarzenia.
watki komuinikuja sie ze soba tylko za pomoca zmennych lokalnych.
problem polega na tym ze nie wiem w jaki sposob pozamykac je jezeli w ktoryms pojawi sie blad.( tzn potrafie zamknac ta w ktorej pojawi sie blad ale pozostalych juz nie).
Petle maja blad przekazywany przez shift register.
Pokombinuje z ta val(signaling) i stworze cos na wzor detekcji bledu i obslugi go przez Event.
ale moze ktos zna jakis inny szybszy i latwiesze rozwaizanie problemu.
nie dam rady podeslac tego bo to duzy projek majacy ze 50 Vi i do tego dzialajacy na 2 PC.
co do 3 watkow to jeden to obsluga sterownika silnika, drugi to obsluga
tcp/ip a trzeci to zwyky even reagujacy na zdarzenia.
watki komuinikuja sie ze soba tylko za pomoca zmennych lokalnych.
problem polega na tym ze nie wiem w jaki sposob pozamykac je jezeli w ktoryms pojawi sie blad.( tzn potrafie zamknac ta w ktorej pojawi sie blad ale pozostalych juz nie).
Petle maja blad przekazywany przez shift register.
Pokombinuje z ta val(signaling) i stworze cos na wzor detekcji bledu i obslugi go przez Event.
ale moze ktos zna jakis inny szybszy i latwiesze rozwaizanie problemu.
nie dam rady podeslac tego bo to duzy projek majacy ze 50 Vi i do tego dzialajacy na 2 PC.