Składanie i formatowanie danych - Akcelerometr

Jeśli masz coś do powiedzenia w sprawie LabVIEW napisz. Tutaj są tematy, których nie można uściślić do innych działów.
bolous
Posty: 7
Rejestracja: 26 wrz 2013 08:31
Wersja środowiska: LabVIEW 2010

Składanie i formatowanie danych - Akcelerometr

Post autor: bolous »

Witam

To moj drugi post u Was. Z jednym urządzeniem udało mi się uporać teraz czas na 2. Jest to akcelerometr z którego chcę odbierać dane poprzez rs232.

Dane maja postać w terminalu :
c FA FF 32 12 3F 3B 13 81 BA D2 BE 4D BB 7A C3 2D 3F 2E BF DC 12 95 44 FA FF 32 12 3F 3B 0C 1E BA D6 97 CA BB 7C 77 A8 3F 2E C7 C0 12 96 36 FA FF 32 12 3F 3B 0D 69 BA E8 52 BC BB 81 06 3D 3F 2E C6 50 12 97 72 FA FF 32 12 3F 3B 17 59 BB 03 88 D9 BB 7E EE 7E 3F 2E BB A7 12 98 96... itd

Jest to pewien protokół 23 bajtowy gdzie pojedyncza paczka ma postać:
FA FF 32 12 3F 3B 0D 80 BA D8 87 3E BB 80 81 F4 3F 2E C6 3F 12 94 97

Bajty 1-4 sa stałe i ostatni także (CRC), reszta to dane 18 bajtów.

Czasami zdarza sie ze wiadomosci przychodza o roznej wartosci wiec wykonałem sprawdzenia pierwszych 4 bajtów które maja byc zawsze takie same...
Dane które mnie interesuja (3 rodzaje) wyciagam z array. Maja postać kazda po 6 bajtów.

Nie wiem jak złożyć filtrowane dane w petli case parami tzn 1 z 2 bajtem 3 z 4 i 5 z 6 i wyswietlic w postaci która pozwoli mi jakos je dalej obrabiac (dokonywać na nich obliczen). np.dane surowe w postaci 3F 3B 0D 80 BA D8 => na 3F3B, 0D80, BAD8

Bede wdzieczny odnosnie kazdej uwagi odnosnie funkcjonalnosci programu.

Z gory dzieki za pomoc


Poniżej załączam co do tej pory udało mi się zrobić:
Załączniki
ACC.jpg
bolous
Posty: 7
Rejestracja: 26 wrz 2013 08:31
Wersja środowiska: LabVIEW 2010

Re: Składanie i formatowanie danych - Akcelerometr

Post autor: bolous »

Cos wczoraj mialem zacmienie i nie wpadlem na to...

Zastanawiam sie jak te dane teraz rozdzielic np przecinkiem zamiast spacji i jakos wyseparować zeby moc dokonywać obliczen na poszczególnych danych...
Załączniki
Bez tytułu.jpg
Bez tytułu.jpg (65.75 KiB) Przejrzano 7204 razy
Grzesiek080
Posty: 82
Rejestracja: 26 maja 2009 07:18
Wersja środowiska: LabVIEW 2012
Lokalizacja: Sucha Beskidzka
Kontakt:

Re: Składanie i formatowanie danych - Akcelerometr

Post autor: Grzesiek080 »

Hej,

Na szybkości wymysliłem coś takieg.
Najpierw przetwórz twoją tablice numeryczna na tablice stringów, nastepnie wybierając elementy z tablicy ( w zależnosci od kolejności bytów) stwórz string hex a następnie przetwórz ten string na postać numeryczna.
Załączniki
Przetwarzanie.vi
(9.58 KiB) Pobrany 339 razy
Jamal79
Posty: 289
Rejestracja: 01 maja 2012 14:14
Wersja środowiska: LabVIEW 2012
Lokalizacja: Farum

Składanie i formatowanie danych - Akcelerometr

Post autor: Jamal79 »

hmm, mnie nie podoba sie to ciagle zmienianie stringa na hexa itd. Ja bym zaczol od tego...

Majac arraya mozesz sobie wyciagnac indexami konkretne wartosci poszczegolnych bitow...
Załączniki
string.png
string.png (21.04 KiB) Przejrzano 7157 razy
TMa
Posty: 203
Rejestracja: 07 sty 2010 12:56
Wersja środowiska: LabVIEW 2017

Re: Składanie i formatowanie danych - Akcelerometr

Post autor: TMa »

Zwróciłbym uwagę na fakt, że dane przychodzą w strumieniu bajtów. Niekoniecznie musimy odczytać z bufora port kompletną ramkę urządzenia. Proponuje stworzyć prostą maszynę stanów, która w pierwszej kolejności szuka nagłówka potem buforuje dane i na końcu sprawdza z danych CRC. Jeśli wszystkie etapy przyjdzie pomyślnie to przesyłana paczkę dalej.
Jamal79
Posty: 289
Rejestracja: 01 maja 2012 14:14
Wersja środowiska: LabVIEW 2012
Lokalizacja: Farum

Składanie i formatowanie danych - Akcelerometr

Post autor: Jamal79 »

TMa ma racje, ja edytowalem istniejacy VI...

Pytanie czy podchodzisz do tego ambicyjnie czy jest to jednorazowa przygoda...
ODPOWIEDZ