Konsola programująca iPendant robotów FANUC z funkcjonalnością HMI (human machine interface)
22/10/2011
Wstęp
Roboty przemysłowe na bardzo wielu stanowiskach zastąpiły pracę ludzką, jednakże człowiek nie został całkowicie wyeliminowany w procesie produkcyjnym. Mimo stosowania stanowisk zrobotyzowanych często występuje potrzeba zapewnienia osoby nadzorującej ich pracę lub współpracującej z takim stanowiskiem. Powodów tego może być wiele. Wynikają one ze specyfiki danego stanowiska np. podawanie detalu przez operatora, uzupełnienie surowca, reagowanie na zaistniałe zdarzenia nie obsługiwane automatycznie, potrzeba zmiany parametrów procesu. Medium pomiędzy robotem, a człowiekiem obsługującym dane stanowisko jest interfejs użytkownika (ang. HMI – human machine interface). Może on przybierać prostą formę przycisków, lampek i potencjometrów, wyświetlacza graficznego wraz z klawiaturą lub bardziej zaawansowaną - wyświetlacza graficznego z panelem dotykowym. Ostatnia opcja jest bardzo często wybierana do współpracy ze stanowiskami zrobotyzowanymi.
Dzięki wyświetlaczowi graficznemu można w czytelny i jednoznaczny sposób wizualizować stan procesu odbywającego się aktualnie na stanowisku np. poprzez animację. Dodatkowo można wyświetlać informacje pomocnicze jak np. ilość cykli wykonanych danego dnia, temperaturę z czujnika, czas pracy, czy komunikaty dotyczące błędów. Czytelne przedstawienie takich informacji zwiększa komfort pracy z maszyną oraz umożliwia szybszą detekcję ewentualnych błędów, co ostatecznie skutkuje większą wydajnością pracy.
Poza prezentowaniem informacji z maszyny interfejs powinien również umożliwić użytkownikowi przesłanie informacji do maszyny. Przykładem wykorzystania takiej funkcjonalności może być kasowanie informacji o błędzie po usunięciu przyczyny jego wystąpienia, ustawienie prędkości pracy robota, zmiana stanu wyjścia cyfrowego kontrolera lub zatrzymanie procesu.
Na rynku istnieje wiele różnego rodzaju graficznych paneli operatorskich wyposażonych w ekrany dotykowe, ceny takich paneli zależą od marki oraz funkcjonalności przez nie oferowanej, mogą wynosić od kilku do kilkunastu tysięcy złotych.
Firma FANUC proponuje w swoich aplikacjach rozwiązanie umożliwiające osiągnięcie podstawowej funkcjonalności panelu operatorskiego bez dodatkowych kosztów związanych z zakupem takiego panelu.
Opis rozwiązania
Proponowane rozwiązanie opiera się na wykorzystaniu urządzenia przeznaczonego do sterowania robotem – iPendanta jako panelu operatorskiego. Urządzenie to występuje w wersjach z ekranem dotykowym oraz bez niego. Ekran dotykowy zapewnia większą wygodę w przypadku konfiguracji urządzenia jako panelu operatorskiego, w przypadku wersji bez ekranu dotykowego utworzenie oraz obsługa HMI na iPendancie również jest możliwa poprzez wykorzystanie jego klawiatury.
Proces tworzenia menu operatora polega na tworzeniu stron internetowych, które będą następnie wyświetlane na ekranie urządzenia, rekomendowanym środowiskiem do tej czynności jest program Microsoft FrontPage 2003. Firma FANUC Robotics zapewnia zestaw kontrolek ActiveX do umieszczenia na stronie, które umożliwiają wymianę danych pomiędzy robotem, a interfejsem.
Przykładowe kontrolki, które można wykorzystać to: przyciski, listy rozwijane, okna animacji, okna wykresów, okna dialogowe, pola zmiennych. Kontrolki umożliwiają dostęp do poniższych wartości:
rejestrów liczbowych,
zmiennych systemowych,
zmiennych programów KAREL,
cyfrowych wejść/wyjść,
analogowych wejść/wyjść,
wejść/wyjść na ramieniu robota,
wejść/wyjść grupowych.
Poza możliwością wymiany danych omawiany interfejs umożliwia uruchamianie programów w języku KAREL, znajdujących się w pamięci robota. Dzięki tej funkcji otrzymujemy zwinne narzędzie do wykonywania obliczeń poza programami TP robota, uruchamiania programów TP, wykonywania komend języka KCL.
Dodatkowo w projektowanym interfejsie możemy wykorzystać element języka HTML jakim jest forma (FORM). Przykład jej użycia został przedstawiony w poniższym przykładzie.
Przykładowe Menu
Na rysunku 1 pokazano ekran przykładowego interfejsu. Dodano na nim formę, w której do wyboru mamy nazwy programów do uruchomienia. Poniżej pokazano fragment skryptu HTML umożliwiający wybór programu TP do uruchomienia i wywołanie programu typu KAREL o nazwie GUI.KL, za pomocą którego żądany program TP jest uruchamiany.

Rys. 1
W zaprezentowanym skrypcie dodano formę, a na niej element typu select za pomocą którego użytkownik wybiera żądaną nazwę programu do uruchomienia oraz element typu submit, czyli przycisk który uruchamia program GUI.KL do którego przekazano nazwę programu TP za pośrednictwem zmiennej nazwa_prog zdefiniowanej w programie GUI.KL. W programie następuje uruchomienie programu TP o wybranej nazwie.
Poniżej formy służącej do wyboru programu umieszczono przycisk wywołujący podstronę utworzonego menu zawierającą okno z wykresem oraz innymi informacjami dotyczącymi procesu (rys. 2).

Rys. 2
Obsługiwane są wykresy słupkowe oraz liniowe, przebiegi zmiennych można prezentować na wykresie wspólnym lub na osobnych wykresach. Przykład pokazano na rys. 3.

Rys. 3
W prawej górnej części okna jest wyświetlany stan przykładowych zmiennych, który jest odświeżany na bieżąco (co 250 ms), zmienne te mogą być m.in. typu logicznego, liczbowego lub znakowego. W prawej dolnej części okna umieszczono element typu Multi Control, który umożliwia wyświetlanie do 10 różnych napisów lub obrazów w zależności od stanu wybranej zmiennej, która przykładowo może być ustawiana w programie. Używając tej kontrolki można np. prezentować status wykonywanego zadania lub animować wybrane obiekty.
Przykładowe możliwości HMI utworzonego na iPendancie:
-wysłanie impulsu o określonej długości na wyjście cyfrowe,
-uruchamianie programów typu KAREL,
-wyświetlenie aktualnej pozycji robota,
-zmiana parametru programu zapisanego w określonym rejestrze,
-tworzenie animacji wskazującej aktualny status działania programu,
-przemieszczanie się pomiędzy różnymi podstronami HMI,
-monitorowanie stanu zmiennych oraz jego wyświetlanie na ekranie,
-wyświetlanie informacji o błędzie w przypadku jego pojawienia się.
Podsumowanie
Dużą zaletą wykorzystania iPendanta jako panelu operatora jest brak potrzeby dokupowania dodatkowego urządzenia oraz tworzenia dodatkowej linii komunikacyjnej pomiędzy HMI, a np. sterownikiem PLC lub robotem. Rozwiązanie to pozwala na utworzenie funkcjonalnego panelu operatorskiego, który umożliwi uruchamianie i zatrzymywanie programów, monitorowanie wartości zmiennych, zmienianie wartości rejestrów, animacje. Prosta metoda tworzenia menu pozwala zaoszczędzić czas, który należy poświęcić na jego projektowanie. Ustawienie minimalnego poziomu dostępności dla operatora zapobiegnie ingerowaniu w programy oraz zmienne robota. Rozwiązanie to powinno być rozważone w każdej mniej wymagającej aplikacji wykorzystującej robota firmy Fanuc Robotics.