odczyt i konwersja danych z urządzenia po rs232
odczyt i konwersja danych z urządzenia po rs232
Witam
Chciałbym wykorzystać Labview do odczytu i zobrazowania na wykresach danych z portu rs232. Jestem początkujący w tego typu środowisku programistycznym i nie mogę sobie poradzić z następującymi danymi
urządzenie wysyła za każdym razem paczkę z danymi o zmiennej długości wyglądająca tak:
wartość dziesiętna z dokładnością do 0.1 z zakresu 0 - 360, potem jest przecinek, kolejna wartość z zakresu -60 - 60 z dokładnością 0.1, znów przecinek i ostatnia liczba z tą samą dokładnością i zakresu co poprzednia. Całość zakończona jest powrotem karetki i nową linią.
Sęk w tym, że w zależności od wartości cała linia może mieć różną długość. Jak odczytywać te trzy wartości i wykreślić z nich wykres. Z góry dziękuję za pomoc
Chciałbym wykorzystać Labview do odczytu i zobrazowania na wykresach danych z portu rs232. Jestem początkujący w tego typu środowisku programistycznym i nie mogę sobie poradzić z następującymi danymi
urządzenie wysyła za każdym razem paczkę z danymi o zmiennej długości wyglądająca tak:
wartość dziesiętna z dokładnością do 0.1 z zakresu 0 - 360, potem jest przecinek, kolejna wartość z zakresu -60 - 60 z dokładnością 0.1, znów przecinek i ostatnia liczba z tą samą dokładnością i zakresu co poprzednia. Całość zakończona jest powrotem karetki i nową linią.
Sęk w tym, że w zależności od wartości cała linia może mieć różną długość. Jak odczytywać te trzy wartości i wykreślić z nich wykres. Z góry dziękuję za pomoc
- Załączniki
-
- dane z RS.vi
- (28.43 KiB) Pobrany 428 razy
odczyt i konwersja danych z urządzenia po rs232
1. Czytać znaki z portu dopóki nie natrafisz na znak końca linii.
2. Zakończyć czytanie i przeczytaną linie rozbić na poszczególne liczby korzystając z informacji, że są one rozdzielone przecinkiem.
3. Liczby wrzucić do tablicy i wyświetlić na wykresie.
4. Wrócić do pkt. 1.
2. Zakończyć czytanie i przeczytaną linie rozbić na poszczególne liczby korzystając z informacji, że są one rozdzielone przecinkiem.
3. Liczby wrzucić do tablicy i wyświetlić na wykresie.
4. Wrócić do pkt. 1.
Re: odczyt i konwersja danych z urządzenia po rs232
Jest to dobre rozwiazanie, ale mam problem, w przypaku, gdy urzadzenie nie wysle zadnych danych, badz dane wyslane nie zgadzaja sie z zalozonym standardem, np zamiast:
10.3,-3.4,1.5 crlf otrzymam np:
,,crlf (tylko znaki rozdzielenia zmiennych)
10.3,-3.4,1.5 crlf otrzymam np:
,,crlf (tylko znaki rozdzielenia zmiennych)
- ky3orr
- Posty: 149
- Rejestracja: 10 gru 2006 00:00
- Wersja środowiska: LabVIEW 8.6
- Lokalizacja: Siechnice
- Kontakt:
odczyt i konwersja danych z urządzenia po rs232
czy to jest standardowe zachowanie urządzenia, że przesyła same przecinki co jakiś czas, czy raczej jakaś wada w wysyłaniu/odbieraniu danych?
zawsze możesz jakoś sparsować odebrane dane i sprawdzić czy czasem przecinki nie są znakami sąsiadującymi.
a te dane są przesyłane binarnie czy jako kody ASCII?
pzdr
zawsze możesz jakoś sparsować odebrane dane i sprawdzić czy czasem przecinki nie są znakami sąsiadującymi.
a te dane są przesyłane binarnie czy jako kody ASCII?
pzdr
Re: odczyt i konwersja danych z urządzenia po rs232
Jezeli urzadzenie nie zbierze na czas odpowiednich probek, to wysyla pusta ramke, w tym przypadku sa to same znaki oddzielajace
Re: odczyt i konwersja danych z urządzenia po rs232
Jak w prosty sposób odczytywać dane z portu rs do momentu trafienia na znak końca linii, jeśli urządzenie ciągle wysyła dane z prędkością 9600 kbps (1200kBps). Próbuję odczytywać bajt po bajcie i porównywać wartości ze znakiem końca linii, ale działa to losowo. Próbowałem z różnymi opóźnieniami i nie wiem w czym jest problem. Wiem, że musi być jakieś proste rozwiązanie, bo ludzie bez problemu komunikują się z urządzeniami po rs i odczytują z niego dane. Druga sprawa: jak realizuje się obsługę sytuacji, gdy żadne dane nie przychodzą, bo wyskakuje mi błąd timeoutu.
Re: odczyt i konwersja danych z urządzenia po rs232
Sprawa rozwiązana, więc temat odbioru zamykam
- ky3orr
- Posty: 149
- Rejestracja: 10 gru 2006 00:00
- Wersja środowiska: LabVIEW 8.6
- Lokalizacja: Siechnice
- Kontakt:
odczyt i konwersja danych z urządzenia po rs232
kornikb może podzielisz się rozwiązaniem? bez niego wątek ten nie ma sensu.
Re: odczyt i konwersja danych z urządzenia po rs232
wrzucam VI z głównym programem, subVI's użyte są tylko do otwierania i zamykania portów i do obliczeń numerycznych, więc nie są tu istotne
- Załączniki
-
- dane z RS.vi
- (36.28 KiB) Pobrany 469 razy