Witam,
przy okazji testowania funkcji typecast napotkałem na nastepujący problem:
wysyłam tekst (CONTROL) i od razu odczytuje ten sam tekst (INDICATOR) w dwóch różnych formatach NORMAL DISPLAY i HEX DISPLAY.
Do znaku tyldy (Alt 126) wszystko działa. Przy wysłaniu znaku Alt127 (hex 7F) na wyjściu NORMAL DISPALY otrzymuję ten sam znak, ale na wyjściu HEX DISPLAY otrzymuję wartość A6. Dodatkowo po zastosowaniu funkci TYPE CAST i zamianie na liczbę zmiennoprzecinkową otrzymuje liczbę ujemną, a powinna być dodatnia.
To samo stwierdziłem w kilku innych przypadkach:
wysyłam h80 program zwraca hC7, wysyłąm hA6 dostaję h8E, wysyłam h8E, dostaję hC4, itd.
Czy to jest jakiś bład w programie, czy ja czegoś nie rozumiem?
Kody hex znaków ASCII
Re: Kody hex znaków ASCII
Przedstaw nam swój diagram lub dołącz vi.
Sprawadzałem u siebie i działa więc chciałbym spojrzeć w diagram, żeby coś dopomóc.
Rumcajs
Sprawadzałem u siebie i działa więc chciałbym spojrzeć w diagram, żeby coś dopomóc.
Rumcajs
Re: Kody hex znaków ASCII
Witam,
krótki komentarz do załaczonego pliku:
(1) problem pojawił się przy okazji prób wykorzystania TYPE CAST do zamiany danych przesyłanych przez RS i stąd pozostałe elementy programu.
(2) Nie wiem, czy to może mieć znaczenie: system operacyjny toWindows XP wersja amerykańska + ustawienia lokalne polskie.
Pozdrawiam.
krótki komentarz do załaczonego pliku:
(1) problem pojawił się przy okazji prób wykorzystania TYPE CAST do zamiany danych przesyłanych przez RS i stąd pozostałe elementy programu.
(2) Nie wiem, czy to może mieć znaczenie: system operacyjny toWindows XP wersja amerykańska + ustawienia lokalne polskie.
Pozdrawiam.
Re: Kody hex znaków ASCII
można prosić w 7.0 a najlepiej w 6.0 to sobie zerknę.
Rumcajs.
Rumcajs.
Re: Kody hex znaków ASCII
Przepisałem ten fragment kodu w wersji 6.1 (najniższa dostępna). Przetestowałem na ciągu znaków od "Alt125" do"Alt130" z tym samym wynikiem: litery są poprawne, ale wartości hexów bez sensu.
Re: Kody hex znaków ASCII
String w LabVIEW może być traktowany jako tablica U8, zatem proponuję stosowanie konwersji String To Byte Array
i w drugą stronę.
Konwersja powinna dzialać niezależnie od systemu i wersji jezykowej.
Sugeruję takie podejście:

Wynikiem konwersji string>tablica są wartości U8, na tym już można operować. Napisz więcej o danych, które chcesz przesyłać do i z mikrokontrolera.
i w drugą stronę.
Konwersja powinna dzialać niezależnie od systemu i wersji jezykowej.
Sugeruję takie podejście:

Wynikiem konwersji string>tablica są wartości U8, na tym już można operować. Napisz więcej o danych, które chcesz przesyłać do i z mikrokontrolera.
Re: Kody hex znaków ASCII
witam...
widzę, że niezłe spece tutaj siedzą, więc może ktoś mi pomoże i powie czy dobrze myślę...
wysyłam przez modbusa RTU ramkę np. 21 4D 04 CRC jako string (myślę, że to nie ma znaczenia czy to jest wysyłane jako hex czy string, chodzi o zapis... slave to sobie rozkoduje i podzieli na 2 bajtowe hexy) do slave'a... w odpowiedzi dostaję ramkę typu 21 4D 08 2B 32 31 2E 31 33 35 6B, gdzie 21 to adres slave'a, 4D kod funkcji (operacja na stringach), reszta- interesujace mnie dane... te dane chcialabym zamienic na znaki ASCII. tzn. 2 bajty hex na jeden znak ASCII.. w tym przypadku byloby to +21.135k
zamieszczę może mój skromny plik... dokleilam do niego zamiane hex na ascii.. znalazłam także coś na wzór dzielenia danych i umieszczenia ich w tabeli.. należałoby to nieco przerobić...
jeśli ktoś ma ochotę i pomysl... to byłabym bardzo wdzieczna...
widzę, że niezłe spece tutaj siedzą, więc może ktoś mi pomoże i powie czy dobrze myślę...
wysyłam przez modbusa RTU ramkę np. 21 4D 04 CRC jako string (myślę, że to nie ma znaczenia czy to jest wysyłane jako hex czy string, chodzi o zapis... slave to sobie rozkoduje i podzieli na 2 bajtowe hexy) do slave'a... w odpowiedzi dostaję ramkę typu 21 4D 08 2B 32 31 2E 31 33 35 6B, gdzie 21 to adres slave'a, 4D kod funkcji (operacja na stringach), reszta- interesujace mnie dane... te dane chcialabym zamienic na znaki ASCII. tzn. 2 bajty hex na jeden znak ASCII.. w tym przypadku byloby to +21.135k
zamieszczę może mój skromny plik... dokleilam do niego zamiane hex na ascii.. znalazłam także coś na wzór dzielenia danych i umieszczenia ich w tabeli.. należałoby to nieco przerobić...
jeśli ktoś ma ochotę i pomysl... to byłabym bardzo wdzieczna...
- wino
- Posty: 549
- Rejestracja: 23 gru 2005 00:00
- Wersja środowiska: Nie mam LabVIEW
- Lokalizacja: Kraków
Re: Kody hex znaków ASCII
konwersja, z hexa na string jest w pliku poniżej. sorki, że nazwy nie zmieniłem.
przed tą konwersją należy usunąć ze stringa 5 pierwszych znaków.

przed tą konwersją należy usunąć ze stringa 5 pierwszych znaków.