03.09.2024
Zabezpieczenia w sterownikach PLC
Jako automatycy spotykamy się z sytuacjami ochrony kodu, który stworzyliśmy, czyli cennej własność intelektualnej. Większość producentów sterowników PLC umożliwia zabezpieczenie kodu programu przed niepowołanym dostępem. Pozwalają również tworzyć użytkowników o różnych przywilejach. Dzięki temu modyfikacje w programie sterującym będą mogły przeprowadzać tylko osoby do tego upoważnione.
W innych przypadkach jego celem może być zabezpieczanie programu przed niepożądanym dostępem. Jedynie użytkownicy z przywilejem podglądu tych sekcji mogą zobaczyć ich zawartość. Zabezpiecza to program przed kradzieżą lub modyfikacją krytycznych sekcji.
W artykule opisuje sytuację, w której awaria linii produkcyjnej spowodowana była brakiem odpowiedniego hasła serwisowego. Pomimo wielu prób diagnostycznych, problem udało się rozwiązać dopiero po skontaktowaniu się z twórcą systemu dla sterownika. W rzeczywistości, okazało się, że zwarcie elektryczne spowodowało usunięcie hasła aktywacyjnego z pamięci sterownika PLC, co uniemożliwiało normalne działanie maszyny. W każdym przypadku takie usterki są zgłaszane za pomocą systemu CMMS, który jako mobilne narzędzie, ułatwia pracę działów utrzymania ruchu.
Spis treści
Programowanie sterownika
Poniżej wypisałem hasła / kody na które możemy się natknąć w czasie pracy z naszym sterownikiem PLC. Poniżej podzieliłem je na rodzaje:
Zabezpieczenie sterownika PLC
Podanie hasła jest wymagane przed pobraniem lub załadowaniem programu na sterownik. Tutaj użytkownik może zdefiniować maksymalną liczbę prób wpisania hasła, po przekroczeniu której sterownik PLC zostanie zablokowany. Jedynym sposobem na odblokowanie sterownika jest zresetowanie go do ustawień fabrycznych.
Zabezpieczenie projektu PLC
Hasło projektu służy do zabezpieczania programów w projekcie. Podanie tego hasła jest wymagane przed otwarciem POU (ang. Program Organization Units) znajdującego się w danym projekcie, dodatkowo użytkownik ma możliwość zdefiniowania maksymalnej liczby prób wpisywania hasła. Jeśli liczba ta zostanie przekroczona to projekt zostanie zamknięty.
Pełne zabezpieczenie projektu PLC
Pełne zabezpieczenie projektu PLC jest kluczowe, szczególnie w kontekście przemysłowym, gdzie awarie czy nieautoryzowane działania mogą prowadzić do poważnych konsekwencji, takich jak przerwy w produkcji, uszkodzenie sprzętu, czy nawet zagrożenie dla zdrowia i życia ludzi.
Częściowe zabezpieczenie projektu PLC
Przykładem jest funkcja „Know-how protection” w TIA Portal gdzie nieupoważniony użytkownik nie będzie mógł przeglądać ani modyfikować rzeczywistego kodu czy tagów w bloku bez wprowadzenia hasła. Natomiast użytkownik nieposiadający hasła może odczytać tylko informacje dotyczące bloku z kodem:
- nazwę bloku, właściwości bloku i ewentualne komentarze,
- parametrybloku np. INPUT, OUTPUT;
- globalne zmienne bez informacji gdzie są używane.
Zabezpieczenie kodu PLC Safety
W trybie bezpieczeństwa, dostęp za pomocą hasła CPU nie może być autoryzowany podczas wprowadzania zmian w standardowym programie użytkownika, ponieważ pozwoliłoby to na zmiany w programie bezpieczeństwa. Aby wykluczyć taką możliwość, należy ustawić poziom zabezpieczenia.
Dodatkowo można zabezpieczyć kod sterownika PLC Safety . Zapobieganie nieautoryzowanym modyfikacjom kodu związanego z bezpieczeństwem działającej maszyny.
Mamy w takim przypadku pełny dostęp do standardowego programu użytkownika, nie do bloków bezpieczeństwa, gdyż program bezpieczeństwa i bloki bezpieczeństwa są zabezpieczone hasłem.
Pierwsze uruchomienie maszyny i/lub linii produkcyjnej
Hasła serwisowe aktywacyjne
Hasło podaje się je tylko raz w całym życiu linii produkcyjnej aby producent miał gwarancję, że pierwszą instalację wykonał serwis własny bądź autoryzowany serwis zewnętrzy.
Zazwyczaj powoduję one zatrzymywanie się linii/ maszyny w sposób:
- ustalony bez komunikatu o konieczności wprowadzenia hasła serwisowego aktywacyjnego
- ustalony z komunikatem o konieczności wprowadzenia hasła serwisowego aktywacyjnego
- nieustalony (wg zegara wewnętrznego) Może to powodować nie załączanie się bądź wyłączanie się linii/maszyny podczas pracy.
W moim doświadczeniu zawodowym spotkałem się z tego typu hasłami kilkukrotnie. Pierwszy raz pracując jako serwisant maszyn procesujących gotówkę. W tamtym okresie miałem okazję pomagać niemieckim serwisantom w instalacji zaawansowanej maszyny do zliczania i niszczenia banknotów: Giesecke & Devrient BPS M5 w dwóch siedzibach NBP w Polsce. Ze względu na bardzo szybką pracę – do 33 banknotów/ sekundę warunkiem koniecznym było spełnienie wielu czynników m.in. odpowiednia wilgotność powietrza itd. Cała instalacja zajęła około 2-3 tygodni, po tym czasie serwisanci producenta wprowadzili hasło serwisowe aktywacyjne, które gwarantowało, że wszystkie warunki zewnętrzne są spełnione oraz maszyna jest poprawnie ustawiona do bezawaryjnego działania. Po tej czynności została oddana w ręce lokalnego autoryzowanego serwisu.
Rys. 1. Zaawansowana maszyna do procesowania gotówki. Giesecke & Devrient BPS M5
Ostatni raz z tym hasłem spotkałem się podczas wyjazdu serwisowego do dużej fabryki osprzętu elektrycznego w województwie zachodniopomorskim.
Objaw
Maszynę nie da się uruchomić w trybie automatycznym, bądź w czasie pracy się wyłącza. Co jakiś czas pojawia się taki ekran na panelu HMI
Rys. 2. Błąd uniemożliwiający dłużą pracę linii w trybie automatycznym.
Prawdopodobna przyczyna:
Zwarcie na czujnikach, które nastąpiło na wieczornej zmianie dnia poprzedniego.
Działanie – sterownik Siemens S7:
Rozmowa z automatykiem i operatorem dotyczącej awarii po której nastąpił błąd, który nigdy wcześniej nie występował.
Prace zaczęły się od podłączenie się do PLC specjalnym kablem, sprawdzenie czy program na sterowniku jest tym samym co na backupie (brak ingerencji osób trzecich). Sprawdzenia wejść na sterowniku i na module, które obsługują czujniki które zrobiły zwarcie. Sprawdzenie elektryczne i sprzętowe. Częściowa praca z dokumentacją elektryczną ze względu na brak oznaczeń (etykiet) na części kabli od czujników. Oprócz uszkodzenia kilku czujników, jeszcze jeden z siłowników był uszkodzony (nietrzymający swojej pozycji – uszkodzenie wewnętrzne). Został on wymieniony na nowy przez automatyka UR.
Po naprawieniu maszyny mogłem zacząć próbować namierzać z jakiego powodu wyskakuje ten komunikat. Niestety nie mając programu do HMI, ciężko było powiązać, który alarm generuje ten błąd.
Ze względu na ogrom tych alarmów zacząłem ustawiać pułapki sygnałowe na kolejne sekcje aby dowiedzieć się co jest przyczyną.
Rys. 3. Sterownik PLC Siemens S7-400 który był diagnozowany
W między czasie udało się automatykowi skontaktować się z programistą PLC z firmy, która zaprojektowała tą linię. Na szczęście firma jeszcze istniała, choć maszyna miała ponad 15 lat. Połączył się z naszym komputerem podłączonym do sterownika PLC. Na podstawie informacji przekazanych przez telefon twórca tego programu z poziomu PLC wywołał ekran w którym można było wprowadzić hasło które nam przedyktował. Było to typowe hasło aktywacyjne, które powodowało zatrzymanie linii produkcyjnej w sposób nieustalony (wg zegara wewnętrznego). Normalnie podaje się je tylko raz w całym życiu linii produkcyjnej, niestety w tym przypadku zwarcie było tak duże, że prawdopodobnie zaburzyło pracę sterownika, który wykasował je ze swojej pamięci.
Rys. 4. Aktywowany ekran hasła serwisowego
Wnioski
Zabezpieczenia w automatyce są niezbędne dla ochrony własności intelektualnej i zapewnienia bezawaryjnej pracy maszyn. Warto inwestować w renomowanych producentów, którzy zapewnią długoterminowe wsparcie techniczne.
W niektórych przypadkach brak pełnej wiedzy na temat działania programu oraz lokalizacji funkcji aktywującej hasło serwisowe (co jest wiedzą projektanta urządzenia) prowadził do trudnych do zdiagnozowania błędów, których usunięcie było niemożliwe w krótkim czasie.
Podsumowanie
Czy macie podobne doświadczenia z hasłami serwisowymi w sterownikach PLC? Niewątpliwie mogą one przysporzyć sporo problemów, szczególnie w pierwszej fazie i zdecydowanie porada eksperta może być naprawdę cenna.
W przypadku awarii sterowników PLC, firmy sięgają po system CMMS, który ułatwia zgłaszanie usterek do działów utrzymania ruchu. Chcesz dowiedzieć się więcej o bezpieczeństwie w automatyce przemysłowej? Chcesz zobaczyć, jak system CMMS poprawia wydajność działów UR? Skontaktuj się z nami, a pomożemy Ci znaleźć rozwiązanie lub wypróbuj nasz system CMMS bezpośrednio przez 14 dni.
Zapisz się do naszego newslettera, aby otrzymywać najnowsze wiadomości i wskazówki. Ponadto, już 25 września 2024 o godz. 13:00 organizujemy bezpłatny webinar, w którym dowiesz się m.in. jak firmy z branży logistyki dbają o utrzymanie ruchu i automatykę w magazynach. Zarejestruj się na webinar już teraz.