[2] http://www.wnp.pl/artykuly/akwizycja-danych-w-systemach-przemyslowych,4662.html
Gromadzona przez wyższe warstwy systemu informacja pobierana jest z urządzeń zaangażowanych bezpośrednio w proces sterowania. Droga od źródła danych do miejsca ich składowania wiedzie poprzez sieci przemysłowe najniższego poziomu, a wzrastający ruch komunikacyjny ma często niedeterministyczną naturę wynikającą ze sposobu pracy systemów wspomagających zarządzanie przedsiębiorstwem (dane stają się szczególnie istotne i pożądane w okresach przygotowywania raportów i bilansów).
Kolejnym problemem jest różnorodność stosowanych rozwiązań technicznych i zupełnie odmienne wymagania stawiane przed systemami leżącymi na różnych poziomach hierarchicznej struktury akwizycji danych. Funkcjonowanie świata mikroprocesorowych systemów sterowania opiera się na twardych wymaganiach dotyczących nieprzerwanej pracy systemu, zdeterminowanego czasu reakcji, wymogach wysokiej niezawodności i konieczności zapewnienia bezpiecznego funkcjonowania kontrolowanych przez nie urządzeń. Świat rozwiązań wspomagających zarządzanie przedsiębiorstwem opiera się na doświadczeniach "biznesowych". Tworzone tutaj systemy realizują operacje na ogromnych zestawach danych, służące wychwyceniu zjawisk zachodzących w skali globalnej.
Naturalnym punktem styku tych dwóch światów jest przemysłowa baza danych, miejsce umożliwiające składowanie i przekazywanie informacji pomiędzy sferą produkcji a systemami zarządzania. Dane generowane poprzez urządzenia automatyki przemysłowej stają się częścią składową bazy wiedzy opisującej całość funkcjonowania przedsiębiorstwa. Informacje uzyskiwane z mikroprocesorowych systemów sterowania i nadzoru stają się jednym z podstawowych źródeł informacji dla systemów wspomagających zarządzanie.
Z drugiej strony decyzje podejmowane na podstawie przesłanek ekonomicznych mogą poprzez przemysłową bazę danych znajdować swoje odzwierciedlenie w funkcjonowaniu układów sterujących przebiegiem produkcji.
Ze względu na opisaną powyżej odmienność tych dwóch funkcjonujących obok siebie systemów informatycznych przedsiębiorstwa połączenie warstwy sterowania z warstwą systemów wspomagających zarządzanie nie jest zadaniem banalnym. Najlepszym przykładem są funkcjonujące obecnie rozwiązania firmowe przemysłowych baz danych, koncentrujące się na rozwiązywaniu wybranych zagadnień i nieuwzględniające własnego wpływu na pozostałe elementy struktury.
O ile w zakresie przemysłowych systemów sterowania długofalowe doświadczenia inżynierskie przerodziły się w sprawdzone rozwiązania praktyczne, dotyczące metodologii programowania sterowników przemysłowych czy też standardów sieci komunikacyjnych zapewniających bezpieczne funkcjonowanie rozproszonych systemów czasu rzeczywistego, co z kolei zaowocowało w postaci międzynarodowych rozwiązań normalizacyjnych, to wydaje się, iż w zakresie wymiany informacji pomiędzy systemami sterowania a sferą zarządzania przedsiębiorstwem stoimy dopiero na początku drogi, której celem jest skuteczne zarządzanie produkcją na podstawie rzetelnych i pełnych danych dostarczanych poprzez systemy automatyki przemysłowej.
Model przemysłowego systemu akwizycji danych
Przemysłowa infrastruktura informatyczna może być rozpatrywana jako szereg warstw, których budowa i funkcje dostosowane są do realizowanych przez nie zadań. Strukturę tę można opisać w postaci modelu składającego się z dwóch piramid stykających się w punkcie: przemysłowa baza danych (rys. 1). Dolna piramida zapewnia gromadzenie informacji pobieranej z poziomu kolejnych warstw rozproszonego systemu czasu rzeczywistego, wykorzystywanego w procesie kontroli i sterowania produkcją. Górna, odwrócona piramida budowana jest poprzez systemy wspomagające zarządzanie, a jej poszczególne warstwy służą obróbce i dystrybucji posiadanej informacji.
Obie piramidy nie mają charakteru monolitycznego - tworzą je bowiem mniej lub bardziej specjalizowane systemy informatyczne dostosowane z jednej strony do realiów rzeczywistego procesu produkcyjnego, z drugiej strony do struktury systemu zarządzania przedsiębiorstwem.
Ustalenie granic pomiędzy warstwami związanymi z bezpośrednią obsługą procesu przemysłowego, kontrolą i nadzorem czy też dystrybucją danych może być kwestią dyskusyjną, jednak niezależnie od przyjętego rozgraniczenia zaproponowane podejście umożliwi projektowanie, testowanie i kontrolę systemu poprzez analizę przepływu informacji zachodzącą na styku pomiędzy poszczególnymi warstwami.
Rys. 1. Model zakładowej infrastruktury informatycznej
Zjawiska związane z wymianą informacji można rozpatrywać przez pryzmat kierunku jej przepływu. Wymiany poziome obejmują współpracujące ze sobą na tym samym poziomie węzły systemu (np. sterownik PLC - sterownik PLC, stacja kontrolno-nadzorcza - stacja kontrolno-nadzorcza). Ruch poziomy tylko pozornie nie jest związany z systemami akwizycji danych. Rozwiązania praktyczne często zakładają koncentrację informacji zbieranej na tym samym poziomie w jednym węźle, stanowiącym bramę dla wymian pionowych przekazujących ją do innych poziomów struktury. Z drugiej strony wymiany poziome w większości przypadków realizowane są z wyższym priorytetem od wymian pionowych i w ten sposób od ich aktualnego scenariusza zależeć może realizacja wymian pionowych. Organizacja ruchu komunikacyjnego będącego podstawą systemów akwizycji danych wpływa na realizację podstawowych właściwości systemu, jak: zapewnienie spójności informacji, niezawodne jej gromadzenie i przechowywanie, umożliwienie efektywnego dostępu oraz zachowanie chronologii rejestrowanych zdarzeń.
Szukając najlepszego miejsca umożliwiającego połączenie opisanych w poprzednim podrozdziale systemów informatycznych, często wskazuje się na przemysłową bazę danych jako a element, który z jednej strony zawiera informacje niezbędne dla systemów wspomagających zarządzanie, z drugiej zaś strony stanowi ostatnie ogniwo pozwalające na zapewnienie spójności czasowej i przestrzennej danych dostarczanych i wykorzystywanych przez rozproszone systemy czasu rzeczywistego.
Obie wymienione powyżej klasy systemów informatycznych mają zazwyczaj strukturę heterogeniczną, a przemysłowa baza danych staje się dla nich punktem styku nie tylko ze względu na pionową wymianę informacji, ale również pozwala na współpracę różnorodnych elementów znajdujących się na tym samym poziomie w hierarchii zastosowań. Ponadto coraz częściej wymaga się współpracy przemysłowej bazy danych z systemami otwartymi bazującymi na sieci Internet/Intranet.
Wymiana informacji pomiędzy warstwami systemu
Przekazywanie informacji pomiędzy warstwami systemu realizowane jest za pomocą pionowych wymian komunikacyjnych. Analizując komunikację pionową, nie można jednak pominąć jej związku z komunikacją poziomą wykorzystującą te same zasoby, obejmujące zarówno moc obliczeniową urządzeń mikroprocesorowych, wspólne urządzenia sieciowe, magistrale komunikacyjne, jak i wykorzystane logiczne zasoby systemu: porty, gniazda, wirtualne obwody komunikacyjne.
Konsekwencją przyjętego modelu staje się analiza przepływu informacji przez płaszczyzny styku łączące położone obok siebie warstwy systemu.
Analiza zjawisk komunikacyjnych zachodzących pomiędzy warstwami zostanie przedstawiona na przykładzie wymiany informacji pomiędzy sterownikiem swobodnie programowalnym PLC a komputerową stacją kontrolno-nadzorczą klasy SCADA (węzły te należą do dwóch najniższych warstw zaprezentowanego modelu). Większość współczesnych rozwiązań sterowników PLC zakłada traktowanie obsługiwanego obiektu sterowania jak procesu periodycznego, zakładając w konsekwencji cykliczne próbkowanie i przetwarzanie informacji oraz cykliczne wypracowywanie przez sterownik odpowiedzi. Sterowniki swobodnie programowalne gwarantują wykonanie całej pętli sterowania w nieprzekraczalnym czasie granicznym. Realizacja programu sterownika zawiera odpowiednie okna czasowe umożliwiające akwizycję sygnałów wejściowych, przetwarzanie, komunikację magistralową, wypracowywanie poleceń wyjściowych oraz diagnostykę urządzenia.
Wydawać by scenariuszem stanowią "idealne źródło danych" dla rozpatrywanego przez nas systemu zbierania informacji o procesie produkcyjnym, a zagadnienia spójności, chronologii czy bezpieczeństwa dostępu do informacji realizowane są na tym poziomie w sposób automatyczny, dając gwarancję dostarczania informacji z cyklem równym czasowi pętli urządzenia.
Rzeczywiste ograniczenia implementacyjne sprawiają, że już na tym poziomie przedstawiony model wymaga bliższej analizy. Dostęp do zawartości pamięci jednostki centralnej sterownika realizowany jest poprzez pracujący na wspólnej magistrali koprocesor sieciowy. Koprocesor ten uzyskuje dostęp do zasobów jednostki centralnej raz na cykl urządzenia. Cykl jednostki centralnej dostarczającej dane do koprocesora nie jest jednak w żaden sposób synchronizowany z cyklem sieci przemysłowej, pozwalającej na transmisję informacji w ilościach i momentach właściwych dla zastosowanego protokołu komunikacyjnego (Rys. 2. Wymiana informacji na poziomie sterownika PLC).
To właśnie od sposobu doboru typu sieci do stawianych zadań komunikacyjnych, poprzedzonego analizą czasową systemu, oraz od zaprojektowania odpowiedniego scenariusza wymian zależeć będzie, czy udostępniane dane pochodzące z tego samego urządzenia będą reprezentować spójny wektor informacyjny, czy też spójność odnosić będzie się jedynie do źródła danych, natomiast poszczególne próbki mogą być pobierane w różnym czasie.
Często ograniczenia sprzętowe, takie jak ilość i wielkość buforów komunikacyjnych, jak również ograniczenia wynikające z protokołów, np. ograniczona długość ramki, wymagać będą zastosowania komunikacji synchronicznej i blokowania zawartości bufora nadawczego, a tym samym przesuwają parametry czasowe rozwiązania z poziomu cyklu urządzenia w obszar równy długości kilku cykli sieci z uwzględnieniem czasu realizacji niezbędnych procedur komunikacyjnych przez poszczególne warstwy aplikacyjne.
Pracujące w rozproszonych systemach czasu rzeczywistego systemy wizualizacji i nadzoru tworzą obraz procesu przemysłowego na podstawie informacji pobieranej w głównej mierze z warstwy sterowania. Oprócz wymian związanych z cykliczną akwizycją danych większość systemów przemysłowych wymaga obsługi zachodzących w sposób aperiodyczny zdarzeń, analizowanych zgodnie z modelem wymuszenie - odpowiedź. Wystąpienie w systemie zdarzenia wymagającego komunikacji lub synchronizacji z innym węzłem systemu przekłada się na aperiodyczną wymianę informacji obsługiwaną w zależności od wykorzystywanego protokołu sieciowego.
Na zjawiska komunikacyjne zasadniczy wpływ ma przyjęty model sieci przemysłowej. Przykładowo dla sieci typu Producent Dystrybutor Konsument [13] okno wymian aperiodycznych ma zmienną długość i ze względu na ograniczony czas cyklu elementarnego czas pomiędzy rejestracją zdarzenia a jego wysłaniem w sieci może podlegać znacznym wahaniom. Opisywany w literaturze przypadek lawiny zdarzeń, będący częstym przypadkiem awarii rozproszonych systemów czasu rzeczywistego, jest dobrym przykładem uzasadniającym podejście deterministyczne w projektowaniu tychże systemów.
Analiza opisanych powyżej zagadnień prowadzi w systemach o twardych ograniczeniach czasowych (ang. hard real-time system) do modeli matematycznych pozwalających na określenie w sposób deterministyczny maksymalnego czasu przepływu komunikatów pomiędzy węzłami systemu. Analiza ta, właściwa dla systemów sterowania, zazwyczaj nie sprawdza się w przypadku systemów akwizycji danych. W systemach akwizycji występują w przeważającej mierze miękkie ograniczenia czasowe (ang. soft real-time system). Konstruowanie systemu zgodnie z kryterium najgorszego przypadku mogłoby okazać się zadaniem zbyt kosztownym i nieuzasadnionym ekonomicznie dla wielu zastosowań. Podobnie analiza a priori wszystkich zjawisk zachodzących w rozproszonym, często heterogenicznym systemie czasu rzeczywistego może okazać się w wielu przypadkach zbyt trudną do realizacji i z tego powodu jest w rozwiązaniach praktycznych pomijana. Co więcej, próby zastosowania rozwiązań deterministycznych w systemach akwizycji mogą prowadzić do wniosków, że istniejące i świetnie funkcjonujące w praktyce rozwiązania ze względu na analizę najgorszego z możliwych przypadków nie mają racji bytu.
Powyższe spostrzeżenie wcale nie przesądza o bezużyteczności proponowanego modelu do analizy systemów typu soft real-time. Przygotowane w fazie projektowej założenia stają się w sposób automatyczny punktem wyjściowym dla systemu monitorującego, w którym wskazanie miękkich ograniczeń czasowych zarówno pozwala na praktyczną weryfikację przyjętych w projekcie założeń architektonicznych, np. poprzez monitorowanie, jak również umożliwia analizę zarejestrowanych przypadków przekroczenia zadanych wartości granicznych, np. poprzez deterministyczne odtworzenie przebiegu sekwencji zdarzeń (deterministic replay). Podejście to umożliwia znalezienie i usunięcie słabych punktów systemu w fazie testowania i uruchamiania, a opisane powyżej zależności mogą stać się punktem wyjściowym do testów kontrolujących w sposób dynamiczny bezpieczeństwo systemu rozumiane jako realizacja kluczowych funkcji w określonym czasie.
Analiza wybranych problemów występujących w systemach akwizycji danych
Problem spójności informacji
Rozproszone systemy komputerowe, a w szczególności rozproszone systemy czasu rzeczywistego, wymagają niezawodnych mechanizmów wymiany informacji i synchronizacji tworzących je węzłów. O ile przypadek niedostarczenia całej interesującej nas informacji w określonym czasie jest stosunkowo prosty do wychwycenia, a mechanizmy stosowane w systemach czasu rzeczywistego dość dobrze radzą sobie z przeciwdziałaniem konsekwencjom wynikającym z zaistnienia takiej sytuacji, o tyle brak pojedynczych składowych wektora informacyjnego opisującego stan układu rozproszonego lub, co gorsza, brak właściwej synchronizacji pomiędzy składowymi tego wektora może być przyczyną trudnych do wychwycenia zaburzeń w funkcjonowaniu systemu. Ilustracją problemu może być rys. 3, który prezentuje proces kompletacji wektora informacyjnego opisującego trzy właściwości obiektu: barwę, kształt i numer identyfikacyjny. Przerwa w komunikacji bądź brak synchronizacji poszczególnych składowych wektora informacyjnego może spowodować, iż otrzymany opis pomimo pozorów kompletności odnosić się będzie do nieistniejącego w rzeczywistości obiektu.
Dodatkowym utrudnieniem jest niedeterministyczna natura systemów rozproszonych, która dopuszcza właśnie ze względu na zawodną transmisję i synchronizację pomiędzy węzłami - uzyskiwanie różnych wyników pracy systemu przy tym samym zestawie danych wejściowych. Sytuacja ta sprawia, że opisane zjawiska mogą pojawiać się w sposób losowy i to zazwyczaj w najmniej spodziewanych miejscach.
Wprowadzenie mechanizmu dynamicznej analizy spójności wektora informacyjnego poprzez badanie kompletności i ważności poszczególnych jego składowych, realizowane poprzez system monitorujący, z jednej strony prowadzić będzie do odrzucania wyników niepewnych wymagających dalszej weryfikacji, a z drugiej strony umożliwi eliminację lub minimalizację przyczyn utraty spójności informacji.
Problem niezawodnego gromadzenia i przechowywania informacji
Rozwiązanie problemu niezawodnego gromadzenia i przechowywania informacji przy wykorzystaniu zawodnych rozwiązań sprzętowych i programowych wymaga realizacji systemów z redundancją obejmującą zarówno obróbkę, transmisję, jak i składowanie danych. Tym, co odróżnia przypadek przemysłowej bazy danych od innych systemów wymagających wysokiej niezawodności, jest jej ciągłe i nieprzerwane działanie podlegające określonym rygorom czasowym. O ile w większości baz danych w przypadku problemów komunikacyjnych możemy wstrzymać bądź odrzucić transakcję, o tyle dane pobierane z pracującej nieprzerwanie instalacji nie mogą zostać odrzucone lub wstrzymane bez utraty części informacji, a co za tym idzie, bez utraty spójności systemu.
Kiedy buforowanie źródła stanie się rozwiązaniem niewystarczającym, niezbędne będzie zastosowanie alternatywnego sposobu gromadzenia informacji - redundancji. W przypadku stosowania systemów z redundancją często występującym problemem jest brak spójności pomiędzy kopiami przemysłowej bazy danych. Poszczególne jej instancje opisują ten sam problem, ale w różny, często sprzeczny ze sobą sposób. Zastosowanie systemów monitorujących na poziomie węzłów odpowiedzialnych za rejestrację danych pozwoli z jednej strony na wykrywanie niezgodności pomiędzy rejestrowanymi kopiami informacji (w przypadku monitorowania warunku niezgodność danych) z drugiej strony umożliwi badanie spójności i niezawodności systemów z redundancją.
Problem efektywnego i bezpiecznego dostępu do informacji
Przechodzenie poprzez poszczególne poziomy odwróconej piramidy informacyjnej przypominać może klasyczną strukturę drzewiastą występującą w wielu hierarchicznych systemach informatycznych. O tym, że model drzewa nie może być tutaj stosowany, przesądza konieczność realizacji bezpośredniej wymiany informacji pomiędzy urządzeniami znajdującymi się na tych samych poziomach piramidy. Systemy znajdujące się w górnej odwróconej piramidzie mogą ograniczać się do odwołań do przemysłowej bazy danych, lecz mogą także z jej pominięciem sięgać bezpośrednio do warstw kontroli czy warstw sterowania. Co więcej, ta sama informacja może być uzyskiwana poprzez różny poziom zanurzenia się w strukturze systemu.
Zapytania bezpośrednie stanowią o sile systemu i jego dynamice, pozwalając z jednej strony na uzupełnienia stanu wiedzy i kompletację również tych informacji, których nie planowano w pierwotnych założeniach systemu, z drugiej strony jest to możliwość interakcji z systemem zarządzania, pozwalająca na zmianę sposobu funkcjonowania urządzeń automatyki, a co za tym idzie, elastyczne dostosowywanie produkcji do decyzji podejmowanych na różnych szczeblach zarządzania produkcją.
Pamiętać należy, iż odwołania te wkraczają w sferę systemów ze ściśle zdeterminowanym czasem realizacji poszczególnych funkcji. Wprowadzanie dodatkowych wymian związanych z komunikacją pionową nie może w żaden sposób zaburzać funkcjonowania komunikacji poziomej w sieci przemysłowej, która umieszczona jest ponad podstawą dolnej piramidy.
Wykorzystanie infrastruktury sieci otwartych rodzi ryzyko zaburzenia porządku chronologicznego rejestrowanych zdarzeń. Istotne problemy mogą powstać również w przypadku źle zaprojektowanych rozwiązań komunikacyjnych i niewłaściwej synchronizacji stempla czasowego. Ponadto różnice w prędkości przepływu informacji pochodzącej z różnych warstw mogą prowadzić do błędnego wnioskowania na temat skutków i przyczyn zachodzących zjawisk. Błędne określenie jednych i drugich prowadzić może do katastrofy nie tylko w przypadku decyzji podejmowanych przez człowieka, ale szczególnie niebezpieczne jest w przypadku systemów wspomagających w sposób automatyczny podejmowanie decyzji i wnioskowanie. Pomimo prawidłowej konstrukcji logiki systemu błędy synchronizacji prowadzić będą do błędnych decyzji tym bardziej niebezpiecznych w skutkach, że użytkownik nie spodziewa się błędnych rezultatów w przypadku prawidłowo skonstruowanego modelu. Również w tym przypadku skonstruowany w oparciu o model systemu układ monitorujący jest w stanie wyeliminować wiele błędów architektonicznych i implementacyjnych.
Podsumowanie
Celem niniejszej pracy jest wskazanie kluczowych problemów informatycznych występujących na styku przemysłowych systemów sterowania pracujących z ograniczeniami czasu rzeczywistego, z systemami informatycznymi wspomagającymi zarządzanie przedsiębiorstwem. W przyjętym warstwowym modelu przemysłowej infrastruktury informatycznej jednym z kluczowych punktów jest przekazywanie informacji pomiędzy poszczególnymi warstwami systemu. Warstwy te podlegają zarówno odmiennym ograniczeniom funkcjonalnym, jak również realizowane są w różnych technologiach informatycznych. Znajomość modeli wymiany informacji, ze szczególnym uwzględnieniem styku poszczególnych warstw, może stać się - podobnie jak w przypadku analizy systemów czasu rzeczywistego - podstawą do weryfikacji założeń projektowych.
Odmiennie jak w przypadku systemów sterowania o twardych ograniczeniach czasowych statyczna analiza modelu akwizycji danych nie jest w stanie przesądzić w sposób jednoznaczny o przydatności zaprojektowanego systemu. Co więcej, ze względu na niedeterministyczny charakter systemów rozproszonych taka jednoznaczna - pozytywna weryfikacja wydaje się w większości przypadków niemożliwa. Tym niemniej zaproponowane podejście może służyć jako baza opisu systematycznego ułatwiającego uruchamianie i kontrolę dynamiczną rozproszonych systemów zbierania informacji w zastosowaniach przemysłowych.
W pracy zaprezentowano także wybrane problemy spotykane w przemysłowych systemach akwizycji danych, takie jak: zapewnienie spójności informacji, niezawodne jej gromadzenie i przechowywanie, efektywny dostęp do informacji i zagadnienia zachowania chronologii rejestrowanych zdarzeń z wykorzystaniem otwartej infrastruktury komunikacyjnej przedsiębiorstwa. Zastosowanie warstwowego modelu przepływu informacji pozwala na formułowanie postulatów definiowanych w fazie projektowej oraz ich dynamiczną weryfikację poprzez systemy monitorujące.
Wydaje się, że płynące ze strony przemysłu zapotrzebowanie na systemy informatyczne pozwalające "skrócić drogę" dzielącą halę produkcyjną od biurek zarządu, wymuszone potrzebami ciągłego wzrostu konkurencyjności, coraz krótszym, dopasowanym do potrzeb klienta cyklem produkcyjnym i dążeniem do ograniczenia kosztów funkcjonowania przedsiębiorstwa, dobrze wróży rozwojowi badań nad przemysłowymi systemami akwizycji danych. Przedstawione powyżej problemy powinny znaleźć swoje odzwierciedlenie zarówno w kolejnych produktach komercyjnych, jak i w postaci badań naukowych, które powinny dać podstawę teoretyczną dla kolejnych rozwiązań praktycznych.