Na wstępie chciałem zdementować wszystkie domysły – ten artykuł nie będzie o gotowaniu.
Dawno temu, gdy jako początkujący automatyk słyszałem, że klient chce obsługę receptur to w moich oczach pojawiał się strach. Teraz jest zupełnie inaczej. Wiem jak działają i jak je obsłużyć. Dzisiaj postanowiłem podzielić się tą wiedzą z młodszymi automatykami. Receptury w automatyce powinny być rozumiane jako swego rodzaju baza danych, albo „przepis” zawierający np ilości poszczególnych składników. Załóżmy, że w tym artykule będzie to zawartość procentowa trzech składników, służąca do produkcji danego koloru farby.
Przygotowanie obsługi receptur przedstawię na przykładzie panela DOP-110WS firmy Delta Electronics.
Zacznijmy od przygotowania…
Po włączeniu DOP Softa (programu do edycji ekranów serii DOP) wybieramy interesujący nas panel. W naszym przykładzie jest to wcześniej wspomniany 110WS. Klikamy „next”.
Projektowy czarodziej („Project Wizard”) przeniesie nas do świata możliwości komunikacyjnych. Tutaj zostawmy domyślne ustawienia. Port COM2, nazwa połączenia „Link2”.
Wybór zatwierdzamy klawiszem „Finish”. Następnym krokiem jest dwukrotne kliknięcie na opcję „16-B;it Recipe” w drzewie projektu.
Oczom programisty ukaże się okno tworzenia biblioteki receptur. Najpierw musimy uaktywnić (1-„Enable”) opcję receptur. W drugim kroku wybieramy adres, pod który wybrana receptura będzie przerzucana. Wybierzmy rejestry od D100 (4) w sterowniku do którego odnosi się połączenie „Link2”- 3
Gdy już mamy wybrane rejestry PLC należy stworzyć siatkę, która będzie przetrzymywać receptury w HMI. W tym celu klikamy na ikonkę tabeli z symbolem „+”. Teraz musimy zadecydować ile i jak długich receptur udostępnimy dla użytkownika. Wprowadźmy 100 receptur, długich na 60 pól. Zatwierdzamy klawiszem OK.
Kolejnym krokiem jaki musimy zrobić jest skonfigurowanie specjalnych rejestrów w PLC. Wchodzimy w zakładkę „Options” -> „Configuration”
W wybranej zakładce ustawiamy rejestry kontrolne oraz statusowe. Pierwsze z nich służą do sterowania panelem, natomiast rejestry „Status” zawierają dane na temat aktualnego stanu naszego HMI. W tej chwili (tworzenia receptur) najważniejszym dla nas jest bit 2 z rejestru „Recipe Control” odpowiadający za wpisanie receptury do sterownika PLC.
Na tym kończymy żmudne przygotowanie ustawień. Przejdźmy zatem do tworzenia wizualizacji. Aby ten artykuł nie rozciągał się w nieskończoność ograniczę się do minimum niezbędnego do zobrazowania jak działają receptury.
Wizualizujmy tzn. tworzymy wizualizację…
W oknie głównym klikamy prawym klawiszem myszy i dodajmy kilka przycisków nawigacyjnych.
Z menu Button wybieramy przycisk typu „Increment” oraz „Decrement”. Przyciski te, nie będą służyły do zmieniania wartości w recepturach. Posłużą nam do zmiany numery aktualnie podglądanej receptury.
Adres zmiennej która ma być inkrementowana, wpisujemy ręcznie. RCPNO – na pierwszy rzut oka brzmi to tajemniczo, ale w praktyce jest to Recipe Number- czyli numer receptury. Stworzyliśmy 100 receptur także ograniczamy wartość maksymalną („Limit”) do 100.
Aby zaspokoić zmysł estetyczny i nasza wizualizacja nie była smutna i szara warto odwiedzić zakładkę „Picture” i z z szerokiej gamy gotowych grafik wybrać jakąś symbolizującą zwiększanie, np. strzałkę w górę.
W sposób analogiczny tworzymy przycisk dekrementacji numeru receptury.
No dobrze, mamy klawisze nawigacyjne, ale nie do końca wiemy czym nawigujemy. Dodajmy zatem okno o nazwie „Numeric Display”.
W jego opcji „Read Address” wpisujemy także RCPNO.
Receptury służą do ułatwiana życia. Aby życie użytkownika było wyjątkowo łatwe do naszych receptur dodajmy nazwę. W tym celu potrzebne będzie pole „Character Entry”. W „Write” i „Read Address” wpiszmy pierwsze pole receptury czyli RCP0. Długość tego pola określmy np na 4 znaki „String Length”.
Każda receptura oprócz nazwy, numeru powinna zawierać jakieś dane. Zatem dołóżmy okno typu „Numeric Entry”. Nasze receptury mają długość 60 pól, więc zaadresujmy to pole jako RCP31. Stwórzmy także dwa dodatkowe okna o adresach RCP33 i RCP35. Warto zadeklarować długość zmiennych oraz wartości skrajne ( „Intiger Digits, Min, Max”).
Aby dokładnie zobrazować działanie receptur dodajmy do wizualizacji aktualne zmienne PLC, które przyjmują wartości wybrane z receptur z HMI. Ich adresy to odpowiednio D100 (rejestr zadeklarowany na jednym z pierwszych zdjęć, tuż obok opcji „Enable” dla receptur.)
Rejestry z PLC które będziemy podglądali to:
- D100 <= RCP0 – kod/nazwa receptury;
- D131 <= RCP31- wartość dla składnika A;
- D133 <= RCP33 – wartość dla składnika B;
- D135 <= RCP35 – wartość dla składnika C;
Teoretycznie można już włączyć symulację, ale receptury pomimo że będą zapamiętywane w HMI nie będą przerzucane do PLC. Dlaczego?
Ponieważ nie wykorzystujemy nigdzie bity 2 ze rejestru „Control Block”. Dodajmy klawisz „Set Constant”.
Przypiszmy mu adres D5. Aby ustawić bit 2 licząc od bitu numer 0, musimy ustawić wartość 4.
Poniżej widok naszej wizualizacji z ekranu dla programisty. Wyświetliłem dodatkowo adresy zmiennych.
W tej chwili możemy wgrać program do panela HMI, ale ciężko byłoby mi zrobić screeny. Zdjęcia byłyby nieczytelne dlatego z pomocą przychodzi nam symulacja offline. Odpalmy ją!
Uzupełniamy pola „KOD PRODUKTU”, „SKŁADNIK A, B, C” dla receptury nr 1. Następnie klikamy na strzałkę w górę (2) i uzupełniamy dane dla receptury nr 2. W ten sposób możemy uzupełnić wszystkie 100 receptur, ale po co? Te dwie wystarczą nam do zobrazowania działania programu.
W tej chwili widzimy tuż obok strzałek recepturę nr o kodzie TED4. Aktualnie wybrana receptura jest pusta gdyż nie ustawiliśmy drugiego bitu w rejestrze D5. Zróbmy to! W tym momencie w rejestrach PLC (aktualnie wybrany kod RCP oraz jego wartości) pojawiły się liczby z okienek u góry.
W tym momencie możemy swobodnie nawigować, wprowadzać do pamięci HMI nowe receptury czy edytować istniejące. Bez zmian na wykonywany przez PLC program. Sterownik przyjmie zaktualizowane wartości dopiero po naciśnięciu klawisza „Wybierz RCP”.
Mam nadzieję, że mój artykuł pozwolił zrozumieć Ci sposób tworzenia receptur.
Oczywiście można iść o krok dalej i zablokować możliwość edycji receptur dla operatora, a udostępnić ją po zalogowaniu na profil „technologa”, ale o tym może w następnym artykule.
![]() ![]() |