Do Projektu iAutomatyka dołączyli:

https://iautomatyka.pl/wp-content/uploads/2019/06/kuka_emtsystems.jpg

3 funkcje które pomogą Ci lepiej programować roboty KUKA

autor: KTrybula.

Pisząc ten krótki wpis chciałbym pomóc początkującym Automatykom lub tym którzy dopiero rozpoczynają pracę z robotami KUKA. Chciałbym zaprezentować Ci 3 funkcje, według mnie bardzo przydatne i pomocne przy programowaniu robotów KUKA. Zostały one przeze mnie i kolegów sprawdzone w boju podczas codziennej pracy z manipulatorami KUKA KRC2.

SIGNAL

Funkcja SIGNAL służy do powiązania zmiennej sygnałowej z konkretną wartością wejścia/wyjścia robota bądź ich wielokrotnością. Funkcja posiada dwa parametry – nazwę i przedział przyporządkowanego I/O. Przykładowo jeśli z poziomu robota chcemy wysterować zawór który podpięty mamy do 12 wyjścia cyfrowego to zamiast stosowania podstawowej komendy:

$OUT[12] = TRUE

Możemy zadeklarować sygnał za pomocą wspomnianej wyżej funkcji. Składnia przedstawiona jest poniżej.

SIGNAL *nazwa_sygnału* *typ i lokalizacja/zakres*

Korzystając nadal z przykładu z zaworem należy zadeklarować sygnał jak poniżej.

SIGNAL zawor $OUT[12]

Deklaracja jest bardzo prosta i dzięki zastosowaniu funkcji SIGNAL jeśli będziemy chcieli wysterować przykładowy zawór podpięty do 12 wyjścia cyfrowego robota, wystarczy, że wpiszemy w programie:

zawor = TRUE

Proste? Oczywiście, a to nie koniec! Jeśli chcemy wysłać do sterownika PLC zmienną typu integer o rozmiarze 2 bajtów należy zadeklarować sygnał o odpowiednim zakresie. Załóżmy, że przesyłamy zadaną wartość obrotową silnika o nazwie OutPredkosc zawierającą się od 2 do 3 bajtu włącznie więc od 9 do 24 wyjścia cyfrowego.

SIGNAL OutPredkosc $OUT[9] TO $[24]

Typ sygnału z jakiego możemy korzystać w funkcji SIGNAL to:

  • wejścia binarne – $IN,
  • wyjścia binarne – $OUT,
  • wejścia analogowe – $ANIN,
  • wyjścia analogowe – $ANOUT,
  • cyfrowe wejście – $DIGIN.


PULSE

Funkcja PULSE służy do wysterowania konkretnego sygnału na określony czas i stan. Co ważne komenda ta nie opóźnia i nie zatrzymuje działania programu w porównaniu do komendy WAIT SEC. Funkcja PULSE ogranicza się tylko do wyjść i sygnałów typu bool. Składnia wygląda następująco:

PULSE(*sygnał*,*stan*,*czas*)

Jako sygnał można określić wyjście cyfrowe $OUT[nr_wyjscia], lub zadeklarowany poprzez funkcję SIGNAL sygnał cyfrowy.

Stan określają dwie wartości:

  • TRUE,
  • FALSE.

Czas określony jest w sekundach i zawiera się w zakresie od 0.1 do 3 sekund. Jeśli znamy już składnię funkcji PULSE i zadeklarowaliśmy sygnał zaworu sprawdźmy jak wyglądałoby wysterowanie go 1 sekundę korzystając z PULSE i bez.

PULSE(zawor,HIGH,1)

lub:

zawor = TRUE

WAIT SEC 1

zawor = FALSE

Nie ma wątpliwości jaki sposób jest wygodniejszy, dodatkowo program nie jest zatrzymany a stan po zadeklarowanym czasie wróci do poprzedniej wartości.

TRIGGER

Ostatnią w tym wpisie przydatną komendą będzie TRIGGER. Funkcja ta pozwala wywołać komendę równolegle w czasie ruchu robota. Jeśli podczas ruchu do pozycji potrzebujemy wysterować wyjście, przypisać do zmiennej czy wywołać podprogram nie przerywając ruchu to właśnie komenda TRIGGER będzie przydatna.

Składnia funkcji przedstawia się następująco:

TRIGGER WHEN *odległość* *opóźnienie* DO *komenda*

W parametrze *odległość* do wyboru mamy 2 możliwości:

  • DISTANCE = 0 – komenda wykona się podczas rozpoczęcia kolejnego ruchu,
  • DISTANCE = 1 – komenda wykona się na końcu następnego ruchu.

Parametr *opóźnienie* określa czas zwłoki w milisekundach. Należy pamiętać, że opóźnienie musi zawierać się w czasie wykonywania kolejnego ruchu. Wartość opóźnienia należy zapisać jako:

  • DELAY = czas w ms

Komendą może być wywołanie podprogramu, przypisanie wartości do zmiennej czy ustawienie sygnału. Sprawdźmy kilka przykładów:

Ustawienie stanu wysokiego sygnału zawor, 150 ms po rozpoczęciu ruchu ptp do punktu aP1:

TRIGGER WHEN DISTANCE=0 DELAY=150 DO zawor=TRUE

PTP aP1

Wywołanie podprogramu wiercenie po osiągnięciu pozycji aP2:

TRIGGER WHEN DISTANCE=1 DELAY=0 DO wiercenie()

PTP aP2

Przypisanie wartości 10 do zmiennej iLicznik 100ms przed osiągnięciem punktu aP3:

TRIGGER WHEN DISTANCE=1 DELAY=-100 DO iLicznik=10

PTP aP3

Mam nadzieję, że przedstawione funkcje okażą się przydatne podczas pracy z robotami KUKA i zaoszczędzą czasu i linijek programu 😉

Artykuł został nagrodzony w Konkursie iAutomatyka – edycja Czerwiec 2019

Nagrodę Głośnik + klucz do szaf + zestaw gadżetów dostarcza ambasador konkursu, firma WAGO.



Utworzono: / Kategoria: , ,

Reklama

Newsletter

Zapisz się i jako pierwszy otrzymuj nowości!



PRZECZYTAJ RÓWNIEŻ



NAJNOWSZE PUBLIKACJE OD UŻYTKOWNIKÓW I FIRM

Reklama



POLECANE FIRMY I PRODUKTY
  • Produkty i rozwiązania firmy SICK są równie różnorodne jak codzienność w przedsiębiorstwie. Szkolenia SICK dla użytkowników umożliwiają zdobycie wiedzy na temat zróżnicowanej oferty naszych innowacyjnych produktów w formie dostosowanej do k...
    Link: Terminy
  • Zapraszam Cię na kurs tworzenia wizualizacji HMI z wykorzystaniem panelu XV102 od firmy EATON. Kurs stworzyłem z myślą o każdym, kto chce zacząć przygodę z tworzeniem wizualizacji HMI przy użyciu programu Galileo. Stworzyłem kurs bazujący n...
  • Urządzenia firmy FATEK istnieją na rynku polskim od 2004 roku i stały się alternatywą dla już istniejących rozwiązań i urządzeń. Niezawodność, korzystna cena i możliwości sterowników PLC sprawiły, że zyskały one ogromne zainteresowanie prog...
  • Obsługa za pomocą urządzeń mobilnych zapewnia wygodę i ciągłość pracy Operatorzy maszyn mogą teraz płynnie przełączać kontrolę nad maszyną między głównym interfejsem HMI a urządzeniami mobilnymi. Nowa funkcja systemu mapp View firmy B&R...
  • Pomiar odległości to jedna z podstawowych dziedzin w technologii czujników. Do określania położenia w różnorodnych zastosowaniach wykorzystywana jest szeroka gama procesów. Firma Pepperl+Fuchs już teraz – w odróżnieniu od konkurencji ...
  • Kurs zaczyna się od uniwersalnych porad związanych z czytaniem schematów elektrycznych. Następnie, Agata stopniowo wprowadzi Cię w zagadnienia związane z wykorzystaniem oprogramowania podczas tworzenia kompletnej dokumentacji elektrycznej. ...
    Link: Terminy