wykrywanie portu

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.
Awatar użytkownika
fenix
Posty: 97
Rejestracja: 21 mar 2006 00:00
Lokalizacja: Warszawa

wykrywanie portu

Post autor: fenix »

Witam wszystkich,
mam takie pytanie, czy da sie zrobic aplikacje ktora by wykrywala ktory port COM jest w tej chwili aktywny (tzn ktory jest podlaczony)? Jezeli tak to jakie bloczki do tego trzeba uzyc?
pozdrawiam i dziekuje
Awatar użytkownika
Can-D
Posty: 11
Rejestracja: 03 kwie 2006 00:00
Lokalizacja: Kraków

Re: wykrywanie portu

Post autor: Can-D »

Istniej mozliwosc wykrycia jakie porty sa dostepne w systemie. Jest rowniez mozliwosc wykrycia do ktorego zostalo cos podlaczone, pod warunkiem ze podlaczone urzadzenie obsluguje handshaking - wykorzystuje dodatkowe linie poza Tx i Rx. Problem jest latwiejszy do rozwiazania jezeli znamy specyfikacje urzadzenia ktore podlaczamy. Najczesciej nalezy sprawdzic linie DCD (Data Carrier Detect) i DSR (Data Set Ready). Ale jezeli nie wiemy jak 'rozmawia' urzadzenie to nie ma innej mozliwosci jak sprawdzac wszystko. Jak juz wiemy, ze cos jest podpiete do portu i 'chce rozmawiac' to nie znajac parametrow transmisji (predkosc, rozmiar ramki, znak konca, parzystosc) musimy przetestowac wszystkie mozliwosci. Jak juz wiemy wszystko to zostaje kwestia identyfikacji podpietego urzadzenia. Zakladajac ze obsluguje ono SCPI wysylamy *IDN? i gotowe.
Jak to zrobic? Zpytanie o dostepne porty COM realizujemy bloczkiem VISA Find Resources (Instrument I/O -> VISA -> VISA Advanced) podajac na wejscie expression ASRL[0-9]*::?*INSTR Uwaga: ten vi zwraca find list w formie (tablicy) string'ow; nalezy rzutowac (bloczek Type Cast) typ na Visa session of class Instr Do sprawdzania stanu lini specjalnych wykorzysuje sie wlasciwosci Serial Settings -> Modem Line Settings dla Visa session of class Instr - bloczek Property Node. Oczywiscnie wczesniej nalezy otworzyc sesje bloczkiem VISA Open (Instrument I/O -> VISA)
ODPOWIEDZ