PROGRAMOVÁNÍ ROBOTŮJAZYK BAPS2
Ing. Vladislav Bezouška, Ph.D.
Vývojové prostředí – offline programming
Struktura souborů
*.ird Soubor s kódem programu – je určený k prováděnírobotem
*.qll Textový soubor s částmi programu – je určený propřekladač
*.pkt Soubor s definicí bodů v prostoru
*.sym Soubor s definicí proměnných
*.err Soubor s hlášením chyb, které se objevily přikompilaci
*.dat Soubor pro deklaraci přiřazení pozice číslicového voliče jednotlivým procesům
Struktura programu
PříkazySoubor *.qllLinkové souboryPřipojuje překladač
Hlavní program
Deklarace
Tělo programu
Podprogramyinterní
Podprogramyexterní
Volání podprog.
Linkové souborylinkování
Volání podprog.
Deklarační část programu
Program POKUS
External: POZICE
Input: 1 = NaPozici
Output: 9 = UCHOP
Real: vaha, delka
Point: P1, P2
;;Include kinematika
Kinematika.qll
;;Control: RHO3
;;Kinematics: RHO3
Deklarace externího procesu
Deklarace vstupů/výstupů
Deklarace proměnných/bodů
Link
deklaračníčásti
Příkazová část programu
begin Začátek programu
Příkazy
Konec programuProgram_end
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 = 0pustit = 1
ref_pnt(3) ref_pnt(1) ref_pnt(2,4)
start pisty
Program_End
Definice ŘS
Jméno programu
Deklarace externího procesu
Komentář
Jména a počet KINEMATIK
Jména a počet OS v souř. sys. JC,WC
Definice vstupů
Definice výstupů
Konec programu
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ě
Volání externího podprogramu
begin
VRTANI
Program_end
Program VETVENI
External: VRTANI
begin
Halt
Program VRTANI
Program_end
Deklarace pod-procedury
begin
Program_end
Program POKUS
Subroutine OTOC
begin
Return
Sub_end
Return může být použit kdekoli v těle pod-procedury
Vnořování
begin
Return
Program_end
Program HLAVNI
ZASOBNIK
Subroutine ZASOBNIK
Halt
Hlavice
Return
Subroutine Hlavice
Vnořovánís opakováním
begin
RPT_END
Program HLAVNI
RPT 2 Times
RPT 3 Times
RPT_END
Prvníprogram
Druhýprogram
Programování pohybu - přehled
Programování pohybu
Inst
rukc
e po
hybu
(MO
VE
,…)
Def
inic
e ki
nem
atik
y
Inte
rpol
ace
(LIN
EA
R,…
)
Ryc
hlos
t, z
rych
lení
, ča
s(A
, V
, T
IME
,…)
Cílo
vý b
od(T
O,
VIA
,…)
Pod
mín
ky k
once
poh
ybu
(UN
TIL
,…)
Instrukce pohybu - absolutní
P1 = (10,10)
MOVE P1 10
10
X
Y
P1 = (10,10)
MOVE VIA P1, P2
P2 = (20,5)10
10
X
Y
20
5
P1 = (10,10)
MOVE TO P1, P2
P2 = (20,5)
10
10
X
Y
20
5
Lze kombinovat: MOVE VIA P3 TO P1, P2
Instrukce pohybu - relativní
P1 = (10,10)
MOVE_REL P110
10
X
Y
P1 = (5,7)
MOVE_REL APPROX P1, P2
P2 = (10,-5)10
10
X
Y
20
5
P1 = (5,7)
MOVE_REL EXACT P1, P2
P2 = (10,-5)
10
10
X
Y
20
5
Lze kombinovat: MOVE_REL APPROX P3 EXACT P1, P2
7
5 10
-5
7 -5
Instrukce pohybu / Definice kinematiky
;;KINEMATIC = Rob1
REF_PNT (1,2)
Definice jména kinematiky. Další instrukce je platná pro kinematiku Rob1
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
P1
X
Y
P3
P2
MOVE CIRCULAR TO (MP1,EP1)
MOVE_REL CIRCULAR EXACT (MP2,EP21)
EP1
X
Y
MP2
EP2
MP1
Pro zadání obloku potřebujeme 3 body: výchozí bod, koncový bod, střed oblouku
Instrukce pohybu / Interpolace
MOVE PTP TO P1
MOVE_REL PTP EXACT P2
P1
X
Y
P2
Nastavení rychlosti
V=750
MOVE LINEAR P1
Rychlost při PTP pohybu – udává rychlostní faktor
V_PTP =0.8 (0,0001 – 9,9999)
Rychlost při LINEAR nebo CILKULAR pohybu – udává rychlostní faktor (1 – 2000 mm/s)
Globální nastavení rychlosti
Lokální nastavení rychlosti
MOVE LINEAR P2
V=310
MOVE LINEAR P3
MOVE LINEAR WITH V=250 TO P1
MOVE PTP WITH V_PTP=0,7 TO P1
Nastavení zrychlení
A=70
při PTP pohybu – pracuje s max. zrychlenímpři LINEAR nebo CILKULAR pohybu – udává zrychlení (0,001 – 32000 mm/s2)
Globální nastavení zrychlení
Lokální nastavení zrychlení
V=310
MOVE LINEAR P3MOVE LINEAR WITH A=250 TO P1
MOVE LNEAR WITH V=0,7, A=5 TO P1MOVE PTP P3
Nepřímé programování rychlosti
MOVE_REL LINEAR WITH T=8 EXACT P1
P1
X
Y
P1
X
YP3
P2
Dráhu urazí za 8 s
MOVE LINEAR WITH T=5 TO P1,P2,P3
5 s
5 s
5 s
Instrukce pro řízení běhu procesu
WAIT 8.9
MOVE_REL LINEAR APPROX P2 EXACT P3
MOVE_REL LINEAR APPROX P2 EXACT P4
WAIT
(0,01-32000s)
WAIT UNTIL ventil = 1
WAIT UNTIL snimac1 = 1
MOVE TO P2
WAIT UNTIL
=,<>,<=,>=,<,>
HALT Provede se skok na konec programu nebo procedury
JUMP návěští Skok na návěští. Nelze skákat do podprogramu!!!
Instrukce pro řízení běhu procesu
MOVE TO P5
IF w>=180 THEN
ELSE JUMP Zacatek
IF podmínka THEN příkaz ELSE příkaz
Definice proměnnýchTypy: BINARY, INTEGER, REAL, CHARStrukturované typy: ARRAY, POINT,…
REAL: x,y,z
INTEGER: citac
ARRAY [10..10] INTEGER: Pole
SR60.POINT: P1,P2
Paralelní procesy
START Vrtani
EXTERNAL: Vrtani
STOP Vrtani
Řídicí systém může spouštět procesy v režimu multitasking
Spuštění paralelního procesu
Ukončení paralelního procesu
Externí procesy
Interní procesy
ALSO
PARALLEL
PARALLEL_END
MOVE SR60 TO P1
MOVE SR800 TO P2
Další program je spuštěn až po provedení instrukcí všech procesů
Oba pohyby jsou vykonány současně
Výměna nástroje
Výměna nástroje znamená především TRANSFORMACI souř.
TOOL SR60 N1
MOVE LINEAR PCHANGE
1) Nastavení strojních parametrů2) Definice TCP --- Nastavení strojního parametru
--- Definicí souboru: TOOL.DAT
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.)
X
Y ZTOOL OFF
Komunikační funkce
WRITE / READ
D=0,123
<DATA> + <CR>
WRITE PHG, ´Hodnota =´,D
Potry
PHG V24_1 V24_2 V24_3 V24_4
Formát:
Příklad:
READ pozice
MOVE LINEAR EXACT pozice
(Data jsou typu ASCII string)
Literatura: BOSCH GmbH: BAPS2 Programing Inctruction, 1992.