RS232 + Wykres 24 h

Sprawy związane z interfejsem użytkownika - kontrolki, wskaźniki, wyświetlacze, wykresy oraz inne zagadnienia tego typu...
d4vid
Posty: 6
Rejestracja: 31 sty 2013 15:45
Wersja środowiska: LabVIEW 2011

RS232 + Wykres 24 h

Post autor: d4vid »

Witam.
Przedstawię krótko mój problem. Przy użyciu mikrokontrolera przesyłam dane do labview po RS232. Jest do bufor 5 bajtowy, który zawiera dane o temperaturze wilgotności i cisnieniu. Następnie ta dane chce przedstawiać na trzech osobnych wykresach. NA osi x znajdowala by się oś czasu z przedziału od 0 do 24 h a na osi Y np. aktualną temperatura w danej godzinę. Stworzylem wykres XY tylko zamiast rysowac punkty co sekundę to na wykresie mam jeden punkt i zmienia sie w zaleznosci od temperaury ( w gole lub w dół). Oraz jest problem z wsywietlaniem godziny
Obrazek

Wie ktoś moze jak ten problem rozwiazać?
Załączniki
wizualizacja wykres.vi
(27.76 KiB) Pobrany 461 razy
ruda
Posty: 23
Rejestracja: 18 sty 2012 15:29
Wersja środowiska: LabVIEW 2011

Re: RS232 + Wykres 24 h

Post autor: ruda »

Hej

Problem polega na złym podpięciu kala do shift rejestru. podpiołes tam pustą tablicę,

Obrazek
natomiast powinieneś podpiąć tablicę z nowo powstałymi danymi, czyli za bloczkiem "build array"
Obrazek
Obrazek
Extensa - certyfikowani programiści LabVIEW z Krakowa.
d4vid
Posty: 6
Rejestracja: 31 sty 2013 15:45
Wersja środowiska: LabVIEW 2011

Re: RS232 + Wykres 24 h

Post autor: d4vid »

Dzięki wielkie. Teraz rejestruje :) Tylko napotkałem kolejny problem. Przy odczycie danych pojawiają się jakieś błędy .. Gdy opóźnienie pętli było równe zero błędów było zdecydowanie więcej gdy ustawiłem opóźnienie 1000ms zmniejszy ale też występują. Czy jest jakiś sposób na to?

Obrazek
Załączniki
wizualizacja wykres.vi
(27.97 KiB) Pobrany 459 razy
ruda
Posty: 23
Rejestracja: 18 sty 2012 15:29
Wersja środowiska: LabVIEW 2011

RS232 + Wykres 24 h

Post autor: ruda »

Hej nie do końca rozumiem Twój kod dlaczego używasz tutaj zmiennej lokalnej jak możesz dane czytać bezpośrednio?
Obrazek
Extensa - certyfikowani programiści LabVIEW z Krakowa.
d4vid
Posty: 6
Rejestracja: 31 sty 2013 15:45
Wersja środowiska: LabVIEW 2011

Re: RS232 + Wykres 24 h

Post autor: d4vid »

Chodzi o zmienna 'Stan bufora' ? Myślałem ze to w jakiś sposób wyeliminuje te skoki. Połączenie bezpośrednio też powoduje takie dziwne wartość... Jest jakaś możliwość wyeliminowania tego zjawiska?
ruda
Posty: 23
Rejestracja: 18 sty 2012 15:29
Wersja środowiska: LabVIEW 2011

RS232 + Wykres 24 h

Post autor: ruda »

Hej proponuje zaznaczony od przenieść do case (i całość włożyć do tej struktury sekwencyjnej), zrezygnować ze zmiennej lokalnej a skonwertowaną temperaturę (którą później wrzucasz do shift rejestru) przeciągnąć w stanie false z tego rejestru. Może to pomoże :)

Obrazek
Obrazek
Extensa - certyfikowani programiści LabVIEW z Krakowa.
d4vid
Posty: 6
Rejestracja: 31 sty 2013 15:45
Wersja środowiska: LabVIEW 2011

Re: RS232 + Wykres 24 h

Post autor: d4vid »

Przeniosłem tak jak mówiełeś . DAlej to samo :|
Załączniki
wizualizacja wykres.vi
(27.65 KiB) Pobrany 436 razy
ruda
Posty: 23
Rejestracja: 18 sty 2012 15:29
Wersja środowiska: LabVIEW 2011

RS232 + Wykres 24 h

Post autor: ruda »

Hej poprawiłam Twój kod

Obrazek

Chodziło mi o to żeby wyświetlać dane na wykresie tylko i wyłącznie gdy otrzymamy dane z mikrokontrolera czyli w casie true dodajemy wynik do tablicy (bez zmiennych lokalnych) a w casie false wyświetlamy (przeciągamy z shift rejestru) stworzoną tablicę.

Poprawiony kod wrzucam w postaci VI

Jeżeli dalej będą błędy to wydaje mi się że może to być wina mikrokontrolera bo nic innego nie przychodzi mi do głowy
Załączniki
wizualizacja wykres (1).vi
(18.82 KiB) Pobrany 445 razy
Obrazek
Extensa - certyfikowani programiści LabVIEW z Krakowa.
TuChoLa
Posty: 25
Rejestracja: 08 maja 2012 09:48
Wersja środowiska: LabVIEW 2013

Re: RS232 + Wykres 24 h

Post autor: TuChoLa »

Jak bym jeszcze sprawdził czy to czasem nie będzie wina 'termination char', nie wiem jaka jest specyfikacja urządzenia, z którym się komunikujesz, ale z doświadczenia wiem, że znaki końca nie zawsze są takie jak domyślnie są ustawione w Visa. Chociaż po ponownym spojrzeniu na program, wydaje mi się to mniej prawdopodobne.

Tak jak ruda mówi, najlepiej żeby to wszystko się znalazło w jednym case. RS232 jest dosyć delikatny i podatny na zakłócenia więc można spróbować też przeanalizować trasę przewodu, ewentualnie stan wtyczek.
d4vid
Posty: 6
Rejestracja: 31 sty 2013 15:45
Wersja środowiska: LabVIEW 2011

RS232 + Wykres 24 h

Post autor: d4vid »

Ruda jednak i to nie pomogło ... może rzeczywiście jest to coś po stronie mikrokontrolera ;/
Awatar użytkownika
Góras
Posty: 88
Rejestracja: 13 sie 2012 10:15
Wersja środowiska: LabVIEW 2012

RS232 + Wykres 24 h

Post autor: Góras »

Możesz wykreślić XY Graph z temperaturą, ciśnieniem i wilgotnością - zobaczysz wtedy, czy wszystkie odczytane dane są złe czy tylko termometr robi Ci takie 'strzały'
d4vid
Posty: 6
Rejestracja: 31 sty 2013 15:45
Wersja środowiska: LabVIEW 2011

Re: RS232 + Wykres 24 h

Post autor: d4vid »

NA kazdym wykresie pojawiaja sie te zmiany i w tym samym czasie ... raz na jakiś czas zakłócona jest transmisja danych..
Awatar użytkownika
Góras
Posty: 88
Rejestracja: 13 sie 2012 10:15
Wersja środowiska: LabVIEW 2012

RS232 + Wykres 24 h

Post autor: Góras »

No to możesz założyć, że wszystkie błędy to zakłócenia i przefiltrować dane - np. mierzyć różnicę między kilkoma ostatnimi próbkami i jeśli różnica pomiędzy nową próbką a poprzednią jest dużo większa od średniej tych różnic, wyliczyć przybliżoną wartość temperatury.
ODPOWIEDZ