wersja mobilna | kontakt z nami

Programowanie paneli HMI (5)

Numer: Sierpień/2016

Dobrze napisany program powinien się charakteryzować działaniem zgodnym z założeniami, ale także jak największą odpornością na błędy. Jednak sytuacje awaryjne zawsze będą się pojawiały podczas działania maszyny. Ważne jest, aby w prosty i jednoznaczny sposób poinformować dział utrzymania ruchu, co się aktualnie dzieje z maszyną. Do realizacji tego celu panele operatorskie HMI przewidują funkcjonalność zwaną alarmami. W ten sposób możemy wyświetlić zdarzenia i stany pracy.

Pobierz PDF

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

rysunek 1Zaczniemy od przygotowania zmiennych do wyświetlenia. W projekcie dla PLC należy przejść do folderu 01Visualization, a następnie Error. Znajdują się tam dwa bloki danych. Dla każdego z nich należy wyłączyć optymalizację poprzez wejście do właściwości. Przedstawia to rysunek 1. Należy odznaczyć w Attributes opcję Optimized block access. Taka konfiguracja wynika z faktu, że wyświetlenie alarmu na panelu HMI dla zmiennej typu Bool jest możliwe, gdy posiada ona fizyczny adres. Jedynie zmienne typu Int można wyświetlić jako alarm. Wówczas nie trzeba wyłączać optymalizacji.

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.

rysunek 2Przed przystąpieniem do pracy należy przygotujemy sobie HMI tags. Wcześniej wspomniane bloki danych, czyli V_ErrorOB oraz V_SoftwareError, a więc należy utworzyć sobie dwie tablice o takich samych nazwach. Wszystkie zmienne znajdujące się w tych blokach danych należy odpowiednio skopiować do utworzonych tablic HMI tags.

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.

rysunek 3Poniżej w zakładce Discrete alarm pokazano zmienną V_SoftwareError_Int podzieloną na poszczególne bity. Błąd Software Functions posiada adres fizyczny %DB22.DBX0.0. Zmiana wartości z 0 na 1 na tym adresie spowoduje pojawienie się komunikatu o błędzie o treści, która została umieszczona w kolumnie Alarm text.

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
rysunek 4V_ErrorOB_Int2. Przedstawiają to rysunek 3 oraz rysunek 4. Na poszczególnych bitach tych zmiennych zostały ustawione alarmy.

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.

rysunek 6Przejdźmy do Screen management i następnie Global screen. Widok tego okna został przedstawiony na rysunku 6. Zaczniemy od dodania obiektu znajdującego się na środku tego ekranu. Z prawej strony w karcie Toolbox znajduje się obiekt Alarm window. Należy przeciągnąć ten obiekt i umieścić na ekranie Global screen w podobny sposób, jak na rysunku 5. Ten obiekt posłuży do wyświetlania pojawiających się zdarzeń. Trzeba przeprowadzić tylko konfigurację tego obiektu, co przedstawia rysunek 7.

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 rysunek 7zaznaczamy wszystkie klasy. Ustawimy też dla tego obiektu zdarzenie, które uaktywni się po naciśnięciu Alarm indicator. Konfiguracja została przedstawiona na rysunku 8. Ten obiekt posiada tylko jedno zdarzenie, które należy powiązać z obiektem Alarm window.

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 8Rysunek 10 przedstawia sposób, w który konfigurujemy alarmy, jakie mają być wyświetlane w Alarm view. Zaznaczamy Pending alarms oraz Unacknowledged alarms, jak również wszystkie klasy alarmów.

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.

rysunek 9 rysunek 10
rysunek 11  rysunek 12

 

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.

rysunek 13Można teraz wykonać kompilację projektu i jego uruchomienie. Następnie po stronie kodu w sterowniku PLC trzeba zasymulować pojawienie się błędu. Można do tego celu użyć tablic monitorujących. Przykładowy widok błędu przedstawia rysunek 13.

Tomasz Gilewski

tomasz.gilewski@mistrzplc.pl
www.mistrzplc.pl
 

Pozostałe artykuły

Współpraca LOGO! z urządzeniem zewnętrznym - interfejs RS232

Numer: Lipiec/2017

W wielu zastosowaniach miniaturowy sterownik LOGO! jest bardzo dobrym wyborem. Ma obudowę, wyświetlacz LCD, nieskomplikowaną klawiaturę, wbudowany zegar RTC, a za pomocą LOGO! Soft Comfort można łatwo tworzyć aplikacje. Wejścia analogowe, wyjścia przekaźnikowe lub tranzystorowe świetnie nadają się do realizowania wielu aplikacji w automatyce domowej i nie tylko. Dodatkową zaletą jest możliwość dołączania modułów rozszerzeń, ...

Zasilacz KNX-20E. Prawidłowe działanie instalacji inteligentnego budynku

Numer: Lipiec/2017

W ostatnich latach znacząco wzrosło zapotrzebowanie na komfort oraz jak największą uniwersalność, czy to powierzchni mieszkalnych, czy też obiektów komercyjnych. Pociąga to za sobą konieczność stosowania złożonych systemów sterowania, gwarantujących inteligentną kontrolę, niskie zużycie energii i wysoki poziom bezpieczeństwa.

Programowanie paneli HMI (3)

Numer: Czerwiec/2016

Podczas całego tego kursu będziemy pracować z narzędziem TIA Portal. W poprzedniej części napisałem o instalacji, a w tej opiszę podstawy użytkowania.

Czujniki zbliżeniowe

Numer: Czerwiec/2017

Czujniki zbliżeniowe to jedne z najpowszechniej stosowanych sensorów w urządzeniach automatyki. Najczęściej do ich zadań należy wykrycie i sygnalizacja obecności obiektu bez kontaktu fizycznego z nim samym. Typowe aplikacje związane są najczęściej z maszynami pakującymi, drukującymi, wtryskarkami, obrabiarkami metali, liniami technologicznymi służącymi do produkcji żywności itd. Zastosowania można mnożyć. W artykule omówiono ...

Projekt maszyny do produkcji siatki ogrodzeniowej

Numer: Czerwiec/2017

Maszyny do produkcji siatki ogrodzeniowej dostępne na rynku pracują na zbliżonej zasadzie, dlatego też ten opis może być pomocny przy realizacji układów sterowań do podobnych maszyn. Drut zakupiony w szpulach jest rozwijany i zaginany na wrzecionie w siatkę o parametrach zgodnych z recepturą. Od dokładności i powtarzalności produkcji zależy jakość gotowego wyrobu.

Mobilna
Elektronika
Praktyczna

Elektronika Praktyczna

Sierpień 2017

PrenumerataePrenumerataKup w kiosku wysyłkowym

Elektronika Praktyczna Plus

lipiec - grudzień 2012

Kup w kiosku wysyłkowym