Zarządzanie aktualizacjami a nowoczesne systemy sterowania dla przemysłu

Przedsiębiorstwa podejmujące decyzję o zmianie przestarzałych firmowych sieci sterowania na nowe platformy, bazujące na otwartych standardach, niejednokrotnie przekonują się, że wymagają one sporo uwagi i umiejętności, niezbędnych do ich poprawnej eksploatacji.
W zakładach przemysłowych poszukiwanie nowych rozwiązań w zakresie zwiększenia efektywności procesów poprzez systemy sterowania i automatyki sprowadza się najczęściej do konieczności korzystania z coraz bardziej zaawansowanych narzędzi programowych i platform sprzętowych, bazujących na otwartych standardach. Tylko dzięki nim możliwa jest obsługa rosnącej liczby aplikacji oraz połączeń sieciowych między różnymi elementami systemów automatyki oraz transmisji danych z poziomu obiektowego do systemów nadrzędnych i aplikacji biznesowych. Ta tendencja stawia spore wyzwania przed grupami pracowników sektora IT, którzy stają się odpowiedzialni za uruchomienie i utrzymanie sprawności takich systemów sieciowych, integrowanych na pewnym poziomie z systemami teleinformatycznymi. Niezwykle ważnym elementem staje się też ich ciągła aktualizacja, związana bezpośrednio z bezpieczeństwem i niezawodnością działania. Bez tego systemy otwarte stają się bardziej podatne na ataki hakerów i ewentualne uszkodzenia wewnętrzne. Dlatego konieczne jest opracowanie strategii zarządzania procesami aktualizacji i uzupełnień oprogramowania współpracującego z otwartymi platformami systemów sterowania. Każda zakładowa grupa IT powinna mieć przygotowaną taką strategię w odniesieniu do obsługiwanych przez siebie systemów teleinformatycznych, a po objęciu obsługi sieciowych systemów automatyki konieczne staje się opracowanie podobnej również dla nich.
Dobra strategia aktualizacji oprogramowania i narzędzi systemowych sieci automatyki w znaczącym stopniu wpływa na podniesienie poziomu ich niezawodności i odporności na zagrożenia zewnętrzne oraz wewnętrzne. Powinna ona bazować na zaangażowaniu własnych grup pracowników IT oraz wsparciu zewnętrznych grup serwisowych firm dostarczających urządzenia dla sieci automatyki. Dzięki takiemu podejściu możliwe jest szybkie reagowanie na zmiany czy awarie, ograniczenie liczby i czasu ewentualnych przestojów. Ogólne założenia strategii wsparcia aktualizacyjnego i technicznego sieciowych systemów automatyki przemysłowej są bardzo podobne jak dla tradycyjnych systemów teleinformatycznych i biznesowych, opartych na własnych grupach informatyków i wewnętrznych serwerach zarządzania, realizowanych z powodzeniem w wielu przedsiębiorstwach. W zasadzie zwykle to ich poprawna organizacja w pierwszym rzędzie powinna być i jest punktem wyjścia do kolejnych kroków związanych z obsługą i integracją sieci przemysłowych. Pojawiają się tu bowiem dodatkowe problemy związane z kompatybilnością i pełną integracją międzysystemową.
Podstawowe wymagania
W programie strategii zarządzania aktualizacją i serwisem sieciowych systemów sterowania powinno znaleźć się kilka podstawowych elementów, takich jak:
Zarządzanie konfiguracją ? obejmuje wszystkie składniki systemowe ? sprzętowe i programowe, wykorzystywane w środowisku systemu sterowania i monitoringu aplikacji przemysłowych, wraz z informacjami o aktualnie posiadanej wersji oprogramowania i niezbędnych narzędziach sprzętowych. Warto podkreślić, że zestawienie oprogramowania powinno obejmować nie tylko narzędzia związane bezpośrednio z systemami automatyki, ale również wszystkie pozostałe elementy oprogramowania, np. system operacyjny, bazy SQL, Adobe Reader itp. Takie zestawienia mogą być dostarczane przez dostawców sprzętu i oprogramowania dla danego systemu i aplikacji. Informacją uzupełniającą powinno być natomiast zestawienie portów, kart sygnałowych i funkcjonalności, dostępnych na poszczególnych komputerach i sterownikach, przyłączonych do systemu sterowania i zarządzania aplikacjami przemysłowymi. Taki zestaw informacji jest niezbędny, aby stwierdzić, czy uzupełnienia lub aktualizacje w systemie są potrzebne czy nie.
Archiwizacja/backup. W praktyce mogą się zdarzyć sytuacje, w których konieczne może być odinstalowanie wprowadzonych aktualizacji, wpływających niekorzystnie na ustawienia niektórych aplikacji czy algorytmy sterowania urządzeń. W takich przypadkach często jedynym wyjściem jest przywrócenie całego systemu lub aplikacji do stanu sprzed aktualizacji. Dlatego dobrą praktyką jest wykonywanie kopii zapasowych systemu każdorazowo przed aktualizacją.
Zespół obsługi sytuacji awaryjnych i przywracanie stanu przedawaryjnego. Rola takiego zespołu w strategii zarządzania aktualizacjami jest dwojaka: po pierwsze zespół ten powinien być przygotowany do podjęcia natychmiastowych działań zaradczych w przypadku niekorzystnego wpływu aktualizacji na proces; po drugie ? właściwa grupa powinna podejmować działania w razie wykrycia niedoskonałości systemu, wzrostu jego wrażliwości na zmiany parametrów pracy, spadku poziomu bezpieczeństwa itp. Jeżeli zjawiska takie zostaną w systemie wykryte, a likwidująca je poprawka czy aktualizacja nie jest jeszcze dostępna, grupa awaryjna powinna ściśle współpracować ze wszystkimi innymi zespołami nadzorującymi i obsługującymi procesy, w celu minimalizacji negatywnego wpływu niedoskonałości systemowych czy awarii na funkcjonowanie całego zakładu. Chodzi tu o współpracę zarówno z grupami wewnątrzzakładowymi, jak również podmiotami zewnętrznymi.
Koordynacja procesów aktualizacji poszczególnych jednostek systemowych. Procesy kompleksowej aktualizacji oprogramowania i sprzętu aplikacji sterowania, powinny być koordynowane z grupami obsługi procesów, tak by minimalizować wpływ aktualizacji na ciągłość produkcji i realizację poszczególnych jej etapów. Aktualizacja wiąże się zwykle z koniecznością resetu i ponownego uruchomienia urządzeń, komputerów, sterowników, co przy braku koordynacji procesowej może doprowadzić do strat. To właśnie z pracownikami obsługi powinien być uzgodniony najlepszy moment do realizacji zadań aktualizacyjnych, które należy przeprowadzić przy ich współudziale. Powinno się również ustalić porządek i kolejność aktualizacji poszczególnych komponentów systemowych, z uwzględnieniem konieczności okresowego wstrzymania procesów aktualizacji dla realizacji niezbędnych działań czy procesów produkcyjnych.
Plan bieżących aktualizacji i uzupełnień. Każda aktualizacja i modyfikacja systemu sterowania powinna być zaplanowana i skoordynowana. Plan taki musi w szczególności zawierać: termin wprowadzenia aktualizacji do systemu, instrukcje związane z procedurami wsparcia aktualizacji oraz zalecenia co do organizacji kopii zapasowej i przywrócenia systemu, jeśli wprowadzenie aktualizacji spowodowałoby nieprawidłowości lub awarię. W planie powinna znaleźć się też lista kolejnych kroków/działań:

  • monitoring słabych punktów systemu (wymagających wsparcia aktualizacyjnego),
  • monitoring dostępności aktualizacji od producentów/dostawców,
  • ocenę ryzyka procedur aktualizacyjnych,
  • plany ograniczenia wpływu niedoskonałości systemu na jego niezawodność,
  • procedury wdrożenia działań ograniczających niedoskonałości/słabe punkty systemu,
  • procedury testowania aktualizacji i uzupełnień,
  • harmonogram aktualizacji,
  • walidacja i monitoring aktualizacji,
  • procedury cofnięcia aktualizacji,
  • audyt aktualizacji.

Dzięki sprawnemu systemowi śledzenia i wykrywania braków w systemie sterowania, jego modułach sprzętowych i programowych, służby zakładowe mogą opracować strategie bieżącego, lokalnego ograniczania ich wpływu na działanie systemu. W momencie udostępnienia aktualizacji konieczne jest przeprowadzenie choćby wstępnej analizy oceny ryzyka i wprowadzenia jej do systemu. Na podstawie analizy, wraz z opracowanymi metodami redukcji zagrożeń, powinny być dopiero podejmowane decyzje dotyczące wdrożenia aktualizacji lub lokalnych, własnych działań ograniczających zagrożenia systemowe, wynikające z jego niedoskonałości. Zadania związane z wdrożeniem i testowaniem skuteczności aktualizacji mogą też być powierzone grupom serwisowym firm-dostawców. Wiele z nich ma w swojej ofercie profesjonalne wsparcie dostarczanych produktów, ma odpowiednio przeszkolony i akredytowany personel. Jednak dobrą praktyką jest, prócz testów ze strony dostawców, prowadzenie własnych, wewnętrznych procedur testujących, w celu ostatecznej weryfikacji poprawności funkcjonowania zaktualizowanych systemów czy poszczególnych aplikacji, urządzeń itp. 
Harmonogram
Harmonogram instalacji i wdrożenia zweryfikowanych wcześniej pakietów aktualizacyjnych powinien być uzgodniony przede wszystkim z menedżerami produkcji i UR w zakładzie. Najlepiej, gdy organizowany jest on również w oparciu o własną wewnętrzną bazę aktualizacyjną, zlokalizowaną np. na serwerach zakładowych, w hierarchii systemowej, gdzieś pomiędzy poziomem sieci obiektowych a infrastrukturą sieci teleinformatycznych ? zarządzania i biznesu. Pamiętać należy, by serwery te były tak skonfigurowane, aby możliwy był dostęp do ich zasobów ze strony węzłów sieci obiektowej (automatyki), a zablokowany ze strony sieci teleinformatycznych ? Internetu. Serwery powinny pobierać pakiety aktualizacyjne do swojej bazy tylko z zasobów sieci zakładowej, co znacząco wpływa na bezpieczeństwo. W momencie uruchomienia procesu aktualizacji ? wg harmonogramu ? równocześnie powinny być uruchomione procedury monitoringu instalacji i wdrożenia, tak by zagwarantować poprawność aktualizacji wszystkich elementów systemu, których ona dotyczy, w zaplanowanym i zadeklarowanym czasie. Dobrze opracowany i precyzyjnie realizowany harmonogram ma szczególne znaczenie w tzw. aplikacjach krytycznych, gdzie konieczne jest zachowanie warunków pracy czy parametrów regulacyjnych.
Jak już wspomniano wcześniej, bardzo istotna jest współpraca z dostawcą sprzętu i oprogramowania, który powinien zaproponować ofertę wsparcia technicznego dla swoich produktów. Współpraca powinna być jednak obustronna, stąd użytkownik powinien już na wstępie zdeklarować się np. co do standardu systemu operacyjnego, protokołu komunikacji oraz wymogów dotyczących poziomu niezawodności działania urządzeń oraz pewności komunikacji w ramach sieci poziomu obiektowego i biznesowego. Ważne są również informacje o typie i liczbie portów sygnałowych wykorzystywanych w planowanym systemie, kart i modułów przetwarzania sygnałów różnego typu. Dzięki temu dostawca będzie mógł lepiej dopasować swoją ofertę do wymogów użytkownika. Ostatecznie wszystkie informacje technologiczne i serwisowe powinny być zamieszczone przez niego w ramach dokumentacji technicznej i instrukcji użytkowania.
Projekt systemu sterowania
Jak zaprojektować system sterowania, by jak najlepiej współpracował w okresie eksploatacji z harmonogramami aktualizacji i uzupełnień funkcjonalnych? Dobry projekt powinien przede wszystkim pozwolić na minimalizację ewentualnych przestojów i wyłączeń, a najlepiej, gdyby ich nie było. Jednym z elementów takiego projektu, koniecznym szczególnie w zakładach, gdzie ze względów technologicznych niedopuszczalne są jakiekolwiek przerwy w procesie produkcyjnym czy przetwórczym, jest redundancja. Polega ona na uprzedniej aktualizacji sterowników lub aplikacji w elementach znajdujących sie w torze zapasowym (slave), a dopiero później przełączeniu sterowania procesem na ten tor, aktualizacji elementów toru głównego i ponownym przełączeniu sterowania na tor (master). Jeżeli jednak w systemie nie zastosowano redundancji, zespoły serwisowe powinny minimalizować negatywny wpływ aktualizacji na proces. We wszystkich przypadkach i koncepcjach organizacji systemu aktualizacji serwery aktualizacyjne powinny być integralnym elementem systemowym.
Większość aktualizacji i uzupełnień funkcjonalnych dla systemów sterowania procesami przemysłowymi ma mniejszy lub większy wpływ na ich funkcjonowanie, czas reakcji czy obsługi. Systemy zarządzania aktualizacjami powinny być skoordynowane z programami zmian i modyfikacji systemowych, organizujących prace wielu grup obsługujących procesy produkcyjne ? dział IT, grupy inżynierskie, grupy serwisowe i utrzymania ruchu itp.
W praktyce zdarza się, że użytkownicy kojarzą aktualizacje systemowe z niezbędnymi aktualizacjami dla systemów operacyjnych (np. Microsoft), gdy tymczasem wiele istotnych aktualizacji i udoskonaleń systemowych dla sieci automatyki przemysłowej jest rozprowadzanych przez producentów i dostawców sprzętu i oprogramowania dla tego typu platform systemowych. Firmy Microsoft, Cisco czy Adobe prowadzą regularne wsparcie swoich narzędzi i systemów operacyjnych, które mogą automatycznie sygnalizować użytkownikowi pojawienie się kolejnych aktualizacji. Większość z nich dotyczy przede wszystkim zwiększenia poziomu bezpieczeństwa funkcjonowania systemów. W przypadku aktualizacji dla platform przemysłowych, wiele aktualizacji skupia się wokół kwestii udoskonaleń algorytmów, poprawy parametrów funkcjonalnych i usprawnienia funkcjonalnego. Bez sprawnego ich wprowadzania w systemach sterowania i zarządzania produkcją na liniach produkcyjnych może dojść do nieprzewidzianych awarii, utraty parametrów pracy oraz pogorszenia jakości produktów czy zwolnienia tempa procesów. Stąd tak duże znaczenie sprawnie zorganizowanego systemu zarządzania aktualizacjami, szczególnie w zakresie aktualizacji dotyczących bezpośrednio funkcjonalności systemów automatyki przemysłowej.
Opracował dr inż. Andrzej Ożadowicz, AGH Kraków
CE