Własne ekrany HMI w aplikacji PLC

Wiktor Susfał Akademia Unitronics Tagi: , , , , , ,

Ekrany HMI dodawane przez użytkownika do programu dla PLC. Zarządzanie oraz sposoby projektowania.

Czego dowiesz się czytając ten wpis?

Lekcja ta powstała w celu objaśnienia projektowania własnych ekranów HMI. Jest to zagadnienie dość ważne dlatego, że w rozbudowanych aplikacjach pojedynczy wyświetlacz sterownika może nie wystarczyć do pokazania wszystkich danych. Rozwiązaniem tego problemu jest więc rozdzielenie wyświetlanych informacji na kilka różnych HMI.

W dalszej części tego wpisu przedstawiono sposoby na zarządzanie przejściami pomiędzy ekranami. Co więcej, pokazano między innymi, jak powiązać dany ekran z wykonywaniem określonego podprogramu.

Z uwagi na fakt, że projektowanie HMI to zagadnienie towarzyszące większości działań związanych z programowaniem PLC, lekcja ta nie jest przewodnikiem po elementach, które na ekranie można umieszczać. Do tej pory wielokrotnie wykorzystywano już ekrany HMI w budowie programów PLC. Tak więc, pewne kolejne obiekty graficzne, jak np. listy obrazów, mierniki czy symbole, będą omawiane sukcesywnie w różnych częściach kursu.

Własne ekrany HMI – podstawowe opcje

Podobnie, jak w przypadku podprogramów, tak i tutaj istnieje możliwość dodania zarówno modułów grupujących ekrany, jak i samych ekranów. Moduły służą jedynie lepszej hierarchizacji tworzonych HMI.

Aby dodać nowy moduł, należy w środowisku VisiLogic kliknąć PPM na dowolny z już istniejących modułów (za pierwszym razem będzie to „!Start-Up Module”) oraz wyprać opcję „Add New Module”.

Analogicznie, jeśli chcemy dodać nowy ekran do danego modułu, wybieramy PPM ten konkretny moduł, a następnie opcję „Add New Display”.

Dany ekran HMI usuwa się, poprzez jego wybór PPM oraz użycie opcji „Delete”. Moduł ekranów usuwa się automatycznie, po tym, jak nie zostanie pod nim ani jeden HMI.

Ustawienia nowego ekranu

Poniższe zdjęcie przedstawia okno programu VisiLogic z nowo dodanym modułem ekranów „My_New_Module” zawierającym jeden HMI – „My_New_Display”. Do ekranu dodano początkowo jeden przycisk „Button” oraz dwustanowe pole tekstowe „Binary Text”.

Dodanie prostego ekranu HMI do projektu PLC
Dodanie prostego ekranu HMI do projektu PLC

Jak widać, element „My_New_Display”, obecny w drzewku projektu, można „rozwinąć” ukazując podległe mu obiekty. Przycisk i pole tekstowe dodano do tego HMI właśnie w celu lepszego wytłumaczenia zawartości rozwijanego menu. W jego skład wchodzą poniższe węzły.

  • Variables – jest to lista wszystkich dynamicznych obiektów zawartych na ekranie HMI. Dynamiczność oznacza tu zmianę swoich parametrów pod wpływem pewnych warunków – np. wartości wskazanego bitu. Tak więc, w tym przypadku, pod węzłem Variables widoczna jest pozycja symbolizujące dwustanowe pole tekstowe. Dwukrotne kliknięcie na nią otworzy menu ustawień tego pola.
  • Static – analogicznie do powyższego, jest to lista wszystkich statycznych elementów. W tym przypadku, jedyna pozycja symbolizuje przycisk (Button). Dwukrotne kliknięcie na nią znów otworzy odpowiednie menu z opcjami – tu, należące do tego przycisku.
  • Links – pod tym elementem znajdują się nazwy podprogramów wykonywanych odpowiednio podczas: załadowania, wyświetlania oraz zamknięcia danego ekranu. Ostatni element to natomiast nazwa bitu, który ma wartość „wysoką” podczas gdy ten HMI jest wyświetlany na panelu sterownika. Samo dwukrotne kliknięcie w węzeł „Links” otworzy okno, gdzie można również zdefiniować warunki przejść do innych ekranów. Zostanie ono omówione dokładniej w dalszej części lekcji.

Własne ekrany HMI w praktyce

Efektem działań wykonywanych od tej chwili będzie aplikacja z 3 ekranami HMI. Co więcej, do dwóch z nich przypisane będą określone podprogramy.

Każdy z nich będzie ponadto prezentował te same informacje. Dzięki temu widoczne będzie, jak zmiana HMI na wyświetlaczu sterownika będzie wpływać na wykonywanie logiki przez PLC.

Dodanie potrzebnych HMI do projektu dla PLC

Pierwszym krokiem będzie dodanie nowego modułu z ekranami zawierającego dwa HMI. Następnie, dla każdego z trzech ekranów (głowny + 2 dodatkowe), zdefiniujemy warunki przejścia oraz dodamy odpowiednie przyciski, które pozwolą na poruszanie się między nimi. Możliwe przejścia przedstawia poniższy schemat.

Schemat przejść pomiędzy ekranami HMI w projekcie dla PLC
Schemat przejść pomiędzy ekranami HMI w projekcie dla PLC

Oczywiście, w ogólnym przypadku, przejścia można dodawać w dowolny sposób. Odpowiednie czynności przedstawia poniższy film.

Ekrany HMI w VisiLogic – definiowanie przejść

Gdyby teraz wgrać program na sterownik, można by swobodnie przechodzić pomiędzy trzema pustymi ekranami.

Utworzenie podprogramów do powiązania z HMI

Jak działa przypisywanie podprogramów do HMI?

We wpisie dotyczącym podprogramów zaprezentowano działanie bloczka „Call Subroutine” służącego do ich wywoływania. Nie jest to jednak jedyny sposób na wykonanie takiego zadania.

Zarówno w drzewku projektu, pod elementem „Links” występującym pod każdym HMI (pokazanym wcześniej), jak i w zakładce „Links & Jumps” widocznej w górnej części edytora HMI, możliwe jest przyporządkowanie podprogramów do posiadanych ekranów.

Użytkownik może przypisać po jednym podprogramie, który:

  • wykona się jednorazowo przy wyświetleniu danego HMI na ekranie sterownika,
  • będzie się wykonywał cyklicznie, przez cały czas wyświetlania ekranu,
  • wykona się raz – po wyjściu z danego HMI.

Czym różni się takie przyporządkowanie od bloczka „Call Subroutine”? Bloczek ten powodował, że sterownik PLC, wykonując program główny, robił „skok” do podprogramu. Następnie, wykonawszy wszystkie instrukcje podprogramu, wracał do programu nadrzędnego i kontynuował jego realizację od momentu napotkania bloczka „Call Subroutine”.

Podprogramy przyporządkowane do HMI wykonują się natomiast niezależnie od programu głównego. Oznacza to innymi słowy, że jeśli sterownik wyświetla HMI z przypisanym podprogramem, to w danym czasie będzie realizował dwa zadania jednocześnie – ze swojej logiki i z tego podprogramu.

Potrzebne podprogramy

W celu prezentacji opisywanego tu mechanizmu, dodamy do logiki sterownika dwa podprogramy. Każdy z nich będzie modyfikował inną zmienną. Dokładniej mówiąc, będzie cały czas zmniejszał jej wartość od 10000 do 0. Podprogramy te nie będą wywołane w „!Main Routine”, lecz przypisane do każdego z dodatkowych HMI.

Dodatkowo, do „!Main Routine” dodamy bloczki modyfikujące w analogiczny sposób trzecią zmienną. Następnie, poprzez wyświetlanie tych samych zestawów danych (3 zmiennych) na każdym HMI, obserwować będziemy zachowanie sterownika.

Odpowiednie kroki przedstawia poniższy film.

Podprogramy dla ekranów HMI

Przypisanie podprogramów do utworzonych wcześniej HMI

Teraz, należy wrócić się do zakładki „Links & Jumps” (lub węzła „Links” w drzewku projektu) dla dwóch dodatkowych ekranów HMI i przypisać tam dodane wcześniej podprogramy jako „While Displaying”. Oznacza to, że dany podprogram będzie wykonywał się ciągle, dopóki odpowiedni ekran HMI będzie wyświetlany na panelu sterownika.

Ekrany HMI w VisiLogic - przypisanie podprogramu PLC do HMI
Ekrany HMI w VisiLogic – przypisanie podprogramu PLC do HMI

Dla drugiego HMI („Nowy_HMI_2”) należy postąpić podobnie. Jemu należy przyporządkować podprogram „Subroutine 2”. Na koniec, drzewko projektu powinno wyglądać ja na zdjęciu poniżej.

Drzewko projektu po przypisaniu podprogramów
Drzewko projektu po przypisaniu podprogramów

Uzupełnienie HMI o potrzebne elementy

Teraz, wystarczy już tylko dodać do wszystkich HMI odpowiednie obiekty, które pomogą śledzić wykonywanie logiki przez sterownik. Będą to trzy pola wyświetlające wartość zmiennej całkowitej.

Elementy te oferują wiele opcji, jak np. skalowanie liniowe, czy wprowadzanie danych z klawiatury. W tym przypadku skupimy się jedynie na przypisaniu do nich zmiennej. Dodatkowo, ręcznie wprowadzimy jej nazwę do zawartości pola.

Uzupełnienie ekranów HMI

Testowanie programu

Nie pozostało już nic innego, niż skompilować oraz wgrać program na sterownik. Nie ma znaczenia, której opcji wgrywania użyje się w tym przypadku. Jeśli nie wiesz, jak to zrobić, cofnij się do tej lekcji.

VisiLogic jest środowiskiem umożliwiającym śledzenie obecnego stanu zmiennych w pamięci sterownika oraz podgląd HMI na ekranie PC. Nie jest to tak rozbudowane rozwiązanie jak Remote Operator, gdyż m.in. pozwala na podgląd wyświetlacza tylko jednego PLC jednocześnie. Opcja ta została pokazana na poniższym filmie.

Prezentacja działania własnych ekranów HMI

Informacje o obecnie wyświetlanym HMI

Na początku tego wpisu wspomniano, że można zdefiniować bity pamięci (MB), które informują, czy dany HMI jest obecnie wyświetlany na panelu sterownika PLC.

Jako dodatek do tej lekcji, zamieszczono niżej krótki film instruktażowy. Jego efektem będzie umieszczenie na każdym dodanym ekranie dwustanowych ikonek, które graficznie przedstawią, jaki HMI jest obecnie w użyciu.

W tym celu wykorzystano obiekt „Binary Image” oraz ikonki ze standardowej biblioteki środowiska VisiLogic.

Wskaźniki stanu wyświetlania HMI

Do pobrania

W razie problemów z poprawnym wykonaniem zaprezentowanych tu kroków, możesz bezpłatnie pobrać plik projektu w VisiLogic. Zaleca się jednak, aby podczas nauki programowania, zadania te wykonywać samodzielnie.

W celu otrzymania linku do plików, wypełnij poniższy krótki formularz.

Pamiętaj, że ustawienia komunikacji ze sterownikiem PLC w VisiLogic są tu wprowadzone dla połączenia szeregowego z Vision V430. Powinieneś/aś je podmienić na takie, które odpowiadają Twojej konfiguracji.

Podsumowanie

Aby uzyskać dostęp do innych lekcji, powróć do strony startowej tego kursu.

Jeśli masz pytania, skontaktuj się z nami pod adresem e-mail: sterowniki@elmark.com.pl . Chętnie wysłuchamy również każdą konstruktywną krytykę na temat jakości tego kursu.

Więcej materiałów o tworzeniu graficznego HMI znajdziesz na kanale YouTube Producenta.