Strona 1 z 1

zapis do pliku

: 27 lip 2016 09:17
autor: tomwisnia
Witam,
dane (stringi) przesyłane są przez serial co 1s i porównywane ze stringami w programie w zależności od stringu jest wyświetlany obraz z picture ring.
Chce aby dane były zapisane do pliku ale tylko 1 wartość bo przeważnie są takie same a gdy nastąpi zmiana to znowu zapis np.
nadlatują dane:
npl -->zapis do pliku
npl
npl
nmi --> zapis do pliku
nmi
nmi
npl --> zapis do pliku
npl
itd.
1 problem.jpg
Obecnie działa mi to w pętli while i zapisuje wszystkie wartości. Próbowałem z Event structure ale nie wykrywa mi zdarzenia zmiany w picture ring tj. Ring2=0 lub Ring=1 pomimo że obraz się zmienia.

I jeszcze jedna sprawa w jaki sposób można zmienić aby dane w text string były zapisywane od góry bo domyślnie jest że są zapisywane od dołu (żeby sprawdzić ostatnią wartość trzeba przewijać paskiem)?
2 problem.jpg
Proszę o poradę bo już nie mam pomysłów

Re: zapis do pliku

: 27 lip 2016 09:54
autor: cyjan1
Event Case w Twoim programie nie zadziała. Użyj rejestru przesuwnego (Shift Register) do przechowywania poprzedniej wartości odczytanej z portu szeregowego. Następnie porównuj bieżący string z wartością poprzednią i zapisuj wyniki tylko kiedy są różne.
Zmianę obrazka na Ringu też można uprościć jak na rysunku.
Staraj się unikać zmiennych lokalnych.

Re: zapis do pliku

: 27 lip 2016 12:24
autor: tomwisnia
Dzięki kolego pomogło , teraz zapisywanie działa tak ja chcę.

Odnośnie 2 problemu która właściwość odpowiada czy dane w text string będą zapisywane od góry czy od dołu czyli najbardziej aktualna dana była na górze zawsze widoczna bez konieczności przewijania paska

Re: zapis do pliku

: 27 lip 2016 16:09
autor: cyjan1
Kontrolka string wyświetla Ci to co zostało zapisane w pliku logi.xls. Wg mnie nie ma sensu odczytywać tych logów na bieżąco w każdej pętli.
Dane które generujesz dla zapisu wrzucaj bezpośrednio do kontrolki wyświetlającej. Może to być tablica stringów - łatwo wtedy zdecydować czy dane mają być dopisywane na początku tablicy czy końcu.