Odczyt danych RS

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.
1125
Posty: 37
Rejestracja: 25 cze 2011 09:28
Wersja środowiska: LabVIEW 2011

Odczyt danych RS

Post autor: 1125 »

Witam

Mam problem z odczytem danych z urządzenia, wysyłam mu "stringa" na którego powinien mi zwrócić odpowiedź, ale nie potrafię nic odczytywać, próbowałem już na różne sposoby, zawsze ten sam błąd, załączam screena z podglądem na którym widać błąd i kod. Czy ktoś może mi podpowiedzieć gdzie popełniam błąd?
http://imageshack.us/photo/my-images/830/17607087.jpg/

Pozdrawiam
Załączniki
RS2322.vi
(25.55 KiB) Pobrany 273 razy
Awatar użytkownika
Ender
Posty: 137
Rejestracja: 02 cze 2005 00:00
Wersja środowiska: LabVIEW 2009
Lokalizacja: Cieszyn

Odczyt danych RS

Post autor: Ender »

Kod błędu który otrzymujesz oznacza timeout - wystarczy poszukać. Niestety nie mogę otworzyć Twojego VI, ale z tego co widzę na screenie przy konfiguracji portu ustawiłeś timeout na 1ms (te 10s to zmyłka, jednostka to ms) - nie wiem z czym się komunikujesz, ale stawiam na to że najzwyczajniej w świecie urządzenie nie zdąży wysłać odpowiedzi.
-Czy orał pan już kiedyś morskie fale?
Colon rzucił mu chytre spojrzenie.
-Nie złapie mnie pan na taki numer, sir - rzekł - Wszyscy wiedzą, że konie by potonęły.
Leonard umilkł na chwilę i przestroił swój mózg na Radio Colon ....
1125
Posty: 37
Rejestracja: 25 cze 2011 09:28
Wersja środowiska: LabVIEW 2011

Odczyt danych RS

Post autor: 1125 »

Urządzenie którym się bawię wykrywa zmianę swojego położenia w trzech osiach, w stringu którego mu wysyłam powinien mi zwrócić aktualne położenie na jednej z osi. Zwiększając mu timeout nic nie uzyskałem. dalej to samo. Korzystałem też z helpa ale też nie uzyskałem odpowiedzi mojego urządzenia.
milten
Posty: 77
Rejestracja: 25 paź 2011 20:49
Wersja środowiska: LabVIEW 2012

Re: Odczyt danych RS

Post autor: milten »

1. Tak skonfigurowana komunikacja dodatkowo na samym końcu wysyła Termination Char. Jeżeli twoje urządzenie musi dostać dokładnie taki ciąg znaków jaki wpisywałeś w string to write, to podczas konfiguracji wyłącz TC.
2. Użyj VISA Bytes at Serial Port do odczytania ilości bajtów jakie czekają na odczytanie. Jeżeli po wysłaniu będziesz tam miał cały czas 0 to znaczy, że problem leży albo w urządzeniu, konfiguracji komunikacji lub samej komunikacji. Jeżeli możesz sprawdź, czy urządzenie dostaje to co chcesz mu wysłać.
3. read string wyciągnij poza CASE, ponieważ nawet gdy odczytasz jakiekolwiek dane to w następnej iteracji wyczyści go
4. W końcowej aplikacji zrób inny sposób "wyzwalania" zapisu, ponieważ w tym przypadku wysyłasz te dane co iteracje pętli. To samo tyczy się z odczytem.
Obrazek
ODPOWIEDZ