3c Programming
3c Programming
OnOn-line programming
l l l
Universit
l l l
degli studi di
Cassino
M. Strano, La programmazione, Lez. 8 p.1 p. 1
OffOff-line programming
l
vantaggi
l
Universit
Effective programming of program logics
calculations with state state-of of-the -art debugging facilities Process support tools for instance selection of welding parameters
degli studi di
l
Verification of program through simulation and visualization Well documented through simulation model with appropriate programs
Reuse of existing CAD data
svantaggi
l l
Investimento iniziale nel software e per costi/tempi di apprendimento Necessit Necessit di calibrazione
p.2 p. 2
Cassino
Locations
l
program logics
l
Universit
(position and alignment) (controller structures, communication, calculations) The program logics
hybrid programming
l
degli studi di
OFF LINE
l l
effective debugging and simulation facilities are available reuse of CAD data and interaction of the programmer
ON LINE
l
Movement commands to locating the placement of the piece in the robot's workcell
Cassino
p.3 p. 3
Universit
Real Cell
degli studi di
Cassino
M. Strano, La programmazione, Lez. 8 p.4 p. 4
calibration
OffOff-line programming
Universit
degli studi di
Cassino
M. Strano, La programmazione, Lez. 8 p.5 p. 5
Universit Cassino
degli studi di
M. Strano, La programmazione, Lez. 8 p.6 p. 6
degli studi di
(keypoints) keypoints)
Definire il prodotto Definire il ciclo (e verificare il carico) Definire lo spazio di lavoro Definire i punti di riferimento per il robot Scrivere il programma Definire i punti di riferimento effettivi Verificare il programma
Universit Cassino
p.7 p. 7
Universit Cassino
Per poter muovere un utensile o un pezzo il pi pi velocemente possibile senza sovraccaricare i sistemi di azionamento del robot occorre tener conto anche dei dati di carico dell dell utensile o del pezzo
degli studi di
M. Strano, La programmazione, Lez. 8 p.8 p. 8
Universit Cassino
degli studi di
M. Strano, La programmazione, Lez. 8 p.9 p. 9
Universit Cassino
degli studi di
Distanza complessiva del baricentro del carico dal centro del robot
M. Strano, La programmazione, Lez. 8 p.10 p. 10
Universit
Carico per ogni asse
degli studi di
Cassino
M. Strano, La programmazione, Lez. 8 p.11 p. 11
Universit Cassino
A2 Carichi addizionali per asse
degli studi di
A1
M. Strano, La programmazione, Lez. 8 p.12 p. 12
Universit
degli studi di
Cassino
M. Strano, La programmazione, Lez. 8 p.13 p. 13
Universit
l l l l
l l
degli studi di
B-spline Cubic spline
Link Space
n variables ( 1 n)
Cassino
Forward K Inverse K
p.14 p. 14
Tool Space
6 variables (x,y,z, x, y, z)
Universit Cassino
degli studi di
M. Strano, La programmazione, Lez. 8 p.15 p. 15
Universit
Comandi di movimento Gestione sensori
degli studi di
M=MONITOR (<SLP,SRP>, 1, 0, F); IF THEN ELSE WHILE DO = + - * / Operatori logici, aritmetici, relazionali AND OR NOT XOR
M. Strano, La programmazione, Lez. 8 p.16 p. 16
Cassino
Il robot KUKA
l
Universit Cassino
Resolver
degli studi di
M. Strano, La programmazione, Lez. 8 p.17 p. 17
gli assi vengono portati in una posizione meccanica definita, la cosiddetta posizione zero meccanica.
correlazione con langolo di azionamento asse e viene definita tramite una tacca di misura o un contrassegno viene memorizzato il valore assoluto del trasduttore per ogni asse
Universit Cassino
degli studi di
l
M. Strano, La programmazione, Lez. 8 p.18 p. 18
Universit Cassino
Per il preciso raggiungimento della posizione zero meccanica viene impiegato un nonio, un comparatore o un tastatore elettronico (EMT)
degli studi di
M. Strano, La programmazione, Lez. 8 p.19 p. 19
Sistemi di coordinate
La posizione del centro della flangia viene descritta tramite la sua distanza dallorigine del sistema di coordinate mondo, suddivisa nelle componenti X, Y e Z
Universit Cassino
Lorientamento del sistema di coordinate della flangia del robot la cui origine si trova nel centro della flangia viene descritto tramite la rotazione rispetto al sistema di coordinate mondo
degli studi di
M. Strano, La programmazione, Lez. 8 p.20 p. 20
10
degli studi di
Linformazione che descrive un punto nello spazio tramite lindicazione delle coordinate X, Y e Z e degli angoli di rotazione A, B e C viene denominata FRAME.
Universit Cassino
p.21 p. 21
Universit
degli studi di
Cassino
M. Strano, La programmazione, Lez. 8 p.22 p. 22
11
Dati di carico
Universit Cassino
degli studi di
M. Strano, La programmazione, Lez. 8 p.23 p. 23
Universit Cassino
degli studi di
M. Strano, La programmazione, Lez. 8 p.24 p. 24
12
tolleranze
Universit Cassino
degli studi di
M. Strano, La programmazione, Lez. 8 p.25 p. 25
Universit Cassino
degli studi di
M. Strano, La programmazione, Lez. 8 p.26 p. 26
lutensile col suo TCP (punto di riferimento dellutensile) viene spostato da quattro direzioni (metodo 4 punti) su un punto di riferimento.
13
Universit Cassino
degli studi di
M. Strano, La programmazione, Lez. 8 p.27 p. 27
i dati di un utensile da misurare vengono rilevati tramite il confronto con un utensile noto spostandosi su un punto di riferimento
degli studi di
ABC -2_punti l se per il posizionamento e la guida necessario un orientamento esatto dei tre assi dellutensile. Esso richiede la presenza di punti contrassegnati sul lato positivo del piano XY e sul lato negativo dellasse X dellutensile ABC -- mondiale (5D) l se necessaria soltanto la direzione di lavoro dellutensile per il suo posizionamento e la sua guida (saldatura MIG/MAG, taglio con laser o con getto dacqua). ABC -- mondiale (6D) l se necessario lorientamento di tutti i tre assi dellutensile per il posizionamento e la guida (ad es. pinze di saldatura, gripper, ugelli di adesivo, ecc.)
Universit Cassino
p.28 p. 28
14
Universit Cassino
degli studi di
M. Strano, La programmazione, Lez. 8 p.29 p. 29
I sistemi di coordinate
l
Universit Cassino
p.30 p. 30
Ogni asse del robot da A1 ad A6 pu essere spostato singolarmente in direzione positiva o negativa Un sistema di coordinate ortogonale che ha la sua origine nella punta dellutensile. Sistema di coordinate ortogonale che ha la sua origine sul pezzo in lavorazione Sistema di coordinate ortogonale fisso che ha la sua origine nel piede del robot
degli studi di
l
TOOL
BASE
l
WORLD
l
15
I sistemi di coordinate
l
Universit Cassino
p.31 p. 31
degli studi di
l l
M. Strano, La programmazione, Lez. 8
Ogni asse del robot da A1 ad A6 pu essere spostato singolarmente in direzione positiva o negativa Gli assi A4 e A6 possono essere progettati per determinati casi di applicazione anche come assi rotanti in modo infinito. Le relative impostazioni vengono effettuate nel file $MACHINE.DAT Gli assi A1 e A3 sono assi rotanti in modo finito.
I sistemi di coordinate
l
l
Universit
Un sistema di coordinate ortogonale che ha la sua origine nella punta dellutensile (TCP)
Il sistema TOOL segue sempre il movimento dellutensile.
degli studi di
Cassino
M. Strano, La programmazione, Lez. 8 p.32 p. 32
16
I sistemi di coordinate
l
l
Universit
Sistema di coordinate ortogonale che ha la sua origine sul pezzo in lavorazione
Il sistema di coordinate BASE si sposta soltanto insieme ad un pezzo se questo applicato su una cinematica esterna, accoppiata in modo matematico.
degli studi di
Cassino
M. Strano, La programmazione, Lez. 8 p.33 p. 33
I sistemi di coordinate
l
l
Universit Cassino
p.34 p. 34
Sistema di coordinate ortogonale fisso che ha la sua origine nel piede del robot
In caso di selezione del sistema di coordinate TOOL, BASE o WORLD, normalmente vengono spostati pi assi in sincrono
degli studi di
17
Il control panel
l
degli studi di
Il KUKA Control Panel, denominato KCP, costituisce linterfaccia tra uomo e macchina per il comando semplice del controllo robot KR C1. Tutti gli elementi per la programmazione e il comando del sistema robot ad eccezione dellinterruttore principale sono alloggiati direttamente sul KCP
Universit Cassino
p.35 p. 35
degli studi di
Spostamento con lo space--mouse
in base allimpostazione dei gradi di libert contemporaneamente tre oppure sei assi
Lo spostamento manuale serve per il movimento del robot sotto comando manuale, ad esempio per linsegnamento di punti di destinazione o per portare il robot fuori ingombro dopo che un asse del robot ha urtato contro uno dei fine corsa software
Universit
ogni asse singolarmente
Cassino
18
Universit
degli studi di
Cassino
M. Strano, La programmazione, Lez. 8 p.37 p. 37
Universit
disinserire lo spostamento manuale eseguito completamente (impostazione Go)
degli studi di
Esecuzione manuale del programma
Scegliere col tasto cursore oder - il programma desiderato ed azionare il softkey Selezionare(in basso a sinistra del display). Appare il testo del programma
Cassino
p.38 p. 38
19
Universit Cassino
degli studi di
M. Strano, La programmazione, Lez. 8 p.39 p. 39
Istruzioni di programma
0. Ultima istruzione l Comando per linserimento dellistruzione eseguita per ultima; 1. Movimento l Consente la programmazione di movimenti PTP, LIN e CIRC; 2. Logica l Programmazione di istruzioni logiche e di tempi di attesa, di funzioni di comando e di impulso in base al percorso, settaggio e interrogazione di uscite ed ingressi; 3. CmdAnalog (Uscita analogica) l Settaggio delle uscite analogiche sotto controllo del programma; 4. Commento l Inserimenti di commenti nei moduli di programma; 5. KRL assistent l Programmazione KRL di funzioni speciali supportata da sintassi
Universit Cassino
p.40 p. 40
degli studi di
20
Istruzioni di programma
1. Movimento
Universit Cassino
p.41 p. 41
In caso di pi comandi di movimento successivi esistono due possibilit per definire come deve avvenire il movimento tra i singoli punti:
degli studi di
arresto preciso
Universit Cassino
p.42 p. 42
degli studi di
arresto approssimato
21
Universit
degli studi di
Cassino
M. Strano, La programmazione, Lez. 8 p.43 p. 43
Universit
degli studi di
Cassino
M. Strano, La programmazione, Lez. 8 p.44 p. 44
22
La traiettoria viene determinata tramite il punto iniziale, il punto ausiliario e il punto di destinazione
I 3 punti individuano un piano. Affinch Affinch il controllo possa determinare questo piano in modo pi pi preciso possibile, questi tre punti dovrebbero trovarsi distanti uno dall dallaltro.
Universit Cassino
degli studi di
M. Strano, La programmazione, Lez. 8 p.45 p. 45
Universit
degli studi di
Cassino
M. Strano, La programmazione, Lez. 8 p.46 p. 46
23
Funzioni di attesa
In secondi
l
Universit
Funzione di attesa in base al tempo (WAIT)
degli studi di
Funzioni di commutazione
l l l l
Funzione di commutazione semplice (OUT) Funzione impulso semplice (PULSE) Funzione di commutazione in base al percorso (SYN OUT) Funzione impulso in base al percorso (SYN PULSE)
Accoppiamento e disaccoppiamento del segmento INTERBUS (IBUS --Seg Seg on/off) (IBUS-p.47 p. 47
Cassino
Per rendere i programmi pi pi chiari si consiglia di inserire delle righe di commento che contengono dei testi illustrativi sui moduli del programma
l
Universit
La riga di commento viene preceduta automaticamente da un punto e virgola ( ; ).
degli studi di
Cassino
M. Strano, La programmazione, Lez. 8 p.48 p. 48
24
Esempi di programma
3 modi di esecuzione di un programma
l l l
l
Il programma si arresta dopo ogni riga di programma Il programma si arresta dopo ogni riga di movimento Il programma si arresta solo alla fine se non ci sono istruzioni WAIT
Universit Cassino
p.49 p. 49
GO
l
degli studi di
Questa indicazione viene data in un file di configurazione del robot vale per tutti i programmi
Universit
Istruzioni
degli studi di
l
Sono lette dal robot tutte insieme all allinizio del programma Si devono sempre trovare in testa al file Sono lette dinamicamente riga per riga
l l
Sottoprogrammi END
2 tipi di file
l l
*.src (file programma vero e proprio) *.dat (eventuale lista dati, contiene solo dichiarazioni)
Cassino
p.50 p. 50
25
Esempi di programma
Possibili dichiarazioni
l l
l
Universit
Intero, reale, carattere, booleano POS
degli studi di
Posizione + correttori Status S e Turn T (posizione assiale univoca) REAL X, Y, Z, A, B, C, INT S, T Sistema locale di riferimento REAL X, Y, Z, A, B, C
l
FRAME
AXIS
Set di valori per gli assi REAL A1, A2, A3, A4, A5, A6
Cassino
p.51 p. 51
Esempi di programma
Un programma molto semplice (1/2)
DEF PROG1() ;...... sezione delle dichiarazioni INT J ; dichiaraz dichiaraz. . di integer per la variabile J ;...... sezione delle istruzioni $ VEL_AXIS VEL_AXIS[1]=100 [1]=100 ; determinazione velocit velocit per asse $ VEL_AXIS VEL_AXIS[2]=100 [2]=100 $ VEL_AXIS VEL_AXIS[6]=100 [6]=100
Universit Cassino
p.52 p. 52
degli studi di
$ ACC_AXIS ACC_AXIS[1]=100 [1]=100 ; determinazione accelerazioni per asse $ ACC_AXIS ACC_AXIS[2]=100 [2]=100 $ ACC_AXIS ACC_AXIS[6]=100 [6]=100
M. Strano, La programmazione, Lez. 8
26
Esempi di programma
Un programma molto semplice (2/2)
;...... continua la sezione delle istruzioni PTP {A1 0, A2 -90, A3 90, A4 0, A5 0, A6 0} FOR J=1 TO 5 PTP {A1 45} PTP {A2 -70, A3 50} PTP {A1 0, A2 -90, A3 90} ENDFOR
Universit Cassino
p.53 p. 53
degli studi di
; movimento incrementale
Esempi di programma
Un programma pi pi complesso (1/2)
DEF PROG2() ;...... sezione delle dichiarazioni DECL AXIS HOME ; variabile HOME del tipo AXIS DECL FRAME MYBASE[2] ; campo del tipo FRAME
Universit Cassino
p.54 p. 54
;...... sezione dell dellinizializzazione ; inizial inizial. . veloc veloc. . e acceler acceler .. HOME= {AXIS: A1 0, A2 -90, A3 90, A4 0, A5 30, A6 0} $BASE={X 1000, Y 0, Z 1000, A0, B0, C0} ; sist sist. . di coord coord. . base REF_POS ={X 100, Y 0, Z0, A0, B0, C0} ; posizione di riferimento MYBASE[2]={X0, Y200, Z250, A0, B90, C0}; sist sist. . di coordinate locale
degli studi di
27
Esempi di programma
Un programma pi pi complesso (2/2)
;...... sezione delle istruzioni PTP HOME; movimento fino a casa casa nel sistema di coordinate BASE {A1 0, A2 -90, A3 90, A4 0, A5 0, A6 0} PTP REF_POS ; movimento nel sistema BASE fino a REF_POS PTP MYBASE[2] ; movimento nel sistema BASE fino a MYBASE[2] PTP MYBASE[2]: REF_POS ; movimento, nel sistema MYBASE[2], fino a REF_POS
Universit Cassino
degli studi di
p.55 p. 55
Universit Cassino
p.56 p. 56
degli studi di
28