Komunikacja rs 232

Wszelkie sprawy związane z LabVIEW i komunikacją ze sprzętem. Problemy i ciekawe rozwiązania.
teslabox
Posty: 80
Rejestracja: 24 mar 2010 15:27
Wersja środowiska: LabVIEW 2010

Re: Komunikacja rs 232

Post autor: teslabox »

PiDi pisze:Jeśli taka jedna linia z terminala (np. "44 09") to jest jedna dwubajtowa liczba, ale nieformatowana (czysta liczba), to załącznik.
No właśnie nie do końca... To terminal ma możliwość wyświetlania żądanej ilości bajtów w jednej linii. Urządzenie transmituje bajt po bajcie:
[B1][B0][B1][B0][B1][B0][B1][B0][B1][B0] itd.
PiDi
Posty: 641
Rejestracja: 31 gru 2010 01:36
Wersja środowiska: LabVIEW 2017
Lokalizacja: Katowice

Re: Komunikacja rs 232

Post autor: PiDi »

No dobrze, ale sprowadza się to do tego, że transmituje po dwa bajty na liczbę, tak? To już Ty musisz zadbać o to, żeby odpowiednio (po kolei, bez dziur) te bajty odczytywać.
ObrazekObrazekObrazekObrazek
teslabox
Posty: 80
Rejestracja: 24 mar 2010 15:27
Wersja środowiska: LabVIEW 2010

Re: Komunikacja rs 232

Post autor: teslabox »

Tak. Liczba jest 12 bitowa, więc aby przepchnąć ją przez RS232 musiałem ją podzielić na 2 bajty.
Sprawdziłem tę metodę na pojedynczym bajcie transmitowanym z urządzenia i działa pięknie. Jednakże jak wysyłam po dwa bajty - do odczyt coś świruje - najwyrażniej odbioerane są nie w tej kolejności albo są gubione, chociaż zwykły terminal wyświetla je zawsze poprawnie...

Koledzy - działa!!!
działa.jpg
Trzeba było wstawić opóźnienie 1 milisekundy pomiędzy kolejnymi transmisjami paczek dwóch bajtów, żeby się nie mieszało ;). Mam natomiast efekt tych szpilek do zera, co nie wygląda zbyt dobrze, a w efekcie nieco psuje moją koncepcję analizy sygnału :/. Czy w LV są jakieś sprytne metody na eliminację takich zjawisk czy trzeba "manualnie" sprawdzać co jest aktualnie i co było 1-2-3 próbki wcześniej i najwyżej wyciąć bieżącą jeśli jest równa 0, a poprzednie 2-3 nie były równe 0?

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Nieco zmodernizowałem swój VI do wyglądu prawie ostatecznego w wersji podstawowej. Z tym, że dzieją się dziwne rzeczy, których sam nie mogę rozszyfrować. Mianowicie jeśli urządzenie transmituje próbki z zakresu od ok. 2567 do ok. 2829, to wskazania się jakieś kuriozalne, co przedstawia screen poniżej (wskazanie 36 V!!):
złe.jpg
Natomiast dla próbek poza tym przedziałęm wskazania są poprawne:
dobre.jpg
Co może być przyczyną takiego zachowania? W zwykłym terminalu RS232 wartości wzrastają płynnie od 0 do maximum.
Awatar użytkownika
Pitol
Moderator
Posty: 983
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Re: Komunikacja rs 232

Post autor: Pitol »

Wstaw swój VI to będziemy w stanie coś poradzić.
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
ODPOWIEDZ