Strona główna ASTOR
Automatyka w praktyce

Konfiguracja i obsługa alarmów w sterownikach PLC
Kurs programowania sterowników Horner APG  w środowisku Cscape 10, odc. 14

Kontakt w sprawie artykułu: Mateusz Pytel - 2025-09-20

W tym odcinku do programu sterującego oraz aplikacji wizualizacyjnej dodamy obsługę alarmów.

W przykładowym ćwiczeniu skonfigurujesz 6 punktów alarmowych, informujących o przekroczeniu stanów minimalnych i maksymalnych w zbiornikach oraz dodasz symbole graficzne przy zbiornikach, które poinformują operatora o wystąpieniu alarmu.

Alarmami będzie można zarządzać z jednego ekranu, na którym oprócz alarmów bieżących pojawią się także alarmy historyczne. Dodatkowo skonfigurujesz składowanie alarmów na karcie pamięci MicroSD zainstalowanej w sterowniku.

Krok 1: Rozbudowa programu sterującego.

Konfigurację alarmów rozpocznij od rozbudowy aplikacji o nowy podprogram, który będzie odpowiedzialny za monitorowanie poziomów cieczy w zbiorniku oraz za aktywację alarmów. Każdy zbiornik będzie posiadał dwa punkty alarmowe: osiągnięcie poziomu minimum oraz osiągnięcie poziomu maksimum. W chwili, gdy poziom zbiornika osiągnie stan alarmowy, odpowiedni punkt alarmowy przejdzie w stan wysoki.

Utwórz nowy podprogram wybierając z menu kontekstowego New Enhanced Ladder Logic Subroutine. Nazwij go Alarmy.

Utwórz szczebel odpowiedzialny za monitorowanie stanu maksimum. Pierwszym elementem szczebla będzie styk z podłączoną do niego zmienną ALW_ON. Drugi element to blok porównywania wartości typu „większy lub równy” (Greater Than or Equal). Na wejście IN 1 podłącz zmienną Zbiornik_1, a do wejścia IN 2 stałą 45.

Na końcu szczebla utwórz cewkę i podłącz do niej zmienną ZB1_ALM_HI o adresie %R30.1, którą uprzednio dodaj w Program Variables. Zgodnie z logiką działania bloku zmienna przypisana do cewki zostanie ustawiona w stan wysoki, jeśli wartość zmiennej Zbiornik 1 będzie większa lub równa 45.

Analogicznie utwórz szczebel odpowiedzialny za monitorowanie stanu minimum. Do tego celu wykorzystaj blok „mniejszy lub równy”. W oknie Program Variables dodaj zmienną ZB1_ALM_LO o adresie %R30.2 i przypisz ją do cewki.

Zmienne ZB1_ALM_HI i ZB1_ALM_LO wykorzystasz dodatkowo do odpowiedniego ustawienia słowa kontrolnego, które będzie potrzebne do wyświetlania obiektów graficznych informujących o wystąpieniu stanu alarmowego. W tym celu utwórz kolejny szczebel z rozgałęzieniem. Pod styki podłącz zmienne ZB1_ALM_HI i ZB1_ALM_LO, a do kolejnych cewek zmienne o adresach %R42.1 i %R42.2.

W analogiczny sposób utwórz szczeble odpowiedzialne za monitorowanie stanów maksimum i minimum dla zbiornika 2 i 3. W tym celu zaznacz i skopiuj fragment kodu przygotowany dla zbiornika 1 i wklej go dwa razy poniżej.

Dla zbiornika 2 zmień zmienne na Zbiornik_2 oraz dla punktów alarmowych dodaj zmienne ZB2_ALM_HI o adresie %R30.3 oraz ZB2_ALM_LO o adresie %R30.4. W szczeblu odpowiedzialnym za modyfikację słowa sterującego podłącz zmienne %R43.1 i %R43.2.

Dla zbiornika 3 zmień zmienne na Zbiornik_3 oraz dla punktów alarmowych dodaj zmienne ZB3_ALM_HI o adresie %R30.5 oraz ZB3_ALM_LO o adresie %R30.6. W szczeblu odpowiedzialnym za modyfikację słowa sterującego podłącz zmienne %R44.1 i %R44.2.

Modyfikację programu logicznego zakończ na umieszczeniu w programie Main szczebla wywołującego podprogram Alarmy. Do styku podłącz zmienną o nazwie Alarmy, a w instrukcji Call z rozwijalnej listy wybierz podprogram Alarmy.

Ważne!

Aby podprogram Alarmy został wywołany i wyświetlane były komunikaty alarmowe, należy przesterować jego styk, możesz to zrobić w oknie Data Watch po wgraniu programu do sterownika i przełączeniu go w tryb pracy RUN. Zmienną Alarmy dodaj przy użyciu przycisku Add, a następnie przełącz Value na ON.

Krok 2: Rozbudowa ekranów operatorskich.

Czas na konfigurację alarmów. Aby uruchomić menedżera alarmów, z zakładki User Interface -> Systems wybierz Alarm.

Konfigurację rozpocznij od pola Number of Alarms – wprowadź liczbę 6. Tyle alarmów będzie obsługiwał menedżer. W polu Address podaj rejestr alarmowy %R30, w którym na poszczególnych bitach będą przechowywane informacje na temat zaistniałych alarmów.

Sekcja Alarm Point Configuration pozwala skonfigurować treści oraz grupy, do których będą należały alarmy. Wartość w kolumnie Alarm Bit wskazuje bit rejestru alarmowego. Przejście bitu w stan wysoki spowoduje wyświetlenie odpowiedniego komunikatu w oknie alarmu. Treść alarmu skonfigurujesz w oknie Alarm Info, a grupę, do której będzie należał alarm, w oknie Group.

Sekcja Remote Acknowledgement and Clear pozwala podać zmienne, za pomocą których można w sposób zdalny potwierdzać i kasować alarmy – tę sekcję pozostaw bez konfiguracji.

Grupowanie alarmów ma na celu poprawienie czytelności aplikacji. W oknach alarmowych możesz skonfigurować, które grupy alarmowe będę w nich wyświetlane. W tej aplikacji przyjmij, że alarmy stanu wysokiego będą należały do grupy 1, natomiast alarmy stanu niskiego do grupy 2.

Skonfiguruj alarmy zgodnie z poniższą listą:

GroupAlarm BitAlarm MessageAlarm Info
1R30.1Zbiornik 1wysoki poziom zbiornika
2R30.2Zbiornik 1niski poziom zbiornika
1R30. 3Zbiornik 2wysoki poziom zbiornika
2R30.4Zbiornik 2niski poziom zbiornika
1R30.5Zbiornik 3wysoki poziom zbiornika
2R30.6Zbiornik 3niski poziom zbiornika

Dodatkowo skonfiguruj składowanie alarmów na karcie MicroSD zainstalowanej w sterowniku.

W tym celu w oknie Alarm Logging to Removable Media skonfiguruj częstotliwość składowania danych jako dzienną – wybierz DAILY. W polu Alarm Log Path podaj nazwę katalogu, w którym będą przechowywane pliki z alarmami – wpisz Alarmy. Ustaw także format daty (MM/DD/YYYY) oraz format czasu (HH:mm).

Po zakończeniu konfiguracji w menadżerze alarmów utwórz nowy ekran operatorski. Na górze dodaj nazwę okna oraz wstaw dwa obiekty Alarm.

Pierwszy obiekt skonfiguruj jako alarmy bieżące (Summary List) i ustaw następujące parametry:

  • zaznacz opcję Allow Operator to Clear – pozwoli to na usuwanie alarmów przez operatora,
  • w sekcji Alarm Groups to Display wybierz grupę 1 i 2 – pozwoli to na wyświetlanie tylko alarmów pochodzących z tych grup.

Sposób wyświetlania alarmów w obiekcie konfigurujemy według własnego uznania podając:

  • czcionkę,
  • format daty,
  • format czasu,
  • stan.

Analogicznie konfigurujemy drugi obiekt, zmieniając typ alarmów na historyczne (History List).

Dodaj na ekran obiekt Screen jump i skonfiguruj jego tryb pracy jako Simulate ESC.

Ekran z alarmami będzie wywoływany z ekranu 2 – dodaj zatem obiekt Screen jump na ekranie 2, wskaż ekran docelowy i włącz opcję Allow ESC to return.

Ekrany, na których znajdują się zbiorniki, uzupełnij o obiekty graficzne pokazujące wystąpienie stanu alarmowego. Jeśli wystąpił alarm sygnalizujący wysoki lub niski poziom w zbiorniku, wokół zbiornika pojawi się czerwona ramka.

W tym celu na ekran dodaj obiekt prostokąta z okna Project Toolbox -> Rectangle.

Dwukrotnie klikając w narysowaną ramkę przejdź do jej konfiguracji. Ustaw odpowiednią grubość linii oraz kolor (na czerwony), a wypełnienie kształtu pozostaw puste.

W oknie Attributes wskaż rejestr kontrolny dla zbiornika 1 (%R42) i zaznacz Bit 1, odpowiedzialny za widoczność ramki, oraz Bit 2, odpowiedzialny ze jej pulsowanie.

W analogiczny sposób przygotuj ramki alarmowe dla zbiornika 2 i zbiornika 3, pamiętając o podpięciu odpowiednich rejestrów kontrolnych: %R43 dla zbiornika 2 i %R44 dla zbiornika 3. Odpowiednie ramki umieść na właściwych ekranach.

Przygotowany program wgraj do sterownika i wprowadź sterownik w tryb RUN. Przetestuj działanie obiektu alarmów, napełniając i opróżniając zbiorniki. Sprawdź, jak działa funkcja potwierdzania i kasowania alarmów oraz jakie informacje składowane są w oknie alarmów historycznych.

Wizualizacja alarmów na sterowniku Horner Canvas 7D:

Sterownik Horner daje również możliwość wejścia zarówno w Alarmy bieżące jak i historyczne:

W kolejnym artykule dowiesz się, w jaki sposób skonfigurować obiekt trendów.

Następny odcinek: Trend Graph.

Autor artykułu:


Jacek Dynak

Praktykant ASTOR

Student IV roku kierunku „automatyka i robotyka” na Politechnice Krakowskiej

Newsletter Poradnika Automatyka

Czytaj trendy i inspiracje, podstawy automatyki, automatykę w praktyce

Please wait...

Dziękujemy za zapis do newslettera!

Czy ten artykuł był dla Ciebie przydatny?

Średnia ocena artykułu: 0 / 5. Ilość ocen: 0

Ten artykuł nie był jeszcze oceniony.

Zadaj pytanie

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *