Politechnika Łódzka Instytut Systemów Inżynierii Elektrycznej Laboratorium przyrządów wirtualnych Ćwiczenie 4 Komunikacja przyrządu wirtualnego z serwerem przy pomocy interfejsu DataSocket
1. Wstęp teoretyczny DataSocket jest prostym interfejsem stworzonym przez National Instruments, dłużącym do przesyłania danych poprzez sieć komputerową. Wykorzystuje się w tym celu protokół TCP/IP i adresy URL. Jednak w przeciwieństwie do bezpośredniego wykorzystania protokołu TCP lub UDP, gdzie dane muszą zostać przetworzone na ciąg znaków, technologia DataSocket umożliwia podawanie danych w dowolnej postaci (liczby rzeczywiste i całkowite, łańcuchy znaków, zmienne dwustanowe, tablice). Konwersja na postać, w której dane te są przesyłane, odbywa się w sposób niewidoczny dla programisty. 2. Wirtualne narzędzia LabView do zapisu / odczytu danych z serwera DataSocket Do podstawowej komunikacji wystarczą dwie funkcje: DataSocket Write i DataSocket Read. Funkcja DataSocket Write służy do zapisu danych dołączonych do wejścia data do serwera DataSocket o adresie URL. Adres URL zawiera nazwę protokołu, np. dstp (DataSocket Transport Protocol), adres (lub numer IP) serwera i nazwę zmiennej, np. dstp://adres_serwera/nazwa_zmiennej. Funkcja DataSocket Read służy do odczytu danych z serwera DataSocket o adresie URL. Dane dostępne są na wyjściu data. 3. Budowa układu W ramach ćwiczenia należy uruchomić program LabView, następnie utworzyć nowy projekt, a w nim zbudować dwa wirtualne przyrządy: do zapisu danych do serwera DataSocket: 2
do odczytu danych z serwera DataSocket: Poszczególne bloczki znaleźć można: Numeric --> Random Number (0-1) Time &Dialog --> Wait Until Next ms Multiple Communication --> DataSocket --> DataSocket Write/read Cluster -> Unbundle By Name Dane wejściowe do przesłania (w przykładzie: Random Number) podłączyć pod wejście Data w Data Socket Write. Do wejścia Connection in, podłączyć stałą i wpisać adres do wysłania danych (prawym na wejście -> create -> constant). Dla przesyłania danych na jednym komputerze: dstp://localhost/dane. Do wejścia type(variant) podłączyć stałą podwójnej precyzji (żeby zmienić typ kliknąć prawym na stałą -> represetation -> dbl). Blok Unbudle By Name podłączyć do Error out w DataSocketRead. Waveform Chart podłączyć do wyjścia Data w DataSocketRead. Dla przesyłania danych dowolnego typu pomiędzy dwoma aplikacjami LabVIEW należy uruchomić w tle programy: DataSocket Server oraz DataSocket Server Manager. Można je znaleźć pod następującą ścieżką: START -> Programy -> National Instruments -> DataSocket. 3
4. Komunikacja 0-1): Po uruchomieniu programu, na panelu powinny się odebrane losowe dane z zakresu (- Poniżej przekładowe okienko DataSocket Server przedstawiające podłączony proces oraz przesłane i odebrane pakiety: 5. Komunikacja między dwoma komputerami Na jednym komputerze należy utworzyć serwer, a następnie wirtualny przyrząd z blokiem DataSocketWrite i w polu Connection in wpisać dstp://adres_servera//nazwa_zmienej (przykładowo: dstp://192.168.10.14/dane lub dstp://labctp-005/dane). Na drugim komputerze, który ma pracować jako klient, utworzymy wirtualny przyrząd z blokiem DataSocketRead. W polu Connection in wpisać ten sam adres co na serwerze. Na obu komputerach powinny działać w tle programy: DataSocket Menager i DataSocket Server. W ramach próby należy przesłać z serwera do klienta sygnał sinusoidalny (Input -> Simulate Sig). U klienta Waveform Chart podłączyć do wyjścia Data w DataSocket Read. 4
5
Spodziewany efekt u klienta: 6. Literatura 1. Świsulski Dariusz, Komputerowa technika pomiarowa. Oprogramowanie wirtualnych przyrządów pomiarowych w LabView, Agenda Wydawnicza PAK-u, Warszawa 2005 2. Świsulski Dariusz, Komputerowa technika pomiarowa w przykładach.. Agenda Wydawnicza PAK-u, Warszawa 2002 3. Świsulski Dariusz, Laboratorium z systemów pomiarowych.. Wydawnictwa PG, Gdańsk 1998 4. LabView Measurement Manual, National Instruments 5. Graczyk A., Gołębiowski J., Prohuń T.: Laboratorium komputerowych systemów pomiarowych, Wydawnictwo Politechniki Łódzkiej, Łódź 2004. 6