odczyt i konwersja danych z urządzenia po rs232

Wszelkie sprawy związane z LabVIEW i komunikacją ze sprzętem. Problemy i ciekawe rozwiązania.
kornikb
Posty: 10
Rejestracja: 18 sty 2011 13:24
Wersja środowiska: LabVIEW 2010

odczyt i konwersja danych z urządzenia po rs232

Post autor: kornikb »

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
Załączniki
dane z RS.vi
(28.43 KiB) Pobrany 399 razy
de80
Posty: 90
Rejestracja: 02 sty 2011 22:46
Wersja środowiska: LabVIEW 2014
Lokalizacja: KRK

odczyt i konwersja danych z urządzenia po rs232

Post autor: de80 »

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.
Obrazek
kornikb
Posty: 10
Rejestracja: 18 sty 2011 13:24
Wersja środowiska: LabVIEW 2010

Re: odczyt i konwersja danych z urządzenia po rs232

Post autor: kornikb »

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)
Awatar użytkownika
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

Post autor: ky3orr »

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
KY3ORR

Okablowanie audio / RF -> www.CabLAB.eu
kornikb
Posty: 10
Rejestracja: 18 sty 2011 13:24
Wersja środowiska: LabVIEW 2010

Re: odczyt i konwersja danych z urządzenia po rs232

Post autor: kornikb »

Jezeli urzadzenie nie zbierze na czas odpowiednich probek, to wysyla pusta ramke, w tym przypadku sa to same znaki oddzielajace
kornikb
Posty: 10
Rejestracja: 18 sty 2011 13:24
Wersja środowiska: LabVIEW 2010

Re: odczyt i konwersja danych z urządzenia po rs232

Post autor: kornikb »

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.
kornikb
Posty: 10
Rejestracja: 18 sty 2011 13:24
Wersja środowiska: LabVIEW 2010

Re: odczyt i konwersja danych z urządzenia po rs232

Post autor: kornikb »

Sprawa rozwiązana, więc temat odbioru zamykam
Awatar użytkownika
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

Post autor: ky3orr »

kornikb może podzielisz się rozwiązaniem? bez niego wątek ten nie ma sensu.
KY3ORR

Okablowanie audio / RF -> www.CabLAB.eu
kornikb
Posty: 10
Rejestracja: 18 sty 2011 13:24
Wersja środowiska: LabVIEW 2010

Re: odczyt i konwersja danych z urządzenia po rs232

Post autor: kornikb »

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 462 razy
ODPOWIEDZ