Jak naprogramovat úlohu v RT ToolBox2 Ing. Alexandr Fales
Tato publikace obsahuje základní seznámení s navržením úlohy, manuál pro programování a využití aplikace RT ToolBox2 s odladěním programu a virtualizací robotického systému v počítači pro následné nahrání do systému robota RV-2F-D robotického pracoviště SPŠ Ostrov (přímý postup nahrávání programu do systému robota a jeho spuštění není součástí této publikace). Autorem všech fotografií a obrázků, není-li uvedeno jinak, je autor této publikace. Pro všechny print screens (snímky obrazovky) v této publikaci platí: Print screens RT ToolBox2 verze 2.50. Mitsubishi Electric Corporation [software]. © 2012 Mitsubishi Electric Corporatoin [cit 2015-03-30]. Důležitá telefonní čísla: Ing. Alexandr Fales – 353 416 480
Ing. Roman Stark, CSc. - 353 416 430
„Podpora přírodovědného a technického vzdělávání v Karlovarském kraji“ Registrační číslo: CZ.1.07/1.1.00/44.0004
Jak naprogramovat úlohu v RT ToolBox2
Ing. Alexandr Fales
Návrh úlohy – zadání a rozbor 1) Zadání úlohy – rozmyslíme si, co budeme v námi připravované úloze od robota požadovat. V tomto konkrétním případě půjde o přesun kostek z levé a pravé oblasti od robota před něj s tím, že v levé části jsou umístěny kostky jedné barvy a v pravé části jsou umístěné kostky jiné barvy, přičemž je robot umístí před sebe a dále je mezi sebou barevně prostřídá. Z levé části bude brát kostky pomocí čelistí a z pravé části pomocí přísavky. Celková koncepce a rozvaha je na Vás. Až ji budete mít hotovou, co se má kam přesunout, jaké chapadlo použijete, jestli použijete čelisti nebo přísavku, zajděte k robotovi, umístěte předměty na odpovídající souřadnice a pomocí teaching panelu (boxu) celou Vámi navrženou úlohu zkuste sami realizovat, abyste mohli potvrdit reálnost a správnost Vámi navrženého zadání a postupu, popř. odhalili nedostatky s jejich následnou eliminací. Po té sepište zadání úlohy tak, aby bylo pochopitelné především pro žáky. Záleží na Vás, zda ho napíšete stručně, nebo ho rozepíšete podrobněji. Ukázkové textové zadání: Naprogramujte úlohu pro robota RV-2F-D robotického pracoviště SPŠ Ostrov. Činnost robota je následující. Robota umístěte do výchozí pozice P0 a nastavte mu rozevření čelistí. Přesuňte robota na pozici P1 pro naložení předmětu, přičemž spodní pozice nakládky je P9 a úchop bude proveden pomocí čelistí. Po uchopení předmětu ho přesuňte na pozici P3 pro vyložení předmětu za podmínky, že spodní pozice vykládky je P11. Dále přesuňte robota na pozici P8 pro naložení předmětu, přičemž spodní pozice nakládky je P16 a úchop bude proveden pomocí přísavky. Po uchopení předmětu ho přesuňte na pozici P4 pro vyložení předmětu, spodní pozice vykládky je P12. Následně přesuňte robota na pozici P2 pro naložení předmětu, přičemž spodní pozice nakládky je P10 a úchop bude proveden pomocí čelistí. Po uchopení předmětu ho přesuňte na pozici P5 pro vyložení předmětu, pokud spodní pozice vykládky bude P13. Dále přesuňte robota na pozici P7 pro naložení předmětu, přičemž spodní pozice nakládky je P15 a úchop bude proveden pomocí přísavky. Po uchopení předmětu ho přesuňte na pozici P6 pro vyložení předmětu, když spodní pozice vykládky je P14. Po té přesuňte robota do výchozí pozice P0. Během celého procesu dodržujte doporučené rychlosti a čekací příkazy pro správné a plynulé vykonání zadané činnosti. Program doplňte vhodně vepsanými komentáři. Ukázkové grafické zadání:
1
Jak naprogramovat úlohu v RT ToolBox2
Ing. Alexandr Fales
Programování a aplikace RT ToolBox2 – krok za krokem Pro naprogramování robota RV-2F-D robotického pracoviště SPŠ Ostrov s následnou simulací a debugem pro odhalení možných chyb programu je pro Vás připraven software RT ToolBox2. Použité zkratky LTM – levé tlačítko myši, PTM – pravé tlačítko myši. Tvorba programu: 1) Spuštění programu – nejjednodušší je doubleclik na ikonu programu ve tvaru bílého robota ve fialovém poli nebo PTM na stejnou ikonu a následné nabídky volbu otevřít nebo v levé dolní části obrazovky na kulatou ikonu START, následně volbu RT ToolBox2 nebo opět START, po té volbu Všechny programy/MELSOFT Application/ RT ToolBox2/ RT ToolBox2. 2) Založení nového projektu – počkáme do načtení úvodní obrazovky. Nyní lze otevřít již vytvořený projekt pomocí menu WorkSpace a volbou Open, popř. klávesou zkratkou Ctrl+O a ten následně poupravit dle svých požadavků. My se však zaměříme na vytvoření zcela nového projektu. Dáme menu WorSpace a volbu New, přičemž lze použít i klávesovou zkratku Ctrl+N. Objeví se okno New Workspace, ve kterém vyplníme Workspace name a Title name a dáme OK. Pro náš případ zapíšeme Workspace name: Vzor a Title name: uloha1, ale jak vše nazveme, je na našem uvážení. Potvrdíme kliknutím na OK.
2
Jak naprogramovat úlohu v RT ToolBox2
Ing. Alexandr Fales
Objeví se další okno s názvem Edit Project. V tomto okně nastavíte následující hodnoty, Project name: RC1 nebo libovolný jiný, dále R/C type: CRnD-7xx/CR75x-D, Method: zde vyberete odpovídající metodu připojení, v našem případě, pokud budete chtít nahrát vytvořený program do robota, zvolíte metodu TCP/IP a v poli Detail… následně zapíšete IP Address=192.168.26.31 a potvrdíte tlačítkem OK. Pokud se rozhodnete, že daná úloha bude složit pro simulační účely, resp. jako modelová, tak zvolíte metodu Not used. Následně v poli Robot model vyberete pomocí volby Select… robota RV-2F-D, je v seznamu první a potvrdíte tlačítkem OK. Po té vyberete v nabídce Language, což značí použitý programovací jazyk, prostřední variantu MELFA-BASIC V, čímž máte výběr hotov a vše potvrdíte volbou OK. Pokud se rozhodnete, že chcete změnit parametry našeho nebo cizího projektu, nebo jste odkliknuli dříve, než jste vše nastavili, stačí kliknout v adresářovém stromu v pravém okně Workspace PTM na RC1 a vybrat možnost Edit projekt a upravit parametry dle aktuální potřeby. Nastavení našeho projektu je patrné v následujícím obrázku. Tím je projekt založen.
3
Jak naprogramovat úlohu v RT ToolBox2
Ing. Alexandr Fales
3) Napsání programu v offline režimu – rozkliknete v adresářovém stromu pravého okna Workspace LTM složku Offline, kliknete PTM na podsložku Program a vyberete možnost New. Program lze psát přímo v online režimu, ale vhodnější je ho psát v offline režimu, resp. si program napsat v textovém editoru a do programu RT TolBox2 ho následně jen překopírovat, což je samozřejmě na nás. Následně se otevře okno New Robot program, ve kterém napíšete do pole Robot Program název programu a potvrdíte OK. V našem případě Robot program: uloha1vzor. Malé upozornění. Je nezbytné, abychom nepřekročili v požadovaném názvu maximální počet 12 znaků, přičemž je nutné použít pouze čísla a abecedu bez háčků a čárek, jinak Vás program dále nepustí.
4
Jak naprogramovat úlohu v RT ToolBox2
Ing. Alexandr Fales
Po té se Vám otevře v prostředním pracovním okně editační okno Program 1, sloužící pro napsání a editaci programu pro robota (v Melfa Basic IV má žluté pozadí). Do tohoto okna lze psát program, přičemž si ho můžete napsat v textovém editoru a následně ho do tohoto okna jednoduše překopírovat (autorem používaná metoda). Během psaní programu se Vám při zapsání správného příkazu a přejetí příkazu kurzorem myši objeví nápověda z hlediska možné varianty příkazu včetně parametrů. Stisknete-li F1, objeví se okno nápovědy k příkazu.
F1
Zda začnete psát program a teprve potom nadefinujete pozice, je skutečně jen na Vás, jak budete postupovat. Osobně však doporučuji začít nejprve definicí pracovních pozic robota a jejich jednotlivých souřadnic dle Vašeho plánku. Pracovní pozice, resp. jejich souřadnice, lze upravovat i během simulace, kdy necháte program zapsat aktuální pozici robota namísto původní. Pro simulační režim je připraven plánek souřadnic, které jsou použitelné k různým typům úloh, není závazný a není nutné ho dodržovat. Budete-li Vámi vytvořený program nahrávat do robota, rozhodně doporučuji nejen využít plánek souřadnic robota, ale pomocí teaching pendantu (boxu) si jednotlivé pracovní pozice zaměřit, podívat se na nastavení chapadla (čelisti či přísavky), a z nich při psaní programu vyjít, nebo nechat zapsat aktuální souřadnice robotem. Program se může od reality lišit buď jen nepatrně, nebo extrémně. 5
Jak naprogramovat úlohu v RT ToolBox2
Ing. Alexandr Fales
Ve spodní části editačního okna programu je tlačítko Add, sloužící pro přidání nové pozice, dále tlačítko Edit pro změnu vybrané pozice a tlačítko Delete pro smazání vybrané pozice. Zvolte LTM tlačítko Add a nadefinujte jednotlivé souřadnice daných pozic, resp. do pole name zadejte název souřadnice, následně v type vyberte XYZ a doplňte odpovídající souřadnice robota X, Y, Z a rotační A, B, C u všech ostatních zrušte zatržení a dejte OK. Tady si skutečně ohlídejte, že máte u všech ostatních voleb zrušeno zatržení, jinak se může stát, že Vám souřadnice bude označena jako neplatná, resp. překračující daný hodnotový limit, čímž bude program nepoužitelný. Souřadnice FLG1 a FLG2 slouží pro určení způsobu dosažení Vámi požadované pozice a zde je výhodné nechat program či robota, aby si je doplnil sám nebo je zadat přes teaching pendant (box). Pokračujte stejným způsobem při zadávání další souřadnic, až přidáte do programu všechny potřebné souřadnice pro realizaci Vaší úlohy. Po té všechny souřadnice Vámi zadaných pozic zkontrolujte, popř. Editem opravte nebo Delete vymažte. Pro naši vzorovou úlohu jsou definovány následující souřadnice: Definice jednotlivých pozic P0=(200.000,0.000,360.000,178.000,0.000,178.000) – výchozí pozice P1=(-200.000,240.000,360.000,178.000,0.000,178.000) – pozice nakládky P2=(-100.000,240.000,360.000,178.000,0.000,178.000) – pozice nakládky P3=(300.000,205.000,360.000,178.000,0.000,0.000) – pozice vykládky P4=(300.000,105.000,360.000,178.000,0.000,0.000) – pozice vykládky P5=(300.000,5.000,360.000,178.000,0.000,0.000) – pozice vykládky P6=(300.000,-95.000,360.000,178.000,0.000,0.000) – pozice vykládky P7=(-95.000,-240.000,360.000,178.000,0.000,0.000) – pozice nakládky P8=(-195.000,-240.000,360.000,178.000,0.000,0.000) – pozice nakládky P9=(-200.000,240.000,204.000,178.000,0.000,178.000) – uchopení předmětu P10=(-100.000,240.000,204.000,178.000,0.000,178.000) – uchopení předmětu P11=(300.000,205.000,204.000,178.000,0.000,0.000) – uvolnění předmětu P12=(300.000,105.000,204.000,178.000,0.000,0.000) – uvolnění předmětu P13=(300.000,5.000,204.000,178.000,0.000,0.000) – uvolnění předmětu P14=(300.000,-95.000,204.000,178.000,0.000,0.000) – uvolnění předmětu P15=(-95.000,-240.000,204.000,178.000,0.000,0.000) – uchopení předmětu P16=(-195.000,-240.000,204.000,178.000,0.000,0.000) – uchopení předmětu
6
Jak naprogramovat úlohu v RT ToolBox2
Ing. Alexandr Fales
Než přepíšete nebo překopírujete celý program do editačního okna Program 1, tak si přiblížíme jednotlivé příkazy a jejich logický sled. Není nutné ho dodržovat a můžete si vše upravit dle vlastní potřeby, nebo dokonce použít jiné příkazy z programátorské příručky. Vše je ve Vaší režii. Tento program berte jako inspiraci a pomocný prvek při Vaší tvorbě. Všechny řádky musí být číslované a začíná se číslem 1 (v Melfa Basic V je číslování řádek automatické, v Melfa Basic IV musíte řádky číslovat sami a je potřeba tuto skutečnost hlídat, zejména při upravování programu). Po čísle řádky následuje mezera a za mezerou příkaz nebo komentář, apod. Během psaní je patrné barevné podznačení slov a hodnot. Příkazy jsou modře (během psaní mohou být i černě), číslice a číselné označení řádků jsou růžově, komentáře zeleně, návěstí a označení proměnných jsou černě, atd. Návěští se navíc označují symbolem *, abyste se na ně mohli odkazovat např. příkazem skoku v programu GoTo. Toto barevné podznačení lze nastavit v menu Tool/Option… zaškrtnutím volby Color the Words.
V programu používejte vhodně umístěné komentáře, aby bylo jasné, k čemu daný řádek nebo blok řádků slouží. Komentáře se umisťují za apostrof '. Komentáře lze vhodně využít pro zamaskování aktuálně nepotřebné části programu, kterou nemusíme hned mazat, jen ji skryjeme a v případě potřeby použijeme v příští úloze pouhým odstraněním komentáře. Příkaz Mov P0 slouží k přesunu robota na pozici P0, přičemž robot si určí optimální dráhu sám. Příkaz je vhodný pro přesun mezi souřadnicemi nakládky, vykládky a výchozí pozicí. Příkaz Mvs P1 slouží k přesunu robota do pozice P1, přičemž je dána lineární dráha pohybu. Příkaz je vhodný pro přesun ke spodním pozicím vykládky nebo nakládky, kdy se mění pouze hodnota souřadnice Z. Následně se použije k přesunu zpět. Zde je výhodné pro úsporu při zadávání souřadnic využít možnosti zadání rozdílu hodnot horní a spodní pozice a robot si novou pozici dopočítá sám. Zápis vypadá tímto způsobem: Mvs P1, 156 (číslo určuje rozdíl souřadnice Z, je-li číslo záporné, posune se robot před původní souřadnici, je-li kladné tak za).
7
Jak naprogramovat úlohu v RT ToolBox2
Ing. Alexandr Fales
Příkaz SPD 300 slouží k nastavení rychlosti lineárního (kruhového) pohybu, přičemž hodnotu 300 (standardní rychlost) doporučuji pro pohyb mezi souřadnicemi nakládky a vykládky, resp. pro pohyb příkazem Mov. Hodnotu 200 příkazu SPD (sníženou rychlost) doporučuji pro uchopení a uvolnění předmětu, resp. pro pohyb příkazem Mvs, aby se předešlo možné kolizi během realizace nakládky (uchopení předmětu) nebo vykládky (uvolnění předmětu). Pro nastavení hlavní rychlosti slouží příkaz OVRD 100, hodnota 100 je uvedena v %. Příkaz Dly 0.5 je čekání, doporučuji používat ihned po manipulaci s chapadlem, protože je vhodné, když chvíli robot počká, než se provede plné uchopení nebo uvolnění předmětu. Dvojitý příkaz M_OUT(900)=0 a M_OUT(901)=1 napsaný na dva řádky slouží k ovládání chapadla a konkrétně otevření čelistí pro uvolnění předmětu nebo přípravu na jeho uchycení. Alternativou je příkaz HOpen 1, kde 1 označuje v našem případě čelist chapadla. Dvojitý příkaz M_OUT(901)=0 a M_OUT(900)=1 napsaný na dva řádky slouží k ovládání chapadla a konkrétně uzavření čelistí pro uchycení předmětu. Alternativou je příkaz HClose 1, kde 1 označuje v našem případě čelist chapadla. Dvojitý příkaz M_OUT(903)=0 a M_OUT(902)=1 napsaný na dva řádky slouží k ovládání chapadla a konkrétně přisátí přísavky pro uchycení předmětu. Alternativou je příkaz HClose 2, kde 2 označuje v našem případě přísavku. Dvojitý příkaz M_OUT(902)=0 a M_OUT(903)=1 napsaný na dva řádky slouží k ovládání chapadla a konkrétně odsátí přísavky pro uvolnění předmětu. Alternativou je příkaz HOpen 2, kde 2 označuje v našem případě přísavku. Po těchto příkazech použijte vždy příkaz Dly 0.5 (psáno s desetinnou tečkou), aby se vše stihlo provést bez možných komplikací a předmět nepouštějte z výšky, aby nedošlo k jeho poškození nebo poškození desky robotického pracoviště SPŠ Ostrov. Příkaz End slouží pro ukončení programu a je zapsán vždy na posledním řádku primárního programu. Pokud se používají v programu příkazy skoků, je v odskokové části programu použit na ukončení řádku příkaz Return. Je zde i možné použít příkaz GoTo *Start, kde *Start je označení návěští, pro opakované provedení programu, pokud budeme požadovat, aby se celý cyklus námi zadaných kroků pracovního postup opakoval znovu. Cyklus lze pak zastavit pomocí tlačítka na robotickém pracovišti, nebo vložit inkrementující či dekrementující proměnou a při dosažení jejího minima či maxima odskočit na konec programu např. přes návěští *End. Pakliže chcete použít vámi vytvoření program pro nahrání do robota, je nezbytné ho upravit o primární program, v němž jsou ošetřeny a nastaveny potřebné vstupní a výstupní proměnné robota, s nimiž bude při vykonávání Vašeho programu pracovat. Tato část je definována v závislosti na konkrétním robotickém pracovišti, robotickém systému a zapojení. Následně do editačního okna Program 1 napište program dle následujícího vzoru, přičemž zde chybí část zaváděcí (primární) část programu nezbytná pro možnost nahrání do robota. Takto napsaný program je vhodný pro simulaci, ale lze ho použít i pro robotický systém: 8
Jak naprogramovat úlohu v RT ToolBox2
Ing. Alexandr Fales
1 'úloha pro přesun předmětu mezi pozicemi 2 SPD 300 'nastavení standardní rychlosti 3 MOV P0 'přesun na výchozí pozici P0 4 M_OUT(900)=0 'otevření čelistí chapadla 5 M_OUT(901)=1 'otevření čelistí chapadla 6 DLY 0.5 'čekání na vykonání předchozích příkazů- zpoždění 7 'přesunutí předmětu z pozice P1 na pozici P3 s použitím čelistí 8 MOV P1 'přesun na pozici P1 – nakládka předmětu 9 SPD 200 'nastavení nižší rychlosti 10 MVS P9 'lineární přesun k pozici P9 pro naložení předmětu – sjetí dolů 11 M_OUT(901)=0 'uzavření čelistí chapadla – uchycení předmětu 12 M_OUT(900)=1 'uzavření čelistí chapadla – uchycení předmětu 13 DLY 0.5 'čekání na vykonání předchozích příkazů- zpoždění 14 MVS P1 'lineární přesun k pozici P1 – vyjetí nahoru 15 SPD 300 'nastavení standardní rychlosti 16 MOV P3 'přesun na pozici P3 – vykládka předmětu 17 SPD 200 'nastavení nižší rychlosti 18 MVS P11 'lineární přesun k pozici P11 pro vyložení předmětu – sjetí dolů 19 M_OUT(900)=0 'otevření čelistí chapadla – uvolnění předmětu 20 M_OUT(901)=1 'otevření čelistí chapadla – uvolnění předmětu 21 DLY 0.5 'čekání na vykonání předchozích příkazů - zpoždění 22 MVS P3 'lineární přesun k pozici P3 – vyjetí nahoru 23 M_OUT(901)=0 'uzavření čelistí chapadla - aby nenarazila otevřená čelist do předmětu 24 M_OUT(900)=1 'uzavření čelistí chapadla - aby nenarazila otevřená čelist do předmětu 25 SPD 300 'nastavení standardní rychlosti 26 'přesunutí předmětu z pozice P8 na pozici P4 s použitím přísavky 27 MOV P8 'přesun na pozici P8 – nakládka předmětu 28 SPD 200 'nastavení nižší rychlosti 29 MVS P16 'lineární přesun k pozici P16 pro naložení předmětu – sjetí dolů 30 M_OUT(903)=0 'přisátí přísavky chapadla – uchycení předmětu 31 M_OUT(902)=1 'přisátí přísavky chapadla – uchycení předmětu 32 DLY 0.5 'čekání na vykonání předchozích příkazů- zpoždění 33 MVS P8 'lineární přesun k pozici P8 – vyjetí nahoru 34 SPD 300 'nastavení standardní rychlosti 35 MOV P4 'přesun na pozici P4 – vykládka předmětu 36 SPD 200 'nastavení nižší rychlosti 37 MVS P12 'lineární přesun k pozici P12 pro vyložení předmětu – sjetí dolů 38 M_OUT(902)=0 'uvolnění čelistí chapadla – uvolnění předmětu 39 M_OUT(903)=1 'uvolnění čelistí chapadla – uvolnění předmětu 9
Jak naprogramovat úlohu v RT ToolBox2
Ing. Alexandr Fales
40 DLY 0.5 'čekání na vykonání předchozích příkazů - zpoždění 41 MVS P4 'lineární přesun k pozici P4 – vyjetí nahoru 42 SPD 300 'nastavení standardní rychlosti 43 'přesunutí předmětu z pozice P2 na pozici P5 s použitím čelistí 44 MOV P2 'přesun na pozici P2 – nakládka předmětu 45 SPD 200 'nastavení nižší rychlosti 46 MVS P10 'lineární přesun k pozici P10 pro naložení předmětu – sjetí dolů 47 M_OUT(901)=0 'uzavření čelistí chapadla – uchycení předmětu 48 M_OUT(900)=1 'uzavření čelistí chapadla – uchycení předmětu 49 DLY 0.5 'čekání na vykonání předchozích příkazů- zpoždění 50 MVS P2 'lineární přesun k pozici P2 – vyjetí nahoru 51 SPD 300 'nastavení standardní rychlosti 52 MOV P5 'přesun na pozici P5 – vykládka předmětu 53 SPD 200 'nastavení nižší rychlosti 54 MVS P13 'lineární přesun k pozici P13 pro vyložení předmětu – sjetí dolů' 55 M_OUT(900)=0 'otevření čelistí chapadla – uvolnění předmětu' 56 M_OUT(901)=1 'otevření čelistí chapadla – uvolnění předmětu' 57 DLY 0.5 'čekání na vykonání předchozích příkazů - zpoždění' 58 MVS P5 'lineární přesun k pozici P5 – vyjetí nahoru' 59 M_OUT(901)=0 'uzavření čelistí chapadla - aby nenarazila otevřená čelist do předmětu 60 M_OUT(900)=1 'uzavření čelistí chapadla - aby nenarazila otevřená čelist do předmětu 61 SPD 300 'nastavení standardní rychlosti' 62 'přesunutí předmětu z pozice P7 na pozici P6 s použitím přísavky' 63 MOV P7 'přesun na pozici P7 – nakládka předmětu' 64 SPD 200 'nastavení nižší rychlosti' 65 MVS P15 'lineární přesun k pozici P15 pro naložení předmětu – sjetí dolů' 66 M_OUT(903)=0 'přisátí přísavky chapadla – uchycení předmětu' 67 M_OUT(902)=1 'přisátí přísavky chapadla – uchycení předmětu' 68 DLY 0.5 'čekání na vykonání předchozích příkazů- zpoždění' 69 MVS P7 'lineární přesun k pozici P7 – vyjetí nahoru' 70 SPD 300 'nastavení standardní rychlosti' 71 MOV P6 'přesun na pozici P6 – vykládka předmětu' 72 SPD 200 'nastavení nižší rychlosti' 73 MVS P14 'lineární přesun k pozici P14 pro vyložení předmětu – sjetí dolů' 74 M_OUT(902)=0 'uvolnění čelistí chapadla – uvolnění předmětu' 75 M_OUT(903)=1 'uvolnění čelistí chapadla – uvolnění předmětu' 76 DLY 0.5 'čekání na vykonání předchozích příkazů - zpoždění' 77 MVS P6 'lineární přesun k pozici P6 – vyjetí nahoru' 78 SPD 300 'nastavení standardní rychlosti' 10
Jak naprogramovat úlohu v RT ToolBox2
Ing. Alexandr Fales
79 MOV P0 'přesun na výchozí pozici P0' 80 END 'konec programu' Definice souřadnic pracovních pozic: P0=(200.000,0.000,360.000,178.000,0.000,178.000) – výchozí pozice
P1=(-200.000,240.000,360.000,178.000,0.000,178.000) – pozice nakládky P2=(-100.000,240.000,360.000,178.000,0.000,178.000) – pozice nakládky P3=(300.000,205.000,360.000,178.000,0.000,0.000) – pozice vykládky P4=(300.000,105.000,360.000,178.000,0.000,0.000) – pozice vykládky P5=(300.000,5.000,360.000,178.000,0.000,0.000) – pozice vykládky P6=(300.000,-95.000,360.000,178.000,0.000,0.000) – pozice vykládky P7=(-95.000,-240.000,360.000,178.000,0.000,0.000) – pozice nakládky P8=(-195.000,-240.000,360.000,178.000,0.000,0.000) – pozice nakládky P9=(-200.000,240.000,204.000,178.000,0.000,178.000) – uchopení předmětu P10=(-100.000,240.000,204.000,178.000,0.000,178.000) – uchopení předmětu P11=(300.000,205.000,204.000,178.000,0.000,0.000) – uvolnění předmětu P12=(300.000,105.000,204.000,178.000,0.000,0.000) – uvolnění předmětu P13=(300.000,5.000,204.000,178.000,0.000,0.000) – uvolnění předmětu P14=(300.000,-95.000,204.000,178.000,0.000,0.000) – uvolnění předmětu P15=(-95.000,-240.000,204.000,178.000,0.000,0.000) – uchopení předmětu P16=(-195.000,-240.000,204.000,178.000,0.000,0.000) – uchopení předmětu Alternativa zápisu programu s využitím příkazu lineárního posunu Mvs, 156 s dopočtem nové souřadnice pro úsporu počtu souřadnic a dále aplikace příkazů HOpen a HClose na místo volání digitálních výstupů.
1
'úloha pro přesun předmětu mezi pozicemi
2
SPD 300 'nastavení standardní rychlosti
3
MOV P0 'přesun na výchozí pozici P0
4
HOpen 1 'otevření čelistí chapadla
5
DLY 0.5 'čekání na vykonání předchozích příkazů- zpoždění
6
'přesunutí předmětu z pozice P1 na pozici P3 s použitím čelistí
7
MOV P1 'přesun na pozici P1 – nakládka předmětu
8
SPD 200 'nastavení nižší rychlosti
9
MVS P1, 156 'lineární přesun pro naložení předmětu – sjetí dolů
10
HClose 1 'uzavření čelistí chapadla – uchycení předmětu
11
DLY 0.5 'čekání na vykonání předchozích příkazů- zpoždění
12
MVS P1 'lineární přesun – vyjetí nahoru
13
SPD 300 'nastavení standardní rychlosti 11
Jak naprogramovat úlohu v RT ToolBox2
Ing. Alexandr Fales
14
MOV P3 'přesun na pozici P3 – vykládka předmětu
15
SPD 200 'nastavení nižší rychlosti
16
MVS P3, 156 'lineární přesun pro vyložení předmětu – sjetí dolů
17
HOpen 1 'otevření čelistí chapadla - uvolnění předmětu
18
DLY 0.5 'čekání na vykonání předchozích příkazů - zpoždění
19
MVS P3 'lineární přesun – vyjetí nahoru
20
HClose 1 'uzavření čelistí chapadla - aby nenarazila otevřená čelist do předmětu
21
SPD 300 'nastavení standardní rychlosti
22
'přesunutí předmětu z pozice P8 na pozici P4 s použitím přísavky
23
MOV P8 'přesun na pozici P8 – nakládka předmětu
24
SPD 200 'nastavení nižší rychlosti
25
MVS P8, 156 'lineární přesun pro naložení předmětu – sjetí dolů
26
HClose 2 'přisátí přísavky chapadla – uchycení předmětu
27
DLY 0.5 'čekání na vykonání předchozích příkazů- zpoždění
28
MVS P8 'lineární přesun – vyjetí nahoru
29
SPD 300 'nastavení standardní rychlosti
30
MOV P4 'přesun na pozici P4 – vykládka předmětu
31
SPD 200 'nastavení nižší rychlosti
32
MVS P4, 156 'lineární přesun pro vyložení předmětu – sjetí dolů
33
HOpen 2 'uvolnění čelistí chapadla – uvolnění předmětu
34
DLY 0.5 'čekání na vykonání předchozích příkazů - zpoždění
35
MVS P4 'lineární přesun – vyjetí nahoru
36
SPD 300 'nastavení standardní rychlosti
37
'přesunutí předmětu z pozice P2 na pozici P5 s použitím čelistí
38
HOpen 1 'otevření čelistí chapadla
39
MOV P2 'přesun na pozici P2 – nakládka předmětu
40
SPD 200 'nastavení nižší rychlosti
41
MVS P2, 156 'lineární přesun pro naložení předmětu – sjetí dolů
42
HClose 1 'uzavření čelistí chapadla – uchycení předmětu
43
DLY 0.5 'čekání na vykonání předchozích příkazů- zpoždění
44
MVS P2 'lineární přesun – vyjetí nahoru
45
SPD 300 'nastavení standardní rychlosti
46
MOV P5 'přesun na pozici P5 – vykládka předmětu
47
SPD 200 'nastavení nižší rychlosti
48
MVS P5, 156 'lineární přesun pro vyložení předmětu – sjetí dolů'
49
HOpen 1 'otevření čelistí chapadla – uvolnění předmětu'
50
DLY 0.5 'čekání na vykonání předchozích příkazů - zpoždění' 12
Jak naprogramovat úlohu v RT ToolBox2
Ing. Alexandr Fales
51
MVS P5 'lineární přesun – vyjetí nahoru'
52
HClose 1 'uzavření čelistí chapadla - aby nenarazila otevřená čelist do předmětu
53
SPD 300 'nastavení standardní rychlosti'
54
'přesunutí předmětu z pozice P7 na pozici P6 s použitím přísavky'
55
MOV P7 'přesun na pozici P7 – nakládka předmětu'
56
SPD 200 'nastavení nižší rychlosti'
57
MVS P7, 156 'lineární přesun pro naložení předmětu – sjetí dolů'
58
HClose 2 'přisátí přísavky chapadla – uchycení předmětu'
59
DLY 0.5 'čekání na vykonání předchozích příkazů- zpoždění'
60
MVS P7 'lineární přesun – vyjetí nahoru'
61
SPD 300 'nastavení standardní rychlosti'
62
MOV P6 'přesun na pozici P6 – vykládka předmětu'
63
SPD 200 'nastavení nižší rychlosti'
64
MVS P6, 156 'lineární přesun pro vyložení předmětu – sjetí dolů'
65
HOpen 2 'uvolnění čelistí chapadla – uvolnění předmětu'
66
DLY 0.5 'čekání na vykonání předchozích příkazů - zpoždění'
67
MVS P6 'lineární přesun – vyjetí nahoru'
68
SPD 300 'nastavení standardní rychlosti'
69
MOV P0 'přesun na výchozí pozici P0'
70
END 'konec programu'
Definice souřadnic pracovních pozic: P0=(200.000,0.000,360.000,178.000,0.000,178.000) – výchozí pozice
P1=(-200.000,240.000,360.000,178.000,0.000,178.000) – pozice nakládky P2=(-100.000,240.000,360.000,178.000,0.000,178.000) – pozice nakládky P3=(300.000,205.000,360.000,178.000,0.000,0.000) – pozice vykládky P4=(300.000,105.000,360.000,178.000,0.000,0.000) – pozice vykládky P5=(300.000,5.000,360.000,178.000,0.000,0.000) – pozice vykládky P6=(300.000,-95.000,360.000,178.000,0.000,0.000) – pozice vykládky P7=(-95.000,-240.000,360.000,178.000,0.000,0.000) – pozice nakládky P8=(-195.000,-240.000,360.000,178.000,0.000,0.000) – pozice nakládky
Po napsání programu dejte zkontrolovat správnost syntaxe pomocí tlačítka Syntax Check, pokud je vše napsáno správně, objeví se okno s informací No syntax Error, které potvrďte volbou OK. Objeví-li se okno s hlášením o chybě, je zde uveden i řádek nebo řádky s čísly a popisem chyby. Stačí řádky vyhledat a drobné překlepy v nich opravit a následně provést kontrolu syntaxe ještě jednou, dokud není vše v pořádku. 13
Jak naprogramovat úlohu v RT ToolBox2
Ing. Alexandr Fales
Určitě nedávejte Jump (přeskoč), ale potvrďte LTM OK a chybu syntaxe nalezenou ve Vašem programu vyřešte. Zde je např. v příkazu M_Out použita pomlčka namísto podtržítka. Stačí najet na odpovídající řádek, v našem případě řádek číslo 4, a nahradit pomlčku odpovídajícím symbolem podtržítka a vše je vyřešeno. Chcete-li z celého řádku udělat komentář, např. máte v programu blok příkazů, který nyní nechcete použít, tak lze z daných řádků udělat komentáře. Vyberete daný řádek, řádky LTM (označíte je) a použijete tlačítko Comment Selection. Chcete-li naopak komentáře zrušit zpět na příkazy, vyberete daný řádek, řádky LTM (označíte je) a použijete tlačítko Uncomment Selection. Jak poznám, že jsem opravdu v offline režimu. To je velmi jednoduché. Najdeme tu 6 informačních prvků, na spodní liště běžících programů v systému Windows je patrná žlutě podznačená aktivní úloha komunikačního serveru s robotem, přičemž právě žlutá barva signalizuje režim offline a server je v režimu čekání Waiting. Dále přímo v okně programu vpravo dole je opět žlutě podbarevná informace s textem offline. Mimo to v levém okně Workspace je informace o offline režim, v menu online je zaškrtnutá volba Offline a v neposlední řadě pak na liště tlačítek v levé horní části programu naleznete zcela vlevo podšedivělé tlačítko Offline.
14
Jak naprogramovat úlohu v RT ToolBox2
Ing. Alexandr Fales
Tlačítka pro vyjmutí (Ctrl+X), kopírování (Ctrl+C) a vložení (Ctrl+V) textu – Tlačítka pro tisk (Ctrl+P) a nápovědu (F1) Pokud máte program napsaný a zkontrolovaný ohledně chyb syntaxe, tak ho uložte buď kliknutím LTM na symbol diskety v pravém horním rohu, nebo stisknutím kláves Ctrl+S nebo menu WorkSpace volbou SaveAs. Pakliže jste v předchozím kroku chybu syntaxe neodstranili, nebo jste provedli nějakou úpravu v programu, může na Vás opět vyskočit bílé okno s informací o chybě syntaxe na daném řádku. Dejte OK a v dalším okně Ne (ptá se Vás, zda chcete program uložit i přesto, že je v něm chyba), opravte chybu syntaxe a uložte. Nyní je Váš program uložen a Vy ho naleznete v pravém okně Workspace pod Offline/Program/uloha1.prg. Tím máme napsaný a zkontrolovaný program v offline režimu. 4) Převedení programu do online režimu a debug – program máme hotový v offline režimu, je potřeba ho převést do online režimu. Nyní si ukážeme nejjednodušší způsob, jak to provést. Zapneme si simulační režim, kliknutím na světle modrou ikonu se žlutým bleskem, resp. tlačítko simulation v levé horní části okna programu, nebo v menu Online a volbou Simulator. Jak poznám, že jsem v simulačním režimu. Po nastavení simulačního režimu dojde ke změně 6 informačních prvků. Na spodní liště běžících programů v systému Windows je nyní patrná tmavě modře podznačená aktivní úloha komunikačního serveru s robotem, přičemž právě tmavě modrá barva signalizuje režim simulace a server je v simulačním režimu SimulationConnecting. Dále přímo v okně programu vpravo dole je tmavě modře podbarevná informace s textem Simulation. Mimo to v levém okně Workspace je informace o online režimu. Dále v menu online je zaškrtnutá volba Simulator a v neposlední řadě pak na liště tlačítek v levé horní části programu jsou podšedivělá tlačítka Online a Simulation. Také se Vám otevřou 2 nová okna, konkrétně okno pro ovládání simulátoru a okno s 3D vizualizací robota. 15
Jak naprogramovat úlohu v RT ToolBox2
Ing. Alexandr Fales
Zavřete žluté editační okno programu červeným křížkem, pokud jste udělali ještě nějaké změny, tak se program dotáže na uložení. Chcete-li vámi provedené změny uložit, potvrďte LTM na volbu ANO, v opačném případě zvolte LTM volbu NE. Nyní si rozklikněte v levém okně Workspace ve stromu projektu složku Offline, buď na malém symbolu znaménka plus (+), nebo proveďte doubleclick LTM na složku Offline a v ní podsložku Program a následně ve stromu projektu obdobným způsobem otevřete složku Online.
16
Jak naprogramovat úlohu v RT ToolBox2
Ing. Alexandr Fales
Po té klikněte LTM na název Vašeho programu, v našem případě se jedná o program „uloha1.prg“ a s přidrženým LTM ho přetáhněte do podsložky Program ve složce Online ve stromu projektu. Vyskočí na Vás bílé okno s dotazem, zda chcete opravdu Váš program zkopírovat a proběhne kopírovací proces, resp. převod offline verze do online. Pokud to provedete správně, tak se Vám hned zobrazí Vámi vytvořený program zapsaný pod stejným názvem velkými písmeny.
Tím máme program převeden do online režimu v simulačním prostředí. Nyní je potřeba provést debugování programu, resp. nalezení jak chyb syntaxe, tak chyb logických, popř. chyb nevhodné deklarace pozic, apod. Jinými slovy se podíváme, než program nehrajeme do robota, co vlastně jednotlivé příkazy dělají, resp. co provádí robot v závislosti na námi napsaných a zvolených příkazech. Vše probíhá v bezpečí simulačního prostředí, takže nehrozí poškození robota nebo předmětu, popřípadě úraz. Debugování provedeme kliknutím PTM na název našeho programu ve složce online v podsložce Program v stromu projektu v levém okně Workspace. Následně provedeme volbu LTM na Debug Open. Tím se nám otevře námi vytvořený program v debugovacím režimu, resp. v novém okně se zpravidla světle modrým pozadím a žlutou šipkou umístěnou na prvním řádku námi napsaného programu.
17
Jak naprogramovat úlohu v RT ToolBox2
Ing. Alexandr Fales
Tímto způsobem jste spustili logické testování programu a hledání chyb logických, chyb syntaxe, stejně jako chyb reálnosti, resp. reálných možností robota. Spuštěním Debugu se Vám aktivují všechna tlačítka v okně simulátoru. Debugová lze provést v režimu krokování po jednotlivých řádcích a to v okně simulátoru tlačítkem FORWD (vpřed) a BACKWD (zpět) v části STEP nebo celého programu najednou v okně simulátoru samostatně umístěným tlačítkem FORWD. Osobně doporučuji provádět debugování po jednotlivých krocích. Proces debugování po jednotlivých krocích je snadný. Klikáme v klidu a pomalu na tlačítko FORWD v části STEP okn Simulátoru a pozorujeme, co dělá robot v 3D vizulazačním okně. Některé příkazy nejsou patrné, jako např. manipulace s chapadlem (čelistí nebo přísavkou), ale pohybové funkce jsou zcela viditelné. Celý program odkrokujeme a sledujeme, kde robot případně udělá něco jiného, než jsme zamýšleli. Chybu si poznačíme a opravíme. Opravu lze provést přímo v online režimu, rozkliknutím okna programu ve složce Online/Program doubleclickem LTM na název programu v našem případě „ULOHA1“. Nejprve však musíte zavřít debugovací okno (světle modré) a následně otevřít program. Vyskočí na Vás dotazovací okno, co vše se má načíst. Dejte LTM na možnost OK. Otevře se editační okno programu se žlutým podbarvením a proběhne proces načtení programu. Ten se dá přerušit volbou LTM na Cancel.
18
Jak naprogramovat úlohu v RT ToolBox2
Ing. Alexandr Fales
Provedete požadované změny a projekt uložíte stejným způsobem jako v offline režimu, resp. kliknete LTM na symbol diskety v levém horním rohu okna programu nebo stisknete klávesy Ctrl+S. Následně spustíte opět debugovací okno PTM na název programu ve složce Online/Program a volbu LTM Debug Open a provedete debugování, ideálně krok po kroku v bloku STEP či najednou tlačítkem FORWD. Mimo to lze program upravit v původním souboru v offline režimu a následně provést test na chybu syntaxe a po té ho uložit a finálně převést do online režimu. Postup, který si zvolíte, je čistě na Vás. Osobně doporučuji druhou variantu, neboť máte k dispozici opravené obě verze offline i online. Nalezení chyby během debugování doprovází přerušení procesu debugování s výstražným červeným blikáním v okně simulátoru v poli Status s informací např. „Warning Error # 2602“ a následným vyskočením bílého chybového okno s informací o nalezené chybě, jejím identifikačním číslu a dalších údajích, přičemž se lze podívat volbou LTM na Details, čeho se chyba konkrétně týká. Přečtete si informaci, dejte LTM na volbu Close, další okno zavřete červeným křížkem a v okně simulátoru klikněte v části RESET na tlačítko Error. Následně chybu v programu najděte a odstraňte. V případě potřeby je možné resetovat celý program.
19
Jak naprogramovat úlohu v RT ToolBox2
Ing. Alexandr Fales
Chybu odstraníte v online nebo offline verzi programu a provedete opětovný Debug. Projde-li tentokrát Debug v pořádku, jsou odstraněny logické chyby. Debugové okno zavřete červeným křížkem. Program uložíte, resp. kliknete LTM na symbol diskety v levém horním rohu okna programu nebo stisknete klávesy Ctrl+S. Dejte pozor na rychlé klikání na tlačítko FORWD během debugování, mohla by se objevit chybová hláška nesouvisející s Vaším programem, ale se spouštěním dalšího příkazu během provádění předchozího. Odklikněte LTM volbu OK a vždy počkejte, až se provede předchozí příkaz Vašeho programu v simulátoru. Pokud nevidíte dobře na robota v 3D vizualizaci, lze si zobrazení nastavit tak, abyste ho viděli podle vašich představ, a dokázali odhalit případné chyby v jeho pohybu dle našeho programu. Klikněte LTM kamkoliv do okna s 3D vizualizací robota a držte LTM. Pohybem myši pohybujete s vizualizací ve smyslu natáčení dle vašich potřeb. Kliknete-li do okna 3D vizualizace PTM, můžete s vizualizací pohybovat ve směru pohybu myši. Dále tlačítko Panel slouží k zobrazení nebo skrytí aktuálního nastavení jednotlivých os. Toto nastavení lze měnit šipkami nahotu a dolu přímo v 3D vizualizaci. Pomocí tlačítka JOG v okně Simulátoru si můžete otevřít informační panel s aktuálními souřadnicemi robota v 3D vizualizaci, přičemž plusem a mínusem můžete aktuální souřadnice měnit a ovládat tak 3D vizualizaci robota. Opět máte na výběr mezi systémem Joint J1 až J6 nebo YXZ se souřadnicemi x, y, z, A, B, C. Zajímavostí je po té možnost přidání aktuálně nastavené pozice do programu robota přímo z 3D vizualizace a mimo to i po propojení s robotem do online režimu přímo z teaching pendantu. Toto lze provést relativně jednoduchým způsobem v simulačním nebo online režimu. Nastavíme 3D vizualizaci nebo reálného robota do pozice, kterou požadujete, následně zvolíte v editačním okně programu (žlutě podbarvené okno) v souřadnicovém systému volku LTM na Add a zde jako v předchozí části zapíšete označení Name, zvolíte typ v části Type a nyní je aktivní tlačítko Get current position. Pokud na tlačítko Get current position kliknete, tak se vám do nulových souřadnic zapíší souřadnice vámi aktuálně navolené pozice robota v simulaci nebo reálné prostředí robotického pracoviště z teaching pendantu. Systém souřadnic lze skrýt opětovným kliknutím na tlačítko JOG v okně Simulátoru.
20
Jak naprogramovat úlohu v RT ToolBox2
Ing. Alexandr Fales
Nastavení systému souřadnic zvolíte mezi Jointem nebo XYZ, přičemž A.B, C pak představují tři rotační osy. Doporučuji vyzkoušet. Hranice zadávání souřadnic jsou sporné, osobně doporučuji si dané souřadnice nadefinovat a zkusit si je v programu Debugovat, pak poznáte, zda-li je robot schopen se ve 3D vizualzici vůbec na Vámi zadanou souřadnici z jiné souřadnice dostat. Hodnoty se pohybují zhruba v těchto mezích: X -498.00 až 415.00 v závislosti na ostatních souřadnicích Y -498.00 až 495.00 v závislosti na ostatních souřadnicích Z – 158,50 až 631.50 v závislosti na ostatních souřadnicích A, C -180 až 180 – zde doporučuji zadávat souřadnice spíše 178 maximálně 179. B -22 do 22 s přetočením ramene a v závislosti na ostatních souřadnicích OVRD je pro nastavení rychlosti v rozmezí 10 až 100, doporučuji ponechat 100. Tlačítko Direct Execution slouží pro přímé provedení příkazu. 21
Jak naprogramovat úlohu v RT ToolBox2
Ing. Alexandr Fales
Dále jsou zde tlačítka pro update, zobrazení souboru s parametry a chybových hlášení, pakliže byla uložena.
Pokud se Vám nelíbí aktuální zobrazení všech aktivních oken v programu, můžete si je seřadit v rámci možností programu do 3 variant. Osobně to ale nedoporučuji. Spíše si aktivní okna poskládejte tak, jak to vyhovuje Vám, nebo si je dejte na sebe a pak si mezi nimi přepínejte. Každopádně, zde je ukázka možností řazení aktivních oken.
První možností je Kaskádové řazení aktivních oken.
Druhou a třetí možností je dlaždicové řazení aktivních oken, přičemž jednou horizontálně a jednou vertikálně.
22
Jak naprogramovat úlohu v RT ToolBox2
Ing. Alexandr Fales
23
Jak naprogramovat úlohu v RT ToolBox2
Ing. Alexandr Fales
Aktivní okna lze shodit na lištu prostředního pracovního okna stejným tlačítkem jako ve WINDOWS umístěným v levém horním rohu.
Maximalizované okno se pak ovládá klasicky tlačítky v pravém horním rohu, po té ovládacími prvky hlavního okna našeho projektu.
Pokud si náhodou zavřete některé ze tří základních oken, jako např. levé okno se stromem projektu Workspace, tak ho stačí v menu View opět vyvolat zaškrtnutím odpovídajícího okna.
Vzhledem k tomu, že máme vše hotovo, tak jednotlivá aktivní okna pozavíráte červeným křížkem pro zavírání oken jako ve WINDOWS. Po té v menu WorkSpace zvolíme volbu Close, čímž zavřete náš projekt. Nyní lze program bezpečně ukončit, a to buď klasicky červeným křížkem v pravém horním rohu okna programu nebo přes menu WorkSpace a volbu Exit. Nyní lze nahrát odladěný program do systému robota RV-2F-D a spustit ho v reálném prostředí. 24