wykonywanie operacji w ustalonych odstępach czasu
wykonywanie operacji w ustalonych odstępach czasu
Jak w temacie, jak zrobić by program rozpoczynał pomiar w odgórnie ustalonych odstępach czasu.
Np. co 0,5s ma zrobić pomiar czyli co 0,5s generowany jest sygnał na multimetr, odczytywana jest wartość i zapisywana jest do pliku (gwarantuje to że czas pomiędzy pomiarami jest mniej więcej identyczny)
Np. co 0,5s ma zrobić pomiar czyli co 0,5s generowany jest sygnał na multimetr, odczytywana jest wartość i zapisywana jest do pliku (gwarantuje to że czas pomiędzy pomiarami jest mniej więcej identyczny)
- __behemot_
- Posty: 57
- Rejestracja: 03 lip 2008 09:05
- Wersja środowiska: LabVIEW 2009
- Lokalizacja: Wrocław
- Kontakt:
Re: wykonywanie operacji w ustalonych odstępach czasu
Stwórz dwa wątki, z czego jeden będzie robił akwizycję danych i przekazanie do kolejki, drugi odczytywanie danych z kolejki i przetwarzanie (tutaj zapis do pliku, najlepiej binarnego). Rozumie, że pomiar to skończona liczba próbek o znanej Tobie częstotliwości, zatem pomiar przykładowo co 0,5sec możesz wykonać załączając akwizycje co każde 0,5s wyznaczone z bloczku "Elapsed Time".
Prawdopodobnie dobrym rozwiązaniem byłaby również pętla "Timed Loop", a to musiałbyś sobie przetestować sam.
Pozdrawiam
Prawdopodobnie dobrym rozwiązaniem byłaby również pętla "Timed Loop", a to musiałbyś sobie przetestować sam.
Pozdrawiam
"kobieta też człowiek, też może być"
wykonywanie operacji w ustalonych odstępach czasu
Wystarczy jeden wątek tu nie ma z tym problemu akurat, bardziej mnie martwi stworzenie czegoś w rodzaju wyzwalacza czasowego, działającego w odgórnie ustalonych odstępach czasu.
- __behemot_
- Posty: 57
- Rejestracja: 03 lip 2008 09:05
- Wersja środowiska: LabVIEW 2009
- Lokalizacja: Wrocław
- Kontakt:
Re: wykonywanie operacji w ustalonych odstępach czasu
Nie rozumie pytania, przecież napisałam co możesz zastosować: Elapsed Time, jak poniżej
"kobieta też człowiek, też może być"
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: wykonywanie operacji w ustalonych odstępach czasu
Łatwiej będzie użyć funkcji Wait Until Next ms Multiple...__behemot_ pisze:Nie rozumie pytania, przecież napisałam co możesz zastosować: Elapsed Time, jak poniżej
... z wartością 500 podpiętą na wejście.co 0,5s generowany jest sygnał na multimetr, odczytywana jest wartość i zapisywana jest do pliku
wykonywanie operacji w ustalonych odstępach czasu
Skłaniam się w stronę propozycji __behemot_ tylko że jak zrobić by pętla była odpalana co 0,5s wykonywała się i kończyła bądź też w przypadku kiedy się nie kończy to by była zerwana a operacja w pętli ponowiona od początku co 0,5s.
-
garymarlin
- Posty: 7
- Rejestracja: 18 lis 2009 20:05
- Wersja środowiska: LabVIEW 8.0
Re: wykonywanie operacji w ustalonych odstępach czasu
Ja stosuję pętlę Timed Loop, która ma wyjście Finished Late? Z moich obserwacji wynika, że ta pętla zapewnia precyzyjne sterowanie czasem wykonywania kolejnych iteracji.
Re: wykonywanie operacji w ustalonych odstępach czasu
garymarlin: Bawię się już ładną chwilkę tą pętlą i nie chce mi za bardzo wyjść;/
Idea jest taka by ramka startowała co 0,5s nie zależnie od tego czy kończy wykonywać operacje czy też nie z Elapsed Time próbowałem ale pozwala kończyć ramce wszystko zamiast przerwać i rozpocząć od nowa wykonywanie operacji.
Idea jest taka by ramka startowała co 0,5s nie zależnie od tego czy kończy wykonywać operacje czy też nie z Elapsed Time próbowałem ale pozwala kończyć ramce wszystko zamiast przerwać i rozpocząć od nowa wykonywanie operacji.
-
kapitan7
- Posty: 114
- Rejestracja: 31 paź 2005 00:00
- Wersja środowiska: LabVIEW 8.2
- Lokalizacja: Cz-wa / Wa-wa
Re: wykonywanie operacji w ustalonych odstępach czasu
Witam,
Nie za bardzo wiem jak zrozumieć problem.
Może pokaż diagram i co jest w ramce.
Czy chodzi Ci o przerwanie ramki czy pętli (tak nie za bardzo rozumiem co ma się zakończyć co 0,5s)?
Co się wykonuje podczas tych 0,5 s w ramce.
Na pierwszy rzut oka wydaje mi sie że pomysł Jogurta jest jak najbardziej ok ale nie za bardzo wiem o co chodzi z przerwaniem ramki...
Nie za bardzo wiem jak zrozumieć problem.
Może pokaż diagram i co jest w ramce.
Czy chodzi Ci o przerwanie ramki czy pętli (tak nie za bardzo rozumiem co ma się zakończyć co 0,5s)?
Co się wykonuje podczas tych 0,5 s w ramce.
Na pierwszy rzut oka wydaje mi sie że pomysł Jogurta jest jak najbardziej ok ale nie za bardzo wiem o co chodzi z przerwaniem ramki...
kapitan7
Re: wykonywanie operacji w ustalonych odstępach czasu
Pętla może zakończyć swoje działanie jedynie w sytuacji gdy wykona się cała jej "zawartość" oraz gdy spełniony zostanie warunek zatrzymania pętli. Nie możesz zatrzymać pętli 'podczas' wykonywania jednej iteracji.lotnik pisze: jak zrobić by pętla była odpalana co 0,5s wykonywała się i kończyła bądź też w przypadku kiedy się nie kończy to by była zerwana a operacja w pętli ponowiona od początku co 0,5s.