Il 0% ha trovato utile questo documento (0 voti)
799 visualizzazioni197 pagine

Fuffina

fuffina

Caricato da

balulu
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
799 visualizzazioni197 pagine

Fuffina

fuffina

Caricato da

balulu
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Sei sulla pagina 1/ 197

Corso Base - Uso e programmazione del Sistema C5G

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.

Copyright © 2003 by COMAU - Pubblicato in data 05/2011

Cover corsi.fm
Pagina 2 di 2 02/0511
SOMMARIO

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


Presentazione dell’Unità di Controllo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2
Prescrizioni di sicurezza per l’uso del Sistema Robotico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3
Pannello Operatore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4
Stati del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5
Descrizione struttura Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.7
Arm Controller Electromechanical (ACE). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.8
Unità di governo, alimentatori e moduli di potenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.9
Modulo AMS-APC820 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.10
Modulo AMS-PPS8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.11
Modulo AMS-ASM32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.12
Modulo AMS-IAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.13
Dissipatore termico AMS-FMP14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.15
Safety Distribution Module (SDM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.16
Uninterruptible Power Supply (UPS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.17
Operator Panel Devices (OPD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.18
Connector Interface Panel (CIP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.19
Sistema di ventilazione interno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.20
Terminale di Programmazione. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.21
Funzioni principali del Terminale di Programmazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.22
Tasti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.22
Selettore modale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.27
Pulsanti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.27
LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.28
Porta USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.28
Generalità sull’Interfaccia Utente del Terminale di Programmazione . . . . . . . . . . . . . . . . . . . 1.29

Manuale Corso BaseTOC.fm


01/0311 Pagina 1 di 8
Linea di stato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.30
Linea dei messaggi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.32
Menu di sinistra (Left Menu). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.33
Menu di destra (Right Menu) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.34
Menu centrale (Bottom Menu) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.35
Area delle Pagine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.36
Accensione e spegnimento del Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.37
Procedura di accensione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.37
Procedura di spegnimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.38
Accesso al Controllo (LOGIN/LOGOUT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.38
Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.38
Logout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.39
Esecuzione di operazioni che necessitano il movimento del Robot. . . . . . . . . . . . . . . . . . . . .1.40
Calibrazione e Turn-set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.41
Terminologia utilizzata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.41
Concetti di base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.42
Calibrazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.42
Turn-set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.43
Posizione di calibrazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.43
Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.44
Procedura di Turn-set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.44
Procedura di Calibrazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.45
Movimentazione del robot nello stato Programmazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.58
Terne di riferimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.58
Movimento manuale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.60

2. Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno . . . . . . . . . . . . .2.1


Calcolo automatico di TOOL e FRAME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2

Manuale Corso BaseTOC.fm


Pagina 2 di 8 01/0311
Calcolo Automatico TOOL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3
Calcolo del tool con il metodo standard - Procedura totale . . . . . . . . . . . . . . . . . . . . . . . . 2.4
Verifica del Tool con il metodo standard - Procedura parziale. . . . . . . . . . . . . . . . . . . . . . 2.5
Calcolo del Tool con il "metodo 4 punti" - Procedura totale . . . . . . . . . . . . . . . . . . . . . . . . 2.7
Verifica del Tool Locale con il "metodo 4 punti" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.8
Calcolo Automatico UFRAME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.9
Descrizione dei vari tipi di movimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.11
Traiettoria. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.12
Evoluzione dell’orientamento durante movimenti Lineari o Circolari . . . . . . . . . . . . . . . . 2.13
Dinamica del movimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.14
Controllo della Velocità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.14
Override sulla velocità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.14
Controllo della Velocità Cartesiana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.16
Controllo della Velocità Giunti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.16
Accelerazione e Decelerazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.17
Entrata in soglia (precisione di posizionamento) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.18
Movimento Continuo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.19
Introduzione all’ambiente di programmazione IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.20
Programmazione in IDE (su TP) di programmi di movimento . . . . . . . . . . . . . . . . . . . . . . . 2.21
Editing del programma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.21
Apprendimento delle posizioni (inserimento di una istruzione di movimento) . . . . . . . . . 2.28
Test dell’esecuzione del programma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.30
Salvataggio del programma e chiusura di IDE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.34
Esecuzione del programma in modo automatico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.35
Programmi PDL2 - Concetti di base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.36
Struttura di un Programma PDL2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.36
Attributo HOLD/NOHOLD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.36
Esempio di struttura. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.37
Ciclo di vita di un programma PDL2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.40
Creazione e sviluppo di un programma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.40
Salvataggio del programma su dispositivi di memorizzazione esterni. . . . . . . . . . . . . . . . . 2.40

Manuale Corso BaseTOC.fm


01/0311 Pagina 3 di 8
3. Corso Base - USO E PROGRAMMAZIONE C5G - Terzo giorno . . . . . . . . . . . . . . . .3.1
Struttura della memoria del Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2
Dispositivi di memorizzazione interni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2
Memoria di esecuzione. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2
User Directory (UD:) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.2
Dispositivi di memorizzazione esterni. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.3
PC (e dispositivi ad esso collegati) - COMP: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3
Disk on key - TX: e XD: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.3
Tipi di file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4
Programma WinC5G . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.5
Interfaccia Utente di WinC5G . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.6
Pannello delle Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.6
Pannello dei File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.7
Pannello dei Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.7
Pannello di Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.8
Programmazione off-line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9
Comunicazione tra Unità di Controllo e mondo esterno. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.10
Comunicazione tra Unità di Controllo e periferiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.11
Porte Ethernet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.11
Porta seriale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.11
Porte USB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.11
Comunicazione tramite I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.13
Ingressi / Uscite digitali di serie, su modulo SDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.13
Ingressi / Uscite digitali, a bordo Robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.14
Ingressi / Uscite e Bus di campo, su interfaccia X20 (opzionale) . . . . . . . . . . . . . . . . . . . 3.15
Collegamento dei Bus da C5G a Robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.19
Programmi per la configurazione degli I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.20
Programma IO_CNFG - Configurazione dei moduli di I/O . . . . . . . . . . . . . . . . . . . . . . . .3.20
Programma IO_MAP - Mappatura porte di I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.21
Programma IO_CLONE - Esportazione/Importazione della configurazione di I/O . . . . . .3.22
Istruzioni PDL2 per la comunicazione tra l’Unità di Controllo e il mondo esterno . . . . . . . .3.23

Manuale Corso BaseTOC.fm


Pagina 4 di 8 01/0311
4. Corso Base - USO E PROGRAMMAZIONE C5G - Quarto giorno. . . . . . . . . . . . . . .4.1
Backup e Restore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2
Backup e Restore da Terminale di Programmazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3
Backup e Restore da Programma WinC5G . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4
Visualizzazione dei Saveset esistenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5
Installazione/Aggiornamento del software di Sistema - introduzione . . . . . . . . . . . . . . . . . . . . 4.6
Installazione/Aggiornamento del software di Sistema - procedure . . . . . . . . . . . . . . . . . . . . 4.7
Applicativi - generalità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.8
Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.9
Software. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.10
Procedura di installazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.12
Procedura di disinstallazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.13
Sistema SmartHand - Applicativo di Manipolazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.14
Componenti Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.15
Componenti Software - Sistema di Manipolazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.15
Interfaccia Utente su TP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.15
Set di Istruzioni Tecnologiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.16
Tasti gestione processo (menu di destra) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.16
Sistema SmartSpot - Applicativo di Saldatura a punti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.17
Componenti Hardware - Configurazioni disponibili . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.18
Componenti Software - Sistema di Saldatura a punti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.18
Interfaccia Utente su TP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.19
Set di Istruzioni tecnologiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.20
Tasti gestione processo (menu di destra) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.20
Sistema SmartArc - Applicativo di Saldatura a filo continuo . . . . . . . . . . . . . . . . . . . . . . . . . . 4.21
Componenti Hardware - Configurazioni disponibili . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.22
Componenti Software - Sistema di Saldatura a filo continuo. . . . . . . . . . . . . . . . . . . . . . . . 4.22
Interfaccia Utente su TP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.23
Set di Istruzioni Tecnologiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.24
Tasti gestione processo (menu di destra) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.24
Collision Detection (prestazione opzionale) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.25

Manuale Corso BaseTOC.fm


01/0311 Pagina 5 di 8
Concetti di base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4.25
Attivazione/disattivazione della funzione di Collision Detection . . . . . . . . . . . . . . . . . . . . . .4.26
Attivazione/disattivazione della cedevolezza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.26
Tipo di sensibilità alla Collision Detection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4.26
Affidabilità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4.27
Utilizzo della prestazione di Collision Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.27
Gestione dell’evento di Rilevata Collisione. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4.28
Utilizzo della libreria open source CDetect. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4.29
Autodeterminazione del carico (prestazione opzionale). . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4.30
Procedura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4.30

5. Basic Training Course - C5G USE AND PROGRAMMING - Appendix 1 . . . . . . . . .5.1


Introduction to PDL2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5.2
Data items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5.2
Data types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5.3
INTEGER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3
REAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3
BOOLEAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3
STRING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5.3
ARRAY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5.4
POSITION. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4
JOINTPOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4
Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5.5
Sharing Variables and Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5.5
Basic PDL2 Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5.6
Flow Control Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5.7
IF Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.7
GOTO Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5.8
Program Control Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5.9
WAIT FOR Statement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.9
DELAY Statement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5.9
HOLD Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5.10
Manuale Corso BaseTOC.fm
Pagina 6 di 8 01/0311
CYCLE and EXIT CYCLE Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.10
RETURN Statement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.10
File Manipulation Statements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.11
OPEN FILE Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.11
CLOSE FILE Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.12
READ Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.12
WRITE Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.12
Motion Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.13
ARM Clause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.13
TRAJECTORY Clause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.14
DESTINATION Clause. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.14
Optional Clauses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.17
Bit Manipulation Built-in Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.18
BIT_CLEAR Built-In Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.18
BIT_SET Built-In Procedure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.18
BIT_TEST Built-In Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.19
ASSIGNMENT statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.19

6. Corso Base - USO E PROGRAMMAZIONE C5G - Appendice 2 . . . . . . . . . . . . . . . .6.1


Esempio n.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2
Esempio n.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3
Esempio n.3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4
Esempio n.4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5
Esempio n.5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6
Esempio n.6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.8
Esempio n.7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.10

7. Corso Base - USO E PROGRAMMAZIONE C5G - Appendice 3 . . . . . . . . . . . . . . . .7.1

Manuale Corso BaseTOC.fm


01/0311 Pagina 7 di 8
Esercizi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2

Manuale Corso BaseTOC.fm


Pagina 8 di 8 01/0311
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno


– Descrizione generale
1 - Presentazione dell’Unità di Controllo

– Prescrizioni di sicurezza
2 - Prescrizioni di sicurezza per l’uso del Sistema Robotico

– Descrizione Unità di Controllo


3 - Pannello Operatore
4 - Stati del sistema
5 - Descrizione struttura Hardware

– 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

– Utilizzo dell’Unità di Controllo


14 - Accensione e spegnimento del Sistema
15 - Accesso al Controllo (LOGIN/LOGOUT)

– Introduzione al movimento dell’Arm


16 - Esecuzione di operazioni che necessitano il movimento del Robot
17 - Calibrazione e Turn-set
18 - Movimentazione del robot nello stato Programmazione

Corso UEP - Primo giorno.fm


02/0511 Pagina 1 di 61
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

1 Presentazione dell’Unità di Controllo

L’Unità di Controllo C5G è una apparecchiatura


industriale creata per la gestione semplificata,
efficiente e multifunzionale di tutta la gamma dei Robot
Comau serie SMART5.
L’Unità di Controllo C5G:
– Può gestire fino a 16 assi interpolati con una
potenza totale massima di 16 kVA, equipaggiati
con motori sincroni brushless e trasduttore di
posizione di tipo Encoder ad alta risoluzione con
interfaccia EnDat 2.2.
– E’ alimentata direttamente dalla rete di
stabilimento con tensioni da 400 Vac -15% a 500
Vac +10% senza necessità di trasformatore di
adattamento. E’ disponibile opzionalmente il range
esteso di tensione.
– Può essere interfacciato mediante le più comuni
interfacce di comunicazione (USB, seriale,
Ethernet) e con i più comuni Bus di campo e
protocolli di comunicazione (CanOpen,
DeviceNet, Profibus-DP, EtherNet/IP, ecc.). Può
diventare un nodo di rete Ethernet sulla rete di
stabilimento per facilitare aggiornamenti e
diagnostica remoti.
– Può essere programmato mediante software di facile impiego e controllato abbinando un terminale di programmazione a scelta con connessione a cavo o
wireless. Il Terminale di programmazione è dotato di display grafico TFT 6.4” a 4096 colori, interfaccia utente di immediata comprensione, è leggero ed
ergonomico dotato di interfaccia USB a bordo.

Corso UEP - Primo giorno.fm


Pagina 2 di 61 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

2 Prescrizioni di sicurezza per l’uso del Sistema Robotico

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.

Corso UEP - Primo giorno.fm


02/0511 Pagina 3 di 61
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

3 Pannello Operatore

Il Pannello Operatore dell’Unità diControllo C5G dispone, di serie,


dell’Interruttore generale.
L’interruttore generale agisce sulla tensione di alimentazione dell’Unità di Controllo. In
caso di spegnimento, attendere almeno 30 secondi prima di eseguire
un’ulteriore riaccensione.
Per ulteriori informazioni si rimanda al par. 14 Accensione e spegnimento del Sistema
a pag. 1-37 e al par. 5.5 Operator Panel Devices (OPD) a pag. 1-18.

Corso UEP - Primo giorno.fm


Pagina 4 di 61 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

4 Stati del sistema


Lo stato corrente del sistema è visualizzato sulla prima riga di stato del Terminale di Programmazione (o nella finestra Terminale del programma WinC5G
su PC).

Lo stato in cui si trova il sistema dipende principalmente da:


– selettore di stato (vd.par. 6.2 Selettore modale a pag. 1-27),
– DRIVE ON, DRIVE OFF e HOLD,
– allarme di sistema,
– dispositivo di abilitazione (enabling device) - La transizione da uno stato all’altro del sistema è inoltre influenzata dal dispositivo di abilitazione
presente sul Terminale di Programmazione. Nella parte posteriore del Terminale di Programmazione sono presenti due pulsanti con la funzione di
Dispositivo di Abilitazione. Vd. figura in basso a sinistra.
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).
Funzionamento dei pulsanti di ENABLING DEVICE

Il tipo di funzionamento, per ognuno di essi è il seguente:


– A - rilasciato - DRIVE OFF
– B - pressione intermedia - DRIVE ON
– C - 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.
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.

Corso UEP - Primo giorno.fm


02/0511 Pagina 5 di 61
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

L’Unità di Controllo può trovarsi in uno dei seguenti stati:


– HOLD
Stato HOLD: in questo stato il robot viene decelerato gradualmente fino a raggiungere il punto di arresto; il movimento viene sospeso così come
l’esecuzione dei programmi di movimento (detti holdable). Quando tutte le condizioni necessarie per uscire dallo stato HOLD sono soddisfatte, il
sistema ritorna allo stato precedente (programmazione o automatico), ma per riprendere l’esecuzione dei programmi di movimento, occorre premere
il tasto START.Qualora lo stato HOLD sia stato causato dalla richiesta di DRIVE OFF sul Terminale di Programmazione (Dispositivo di Abilitazione
(Enabling Device) rilasciato o softkey R5 premuta con funzione di DRIVE OFF), occorrerà premere nuovamente il tasto HOLD per uscire dallo stato
HOLD, e riaccendere gli azionamenti (pressione intermedia del Dispositivo di Abilitazione (Enabling Device) o pressione di R5 con significato di
DRIVE ON).
– AUTO
Stato AUTO: questo è lo stato utilizzato generalmente per l’esecuzione dei programmi di produzione che comandano la movimentazione del robot
(selettore di stato posizionato su AUTO o REMOTE). Nello stato AUTO, l’avvio dei programmi che sono pronti per essere eseguiti richiede la
pressione del tasto START posto sul terminale di programmazione o dell’input START da remoto.
Se si è in stato HOLD, per passare in AUTO occorre riportare il selettore di stato sulla posizione desiderata, se necessario riaccendere gli azionamenti
(DRIVE ON) e premere il pulsante di HOLD.
– PROGR
Stato PROGR: In questo stato il robot può essere mosso manualmente tramite i tasti di jog o eseguendo istruzioni di programma (da ambiente di
editor o da comando EXECUTE). In quest’ultimo caso, il movimento, per poter essere eseguito, richiede di mantenere premuto il tasto START ed il
Dispositivo di Abilitazione (Enabling Device).In questo stato è possibile muovere manualmente il robot, utilizzando i tasti di movimento presenti sul
Terminale di Programmazione. È inoltre possibile eseguire i programmi da ambiente di IDE (vd. IDE Page sul manuale USO dell’Unità di Controllo
C5G) al fine di verificarne la correttezza ed apportare, se necessario, delle modifiche. I movimenti vengono eseguiti a velocità ridotta. Per eseguire
un movimento è necessario mantenere premuto il tasto START e il Dispositivo di Abilitazione. In questo stato, il selettore di stato è impostato su T1.
– ALARM
Stato ALARM: si entra in questo stato in seguito al verificarsi di un allarme nel sistema. A seconda della gravità dell’errore, il sistema intraprende
diverse azioni quali la sospensione dell’esecuzione del programma, la disattivazione degli azionamenti, ecc. Può accadere una situazione in cui
l’allarme non sia resettabile, quindi l’accensione degli azionamenti può non essere consentita.

Corso UEP - Primo giorno.fm


Pagina 6 di 61 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

5 Descrizione struttura Hardware

Dislocazione moduli nell’Unità di Controllo

Il modello base dell’Unità di Controllo C5G è costituito dai seguenti accorpamenti


A E omogenei:

B – A: Arm Controller Electromechanical (ACE)

C
– B: Unità di governo, alimentatori e moduli di potenza
D
– C: Safety Distribution Module (SDM) -

F
– D: Uninterruptible Power Supply (UPS)

– E: Operator Panel Devices (OPD)

– F: Connector Interface Panel (CIP)

Corso UEP - Primo giorno.fm


02/0511 Pagina 7 di 61
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

5.1 Arm Controller Electromechanical (ACE)

L’Arm Controller Electromechanical (ACE) gestisce la distribuzione dell’energia elettrica


da rete tagliando gli eventuali disturbi elettrici con il filtro di rete.
A B C D

Esso comprende:

– interruttore generale (A e B),

– filtro EMI di linea (C),

– morsettiera d’ingresso alimentazione energia elettrica (D).

Corso UEP - Primo giorno.fm


Pagina 8 di 61 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

5.2 Unità di governo, alimentatori e moduli di potenza

– A: unità di governo - Modulo AMS-APC820

– B: alimentatore Bus DC - Modulo AMS-PPS8 (Passive


Power Supply)

– C: alimentatore 24 Vdc - Modulo AMS-ASM32 (Auxiliary


Supply Module)

– D: moduli di potenza e controllo degli assi - Modulo


AMS-IAM (Inverter Axis Module)

– E: Dissipatore termico AMS-FMP14

– F: connettore bus DC e 24 Vdc

La potenza del Robot controllato dall’Unità di Controllo


influenza il numero dei moduli assi installati e le conseguenti
correnti fornibili.
Ogni modulo installato può occupare da 1 a 2 slot; la
dimensione di ogni slot è pari a 53,5 mm (21.00 in).
Ad eccezione del Modulo AMS-ASM32 (non richiede
connessione POWERLINK), i restanti moduli scambiano
informazioni tra di loro attraverso la Rete Ethernet
POWERLINK. Ogni modulo dispone di un indirizzo IP univoco.
A B C D E F

Corso UEP - Primo giorno.fm


02/0511 Pagina 9 di 61
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

5.2.1 Modulo AMS-APC820

Il modulo AMS-APC820 è l’unità di calcolo che gestisce il generatore di traiettoria,


l'interfaccia HMI, l'I/O di sistema e di applicazione. E’ master del protocollo real-time
Ethernet POWERLINK (EPL) e della connessione seriale CANopen.
Leds

Il modulo è un Personal Computer (PC) industriale con processore dual core.


ETH1 XD2 XD3

ETH2 XD4 XD5


L’indirizzo sulla rete Ethernet POWERLINK non richiede personalizzazione da parte
dell’Utente.
COM2 COM1

X3A

XD

Led / Switch
Per informazioni di dettaglio, consultare la Tab. 4.3 - AMS-APC820: connessioni e
Compact Flash Slot 1

Compact Flash Slot 2

CAN Bus

dispositivi del manuale Unità di Controllo C5G - Specifiche Tecniche.


AMS-APC820
Battery
DVI/SDL

CARD
Slot

Fans

Top
side

Front
side

Corso UEP - Primo giorno.fm


Pagina 10 di 61 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

5.2.2 Modulo AMS-PPS8

Il modulo AMS-PPS8 è un alimentatore / convertitore per generare il bus DC


dell’azionamento.

L’indirizzo sulla rete Ethernet POWERLINK è predefinito a “T1=0 e T2=1”


X1

X3B
Leds
X3A – X1: segnale Bus DC pronto (destinato al Modulo AMS-ASM32)

– X3A: porta Ethernet POWERLINK per la comunicazione tra moduli


(proveniente da Modulo AMS-APC820)
Top
side
– X3B: porta Ethernet POWERLINK per la comunicazione tra moduli
(destinato al primo Modulo AMS-IAM)

X5B
– X5A: ingresso alimetazione da rete trifase
X5A

AMS-PPS8 – X5B: collegamento Resistenza di recupero

Front
side – Leds: led di segnalazione.

Per informazioni di dettaglio, consultare la Tab. 4.4 - AMS-PPS8: connessioni


Bottom
side e dispositivi del manuale Unità di Controllo C5G - Specifiche Tecniche.

Corso UEP - Primo giorno.fm


02/0511 Pagina 11 di 61
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

5.2.3 Modulo AMS-ASM32

Il modulo AMS-ASM32 è un alimentatore / convertitore per generare il 24 Vdc


usato per alimentare i circuiti ausiliari.

– X1: ingresso per segnale Bus DC pronto proveniente dal Modulo


AMS-PPS8
Leds

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.

– X3: Uscita 24 Vdc per alimentare la sezione di distribuzione del Safety


Distribution Module (SDM) e ingresso / uscita 24 Vdc per alimentare il
Uninterruptible Power Supply (UPS) e per ricevere indietro l’alimentazione
24 Vdc in assenza di alimentazione di rete.
Top
side
– Leds: led di segnalazione

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

Corso UEP - Primo giorno.fm


Pagina 12 di 61 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

5.2.4 Modulo AMS-IAM

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

– X1: segnale di abilitazione asse proveniente da Safety Distribution Module (SDM)

– 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)

– X4A: comando freni asse (primo asse)

– X4B: comando freni asse (secondo asse)

– X5A: motore asse (primo asse)

– X5B: motore asse (secondo asse)

– X11: collegamento encoder.

Corso UEP - Primo giorno.fm


02/0511 Pagina 13 di 61
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

Slot singolo
– ETIx: modulo interfaccia Encoder AMS-ETI22

– X1: segnale di abilitazione asse proveniente da Safety Distribution Module (SDM)

– 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)

– X4A: comando freni asse (primo asse)

– X4B: comando freni asse (secondo asse, quando presente)

– X5A: motore asse (primo asse)

– X5B: motore asse (secondo asse, quando presente)

– X11: collegamento encoder.

Corso UEP - Primo giorno.fm


Pagina 14 di 61 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

5.2.5 Dissipatore termico AMS-FMP14

A Il dissipatore termico è un piastra in alluminio utilizzata anche come supporto al quale


si fissano tutti i moduli dell’azionamento e il Safety Distribution Module (SDM).

La dissipazione termica di potenza dei moduli avviene su questa piastra, raffreddata


posteriormente dalle ventole del Sistema di ventilazione interno.

Il dissipatore può ospitare moduli fino ad un massimo di 14 slot. La dimensione di ogni


slot è pari a 53,5 mm (21.00 in).

– A: rack/dissipatore

Corso UEP - Primo giorno.fm


02/0511 Pagina 15 di 61
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

5.3 Safety Distribution Module (SDM)

Il Safety Distribution Module (SDM) è il modulo per la gestione dei


segnali di sicurezza e la distribuzione del 24 Vdc (alimentazione
ausiliaria e 24 Vdc utente).
SW1 Il modulo SDM è fissato meccanicamente sul rack dell’ACC ed occupa
SW2
X103
A quindi uno spazio slot. Le alimentazioni 24 Vdc del modulo e tutti i segnali
ML1 AL1
X103
B sono connessi attraverso connettori; il bus presente sul rack non viene
ML2 AL2
WLK
ML3
X103
C utilizzato.
EN1 EN2
PSF PEC
SL1
DRO
SL2
PBA
X106
Il modulo è dotato di logica interna con doppio processore per la gestione
PSA PIO
EPR dei segnali di sicurezza e la comunicazione via CAN Bus con il modulo
RESET X124
APC. La gestione dei segnali di sicurezza è conforme alla norma
EN13849-1.
X100
X310 Al suo interno il modulo è composto da 2 schede distinte interconnesse:
X101 una di distribuzione dei 24 V e l’altra per la gestione della logica di
X119
X126 sicurezza.
X107

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

Top Bottom Front


side side side
Corso UEP - Primo giorno.fm
Pagina 16 di 61 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

5.4 Uninterruptible Power Supply (UPS)

L’Uninterruptible Power Supply (UPS) è il modulo che garantisce la necessaria


autonomia durante le procedure di spegnimento del sistema in assenza di energia
elettrica di rete.
L’UPS funziona a 24 Vdc e, grazie ad una batteria interna, fornisce il 24 Vdc all’Unità di
Controllo per il tempo necessario allo spegnimento del sistema.

Sono disponibili Variabili di sistema ad hoc per la diagnostica del modulo.

– A: morsettiera ingresso / uscita 24 Vdc (collegati al Modulo AMS-ASM32)

– B: morsettiera segnali di stato (collegati al Safety Distribution Module (SDM))

– C: led di stato

– D: led di diagnostica

– E: led di controllo connessioni

Front – F: regolazione del tempo limite di mantenimento (buffer) dell’alimentazione.


side
Deve essere impostato su 30 secondi.

Per informazioni di dettaglio, consultare la Tab. 4.11 - UPS: connessioni e dispositivi del
manuale Unità di Controllo C5G - Specifiche Tecniche.

Corso UEP - Primo giorno.fm


02/0511 Pagina 17 di 61
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

5.5 Operator Panel Devices (OPD)

L’Operator Panel Device (OPD) è il pannello frontale dell’Unità di Controllo. E’ fornito


vuoto con sagome prefustellate dove è possibile installare le opzioni per la
manutenzione.

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.

– A: connettore USB (opzionale)

– B: secondo connettore USB oppure connettore rete Ethernet (entrambi opzionali)

– C: contaore (opzionale)

Corso UEP - Primo giorno.fm


Pagina 18 di 61 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

5.6 Connector Interface Panel (CIP)

Il Connector Interface Panel (CIP) è il pannello inferiore dell’Unità di Controllo dove


sono installati tutti i connettori di interfaccia.
Sul pannello sono presenti i connettori per la connessione con il Robot, il terminale
di programmazione (solo per la versione a cavo) e l’interfacciamento con la linea.
Sono inoltre disponibili 3 pannelli ciechi da utilizzarsi per ampliamenti opzionali e fori
con tappi per installazione di connettori abbinati ad opzioni di interfacciamento con
l’esterno.
A B C D
– A: connettore X60 (motori e freni)
– B: connettore X124 (terminale di programmazione a cavo)
– C: connettore X10 (trasduttori di posizione e segnali)
– D: connettore X30 (interfacciamento con la linea)
– E: vite per connessione cavo di terra destinato al Robot
– F: fustellature per installazione pannelli per ampliamenti opzionali, di
preferenza:
• F1: pannello per installazione Connettore X10-EXT (Extension, segnali
del Posizionatore) e Connettore X60-EXT (Extension, motori e freni del
Posizionatore) oppure per Connettori X61..X64 (Segnali e potenza per
Assi aggiuntivi)
• F2: pannello per installazione Connettori X61..X64 (Segnali e potenza per
Assi aggiuntivi) oppure per connettori passacavo M25
• F3: pannello per installazione Connettori X31..X32 (Applicazioni)
– G: Connettore passacavo X90 (passaggio cavi a disposizione per l’utente)
E F1 F2 F3 H G – H: fustellature per installazione Connettore X93..X94 (Bus di campo Master).

Corso UEP - Primo giorno.fm


02/0511 Pagina 19 di 61
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

5.7 Sistema di ventilazione interno

Il sistema di ventilazione interno garantisce il necessario ricambio dell’aria quando


l’ambiente di installazione ha una temperatura non superiore a 40 °C, con punte
fino a 45 °C.
Nel caso di ambiente di installazione con temperatura costante o superiore a 45 °C
è necessario installare l’opzione condizionamento.
Le ventole sono alimentate a 24 Vdc e la velocità di rotazione è controllata
automaticamente dal sistema con un segnale PWM.
B Il collegamento è realizzato per tutte le ventole in parallelo, su connettore
X119/SDM del modulo Safety Distribution Module (SDM).
A
Sono disponibili Variabili di sistema ad hoc per la diagnostica delle ventole.

Il sistema di raffreddamento è sostituito da 1 ventola interna per ricircolo aria e da 2


o più ventole (massimo 4) installate posteriormente all’armadio per garantire lo
scambio aria forzato sul dissipatore AMS-FMP14, posto a base del modulo che
comprende unità di governo, alimentatori e moduli di potenza (par. 5.2 Unità di
governo, alimentatori e moduli di potenza a pag. 1-9).
Secondo il numero di moduli assi presenti può essere necessario installare l’opzione
C5G-AFK: Kit Ventola aggiuntiva.

– A: ventola interna ricircolo aria (E110)

– B: ventole posteriori per aria forzata su dissipatore (E111...E114, vista senza


pannello di copertura)

Corso UEP - Primo giorno.fm


Pagina 20 di 61 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

5.8 Terminale di Programmazione

Il Terminale di Programmazione per l’Unità di Controllo C5G è il modello iTP, connesso via
cavo.

Sarà presto disponibile anche il modello WiTP, connesso senza cavo.

Il Terminale di Programmazione dell’Unità di Controllo Robot C5G, consente di comandare


manualmente i movimenti del robot, di programmarlo e di eseguire e modificare i movimenti passo
passo; fornisce funzioni di comando e monitoraggio di sistema, oltre a comprendere i dispositivi di
sicurezza (dispositivo di abilitazione e pulsante di emergenza). E’ di facile impiego e adatto all’utilizzo
sia destro che mancino.
Esso dispone di:
– Display grafico a colori TFT da 6.4”; risoluzione 640x480 pixel
– Selettore modale
– Tastiera comprendente tasti di navigazione, tasti funzione e tasti dedicati alla movimentazione del
robot (vd.par. 5.3.1 Tasti a pag. 5-43)
– Pulsanti di accensione e spegnimento dei motori, pulsanti di abilitazione e di arresto (vd.par.
Pulsanti a pag. 5-51)
– Porta USB da utilizzare come dispositivo esterno di memorizzazione.

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.

Corso UEP - Primo giorno.fm


02/0511 Pagina 21 di 61
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

6 Funzioni principali del Terminale di Programmazione


Il paragrafi seguenti forniscono informazioni sull’utilizzazione del Terminale di Programmazione iTP.

6.1 Tasti
La tastiera del Terminale di Programmazione è organizzata nel seguente modo:

Tasti blu - Sono suddivisi in:

– 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.

Corso UEP - Primo giorno.fm


Pagina 22 di 61 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

Tasti neri - Questi tasti sono dedicati al movimento del robot.

– Tasti relativi al movimento:

• tasto BACK - provoca il movimento all’indietro, fino alla posizione di partenza del
movimento corrente, durante la verifica passo-passo di un programma.

• tasto COORD - seleziona il sistema di riferimento:


JOINT - modalità giunti. I tasti risultano associati a ciascuno degli assi dell’arm
selezionato; gli assi ausiliari, eventualmente presenti, seguono quelli dell’arm. 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.
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 inviariata la
posizione del TCP.
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 inviariata 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’utensile (definito dalla variabile $TOOL); i successivi tre tasti consentono rotazioni
dell’attrezzo intorno agli stessi assi mantenendo inviariata la posizione del TCP (punto di lavoro dell’utensile).
WR-BASE, WR-TOOL, WR-UFRAME: se premuto contemporaneamente al tasto SHIFT, il tasto COORD consente il passaggio tra i modi di movimento
cartesiani (BASE, TOOL, USER) e Wrist JNT (X,Y,Z e giunti assi 4,5,6).Per ulteriori informazioni fare riferimento al capitolo MOVIMENTO DEL ROBOT
NELLO STATO PROGRAMMAZIONE del Manuale del Movimento.

• 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).

Corso UEP - Primo giorno.fm


02/0511 Pagina 23 di 61
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

• 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.

Corso UEP - Primo giorno.fm


Pagina 24 di 61 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

– 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.

Ricordarsi che qualsiasi movimento eseguito con l’uso del JPAD è


sempre secondo il riferimento utente ($UFRAME), ad esclusione del movimento
del Portale a 3 assi lineari che è sempre un movimento in giunti.

Tasti di altri colori

Il layout di questi tasti è il seguente:


– RESET (bianco) - la pressione di questo tasto permette il reset dello stato di ALLARME;
nel caso in cui la causa scatenante dell’allarme sia a livello delle sicurezze (es.: fungo del
TP, fungo esterno, barriere di una linea automatica, etc.), l’allarme non viene cancellato
fino alla rimozione della causa stessa.
– 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.
– HOLD (giallo) - la pressione di questo tasto arresta tutti i programmi HOLDable ed il
movimento per tutti gli Arm. Alla successiva pressione, lo stato di HOLD viene rimosso.

Corso UEP - Primo giorno.fm


02/0511 Pagina 25 di 61
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

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 inserire il carattere ‘spazio’, è sufficiente selezionare una


qualsiasi delle softkey vuote (cioè non corrispondenti ad alcun
simbolo): le ultime 6 nella Finestra 1 e le ultime 4, rispettivamente,
nella Finestra 2 e nella 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.

Corso UEP - Primo giorno.fm


Pagina 26 di 61 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

Tasti per il riavvio del Terminale di Programmazione

Nel caso in cui il Terminale di Programmazione risulti bloccato in una condizione


dalla quale non sia possibile riabilitarsi autonomamente, o sia comunque necessario
riavviarlo, per altri motivi, premere contemporaneamente i quattro pulsanti AUX A+,
AUX A-, AUX B+ e AUX B-

6.2 Selettore modale


Consente di selezionare il modo di comando dell’Unità di Controllo. Le posizioni disponibili sono le seguenti:

– 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

I pulsanti si suddividono in:

– 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).

Corso UEP - Primo giorno.fm


02/0511 Pagina 27 di 61
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

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).

6.5 Porta USB

Nella parte superiore del Terminale di Programmazione è


disponibile una porta USB: nelle figure a lato si mostra la porta
con coperchio e senza coperchio.

E’ consigliato l’uso della porta USB per collegare un


dispositivo di memorizzazione di tipo Disk-on-Key.

Sono solo supportate chiavette USB con


partizione singola FAT16 o FAT32. Non è previsto
l’utilizzo di dispositivi multi-partizione.

Corso UEP - Primo giorno.fm


Pagina 28 di 61 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

7 Generalità sull’Interfaccia Utente del Terminale di Programmazione

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.

Corso UEP - Primo giorno.fm


02/0511 Pagina 29 di 61
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

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 Primo Campo indica lo stato del sistema: Progr, Local, Remote.

– 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 significato di HOLD e ALARM è indipendente dallo stato del selettore:


HOLD - Indica che il pulsante di HOLD è premuto e quindi viene arrestata l’esecuzione dei programmi holdable ed il movimento di tutti gli arm; viene
visualizzato su sfondo GIALLO.
ALARM - Indica che il sistema è in allarme (N.B.: i warnings non modificano lo stato del sistema) e viene visualizzato su sfondo ROSSO

– 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 (‘-’).

– Il Quinto Campo visualizza la modalità corrente di gestione delle coordinate:


• Modalità TPM Jog: Base, Tool, Joint, Uframe
• Modalità WRIST: Wr-Base, Wr-Tool, Wr-Uframe.

Corso UEP - Primo giorno.fm


Pagina 30 di 61 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

– 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

Lo sfondo di questo campo può essere:


• verde - arm correttamente configurato e pronto e Dispositivo di Abilitazione ok
• giallo - Dispositivo di Abilitazione ok ed arm simulato o disabilitato
• rosso - errore sul Dispositivo di Abilitazione o arm non calibrato o necessario effettuare l’operazione di turn set

– Il Settimo Campo contiene due sotto-campi:


• modalità di funzionamento della Tastierina alfanumerica: abc (alfabetico minuscolo), ABC (alfabetico maiuscolo), 123 (numerico), 123* (numerico fisso)
• stato del tasto SHIFT: ‘S’ indica che il tasto SHIFT è premuto.

Corso UEP - Primo giorno.fm


02/0511 Pagina 31 di 61
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

9 Linea dei messaggi

Il testo visualizzato contiene le seguenti informazioni:


– codice della segnalazione, a 5 cifre, mediante il quale ogni messaggio è identificato in modo univoco
– livello di severità dell’errore/allarme
– stringa di descrizione del messaggio di errore/allarme.
Riporta l’ultimo messaggio di allarme/errore intervenuto.

Lo sfondo può essere:


– verde chiaro: significa che non c’è alcun allarme/errore in corso;
– verde intenso: significa che un messaggio di tipo INFORMATIONAL è attivo. Il sistema non è in
stato di ALARM.
– blu: messaggio di tipo WARNING.
– arancione-giallo: questo errore viene generato dal processo applicativo. Il sistema non è in stato
ALARM; il messaggio scompare solo quando viene resettato. Dalla Alarm Page, usare il tasto
‘freccia giù’ per selezionare il messaggio e quindi premere Conferma (F1) nel Menu Centrale
– grigio: la scritta è nera. Questo messaggio è di tipo Latched e richiede quindi un consenso
esplicito da parte dell’utente. Per fare ciò, dalla Alarm Page, sottopagina Latched, usare il tasto
‘freccia giù’ per selezionare il messaggio, se necessario, rimuovere la causa dell’allarme, e poi
premere Conferma (F1).
– rosso: questo messaggio è di tipo ERROR. Lo stato del sistema è ALARM.
– viola: questo messaggio è di tipo FATAL. Il sistema è in FATAL ERROR.

Corso UEP - Primo giorno.fm


Pagina 32 di 61 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

10 Menu di sinistra (Left Menu)

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.

Criterio generale di utilizzo del Left Menu:

– 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.

Corso UEP - Primo giorno.fm


02/0511 Pagina 33 di 61
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

11 Menu di destra (Right Menu)

Local Remote Progr Descrizione

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.

Corso UEP - Primo giorno.fm


Pagina 34 di 61 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

12 Menu centrale (Bottom Menu)


Fig. 1 - Esempio - Menu centrale della Home Page

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).

Corso UEP - Primo giorno.fm


02/0511 Pagina 35 di 61
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

13 Area delle Pagine

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.

Corso UEP - Primo giorno.fm


Pagina 36 di 61 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

14 Accensione e spegnimento del Sistema


– Procedura di accensione
– Procedura di spegnimento

14.1 Procedura di accensione


a. Chiudere la porta del cabinet.

b. Verificare che siano collegati:


– il cavo di alimentazione
– i cavi X10 e X60 verso il robot
– il cavo X30 delle sicurezze.

Attendere almeno 30 secondi dal momento di un eventuale precedente spegnimento, alla riaccensione dell’Unità di Controllo.

c. Inserire l’alimentazione elettrica girando l’interruttore generale in posizione ON

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.

Corso UEP - Primo giorno.fm


02/0511 Pagina 37 di 61
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

14.2 Procedura di spegnimento

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.

La procedura completa è la seguente:

a. mettere il sistema in DRIVE OFF

b. lanciare il comando di Shutdown Software (da TP o da PC o da programma PDL2)

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 Accesso al Controllo (LOGIN/LOGOUT)


Per accedere all’Unità di Controllo C5G, indipendentemente dal dispositivo da cui si vuole colloquiare con il Controllore (Terminale di Programmazione o
programma WinC5G da PC), occorre effettuare un Login, altrimenti gli unici comandi disponibili sono quelli di visualizzazione.
Per terminare l’accesso all’Unità di Controllo, impedendo quindi che personale non autorizzato possa accedervi, occorre effettuare un Logout.

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.

Corso UEP - Primo giorno.fm


Pagina 38 di 61 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

– 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.

Corso UEP - Primo giorno.fm


02/0511 Pagina 39 di 61
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

16 Esecuzione di operazioni che necessitano il movimento del Robot

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.

Corso UEP - Primo giorno.fm


Pagina 40 di 61 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

17 Calibrazione e Turn-set
– Terminologia utilizzata
– Concetti di base
– Procedure

17.1 Terminologia utilizzata


– TRASDUTTORE: Sono supportati due tipi di trasduttori di posizione: encoder e resolver.
– NUMERO DI GIRI DEL TRASDUTTORE: durante il movimento dell’asse robot, il trasduttore può compiere più giri; il numero di giro viene inizializzato
tramite l’operazione di calibrazione o quella di turn-set.
– QUOTA DI UN ASSE: la quota di un asse contiene tutte le informazioni necessarie per determinare l’esatta posizione di un asse nello spazio;
– RICOSTRUZIONE DELLA QUOTA: quando l’Unità di Controllo viene accesa, il software di sistema provvede, tra le varie inizializzazioni, a ricostruire
la quota degli assi robot.
– POSIZIONE DI CALIBRAZIONE: è una posizione prestabilita e verificata mediante appositi attrezzi (comparatori, supporti, attrezzatura di
calibrazione). La posizione di calibrazione è una posizione di riferimento nello spazio di lavoro del robot che serve a inizializzare la quota di ogni asse.
– COSTANTI DI CALIBRAZIONE: la costante di calibrazione è la differenza fra il dato letto dal trasduttore e la posizione teorica che lo stesso
trasduttore dovrebbe assumere in quella particolare posizione dell’asse del robot. Infatti, siccome il posizionamento del trasduttore rispetto al giunto
del robot è casuale (in quanto dipende da come è avvenuto il montaggio del trasduttore stesso), occorre correggere la posizione reale del trasduttore
in funzione della posizione teorica richiesta dall’asse robot.
– FILE ASCII DI CALIBRAZIONE: il file di calibrazione UD:\SYS\<$SYS_ID>_CAL<num_arm>.PDL (dove $SYS_ID indica l’identificativo di sistema,
come ad esempio NJ4_001) è un file ASCII con sintassi di un file PDL2 nel quale vengono memorizzate le costanti di calibrazione ($CAL_DATA[n])
ed altri dati tipici del robot.
– NVRAM: è la memoria utilizzata per salvare le informazioni caratteristiche del robot associato all’Unità di Controllo, le costanti di calibrazione e la
lunghezza degli assi. Si trova sulla scheda CPU del Controllore.

Corso UEP - Primo giorno.fm


02/0511 Pagina 41 di 61
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

17.2 Concetti di base

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.1.1 Calibrazione di sistema


Permette di inizializzare le quote degli assi robot, nella posizione di calibrazione di sistema (posizione di calibrazione predefinita da COMAU Robotics &
Final Assembly - $CAL_SYS). Per determinare la corretta posizione di calibrazione, devono essere utilizzati specifici attrezzi (comparatori, supporti, etc.)
atti a determinare con la necessaria precisione la posizione di ogni singolo asse.

17.2.1.2 Calibrazione utente


La calibrazione utente consente di definire una nuova posizione di calibrazione diversa da quella di sistema. Questo tipo di calibrazione (detta
comunemente calibrazione fuori ingombro) può essere impiegato nel caso in cui la posizione di sistema sia difficilmente raggiungibile una volta che il robot
è inserito nell’applicazione finale, e quindi sia necessario definire una diversa posizione di calibrazione, detta posizione di calibrazione utente
($CAL_USER). Sarà cura dell’utente realizzare strumenti idonei a verificare il corretto posizionamento del robot in eventuali ricalibrazioni utente, in
particolare per quanto riguarda la disposizione delle tacche di riferimento.

Corso UEP - Primo giorno.fm


Pagina 42 di 61 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

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.2.3 Posizione di calibrazione

Un esempio di posizione di calibrazione del robot SMART5 SiX, definita dall’allineamento di


tutte le tacche assi, è mostrata nella figura qui a fianco :

1. Indice di calibrazione asse 1


2. Indice di calibrazione asse 2
3. Indice di calibrazione asse 3
4. Indice di calibrazione asse 4
5. Indice di calibrazione asse 5
6. Indice di calibrazione asse 6

Posizione giunti in calibrazione ($CAL_SYS)


Asse 1 Asse 2 Asse 3 Asse 4 Asse 5 Asse 6
0° 0° -90° 0° +90° 0°

Corso UEP - Primo giorno.fm


02/0511 Pagina 43 di 61
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

17.3 Procedure
– Procedura di Turn-set
– Procedura di Calibrazione.

17.3.1 Procedura di Turn-set

Questa procedura deve essere eseguita nel caso in cui l’Unità di


Controllo conosca le costanti di calibrazione, ma abbia perso
l’informazione riguardante il numero di giri del trasduttore ad esempio
a causa di uno scollegamento elettrico dei motori.

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 (*).

c. Con robot posizionato correttamente impostare il comando CAT (Configure Arm


Turn-set). Se si lavora su TP, utilizzare la sottopagina Calib della Setup page - Arm.

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).

Corso UEP - Primo giorno.fm


Pagina 44 di 61 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

17.3.2 Procedura di Calibrazione

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.

Il grado di precisione conseguito durante lo svolgimento della


calibrazione influisce sulla precisione finale di posizionamento del
robot.
Qualora la calibrazione venga eseguita con scarsa precisione, il Tool
Center Point e l’attrezzatura installata, possono raggiungere i punti
tecnologici del ciclo di lavoro con un livello di precisione inferiore
rispetto a quello ottenuto con la precedente calibrazione.

Il comando di calibrazione Calibra (CAC) fornisce le seguenti possibili opzioni:

– Learn (CAC/L) - Apprende la posizione attuale come la posizione di calibrazione


utente ($CAL_USER). La procedura di apprendimento viene eseguita su tutti gli
assi selezionati. Questo comando NON effettua salvataggi.
– NoSave (CAC/N) - NON viene effettuato alcun salvataggio automatico del file
.C5G, del file ASCII di calibrazione <$SYS_ID>_CAL<num_arm>.PDL e dei dati
di calibrazione nella memoria NVRAM.
– User (CAC/U) - Utilizza come posizione di calibrazione quella utente appresa o
assegnata in precedenza ($CAL_USER).
– User NoSave (CAC/UN) - E’ una combinazione delle precedenti opzioni User
(CAC/U) e NoSave (CAC/N).

Corso UEP - Primo giorno.fm


02/0511 Pagina 45 di 61
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

17.3.2.1 Procedura di calibrazione mediante tacche di riferimento


La calibrazione mediante tacche consente una calibrazione veloce ma impropria e con limitata precisione che potrebbe non ripristinare la precisione di
movimentazione del robot richiesta nell’applicazione specifica.
La calibrazione mediante tacche consiste nel portare gli assi del robot sulle tacche di calibrazione allineandole con precisione visiva senza utilizzare
attrezzi specifici ed eseguire i comandi di calibrazione asse per asse e procedere alla calibrazione di tutti gli assi come viene spiegato nel seguente
par. 17.3.2.2 Procedura di calibrazione di sistema mediante attrezzi a pag. 1-46.

17.3.2.2 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

Corso UEP - Primo giorno.fm


Pagina 46 di 61 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

Procedura

a. Attivare sull’Unità di Controllo il modo di funzionamento programmazione (St: PROGR).

b. Rimuovere il Terminale di Programmazione dall’apposita sede.

c. Accendere gli azionamenti premendo il Dispositivo di Abilitazione del TP (Enabling Device).

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.1 Selezionare sulla Setup Page il comando di calibrazione Calibra (CAC).

h.2 Selezionare il braccio (arm) interessato alla calibrazione e confermare con ENTER.

h.3 Selezionare l’asse 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).

Corso UEP - Primo giorno.fm


02/0511 Pagina 47 di 61
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

Procedure di calibrazione dei singoli assi.

– Calibrazione Asse 1

– Calibrazione Asse 2

– Calibrazione Asse 3

– Calibrazione Asse 4

– Calibrazione Asse 5

– Calibrazione Asse 6

Corso UEP - Primo giorno.fm


Pagina 48 di 61 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

Calibrazione Asse 1

a. Rimozione delle protezioni dall’ indice di riferimento (B) e dalla sede (A) per il fissaggio dell’attrezzo
portacomparatore.

b. Allineamento visivo delle tacche (C) per calibrazione

c. Montaggio dell’attrezzo portacomparatore (D).

d. Ricerca sul comparatore del punto di minimo corrispondente al punto di calibrazione.

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.

g. Selezionare il braccio (arm) interessato alla calibrazione e confermare con ENTER.

h. Selezionare l’asse interessato alla calibrazione e confermare con ENTER.

i. Rimuovere l’attrezzatura e riposizionare le protezioni sulle tacche per calibrazione.

Corso UEP - Primo giorno.fm


02/0511 Pagina 49 di 61
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

Calibrazione Asse 2

a. Rimozione delle protezioni dalla tacca di riferimento (B) per calibrazione e dalla sede (A) per il fissaggio
dell’attrezzo portacomparatore.

b. Allineamento visivo delle tacche di riferimento (C) per calibrazione visiva.

c. Montaggio dell’attrezzo portacomparatore (D).

d. Ricerca del punto di minimo sul comparatore corrispondente al punto di calibrazione.

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.

g. Selezionare il braccio (arm) interessato alla calibrazione e confermare con ENTER.

h. Selezionare l’asse interessato alla calibrazione e confermare con ENTER.

i. Rimuovere l’attrezzatura e riposizionare le protezioni sulle tacche per calibrazione.

Corso UEP - Primo giorno.fm


Pagina 50 di 61 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

Calibrazione Asse 3

a. Rimozione delle protezioni dall’indice di riferimento (B) per calibrazione e dalla sede (A) per il fissaggio
dell’attrezzo portacomparatore.

b. Allineamento visivo delle tacche (C) di riferimento per la calibrazione visiva.

c. Montaggio dell’attrezzo (D) portacomparatore.

d. Montaggio del comparatore sull’attrezzo.

e. Ricerca del punto di minimo sul comparatore corrispondente al punto di calibrazione.

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.

h. Selezionare il braccio (arm) interessato alla calibrazione e confermare con ENTER.

i. Selezionare l’asse interessato alla calibrazione e confermare con ENTER.

j. Rimuovere l’attrezzatura e riposizionare le protezioni sulle tacche per calibrazione.

Corso UEP - Primo giorno.fm


02/0511 Pagina 51 di 61
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

Calibrazione Asse 4

a. Rimozione della protezione dall’indice di riferimento (A) per calibrazione.

b. Allineamento visivo delle tacche (B) di riferimento per la calibrazione visiva.

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.

d. Controllare la perfetta planarità del tassello con la superficie di appoggio.

Se necessario, per il montaggio del supporto utilizzare un martello in plastica

Corso UEP - Primo giorno.fm


Pagina 52 di 61 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

e. Montaggio del supporto per l’attrezzo portacomparatore (D) sul piano predisposto dell’avambraccio.

f. Montaggio del comparatore sull’attrezzo.

g. Ricerca del punto di minimo sul comparatore corrispondente al punto di calibrazione.


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.

i. Selezionare il braccio (arm) interessato alla calibrazione e confermare con ENTER.

j. Selezionare l’asse interessato alla calibrazione e confermare con ENTER.

k. Rimuovere l’attrezzo porta - comparatore utilizzando un estrattore a vite e riposizionare le protezioni


sulle tacche per calibrazione

Corso UEP - Primo giorno.fm


02/0511 Pagina 53 di 61
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

Calibrazione Asse 5

a. Rimozione della protezione dall’indice di riferimento (A) per calibrazione.

b. Allineamento visivo delle tacche (B) di riferimento per calibrazione

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.

d. Controllare la perfetta planarità del tassello con la superficie di appoggio.

Se necessario, per il montaggio del supporto utilizzare un martello in plastica.

e. Montaggio dell’attrezzo (D) portacomparatore.

Corso UEP - Primo giorno.fm


Pagina 54 di 61 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

f. Montaggio del comparatore sull’attrezzo.

g. Ricerca del punto di minimo sul comparatore corrispondente al punto di calibrazione.

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.

i. Selezionare il braccio (arm) interessato alla calibrazione e confermare con ENTER.

j. Selezionare l’asse interessato alla calibrazione e confermare con ENTER.

k. Rimuovere l’attrezzo porta comparatore utilizzando un estrattore a vite.

l. Riposizionare le protezioni degli indici per calibrazione rimosse in precedenza.

Corso UEP - Primo giorno.fm


02/0511 Pagina 55 di 61
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

Calibrazione Asse 6

a. Rimozione della protezione dall’indice di riferimento (A) per la calibrazione.

b. Allineamento visivo delle tacche (B) di riferimento per calibrazione

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.

d. Controllare la perfetta planarità con la superficie di appoggio

Corso UEP - Primo giorno.fm


Pagina 56 di 61 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

e. Montaggio dell’ attrezzo (E) per calibrazione.

f. Montaggio del comparatore sull’attrezzo.

g. Ricerca del punto di minimo sul comparatore corrispondente al punto di calibrazione.

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.

i. Selezionare il braccio (arm) interessato alla calibrazione e confermare con ENTER.

j. Selezionare l’asse interessato alla calibrazione e confermare con ENTER.

k. Rimuovere il supporto attrezzo portacomparatore utilizzando un estrattore a vite.

l. Riposizionare le protezioni degli indici per calibrazione rimosse in precedenza.

Corso UEP - Primo giorno.fm


02/0511 Pagina 57 di 61
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

18 Movimentazione del robot nello stato Programmazione

18.1 Terne di riferimento

Sistema di riferimento cartesiano


Un sistema di riferimento Cartesiano, o terna di riferimento, è un concetto
geometrico che consente di rappresentare un oggetto nello spazio. Ad esempio,
l’angolo di un tavolo può essere scelto come sistema di riferimento per
rappresentare il tavolo stesso. Lo stesso può essere fatto con un libro
appoggiato sul tavolo così come per una pinza di saldatura montata sulla flangia
del robot.

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.

Corso UEP - Primo giorno.fm


Pagina 58 di 61 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

Terne di riferimento del sistema


Il Controllore ha tre variabili di sistema ($BASE, $TOOL e $UFRAME) che consentono di descrivere le principali trasformazioni di coordinate. Prima di passare alla
spiegazione di queste trasformazioni, occorre definire alcune terne di riferimento.

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.

Corso UEP - Primo giorno.fm


02/0511 Pagina 59 di 61
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

18.2 Movimento manuale

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.

Prima di iniziare il movimento è opportuno scegliere la modalità di spostamento e la velocità.

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.

Corso UEP - Primo giorno.fm


Pagina 60 di 61 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Primo giorno

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.

Corso UEP - Primo giorno.fm


02/0511 Pagina 61 di 61
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno


– Definizione di TOOL e UFRAME

1 - Calcolo automatico di TOOL e FRAME


1.1 - Calcolo Automatico TOOL
1.2 - Calcolo Automatico UFRAME

– Controllo del movimento

2 - Descrizione dei vari tipi di movimento


2.1 - Traiettoria
3 - Dinamica del movimento
3.1 - Controllo della Velocità
3.2 - Accelerazione e Decelerazione
3.3 - Entrata in soglia (precisione di posizionamento)
3.4 - Movimento Continuo
– Creazione dei Programmi

4 - Introduzione all’ambiente di programmazione IDE


4.1 - Programmazione in IDE (su TP) di programmi di movimento
4.2 - Esecuzione del programma in modo automatico

– Generalità sui Programmi

5 - Programmi PDL2 - Concetti di base


5.1 - Struttura di un Programma PDL2
5.2 - Attributo HOLD/NOHOLD
6 - Esempio di struttura
7 - Ciclo di vita di un programma PDL2
7.1 - Creazione e sviluppo di un programma
7.2 - Salvataggio del programma su dispositivi di memorizzazione esterni

Corso UEP - Secondo giorno.fm


Pagina 1 di 40 01/0311
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

1 Calcolo automatico di TOOL e FRAME


Per ottenere la precisione desiderata nei movimenti nel mondo cartesiano e per utilizzare un ben preciso sistema di riferimento rispetto al quale
apprendere le posizioni di lavoro, è necessario dichiarare correttamente le dimensioni del TOOL e definire lo User Frame (UFRAME) che si desidera
utilizzare.
Questi calcoli possono essere eseguiti tramite un programma chiamato TO_SET, attivabile su Terminale di Programmazione dalla sottopagina ToolFrame
della Setup page.

La videata principale di TO_SET è mostrata nella figura qui a lato.

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.

Corso UEP - Secondo giorno.fm


01/0311 Pagina 2 di 40
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

1.1 Calcolo Automatico TOOL

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.

Esistono le seguenti procedure:


– Calcolo del tool con il metodo standard - Procedura totale
– Verifica del Tool con il metodo standard - Procedura parziale
– Calcolo del Tool con il "metodo 4 punti" - Procedura totale
– Verifica del Tool Locale con il "metodo 4 punti".

Corso UEP - Secondo giorno.fm


Pagina 3 di 40 01/0311
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

1.1.1 Calcolo del tool con il metodo standard - Procedura totale

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.

a. Premere F1 per eseguire la procedura totale standard (vedere figura a sinistra).

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.

d. Premere F1 quando il robot è sul punto, per acquisire la posizione.

Continuare con i passi della Verifica del Tool con il metodo standard - Procedura parziale.

Corso UEP - Secondo giorno.fm


01/0311 Pagina 4 di 40
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

1.1.2 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.

b. Premere F1 quando il robot è sul punto, per acquisire la posizione.

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).

c.2 Premere F3 per ripetere la procedura.

d. Premere F2 per salvare i valori di spiazzamento calcolati.

e. Premere F1 per proseguire nella procedura e calcolare anche le rotazioni.

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.

g. Orientare la Z-TOOL secondo la direzione scelta.

Corso UEP - Secondo giorno.fm


Pagina 5 di 40 01/0311
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

h. Premere F1 al termine del movimento.

i. Verificare se il nuovo orientamento è quello effettivamente voluto: se NON è quello voluto, premere F3 per
ripetere la procedura.

j. Premere F2 per salvare i valori calcolati (spiazzamento e rotazione).

k. Premere F1 per continuare 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.

m. Orientare la X-TOOL secondo la direzione scelta.

n. Premere F1 al termine del movimento.

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.

Corso UEP - Secondo giorno.fm


01/0311 Pagina 6 di 40
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

1.1.3 Calcolo del Tool con il "metodo 4 punti" - Procedura totale

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

I passi della procedura sono descritti nel seguito:

a. Portare il TCP sul punto di riferimento. Vd. figura a sinistra in basso.

b. Premere F1 al termine del movimento, per acquisire il punto 1.


c. Riportare il TCP sul punto di riferimento con l'orientamento sufficientemente variato rispetto al
precedente.

d. Premere F1 al termine del movimento, per acquisire il punto 2.

e. Riportare il TCP sul punto con l’orientamento sufficientemente variato rispetto ai precedenti.

f. Premere F1 al termine del movimento, per acquisire il punto 3.

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.

Corso UEP - Secondo giorno.fm


Pagina 7 di 40 01/0311
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

1.1.4 Verifica del Tool Locale con il "metodo 4 punti"

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.

b. Al termine del movimento premere F1 per acquisire la posizione.

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.

Corso UEP - Secondo giorno.fm


01/0311 Pagina 8 di 40
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

1.2 Calcolo Automatico UFRAME


In questo ambiente è possibile definire un nuovo sistema di riferimento rispetto al quale apprendere le posizioni di lavoro. La precisione del calcolo è la
stessa del robot, usato come strumento di misura.
Per l’esecuzione di questa procedura è necessario avere:

– 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:

a. verificare i valori della $TOOL attuale (vedere figura a destra).


I valori devono riferirsi all'attrezzo montato sulla flangia e che verrà utilizzato per il calcolo del FRAME.
I valori vengono visualizzati dal programma ed è permessa la modifica se necessario. Per cambiare
tali valori premere F2.

b. Premere F1 per continuare la procedura.

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.

d. Premere F1 quando il robot è sul punto, per acquisire la posizione.

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.

f. Premere F1 quando il robot è sul punto, per acquisire la posizione.

Corso UEP - Secondo giorno.fm


Pagina 9 di 40 01/0311
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

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.

h. Premere F1 quando il robot è sul punto, per acquisire la posizione.

i. Il programma visualizza i valori calcolati di $UFRAME (spiazzamenti XYZ e orientamenti AER). In


questo momento è possibile muovere in modalità UFRAME (selezionare da Motion Page, menu
COORD) per verificare che la nuova origine sia quella voluta. Se così non fosse, verificare:
• calibrazione del robot;
• valori della $TOOL (devono riferirsi all'attrezzo montato sulla flangia);
• 3 punti di riferimento (verificare di avere rispettato la sequenza richiesta da TO_SET)
apportare le correzioni e premere F1 per rieseguire la procedura (passo a.).

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, ).

Corso UEP - Secondo giorno.fm


01/0311 Pagina 10 di 40
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

2 Descrizione dei vari tipi di movimento

Come già spiegato precedentemente, il sistema prevede le seguenti terne di riferimento:

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

Un movimento inizia con l’accelerazione del braccio lungo una traiettoria


determinata, continua con un movimento a velocità costante e termina
con una decelerazione, fino ad arrivare alla posizione finale (vd. figura
accanto: movimento da pnt0001p a ont0002p).

Un movimento è caratterizzato da:

– Traiettoria
– Velocità (Controllo della Velocità)
– Accelerazione e Decelerazione
– Arresto del movimento (Entrata in soglia (precisione di posizionamento))
– Movimento Continuo.

Corso UEP - Secondo giorno.fm


Pagina 11 di 40 01/0311
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

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.

Corso UEP - Secondo giorno.fm


01/0311 Pagina 12 di 40
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

2.1.1 Evoluzione dell’orientamento durante movimenti Lineari o Circolari

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:

– RS_WORLD (due angoli rispetto al riferimento mondo)


L’evoluzione dell’assetto viene effettuata interpolando in modo lineare i valori di due angoli di rotazione: scivolamento e avvitamento dell’utensile. Lo
scivolamento dell’utensile (TOOL) è l’angolo attorno alla perpendicolare comune fra il vettore di avvicinamento iniziale e il vettore di avvicinamento finale.
L’avvitamento dell’utensile è rappresentato dall’angolo attorno al vettore di avvicinamento dalla posizione iniziale a quella finale. L’evoluzione dell’assetto è
riferita al sistema di riferimento utente indipendentemente dalla traiettoria. RS_WORLD è il valore di default per $ORNT_TYPE.

– RS_TRAJ (due angoli rispetto alla traiettoria)


L’interpolazione dell’orientamento è eseguita con lo stesso criterio della modalità RS_WORLD ma gli angoli di rotazione ed avvitamento sono riferiti alla
traiettoria. Questo è particolarmente utile durante le traiettorie circolari con angolo al centro maggiore di 180 gradi quando si vuole mantenere un assetto
costante rispetto alla traiettoria. Durante i movimenti lineari l’evoluzione dell’assetto è la stessa di RS_WORLD.

– EUL_WORLD (a tre angoli)


L’evoluzione dell’assetto viene effettuata interpolando in modo lineare i valori dei tre angoli di rotazione di Eulero: E1, E2 e E3.

– WRIST_JNT (giunti polso)


Per l’evoluzione dell’assetto, si utilizza in questo caso una combinazione fra l’interpolazione giunti e l’interpolazione lineare. Ciò consente lo spostamento
dell’utensile lungo una linea retta, mentre i giunti del polso sono interpolati in coordinate giunti. Gli orientamenti iniziale e finale vengono utilizzati come posizioni
apprese, ma a causa dell’interpolazione giunti, l’evoluzione durante il movimento, sebbene ripetibile, non è prevedibile. Ad esempio, utilizzando EUL_WORLD
oppure RS_WORLD, se l’orientamento iniziale e quello finale sono uguali, l’orientamento dell’utensile non subirà modifiche durante il movimento. Usando
WRIST_JNT, invece, ciò non è sempre garantito. Tuttavia, grazie a questa modalità di evoluzione dell’assetto è possibile ottenere un movimento più regolare
in prossimità delle singolarità del polso.

Corso UEP - Secondo giorno.fm


Pagina 13 di 40 01/0311
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

3 Dinamica del movimento

3.1 Controllo della Velocità


La velocità massima o costante del movimento viene controllata mediante variabili predefinite alcune delle quali sono comuni per l’intero sistema, altre invece sono
specifiche del programma, altre ancora sono specifiche dell’arm. Vengono usati due tipi di controllo della velocità:

– 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à.

3.1.1 Override sulla 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%.

Corso UEP - Secondo giorno.fm


01/0311 Pagina 14 di 40
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

$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:

$ARM_SPD_OVR := 50 -- assegnazione modale: velocità attuale 50%

MOVE LINEAR TO pnt0001p,


WITH $ARM_SPD_OVR=10 -- assegnazione nodale: velocità temporanea 10%
ENDMOVE
-- velocità attuale 50%

Corso UEP - Secondo giorno.fm


Pagina 15 di 40 01/0311
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

3.1.2 Controllo della Velocità Cartesiana

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.

3.1.2.1 Opzioni del controllo della velocità cartesiana

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.

3.1.3 Controllo della Velocità Giunti

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%.

Corso UEP - Secondo giorno.fm


01/0311 Pagina 16 di 40
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

3.2 Accelerazione e Decelerazione

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.

Corso UEP - Secondo giorno.fm


Pagina 17 di 40 01/0311
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

3.3 Entrata in soglia (precisione di posizionamento)


Determina la precisione di posizionamento del robot sul punto finale di un movimento NON in fly, prima che possa
essere effettuata l’operazione successiva.
Viene utilizzata la variabile predefinita $TERM_TYPE per la definizione del momento in cui il movimento deve essere
considerato finito; tale definizione si basa sulla distanza a cui deve trovarsi l’arm dal punto di destinazione.
Alla variabile $TERM_TYPE è possibile assegnare alcune costanti predefinite COARSE, FINE, JNT_COARSE,
JNT_FINE o NOSETTLE. Sintassi:
$TERM_TYPE := <costante_predefinita>

– 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).

Corso UEP - Secondo giorno.fm


01/0311 Pagina 18 di 40
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

3.4 Movimento Continuo

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

Corso UEP - Secondo giorno.fm


Pagina 19 di 40 01/0311
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

4 Introduzione all’ambiente di programmazione IDE

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.

L’ambiente di sviluppo principale è:


– ambiente di IDE - ambiente di sviluppo che deve essere usato per sviluppare programmi di movimento sul Terminale di Programmazione.

L’ambiente IDE permette di editare un programma attivo, con attributo HOLD


(default).

Se il programma desiderato non esiste ancora, occorre utilizzare il comando Prog (F1)
- Crea (selezione 2), dalla Prog Page del Terminale di Programmazione.

Prog (F1) - Comando Crea


Permette di creare un nuovo programma da editare in ambiente IDE. Si possono
presentare le seguenti situazioni:
– il programma richiesto esiste già in memoria di esecuzione: il comando non
produce alcun effetto
– il programma richiesto esiste solo sotto forma di file in UD:. Il comando lo carica in
memoria di esecuzione (ML).
– il programma richiesto non esiste. Il comando crea un file .COD e lo carica in
memoria.
Per aprire in IDE il programma creato, utilizzare il comando Prog (F1) - Apri IDE
(selezione 1), oppure selezionare il programma appena creato e premere ENTER.

Corso UEP - Secondo giorno.fm


01/0311 Pagina 20 di 40
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

4.1 Programmazione in IDE (su TP) di programmi di movimento


I passi per lo sviluppo di un Programma in ambiente IDE, sono i seguenti:

a. Editing del programma

b. Apprendimento delle posizioni (inserimento di una istruzione di movimento)

c. Test dell’esecuzione del programma

d. Salvataggio del programma e chiusura di IDE

4.1.1 Editing del programma


Vediamo ora come procedere per eseguire le principali funzioni dell’editing di un programma: esse sono elencate di seguito.
– Selezionare una o più linee di testo, cancellare/ripristinare, copiare
– Spostare il Cursore di Edit
– Inserire una nuova istruzione
– Commentare/scommentare una linea di programma
– Modificare un’istruzione già esistente
– Inserire/visualizzare/cancellare variabili
– Importare da altri programmi
– Visualizzare un programma a pagine.

Corso UEP - Secondo giorno.fm


Pagina 21 di 40 01/0311
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

4.1.1.1 Selezionare una o più linee di testo, cancellare/ripristinare, copiare

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.

La selezione di più righe di programma è anche possibile mediante la combinazione SHIFT+cursore.

Corso UEP - Secondo giorno.fm


01/0311 Pagina 22 di 40
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

4.1.1.2 Spostare il 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).

Corso UEP - Secondo giorno.fm


Pagina 23 di 40 01/0311
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

4.1.1.3 Inserire una nuova istruzione

a. premere il tasto funzionale PDL2 (F3) dal menu principale della IDE Page;

b. il sistema presenta le ultime 9 istruzioni utilizzate più la scelta ‘Linea vuota’

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;

b.2.2 inserimento diretto, da Tastierina alfanumerica.

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.

Template: Un template è una sorta di “mascherina” che ha lo scopo di aiutare l’utente


nell’inserimento e/o modifica di un’istruzione. Esso è composto da parole chiave (inserite
dal sistema) e campi variabili (che devono essere completati dall’utente). Le parole chiave
sono scritte con caratteri maiuscoli, in grassetto, su sfondo azzurro. Un campo variabile è
delimitato dai caratteri ‘<‘ e ‘>’; quando ci si sposta su di esso, il suo sfondo diventa blu.

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).

Corso UEP - Secondo giorno.fm


01/0311 Pagina 24 di 40
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

4.1.1.4 Commentare/scommentare una linea di programma

a. premere il tasto funzionale Selezione (F4);

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)

4.1.1.5 Modificare un’istruzione già esistente

a. Posizionare il CURSORE DI EDIT sulla linea interessata e premere ENTER: si entra,


così, nella modalità di editing;

b. utilizzare la Tastierina alfanumerica o i comandi del Menu centrale, analogamente a


quanto è descritto per il completamento del comando Istruzioni.

Caso particolare: Modifica di un’istruzione MOVE. Un caso particolare è la modifica di


un’istruzione MOVE. In questo caso è disponibile la funzione Cambia, associata al tasto
F3, che permette di modificare i parametri della MOVE (vd. figura accanto).

Corso UEP - Secondo giorno.fm


Pagina 25 di 40 01/0311
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

4.1.1.6 Inserire/visualizzare/cancellare variabili

Per inserire una nuova variabile nella linea di programma correntemente


puntata dal CURSORE DI EDIT, occorre:

a. premere la softkey Prog (F1) dal menu principale della IDE Page

b. selezionare la funzione Variabili

c. scegliere la selezione 3 - Inserisci

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.

e. al termine delle modifiche confermare con ENTER.

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

Corso UEP - Secondo giorno.fm


01/0311 Pagina 26 di 40
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

4.1.1.7 Importare da altri programmi


Per importare da un altro programma le dichiarazioni che hanno la clausola EXPORTED FROM, occorre:

a. premere la softkey Prog (F1) dal menu principale della IDE Page,

b. selezionare la funzione Importa,

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.

Le classi di dichiarazione importabili sono:


– Routine
– Tipo
– Variabile.

4.1.1.8 Visualizzare un programma a pagine


Per visualizzare un programma pagina per pagina, occorre utilizzare i Tasti di Page Up e Page Down.

Corso UEP - Secondo giorno.fm


Pagina 27 di 40 01/0311
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

4.1.2 Apprendimento delle posizioni (inserimento di una istruzione di movimento)

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).

4.1.2.1 Impostare il tasto REC

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’).

Corso UEP - Secondo giorno.fm


01/0311 Pagina 28 di 40
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

4.1.2.2 Registrare nuove posizioni


Una volta impostato opportunamente il tasto REC, occorre:

a. posizionare il CURSORE DI EDIT sulla linea di programma sotto la quale si desidera inserire la nuova istruzione MOVE

b. muovere il robot mediante i tasti di Jog, fino a raggiungere la posizione da registrare

c. premere il tasto REC. Questa operazione inserisce nel programma una istruzione MOVE e la dichiarazione della variabile posizionale
utilizzata dalla MOVE stessa.

4.1.2.3 Modificare posizioni già esistenti

Se si desidera modificare il contenuto di una variabile posizionale già esistente, occorre:

a. spostare il CURSORE DI EDIT sull’istruzione MOVE della quale si vuole modificare la variabile posizionale

b. muovere il robot mediante i tasti di Jog, fino a raggiungere la nuova posizione

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.

Corso UEP - Secondo giorno.fm


Pagina 29 di 40 01/0311
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

4.1.3 Test dell’esecuzione del programma


Come già detto precedentemente, IDE è un ambiente integrato di editing e sviluppo dei programmi. E’ estremamente importante che tutti i programmi
vengano accuratamente verificati, prima di essere eseguiti in modo automatico.
Vengono qui descritti alcuni comandi che influenzano l’esecuzione del programma correntemente aperto in IDE, in modo da poterne effettuare la messa
a punto (debug), identificare eventuali errori ed apportare migliorie.

– 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

Visualizzazione dell’istruzione di programma attualmente in esecuzione.

Nel caso di Step Disabled, l’ambiente di IDE permette di osservare, nell’Area di editor,
l’esecuzione del programma correntemente aperto.

Se il programma aperto è in corso di esecuzione, l’IDE visualizza le istruzioni attualmente in


esecuzione, con il focus sul CURSORE DI ESECUZIONE. L’esecuzione può essere seguita
dall’utente osservando i cursori che si spostano, nel tempo, sulle istruzioni di programma.
Vedere l’esempio qui accanto (il cursore di esecuzione, con sfondo verde brillante, indica
l’istruzione che è correntemente in esecuzione).

Corso UEP - Secondo giorno.fm


01/0311 Pagina 30 di 40
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

4.1.3.1 Attivare/disattivare un programma

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.

Se si vuole semplicemente disattivare il programma, 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 Disattiva (selezione 2).

4.1.3.2 Interrompere l’esecuzione di un’istruzione

Se si desidera interrompere l’esecuzione dell’istruzione corrente:

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.

Corso UEP - Secondo giorno.fm


Pagina 31 di 40 01/0311
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

4.1.3.3 Impostare la modalità di step

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.

4.1.3.4 Spostare il cursore di esecuzione

Per spostare l’esecuzione del programma ad una linea diversa da quella attualmente puntata dal CURSORE DI ESECUZIONE, occorre:

a. spostare il CURSORE DI EDIT sulla linea di programma che si intende eseguire

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.

Corso UEP - Secondo giorno.fm


01/0311 Pagina 32 di 40
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

4.1.3.5 Inserire/rimuovere un break point

Un break point è un punto di interruzione dell’esecuzione.


Per inserire un break point, occorre:

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.

4.1.3.6 Saltare l’esecuzione di un’istruzione

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.

4.1.3.7 Eseguire un’istruzione temporanea

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

e. per confermare l’esecuzione dell’istruzione scelta, premere ‘OK’.

Corso UEP - Secondo giorno.fm


Pagina 33 di 40 01/0311
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

4.1.4 Salvataggio del programma e chiusura di IDE

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.

Per salvare tutti i programmi modificati in ambiente 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.

Per chiudere l’ambiente 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 Chiudi.

Corso UEP - Secondo giorno.fm


01/0311 Pagina 34 di 40
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

4.2 Esecuzione del programma in modo automatico

È 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

b. premere il tasto HOLD (giallo)

c. posizionare il selettore di stato su AUTO (o REMOTE)

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.

Corso UEP - Secondo giorno.fm


Pagina 35 di 40 01/0311
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

5 Programmi PDL2 - Concetti di base


I Programmi per l’Unità di Controllo C5G sono scritti in linguaggio PDL2.
– Struttura di un Programma PDL2;
– Attributo HOLD/NOHOLD.

5.1 Struttura di un Programma PDL2


I Programmi PDL2 hanno la seguente struttura:

PROGRAM name <attributes>


<import statements>
<constant, variable, and type declarations>
<routine declarations>
BEGIN <CYCLE>
<executable statements>
END name

5.2 Attributo HOLD/NOHOLD


Essi possono essere classificati in due categorie principali, a seconda dell’attributo holdable/non-holdable assegnato:
– Programmi ‘holdable’ (cioè con attributo HOLD) - la loro esecuzione è controllata dai tasti HOLD (giallo) e START (verde); un Programma che
contiene istruzioni di movimento DEVE essere di tipo ‘holdable’. Per ulteriori informazioni riguardanti l’uso dei tasti HOLD e START, vd. par. Tasti di
altri colori a pag. 1-25.
– Programmi ‘non-holdable’ (cioè con attributo NOHOLD) - essi sono generalmente usati per il controllo di processo. Non possono contenere istruzioni
di movimento anche se possono comunque utilizzare variabili posizionali, per altri scopi.

L’attributo di default è HOLD; se si desidera che il Programma sia ‘non-holdable’, occorre scrivere esplicitamente NOHOLD.

Corso UEP - Secondo giorno.fm


01/0311 Pagina 36 di 40
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

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

ROUTINE times -- routine locale al programma ‘main’


BEGIN
.....
END times

-- inizio del corpo del programma ‘main’


BEGIN
.............................
CONDITION[1] :
WHEN $DIN[5]- DO
times -- chiamata alla routine locale ‘times’
ENDCONDITION
.............................
call_l_sgr -- chiamata alla routine ‘call_l_sgr, importata da ‘l_sgr’
.............................
END main

Corso UEP - Secondo giorno.fm


Pagina 37 di 40 01/0311
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

Segue un esempio di definizione del programma ‘l_sgr’ cui fa riferimento il programma ‘main’:

PROGRAM l_sgr EZ, STACK = 2048


-- dichiarazioni di variabili locali al programma ‘l_sgr’
VAR inizio_ciclo, pnt0003p, p1, p2, p3, p4 : POSITION

-- dichiarazione di variabili importate da ‘gest_tasti’


VAR d_p, d_s_finitura, altezza_bordo : REAL EXPORTED FROM gest_tasti

-- dichiarazione di variabile locale al programma ‘l_sgr’


VAR cont : INTEGER

-- dichiaraz. di routine definita nel programma ‘l_sgr’ed esportata all’esterno


ROUTINE init_motion EXPORTED FROM l_sgr
ROUTINE init_motion -- definizione della routine ‘init_motion’
BEGIN
.............
END init_motion

-- dichiaraz. di routine definita nel programma ‘l_sgr’ed esportata all’esterno


ROUTINE call_l_sgr EXPORTED FROM l_sgr
ROUTINE call_l_sgr -- definizione della routine‘call_l_sgr’
BEGIN
.............
init_motion -- chiamata alla routine ‘init_motion’ definita in ‘l_sgr’ ed esportata all’esterno
.............
MOVE LINEAR TO pnt0003p
.............
END call_l_sgr

-- corpo del programma l_sgr


BEGIN
CYCLE
d_p := 0.57 -- variabile importata da ‘gest_tasti’
call_l_sgr -- chiamata alla routine ‘call_l_sgr’
WAIT FOR $FDIN[21]
END l_sgr

Corso UEP - Secondo giorno.fm


01/0311 Pagina 38 di 40
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

Schematizziamo i legami esistenti nei programmi sopraindicati::

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.

Corso UEP - Secondo giorno.fm


Pagina 39 di 40 01/0311
Corso Base - USO E PROGRAMMAZIONE C5G - Secondo giorno

7 Ciclo di vita di un programma PDL2


– Creazione e sviluppo di un programma,
– Salvataggio del programma su dispositivi di memorizzazione esterni.

7.1 Creazione e sviluppo di un programma


I passi consigliati per lo sviluppo di un programma sono:

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).

7.2 Salvataggio del programma su dispositivi di memorizzazione esterni


Dopo aver creato, messo a punto e salvato un programma, occorre eseguirne il salvataggio anche su un dispositivo di memorizzazione esterno
(Flash Disk USB, PC, etc.).
Per effettuare questa operazione, utilizzare il comando Invia a (FC) disponibile nella File Page (o comando FC).
Nell’utilizzo del comando, specificare il dispositivo di destinazione: Flash Disk USB (XD:) o altro dispositivo (COMP:).
Nel caso si desideri salvare l’intero contenuto della UD:, utilizzare l’apposita procedura di Backup e Restore.

Corso UEP - Secondo giorno.fm


01/0311 Pagina 40 di 40
Corso Base - USO E PROGRAMMAZIONE C5G - Terzo giorno

Corso Base - USO E PROGRAMMAZIONE C5G - Terzo giorno

– Cenni su struttura della memoria e tipi di file

1 - Struttura della memoria del Sistema


1.1 - Dispositivi di memorizzazione interni
1.2 - Dispositivi di memorizzazione esterni
2 - Tipi di file

– Ambiente off-line e interfaccia al Controllo su PC


3 - Programma WinC5G
3.1 - Interfaccia Utente di WinC5G
4 - Programmazione off-line

– Gestione della comunicazione tra Unità di Controllo e mondo esterno


5 - Comunicazione tra Unità di Controllo e mondo esterno
5.1 - Comunicazione tra Unità di Controllo e periferiche
5.2 - Comunicazione tramite I/O
5.3 - Programmi per la configurazione degli I/O
5.4 - Istruzioni PDL2 per la comunicazione tra l’Unità di Controllo e il mondo esterno

Corso UEP - Terzo giorno.fm


Pagina 1 di 23 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Terzo giorno

1 Struttura della memoria del Sistema


L’Unità di Controllo C5G dispone di diversi dispositivi di memorizzazione per il salvataggio, il caricamento, l’esecuzione dei Programmi utente:
– Dispositivi di memorizzazione interni,
– Dispositivi di memorizzazione esterni.

1.1 Dispositivi di memorizzazione interni


I dispositivi di memorizzazione interni sono quelli presenti all’interno dell’Unità di Controllo C5G. Più precisamente:
– Memoria di esecuzione
– User Directory (UD:)

1.1.1 Memoria di esecuzione

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.

1.1.2 User Directory (UD:)

La User Directory può contenere qualsiasi tipo di file.


Dopo aver modificato i programmi presenti in Memoria di esecuzione o averne creati dei nuovi, per non perdere
i dati ad essi relativi, occorre trasferirli nella User Directory (UD:).
Utilizzare i comandi di salvataggio ( Salva (MS + MS/C), Salva le variabili (MS), Salva il codice (MS/C), Salva
variabili con nome (MS/A) ).

Corso UEP - Terzo giorno.fm


02/0511 Pagina 2 di 23
Corso Base - USO E PROGRAMMAZIONE C5G - Terzo giorno

1.2 Dispositivi di memorizzazione esterni


Questi dispositivi sono utilizzati per creare una copia di salvataggio dei file contenuti nella User Directory (UD:) (specialmente per i programmi utente). Il
trasferimento può essere effettuato verso:
– PC (e dispositivi ad esso collegati) - COMP:
– Disk on key - TX: e XD:

1.2.1 PC (e dispositivi ad esso collegati) - COMP:

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.

1.2.2 Disk on key - TX: e XD:

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.

Corso UEP - Terzo giorno.fm


Pagina 3 di 23 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Terzo giorno

2 Tipi di file
I tipi di file gestiti dall’Unità di Controllo C5G sono quelli riportati nella seguente tabella.

Estensione del backup


Estensione Descrizione
(ove previsto)
.ACT File unico contenente l’elenco delle azioni eseguite sul Controllore (è il formato ASCII dei file .LBA) .BKA
.LBA File binario contenente l’elenco delle azioni eseguite sul Controllore .BKB
Codice di Programma PDL2, in formato binario. Può essere editato negli ambienti IDE, Program Edit,
.COD .BKC
Memory Debug
.LBE File binario contenente l’elenco degli errori rilevati sul Controllore .BKE
.LOG File di LOG, ad esempio ACTION.LOG ed ERROR.LOG .BKG
.LSV Versione ASCII di file .VAR .BKL
.XML File di tipo eXtensible Markup Language, usato per definire della sintassi aggiuntiva sul Controllore .BKM
.PDL Versione ASCII di un programma PDL2 .BKP
.UDB File di tipo User Data Base che contiene tutti i Profili Utente permessi .BKU
.VAR File binario che contiene le variabili di un programma .BKV
.VPS File sorgente per VP2.Builder .BKW
.LVP Versione ASCII di file VP2 .BKX
.ZIP File compresso non previsto
File binario contenente la configurazione del sistema. Può essere caricato o salvato nella memoria di
.C5G .BK5
sistema, tramite la Funzione Config., dalla Setup page (e dai corrispondenti comandi CL e CS
.CIO File binario contenente l’albero degli I/O .BKO
.LIO Versione ASCII del file .CIO .BKI

Corso UEP - Terzo giorno.fm


02/0511 Pagina 4 di 23
Corso Base - USO E PROGRAMMAZIONE C5G - Terzo giorno

3 Programma WinC5G
Il programma WinC5G è l’interfaccia stile Windows, su PC, verso l’Unità di Controllo C5G.

Tab. 3.1 - Connessione tra PC e Unità di Controllo C5G


Tipo di connessione Caratteristiche
Collegamento Ethernet punto-punto Il cavo Ethernet deve essere incrociato di categoria 5 e va collegato (senza nessun dispositivo di connessione di rete HUB o
Switch) sulla porta Ethernet del PC e sulla porta Ethernet della scheda APC. Il collegamento può anche essere eseguito a
caldo.
Per qualsiasi ulteriore informazione circa la realizzazione di questo collegamento, riferirsi al par. 7.4.1 Collegamento Ethernet
punto-punto a pag. 7-296 del manuale USO DELL’UNITÀ DI CONTROLLO Software di Sistema Rel. 1.0.
Collegamento Ethernet alla rete Qualora l’Unità di Controllo sia già collegata ad una rete Ethernet, sarà sufficiente:
locale – collegare anche il PC alla rete
– accedere, da WinC5G, alla finestra Proprietà e specificare, come indirizzo IP, quello del Controllo stesso
– connettersi al Controllo, selezionando il comando File Connetti.

Il programma WinC5G raggruppa al suo interno una serie di funzionalità, quali:

– la visualizzazione dei files presenti sul robot


– la possibiltà di editarli e tradurli in formato eseguibile (.COD)
– la ricerca e la visualizzazione di errori
– la possibilità di aprire una finestra Terminale per inoltrare comandi direttamente sull’Unità di Controllo
– la trasformazione di programmi già esistenti in funzione di nuovi punti di riferimento.

Per attivarlo è sufficiente selezionare WinC5G.exe cliccando sul file o sul collegamento ad esso relativo.

Corso UEP - Terzo giorno.fm


Pagina 5 di 23 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Terzo giorno

3.1 Interfaccia Utente di WinC5G

L’interfaccia di cui si compone il WinC5G è costituita da quattro pannelli principali ciascuno dei quali può contenere una o più finestre di informazioni verso
l’utente:

– (1) Pannello delle Directory

– (2) Pannello dei File

– (3) Pannello dei Tool

– (4) Pannello di Output.

3.1.1 Pannello delle Directory


Il pannello delle Directory mostra la struttura delle directory del PC e dell’Unità di Controllo (qualora il collegamento sia attivo).
Vengono visualizzate solo le directory presenti sui dispositivi, NON i file in esse contenuti.
Il pannello delle Directory ha una o due finestre a seconda che il collegamento all’Unità di Controllo Robot sia attivo o meno.E’ possibile aggiornare la
visualizzazione, dal menu Visualizza, selezionando Aggiorna Lista dei file.

Corso UEP - Terzo giorno.fm


02/0511 Pagina 6 di 23
Corso Base - USO E PROGRAMMAZIONE C5G - Terzo giorno

3.1.2 Pannello dei File


Il pannello dei File mostra la lista dei file contenuti nel dispositivo o nella cartella attualmente selezionata nel pannello delle Directory. Per ciascun file
vengono mostrate le informazioni relative al nome, tipo, dimensione e data di modifica. E’ possibile riordinare gli elementi a seconda di una di queste
categorie.
E’ inoltre possibile visualizzare alcune informazioni particolari (dette Property - vedere anche le variabili predefinite $PROP_xxx nel manuale PDL2
Programming Language, capitolo Predefined Variables) riguardanti i file, cliccando con il tasto destro del mouse e selezionando “Note sulle Proprietà”.
Gli attributi standard (Property) associati al file sono i seguenti: nome file, autore, data di creazione del file, versione, revisione, host su cui è stato creato
il file, titolo, help.

3.1.3 Pannello dei Tool


Il pannello dei Tool è il principale dell’applicazione. In quest’area sono visualizzate la maggior parte delle informazioni. Le possibili finestre sono:
– finestra Il Terminale
è l’interfaccia diretta col C5G (analoga alla TP-INT Page); essa visualizza le informazioni presenti sul video del Terminale di
Programmazione
– finestra di Traduzione dei files
consente all’utente di visualizzare e tradurre i programmi, dal formato ASCII (.PDL) al formato interno (.COD);
– finestra di Ricerca di Causa e Rimedio di un errore
permette la ricerca della causa di un errore e del relativo rimedio da utilizzare per correggerlo;
– finestra di Visualizzazione di Errori e Azioni
consente all’utente di visualizzare ed ordinare gli errori e le azioni generate dall’Unità di Controllo;
– finestra di Manipolazione dei Files - raggruppa una serie di operazioni, di verifica e/o di conversione di valori di variabili. Per tutte le funzioni del menu
di Manipolazione, i parametri in input da specificare SEMPRE, sono:
• File di Sistema: nome del file .C5G.
• File dei Tool: nome del file .VAR contenente i valori dei tool utilizzati dal programma (ad esempio UD:\DATA\TT_TOOL.VAR).
• File dei Frame: nome del file .VAR contenente i valori dei frame utilizzati dal programma (ad esempio UD:\DATA\TU_FRAME.VAR).
• File delle variabili: nome del file .VAR del programma utente da convertire.
• File del programma: nome del file .COD del programma utente da convertire.

Per chiudere una finestra presente sul Pannello dei Tool, inoltrare il comando Chiudi dal menu File.

Corso UEP - Terzo giorno.fm


Pagina 7 di 23 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Terzo giorno

3.1.4 Pannello di Output


Il pannello di Output è dedicato alla visualizzazione dei messaggi che un’applicazione genera verso l’utente. L’utilizzo principale è quello di mostrare il
risultato della traduzione dei files di programma, quali i .PDL ed i .LSV, inclusi gli errori di traduzione ed i messaggi provenienti dalle operazioni di
manipolazione di file.
Cliccando due volte su un errore, viene aperto il file nella linea in cui tale errore è stato rilevato.
Esistono anche una finestra per visualizzare i messaggi generati dall’FTP Server e una finestra per la chat, se WinC5G è connesso come Remoto o come
Proxy.

Per aprire questo Pannello, usare il comando Mostra Finestra di Output dal menu Visualizza; per chiuderlo, usare il comando Chiudi
Finestra di Output dallo stesso menu.

Corso UEP - Terzo giorno.fm


02/0511 Pagina 8 di 23
Corso Base - USO E PROGRAMMAZIONE C5G - Terzo giorno

4 Programmazione off-line

Dall’ambiente WinC5G è possibile editare programmi in linguaggio PDL2, anche quando non si è connessi all’Unità di Controllo (programmazione off-line).

Si procede come segue:


a. Aprire il file (nuovo o già esistente) - questo significa aprire una nuova finestra
nel Pannello dei Tool, mediante il comando Nuovo, dal menu File, oppure
aprendo un file già esistente (comando Apri, dal menu File o cliccare due volte
sul nome del file - vd. figura accanto).

b. Editare le modifiche o il programma completo.

c. Tradurre in formato interno - Per avviare la traduzione, scegliere il comando


Traduci, dal menu Modifica, o cliccare destro dalla finestra del file e scegliere
Traduci (vd. figura sottostante a sinistra).
Nel caso di programma nuovo, è necessario effettuare prima un salvataggio
(comando Salva, dal menu File - vd. figura sottostante a destra).

d. Trasferire il programma sull’Unità di Controllo per l’esecuzione -


selezionare il comando Salva su Robot, dal menu File (vd. figura
sottostante); ovviamente, per effettuare il trasferimento è necessario che
sia stata stabilita la connessione con l’Unità di Controllo

Corso UEP - Terzo giorno.fm


Pagina 9 di 23 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Terzo giorno

5 Comunicazione tra Unità di Controllo e mondo esterno


L’Unità di Controllo C5G si collega e si interfaccia con: Ethernet

– Robot, posizionatori e assi aggiuntivi (A).

B
– Linea (B).
D

– Applicazioni (C).

– Programmazione e interfaccia utente su PC (D). A


C

Field Bus

Nei prossimi paragrafi saranno descritti i seguenti argomenti:


– Comunicazione tra Unità di Controllo e periferiche
– Comunicazione tramite I/O
– Programmi per la configurazione degli I/O
– Istruzioni PDL2 per la comunicazione tra l’Unità di Controllo e il mondo esterno

Corso UEP - Terzo giorno.fm


02/0511 Pagina 10 di 23
Corso Base - USO E PROGRAMMAZIONE C5G - Terzo giorno

5.1 Comunicazione tra Unità di Controllo e periferiche

L’Unità di Controllo C5G è dotata di caratteristiche di base e di opzioni che consentono la comunicazione con le seguenti porte:
– Porte Ethernet,
– Porta seriale,
– Porte USB.

5.1.1 Porte Ethernet


L’Unità di Controllo C5G dispone delle seguenti porte rete Ethernet (vd.par. 4.4 Modulo AMS-APC820 a pag. 4-49):
– ETH1: porta rete Ethernet per Terminale di programmazione (di serie),
– ETH2: porta rete Ethernet per applicazioni utente (di serie), su Modulo AMS-APC820, che può essere portata su fronte armadio (opzionale)
mediante l’opzione C5G-ETHK: Kit Ethernet
– ETHx: porta rete Ethernet con convertitore USB to Ethernet (opzionale).

5.1.2 Porta seriale


L’Unità di Controllo C5G dispone di serie della seguente porta:
– COM2: porta seriale RS232/RS422 per applicazioni utente

5.1.3 Porte USB


L’Unità di Controllo C5G dispone delle seguenti porte
– XD: porta USB installata su Modulo AMS-APC820 (di serie).
– XD2: porta USB disponibile su fronte armadio mediante C5G-USBK: Kit USB (di serie),
– XD3: porta USB interna (di serie) oppure disponibile su fronte armadio mediante opzione C5G-USBK: Kit USB,
– XD4: e XD5: porte USB interne (di serie) ad uso riservato,
– TX: porta USB installata sul Terminale di Programmazione (di serie) (vd. par. 6.5 Porta USB a pag. 1-28 del Primo giorno di Corso Base).

Corso UEP - Terzo giorno.fm


Pagina 11 di 23 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Terzo giorno

Tab. 3.2 - Porte di comunicazione con periferiche


Porta su C5G Funzione Dispositivo
Interfacciamento con Programma WinC5G (*) [NET0:]
di serie
FTP [NET1:] .. [NET9:]
Porte Ethernet Porte Ethernet (APC820/ETH) di serie
[NETT:] - per TCP
PDL2 Read/Write on TCP/IP opzionale
[NETU:] - per UDP
Porta seriale RS232/RS422 di serie Interfacciamento seriale generico di serie [COM2:]
Porta USB su Modulo
di serie Memorizzazione su Flash Disk USB di serie [XD:]
AMS-APC820.
Porta USB su fronte armadio di serie Memorizzazione su Flash Disk USB di serie [XD2:]
Porta USB interna o su fronte di serie interna,
Memorizzazione su Flash Disk USB di serie [XD3:]
Porte USB armadio opzionale esterna
Porta USB interno armadio di serie Memorizzazione su Flash Disk USB di serie [XD4:]
Porta USB interno armadio di serie Memorizzazione su Flash Disk USB di serie [XD5:]
Porta USB su Terminale di
di serie Memorizzazione su Flash Disk USB di serie [TX:]
Programmazione.

(*) Indipendentemente dal canale al quale il PC è connesso, l’utente si deve riferire al WinC5G utilizzando il nome COMP: (vd. par. 1.2.1
PC (e dispositivi ad esso collegati) - COMP: a pag. 3-3).

Per ulteriori informazioni, riferirsi al par. 9.1.4 COMMUNICATION Devices a pag. 9-162 presente nel manuale PDL2 Programming Language.

Corso UEP - Terzo giorno.fm


02/0511 Pagina 12 di 23
Corso Base - USO E PROGRAMMAZIONE C5G - Terzo giorno

5.2 Comunicazione tramite I/O


L’Unità di Controllo C5G dispone delle seguenti soluzioni:
– Ingressi / Uscite digitali di serie, su modulo SDM
– Ingressi / Uscite digitali, a bordo Robot
– Ingressi / Uscite e Bus di campo, su interfaccia X20 (opzionale).

5.2.1 Ingressi / Uscite digitali di serie, su modulo SDM

OUT L’Unità di Controllo dispone di serie di 8 ingressi e 4 uscite digitali (I/O), a


X310
disposizione per applicazioni dell’Utente.

X126

Gli I/O sono disponibili sul Safety Distribution Module (SDM) (come mostrato
nella figura a lato) e il loro impiego è subordinato all’acquisto dell’opzione
X311 IN C5G-UCK: kit connettori utente, per modulo SDM.

X128

X312 IN

Per utilizzare gli I/O nel programma PDL2 occorre configurarli con gli appositi Programmi per la configurazione degli I/O.

Corso UEP - Terzo giorno.fm


Pagina 13 di 23 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Terzo giorno

5.2.2 Ingressi / Uscite digitali, a bordo Robot

Per piccole applicazioni a cura dell’utente, sono tipicamente disponibili a bordo Robot i seguenti ingressi/uscite digitali:

– 2 ingressi di allarme 24 Vdc,


– 4 ingressi digitali 24 Vdc,
– 4 uscite digitali 24 Vdc
previa installazione dell’opzione C5G-SMK: Signal Machine Kit.

I due ingressi di allarme a 24 Vdc sono “Robot Alarm” (allarme flangia) e “Air Input” (anomalia aria). I segnali sono del tipo normalmente chiusi (NC). Se
non utilizzati devono essere ponticellati.

I 4 ingressi 24 Vdc e le 4 uscite 24 Vdc sono prelevati direttamente dal Safety Distribution Module (SDM), rispettivamente dal connettore X311 e X310.

I 10 segnali I/O così ottenuti transitano dal Connettore X10 (Segnali Robot) a base armadio fino alla base del Robot (connettore X1), dalla quale ripartono
per essere disponibili su connettori specifici installati nei pressi dell’asse 3 del Robot.

Il Robot è già predisposto con le connessioni tra il connettore X1 a base Robot e il polso (o asse 3 secondo il modello). Il Robot non è dotato di connettore
volante che deve essere acquistato a parte.

Corso UEP - Terzo giorno.fm


02/0511 Pagina 14 di 23
Corso Base - USO E PROGRAMMAZIONE C5G - Terzo giorno

5.2.3 Ingressi / Uscite e Bus di campo, su interfaccia X20 (opzionale)


Per applicazioni con I/O in quantità superiore, l’Unità di Controllo può essere ampliata con moduli opzionali per I/O digitali, analogici, e Bus di campo,
mediante la soluzione costituita dai Moduli di interfaccia X20.
Il sistema dei moduli di interfaccia X20 (opzionale) si basa sulla presenza di un Modulo Bus Coupler PFG-BCO (opzionale), al quale possono essere
connessi Moduli Bus di Campo su interfaccia X20 (opzionali) e Moduli I/O digitali e analogici su interfaccia X20 (opzionali).

Ethernet POWERLINK

Bus Coupler

DC/DC
Profibus-DP DeviceNet
Inp Out

APC 820 IAM x

PPS8 ASM32

Bus Coupler

DC/DC
Profibus-DP DeviceNet
Inp Out

L’installazione del sistema X20 richiede la successiva configurazione software. A tale proposito, consultare il Cap. Programmi per la
configurazione degli I/O nel manuale USO dell’Unità di Controllo C5G.

Corso UEP - Terzo giorno.fm


Pagina 15 di 23 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Terzo giorno

5.2.3.1 Modulo Bus Coupler PFG-BCO (opzionale)


Il modulo opzionale Bus Coupler C5G-PFG-BCO (Bus COupler) è il nodo fondamentale e deve essere sempre presente per consentire
l’interconnessione tra la rete Ethernet POWERLINK interna all’Unità di Controllo e i Moduli Bus di campo su interfaccia X20 e Moduli I/O digitali e analogici
su interfaccia X20.
Ogni modulo è collegato come nodo aggiuntivo sulla rete Ethernet POWERLINK e configurato con un indirizzo univoco (vd. figura in basso a destra).

DC
– A - base e bus del sistema moduli interfaccia X20, con 2 slot liberi per Moduli Bus di
/
DC Campo su interfaccia X20 (opzionali)
Interface
– B - interfaccia di collegamento con la rete POWERLINK
Slot Slot
2 1 – C - alimentatore DC/DC 24 Vdc

A B C Ethernet POWERLINK Cable Ethernet POWERLINK Cable

E’ possibile installare fino a 2 moduli Bus Coupler. Su ogni modulo


Bus Coupler è possibile abbinare:

– Moduli Bus di Campo su interfaccia X20 (opzionali), fino a un


massimo di 2, installati nei 2 slot a disposizione,
– Moduli I/O digitali e analogici su interfaccia X20 (opzionali), sul
Bus Coupler Bus Coupler
lato destro, fino ad un massimo di 10 moduli adiacenti. #1 #2

&H81 &H82
Corso UEP - Terzo giorno.fm
02/0511 Pagina 16 di 23
Corso Base - USO E PROGRAMMAZIONE C5G - Terzo giorno

5.2.3.2 Moduli Bus di Campo su interfaccia X20 (opzionali)


Il modulo bus di campo è disponibile nelle versioni master e slave, a scelta tra i protocolli Profibus-DP, Profinet e Device Net. I moduli bus di campo si
installano esclusivamente sugli slot 1 e 2 del Modulo Bus Coupler PFG-BCO (opzionale).

Prima di procedere all’installazione dei moduli Bus di Campo, leggere attentamente le Regole di installazione dei moduli bus di campo
su Modulo Bus Coupler riportate nel manuale Unità di controllo C5G - Specifiche tecniche.

Tra i principali criteri si ricorda che:

– quando presente, il primo modulo slave occupa sempre lo slot 1 (slot a destra); il
secondo modulo slave occupa sempre lo slot 2 (slot a sinistra).
– Se non è presente un modulo slave, il modulo master occupa sempre il primo slot
disponibile (1, poi 2), ma la precedenza dello slot 1 è per il modulo slave (quando
presente).
– Si può installare un solo modulo master sullo stesso Bus Coupler;
– si possono installare fino a 2 moduli slave sullo stesso Bus Coupler.

Nella figura a lato sono presentati alcuni esempi di composizione dei moduli Bus di
Campo.

I moduli di Bus di campo non sono utilizzabili nel sistema fino a quando non sono
opportunamente configurati. I parametri di funzionamento dei moduli di Bus di campo
e gli indirizzi di rete devono essere configurati con gli appositi programmi IO_CNFG
(configurazione del modulo nel sistema) e IO_MAP (mappatura dei segnali) forniti con
l’Unità di Controllo. A seguito della configurazione può essere necessario riavviare il
sistema con il comando Restart Cold.

A tale proposito, consultare il Cap. Programmi per la configurazione degli I/O nel manuale USO dell’Unità di Controllo C5G.

Corso UEP - Terzo giorno.fm


Pagina 17 di 23 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Terzo giorno

5.2.3.3 Moduli I/O digitali e analogici su interfaccia X20 (opzionali)


I moduli di I/O sono disponibili in soluzioni precostituite opzionali, che comprendono schede di I/O digitali e analogiche già assiemate, con annessi
appositi alimentatori 24 Vdc. Le soluzioni precostituite si installano esclusivamente sul lato DESTRO del Modulo Bus Coupler PFG-BCO (opzionale), come
mostrato nella figura sottostante, fino ad un massimo di 10 moduli adiacenti. E’ possibile installare contemporaneamente una o più soluzioni precostituite
da moduli I/O e moduli bus di campo.

Prima di procedere all’installazione dei moduli di I/O digitali e analogici, leggere attentamente le Regole di installazione degli I/O su
moduli X20 riportate nel manuale Unità di controllo C5G - Specifiche tecniche.

I moduli di I/O devono essere acquistati scegliendo tra le soluzioni precostituite:

– cablaggio su morsettiera (vd. figura a lato):


• C5G-D12 - C5G-D24: opzioni I/O digitali (12 I / 12 O oppure 24 I / 24 O),
• C5G-AI2 - C5G-AO2, opzioni I/O analogici (2 I oppure 2 O);
– cablaggio su connettore multipolare 42 pin:
• C5G-EDI: Interfaccia I/O digitali esterni (24 I / 12 O).

I moduli di I/O non sono utilizzabili nel sistema fino a quando non sono opportunamente
configurati.
La configurazione dei moduli di I/O deve essere eseguita con appositi programmi
IO_CNFG (configurazione del modulo nel sistema) e IO_MAP (mappatura dei
segnali) forniti con l’Unità di Controllo.

A tale proposito, consultare il Cap. Programmi per la configurazione degli I/O nel manuale USO dell’Unità di Controllo C5G.

Corso UEP - Terzo giorno.fm


02/0511 Pagina 18 di 23
Corso Base - USO E PROGRAMMAZIONE C5G - Terzo giorno

5.2.4 Collegamento dei Bus da C5G a Robot

Per collegare il Bus di campo tra il modulo master presente nell’Unità di Controllo e i moduli
slave presenti sull’attrezzatura e/o sul Robot, si utilizza il connettore X93 (vd. figura a lato).

X93
Il connettore, in abbinamento al cavo specifico, è una soluzione chiamata Multibus, la quale
prevede che nello stesso cavo multipolare sia veicolato il segnale del bus di campo (Device
Net, Profibus-DP o Profinet) e l’alimentazione 24 Vdc per i moduli slave remoti.
Esso è installato alla base dell’Unità di Controllo, sul Connector Interface Panel (CIP).
A
Il connettore X93 è abbinato al primo modulo di Bus di campo Master mentre il connettore X94
X94, quando presente, al secondo modulo master.

Il Robot, a seconda della dotazione, dispone di:


– un Cavo Multibus interno o esterno e
– un Connettore Multibus.

5.2.4.1 Connettore Multibus


Il connettore Multibus è del tipo multipolare a 17 pin.
L’unità di Controllo e il Robot dispongono di un solo connettore perchè sono considerati i due estremi della catena dei dispositivi connessi alla rete
Multibus. Per consentire il transito dei segnali, eventuali dispositivi intermedi devono disporre di un connettore di ingresso ed uno di uscita.

5.2.4.2 Cavo Multibus


Il cavo Multibus è un cavo multipolare per collegare i segnali delle reti Bus di campo e del 24 Vcc richiesto per l’alimentazione dei moduli di I/O remoti.
Un cavo interno all’armadio serve alla connessione diretta tra le schede Bus di campo e il 24 Vcc da SDM, su connettore X93; il cavo Multibus esterno
diretto al Robot, o interno al Robot, ha un Connettore Multibus ad ogni estremità ed è connesso direttamente (pin to pin) ad ambedue i connettori.

Corso UEP - Terzo giorno.fm


Pagina 19 di 23 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Terzo giorno

5.3 Programmi per la configurazione degli I/O


– Programma IO_CNFG - Configurazione dei moduli di I/O
– Programma IO_MAP - Mappatura porte di I/O
– Programma IO_CLONE - Esportazione/Importazione della configurazione di I/O.

5.3.1 Programma IO_CNFG - Configurazione dei moduli di I/O

Questo programma, realizzato in Visual PDL2, viene utilizzato per dichiarare la presenza e per configurare i
moduli di I/O sull’Unità di Controllo C5G.
Ogni modulo è caratterizzato da un NOME che può essere scelto dall’Utente. Questo nome verrà utilizzato
per individuare il modulo nel corso delle varie operazioni che lo riguardano (ad es. nella visualizzazione dei
Dispositivi in I/O Page, oppure nell’elenco Dispositivi del Programma IO_MAP - Mappatura porte di I/O,
etc.).
Si noti che prima di procedere a qualsiasi mappatura dei punti di I/O (mediante il Programma
IO_MAP - Mappatura porte di I/O), è necessario aver configurato i moduli ad essi corrispondenti,
tramite questo programma.

Il programma IO_CNFG è sempre presente e disponibile sul Terminale di Programmazione.


Per utilizzarlo occorre selezionare l’icona IO_Cnfg nella Setup page (vd. figura qui sopra).

La sequenza di operazioni per l’utilizzo del programma IO_CNFG è rappresentata nel


diagramma a blocchi qui a sinistra.

Per una descrizione dettagliata dell’uso del programma IO_CNFG, consultare


il manuale Uso dell’Unità di Controllo C5G - Cap. Programma IO_CNFG -
Configurazione dei moduli di I/O

Corso UEP - Terzo giorno.fm


02/0511 Pagina 20 di 23
Corso Base - USO E PROGRAMMAZIONE C5G - Terzo giorno

5.3.2 Programma IO_MAP - Mappatura porte di I/O

Questo programma, realizzato in Visual PDL2, viene utilizzato per mappare i punti di I/O sull’Unità di
Controllo C5G.
Eseguire una mappatura, mediante il Programma IO_MAP, significa mettere in relazione punti di
Input/Output dei vari dispositivi, con le porte logiche digitali, analogiche, flessibili del linguaggio PDL2 (ad
es. $DIN, $DOUT, etc.).
Si noti che prima di procedere a qualsiasi mappatura dei punti di I/O (mediante questo
programma), è necessario aver già configurato i moduli ad essi corrispondenti, tramite il
Programma IO_CNFG - Configurazione dei moduli di I/O.

Il programma IO_MAP è sempre presente e disponibile sul Terminale di Programmazione. Per utilizzarlo
occorre selezionare l’icona IO_Map nella Setup page (vd. figura a destra).

Nella Home Page del Programma IO_MAP, si accede ai seguenti sottoambienti (come mostrato nella
figura a sinistra):
– Dispositivi (F1) - permette di visualizzare l’elenco di tutti i dispositivi presenti nel Sistema e
operare sui punti di I/O ad essi associati
– Lista porte (F2) - permette di visualizzare l’elenco di tutte le porte esistenti nel Sistema
– Profilo (F3) - permette di associare un’azione o un evento di Sistema/Applicativo ad una porta
logica digitale, analogica, flessibile del linguaggio PDL2 (ad es. $DIN, $DOUT, etc.)
– Link (F4) - permette di creare un’associazione tra due porte: la seconda porta (detta porta
destinazione) assume il valore della prima porta (detta porta sorgente).

Per una descrizione dettagliata dell’uso del Programma IO_MAP, consultare il manuale Uso dell’Unità di Controllo C5G -
Cap. Programma IO_MAP - Mappatura porte di I/O.

Corso UEP - Terzo giorno.fm


Pagina 21 di 23 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Terzo giorno

5.3.3 Programma IO_CLONE - Esportazione/Importazione della configurazione di I/O

Questo programma, realizzato in Visual PDL2, permette di “copiare” la configurazione e la mappatura


degli I/O, da un Controllore ad un altro.
E’ estremamente utile nel caso di linee robotizzate, poichè l’Utente può configurare e mappare i punti di
I/O su un solo Controllore e poi portare tale mappatura su tutti gli altri Controllori della linea robotizzata.
Per realizzare quanto appena descritto, occorre:

– eseguire la configurazione e la mappatura degli I/O su un solo Controllore, mediante il Programma


IO_CNFG - Configurazione dei moduli di I/O e il Programma IO_MAP - Mappatura porte di I/O;
– esportare la mappatura degli I/O relativa a quel Controllore, mediante il programma IO_CLONE;
viene creato un file di tipo .CIO contenente tutte le informazioni necessarie;
– importare i dati contenuti in tale file, sugli altri Controllori della linea.
Il programma IO_CLONE è sempre presente e disponibile sul Terminale di Programmazione.
Per utilizzarlo, accedere alla Setup page su Terminale di Programmazione, selezionare l’icona IO_CLONE
(vd. figura in alto a destra) e confermare con ENTER.

Nel programma IO_CLONE sono disponibili i seguenti comandi (vd. a sinistra) che permettono l’esecuzione
delle operazioni appena elencate:

– Esporta (F2) - per salvare in un file .CIO la mappatura degli I/O del Controllore “sorgente”
– Importa (F1) - per copiare, su un Controllore “destinazione”, la mappatura degli I/O precedentemente
salvata nel file .CIO
– Salva (F5) - per salvare le modifiche fatte
– Esci (F6) - per uscire dal programma IO_CLONE.

Per una descrizione dettagliata dell’uso del Programma IO_CLONE, consultare il manuale Uso dell’Unità di Controllo C5G -
Cap. Programma IO_CLONE - Esportazione/Importazione della configurazione di I/O.

Corso UEP - Terzo giorno.fm


02/0511 Pagina 22 di 23
Corso Base - USO E PROGRAMMAZIONE C5G - Terzo giorno

5.4 Istruzioni PDL2 per la comunicazione tra l’Unità di Controllo e il mondo esterno
Per gestire da programma PDL2 le comunicazioni tra il C5G e il mondo esterno, sono disponibili alcune istruzioni, variabili predefinite e built-in routines.
Le istruzioni PDL2 utili per una semplice gestione delle comunicazioni tra C5G e mondo esterno sono:
– assegnazione - assegna un valore o un’espressione ad una variabile.
– OPEN FILE Statement - stabilisce una connessione tra il programma e un dispositivo attraverso il quale eseguire operazioni di Input/Output (ad
esempio lettura o scrittura di dati).
– CLOSE FILE Statement - termina la connessione iniziata dall’istruzione OPEN FILE.
– READ Statement - legge dati in Input dal dispositivo specificato verso il programma.
– WRITE Statement - scrive dati in Output dal programma verso il dispositivo specificato.
Le variabili predefinite che possono essere usate nei programmi PDL2 per gestire le comunicazioni, appartengono alla categoria PORT System
Variables (ad esempio $DIN: Digital input, $DOUT: Digital output, $SDI: System digital input, etc.).
Le built-in routines disponibili per la manipolazione dei bit sono le seguenti:
– BIT_CLEAR Built-In Procedure - azzera un bit di una variabile o porta
– BIT_FLIP Built-In Function - serve a rilevare una transizione positiva o negativa di un bit in una delle porte analogiche seguenti: $AIN, $AOUT, $GI,
$GO, $WORD. Da usarsi come espressione di condizione, in un CONDITION HANDLER o in un’istruzione WAIT FOR: non come normale
istruzione.
– BIT_SET Built-In Procedure - mette ad 1 un bit di una variabile o porta
– BIT_TEST Built-In Function - verifica se un bit di una variabile o porta è a 1 o a 0.

Per qualsiasi ulteriore informazione, si fa riferimento all’APPENDICE - Basic Training Course - C5G USE AND PROGRAMMING -
Appendix 1.

Corso UEP - Terzo giorno.fm


Pagina 23 di 23 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Quarto giorno

Corso Base - USO E PROGRAMMAZIONE C5G - Quarto giorno


– Procedure di salvataggio dati
1 - Backup e Restore
1.1 - Backup e Restore da Terminale di Programmazione
1.2 - Backup e Restore da Programma WinC5G

– Procedure relative al software di Sistema


2 - Installazione/Aggiornamento del software di Sistema - introduzione
2.1 - Installazione/Aggiornamento del software di Sistema - procedure

– Utilizzo dell’Unità di Controllo negli Applicativi


3 - Applicativi - generalità
3.1 - Hardware
3.2 - Software
3.3 - Procedura di installazione
3.4 - Procedura di disinstallazione

– Esempi di Applicativi Comau


4 - Sistema SmartHand - Applicativo di Manipolazione
5 - Sistema SmartSpot - Applicativo di Saldatura a punti
6 - Sistema SmartArc - Applicativo di Saldatura a filo continuo

– Collision detection
7 - Collision Detection (prestazione opzionale)

– Autodeterminazione del carico


8 - Autodeterminazione del carico (prestazione opzionale)
8.1 - Procedura

Corso UEP - Quarto giorno.fm


01/0311 Pagina 1 di 30
Corso Base - USO E PROGRAMMAZIONE C5G - Quarto giorno

1 Backup e Restore
Comando di BACKUP - Salva i file desiderati, sul dispositivo specificato.
Comando di RESTORE - Ripristina i file, copiati durante un precedente Backup.

CONSIGLI PER L’USO DEL BACKUP E DEL RESTORE


Si consiglia di seguire i suggerimenti sotto elencati, al fine di capire profondamente la differenza tra eseguire una semplice copia di
file (FILER COPY (FC)) ed eseguire operazioni di backup e restore ben organizzate:
– verificare sempre che la memoria di esecuzione e il device UD: siano allineati (assenza di programmi e/o file di dati non salvati)
prima di procedere a qualsiasi operazione di Backup o Restore.
– Prima di un Backup eseguire sempre un ConfigureSaveAll (dal menu Funzione Config.(F1) della Setup page, selezionare il
comando Salva nel file di configurazione (Save) (CSA)) e dopo un Restore eseguire sempre un ConfigureLoadAll (dal menu
Funzione Config.(F1) della Setup page, selezionare il comando Carica il file di configurazione (Load) (CLA)) per ripristinare le
stesse condizioni di lavoro, basate sul file .C5G, dopo un Restart.
– Pianificare operazioni di Backup periodiche, possibilmente durante la notte.
– Comprimere il backup in un file .ZIP. Eseguire il restore decomprimendo il file .ZIP.

Il modo più semplice ed efficace è il Backup e Restore da Terminale di Programmazione: comandi Backup del Saveset (FUB/S) e Restore del Saveset
(FUR/S). Questi comandi utilizzano i SAVESET precedentemente impostati nella Setup page.

SAVESET
Ogni Saveset ha un suo nome e contiene l’indicazione del dispositivo, delle directory (ed eventuali sottodirectory) e dei file, oggetto
del comando di backup o di restore.
Per visualizzare i Saveset presenti nel sistema, vd. par. 1.3 Visualizzazione dei Saveset esistenti a pag. 4-5.

Corso UEP - Quarto giorno.fm


Pagina 2 di 30 01/0311
Corso Base - USO E PROGRAMMAZIONE C5G - Quarto giorno

1.1 Backup e Restore da Terminale di Programmazione

La procedura per eseguire il Backup o il Restore utilizzando il Terminale di Programmazione, è la seguente:

a. Selezionare la Files Page,

b. aprire il menu Utilità (F4) e selezionare il comando desiderato

b.1 se si sceglie il comando Backup (FUB) o Restore (FUR), il sistema presenta una videata (vd. figura in basso
a destra) nella quale l’utente può specificare il nome di uno o più file, oppure il nome di un SAVESET.
Selezionare la scelta desiderata.

b.1.1 Se si è scelto di specificare un nome di file (campo Nome file selezionato - vd. figura in basso a destra),
premere ENTER e editare il campo.

b.1.2 Se si è scelto di specificare un SAVESET (campo


Saveset selezionato - vd. figura a sinistra), aprire la
tendina contenente l’elenco dei Saveset disponibili e
scegliere quello di interesse. Volendo, si possono
modificare le opzioni del Saveset scelto.

b.1.3 Confermare con Ok (F5).

b.1.4 Il sistema chiede conferma dell’operazione richiesta.


Rispondere affermativamente.

b.2 Se invece si sceglie il comando Backup del Saveset


(FUB/S) o Restore del Saveset (FUR/S), il sistema
presenta l’elenco dei nomi dei Saveset esistenti nel
sistema, senza possibilità di modificarli; l’utente deve
scegliere quello che gli interessa (vd. figura nella
prossima pagina) e confermare con ENTER.

Corso UEP - Quarto giorno.fm


01/0311 Pagina 3 di 30
Corso Base - USO E PROGRAMMAZIONE C5G - Quarto giorno

b.2.1 Inserire (o confermare) il dispositivo di destinazione (in caso di Backup) o il dispositivo sorgente (in caso
di Restore). Premere ENTER per aprire il menu di scelta.

b.2.2 Scegliere e confermare con Ok (F5).

b.2.3 Il sistema chiede conferma dell’operazione richiesta. Rispondere affermativamente.

ATTENZIONE! Si ribadisce che se si vuole utilizzare un SAVESET, è indispensabile che esso sia già presente nell’elenco dei Saveset
definiti. Vd. Visualizzazione dei Saveset esistenti.

1.2 Backup e Restore da Programma WinC5G


Per eseguire i comandi di Backup e Restore da Personal Computer, si utilizza il Programma WinC5G. In questo caso si consiglia vivamente l’utilizzo dei
SAVESET. Il dispositivo di Backup di default è la disk-on-key (XD:).
La procedura da effettuare è la seguente:

a. Dalla finestra Il Terminale del WinC5G immettere il comando FilerUtilityBackup (FUB) o FilerUtilityRestore (FUR);

b. il sistema chiede il nome del file (o dei files) e le eventuali opzioni:

b.1 se si desidera semplicemente specificare il nome di un file (o di più files), digitarlo

b.2 se si desidera utilizzare il nome di un SAVESET, digitare il carattere ‘/’ e selezionare l’opzione Saveset;

b.2.1 digitare il nome del SAVESET desiderato

c. confermare premendo INVIO.

Corso UEP - Quarto giorno.fm


Pagina 4 di 30 01/0311
Corso Base - USO E PROGRAMMAZIONE C5G - Quarto giorno

1.3 Visualizzazione dei Saveset esistenti

Sul Terminale di Programmazione, Setup page, sotto-pagine Backup e Restore, vengono visualizzati i SAVESET attualmente impostati nel Sistema, per
effettuare le operazioni di backup o restore. Questa tabella può contenere al massimo 8 Saveset.

– La stringa visualizzata nella colonna NOME è il nome del Saveset, che verrà utilizzato per l’operazione di
Backup/Restore.
– PROFILO è la descrizione del contenuto del Saveset: nome del dispositivo (ad es. UD:), nome dell’eventuale
directory e sottodirectory, nome del/dei file. E’ permesso l’utilizzo del carattere ‘*’(ad es. file *.cod).
Per informazioni sull’aggiunta/modifica dei Saveset, si fa riferimento al Manuale USO dell’Unità di Controllo C5G,
Cap.Setup page, paragrafo Backup.

NOTA - Se si desidera modificare il Dispositivo da utilizzare nell’operazione di Backup/Restore, agire nella sotto-pagina Dispositivo
della Setup page.

Corso UEP - Quarto giorno.fm


01/0311 Pagina 5 di 30
Corso Base - USO E PROGRAMMAZIONE C5G - Quarto giorno

2 Installazione/Aggiornamento del software di Sistema - introduzione

Fig. Setup - ReloadSW


Per accedere ai comandi relativi a queste funzionalità, entrare in Setup page e selezionare l’icona Reload-Sw.

Da questa videata si può agire su:

– Software dell’Unità di Controllo,


– Software del Terminale di Programmazione,
– File di caratterizzazione del Robot
– Configurazione del Sistema.

Per procedere all’esecuzione dell’operazione desiderata, selezionare il dispositivo


(vd. Installazione/Aggiornamento del software di Sistema - procedure) e la checkbox desiderati.

Corso UEP - Quarto giorno.fm


Pagina 6 di 30 01/0311
Corso Base - USO E PROGRAMMAZIONE C5G - Quarto giorno

2.1 Installazione/Aggiornamento del software di Sistema - procedure

Permette di effettuare varie operazioni legate al caricamento del Software.

ATTENZIONE - Prima di selezionare l’icona Reload-Software, inserire, nella porta USB del Controllore,
una flash disk USB con l’immagine del software rilasciato da Comau, comprese le sottocartelle. Il nome
della cartella principale della versione di software, è del tipo
C5G_<V>_<v>
dove ‘V’ e ‘v’ sono l’identificativo, per esteso, della versione che si vuole caricare.
Ad esempio:
C5G_1_12
è la cartella nella quale si trova il software che ha versione 1.12
Nella videata mostrata qui sopra, inserire le necessarie informazioni.
– Nel campo DEVICE selezionare la porta nella quale è stata inserita la chiavetta USB contenente il software da caricare.
– Nei due campi VERSIONE è visualizzato, per esteso, l’identificativo della versione del Software di Sistema corrente. Nel campo DEVICE selezionare la porta
nella quale è stata inserita la chiavetta USB contenente il software da caricare.
Si noti che sulla chiavetta USB possono essere presenti differenti versioni del Software.
E’ possibile scegliere tra le seguenti procedure:
– Aggiornamento di Sistema e TP - permette di AGGIORNARE il Software di Sistema e il Software del Terminale di Programmazione
– Aggiornamento della caratterizzazione del robot - permette di AGGIORNARE i file di dati del Sistema senza perdere le configurazioni già effettuate con tool
ufficiali Comau (ad esempio stroke-end impostati, dati per slitta integrata, etc.)
– Completamento della configurazione del Sistema (.C5G) - permette di AGGIUNGERE assi e/o arm alla configurazione già esistente
– Aggiornamento del solo TP - permette di AGGIORNARE, se necessario, il Software di base del Terminale di Programmazione e il Software dell’Interfaccia
Utente
– Caricamento completo di Sistema e TP - permette di effettuare il CARICAMENTO COMPLETO del Software di Sistema del Controllore, del Terminale di
Programmazione e la caratterizzazione della macchina.
ATTENZIONE - Selezionando la procedura Caricamento completo di Sistema e TP viene persa ogni configurazione precedente del Sistema.
Selezionando Aggiornamento di Sistema e TP o Aggiornamento della caratterizzazione del robot, invece, le precedenti configurazioni vengono
conservate.
Per ulteriori dettagli sulle procedure sopra elencate, consultare il manuale USO dell’Unità di Controllo C5G - par. 5.16.13 Reload-Sw a pag. 5-199.
Corso UEP - Quarto giorno.fm
01/0311 Pagina 7 di 30
Corso Base - USO E PROGRAMMAZIONE C5G - Quarto giorno

3 Applicativi - generalità
Applicativo: insieme coordinato di Hardware (vari dispositivi che cooperano) e Software (interfaccia utente correlata con l’hardware, dedicata
all’applicativo ma aperta e flessibile) atto a fornire una determinata prestazione.
Esistono diversi tipi di applicativo preconfezionato Comau. Tra i più utilizzati ricordiamo:
– Sistema SmartHand - Applicativo di Manipolazione - (manuale Hardware: dipende dal robot scelto - manuale Software: Sistema di
Manipolazione),
– Sistema SmartSpot - Applicativo di Saldatura a punti (manuale Hardware: dipende dal robot e dal tipo di saldatura scelti - manuale Software:
Sistema di Saldatura a punti),
– Sistema SmartArc - Applicativo di Saldatura a filo continuo (manuale Hardware: dipende dal robot scelto - manuale Software: Sistema di
Saldatura a filo continuo),
– Sistema SmartGlue - Applicativo di Spalmatura sigillante (manuale Hardware: Sistema di Spalmatura sigillante - manuale Software: Sistema di
Spalmatura),
– Sistema SmartStud - Applicativo di Saldatura perni (manuale Hardware: Sistema di Saldatura Perni - manuale Software: Sistema di Saldatura
Perni),
– Sistema SmartLaser - Applicativo di Saldatura laser (manuale Hardware: SmartLaser™ - manuale Software: SmartLaser™),
– Sistema SmartIP - Applicativo di Manipolazione Interpresse (manuale Hardware: Sistema di manipolazione Interpresse - manuale Software:
SmartIP)
– Sistema SmartTchange - Sistema di Cambio Attrezzo, per applicativi di manipolazione e saldatura (manuale Hardware: Cambio utensile
automatico - manuale Software: Sistema di Cambio Attrezzo)).
L’utente, partendo dall’applicativo scelto, può
– utilizzarlo direttamente, in quanto estremamente flessibile e quindi adattabile alle varie esigenze;
– aggiungere opzioni Comau;
– personalizzare l’applicativo in autonomia.

Si consiglia di consultare i manuali specifici dei vari applicativi Comau, per avere ulteriori informazioni.

Corso UEP - Quarto giorno.fm


Pagina 8 di 30 01/0311
Corso Base - USO E PROGRAMMAZIONE C5G - Quarto giorno

3.1 Hardware

I seguenti componenti sono comuni a tutti gli applicativi:

– Unità di Controllo C5G (A): comune a tutte le applicazioni.


– Robot SMART (B) - da scegliere a seconda del tipo di
applicativo e dal tipo di utensile montato sul robot.
– Schede di Bus di Campo all’interno dell’Unità di Controllo:
DeviceNet, Profibus-DP o Profinet.
– Cavo field bus e alimentazioni.
– Connettore Multibus X93 alla base dell’armadio e Cavo
Multibus, esterno all’Unità di Controllo, che consente di
collegare il modulo master presente sull’Unità di Controllo a
eventuali moduli slave presenti sull’attrezzatura e/o sul
Robot.
– Secondo il tipo di applicativo possono essere necessari
• Allestimenti (C) - tubazioni e cavi che devono
raggiungere il robot per terminare sull’utensile montato
sul robot e
• Utensili (D) - pinze, gripper, torce, etc.
– Dispositivi esterni (E) tipici dell’applicativo specifico
(es.lubrificatore, pulizia torcia, etc.), eventualmente
collegati tramite linea seriale.

Corso UEP - Quarto giorno.fm


01/0311 Pagina 9 di 30
Corso Base - USO E PROGRAMMAZIONE C5G - Quarto giorno

3.2 Software
Le funzioni base di un applicativo, sono le seguenti:
– Interfaccia Utente sul Terminale di Programmazione
– Ambiente di programmazione integrato
– Set di Istruzioni Tecnologiche
– Tasti di gestione processo
– Gestione allarmi
– Configurazione dei segnali di I/O .

Interfaccia Utente sul Terminale di Programmazione

Appl Page I/O Page Setup Page DATA Page

Visualizza lo stato dell’applicativo Visualizza lo stato degli I/O Permette il Setup dei parametri Gestisce le tabelle dell’applicativo
dell’applicativo

Corso UEP - Quarto giorno.fm


Pagina 10 di 30 01/0311
Corso Base - USO E PROGRAMMAZIONE C5G - Quarto giorno

Ambiente di programmazione integrato Set di Istruzioni Tecnologiche


Integrazione con IDE Inserimento istruzioni tecnologiche dell’applicativo

Permette di scrivere, modificare e mettere a punto i programmi con metodo standard da Tastierino numerico

Gestione allarmi Tasti di gestione processo


Permette di utilizzare i tasti del Menu di destra (Right Menu) del R1
Alarm page
TP per svolgere speciali funzioni, proprie di ogni applicativo
(vd. figura qui a destra).
R2
Configurazione dei segnali di I/O .

R3

R4

R5
Permette di gestire messaggi di allarme e messaggi
di informazione.
R6
Permette di configurare gli I/O usati dall’applicativo (vd.Programmi per la
configurazione degli I/O).

Corso UEP - Quarto giorno.fm


01/0311 Pagina 11 di 30
Corso Base - USO E PROGRAMMAZIONE C5G - Quarto giorno

3.3 Procedura di installazione


Quando il sistema viene consegnato, l’applicativo è già correttamente installato. L’esigenza di installare un applicativo può derivare da una delle seguenti
situazioni:
– l’applicativo è installato ma non è possibile attivarlo - è il caso in cui, per errore, siano stati cancellati uno o più file dell’applicativo stesso, dalla
User Directory;
– aggiornamento dell’applicativo (installazione di una versione successiva a quella presente sul C5G) - è il caso in cui si voglia eseguire un
aggiornamento della versione dell’applicativo, mantenendo la configurazione esistente.

Per l’installazione dell’applicativo occorre eseguire le seguenti operazioni:

a. Attivare la Pagina di SETUP sul Terminale di Programmazione

b. Selezionare l’icona Install e premere ENTER per confermare

c. Premere nuovamente ENTER e, successivamente, freccia giù per selezionare il dispositivo (COMP:, XD:,
UD:, TX:) sul quale si trova l'applicativo da installare cioè SmartHand.

d. Spostare il cursore sul campo successivo e selezionare l’applicativo da installare (ENTER per aprire il menu
e freccia su o giù per selezionare). Nella videata a destra in basso, è mostrato un esempio di installazione
del Sistema SmartGlue - Applicativo di Spalmatura.

e. Confermare con ENTER

f. Premere il tasto corrispondente al comando Installa (F5) per eseguire l'installazione.

g. In caso di errore l'installazione viene bloccata, viene visualizzato un messaggio di errore e la lampada rossa
di allarme del Controllore C5G viene accesa. Si rimane in attesa della pressione del tasto di RESET.

h. Ad installazione completata è necessario eseguire un riavvio del sistema (Restart Cold).

Corso UEP - Quarto giorno.fm


Pagina 12 di 30 01/0311
Corso Base - USO E PROGRAMMAZIONE C5G - Quarto giorno

3.4 Procedura di disinstallazione


Per disinstallare il pacchetto applicativo è necessario eseguire la seguente procedura:

a. Attivare la pagina di SETUP sul Terminale di Programmazione

b. Selezionare la cartella APPL e premere ENTER

c. Selezionare l'icona Uninstall e premere ENTER (vd.figura a lato).

d. Dalla combobox che viene visualizzata, selezionare l'applicazione da


disinstallare e premere ENTER. Vd.figura a lato.

e. Alla fine della procedura verrà richiesto di effettuare una ripartenza a freddo
(Restart Cold).

Vengono ora brevemente descritti i seguenti applicativi:


– Sistema SmartHand - Applicativo di Manipolazione,
– Sistema SmartSpot - Applicativo di Saldatura a punti,
– Sistema SmartArc - Applicativo di Saldatura a filo continuo.

Corso UEP - Quarto giorno.fm


01/0311 Pagina 13 di 30
Corso Base - USO E PROGRAMMAZIONE C5G - Quarto giorno

4 Sistema SmartHand - Applicativo di Manipolazione

SmartHand è l’applicativo più semplice, la base per tutti gli altri applicativi Comau.

Il Sistema di Manipolazione consente di impiegare gripper, o attrezzatura analoga,


a comando elettro-pneumatico, abbinate ad un Robot.

Esso è un’applicazione composta da:

1 - Unità di Controllo Robot C5G

2 - Robot SMART

3 - Utensile esterno per l’esecuzione del processo tecnologico (es. gripper)

4 - Software applicativo SmartHand - Sistema di Manipolazione.

Inoltre, fanno parte del Sistema SmartHand le tubazioni e i cavi che devono
raggiungere il robot per terminare sull’utensile esterno che esegue il processo
tecnologico (Allestimenti) ed eventuali opzioni (ad es. cambio utensile, etc.).

Corso UEP - Quarto giorno.fm


Pagina 14 di 30 01/0311
Corso Base - USO E PROGRAMMAZIONE C5G - Quarto giorno

4.1 Componenti Hardware


Al momento queste informazioni non sono disponibili

4.2 Componenti Software - Sistema di Manipolazione


Il software applicativo SmartHand, installato sull’Unità di Controllo C5G, è necessario per gestire in modo semplice ed omogeneo un Sistema di
Manipolazione.

– Interfaccia Utente su TP
– Set di Istruzioni Tecnologiche
– Tasti gestione processo (menu di destra).

4.2.1 Interfaccia Utente su TP

E’ la pagina principale dell’applicativo SmatHand: visualizza lo stato dei vari gripper utilizzati dal
L1 sistema di manipolazione. L’utente può attivarla premendo il tasto Appl (L6) del menu di sinistra.
Le quattro aree di suddivisione dell'Application Page sono le seguenti
L2 – La prima area (in alto a sinistra - (1)) identifica l'applicazione selezionata, specificandone la versione
d'installazione.
L3 – La seconda (in alto a destra - (2)) chiamata Dynamic Data contiene i dati di processo più rilevanti,
inerenti all'applicazione selezionata. Tali dati sono di natura dinamica e subiscono, pertanto, un
aggiornamento al variare del valore
L4
– La terza area (in basso a sinistra - (3)), chiamata Device Status, riporta le informazioni concernenti
la configurazione hardware relativa all'applicazione selezionata.
L5
– Infine, la quarta area (in basso a destra - (4)) è l'area dedicata all'utente e pertanto chiamata User
Area. E' costituita da una tabella in cui l'utente può visualizzare, sotto forma di stringhe, le
L6 informazioni (al massimo quattro) che ritiene opportune.

Corso UEP - Quarto giorno.fm


01/0311 Pagina 15 di 30
Corso Base - USO E PROGRAMMAZIONE C5G - Quarto giorno

4.2.2 Set di Istruzioni Tecnologiche


L’utente ha a disposizione una serie di istruzioni tecnologiche dedicate alla Manipolazione, in particolare per il Gripper (vd. par. 5.2 Istruzioni Tecnologiche
a pag. 5-43 del Manuale Sistema di Manipolazione); esse servono per gestire l’apertura e chiusura bloccaggi, l’attivazione, la messa a riposo e il soffiaggio
delle ventose, la verifica della presenza o assenza dell’elemento da manipolare, il controllo della pressione dell’aria.

4.2.3 Tasti gestione processo (menu di destra)

Il menu di destra visualizza i tasti ed i “led software” per la gestione del processo di Manipolazione. Riferirsi ai due esempi nella R1
figura a destra.

– Il tasto R1 seleziona il gripper desiderato.


R2
– Il tasto R2 seleziona il tipo di componente da comandare e/o da visualizzare: bloccaggi (Seq) o ventose (Vac). Le icone dei
vari tasti sono aggiornate di conseguenza.
– Il tasto R3 incrementa il numero del componente selezionato dal tasto R2, per i comandi controllati da R4 ed R5.
– I tasti R4 ed R5 eseguono i comandi indicati nelle icone: R3
• comando soffia/aspira per Vac selezionato,
• oppure comando apre/chiude per Seq selezionato.
– Il tasto R6 gestisce il comando di DRY CYCLE (ciclo senza pezzo).

R4
A seconda della posizione del selettore di stato, ogni tasto può essere abilitato o meno.

I colori dei “led software” indicano: R5


– grigio - stato sconosciuto o ininfluente, del componente rappresentato nell’icona;
– giallo - comando inviato ma in attesa di avvenuta esecuzione;
– verde - comando eseguito.
R6
Il segnale di divieto, posto sull’icona del DRY CYCLE, indica che l’esecuzione del ciclo senza pezzo è disabilitata.
Per qualsiasi ulteriore informazione,

Corso UEP - Quarto giorno.fm


Pagina 16 di 30 01/0311
Corso Base - USO E PROGRAMMAZIONE C5G - Quarto giorno

5 Sistema SmartSpot - Applicativo di Saldatura a punti

Il Sistema di Saldatura a Punti Media Frequenza esegue la


saldatura con tecnologia a 1000 Hz mediante Pinza
elettrica o Pinza pneumatica abbinate ad un Robot.

Esso è un’applicativo composto da:

1 - Unità di Controllo Robot C5G


2 - Robot SMART5
3 - Pinza di saldatura, pneumatica o elettrica
4 - Software applicativo SmartSpot - Sistema di Saldatura
a punti
5 - Welding box
6 - Media Panel

Inoltre, fanno parte del Sistema SmartSpot le tubazioni per


aria e acqua, i cavi che devono raggiungere il robot per
terminare sulla pinza di saldatura (Allestimenti) ed
eventuali Apparecchiature per il controllo dei dispositivi
montati sul robot e/o altri dispositivi installati nei pressi del
robot, oltre a possibili opzioni (ad es. ravvivatura elettrodi,
cambio elettrodi, etc.).

Corso UEP - Quarto giorno.fm


01/0311 Pagina 17 di 30
Corso Base - USO E PROGRAMMAZIONE C5G - Quarto giorno

5.1 Componenti Hardware - Configurazioni disponibili


A seconda che si utilizzi la pinza pneumatica o la pinza elettrica, si possono avere le seguenti configurazioni:

– Configurazione per pinza pneumatica a bordo Robot


– Configurazione per pinza elettrica a bordo Robot

Tecnologia di saldatura Pinza Installazione Composizione Unità di Controllo Bus di campo

Vd. Schema di principio della configurazione


Pneumatica a bordo Robot C5G
e Composizione
Device Net
Media frequenza
Profibus-DP

C5G
Vd. Schema di principio della configurazione
Elettrica*¹ a bordo Robot comprensiva di asse
e Composizione applicazione
aggiuntivo

*¹ Con o senza bilanciamento pneumatico

5.2 Componenti Software - Sistema di Saldatura a punti


Il software applicativo SmartSpot, installato sull’Unità di Controllo C5G, è necessario per gestire in modo omogeneo un Sistema di Saldatura a Punti.
– Interfaccia Utente su TP
– Set di Istruzioni tecnologiche
– Tasti gestione processo (menu di destra).

Corso UEP - Quarto giorno.fm


Pagina 18 di 30 01/0311
Corso Base - USO E PROGRAMMAZIONE C5G - Quarto giorno

5.2.1 Interfaccia Utente su TP

E’ la pagina principale dell’applicativo SmartSpot (vedere figura a lato): visualizza lo stato dei vari
dispositivi che compongono il sistema di saldatura a punti. L’utente può attivarla premendo il tasto
L1 R1
Appl (L6) del menu di sinistra.
L2 R2 La pagina principale è organizzata in quattro quadranti:
– (1) quadrante superiore sinistro - identifica l’applicativo e ne specifica la versione.
L3 R3 – (2) quadrante superiore destro - Dynamic Data: contiene i dati di processo più rilevanti in
continuo aggiornamento
– (3) quadrante inferiore sinistro - Device Status: mostra in forma di tabella i principali dispositivi
L4 R4
gestiti dall’applicativo. Per ognuno è fornita una descrizione del tipo di oggetto (informazione
statica) e un’informazione di stato dinamica (led ROSSO = NON OK, led VERDE = OK)
L5 R5
– (4) quadrante inferiore destro - User Data: è l’area dedicata all’utente, costituita da una tabella
in cui l’utente può visualizzare le informazioni che ritiene opportune.
L6 R6

Il menu Object consente di accedere ad ulteriori pagine


oggetto, se presenti, dedicate ai vari dispositivi controllati
dall’applicativo. Ad esempio nel caso di applicativo Spot
per Pinza Elettrica è possibile accedere alla pagina ad
essa dedicata. Vedere esempio nella figura a lato.

Corso UEP - Quarto giorno.fm


01/0311 Pagina 19 di 30
Corso Base - USO E PROGRAMMAZIONE C5G - Quarto giorno

5.2.2 Set di Istruzioni tecnologiche


L’utente ha a disposizione una serie di istruzioni tecnologiche dedicate alla Saldatura a punti (vd. par. 5.2 Istruzioni Tecnologiche a pag. 5-59 del Manuale
Sistema di Saldatura a punti); esse servono per gestire il processo di saldatura, comunicare con il timer di saldatura, movimentare e controllare la pinza
(pneumatica o elettrica), gestire il cambio elettrodi, etc.

5.2.3 Tasti gestione processo (menu di destra)

Il menu di destra visualizza i tasti ed i “led software” per la gestione della saldatura a punti. Il colore dell’icona ed il colore del led indicano all’utente lo stato della
relativa softkey e della corrispondente funzione. Il criterio generale per interpretare tali colori, è il seguente:

– colore dell’icona: – colore del led:


• icona grigia - softkey disabilitata alla pressione • led nero - funzione associata NON ATTIVA
• led verde - funzione associata ATTIVA
• led giallo - comando in corso di esecuzione o
• icona visibile - softkey abilitata alla pressione incongruenza tra comando e stato della funzione associata

NOTA - L’abilitazione dei tasti R1 e R2 è configurabile dall’utente in funzione della propria applicazione.
Per default, i tasti R1 ed R2 sono abilitati soltanto quando il selettore di stato dell’Unità di Controllo è in posizione AUTO (Automatico
Locale). E’ possibile modificare tale impostazione e rendere attivi questi tasti, anche in altre posizioni del selettore di stato, tramite la
sottopagina SPOT, Avanzato dell’ambiente di SETUP, disponendo dell’opportuno livello di accesso (Tecnology 2).
Si noti che i suddetti tasti R1 ed R2 sono abilitati in tutti gli stati in cui è abilitata la saldatura.

Corso UEP - Quarto giorno.fm


Pagina 20 di 30 01/0311
Corso Base - USO E PROGRAMMAZIONE C5G - Quarto giorno

6 Sistema SmartArc - Applicativo di Saldatura a filo continuo

SmartArc è l’applicativo per la Saldatura a Filo Continuo.

Un sistema di Saldatura a Filo Continuo è soggetto a diverse


configurazioni in funzione della tipologia del pezzo da saldare,
del tipo di giunto, del processo di saldatura che si vuole
utilizzare.

Il Sistema base è composto da:

1 - Unità di Controllo Robot C5G


2 - Robot SMART5
3 - Torcia
4 -Software applicativo SmartArc - Sistema di Saldatura a
filo continuo
5 - Generatore
6 - Gruppo pulizia torcia e lubrificatore

Inoltre, fanno parte del Sistema di Saldatura a Filo Continuo


l’allestimento a bordo robot (cavo potenza e segnali), tutti i
cavi di collegamento e le eventuali opzioni (ad es. sensore
cercagiunto a filo, Seam track, etc.).

Corso UEP - Quarto giorno.fm


01/0311 Pagina 21 di 30
Corso Base - USO E PROGRAMMAZIONE C5G - Quarto giorno

6.1 Componenti Hardware - Configurazioni disponibili

L’applicazione Sistema di Saldatura a Filo Continuo è disponibile in diverse configurazioni caratterizzate per:
– processo di saldatura utilizzato
– modalità di comunicazione tra Unità di Controllo C5G e generatore
– tipo di raffreddamento (acqua o gas).

6.2 Componenti Software - Sistema di Saldatura a filo continuo

Tra le funzioni base sempre disponibili in un sistema di Saldatura a Filo Continuo, si descrivono:

– Interfaccia Utente su TP
– Set di Istruzioni Tecnologiche
– Tasti gestione processo (menu di destra).

Corso UEP - Quarto giorno.fm


Pagina 22 di 30 01/0311
Corso Base - USO E PROGRAMMAZIONE C5G - Quarto giorno

6.2.1 Interfaccia Utente su TP

E’ la pagina principale dell’applicativo SmartArc: visualizza lo stato dei vari componenti del Sistema
L1
Base. L’utente può attivarla premendo il tasto Appl (L6) del menu di sinistra.
La pagina principale è organizzata in quattro quadranti:
L2
– (1) quadrante superiore sinistro - identifica l’applicativo e ne specifica la versione.
– (2) quadrante superiore destro - Dynamic Data: contiene i dati di processo più rilevanti in continuo
L3 aggiornamento
– (3) quadrante inferiore sinistro - Device Status: mostra in forma di tabella i principali dispositivi gestiti
L4 dall’applicativo. Per ognuno è fornita una descrizione del tipo di oggetto (informazione statica) e
un’informazione di stato dinamica (led ROSSO = NON OK, led VERDE = OK)
L5 – (4) quadrante inferiore destro - User Data: è l’area dedicata all’utente, costituita da una tabella in
cui l’utente può visualizzare le informazioni che ritiene opportune.
L6

Il menu Object consente di accedere ad ulteriori pagine


oggetto, se presenti, dedicate ai vari dispositivi controllati
dall’applicativo.

– Override - Questa sotto-pagina contiene


informazioni relative al processo di saldatura e
permette la modifica, in tempo reale, dei parametri di
processo e della velocità del robot. I nuovi valori
inseriti diventano IMMEDIATAMENTE operativi! I
dati visualizzati sono:
• Dati a sola lettura (figura a sx)
• Dati modificabili (figura a dx).

– Weaving - Questa sotto-pagina contiene informazioni relative al pendolamento e ne permette la modifica in tempo reale dei parametri, usando diversi set, che
verranno chiamati attraverso la Routine a_weave.

Corso UEP - Quarto giorno.fm


01/0311 Pagina 23 di 30
Corso Base - USO E PROGRAMMAZIONE C5G - Quarto giorno

6.2.2 Set di Istruzioni Tecnologiche


L’utente ha a disposizione una serie di istruzioni tecnologiche dedicate alla Saldatura a Filo Continuo (vd. par. 5.2 Istruzioni tecnologiche a pag. 5-48 del
Manuale Sistema di Saldatura a filo continuo); esse servono per gestire l’inizializzazione delle funzioni di processo, per selezionare il programma e il
job di saldatura e/o di pendolamento, gestire la modalità di spegnimento arco, gestire le tabelle di saldatura e/o di pendolamento, etc.

6.2.3 Tasti gestione processo (menu di destra)

Il menu di destra visualizza i tasti ed i “led software” per la gestione del processo di Saldatura a Filo Continuo. Riferirsi ai due esempi
nella figura a destra.

R1
– Il tasto R1 attiva/disattiva la funzione di saldatura - WELD ON/OFF.
– Il tasto R2 attiva/disattiva la funzione di pendolamento - WEAVE ON/OFF.
– Il tasto R3 abilita/disabilita il dry run (ciclo senza esecuzione di istruzioni tecnologiche, anche se presenti nel programma di
lavoro). R2
– Il tasto R4 visualizza lo stato dell’arco intermittente abilitato dall’istruzione Routine arc_spot (prestazione opzionale). Se l’opzione
non è presente, la visualizzazione non è attiva.
– I tasti R5 ed R6 gestiscono rispettivamente l’avanzamento e l’arretramento filo.
R3

A seconda della posizione del selettore di stato, ogni tasto può essere abilitato o meno.

R4
I colori dei “led software” indicano:

– grigio - indica che l’azione non è attualmente in corso;


– giallo - funzionalità abilitata ma non attiva in quel momento; R5
– verde - funzionalità attiva.

Per quanto riguarda la visibilità delle icone, il significato è il seguente:


R6
– icona non visibile = funzionalità disabilitata (la pressione del tasto non produce alcun effetto)
– icona visibile = funzionalità abilitata (la pressione del tasto ne permette l’attivazione o la disattivazione)

Corso UEP - Quarto giorno.fm


Pagina 24 di 30 01/0311
Corso Base - USO E PROGRAMMAZIONE C5G - Quarto giorno

7 Collision Detection (prestazione opzionale)


– Concetti di base
– Attivazione/disattivazione della funzione di Collision Detection
– Attivazione/disattivazione della cedevolezza
– Tipo di sensibilità alla Collision Detection
– Affidabilità
– Utilizzo della prestazione di Collision Detection
– Gestione dell’evento di Rilevata Collisione (esempio di struttura di programma).
– Utilizzo della libreria open source CDetect.

7.1 Concetti di base


L’algoritmo di Collision Detection (prestazione opzionale) fornisce al sistema la capacità di arrestare il movimento dell’arm del robot, nel momento in cui
entrino in azione forze di disturbo sui giunti.
Questa prestazione può essere abilitata e disabilitata dall’utente, tramite una variabile di sistema, sia da Programma che da Comando di Sistema.

La funzione di Collision Detection NON è stata studiata per proteggere le persone, bensì il robot e, di conseguenza, le attrezzature!

Quando viene rilevata una condizione di collisione (messaggio di errore 62513 SAX: rilevata collisione), il sistema può entrare in una fase particolare
durante la quale il robot diventa cedevole e viene effettuata la frenata di emergenza.
La cedevolezza degli assi è stata introdotta per poter assorbire parte dell’energia dell’urto (o della eccessiva trazione nel caso di elettrodi incollati) e
minimizzare i possibili danni; tale cedevolezza è attivabile dall’utente. Si consiglia di valutare bene l’uso della stessa nella propria applicazione.
A seconda delle esigenze, a fronte del rilevamento di una collisione, è possibile:
– generare un DRIVE OFF, oppure
– mettere la macchina in stato di HOLD.
E’ anche possibile generare solo l’evento di Rilevata collisione (evento di sistema n.197). Il robot NON SI FERMA, ma prosegue il movimento
programmato: è responsabilità dell’utente gestire opportunamente l’evento scatenato, cancellando il movimento corrente, che proseguirebbe verso
l’ostacolo, e programmando la nuova traiettoria. Per fare ciò, vedere la struttura di programma d’esempio di Gestione dell’evento di Rilevata Collisione.

Corso UEP - Quarto giorno.fm


01/0311 Pagina 25 di 30
Corso Base - USO E PROGRAMMAZIONE C5G - Quarto giorno

7.2 Attivazione/disattivazione della funzione di Collision Detection


Per abilitare la prestazione di Collision Detection, il flag $CRNT_DATA[num_arm].COLL_ENBL deve essere settato dall’utente al valore TRUE, da
Programma o da Comando di Sistema:
$CRNT_DATA[num_arm].COLL_ENBL := TRUE
Di default, esso non viene resettato dal sistema ad ogni DRIVE OFF, ma rimane attivo fino a che l’utente non decida consapevolmente di disabilitare la
prestazione stessa, impostando il valore del suddetto flag a FALSE.
E’ però anche possibile chiedere la disabilitazione automatica, impostando a 1 il bit 10 della variabile di sistema
$ARM_DATA[num_arm].A_ALONG_1D[12], mediante la built-in BIT_SET.
BIT_SET($ARM_DATA[num_arm].A_ALONG_1D[12], 10)
La modifica del bit è possibile sia a run-time sia a livello di file di configurazione, ed possibile salvarla nel file .C5G.

7.3 Attivazione/disattivazione della cedevolezza


Se l’utente, a seguito di un allarme di collisione, desidera rendere cedevole l’arresto del robot, sarà suo compito abilitarne l’intervento, inserendo nei suoi
programmi l’istruzione opportuna:
BIT_SET($ARM_DATA[num_arm].A_ALONG_1D[12], 11)
Per disabilitarla, il flag potrà essere resettato introducendo nei programmi l’istruzione:
BIT_CLEAR($ARM_DATA[num_arm].A_ALONG_1D[12], 11)

Per evitare che questo bit venga inavvertitamente salvato nel .C5G e abiliti la prestazione di cedevolezza, legata al Collision Detection,
inaspettatamente dopo una ripartenza, il bit stesso verrà automaticamente resettato dal sistema nella fase di start-up.

7.4 Tipo di sensibilità alla Collision Detection


Le variabili predefinite coinvolte nella gestione della sensibilità della prestazione di Collision Detection, sono le seguenti:
– $COLL_TYPE
– $ARM_SENSITIVITY (soglie di sensibilità degli assi).

Corso UEP - Quarto giorno.fm


Pagina 26 di 30 01/0311
Corso Base - USO E PROGRAMMAZIONE C5G - Quarto giorno

7.5 Affidabilità

ATTENZIONE! Perchè l’algoritmo di Collision Detection operi in modo sicuro ed affidabile, è INDISPENSABILE che il carico sia stato
correttamente identificato dall’utente.
La prestazione di Collision Detection è strettamente dipendente da una corretta dichiarazione del carico utilizzato: la rilevazione della
collisione può essere falsata (ad es. falsa collisione durante la normale esecuzione di un Programma) da un carico mal stimato; inoltre,
nella fase di soft-servo e contemporanea decelerata ed arresto, il robot può avere comportamenti anomali a causa di un carico
sottostimato o sovrastimato.

Per questi motivi, prima di attivare la funzione di Collision Detection, l’utente deve verificare che sia stato definito con precisione il
carico utilizzato. A tale scopo utilizzare la procedura di Autodeterminazione del carico (prestazione opzionale).

7.6 Utilizzo della prestazione di Collision Detection


Data la complessità e la delicatezza della prestazione, si rimanda alla trattazione inclusa nel manuale PROGRAMMAZIONE DEL MOVIMENTO, al
par. 15.6.2 Procedura di utilizzo del collision detection a pag. 15-162.
In tale paragrafo vengono forniti tutti gli elementi per impostare correttamente le variabili del Collision Detection, per

– Identificazione delle soglie relative al ciclo di lavoro.


– Scomposizione del programma per rendere più efficiente ed efficace la prestazione
– Attivazione della prestazione
– Definizione della sensitività in modo Nodale/Modale
– Gestione delle False collisioni
– etc.

Prima di procedere all’utilizzo della prestazione di Collision Detection, si consiglia di leggere tale paragrafo con estrema attenzione!

Corso UEP - Quarto giorno.fm


01/0311 Pagina 27 di 30
Corso Base - USO E PROGRAMMAZIONE C5G - Quarto giorno

7.7 Gestione dell’evento di Rilevata Collisione


Viene qui riportato, a puro titolo di esempio, un segmento di programma che gestisce l’evento 197 di ‘rilevata collisione’.

PROGRAM colltouch
VAR pnt0006p, pnt0007p, pnt0008p: POSITION
pnt0001p, pnt0002p, pnt0003p, pnt0004p, pnt0005p: POSITION
BEGIN
CONDITION[1]:
WHEN EVENT 94 DO
UNLOCK -- ripristina per
RESUME -- successiva ripartenza
.
ENDCONDITION
CONDITION[2]NODISABLE:
WHEN EVENT 197 DO
LOCK -- blocca la macchina
CANCEL CURRENT -- cancella il movimento corrente
.
ENDCONDITION
...
ENABLE CONDITION[1]
ENABLE CONDITION[2]
...
$COLL_TYPE:=COLL_USER1
$COLL_EFFECT:=2
$CRNT_DATA[1].COLL_ENBL:=TRUE

CYCLE
MOVE TO ...
.
END colltouch

Corso UEP - Quarto giorno.fm


Pagina 28 di 30 01/0311
Corso Base - USO E PROGRAMMAZIONE C5G - Quarto giorno

7.8 Utilizzo della libreria open source CDetect


Nella directory UD:\SYS\UTIL viene rilasciata una libreria open source di nome CDetect, contenente due routine esportate, importanti per l’utilizzo della
funzionalità di Collision Detection.
Esse vengono associate alle istruzioni di movimento, come inizio e fine, per acquisire al meglio le soglie di Collision da utilizzare in quel tratto:
– CD_START (ai_coll) - indica l’inizio dell’acquisizione delle soglie di Collision.
E’ possibile specificare un parametro (ai_coll) che è il numero della tabella contenente le soglie di Collision, associata a quel tratto.
– CD_END - indica la fine dell’acquisizione delle soglie di Collision. Essa chiude l’acquisizione e il tratto di movimento, e congela i valori ad esso relativi.

Per ulteriori informazioni riguardanti l’utilizzo di queste routine, riferirsi al par. 15.7.5 Utilizzo della libreria open source CDetect a
pag. 15-170 nel manuale PROGRAMMAZIONE DEL MOVIMENTO.

Corso UEP - Quarto giorno.fm


01/0311 Pagina 29 di 30
Corso Base - USO E PROGRAMMAZIONE C5G - Quarto giorno

8 Autodeterminazione del carico (prestazione opzionale)


I robot di nuova generazione (NJ ed NJ4) sono dotati di modello dinamico completo su tutti e sei gli assi.
Data la sensibilità del modello ai parametri di carico dichiarati, è indispensabile che l’utente verifichi in ogni situazione la corretta definizione del carico
utilizzato.Una imprecisione nella dichiarazione delle caratteristiche del carico influenza negativamente le prestazioni del robot.

Attenzione: per motivi di sicurezza è molto importante che non si utilizzi la macchina senza aver prima definito i valori relativi al carico.
L’omissione o un errore grossolano nella dichiarazione del carico, possono creare potenziali situazioni di pericolo per gli utilizzatori
e le attrezzature.

Come la corretta dichiarazione delle dimensioni dell’attrezzo (variabile $TOOL) è necessaria per ottenere la precisione desiderata nell’esecuzione dei
movimenti nel mondo cartesiano, così è ugualmente necessario definire correttamente i parametri di carico che andranno ad influenzare i movimenti del
robot in termini di ottimizzazione delle prestazioni e nella salvaguardia delle componenti.
La determinazione delle caratteristiche del carico avviene utilizzando l’apposita procedura.
La procedura di Autodeterminazione del Carico, lanciando l’esecuzione di due distinti programmi di movimento che coinvolgono gli assi polso e,
parzialmente, l’asse 3 del robot, ricalcola i valori delle seguenti variabili di sistema:
– $TOOL_MASS (espresso in kg)
– $TOOL_CENTER (x, y e z)
– $TOOL_INERTIA[1..6] .
Una volta determinati, i parametri saranno immediatamente attivi e automaticamente memorizzati nell’apposita tabella creata dal TO_SET
(TT_TOOL1.var), per essere richiamati in fase di esecuzione dei cicli di movimento, ogni volta che lo stesso carico verrà utilizzato.

8.1 Procedura
I programmi di movimento per l’Autodeterminazione del Carico sono forniti da Comau in linguaggio PDL2 e differiscono a seconda del modello di robot,
in base alle caratteristiche cinematiche del robot stesso. Il loro utilizzo è fortemente consigliato, salvo impedimenti fisici presenti nell’area di lavoro del
robot.
Per informazioni dettagliate, si rimanda al manuale PROGRAMMAZIONE DEL MOVIMENTO, par. 17.7.2 Procedura a pag. 17-239.

Prima di procedere all’utilizzo della procedura di Autodeterminazione del Carico, si consiglia di leggere tale paragrafo con estrema
attenzione!

Corso UEP - Quarto giorno.fm


Pagina 30 di 30 01/0311
Basic Training Course - C5G USE AND PROGRAMMING - Appendix 1

Basic Training Course - C5G USE AND PROGRAMMING - Appendix 1

– Basic concepts

1 - Introduction to PDL2
1.2 - Data types
1.3 - Routines
1.4 - Sharing Variables and Routines

– PDL2 Statements

2 - Basic PDL2 Statements


2.1 - Flow Control Statements
2.2 - Program Control Statements
2.3 - File Manipulation Statements
2.4 - Motion Statements
2.5 - Bit Manipulation Built-in Routines
2.6 - ASSIGNMENT statement

Basic Training Course - C5G Use and Programming - Appendix 1.fm


01/0311 Pagina 1 di 19
Basic Training Course - C5G USE AND PROGRAMMING - Appendix 1

1 Introduction to PDL2

The current chapter describes just the BASIC concepts about PDL2 Language.
For a full description, the Advanced PDL2 Programming Training Course is available.

1.1 Data items


PDL2 programs can include the following kinds of data items:
– VARIABLES, representing values that can change;
– CONSTANTS, representing values that cannot change;
– LITERALS, actual values.
Variables and constants are defined by an identifier and a data type.
A VARIABLE declaration establishes a variable identifier with two attributes: a name and a data type. Within the program, the variable can be assigned
any value of the declared data type. Ex.: VAR aaa : INTEGER
A CONSTANT declaration establishes a constant identifier with two attributes: a name and an unchanging value. The data type of the CONSTANT is
understood by its assigned value, which can be an INTEGER, a REAL, a BOOLEAN, or a STRING. Within the program, the identifier can be used in place
of the value. Ex.: CONST error1 = ’file not found’
LITERAL values are actual values used in the program. They can be INTEGER, REAL, or STRING values. Ex.: 123, 98.5, ‘abc’, etc.

Please refer to the PDL2 program structure example in par. 6 Esempio di struttura on page 2-37 of the Corso Base - USO E
PROGRAMMAZIONE C5G - Secondo giorno, and in par. 3.2 Declarations on page 3-61 of the PDL2 Programming Language Manual, to
better understand when and how to declare VARIABLEs and CONSTANTs.

Basic Training Course - C5G Use and Programming - Appendix 1.fm


Pagina 2 di 19 01/0311
Basic Training Course - C5G USE AND PROGRAMMING - Appendix 1

1.2 Data types


The basic PDL2 predefined DATA TYPEs are INTEGER, REAL, BOOLEAN, STRING, ARRAY, POSITION, JOINTPOS.

1.2.1 INTEGER
The INTEGER data type represents whole number values in the range -2147483647 through +2147483647. The following predefined constants represent
the maximum and minimum INTEGER values:
– MAXINT;
– MININT.

1.2.2 REAL
The REAL data type represents numeric values that include a decimal point and a fractional part or numbers expressed in scientific notation.

1.2.3 BOOLEAN
The BOOLEAN data type represents the Boolean predefined constants TRUE (ON) and FALSE (OFF).

1.2.4 STRING
The STRING data type represents a series of characters (either ASCII or UNICODE), treated as a single unit of data.
Single quotes mark the beginning and the end of an ASCII string value. Example:
‘this is an ASCII string value‘
Double quotes mark the beginning and the end of a UNICODE string value.
“this is a UNICODE string value”

Basic Training Course - C5G Use and Programming - Appendix 1.fm


01/0311 Pagina 3 di 19
Basic Training Course - C5G USE AND PROGRAMMING - Appendix 1

1.2.5 ARRAY
The ARRAY data type represents an ordered collection of data items, all of the same type.
The programmer can declare that type to be one of the following:
INTEGER, REAL, BOOLEAN, STRING, POSITION, JOINTPOS and some other advanced data types.
The programmer can declare an ARRAY to have one or two dimensions. Individual items in an ARRAY are referenced by index numbers.
Examples:
part_1[2] -- indicates the 2nd item of part_1 array
bin[2,3] -- indicates the item in the 2nd row, 3rd column in the two dimensional bin array

1.2.6 POSITION
A POSITION data type represents a CARTESIAN position: it defines
– the LOCATION components (distances, measured in millimeters, along the x, y, z axes of the starting frame of reference),
– the ORIENTATION components (rotation angles, measured in degrees, called Euler angles), and
– the robot CONFIGURATION component (for final points of MOVE statements only; it represents a unique set of the robot joint angles that bring
the TCP on that position).

1.2.7 JOINTPOS
The JOINTPOS data type represents the actual arm joint positions, in degrees. One real component corresponds to each joint of the arm.
Individual components of a JOINTPOS, like ARRAY components, are referenced by index numbers.
Example:
PROGRAM jnttest
VAR
real_var : REAL
jointpos_var : JOINTPOS
BEGIN
real_var := jointpos_var[5] -- assigns to a REAL variable the value of the 5th joint
jointpos_var[3] := real_exp -- assigns to the 3rd joint the value of a REAL expression
END jnttest

Basic Training Course - C5G Use and Programming - Appendix 1.fm


Pagina 4 di 19 01/0311
Basic Training Course - C5G USE AND PROGRAMMING - Appendix 1

1.3 Routines
A ROUTINE is structured like a program, although it usually performs a single task.
Routines are useful to shorten and simplify the main program. Tasks that are repeated throughout a program or are common to different programs can be
isolated in individual routines.
A program can call more than one routine and can call the same routine more than once. When a program calls a routine, program control is transferred
to the routine and the statements in the routine are executed. After the routine has been executed, control is returned to the point from where the routine
was called. Routines can be called from anywhere within the executable section of a program or routine.

1.4 Sharing Variables and Routines


To share Variables and/or Routines among Programs, use one of the following methods:
– EXPORTED FROM clause - example:
PROGRAM prog1
VAR aaa: INTEGER EXPORTED FROM prog1
declares that Variable aaa can be accessed by other Programs
PROGRAM prog2
VAR aaa: INTEGER EXPORTED FROM prog1
declares that Variable aaa will be used by Program prog2 and has been declared in Program prog1. It is NEEDED to declare it in prog2 again.
– IMPORT statement and GLOBAL attribute - example:
PROGRAM prog3
VAR bbb, ccc, ddd : REAL GLOBAL
ROUTINE rout1 GLOBAL
specifies that Variables bbb, ccc, ddd and Routine rout1 belonging to prog3, can be accessed by other Programs
PROGRAM prog4
IMPORT ‘prog3’
allows to use any Variables/Routines declared as GLOBAL within prog3, so bbb, ccc, ddd Variables and rout1 Routine can be accessed by prog4.
It is NOT NEEDED to declare them again.

For further information, please refer to par. 3.2.4 Shared types, variables and routines on page 3-66 - PDL2 Programming Language
Manual.

Basic Training Course - C5G Use and Programming - Appendix 1.fm


01/0311 Pagina 5 di 19
Basic Training Course - C5G USE AND PROGRAMMING - Appendix 1

2 Basic PDL2 Statements

Basically, PDL2 language provides:

– Flow Control Statements

– Program Control Statements

– File Manipulation Statements

– Motion Statements

– Bit Manipulation Built-in Routines

– ASSIGNMENT statement.

Basic Training Course - C5G Use and Programming - Appendix 1.fm


Pagina 6 di 19 01/0311
Basic Training Course - C5G USE AND PROGRAMMING - Appendix 1

2.1 Flow Control Statements


Statements that control the execution flow within a program are called Flow Control Statements.
The basic PDL2 Execution Control statements are:
– IF Statement
– GOTO Statement

2.1.1 IF Statement

The IF statement allows a program to choose between two possible courses of action, based on the
result of a BOOLEAN expression.
If the expression is TRUE, the statements following the IF clause are executed. Program control is
then transferred to the statement following the ENDIF.
If the expression is FALSE, the statements following the IF clause are skipped and program control
is transferred to the statement following the ENDIF.
An optional ELSE clause, placed between the last statement of the IF clause and the ENDIF, can be
used to execute some statements if the BOOLEAN expression is FALSE.

IF bool_exp THEN
<statement_list_1>...
<ELSE
<statement_list_2>...
ENDIF

Basic Training Course - C5G Use and Programming - Appendix 1.fm


01/0311 Pagina 7 di 19
Basic Training Course - C5G USE AND PROGRAMMING - Appendix 1

2.1.2 GOTO Statement

The GOTO statement causes an unconditional branch. Unconditional branching permits direct
transfer of control from one part of the program to another without having to meet any conditions.
The GOTO statement transfers the program control to the place in the program specified by a
Statement LABEL.

Example:

PROGRAM prog_1
BEGIN
...
here:: WRITE (‘This is where the GOTO transfers to’)
<statement_list>...
GOTO here
...
END prog_1

NOTE THAT the Statement LABEL must be within the same ROUTINE or PROGRAM body, otherwise an error occurs.

2.1.2.1 Statement LABEL


The statement LABEL is followed by two consecutive colons (::). Executable statements may follow on the same line, or any line after the label.
See the above example (par. 2.1.2 GOTO Statement on page 5-8) to better understand how to use LABEls.

Basic Training Course - C5G Use and Programming - Appendix 1.fm


Pagina 8 di 19 01/0311
Basic Training Course - C5G USE AND PROGRAMMING - Appendix 1

2.2 Program Control Statements


Statements that control execution of entire programs are called Program Control Statements.
The basic PDL2 Program Control statements are:
– WAIT FOR Statement
– DELAY Statement
– HOLD Statement
– CYCLE and EXIT CYCLE Statements
– RETURN Statement.

2.2.1 WAIT FOR Statement


The WAIT FOR statement causes execution of the program issuing it to be suspended until the specified condition is satisfied. The syntax is as follows:

WAIT FOR cond_expr


The cond_expr indicates a Condition expression. See Chap.8. - Condition Handlers in PDL2 Programming Language Manual, for further information about
Conditions.

2.2.2 DELAY Statement


The DELAY statement causes execution of the program issuing it to be suspended for a specified period of time, expressed in milliseconds. Some events
(such as current and pending motions, conditions scanning, etc.) continue even while a program is delayed.

DELAY int_expr
The int_expr indicates the time to delay in milliseconds.

Basic Training Course - C5G Use and Programming - Appendix 1.fm


01/0311 Pagina 9 di 19
Basic Training Course - C5G USE AND PROGRAMMING - Appendix 1

2.2.3 HOLD Statement


The HOLD statement places all running holdable programs in a ready state and causes motion to decelerate to a stop.

HOLD
The HOLD statement works exactly like the HOLD button on the TP and control panel. START button must be pressed to place holdable programs back
into a running state.
The HOLD statement can be used in both holdable and non-holdable programs.

2.2.4 CYCLE and EXIT CYCLE Statements


The CYCLE statement can either be a separate statement or an option on the BEGIN statement.

CYCLE
or

BEGIN CYCLE
It allows the programmer to create a continuous cycle. When the program END statement is encountered, execution continues back at the CYCLE
statement.
The CYCLE statement is only allowed in the main program. The CYCLE statement cannot be used inside a routine. A program can contain only one
CYCLE statement.
The EXIT CYCLE statement causes program execution to skip the remainder of the current cycle and immediately begin the next cycle. An exited cycle
cannot be resumed. Exiting a CYCLE cancels all pending and current motions.
The EXIT CYCLE statement can be used in the main program as well as routines.
Exiting a cycle does NOT close files, detach resources, disable or purge condition handlers, or unlock arms. Consequently, it is more powerful than a
simple GOTO Statement.

2.2.5 RETURN Statement


The RETURN statement is used to return program control from the routine currently being executed to the place where it was called.
For function routines, it also returns a value to the calling program or routine.

RETURN <(value)>
Basic Training Course - C5G Use and Programming - Appendix 1.fm
Pagina 10 di 19 01/0311
Basic Training Course - C5G USE AND PROGRAMMING - Appendix 1

2.3 File Manipulation Statements


The basic PDL2 Statements that allow programs to manipulate files are:
– OPEN FILE Statement
– CLOSE FILE Statement
– READ Statement
– WRITE Statement.

LOGICAL UNIT NUMBERS - A logical unit number (LUN) represents a connection between a program and a physical device which the
program can communicate with. The following predefined LUNs are recognized as already being opened for I/O operations:
– LUN_TP - Teach Pendant (TP:), which is the default LUN;
– LUN_CRT - WinC4G Terminal (CRT:)
– LUN_NULL - Null device (NULL:)

2.3.1 OPEN FILE Statement


The OPEN FILE statement opens a LUN on the specified device. This establishes a connection between the program and the device through which I/O
operations can be performed.
OPEN FILE lun_var (device_str, access_str)
The lun_var can be either any INTEGER variable defined by the User or a predefined LUN.
The device_str can be any string expression representing an I/O device (a window, communication, or file device). File devices also include a file name
and file extension. The default file device is ‘UD:’.
The access_str can be any string expression representing the access which the device is to be opened with:
R -- read only
W -- write only
RW -- read and write
WA -- write append
RWA -- read and write append
Examples :
OPEN FILE file_lun (‘stats.dat’, ‘R’) -- opens file stats.dat, read only
OPEN FILE comm_lun (‘COM1:’, ‘R’) -- opens comm port COM1:, read only

Basic Training Course - C5G Use and Programming - Appendix 1.fm


01/0311 Pagina 11 di 19
Basic Training Course - C5G USE AND PROGRAMMING - Appendix 1

2.3.2 CLOSE FILE Statement


The CLOSE FILE statement closes a LUN, ending the connection between the program and the device.
CLOSE FILE lun_var
The lun_var can be either any INTEGER variable defined by the User or a predefined LUN, representing an open LUN. It is possible to specify the reserved
word ALL instead of a LUN: this will close all files opened by the program.

2.3.3 READ Statement


The READ statement reads input data into program variables from the specified LUN.
The syntax of the READ statement is as follows:
READ <lun_var> (var_id <, var_id>...)
The lun_var can be either any INTEGER variable defined by the User or a predefined LUN. The default LUN is used if a lun_var is not specified.
The var_ids are variable identifiers for the input data.
Example:
READ (body_type, total_units, operator_id) -- reads three values from the default LUN

2.3.4 WRITE Statement


The WRITE statement writes output data from a program to the specified LUN.
The syntax of the WRITE statement is as follows:
WRITE <lun_var> (expr <, expr>...)
The lun_var can be either any INTEGER variable defined by the User or a predefined LUN. The default LUN is used if a lun_var is not specified.
The expr can be any expression of INTEGER, REAL, BOOLEAN, STRING, POSITION, JOINTPOS data type.
Example:
WRITE (‘Enter body style, units to process, and operator id.’, NL)

The reserved word NL (new line) can also be used as a data item. NL causes a new line to be output. See the shown above example.

Basic Training Course - C5G Use and Programming - Appendix 1.fm


Pagina 12 di 19 01/0311
Basic Training Course - C5G USE AND PROGRAMMING - Appendix 1

2.4 Motion Statements


This section describes the PDL2 statements that control arm motion: MOVE statements.
The syntax of the MOVE statement is as follows:
MOVE <arm_clause> <traj_clause> dest_clause <opt_clauses>
The following sections describe the shown above motion items:
– ARM Clause
– TRAJECTORY Clause
– DESTINATION Clause
– Optional Clauses.

2.4.1 ARM Clause


The arm_clause designates which arm is to be moved as part of a MOVE statement. For programs that control a single arm only, no designation is needed.
If an arm clause is not included, the default arm is used. The programmer can designate a default arm as a program attribute in the PROGRAM statement,
as follows:
PROGRAM armtest PROG_ARM=1
. . .
BEGIN
MOVE TO dest -- moves arm 1
MOVE ARM[2] TO dest_2 -- moves to arm 2
END armtest
If a statement needs more than a single line, commas can be used to end a line after the destination clause or after each optional clause. The reserved
word ENDMOVE must then be used to indicate the end of the statement.

Basic Training Course - C5G Use and Programming - Appendix 1.fm


01/0311 Pagina 13 di 19
Basic Training Course - C5G USE AND PROGRAMMING - Appendix 1

2.4.2 TRAJECTORY Clause


The traj_clause specifies the trajectory type: JOINT, LINEAR, CIRCULAR. The trajectory, when specified with the MOVE statement, only affects the
motion for which it is designated.
If a trajectory clause is not included in the MOVE statement, the value of the predefined variable $MOVE_TYPE is used.
Examples:
$MOVE_TYPE := JOINT -- assigns modal value
MOVE TO perch -- joint move
MOVE LINEAR TO slot -- linear move
MOVE TO perch -- joint move

2.4.3 DESTINATION Clause


The dest_clause specifies the kind of MOVE and its destination. There are the following forms of the destination clause:

Fig. 1 - MOVE TO, NEAR and AWAY

– MOVE TO

– MOVE NEAR

– MOVE AWAY

– MOVE RELATIVE.

Basic Training Course - C5G Use and Programming - Appendix 1.fm


Pagina 14 di 19 01/0311
Basic Training Course - C5G USE AND PROGRAMMING - Appendix 1

2.4.3.1 MOVE TO
MOVE TO moves the designated arm to a specified destination. See Fig. 1 - MOVE TO, NEAR and AWAY for further information. The destination can be
any expression resulting in one of the following types:
– POSITION
– JOINTPOS.
Examples:
MOVE LINEAR TO pos(x, y, z, e1, e2, e3, config)
MOVE TO dest1
MOVE TO home

2.4.3.2 MOVE NEAR


MOVE NEAR allows the programmer to specify a destination along the tool approach vector that is within a specified distance from a position. The distance,
specified as a real expression, is measured in millimeters along the negative tool approach vector. The destination can be any expression resulting in one
of the following types:
– POSITION
– JOINTPOS.
See Fig. 1 - MOVE TO, NEAR and AWAY for further information.
Example:
MOVE NEAR destination BY 250.0

2.4.3.3 MOVE AWAY


MOVE AWAY allows the programmer to specify a destination along the tool approach vector that is a specified distance away from the current position.
The distance, specified as a real expression, is measured in millimeters along the negative tool approach vector. See Fig. 1 - MOVE TO, NEAR and AWAY
for further information.
Example:
MOVE AWAY 250.0

Basic Training Course - C5G Use and Programming - Appendix 1.fm


01/0311 Pagina 15 di 19
Basic Training Course - C5G USE AND PROGRAMMING - Appendix 1

2.4.3.4 MOVE RELATIVE

MOVE RELATIVE allows the programmer to specify a destination relative to the


current location of the arm. The destination is indicated by a vector expression,
measured in millimeters, using the specified coordinate frame.

Example:

MOVE RELATIVE VEC(100, 0, 100) IN TOOL

The item following the reserved word IN is a frame specification which must be one
of the predefined constants TOOL, BASE, or UFRAME.

Basic Training Course - C5G Use and Programming - Appendix 1.fm


Pagina 16 di 19 01/0311
Basic Training Course - C5G USE AND PROGRAMMING - Appendix 1

2.4.4 Optional Clauses


Optional clauses can be used to provide more detailed instructions for the motion. An important optional clause is the WITH Clause, described in the next
section.

2.4.4.1 WITH Clause


The optional WITH clause can specify temporary values for predefined motion variables which just apply for the duration of the motion.
The WITH clause only affects the motion caused by the current MOVE statement. Previous motions or those that follow are not affected.
The syntax of the WITH clause is as follows:
WITH designation <, designation>...
where designation means
predefined_motion_variable = value
For a full list of the allowed predefined motion variables, see par. 4.1.4.3 WITH Clause on page 4-83 in PDL2 Programming Language Manual.
Examples:
MOVE TO p1 WITH $PROG_SPD_OVR = 50 -- the program speed override is 50% just during the current motion

MOVE TO p1 WITH $ARM_DATA[1].ARM_SPD_OVR = 20, $TERM_TYPE = FINE -- the arm speed override is 20% and
-- the type of motion termination is
-- FINE, just during the current motion

MOVE TO p1 WITH $PROG_SPD_OVR = 50, -- the program speed override is 50%,


WITH $MOVE_TYPE = LINEAR, -- the motion type is LINEAR,
WITH $TOOL = drive_tool, -- the reference frame is drive_tool, just during the current motion
ENDMOVE

Basic Training Course - C5G Use and Programming - Appendix 1.fm


01/0311 Pagina 17 di 19
Basic Training Course - C5G USE AND PROGRAMMING - Appendix 1

2.5 Bit Manipulation Built-in Routines


The following are two predefined routines (referred to as built-in routines) made available by PDL2 language, to support bit manipulation.
– BIT_CLEAR Built-In Procedure
– BIT_SET Built-In Procedure
– BIT_TEST Built-In Function.

2.5.1 BIT_CLEAR Built-In Procedure


The BIT_CLEAR procedure clears (put to 0) ONE bit of either an INTEGER variable or a port.
BIT_CLEAR(var_ref, bit_num)
The user must indicate the following information:
– var_ref - the INTEGER variable or port name
– bit_num - an expression indicating the bit to be cleared (1..32)
Examples:
BIT_CLEAR(var1, 1) -- clears the 1st bit of variable var1
BIT_CLEAR(var2, bit_num) -- clears the bit specified in bit_num variable, of variable var2
BIT_CLEAR($WORD[4], 1) -- clears the 1st bit of the 4th $WORD predefined variable

2.5.2 BIT_SET Built-In Procedure


The BIT_SET procedure sets (put to 1) ONE bit of either an INTEGER variable or a port.
BIT_SET(var_ref, bit_num)
The user must indicate the following information:
– var_ref - the INTEGER variable or port name
– bit_num - an expression indicating the bit to be set (1..32)
Examples:
BIT_SET(var1, 1) -- sets the 1st bit of variable var1
BIT_SET(var2, bit_num) -- sets the bit specified in bit_num variable, of variable var2
BIT_SET($BYTE[2], 1) -- clears the 1st bit of the 2nd $BYTE predefined variable

Basic Training Course - C5G Use and Programming - Appendix 1.fm


Pagina 18 di 19 01/0311
Basic Training Course - C5G USE AND PROGRAMMING - Appendix 1

2.5.3 BIT_TEST Built-In Function


The BIT_TEST Built-In function returns a BOOLEAN value indicating whether a bit of an INTEGER is set or cleared.
bool_var := BIT_TEST(test_val, bit_num <, bit_state>)
The user must indicate the following information:
– test_val - INTEGER value whose bit is to be tested. test_val can be an expression, a user defined variable reference, or a system port reference.
– bit_num - INTEGER value specifying the bit to be tested. The value must be in the range 1 to 32 where 1 corresponds to the least significant bit of
the INTEGER.
– bit_state - BOOLEAN value indicating the desired bit state to test for. If not specified, ON is assumed.
– bool_var - BOOLEAN returned value: TRUE if the bit_num bit in test_val is currently set to bit_state; FALSE if not.
Examples:
bool_var:= BIT_TEST($WORD[index], bit_num)
bool_var:= BIT_TEST(test_val, bit_num)
bool_var:= BIT_TEST(test_val, bit_num, FALSE)

2.6 ASSIGNMENT statement


The most common statement is the ASSIGNMENT statement. The ASSIGNMENT statement ( := ) specifies a new value of a variable, using the result of
an evaluated expression. The value resulting from the expression must be of the same data type as the variable.
The syntax is:

variable := expression

Basic Training Course - C5G Use and Programming - Appendix 1.fm


01/0311 Pagina 19 di 19
Corso Base - USO E PROGRAMMAZIONE C5G - Appendice 2

Corso Base - USO E PROGRAMMAZIONE C5G - Appendice 2

– Programmi d’esempio

1 - Esempio n.1

2 - Esempio n.2

3 - Esempio n.3

4 - Esempio n.4

5 - Esempio n.5

6 - Esempio n.6

7 - Esempio n.7

Corso UEP - Appendice 2 _it.fm


Pagina 1 di 11 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Appendice 2

1 Esempio n.1
PROGRAM prog_0

--*** DICHIARAZIONE VARIABILI ***--

VAR scelta_prog : INTEGER -- VARIABILE PER SCELTA PROGRAMMA

--*** Definizione ROUTINE da utilizzare in questo programma ***--

ROUTINE call_prog_cambio_tool EXPORTED FROM prog_0


......................................

ROUTINE call_prog_cambio_tool
BEGIN
......................................

-- ------------------------ Corpo del Main -----------------------------

BEGIN
call_prog_0
END prog_0

Corso UEP - Appendice 2 _it.fm


02/0511 Pagina 2 di 11
Corso Base - USO E PROGRAMMAZIONE C5G - Appendice 2

2 Esempio n.2
PROGRAM prog_esempio1 PROG_ARM = 1, STACK = 2048

--*** DICHIARAZIONE VARIABILI ***--

VAR jnt0001J, jnt0002J, jnt0003J, jnt0004J, jnt0005J : JOINTPOS FOR ARM[1]


pnt0006P, pnt0007P, pnt0008P, pnt0009P, pnt0010P : POSITION
pnt0011P, pnt0012P, pnt0013P, pnt0015P, pnt0014P : POSITION
pnt0016P, pnt0017P, pnt0018P, pnt0019P, pnt0020P : POSITION

--*** Definizione ROUTINE da utilizzare in questo programma ***--

ROUTINE call_prog_esempio1 EXPORTED FROM prog_esempio1


ROUTINE call_prog_esempio1
BEGIN
l_1::
MOVE JOINT TO jnt0001J -- prima move
MOVE JOINT TO pnt0010P
MOVE CIRCULAR TO pnt0013P VIA pnt0012P
MOVE CIRCULAR TO pnt0015P VIA pnt0014P
MOVEFLY LINEAR TO pnt0016p ADVANCE
MOVEFLY CIRCULAR TO pnt0017P VIA pnt0018P ADVANCE
MOVE JOINT TO pnt0019P
MOVE JOINT TO jnt0002J -- ultima move
GOTO l_1
END call_prog_esempio1

-- ------------------------ corpo del main -----------------------------

BEGIN
call_prog_esempio1
END prog_esempio1

Corso UEP - Appendice 2 _it.fm


Pagina 3 di 11 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Appendice 2

3 Esempio n.3
PROGRAM prog_esempio2 PROG_ARM = 1, STACK = 2048

--*** DICHIARAZIONE VARIABILI ***--


VAR pnt0061P, pnt0062P, pnt0063P, pnt0064P, pnt0065P : POSITION
pnt0056P, pnt0057P, pnt0058P, pnt0059P, pnt0060P : POSITION

--*** Definizione ROUTINE da utilizzare in questo programma ***--


ROUTINE call_prog_esempio2 EXPORTED FROM prog_esempio2
ROUTINE call_prog_esempio2
BEGIN
l_1::
MOVE JOINT TO pnt0064P -- prima move
$ARM_ovr:=90 -- velocita impostata al 90%
MOVE JOINT TO pnt0001P
MOVEFLY JOINT TO pnt0050P ADVANCE
MOVEFLY Linear TO pnt0052P ADVANCE
$arm_ovr:= 30 -- velocita impostata al 30%
MOVEFLY JOINT TO pnt0050P ADVANCE
MOVE JOINT TO pnt0001P
MOVEFLY linear TO pnt0050P ADVANCE
MOVEFLY JOINT TO pnt0052P ADVANCE
$arm_spd_ovr:= 60 -- velocita impostata al 90%
MOVEFLY JOINT TO pnt0050P ADVANCE
MOVE JOINT TO pnt0001P
MOVEFLY Linear TO pnt0062P ADVANCE -- ultima move
GOTO l_1
END call_prog_esempio2

-- ------------------------ corpo del main -----------------------------


BEGIN
call_prog_esempio2
END prog_esempio2

Corso UEP - Appendice 2 _it.fm


02/0511 Pagina 4 di 11
Corso Base - USO E PROGRAMMAZIONE C5G - Appendice 2

4 Esempio n.4
PROGRAM prog_esempio3 PROG_ARM = 1, STACK = 2048

--*** DICHIARAZIONE VARIABILI ***--

VAR pnt0061P, pnt0062P, pnt0063P, pnt0064P, pnt0065P : POSITION


...................................

--*** Definizione ROUTINE da utilizzare in questo programma ***--

ROUTINE call_prog_esempio3 EXPORTED FROM prog_esempio3


ROUTINE call_prog_esempio3
BEGIN
l_8::
MOVE JOINT TO pnt0064P
...................................
GOTO l_8
END call_prog_esempio3

-- ------------------------ corpo del main -----------------------------


BEGIN
call_prog_esempio3
END prog_esempio3

Corso UEP - Appendice 2 _it.fm


Pagina 5 di 11 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Appendice 2

5 Esempio n.5
--$PROP_REVISION:$
--$PROP_TITLE:$
--$PROP_HELP:$
--$PROP_VERSION:0.70.200$
--$PROP_DATE:08-Apr-11 09:20:28$
--$PROP_AUTHOR:CMU5443$
--$PROP_HOST:OITTO1NX0000148$
--$PROP_UVL:0$
--$PROP_UML:0$

PROGRAM prog_EuroPallet PROG_ARM = 1

--*** DICHIARAZIONE COSTANTI ***--

CONST

-- Ingressi da PLC --
-----------------------------------

DI_Cons_Prel_EuroPallet = 119
DI_Cons_Dep_EuroPallet = 120

-- Uscite a PLC --
-----------------------------------
-- PLC S7-200
DO_Cmd_Pinza_Estratta = 109
DO_Cmd_Pinza_Retratta = 110

--*** DICHIARAZIONE VARIABILI ***--

VAR jnt0001J, jnt0002J, jnt0003J, jnt0004J, jnt0005J : JOINTPOS FOR ARM[1]


pnt0004P, pnt0005P, pnt0006P, pnt0007P, pnt0008P : POSITION

Corso UEP - Appendice 2 _it.fm


02/0511 Pagina 6 di 11
Corso Base - USO E PROGRAMMAZIONE C5G - Appendice 2

-- Joint Position Fuori Ingombro


VAR GJ_Riposo : JOINTPOS EXPORTED FROM ez_ulib
VAR GJ_Manutenzione : JOINTPOS EXPORTED FROM ez_ulib

--*** Definizione ROUTINE da utilizzare in questo programma ***--

ROUTINE ToolFrame(ai_tool, ai_frame, ai_arm : INTEGER()) EXPORTED FROM TT_TOOL GLOBAL


ROUTINE ru_chiudi_pinza_pal EXPORTED FROM ez_ulib -- Chiusura Pinza Pallet
ROUTINE Call_Prog_EuroPallet EXPORTED FROM prog_EuroPallet -- Programma Di Prelievo/Deposito EuroPallet

----*** Dichiarazione ROUTINE del prog_europallet***----

ROUTINE Call_Prog_EuroPallet -- Programma Di Prelievo/Deposito EuroPallet

--*** CORPO DELLA ROUTINE ***--

BEGIN

ToolFrame(1, 1, 1)

-- Reset Robot A Riposo


$DOUT[DO_Riposo] := OFF

END Call_Prog_EuroPallet

--*** CORPO DEL MAIN DEL PROGRAMMA ***--

BEGIN

Call_Prog_EuroPallet

END prog_EuroPallet

Corso UEP - Appendice 2 _it.fm


Pagina 7 di 11 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Appendice 2

6 Esempio n.6
PROGRAM R062PG00

CONST
start_programma = 256
fine_programma = 261
programma_in_esecuzione = 262

VAR pnt0001P, pnt0002P, pnt0003P : POSITION


rip0000j : JOINTPOS EXPORTED FROM lrobot

ROUTINE reset_signal EXPORTED FROM lrobot


ROUTINE anomalia(ai_numero_allarme : INTEGER; as_mod_name : STRING) EXPORTED FROM lrobot
ROUTINE code_prg : INTEGER EXPORTED FROM lrobot
ROUTINE check_rip EXPORTED FROM lrobot
ROUTINE attesa(inp : INTEGER; stato : BOOLEAN) EXPORTED FROM lrobot

----------------------------------
--- ---
---- Lista programmi di lavoro ---
--- ---
----------------------------------
ROUTINE call_WARMUP EXPORTED FROM WARMUP
ROUTINE call_R62PG01 EXPORTED FROM R62PG01
ROUTINE call_R62PG02 EXPORTED FROM R62PG02
ROUTINE call_R62PG03 EXPORTED FROM R62PG03
ROUTINE call_R62PG04 EXPORTED FROM R62PG04

BEGIN

l_1::

reset_signal -- Routine di reset segnali al plc

Corso UEP - Appendice 2 _it.fm


02/0511 Pagina 8 di 11
Corso Base - USO E PROGRAMMAZIONE C5G - Appendice 2

MOVE JOINT TO rip0000j -- Home position

check_rip -- Routine di controllo robot a riposo

WRITE ('ATTESA CODICE PROGRAMMA', NL) -- testo informativo su pagina TP-INT


attesa(start_programma, ON) -- routine di attesa di un segnale

DELAY 500
SELECT code_prg OF -- selezione tramite un ingresso da plc

CASE (1):
call_R62PG01 -- prog 1

CASE (2):
call_R62PG02 -- prog 2

CASE (3):
call_R62PG03 -- prog 3

CASE (4):
call_R62PG04 -- prog 4

CASE (99):
call_WARMUP -- prog di riscaldamento

ELSE:
-- routine di segnalazione anomalie
anomalia(2, 'R062PG00 errore nella selezione del programma')
DELAY 5000

ENDSELECT

GOTO l_1
END R062PG00
Corso UEP - Appendice 2 _it.fm
Pagina 9 di 11 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Appendice 2

7 Esempio n.7
PROGRAM r112sc_marriage PROG_ARM = 1, STACK = 2048

---*** Costanti del Programma***----

CONST

-- INPUT ROBOT
consenso_ingresso_in_area_1 = 288
consenso_svincolo_molla = 292
consenso_prelievo = 293

-- OUTPUT ROBOT
fine_programma_robot = 261
robot_fuori_ingombro_area_1 = 288
fine_processo_1 = 289

---*** Punti e Variabili del Programma ***----

VAR pnt0022P, pnt0023P, pnt0024P : POSITION

ROUTINE gripper_sequence(ai_grip, ai_seq : INTEGER; ab_state, ab_check : BOOLEAN) EXPORTED FROM h_hand GLOBAL
ROUTINE ToolFrame(ai_tool, ai_frame, ai_arm : INTEGER()) EXPORTED FROM tt_tool GLOBAL

ROUTINE call_r112sc_marriage EXPORTED FROM r112sc_marriage


ROUTINE call_r112sc_marriage

BEGIN

ToolFrame(7, 0, 1) -- scelta del tool e del frame


$TERM_TYPE := COARSE -- settaggio entrata in soglia

Corso UEP - Appendice 2 _it.fm


02/0511 Pagina 10 di 11
Corso Base - USO E PROGRAMMAZIONE C5G - Appendice 2

$ARM_OVR := 100 -- settaggio velocita


$FLY_PER := 100 -- setaggio della percentuale di fly

-- sequenza di apertura\chiusura gripper dell'applicativo Comau Smart hand


gripper_sequence(1, 1, OFF, ON)

--**** Movimenti per Presa\Deposito del pezzo ****-----

MOVEFLY JOINT TO pnt0014P ADVANCE


MOVE JOINT TO pnt0006P

$dout[fine_processo_1]:= ON
$dout[robot_fuori_ingombro_area_1]:= ON

END call_r112sc_marriage

BEGIN
call_r112sc_marriage
END r112sc_marriage

Corso UEP - Appendice 2 _it.fm


Pagina 11 di 11 02/0511
Corso Base - USO E PROGRAMMAZIONE C5G - Appendice 3

Corso Base - USO E PROGRAMMAZIONE C5G - Appendice 3


– Esercizi riassuntivi
1 - Esercizi

Corso UEP - Appendice 3_it.fm


01/0311 Pagina 1 di 2
Corso Base - USO E PROGRAMMAZIONE C5G - Appendice 3

1 Esercizi

1. Movimentazione generale del Robot.


2. Movimentazione del Robot in Joint, Tool, Base e Uframe.
3. Esecuzione Tool (con i due metodi)
4. Esecuzione Frame
5. Creazione di un programma di movimentazione con i diversi tipi di movimento:
• Linear
• Joint
• Circular
• Creare un punto con variabile JNT (punto di riposo)
6. Creazione di un programma con diversi punti FLY, utilizzando velocità diverse in ognuno di essi, per capire il comportamento del Robot
in un punto FLY alle diverse velocità
7. Creazione di un programma NO HOLD utilizzando i tasti U1 U2 U3 U4 e i rispettivi "led"
8. Settaggio di ingressi e uscite
9. Creazione di un programma di manipolazione utilizzando gli ingressi e le uscite settate precedentemente per la manina
10. Creazione di un programma NO HOLD che aspetta un consenso da parte dell’operatore (utilizzando il tasto U1 per esempio) e che, una
volta ricevuto il consenso, chiama il programma di manipolazione creato precedentemente
11. Modifica del programma di manipolazione, su WinC5G, inserendo $ARM_SPD_OVR, $TERM_TYPE, $FLY_PER ecc.
12. Spostamento del piano di lavoro e rifacimento del frame al programma di manipolazione
13. Dov'è possibile, fare la stessa prova con il Tool (cambiandolo o spostandolo)
14. Creazione di un programma su WinC5G, caricamento sul robot e assegnazione della posizione fisica ai punti del programma
15. Configurazione di una scheda Profibus o DeviceNet (da TP e da WinC5G)
16. Creazione di un programma Offline nel quale vengono utilizzate ROUTINE, COSTANTI e VARIABILI (è possibile modificare il
programma di manipolazione creato precedentemente) - vd. par. 1.1 Data items a pag. 5-2 e par. 1.3 Routines a pag. 5-5 nel Cap. Basic
Training Course - C5G USE AND PROGRAMMING - Appendix 1:
– nel programma cercare di utilizzare le istruzioni di base del PDL2 (vd. par. 2 Basic PDL2 Statements a pag. 5-6 nel Cap. Basic
Training Course - C5G USE AND PROGRAMMING - Appendix 1).

Corso UEP - Appendice 3_it.fm


Pagina 2 di 2 01/0311

Potrebbero piacerti anche