Jak zabezpieczyć projekt w sterowniku PLC przed jego utratą? Jak działają funkcje Backup, Restore, Cloning, AutoLoad oraz AutoRun?
Kontakt w sprawie artykułu: Mateusz Fas - 2022-01-27
Podczas kursu dowiesz się m.in.:
- jakie funkcje i mechanizmy zabezpieczenia projektu występują w sterowniku PLC,
- czym jest backup danych oraz jak go wykonać w sterowniku PLC,
- co to jest klon aplikacji i czym różni się od backupu danych,
- jak zagwarantować właściwą pracę PLC pomimo uszkodzenia baterii podtrzymującej program.
Zanim zaczniemy
Każdy sterownik PLC przechowuje w swojej pamięci program sterujący oraz dane o konfiguracji sprzętowej. Oba te elementy są niezbędne do jego prawidłowego działania. Użytkownik w większości przypadków ma do wyboru dwie opcje: program i dane mogą być przechowywane w pamięci Flash lub w pamięci RAM. Różnica pomiędzy tymi opcjami jest kolosalna.
Pamięć Flash jest pamięcią nieulotną i przechowuje dane bez potrzeby bateryjnego podtrzymania. Pamięć RAM z kolei jest pamięcią ulotną i do podtrzymania swojej zawartości wymaga ciągłego zasilania, co oznacza, że po wyłączeniu sterownika konieczne jest podtrzymanie bateryjne takiej pamięci. Wydawać by się mogło, że biorąc to pod uwagę, powinniśmy korzystać wyłącznie z pamięci Flash i zupełnie zrezygnować z pamięci RAM. Ale czy na pewno?
Pamięć Flash ma względem pamięci RAM jedno bardzo istotne ograniczenie. Jest mianowicie pamięcią wolną, znacznie wolniejszą od RAM zarówno pod względem prędkości zapisu, jak i odczytu. Ma również zupełnie inną specyfikę działania – inne są mechanizmy zapisu i odczytu danych. Wszystko to sprawia, że pamięć Flash nie może być używana w roli pamięci operacyjnej, a więc takiej, którą można szybko zapisywać na ruchu podczas pracy PLC. Jest tak dlatego, że każda zmiana jakichkolwiek wartości, wypracowana w programie sterującym, wymagałaby za każdym razem zatrzymania PLC i nadpisywania pamięci Flash. Nowe wartości musiałyby być w taki sposób zapisywane miliony razy na minutę. Przy takim użytkowaniu żywotność pamięci Flash wynosiłaby kilka miesięcy, a nie kilka lat, a minimum tego oczekuje się od typowego PLC.
Z tego powodu w sterownikach pamięć RAM musi być stosowana równolegle do pamięci Flash. Pamięć ta, oprócz szybkiego zapisu danych wypracowanych przez program, jest także wykorzystywana do uruchomienia samego programu. W praktyce oznacza to, że program, który programista wgrał do pamięci Flash podczas programowania sterownika, jest przed jego uruchomieniem kopiowany przez sterownik do pamięci RAM i właśnie z tej pamięci korzystamy podczas normalnej pracy PLC.
Wszystko działa jak należy, gdy PLC jest zasilony. Jeśli od zasilania musimy go odłączyć lub pojawia się awaria, do akcji wkracza bateria, która podtrzyma zawartość pamięci RAM, w tym wartości procesowe wypracowane w PLC. Tu również wszystko działa, jak należy, gdy bateria jest sprawna. Problem pojawia się, kiedy bateria się rozładuje lub ulegnie uszkodzeniu. W takim przypadku ponowne uruchomienie PLC spowoduje, że uruchomi się on z programem sterującym (bo ten zostanie skopiowany z pamięci Flash), ale bez wartości procesowych. Jeżeli jednak wcześniej nie wgraliśmy programu do Flash, sterownik uruchomi się nawet bez niego. Co wtedy?
Z pomocą przychodzą nam mechanizmy podtrzymania pamięci i przywracania aplikacji, w które dostawcy wyposażają swoje urządzenia sterujące. Mechanizmów takich jest kilka, pokażemy je na przykładzie sterowników PLC Horner APG.
Backup Aplikacji
Backup (kopia bezpieczeństwa) to mechanizm, który pozwala na utworzenie kopii programu sterującego oraz wartości procesowych z PLC na wymiennym nośniku danych, zainstalowanym w sterowniku. Backup jest przygotowywany wyłącznie dla urządzenia, z poziomu którego został utworzony i wyłącznie w oparciu o wartości, jakie były przechowywane w pamięci RAM sterownika w chwili tworzenia backupu. Nie ma możliwości wykorzystania posiadanego backupu na innym urządzeniu niż to, na którym był on stworzony. W praktyce backup tworzymy z poziomu menu sterownika PLC i zapisujemy go na karcie pamięci, w katalogu głównym, w postaci pliku o nazwie „Backup”. Taka kopia może nam posłużyć do ponownego uruchomienia PLC w chwili, gdyby z jakiegoś powodu jego pamięć wewnętrzna została wykasowana. Warto również nadmienić, że backup aplikacji sterującej stworzony z poziomu PLC jest plikiem wykonywalnym, w postaci maszynowej zrozumiałej wyłącznie dla PLC. Nie da się tego pliku uruchomić w oprogramowaniu narzędziowym, aby dokonać edycji programu.
Backup przygotowany z poziomu PLC tworzy kopię zapasową na karcie pamięci, zainstalowanej w urządzeniu. Backup taki zawiera:
- program sterujący,
- sumę kontrolną programu,
- wszystkie ustawienia systemu,
- wartości wszystkich zmiennych/rejestrów pamięci RAM,
- wszystkie ustawienia systemu.
Tak przygotowany plik pozwoli nam uruchomić PLC w chwili, gdy jego pamięć jest pusta. Uruchomienie backupu możliwe jest z poziomu menu sterownika na żądanie użytkownika, lub może być realizowane w procedurze automatycznej dzięki funkcji AutoLoad, którą opiszemy w dalszej części tekstu. Uruchomienie backupu może być dodatkowo poprzedzone koniecznością podania hasła konfigurowanego na poziomie przygotowywania aplikacji sterującej w oprogramowaniu narzędziowym.
Mechanizm AutoLoad
Dla przechowywanego na karcie pamięci (zainstalowanej w sterowniku PLC) backupu aplikacji można uruchomić funkcję AutoLoad. Mechanizm ten tworzy na karcie pamięci plik AutoLoad.pgm, który pozwoli na automatyczne załadowanie backupu do pamięci sterownika przy każdym restarcie zasilania urządzenia. Ten mechanizm bardzo przydaje się w aplikacjach bezobsługowych, czyli takich, w których system pracuje autonomicznie w lokalizacjach oddalonych. Wtedy nie ma zwykle na miejscu lokalnego operatora urządzenia, który mógłby wykonać akcję serwisową. Przykładem może być tutaj dowolna przepompownia czy stacja hydroforowa. Załączenie tego mechanizmu spowoduje, że w przypadku utraty napięcia zasilania sterownika po jego przywróceniu urządzenie automatycznie załaduje backup do pamięci. Dzięki temu mamy gwarancję, że w przypadku uszkodzenia baterii i utraty programu urządzenie będzie gotowe do dalszej pracy. Musimy jednak pamiętać o tym, że do rejestrów PLC zostaną wgrane takie wartości, jakie były w nich w chwili tworzenia backupu.
Mechanizm AutoRun
Jest to funkcja, która w sposób automatyczny uruchomi PLC w trybie RUN, a więc w trybie, w którym realizowane jest sterowanie obiektem. Trzeba mieć na uwadze, że włączenie tej opcji będzie przy każdym restarcie sterownika automatycznie uruchamiało proces sterowania, bez weryfikacji, czy obiekt znajduje się w stanie bezpiecznym i czy jego uruchomienie nikomu i niczemu nie zagraża. Jeżeli więc mówimy na przykład o wspomnianej wcześniej aplikacji bezobsługowej, jak przepompownia ścieków, taki mechanizm można wykorzystać bez obaw. Natomiast w przypadku obiektów, gdzie uruchomienie musi być poprzedzone weryfikacją, czy zachowane są wszystkie procedury bezpieczeństwa, użycie tej funkcji może być niedozwolone. Przykładem może być maszyna wykonująca ruch noża, giętarka, czy zgniatarka. W takich przypadkach zanim PLC zostanie uruchomiony, użytkownik musi upewnić się, że nikomu to nie zagraża.
Połączenie backupu programu i danych sterownika z funkcją AutoLoad i AutoRun daje w aplikacjach bezobsługowych gwarancję uruchomienia PLC po każdym restarcie zasilania, nawet w przypadku braku lub uszkodzenia baterii podtrzymującej pamięć RAM. Użytkownicy takich systemów mogą być pewni, że nawet po bardzo długim okresie bezczynności systemu sterowania jego kolejne uruchomienie spowoduje, że system zacznie pracować automatycznie z wartościami takimi, jakie miał PLC w chwili tworzenia backupu. I że stanie się to bez ingerencji zewnętrznego operatora.
Mechanizm klonowania aplikacji
Funkcja klonowania aplikacji to mechanizm pozwalający na powielanie posiadanej kopii programu i konfiguracji na innych urządzeniach. Należy podkreślić, że przenoszenie aplikacji jest możliwe wyłącznie dla identycznych modeli sterownika. Nie da się załadować klonu aplikacji do urządzenia posiadającego na przykład inną konfigurację sygnałów wejść i wyjść. System automatycznie zweryfikuje, czy urządzenie docelowe jest zgodne z urządzeniem, z którego wykonano klon aplikacji. Jeśli takiej zgodności nie ma, klon nie zostanie wgrany do sterownika.
Klon aplikacji przenoszony jest na inne urządzenia za pośrednictwem wymiennych nośników danych, takich jak karta MicroSD. Mechanizm klonowania jest szeroko wykorzystywany przez producentów OEM, którzy produkując identyczne maszyny z identyczną konfiguracją skracają proces programowania i konfiguracji urządzenia, ponieważ zaprogramowanie urządzenia z pamięci przenośnej eliminuje potrzebę wykorzystywania komputera PC z oprogramowaniem narzędziowym. Warto również podkreślić, że klon aplikacji jest – podobnie jak backup aplikacji – przygotowywany w postaci maszynowego pliku wykonywalnego i jego edycja w oprogramowaniu narzędziowym nie jest możliwa.
Plik klonu aplikacji, oprócz programu sterującego i konfiguracji, zawiera także wartości inicjalizacyjne dla urządzenia, czyli dane, z jakimi ma się uruchomić PLC po raz pierwszy. Te wartości konfiguruje się podczas przygotowywania programu sterującego w oprogramowaniu narzędziowym. To również bardzo przydatna funkcja, ponieważ proces wstępnej, ręcznej parametryzacji urządzenia uruchamianego po raz pierwszy może zostać wykonany automatycznie, wraz z uruchamianiem klonu aplikacji.
Czym się różni klon od backupu aplikacji sterującej?
Backup, w odróżnieniu od klonu aplikacji, może być wykonany w dowolnym momencie. Wraz z przygotowaniem kopii programu i konfiguracji zapisywane są również aktualne wartości z rejestrów i zmiennych bitowych sterownika. Backup ponadto można uruchomić wyłącznie na urządzeniu, na którym był tworzony. Klon aplikacji natomiast tworzy kopię programu sterującego, konfiguracji oraz wartości zadanych i może być uruchomiony na innym, zgodnym urządzeniu docelowym.
Czas zacząć pracę ze sterownikiem!
W celu wykonania backupu aplikacji upewnij się, że tworzysz backup dla w pełni poprawnego, sprawdzonego i działającego programu. To pozwoli Ci przywrócić program, który działa zgodnie z oczekiwaniami. Ustawienia systemowe również zapisywane są w pliku backupu. Jeśli zatem nie ustawisz odpowiednio funkcji AutoLoad i AutoRun, przygotowany backup będzie miał je ustawione w sposób domyślny, będą więc wyłączone. Jeżeli przygotujemy backup przy takiej konfiguracji, PLC nie przekopiuje automatycznie programu do RAM i nie przejdzie w tryb RUN.
Krok 1: Konfiguracja mechanizmu AutoRun
Jeśli twój backup ma automatycznie uruchamiać sterownik w trybie IDLE (STOP), możesz pominąć ten krok. Jeśli jednak sterownik ma się uruchamiać automatycznie w trybie RUN, skonfiguruj opcję Enable AutoRun.
W tym celu wybierz w menu systemowym sterownika opcję Fail – Safe System.
Następnie wybierz opcję Enable AutoRun. Włączenie tej opcji oznacza, że sterownik przy każdym włączeniu napięcia zasilającego będzie automatycznie przechodził w tryb RUN.
Krok 2: Konfiguracja mechanizmu AutoLoad
Jeśli nie chcesz, by twój backup automatycznie ładował się do pamięci PLC, możesz pominąć ten krok. Jeśli jednak ma się on załadować automatycznie przy każdym włączeniu napięcia zasilającego urządzenie, skonfiguruj opcję Enable AutoLoad.
W tym celu wybierz w menu systemowym sterownika opcję Fail – Safe System.
Następnie wybierz opcję Enable AutoLoad. Uaktywnienie tej opcji oznacza, że sterownik przy każdym włączeniu napięcia zasilającego będzie automatycznie przywracał kopię bezpieczeństwa do pamięci PLC.
Wykorzystanie tej opcji jest możliwe tylko wtedy, gdy w slocie kart wymiennych będzie zainstalowany nośnik pamięci. Jej aktywacja powoduje utworzenie na tym nośniku, w katalogu głównym, pliku o nazwie AutoLoad.pgm.
Krok 3: Tworzenie backupu aplikacji
Backup aplikacji tworzony jest z poziomu menu systemowego sterownika. W tym celu wybierz opcję Fail – Safe System, a następnie Backup/Restore Data.
Spowoduje to stworzenie w pamięci urządzenia pliku backupu niezbędnego do odtworzenia wartości procesowych i aplikacji w sterowniku PLC. Po wybraniu opcji Backup/Restore Data użytkownik może:
- stworzyć backup,
- usunąć backup,
- przywrócić backup na urządzeniu.
W celu stworzenia kopii bezpieczeństwa wybierz polecenie Backup i zatwierdź. Z kolei by odtworzyć kopię z pliku backupu, wybierz polecenie Restore.
Kopia zapasowa jest tworzona w postaci pliku „Backup” i jest przechowywana w pamięci wewnętrznej flash urządzenia . Warto w wspomnieć, że przywrócenie aplikacji z kopii bezpieczeństwa ustawia zegar systemowy na wartość domyślną , czyli 1 stycznia 1996 roku. Jeśli bateria w PLC była uszkodzona i nie podtrzymywała zegara, konieczne będzie jego ponowne ustawienie.
Takie przygotowanie aplikacji z włączonymi mechanizmami bezpieczeństwa daje pewność poprawnego uruchomienia procesu sterowania w PLC w sytuacji, gdy doszło do jego wyłączenia, a bateria podtrzymująca pamięć RAM była niesprawna.
Krok 4: Tworzenie klonu aplikacji
Jeśli nie zamierzasz przenosić aplikacji sterującej na inne urządzenia, nie musisz wykonywać tego kroku. Przygotowanie klonu aplikacji w sterownikach Horner może być zrealizowane z poziomu menu systemowego sterownika.
W tym celu przejdź do menu systemowego, a następnie do sekcji Clone Unit.
W oknie Clone Unit wybierz opcję Make Clone, aby stworzyć klon aplikacji sterownika. Proces ten utworzy dwa pliki na karcie MicroSD:
- AutoLoad.pgm – który pozwala na automatyczne załadowanie programu,
- Clone.dat – który będzie zawierał kopię aplikacji sterującej, konfigurację PLC oraz wartości inicjalizujące, z jakimi ma się uruchomić PLC po załadowaniu klonu aplikacji.
Te dwa pliki są niezbędne, aby uruchomić klon na innym urządzeniu. Wymienny nośnik danych z tymi plikami wystarczy zainstalować w urządzeniu docelowym, przejść w menu systemowym do sekcji Clone Unit , a następnie wybrać opcję Load Clone.
Po potwierdzeniu chęci załadowania klonu aplikacji do PLC sterownik uruchomi się ponownie z nowym programem i nowymi ustawieniami odczytanymi z plików umieszczonych na karcie pamięci.
Co w przypadku, gdy backup danych nie został wykonany?
Zdarza się tak, że programista wgra program do pamięci Flash, ale zapomni przygotować backup aplikacji w chwili programowania sterownika. W takim przypadku wszystko działa prawidłowo, gdy PLC jest podłączony do zasilania. Co można zrobić, by nie zapomnieć o wykonaniu backupu?
W rejestrach systemowych PLC dostępne są informacje mówiące o tym, czy backup dla aplikacji został wykonany oraz jak są skonfigurowane parametry AutoLoad i AutoRun. Warto stan takich bitów statusowych umieścić na ekranie operatorskim, co pozwoli łatwo zauważyć, czy mechanizmy bezpieczeństwa w PLC są załączone. Jeśli w trakcie programowania PLC zapomnieliśmy o tym, nic się złego nie dzieje – opisywane procedury można wykonać na już działającej aplikacji.
Jak producenci zabezpieczają podtrzymanie pamięci w PLC?
Najczęściej stosowany jest mechanizm podtrzymania bateryjnego. Standardowo wykorzystywane są baterie 3V (nowa bateria ma około 3.14V). Takie baterie wykorzystywane są na przykład w sterownikach Horner serii XLe i XLt. Biorąc pod uwagę stosunkowo małą ilość pamięci, jaką należy podtrzymać, taka bateria wytrzymuje zwykle około 3 do 4 lat, po czym należy ją wymienić, ponieważ spadek napięcia baterii poniżej 3V oznacza brak podtrzymania pamięci w chwili wyłączenia zasilania PLC. Jeżeli system podczas włączenia wykrywa błąd w pamięci, najprawdopodobniej jest to spowodowane awarią lub rozładowaniem baterii.
W sterownikach PLC, gdzie pamięci do podtrzymania jest więcej, producenci decydują się na zastosowanie akumulatorów z funkcją ładowania. Taki akumulator pozwala podtrzymać pamięć nawet przez 5 lat. Wbudowane w PLC mechanizmy na bieżąco mierzą szereg parametrów jego pracy (temperatura, poziom napięcia) i doładowują go do właściwego poziomu podczas pracy PLC. Warto przypomnieć, że poziom naładowania akumulatora w fabrycznie nowym sterowniku nie zapewni podtrzymania pamięci RAM. Takie urządzenie po pierwszym uruchomieniu musi być włączone przez około 8 godzin, aby akumulator w pełni się naładował.
Jeżeli chciałbyś się zapoznać z programowaniem sterowników Horner, zapraszamy do naszego bezpłatnego kursu: Programowanie PLC od podstaw – kurs dla automatyków i elektryków.
Zapraszamy także do zapoznania się z naszą ofertą sklepową sterowników PLC.