Alarmy można podzielić na dwie grupy:
1. Dyskretne, w których zmiana stanu sygnału cyfrowego może powodować alarm.
2. Analogowe, które wskazują, czy wartość zmiennej (np. typu Int) przekroczyła dopuszczalny limit (górny, dolny).
Alarm analogowy zostanie pokazany na przykładzie temperatury. W folderze 01Visualization znajduje się folder Temperature. Jest tam blok o nazwie V_Temperature. Podobnie jak poprzednio, w HMI tags tworzymy nowy folder o nazwie Temperature oraz tablicę o nazwie V_Temperature. Należy skopiować do tej tablicy zmienną z bloku danych V_Temperature.
Konfiguracja zmiennych do alarmów
Do tablicy HMI tags o nazwie V_SoftwareError należy dodać jeszcze jeden tag np. o nazwie V_SoftwareError_Int typu Int co przedstawia rysunek 2. W kolumnie Access mode należy wybrać Absolute. Zmiennej został przypisany adres fizyczny %DB22.DBW0. Więc ta zmienna zawiera wszystkie cztery zmienne znajdujące się w bloku danych V_SoftwareError. Takie rozwiązanie jest konieczne, ponieważ tylko zmiennym typu Int lub Word można przypisać alarmy.
W kolumnie Info text możesz dopisać dodatkowe informacje/komentarze o błędzie.
Analogicznie do tablicy
V_ErrorOB dodajemy kolejne zmienne o nazwach V_ErrorOB_Int0 oraz
W tym przypadku wszystkie błędy zostały dodane do klasy Error (kolumna Alarm class), jednak można też w tej kolumnie wybrać Warning lub alarm z potwierdzeniem lub bez potwierdzenia.
W przypadku alarmu analogowego wykorzystamy temperaturę. Konfiguracja została przedstawiona na rysunku 5. W zakładce Analog alarms zostały skonfigurowane dwa alarmy w zależności od temperatury. Po przekroczeniu wartości 35° pojawi się błąd przekroczenia górnej granicy, natomiast po spadku temperatury poniżej wartości 16°, to zostanie wyświetlony alarm z powodu przekroczenia dolnej granicy.
Ekrany
Alarmy musimy gdzieś wyświetlić, zatem będą potrzebne nam dodatkowe ekrany. Zaczniemy od przygotowania globalnego szablonu, aby pojawienie się błędu powodowało automatyczne wyświetlenie komunikatu. Dodatkowo użyjemy obiektu, który będzie wyświetlał liczbę aktualnych błędów.
W zakładce General znajduje się pole Display. Zaznaczamy opcję Pending alarms i zaznaczamy wszystkie klasy. Pozostałe ustawienia domyślne są poprawne do naszego zastosowania.
W prawym górnym rogu umieszczamy obiekt Alarm indicator, który będzie wyświetlał liczbę błędów. We właściwościach dla tego obiektu
W folderze Screens dodać należy kolejny ekran o nazwie Alarms, co przedstawia rysunek 9. Standardowo na samej górze dodajemy nagłówek, co należy wykonać analogicznie jak w poprzednich odcinkach cyklu.
Następnie z karty Toolbox dodajemy obiekt Alarm view. Służy on także do wyświetlania alarmów, podobnie jak Alarm window. Konfiguracja tego obiektu została przedstawiona na rysunku 10 oraz rysunku 11.
Rysunek 11 przedstawia konfiguracje zakładki Toolbar. Zaznaczamy w polu Buttons „ptaszek” przy Tooltip. To spowoduje dodanie przycisku na obiekcie Alarm view. Naciśnięci tego przycisku spowoduje pojawienie się dodatkowego tekstu, który znajduje się w kolumnie Info text.
Pozostało nam dodanie jeszcze przycisku Reset, aby kasować pojawiające się błędy. Do tego przycisku należy przypisać zdarzenia, co przedstawia rysunek 12. Do zdarzenia Relese dodajemy funkcje SetBit, aby ustawić tagi odpowiedzialne za reset błedów po stronie kodu w sterowniku PLC.
![]() |
![]() |
![]() |
![]() |
Pozostało tylko do szablony MyTemplete dodać przycisk Alarms i przypisać do niego zdarzenie aktywacji ekranu Alarms po naciśnięciu tego przycisku.
W ten sposób została przygotowana część związana z wyświetlaniem alarmów i ewentualnie innych zdarzeń. W jednym z następnych odcinków pokaże, jak zrobić rejestrację tych zdarzeń w postaci pliku tekstowego.
Tomasz Gilewski
tomasz.gilewski@mistrzplc.pl
www.mistrzplc.pl