Czasowe działania fragmentu kodu

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.
CHRISTOPCHER
Posty: 71
Rejestracja: 05 mar 2007 00:00

Czasowe działania fragmentu kodu

Post autor: CHRISTOPCHER »

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
Awatar użytkownika
progor
Posty: 197
Rejestracja: 01 kwie 2005 00:00
Lokalizacja: Kraków

Re: Czasowe działania fragmentu kodu

Post autor: progor »

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ł).
Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2017

Re: Czasowe działania fragmentu kodu

Post autor: Mikrobi »

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
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:Osobiście na chwile obecna prubuje rozwiazac swoj problem za pomoca
" Diagram disable structure " i " Wait (ms) " 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)
Zatem nie jest to dobre rozwiązanie.
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ł).
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.
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.
pozdrawiam
Mikrobi

LabVIEW Champion, CLD, CPI
CHRISTOPCHER
Posty: 71
Rejestracja: 05 mar 2007 00:00

Re: Czasowe działania fragmentu kodu

Post autor: CHRISTOPCHER »

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
CHRISTOPCHER
Posty: 71
Rejestracja: 05 mar 2007 00:00

Re: Czasowe działania fragmentu kodu

Post autor: CHRISTOPCHER »

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 .
ODPOWIEDZ