Sei sulla pagina 1di 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à s