RS232 i radar do pomiaru prędkości

Wszelkie sprawy związane z LabVIEW i komunikacją ze sprzętem. Problemy i ciekawe rozwiązania.
introvert_84
Posty: 18
Rejestracja: 26 paź 2008 10:21
Wersja środowiska: LabVIEW 2012
Kontakt:

RS232 i radar do pomiaru prędkości

Post autor: introvert_84 »

Dzięki za odpowiedzi. Jeszcze muszę dokładnie to przemyśleć. Kombinowałem już tak żeby program pobierał około 30 bajtów i szukał w nich 2 headerów i wyciągał całą ramkę. Okazało się że długość ramki rzadko kiedy zgadzała się z tą która powinna być - nie mam pojęcia co może to powodować ale przez to nie wiedziałem które konkretne dane są w poszczególnych bitach między headerami. Zrobiłem w ten sposób że program pobiera około 100 bajtów w których szuka jednej kompletnej ramki składającej się z 13 bajtów danych i wtedy wiem co mam w każdym bajcie - 13 bajtową ramkę mam dokładnie opisaną w instrukcji. Pewnie należałoby zastanowić się czemu radar wysyła różne długości ramek i co w nich jest, ale to na przyszłość.
introvert_84
Posty: 18
Rejestracja: 26 paź 2008 10:21
Wersja środowiska: LabVIEW 2012
Kontakt:

RS232 i radar do pomiaru prędkości

Post autor: introvert_84 »

Witam ponownie,
Miałem okazję dokładnie przetestować radar i jego współpracę z portem RS. Program działa w ten sposób że wyciąga z przesyłanych na RS danych tylko kompletne 13-bajtowe paczki danych, z których następnie wyciąga bajty odpowiedzialne za mierzone wielkości. Stworzyłem gotowy przykładowy plik z wynikami pomiarów, w którym zapisane są tylko kompletne 13-bajtowe paczki danych (w załączniku) do dalszej analizy.
Problem jest następujący:
Radar pokazuje właściwe wartości prędkości przemieszane losowo z bardzo małymi wartościami (rzędu kilku km/h). Analogicznie jest z drogą.
Kombinowałem z przeliczaniem dwóch znaków ASCII na string HEX i DEC i później na wartość DEC. Wychodzą dwie różne wartości - dlaczego tak się dzieje? Wartością dobrą jest wartość przeliczana przez string HEX (czyli max prędkość na wykresie = 100km/h). Źle podchodzę do przeliczania znaków ASCII na wartość mierzoną czy coś innego jest nie tak?
Fragment kodu przeliczającego dwa znaki ASCII na prędkość w załączniku

Protokoły RS są tutaj:
https://docs.google.com/leaf?id=0B8dlp0 ... y=CN7__qIF
Załączniki
na forum.JPG
introvert_84
Posty: 18
Rejestracja: 26 paź 2008 10:21
Wersja środowiska: LabVIEW 2012
Kontakt:

RS232 i radar do pomiaru prędkości

Post autor: introvert_84 »

Ma ktoś jakiś pomysł jak dobrze przekonwertować te dwa znaki ASCII odpowiedzialne za prędkość na wartość prędkości? Bo chyba źle do tego podchodzę. Będę wdzięczny za pomoc
ODPOWIEDZ