Rozdział 4 Wdrożenie systemu
Wykonanie wdrożenia opracowanego systemu
wizualizacji jest istotną częścią pracy, głównie z tego względu, że
pozwala na praktyczną weryfikację zarówno przyjętych założeń, jak
i podjętych decyzji projektowych. Jest okazją do testowania
oprogramowania, przekonania się o jego wydajności, łatwości
konfiguracji i instalacji. Zmusza do praktycznego wykorzystania
opracowanych narzędzi.
Wdrożenie rozpocząłem od instalacji
programu paramd (serwer parametrów) na kilku obiektach
w całej Polsce. Wszystkie instalacje zostały wykonane zdalnie,
z wykorzystaniem łączy SDI, w jakie wyposażone są te
ciepłownie.
Instalacja sprowadzała się do przesłania źródeł
systemu, uaktualnienia źródeł systemu SZARP (potrzebna była nowa wersja
biblioteki libSzarp) i kompilacji programów. W kilku
przypadkach konieczne było także doinstalowanie lub aktualizacja
bibliotek libxml2 i openssl. Na części obiektów
wyposażonych w bramki SDI musiałem także zainstalować
i uruchomić na komputerze pełniącym funkcję bramki oprogramowanie
do przekierowywania portów. Obecnie serwer parametrów działa między
innymi w ciepłowniach w Bytowie, Ełku, Pasłęku, Porębie
i Świdniku.
Pierwsza instalacja systemu wizualizacji (poza
moim komputerem domowym) rozpoczęła działanie na serwerze firmy Praterm
w Warszawie. Wykonałem kilka schematów demonstracyjnych, takich jak
prezentowany na stronie ??
termometr i mapa Polski z zaznaczonymi ciepłowniami firmy Praterm
SA wraz z temperaturami powietrza w danych miastach. Uzyskane
doświadczenia umożliwiły mi podjęcie decyzji o zastąpieniu Cocoona
własnym procesorem dokumentów.
Okazało się też, że
architektura, w której procesor dokumentów pobiera dane o
wartościach parametrów przez Internet, w polskich warunkach jest
nie do realizacji. W godzinach popołudniowych ściągnięcie
informacji o kilkunastu parametrach z Ełku mogło trwać nawet
półtorej minuty. Powodem tego jest skandalicznie niska prędkość
transmisji i duże opóźnienia w zarządzanej przez
Telekomunikację Polską sieci SDI. Być może pewne przyspieszenie można by
uzyskać przez ściąganie na raz całej informacji o parametrach,
zamiast oddzielnej transmisji dla każdej wartości (przy założeniu, że
wąskim gardłem są raczej opóźnienia transmisji, a nie pasmo).
Oczywiście nie jest to możliwe przy schematach takich jak wspomniana
mapa, gdzie każdy parametr pobierany jest z innej ciepłowni.
Za
lokalizacją serwera parametrów i procesora dokumentów w jednej
sieci lokalnej (w ciepłowni) przemawia też fakt, że najważniejszym
i wymagającym jednocześnie największej prędkości działania
użytkownikiem jest właśnie użytkownik lokalny, czyli operator
w ciepłowni. Rozwiązanie, w którym dane transmitowane są
w dwie strony (najpierw wartości parametrów do Warszawy,
a potem gotowe dokumenty z powrotem) jest pozbawione
sensu.
Początkowo pierwsze wdrożenie w ciepłowni
planowałem w Ełku. Niestety, okazało się to niemożliwe bez
uaktualnienia systemu (bibliotek glibc), co było nie do wykonania
zdalnie. Powodem była biblioteka libxslt, której nowe wersje
nawet przy kompilacji ze źródeł wymagają nowszych wersji bibliotek niż
zainstalowane na serwerze w Ełku. Wykorzystanie starszej wersji
libxslt nie wchodziło w rachubę ze względu na obecne
w niej błędy.
Dla Ełku wykonałem trzy schematy za pomocą
programu Sodipodi. Pierwszy z nich przedstawia ogólny widok
ciepłowni i zawiera informacje o ciśnieniach, przepływach
i temperaturach w najważniejszych punktach obiegu wody. Poza
tym obecne są także informacje o wysterowaniu falowników
wchodzących w skład systemu pomp i mocy kotłów. Kliknięcie na
kocioł pierwszy lub trzeci przenosi użytkownika do odpowiedniego
schematu kotła (kocioł drugi nie jest jeszcze podłączony do systemu
SZARP). Schematy kotłów zawierają informacje o mocy i wydajności
kotła, temperaturze i ciśnieniu wody przed i za kotłem oraz
pracy elementów pomocniczych, takich jak wentylatory czy ruszt (podajnik
węgla). Rysunki tych dwóch ostatnich elementów (wentylatorów
i rusztu) są animowane.
Ze względu na wspomnianą wyżej
niemożność zdalnego zainstalowania procesora dokumentów, schematy
ciepłowni w Ełku są dostępne z serwera w Warszawie.
Sytuację pogarsza fakt, że łącze SDI w Ełku jest wyjątkowo
wolne.
Ostatecznie więc pierwsze udane wdrożenie miało miejsce
w Bytowie. Ciepłownia miejska w Bytowie jest niewielka,
wyposażona w dwa kotły typu WR-10 (węglowo-rusztowe o mocy
maksymalnej 10 MW). Działa tam jedna z najmłodszych instalacji
systemu SZARP, wykonana w 2001 roku, z jednym serwerem. 7
sterowników zbiera dane o 252 parametrach, z których 197 jest
zapisywanych w bazie danych.
Instalacja systemu, podobnie
jak w Ełku, wymagała zainstalowania oprogramowania do
przekierowywania portów na istniejącej bramce SDI. Przed kompilacją
oprogramowania wchodzącego w skład systemu musiałem dokonać
uaktualnienia kilku bibliotek. Większość z nich były to biblioteki
Gnome, wykorzystywane przez programy Sodipodi i Sodipng.
Przerobienie wszystkich trzech schematów ciepłowni w Ełku (schemat
ogólny i dwa kotły) zajęło mi około godziny pracy w programie
Sodipodi. Polegało to na usunięciu części elementów (w Bytowie
w porównaniu z Ełkiem jest mniej pomp i czujników, są
tylko dwa kotły, wyposażone w pojedyncze ruszty) i zmianie
nazw części parametrów. Po dodaniu katalogu byto do głównego
katalogu z konfiguracją procesora dokumentów, skopiowałem tam
dokumenty z katalogu elk ze zmienionymi schematami. Po
zamianie napisów Ełk na Bytów w dokumentach HTML/ISL
pozostało tylko jeszcze ustawienie domyślnego przekierowania na katalog
byto. Całe przygotowanie konfiguracji dla nowego obiektu zajęło
mi około 2 godzin. Oczywiście możliwe było to tylko dzięki wcześniej
wykonanej pracy nad schematami ciepłowni w Ełku oraz względnemu
podobieństwu obu systemów. Dużo więcej czasu musiałem natomiast
poświęcić na wspomniane uaktualnienia bibliotek systemowych1.
Łącze SDI w Bytowie okazało się także nieco szybsze niż to
w Ełku. Ponieważ nawet duży schemat ogólny ciepłowni przesyłany
w postaci spakowanej (wtyczka Adobe obsługuje SVG skompresowany
algorytmem GNU zip) zajmuje tylko 10 KB, więc całość działa na tyle
szybko, że może być swobodnie przeglądana za pomocą modemu. Gorzej jest
z wersją PNG, która zajmuje około 10 razy więcej miejsca. Przy
korzystaniu z modemu także na załadowanie danych przez Batika
trzeba trochę poczekać, gdyż nie obsługuje on kompresji odbieranych
danych. Natomiast po załadowaniu obrazka parametry odświeżane są już
szybko (nieskompresowany schemat ogólny ciepłowni w Bytowie
zajmuje około 100 KB, zaś dokument z uaktualnieniem wartości 23
zawartych na schemacie parametrów około 9 KB).
Ani w Ełku,
ani w Bytowie ciepłownia nie wyraziła zainteresowania możliwością
zdalnego ustawiania wartości procesów. Ta część funkcjonalności systemu
nie była więc tam testowana. Jednak możliwość ta może być wykorzystywana
w innych ciepłowniach, w których działają serwery parametrów,
przez połączenie bezpośrednio z serwerem parametrów.
Ostateczne uzyskane efekty, to dwa serwisy WWW pozwalające na oglądanie
przez przeglądarkę przebiegu procesów technologicznych
w ciepłowniach. Pierwszy, dostępny pod adresem
http://www.praterm.com.pl:8180 zawiera ogólne informacje
o systemie wizualizacji, kilka stron demonstracyjnych oraz
podserwisy prezentujące ciepłownie w Ełku i Bytowie. Procesor
dokumentów jest zainstalowany na serwerze zlokalizowanym
w Warszawie, zaś dane do schematów pobierane są zdalnie
z serwerów parametrów pracujących w ciepłowniach. Drugi,
dostępny pod adresem
http://213.76.238.20:8083,
prezentuje dane generowane przez uruchomiony na serwerze w Bytowie
procesor dokumentów, który informacje o wartościach parametrów
pobiera z lokalnego serwera parametrów.
- 1
- W
nowszych dystrybucjach Linuksa (np. RedHat 7.3) wszystkie potrzebne
biblioteki są obecne, nie trzeba niczego doinstalowywać ani uaktualniać.