LINGUAGGIO DI PROGRAMMAZIONE RAPID
Ogni programma in RAPID è suddiviso in moduli. Un MODULO è un contenitore di procedure o di dati.
• MODULI DI SISTEMA: sono SEMPRE presenti nella memoria di lavoro del robot; i moduli di sistema sono
di 2 tipi: [Link] e [Link]
[Link] contiene dati numerici standard che possono essere utilizzati dal programmatore.
[Link] è un modulo di sistema che contiene il tool0, il wobj0, una serie di speeddata (da v5 av7000) ed una
serie di zonedata (da z0 a z200 + zfine): all’accensione, il robot sa dove si trovano il suo tool0 e wobj0, ossia sa
dov’è collocato nello spazio il centro della flangia.
N.B.
utilizzare
zonedata di default
e personalizzare gli
speeddata!
LINGUAGGIO DI PROGRAMMAZIONE RAPID
• MODULI DI PROGRAMMA: contiene le PROCEDURE che costituiscono il programma di controllo del
robot; fanno parte del modulo di programma la PROC main e tutte le procedure definite dal
programmatore.
Esempio:
N.B. deve sempre esistere una ed una sola procedura main!!!
ESEMPIO SEQUENZA DI PROGRAMMA
La procedura main gestisce il ciclo di lavoro del robot
LINGUAGGIO DI PROGRAMMAZIONE RAPID
ISTRUZIONI
Sono scritte all’interno delle PROCEDURE. Hanno un nome e richiedono i «DATI» di programma per essere
composte. Tutte le ISTRUZIONI terminano con ";"
DATI
Possono essere dichiarati all’interno di :
• un MODULO di sistema
• un MODULO di programma
• una PROCEDURA (possono essere dichiarati SOLO come VARIABILI). Vengono utilizzati
nelle ISTRUZIONI
LINGUAGGIO DI PROGRAMMAZIONE RAPID
Ogni DATO è definito da:
- Caratteristica del dato: PERS, VAR o CONST
PERS: dato persistente, ritentivo e modificabile nel programma
VAR: dato non ritentivo che allo spegnimento riprende il valore dichiarato all’inizio, modificabile nel
programma
CONST: dato costante, non modificabile nel programma
- Tipologia del dato: speeddata, robtarget, bool, num (tipologie più utilizzate)
- Nome: tipicamente gli speeddata iniziano per “v”, i robtarget iniziano per “p”, i dati booleani iniziano per “b”, i
dati numerici iniziano per “n” PERS speeddata vLavoro : = [ 1200, 200, 0, 0];
PERS robtarget pSopraStazionePrelievo : = [ [1200, 230, ………
VAR bool bPezzoPrelevato : = TRUE;
CONST num nPezziDaPrelevare : = 15;
LINGUAGGIO DI PROGRAMMAZIONE RAPID: SINTASSI ISTRUZIONE
NOME SPEEDDATA
DELL’ISTRUZIONE
TOOLDATA
MoveJ pSopraStazionePrelievo, vLavoro, z10, tool0 ;
ZONEDATA
ROBTARGET
September 12,
2019
Slide 6
LINGUAGGIO DI PROGRAMMAZIONE RAPID: ZONEDATA
Le zonedata descrivono quanto vicino deve arrivare il robot alla posizione programmata (robtarget), prima di
passare a quella successiva. Gli zonedata variano da z0 a z200 + fine. ZONA
Punto_1 Punto_2
MoveL Punto_1, v100, fine, tool0;
MoveL Punto_2, v100, z10, tool0;
MoveL Punto_3, v100, fine, tool0;
Punto_3
LINGUAGGIO DI PROGRAMMAZIONE RAPID: ZONEDATA
FLYING POINT
LINGUAGGIO DI PROGRAMMAZIONE RAPID: ZONEDATA
La ZONEDATA di tipo fine è utilizzata per:
➢ proseguire con l’esecuzione del programma solo dopo aver completato l’istruzione di movimento
➢ gestire segnali di input e output (es: apri/ chiudi pinza) dopo un’istruzione di movimento per evitare che
questi segnali vengano processati in anticipo
LINGUAGGIO DI PROGRAMMAZIONE RAPID: TOOLDATA
LINGUAGGIO DI PROGRAMMAZIONE RAPID: TOOLDATA
TCP = Tool Center Point
LINGUAGGIO DI PROGRAMMAZIONE RAPID: TOOLDATA
255
300
X