Przesyłanie dedykowanych sygnałów wejściowych i wyjściowych
Wymiana danych pomiędzy robotem Kawasaki a sterownikiem PLC, odc. 3
Kontakt w sprawie artykułu: Konrad Sendrowicz - 2024-09-11
Z tej części naszego cyklu dowiesz się, jak używać dedykowanych sygnałów i zobaczysz, jak wpływają one na redukcję kodu programu i ułatwiają procedurę sprawdzenia statusu robota.
Wymiana danych pomiędzy robotem Kawasaki Robotics a sterownikiem PLC
Wstęp: Integracja robota przemysłowego ze sterownikiem PLC i panelem HMI – dlaczego warto?1. Przesyłanie statusu połączenia i kodu błędów w czasie rzeczywistym.
2. Przesyłanie danych robota (typ, numer seryjny, godziny pracy i zużyta energia).
3. Przesyłanie dedykowanych sygnałów wejściowych i wyjściowych.
4. Przesyłanie parametrów ruchu w czasie rzeczywistym i informacji o wykonanym programie.
5. Przesyłanie aktualnej pozycji i dystansu do kolejnego punktu.
Wprowadzenie
Dedykowane sygnały wyjściowe i wejściowe umożliwiają automatyczne wysyłanie oraz wykorzystanie statusu stanów kontrolera oraz ramienia robota w programie. Nie wymagają one od użytkownika żadnych obliczeń i pozwalają zredukować cały program. Jedynym działaniem jest określenie miejsca w pamięci, w którym mają zostać zapisane/wysłane. Pełną listę dedykowanych sygnałów można znaleźć w instrukcji: „External IO Manual”.
W tym artykule wykorzystamy kilka dedykowanych sygnałów, które są dostępne w robotach typu handling i będą wysyłane bezpośrednio do sterownika PLC.
Ważne: Liczba sygnałów może się różnić w zależności od wersji oprogramowania. Dla robota spawalniczego czy malarskiego istnieją dedykowane sygnały do sterowania procesem spawania.
Dedykowane sygnały wyjściowe
Dedykowane sygnały wyjściowe służą do szybkiej analizy robota i wysyłania/odczytania określonych parametrów bez konieczności tworzenia dodatkowych formuł programu do sterowania. Sygnały wykorzystywane w tym artykule opisano poniżej.
Num. | Nazwa sygnału | Opis |
1 | Motor ON | Sygnalizuje, że zasilanie silników jest włączone. Działa tak samo, jak kontrolka zasilania silnika na T/P . |
2 | Cycle Start | Sygnalizuje, że robot jest w trybie automatycznym. Funkcja jest taka sama, jak lampka „Cycle” na T/P. |
3 | Error | Sygnalizuje wystąpienie błędu. |
4 | Under Emergency Stop | Sygnalizuje aktywację/naciśnięcie wyłącznika awaryjnego. |
5 | Teach Mode | Sygnalizuje, że robot jest w trybie uczenia. W trybie cyklu przyjmuje wartość 0. |
6 | Home1 | Sygnalizuje, że robot znajduje się obecnie w pozycji domowej 1 (dostępne 2 pozycje). |
7 | External PC program executing | Sygnalizuje, czy określony program PC działa. |
8 | Hold Mode | Sygnalizuje, czy robot znajduje się w trybie wstrzymania, uwzględnia również wstrzymanie zewnętrzne (external hold). |
9 | Battery Alarm | Sygnalizuje niski poziom napięcia baterii. |
10 | Encoder Temperature Warning | Sygnalizuje przekroczenie progu temperatury dowolnego enkodera. |
Ponieważ przesyłanych będzie 10 bitów statusu, w przykładzie zarezerwowany zostanie cały bajt (16 bitów) w komunikacji – od sygnału 193 do 208.
Poniżej znajdują się zrzuty ekranu ustawień sygnałów wyjściowych, które zostały wykorzystane w tym artykule:
Dedykowane sygnały wejściowe
Dedykowane wejścia umożliwiają wykonywanie działań w programie robota lub sterowanie funkcjami bez użycia dodatkowego kodu programu. Przykładem może być uruchamianie silników lub cyklu poprzez naciśnięcie zewnętrznego przycisku.
W przykładzie wykorzystanych zostanie tylko kilka sygnałów. Lista innych sygnałów znajduje się w dokumentacji.
Num. | Nazwa sygnału | Opis |
1 | Error Reset | Resetowanie błędu z zewnątrz, w taki sam sposób jak kliknięcie RESET na ekranie (wymaga tylko impulsu). |
2 | External HOLD (EXT_IT) | Zatrzymuje robota tymczasowo w trybie cyklu. (Działa tylko w trybie cyklu). Gdy obwód tego sygnału jest otwarty (stan niski), robot poruszy się w trybie cyklu. Gdy ten obwód sygnału jest otwarty (stan niski) podczas ruchu w trybie cyklu, robot zatrzymuje się natychmiast, a start cyklu pozostaje włączony. Gdy ten obwód sygnału jest zamknięty (stan wysoki), robot wznawia pracę od miejsca, w którym się zatrzymał. |
3 | External slow repeat | Tymczasowo zmniejsza prędkość powtarzania, gdy sygnał ma stan niski. Prędkość jest ustawiana w menu Aux. A-0508. |
Ponieważ przesyłane będą tylko 3 bity stanu, w przykładzie zarezerwowanych będzie tylko 8 bitów w komunikacji.
Poniżej znajdują się zrzuty ekranu z ustawieniami sygnału wejściowego, które zostały użyte w tym artykule:
Program sterownika PLC
1. Na początek należy zdefiniować zmienne w GVL. W tej części szkolenia wszystkie zmienne mają typ BOOL, mogą mieć stan wysoki lub niski. Pozwoli to w łatwy sposób wyświetlić wszystkie sygnały na wizualizacji.
Ważne jest, aby za każdym razem przy uruchomieniu aplikacji robot nie był w trybie hold oraz slow reapeat. Aby to osiągnąć, należy ustawić jako domyślną wartość początkową TRUE, a więc stan wysoki (sygnały te działają w logice odwrotnej i wartość TRUE oznacza wyłączenie danej funkcji).
VAR_GLOBAL
Motor_ON_State: BOOL;
Cycle_State: BOOL;
Error_State: BOOL;
E_STOP_State: BOOL;
TeachMode_State: BOOL;
Home1_State: BOOL;
PC1_State: BOOL;
Hold_State: BOOL;
Battery_alarm_State: BOOL;
Encoder_temp_State: BOOL;
Error_reset_SIG:BOOL;
External_Hold_SIG:BOOL:=TRUE;
Slow_Repeat_SIG:BOOL:=TRUE;
END_VAR
2. Następnie zdefiniowane zmienne należy przypisać do modułu komunikacyjnego (Mapping), aby dane odbierane zostały wpisane do właściwej zmiennej. Po przypisaniu wszystkich wartości okno powinno wyglądać jak poniżej:
Poniżej znajdują się sygnały wyjściowe ze sterownika PLC:
3. Do obsługi tych sygnałów nie zostanie dodana żadna linia kodu. Całość będzie używana bezpośrednio na wizualizacji.
4. Ostatnią operacją jest wyświetlenie odebranych danych. Pola, na których będą wyświetlane dane, zostały dodane do ekranu wizualizacji.
Z elementów Basic wybierz „LAMP” i przypisz zmienną „Motor_ON_State” jak na poniższym zrzucie ekranu:
Pozostałe statusy są przypisywane w ten sam sposób, więc ekran po przypisaniu wszystkich statusów powinien wyglądać jak niżej:
Sygnały wyjściowe ze sterownika PLC przypisane są do trzech przycisków: aby zresetować błąd, przełączyć robota w tryb wstrzymania lub tryb powolnego poruszania się w cyklu.
Sygnał resetowania błędu wymaga tylko impulsu, więc akcja dla przycisku zostanie przypisana do naciśnięcia i zwolnienia przycisku – jak na ekranie poniżej:
Przycisk wstrzymania pracy Hold powinien utrzymać aktualny stan do kolejnego nadciśnienia przycisku, tak aby zarówno zatrzymanie, jak i uruchomienie robota wymagała akcji od operatora. W tym celu dla tego przycisku wykorzystana została funkcja Toggle.
Przycisk Slow Repeat działa na tej samej zasadzie/logice, co przycisk Hold, więc konfiguracja jest identyczna.
Działająca aplikacja
W następnej części dowiesz się, jak odczytać dynamiczne parametry ruchu robota, takie jak prędkość, moment obrotowy czy temperaturę enkoderów, za pomocą poleceń języka AS.
Następny odcinek: Przesyłanie parametrów ruchu w czasie rzeczywistym oraz informacji o wykonanym programie