250 likes | 435 Views
PROGRAMOVÁNÍ ROBOTŮ JAZYK BAPS2. Ing. Vladislav Bezouška, Ph.D. Vývojové prostředí – offline programming. Struktura souborů. Textový soubor s částmi programu – je určený pro překladač. *.qll. *.ird. Soubor s kódem programu – je určený k provádění robotem. *.pkt.
E N D
PROGRAMOVÁNÍ ROBOTŮJAZYK BAPS2 Ing. Vladislav Bezouška, Ph.D.
Struktura souborů Textový soubor s částmi programu – je určený pro překladač *.qll *.ird Soubor s kódem programu – je určený k provádění robotem *.pkt Soubor s definicí bodů v prostoru Soubor s definicí proměnných *.sym *.err Soubor s hlášením chyb, které se objevily při kompilaci Soubor pro deklaraci přiřazení pozice číslicového voliče jednotlivým procesům *.dat
Struktura programu Podprogramy externí Hlavní program Volání podprog. Deklarace linkování Linkové soubory Tělo programu Příkazy Soubor *.qll Linkové soubory Připojuje překladač Volání podprog. Podprogramy interní
Kinematika.qll Deklarační část programu ;;Control: RHO3 ;;Kinematics: RHO3 Link deklarační části ;;Include kinematika Program POKUS External: POZICE Deklarace externího procesu Input: 1 = NaPozici Deklarace vstupů/výstupů Output: 9 = UCHOP Real: vaha, delka Deklarace proměnných/bodů Point: P1, P2
Příkazová část programu begin Začátek programu Příkazy Program_end Konec programu
Příklad programu ;Program pro najeti referencnich bodu ;------------------------------------ ;;CONTROL = rho3 ;;KINEMATICS: (1=SR60) ;;SR60.JC_NAMES=A_1, A_2, A_3, A_4 ;;SR60.WC_NAMES=X_K, Y_K, Z_K, C_K Program INIT input: 1 = sevreno, ; 2 = uvolneno ; output: 5 = uchopit, ; 6 = pustit ; external: pisty Begin uchopit = 0 pustit = 1 ref_pnt(3) ref_pnt(1) ref_pnt(2,4) start pisty Program_End Komentář Definice ŘS Jména a počet KINEMATIK Jména a počet OS v souř. sys. JC,WC Jméno programu Definice vstupů Definice výstupů Deklarace externího procesu Začátek programu Nastavení log. Výstupu do log. 1 nebo 0 Instrukce pohybu, hledání referenčního bodu – v závorce je uvedeno číslo os které pohyb vykonávají Spuštění procesu „pisty“ – proces je spuštěn paralelně Konec programu
Volání externího podprogramu Program VETVENI Program VRTANI External: VRTANI begin begin VRTANI Halt Program_end Program_end
Deklarace pod-procedury Program POKUS begin Program_end Subroutine OTOC begin Return Return může být použit kdekoli v těle pod-procedury Sub_end
Vnořování Program HLAVNI begin ZASOBNIK Halt Program_end Subroutine ZASOBNIK Hlavice Return Subroutine Hlavice Return
Vnořování s opakováním Program HLAVNI begin RPT 2 Times RPT 3 Times První program Druhý program RPT_END RPT_END
Programování pohybu - přehled Programování pohybu Instrukce pohybu (MOVE,…) Rychlost, zrychlení, čas (A, V, TIME,…) Podmínky konce pohybu (UNTIL,…) Definice kinematiky Interpolace (LINEAR,…) Cílový bod (TO, VIA,…)
Y Instrukce pohybu - absolutní 10 P1 = (10,10) Y MOVE P1 X 10 10 P1 = (10,10) 5 P2 = (20,5) 20 X 10 MOVE VIA P1, P2 Y 10 P1 = (10,10) 5 P2 = (20,5) MOVE TO P1, P2 20 X 10 Lze kombinovat: MOVE VIA P3 TO P1, P2
Y Instrukce pohybu - relativní 10 P1 = (10,10) Y MOVE_REL P1 X 10 10 7 -5 P1 = (5,7) 5 5 10 P2 = (10,-5) 20 X 10 MOVE_REL APPROX P1, P2 Y 10 P1 = (5,7) 7 -5 5 P2 = (10,-5) MOVE_REL EXACT P1, P2 20 X 10 Lze kombinovat: MOVE_REL APPROX P3 EXACT P1, P2
Instrukce pohybu / Definice kinematiky ;;KINEMATIC = Rob1 Definice jména kinematiky. Další instrukce je platná pro kinematiku Rob1 REF_PNT (1,2) Automatické najíždění referenčních bodů. V závorce jsou uvedeny osy, které budou hledat referenční body současně.
Instrukce pohybu / Interpolace MOVE LINEAR TO P1 MOVE_REL LINEAR APPROX P2 EXACT P3 Y P1 MOVE CIRCULAR TO (MP1,EP1) P2 MOVE_REL CIRCULAR EXACT (MP2,EP21) P3 X Y EP1 Pro zadání obloku potřebujeme 3 body: výchozí bod, koncový bod, střed oblouku MP2 MP1 EP2 X
Instrukce pohybu / Interpolace MOVE PTP TO P1 MOVE_REL PTP EXACT P2 Y P1 P2 X
Nastavení rychlosti Rychlost při PTP pohybu – udává rychlostní faktor (0,0001 – 9,9999) V_PTP =0.8 Rychlost při LINEAR nebo CILKULAR pohybu – udává rychlostní faktor (1 – 2000 mm/s) Globální nastavení rychlosti Lokální nastavení rychlosti V=750 MOVE LINEAR WITH V=250 TO P1 MOVE LINEAR P1 MOVE PTP WITH V_PTP=0,7 TO P1 MOVE LINEAR P2 V=310 MOVE LINEAR P3
Nastavení zrychlení při PTP pohybu – pracuje s max. zrychlením při LINEAR nebo CILKULAR pohybu – udává zrychlení (0,001 – 32000 mm/s2) Globální nastavení zrychlení Lokální nastavení zrychlení A=70 V=310 MOVE LINEAR WITH A=250 TO P1 MOVE LINEAR P3 MOVE LNEAR WITH V=0,7, A=5 TO P1 MOVE PTP P3
Nepřímé programování rychlosti MOVE_REL LINEAR WITH T=8 EXACT P1 Y P1 Dráhu urazí za 8 s X MOVE LINEAR WITH T=5 TO P1,P2,P3 P2 5 s Y P1 P3 5 s 5 s X
Instrukce pro řízení běhu procesu WAIT MOVE_REL LINEAR APPROX P2 EXACT P3 WAIT 8.9 (0,01-32000s) MOVE_REL LINEAR APPROX P2 EXACT P4 WAIT UNTIL WAIT UNTIL snimac1 = 1 WAIT UNTIL ventil = 1 =,<>,<=,>=,<,> MOVE TO P2 Provede se skok na konec programu nebo procedury HALT Skok na návěští. Nelze skákat do podprogramu!!! JUMP návěští
Instrukce pro řízení běhu procesu IF podmínka THEN příkaz ELSE příkaz IF w>=180 THEN MOVE TO P5 ELSE JUMP Zacatek Definice proměnných Typy: BINARY, INTEGER, REAL, CHAR Strukturované typy: ARRAY, POINT,… INTEGER: citac REAL: x,y,z ARRAY [10..10] INTEGER: Pole SR60.POINT: P1,P2
Paralelní procesy Řídicí systém může spouštět procesy v režimu multitasking Externí procesy EXTERNAL: Vrtani Spuštění paralelního procesu START Vrtani STOP Vrtani Ukončení paralelního procesu Interní procesy PARALLEL MOVE SR60 TO P1 Oba pohyby jsou vykonány současně ALSO MOVE SR800 TO P2 PARALLEL_END Další program je spuštěn až po provedení instrukcí všech procesů
Výměna nástroje Výměna nástroje znamená především TRANSFORMACI souř. • Nastavení strojních parametrů • Definice TCP --- Nastavení strojního parametru • --- Definicí souboru: TOOL.DAT X TOOL SR60 N1 MOVE LINEAR PCHANGE Z Y TOOL OFF Strojní parametry Seznam parametrů důležitých pro konfiguraci a funkci systému Zadávají se přes PHG: např. P10 = 0 (Němčina) P10 = 1 (Angl.) P10 = 2 (Ital.)
Komunikační funkce Potry WRITE / READ PHG V24_1 V24_2 V24_3 V24_4 Formát: <DATA> + <CR> (Data jsou typu ASCII string) Příklad: D=0,123 WRITE PHG, ´Hodnota =´,D READ pozice MOVE LINEAR EXACT pozice Literatura: BOSCH GmbH: BAPS2 Programing Inctruction, 1992.