Problemy i kierunki rozwoju systemów sterowania w przemyśle
Paweł Dobrzyński print
Żadne przedsiębiorstwo produkcyjne nie odniesie sukcesu bez wdrożenia organizacyjnych i technicznych metod, bazujących na technologiach informatycznych, w szczególności odnoszących się do rozwoju, produkcji i wytwarzania. Wykorzystywanie możliwości szybkiego przesyłania danych w oparciu o struktury sieciowe wiąże się z potrzebą wdrożenia zabezpieczeń stanowiących ochronę przed niezamierzoną ingerencją w pracę sterowników, spowodowaną błędami programów użytkowych lub pomyłkami operatorów i programistów.
Opracowanie standardu MRP, a następnie MRP-II, będącego zbiorem algorytmów planowania i zarządzania wszystkimi zasobami przedsiębiorstwa produkcyjnego, oraz gwałtowny rozwój komputerów w końcu XX w. spowodowały ogromny skok jakościowy w systemach informatycznych związanych z przemysłem.
Enterprise Resource Planning (ERP)
Systemy ERP są przeznaczone do planowania zasobów przedsiębiorstwa – wspierają prowadzenie księgowości i zarządzanie różnymi obszarami działalności przedsiębiorstwa, np. dystrybucją, serwisem czy produkcją. Głównym celem systemów klasy ERP jest integracja wszystkich działów i funkcji w firmie oparta na wspólnych bazach danych w ramach jednego systemu, dzięki czemu firma posługuje się tylko jednym zbiorem danych. Systemy ERP zapewniają bieżący dostęp do aktualnych i poprawnych informacji, co jest kluczowym czynnikiem w procesie podejmowania decyzji w przedsiębiorstwie. W systemach klasy ERP dane są dostępne natychmiast po ich wprowadzeniu, dlatego dużą rolę odgrywają algorytmy i procedury uniemożliwiające pojawienie się nieprawdziwych lub nieautoryzowanych danych.
Manufacturing Execution System (MES)
MES to system realizacji produkcji, wspierający zbieranie informacji ze stanowisk produkcyjnych i optymalizację operacji procesu produkcyjnego w obszarze biznesowym. Systemy MES są systemami komputerowymi wykorzystującymi technologie informatyczne i urządzenia automatyki w celu efektywnego zbierania informacji w czasie rzeczywistym, które pozwalają na optymalizację procesu produkcji w obszarze biznesowym. Do najważniejszych zadań tego typu systemów należą:
- Zarządzanie wykonaniem produkcji (Process Management) za pomocą rejestrowania i analizy danych procesowych oraz stanów alarmowych i zdarzeń, co umożliwia optymalizację decyzji operatorów maszyn i procesów technologicznych.
- Zarządzanie wydajnością (Performance Analysis) za pomocą analizy danych produkcyjnych w celu wyznaczenia wskaźnika OEE (Overall Equipment Effectiveness) wskazującego na bieżącą efektywność maszyn i urządzeń – OEE mierzy straty z tytułu nieprzewidzianych zdarzeń takich jak: niezaplanowane przestoje, wydłużone cykle czasu pracy maszyn, niezgodna z wymaganiami jakość produktów itp.
- Zarządzanie jakością (Quality Management) za pomocą realizowanych w czasie rzeczywistym pomiarów parametrów procesu technologicznego umożliwia zarządzanie ich jakością. Szczególną cechą tych systemów jest możliwość analizy (na ogół postprodukcyjnej, rzadziej w czasie rzeczywistym) wykrywającej korelację parametrów produkcji z wynikowym obniżeniem (lub podniesieniem) jakości produktów. Zarządzanie jakością może być także wspierane przez specjalizowane oprogramowanie związane z wykorzystaniem narzędzi statystycznych, np. SQC (Statistic Quality Control).
- Gromadzenie i akwizycja danych (Data Collection and Acquisition) za pomocą technologii sieci przemysłowych – umożliwia gromadzenie danych produkcyjnych, takich jak parametry technologiczne odczytywane bezpośrednio z tzw. stacji obiektowych (PLC, koncentratorów, systemów DCS oraz innych systemów informatycznych pracujących w czasie rzeczywistym) umożliwiających generowanie np. raportów zmianowych lub dokumentów w innych formach niezbędnych dla prawidłowej pracy przedsiębiorstwa.
Wymagania i ograniczenia
Wykorzystywanie systemów mikroprocesorowych do zadań sterowania komputerowego procesami przemysłowymi od zawsze wiązało się z dużym ryzykiem. Ryzyko to wynika z cech komputerów, które obok niewątpliwych i powszechnie znanych zalet mają szereg wad, do których należy zaliczyć:
- skomplikowaną budowę samego komputera (co wiąże się bezpośrednio z krótkim czasem pracy bezawaryjnej);
- możliwość utraty danych w wyniku chwilowego zaniku zasilania;
- szybką zmianę generacji urządzeń (ciągłe zmiany w strukturze elementów wykorzystywanych do produkcji komputerów);
- strukturę automatu von Neumanna (brak rozdzielenia przestrzeni adresowej od przestrzeni danych pamięci operacyjnej komputera – możliwość błędnego nadpisywania kodu programu, np. w wyniku błędu programisty).
Zwiększanie jakości mikroprocesorów wiąże się z coraz większym stopniem ich integracji i złożoności, co w powiązaniu z takim samym trendem w sferze systemów operacyjnych powoduje, że eliminacja błędów działania aplikacji współpracującej z instalacją przemysłową jest zadaniem niezwykle trudnym.
Przykładem takiej problematyki jest zjawisko tzw. przeplotu, które wynika z konieczności zapewnienia pracy komputera w systemie o wielu zadaniach realizowanych jednocześnie. Innymi słowy, współczesne systemy komputerowe, aby spełniać wymagania użytkowników (lub współpracujących z nimi instalacji przemysłowych) muszą zapewniać tzw. pracę współbieżną programów. Jeśli rozpatrujemy program współbieżny, składający się z pewnej liczby procesów sekwencyjnych, to musimy uwzględnić każdą możliwą do uzyskania kolejność potencjalnie współbieżnych akcji. Ponieważ program współbieżny składa się z procesów, które działają w pętli nieskończonej, zbiór ten jest nieskończonym zbiorem złożonym z nieskończonych ciągów instrukcji dla mikroprocesora. Takie podejście do poprawności implikuje szereg problemów, np. testowanie programów współbieżnych staje się właściwie nieprzydatne (jeśli program jest błędny, to może dawać podczas testowania poprawne wyniki, a błąd może ujawniać się raz na 100 000 uruchomień).
Mając świadomość, że „duch w maszynie” może spowodować wadliwe działanie aplikacji (co może wiązać się z dużymi stratami lub wypadkiem), automatycy na całym świecie pamiętają ,aby wykorzystując komputery do sterowania procesami przemysłowymi stosować rozwiązania, które zmniejszają takie ryzyko. Przykładami rozwiązań stosowanych powszechnie w komputerowych systemach sterowania i automatyki są:
- Sprzętowy licznik czasu (ang. Watch-Dog) – zadaniem układu tego typu jest wykonanie gorącego restartu komputera po zagubieniu przez niego ścieżki logicznej programu (lub błędzie sprzętowym). Zastosowanie Watch-Dog wymaga cyklicznego, programowego zerowania licznika sprzętowego przez program użytkownika. Przekroczenie z góry określonego czasu (np. przez zawieszenie systemu) spowoduje „zresetowanie” urządzenia zawierającego układ Watch-Doga. Aby zastosować to rozwiązanie, musimy najpierw sprawdzić, czy dostawca komputera umieścił na płycie głównej taki układ.
- Gorąca rezerwa (ang. Hot-Reserve) – aplikacja składa się z przynajmniej dwóch komputerów tworzących system redundancji danych. Jeden z nich to tzw. gorąca rezerwa, drugi to komputer podstawowy, przesyłający 100% danych do komputera rezerwowego. Komputer gorącej rezerwy oprócz rejestracji danych pełni rolę kontrolera prawidłowości pracy komputera podstawowego oraz odpowiada za automatyczne przejście na gorącą rezerwę w przypadku awarii komputera podstawowego. Przejęcie zadań przez procesor redundancyjny nie wiąże się z żadnym ryzykiem, bowiem dysponuje on zawsze aktualną informacją odnośnie stanu procesu sterowanego. Zastosowanie transferu danych światłowodem umożliwia rozdzielenie komputerów redundancyjnych na odległość tysięcy metrów. Jest coraz więcej mechanizmów wspomagania realizacji tej funkcji (np. macierz dyskowa, mirroring, kaskada).
- Systemy wykrywania zaniku napięcia zasilania – dla wielu klas zastosowań komputerowych systemów sterowania napięcie zasilania nie powinno być wyłączane nagle, ze względu na konieczność zachowania ważnych danych w pamięci nieulotnej, czy też wolne od gwałtownych zaburzeń zakończeń posuwów sterowanych elementów mechanicznych. Większość systemów UPS (ang. Uninterruptible Power Supply) wspiera mechanizmy wykrycia zaniku zasilania.
Kolejnym problemem, jaki występuje przy używaniu systemów komputerowych w przemyśle, jest mała prędkość przetwarzania danych. Nie chodzi oczywiście o prędkość mikroprocesora w ujęciu synchronicznym względem zegara mikroprocesora, ale o prędkość przetwarzania danych zewnętrznych, których zmiany zachodzą niezależnie od zdarzeń w systemie mikroprocesorowym komputera. Pamiętać bowiem należy, że ogromna moc obliczeniowa i wielowątkowość współczesnych komputerów nie przenosi się wprost na wydajność w obsłudze i rejestracji zdarzeń zewnętrznych. W chwili obecnej większość komputerowych systemów nadzoru i sterowania wykorzystuje architekturę PC wywodzącą się z procesora x86 Intela. Mają one układy przerwań oraz generator przerwań reagujący na cykliczne przerwania zegarowe i incydentalne przerwania zewnętrzne. Częstotliwość przerwań zegarowych zależna jest od sposobu zaprogramowania specjalizowanego licznika. W większości stosowanych obecnie systemów częstotliwość przerwań przyjmuje wartość między 10 Hz a 1000 Hz. Im wyższa częstotliwość przerwań zegarowych, tym większa dokładność pomiarów w systemie, jednak częstotliwość taka nie może być też zbyt wysoka, gdyż obsługa przerwania zegarowego absorbuje określony ułamek mocy procesora. Specyfika budowy komputerowych systemów sterowania w oparciu o standardowe architektury PC powoduje, że informacja o faktycznym przebiegu sygnału testowego może zostać utracona, jeżeli sygnał zawiera częstotliwości wyższe niż tzw. częstotliwość Nyquista (składowe widmowe o częstotliwościach wyższych od częstotliwości Nyquista ulegają podczas próbkowania nałożeniu na składowe o innych częstotliwościach – tzw. aliasing), co powoduje, że nie można ich już poprawnie odtworzyć.
Systemy komputerowe nadzoru i sterowania na ogół rejestrują sygnały testowe, które mogą mieć charakter ciągły lub dyskretny. Każdy z tych sygnałów może mieć inny charakter:
- losowy niestacjonarny (wartość średnia, wariancja oraz funkcja autokorelacji zmieniają się wraz ze zmianą czasu) albo losowy stacjonarny;
- deterministyczny (zależny wyłącznie od parametrów początkowych lub ich wartości poprzednich).
Ponieważ systemy te przetwarzają stan setek lub tysięcy zmiennych procesowych, staje się oczywiste, że systemy komputerowe przede wszystkim powinny być stosowane jako systemy sterowania nadrzędnego SPC (Set
Point Control), a nie jako systemy bezpośredniego sterowania cyfrowego DDC (Direct Digital Control), w których komputer sterujący pełni rolę wielokanałowego regulatora.
Zadaniem systemu SPC jest wykorzystanie możliwości systemu komputerowego umożliwiającego pracę programów, których zastosowanie (np. w sterownikach PLC) byłoby problematyczne lub spowodowało konieczność zakupu bardzo drogiego sprzętu. Najczęstsze zadania systemów SPC to:
- wyznaczanie zmiennych procesowych, których nie można zmierzyć na obiekcie jako wielkości fizycznych (sondy, czujniki) lub za pomocą prostych obliczeń (np. w PLC);
- analiza zachowania się obiektów wysokiego rzędu o stałych rozłożonych (tj. obiekt rozległy, w którym sygnały dynamiczne zależą nie tylko od czasu, ale i od położenia przestrzennego);
- analiza sygnałów harmonicznych w długim okresie czasu;
- uśrednianie sygnałów, linearyzacja lub predykcja punktu pracy na podstawie obserwacji prowadzonych dla wielu okresów skanowania;
- reakcja (określanie i generowanie sygnałów odsprzęgających) na zakłócenia oddziaływujące na obiekty i same układy pomiarowe;
- uwzględnianie bazy danych wiedzy eksperckiej (np. w procesie zmiany właściwości dynamicznych obiektu przemysłowego w wyniku starzenia jego elementów);
- nadzór nad przepływem informacji za pomocą sieci informatycznych, których zadaniem jest optymalizacja sterowania procesem przemysłowym;
- obliczanie i przesyłanie optymalnych nastaw dla regulatorów sprzętowych pracujących w pętlach bezpośredniego sterowania cyfrowego.
- Zastosowanie komputera jako elementu systemu nadrzędnego, pomimo większych złożoności i nakładów na stworzenie takiego systemu, ma zalety, które mogą okazać się decydujące w ciągłym dostosowywaniu i optymalizacji systemów nadzoru i sterowania przemysłowego:
- możliwość dowolnego rozwijania (skalowania) systemu przez dokładanie kolejnych elementów bez konieczności zatrzymywania pracującej instalacji.
- możliwość zachowania podstawowej funkcjonalności systemu w razie awarii komputera sterującego (sterowniki PLC i regulatory pętli pracują w trybie awaryjnym), a także szybsze wykrycie i zdiagnozowanie stanów przedawaryjnych.
Ponieważ współczesne obiekty przemysłowe wymagają coraz bardziej złożonych i rozbudowanych systemów logicznych, naturalną drogą ewolucji komputerowych systemów nadzoru i sterowania jest wykorzystywanie ich możliwości do szybkiego przesyłania danych w oparciu o struktury sieciowe. Ogromne możliwości, jakich dostarczają technologie sieciowe, wiążą się niestety także z dużymi zagrożeniami, które mogą spowodować ogromne straty w przedsiębiorstwie. Dotyczy to szczególnie procesów przemysłowych, które mają z natury rozproszony charakter (np. sieć gazowa), a których proces sterowania musi uwzględniać stan wszystkich punktów w tej sieci.
Zagrożenia komputerowych systemów sterowania i nadzoru
W systemach komputerowego nadzoru i sterowania przemysłowego najczęstszą przyczyną awarii są awarie sieci komputerowych. Zabiegiem mającym na celu zwiększenie niezawodności kanału komunikacyjnego wykorzystującego sieć komputerową jest jej redundancja, tj. zdublowanie najbardziej zawodnego elementu po to, aby jego uszkodzenie nie prowadziło do awarii całego systemu sterowania. Błędy lub przerwy komunikacji są dużym zagrożeniem dla integralności systemu, dlatego czołowi producenci sprzętu automatyki stosują w swoich urządzeniach rozwiązania, które w przypadku wystąpienia błędów komunikacji odpowiednio konfigurują wejścia/wyjścia procesowe. Częstym rozwiązaniem jest zagwarantowanie, aby wszystkie wyjścia (np. podrzędnego sterownika PLC) w przypadku awarii zachowały się zgodnie z jednym z trzech możliwych sposobów:
- zostały wyłączone;
- pozostały w ostatnich stanach;
- przyjęły stany wcześniej zdefiniowane (tzw. parametry bezpieczne procesu).
Zapewnia to konsekwentne i zgodne z intencją użytkownika zachowanie się systemu automatyki w nieokreślonych sytuacjach.
Aby uniemożliwić nieuprawnionym użytkownikom sieci przemysłowej zapisywanie informacji do obszarów pamięci przeznaczonych do użytku wewnętrznego (np. na przechowywanie zmiennych krytycznych), nowoczesne sterowniki PLC mogą pracować w trybie zabezpieczenia zapisu (ang. Write Protection). Odpowiednie obszary pamięci urządzeń automatyki definiują się podczas ich konfigurowania za pomocą środowiska programowego – przy czym obowiązuje tu najbezpieczniejsza zasada, według której niemożliwy staje się dostęp przez sieć do obszaru pamięci, który nie został specjalnie do tego celu przeznaczony. Zabezpieczenie to stanowi doskonałą ochronę przed niezamierzoną ingerencją w pracę sterowników, spowodowaną błędami programów użytkowych lub pomyłkami operatorów i programistów.
Kolejnym problemem, jaki występuje w komputerowych systemach nadzoru i sterowania, opartych na architekturze sieciowej jest synchronizacja komputerów. Dotychczas z precyzyjnego pomiaru czasu korzystały na ogół systemy uwierzytelniania lub rozliczeniowe. Obecnie każda większa sieć przemysłowa w szanującej się firmie produkcyjnej powinna mieć rozwiązania umożliwiające synchronizację nie tylko komputerów, ale także urządzeń automatyki przemysłowej. Do synchronizacji czasu najczęściej wykorzystuje się mechanizm NTP (ang. Network Time Protocol) implementowany przez standardową usługę systemową NTPD, która umożliwia synchronizację czasu wszystkich komputerów w sieci lokalnej z wykorzystaniem jednego wzorca czasu z bardzo dużą precyzją.
Cyberbezpieczeństwo
Zagrożenia współczesnego świata, takie jak globalizacja informatyczna, terroryzm oraz silna konkurencja międzynarodowa, spowodowały, że twórcy komputerowych systemów nadzoru i sterowania zmuszeni są do uwzględniania nie tylko typowych zagrożeń wynikających z błędnego działania systemu, ale także możliwości wystąpienia intencjonalnych ataków komputerowych. Praktyka pokazuje, że mogą być to nie tylko pracownicy konkurencyjnej firmy czy własnej firmy, ale także osoby, które „wykorzystały lukę w systemie” bez wyraźnego motywu biznesowego:
Eksperci – niezadowoleni pracownicy (lub pracownicy partnerów biznesowych) są głównymi sprawcami przestępczości komputerowej. Nie muszą posiadać dużej wiedzy na temat włamań komputerowych, ponieważ ich znajomość systemu docelowego pozwala im zwykle na nieograniczony dostęp, uszkodzenie systemu oraz kradzież danych systemowych.
Hakerzy – włamują się do sieci, traktując to jak wyzwanie lub po to, aby chwalić się przed znajomymi. Osoby te posiadają spore umiejętności i wiedzę komputerową, jednak mogą wywołać duże szkody przez nieświadome działanie.
Oszuści – osoby lub małe grupy, które wykorzystują programy phishingowe w celu podszycia się pod inne firmy/osoby w celu nakłonienia firmy np. do wykonania przelewu za usługi, które nie zostały wykonane.
Administratorzy bot-sieci – wykorzystują sieci, aby koordynować ataki złośliwego oprogramowania, przy czym sieć przemysłowa jest jedynie narzędziem ataku na inne serwery i sieci.
Grupy przestępcze – ich ataki mają na celu przyniesienie korzyści finansowych, np. związanych z szantażem firmy, która musiałaby ponieść ogromne koszty wynikające z odzyskania danych lub utraty wiarygodności biznesowej.
Terroryści – starają się wykorzystać infrastrukturę przemysłową do wykonania ataku z jak największą liczbą ofiar. Często zadaniem ataku jest jedynie odwrócenie uwagi od rzeczywistych jego celów.
Szpiedzy przemysłowi – dążą do zawłaszczenia własności intelektualnej i know-how przedsiębiorstwa. W niektórych sytuacjach mogą także dokonywać sabotażu.
Służby wywiadowcze – używają zaawansowanych narzędzi cybernetycznych w celu gromadzenia informacji szpiegowskich lub wykonywania ataków, których zadaniem jest wspieranie oddziaływania polityczno-gospodarczego.
Powszechnie dostępny Internet coraz częściej zastępuje rozwiązania własne firm lub dostawców systemów automatyki, co zwiększa liczbę luk systemowych, a tym samym liczbę incydentów bezpieczeństwa cybernetycznego. Obecnie standardem staje się przyjmowanie rozwiązań IT do realizacji łączności korporacyjnej i zdalnego dostępu, np. za pomocą standardowych komputerów przemysłowych, systemów operacyjnych i protokołów sieciowych, a nawet telefonów komórkowych/smartfonów. Integracja ta wspiera nowe możliwości, ale jednocześnie utrudnia kontrolę świata zewnętrznego. Chociaż systemy bezpieczeństwa są projektowane tak, aby radzić sobie z kwestiami bezpieczeństwa w typowych systemach IT, specjalne środki ostrożności należy podjąć przy wprowadzaniu tych samych rozwiązań do komputerowych systemów nadzoru i sterowania. Wynika to z faktu, że mają one bezpośredni wpływ na świat fizyczny, co może prowadzić do zagrożeń zdrowia i bezpieczeństwa ludzi, środowiska naturalnego lub strat w produkcji. Występowanie incydentów związanych z atakami na sieci i komputery przemysłowe, podobnie jak w innych sieciach (np. biurowych), mogą charakteryzować następujące objawy:
- nieoczekiwane zamknięcie systemu;
- wnioski o udzielenie informacji na temat specyfiki systemu;
- nietypowo wysokie obciążenie procesora;
- uszkodzenia oprogramowania antywirusowego;
- nowe konta użytkowników;
- próby korzystania z kont na poziomie administratora;
- używanie kont pracowników przebywających poza zakładem pracy;
- zmniejszenie ilości wolnego miejsca na dysku twardym;
- kierowanie transmisji do adresów z puli WAN;
- nagły, niezwykle intensywny ruch sieciowy, ataki DDoS;
- niespodziewane zmiany w ustawieniach konfiguracyjnych.
Tworząc nowoczesne komputerowe systemy nadzoru i sterowania pamiętać należy, że ich zabezpieczenie przed atakami wymaga nie tylko wiedzy technicznej, ale także organizacyjnej i prawnej, np. zabezpieczenia powinny zostać uzupełnione o plany odzyskiwania sprawności systemu po awarii zawierające:
- wykaz zdarzeń lub okoliczności, które aktywują plan naprawczy;
- procedury eksploatacji przemysłowego systemu komputerowego w trybie ręcznym;
- role i obowiązki osób zarządzających i administrujących systemem;
- wykaz połączeń sieciowych lub połączeń elektronicznych, które są odcinane od świata zewnętrznego;
- wykaz blokad i zabezpieczeń wykonanych w technologiach odpornych na ataki cybernetyczne lub zakłócenia EMC, których zadaniem jest niedopuszczenie do strat i awarii wtórnych;
- procedury dotyczące tworzenia kopii zapasowych systemu i bezpiecznego przechowywania informacji o procesie produkcyjnym;
- kompletne i aktualne schematy logiczne sieci komputerowych oraz aktualne informacje o konfiguracji wszystkich ich składników;
- wykaz pracowników upoważnionych do dostępu fizycznego;
- wykaz pracowników upoważnionych do dostępu w cyberprzestrzeni;
- lista personelu do kontaktu w nagłych wypadkach, w tym dostawców sprzętu i oprogramowania, administratorów sieci, personelu pomocniczego itp.
Realizacja powyższych zadań nie chroni przed atakiem, może jednak uchronić przedsiębiorstwo przed poważnymi stratami, a także przed odpowiedzialnością karną, jaka wynikałaby z „rażących zaniedbań kadry odpowiedzialnej za pracę komputerowych systemów nadzoru i sterowania”.
Realizacja nadzoru i sterowania złożonych zautomatyzowanych procesów technologicznych powoduje, że w razie wystąpienia awarii ani obsługa, ani komputery, nie są w stanie zareagować w odpowiednio krótkim czasie. Dlatego w każdym systemie przemysłowym szczególną rolę pełnią układy blokad i zabezpieczeń:
- Zabezpieczenia – urządzenia zabezpieczeniowe reagujące na zmianę wartości określonej wielkości fizycznej (prąd, napięcie, ciśnienie itp.), uzależnionej od stanu urządzenia zabezpieczeniowego. Stosowanie zabezpieczeń pozwala przeciwdziałać awariom, które mogą powstać na skutek zakłóceń lub niedoświadczenia operatora.
- Blokady – urządzenia uniemożliwiające wygenerowanie takich sygnałów sterujących, które mogłyby doprowadzić do wystąpienia stanu awaryjnego.
Układy te często stanowią element chronionych urządzeń technologicznych, co wynika np. z potrzeby zachowania odpowiednich przepisów branżowych. W przypadku systemów komputerowych elementy zabezpieczeń i blokad można realizować na drodze programowej lub logiką układu cyfrowego. Rozwiązanie to jest jednak problematyczne – w przypadku pojawienia się zakłóceń mogących oddziaływać na systemy wykorzystujące mikroprocesory, wykonane w tej samej technologii blokady i zabezpieczenia mogą również nie działać prawidłowo. Dlatego w komputerowych systemach przemysłowych dobrym rozwiązaniem jest realizacja zabezpieczeń i blokad na drodze mechanicznej, elektrycznej lub elektromechanicznej.
SCADA – typowa architektura
Systemy Sterowania Nadrzędnego i Przetwarzania Danych (SCADA) często są elementem systemów MES i wspierają monitorowanie i kontrolę informacji ze stanowisk produkcyjnych oraz optymalizację procesu produkcyjnego składającego się z elementów rozproszonych przestrzennie. Skrót SCADA (ang. Supervisory Control and Data Acquisition) w obecnych czasach nabrał trochę innego znaczenia niż jeszcze kilkanaście lat temu. Wynika to z możliwości skalowania oprogramowania dostarczanego przez twórców takich systemów – to samo oprogramowanie może być wykorzystywane w małej maszynie, jak i ogromnym rozproszonym systemie produkcji przemysłowej. Dlatego coraz częściej można spotkać oznaczenie tych systemów jako SCADA/HMI. Systemy SCADA są systemami komputerowymi, których głównym zadaniem jest nadzorowanie pracy podległych im systemów sterujących, takich jak np. serwery OPC (ang. OLE for Proces Control), sterowniki PLC, falowniki, serwomechanizmy, koncentratory danych itp. To, co wyróżnia je na tle innych systemów informatycznych związanych z produkcją przemysłową, to wymóg realizowania obsługi i rejestracji zdarzeń z zachowaniem daty i czasu ich wystąpienia. Każde zdarzenie w systemie SCADA jest oznaczane stemplem czasu, co umożliwia ich późniejsze (lub w czasie rzeczywistym) wykorzystywanie do realizacji następujących zadań:
- przetwarzania zmiennych procesowych w sposób zrozumiały i jednoznaczny dla operatora lub innych systemów informatycznych;
- oddziaływania na proces za pomocą złożonych algorytmów, które nie mogły być zaimplementowane w warstwie technologicznej (systemy eksperckie, sztuczna inteligencja itp.);
- oddziaływania na proces przez zmianę nastaw (nadrzędne sterowanie cyfrowe), na urządzenia typu regulator, sterownik itp.;
- oddziaływania na proces przez włączanie lub wyłączanie (bezpośrednie sterowanie cyfrowe) urządzeń, których sterowanie nie wymaga krótkiego czasu cyklu sterującego (np. zawory);
- wizualizacji parametrów i danych w czasie rzeczywistym w postaci ekranów synoptycznych, trendów lub tabel;
- sygnalizowania przekroczenia granic ostrzeżeń i alarmów oraz rejestracji czasu i reakcji operatora na te sygnały;
- realizacji dowolnych obliczeń technicznych i ekonomicznych wykorzystanych w systemach MES lub ERP;
- drukowania raportów, protokołów, wykresów;
- wymiany informacji z innymi systemami informatycznymi i bazami danych.
Systemy SCADA charakteryzują się dużymi możliwościami komunikacyjnymi z urządzeniami pracującymi w trybie DDC. Systemy SCADA/HMI zwiększają komfort pracy personelu obsługującego procesy technologiczne i kadry zarządzającej. Dlatego ważną cechą tych systemów jest możliwość tworzenia ekranów synoptycznych składających się z elementów statycznych (fragmenty procesu technologicznego w postaci schematu graficznego) i dynamicznych (kontrolki, wykresy, animacje itp.) reprezentujących zjawiska dynamiczne zachodzące w tym procesie. Ważną cechą tych systemów są programowe procedury alarmowania o zdarzeniach technologicznych i systemowych, które personel obsługujący musi potwierdzać i odpowiednio na nie reagować.
Współczesne systemy SCADA mają rozbudowaną bibliotekę sterowników umożliwiających ich komunikację z ogromną liczbą urządzeń automatyki i pomiarów. Producenci najbardziej znanych na rynku systemów SCADA dostarczają często oprogramowanie wspierające systemy SCADA, które umożliwia bezpieczną prezentację przebiegu procesu produkcyjnego z wykorzystaniem przeglądarki internetowej lub urządzeń mobilnych.
Kierunki rozwoju HMI/SCADA
Systemy nadzoru i sterowania nie były pierwszymi komputerowymi aplikacjami, jakie stosowano w przemyśle. Palma pierwszeństwa należy do systemów CAD (ang. Computer Aided Design) definiujących zapis konstrukcyjny elementów wchodzących w skład produktów. W późniejszym okresie pojawiły się programy typu CAE (ang. Computer Aided Engineering) wspomagające organizację produkcji. Głównym zadaniem systemów typu CAx jest gromadzenie informacji w celu umożliwienia przebiegu procesu produkcyjnego i eliminacji błędów człowieka. Dla automatyków było oczywiste, że prędzej czy później zgromadzona informacja będzie wykorzystywana w systemach MES i ERP – nie wszyscy jednak zdawali sobie sprawę z tego, że nowe podejście do projektowania procesów produkcyjnych, określane jako cyfrowa fabryka (ang. Digital Factory –DF), może dokonać także rewolucji w komputerowych systemach sterowania i nadzoru.
Zadaniem aplikacji DF jest wspieranie planowania, symulacji i optymalizacji produkcji. W systemie tym tworzone są modele 3D wszystkich ważniejszych elementów linii technologicznej, jak i samych produktów. Następnie przypisywane są im parametry dynamiczne oraz określane jest położenie w przestrzeni wirtualnej względem siebie. Na drodze symulacji przebiegu procesu produkcyjnego eliminuje się błędy, oraz wykorzystuje informację planistyczną do poprawy wskaźników efektywności produkcji i ergonomii stanowisk pracy. Zalety DF są tak znaczne, że w niektórych przedsiębiorstwach dokonywany jest proces odwrotny – wykonuje się skanowanie przestrzenne już istniejących stanowisk/linii technologicznych, przeniesienie ich do rzeczywistości wirtualnej, a następnie optymalizację produkcji.
Możliwość wirtualnego zwiedzania hal produkcyjnych w celu przyspieszenia szkolenia personelu lub weryfikacji procesów produkcyjnych przed rozpoczęciem produkcji (a nawet przed budową rzeczywistej fabryki) uświadomiła wielu informatykom tworzącym systemy SCADA, że pozostające efektem ubocznym pracy modele 3D, opisujące zachowanie fizyczne obiektów, mogą stanowić doskonałą podbudowę dla ich programów. Mogą stanowić również pierwszy etap implementacji bardziej zaawansowanych aplikacji, takich jak:
- aplikacje zdalnego sterowania (ang. remote control);
- aplikacje do manipulowania odległymi obiektami lub wpływania na środowisko (ang. telepresence);
- aplikacje rzeczywistości rozszerzonej (ang. augmented reality).
W tym celu coraz częściej wykorzystywane są elementy VR (ang. Virtual Reality), takie jak: hełmy montowane na głowę (ang. head-mounted display), ekrany monitorowe trzymane w dłoni (ang. hand-held displays) lub ekrany przestrzenne (ang. spatial displays). Również tablety i telefony komórkowe mają wbudowane wyświetlacze i kamery, a także systemy lokalizacji, a ich moce obliczeniowe dorównują mocom komputerów PC sprzed kilku lat, w związku z czym oferują odpowiednie środowisko do uruchamiania na nich programów VR.
Drugim nurtem, który może mieć znaczący wpływ na przyszłość komputerowych systemów nadzoru i sterowania w przemyśle, są systemy sztucznej inteligencji, a w szczególności tzw. systemy eksperckie. Są to komputerowe systemy, których zadaniem jest wspomaganie operatora w procesie podejmowania decyzji (rozwiązywanie złożonych problemów na podstawie analizy bazy wiedzy, a nie realizacji prostych algorytmów). Wbrew pozorom, włączenie takiej aplikacji do komputerowego systemu nadzoru i sterowania nie musi być ani trudne, ani drogie. Istnieją gotowe i darmowe tzw. szkielety systemów eksperckich mające wszystkie niezbędne elementy (interfejs użytkownika i edytor bazy wiedzy, mechanizm wnioskowania i wyjaśniający, bazę wiedzy i bazę danych zmiennych). Ponieważ w systemach typu MES czy ERP (SCADA) analizie podlega ogromna liczba zmiennych, proces budowania bazy wiedzy jest procesem długim i żmudnym, w którym główną rolę pełnią trudno dostępni eksperci posiadający wiedzę o charakterze intuicyjno-praktycznym. Jednak w obecnej dobie globalizacji raz wykonana baza danych może być powielana, modyfikowana i wykorzystywana w wielu fabrykach, dając np. dużym światowym koncernom przemysłowym znaczącą przewagę konkurencyjną.
source: Automatyka 6/2016