Strona 1 z 1

zdarzenie i czas zdarzenia do pliku

: 25 paź 2016 09:08
autor: Kamyll0
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

: 25 paź 2016 17:29
autor: Festin
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)

Re: zdarzenie i czas zdarzenia do pliku

: 26 paź 2016 15:36
autor: Kamyll0
A czy mógłbyś przybliżyć mi to na jakimś przykładzie?

Re: zdarzenie i czas zdarzenia do pliku

: 26 paź 2016 17:51
autor: Festin
1. Tu masz otwieranie ( lub tworzenie i otwieranie ) i zaraz po tym zapis do tego pliku komunikatu "Uruchomienie programu"
Obrazek
A tu masz zawartość "klocka" zapisującego komunikat razem ze stemplem czasowym
Obrazek

Re: zdarzenie i czas zdarzenia do pliku

: 26 paź 2016 18:01
autor: Festin
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.
Obrazek

Re: zdarzenie i czas zdarzenia do pliku

: 27 paź 2016 08:50
autor: Kamyll0
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

zdarzenie i czas zdarzenia do pliku

: 27 paź 2016 12:30
autor: Pitol
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... :)