Treści
PackML – jak odpowiedzieć na wyzwania przemysłu 4.0 w języku maszyn?
PackML – jak odpowiedzieć na wyzwania przemysłu 4.0 w języku maszyn?
W jednym z naszych poprzednich artykułów przedstawialiśmy ideę PackML i pokazywaliśmy, dlaczego jednolity język maszyn może znacząco wspomóc integrację systemów i przepływ pracy w fabryce. W poniższym tekście skupimy się natomiast na konkretnych wyzwaniach, które możemy zaadresować poprzez PackML.
Wyzwanie 1. – PackTags
Jeżeli pomyślimy o standardzie PackML jak o języku maszyn pakujących, to tak jak każdy język potrzebuje on pewnego zasobu słów, dzięki którym można formułować przekaz informacji. Takimi słowami w standardzie PackML są PackTag’i. ISA-TR88, niczym słownik, przedstawia nam zestaw słów, wyjaśniając ich znaczenie i podając przykłady użycia, tak aby każda osoba, która z nich korzysta, jednoznacznie wiedziała co oznacza dana zmienna i w jakiej jednostce jest wyrażona.
PackTags – określony zbiór zmiennych o zdefiniowanych atrybutach:
- Nazwa
- Typ
- Jednostka
- Zakres
- Struktura
Przykład:
[UnitName].Command.MachSpeedTyp: REAL
Jednostka: Pierwotne opakowanie/minutę
Opis: Aktualna prędkość maszyny
Wyzwanie:
Wdrożenie systemu mes w zakładzie produkcyjnym. Zebranie tych samych danych z maszyn różnych producentów.
Narzędzie:
PackTag’s
Rozwiązanie:
Ujednolicone dane na temat produkcji, pomimo różnych dostawców maszyn, pewność informacji, krótszy czas wdrożenia, minimalizacji ryzyka wystąpienia błędu, brak konieczności inwestycji w dodatkową infrastrukturę czujników.
Podobnie jak w języku, ze słów formułujemy zdania, a z nich wypowiedzi, które później możemy przedstawić w formie książki, artykułu, wiersza czy piosenki. Tak samo w języku maszyn pakujących program sterujący możemy zdekompletować od poziomu ogólnego – trybu pracy, przez kolejny poziom dekompletacji – stany, po szczegółową „treść” czyli algorytm sterujący.
Wyzwanie 2. – Stany
Standard PackML zdefiniował 17 stanów, w których może znajdować się maszyna. Pozwala to jednoznacznie określić sytuację jaka obecnie występuje w jej cyklu produkcyjnym, co umożliwia m. in. szybką diagnostykę urządzenia.
Operator, który podchodzi do zatrzymanej maszyny, sprawdzając jej stan wie, że do zatrzymania doszło, ponieważ zakończyła ona zadaną partię produkcyjną, a nie z powodu awarii braku materiału wsadowego czy opakowań. Dzieje się tak dzięki zdeklarowaniu stanów i możliwych przejść pomiędzy nimi.
Definiując stany i przejścia pomiędzy nimi, standard PackML nie mówi nam, co maszyna powinna wykonywać w każdym z tych stanów. Ta decyzja należy do programisty maszyny i zależy od jej specyfikacji, wykonywanych czynności i procesu. To producent maszyny najlepiej wie, które z podzespołów pracujących w maszynie, powinny być wyłączane a które załączane i w jakim momencie. Dodatkowo takie rozwiązanie pozwala na ochronę know-how, dając możliwość zabezpieczenia kodu źródłowego wykonywanego w danym stanie.
Wyzwanie:
Przekazanie informacji operatorowi maszyny o bieżącej sytuacji na maszynie.
Szybkie wdrożenie operatora. Rotacja operatorów pomiędzy różnymi maszynami.
Narzędzia:
Stany oraz diagram stanów.
Rozwiązanie:
Użycie stanów oraz zdeklarowanie relacji pomiędzy nimi zgodnie z diagramem stanów. Operator wie o obecnej sytuacji na maszynie, wie co mogło wydarzyć się wcześniej. Wdrażając operatora nie musimy uczyć go algorytmu sterującego urządzenia. Wystarczy, że pokażemy relację pomiędzy poszczególnymi stanami. Zmieniając stanowisko pracy operatora, nie musimy wdrażać go w nową maszynę i nowe zasady sterowania.
Wyzwanie 3. – Tryby pracy
Ponieważ każda maszyna, poza cyklem produkcyjnym posiada szereg innych funkcjonalności, w ramach PackML zdefiniowano tzw. tryby pracy. Czego innego oczekujemy od maszyny, gdy chcemy by pracowała w pełni automatycznie – definiujemy wówczas np. tryb automatyczny, w którym stan Executing, będzie opowiadał za produkcję wyrobów.
Inne będą natomiast nasze oczekiwania podczas serwisu lub utrzymania/czyszczenia maszyny. Możemy wówczas zdefiniować tryb serwisowy lub maintenance, w którym stan executing może dawać funkcjonalność poruszania każdym elementem maszyny oddzielnie bądź uruchamiać sekwencję samoczynnego mycia urządzeń.
Tryb pracy jest zatem zdefiniowanym zbiorem stanów. Może składać się z wszystkich 17 bądź tylko niektórych stanów zdefiniowanych w standardzie PackML. Nie ma ograniczeń w liczbie zdefiniowanych trybów pracy i ich nazewnictwie, natomiast relacje pomiędzy stanami zawsze pozostają niezmienne i zgodne z diagramem stanów. Logika zdefiniowana w danym stanie jest unikatowa dla danego trybu pracy.
Wyzwanie:
Różne zadania maszyny, poza cyklem produkcyjnym.
Narzędzia:
Tryby pracy
Rozwiązanie:
Tryby pracy, w których definiujemy wykorzystywane stany. Logika danego stanu jest unikatowa dla każdego trybu. Przykładowe tryby pracy to automatyczny, ręczny, serwisowy, jogging.
Rys. Tryb pracy Automatyczny
Menadżer trybów pracy
Tak samo jak każdy zespół naszych pracowników, potrzebuje dobrego menadżera, który nimi zarządza. Podobnie nasza maszyna, korzystająca z języka PackML potrzebować będzie menadżera trybów pracy. Nie chcielibyśmy przecież dopuścić do sytuacji, w której operator wózka widłowego, w trakcie zdejmowania palety z magazynu wysokiego składowania, zostawił ją na widłach wózka i poszedł na przerwę obiadową.
Tak samo nie chcemy, aby maszyna pracująca w trybie automatycznym, znajdując się w stanie execute, w którym trwa produkcja właściwa nagle przeszła w tryb maitenance i uruchomiła, np. sekwencję mycia. Wiązałoby się to nie tylko z stratą produktu, ale prawdopodobnie również z uszkodzeniami samej maszyny! Dlatego do akcji wkracza menadżer trybów pracy, który określa stany w jakich możemy dokonywać przejścia pomiędzy poszczególnymi trybami i dopilnuje, aby nie doszło do tego w stanach przez nas nie pożądanych.
Źródła zdjęć: