Do Projektu iAutomatyka dołączyli:

https://iautomatyka.pl/wp-content/uploads/2019/09/Mediathek.jpg

7 porad, które ułatwią Ci programowanie robotów KUKA

autor: Adam Larysz.

W tym artykule chciałbym podzielić się swoimi doświadczeniami, które w znaczącym stopniu ułatwiają programowanie robotów KUKA. Wpis można również uznać za kontynuacje artykułu 3 funkcje, które pomogą Ci lepiej programować roboty KUKA opublikowanego przez kolegę z pracy-Krzyśka.


1. Stosuj „notację węgierską”

Pisząc złożone programy w których występuje wiele zmiennych możemy łatwo się w nich pogubić. Aby tego uniknąć możemy stosować tzw. notację węgierska – polega ona na tym, że do nazwy zmiennej z przodu dodajemy literkę typu zmiennej. Przykładowo punkt osiowy zadeklarujemy jako „aPunkt”, punkt o współrzędnych kartezjańskich jako „xPunkt”, zmienna boolowska jako „bStan” itd.

2. Używaj zmiennych enumerycznych

Operowanie na liczbach w złożonych programach może być uciążliwe np. gdy liczby te reprezentują konkretne modele lub części które ma pobierać / obsługiwać robot. Z pomocą przychodzi zmienna enumeryczna, która przechowuje słowa. Oprócz tego ENUMy mogą również stanowić nazwy poszczególnych case’ów w funkcji SWITCH, mogą być używane jako zmienna w IF i wiele więcej. Zmienne enumeryczne w robotach KUKA deklarujemy następująco: ENUM nazwa_zmiennej_enumerycznej wartości_zmiennych;

np.: ENUM ePozycja gora, dół; ENUM eCzęsc srubka, nit

3. Zmienne globalne deklaruj w pliku config.DAT

Plik ten jest dostępny dla wszystkich programów w robocie i nie ma w nim konieczności używania operatorów PUBLIC i GLOBAL przy każdej zmiennej. W „configu” jest specjalne miejsce własnie na zmienne globalne w ciągu pt. „user globals”.

4. Przesunięcie bazy

Często zdarza się, że baza robota została przesunięta lub chcemy mieć współrzędne zerowe w innym miejscu niż są obecnie. Aby uniknąć bazowania na nowo możemy zaoszczędzić cenny czas i skorzystać z operatora przesunięcia bazy o wektor którego składnia wygląda następująco:

  • $base = $base:{x 0,y 0,z 0,a 0, b 0, c 0}.

W miejsca zer wpisujemy wartości o które chcemy przesunąć bazę. Operację tą możemy wykonać również dla narzędzia, wtedy składnia wygląda analogicznie następująco:

  • $tool = $tool:{x 0,y 0,z 0,a 0, b 0, c 0}.

Operator ten implementujemy bezpośrednio w kodzie aplikacji pod zadeklarowaną bazą.

5. Stosuj bezkolizyjne przejścia robota

Kiedy robot pracuje w kilku bazach oddalonych od siebie, możemy w znaczący sposób ułatwić sobie życie tworząc program do bezkolizyjnych przejść robota z jednej bazy do drugiej. Program możemy w późniejszym czasie wywoływać, zamiast dokładać do naszych programów dodatkowe ruchy. Program możemy w prosty sposób napisać w funkcji switch (przejscie(staraBaza:in, nowaBaza:in)).

6. Unikaj pracy robota przy pozycji osi 5 bliskiej 0°

Pozwoli nam to uniknąć wystąpienia osobliwości osi kiści osi 4 i 6. Więcej na ten temat w mojej poprzedniej pracy konkursowej.

https://iautomatyka.pl/sposoby-unikania-osobliwosci-kisci-w-robotach-kuka/

7. Używaj tablic i pętli

Możemy w ten sposób znacząco skrócić ilość linijek w naszym kodzie gdy przykładowo robot wykonuje ten sam ruch zmieniając tylko pewne wartości:

FOR aktualnyOtwor = 1 TO iloscOtworow  
xOtwor.x = wysokosc - Otwor[aktualnyOtwor] 
lin xOtwor 
wierc_na_raz()
ENDFOR

Mam nadzieję, że powyższy artykuł ułatwi wam w znaczący sposób programowanie robotów oraz zmniejszy ilość linijek i straconych nerwów.

Artykuł został nagrodzony w Konkursie iAutomatyka – edycja Wrzesień 2019

Nagrodę Zestaw do wina + gadżety dostarcza ambasador konkursu, firma Multiprojekt



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
  • Seria EX-Z Czujniki z serii EX-Z to jedne z najmniejszych urządzeń tego typu na świecie. Najcieńszy model posiada grubość jedynie 3 mm co zostało osiągnięte przez zastosowanie nowych półprzewodników i dzięki temu wyeliminowanie przewodów. B...
  • Monitorowanie obciążenia i rozdział potencjałów w jednym kompletnym rozwiązaniu To innowacyjny system dystrybucji napięcia 24 V DC zapewniający monitorowanie obciążenia i dystrybucję potencjałów w jednym kompletnym rozwiązaniu. Bezawaryjna ...
  • 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...
  • 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...
  • SCADA z wbudowanym serwerem sieci Web i routerem, bez licencji, bez limitów rejestrów! Brzmi dobrze? A to dopiero początek! Jest to urządzenie umożliwiające zarządzanie zarówno w sieci lokalnej jak i przez Internet z komputera, bądź urządze...
  • EPLAN Electric P8 oferuje nieograniczone możliwości planowania projektu, tworzenia dokumentacji oraz zarządzania projektami automatyki. Zautomatyzowane tworzenie szczegółowych raportów opartych na schematach okablowania jest integralnym ele...