Istruzione “CONTINUE”
Kuka Roboter Italia
Rivoli, 10/07/2018
Davide Geninatti Antonio Evangelista
Engineering & Application Manager Engineering & Application Machine Automation
Division Industries Division Industries
Customer Service Customer Service
1
KUKA Roboter Italia SpA Via Pavia 9/a int. 6, 10098 Rivoli (TO) Italy +39 011 T. 9595013 F. 9595141
[email protected] Indirizzo pec:
[email protected] - www.kuka.com - C.f.: 07010790157 - P.I.: 05506020014 - Rea 717253
Uff. Reg. Imprese To nr. 2677/1988 - C.S. euro 5.350.000 i.v. - Società a socio unico -
Introduzione all’uso corretto dell’istruzione
“CONTINUE”
1.Concetto di “Puntatore Avanzato”
Una delle principali caratteristiche di un robot industriale è la velocità con la quale è in
grado di effettuare le sue operazioni. A tal fine, oltre alla dinamica del robot, è di
fondamentale importanza l’efficienza dell’esecuzione del programma utente che è
composto oltre che dai movimenti, da istruzioni logiche, matematiche ed istruzione di
I/O verso la periferia.
Una veloce esecuzione del programma, quindi, si può ottenere:
1. mediante una riduzione della durata dei movimenti
2. mediante la riduzione del tempo di inattività tra i movimenti
Il primo punto si ottiene utilizzando, quando è possibile, valori di velocità ed
accelerazioni massime e movimenti PTP (ove possibile)
La riduzione dei tempi di inattività tra i movimenti, può essere ottenuto elaborando le
istruzioni logiche e matematiche durante il movimento del robot, ovvero elaborandole
in un processo avanzato.
Il puntatore di esecuzione principale (evidenziato in bianco), è sempre visibile sull’HMI
e quando il programma è in esecuzione, indica sempre il movimento in corso.
Il puntatore avanzato, invece, non è visibile e precede il puntatore principale di tre
istruzioni di movimento (impostazione predefinita $ADVANCE=3).
2
KUKA Roboter Italia SpA Via Pavia 9/a int. 6, 10098 Rivoli (TO) Italy +39 011 T. 9595013 F. 9595141 [email protected]
Indirizzo pec: [email protected] - www.kuka.com - C.f.: 07010790157 - P.I.: 05506020014 - Rea 717253
Uff. Reg. Imprese To nr. 2677/1988 - C.S. euro 5.350.000 i.v. - Società a socio unico -
Il valore della variabile $ADVANCE specifica quante istruzioni di movimento (non
istruzioni logiche) il puntatore avanzato precede il puntatore principale.
Tuttavia, ci sono alcune istruzioni che, per assicurare la corretta sequenza temporale
delle istruzioni stesse, arrestano automaticamente il processo avanzato. In presenza di
queste istruzioni, il puntatore avanzato si ferma, il puntatore principale avanza, quando i
due puntatore sono allineati, l’elaborazione del programma riprende. Ciò comporta una
fermata del robot (movimento a scatti).
3
KUKA Roboter Italia SpA Via Pavia 9/a int. 6, 10098 Rivoli (TO) Italy +39 011 T. 9595013 F. 9595141 [email protected]
Indirizzo pec: [email protected] - www.kuka.com - C.f.: 07010790157 - P.I.: 05506020014 - Rea 717253
Uff. Reg. Imprese To nr. 2677/1988 - C.S. euro 5.350.000 i.v. - Società a socio unico -
Nella tabella seguente sono riportate tutte le istruzioni e le variabili di sistema che
fermano il puntatore avanzato:
Variabili di Sistema $IN[..] $OUT[..]
$ANIN[..] $ANOUT[..]
$AXIS_ACT $AXIS_BACK $AXIS_FOR $AXIS_RET
$POS_ACT $POS_BACK $POS_FOR $POS_RET
$AXIS_INC $AXIS_INT $POS_ACT_MES $POS_INT
$TORQUE_AXIS $ASYNC_AXIS
Istruzioni PULSE
HALT WAIT
CREAD CWRITE COPEN CCLOSE
SREAD SWRITE
Movimenti CP-PTP senza approssimazione
Istruzioni connesse ad END (se nel modulo è stato dichiarato un interrupt)
interrupt INTERRUPT DECL (se l’interrupt è stato già dichiarato)
RESUME senza BRAKE
Altre variabili di $ALARM_STOP $INHOME_POS $ON_PATH
sistema $EM_STOP $ACT_TOOL $PAL_MODE
$ACT_BASE $ACT_EX_AX 4SAFETY_SW
$OV_PRO $WORKSPACE $AXWORKSPACE
$ASYNC_EX_AX_DECOUPLE
4
KUKA Roboter Italia SpA Via Pavia 9/a int. 6, 10098 Rivoli (TO) Italy +39 011 T. 9595013 F. 9595141 [email protected]
Indirizzo pec: [email protected] - www.kuka.com - C.f.: 07010790157 - P.I.: 05506020014 - Rea 717253
Uff. Reg. Imprese To nr. 2677/1988 - C.S. euro 5.350.000 i.v. - Società a socio unico -
Qualora, in presenza delle istruzioni elencate nella precedente tabella, non si volesse
arrestare il puntatore avanzato, bisogna inserire nella riga immediatamente precedente,
l’istruzione CONTINUE.
Da notare che l’istruzione CONTINUE ha effetto solo sulla riga immediatamente
dopo.
Quindi, se la riga successiva è una riga vuota o un commento, il CONTINUE NON
ha alcun effetto.
5
KUKA Roboter Italia SpA Via Pavia 9/a int. 6, 10098 Rivoli (TO) Italy +39 011 T. 9595013 F. 9595141 [email protected]
Indirizzo pec: [email protected] - www.kuka.com - C.f.: 07010790157 - P.I.: 05506020014 - Rea 717253
Uff. Reg. Imprese To nr. 2677/1988 - C.S. euro 5.350.000 i.v. - Società a socio unico -
Seguono alcuni esempi:
6
KUKA Roboter Italia SpA Via Pavia 9/a int. 6, 10098 Rivoli (TO) Italy +39 011 T. 9595013 F. 9595141 [email protected]
Indirizzo pec: [email protected] - www.kuka.com - C.f.: 07010790157 - P.I.: 05506020014 - Rea 717253
Uff. Reg. Imprese To nr. 2677/1988 - C.S. euro 5.350.000 i.v. - Società a socio unico -
7
KUKA Roboter Italia SpA Via Pavia 9/a int. 6, 10098 Rivoli (TO) Italy +39 011 T. 9595013 F. 9595141 [email protected]
Indirizzo pec: [email protected] - www.kuka.com - C.f.: 07010790157 - P.I.: 05506020014 - Rea 717253
Uff. Reg. Imprese To nr. 2677/1988 - C.S. euro 5.350.000 i.v. - Società a socio unico -
Tuttavia, ci sono situazioni in cui può risultare utile fermare il puntatore avanzato.
Nell’esempio precedente, la variabile PezziTotali è incrementata quando il robot inizia il
movimento verso il punto P3 ($advance=3) e non dopo aver raggiunto il punto P5.
Volendo fermare deliberatamente il puntatore avanzato, si usa un trucco come
nell’esempio seguente:
L’istruzione wait sec 0 non introduce nessun ritardo, ma causa l’arresto del puntatore
avanzato e quindi la variabile PezziTotali sarà incrementata esattamente dopo aver
raggiunto il punto P5.
8
KUKA Roboter Italia SpA Via Pavia 9/a int. 6, 10098 Rivoli (TO) Italy +39 011 T. 9595013 F. 9595141 [email protected]
Indirizzo pec: [email protected] - www.kuka.com - C.f.: 07010790157 - P.I.: 05506020014 - Rea 717253
Uff. Reg. Imprese To nr. 2677/1988 - C.S. euro 5.350.000 i.v. - Società a socio unico -
2.Movimento “Fluido”
Per rendere il movimento del robot il più possibile fluido ed armonioso (con notevoli
vantaggi per il tempo ciclo e per la vita dei riduttori), bisogna fare in modo che il robot
possa sempre effettuare dei movimenti approssimati, evitando di fermare il puntatore
avanzato.
Ogni qualvolta il robot non riesce ad effettuare dei movimenti approssimati, nella
finestra dei messaggi compaiono delle notifiche come quelle della fig. seguente:
Il messaggio KSS01123 significa che nel modulo ESEMPIO_04, alla riga 58, c’è una
istruzione che non può essere approssimata. Ciò che causa la mancata approssimazione
è riportata tra parentesi (=>1442)
Subito dopo è visualizzato il messaggio KSS01442, il quale indica che alla riga 60 c’è
una istruzione che impedisce di avere una sequenza di istruzioni con approssimazione.
9
KUKA Roboter Italia SpA Via Pavia 9/a int. 6, 10098 Rivoli (TO) Italy +39 011 T. 9595013 F. 9595141 [email protected]
Indirizzo pec: [email protected] - www.kuka.com - C.f.: 07010790157 - P.I.: 05506020014 - Rea 717253
Uff. Reg. Imprese To nr. 2677/1988 - C.S. euro 5.350.000 i.v. - Società a socio unico -
Per poter avere una corrispondenza tra i nr di riga visualizzati su HMI ed i nr di riga
indicati nei messaggi precedenti, bisogna aprire tutte le FOLDS e visualizzare i
“dettagli”.
10
KUKA Roboter Italia SpA Via Pavia 9/a int. 6, 10098 Rivoli (TO) Italy +39 011 T. 9595013 F. 9595141 [email protected]
Indirizzo pec: [email protected] - www.kuka.com - C.f.: 07010790157 - P.I.: 05506020014 - Rea 717253
Uff. Reg. Imprese To nr. 2677/1988 - C.S. euro 5.350.000 i.v. - Società a socio unico -
11
KUKA Roboter Italia SpA Via Pavia 9/a int. 6, 10098 Rivoli (TO) Italy +39 011 T. 9595013 F. 9595141 [email protected]
Indirizzo pec: [email protected] - www.kuka.com - C.f.: 07010790157 - P.I.: 05506020014 - Rea 717253
Uff. Reg. Imprese To nr. 2677/1988 - C.S. euro 5.350.000 i.v. - Società a socio unico -
12
KUKA Roboter Italia SpA Via Pavia 9/a int. 6, 10098 Rivoli (TO) Italy +39 011 T. 9595013 F. 9595141 [email protected]
Indirizzo pec: [email protected] - www.kuka.com - C.f.: 07010790157 - P.I.: 05506020014 - Rea 717253
Uff. Reg. Imprese To nr. 2677/1988 - C.S. euro 5.350.000 i.v. - Società a socio unico -
Un altro modo per individuare le righe responsabili di una fermata del puntatore
avanzato, consiste nell’impostare la variabile di sistema $STOPNOAPROX=TRUE
Impostando $STOPNOAPROX=TRUE ed eseguendo il programma in T1 o T2, il
programma si arresta su tutte le istruzioni che fermano il puntatore avanzato. In questo
modo è possibile individuare agevolmente tutte le istruzioni che impediscono
l’esecuzione dei movimenti con approssimazione.
Nella figura seguente sono riportati i possibili messaggi visualizzati in caso di
approssimazione non possibile.
13
KUKA Roboter Italia SpA Via Pavia 9/a int. 6, 10098 Rivoli (TO) Italy +39 011 T. 9595013 F. 9595141 [email protected]
Indirizzo pec: [email protected] - www.kuka.com - C.f.: 07010790157 - P.I.: 05506020014 - Rea 717253
Uff. Reg. Imprese To nr. 2677/1988 - C.S. euro 5.350.000 i.v. - Società a socio unico -
14
KUKA Roboter Italia SpA Via Pavia 9/a int. 6, 10098 Rivoli (TO) Italy +39 011 T. 9595013 F. 9595141 [email protected]
Indirizzo pec: [email protected] - www.kuka.com - C.f.: 07010790157 - P.I.: 05506020014 - Rea 717253
Uff. Reg. Imprese To nr. 2677/1988 - C.S. euro 5.350.000 i.v. - Società a socio unico -
Seguono alcuni esempi:
Nell’esempio precedente, l’unico CONTINUE che serve è quello prima dell’istruzione
PULSE. Tutti gli altri sono inutili, perché:
non serve utilizzare il CONTINUE prima della chiamata di una routine.
Eventualmente verificare se all’interno della routine chiamata ci sono istruzioni
che fermano il puntatore avanzato oppure c’è la fold INI
non serve utilizzare il CONTINUE prima di una etichetta di salto.
Per rendere continuo un movimento serve solo il parametro C_DIS, C_VEL,
C_PTP oppure C_SPL a seconda dei casi. E’ inutile far precedere l’istruzione di
movimento dal CONTINUE.
15
KUKA Roboter Italia SpA Via Pavia 9/a int. 6, 10098 Rivoli (TO) Italy +39 011 T. 9595013 F. 9595141 [email protected]
Indirizzo pec: [email protected] - www.kuka.com - C.f.: 07010790157 - P.I.: 05506020014 - Rea 717253
Uff. Reg. Imprese To nr. 2677/1988 - C.S. euro 5.350.000 i.v. - Società a socio unico -
Anche nell’esempio precedente, su 11 istruzioni CONTINUE, solo una è utile, le altre
occorrenze sono praticamente inutili.
16
KUKA Roboter Italia SpA Via Pavia 9/a int. 6, 10098 Rivoli (TO) Italy +39 011 T. 9595013 F. 9595141 [email protected]
Indirizzo pec: [email protected] - www.kuka.com - C.f.: 07010790157 - P.I.: 05506020014 - Rea 717253
Uff. Reg. Imprese To nr. 2677/1988 - C.S. euro 5.350.000 i.v. - Società a socio unico -
La fold INI, inserita automaticamente ogni qualvolta si crea un nuovo modulo, deve
essere eseguita almeno una volta nel programma robot.
Meglio se questa fold venisse eseguita SOLO una volta all’inizio del programma
principale, come illustrato nella figura seguente.
17
KUKA Roboter Italia SpA Via Pavia 9/a int. 6, 10098 Rivoli (TO) Italy +39 011 T. 9595013 F. 9595141 [email protected]
Indirizzo pec: [email protected] - www.kuka.com - C.f.: 07010790157 - P.I.: 05506020014 - Rea 717253
Uff. Reg. Imprese To nr. 2677/1988 - C.S. euro 5.350.000 i.v. - Società a socio unico -
18
KUKA Roboter Italia SpA Via Pavia 9/a int. 6, 10098 Rivoli (TO) Italy +39 011 T. 9595013 F. 9595141 [email protected]
Indirizzo pec: [email protected] - www.kuka.com - C.f.: 07010790157 - P.I.: 05506020014 - Rea 717253
Uff. Reg. Imprese To nr. 2677/1988 - C.S. euro 5.350.000 i.v. - Società a socio unico -