Kolejki

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
fenix
Posty: 97
Rejestracja: 21 mar 2006 00:00
Lokalizacja: Warszawa

Kolejki

Post autor: fenix »

Witam!

Chce zrobić coś takiego przy użyciu kolejek:
1. Gdy wykona się pętla pierwsza w głownym programie to powinna wykonać się pętla druga która jest w subvi
2. Gdy wykona się pętla w subvi to po niej powinna wykonać się 1 raz pętla trzecia w programie.

I tu mam pytanie. Jak zrobić punkt 2 przy tym samym Queue. To znaczy zrobiłem tak że w subvi po wykonaniu pętli stworzyłem drugą kolejkę pod inna nazwą i do niej się odwołuję w programie głównym (Pętla 3b), ale jak można zrobić to samo bez tworzenia różnych nazw dla Obtain Queue (Tak żeby wykonała się tylko raz pętla 3a przy kolejce bez nazwy)? Bo tak jakbym miał analogicznie jeszcze 3 takie pętle to bym musiał tworzyć dodatkowo dwie różne kolejki pod innymi nazwami).
Mam nadzieję ze dobrze wytłumaczyłem o co mi chodzi...

Przykładowy programik w załączniku

Labview 8.2

Pozdrawiam
Awatar użytkownika
fenix
Posty: 97
Rejestracja: 21 mar 2006 00:00
Lokalizacja: Warszawa

Kolejki

Post autor: fenix »

Spojrzy ktoś w diagram i mi podpowie jak w inny sposob niz ten moj mozna uruchomić ta 3 petle? :-)
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Kolejki

Post autor: jogurt_owocowy »

1. Gdy wykona się pętla pierwsza w głownym programie to powinna wykonać się pętla druga która jest w subvi
Gdy pętla się wykona wstaw do kolejki "pętla-sub". Subvi stoi przed pętlą na klocku np. Preview Queue Element czekając, aż w kolejce pojawi się "pętla-sub" jak tak to wyjmuje go z kolejki, wchodzi do pętli, jak nie - czeka dalej. Gdy pętla się zakończy wstawia do kolejki "petla2".
Analogicznie trzecia pętla w programie czeka, na pojawienie się w kolejce elementu "petla2" i powinno to to działać.
Pozdrawiam
Awatar użytkownika
fenix
Posty: 97
Rejestracja: 21 mar 2006 00:00
Lokalizacja: Warszawa

Kolejki

Post autor: fenix »

A mógłbym prosić o mały przykład bo mi nie chce wyjść, chyba nie za bardzo rozumiem...
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Kolejki

Post autor: jogurt_owocowy »

Proszę przykład:

[img]http://labview.pl/uploads/veir/synchron ... 0subvi.gif[/img]

Gdy pętla nr 1 kończy się wykonywać wysyła za pośrednictwem kolejki string "loop in subvi-start" po czym przechodzi do stanu oczekiwania na string "loop2 in main-start" - pierwsza pętla w Sequence. Analogiczna pętla oczekuje w subviaju na pojawienie się elementu "loop in subvi-start". Kiedy o dostanie, pętla w subviaju startuje, a po swoim zakończeniu wysyła do kolejki "loop2 in main-start". Wtedy budzi się czekająca pętla w main i odpala w głównym programie pętlę nr 2.

Pozdrawiam
Awatar użytkownika
fenix
Posty: 97
Rejestracja: 21 mar 2006 00:00
Lokalizacja: Warszawa

Kolejki

Post autor: fenix »

A mógłbym prosić ten przykład w labview 8.2?
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Kolejki

Post autor: jogurt_owocowy »

8.2
Awatar użytkownika
fenix
Posty: 97
Rejestracja: 21 mar 2006 00:00
Lokalizacja: Warszawa

Kolejki

Post autor: fenix »

Dzieki! o takie cos mi chodzilo, teraz postaram sie cos takiego zrobic w moim projekcie :)
ODPOWIEDZ