Jak utworzyć i modyfikować receptury?
Kurs programowania paneli HMI odc. 8
Kontakt w sprawie artykułu: Wojciech Talik - 2020-04-21
Podczas kursu dowiesz się m.in.:
- jak utworzyć recepturę w aplikacji na panel HMI,
- jak wgrać oraz pobrać receptury do/ze sterownika PLC,
- jak zarządzać recepturami oraz zmieniać ich wartości.
Twoja aplikacja na panel HMI wyświetla już komunikaty o aktualnym stanie poziomu w zbiorniku i rejestruje je w dodanej przez Ciebie tabeli.
W tej części kursu dodasz kolejną funkcję, która przydaje się zwłaszcza przy procesach wymagających regularnej zmiany wartości np. ilości mieszanych składników. Dodasz również możliwość sterowania procentowym udziałem każdej z trzech substancji w mieszanej cieczy.
Programowanie paneli HMI – kurs dla automatyków
1. Jak stworzyć pierwszy projekt na panel HMI? 2. Jak skonfigurować ustawienia aplikacji? Interfejs i podstawowe funkcje środowiska deweloperskiego. 3. Jak dodawać i edytować ekrany operatora? 4. Jak zaprojektować interfejs graficzny? Podstawowe obiekty graficzne wykorzystywane w systemach HMI. 5. Jakie typy zmiennych wykorzystywane są w panelach operatorskich? 6. Co to są makra i jak wykorzystać je w aplikacji HMI? 7. Jak skonfigurować alarmy w panelach operatorskich? 8. Jak utworzyć i modyfikować receptury? 9. Jak wprowadzić automatyzację pracy aplikacji? 10. Jak dodać funkcję rejestrowania plików procesowych? Jak zapisywać dane? 11. Jak zapewnić komunikację ze sterownikiem PLC? Konfiguracja driverów. 12. Jak ograniczyć dostęp do aplikacji? Hasła operatorskie. 13. Jakie dodatkowe funkcjonalności mogą być przydatne przy projektowaniu aplikacji? 14. Podsumowanie. Jak efektywnie programować panele operatorskie?Komunikacja paneli HMI Astraada z produktami innych producentów
1. Komunikacja paneli Astraada HMI ze sterownikami Siemens S7-1200 2. Komunikacja sterownika Siemens LOGO! z panelem Astraada HMI za pomocą protokołu Modbus TCP 3. Komunikacja sterownika Horner APG z panelem Astraada HMI 4. Komunikacja sterownika Emerson VersaMax z panelem Astraada HMI 5. Komunikacja sterownika Astraada One z panelem Astraada HMIPrzygotowanie zmiennych wykorzystywanych w recepturach
Otwórz okno Tag Table, przez dwukrotne kliknięcie w pozycję Tags z drzewa projektowego i utwórz kolejny folder o nazwie receptury. W tym celu kliknij prawym przyciskiem myszy na pozycję Internal Memory i wybierz Add Subgroup.
Dodaj do folderu powyższe pozycje. Każda ze zmiennych posłuży do zmiany wartości w celu zmiany receptury na finalny produkt.
Więcej na temat zmiennych wykorzystywanych w panelach operatorskich dowiesz się w odcinku 5: Jakie typy zmiennych wykorzystywane są w panelach operatorskich? | Kurs programowania paneli HMI cz.5
Jak dodać nową recepturę?
Wybierz z drzewa projektowego pozycję Recipes i kliknij Add Recipe Block. Otwórz okno Recipe Block, w którym ustawisz zakres zapisywanych konfiguracji oraz przeznaczoną na nie pamięć programu. Zapoznaj się z funkcjami tego okna. Zwróć uwagę na opcje, które pozwalają na wgranie oraz pobranie receptur do/ze sterownika PLC.
Zaznacz opcję Write Recipe To PLC i wybierz tag o nazwie AKT_NAME, aby sprawdzić stan lub dokonać zmian ustawień wczytywania konfiguracji do urządzenia. Zatwierdź wybór zmiennej przyciskiem Select i przejdź do zakładki Data Item w oknie Recipe Block. Typ pierwszego argumentu, czyli Nazwa zdefiniuj jako Byte Array. Tego argumentu będziesz używał/a jako nazwę zapisywaną w aplikacji w formacie ASCII. W polu Total Character ustaw wartość na 4.
Pozostałe argumenty, które odnoszą się już bezpośrednio do wartości składowych każdego z kolorów, pozostaw w domyślnym typie, zmieniając tylko opcję Range Check tak, aby odczytywanie ich wartości odbywało się w przedziale od 0 do 100. Możesz dodatkowo w polu Name w zakładce General zmienić nazwę bloku na Kolory.
Analogicznie jak w poprzednich częściach kursu dodaj teraz osobny ekran o nazwie RECEPTURY. Pamiętaj o dodaniu odpowiednich przycisków.
Więcej na temat dodawania nowych ekranów do aplikacji dowiesz się w odcinku: Jak dodawać i edytować ekrany operatora? | Kurs programowania paneli HMI cz. 3
Dodaj do nowego ekranu obiekt Recipe Table. Klikając dwukrotnie w dodany obiekt, wejdź w jego konfigurację, a następnie w polu Recipe Block wybierz stworzoną przez Ciebie recepturę o nazwie kolory (0) oraz zatwierdź wprowadzone zmiany przyciskiem OK. Dodaj do listy receptur obiekt Scroll Bar dostępny w menu Objects i zakładce More Buttons. Zmień orientację przesuwnego paska na pionową oraz przypisz mu kontrolowany obiekt. Program automatycznie daje możliwość wyboru tylko tych obiektów, które znajdują się na aktualnie edytowanym ekranie. Dostosuj rozmiary i położenie obiektów oraz ich wygląd.
Rozbudowa funkcjonalna aplikacji
Przejdź teraz do dodania dwóch pozostałych zbiorników odpowiadających kolorom: zielonemu G oraz niebieskiemu B. Skopiuj istniejący zbiornik z literą R i umieść go w prawym górnym rogu ekranu głównego.
Podobnie wykonaj drugą kopię zbiornika wraz z oznaczeniem i umieść go w środku ekranu na podobnej wysokości, jak dwa pozostałe obiekty.
Zmień oznaczenia i ich kolory oraz poprowadź do nich rurociągi, korzystając z opcji Pipeline z górnego menu Object. Dostosuj wymiary oraz kształt rur, aby finalnie utworzyć rurociąg z połączeniami do każdego zbiornika z kolorami. Po zakończeniu edycji rurociągu, wykonaj dwie kopie zaworu znajdującego się na połączeniu zbiornika z czerwonym kolorem oraz głównym zbiornikiem i umieść je odpowiednio na połączeniu z pojemnikiem oznaczonym literą G oraz B.
Pamiętaj, aby w konfiguracji obiektu zmienić zmienne, które odpowiadają zaworom. Jest to niezbędne do prawidłowego działania aplikacji. Po wykonaniu wszystkich tych czynności ekran ZBIORNIKI powinien wyglądać podobnie do poniższego.
Dodaj teraz obiekty, które będą służyły do wyświetlania aktualnej wartości przypisanej do procentowego udziału danego koloru. Zamieść na ekranie głównym obiekt Numeric Display i zrób jego dwie kopie. Przypisz do każdego z obiektów odpowiednią zmienną, która znajduje się w stworzonym przez Ciebie folderze receptury. Bloki wyświetlające wartości umieść obok każdego z pojemników odpowiadających trzem kolorom.
Dodaj teraz możliwość wyświetlania nazwy aktualnej receptury. Możesz to zrealizować za pomocą obiektu Character Display, który przypisz do tagu AKT_NAME.
Umieść obiekt w pobliżu przycisku załączającego działanie całego programu (START).
Następnie dodaj obiekt Recipe Selector, który umożliwi wybranie receptur zdefiniowanych wcześniej w aplikacji. W oknie Recipe Name wybierz utworzoną przez Ciebie wcześniej recepturę (pojawi się tylko jedna opcja), dobierz czcionkę według Twoich preferencji i przyciskiem OK wyjdź z okna konfiguracji.
Dodaj teraz nowy przycisk Function Button (znajdziesz go w górnym menu Object) i umieść go obok dodanego obiektu wyboru receptury – zmień jego nazwę na ZAPISZ. Przypisz obiektowi funkcję Write Recipe to Controller. Przycisk ten posłuży Ci do wgrywania wcześniej zdefiniowanej receptury do urządzenia. Możesz dodatkowo przypisać mu funkcję Control by Bit, którą znajdziesz w zakładce Visibility (do funkcji przypisany został tag start).
Uzupełnienie makra
Aby całość działała poprawnie, musisz jeszcze uzupełnić kod (w makrze MAIN) o dodatkowe warunki uwzględniające dodane przez Ciebie zbiorniki kolorów.
Kod do skopiowania:
IF 0\start(B)
IF !0\ZAWORY\ZAW_OFF(B)
IF 0\poziom<0\RECEPTURY\AKT_R
0\ZAWORY\ZAW_R=1b(B)
0\ZAWORY\ZAW_G=0b(B)
0\ZAWORY\ZAW_B=0b(B)
ELIF 0\poziom< (0\RECEPTURY\AKT_R+0\RECEPTURY\AKT_G)
0\ZAWORY\ZAW_R=0b (B)
0\ZAWORY\ZAW_G=1b (B)
0\ZAWORY\ZAW_B=0b (B)
ELIF 0\poziom < (0\RECEPTURY\AKT_R+0\RECEPTURY\AKT_G+0\RECEPTURY\AKT_B)
0\ZAWORY\ZAW_R=0b (B)
0\ZAWORY\ZAW_G=0b (B)
0\ZAWORY\ZAW_B=1b (B)
ENDIF
0\mixer=1b(B)
IF 0\poziom<100k
0\poziom=0\poziom+1k
ELSE
0\ZAWORY\ZAW_R=0b (B)
0\ZAWORY\ZAW_G=0b (B)
0\ZAWORY\ZAW_B=0b (B)
0\ZAWORY\ZAW_R=0b (B)
0\bufor=0\bufor+1k
IF bufor>=20k
0\bufor=0k
0\mixer=0b (B)
0\ZAWORY\ZAW_OFF=1b(B)
ENDIF
ENDIF
ELIF 0\ZAWORY\ZAW_OFF(B)
IF 0\poziom>0k
0\poziom=0\poziom-1k
ELSE
0\start=0b(B)
0\ZAWORY\ZAW_OFF=0b(B)
ENDIF
ENDIF
0\licznik=0k
ENDIF
Twój program jest gotowy do sprawdzenia. Skompiluj go, zapisz i sprawdź jego działanie w symulatorze offline.
Materiały uzupełniające – dla tych, którzy chcą więcej:
W tym odcinku dowiedziałeś/aś się, jak dodać receptury oraz zarządzać nimi w programie Astraada HMI CFG. W kolejnym odcinku cyklu dowiesz się, jak automatyzować pracę aplikacji przez harmonogramy.
Jeżeli masz jakieś pytania na tym etapie kursu, napisz je w komentarzu – chętnie odpowiemy 🙂
W kolejnej części kursu „Jak wprowadzić automatyzację pracy aplikacji? | Kurs Programowanie paneli HMI” odc.9, dowiesz się:
- do czego służą harmonogramy,
- jak dodać harmonogram do zaprojektowanej aplikacji,
- jak uruchamiać i zmieniać harmonogramy w aplikacji.
Autorzy:
Paweł Podsiadło
Ewelina Niziołek
Dobrze opisane, Chciałbym się jednak dowiedzieć jak zaprogramować wybieranie receptur z przycisku, a nie z listy, czyli naciskam pole i wybiera się receptura 1 naciskami inne pole i wybiera się receptura 2 itd
Do receptury można przypisać przycisk.
Każda receptura ma przestrzeń w pamięci, do której można się odwoływać. 🙂 Adresy znajdzie Pan w polu Recipe Memory ustawień Recipe Block