corso di automazione industriale - vfioraso.it · universit à degli studi di bergamo - corso di...
TRANSCRIPT
UNIVERSITAUNIVERSITA’’
degli STUDI di BERGAMOdegli STUDI di BERGAMO
FACOLTAFACOLTA’’ di INGEGNERIAdi INGEGNERIA
Corso di Corso di
AUTOMAZIONE INDUSTRIALEAUTOMAZIONE INDUSTRIALE
Prof. Andrea Cataldo
ARGOMENTI delle
ESERCITAZIONI
UniversitUniversitàà degli Studi di Bergamodegli Studi di Bergamo -- Corso di Automazione IndustrialeCorso di Automazione Industriale
CONTROLLO del MOTO CONTROLLO del MOTO
per MACCHINE UTENSILIper MACCHINE UTENSILIin AULA
CONTROLLO NUMERICOCONTROLLO NUMERICO in AULA
PROGETTAZIONE del PROGETTAZIONE del
CONTROLLO CONTROLLO
MATLAB MATLAB -- SIMULINKSIMULINK
in
LABORATORIO
… OBIETTIVI
UniversitUniversitàà degli Studi di Bergamodegli Studi di Bergamo -- Corso di Automazione IndustrialeCorso di Automazione Industriale
N1 G00 X 0.00 Y 50.00 N2 G01 X 0.00 Y 200.00 N3 G02 X 50.00 Y 250.00 I 50.00 J 200.00 N4 G01 X 200.00 Y 250.00 N5 G02 X 250.00 Y 200.00 I 200.00 J 200.00 N6 G01 X 250.00 Y 50.00 N7 G02 X 200.00 Y 0.00 I 200.00 J 50.00 N8 G01 X 50.00 Y 0.00 N9 G02 X 0.00 Y 50.00 I 50.00 J 50.00
(0,0)
Part program
R
x
yz
x
yz
PERCORSO
UTENSILE
DESIDERATO
Motore
Rotativo
Motore
Lineare
CONTROLLO NUMERICO…?
Il controllo numerico è un dispositivo Hardware e Software
utilizzato per controllare macchine utensili tramite istruzioni di
comando codificate in un programma detto PART PROGRAM, nel quale vengono fornite le indicazioni geometriche e tecnologiche necessarie a realizzare il pezzo.
UniversitUniversitàà degli Studi di Bergamodegli Studi di Bergamo -- Corso di Automazione IndustrialeCorso di Automazione Industriale
OUT PUTOUT PUT
•• Segnali di Controllo AsseSegnali di Controllo Asse
•• Segnali AusiliariSegnali Ausiliari
IN PUTIN PUT
•• Part ProgramPart Program
…… UNITAUNITA’’•• PART PROGRAMPART PROGRAM
•• INTERFACCIA UOMOINTERFACCIA UOMO--MACCHINAMACCHINA
•• CONTROLLO del MOVIMENTO (Moto)CONTROLLO del MOVIMENTO (Moto)
•• CONTROLLO ASSE (Modulante)CONTROLLO ASSE (Modulante)
•• CONTROLLO LOGICOCONTROLLO LOGICOAz. Asse XAz. Asse Y
Az. Asse Z Az.
Ausiliari
(1) PART PROGRAM…?
UniversitUniversitàà degli Studi di Bergamodegli Studi di Bergamo -- Corso di Automazione IndustrialeCorso di Automazione Industriale
Il Part Program è file di testo [Standard ISO 6983 (G-CODES)] in formato ASCII, ovvero una stringa di caratteri alfanumerici
in cui ogni “mattoncino” è costituito rispettivamente da un valore letterale e da un valore numerico.
N010 G91 X25.00 Y10.00 Z-15.50 F150 S1100 T06 M06
… REGOLE
1. Ogni stringa inizia sempre con un “mattoncino” recante la lettera N che indica il numero del blocco di comando (linea di codice del Part Program) da eseguire.
UniversitUniversitàà degli Studi di Bergamodegli Studi di Bergamo -- Corso di Automazione IndustrialeCorso di Automazione Industriale
2. Il “mattoncino” con la lettera G indica le funzioni preparatorie cioè quelle operazioni che servono a preparare i movimenti
e le posizioni dell’utensile.
G00 Posizionamento rapido dell’utensile: massima velocità programmata
G01 Interpolazione lineare : l’utensile percorre una retta
G02 Interpolazione circolare dell’utensile in senso orario
G03 Interpolazione circolare dell’utensile in senso antiorario
G17 X-Y Piano principale; G18 Z-X Piano principale
G19 Y-Z Piano principale
G90 Sistema di riferimento assoluto
G91 Sistema di Riferimento Incrementale
3. I “mattoncini” con le lettere X, Y, Z, fornisco informazioni riguardo il percorso utensile, ovvero la posizione degli assi
di riferimento principali [mm, pollici].
UniversitUniversitàà degli Studi di Bergamodegli Studi di Bergamo -- Corso di Automazione IndustrialeCorso di Automazione Industriale
4. La lettera F (feed) indica la velocità di avanzamento dell’utensile [mm/min].
5. La lettera S (speed) indica la velocità di rotazione del mandrino [giri/min].
6. La lettera T (tool) indica l’utensile selezionato.
M02 Programma finito
M03 Mandrino acceso senso orario
M04 Mandrino acceso senso antiorario
M05 Mandrino spento
M06 Fermata per cambio utensile
M08 Valvola liquido aperta
7. La lettera M indica le funzioni ausiliarie, ovvero le funzioni di controllo per i dispositivi ausiliari.
M09 Valvola liquido chiusa
M30 Programma fermo,
avanzamento /rotazione off
UniversitUniversitàà degli Studi di Bergamodegli Studi di Bergamo -- Corso di Automazione IndustrialeCorso di Automazione Industriale
• Istruzioni MODALI: istruzioni che rimangono valide finché non vengono
riassettate per esempio: G90, G1, F1000, S500, X5,
Z5, Y5.
• Istruzioni NON-MODALI:
sono le istruzioni che valgono solo per la riga di comando che li contiene, per esempio: T03, M06,
M03.
… CONCLUSIONI (1)
A
B
C
Y
X
Z
Assi Principali (X,Y,Z)
Rotazioni Principali (A,B,C)
Assi Secondari (U,V,W)
…PREPARAZIONE del
PART PROGRAM…?
UniversitUniversitàà degli Studi di Bergamodegli Studi di Bergamo -- Corso di Automazione IndustrialeCorso di Automazione Industriale
a. MANUALEutilizzata solo per
geometrie semplici
b. AUTOMATICAutilizzata per geometrie complesse: sfruttando il
CAD ed il CAM (Computer Aided Manufacturing) si
genera un file CLDATA, scritto in un linguaggio indipendente dal CNC, che viene successivamente trasformato in Part Program.
(1) ESEMPIO
UniversitUniversitàà degli Studi di Bergamodegli Studi di Bergamo -- Corso di Automazione IndustrialeCorso di Automazione Industriale
Operazione di“CONTORNATURA”
sapendo che:
• il sistema di riferimento
è assoluto
• le posizioni P1,P2,…P5
sono posizioni intermedie di lavorazione.
50,0
50,0
17,5
R 10,00
P0
P1
P2 P3 P4 P5
45,0°
X
Y
(1) … SOLUZIONE
UniversitUniversitàà degli Studi di Bergamodegli Studi di Bergamo -- Corso di Automazione IndustrialeCorso di Automazione Industriale
Operazione di“CONTORNATURA”:
50,0
50,0
17,5
R 10,00
P0
P1
P2 P3 P4 P5
45,0° X
Y
N10 G90 G17 F300 S1000 T01 M06 M03
N30 G19 Y0 Z-10
N40 G01 G17 Y50
N50 X17.5
N60 G03 X37.5 I10 J0
N70 G01 X50
N80 X0 Y0
N90 M30
P0
P1
P2
P3
P4
P5
Ritorno a P1
N20 G00 X0 Y-10
UniversitUniversitàà degli Studi di Bergamodegli Studi di Bergamo -- Corso di Automazione IndustrialeCorso di Automazione Industriale
N40 G01 G17 Y50
N50 X17.5
N60 G03 X37.5 I10 J0
N70 G01 X50
N80 X0 Y0
N90 M30
P2
P3
P4
P5
Ritorno a P6
- N10 = indica il primo blocco di comando; - G90 = indica che si lavora con il sistema di riferimento assoluto (X,Y,Z); - G17 = indica che tutta la lavorazione avviene solamente sul piano XY; - F300 = velocità di avanzamento 300mm/min; - S1000 = velocità di rotazione del mandrino di 1000 giri/min; - T01 = utensile del tipo 01; - M06 = indica che avviene un cambio utensile; - M03 = indica che il mandrino viene ruotato in senso orario;
- N20 N30 = indica la seconda e la terza riga di comando; - G00 = posizionamento rapido dell’utensile; - Y-10 Z-10 = indica le coordinate dell’utensile che si sposta rispetto agli assi di riferimento;
- G01 = interpolazione lineare l’utensile segue una linea retta;
- I10 J0 = Centro del cerchio in coordinate relative al punto iniziale. In questo caso vuol dire che ci si sposta di 10 lungo l’asse x (I) e di 0 lungo l’asse y (J).
50,0
50,0
17,5
R 10,00
P0
P1
P2 P3 P4 P5
45,0° X
Y
N10 G90 G17 F300 S1000 T01 M06 M03
N30 G19 Y0 Z-10
P0
P1
N20 G00 Y-10
(2) CONTROLLO del MOVIMENTO
UniversitUniversitàà degli Studi di Bergamodegli Studi di Bergamo -- Corso di Automazione IndustrialeCorso di Automazione Industriale
• Conversione del Part Program in un formato interno al CNC
• Compensazioni/Correzioni al Programma
• Preparazione dei Profili di Velocità della Lavorazione (Look Ahead)
• Interpolazione del Percorso Utensile
• Trasformazioni Cinematiche e Sincronizzazzione
• Controllo di Posizione in Anello Chiuso
• Controllo fino a 16 Assi (Velocità e Corrente) e 8 simultaneamente
Funzioni Ausiliarie
•• Esecuzione di programmi da RAM, dischi e periferiche esterneEsecuzione di programmi da RAM, dischi e periferiche esterne
•• Editing o caricamento di programmi durante lavorazioneEditing o caricamento di programmi durante lavorazione
•• Funzionamento in automatico e ripresa lavorazioneFunzionamento in automatico e ripresa lavorazione
•• Gestione della vita utensile.Gestione della vita utensile.
•• PLC integratoPLC integrato
Preparazione Preparazione
dei dei
BlocchiBlocchi
Esecuzione Esecuzione
dei dei
BlocchiBlocchi
…L’ INTERPRETAZIONE
UniversitUniversitàà degli Studi di Bergamodegli Studi di Bergamo -- Corso di Automazione IndustrialeCorso di Automazione Industriale
InterpretazioneInterpretazione
Part
Program
Struttura
dati interna
InterpretazioneInterpretazione
Part
Program
Struttura
dati interna
•Lettura/verifica di consistenza del Part-Program
•Preparazione Strutturata Dati Interna (allocazione memoria, conversione part-program nel formato dati intero)
•Impostazione delle Operazioni Modali e NON Modali nella Struttura
Dati Interna
…LA PREPARAZIONE
UniversitUniversitàà degli Studi di Bergamodegli Studi di Bergamo -- Corso di Automazione IndustrialeCorso di Automazione Industriale
•Applicazione Trasformazioni Sistemi di Riferimento (passaggio dal sistema di riferimento ZP al sistema di riferimento ZM)
•Applicazione Compensazioni Utensile (G47,G50,etc..)
•Preparazione del Profilo di Velocitàsu più blocchi (LOOK ahead)
PreparazionePreparazione
Struttura
dati interna
Struttura
dati interna
PreparazionePreparazionePreparazionePreparazione
Struttura
dati interna
Struttura
dati interna
…L’INTERPOLAZIONE
UniversitUniversitàà degli Studi di Bergamodegli Studi di Bergamo -- Corso di Automazione IndustrialeCorso di Automazione Industriale
•Interpolazione Percorso Utensile
•Applicazione Trasformazioni Cinematiche
•Controllo Finecorsa del Volume di Lavoro in real-time
•Ricezione ed Invio Segnali al PLC
•Trasferimento e Ricezione Dati dal Controllo di Posizione
InterpolazioneInterpolazione
Posizioni
desiderate/attuali
InterpolazioneInterpolazione
Posizioni
desiderate/attuali
…Precisazioni
UniversitUniversitàà degli Studi di Bergamodegli Studi di Bergamo -- Corso di Automazione IndustrialeCorso di Automazione Industriale
t
a
t
v
t
s
∆ t 1 ∆ t 2 ∆ t 3
PARAMETRI RELAZIONE ANDAMENTO GRAFICO 2D
LIN
EA
RE
dP = PF – P0
ds = || dP ||
v = d(PF-P0) / || dP ||
P0 = vettore
posizione
iniziale calcolato
all’istante t = 0
P(t) = P0 + s(t) * v
Py(t)
Px(t)
CIR
CO
LA
RE
dΘ = s(t)/r;
D = direzione della
rotazione
ds = lungh. Arco di
circonferenza
x = rcos(Θo + D*dΘ)+PC(1)
y = rsin(Θo + D*dΘ)+PC(2)
Py(t)
Px(t)
SP
LIN
E
[A B C D] =
coefficienti della
Spline calcolata
P = [ABCD][u³ u² u 1]t
Punti della Spline
calcolati
considerando il
parametro
0 < u <1
P = [A B C D] * [s³ s² s 1]
t
a. GENERAZIONE a. GENERAZIONE
della della
TRAIETTORIATRAIETTORIA
PROFILO di VELOCITA’
…Precisazioni
UniversitUniversitàà degli Studi di Bergamodegli Studi di Bergamo -- Corso di Automazione IndustrialeCorso di Automazione Industriale
b. TRASFORMAZIONI b. TRASFORMAZIONI
CINEMATICHECINEMATICHE
Relazioni algebrico matematiche che legano le accelerazioni, velocitàe posizioni dei singoli assi con le accelerazioni, velocità e posizioni dell’utensile.
y
z
*
X axes
Z axes
Y axes
y
z
*
y
z
*
X axes
Z axes
Y axes
X axes
Z axes
Y axes
⋅
=
az
ay
ax
z
y
x
V
V
V
V
V
V
100
010
001
••
= qqJx )(
…CONTROLLO di POSIZIONE
UniversitUniversitàà degli Studi di Bergamodegli Studi di Bergamo -- Corso di Automazione IndustrialeCorso di Automazione Industriale
•Trasferimento Dati tra Interpolatore ed Azionamenti
•Applicazione Algoritmi per il Controllo della Posizione
•Interpolazione fine a Livello Asse
•Monitoraggio dell’Errore d’Inseguimento, Velocità Posizione …
Controllo di posizioneControllo di posizione
Posizioni
desiderate/attuali
Velocità
desiderate/attuali
…AZIONAMENTI
UniversitUniversitàà degli Studi di Bergamodegli Studi di Bergamo -- Corso di Automazione IndustrialeCorso di Automazione Industriale
•Controllo di Velocità – Posizione …
•Controllo di Corrente
AzionamentiAzionamenti
Velocità
desiderate/attuali
(3)
CONTROLLO
ASSE
UniversitUniversitàà degli Studi di Bergamodegli Studi di Bergamo -- Corso di Automazione IndustrialeCorso di Automazione Industriale
CNC
Controllo asse
Motore
CNC
Controllo asse
Motore
CNC
Controllo asse
Motore
CNC
Controllo asse
Motore
Chiusura anello di posizione nel CN
Chiusura anello di posizione nell’azionamento
Dinamo tachimetrica
Encoder
Regolazione velocità
Regolazione posizione
Dinamo tachimetrica
Encoder
Regolazione velocità
Regolazione posizione
(4) CONTROLLO LOGICOPLC (Controllo Logico Programmabile - def. Standard 61131).
Sistema elettronico a funzionamento digitale dotato di una memoria
programmabile per l’archiviazione di istruzioni aventi funzioni
specifiche, di tipo logico, di sequenziamento, di temporizzazione, di
conteggio e di calcolo aritmetico, nonché per controllare, mediante
ingressi ed uscite digitali e/o analogiche, macchine e processi.