Strona 1 z 1
Odczyt danych RS
: 09 lut 2012 13:14
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
Odczyt danych RS
: 09 lut 2012 13:37
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.
Odczyt danych RS
: 09 lut 2012 14:18
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.
Re: Odczyt danych RS
: 09 lut 2012 20:13
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.