Internetowy System Pomiarowy Krzysztof Kołek, Piotr Bania [email protected] Akademia Górniczo-Hutnicza, Katedra Automatyki al. Mickiewicza 30, 30-059 Kraków

Wstęp Rozwój sieć Internet wypiera inne sposoby przesyłania danych, takie jak komunikacja modemowa lub radiowa. Pojawia się możliwość wykorzystania tego medium oraz popularnego protokołu TCP/IP do budowy systemów pomiarowych i realizacji zadań automatyki. Pomimo ograniczeń, a w szczególności teoretycznie nieprzewidywalnego czasu uzyskania dostępu do informacji, sieć Internet ciągle pozostawia ogromny obszar stosowalności. Należą do nich np. koncentratory danych pomiarowych gromadzące dane przez dłuższy okres czasu i stosunkowo rzadko je wysyłające lub autonomiczne systemy sterujące wymagające monitorowania oraz sporadycznej zmiany parametrów pracy. Przykładem może być system zarządzania ciepłem w kompleksie budynków. Jest to obiekt stosunkowo wolnozmienny, posiadający zwykle lokalne, inteligentne układy sterowania oraz coraz częściej wyposażony w kompleksowe lub częściowe okablowanie strukturalne ułatwiającym wykorzystanie Internetu. W artykule przedstawiono metody wykorzystane do stworzenia systemu sterowania energią grzewczą poprzez sieć Internet zastosowane w kompleksie budynków Akademii Górniczo-Hutniczej w Krakowie. Zastosowano między innymi miniaturowe WWW serwery, rozproszone moduły pomiarowe, kontrolki ActiveX oraz oprogramowanie klasy SCADA.

Miniaturowe Web-serwery Serwer WWW kojarzy się zwykle z dużym komputerem pracującym pod kontrolą systemu operacyjnego UNIX lub MS-Windows. Funkcje serwera mogą być realizowane za pomocą specjalizowanego oprogramowania np. bezpłatnego pakietu Apache lub produktów firmy Microsoft o nazwach Personal Web Server oraz Internet Information Server. Podstawowa zaleta WWW serwerów polega na ogólnej dostępności zgromadzonych na nich informacji za pomocą szerokiej grupy programów. Dostęp do informacji możliwy jest za pomocą popularnych przeglądarek internetowych Microsoft Internet Explorer oraz Netscape Communicator. Transfer informacji nie zależy od platformy sprzętowej i programowej, o ile realizowany jest protokół wymiany danych HTTP. Dodatkowo, za pomocą kontrolek ActiveX można w stosunkowo prosty sposób zaimplementować funkcje przeglądarek we własnych programach. Technicznie informacja jest dostępna za pośrednictwem różnorodnych mediów: gniazdek internetowych okablowanych budynkach, łączności modemowej, telefonii komórkowej czy telewizji kablowej. Utworzenie niezależnej od platformy metody wymiany danych skraca czas rozwoju aplikacji, podnosi elastyczność oraz obniża koszty. Wspominana powyżej konfiguracja sprzętowa oraz oprogramowanie realizujące funkcje WWW serwera jest na tyle drogie i skomplikowane, iż wykorzystanie jej do realizacji

niewielkiej liczby pomiarów lub prostego sterowania wydaje się nieuzasadnione. Rozwiązaniem są niewielkie specjalizowane układy scalone, zawierające jądro w postaci popularnego mikroprocesora wyposażonego w specjalizowane peryferia sieciowe i realizującego odpowiednie protokoły sieciowe. Istnieją co najmniej dwa takie rozwiązania: układ eZ80 firmy ZILOG [1] oraz IPC@CHIP firmy Beck [2]. Oba układy posiadają podobną budowę blokową. Schemat blokowy układu IPC@CHIP przedstawia Rys.1. Zawiera mikroprocesor, wbudowaną kartę sieci Ethernet, pamięć wykorzystywaną do wykonywania programów i spełniającą funkcję dysku twardego oraz porty do komunikacji wykorzystujące łącze szeregowe RS-232. Jest to w rzeczywistości komputer klasy IBM PC XT wyposażony w kartę sieciową. Warto wspomnieć, iż układ ten ma wymiary 44x22x9.5mm. Układ IPC@CHIP wyposażony w stabilizowany zasilacz, transformator sieci Ethernet oraz odpowiednie złącza przedstawiono na rysunku z prawej strony rysunku 1. Ten gotowy do zastosowania komputer realizujący funkcję serwera WWW ma wymiary 60x40x15mm. 8 Bit Address/Data ALE, RD#, WR# INT, INTA

Oscylator 20MHz

CPU 80186/ 80188

Ethernet MAC

Ethernet PHY

Flash 512Kx8

UART

TxD, RxD CTS, RTS

DRAM 256Kx16

DMA

DRQ

Watch Dog

Core Logic

Programowalne I/ O TMRIN, TMROUT RESET#, NMI

10Base-T TPTX+, TPTXTPR X+, TPRX-

Rys.1. Schemat blokowy układu IPC@CHIP [3] oraz widok modułu ewaluacyjnego. Zintegrowane z układem oprogramowanie realizuje protokoły sieciowe serwerów HTTP, FTP i Telnet. Po nadaniu układowi unikalnego numeru IP można w typowy sposób połączyć się z układem oraz przesłać pliki. Zaimplementowany WWW serwer ma możliwość wykonywania skryptów CGI. Stwarza to możliwość tworzenia stron WWW np. w języku C. Jest to niezbędne jeżeli zachodzi potrzeba dostępu do dołączonych do układu urządzeń peryferyjnych. Skrypty CGI umożliwiają współpracę z przetwornikami cyfrowoanalogowymi oraz analogowo-cyfrowymi. A to stwarza możliwość realizacji układów pomiarowych oraz sterujących i udostępnianie ich funkcji w sieci Internet. Reasumując, należy stwierdzić iż układ wielkości pudełka zapałek w pełni realizuje funkcje WWW serwera, umożliwiając wykonywanie pomiarów i realizację prostych funkcji sterujących.

Współpraca z urządzeniami peryferyjnymi Przedstawiona poniżej aplikacja ma za zadanie monitorowanie odległego węzła cieplnego. Do pomiaru przepływów i temperatur wykorzystano moduły pomiarowe ADAM serii 4000 firmy Advantech [4]. Moduły serii ADAM-4000 zaliczane są do klasy rozproszonych systemów kontrolno-pomiarowych. Wykorzystują do komunikacji standard interfejsu RS-485 (RS-422) i RS-232. Moduły te nie pracują autonomicznie, lecz ich praca

jest sterowana z komputera nadrzędnego, który steruje zadaniami pomiarowymi oraz przeprowadza akwizycję danych pomiarowych. Komunikowanie się z modułami odbywa się poprzez interfejs RS-485 i specjalizowaną kartę zainstalowaną wewnątrz komputera IBM PC (np. PCL-745) lub poprzez specjalny konwerter (ADAM-4520) dokonujący konwersji sygnałów standardu RS-232 na RS-485. Moduły zapewniają automatyczną kalibrację czujników, wykonują filtrację sygnałów i przetwarzanie A/C oraz C/A. Podstawową zaletą takiego rozwiązania części pomiarowej jest możliwość stworzenia praktycznie dowolnego zestawu pomiarowego poprzez dołączanie kolejnych modułów. Odczyt danych oraz konfiguracja modułów odbywają się na drodze programowej z wykorzystaniem prostego zestawu komend w postaci znaków ASCII. Na rysunku 2 przedstawiono sposób połączenia modłów ADAM z komputerem PC.

Rys.2. Zasada łączenia modułów ADAM i sposób komunikacji z komputerem nadrzędnym. Komputer pośredniczący między siecią Ethernet oraz modułami ADAM musi spełniać dwa podstawowe wymogi: • obsługiwać w czasie rzeczywistym moduły pomiarowe i gromadzić dane historyczne, • udostępniać dane za pomocą protokołu HTTP w postaci stron WWW. Może to być na przykład komputer klasy IBM PC pracujący pod kontrolą systemu Windows lub Unix ale również wymienione wymagania spełnia moduł IPC@CHIP.

Kontrolki ActiveX Rozproszenie funkcji pomiarowych oraz dostęp do nich za pomocą przeglądarek internetowych, choć wygodne, nie rozwiązuje problemu integracji danych. Dane z kilku koncentratorów internetowych wygodnie jest przesłać do programu zajmującego się ich przetwarzaniem. Panująca aktualnie w tworzeniu systemów pomiarowo-sterujących tendencja opiera się na integracji elementów sprzętowych oraz programowych pochodzących od różnych producentów, oferujących moduły o wymaganych własnościach funkcjonalnych. W środowisku popularnych systemów operacyjnych Win95/98/NT/2000 funkcje takich modułów pełnią kontrolki ActiveX [5]. Kontrolka umożliwia wykorzystanie obiektowych technik programowania. Składa się z zestawu własności oraz metod. Własności sterują zachowaniem się kontrolki. Wywołanie metod powoduje wykonanie określonych funkcji.

Potencjalnie interesująca kontrolka powinna umożliwiać określenie adresu WWW serwera oraz odczyt zgromadzonych tam danych. Zainstalowanie takiej kontrolki umożliwia zgromadzenie danych z internetowych koncentratorów. Dostępne na rynku komercyjnym kontrolki umożliwiają wykonanie omówionego powyżej sposobu komunikacji (przykładem produkty Crescent Internet ToolPak, IP*Works czy PowerTCP Internet Toolkits) [6]. Można również pokusić się o samodzielne stworzenie podobnej kontrolki. W takim przypadku można wykorzystać wbudowane w kompilatory funkcje lub klasy realizujące komunikację w sieci Internet zgodnie z określonymi protokołami (np. klasa CInternetSession w pakiecie Microsoft Visual Studio).

Kontenery ActiveX Popularne w Polsce programy typu SCADA, FIX32/iFIX firmy Intellution oraz InToutch firmy Wonderware, są kontenerami ActiveX. Oznacza to, iż obiekty ActiveX mogą zostać w nich „osadzone” i bezpośrednio wykorzystane. Własności obiektów są widoczne oraz można wywoływać ich metody. Przykładowo, iFIX umożliwia odwoływanie się do obiektu ActiveX za pomocą języka Visual Basic for Applications identycznego z językiem wykorzystywanym w pakiecie MSOffice.

Przykładowa aplikacja – monitorowanie dystrybucji energii cieplnej w Akademii Górniczo-Hutniczej w Krakowie W kompleksie budynków Akademii Górniczo-Hutniczej w Krakowie zasilanie w energię cieplną realizowane jest poprzez wymienniki ciepła pobierające energię z miejskiej sieci grzewczej i przekazujące ją do instalacji ciepłej wody użytkowej oraz do instalacji centralnego ogrzewania. Wymienniki posiadają lokalne sterowniki stabilizujące parametry temperaturowe wody w budynkach [7]. Centralny system monitorowania dystrybucji energii gromadzi dane z tereny całej uczelni. Steruje temperaturami w budynkach umożliwiając zaoszczędzenie energii np. poprzez obniżenie temperatur w dni wolne od pracy oraz w godzinach nocnych . Centralny komputer systemu z programem SCADA iFIX spełnia role monitorujące oraz jest źródłem temperatur zadanych. Wymiana danych między budynkami częściowo oparta jest o przemysłową magistralę CAN, jednak w przypadku oddalonych budynków doprowadzenie okablowania magistrali CAN okazało się zbyt kosztowne. W przypadku dwóch budynków wykorzystano internetowe koncentratory danych udostępniające dane poprzez serwery WWW. Węzły zostały wyposażone w dodatkowe elementy pomiarowe, współpracujące z modułami ADAM (patrz rysunek 3). Moduły ADAM, poprzez łącze szeregowe, udostępniają informacje o pomiarach serwerowi IPC@CHIP. Serwer w odpowiedzi na każde zapytanie z sieci Internet buduje stronę i udostępnia dane o pomiarach poprzez protokół HTTP. Dane są cyklicznie przesyłane do centralnego komputera z systemem SCADA oraz są dostępne z dowolnego węzła sieci Internet za pomocą przeglądarek internetowych (Rys.4).

Rys.3. Widok układu pomiarowego wraz z serwerem SC12.

Rys.4. Schemat systemu pomiarowego. Serwer IPC@CHIP odpowiedzialny jest za cykliczny odczyt modułów ADAM, gromadzenie danych historycznych z ostatnich kilkudziesięciu godzin, obsługę błędów odczytu oraz generację stron WWW zawierającej odczytane dane. Dostępne są strony z danymi aktualnymi oraz historycznymi. Działanie systemu można sprawdzić pod adresami http://149.156.120.177/adam (aktualne dane z pierwszego budynku) , http://149.156.120.177/adamh (dane historyczne z pierwszego budynku) lub http://149.156.125.254/echip_2k (aktualne dane z drugiego budynku). Rysunek 5 przedstawia stronę zawierającą aktualne dane z jednego z budynków.

Rys.5. Widok strony z aktualnym pomiarem. Centralny komputer systemu, dzięki programowi klasy SCADA, umożliwia graficzną prezentację wyników. Przykładowy ekran synoptyczny przedstawiający uzyskane poprzez Internet dane przedstawia rysunek 6. Dzięki mechanizmom programu iFIX wybrane ekrany synoptyczne dostępne są w sieci Internet pop adresem http://wg.agh.edu.pl.

Rys.6. Wynik pomiaru przepływów, temperatur oraz mocy. Akwizycja danych w systemie SCADA jest możliwa dzięki wykorzystaniu kontrolki ActiveX odczytującej strony z serwerów WWW. W przypadku wystąpienia błędów lub awarii zasilania można odtworzyć brakujące dane wywołując stronę z danymi historycznymi. System SCADA gromadzi historię pracy obiektu w bazach danych umożliwiając analizę danych oraz optymalizację pracy lokalnych regulatorów [7]. Optymalizacja zapewnia

uzyskanie oszczędności w gospodarowaniu energią przy jednoczesnym zachowaniu komfortu cieplnego pomieszczeń. Uzyskane oszczędności spowodowały zwrot kosztów instalacji systemu monitorowania w okresie jednego sezonu grzewczego.

Analiza działania systemu Ze względu na specyfikę sieci Internet szczególnie interesujący jest czas uzyskania informacji z serwerów WWW. W opisanej aplikacji działającej na terenie AGH w Krakowie wykorzystano strukturę akademickiej oraz miejskiej sieci Internet. Serwer SCADA odczytywał dane z dwóch budynków wyposażonych w serwery WWW. Jeden z budynków znajduje się sąsiedztwie serwera SCADA, a drugi w odległości około 2 kilometrów. Histogramy czasów dostępu do informacji dla obu budynków przedstawiono na rysunku 7. Czasy dostępu skupiają się wokół wartości średniej. Zanotowano nieliczne pakiety, które osiągnęły serwer SCADA w czasie powyżej średniej, jednak w czasie nie dłuższym od 4 sekund. Zanotowano również okresy utraty łączności wynoszące około 30 minut związane z pracami konserwatorskimi dotyczącymi infrastruktury sieci. B udy nek 1

B udy nek 2

1800

1200

1600 1000

1200

Liczba transmisji

Liczba transmisji

1400

1000 800 600

800

600

400

400 200 200 0

0 0

1 2 3 C z a s t ra n s m is ji [ s e k ]

4

0

1 2 3 C z a s t ra n s m is j i [ s e k ]

4

Rys.7. Statystyka czasów transmisji. Warto wspomnieć, iż czas dostępu do informacji zgromadzonej na serwerze WWW nie jest wprost zależny od odległości geograficznej. Czas ten zależy raczej od „odległości sieciowej” związanej z liczbą i jakością aktywnych urządzeń sieciowych między komunikującymi się urządzeniami. Nie zanotowano również zależności czasu transmisji od pory dnia. Dzienne wzmożenie ruchu sieciowego nie wpływa negatywnie na jakość transmisji.

Podsumowanie W aplikacjach przemysłowych do przesyłania danych i sterowania w czasie rzeczywistym wykorzystuje się zwykle specjalizowane magistrale CAN lub MODBUS. Wymaga to jednak okablowania budynku i stworzenia połączenia ze zwykle dość odległym komputerem nadzorującym cały proces. Jeżeli wymagania czasowe nie są zbyt krytyczne, tak jak ma to miejsce w przypadku monitoringu energii cieplnej, wówczas do przesyłania danych można z powodzeniem wykorzystać lokalną sieć Ethernet lub nawet sieć Internet, a przekaz danych oprzeć o protokół HTTP. Istniejące rozwiązania programowe i sprzętowe umożliwiają

sprawną realizację zdalnych koncentratorów danych oraz ich integrację z przemysłowymi systemami SCADA. Znając ograniczenia czasowe rozwiązań opartych o sieć Ethernet można zbudować system sterowania, w którym warstwa przesyłania informacji będzie wykorzystywać tą sieć. Podstawowe ograniczenie polega na braku gwarantowanego czasu przesłania danych. Biorąc jednak pod uwagę wysoką szybkość transmisji, typowo wynoszącą 100MB, brak gwarantowanego czasu przesyłu danych oznacza, iż docierają one z opóźnieniem liczonym w milisekundach. Szczególnie do takich zastosowań odpowiednie są wydzielone struktury sieci, przeznaczone wyłącznie do celów sterowania. Wydzielenie gwarantuje unikanie współdzielenia sieci przez aplikacje krytyczne czasowo i inne systemy informatyczne, co pozwala uniknąć okresowego wzrostu ilości przesyłanej informacji. Warto zauważyć, że o ile wydzielona sieć typu Ethernet pozwala uzyskać milisekundowe czasy przesyłu informacji to sieć Internet posiada znacznie gorsze parametry czasowe. Powszechna dostępność do sieci uniemożliwia zagwarantowanie stabilnych czasów przesyłu informacji. W taki przypadku możliwe jest zastosowanie do celów monitorowania i nadrzędnego sterowania obiektami, które posiadają autonomiczne sterowniki.

Literatura [1] Materiały na serwerze firmy Zilog http://www.zilog.com. [2] Materiały na serwerze firmy Beck http://www.beck-ipc.com. [3] IPC@CHIP Hardware Manual High Performance, 80186- and 80188-Compatible, 16-Bit Embedded Microcontroller Single Chip PC with Ethernet 10Base-T, materiały firmy Beck. [4] Automation. Vol.21, katalog firmy Advantech. [5] Lalani S., Chandak R,: ActiveX Biblioteka Programisty, ZNI „MIKOM”, Warszawa, 1997. [6] Materiały oraz oprogramowanie dostępne na serwerze http://www.componentsource.com. [7] Grega W., Kołek K.: Sterowanie nadrzędne węzłem cieplnym, PAR, 7-8 2001, str. 18-24. Praca była finansowana z Grantu Uczelnianego Zamawianego AGH.