Comau Smart NS 12-1.85: una breve introduzione



Documenti analoghi
Test, domande e problemi di Robotica industriale

EasyPrint v4.15. Gadget e calendari. Manuale Utente

Corso di Automazione industriale

Utilizzo del Terminalino

Registratori di Cassa

MANUALE D USO DELLA PIATTAFORMA ITCMS

Assegnamento di un indirizzo IP temporaneo a dispositivi Barix

IRSplit. Istruzioni d uso 07/10-01 PC

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

E possibile modificare la lingua dei testi dell interfaccia utente, se in inglese o in italiano, dal menu [Tools

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

Manuale d uso per la raccolta: Sicurezza degli impianti di utenza a gas - Postcontatore

Dalla a alla zeta: Guida facile ALCUNE NOTE SU COME UTILIZZARE vers. 1 Dicembre 2010 per le assicurazioni non profit

MANUALE SOFTWARE F24 ISTRUZIONI PER L UTENTE

Introduzione. Macro macro istruzione. Sequenza di comandi memorizzati programma

Sistema solare termico giacosun. Indice dei contenuti

MANUALE PARCELLA FACILE PLUS INDICE

LA FINESTRA DI GOAL (SCHERMATA PRINCIPALE E PANNELLO DEI COMANDI)

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)

Modulo 2 Uso del computer e gestione dei file

lo PERSONALIZZARE LA FINESTRA DI WORD 2000

Guida all uso di Java Diagrammi ER

Personalizza. Page 1 of 33

Autoware Ladder Tool (per Arduino ) Basic Tutorial

EXCEL ESERCIZIO DELLE SETTIMANE

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate

Manuale di programmazione BerMar_Drive_Software

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

Il controllo della visualizzazione

Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare.

Creare diagrammi di Gantt con Visio 2003

DESKTOP. Uso del sistema operativo Windows XP e gestione dei file. Vediamo in dettaglio queste parti.

Sharpdesk V3.3. Guida all installazione Versione

Basi di programmazione ISO per macchine CNC con CNC Simulator

MERIDESTER SOFTWARE DI COMUNICAZIONE PER PC

SOMMARIO. 1. Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno...1.1

Installazione del software Fiery per Windows e Macintosh

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.

1. Compilazione dell istanza di adesione

Università degli Studi di Messina

Capitolo 5: Creazione di un disegno DWG

Software Gestionale Politiche Giovanili

INTRODUZIONE A WINDOWS

MANUALE PORTALE UTENTE IMPRENDITORE

Mon Ami 3000 Produzione base Produzione articoli con distinta base e calcolo dei fabbisogni

Programma Gestione Presenze Manuale autorizzatore. Versione /08/2010. Area Sistemi Informatici - Università di Pisa

Volume GESTFLORA. Gestione aziende agricole e floricole. Guidaall uso del software

Versione 2.0. Manuale d uso. Software per la gestione. degli applicativi Bticino. TiManager 03/07-01 PC

Office 2007 Lezione 02. Le operazioni più

CdL in Medicina Veterinaria - STPA AA

Il programma CONFELMOD CAD creazione e modifica

WoWords. Guida all uso: creare ed utilizzare le frasi. In questa guida è descritto come creare ed utilizzare le frasi nel software WoWords.

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

Guida Utente Cos è aworkbook Cataloghi e sessioni Prodotti Assortimenti Risorse Presentazioni 11 Procedura d ordine

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

Uso di base delle funzioni in Microsoft Excel

DINAMIC: gestione assistenza tecnica

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

Crotone, maggio Windows. Ing. Luigi Labonia

Assessorato alla Sanità ARPA. Anagrafe Regionale dei Prodotti Amministrabili. Manuale Utente 1.0.0

Manuale per l utilizzo dell applicazione Client per il controllo remoto di apparecchiature da laboratorio

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

Guida di Brother Image Viewer per Android

Guida alla procedura di inserimento materiale didattico sui minisiti degli insegnamenti

istruzioni per l uso 1. Che cos è Google Earth

ISTRUZIONI PER L UTILIZZO DELLA SCHEDA INFORMATIZZATA E MODALITA DI INVIO DEI DATI - L. R. 162/98 PROGRAMMA

Il software ideale per la gestione delle prenotazioni GUIDA UTENTE

PULSANTI E PAGINE Sommario PULSANTI E PAGINE...1

STRUMENTI PER L ACCESSIBILITÀ DEL COMPUTER.

TORNIO ANTARES controllo OSAI 8600 T

Nexus Badge Pc Access Manuale Installazione/Uso

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Funzioni di Trasferimento Movimenti

Disegni di Ricerca e Analisi dei Dati in Psicologia Clinica. Rcmdr

1. Le macro in Access 2000/2003

A destra è delimitata dalla barra di scorrimento verticale, mentre in basso troviamo una riga complessa.

3 Contacts (rubrica telefonica)

GEOGEBRA I OGGETTI GEOMETRICI

Servizio on-line di Analisi e Refertazione Elettrocardiografica

5.3 TABELLE RECORD Inserire, eliminare record in una tabella Aggiungere record Eliminare record

I TUTORI. I tutori vanno creati la prima volta seguendo esclusivamente le procedure sotto descritte.

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

Come masterizzare dischi con Nero 11

Modello per la compilazione della scheda progetto SK_2.1.xls (da utilizzarsi per la presentazione di progetti di attività formative)

PROGRAMMAZIONE ASSISTITA DAL COMPUTER (CAD/CAM)

Quickstart. Cos è GeoGebra? Notizie in pillole

La catalogazione con LIBERO Modulo Catalogazione

ISTRUZIONI PER LA GESTIONE BUDGET

ACQUISIZIONE DATI CONTECA TOUCH

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

ZENO ScanItPontic. Manuale d uso del software 3D-Scan di 3Shape

PowerPoint 2007 Le funzioni

Documentazione Piattaforma Tecnologica Moodle elearning.econ.univpm.it

Manuale Gestore. STWS Web Energy Control - Servizio di telelettura sul WEB

Olga Scotti. Basi di Informatica. Il sistema operativo Windows

FH-SY capitolo Versione 3 - FH-SY.NET - FAQ -

29. Inventari. Software SHOP_NET Manuale d uso Vers Valorizzazione Inventario

Manuale Terminal Manager 2.0

Tutorial 3DRoom. 3DRoom

Transcript:

Comau Smart NS 12-1.85: una breve introduzione Ivan Lazzero 1 Introduzione Il presente mini-manuale ha lo scopo di introdurre lo studente ad un primo utilizzo del Robot industriale Smart NS 12-1.85 presente presso il Ladispe - sez. Automatica del Politecnico di Torino. Il secondo capitolo, dopo una descrizione generale del sistema, contiene una analisi più dettagliata delle parti. Nel terzo capitolo sarà descritto il linguaggio di programmazione utilizzato dal controllore. Si precisa che in questo contesto, anche se di notevole importanza, le problematiche relative alla sicurezza non verranno trattate. Figura 1: Comau NS 12-1.85 1

2 Descrizione del sistema Il robot Smart NS 12, costruito dalla Comau S.p.A., è un robot destinato a scopi tipicamente industriali. Il suo utilizzo è specifico per lavorazioni in celle industriali, linee di montaggio, etc. Dalla Comau esso viene fornito pronto all uso, ovvero completo del controllore esterno C4G. Tale controllore contiene gli azionamenti elettrici, l hardware e il software necessario alla programmazione e movimentazione del robot, il Teach Pendant Wifi (d ora in poi WiTP), ovvero l interfaccia con l utente, e ovviamente l algoritmo di controllo (di posizione) del robot. Il WiTP permette di impostare le variabili di sistema, di creare, visualizzare e debuggare programmi, di visualizzare gli output del robot (misurati da appositi sensori) e in generale di effettuare ogni tipo di operazione prevista per il robot. Vi è inoltre la possibilità di collegare il controllore ad un PC, tramite collegamento ethernet. In tal modo il computer acquisisce (quasi) tutte le funzionalità del WiTP, con il vantaggio di avere una tastiera e uno schermo più comodi da usare! 2.1 Il robot Si tratta di un robot antropomorfo a 6 gradi di libertà. I sei giunti, tutti rotoidali, possono essere divisi in due gruppi: i primi tre rappresentano la spalla, i secondi tre il polso. Alla flangia, ovvero la parte terminale del braccio, può essere attaccato qualunque attrezzo per i vari tipi di lavorazione. In questo caso, a scopo puramente didattico, è stato attaccato un sistema di riferimento, su cui si ritornerà in seguito. Il fissaggio a terra è realizzato mediante una piastra in acciaio fissata munita di tasselli oppure è disponibile un gruppo opzionale composto da una piastra fissata al robot tramite viti e da quattro piastre sottostanti ancorate a terra tramite tasselli che vengono saldati alla piastra stessa. La piastra consente il livellamento del robot tramite quattro viti. La base del robot è fissa e su essa ruota attorno all asse verticale (asse 1), la colonna che porta il motoriduttore dell asse 2. Un braccio collega l asse 2 all avambraccio ed include i motoriduttori degli assi 3-4-5-6; all estremità dell avambraccio si trova il polso. Gli assi dei robot sono dotati di fine corsa software (programmabili) e meccanici ammortizzati in fornitura standard. 2.2 Il controllore Come già accennato, l algoritmo di controllo realizza un controllo di posizione. Questo vuol dire che non sarà possibile avere un interazione o contatto del robot con l ambiente, ma solo un posizionamento della punta operativa nello spazio libero. Il compito dell utente sarà quindi quello di fornire in qualche modo i punti finali per ogni movimento. Sul controllore è installato il software, creato appositamente dal costruttore, per permettere la creazione dei vari programmi di movimento. 2

Il linguaggio di programmazione, il PDL2, è simile al Pascal, con, ovviamente, opportune modifiche. Nel prossimo capitolo sarà descritto tale linguaggio. In generale è possibile creare, debuggare ed eseguire un programma PDL2 direttamente sul WiTP, anche se tale operazione risulta molto laboriosa, data la limitatezza della tastiera. Utilizzando invece il collegamento ethernet con un PC, tale lavoro si semplifica molto, avendo l utente disponibili gli stessi tool presenti sul WiTP. È possibile inoltre creare un programma direttamente sul PC, con un normale editor di testo, e scaricarlo in seguito sul controllore, sempre tramite collegamento ethernet, per poi compilarlo ed eseguirlo. È possibile anche editare un programma e compilarlo direttamente sul PC, utilizzando l apposito software WinC4G, e scaricare solo il file eseguibile. C è da notare che nella creazione di un programma direttamente sul controllore, l editor fornisce una correzione della sintassi linea per linea, in modo da avere un programma sintatticamente corretto, ancora prima di compilarlo. Il pannello del controllore presenta gli interruttori indicati in fig. 2. In particolare il selettore modale (E) consente di operare in diverse modalità, selezionabili tramite l apposita chiave, tra cui: La posizione PROG è utilizzata per la programmazione del robot, ovvero per movimenti manuali, creazione dei programmi di movimento e debug. Ogni movimento in questa modalità avviene a velocità ridotta. La posizione AUTO LOCAL è utilizzata per l esecuzione in automatico di programmi funzionanti, con possibilità di debug e piccole modifiche del programma. 2.3 WiTP Tasto COORD seleziona il sistema di riferimento: JOINT modalità giunti. I tasti risultano associati a ciascuno degli assi del braccio selezionato; gli assi ausiliari, eventualmente presenti, seguono quelli del braccio. La pressione di uno dei tasti determina lo spostamento del corrispondente asse nella direzione positiva o negativa secondo le direzioni indicate dalle targhette poste sul braccio. UFRAME modalità di spostamento lineare secondo la terna di riferimento x, y, z dell utente (ad esempio la terna che descrive il pezzo in lavorazione). I primi tre tasti consentono spostamenti di tipo lineare nella direzione dei tre assi del sistema di riferimento utente (definito dalla variabile $UFRAME); i successivi tre tasti consentono rotazioni dell attrezzo intorno agli stessi assi mantenendo invariata la posizione della punta operativa (Tool Center Point - TCP). 3

Figura 2: Controllore C4G BASE modalità di spostamento lineare secondo la terna di riferimento x, y, z del mondo (la terna di riferimento dell officina). I primi tre tasti consentono spostamenti di tipo lineare nella direzione dei tre assi del sistema di riferimento mondo; i successivi tre tasti consentono rotazioni dell attrezzo intorno agli stessi assi mantenendo invariata la posizione del TCP. Si ricordi che la terna mondo non è definita direttamente da alcuna variabile di sistema; infatti è la base del robot che viene rappresentata rispetto al mondo mediante la variabile $BASE. TOOL modalità di spostamento lineare secondo la terna di riferimento x, y, z dell utensile (o terna TCP). I primi tre tasti consentono spostamenti di tipo lineare nella direzione dei tre assi del sistema di riferimento dell u- 4

Figura 3: Vista anteriore del controllore WiTP tensile (definito dalla variabile $TOOL); i successivi tre tasti consentono rotazioni dell attrezzo intorno agli stessi assi mantenendo invariata la posizione del TCP (punto di lavoro dell utensile). Tasti +% e -% servono per modificare l OVERRIDE ovverosia per modulare percentualmente la velocità del braccio. Combinati con il tasto SHIFT, permettono di ottenere i seguenti valori: SHIFT -% 25% SHIFT +% 100% Tasto START (verde) in stato PROGR consente l esecuzione del movimento (da ambiente di editing/debug o da comando Execute) per tutto il tempo in cui viene mantenuto premuto. In stato LOCAL avvia i programmi di movimento che si trovano nello stato READY, cioè in attesa di questo tasto. Tasto HOLD (giallo) la pressione di questo tasto arresta tutti i programmi HOLDable ed il movimento per tutti i bracci. Alla successiva pressione, lo stato di HOLD viene rimosso. 5

Figura 4: Vista posteriore del controllore WiTP Tasto di abilitazione Il pulsante di destra ed il pulsante di sinistra funzionano in modo assolutamente identico. Lo scopo è quello di avere un pulsante di Enabling Device per gli operatori destri ed uno per gli operatori mancini. Ognuno di essi è un dispositivo di sicurezza a tre posizioni che deve essere tenuto premuto nella posizione intermedia, per permettere movimenti in automatico o in manuale, quando il sistema è in stato di Programmazione. Quando questo pulsante è premuto i motori sono attivati automaticamente (DRIVE ON) Il tipo di funzionamento, per ognuno di essi è il seguente: 1. rilasciato - DRIVE OFF 2. pressione intermedia - DRIVE ON 3. pressione a fondo - DRIVE OFF (antipanico) La pressione contemporanea di questi due pulsanti è considerata un errore da parte del sistema, quindi è necessario utilizzarne uno solo per volta. 6

Figura 5: Schema di pressione dei tasti di abilitazione 3 Programma WinC4G Il programma WinC4G è l interfaccia stile Windows su PC verso l Unità di Controllo. Il programma fornito di serie con l Unità di Controllo è la versione base. Il collegamento tra il PC e il controllore avviene tramite una connessione TCP su ethernet. Raggruppa al suo interno una serie di funzionalità quali: La visualizzazione dei files presenti sul Robot La possibilità di tradurli ed editarli La ricerca e la visualizzazione degli errori La possibilità di aprire una finestra Terminale per inoltrare comandi direttamente all Unità di Controllo La trasformazione di programmi già esistenti in funzione di nuovi punti di riferimento. 7

4 Il linguaggio PDL2 Per creare nuovi programmi con il WiTP è necessario eseguire i seguenti passaggi: 1. Controllare che il selettore sul C4G sia sulla modalità manuale PROG 2. Selezionare la finestra Prog (L3)(tastiera virtuale sulla sinistra dello schermo del WiTP) 3. Selezionare il menù Prog (F1) Crea 4. Inserire il nome del programma e premere ok 5. Selezionare tramite le frecce il programma creato e premendo il tasto blu ENTER portare il manipolatore nella posa di interesse 6. Premere il tasto REC: compare così l istruzione di MOVE TO posxxxx nella finestra di editor del programma nome programma.cod. I dati della posa vengono registrati nel file nome programma.var associato al programma nome programma.cod che state editando. E possibile impostare il tipo di movimento che si vuole registrare effettuando le seguenti operazioni: (a) premere Selezione (F4) (b) Selezionare Impostazioni tasto REC (c) Utilizzare le frecce per scorrere tra e nei menù a tendina che compaiono (d) Premere OK 7. Continuare fino alla fine del programma. 8. Per salvare premere il tasto Prog Salva 9. Impostare il selettore del C4G su AUTO LOCAL 10. Premere Drive ON(R5) 11. Selezionare la finestra Prog (L3) 12. Selezionare il programma creato 13. Premere Esecuzione(F2) Attiva 14. Premere START 8

ATTENZIONE!!!!! Se il programma funziona, esso può essere eseguito ad una qualunque velocità. Prima bisogna essere sicuri che funzioni correttamente, per cui si consiglia di ridurre la velocità di esecuzione a circa il 20% della velocità massima almeno per la prima volta. La regolazione della velocità avviene con i tasti +% -% osservando il valore modificato sulla barra di stato, in alto sullo schermo. 4.1 I sistemi di riferimento Prima di passare a descrivere la struttura di un programma, occorre soffermarsi sui vettori ed i sistemi di riferimento utilizzati dal PDL2. Un vettore nello spazio dei giunti rappresenta ovviamente le posizioni angolari di ciascuno dei 6 giunti. I sistemi di riferimento cartesiani sono invece 3. Il primo, indicato con $BASE è il sistema di riferimento fisso alla base del robot. Il secondo, indicato con $TOOL, coincide con l attrezzo alla punta. Poiché l attrezzo può cambiare, anche la variabile $TOOL può essere modificata di conseguenza. Il terzo, indicato con $UFRAME, è il sistema di riferimento del piano di lavorazione. Per default coincide con $BA- SE, ma può essere spostato a piacimento. Il sistema $TOOL è specificato rispetto al sistema di riferimento del braccio 6, ovvero rispetto alla flangia del robot, mentre il sistema di riferimento $UFRAME è specificato rispetto a $BASE. Come detto in precedenza, l attrezzo attualmente montato sulla flangia è un sistema di riferimento ed è quindi ragionevole assegnare alla variabile $TOOL proprio tale sistema di riferimento. La variabile $TOOL dovrà contenere la posizione (x, y, z) dell origine del sistema di riferimento e la terna di angoli di Eulero (z - y - z) che ne definiscono l orientamento rispetto al sistema di riferimento del braccio 6. L immagine 6 è la rappresentazione grafica, presente sul manuale Comau del robot, dei tre sistemi di riferimento: Il sistema di riferimento indicato col numero 5 è il riferimento $BASE; esso è per convenzione centrato all ancoraggio del pavimento e l asse Z è l asse di rotazione del primo giunto. Il sistema di riferimento 6 è il sistema di riferimento del mondo e coincide per definizione con il sistema $BASE. Il sistema di riferimento 4 è $UFRAME ed è il sistema di riferimento del piano di lavoro. Il sistema di riferimento 1 è il riferimento alla flangia solidale con l ultimo braccio del robot e presenta l asse Z uscente dalla flangia, diretto lungo l ase di rotazione dell ultimo giunto, secondo quanto previsto dalle convenzioni di Denavit-Hartenberg. Infine il sistema di riferimento 2 è il sistema di riferimento alla punta operativa e rappresenta quindi $TOOL; l asse Z per questo sistema di riferimento è diretto lungo la direzione di approccio della punta. 9

5 Il programma Figura 6: Terne di riferimento La struttura generale di un programma PDL2 è la seguente: PROGRAM prog_ name < dichiarazione variabili > BEGIN < CYCLE > < corpo del programma > END Listing 1: Struttura di un programma PDL < dichiarazione variabili > contiene la dichiarazione delle variabili secondo la seguente sintassi: VAR var_ name : < identificatore > dove il campo identificatore può essere uno fra: INTEGER: numero intero REAL : numero reale BOOLEAN : variabile booleana 10

POSITION : variabile di posizione cartesiana JOINTPOS : variabile di posizione giunto ecc... NOTA: Le variabili POSITION sono variabili di posizione cartesiana espresse nel sistema di riferimento $UFRAME. È bene quindi definire tale sistema di riferimento quando si intende utilizzare questo tipo di variabili. Se non è definito verrà utilizzato quello presente in memoria. Una variabile POSITION contiene quindi la posizione cartesiana (x, y, z) e la terna di angoli di Eulero (z - y - z) che ne definiscono l orientamento, rispetto al sistema di riferimento $UFRAME. L opzione CYCLE di BEGIN, se presente, indica che il programma dovrà essere eseguito ciclicamente. Nel corpo del programma sono presenti, oltre alle varie inizializzazioni e settaggi di variabili, le funzioni per il movimento del robot. La funzione principale per il movimento è la MOVE. 5.0.1 La funzione MOVE Poiché è possibile eseguire solo movimenti di tipo punto-punto, per ogni movimento, e quindi per ogni MOVE, occorre specificare sempre il punto di arrivo e il tipo di traiettoria da seguire per raggiungere tale punto. È inoltre possibile specificare la traiettoria da seguire durante il movimento. In generale la sintassi per il comando MOVE è la seguente: MOVE < traiettoria > < destinazione > < opzioni > Esistono tre tipi di traiettorie: JOINT Il movimento dei giunti è coordinato, ovvero tutti i giunti iniziano e terminano il loro movimento contemporaneamente. Questo implica che non è controllato il movimento del TOOL ma quello dei giunti. Il TOOL quindi seguirà una traiettoria non prevedibile, sebbene ripetibile. LINEAR Il movimento è lineare nello spazio cartesiano, sia in posizione che in assetto, ovvero il TOOL eseguirà un movimento lungo una linea retta e l assetto varierà linearmente tra inizio e fine. In questo caso i giunti si muoveranno non-linearmente. CIRCULAR Il movimento tra inizio e fine è lungo un arco di circonferenza. È necessario quindi specificare un terzo punto, detto punto di VIA, dal quale dovrà passare il TOOL. Questo tipo di traiettoria non consente di specificare il punto finale di arrivo in uno dei tanti modi disponibili, ma solo nel seguente modo: 11

MOVE CIRCULAR TO P1 VIA P2 In ogni tipo di traiettoria, la legge temporale del movimento è sempre di tipo trapezoidale in velocità. Se in una istruzione MOVE la traiettoria è omessa, viene seguita quella di default (JOINT). Segue ora un elenco di modi per specificare il punto finale di un movimento. Questi modi si applicano alle traiettorie di tipo JOINT e LINEAR. MOVE TO {α1, α2, α3, α4, α5, α6} si muove alla posizione giunti α1, α2, α3, α4, α5, α6 I valori α sono angoli in gradi. MOVE TO POS (x, y, z, e1, e2, e3) si muove alla posizione cartesiana x, y, z con assetto e1, e2, e3. MOVE BY{α1, α2, α3, α4, α5, α6} Si muove nella posizione giunti {α1, α2, α3, α4, α5, α6} relativa a quella corrente, ovvero l i-esimo giunto incrementa la sua posizione attuale di α gradi. MOVE NEAR PO BY dist Si muove verso la posizione PO, ma si ferma dist millimetri rispetto l asse -z del TOOL dalla posizione PO. MOVE AWAY dist Si muove via dalla posizione attuale di dist millimetri lungo l asse -z del TOOL. MOVE RELATIVE VEC(x, y, z) IN BASE Si muove di un vettore VEC (x, y, z) dalla posizione corrente. Il vettore è espresso nel sistema di riferimento BASE. Al posto di BASE può esserci TOOL, o UFRAME. MOVE ABOUT VEC(x, y, z) BY a IN TOOL La punta ruota attorno al vettore VEC (x, y, z) di una quantità in gradi. Il vettore è espresso nel sistema di riferimento TOOL. Al posto di TOOL, può esserci BASE o UFRAME. MOVE FOR dist to PO Si muove verso PO ma si ferma dopo aver percorso dist mm lungo la traiettoria. 12

In alternativa alla funzione MOVE vi è la funzione MOVEFLY... ADVANCE che ha la stessa sintassi della MOVE, ma con l aggiunta dell opzione ADVANCE. Questa funzione fa sì che il movimento non si fermi al raggiungimento del punto finale ma venga raccordato al movimento successivo, ottenendo quindi un movimento continuo. 5.0.2 Esempio di programma PDL2 PROGRAM test -- Questa e una linea di commento VAR p0 : POSITION -- Variabile di posizione cartesiana j0 : JOINTPOS -- Variabile di posizione giunti i, j : INTEGER -- Variabili intere BEGIN -- dichiarazione del sistema di riferimento UserFrame $UFRAME := POS (0, 0, 0, 0, 0, 0, ) -- dichiarazione del sistema di riferimento TooL -- posizione (0,0,120) in mm e assetto (63.64,0,0) in gradi $TOOL := POS (0, 0, 120, 63.64, 0, 0, ) $PROG_ ACC_ OVR := 80 -- Settaggio Accelerazione massima al 80\% $PROG_ DEC_ OVR := 70 -- Settaggio Decelerazione massima al 70\% $PROG_ SPD_ OVR := 100 -- Settaggio Velocita massima al 100\% MOVE TO $CAL_ SYS -- move verso la posizione di home DELAY 1000 -- Attesa 1000 ms -- Assegnazione variabile cartesiana po Posizione ( 900, 0, 1350) in mm e assetto del TOOL ( -45,90, -90) in gradi p0 := POS (900, 0, 1350, -45, 90, -90, ) FOR i := 1 TO 6 DO -- ciclo for j0[ i] : = 0 -- istruzione del ciclo ENDFOR -- fine ciclo for MOVE JOINT TO p0 -- Movimento di tipo JOINT verso la posizione p0 p0. Y := 100 -- Modifica componente Y della posizione p0 MOVE LINEAR TO p0 -- Movimento di tipo LINEAR verso la nuova P0 j := 4 -- Assegnazione variabile intera j j0[ j] := 30 -- Cambiamento della quarta componente del vettore j0 MOVE BY {,,,30} -- Movimento di tipo JOINT del solo giunto 4 di +30 gradi MOVE TO j0 -- Movimento di tipo JOINT verso la posizione giunti j0 MOVE TO $CAL_ SYS -- Ritorno alla posizione di home END test -- fine del programma Listing 2: Struttura di un programma PDL 13