Zapis do pliku przez określony czas podczas działającej pętl

Tematy związane z LabVIEW pracującym w czasie rzeczywistym.
lucasenior
Posty: 8
Rejestracja: 31 maja 2014 18:10
Wersja środowiska: LabVIEW 2010

Zapis do pliku przez określony czas podczas działającej pętl

Post autor: lucasenior »

Witam,
Jestem dopiero raczkującym w labview i to jest mój pierwszy post natym forum, dlatego prosze o wyrozumiałość :) . Co chce zrobić: chce zapisywać dane do pliku przez określony czas np 60s w dowolnym momęcie działania programu. Zapis do tablicy mam zrobiony tylko nie moge sobie poradzić z tym zeby zapisywało dane w dowolnym momęcie programu przez określony czas. Wykorzystuje bloczek Tick Count i to mi działa tylko że czas leci od początku działania pętli a nie od momętu kiedy ja chce. Co poradzicie ?
Awatar użytkownika
aaddaas
Posty: 202
Rejestracja: 26 cze 2013 20:42
Wersja środowiska: LabVIEW 2015

Zapis do pliku przez określony czas podczas działającej pętl

Post autor: aaddaas »

Hej!
Przydałby się wgląd do Twojego VI, by móc się dokładnie wypowiedzieć. Ja bym zrobił to wykorzystując bloczek elapsed time. Od momentu, gdy chcesz wysyłać pomiary resetujesz licznik (wysyłając jednorazowo true na Reset), a następnie przesyłam pomiary aż Elapsed Time będzie True.
Więcej będę mógł pomóc, gdy zobaczę porogram;)
Pozdrawiam!
Obrazek
lucasenior
Posty: 8
Rejestracja: 31 maja 2014 18:10
Wersja środowiska: LabVIEW 2010

Re: Zapis do pliku przez określony czas podczas działającej pętl

Post autor: lucasenior »

Dodaje screen programu
Screen prgramu.jpg
lucasenior
Posty: 8
Rejestracja: 31 maja 2014 18:10
Wersja środowiska: LabVIEW 2010

Zapis do pliku przez określony czas podczas działającej pętl

Post autor: lucasenior »

Dodam,że narazie testuje na wartościach idących z pętli while, a nie na danych z portu szeregowego
lucasenior
Posty: 8
Rejestracja: 31 maja 2014 18:10
Wersja środowiska: LabVIEW 2010

Zapis do pliku przez określony czas podczas działającej pętl

Post autor: lucasenior »

A właśnie jest jakiś bloczek co daje automatycznie pojedynczy impuls(stan wysoki), nie mówie to o nacisnięciu boolen ?
Awatar użytkownika
aaddaas
Posty: 202
Rejestracja: 26 cze 2013 20:42
Wersja środowiska: LabVIEW 2015

Re: Zapis do pliku przez określony czas podczas działającej pętl

Post autor: aaddaas »

Hej!
Po pierwsze usuń zewnętrzną case strukture sterowaną "włącz cały program" ponieważ jeśli w momencie przyciśnięcia przycisku run, przycisk "włącz cały program" będzie na False, to program się nie odpali i nie zmieni nic przełączanie tego przycisku.

Odnosząc się do Twojego problemu:
Wstaw case strukture sterowaną przyciskiem "zapis do pliku", a wewnątrz na wartości true wstaw bloczek elapsed time. Wprowadzasz w "target time" ile sekund ma lecieć, a wyprowadzasz elapsed time. Tak jak w załączniku. Zapis do pliku wyrzuć poza pętlę.

// To co załączam to tzw Snipped. Jest to taki sprytny sposób, że wystarczy, że przeciągniesz obrazek na block diagram, a on Ci się załączy
Załączniki
timing.png
timing.png (46.61 KiB) Przejrzano 13320 razy
Obrazek
Awatar użytkownika
aaddaas
Posty: 202
Rejestracja: 26 cze 2013 20:42
Wersja środowiska: LabVIEW 2015

Re: Zapis do pliku przez określony czas podczas działającej pętl

Post autor: aaddaas »

lucasenior pisze:A właśnie jest jakiś bloczek co daje automatycznie pojedynczy impuls(stan wysoki), nie mówie to o nacisnięciu boolen ?
a na co Ci pojedynczy impuls? True constant nie wystarczy?
Obrazek
lucasenior
Posty: 8
Rejestracja: 31 maja 2014 18:10
Wersja środowiska: LabVIEW 2010

Zapis do pliku przez określony czas podczas działającej pętl

Post autor: lucasenior »

O kurcze dzięki wielkie ! Wszystko pięknie działa tak jak chciałem :)
lucasenior
Posty: 8
Rejestracja: 31 maja 2014 18:10
Wersja środowiska: LabVIEW 2010

Zapis do pliku przez określony czas podczas działającej pętl

Post autor: lucasenior »

Na początku chciałem wykorzystać coś takiego w programie, a teraz to jestem po prostu ciekaw czy istnieje coś takiego w labview jak automatyczne chwilowe włączenie stanu wysokiego(nie boolean) :) A dokładnie to chodzi mi o takie coś : włączam boolean w stan wysoki i ten stan wysoki powoduje chwilowe załączenie stanu wysokiego na innym bloczku i ustawia się na znów na zero
Awatar użytkownika
semper fidelis
Posty: 74
Rejestracja: 28 paź 2014 20:45
Wersja środowiska: LabVIEW 2013

Zapis do pliku przez określony czas podczas działającej pętl

Post autor: semper fidelis »

Wystarczy ze dodasz sobie zmienna localna ktora bedzie kontrolowala Twoja strukture Case. Stan tej zmiennej mozesz zmienic na False w srodku struktury, wtedy do momentu kolejnego wywolania czyli pojawienia sie True bedzie posiadac ta wartosc.

Choc blok Elapsed time chyba wykonuje wszystko co chciales.
Gdy wszyscy wiedzą, że coś jest niemożliwe, przychodzi ktoś, kto o tym nie wie, i to robi...
lucasenior
Posty: 8
Rejestracja: 31 maja 2014 18:10
Wersja środowiska: LabVIEW 2010

Zapis do pliku przez określony czas podczas działającej pętl

Post autor: lucasenior »

Ok wiem o co chodzi :) Dzięki wszystkim za pomoc, temat uważam za zamknięty.
ODPOWIEDZ