Esplora E-book
Categorie
Esplora Audiolibri
Categorie
Esplora Riviste
Categorie
Esplora Documenti
Categorie
Cover corsi.fm
02/0511 Pagina 1 di 2
Le informazioni contenute in questo manuale sono di proprietà di COMAU S.p.A.
E’ vietata la riproduzione, anche parziale, senza preventiva autorizzazione scritta di COMAU S.p.A.
COMAU si riserva il diritto di modificare, senza preavviso, le caratteristiche del prodotto presentato in questo manuale.
Cover corsi.fm
Pagina 2 di 2 02/0511
SOMMARIO
– Prescrizioni di sicurezza
2 - Prescrizioni di sicurezza per l’uso del Sistema Robotico
– Terminale di Programmazione
6 - Funzioni principali del Terminale di Programmazione
7 - Generalità sull’Interfaccia Utente del Terminale di Programmazione
8 - Linea di stato
9 - Linea dei messaggi
10 - Menu di sinistra (Left Menu)
11 - Menu di destra (Right Menu)
12 - Menu centrale (Bottom Menu)
13 - Area delle Pagine
Si riassumono qui di seguito alcune delle prescrizioni fondamentali e si rimanda ad un’attenta lettura del Cap. Prescrizioni di
Sicurezza Generali presente in ogni manuale standard.
COMAU Robotics & Service declina ogni responsabilità da incidenti causati dall'uso scorretto o improprio del Sistema robotico (Robot
e Unità di Controllo), da manomissioni di circuiti, di componenti, del software e dall'utilizzo di ricambi non presenti nella lista ricambi.
La mancata osservanza delle Norme di Sicurezza può causare lesioni permanenti o morte al personale e danneggiare il Sistema
robotico (Robot e Unità di Controllo).
– La messa in servizio è permessa solo quando il Sistema Robotico è installato correttamente e in modo completo.
– La programmazione del robot è consentita unicamente al personale autorizzato. Prima di procedere alla programmazione, l’operatore deve
controllare il Sistema robotico (Robot e Unità di Controllo) per assicurarsi che non sussistano condizioni anomale potenzialmente pericolose e che
nello spazio protetto non siano presenti persone.
– Durante le fasi di programmazione, la presenza all’interno dello Spazio Protetto è consentita al solo operatore in possesso del Terminale di
Programmazione. L’attivazione dei motori (DRIVE ON) deve essere comandata sempre da posizione esterna al campo d’azione del robot, dopo aver
verificato che nell’area interessata non vi sia la presenza di persone. L’operazione di attivazione motori si considera conclusa alla comparsa della
relativa indicazione di stato macchina.
Occorre prestare particolare attenzione quando si programma mediante Terminale di Programmazione: in tal caso, benché tutti i
dispositivi di sicurezza hardware e software siano in funzione, il movimento del robot dipende comunque dall’operatore.
– L’attivazione del funzionamento in automatico (stati AUTO e REMOTE) è consentita unicamente con il Sistema robotico (Robot e Unità di Controllo)
integrato in un’area dotata di barriere di protezione correttamente interbloccate, come prescritto dalle Norme di Sicurezza vigenti nel Paese dove
viene realizzata l’installazione. Prima di attivare il funzionamento in automatico l’operatore deve verificare il Sistema Robot e Controllo e lo spazio
protetto per accertarsi che non sussistano condizioni anomale potenzialmente pericolose.
3 Pannello Operatore
C
– B: Unità di governo, alimentatori e moduli di potenza
D
– C: Safety Distribution Module (SDM) -
F
– D: Uninterruptible Power Supply (UPS)
Esso comprende:
X3A
XD
Led / Switch
Per informazioni di dettaglio, consultare la Tab. 4.3 - AMS-APC820: connessioni e
Compact Flash Slot 1
CAN Bus
CARD
Slot
Fans
Top
side
Front
side
X3B
Leds
X3A – X1: segnale Bus DC pronto (destinato al Modulo AMS-ASM32)
X5B
– X5A: ingresso alimetazione da rete trifase
X5A
Front
side – Leds: led di segnalazione.
X2 – X2: Uscita 24 Vdc per alimentare la sezione circuiti di sicurezza del Safety
X1 Distribution Module (SDM) e ingresso per disattivare, durante la procedura
X3
di shutdown, l’uscita 24 Vdc presente sul connettore X3.
AMS-ASM32
Per informazioni di dettaglio, consultare la Tab. 4.6 - AMS-ASM32: connessioni
e dispositivi del manuale Unità di Controllo C5G - Specifiche Tecniche.
Front
side
I moduli AMS-IAM sono schede di controllo assi dedicate alla gestione degli assi. Sono disponibili moduli configurati per gestire 1 asse o 2 assi; secondo la taglia di
potenza, i moduli occupano da 1 o 2 slot. L’indirizzo sulla rete Ethernet POWERLINK deve essere personalizzato.
Per informazioni di dettaglio, consultare la Tab. 4.7 - AMS-IAM (doppio e singolo): connessioni e dispositivi del manuale Unità di Controllo C5G - Specifiche
Tecniche.
Doppio slot
– ETIx: modulo interfaccia Encoder AMS-ETI22
– X2: ingressi digitali per opzioni C5G-HSK5: High Speed Input Kit e C5G-OTK: kit
oltrecorsa assi (sono presenti limitazioni di impiego)
– X3A: porta Ethernet POWERLINK per la comunicazione tra moduli (se è il primo modulo,
proviene da Modulo AMS-PPS8, altrimenti proviene dal modulo AMS-IAM adiacente)
– X3B: porta Ethernet POWERLINK per la comunicazione tra moduli (per il successivo
modulo AMS-IAM)
Slot singolo
– ETIx: modulo interfaccia Encoder AMS-ETI22
– X2: ingressi digitali per opzioni C5G-HSK5: High Speed Input Kit e C5G-OTK: kit
oltrecorsa assi (sono presenti limitazioni di impiego)
– X3A: porta Ethernet POWERLINK per la comunicazione tra moduli (se è il primo modulo,
proviene da Modulo AMS-PPS8, altrimenti proviene dal modulo AMS-IAM adiacente)
– X3B: porta Ethernet POWERLINK per la comunicazione tra moduli (per il successivo
modulo AMS-IAM)
– A: rack/dissipatore
X112
X311
X108
X104 X122
X128
X302
X312
X109
Per ulteriori informazioni di dettaglio, riferirsi alla Fig. 4.10 - SDM: vista
generale e alla Tab. 4.9 - SDM: connessioni e dispositivi, nel manuale
X3
SDM JP200
X102
Unità di Controllo C5G - Specifiche Tecniche.
X4 X10
X110
– C: led di stato
– D: led di diagnostica
Per informazioni di dettaglio, consultare la Tab. 4.11 - UPS: connessioni e dispositivi del
manuale Unità di Controllo C5G - Specifiche Tecniche.
L’Operator Panel Device può essere allestito con opzioni per agevolare la
A B C manutenzione del sistema robotico: il connettore USB, il connettore rete Ethernet, il
contaore e la presa alimentazione PC.
– C: contaore (opzionale)
Il Terminale di Programmazione per l’Unità di Controllo C5G è il modello iTP, connesso via
cavo.
I Terminali di programmazione dialogano con l’Unità di Controllo C5G attraverso il protocollo Ethernet. Il collegamento inizia sulla porta Ethernet ETH1 dedicata, del
Modulo AMS-APC820, e termina direttamente sul terminale C5G-iTP.
6.1 Tasti
La tastiera del Terminale di Programmazione è organizzata nel seguente modo:
– Tasti funzionali
I tasti funzionali servono per attivare le corrispondenti softkeys appartenenti ai vari Menu.
• Tasti del Menu sinistro (L1..L6)
• Tasti del Menu destro (R1..R6)
• Tasti del Menu centrale (F1..F6)
– Tasti di utilizzo generale
• SHIFT - sempre in combinazione con altri tasti; il loro utilizzo cambia a seconda
dell’ambiente e della funzione del tasto al quale viene associato
• MORE - quando le softkeys dei Menu sinistro e/o Menu destro sono più di 6, il tasto
MORE associato permette di scorrerle tutte
– Tasti generici di navigazione
• Tasti di Page Up e Page Down - spostano il cursore rispettivamente all’inizio e alla
fine della videata, dipendentemente dal contesto nel quale vengono utilizzati.
• Tasti Cursore (freccia su, freccia giù, freccia dx, freccia sx): permettono di muoversi
all’interno dei campi della videata.
• Tasto ESC: torna indietro annullando l’azione corrente
• Tasto ENTER: conferma l’azione corrente
• Tasti di SHIFT (sinistro e destro): possono essere usati in combinazione con gli altri
tasti di navigazione.
• tasto BACK - provoca il movimento all’indietro, fino alla posizione di partenza del
movimento corrente, durante la verifica passo-passo di un programma.
• tasto AUX - la pressione di questo tasto incrementa (in modo circolare) l’indice di AUX-A, il tasto che muove l’asse ausiliario A. La sua pressione
unitamente al tasto SHIFT (cioè SHIFT+AUX) incrementa (in modo circolare) l’indice di AUX-B, il tasto che muove l’asse ausiliario B. I valori di AUX-A e
AUX-B sono visualizzati nella pagina di Motion, sottopagina Coop.
Un’analoga informazione è visualizzata nella Linea di stato, nel campo di Arm (quarto campo).
• tasto ARM - nei sistemi Multiarm, esso permette la gestione dell’indice dell’Arm
principale e dell’Arm sincronizzato, con conseguente visualizzazione nella Linea di
stato, esattamente come si può anche fare entrando nella Motion Page, sottopagina
Generale, e modificando il campo Arm.
Il funzionamento è il seguente:
In DRIVE-OFF - la pressione di ARM incrementa in modo circolare l’indice dell’Arm
principale, senza mai alterare la quantità di Arm nella Linea di stato (se c’è un solo
Arm, ne rimane uno; se ci sono due Arm, ne rimangono due).
Il nuovo valore è il primo indice di Arm valido dopo un incremento. La pressione di
SHIFT+ARM incrementa in modo circolare l’indice dell’Arm sincronizzato. E’ l’unica
combinazione di tasti in grado di alterare la quantità di Arm nella Linea di stato.
In DRIVE-ON - La pressione di ARM ha due effetti:
- se il DRIVE-ON è avvenuto con 1 solo Arm selezionato ($TP_SYNC_ARM[2]=0),
incrementa l’indice dell’Arm, come avviene in DRIVE-OFF;
- se il DRIVE-ON è avvenuto con 2 Arm selezionati, inverte la selezione di quale
Arm verrà mosso dai tasti di jog.
Ad esempio: se si hanno 3 Arm e la situazione attuale è Arm: 2<1 , dove l’Arm 2 è quello che viene mosso dai tasti di jog; premendo ARM, l’indice
NON viene incrementato (cioè NON diventa 3), ma la situazione diventa Arm: 1<2 (cioè l’Arm che viene mosso dai tasti di jog è ora il numero 1). Il
primo numero visualizzato rappresenta sempre l’Arm mosso dai tasti di jog. La pressione di SHIFT+ARM non è permessa.
La PRESSIONE PROLUNGATA del tasto ARM permette di visualizzare ciclicamente gli indici possibili dell’Arm principale:quando si
raggiunge l’indice desiderato, il rilascio del tasto rende definitiva la scelta. Durante la pressione del tasto, l’indice è visualizzato tra parentesi.
Quando viene operata la scelta, le parentesi scompaiono.
• tasti +% e -% servono per modificare l’OVERRIDE. Combinati con il tasto SHIFT, permettono di ottenere i seguenti valori:
SHIFT -% --> 25%
SHIFT +% --> 100%
• tasti di JOG - Sono i tasti utilizzabili per il movimento degli assi del robot. I tasti AUX sono configurabili per gli assi 7, 8, 9, 10, due per volta.
– JPAD
Il gruppo JPAD permette il jog riferito alla POSIZIONE UTENTE. Più precisamente:
• I due tasti cursore sulla sinistra, si riferiscono a movimenti lungo l’asse z, cioè a
spostamenti verso l’alto e verso il basso
• I quattro tasti sulla destra, si riferiscono rispettivamente a movimenti lungo l’asse x
(freccia su e freccia giù) e lungo l’asse y (freccia sx e freccia dx). I movimenti lungo
l’asse x sono spostamenti di allontanamento e di avvicinamento rispetto all’utente;
i movimenti lungo l’asse y sono spostamenti verso sinistra e verso destra, sempre
rispetto all’utente.
La posizione dell’utente è configurabile nella sottopagina Avanzate della Motion Page.
Tastierina alfanumerica
La tastierina alfanumerica funziona in modo analogo ad uno dei più diffusi standard per
telefoni cellulari. In particolare:
– il tasto in basso a destra (quello a destra del tasto ‘0’) serve per settare la modalità di uso
della tastierina stessa. Ad ogni pressione di tale tasto la modalità cambia, in sequenza,
tra
• alfabetico maiuscolo (‘ABC’)
• alfabetico minuscolo (‘abc’)
• numerico (‘123’)
• numerico fisso (‘123*’); è un’informazione contestuale: se il contesto lo richiede, la
tastierina alfanumerica viene settata in modalità numerica e non è possibile passare
ad altra modalità.
– La modalità corrente è visualizzata nella Linea di stato.
– I caratteri speciali vengono attivati tramite la pressione del tasto ‘1’; gli unici caratteri speciali che sono digitabili direttamente sono il simbolo ‘-’ (tasto in basso
a sinistra) e il simbolo ‘.’ (tasto in basso a destra).Quando si è in modalità ‘alfabeto maiuscolo’ o ‘alfabeto minuscolo’, premendo il tasto ‘1’ viene attivata una
virtual keyboard che consente l’inserimento facilitato di caratteri e simboli.
Uso dei caratteri speciali della virtual keyboard Sono disponibili 3 gruppi di caratteri:
– caratteri speciali (Finestra 1)
– alfabeto maiuscolo + numeri (Finestra 2)
Per scegliere il simbolo da inserire, muoversi all’interno del singolo gruppo, – alfabeto minuscolo + numeri (Finestra 3)
mediante i tasti cursore, e confermare la scelta premendo ENTER.
Finestra 1 Finestra 2 Finestra 3
Per passare da una Finestra alla successiva o alla precedente, occorre utilizzare i tasti Page Up e Page Down. Per uscire, si può operare in uno dei seguenti modi:
– premere ESC
– premere nuovamente il tasto ‘1’.
E’ comunque possibile inserire una stringa di caratteri in “modo misto”, cioè sia dalla virtual keyboard dei caratteri e simboli, sia dalla tastiera
alfanumerica, che dai Template attivati dal Menu Centrale.
– T1 - per l’editing, l’apprendimento dei punti (teaching) e la verifica del funzionamento dei programmi. Il robot si muove a bassa
velocità, non superiore a 250 mm/s al centro flangia, al tool center point (TCP) e all’eventuale extreme tool. L’operatore PUÒ
operare all’interno della cella.
– AUTO - per la verifica del funzionamento del programma alla velocità di lavoro. L’operatore NON PUÒ operare all’interno della
cella.
– REMOTE - l’esecuzione del programma è comandata da apparecchiature esterne (ad esempio PLC di linea o quadri di controllo
locali). L’operatore NON PUÒ operare all’interno della cella.
6.3 Pulsanti
– Pulsante di Arresto - Sulla facciata anteriore del Terminale di Programmazione, in alto, è presente il pulsante di Arresto; le modalità
di funzionamento sono le seguenti:
• attivazione a pressione
• rilascio a vite (senso orario).
– Dispositivo di Abilitazione di cui si è già ampiamente parlato in precedenza (vd. Funzionamento dei pulsanti di ENABLING
DEVICE).
6.4 LED
I LED presenti sul Terminale di Programmazione sono 2, situati nella parte alta del dispositivo. Il loro significato (da sinistra
verso destra) è il seguente:
– LED di colore verde - acceso significa DRIVE ON. Durante la procedura di accensione degli azionamenti, questo LED
lampeggia. La luce diventa fissa quando la procedura è terminata
– LED di colore rosso lampeggiante - Allarme di qualsiasi tipo (escluse le segnalazioni di tipo Warning).
Il display di cui è dotato il Terminale di Programmazione è un display grafico a colori TFT da 6.4”;
risoluzione 640x480 pixel.
Dopo un periodo di mancato utilizzo di qualche minuto il display si spegne; per la riaccensione è
sufficiente premere un qualsiasi tasto.
La visualizzazione dell’Interfaccia Utente può essere idealmente suddivisa nelle seguenti aree:
– Linea di stato
– Linea dei messaggi
– Menu di sinistra (Left Menu)
– Menu di destra (Right Menu)
– Menu centrale (Bottom Menu)
– Area delle Pagine.
8 Linea di stato
La linea di stato fornisce informazioni sullo stato del sistema; su di un’unica riga sono presenti 7 campi alfanumerici aventi i seguenti significati:
– Il Secondo Campo fornisce ulteriori informazioni sullo stato del sistema, dei programmi Holdable e del movimento in programmazione.
• Con il selettore di stato nelle posizioni AUTO, REMOTE , cioè nelle posizioni Automatico, assume i seguenti significati:
**** - indica che nessun programma holdable è in esecuzione
RUN - indica che vi è almeno un programma holdable in esecuzione
• Con il selettore nella posizione T1, cioè nella posizione Programmazione, assume i seguenti significati:
**** - Indica che nessun movimento è in corso
JOG, FORW, BACK - Indica che è in corso un movimento manuale, avanti, indietro, rispettivamente
– Il Terzo Campo indica il valore corrente della percentuale di override; se in questo campo è visualizzato il carattere ‘I’ ( es.: ‘80%(I)’ ), significa che si è in modalità
di movimento incrementale.
– Il Quarto Campo visualizza il numero dell’Arm corrente. Nel caso di sistema Multiarm, con movimento sincronizzato abilitato, questo campo contiene per primo
il numero dell’Arm principale e poi quello del SyncArm; es.: A:2<1 significa che l’Arm 2 è l’Arm principale e l’Arm 1 è l’Arm sincronizzato. Se si hanno Assi
ausiliari, essi si riferiscono al primo (o unico) Arm indicato nel campo; il sottocampo contrassegnato da J indica quale asse ausiliario sia assegnato, per il
movimento in jog, rispettivamente al tasto Aux-A e al tasto Aux-B. Se nessun asse è associato, viene visualizzato un trattino (‘-’).
– Nel Sesto Campo ci sono tre sotto-campi che contengono le seguenti informazioni:
• stato dell’arm:
‘-’ arm correttamente configurato e pronto per il movimento
‘turn’ l’arm necessita dell’operazione di turn-set
‘no cal’ arm non calibrato
‘simu’ arm simulato
‘dis’ arm disabilitato
‘coop’ cooperazione arm-arm (‘An, Am’) o asse-arm (‘Ji, An’)
• stato del Dispositivo di Abilitazione e dei Drive:
‘E-’ Dispositivo di Abilitazione non premuto
‘ED’ con sfondo verde - Dispositivo di Abilitazione premuto
‘ED’ con sfondo rosso - Errore (ad es. ambedue i Dispositivi di Abilitazione premuti)
‘ON’ - indica lo stato degli azionamenti (Drive ON)
• presenza di allarmi Latched:
‘A’ indica che è presente un allarme latched
E’ un insieme di softkey che permette l’accesso alle Pagine dell’Interfaccia Utente (le figure a sinistra mostrano le icone
delle softkey predefinite). I corrispondenti tasti sono indicati con i nomi L1..L6, in sequenza.
– se la corrispondente Pagina Utente non è ancora attiva, alla pressione del tasto essa viene immediatamente
visualizzata;
– se la corrispondente Pagina Utente è già attiva, essa viene chiusa alla pressione del tasto, e sul display compare la
Home page.
La softkey corrispondente alla pagina attiva, è evidenziata con sfondo blu. Se nessuna softkey è evidenziata, significa che
la pagina visualizzata correntemente è la Start Page.
Se lo sfondo della softkey è giallo, significa che è in corso l’esecuzione del comando ad essa associato. Esso rimane giallo
fino a quando non viene completata l’esecuzione.
Per visualizzare tutte le softkey disponibili nel Left o nel Right Menu occorre utilizzare:
– SHIFT+MORE (di sinistra per il Left o di destra per il Right), per visualizzare le softkey PRECEDENTI
– MORE (di sinistra per il Left o di destra per il Right) per visualizzare le softkey SUCCESSIVE.
Questo menu è dedicato a comandi tecnologici come l’apertura o la chiusura di pinze e le impostazioni
hardware dei parametri di saldatura.
I corrispondenti tasti sono chiamati R1..R6, cui corrispondono le softkeys U1..U4 che sono tasti
programmabili dall’utente, più altri due tasti che dipendono dallo stato del sistema:
– quando il sistema è in stato Local o Remote, il tasto R5 è sempre dedicato
all’accensione/spegnimento dei Drives, secondo quanto segue:
• Local - il tasto R5 permette di dare i comandi DRIVE ON e DRIVE OFF (tasto di tipo toggle);
la corrispondente softkey è visualizzata con sfondo verde se gli azionamenti sono accesi, con
sfondo grigio in caso contrario.
• Remote - R5 è dedicato al comando DRIVE OFF (il comando DRIVE ON proviene dal PLC);
il campo della corrispondente softkey è grigio per il DRIVE OFF e verde per il DRIVE ON.
– Progr - R5 ed R6 sono dedicati ai tasti T1 e T2 (che controllano gli utensili 1 e 2, per effettuare la
commutazione tra aperto (OPEN) e chiuso (CLOSE).
La pressione di un tasto attiva l’esecuzione del corrispondente comando e ne visualizza lo stato (se la
softkey è evidenziata, il relativo comando è attivo; al contrario, il relativo comando non è attivo).Se lo
sfondo della softkey è giallo, significa che è in corso l’esecuzione del comando ad essa associato. Esso
rimane giallo fino a quando non viene completata l’esecuzione.
Per visualizzare tutte le softkey disponibili nel Left o nel Right Menu occorre utilizzare:
– SHIFT+MORE (di sinistra per il Left o di destra per il Right), per visualizzare le softkey PRECEDENTI
– MORE (di sinistra per il Left o di destra per il Right) per visualizzare le softkey SUCCESSIVE.
Nel caso in cui l’utente desideri creare un Right Menu personalizzato, deve scrivere un programma PDL2 come descritto nel capitolo
Appendix B - Customizations on the TP - par. Handling TP right menu del manuale PDL2 Programming Language Manual.
Questo menu è un insieme di 6 tasti funzionali, denominati F1..F6, contestuali all’oggetto selezionato (stato e pagina correnti, campo selezionato, ecc.). Le funzioni
in esso mostrate corrispondono alle possibili azioni sull’oggetto selezionato.
Normalmente la pressione di un tasto F1..F6 causa direttamente l’attivazione della funzione associata. Se lo sfondo della softkey è giallo, significa che è in corso
l’esecuzione del comando ad essa associato. Esso rimane giallo fino a quando non viene completata l’esecuzione.
Esistono però alcune softkeys a cui è associato un sotto-menu a tendina pull-up: ciò viene indicato mediante un piccolo triangolo nell’angolo superiore destro del
tasto.
All’apertura dei sotto-menu a tendina, è sempre preselezionata la prima voce. Per effettuare la scelta di un elemento si può operare nel seguente modo:
– premere sulla Tastierina alfanumerica la cifra associata alla voce desiderata, oppure
– muoversi nel sotto-menu tramite i tasti cursore e confermare la scelta mediante il tasto ENTER.
E’ inoltre possibile che una softkey corrisponda ad una funzione che prevede delle impostazioni opzionali: gli elementi di questo tipo sono
identificati da una piccola icona che rappresenta un orologio, nell’angolo in alto a destra della softkey (ad es. il tasto Login (F2) nella Start
Page). Una pressione breve del tasto associato ad uno di questi comandi, causa l’esecuzione della funzione secondo un default; una pressione
per un tempo maggiore provoca l’apertura di un sotto-menu a tendina per la scelta delle opzioni.
La chiusura della tendina avviene in qualsiasi momento, o perchè è stata confermata una scelta (con ENTER), oppure mediante il tasto ESC
(uscita che annulla qualsiasi azione).
E’ la parte del display dedicata alla visualizzazione delle varie Pagine dell’Interfaccia Utente.
La Pagina attiva ha una sottile cornice di colore blu che la collega graficamente al proprio nome
visualizzato nell’angolo in alto a destra; la corrispondente softkey, nel Menu sinistro, è evidenziata
con sfondo blu. Vd. esempio nella figura accanto (ambiente di motion - Motion Page)
Per attivare una Pagina Utente è necessario premere la corrispondente softkey del Menu di sinistra
(Left Menu).
Ogni Pagina è rivolta a ben precise funzioni, ad un ben preciso AMBIENTE (ad es. Ambiente di
Movimento, Ambiente degli I/O, etc.).
Le Pagine Utente previste sono le seguenti:
– Start Page - Quando non è attiva alcuna Pagina Utente, il Terminale di Programmazione mostra
una videata di default che viene chiamata Start Page. Essa non è associata ad alcun tasto del
Menu sinistro, ma diventa visibile ogni qualvolta una Pagina Utente venga chiusa.
– Motion Page - Questa Pagina Utente gestisce informazioni legate all’ambiente di movimento
del robot e permette all’utente di consultarle e modificarle.
– Alarm Page - Questa Pagina Utente permette di gestire informazioni legate agli allarmi/errori sopravvenuti nel sistema.
– Prog Page - Lo scopo di questa Pagina Utente è la gestione dei programmi.
– IDE Page - L’ambiente IDE (Integrated Development Environment) deve essere utilizzato per sviluppare i programmi di movimento (programmi con attributo
HOLD). In ambiente IDE la prestazione di apprendimento delle posizioni è integrata.
– I/O Page - Questa Pagina Utente permette di gestire i punti di I/O associati ai Dispositivi esistenti nel Sistema.
– Appl Page - Questa pagina è l’interfaccia dell’applicativo installato sul Controllore.
– Files Page - La Pagina Utente di File Manager (Files) consente di effettuare tutte le operazioni che coinvolgono i files: copia, cancellazione, creazione e
rimozione di cartelle, etc.
– Data Page - La Pagina Utente Data del Terminale di Programmazione consente la consultazione e la modifica di tutte le tabelle di dati contenute nell’Unità di
Controllo C5G.
– Setup page - La pagina di Setup consente di leggere e modificare le impostazioni del sistema.
– Service Page - Questa Pagina Utente rappresenta il punto di partenza per effettuare le operazioni di servizio.
– TP-INT Page - Questa pagina emula sul Terminale di Programmazione l’interfaccia utente del terminale del WinC5G.
Attendere almeno 30 secondi dal momento di un eventuale precedente spegnimento, alla riaccensione dell’Unità di Controllo.
d. Se è prevista l’esecuzione di movimenti del robot, accendere gli azionamenti e premere il tasto START - vd. par. 16 Esecuzione di
operazioni che necessitano il movimento del Robot a pag. 1-40.
Per spegnere il sistema è sufficiente spostare l’interruttore generale in posizione di OFF. E’ comunque caldamente raccomandato
l’uso della procedura di shutdown software, per evitare inutili sprechi dei cicli della batteria tampone dell’UPS, che ridurrebbero la vita
della batteria stessa.
c. dopo circa 5 secondi il display del Terminale di Programmazione viene ripulito. Attendere ancora almeno 15 secondi
d. spostare l’interruttore generale in posizione OFF (vd. par. 3 Pannello Operatore a pag. 1-4). Fine della procedura.
15.1 Login
Occorre sempre specificare uno Username e una Password che devono essere riconosciuti dal Controllore cui ci si vuole interfacciare; essi devono essere
stati precedentemente definiti e salvati nella base dati del Controllore stesso.
Esistono sei tipologie di utenti predefinite e riconosciute dall’Unità di Controllo:
– Administrator - Questo utente ha come unico compito quello di inserire e/o cancellare gli utenti nella base dati (file .UDB) di accesso al sistema;
quindi molti altri comandi non sono abilitati per l’Administrator.
– Default - La tipologia di utente che si vuole identificare è quella di conduttore di una linea di produzione. Le principali operazioni di cui egli necessita
sono l'avvio e l'arresto di programmi, la cancellazione degli allarmi, il movimento manuale del robot, la modifica dell'override, la ripartenza e lo
spegnimento del Controllore.
– Programmer - L'utente programmatore è abilitato, principalmente, ad effettuare le operazioni legate allo sviluppo, alla verifica ed alla messa a punto
dei programmi.
– Maintenance - La tipologia di utente che si vuole identificare è l'integratore. Questa figura ha delle potenzialità in più rispetto al programmatore.
– Service - Rappresenta l'assistenza tecnica ed è un utente abilitato ad effettuare operazioni legate all'aggiornamento dei sistemi, cioè ad utilizzare
comandi relativi al caricamento del software ed alla calibrazione della macchina.
– Technology - L’utente technology consente di accedere ad alcune funzioni dell’applicativo installato, tipiche dell’applicativo stesso. Si rimanda al
manuale specifico dell’applicativo per ulteriori dettagli.
L’Unità di Controllo C5G viene consegnata al cliente con i seguenti utenti predefiniti:
– utente programmatore - Username: pu Password: pu
– utente manutentore - Username: mu Password: mu
– utente administrator - Username: admin Password: admin
Se gli utenti predefiniti (programmatore o manutentore) non incontrano i requisiti del cliente finale, è possibile definirne altri.
Vd. sottopagina Utenti nella Setup page. Per ulteriori informazioni riguardanti i comandi permessi per le varie tipologie utente,
consultare la Tabella riassuntiva dei diritti di accesso.
Il login può essere effettuato da TP (Start Page) o da PC (comando SET LOGIN (SL) da WinC5G).
15.2 Logout
Se si lavora su TP, effettuare una pressione prolungata della softkey Login (F2) dalla Start Page. Se si lavora tramite WinC5G, premere il tasto di
disconnessione, oppure utilizzare il comando SET LOGIN (SL)/Logout dal menù dei comandi.
Esiste anche una funzione di Logout Automatico Temporizzato. Questa funzione è stata implementata per impedire che personale non
autorizzato esegua operazioni potenzialmente pericolose durante il ciclo di lavorazione del sistema. Lo scopo principale è che il
sistema generi un Logout dopo un certo periodo di inattività da parte dell’utente sul Terminale di Programmazione.
Quando il selettore di stato è impostato sulla posizione T1, i programmi possono essere sviluppati
utilizzando l’ambiente di editor e i punti possono essere appresi da Terminale di Programmazione
muovendo il robot manualmente con i tasti di movimento; i programmi possono essere messi a punto
utilizzando gli strumenti di debug offerti dal sistema. In programmazione, l’esecuzione di una
istruzione di movimento richiede la pressione, da parte dell’operatore, del tasto START e del
dispositivo di abilitazione posti sul Terminale di Programmazione.
Quando il selettore di stato è impostato su T1, il sistema è sotto il controllo dell’operatore. Quando il
selettore si trova sulla posizione REMOTE, il sistema è controllato da comandi provenienti da remoto
(ad esempio da PLC).
Prima che possa essere eseguita qualsiasi operazione che richieda del movimento, è necessario
accendere gli azionamenti:
– se il selettore di stato è in posizione T1, l’accensione degli azionamenti avviene tenendo premuto
in posizione intermedia il Dispositivo di Abilitazione (Enabling Device) del Terminale di
Programmazione; per spegnere gli azionamenti ed attivare i freni su tutti gli assi gestiti dall’Unità
di Controllo, è sufficiente rilasciare il Dispositivo di Abilitazione (Enabling Device) del Terminale
di Programmazione.
– Se il selettore di stato è in posizione AUTO, l’accensione degli azionamenti avviene mediante la
pressione della softkey R5 del Menu destro (che in questo caso ha il significato di DRIVE ON)
del Terminale di Programmazione; per spegnere gli azionamenti ed attivare i freni su tutti gli assi
gestiti dall’Unità di Controllo, occorre premere nuovamente la softkey R5 del Menu destro (che
in questo caso ha il significato di DRIVE OFF) del Terminale di Programmazione.
– Se il selettore di stato è in posizione REMOTE, l’accensione e lo spegnimento degli azionamenti
sono comandati da remoto.
17 Calibrazione e Turn-set
– Terminologia utilizzata
– Concetti di base
– Procedure
17.2.1 Calibrazione
Lo scopo della procedura di calibrazione è quello di stabilire la posizione degli assi di un robot riferendola ad un robot ideale. Ciò permette di inizializzare
le quote degli assi robot e di rendere universali le variabili posizionali usate nei programmi robot.
Durante la procedura di calibrazione, quando l’asse desiderato è nella posizione di calibrazione, vengono memorizzati due valori:
– lo scostamento, all’interno di un giro del trasduttore, tra il valore nella posizione reale e quello nella posizione teorica dell’asse,
– il numero di giri del trasduttore.
Le tacche presenti sui singoli assi permetteranno di eseguire future operazioni di turn-set di un robot già installato. Il recupero della calibrazione (eseguita
da COMAU), se necessario, deve essere effettuato all’atto della prima messa in funzione del robot.
Successivamente, la calibrazione non dovrà più essere eseguita, a meno di un guasto meccanico che porti alla sostituzione di un
componente della catena cinematica, o a meno di eventuali urti che danneggino la struttura del robot.
Nelle situazioni in cui siano stati persi i dati di calibrazione, NON è necessaria una procedura di calibrazione. Utilizzare il comando
Carica (CARL) dal menu Calib di Setup page - Arm, per recuperare i dati da NVRAM. Se si vuole recuperarli dal file di calibrazione,
selezionare Load File. Recuperati i dati di calibrazione, eseguire il Turn-set per reinizializzare il numero di giri del trasduttore.
17.2.2 Turn-set
Lo scopo dell’operazione di turn-set è quello di aggiornare soltanto il numero di giri del trasduttore nel caso in cui l’Unità di Controllo, alla riaccensione,
abbia perso tale valore. L’operazione consiste nel portare l’asse interessato nella posizione di calibrazione, mediante l’uso delle tacche di riferimento, e
nel dare l’opportuno comando. Non necessita di alcuna attrezzatura specifica in quanto l’unico valore inizializzato è il numero di giri del trasduttore.
L’operazione di turn-set è richiesta quando
– si verificano movimenti degli assi a controllore spento (ad esempio quando viene segnalato l’errore 59411 - 08 Ax <num_asse> Arm <num_arm>
movimento dopo lo spegnimento)
– si verificano degli eventi che portano alla perdita del solo numero di giri, e quindi non richiedono l’esecuzione della procedura di calibrazione. Sulla
finestra di stato del Terminale di Programmazione o sul video del PC compare la dicitura Ar:TURN.
17.3 Procedure
– Procedura di Turn-set
– Procedura di Calibrazione.
a. Portare gli assi robot sulle tacche di riferimento in posizione visivamente più precisa
possibile: il sistema segnala all’operatore l’errore 59409 SAX: posizione giunti non
sufficientemente accurata e successivamente visualizzando l’errore 59421 SAX: viene
richiesta una registrazione positiva e/o visualizzando l’errore 59422 SAX: viene richiesta
una registrazione negativa per raggiungere la corretta posizione.
b. Qualora il numero di arm non sia specificato, si utilizza l’arm di default, mentre il numero
di asse deve sempre essere specificato. Per indicare tutti gli assi dell’arm, specificare un
asterisco (*).
d. A seguito del comando CAT, il sistema ricalcola il corretto numero di giri del trasduttore
in funzione della posizione di calibrazione ($CAL_SYS). L’operazione deve essere fatta SALVATAGGIO DELLE COSTANTI DI CALIBRAZIONE
solo sull’asse su cui si è perso il conteggio; se più assi si trovano nella sopracitata 1. - NVRAM
2. - UD:\SYS nel file.C5G
situazione è consigliabile eseguire il turn-set di un asse alla volta. In particolare se ci 3. - UD:\SYS nel file ASCII di calibrazione ($<SYS_ID>_CAL<num_arm>.PDL)
sono assi con influenze di posizionamento meccanico bisogna operare prima sull’asse 4. - su carta
influenzante e poi sull’asse influenzato (seguire la sequenza assi 4,5,6).
A seconda del grado di accuratezza desiderata, si possono effettuare le seguenti Schema riassuntivo della gestione dei dati nei comandi di
procedure di calibrazione: Turn set (CAT) e
Calibrazione (CAC)
– Procedura di calibrazione mediante tacche di riferimento
– Procedura di calibrazione di sistema mediante attrezzi.
La calibrazione mediante attrezzi deve essere eseguita a seguito di smontaggi meccanici che alterano la geometria del robot oppure
nel caso sia necessario eseguire una verifica precisa della posizione di calibrazione.
Per eseguire la calibrazione degli assi 1-2-3 si deve utilizzare un apposito attrezzo portacomparatore (vedere fig. a
destra) avvitato nella sede predisposta in ogni asse del robot: il comparatore viene utilizzato per rilevare il punto di
minimo con riferimento al sottostante indice fisso dotato di intaglio a “V”: la posizione del robot nel punto di minimo
è la posizione di calibrazione. Per la calibrazione degli assi 4-5-6 l’attrezzo portacomparatore viene fissato alle
superfici predisposte sull’avambraccio e sul polso tramite un apposito supporto per interfaccia (vedere fig. a destra)
La calibrazione deve essere eseguita in sequenza di assi progressiva ad iniziare dall’asse 1 e proseguendo con gli
assi 2, 3, 4, 5 e 6, inoltre occorre tenere conto delle influenze meccaniche di posizionamento degli assi.
– Qualora si effettui la calibrazione dell’asse 4 devono essere ricalibrati anche gli assi 5 e 6.
– Qualora si effettui la calibrazione dell’asse 5 deve essere ricalibrato anche l’asse 6. 1 Portacomparatore
La calibrazione di un asse singolo del polso (assi 4, 5 e 6) richiede che gli altri assi del polso non interessati alla 2 Ghiera conica
calibrazione siano posizionati sulle tacche di calibrazione. 3 Tastatore
4 Comparatore
Procedura
d. Rimuovere i ripari di protezione dalle sedi filettate per fissaggio dell’attrezzo portacomparatore e dalle tacche di riferimento per la calibrazione.
Il rilascio del dispositivo di abilitazione del TP può provocare lievi movimenti degli assi generati dalla gravità delle masse applicate e resi
maggiormente evidenti se le attivazioni/disattivazioni sono rapide.
Dopo ogni on/off degli azionamenti, controllare sul TP che gli assi ritornino nella corretta posizione di calibrazione. In caso contrario riprendere
dall’inizio la procedura di calibrazione.
La calibrazione del robot deve essere fatta priva di carichi applicati agli assi (tool, gripper, ecc) ad esclusione dell’asse 1.
Dopo queste operazioni preliminari, si esegue la vera e propria procedura di calibrazione che va eseguita per ogni asse, come indicato nei passi seguenti:
e. Mediante il Terminale di Programmazione, muovere gli assi robot nella posizione di calibrazione sino a portare l’indice mobile coincidente con il fisso
f. Avvitare l’attrezzo porta comparatore nella sede quindi avvitare il comparatore nell’attrezzo sino a precaricare l’asta del comparatore di qualche millimetro (2,5
mm circa).
g. Ruotare, a bassa velocità (consigliata al 1% e comunque non oltre il 5% - GEN-OVR < 5%), l’asse da calibrare muovendolo dal senso negativo al positivo, fino
a rilevare sul comparatore il punto di minimo.
h. Dopo aver rilevato il punto di minimo sul comparatore, dare il comando di calibrazione procedendo come segue:
h.2 Selezionare il braccio (arm) interessato alla calibrazione e confermare con ENTER.
i. I dati di calibrazione vengono salvati in modo automatico in memoria NVRAM, nel file di configurazione (<$SYS_ID>.C5G) e nel file ASCII di calibrazione
(<$SYS_ID>_CAL<num_arm>.PDL).
– Calibrazione Asse 1
– Calibrazione Asse 2
– Calibrazione Asse 3
– Calibrazione Asse 4
– Calibrazione Asse 5
– Calibrazione Asse 6
Calibrazione Asse 1
a. Rimozione delle protezioni dall’ indice di riferimento (B) e dalla sede (A) per il fissaggio dell’attrezzo
portacomparatore.
e. Nel caso il punto di minimo sia superato, ritornare nella posizione iniziale e ripetere il rilievo muovendo
l’asse del robot sempre dal senso negativo al positivo
f. Selezionare sulla Setup Page il comando di calibrazione (Calibra (CAC)), dalla sottopagina Arm - Calib.
Calibrazione Asse 2
a. Rimozione delle protezioni dalla tacca di riferimento (B) per calibrazione e dalla sede (A) per il fissaggio
dell’attrezzo portacomparatore.
e. Nel caso il punto di minimo sia superato, ritornare nella posizione iniziale e ripetere il rilievo muovendo
l’asse del robot sempre dal senso negativo al positivo
f. Selezionare sulla Setup Page il comando di calibrazione (Calibra (CAC)), dalla sottopagina Arm - Calib.
Calibrazione Asse 3
a. Rimozione delle protezioni dall’indice di riferimento (B) per calibrazione e dalla sede (A) per il fissaggio
dell’attrezzo portacomparatore.
f. Nel caso il punto di minimo sia superato, ritornare nella posizione iniziale e ripetere il rilievo muovendo
l’asse del robot sempre dal senso negativo al positivo
g. Selezionare sulla Setup Page il comando di calibrazione (Calibra (CAC)), dalla sottopagina Arm - Calib.
Calibrazione Asse 4
c. Montaggio del supporto (C) per l’attrezzo di calibrazione. Posizionare il supporto e fissarlo con una vite
TCEI M5 e due spine cilindriche dia. 6x20.
e. Montaggio del supporto per l’attrezzo portacomparatore (D) sul piano predisposto dell’avambraccio.
h. Selezionare sulla Setup Page il comando di calibrazione (Calibra (CAC)), dalla sottopagina Arm - Calib.
Calibrazione Asse 5
c. Montaggio del supporto (C) per l’attrezzo di calibrazione. Posizionare il supporto e fissarlo con le due
spine cilindriche dia. 6x20 e la vite TCEI M5x25.
Nel caso il punto di minimo sia superato, ritornare nella posizione iniziale e ripetere il rilievo
muovendo l’asse del robot sempre dal senso negativo al positivo.
h. Selezionare sulla Setup Page il comando di calibrazione (Calibra (CAC)), dalla sottopagina Arm - Calib.
Calibrazione Asse 6
c. Montaggio del supporto (D) per l’attrezzo porta comparatore Posizionare il supporto e fissarlo con le due
spine cilindriche dia. 6x20 e la vite TCEI M5x25.
Nel caso il punto di minimo sia superato, ritornare nella posizione iniziale e ripetere il rilievo
muovendo l’asse del robot sempre dal senso negativo al positivo.
h. Selezionare sulla Setup Page il comando di calibrazione (Calibra (CAC)), dalla sottopagina Arm - Calib.
Trasformazione di coordinate
Una trasformazione di coordinate descrive la posizione di un sistema di
riferimento rispetto ad un altro. Essa è descritta da una variabile di tipo
POSITION. Ad esempio, se un tavolo è collocato in una stanza, la sua posizione
rispetto alla stanza è espressa dalla POSITION p_tavolo, che descrive la
trasformazione di coordinate tra i due sistemi di riferimento. La trasformazione
di coordinate inoltre può essere utilizzata per calcolare la posizione di un oggetto
rispetto a diversi sistemi di riferimento. Ad esempio, un libro la cui posizione
rispetto all’angolo del tavolo è p_libro avrà la posizione (p_tavolo:p_libro)
rispetto all’angolo della stanza. Il segno (:) rappresenta l’operazione di posizione
1. - Terna della flangia 2. - Terna utensile 3. - Punto appreso relativa, e consente di comporre l’effetto di diverse trasformazioni di coordinate.
Per ulteriori informazioni consultare il manuale PDL2 Programming Language
4. - Terna utente 5. - Terna di base 6. - Terna mondo
Manual.
Terna mondo – Terna di riferimento dell’officina rispetto alla quale vengono posizionate le macchine
Terna di base – Terna che indica la base del robot
Terna utente – Terna che indica il pezzo da lavorare
Terna della flangia – Terna che indica la flangia del robot
Terna TCP – Terna che indica la punta dell’utensile
La variabile $TOOL descrive la posizione della terna TCP rispetto alla terna della flangia; la variabile $BASE descrive la posizione della terna base rispetto alla terna
mondo; infine, la variabile $UFRAME descrive la posizione del pezzo da lavorare rispetto alla terna mondo.
La trasformazione POS indica il punto appreso P sul quale il TCP andrà a posizionarsi durante l’esecuzione del programma. Si ricorda che tutte le POSITION apprese
sono definite rispetto alla terna di riferimento utente (definita da $UFRAME, con certi valori di $BASE e $TOOL).
Attenzione che, modificando $TOOL o $BASE o $UFRAME, la stessa posizione (POS) corrisponde ad una diversa posizione reale del robot!
Si immagini ora una penna montata sulla flangia del robot il quale deve scrivere la parola COMAU sul tavolo. La trasformazione $BASE definisce il punto il cui si trova
la base del robot, lo spostamento $TOOL indica la penna e lo spostamento $UFRAME indica la posizione del tavolo.
Lo spostamento manuale dell’arm è necessario in diverse circostanze tra cui l’apprendimento di posizioni o la manutenzione dell’attrezzatura montata
sull’arm. Al movimento manuale sono dedicati i tasti di colore nero sul Terminale di Programmazione. Condizioni necessarie per effettuare il movimento
sono lo stato di programmazione, cioè con selettore di stato in posizione T1, e il Dispositivo di Abilitazione premuto.
Dalla Pagina di Motion del Terminale di Programmazione, sottopagina Basic (campo COORD), è possibile selezionare una delle seguenti modalità di
spostamento dell’arm:
– JOINT - modalità giunti. I tasti ‘+/-’ risultano associati a ciascuno degli assi dell’arm selezionato; i tasti associati agli assi ausiliari eventualmente
presenti, seguono quelli dell’arm (tipicamente sono i tasti 7 e 8 (‘+/-’) ). La pressione di uno dei tasti determina lo spostamento del corrispondente
asse nella direzione positiva o negativa secondo le direzioni indicate dalle targhette poste sull’arm.
– 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 ‘+/-’ (quelli
di sinistra) consentono spostamenti di tipo lineare nella direzione dei tre assi del sistema di riferimento mondo; i successivi tre tasti ‘+/-’ (quelli di
destra) consentono rotazioni dell’attrezzo intorno agli stessi assi mantenendo invariata la posizione del TCP. Si ricordi che la terna mondo non è
direttamente definita 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’utensile (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).
– UFRAME - modalità di spostamento lineare secondo la terna di riferimento x,y,z 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 del TCP.
La velocità con cui verrà effettuato il movimento manuale può essere selezionata mediante i tasti +% e -% che agiscono su un valore percentuale visibile
sulla barra di stato del Terminale di Programmazione. Questo valore percentuale è chiamato general override e non agisce solo sulla velocità di movimento
manuale ma su tutti i tipi di movimento, sia in stato programmazione, sia in automatico.
La velocità di spostamento del TCP, durante il movimento manuale, è sempre inferiore alla velocità di sicurezza di 250 mm/s anche nella modalità giunti.
Nelle modalità cartesiane (Tool, Uframe, Base) la velocità massima raggiungibile è limitata dalla variabile di sistema $JOG_SPD_OVR che ha
normalmente valore pari al 50% (cioè la metà della velocità di sicurezza). Questo valore può essere liberamente modificato per adattare la normale velocità
di spostamento manuale alle singole esigenze di programmazione.
Si noti che prima di effettuare uno spostamento nelle modalità cartesiane (Tool, Uframe, Base) è opportuno verificare la corretta
definizione dei sistemi di riferimento ed in particolare la dichiarazione della terna utensile mediante la variabile $TOOL. Una non
corretta descrizione dell’attrezzo determina errori nell’apprendimento dei punti e non consente di mantenere invariata la posizione del
TCP durante i movimenti di puro orientamento. Un buon metodo per verificare la correttezza di $TOOL è verificare che il TCP rimanga
fisso mentre si cambia l’orientamento dell’attrezzo.
La procedura per il movimento manuale dei bracci di una cella robotizzata presenta piccole varianti a seconda della configurazione del controllore di cella.
Nei seguenti paragrafi si presentano maggiori dettagli per alcune situazioni tipiche.
Per accedere alle procedure di Calcolo Automatico TOOL, premere il tasto F1;
per accedere alla procedura di Calcolo Automatico UFRAME, premere il tasto F2;
per accedere alla procedura di Calcolo automatico BASE per POSIZIONATORI (prestazione opzionale),
premere il tasto F3;
per accedere alla procedura di Autodeterminazione del carico (prestazione opzionale), premere il tasto F4;
per uscire dal programma TO_SET, premere il tasto F6.
In questo ambiente è possibile definire le dimensioni dell'attrezzo di lavoro montato sulla flangia
del robot. La precisione del calcolo è la stessa del robot, usato come strumento di misura.
Per l’esecuzione della procedura sono necessari i seguenti attrezzi:
– Attrezzo Calibrato (Tool Master) - E' un attrezzo calibrato avente misure X, Y, Z note e
che verrà montato sulla flangia del robot per l'acquisizione della posizione di riferimento. In
alternativa è anche possibile usare un punto individuato sull'attrezzo di lavoro, la cui
distanza dal centro flangia del robot deve essere nota e di precisione.
Prendendo come esempio uno Smart NS 12-1.85 ARC, l’attrezzo calibrato può essere:
misura: 117
In questo caso l’attrezzo calibrato deve essere montato sulla flangia del robot in direzione x_tool e i valori da dichiarare sono: X=160, Y=0, Z= -8.
– Punto di riferimento (o cubo di controllo) - È indispensabile individuare un punto fisico di riferimento nell'ambiente circostante al robot, in modo da portare
il TCP del robot stesso su questo punto: una volta con il Tool Master e successivamente con l'attrezzo da misurare. A tale scopo è stato progettato un CUBO
DI CONTROLLO fornito di una punta mobile che, quando è fissata in posizione di zero, può essere utilizzata come PUNTO DI RIFERIMENTO.
Il cubo (o qualunque altro punto preso come riferimento) DEVE ESSERE IN POSIZIONE FISSA E STABILE, facilmente accessibile dal robot e posizionato a
PAVIMENTO (se robot a pavimento), a PARETE (se robot a parete), a SOFFITTO (se robot a soffitto).
Una volta selezionato il calcolo desiderato, il programma chiede all’utente di inserire il numero del TOOL da misurare o verificare.
A questo punto viene scandita la tabella che contiene i tool già esistenti per verificare in quale delle seguenti condizioni ci si trova:
– Il numero di tool immesso corrisponde ad una posizione vuota in tabella e quindi si procede al calcolo del tool con una delle procedure disponibili.
– Il tool immesso esiste già in tabella e quindi il programma visualizza la misura calcolata in precedenza e il metodo che è stato usato durante tale calcolo.
Va eseguita:
– se è la prima volta in assoluto che si esegue un calcolo automatico del tool;
– se il punto di riferimento o il robot è stato spostato;
– se il robot è stato ricalibrato.
La procedura totale permette di memorizzare in UD: nel TO_SET.VAR la posizione campione e i valori del tool master dichiarati. E' sufficiente eseguire
solo una volta questa procedura. Tutti i successivi calcoli di un attrezzo montato sulla flangia del robot richiederanno esclusivamente la Procedura Parziale.
b. Il programma visualizza le misure del tool master, permette di modificarle (F2) oppure di continuare (F1).
c. Portare il TCP del TOOL MASTER sul riferimento, con le relative misure correttamente definite.
Continuare con i passi della Verifica del Tool con il metodo standard - Procedura parziale.
Va eseguita solo se è già stata eseguita la Procedura Totale almeno una volta.
La procedura parziale permette di calcolare le misure dell'attrezzo montato sulla flangia del robot. È possibile calcolare solo gli spiazzamenti (X,Y,Z);
oppure proseguire nel calcolo delle rotazioni (<A>: eulero 1; <E>: eulero 2) e infine è possibile calcolare la rotazione intorno alla nuova Z- tool (<R>: eulero
3).
a. Portare sul punto di riferimento il TCP del TOOL DA MISURARE. Il robot può assumere qualunque
posizione: l'operatore può posizionare il TCP sul riferimento come preferisce, in funzione delle sue
esigenze. Vedere figura a destra in alto.
c. Il programma visualizza i valori calcolati di $TOOL. In questo momento è possibile muovere in TOOL gli
assi 4, 5, 6 per verificare che il nuovo TCP rimanga fermo sul riferimento (sono accettabili movimenti
dell'ordine di 3 millimetri).
c.1 Se il TCP si sposta, controllare la calibrazione del robot; controllare le dimensioni del tool master dichiarate
nella Procedura Totale; controllare la posizione del punto di riferimento (non cambiata rispetto alla
Procedura Totale).
f. Scegliere la direzione lungo la quale si desidera orientare la Z-TOOL dell’attrezzo, parallelamente ad uno
dei semiassi della BASE del robot: tasti F2..F4, come indicato nella figura a destra in basso.
i. Verificare se il nuovo orientamento è quello effettivamente voluto: se NON è quello voluto, premere F3 per
ripetere la procedura.
l. Scegliere la direzione lungo la quale si desidera orientare la X-TOOL dell’attrezzo, parallelamente ad uno
dei semiassi disponibili della BASE del robot (non è più disponibile l'asse scelto al passo f.): tasti F2..F5,
come indicato nella figura a destra.
o. Verificare se il nuovo orientamento è quello effettivamente voluto: se NON è quello voluto, premere F3 per
ripetere la procedura.
p. Premere F2 per salvare i valori calcolati (spiazzamento e rotazione). A seguito di ogni operazione di salvataggio, se sono già presenti in tabella degli angoli di
Eulero, viene visualizzata una videata contenente i valori calcolati di $TOOL, nella quale si chiede all’utente se desidera mantenere tali dati o sovrascriverli con
i dati nuovi. Questo permette di mantenere gli angoli di Eulero nel caso si vogliano solamente ricalcolare gli spiazzamenti del tool.
q. Al termine della procedura, se si tenta di tornare alla videata principale senza aver salvato i dati calcolati, il programma presenta una videata nella quale avvisa
l’utente del mancato salvataggio e gli permette, se lo desidera, di salvare tali dati.
Tale procedura prevede di portare il TCP su un punto di riferimento visibile situato all'interno dello spazio di
lavoro del robot, con almeno tre diversi orientamenti e di acquisire le posizioni relative (vd. figura a sinistra).
1 acquisizione punto 3
2 acquisizione punto 2
3 acquisizione punto 1
4 riferimento
e. Riportare il TCP sul punto con l’orientamento sufficientemente variato rispetto ai precedenti.
g. Se la misura del TCP è possibile, all'utente viene fornita una valutazione dell'accuratezza del
procedimento di acquisizione (buona, imprecisa, inaffidabile) con la possibilità di accettare la misura
fornita e procedere con il calcolo dell'orientamento (come spiegato dal punto f. della Verifica del Tool con
il metodo standard - Procedura parziale),
h. oppure di continuare con l'acquisizione di altri punti (max 8 punti), come indicato nei passi precedenti,
con la possibilità di muovere il robot in modalità Tool .
i. Acquisizione punti terminata: è possibile continuare con il calcolo dell'orientamento, ripetere il calcolo di X, Y e Z, tornare al menù principale.
Se l'utente ha acquisito 8 punti e l'algoritmo NON è riuscito a calcolare il tool neanche con una misura imprecisa, vuol dire che i punti acquisiti sono imprecisi oppure
sono linearmente dipendenti. E’ possibile provare a riapprenderli variando maggiormente l’orientamento e quindi dando più informazioni al programma.
Più grande è la differenza nell’orientamento dei punti, migliore è il risultato.
Va eseguita solo se è già stata eseguita la Procedura Totale almeno una volta.
Questa procedura permette di ripetere una misura del tool già effettuata in precedenza con il “metodo 4 punti”. E’ molto simile a quella per il Calcolo del
Tool con il "metodo 4 punti" - Procedura totale, con la possibilità aggiuntiva di muovere il riferimento sul TCP eseguendo delle MOVE alle posizioni già
utilizzate per la misura del tool. In questo modo si migliora la ripetibilità della misura, in quanto si esegue la verifica del tool acquisendo i punti con il
medesimo orientamento (a meno di una lieve approssimazione) della precedente acquisizione.
a. Con il Controllore in DRIVE ON, premere il tasto START per far muovere il robot con l’attrezzo da misurare, verso il primo punto
memorizzato. La velocità di movimento è quella visualizzata sul Terminale di Programmazione.
c. Passare alla successiva acquisizione, come descritto nel Calcolo del Tool con il "metodo 4 punti" - Procedura totale. Una volta che
l'algoritmo riesce a calcolare un tool, viene visualizzata una videata che informa l’utente che da quel momento è possibile muoversi nel
riferimento TOOL.
– Attrezzo di dimensioni note montato sulla Flangia del Robot - Occorre avere montato sulla flangia del robot un attrezzo di dimensioni note e dichiarato nella
variabile di sistema $TOOL.
È consigliabile utilizzare il TOOL MASTER o ATTREZZO CALIBRATO, lo stesso usato per il calcolo automatico del Tool (vedi paragrafo Calcolo automatico
TOOL). In alternativa è anche possibile usare un punto individuato sull'attrezzo di lavoro, la cui distanza dal centro flangia del robot deve essere nota e precisa.
– 3 Punti di Riferimento (ORIGIN, Xpos e XYpos) - Occorre individuare 3 punti di riferimento sul pezzo da lavorare:
• ORIGIN: dove verrà fissata l'origine del FRAME;
• Xpos: determina la direzione e il verso di X-frame;
• XYpos: determina la direzione e il verso di Y-frame.
I passi della procedura sono descritti nel seguito:
c. Portare il TCP dell’attrezzo sul punto ORIGIN. Il robot può assumere qualunque posizione:
l'operatore può posizionare il TCP sul punto ORIGIN come preferisce, in funzione delle sue
esigenze.
e. Portare il TCP dell'attrezzo sul punto Xpos. Il robot può assumere qualunque posizione:
l'operatore può posizionare il TCP sul punto Xpos come preferisce, in funzione delle sue
esigenze.
g. Portare il TCP dell'attrezzo sul punto XYpos. Il robot può assumere qualunque posizione:
l'operatore può posizionare il TCP sul punto XYpos come preferisce, in funzione delle sue
esigenze.
j. Salvare i valori calcolati, nella tabella di TU_FRAME (come mostrato nella figura a destra, premere F2,
inserire il numero di UFRAME desiderato e confermare con ENTER, ).
Terna mondo – Terna di riferimento dell’officina rispetto alla quale vengono posizionate le macchine
Terna di base – Terna che indica la base del robot
Terna utente – Terna che indica il pezzo da lavorare
Terna della flangia – Terna che indica la flangia del robot
Terna TCP – Terna che indica la punta dell’utensile
– Traiettoria
– Velocità (Controllo della Velocità)
– Accelerazione e Decelerazione
– Arresto del movimento (Entrata in soglia (precisione di posizionamento))
– Movimento Continuo.
2.1 Traiettoria
Rappresenta un movimento dell’Arm da una posizione iniziale a una posizione finale. Le traiettorie si suddividono in:
– traiettoria articolare : GIUNTI
– traiettoria lineare: LINEARE
– traiettoria circolare: CIRCOLARE.
Interpolazione Giunti
Nel caso di interpolazione giunti ($MOVE_TYPE := JOINT o MOVE JOINT TO), gli angoli di ogni giunto dell’arm vengono
interpolati linearmente dai valori iniziali a quelli finali. Gli assi si muovono partendo insieme ciascuno dalla propria posizione
iniziale e arrivando insieme ciascuno alla relativa posizione finale. Il percorso seguito dal TCP (centro dell’utensile), sebbene
ripetibile, non è prevedibile.
I movimenti fra due posizioni mediante interpolazione giunti sono sempre possibili.
Interpolazione Lineare
Durante l’interpolazione lineare ($MOVE_TYPE := LINEAR o MOVE LINEAR TO), il centro dell’utensile (TCP) si sposta lungo
una linea retta dalla posizione iniziale a quella finale. L’orientamento dell’attrezzo varia anch’esso dalla posizione iniziale a
quella finale secondo la modalità definita dalla variabile $ORNT_TYPE. Questa variabile specifica del programma può
assumere i valori espressi dalle seguenti costanti predefinite: RS_WORLD, RS_TRAJ, EUL_WORLD, WRIST_JNT.
Interpolazione Circolare
Nel caso dell’interpolazione circolare ($MOVE_TYPE := CIRCULAR o MOVE CIRCULAR TO), il centro dell’utensile
segue una traiettoria ad arco dalla posizione iniziale a quella finale. Per definire l’arco occorre specificare una
posizione aggiuntiva, la posizione di VIA. Di questa posizione viene utilizzata solo la localizzazione della posizione; il
suo assetto non influisce sul movimento.
Come per l’interpolazione lineare, la variabile predefinita $ORNT_TYPE indica il tipo di evoluzione dell’assetto che
deve essere effettuata.
L’orientamento dell’attrezzo durante i movimenti lineari e circolari, evolve dalla posizione iniziale a quella finale secondo la modalità indicata dalla variabile
$ORNT_TYPE. Questa variabile specifica del programma può assumere i seguenti valori:
– valori assoluti di velocità o valori limite, misurati nelle unità di misura di velocità come radianti o metri al secondo;
– percentuali (override) che agiscono sui valori assoluti di velocità.
I valori di velocità percentuale di movimentazione validi per tutti i movimenti sono i seguenti:
– $GEN_OVR consente ad un operatore di modificare contemporaneamente i valori di accelerazione, velocità e decelerazione dei programmi di Movimento.
Poichè ciò influisce sui valori di accelerazione, velocità e decelerazione in modo coordinato, le traiettorie vengono in genere mantenute (a meno degli errori di
inseguimento servo) quando questa variabile viene modificata.E’ comune a tutto il sistema e può essere modificata dal Terminale di Programmazione. I
programmi PDL2 possono accedervi in sola lettura.
– $ARM_OVR consente la modifica, da programma, dei valori di accelerazione, velocità e decelerazione relativi ad un arm specifico. Poichè ciò influisce sui valori
di accelerazione, velocità e decelerazione in modo coordinato, le traiettorie vengono in genere mantenute (a meno degli errori di inseguimento servo) quando
questa variabile viene modificata.
Si noti che se durante le transizioni fra movimenti continui si considera più importante mantenere costante la velocità piuttosto che lasciare invariata la traiettoria
al variare degli override, è opportuno utilizzare le variabili $ARM_SPD_OVR o $PROG_SPD_OVR invece di $ARM_OVR (i valori dell’accelerazione e della
decelerazione non saranno modificati con la riduzione di questi override di velocità).
– $ARM_SPD_OVR consente la modifica, da programma, dei valori di velocità relativi ad un arm specifico senza influenzare i valori di accelerazione e di
decelerazione. Ciò significa che il profilo delle traiettorie per i movimenti in FLY potrebbe subire delle variazioni qualora vengano apportate delle modifiche a
questa variabile.
Esiste un elemento per ciascun arm e il valore di default per il campo ARM_SPD_OVR è di 100%.
– $PROG_SPD_OVR consente la modifica, da programma, della velocità per tutti i movimenti di un programma senza modificare i valori di accelerazione e di
decelerazione. Ciò significa che il profilo delle traiettorie per i movimenti continui potrebbe subire delle variazioni qualora vengano apportate delle modifiche a
questa variabile. E’ un valore specifico del programma, con un default del 100%.
$GEN_OVR e $ARM_OVR hanno effetto durante il movimento stesso. Ciò significa che in caso di modifica di una delle variabili durante l’esecuzione
del movimento, si avrà una conseguente accelerazione o decelerazione del movimento stesso. Al contrario, una modifica alle variabili
$PROG_SPD_OVR o $ARM_SPD_OVR avrà effetto solamente all’istruzione di movimento successiva a quella in corso, nell’ambito del programma a
cui sono riferite.
Il valore percentuale richiesto può essere assegnato sia con metodo modale che nodale.
L’assegnazione modale ha validità definitiva (fino alla successiva assegnazione di tipo modale), mentre l’assegnazione nodale ha validità temporanea (solo
per il movimento cui è associata).
Esempio:
In condizioni operative normali, la velocità del movimento Cartesiano (lineare o circolare), con qualsiasi modalità di evoluzione dell’assetto, è controllata mediante
due variabili predefinite.
– $LIN_SPD_LIM definisce la velocità limite di traslazione lineare. E’ una variabile per ciascun Arm, il cui valore dipende dal Robot e non è modificabile dall’utente.
– $ROT_SPD_LIM definisce la velocità limite di rotazione. E’ una variabile per ciascun Arm, il cui valore dipende dal Robot e non è modificabile dall’utente.
La componente del movimento che impiega più tempo per muovere dalla posizione iniziale a quella finale, si sposterà in base al limite di velocità programmato, ridotto
dall’override totale. Tutte le altre componenti si sposteranno ad una velocità inferiore ai limiti programmati in modo che tutti i movimenti abbiano inizio e si concludano
assieme.
Il procedimento con il quale si determina la componente che dovrà controllare la velocità Cartesiana è denominato prepianificazione e si verifica immediatamente
prima dell’effettivo svolgimento del movimento (cioè prima di ogni MOVE). E’ possibile forzare il prepianificatore ad utilizzare una particolare componente del
movimento mediante la variabile predefinita $SPD_OPT; si tratta di una variabile specifica del programma (ciascun programma può avere il proprio valore) alla
quale possono essere assegnate le seguenti costanti predefinite:
– SPD_CONST è il valore di default. Sposta l’arm ad una velocità costante mentre il valore SMS viene scelto dal prepianificatore.
– SPD_JNT sposta l’arm lungo la traiettoria Cartesiana richiesta, alla massima velocità di almeno un giunto; il centro dell’utensile non si sposterà ad una velocità
costante.
– SPD_LIN trasla il centro dell’utensile in base alla $LIN_SPD richiesta, forzando la componente di rotazione a spostarsi in modo coordinato.
La velocità percentuale di ciascun giunto è determinata da $JNT_OVR che consente di modificare contemporaneamente da programma i valori di accelerazione,
velocità e decelerazione.
Esiste un override per ciascun asse di ciascun arm con un valore di default del 100%.
Nel Controllore C5G, l’accelerazione e la decelerazione sono suddivise ciascuna in tre fasi: una
fase in cui l’accelerazione cresce linearmente (jerk), una fase di accelerazione costante ed
infine un’altra fase in cui l’accelerazione decresce linearmente.
Attualmente, C5G forza il profilo di accelerazione e quello di decelerazione in modo che siano
simmetrici.
Ciò significa che le fasi di jerk costante durante l’accelerazione (T1 e T2) hanno la stessa durata
e le fasi di jerk costante durante la decelerazione (T3 e T4) hanno la stessa durata.
Come la velocità, anche l’accelerazione e la decelerazione possono essere modificate mediante
variabili percentuali (override). $GEN_OVR e $ARM_OVR agiscono non solo sulla velocità, ma
anche sull’accelerazione e la decelerazione.
1 - velocità
2 - accelerazione
Tuttavia esistono alcune variabili che influenzano ulteriormente l’accelerazione e la
decelerazione. Queste variabili sono specifiche dell’arm o del programma:
– $PROG_ACC_OVR consente la modifica, da programma, dell’accelerazione di tutti i movimenti di un dato programma. E’ un valore INTEGER specifico del
programma con un valore di default del 100%;
– $PROG_DEC_OVR consente la modifica, da programma, della decelerazione di tutti i movimenti di un dato programma. E’ un valore INTEGER specifico del
programma con un valore di default del 100%;
– $ARM_ACC_OVR consente la modifica, da programma, dell’accelerazione di un arm specifico. E’ un campo INTEGER di $ARM_DATA con un campo per
ciascun arm. Il valore di default è 100%;
– $ARM_DEC_OVR consente la modifica, da programma, della decelerazione di un arm specifico. E’ un campo INTEGER di $ARM_DATA con un campo per
ciascun arm. Il valore di default è 100%.
La modifica di queste quattro variabili avrà effetto solamente sui movimenti successivi, non sul movimento in corso. Qualora vengano utilizzate istruzioni di HOLD,
CANCEL, LOCK o DEACTIVATE, sarà usato il valore massimo della decelerazione, indipendentemente dai valori di velocità percentuali già impostati.
– COARSE - deve essere utilizzato nei movimenti cartesiani e indica che il movimento è considerato finito quando
il TCP rimane nella sfera centrata nel punto finale, con raggio definito dalla variabile $TOL_COARSE per un
tempo maggiore o uguale a $TOL_ABT (tempo di anti-rimbalzo).
– FINE - deve essere utilizzato nei movimenti cartesiani e indica che il movimento è considerato finito quando il
TCP rimane nella sfera centrata nel punto finale, con raggio definito dalla variabile $TOL_FINE per un tempo
maggiore o uguale a $TOL_ABT (tempo di anti-rimbalzo).
– NOSETTLE - Non viene effettuato alcun controllo; è l’assegnazione di default. Rappresenta il grado di accuratezza più basso.
– JNT_COARSE - deve essere utilizzato nei movimenti giunti e indica che il movimento è considerato finito quando ciascun giunto si trova ad una distanza (in
gradi) inferiore a quella definita dalla variabile $TOL_JNT_COARSE del corrispondente asse.
– JNT_FINE - deve essere utilizzato nei movimenti giunti e indica che il movimento è considerato finito quando ciascun giunto si trova ad una distanza (in gradi)
inferiore a quella definita dalla variabile $TOL_JNT_FINE.
Le variabili predefinite $TOL_COARSE e $TOL_FINE indicano i valori di tolleranza. Il valore di default per $TOL_COARSE e per $TOL_FINE dipende dall’arm.
La variabile predefinita $TOL_ABT (tempo di anti-rimbalzo) indica il tempo durante il quale l’arm deve trovarsi all’interno della tolleranza specificata prima che il
movimento venga dichiarato completato/finito.
Le variabili predefinite $TOL_JNT_COARSE e $TOL_JNT_FINE indicano i valori di tolleranza rispettivamente COARSE e FINE, per ciascun giunto, misurati in gradi.
E’ da notare che le impostazioni della tolleranza si riferiscono ai giunti, non al centro utensile. Per ottenere i corretti valori di tolleranza al
centro utensile nel caso in cui l’utensile stesso sia di grosse dimensioni, è necessario utilizzare tolleranze inferiori a quando l’utensile ha
dimensioni più ridotte; in tal caso fare riferimento alle soglie del mondo cartesiano (Fine, Coarse).
Il movimento continuo permette l’esecuzione del programma senza provocare l’arresto dell’arm sulle
posizioni memorizzate.
Per indicare un movimento continuo, viene utilizzata l’istruzione MOVEFLY al posto dell’istruzione MOVE.
Se a MOVEFLY segue un altro movimento, l’arm non si arresterà alla prima destinazione, ma si sposterà dal
punto di partenza del primo movimento fino al punto finale del secondo movimento senza fermarsi sul punto
in comune ai due movimenti.
Non si devono fare movimenti in Fly tra traiettorie Giunti e Cartesiane (nessun FLY misto).
La variabile predefinita $FLY_TYPE determina quale sarà l’algoritmo che controllerà il movimento continuo.
1. Inizio movimento verso c Tale algoritmo non solo influenzerà la velocità e il profilo della traiettoria durante il movimento continuo, ma
2. Fine movimento verso b anche l’entità delle sollecitazioni esercitate sull’arm e sul componente o utensile collegato ad esso.
Il valore di default è FLY_NORM.
FLY_NORM
Quando $FLY_TYPE è impostata a FLY_NORM, MOVEFLY fa sì che la decelerazione del movimento in corso vada a sovrapporsi con l’accelerazione del movimento
successivo.
La variabile predefinita $FLY_PER (l’unica variabile legata a FLY_NORM) può essere utilizzata per ridurre il tempo del fly avvicinando la traiettoria alla posizione
intermedia appresa.
$FLY_PER rappresenta la percentuale del ritardo nell’esecuzione del movimento in fly. Riducendo il suo valore, il movimento in fly avrà un maggiore ritardo e la
traiettoria si avvicinerà alla posizione specificata nella MOVEFLY (vedere figure in basso).
Ad esempio, se il valore di $FLY_PER è 100%, il fly comincia all’inizio della decelerazione del movimento in fly. Se il valore di $FLY_PER è 75%, il fly inizierà solo
quando il 25% del tempo di decelerazione è stato percorso (il restante 75% sarà unito al movimento successivo).
ROUTINE rout_fly_1
BEGIN
$FLY_TYPE := FLY_NORM
$FLY_PER := 50
MOVEFLY LINEAR TO pnt0001p ADVANCE
$FLY_TYPE := FLY_HIGH
END rout_fly_1
I programmi utilizzati sul controllo C5G sono scritti nel linguaggio di programmazione PDL2. I metodi utilizzati per la creazione di tali programmi possono variare
ampiamente a seconda del programmatore e dell’applicazione.
Se il programma desiderato non esiste ancora, occorre utilizzare il comando Prog (F1)
- Crea (selezione 2), dalla Prog Page del Terminale di Programmazione.
a. premere il tasto funzionale Selezione (F4) dal menu principale della IDE Page (vd. figura in basso a sinistra)
b. nella tendina che viene aperta dal sistema, scegliere la funzione Attiva marcatura e spostarsi nell’area di editing, mediante i tasti cursore, per effettuare
la marcatura; nel menu centrale sono disponibili 3 funzioni: (vd. figura in basso a destra)
b.1 per tagliare la parte di testo selezionata, usare il comando Taglia (F1) - taglia le linee selezionate (F1)
b.2 per copiare la parte di testo selezionata, usare il comando Copia (F2) - copia le linee selezionate (F2)
b.3 per annullare la marcatura, scegliere Deseleziona (F3) - disattiva la marcatura (F3)
c. per inserire la parte di testo precedentemente tagliata o copiata, utilizzare la funzione Incolla, presente nel menu a tendina. Vd. selezione 3 nella figura
a sinistra.
d. per ripristinare la parte di testo precedentemente tagliata (annullare la cancellazione), utilizzare la funzione Annulla cancellazione, presente nel menu
a tendina (vd. selezione 4 nella figura a sinistra); il testo viene inserito al di sotto della posizione corrente del CURSORE DI EDIT.
Per spostare il CURSORE DI EDIT, il modo più semplice è usare i tasti cursore;
se invece si desidera spostarlo in una particolare posizione, operare come segue:
a. premere il tasto funzionale Selezione (F4) dal menu principale della IDE
Page;
b. nella tendina che viene aperta dal sistema, scegliere la funzione Vai.. (vd.
figura accanto)
b.1 scegliere tra l’istruzione BEGIN, l’istruzione END o indicare un ben preciso
numero di linea.
Se si è scelto di indicare un numero di linea, il sistema apre una finestra di dialogo; verificare che la Tastierina alfanumerica sia in modalità ‘123’ e
inserire il numero richiesto, confermando con ‘OK’ (F5) o ENTER (vd. figura sotto).
a. premere il tasto funzionale PDL2 (F3) dal menu principale della IDE Page;
b.1 se l’istruzione desiderata è presente nell’elenco, selezionarla e confermare con ENTER: essa
viene inserita al di sotto della linea attualmente puntata dal CURSORE DI EDIT.
b.2 se non è presente nell’elenco, scegliere ‘Linea vuota’ per aprire una nuova linea di programma al
sotto di quella attualmente puntata dal CURSORE DI EDIT. Inserire la nuova istruzione in uno dei
due modi seguenti:
b.2.1 inserimento guidato, mediante l’aiuto di una maschera (Template): premere il tasto funzionale
Istruzioni (F1) e scegliere la categoria di istruzioni, premere ENTER e scegliere l’istruzione
desiderata. Riempire i campi del template;
c. Qualsiasi metodo sia stato utilizzato, al termine dell’inserimento occorre confermare con ENTER. Il sistema provvede al controllo della linea di programma
inserita e segnala eventuali errori.
Per spostarsi tra i vari campi variabili, è fortemente consigliato l’uso della funzione
Prossima. Vd. tasto F5 nella figura a lato.
Spostandosi tra i campi di variabili mediante il tasto Prossima, IDE aggiorna
automaticamente la modalità di utilizzo della Tastierina alfanumerica (settimo campo della
Linea di stato).
b. nella tendina che viene aperta dal sistema, scegliere la funzione Commenta/Scommenta.
Questa softkey funziona come un tasto di tipo toggle: ogni volta che viene premuto inverte lo
stato corrente. (vd. figura accanto)
a. premere la softkey Prog (F1) dal menu principale della IDE Page
d. il sistema apre una finestra di dialogo nella quale l’utente deve inoltrare il
nome e il tipo della variabile desiderata, scegliendolo tra quelli elencati
nell’elenco visualizzato, oppure digitandolo direttamente per mezzo della
Tastierina alfanumerica.
Per visualizzare le variabili usate in una linea di programma, occorre: E’ inoltre possibile cancellare la dichiarazione delle variabili non
utilizzate:
a. posizionare il CURSORE DI EDIT sulla linea di programma interessata
a. premere la softkey Prog (F1) dal menu principale della IDE Page
b. premere la softkey Prog (F1) dal menu principale della IDE Page
b. selezionare la funzione Variabili, dal menu principale della IDE
c. selezionare la funzione Variabili , dal menu principale della IDE Page Page
d. scegliere la selezione 1 - Visualizza le Var della linea c. scegliere la selezione 2 - Cancella variabili non usate
a. premere la softkey Prog (F1) dal menu principale della IDE Page,
c. a seconda dell’oggetto da importare si presentano una o due finestre di dialogo. Per l’importazione di Variabili e Routine si presentano
due finestre di dialogo; per i Tipi se ne presenta una sola. E’ compito dell’utente rispondere alle domande e premere ENTER per
confermare.
Nell’ambiente di IDE è possibile assegnare a variabili posizionali la posizione corrente dell’arm, inserendo eventualmente nel codice del programma le istruzioni di
movimento ad esse associate e le corrispondenti dichiarazioni di tali variabili posizionali.
Le esigenze relative all’apprendimento delle posizioni, sono le seguenti:
– Impostare il tasto REC
– Registrare nuove posizioni
– Modificare posizioni già esistenti.
Esiste anche la possibilità di impostazione Nodale (OPZIONALE).
Nella videata di IDE c’è la finestra di stato inferiore, contenente le attuali impostazioni del tasto REC (F5).
Consente di impostare le caratteristiche dell’istruzione di movimento che viene inserita nel programma,
ogni volta che viene premuto il tasto.
All’apertura di IDE, il tasto REC è impostato modale giunti, se non è stato impostato in
precedenza. Per modificare questa impostazione occorre usare la presente funzione di
Impostazioni tasto REC oppure attivare direttamente tale funzione, mediante la pressione
contemporanea di SHIFT+REC.
a. premere il tasto funzionale Selezione (F4) dal menu principale della IDE Page
b. nella tendina che viene aperta dal sistema, scegliere la funzione Impostazioni tasto REC e seguire le
indicazioni del sistema. L’utente può scegliere
• il tipo di variabile posizionale - POSITION, JOINTPOS, XTNDPOS
• la traiettoria - DEFAULT, JOINT, LINEAR, CIRCULAR
• fly o non fly.
Si noti che le nuove impostazioni del tasto REC NON vengono mantenute dopo una ripartenza del sistema. Per renderle permanenti è
necessario fare un salvataggio delle configurazioni (mediante il comando di sistema ‘ConfigureSaveCategoryController /Shared’).
a. posizionare il CURSORE DI EDIT sulla linea di programma sotto la quale si desidera inserire la nuova istruzione MOVE
c. premere il tasto REC. Questa operazione inserisce nel programma una istruzione MOVE e la dichiarazione della variabile posizionale
utilizzata dalla MOVE stessa.
a. spostare il CURSORE DI EDIT sull’istruzione MOVE della quale si vuole modificare la variabile posizionale
c. premere il tasto funzionale MOD (F6) dal menu principale della IDE Page - il sistema presenta una finestra di dialogo nella quale viene visualizzato un elenco
delle variabili posizionali della linea
d. l’utente deve selezionare la variabile interessata e confermare la modifica con ENTER o annullarla con ESC.
Nel caso in cui tool e frame impostati per la MOVE corrente siano diversi da quelli impostati in Impostazioni tasto REC, il sistema
visualizza un messaggio di allarme. E’ responsabilità dell’utente modificarli in modo opportuno.
– Attivare/disattivare un programma
– Interrompere l’esecuzione di un’istruzione
– Impostare la modalità di step
– Spostare il cursore di esecuzione
– Inserire/rimuovere un break point
– Saltare l’esecuzione di un’istruzione
– Eseguire un’istruzione temporanea
Nel caso di Step Disabled, l’ambiente di IDE permette di osservare, nell’Area di editor,
l’esecuzione del programma correntemente aperto.
Il programma correntemente aperto in IDE è sempre quello ATTIVO. Se, dopo le modifiche, si vuole
farlo ripartire, occorre:
a. premere il tasto funzionale Esecuzione (F2) dal menu principale della IDE Page;
b. nella tendina che viene aperta dal sistema, scegliere la funzione Inizializza (Reset) - In tal modo il
programma viene disattivato e poi riattivato.
a. premere il tasto funzionale Esecuzione (F2) dal menu principale della IDE Page
b. nella tendina che viene aperta dal sistema, scegliere la funzione Disattiva (selezione 2).
a. premere il tasto funzionale Esecuzione (F2) dal menu principale della IDE Page (vd. figura sopra);
b. nella tendina che viene aperta dal sistema, scegliere la funzione Interrompi (selezione 5).
Per continuare l’esecuzione del programma, dall’istruzione successiva a quella interrotta, occorre premere il tasto START.
Normalmente l’esecuzione del programma è continua, cioè senza interruzione. Il passo di esecuzione
serve a definire il momento in cui l’esecuzione verrà sospesa. Un nuovo passo di esecuzione viene
avviato ogni volta che si preme il tasto START.
Per impostare la modalità di esecuzione del passo di programma, occorre:
a. premere il tasto funzionale Esecuzione (F2) dal menu principale della IDE Page
b. nella tendina che viene aperta dal sistema, spostarsi sulla funzione Passo (Step) - selezione 3.
c. dal nuovo elenco aperto dal sistema, selezionare la modalità desiderata. Sono disponibili le
seguenti modalità:
• Singola istruzione - L’esecuzione si interrompe in corrispondenza di ogni istruzione. Le Routine
protette (il cui corpo non è visualizzato) vengono eseguite come fossero uno statement unico;
l’esecuzione delle Routine non protette (il cui corpo è visualizzabile) si interrompe in
corrispondenza di ogni istruzione.
• Disabilitato - Pone termine all’esecuzione a passi del programma.
• Su Movimento - L’esecuzione si interrompe in corrispondenza di ogni movimento singolo. Non è permessa su programmi non-holdable.
• Su Movimento FLY - Prevede l’esecuzione di due o più movimenti in fly prima di sospendere l’esecuzione del programma. E’ simile alla scelta Move, ma
l’esecuzione non si arresta dopo l’istruzione MOVEFLY. Non è permessa su programmi non-holdable.
• Su ciclo programma - Definisce come passo un singolo ciclo del programma che deve includere l’istruzione CYCLE o BEGIN CYCLE.
Per spostare l’esecuzione del programma ad una linea diversa da quella attualmente puntata dal CURSORE DI ESECUZIONE, occorre:
b. premere il tasto funzionale Esecuzione (F2) dal menu principale della IDE Page
c. nella tendina che viene aperta dal sistema, scegliere la funzione Imposta cursore di esecuzione. Selezione 4.
a. posizionare il CURSORE DI EDIT in corrispondenza della linea prima della quale inserire il break
point
b. premere il tasto funzionale Esecuzione (F2) dal menu principale della IDE Page
c. nella tendina che viene aperta dal sistema, scegliere la funzione Break point.
Per rimuovere un breakpoint, occorre fare le stesse operazioni fatte per inserirlo.
Per far proseguire l’esecuzione del programma, quando esso è in attesa del completamento di un’istruzione (es.: WAIT FOR, DELAY, etc.), si può usare il comando
Salta istruzione(Bypass):
a. premere il tasto funzionale Esecuzione (F2) dal menu principale della IDE Page
b. nella tendina che viene aperta dal sistema, scegliere la funzione Salta istruzione(Bypass). Selezione 7.
Per eseguire un’istruzione che però non verrà inclusa nel corpo del programma corrente, occorre:
a. premere il tasto funzionale Esecuzione (F2) dal menu principale della IDE Page
b. nella tendina che viene aperta dal sistema, scegliere la funzione Immediata
c. nel menu centrale è disponibile la funzione Statement che apre una finestra di dialogo per l’inserimento dell’istruzione desiderata.
d. Selezionare l’istruzione e premere ENTER per confermare la scelta. E’ anche possibile digitare direttamente l’istruzione, usando la Tastierina alfanumerica
Per salvare sia il .COD che il .VAR del programma correntemente aperto in IDE, occorre:
a. premere il tasto funzionale Prog (F1) dal menu principale della IDE Page
b. nella tendina che viene aperta dal sistema, scegliere la funzione Salva (cod e var). Il programma
salvato rimane aperto in IDE.
a. premere il tasto funzionale Prog (F1) dal menu principale della IDE Page
b. nella tendina che viene aperta dal sistema, scegliere la funzione Salva tutti i prog (cod e var)
modificati.
a. premere il tasto funzionale Prog (F1) dal menu principale della IDE Page
b. nella tendina che viene aperta dal sistema, scegliere la funzione Chiudi.
È consigliabile eseguire solamente i programmi che, dopo essere stati sottoposti ad una verifica approfondita, sono stati giudicati in
grado di operare correttamente.
La mancata verifica di un programma prima della sua esecuzione può provocare gravi danni al personale e all’apparecchiatura.
a. Verificare i punti seguenti prima di procedere all’esecuzione dei programmi in modo automatico:
• il programma deve essere stato sottoposto ad una verifica approfondita e giudicato in grado di operare correttamente
• non deve esservi nessuno nell’area di lavoro e la stessa deve essere priva di ostacoli
• tutte le protezioni di sicurezza devono essere installate e funzionare correttamente
• tutte le altre condizioni specifiche, relative all’applicazione e installazione, devono essere verificate approfonditamente ed essere giudicate in grado di
operare correttamente
d. impostare la velocità percentuale di movimentazione (speed override) desiderata, la modalità di step desiderata, inserire eventuali break point;
e. premere il tasto START (verde) per eseguire il programma (secondo la modalità di step impostata precedentemente).
L’ambiente di IDE permette di osservare, nell’Area di editor, l’esecuzione del programma correntemente aperto. Vd. Visualizzazione dell’istruzione di
programma attualmente in esecuzione.
L’attributo di default è HOLD; se si desidera che il Programma sia ‘non-holdable’, occorre scrivere esplicitamente NOHOLD.
6 Esempio di struttura
Segue un esempio di programma PDL2 che richiama routine LOCALI ad esso, oppure IMPORTATE da programmi esterni o definite in esso e dichiarate
ESPORTABILI:
PROGRAM main
-- dichiarazioni di variabili locali
VAR pnt0001j, pnt0002j, pnt0003j, fuori_ingombro : JOINTPOS FOR ARM[1]
-- dichiarazioni di costanti locali
CONST num_parts=4
-- dichiarazioni di routine importate da altri programmi
ROUTINE call_l_sgr EXPORTED FROM l_sgr -- routine importata da ‘l_sgr’
ROUTINE help EXPORTED FROM gest_tasti -- routine importata da ‘gest_tasti’
-- dichiarazioni di routine locali al programma ‘main’
ROUTINE selez -- routine locale al programma ‘main’
VAR lun : INTEGER -- dichiarazione di variabile locale alla routine ‘selez’
BEGIN
.......
help -- chiama la routine ‘help’, importata da ‘gest_tasti’
END selez
Segue un esempio di definizione del programma ‘l_sgr’ cui fa riferimento il programma ‘main’:
In verde sono indicati i legami locali; in magenta sono indicati i legami tra programmi diversi.
Quando un programma è sviluppato in ambiente IDE, l’utente è guidato nell’inserimento delle varie linee di programma (dichiarazioni,
corpo del programma). Per ulteriori informazioni, si faccia riferimento all’Appendice.
a. scrivere il programma (utilizzando un ambiente di sviluppo - e.s. IDE), cioè scrivere il codice, definire nuove routines, definire delle
variabili ed apprendere valori posizionali;
b. verificare la correttezza del programma eseguendone le istruzioni. Se necessario utilizzare i comandi di debug (presenti nell’ambiente
di sviluppo) che permettono di variare la modalità di esecuzione (una istruzione alla volta, in modo continuo, ecc..), di esaminare i valori
delle variabili, di modificare il codice del programma stesso. I movimenti possono essere provati, anche se a velocità ridotta;
c. salvare le variabili (creazione di un file .VAR) ed il codice (creazione di un file .COD) del programma sviluppato. Il salvataggio viene fatto
automaticamente nella User Directory (UD:).
d. Quando l’utente è soddisfatto del funzionamento del programma, provare ad eseguirlo in una modalità sempre più somigliante a quello
che sarà il funzionamento in produzione (ambiente IDE o Memory Debug).
e. a questo punto il programma è pronto ad essere eseguito in automatico. Salvare un’ultima volta il codice e le variabili mediante l’apposito
comando di salvataggio disponibile nell’ambiente di sviluppo che si sta utilizzando.
f. Attivare il Programma dalla Prog Page (o comando PG), e premere il tasto START (verde).
La memoria di esecuzione contiene tutti i Programmi visualizzati nella Prog Page. Sono presenti quindi i
contenuti di soli file .COD e .VAR .
Quando si utilizzano comandi di caricamento (Carica...) o di apertura di un programma già esistente (Apri IDE),
o di creazione di un nuovo programma (Crea), il suo .COD e il suo .VAR vengono inseriti nella memoria di
esecuzione.
E’ possibile effettuare un trasferimento di file, da User Directory (UD:) verso un PC connesso con l’Unità
di Controllo e sul quale sia attivo il programma WinC5G (vd.par. 3 Programma WinC5G a pag. 3-5).
Utilizzando il comando Invia a (FC) dalla Files Page e specificando come destinazione COMP: , i file
desiderati vengono trasferiti nella directory selezionata del PC.
E’ possibile effettuare un trasferimento di file, da User Directory (UD:) verso una disk on key presente sulla
Porta USB del Terminale di Programmazione.
Utilizzando il comando Invia a (FC) dalla Files Page e specificando come destinazione TX: (se si utilizza la
porta USB del Terminale di Programmazione) o XD: (se si utilizza la porta opzionale dell’Unità di Controllo),
i file desiderati vengono trasferiti nella disk on key.
2 Tipi di file
I tipi di file gestiti dall’Unità di Controllo C5G sono quelli riportati nella seguente tabella.
3 Programma WinC5G
Il programma WinC5G è l’interfaccia stile Windows, su PC, verso l’Unità di Controllo C5G.