przykład zastosowania w wirtualnym laboratorium w aplikacji

Transkrypt

przykład zastosowania w wirtualnym laboratorium w aplikacji
TECHNOLOGIE INTERNETOWE W ZARZĄDZANIU I BIZNESIE TIZIB’05
MARCIN KUZAŃSKI*, JOANNA SEKULSKA-NALEWAJKO*,
ROMAN KRZESZEWSKI*
INTERNETOWA TECHNOLOGIA PROGRAMISTYCZNA DATASOCKET
FIRMY NATIONAL INSTRUMENTS - PRZYKŁAD ZASTOSOWANIA
W APLIKACJI GENERATORA W WIRTUALNYM LABORATORIUM
INTERNET PROGRAMMING TECHNOLOGY DATASOCKET OF NATIONAL
INSTRUMENT – APPLICATION IN VIRTUAL LABORATORY (GENERATOR
EXAMPLE)
STRESZCZENIE. Oferowana przez National Instruments nowa internetowa technologia programistyczna DataSocket, upraszcza transmisję danych pomiędzy różnymi aplikacjami uruchomionymi na
jednym komputerze lub pomiędzy wieloma komputerami połączonymi przez sieć. Między istniejącymi obecnie różnymi technologiami transmisji danych (TCP/IP, DDE), DataSocket wyróżnia się
tym, że posiada łatwy w użyciu, wysokowydajny programowy interfejs komunikacyjny umożliwiający transmisję danych pomiędzy składnikami systemu pomiarowego w czasie rzeczywistym. Jest on
zbudowany na bazie TCP/IP, stąd wydajność transmisji danych jest w dużej mierze związana z transferem danych w sieci. DataSocket składa się z dwóch części: DataSocket API (pojedynczy interfejs
do komunikacji z danymi różnych typów) i Serwera DataSocket, który upraszcza internetową komunikację przez zarządzanie programowaniem TCP/IP. Zastosowania technologii DataSocket przedstawiono w aplikacji generatora.
ABSTRACT. New internet technology DataSocket of National Instruments simplifies data transmission between different applications which are running on the same computer or on several connected
computers. Nowadays, among existing technologies of data transmission (TCP/IP, DDE) DataSocket
distinguishes oneself with simple and effective interface which allows real time communication between measuring system elements. This interface is built on the basis of TCP/IP, thus efficiency of
data transmission is related to data transfer in the web. DataSocket consists of two elements:
DataSocket API (single interface to communication with data of different type) and DataSocket
Server, which simplifies internet communication for control of TCP/IP programming. DataSocket
technology was used in generator application.
1. Wprowadzenie
DataSocket to oddzielny program współpracujący z LabVIEW, którego zadaniem jest wymiana danych pomiarowych za pośrednictwem sieci komputerowej (zobacz: www.ni.com).
Do transmisji wykorzystuje się protokół TCP/IP, co dodatkowo umożliwia integrację urzą-
*
Katedra Informatyki Stosowanej Politechniki Łódzkiej
140
TECHNOLOGIE INTERNETOWE W ZARZĄDZANIU I BIZNESIE TIZIB’05
dzeń pomiarowych z Internetem. Parametrem wejściowym do procedury jest nazwa serwera. Jeżeli serwer jest aktywny, to następuje nawiązanie połączenia, odczytanie danych
z sieci i umieszczenie ich w tablicy wynikowej. Serwer w usłudze DataSocket udostępnia
dane innym użytkownikom. Zadanie to spełnia procedura DataSocketSave.vi.
2. Składniki DataSocket
DataSocket składa się z dwóch części: DataSocket API (pojedynczy interfejs do komunikacji z danymi różnych typów) i Serwera DataSocket, który upraszcza internetową komunikację przez zarządzanie programowaniem TCP/IP.
2.1. DataSocket API
DataSocket API jest zestawem funkcji wykorzystywanych do łączenia się z danymi pomiarowymi umiejscowionymi na lokalnym komputerze lub w Internecie. Technologia ta została zaimplementowana w wielu środowiskach programistycznych m.in. w ActiveX, bibliotekach LabWindows/CVI C i zestawach LabVIEW VI.
DataSocket API automatycznie przetwarza dane pomiarowe użytkownika do postaci
strumienia bajtów wysyłanych przez sieć. Aplikacja pobierająca dane automatycznie przetwarza strumień bajtów z powrotem do jego oryginalnej formy. Ta automatyczna konwersja
eliminuje złożoność sieci, przetwarzając znaczną ilość kodu jaki musielibyśmy napisać
używając bibliotek TCP/IP. Sposób korzystania z DataSocket API jest bardzo prosty. Składa się z czterech podstawowych działań (otwarcia, odczytu, zapisu, i zamknięcia) podobnie
jak w standardowych plikach I/O. Do odczytu danych DataSocket API może korzystać z:
−
−
−
−
−
pozycji danych na serwerze HTTP;
pozycji danych na serwerze FTP;
lokalnego pliku (FILE);
pozycji danych na serwerze OPC (OLE for Process Control);
pozycji danych na serwerze DSTP.
2.2. Serwer DataSocket
Serwer DataSocket jest elementem technologii DataSocket odpowiedzialnym
za przesyłanie danych w czasie rzeczywistym poprzez sieć internetową lub lokalną
oraz za zarządzanie połączeniami w systemie pomiarowym (Rawnslej et all., 1997).
Do transmisji danych z Serwerem DataSocket wymagane są: aplikacja wysyłająca dane, Serwer DataSocket, i aplikacja odbierająca dane. Aplikacja wysyłająca dane używa
DataSocket API do zapisu danych do serwera, natomiast aplikacja odbierająca dane do odczytu danych z serwera. Obie aplikacje są „klientami” Serwera DataSocket (Rys. 1). Mogą
być, wraz z serwerem, uruchamiane na tym samym komputerze, lecz częściej uruchamiane
są na różnych komputerach, co zwiększa bezpieczeństwo przez izolację połączeń sieciowych i aplikacji pomiarowej.
141
TECHNOLOGIE INTERNETOWE W ZARZĄDZANIU I BIZNESIE TIZIB’05
Internet
Źródło
danych
Serwer
DataSocket
Użytkownik
Użytkownik
Użytkownik
Rys. 1. Schemat przesyłania danych pomiędzy aplikacjami LabView
Serwer DataSocket ogranicza dostęp do danych przez zezwolenie i zarządzanie bezpieczeństwem. W momencie uruchomienia serwera wyświetlane jest okno, które informuje
użytkownika o tym, ile w danej chwili obiektów odczytuje lub zapisuje dane do pozycji
serwera. Wyświetlana jest także nazwa komputera, na której Serwer DataSocket jest uruchomiony oraz liczba przesyłanych pakietów danych.
Serwer DataSocket posiada dwie metody zabezpieczające transmisję danych. Jedną
z nich jest zdolność uruchamiania Serwera DataSocket na zewnątrz systemu „firewall”,
podczas gdy aplikacja zapisująca dane pozostaje wewnątrz niej bezpieczna. Drugą metodą
zabezpieczającą transmisję danych jest DataSocket Server Manager, który umożliwia konfigurację odczytu i zapisu danych na współpracujących komputerach.
DataSocket używa portu 3015 protokołu TCP/IP, zarejestrowanego z IANA jako port
National Instruments DataSocket Transfer Protocol (DSTP).
3. Generator
Program służy do generowania próbek sygnałów o różnych przebiegach (Kuzański, Sekulska-Nalewajko 2005). Kształt przebiegu sygnału możemy wybrać z 4 standardowych typów (sinusoidalny, trójkątny, prostokątny, piłokształtny) lub samodzielnie zdefiniować
formułę generowanej fali.
Przy definiowaniu własnych formuł można używać następujących zmiennych:
f
- częstotliwość
a
- amplituda
w
- pulsacja 2*pi*f
t
- czas
n
- ilość próbek
fs
- częstotliwość próbkowania
Wpisane równanie fali podlega weryfikacji w sensie matematycznym lub logicznym.
Aplikacja testuje także standardowe typy fal i umożliwia precyzyjną regulację wartości
142
TECHNOLOGIE INTERNETOWE W ZARZĄDZANIU I BIZNESIE TIZIB’05
fazy początkowej sygnału oraz procentowe wypełnienie w okresie (stosunek czasu trwania
stanu wysokiego do czasu trwania stanu niskiego).
Rys. 2. Panel frontowy projektu VI
Rys. 3. Okno pomocy
W czasie generacji sygnału można dokonywać zmian podstawowych parametry przebiegu tj. częstotliwość, amplituda i składowa stała (offset). Zakres regulacji częstotliwości
jest 0 ÷ 10 Hz, amplitudy 0 ÷ 10 V i składowej stałej od -10 V do +10 V. Docelowo zakres regulacji każdej z tych wielkości można zmieniać w zależności od potrzeb. Użytkownik ma również możliwość regulacji parametrów próbkowania: częstotliwości Fs i ilości
próbek #s. Standardowo wartości tych wielkości wynoszą 1000.
143
TECHNOLOGIE INTERNETOWE W ZARZĄDZANIU I BIZNESIE TIZIB’05
3.1. Panel
Podstawowe okno aplikacji generatora przedstawia rysunek 2. Pod oknem Parametry
próbkowania w prawym dolnym rogu aplikacji znajduje się wskaźnik wartości końcowej
fazy sygnału tzn. fazy na końcu serii próbek (Rys. 2). Równanie fali umieszcza się w polu
edycji Formuła. Można wybrać także formułę zdefiniowaną wcześniej lub jeden z sygnałów standardowych.
Kształt przebiegu generowanego sygnału obrazuje pole wykresu. Aby włączyć/wyłączyć autoskalowanie osi należy prawych przyciskiem myszy kliknąć na wykresie
i zaznaczyć/odznaczyć odpowiednie opcje.
Przycisk POMOC uruchamia okno z podstawowymi informacjami obsługi programu
(Rys. 3). Przycisk RESET pozwala na włączenie/wyłączenie opcji resetowania fazy
i ustawienie czasu startu kolejnych próbek na 0. Przycisk STOP na panelu generatora (lub
klawisz F8) kończy działanie programu.
3.2. Diagram
Algorytm programu składa się z sekwencji dwóch kroków (Sequence Structure) (Rys. 4).
Po uruchomieniu programu następuje ustawienie wartości przycisku stop zatrzymującego
działanie aplikacji na False, aby zapewnić działanie pętli w następnym kroku.
W drugim kroku sekwencji znajduje się struktura typu While Loop zawierająca
wszystkie funkcje aplikacji: generacji sygnału, wyświetlania wyniku i uruchamiania pomocy. Pętla ta jest wykonywana do momentu zmiany stanu logicznego przycisku stop na True.
Rys. 4. Diagram projektu VI
3.3. Wykorzystanie DataSocket w aplikacji generatora
W celu wymiany danych pomiędzy aplikacjami stworzonymi przy pomocy LabVIEW
na komputerze lokalnym lub w sieci wykorzystywana jest opisana wcześniej technologia
DataSocket. Technologia ta charakteryzuje się prostotą konfiguracji i dużą szybkością działania. Posiada możliwości przesyłania danych różnych typów (liczby, teksty, itd.) na małe i
144
TECHNOLOGIE INTERNETOWE W ZARZĄDZANIU I BIZNESIE TIZIB’05
duże odległości, i co najważniejsze w czasie rzeczywistym. W zintegrowanym systemie
wspomagającym procesy dydaktyczno-naukowe technologia DataSocket ma szerokie zastosowanie w połączeniu z wirtualnym laboratorium. Na dowód tego przedstawiamy przykład transmisji danych pomiędzy dwoma aplikacjami VI uruchomionymi na dwóch komputerach połączonych w sieci lokalnej LAN. Jedną z aplikacji jest opisany powyżej wirtualny
instrument „Generator”, który po odpowiedniej konfiguracji posłużył jako nadajnik – publikator danych.
W celu przystosowania Generatora do funkcji wysyłania danych (w tym przypadku
wysyłany jest generowany sygnał) należy wykonać kilka niezbędnych czynności. Po pierwsze należy uruchomić DataSocket Server (standardowo aplikacja ta zawiera się w pakiecie
LabVIEW). Następnie na panelu VI z menu podręcznego należy dokonać wyboru opcji
Data Operations > DataSocket Connection (Rys. 5). W oknie DataSocket Connection
istnieje możliwość wyboru serwera i określenia jego adresu URL (Rys. 6).
Rys. 5. Wybranie opcji Data Operations > DataSocket Connection
Rys. 6. Okno konfiguracji połączenia DataSocket
W oknie Browse for Item w otoczeniu sieciowym znajdujemy komputer, na którym
uruchomiony jest DataSocket Server i wybieramy typ transmitowanych danych (Rys. 7).
145
TECHNOLOGIE INTERNETOWE W ZARZĄDZANIU I BIZNESIE TIZIB’05
Warto podkreślić, iż serwer DataSocket może być uruchomiony na dowolnym komputerze
w sieci, niekoniecznie na tym samym co aplikacje (Rys. 8).
Pozostałe kroki konfiguracji serwera to wybór połączenia i opcji udostępniania danych
z aplikacji generatora.
Rys. 7. Okno wyboru serwera.
Po tych operacjach wirtualny generator jest gotowy do nadawania – wysyłania generowanego sygnału. W celu sprawdzenia jego działania należy uruchomić VI i odczytać
stan połączenia z serwerem. W oknie kontrolnym DataSocket Server, gdzie na bieżąco podawane są informacje o ilości połączeń i liczbie aktualnie przesłanych pakietów
Rys. 8. Okno konfiguracji połączenia DataSocket.
Dane przesłane z aplikacji VI naszego generatora do serwera DataSocket mogą być
następnie pobrane z tego serwera do innej aplikacji działającej na dowolnym przyłączonym
komputerze.
146
TECHNOLOGIE INTERNETOWE W ZARZĄDZANIU I BIZNESIE TIZIB’05
Rys. 9. Okno stanu serwera DataSocket.
4. Wnioski
Wirtualne laboratorium jest eksperymentem, który demonstruje idee przyrządów obsługiwanych i kontrolowanych zdalnie, np. z poziomu Internetu przy pomocy standardowej
przeglądarki www (Winiecki 2003). Realizację zdalnych urządzeń umożliwia platforma
LabVIEW, przy wykorzystaniu między innymi programistycznej technologii DataSocket
firmy National Instruments. Technologia ta ułatwia i upraszcza wymianę danych pomiarowych za pośrednictwem sieci Internet. Najprostszym przypadkiem zdalnego laboratorium
może być komputer z zainstalowanym serwerem DataSocket podłączonym do sieci Internet. Klientem zaś może być komputer z zainstalowaną dowolną przeglądarką internetową.
Każdy podłączony nowy klient przy pomocy przeglądarki www, obsługuje taki sam frontowy panel urządzenia jaki umieszczono na lokalnym komputerze (Kuzański, SekulskaNalewajko, Kuliberda 2004). Udostępnienie poszczególnych funkcji laboratorium zależy
od administratora. Przykładem tego rozwiązania jest aplikacja Generatora.
Sprawdzeniem działania tej metody transmisji są wykonane doświadczenia, polegające
na odbiorze danych z aplikacji generatora przez VI służący do prezentacji widma mocy
transformaty Fouriera (Kuzański, Sekulska-Nalewajko 2005).
5. Literatura
Kuzański M., Sekulska-Nalewajko J. Examples of virtual tools in technical equipment designing and education. CADSM’2005, Lviv-Polyana, s. 474-479, 2005.
Kuzański M., Sekulska-Nalewajko J., Kuliberda K. Konstrukcja wirtualnego laboratorium
za pomocą pakietu LabView. Zeszyty Naukowe Akademii Górniczo-Hutniczej w Krakowie, seria Automatyka, s. 609-617, 2004.
Rawnslej D. J., Hummels D. M., Segee B.E., “A Virtual Instrument Bus Using Network
Programming,” IEEE Instrumentation and Measurement Technology Conference, Ottawa, Canada, 1997.
Winiecki W., „Wirtualne przyrządy pomiarowe,” Oficyna Wydawnicza Politechniki Warszawskiej, Warszawa, 2003.
www.ni.com
147