PODSTAWY PROGRAMOWANIA ROBOTA MOVEMASTER-EX =========================================== Niniejsza dokumentacja zawiera opis podstawowych instrukcji, z których skladają się programy dla robota MOVEMASTER-EX. Programy dla robota są plikami tekstowymi o dowolnej nazwie (do ośmiu znaków ASCII, bez spacji) i standardowym rozszerzeniu *.PRG. W pojedynczej linii może się znajdować dokładnie jedna instrukcja dla robota. Instrukcje wykonywane są w takiej kolejności, w jakiej znajdują się w programie, przy czym instrukcjom tym NIE NALEŻY PRZYPISYWAĆ żadnych etykiet (etykiety będą automatycznie przypisywane kolejnym instrukcjom programu w momencie jego ładowania do układu sterowania robota). Instrukcje można pisać zarówno małymi jak dużymi literami. Znak $ w danej linii oznacza, że wszystkie znaki po nim nastepujące (aż do konca linii) są komentarzem (jeśli więc znak $ wystąpi w pierwszej kolumnie, to cała linia będzie interpretowana jako komentarz). W programie dla robota wystąpić mogą następujące instrukcje podstawowe: ----------------------------------------------------------------------- MO numer - ruch chwytaka robota do pozycji o podanym numerze. Stosowanie takiej instrukcji wymaga uprzedniego "nauczenia" robota wykorzystywanych w programie pozycji. W wyniku tego "uczenia" określonemu numerowi pozycji przypisany zostaje konkretny układ poszczególnych ramion robota (a więc również konkretne położenie chwytaka w przestrzeni), a także stan chwytaka (zamknięty/otwarty). Jesli stan chwytaka przypisany pozycji o numerze podanym w instrukcji MO jest inny, niż stan chwytaka przed wykonaniem tej instrukcji, to NAJPIERW następuje zmiana stanu chwytaka (otwarcie lub zamknięcie) a dopiero potem ruch ramion robota, zakończony pełnym zatrzymaniem. Wykaz zapamiętanych w układzie sterowania robota pozycji używanych do obsługi elastycznego systemu obróbkowego EMCO jest przedstawiony na diagramie stanowiącym załącznik do ćwiczeń laboratoryjnych (diagram ten jest omówiony na końcu niniejszej dokumentacji) Przykład: MO 10 (ruch do pozycji o numerze 10) MC nr1,nr2 - ciągły ruch chwytaka robota po trajektorii określonej przez pozycje o numerach od nr1 do nr2. W wyniku tej instrukcji chwytak przemieszcza się do pozycji o numerze nr1, po czym BEZ ZATRZYMYWANIA przechodzi przez wszystkie pozycje o numerach pośrednich między nr1 i nr2, aż dojdzie do pozycji o numerze nr2, w której następuje zatrzymanie. Dopuszczalne są zarówno instrukcje MC, w których nr1nr2 (ruch odbywa się wówczas w kierunku przeciwnym). Uwaga! Przy realizacji instrukcji MC ignorowane są stany chwytaka (zamknięty/otwarty) przypisane poszczególnym pozycjom (chwytak pozostaje przez cały czas w takim stanie, w jakim był przed realizacją instrukcji MC) Przykłady: MC 15,19 (ruch do pozycji o numerze 15, następnie 16,17,18 aż do 19) MC 19,15 (ruch do pozycji o numerze 19, następnie 18,17,16 aż do 15) MP x,y,z,alfa,beta - ruch chwytaka robota do pozycji określonej przez wartości współrzędnych "x","y","z","alfa","beta". Współrzędne x,y,z opisują docelowe polożenie punktu charakterystycznego chwytaka (tzw. TCP - tool center point), który w robocie MOVEMASTER-EX znajduje się pomiędzy szczękami chwytaka (w jego płaszczyźnie symetrii), w odległości ok. 15 mm od końca szczęk (co odpowiada położeniu wycięć pryzmatycznych w szczękach, służących do chwytania przedmiotów za powierzchnie walcowe). Współrzędna "alfa" określa kąt (w stopniach), jaki z płaszczyzną poziomą tworzy oś chwytaka (na przykład pozycja chwytaka odpowiadająca chwytaniu od góry wałków leżących poziomo na paletach jest okreslona przez kąt alfa=-90). Współrzędna "beta" określa kąt obrotu chwytaka wokół tej osi. Przykład: MP 200,200,100,-90,37 MJ j1,j2,j3,j4,j5 - ruch ramion robota do pozycji określonej przez położenie kątowe każdego z tych ramion, odpowiednio j1,j2,j3,j4,j5 określone w stopniach GO - otwarcie chwytaka (grip open) GC - zamknięcie chwytaka (grip close) SP nr - ustawienie numeru stopnia prędkości (0-9) przemieszczania się ramion robota. Standardowo ustawiony jest 4 stopień prędkości. Przykład: SP 5 NT - "zaparkowanie" robota (nest) czyli ustawienie jego ramion w pozycji "startowej". Pozycja ta charaktery- zuje się tym, że w celu jej utrzymania silniki napędowe poszczególnych ramion nie muszą być obciążone, a ponadto w pozycji tej można też bezpiecznie przesuwać robota na saniach od jednej obrabiarki do drugiej w elastycznym systemie obróbkowym EMCO. Zaleca się, aby po zakończeniu pracy przez robota został on zaparkowany. Nie zaleca się natomiast stosowania instrukcji NT w środku programu, gdyż jej realizacja jest czasochłonna. TI t - zatrzymanie robota na określony czas "t", który podawany jest w dziesiątych częściach sekundy Przykład: TI 5 (zatrzymanie na pół sekundy) HE nr - Zapisanie aktualnej pozycji robota pod podanym numerem (uwaga: instrukcja ta zmienia w sposób nieodwracalny pozycję robota, która mogła być wcześniej wprowadzona metodą oczenia Przykład: HE 105 DW dx,dy,dz - przesunięcie chwytaka o określone wartości wzdłuż osi X,Y i Z (orientacja kątowa pozostaje niezmieniona) Przykład: DW 100,0,10 MA nr1,nr2 - ruch chwytaka do pozycji określonej na podstawie współrzędnych x,y,z,a,b (patrz instrukcja MP) dwóch pozycji o podanych numerach (nr1 i nr2) w ten sposób, że każda z tych współrzędnych pozycji docelowej jest sumą odpowiadających jej współrzędnych pozycji nr1 i nr 2 Przykład: MA 5,8 ED - koniec programu (end). Instrukcja ta MUSI się znaleźć na końcu każdego programu robota. Przykład programu: ------------------ MC 1,9 GC $ Chwycenie wałka znajdującego się na palecie prawej $ na pozycji P1 (według diagramu pozycji) MC 10,15 $ Podniesienie wałka MC 115,110 $ Położenie wałka na palecie prawej na pozycji P3 GO $ Puszczenie wałka MC 105,100 $ Wycofanie chwytaka NT ED DIAGRAM POZYCJI ROBOTA UŻYWANYCH DO OBSŁUGI SYSTEMU EMCO ======================================================== Na diagramie pokazane są położenia i trajektorie chwytaka robota stosowane przy obsłudze elastycznego systemu obróbkowego EMCO przez robota MOVERMASTER-EX. Charakterystyczne położenia chwytaka zaznaczone są symbolami w postaci elips i prostokątów. Oto najważniejsze z nich: NEST - położenie zaparkowania robota POZYCJA OCZEKIWANIA - położenie "czekania" robota np. na koniec pracy obrabiarki (przed odebraniem obrobionego przedmiotu). Pozycja ta jest także właściwą pozycją, w której powinny się znajdować ramiona robota przy przemieszczaniu sań robota od jednej obrabiarki do drugiej (zapewnia ona bezkolizyjność takiego przemieszczenia). C5-CNC - położenie chwytaka wewnątrz przestrzeni roboczej tokarki, stanowiące granicę pomiędzy przemieszczeniami odpowiadają- cymi zgrubnemu i dokładnemu pozycjonowaniu przedmiotu obrabianego między kłami wrzeciona i konika F1-CNC - położenie chwytaka wewnątrz przestrzeni roboczej frezarki, stanowiące granicę pomiędzy przemieszczeniami odpowiadają- cymi zgrubnemu i dokładnemu pozycjonowaniu przedmiotu obrabianego w imadle maszynowym KONIK - położenie chwytaka, w którym chwyta on lub puszcza przedmiot mocowany między kłami wrzeciona i konika IMADŁO - położenie chwytaka, w którym chwyta on lub puszcza przedmiot mocowany w imadle maszynowym NAD PRAWĄ PALETĄ - położenie chwytaka nad prawą paletą (znajdujacą się przy tokarce), stanowiące granicę pomiędzy przemieszczeniami odpowiadającymi zgrubnemu i dokładnemu pozycjonowaniu przedmiotu obrabianego na jednej z pozycji tej palety. Od tego położenia rozchodzą się trajektorie do poszczególnych położeń na palecie prawej P1, P2, P3... odpowiadających chwytaniu (lub kładzeniu) przedmiotów na palecie NAD LEWĄ PALETĄ - położenie chwytaka nad lewą paletą (znajdującą się przy frezarce), stanowiące granicę pomiędzy przemieszczeniami odpowiadającymi zgrubnemu i dokładnemu pozycjonowaniu przedmiotu obrabianego na jednej z pozycji tej palety Od tego położenia rozchodzą się trajektorie do poszczególnych położeń na palecie lewej L1, L2, L3... odpowiadających chwytaniu (lub kładzeniu) przedmiotów na palecie Pomiędzy charakterystycznymi położeniami chwytaka narysowane są (w postaci łuków) trajektorie odpowiadające przemieszczeniom od jednego charakterys- tycznego położenia do drugiego. Tym trajektoriom przypisane są ciągi numerów pozycji, które można wykorzystywać w instrukcjach MO i MC (np. zapis 20-25 oznacza ciąg pozycji 20,21,22,23,24,25, gdzie pozycje 20 i 25 są pozycjami krańcowymi, natomiast 21,22,23,24 - pozycjami pośrednimi). Łuki narysowane linią cienką odpowiadają pozycjom, którym został przypisany stan otwarty chwytaka, zaś łuki narysowane linią grubą odpowiadają pozycjom, ktorym został przypisany stan zamknięty chwytaka (należy jednak pamietać, że instrukcja MC ignoruje przypisany pozycjom stan zamknięcia/otwarcia chwytaka). Trajektorii łączącej położenia "START" i "NAD PRAWĄ PALETĄ" nie przypisano żadnych pozycji pośrednich ze względu na bliskość obu położeń. UWAGA! Po zaznaczonych trajektoriach można się poruszać w zasadzie w obu kierunkach, jak również przemieszczać się z otwartym chwytakiem po trajektoriach zaznaczonych linią grubą, a także z zamkniętym chwytakiem po trajektoriach zaznaczonych linią cienką (o ile używamy instrukcji pozycjonowania MC). Koniecznie jednak należy uwzględnić rodzaj trajektorii (z otwartym czy z zamknietym chwytakiem) a także kierunek strzałek w przemieszczeniach odpowiadających dokładnemu pozycjonowaniu przedmiotu w uchwytach obrabiarek oraz odbieraniu go z tych uchwytów (na obszarze pozycjonowania dokładnego tzn. pomiędzy położeniami "C5-CNC" i "KONIK" oraz pomiędzy "F1-CNC" i "IMADŁO"). Jest to spowodowane tym, że trajektorie odpowiadające umieszczeniu przedmiotu w uchwycie i odebraniu przedmiotu z tego samego uchwytu różnią się w sposób istotny swoją specyfiką. We wspomnianym obszarze ruch z otwartym chwytakiem musi się tam odbywać po trajektorii zaznaczonej linią cienką, zaś ruch z chwytakiem zamkniętym - po trajektorii zaznaczonej linią grubą zgodnie z kierunkiem strzałek. Należy zwrócić uwagę, że danemu położeniu charakterystycznemu chwytaka robota może odpowiadać kilka różnych numerów pozycji należących do różnych trajektorii. Oznacza to, ze wszystkim tym pozycjom przypisane jest dokładnie takie samo położenie poszczególnych ramion robota. Mogą one więc być stosowane zamiennie (należy tylko mieć na uwadze mogący je różnić stan zamknięcia/otwarcia chwytaka).