RS232 + Wykres 24 h
RS232 + Wykres 24 h
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
Wie ktoś moze jak ten problem rozwiazać?
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
Wie ktoś moze jak ten problem rozwiazać?
- Załączniki
-
- wizualizacja wykres.vi
- (27.76 KiB) Pobrany 461 razy
Re: RS232 + Wykres 24 h
Hej
Problem polega na złym podpięciu kala do shift rejestru. podpiołes tam pustą tablicę,
natomiast powinieneś podpiąć tablicę z nowo powstałymi danymi, czyli za bloczkiem "build array"
Problem polega na złym podpięciu kala do shift rejestru. podpiołes tam pustą tablicę,
natomiast powinieneś podpiąć tablicę z nowo powstałymi danymi, czyli za bloczkiem "build array"
Extensa - certyfikowani programiści LabVIEW z Krakowa.
Re: RS232 + Wykres 24 h
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?
- Załączniki
-
- wizualizacja wykres.vi
- (27.97 KiB) Pobrany 459 razy
RS232 + Wykres 24 h
Hej nie do końca rozumiem Twój kod dlaczego używasz tutaj zmiennej lokalnej jak możesz dane czytać bezpośrednio?
Extensa - certyfikowani programiści LabVIEW z Krakowa.
Re: RS232 + Wykres 24 h
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?
RS232 + Wykres 24 h
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
Extensa - certyfikowani programiści LabVIEW z Krakowa.
Re: RS232 + Wykres 24 h
Przeniosłem tak jak mówiełeś . DAlej to samo
- Załączniki
-
- wizualizacja wykres.vi
- (27.65 KiB) Pobrany 436 razy
RS232 + Wykres 24 h
Hej poprawiłam Twój kod
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
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
Extensa - certyfikowani programiści LabVIEW z Krakowa.
Re: RS232 + Wykres 24 h
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.
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.
RS232 + Wykres 24 h
Ruda jednak i to nie pomogło ... może rzeczywiście jest to coś po stronie mikrokontrolera ;/
RS232 + Wykres 24 h
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'
Re: RS232 + Wykres 24 h
NA kazdym wykresie pojawiaja sie te zmiany i w tym samym czasie ... raz na jakiś czas zakłócona jest transmisja danych..
RS232 + Wykres 24 h
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.