Kolejki
Kolejki
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
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
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: Kolejki
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".1. Gdy wykona się pętla pierwsza w głownym programie to powinna wykonać się pętla druga która jest w subvi
Analogicznie trzecia pętla w programie czeka, na pojawienie się w kolejce elementu "petla2" i powinno to to działać.
Pozdrawiam
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: Kolejki
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
[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
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: Kolejki
8.2