Witam,
przepraszam jeśli były gdzieś podobne wątki. Dawno nie pracowałem w LB.
Potrzebuję Waszej pomocy przy programie, który monitoruje dwa sygnały wejściowe A i B. Jeśli sygnał A będzie aktywny to zacznie się liczenie czasu do momentu wystąpienia sygnału B. Jeśli czas ten przekroczy zadaną wartość (np. 10 minut) to czas pomiędzy A i B zostanie zapisany do pliku (w pliku muszą być informacje: data godzina zdarzenia oraz czas pomiędzy A i B).
Jeśli natomiast sygnał B pojawi się zanim zadany czas upłynie to nic się nie dzieje z plikiem a licznik czasu się zeruje i tak do ponownego pojawienia się sygnału A.
Sygnały będę brał z karty DAQ.
Zrobiłem kwestie zliczania i zerowania natomiast trudno jest mi wymyślić zapis i to z aktualną datą i czasem.
http://ifotos.pl/z/axpxxan
Za wszystkie pomocne informacje bardzo Wam dziękuję.
Pozdrawiam!
zdarzenie i czas zdarzenia do pliku
zdarzenie i czas zdarzenia do pliku
Ja generalnie robię to tak:
Podczas uruchomienia programu otwieram (lub tworzę i otwieram plik) tekstowy (Open/Create/Replace File).
Gdy nastąpi jakieś zdarzenie warte tego by je zapisać tworzę odpowiedni string ( data i czas uzyskane przy pomocy Format Date/Time String + jakieś stałe znaki + treść wiadomości + znak końca linii ) i zapisuję do do otwartego pliku Write to Text File
Przy zamykaniu programu zamykam plik. (Close File)
Podczas uruchomienia programu otwieram (lub tworzę i otwieram plik) tekstowy (Open/Create/Replace File).
Gdy nastąpi jakieś zdarzenie warte tego by je zapisać tworzę odpowiedni string ( data i czas uzyskane przy pomocy Format Date/Time String + jakieś stałe znaki + treść wiadomości + znak końca linii ) i zapisuję do do otwartego pliku Write to Text File
Przy zamykaniu programu zamykam plik. (Close File)
pozdrawiam
Paweł
Paweł
Re: zdarzenie i czas zdarzenia do pliku
A czy mógłbyś przybliżyć mi to na jakimś przykładzie?
Re: zdarzenie i czas zdarzenia do pliku
1. Tu masz otwieranie ( lub tworzenie i otwieranie ) i zaraz po tym zapis do tego pliku komunikatu "Uruchomienie programu"
A tu masz zawartość "klocka" zapisującego komunikat razem ze stemplem czasowym
A tu masz zawartość "klocka" zapisującego komunikat razem ze stemplem czasowym
pozdrawiam
Paweł
Paweł
Re: zdarzenie i czas zdarzenia do pliku
Po zadziałaniu powyższego kodu w katalogu C:\Telab\LOG pojawi się nowy plik o nazwie 16_10_26 a w nim wpis, o tym, że program został uruchomiony.
pozdrawiam
Paweł
Paweł
Re: zdarzenie i czas zdarzenia do pliku
Przepraszam, ale czy mógłbyś wrzucić ten VI?
Z powyższych grafik nie mogę przekopiować do LabView.
Z góry dziękuję za pomoc.
Finalnie chciałbym aby zapis odbywał się tylko gdy będzie spełniony pewien warunek Bolean i wtedy wartość z Indicator będzie zapisana wraz z datą.
Pozdrawiam
Z powyższych grafik nie mogę przekopiować do LabView.
Z góry dziękuję za pomoc.
Finalnie chciałbym aby zapis odbywał się tylko gdy będzie spełniony pewien warunek Bolean i wtedy wartość z Indicator będzie zapisana wraz z datą.
Pozdrawiam
- Pitol
- Moderator
- Posty: 984
- Rejestracja: 19 lip 2007 00:00
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Kraków
zdarzenie i czas zdarzenia do pliku
Nie no bez przesady.
Wszystkie potrzebne bloczki są w paletach Timing i File I/O.
Odrobina chęci i zrobisz to sam.
Co do "warunku" zapisu to skorzystaj ze struktury CASE, do której podepnij Twój Boolean.
Jeśli warunek będzie spełniony to przypadek TRUE w strukturze CASE się wykona (w nim będzie zapis do pliku).
Jeżeli chcesz coś dopisać do komunikatu, to musisz sygnał Boolean zamienić na tekst.
Jak? Np. z użyciem bloczka Select
Potem połączyć to z komunikatem i wysłać do VI zapisującego do pliku.
Próbuj sam, a jak nie wyjdzie, to spróbuj jeszcze raz...
Wszystkie potrzebne bloczki są w paletach Timing i File I/O.
Odrobina chęci i zrobisz to sam.
Co do "warunku" zapisu to skorzystaj ze struktury CASE, do której podepnij Twój Boolean.
Jeśli warunek będzie spełniony to przypadek TRUE w strukturze CASE się wykona (w nim będzie zapis do pliku).
Jeżeli chcesz coś dopisać do komunikatu, to musisz sygnał Boolean zamienić na tekst.
Jak? Np. z użyciem bloczka Select
Potem połączyć to z komunikatem i wysłać do VI zapisującego do pliku.
Próbuj sam, a jak nie wyjdzie, to spróbuj jeszcze raz...