Strona główna ASTOR
Automatyka w praktyce

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.

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łuOpis
1Motor ONSygnalizuje, że zasilanie silników jest włączone. Działa tak samo, jak kontrolka zasilania silnika na T/P .
2Cycle StartSygnalizuje, że robot jest w trybie automatycznym. Funkcja jest taka sama, jak lampka „Cycle” na T/P.
3ErrorSygnalizuje wystąpienie błędu.
4Under Emergency StopSygnalizuje aktywację/naciśnięcie wyłącznika awaryjnego.
5Teach ModeSygnalizuje, że robot jest w trybie uczenia. W trybie cyklu przyjmuje wartość 0.
6Home1Sygnalizuje, że robot znajduje się obecnie w pozycji domowej 1 (dostępne 2 pozycje).
7External PC program executingSygnalizuje, czy określony program PC działa.
8Hold ModeSygnalizuje, czy robot znajduje się w trybie wstrzymania, uwzględnia również wstrzymanie zewnętrzne (external hold).
9Battery AlarmSygnalizuje niski poziom napięcia baterii.
10Encoder Temperature WarningSygnalizuje 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łuOpis
1Error ResetResetowanie błędu z zewnątrz, w taki sam sposób jak kliknięcie RESET na ekranie (wymaga tylko impulsu).
2External 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ł.
3External slow repeatTymczasowo 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

Newsletter Poradnika Automatyka

Czytaj trendy i inspiracje, podstawy automatyki, automatykę w praktyce

Please wait...

Dziękujemy za zapis do newslettera!

Czy ten artykuł był dla Ciebie przydatny?

Średnia ocena artykułu: 0 / 5. Ilość ocen: 0

Ten artykuł nie był jeszcze oceniony.

Zadaj pytanie

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *