Witam
Mam pytanko odnosnie uaktywniania przez określony czas części kodu.
Uściślając temat chce aby częśc mojego programu uaktywniala się z pewnym opóżnieniem po spełnieniu określonego warunku i po upłynięciu określonego czasu dezaktywowała się . Bardzo bym prosił o wskazowki . Osobiście na chwile obecna prubuje rozwiazac swoj problem za pomoca
" Diagram disable structure " i " Wait (ms) " .
Pozdrawiam
Christopcher
Czasowe działania fragmentu kodu
Re: Czasowe działania fragmentu kodu
uaktywnienie z opóźnieniem - event structure --> timeout
w środku trzeba pewnie kod wsadzić do pętli while i monitorować czas po jakim ma być dezaktywacja, czyli wyjście z while'a i wyjście z eventa (stop, aby się po raz kolejny timeout nie wykonał).
w środku trzeba pewnie kod wsadzić do pętli while i monitorować czas po jakim ma być dezaktywacja, czyli wyjście z while'a i wyjście z eventa (stop, aby się po raz kolejny timeout nie wykonał).
Re: Czasowe działania fragmentu kodu
Proponuję takie rozwiązanie: Petla while + Flat Sequence o trzech ramkach w których kolejno powinno się znaleźć: 1. Wait(ms) co jaki czas ma być uruchamiany kod 2. właściwy kod 3. Sprawdzanie warunku zatrzymania pętli - zmiennej lokalnej lub kontrolki.CHRISTOPCHER pisze:Uściślając temat chce aby częśc mojego programu uaktywniala się z pewnym opóżnieniem po spełnieniu określonego warunku i po upłynięciu określonego czasu dezaktywowała się . r
Diagram disable structure jest odpowiednikiem oznaczenia /* i */ w C i C++ czyli poprostu wyłaczeniem realizacji zamkniętej tymi znacznikami częsci kodu z programu (komentowaniem kodu)CHRISTOPCHER pisze:Osobiście na chwile obecna prubuje rozwiazac swoj problem za pomoca
" Diagram disable structure " i " Wait (ms) " r
Zatem nie jest to dobre rozwiązanie.
Taka struktura bedzie się realizowała za każdym razem, kiedy przez czas określony wejściem timeout w strukturze event nie będzie akcji, którą event ma obsługiwać. Zatem jeśli bedą wystepowały zdefiniowane dla eventa zdarzenia (np. zmiany wartości kontrolek) to kod który ma byc obsługiwany w oknie timeout eventu nie będzie wykonywany regularnie. Pomijam oczywiście dwie struktury event w VIju, gdyż są one nieprawidłową strukturą programu.progor pisze:uaktywnienie z opóźnieniem - event structure --> timeout w środku trzeba pewnie kod wsadzić do pętli while i monitorować czas po jakim ma być dezaktywacja, czyli wyjście z while'a i wyjście z eventa (stop, aby się po raz kolejny timeout nie wykonał).
Warto pamietać o tym, że LabVIEW nie ma problemów z realizacją pętli pracujących równolegle. Istnieje kilka metod komunikacji między pracującymi pętlami - najprostsza to zmienne lokalne, są też struktury LV2glb czyli ActionEngine i inne.
-
- Posty: 71
- Rejestracja: 05 mar 2007 00:00
Re: Czasowe działania fragmentu kodu
Uwzględniłem uwagi z zmodyfikowałem swoją aplikacje jednak nie działa jak powinna. Mimo zadanego czasu rejestracji na waveform chart cały czas widać generowane przebiegi. Chciałem jeszcze skrotowo przybliżyć działanie mojego programu. Na wejścia cyfrowe karty pomiarowej dochodzą sygnały identyfikujące przebiegi. Z wykorzystaniem elektroniki na te same kanały karty są doprowadzone sygnały z różnych miejsc układu . Na razie w celach tworzenia programu przebiegi pochodzące z układu zastąpiłem generatorem. I dołączyłem zamiast kontrolek zapisujących do pliku waveform chart . W kodzie będzie 10 okienek flat sequence odpowiadające 5 rożnym miejscom w układzie działające po kolei sekwencyjnie. Rejestracja poszczególnych przebiegow będzie uaktywniana po spełnieniu warunku wejście cyfrowego i tu zamierzam wykonac za pomoca petli case structure . Załanczam bardzo skrutowe uproszczenie programu , chodzi mi na początku żeby rozwiązać problem zczytywania sekwencyjnego z pewnym opóźnieniem i przez określony czas mimo generacji ciągłej przebiegu. Bardzo bym prosił o wszelkie sugestie .
Pozdrawiam
Christopcher
Pozdrawiam
Christopcher
-
- Posty: 71
- Rejestracja: 05 mar 2007 00:00
Re: Czasowe działania fragmentu kodu
Precyzują chodzi mi o to żeby z calego przebiegu wyłapywac określone jego części oczywiście w sposób cykliczny a pozniej archiiwizować , a reszte co mi jest nie potrzebne poprostu zeby bylo bezpowrotnie tracone .