Strona główna ASTOR

Konfiguracja i obsługa alarmów w sterownikach PLC
Kurs programowania PLC od podstaw
Odc. 14

Kontakt w sprawie artykułu: Kamil Zajdel - 2020-03-03

Z tego artykułu dowiesz się:

  • Jak działają alarmy w sterownikach PLC?
  • Jakie rodzaje alarmów wyróżniamy w sterownikach PLC?
  • Jak wykorzystać obiekt alarmów w tworzonej aplikacji?

W poprzednim artykule dowiedziałeś/aś jak konfigurować oraz jak korzystać z obiektu menu. W tym odcinku nauczysz się, w jaki sposób konfigurować alarmy bieżące i historyczne w sterownikach PLC Horner.

Kurs programowania PLC od podstaw dla automatyków i elektryków

Podstawy programowania sterowników PLC

  • 1. Wprowadzenie. Jak skonfigurować, podłączyć oraz uruchomić sterownik PLC?
  • 2. Jak tworzyć i edytować projekty w oprogramowaniu Cscape?
  • Programowanie sterownika PLC w języku drabinkowym

  • 3. Jak tworzyć oraz konfigurować bazę zmiennych w środowisku Cscape?
  • 4. Jak korzystać ze styków, cewek i bloków operacji arytmetycznych w programie sterującym?
  • 5. Jak odmierzać czas w programie sterującym i jak konfigurować timery?
  • 6. Jak porównywać wartości i wykorzystać wyniki operacji logicznych?
  • 7. Jak zliczać impulsy i konfigurować liczniki?
  • 8. Jak konwertować typy zmiennych i przemieszczać zmienne w programie?
  • 9. Jak sterować wykonywaniem programu logicznego? Instrukcja skoku warunkowego
  • Programowanie zintegrowanego panelu HMI

  • 10. Jak budować ekrany operatorskie z obiektami do wizualizacji i zadawania wartości zmiennych?
  • 11. Jak umożliwić nawigację między ekranami operatorskimi oraz jak korzystać z gotowych obiektów graficznych w środowisku Cscape?
  • 12. Jak wizualizować zmienne analogowe oraz jak modyfikować ich wartości przy pomocy obiektów dostępnych w oprogramowaniu Cscape?
  • 13. Jak korzystać z obiektu menu?
  • 14. Konfiguracja i obsługa alarmów w sterownikach PLC
  • 15. Kontrolka Data Trend
  • Komunikacja sterowników PLC w sieci szeregowej i Ethernet

  • 16. Komunikacja szeregowa Modbus RTU Master i Slave
  • 17. Komunikacja CsCAN
  • 18. Komunikacja Ethernet Modbus TCP
  • 19. Wysyłanie wiadomości Email w sterowniku PLC
  • Zaawansowane funkcje sterownika PLC

  • 20. Regulator PID
  • 21. Składowanie danych: Data logging
  • 22. Składowanie danych: karta MicroSD
  • 23. Trendy historyczne oraz receptury w programie
  • 24. Setpoint, backup i restore danych oraz generowanie raportów z poziomu sterownika
  • 25. Hasła i zabezpieczenia w programie, ustawienia języka oraz edytor dostępny w narzędziu, opcja autodokumentacji / Dodatkowe ustawienia i możliwości edycji
  • Alarm Object to jeden z podstawowych obiektów wykorzystywanych w aplikacjach sterujących. Pokazuje on przekroczenie wartości wybranych rejestrów. Przy pomocy tego obiektu możesz gromadzić historię alarmów i zarządzać nimi z jednego miejsca.

    System obsługi alarmów składa się z:

    • menadżera alarmów, który działa w tle i monitoruje na bieżąco stany skonfigurowanych punktów alarmowych. Konfiguracja punktów alarmowych obejmuje podanie rejestru alarmowego, treści jaka ma być zwracana przy wystąpieniu alarmu, grupy do której należy alarm i schematu kolorów, jakie będą miały wpisy w oknie alarmów w zależności od bieżącego stanu punktu alarmowego;
    • graficznego obiektu alarmów, który informuje operatora o zaistniałych alarmach i pozwala nimi zarządzać z jednego miejsca. Konfiguracja obiektu obejmuje podanie typu, grup wyświetlanych alarmów oraz formatu daty i godziny.

    W sterownikach PLC Horner w Alarm Object możesz obsługiwać dwa typy alarmów:

    • alarmy bieżące – okno przechowuje informacje dotyczące bieżących stanów skonfigurowanych punktów alarmowych i pozwala na potwierdzanie oraz kasowanie alarmów;
    • alarmy historyczne – w oknie zbierane są wszystkie informacje o pojawiających się alarmach i akcjach podjętych przez operatora.

    Skonfigurowany punkt alarmowy może mieć jeden z następujących stanów:

    • ALM – punkt alarmowy aktywny, czekający na potwierdzenie operatora,
    • ACK – punkt alarmowy potwierdzony przez operatora,
    • RTN – punkt alarmowy nie potwierdzony przez operatora, ale stan monitorowanego, parametru wrócił do prawidłowego poziomu,
    • CLR – punkt alarmowy skasowany przez operatora bez potwierdzenia.

    Zasada działania alarmów w sterownikach Horner APG

    Jeśli zostanie przekroczona konkretna wartość rejestru, monitorowana przy pomocy bloków funkcyjnych porównania, załącza się konkretny bit alarmowy.

    Stan bitu alarmowego jest na bieżąco monitorowany przez menadżera alarmów i w chwili, gdy jego stan zmieni się z niskiego na wysoki, pojawi się informacja w oknie alarmów bieżących, wraz z datą i godziną jego wystąpienia. Ustawi się też stan alarmu na ALM.

    Operator ma możliwość:

    • potwierdzić alarm – jeśli alarm zostanie potwierdzony, jego stan zmienia się na ACK i będzie dostępny w oknie alarmów bieżących, dopóki nie ustąpi stan alarmowy. Informacja o potwierdzeniu alarmu pojawi się w oknie alarmów historycznych.
    • usunąć alarm – jeśli alarm zostanie usunięty, wpis zostanie skasowany z okna alarmów bieżących. Informacja o usunięciu alarmu pojawi się w oknie alarmów historycznych.
    • nic nie robić – jeśli alarm nie zostanie potwierdzony, a ustąpi stan alarmowy, w oknie alarmów bieżących alarm będzie miał stan RTN. Informacja o ustąpieniu alarmu pojawi się w oknie alarmów historycznych.

    Programowanie w akcji!

    Program sterujący oraz aplikację wizualizacyjną możesz teraz rozbudować o 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ędziesz mógł/mogła 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.

    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ą Always 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ą adresie %R30.1. Zmienną %R30.1 nazwij ZB1_ALM_HI. 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. Do cewki podłącz zmienną o adresie %R30.2 i nazwij ją  ZB1_ALM_LO.

    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.

    Rozbudowa ekranów operatorskich

    Czas na konfigurację alarmów. Aby uruchomić menadżera alarmów, z menu Config wybierz Alarm.

    Konfigurację rozpocznij od pola Number of Alarms – wprowadź liczbę 6. Tyle alarmów będzie obsługiwał menadż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 Remote Acknowledgement and Clear pozwala podać zmienne, przy pomocy których można w sposób zdalny potwierdzać i kasować alarmy – tę sekcję pozostaw bez konfiguracji.

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

    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 grup 2.

    Skonfiguruj alarmy zgodnie z poniższą listą:

    • Bit 1 – grupa 1, treść: Zbiornik 1 – wysoki poziom zbiornika
    • Bit 2 – grupa 2, treść: Zbiornik 1 – niski poziom zbiornika
    • Bit 3 – grupa 1, treść: Zbiornik 2 – wysoki poziom zbiornika
    • Bit 4 – grupa 2, treść: Zbiornik 2 – niski poziom zbiornika
    • Bit 5 – grupa 1, treść: Zbiornik 3 – wysoki poziom zbiornika
    • Bit 6 – grupa 2, treść: Zbiornik 3 – niski poziom zbiornika

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

    W tym celu w oknie Alarm Logging to Removable Media:

    • zaznacz pole Enable log 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 format daty – MM/DD/YYYY
    • ustaw format czasu – HH:mm
    • jako rejestr statusowy podajemy rejestr %R300

    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) 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).

    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.

    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.

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


    W kolejnym artykule z cyklu Kurs programowania PLC od podstaw: Jak konfigurować obiekt trendów?

    • Co to jest obiekt Trend
    • Jakie typy trendów występują w sterowniku PLC
    • Jak w praktyce wykorzystać obiekt Trend w aplikacji

    Czy ten artykuł był dla Ciebie przydatny?

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

    Ten artykuł nie był jeszcze oceniony.

    Zadaj pytanie

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