Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Z32
Documento M323
C2 – 01.03.15
INDICE
1. INTRODUZIONE ................................................................................... 6
1
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
3
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
4
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
5
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
1. INTRODUZIONE
Per una descrizione più completa e dettagliata delle funzionalità messe a disposizione dal controllo
Z32, consultare il “Manuale di Programmazione” M96.
6
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
2. PROGRAMMAZIONE DI BASE
2.1 INTRODUZIONE
La programmazione di BASE del controllo numerico Z32 segue le indicazioni della normativo ISO.
Un programma pezzo (o part-program) è un file di testo ASCII costituito da una serie di istruzioni
memorizzate in maniera sequenziale.
Le righe ISO sono costituite da un numero di riga (non necessario) e da una serie di istruzioni
elementari.
7
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
- Al reset vengono disattivate le funzioni e le impostazioni relative all’RTCP (rotating tool centre
point)
- Al reset vengono ripristinate le impostazioni di alta velocità secondo i parametri inseriti nelle
tarature macchina. Consultare il costruttore per maggiori dettagli.
G0 Z100
e
N10 G0Z100
Formato del numero di riga: il numero di riga può essere intero o decimale, specificato col punto o
con la virgola. Tra la lettera N ed il numero è possibile inserire alcuni spazi. Ad esempio è possibile
impostare:
N100
N 100.2
N100,34
L’unica limitazione da seguire è che il numero di cifre prima e dopo la virgola o il punto deve essere
non superiore a 9.
Numero di riga come destinazione di salto: Il numero di riga può essere usato come “destinazione
di salto” nella programmazione logico-matematica. Per la descrizione di questa funzionalità
consultare il presente manuale alla sezione della programmazione logico-matematica.
8
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
I numeri devono avere un massimo di 9 cifre significative prima o dopo la virgola o il punto.
Ad esempio programmazioni valide sono le seguenti:
X123456789
X0.123456789
X0.0000123456789
X12345.6789
Programmazioni errate:
X1234567.12345
X12345.67890000
X1.00000001234
Il carattere ‘;’ (punto e virgola) all’inizio di una riga di programma rende l’intera riga un
commento
Attenzione: il carattere ‘;’ deve essere ad inizio riga
; G0 Z100 -> l’intera riga è commentata
G0 Z100 ; Z alto -> è un errore
9
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Il numero che segue G identifica la particolare funzione alla quale è predisposto lo Z32. Il valore che
segue G deve essere sempre un valore numerico (NON può essere il risultato di una espressione).
Solo alcune funzioni G (ossia solo alcuni valori numerici) sono interpretate ed eseguite dallo Z32: se
si programma una G non implementata lo Z32 dà l'apposito allarme.
Le funzioni sono quelle previste dalle norme ISO, con alcuni adattamenti. In particolare:
Gli zeri iniziali delle G possono essere omessi (G0 equivale a G00)
Possono essere programmate nello stesso blocco più funzioni G: in questo caso le G sono
riconosciute dal CN ed eseguite via via che vengono incontrate nella riga programmata: in
caso di programmazione di più G contrastanti resta attiva l'ultima G programmata.
Di seguito a particolari funzioni G possono essere specificati dei dati aggiuntivi che ne
completano la definizione.
Si chiamano MODALI le funzioni G il cui effetto si mantiene anche nei blocchi successivi a
quello in cui sono programmate: le funzioni G modali sono normalmente annullate da apposite
altre funzioni G.
Alcune G richiedono l'ARRESTO della macchina: un eventuale il profilo deve essere
completamente definito al momento della loro esecuzione. Non deve perciò essere in corso
una contornatura con profilo aperto né una contornatura con compensazione raggio.
Programmata dopo G95 definisce la velocità di avanzamento come “unità” per giro del mandrino. Per
unità si intendono millimetri, pollici o gradi a seconda del tipo di asse.
Programmata dopo G93 definisce la velocità come inverso del tempo in minuti per eseguire il
movimento programmato. In questo caso, la F da programmare è pari alla velocità che si desidera
sulla traiettoria diviso la lunghezza della traiettoria stessa:
𝑚𝑚 𝑝𝑜𝑙𝑙𝑖𝑐𝑖 °
𝑉𝑒𝑙𝑜𝑐𝑖𝑡à (𝑚𝑖𝑛 , 𝑚𝑖𝑛 , 𝑚𝑖𝑛)
𝐹=
𝑆𝑝𝑎𝑧𝑖𝑜 (𝑚𝑚, 𝑝𝑜𝑙𝑙𝑖𝑐𝑖, °)
10
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Programmata dopo la G96 imposta la modalità di “Velocità di Taglio Costante”. Questa è una
funzionalità tipica dei torni: la velocità di rotazione del mandrino è calcolata in modo che la velocità
di taglio risulti pari alla S programmata (valutata in m/min) considerando la distanza dell’utensile dal
centro di rotazione del mandrino.
Nota sulla G96: Per evitare velocità eccessive quando la distanza dal centro del mandrino è
molto ridotta, con G96 si attiva il parametro MS (che può essere programmato anche in
precedenza) determinando la massima velocità mandrino (in giri/minuto) consentita. La MS
attiva è quella presente al momento dell'ultima S programmata: se viene riprogrammato il
parametro MS, la limitazione non cambia fino a che non si programma una nuova S.
MS 4000
G96 S100 M3
11
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
2.9 FUNZIONI M
Le funzioni M (miscellanee) interessano più che altro il comportamento della macchina utensile e
quindi sono in massima parte definite nei loro effetti dal costruttore.
Tutte le M richiedono l'arresto.
Le norme ISO indicano le funzioni di numerose M: solo alcune M sono decodificate e gestite
direttamente dallo Z32, di queste sole si darà il dettaglio.
Il valore numerico (due cifre intere) che segue la lettera 'M' indica la 'M' programmata. Gli zeri iniziali
possono essere omessi (M0 = M00).
M0 - stop
Arresta l'esecuzione del programma, che può essere ripreso premendo il pulsante di
start. Richiede anche stop mandrino e stop refrigeranti.
M1 - stop condizionato
Come M0, solo che l'efficacia di M1 è condizionata da un apposito ingresso di logica
programmabile: consultare il costruttore della macchina utensile per ulteriori
dettagli. Richiede anche stop mandrino e stop refrigeranti.
M2 - fine programma
Fa uscire il controllo dal modo “ESECUZIONE” e chiude le operazioni in automatico.
M3 - mandrino orario
Richiede moto mandrino orario alla velocità S precedentemente programmata.
M4 - mandrino antiorario
Richiede moto mandrino antiorario alla velocità S precedentemente programmata.
M5 - stop mandrino
Richiede l'arresto del mandrino. Arresta anche i refrigeranti.
M6 - cambio utensile
Chiede che l'utensile (programmato come T nello stesso blocco o in blocchi
precedenti) sia montato sul mandrino. Arresta anche il mandrino e i refrigeranti. Dopo
la esecuzione di una M6 il CN prende atto della descrizione dell'utensile montato sul
mandrino e quindi aggiorna i parametri in conseguenza.
M7 - eroga refrigerante n.1
Richiede l’erogazione del refrigerante n. 1
M8 - eroga refrigerante n.2
Richiede l’erogazione del refrigerante n. 2
M9 - stop refrigeranti
Chiede che venga cessata l'erogazione dei refrigeranti.
M19 - orientamento mandrino
Richiede l’orientamento del mandrino.
Richiede anche stop mandrino e stop refrigeranti.
Il costruttore della macchina può definire altre funzioni M per usi e scopi particolari della macchina.
Consultare il costruttore della macchina per ulteriori dettagli.
M “speciali”
Esiste una categoria di funzioni M definite come M “speciali”. A differenza delle funzioni M
normali, che vengono gestite esclusivamente dal PLC della macchina, le M speciali sono
associate ad un part-program di servizio. Un esempio tipico di M speciale è l’M6 di cambio
utensile.
La definizione e la programmazione dei sottoprogrammi delle M speciali sono attività riservate
al costruttore della macchina.
Durante l'esecuzione del sottoprogramma associato alle M speciali è bloccato il conteggio del
numero progressivo (ossia in ricerca blocco la M speciale è un solo blocco che non può essere
ripreso in un punto intermedio.
Il sottoprogramma associato alla M speciale può essere eseguito in blocco singolo.
12
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
13
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Y'
Y
OX0 OY0
La presa delle origini supplementari è generalmente un’attività da eseguire in macchina sul pezzo da
lavorare.
Nel programma si dovrà predisporre il richiamo dell’origine desiderata.
Ad esempio:
OX1 (Attiva sull’asse X l’origine 1)
OX122 OY122 (Attiva sull’asse X e sull’asse Y l’origine 122)
OX10 OY31 (Attiva sull’asse X l’origine 10 e sull’asse Y l’origine 31)
14
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
In alternativa, esiste un comando per attivare tutte le origini con lo stesso numero
per tutti gli assi che hanno quell'origine definita. Gli assi che non hanno l'origine
richiamata definita, invece, mantengono la precedente origine
Ad esempio:
O1 (Attiva l'origine 1 per tutti gli assi che hanno l'origine 1 definita)
Ad esempio, se l'origine 1 fosse definita solamente per gli assi X e Y
Viene attivata l'origine solo su X e Y, mentre Z mantiene la precedente
origine
O122 (Attiva l'origine 122 per tutti gli assi che hanno l'origine 122 definita)
Attenzione: non è possibile definire come origine supplementare l’origine “0”, in quanto
tale origine è l’origine base di macchina impostata dal costruttore
Processo: 0 1 2 3 4 5
File CMOS Origini: 126 123 120 117 114 111
Per macchine ad un solo processo, il file dove risiedono le origini è il file 126 (ovvero
quello relativo al processo 0).
La sintassi di un file origini è la seguente:
:OS
X1=123.4
Y1=-231.5
…
Il file inizia con l’intestazione “:OS” che specifica l’inizio della sezione di specifica
delle origini
Nelle righe successive sono memorizzati i valori delle varie origini.
Nell’esempio:
L’origine numero 1 sull’asse X determina una traslazione di 123.4 dall’origine base
15
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Attenzione: Al momento del cambio utensile vengono richiamati ed assegnati tutti i parametri
presenti in tabella utensili relativi all’utensile richiamato.
Ad esempio vengono assegnati i valori di lunghezza (L) e raggio utensile (R), ma anche qualsiasi
altro parametro memorizzato in tabella. E’ possibile ad esempio salvare in tabella anche i valori
“S” ed “F” (Speed e Feed) relativi all’utensile in questione. In questo modo al momento del
cambio utensile vengono assegnati anche tali valori.
Processo: 0 1 2 3 4 5
File CMOS Tabella Utensile: 127 124 121 118 115 112
Per macchine ad un solo processo, il file dove risiedono le descrizioni degli utensili è il file
127 (ovvero quello relativo al processo 0).
La sintassi di un file origini è la seguente:
T1P127
:TL
T0#0R0L,000
T1#1L10,000R2(CENTRINO)
…
Il file inizia con l’utensile attualmente sul mandrino. Nell’esempio è l’utensile numero 1
contento nel file numero 127.
La label “:TL” specifica l’inizio della sezione di descrizione degli utensili
Nelle righe successive sono memorizzate le descrizioni dei vari utensili:
- Il parametro “T” indica il numero dell’utensile
- Il parametro “#” indica il posto dell’utensile nel magazzino utensili
- I vari parametri che descrivono l’utensile vengono descritti sulla riga tramite il nome
del parametro ed il suo valore numerico.
- Sulla riga è possibile inserire un commento inserito tra parentesi tonde.
Nell’esempio:
L’utensile T1 è collocato ad posto #1, ha lunghezza L10 e raggio R2
16
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Tramite i parametri DDL e DDR è possibile variare la lunghezza e il raggio dell’utensile attualmente
attivo.
Per effettuare il calcolo della correzione dovuta alla lunghezza utensile, il controllo numerico Z32
considera la somma del parametro L e del parametro DDL.
La correzione della lunghezza utensile impostata tramite il parametro DDL non è incrementale, per
annullare il suo effetto occorre programmare DDL0.
Ad esempio:
N10 T1M6
N20 L100 (impone un lunghezza utensile di 100)
N30 DDL1 (la correzione utensile vale L + DDL, cioè 101)
N40 DDL0 (annulla DDL, la correzione utensile vale 100)
17
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Per annullare un origine occorre programmare l’origine base per tutti gli assi interessati, ad esempio:
OX0 OY0 OZ0
Per annullare le correzioni dovute alla lunghezza utensile occorre programmare una lunghezza
nulla:
L0
Per sospendere le correzioni dovute alle origini supplementari e alla lunghezza utensile è
possibile programmare la G53. Programmando la G53 vengono sospese anche eventuali
rototraslazioni, specularità e fattori di scala per poter riferire i movimenti all’origine base. Dopo
la programmazione di G53 i movimenti si riferiscono all’origina base (origine “0”)
La riattivazione delle correzioni dovute alle origini supplementari e alla lunghezza utensile si
effettua programmando G54. Dopo la programmazione della G54 viene ripristinata la situazione
di origini, lunghezze, rototraslazioni, specularità e fattori di scala precedenti alla
programmazione dalla G53
Per sospendere solamente la correzione dovuta alla lunghezza utensile è possibile utilizzare la
funzione G45. Dopo la programmazione della G45 i movimenti dell’asse utensile non tengono più
conto della lunghezza dell’utensile.
La riattivazione della correzione lunghezza utensile si effettua con la programmazione della G43
o della G44
18
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
La funzione che permette di definire la terna di lavoro della macchina ed il piano di contornatura è
la funzione G25.
Dopo G25 devono essere programmati di seguito tre caratteri con tre nomi di assi definiti come
continui sulla macchina.
Per esempio: G25XYZ definisce che la terna di lavoro è costituita dai tre assi X, Y, Z.
I primi due assi della terna di lavoro costituiscono il piano di contornatura (in cui sono possibili le
interpolazioni circolari). Il terzo asse è un asse aggiuntivo coordinato ai primi due (può essere usato
per i cicli fissi e per altre funzioni di macchina).
All'accensione e ad ogni inizio programma è attivata la terna di lavoro di taratura definita dal
costruttore della macchina.
L'asse su cui agisce la lunghezza utensile è definito da G43 (correzione positiva) o G44 (correzione
negativa) come chiarisce la figura:
Z Z L Z L
X X X
Situazioni tipiche di lavorazione per macchine a 3 assi sono le seguenti:
1. Piano di lavoro XY e correzione utensile positiva sull’asse Z
Questa configurazione è programmabile con:
Y
Z
G25 XYZ
G43Z
X
G25 ZXY
G43Y
X
G25 YZX
G43X
X
19
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
E’ normalmente cura del costruttore definire in taratura la terna di default della macchina e l’asse
sul quale correggere la lunghezza utensile.
20
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
La normativa ISO standard prevede che le funzioni G di movimento siano MODALI. Questo significa,
ad esempio, che dopo aver programmato un movimento in G0, tutti i posizionamenti successivi
saranno in G0 a meno che non venga dichiarato un movimento di diverso tipo.
Ad esempio:
G1 X0 (movimento in G1)
Y0 (movimento in G1)
X10 (movimento in G1)
G1 X0 (movimento in G1)
Y0 (movimento in G1)
X10 (movimento in G1)
G0 X..Y..Z..
21
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Y
Z
Per esempio:
...
N10 G1
N11 X0 Y0
...
non è ammessa: al blocco 11 dà errore CN3414
Y X,Y Y
G2
Le funzioni G2 e G3 specificano interpolazione
I,J I,J
circolare oraria (G2) e antioraria (G3).
G3
Il movimento deve avvenire sui primi due assi del
X,Y piano di contornatura definito con la G25.
L’interpolazione circolare deve esser preceduta da
X X
un posizionamento sul punto iniziale del cerchio.
La velocità del movimento è la F (feed)
programmata.
Ad esempio:
G2 X..Y..I..J..
Attenzione: Se il piano di contornatura è diverso dal piano XY, ma è per esempio il piano ZX, la
sintassi diventa:
G3 Z.. X.. I.. J..
Dove “I” si riferisce al primo asse del piano di contornatura (Z) e “J” al secondo asse (X)
22
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
La programmazione elicoidale può essere attiva anche in correzione raggio (G41 o G42 attive):
permette quindi il moto del terzo asse, sempre come coordinato agli altri due assi.
Attenzione: Se un tratto che viene accorciato od eliminato per effetto della correzione raggio,
contiene un movimento del terzo asse, questo movimento viene eseguito completamente al
successivo movimento utile.
Ad esempio:
G3 X..Y..I..J..Z..
In un solo blocco non è possibile programmare un tratto di elica maggiore di una spira completa. Per
programmare più spire occorre utilizzare un ciclo ripetitivo, per esempio:
--DO
G3 X..Y..I..J..Z<Z-1.2>
--LOOP 5
23
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
La sintassi è la seguente:
F1000
15 G0 X10 Y10
(attiva programmazione incrementale:)
G91
35 G1 X20
Y35
X30
10 Y15
X
0
(disattiva programmazione incrementale:)
20 30 G90
X80 Y80
0 10 80
24
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
La sintassi è la seguente:
G33 K..
Attenzione:
Se il primo tratto di filettatura è circolare occorre programmare G33G2 oppure G33G3. Notare
che G33 deve precedere nella riga G2/G3: se G2 o G3 sono programmati prima di G33 (es.
G2G33) sono annullati da G33 che forza G1.
Con G33 attiva non viene incrementato il numero progressivo di operazione: in ricerca blocco
con numero progressivo è perciò possibile solo ricercare il primo blocco in G33.
Se la filettatura è conica, il passo lungo l'asse longitudinale risulta più corto per la presenza
dell'inclinazione, dato che il parametro K è valutato lungo la direzione di filettatura.
Esempio:
G25 XZY
M3 S500
G0 X30 Z100
G33 Z5 K1.25 (primo movimento filettatura:)
G3 I35 J5 X35 Z0
G0 Z100 (fine filettatura)
È possibile eseguire una filettatura in più passate con profondità diverse in quanto la partenza del
movimento è sincronizzata al passaggio per lo zero del mandrino.
25
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Il termine “filettatura a passo variabile” indica una filettatura il cui passo non è costante ma varia
con continuità secondo una prestabilita entità di variazione.
La filettatura a passo variabile viene programmata mediante due diverse funzioni G:
G34 K.. I.. filettatura a passo crescente
G35 K.. I.. filettatura a passo decrescente
Tutto quanto è riportato nel manuale riguardo alla filettatura a passo fisso (G33) resta valido anche
per la filettatura a passo variabile (G34 e G35).
Movimenti di filettatura con passo fisso o variabile possono essere eseguiti in sequenza: il passo di
filettatura varierà con continuità o rimarrà costante o avrà una discontinuità a seconda della funzione
di filettatura programmata e dei parametri programmati.
26
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Il movimento degli assi programmati (normalmente un solo asse: lo Z) è rigidamente legato a quello
del mandrino per tutta la durata del ciclo di maschiatura e ritorno
27
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
È possibile "ripassare" un filetto già eseguito (ma solo se il maschio nel mandrino non è stato ruotato!)
in quanto la partenza del movimento è sincronizzata al passaggio per lo zero del mandrino.
Per poter utilizzare la funzione di maschiatura rigida occorre che la macchina sia fornita di rilevatore
sul mandrino.
Nota: come opzione è possibile attivare una gestione speciale del pulsante di STOP durante
l’esecuzione di una maschiatura rigida: il mandrino e gli assi non saranno arrestati immediatamente
alla pressione del pulsante, ma:
- Viene comandata un’inversione immediate del moto mandrino
- Viene effettuato un movimento di uscita in maschiatura rigida
- Gli assi macchina sono riportati alle quote da cui è iniziata la maschiatura rigida
- Al termine del movimento di estrazione, la macchina (mandrino e assi) è arrestata
28
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Y
L’attivazione della rotazione è automatica dopo la
programmazione del parametro QR.
QR
E’ possibile effettuare rotazioni solo sul piano di
lavoro attualmente attivo impostato dalla G25. La
definizione del punto (IR, JR) segue la regola:
IR è la coordinata del centro di rotazione rispetto al
(IR, JR) primo asse del piano di lavoro, JR è la coordinata del
JR
centro di rotazione rispetto al secondo asse.
X Ad esempio in G25XYZ: IR è la coordinata X e JR è la
IR coordinata Y del centro di rotazione.
Attenzione: il centro di rotazione (IR JR) è definito rispetto all’origine attiva senza considerare
eventuali traslazioni (DA DB DC), specularità (G56) o fattori di scala.
29
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Ad esempio per effettuare una traslazione di 10 lungo il primo asse e di 14 lungo il secondo asse:
DA10 DB14
14
10
DA100 DB50
IR0 JR0 QR45
QR
DB
DA
30
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Ad esempio:
KMX1.2 (fattore moltiplicativo di 1.2 sul solo asse X)
KDZ10 (fattore additivo di 10 sul solo asse Z)
L’attivazione dei fattori moltiplicativi e additivi è automatica dopo la programmazione dei parametri
KM.. e KD...
31
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Attenzione: A differenza di tutti gli altri fattori di traslazione, rotazione, specularità e scala, i
parametri moltiplicativi e additivi sui singoli assi possono essere usati solo in programmi senza
interpolazioni circolari.
Specularità combinata sia rispetto al primo che al secondo asse del piano di lavoro (assi X e Y in
G25XYZ)
Occorre utilizzare una rotazione di 180 gradi rispetto al punto 0:
IR0 JR0 QR180 (attiva specularità XY)
…
QR0 (annulla specularità)
32
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Il fatto che sia possibile programmare un solo asse di rotazione alla volta è una limitazione
necessaria per ottenere la massima chiarezza relativamente all'ordine in cui devono essere
fatte le eventuali rotazioni multiple: non porta infatti lo stesso risultato programmare per
esempio prima una rotazione intorno a X e poi intorno a Y, oppure prima intorno a Y e poi
intorno a X.
Rotazioni intorno a più assi possono essere ottenute programmando in cascata (su righe
successive) le varie rotazioni nell'ordine desiderato.
Attenzione:
Per evitare errati spostamenti il primo movimento dopo la programmazione di G116, che ha una
traslazione del sistema di riferimento, deve contenere le quote di tutti e tre gli assi con numero
logico 0, 1, 2 (normalmente X, Y, Z).
Attenzione: La funzione G116 funziona solamente sui primi tre assi continui definiti in macchina,
ovvero sugli assi con numero logico 0, 1 e 2. Negli esempi fatti, perché la G116 possa funzionare,
l'asse X deve avere il numero logico 0, Y il numero logico 1 e Z il numero logico 2. Consultare il
costruttore per ulteriori dettagli.
33
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Esempio:
Uso della G116 per lavorare le facce di un parallelepipedo con composizione associativa delle
rotazioni.
30 2
3 40 30
Z
40 Y X
Y
30
Y X
Z Z
30
30
X
Y
Y X
Z Z
X
5
4 40
30
30 40
1) Testa verticale:
Configurazione standard
G116KA0
2) Faccia laterale destra:
G116 X40 Z-30 K90
G116 I90
3) Faccia posteriore:
G116 Y30 Z-30 I-90
G116 K180
4) Faccia laterale sinistra:
G116 X-40 Z-30 K-90
G116 I90
5) Faccia anteriore:
G116 Y-30 Z-30 I90
34
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Il valore della sosta, espresso in secondi, è pari al parametro “TT”, che può essere programmato sulla
stessa riga della funzione G4 oppure in una riga precedente.
Esempio:
G4 TT2.5 (sosta di 2.5 secondi)
Ad esempio:
Numero logico degli assi 0 1 2 3 4
Nomi assi desiderati Z X Y A B
Nomi asse in taratura X Y Z A B
Attenzione:
Lo scambio assi viene sospeso dalla G53
Lo scambio degli assi è valido anche per le funzioni G25, G28, G29, G43, G44, KM, KD
Lo scambio assi è valido per tutte le quote programmate, ma non cambia il piano di
contornatura individuato dalla G25. Per scambiare anche il piano di contornatura è
necessario programmare anche la G25 opportuna.
35
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Un asse è vivo quando la sua posizione è controllata dal controllo numerico, anche in assenza di
movimento.
La funzione G28 (modale, con arresto) chiede al CN di tenere sotto controllo l'asse anche
quando l'asse non è interessato al movimento in corso (asse vivo).
Dopo G28 deve essere specificato il nome (per esempio X) dell'asse che si vuol tenere vivo,
per esempio:
G28X
Deve essere specificato un solo asse, tra quelli definiti come continui dalle tarature di
macchina.
Se si vogliono attivare più assi si può programmare G28 più volte nella stessa riga o in righe
successive. Per esempio:
G28Z G28A
chiede di tenere sempre sotto controllo gli assi Z e A.
Alcuni assi (definiti nelle tarature di macchina) possono essere definiti come vivi fin
dall'accensione: ad ogni inizio programma (o dopo ogni reset) è ripristinata la situazione di
assi vivi/non vivi definita in taratura.
Nota: In funzione delle tarature di macchina è possibile definire gli assi come “Vivi al reset”.
Con questa taratura, gli assi resi vivi (con la funzione G28) o abbandonati (con la funzione
G29) mantengono il proprio stato di assi vivi o non vivi anche dopo un reset o alla successiva
accensione.
Può nascere qualche problema se l'errore è molto vicino a quello tollerato. Se la quota rilevata
dell'asse non vivo (che non dovrebbe muoversi) ha dei piccoli cambiamenti tali che l'errore
passi da sotto a sopra la soglia di taratura può verificarsi un allarme CN1513.
La quota rilevata può oscillare di qualche passo rilevatore, pur rimanendo entro la soglia di
posizionamento, quindi il sorpasso della soglia si può verificare se la posizione è già al limite
della tolleranza, il che accade per esempio quando:
o una tavola girevole (o altro asse) durante il bloccaggio ha un leggero movimento che
la porta molto vicino all'errore di taratura ammesso
36
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
In questi casi si consiglia di non utilizzare l'attivazione automatica dell'asse non vivo e di
forzarlo vivo direttamente da part-program.
Dopo l’esecuzione della riga N11, HX contiene il valore 101, se l'utensile montato sul mandrino è il
T101. Se è installata la gestione dell'utensile sostitutivo dell'utensile usurato e l'utensile montato è
un sostituto di T101 il parametro HX conterrà il T… dell’utensile effettivamente montato.
La G105 Trasferisce nei parametri quote assi le quote fisiche attuali di tutti gli assi della macchina.
Attiva solo nel blocco, con arresto.
Con la G105 le quote rilevate (riferite all'origine e correzioni attive al momento) sono trasferite nei
parametri quote assi. Il trasferimento delle quote avviene per tutti e soli gli assi continui, inclusi gli
assi non vivi.
Attenzione:
La quota trasferita è quella reale misurata, e non quella comandata. Queste due quote
possono essere diverse per errori di posizionamento (che comunque devono essere molto
piccoli per rientrare sotto la soglia di posizionamento).
Per esempio, se si comanda X10 e l'asse si porta alla quota 9,998 la G105 acquisisce la quota
9,998 e non la quota 10.
37
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
N1 G107
N2 G0 X10 (l'asse X va alla quota 5, diametro 10)
N3 G106 (programmazione radiale)
N4 X10 (l'asse X va alla quota 10, diametro 20)
N5 G107 X10 (l'asse X va alla quota 5, diametro 10)
Per consentire il movimento degli assi in semiautomatico o in jog con rilevatori in allarme (tipo
CNxx12) è stata introdotta la G119, che ha queste caratteristiche:
Ha effetto solo se programmata da una riga di semiauto (MDI)
E’ modale, trasparente al reset
Se G119 attiva sono ignorati gli allarmi rilevatori tipo 12
E’ automaticamente resettata se si lancia un programma automatico o se si tenta di eseguire
un qualsiasi sottoprogramma (anche di M speciale) da semiautomatico
Attenzione:
Con G119 attiva i fine corsa software sono disabilitati su tutti gli assi, perché i rilevatori
possono essere a quote non significative e quindi possono impedire il movimento. Spetta
all'operatore mettere in atto la massima cautela per evitare collisioni e danni.
In ogni caso, per cautela, Z32 attiva automaticamente la condizione di TEST (riduzione
del rapido a 1/5) quando G119 è attiva.
Con la G123 è possibile limitare il campo di lavoro per le quote programmate degli assi continui
(numero logico da 0 a 12).
Attenzione:
38
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
La G123 agisce solo sulle quote finali programmate di movimenti lineari. Non è prevista
l'intersezione del movimento con la quota limite, ma solo la sostituzione (o il test a seconda
della modalità) della quota finale programmata.
Per ogni asse continuo è definibile un campo di lavoro, definito da un estremo superiore ed un estremo
inferiore (detti anche limite positivo e limite negativo), che limita la quota programmata dopo che
ha subito tutte le trasformazioni attive (G121, fattori di scala ecc.).
All'accensione della macchina e al reset, le limitazioni dovute alla G123 vengono annullate.
Modalità di funzionamento
G123 KA3
Attiva modalità di allarme: se una delle quote programmate è fuori campo viene
l’allarme CN5614
G123 KA4
Ripristina modalità normale, le quote vengono limitate al campo di lavoro. Questa
è la modalità di default, cioè quella normalmente attiva se non programmato
diversamente. Se viene programmato un movimento fuori dei limiti, il movimento
viene arrestato quando viene raggiunto il limite impostato senza generare allarmi.
G123 KA5
Abilita modalità di arresto: se una o più quote programmate sono fuori campo arresta
tutti i movimenti e li riprende solo quando tutte le quote programmate sono rientrate
nel campo di lavoro. Nel momento in cui le quote programmate rientrano tutte nel
campo di lavoro sono considerati programmati tutti gli assi che siano stati bloccati
nella fase precedente.
Attenzione: se durante la fase di arresto si muovono più di 5 assi, alla ripresa dei
movimenti sono considerati programmati più di 5 assi e quindi viene allarme
CN2C14 PARAMETRI INCOMPATIBILI.
Disattivazione
Programmando G123KA0 si eliminano sia la limitazione positiva che quella negativa, ma rimangono
attive tutte le predisposizioni (limiti, KA3 o KA4) programmati.
Per ripristinare la limitazione positiva precedente basterà programmare G123KA1 senza nessuna quota
e per ripristinare quella negativa G123KA-1 senza nessuna quota.
40
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Quando si programma un profilo da contornare col controllo numerico, non si conosce in genere il
raggio dell'utensile col quale il profilo verrà eseguito: l'utensile infatti può variare per molte ragioni
(disponibilità, affilatura, differente utensile in sgrossatura e in finitura ...).
Lo Z32 permette di programmare il profilo del pezzo ed esegue automaticamente le modifiche al
profilo in funzione del raggio effettivamente disponibile.
È chiaro che il percorso del centro fresa (ossia i moti degli assi della macchina) è diverso da quello
che sarebbe necessario per descrivere con un utensile puntiforme (R=0) il profilo programmato.
Nell'esempio di figura è indicato il percorso del centro fresa (A...G) corrispondente al profilo
programmato (1...6).
Si noti che:
gli spigoli interni possono non essere lavorati a causa del raggio utensile (zone 'X')
sono inseriti alcuni tratti di raccordo (non programmati nel profilo originale) attorno agli
spigoli esterni (B e D)
alcuni tratti programmati sono eliminati perché non sono lavorabili con il raggio utensile
programmato (tratto 5)
In generale, se in un programma è attivata (con G41/G42) la correzione raggio, lo Z32 esegue, su ogni
tratto del profilo programmato, una serie di operazioni per trasformarlo nel percorso di centro fresa.
Tali operazioni possono portare all’eliminazione di alcuni tratti di profilo perché non lavorabili con il
raggio impostato. L’eliminazione di alcuni tratti di profilo impone al controllo di “esplorare” la
traiettoria in avanti in cerca di eventuali tratti non lavorabili.
La funzione G109 permette di impostare quanti tratti vengono esplorati in avanti per cercare i tratti
non lavorabili:
41
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Nella figura viene mostrato un esempio di profilo eseguito con un utensile di raggio 2 (sulla sinistra)
e con un utensile di raggio 6 (sulla destra). Si può notare come nella lavorazione di destra, in seguito
alla programmazione della G109E, molte parti del profilo non vengano lavorate.
42
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Quando un profilo non è eseguibile in correzione raggio, può essere segnalato un errore di PROFILO
INCOMPATIBILE. In questi casi, al fine di visualizzare il tratto che genera il problema, è possibile
programmare la funzione G109R ,che forza l'inserimento di un raccordo anche intorno allo spigolo
interno (facendo una specie di fiocco) e quindi elimina l'errore PROFILO INCOMPATIBILE.
Attenzione: normalmente la programmazione della G109R serve solamente per capire quali sono
le situazioni che generano l’errore di PROFILO INCOMPATIBILE in correzione raggio. Non è una
funzione da utilizzare nella programmazione normale.
43
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
3.2.1 Attacco circolare: quote e pendenza finali (G41/G42 X.. Y.. QF..)
Insieme alla funzione preparatoria G41 (inizio correzione raggio con pezzo a destra) o G42 (inizio
correzione raggio con pezzo a sinistra) sono programmate:
le due quote finali del movimento di attacco (primo punto del profilo)
la pendenza finale del tratto di raccordo
La pendenza finale è programmata come descritto al capitolo della Geometria.
Il raccordo al profilo è fatto con un arco di cerchio che porta la fresa a sfiorare il punto programmato,
pronta per eseguire un tratto che parta dal punto programmato con pendenza QF.
La lunghezza e la curvatura dell'arco di cerchio sono calcolate automaticamente dal CN e dipendono
dal punto di partenza del raccordo.
Negli esempi che seguono è illustrato il movimento dell'utensile per diversi attacchi al profilo in
tangenza
...
Y G0 X-20 Y30
... G41 X0 Y20 QF0
Y G0 X0 Y40 G1 X50
G41 X0 Y20 QF0 ...
30
40 G1 X50
...
20
20
0
X
0
X
... -20 0
G0 X-45 Y-15
...
G41 X-30 Y0 QF90 G0 X-50 Y0
G2 I0 J0 X0 Y30 G41 X-30 Y0 QF90
Y G1 X50 G2 I0 J0 X0 Y30
... Y
G1 X50
...
0
X
X
-15
R30
R30
-45 0 -50 0
In alcuni casi può essere necessario calcolare la pendenza finale del movimento di attacco:
Y
Y
20
30°
30°
R40
X
X
R40
-20 0
... ...
G0 X<-20*CS30> Y<20*SN30> G0 X-20 Y0
G42 X<-40*CS30> Y<40*SN30> QF60 G42 X<-40*CS30> Y<40*SN30> QF60
G2 I0 J0 X40 Y0 G2 I0 J0 X40 Y0
G1 Y-20 G1 Y-20
... ...
44
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
I pregi di questo modo di attacco al profilo sono che, se la pendenza è programmata correttamente,
l'utensile entra sul profilo lungo la tangente e quindi 'segna’ il profilo in modo minimo.
D'altra parte si ha l’inconveniente che il calcolo di QF può non essere semplicissimo
Il blocco N21 specifica il primo punto del profilo da raggiungere in correzione raggio.
Il blocco N22 contiene il primo movimento in correzione raggio, che può essere uno qualsiasi
di quelli ammessi dalla geometria di Z32 a partire dal punto N21.
Il movimento di attacco al profilo porterà l'utensile tangente al profilo nel punto programmato
in N21 (il centro dell'utensile sarà sulla verticale del profilo nel punto N21, a una distanza
pari al raggio).
...
...
G0 X... Y...
G0 X... Y...
G41 G41
G1 X-40 Y10 G1 X<-40*CS30> Y<40*SN30>
X0 Y30 G2 I0 J0 X0 Y40
Y
X50 G1 X50
... ...
Y
40
30
R40
10
0 30°
X
0
X
-40 0
45
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Tale tipologia di attacco è diversa da quella senza quote, come chiarisce l’esempio :
... ...
G0 X0 Y40 G0 X0 Y40
Y
Y G41 G41 X0 Y20
G1 X0 Y0 X50
40
40
X50 ...
...
20 20
0 0
X X
0 0
Come si nota, nel caso di attacco G41/G42 con quote finali, il tratto di avvicinamento viene
considerato a tutti gli effetti come un tratto di profilo. Si noti anche che, a differenza dell’attacco
senza quote, con questa tipologia di attacco possono essere lasciate zone non lavorate del profilo.
46
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Con G40 X Y il CN esegue un tratto circolare tangente all'ultimo tratto del profilo eseguito e porta il
centro fresa sul punto finale indicato.
G41 ...
...
G41 ... ...
... G1 X0 Y20
Y
... G40 X20 Y30
Y
G1 X0 Y20 ...
40 G40 X0 Y40
... 30
20
20
0
0 X
X
0 20
G41 ...
... G41 ...
... ...
G2 I0 J0 X30 Y0 ...
Y
Y G2 I0 J0 X30 Y0
G40 X60 Y0
G40 X50 Y-15
...
...
0
X
X
R30
R30 -15
0 50
0 60
47
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
G41 ...
... G41 ...
... ...
G1 X0 Y30
...
X40 Y10
G2 I0 J0 X30 Y0
G40
X... Y... G40
Y
... X... Y...
Y
...
30
10 R30
0
X
X
0 40
Il movimento successivo alla programmazione della G40 senza quote può essere un qualsiasi
movimento in G0, G1 G2 o G3.
Se si programma alla chiusura di una correzione raggio G40 accompagnato da G0 e una quota, per
esempio:
N30 G40 G0 Z20
Viene allarme di programmazione CN 1D14.
Per tratti rettilinei la velocità del centro e della periferia dell'utensile sono uguali, mentre ci sono
differenze per tratti circolari.
Si ha un incremento della velocità di traslazione della periferia rispetto al centro negli archi interni,
e una diminuzione negli archi esterni.
Normalmente, durante la correzione raggio, lo Z32 mantiene il più possibile costante la velocità di
traslazione della periferia piuttosto che del centro fresa: in ogni caso sono però ESCLUSI aumenti di
velocità del centro fresa rispetto alla velocità programmata.
Se si desidera invece mantenere la velocità del centro fresa pari a quella programmata e disattivare
il controllo sulla velocità periferica dell’utensile, occorre programmare G109U.
La funzione G109V riattiva il controllo sulla velocità periferica dell’utensile in correzione raggio. La
modalità G109V è attiva al reset, ed è quindi l’impostazione di default.
48
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Attenzione: nel caso di raggi utensile molto piccoli (inferiori a circa 3 micron) si possono avere
errori sul profilo interpolato di un massimo di circa 2 micron, che dovrebbero essere tollerati
senza difficoltà in qualsiasi applicazione, in quanto inferiori agli altri errori che influiscono sul
risultato finale (errori di inseguimento, di temperatura, di geometria utensile ecc.). Se però non
sono tollerati errori di questa entità, si raccomanda di non programmare raggi utensili molto
piccoli (ossia si deve programmare il raggio utensile fisico e non la correzione rispetto al raggio
teorico.
La G109S ha efficacia solo su spigoli generati da due segmenti rettilinei. Se uno dei due tratti è un
arco di cerchio (che impedirebbe comunque l’arrotondamento) si ha la normale introduzione dell’arco
di raccordo.
G109S (modale, non attiva al reset) forza la correzione sulla bisettrice, mentre con G109T (modale,
attiva al reset) si ripristina il normale funzionamento di Z32 con l’introduzione dell’arco di raccordo.
G109T G109S
Attenzione: Per evitare grossi allungamenti dei tratti programmati, la modalità G109S elimina
solamente i raccordi esterni inferiori a 91 gradi.
G109S
49
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
La G117 gestisce teste mandrino montate su assi rotativi. La testa può ruotare intorno ad un solo asse
(testa monorotativa) oppure intorno a due assi in cascata, il trainante ed il trainato (testa birotativa).
La G117 statica genera degli offset (interpretabili come traslazioni delle origini XYZ) che vengono
sommati alle quote video degli assi lineari (XYZ).
La G117 statica non induce nessun movimento di trascinamento degli assi lineari (XYZ) in funzione del
movimento degli assi rotativi, effettua solamente una traslazione origini.
La G117 statica viene usata ad esempio per lavorazioni a tre assi con testa ad inclinazione fissa.
Quando si attiva la G117 statica (con G117KA2), gli assi lineari rimangono fisicamente immobili, ma
le loro quote a video cambiano in funzione della posizione degli assi rotativi.
Attenzione: Con G117 statica attiva, un movimento di assi testa rotativi non provoca alcuno
spostamento degli assi lineari XYZ né un cambiamento delle quote a video.
Dopo aver mosso gli assi rotativi testa, se si vuole riaggiornare la correzione origini dovuta
all’inclinazione della testa, si deve nuovamente programmare la G117 statica con G117KA2.
RA: non programmato o RA0 vengono attivati i parametri del mandrino tipo 0 (nelle tarature
di macchina possono essere inseriti fino a tre set di parametri relativi a teste mandrino
mono/birotative, il parametro RA serve per la selezione di uno dei tre set di tarature)
RA1 vengono attivati i parametri del mandrino tipo 1
RA2 vengono attivati i parametri del mandrino tipo 2
I, J, K spostano il punto intorno al quale viene fatta la rotazione. Tali valori vengono sommati
alla distanza fra il naso mandrino e la punta dell’utensile lungo i tre assi lineari (XYZ). Per il
loro calcolo si deve pensare la macchina nella configurazione con assi rotativi al loro punto
di zero. Vedere più avanti per una descrizione dei parametri I J K
Esempio di programmazione, per G117KA2 con testa monorotativa (asse rotativo B, attorno a Y).
Gli assi lineari su cui agiscono le correzioni G117 sono X e Z:
G0X0Y0Z0
G0B30 (inclina la testa di 30 gradi)
G117KA2 (calcola offset X e Z e li somma alle quote video)
…
lavorazione X…Y…Z… con testa inclinata a 30 gradi.
…
G117KA0 disattivazione della G117 statica
50
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
E’ possibile combinare le funzioni G116 e G117 per lavorare piani comunque inclinati con testa
rotativa inclinata. E’ molto utile a questo scopo la programmazione della G116 KA2 che determina
la rotazione da assegnare agli assi XYZ, in funzione della rotazione testa, in modo tale da allineare
l’asse Z del sistema ruotato con l’asse utensile.
Attenzione: La G116 KA2 è disponibile solo se la G117 è definita come generalizzata in taratura.
Consultare il costruttore per ulteriori dettagli.
Nell’esempio che segue, supponiamo di avere una testa birotativa con assi B (trainato) e C (trainante).
30 2
3 40 30
Z
40 Y X
Y
30
Y X
Z Z
30
30
X
Y
Y X
Z Z
X
5
4 40
30
30 40
1) Testa verticale:
G0 B0 C0
G117KA0
G116KA0 Z
2) Faccia laterale destra: C+
G0 B90 C0
G117 KA2
G116 X40 Z-30 KA2
3) Faccia posteriore:
G0 B90 C90
G117 KA2
G116 Y30 Z-30 KA2 Y Z
4) Faccia laterale sinistra: B+ X
G0 B90 C180
G117 KA2
G116 X-40 Z-30 KA2 Y
5) Faccia anteriore:
G0 B90 C270
G117 KA2
G116 Y-30 Z-30 KA2
51
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
La G117 o G117KA1, che sono equivalenti, mantiene il punto di contatto tra utensile e pezzo quando
viene ruotato un asse di un testa rotativa.
A differenza della G117 statica, una rotazione della testa, con G117KA1 attiva, induce dei movimenti
trascinati sugli assi lineari (XYZ).
La G117 dinamica viene per esempio usata per lavorazioni a 4 o 5 assi generati da sistemi CAM.
Con G117KA1 attiva, le quote mostrate a video degli assi lineari (XYZ) sono corrette in funzione
orientamento della testa.
Con G117 dinamica attiva, programmando lo spostamento di un asse rotativo, vengono mossi anche
gli assi lineari per mantenere fermo il punto di contatto col pezzo.
Sono possibili movimenti di assi rotativi e lineari insieme.
RA: non programmato o RA0 vengono attivati i parametri del mandrino tipo 0 (nelle tarature
di macchina possono essere inseriti tre set di parametri relativi a teste mandrino
mono/birotative, il parametro RA serve per la selezione di uno dei tre set di tarature)
RA1 vengono attivati i parametri del mandrino tipo 1
RA2 vengono attivati i parametri del mandrino tipo 2
I, J, K spostano il punto intorno al quale viene fatta la rotazione. Tali valori vengono sommati
alla distanza fra il naso mandrino e la punta dell’utensile lungo i tre assi lineari (XYZ). Per il
loro calcolo si deve pensare la macchina nella configurazione con assi rotativi al loro punto
di zero.
G0X0Y0Z0
G117 (attivazione RTCP testa dinamico)
…
X…Y…Z…A…B…
X…Y…Z…A…B…
Lavorazione 5 assi in continuo …
…
G117KA0 disattivazione G117
52
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
I valori dei parametri I J e K, sono riferiti alla condizione di assi rotativi nella posizione zero
Per esempio, per una testa monorotativa verticale (l’utensile è lungo Z quando l’asse rotativo
è zero), la programmazione di G117 K10 equivale ad un accorciamento dell’utensile di 10 mm.
La programmazione di I J K è opzionale: se uno o più di questi parametri non sono
programmati, non viene modificata la lunghezza del braccio di rotazione lungo l’asse relativo.
G117 K10
X K
Attenzione:
Il reset annulla sia G117 dinamica che statica
La G117 statica è incompatibile con la G117 dinamica. Se si programma G117 mentre è attiva
G117KA2, oppure G117KA2 mentre è attiva G117, si ha allarme CN2C14 (parametri
incompatibili)
Non si può cambiare origine sugli assi rotativi trainato/trainante con G117 dinamica attiva.
Le origini possono solo essere modificate quando G117 non è attiva.
G105 non funziona se G117, sia statica che dinamica, è attiva
La G117 non è compatibile con le formule permanenti né con i movimenti di copiatura (G111).
G117 dinamica è incompatibile con G43/G44/G45, diversamente si genera allarme CN5B14.
G53 annulla la G117KA2
Se si programma G117KA2 o G117 con G53 attiva si ha allarme CN3914 (formule + G53/G54)
La G54, che elimina la G53, non ripristina l’eventuale G117 statica attiva in precedenza alla
G53: G117KA2 deve essere programmata nuovamente per riattivarla.
Per evitare tali allarmi gli assi lineari interessati all’RTCP devono essere tutti assi vivi.
53
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
La G124 permette di attivare i volantini degli assi rotativi legati a G117 mentre la stessa G117 è
attiva.
Lo scopo è di poter muovere a mano la testa della macchina durante la lavorazione del pezzo in
automatico e semiautomatico.
Mentre è attiva G124 non si possono programmare le quote degli assi rotativi legati a G117 (asse
rotativo per testa monorotativa, assi trainante/trainato per testa birotativa).
Programmazione di G124
Sintassi:
G124 KA1 attiva i volantini collegati agli assi rotativi legati a G117; KA1 non è necessario
G124 KA0 disattiva la G124
Disattivazione
Programmando G124KA0 si ha la disattivazione dei volantini legati agli assi rotativi di G117 e
tali assi possono essere da ora in avanti di nuovo programmati.
54
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
La G118 gestisce tavole girevoli. La tavola girevole può ruotare intorno ad un solo asse (tavola
monorotativa) oppure intorno a due assi in cascata, il trainante ed il trainato (tavola tilting).
La G118 calcola lo spostamento sugli assi lineari generato dalle rotazioni della tavola.
Esistono due modalità di utilizzo della G118
Quando viene mosso un asse tavola, gli assi lineari NON vengono mossi insieme alla tavola,
programmare G118 HR2 imposta solamente una traslazione dell’origine pezzo in funzione
dell’orientamento degli assi rotativi tavola al momento della programmazione della G118 HR2.
RA (opzionale): non programmato o RA0 vengono attivati i parametri del tavola tipo 0 (nelle
tarature di macchina possono essere inseriti tre set di parametri relativi a tavole
mono/birotative, il parametro RA serve per la selezione di uno dei tre set di tarature)
RA1: vengono attivati i parametri della tavola tipo 1
RA2: vengono attivati i parametri della tavola tipo 2
Programmando “G118N” l’RTCP tavola viene attivato considerando tutti gli assi rotativi
definiti in taratura. Nel caso di tavola birotativa, entrambi gli assi sono considerati.
Programmando “G118{nome asse}” l’RTCP tavola viene attivato considerando solo l’asse
specificato. Questa programmazione può essere utile per tavole birotative, per poter attivare
l’RTCP solamente su uno dei due assi rotativi.
Ad esempio: supponendo di avere una tavola tilting con asse B come bascula
(trainante) e asse C come tavola girevole (trainato), per attivare l’RTCP solamente
sulla tavola girevole si potrà programmare:
G118C
55
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
I parametri X, Y e Z modificano le coordinate del centro tavola. Possono essere utilizzati per
correggere la posizione del centro tavola.
La funzione G118 HR2 attiva una traslazione del sistema di riferimento in funzione della posizione
degli assi rotativi legati alla tavola, ad esempio, nel caso di tavola rotativa C.
In altre parole, la nuova origine pezzo è calcolata come se l’origine, solidale col pezzo, venisse
trascinata insieme alla tavola.
G0 C0 X0 Y0 F1000
Y G1 X100 (1)
X200 (2)
Y50 (3)
X100 (4)
Y0 (5)
X0 (6)
G118C HR2 G0 C120
G118C HR2
11 G0 X0 Y0 (7)
G1 X100 (8)
12 10 X200 (9)
Y50 (10)
8 9 X100 (11)
Y0 (12)
G118E
X
7
6 5 3
1 2
56
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Attenzione: Con G118 HR2 attiva, un movimento di assi tavola non provoca alcuno spostamento
degli assi lineari XYZ né un cambiamento delle quote a video, né un ricalcolo delle origini.
Dopo aver mosso gli assi rotativi tavola, se si vuole riaggiornare la correzione origini dovuta
all’orientamento tavola, si deve nuovamente programmare la G118 statica con G118HR2.
RA (opzionale): non programmato o RA0 vengono attivati i parametri del tavola tipo 0 (nelle
tarature di macchina possono essere inseriti tre set di parametri relativi a tavole
mono/birotative, il parametro RA serve per la selezione di uno dei tre set di tarature)
RA1: vengono attivati i parametri della tavola tipo 1
RA2: vengono attivati i parametri della tavola tipo 2
Programmando “G118N” l’RTCP tavola viene attivato considerando tutti gli assi rotativi
definiti in taratura. Nel caso di tavola birotativa, entrambi gli assi sono considerati.
Programmando “G118{nome asse}” l’RTCP tavola viene attivato considerando solo l’asse
specificato. Questa programmazione può essere utile per tavole birotative, per poter attivare
l’RTCP solamente su uno dei due assi rotativi.
I parametri X, Y e Z modificano le coordinate del centro tavola. Possono essere utilizzati per
correggere la posizione del centro tavola.
Con la G118 HR1, una rotazione degli assi rotativi tavola comporta una rotazione del sistema di
riferimento rispetto al quale vengono riferite le quote programmate nel part-program. In altre parole,
il sistema di riferimento ruota insieme con la tavola.
L’esempio successivo spiega il comportamento: supponiamo che l’asse rotativo sia l’asse C e che
l’utensile sia allineato con l’asse Z:
57
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Y
Y'
G0 X100 Y0 C0
G118C HR1
G118C HR1 C30 (1)
X' G1 X200 Y0 (2)
4 3 Y50 (3)
X100 (4)
Y0 (5)
G118E
5 2
1
X
In altre parole:
Con G118 HR1, il sistema di riferimento ruota insieme alla tavola, pertanto è come se la terna XYZ
fosse fissata sul pezzo da lavorare e venisse ruotata insieme ai movimenti tavola.
Con G118 HR1 attiva pertanto
i movimenti programmati X Y Z identificano la traiettoria che si desidera ottenere sul pezzo
stesso, perché sono riferiti ad un sistema di riferimento che resta solidale al pezzo.
I movimenti programmati degli assi rotativi della tavola impostano invece l’inclinazione
relativa tra pezzo e utensile
58
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Con la G122 si può compensare errori di montaggio pezzo su una tavola tilting.
La procedura da usare è la seguente:
Si misurano e si calcolano (tipicamente in automatico con opportune sequenze di misura in
G61) gli errori di montaggio del pezzo
Si muovono gli assi rotativi in modo da portare il pezzo in squadra (facce da lavorare allineate
con gli assi lineari)
Eventualmente si attivano anche origini degli assi lineari in modo da compensare, in questa
posizione allineata, gli errori di montaggio
Si attiva la G122, dando come parametri I J K gli errori di montaggio sui tre assi lineari
principali
Per esempio:
Gli assi rotativi della tavola sono stati ruotati e posizionati in modo tale da allineare
correttamente le facce del pezzo da lavorare.
In questa posizione, si misura un errore di centraggio del pezzo rispetto al centro tavola, ad
esempio pari a:
+1,5mm in X (ossia il pezzo è montato spostato verso la X positiva di 1,5mm)
+0.4mm in Y
-0.1mm in Z
La correzione da inserire con la G122 è:
G122 I1.5 J0.4 K-0.1
G122 I… J… K…
dove:
I, J, K sono le componenti dell’errore di montaggio rispettivamente lungo gli assi X, Y, e Z.
Disattivazione G122
Per disattivare la correzione di G122 si deve programmare:
G122 KA0
59
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
La funzione G131 permette di mantenere costante la velocità relativa tra utensile e pezzo con moti
in RTCP dinamico.
Quando l’RTCP dinamico (testa o tavole) è attivo, questa funzione fa sì che il moto relativo tra pezzo
e utensile venga effettuato alla velocità F programmata anche quando si ha l'RTCP dinamico attivo.
Il parametro “I” programmato sulla riga della G131, individua la massima velocità che possono
avere gli assi rotativi coinvolti nel movimento.
Se tale parametro non viene specificato la velocità massima sarà saturata al rapido.
Con G131 attiva, il CN mantiene la velocità relativa tra utensile e pezzo al valore della F
programmata, con le seguenti limitazioni:
Nessun asse lineare coinvolto nel movimento può superare la sua velocità massima.
Nel caso che, o per effetto della F programmata, o per effetto dei moti di trascinamento
indotti dall’RTCP, uno o più assi dovessero muoversi ad una feed maggiore del proprio rapido,
il movimento verrà eseguito a velocità più bassa per rispettare le limitazioni di tutti gli assi
coinvolti.
Nessun asse rotativo legato all’RTCP può superare la velocità del suo rapido, oppure la
velocità espressa nel parametro “I”. Ad esempio, in blocchi con lunghezza del movimento
degli assi lineari nullo i rotativi andranno al loro massimo consentito (parametro “I” o rapido).
Per disattivare la G131 occorre programmare una delle funzioni G93, G94 o G95 a seconda della
tipologia di programmazione della feed richiesta.
60
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
5. PROGRAMMAZIONE PARAMETRICA
Parametri letterali:
Sono costituiti da combinazioni di uno o due caratteri.
Nei nomi dei parametri letterali non possono essere utilizzati:
- lo SPAZIO (BLANK)
- i NUMERI
- i caratteri ! $ % ( ) * + , - . / ; < = >
- il primo carattere non può essere nessuno dei seguenti: “G”, “N”, “O”
I caratteri minuscoli sono utilizzabili.
PARAMETRI DI SISTEMA:
Esistono alcuni parametri che hanno un significato ben preciso nella programmazione dello
Z32 e che non sono utilizzabili per scopi diversi da quelli ai quali sono destinati. Tali parametri
sono definiti parametri di sistema e sono:
NOMI ASSI:
I nomi degli assi sono sempre definiti con una sola lettera a scelta tra le seguenti:
A B C D H P Q U V W X Y Z
Devono essere definiti nelle tarature di macchina.
PARAMETRI UTENTE
L’utente può definire in un programma un massimo di 60 “parametri letterali” per la
programmazione parametrica.
Sono vietate le seguenti combinazioni:
Parametri PAR[…]
E’ un vettore di 513 parametri. Da PAR[0] a PAR[512].
Il numero del parametro può essere il risultato di un’espressione, ad esempio:
HA10 HB5
PAR[6]30
PAR[HA + PAR[HB + 1]]100
Equivale a:
PAR[10+PAR[6]]100
Cioè:
PAR[40]100
62
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
L’uso dei parametri PAR[…] può sostituire l’uso dei parametri utente letterali in tutte le
situazioni. Tali parametri inoltre non sono soggetti ad alcuna limitazione nel massimo numero
di parametri utilizzabili.
Parametri PAL[…]
Le modalità di uso sono le stesse del vettore PAR[…]
E’ un vettore di 513 parametri. Da PAL[0] a PAL[512].
Questi parametri sono solo INTERI e normalmente riservati allo scambio di informazioni tra il
PLC ed il part-program.
I valori da PAL[256] a PAL[512] sono di sola lettura.
I valori da PAL[0] a PAL[255] sono assegnabili da part-program. Quando ad un parametro
PAL[…] viene assegnato un numero non intero, tale numero viene arrotondato all’intero più
vicino.
L’assegnazione di un valore numerico ad un parametro si effettua con una programmazione del tutto
simile alla programmazione del movimento di un asse.
Per assegnare un parametro con il risultato di un’espressione, si utilizzano le parentesi acute “<” e
“>” (ovvero simbolo di minore e maggiore) per indicare l’inizio e la fine dell’espressione.
All’interno dell’espressione è possibile utilizzare le parentesi tonde “(“ e “)”.
HA< HB + 1 >
Oppure per assegnare al parametro PAR[10] il valore della radice quadrata del parametro HC:
PAR[10]< RQ(HC) >
Tramite l’uso delle parentesi tonde è possibile programmare espressioni anche molto complesse:
HA< HB + (HC+HD/2)/(SN(HE) >
N40 G0 X<HA>
N50 F<HB>
N60 G1 X<HC+100>
La programmazione di movimenti asse tramite un’espressione parametrica può essere anche molto
complessa e segue le stesse regole dalla programmazione dei parametri.
Oppure
L< L-2 >
Accorcia l’utensile di 2
Allo stesso modo è possibile assegnare un valore, anche tramite un’espressione, a tutti i parametri di
sistema.
Attenzione: la programmazione dei parametri di sistema è del tutto equivalente alla programmazione
dei parametri utente. L’uso dei parametri di sistema deve essere però riservato per lo scopo previsto
per il parametro steso e non per calcoli parametrici generici
64
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Attraverso questi parametri è possibile programmare movimenti degli assi indipendentemente dai
nomi degli assi reali.
Programmando la G25 viene specificato quale asse è relativo ad AA, quale ad AB e quale ad AC,
secondo lo schema seguente:
Ad esempio:
OX1 OY1 OZ1
OX1 OY1 OZ1 T1M6
T1M6 F1000
F1000 S3000 M3
S3000 M3
G25ZXY G43Y
G25XYZ G43Z G0 AA0 AB0 AC2
G0 AA0 AB0 AC2 G1 AC0
G1 AC0 AA5
AA5 AB2
AB2 AA0
AA0 AB0
AB0 AC-0.5
AC-0.5 AA5
AA5 AB2
AB2 AA0
AA0 AB0
AB0 M2
M2
65
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Attenzione: come già detto, con una riga evoluta non è possibile programmare il moto di un asse.
Ad esempio, la programmazione di
!X=100!
Non produce alcun movimento della macchina, ma ha solo il significato di impostare il valore
del parametro X al valore 100.
Per programmare uno spostamento della macchina è necessario NON fare uso delle righe evolute.
La destinazione del salto è il numero N seguito dal numero identificativo (anche decimale)
Ad esempio:
Il programma arriva ad N10 e salta alla label N20:
…
N10 !GON20!
…
N20
…
66
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Permette di eseguire la parte di programma compresa tra le due label N specificate e tornare alla
riga chiamante.
Ad esempio:
…
…
N20 !GON40-N50!
N30
…
N40
…
N50
…
Il programma arriva ad N20, salta ad N40, esegue le istruzioni tra N40 e N50 e poi torna ad eseguire
N30.
I salti con ritorno possono essere fatti all’interno di altri salti con ritorno fino ad una profondità di 10
livelli.
Attenzione: Per poter utilizzare i numeri N.. come destinazione di un salto è necessario che il
carattere N sia il primo carattere presente nella riga senza spazi davanti:
Programmazione giusta:
…
N10 !GON20!
…
N20
…
Programmazione sbagliata:
N10 !GON20!
…
N20
…
La condizione può essere un’espressione parametrica qualsiasi nella quale possono venire controllate
le seguenti condizioni tra due espressioni parametriche:
> maggiore
< minore
= uguale
<> diverso
>= maggiore o uguale
<= minore o uguale
Ad esempio:
!IF HA > 10 ; GON20!
Salta ad N20 se HA è maggiore di 10.
Ad esempio
!IF HA > 10 ; GON20 ! IF HA >5 ; GON30 ! GON40!
Attenzione: il carattere “!” non interrompe l’esecuzione di una riga evoluta. Per interrompere
l’esecuzione di una riga evoluta è necessario un comando di salto !GON..! oppure l’istruzione EB
di fine blocco.
Ad esempio, nella seguente riga:
!IF HA>=0 ; HA=HA+1 ; EB ! HA=HA-1!
L’istruzione EB è necessaria per terminare l’esecuzione della riga.
La riga ha il seguente comportamento:
Se HA è maggiore o uguale a zero, viene aumentato di 1, altrimenti viene
decrementato di uno.
Se avessimo scritto:
!IF HA>=0 ; HA=HA+1 ! HA=HA-1!
L’istruzione non sarebbe stata corretta perché:
Se HA è maggiore o uguale a zero, HA viene prima incrementato e poi decrementato
di uno, dato che, come detto, il carattere “!” non interrompe l’esecuzione di una
riga.
68
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Ad esempio:
N10
…
N50 !GOP10!
Il programma principale viene eseguito fino alla riga N50, poi l’esecuzione salta al programma
CMOS numero 10.
N10
…
N50 !GOP10!
N60
…
Sottoprogramma CMOS 10:
N10
…
…
N100 G26
Il programma principale viene eseguito fino alla riga N50, poi l’esecuzione passa al sottoprogramma
10, che viene eseguito dalla riga N10 fino alla riga N100. L’istruzione G26 indica la fine del
sottoprogramma, quindi dal programma CMOS 10 si ritorna ad eseguire il programma chiamante dalla
riga N60
69
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
N10
…
N50 !GOP10-N30!
N60
…
Il programma principale viene eseguito fino alla riga N50, poi l’esecuzione passa al
sottoprogramma 10, che viene eseguito dalla riga N30 fino alla riga N100. L’istruzione G26
indica la fine del sottoprogramma, quindi dal programma CMOS 10 si ritorna ad eseguire il
programma chiamante dalla riga N60
5.2.9 Salto a sottoprogrammi CMOS con due label (!GOP.. –N.. –N.. !)
E’ possibile saltare ad un programma CMOS eseguendolo a partire da una certa label.
Ad esempio:
N10
…
N50 !GOP10-N30-N70!
N60
…
Il programma principale viene eseguito fino alla riga N50, poi l’esecuzione passa al sottoprogramma
10, che viene eseguito dalla riga N30 fino alla riga N70. Dopo l’esecuzione della riga N70, si ritorna
ad eseguire il programma chiamante dalla riga N60
70
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Ad esempio:
--IF condizione
N10
…
N20
--END IF
L’istruzione --IF indica la prima condizione che viene controllata. Se {condizione 1} è verificata,
vengono eseguite i blocchi da N10 ad N20 e poi l’esecuzione passa ad N70.
Se {condizione 1} non è verificata, viene controllata la condizione --ELSE IF. Se {condizione 2} è
verificata, vengono eseguiti i blocchi da N30 ad N40 e poi l’esecuzione passa ad N70.
Se non sono verificate né la condizione 1 né la condizione 2, l’esecuzione passa al blocco --ELSE e
vengono eseguiti i blocchi da N50 ad N60, poi l’esecuzione passa ad N70.
Sulle righe --IF, --ELSE IF, --ELSE e --END IF è possibile inserire un commento dopo il carattere “;”
In sintesi:
71
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
--END IF
L’istruzione --ELSE identifica le istruzioni che vengono eseguite se tutte le altre condizioni
non sono vere.
L’istruzione --END IF indica la fine di un blocco --IF.
72
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Ad esempio:
--DO
N10
…
N100
--LOOP
Nell’esempio che segue, i blocchi da N10 ad N100 vengono ripetuti 10 volte, dopo di che si passa
all’esecuzione del blocco N110. Significa che in totale i blocchi da N10 ad N100 vengono eseguiti 11
volte, perché il numero specificato è il numero di ripetizioni. Tale specifica può essere passata con
un parametro tra parentesi acute: ---LOOP <HA>. In questo caso il parametro viene arrotondato
all’intero più vicino.
--DO
N10
…
N100
--LOOP 10
N110
Nell’esempio che segue, i blocchi da N10 ad N100 vengono ripetuti se si verifica la condizione
specificata, dopo di che si passa all’esecuzione del blocco N110. Ovvero, se HA è minore di 10,
vengono eseguite le ripetizioni, se HA è maggiore o uguale a 10 vengono cessate le ripetizioni.
--DO
N10
…
N100
--LOOP IF HA < 10
N110
73
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
5.4.3 Condizione di uscita a metà del blocco --DO --LOOP (--EXIT DO IF)
Si può specificare il blocco e la condizione di uscita tramite l’istruzione:
--EXIT DO IF condizione
L’istruzione --EXIT DO permette di uscire dalla struttura --DO --LOOP quando la condizione è vera.
Nell’esempio che segue, i blocchi da N10 ad N100 vengono ripetuti fino a che non si verifica la
condizione di uscita. Quando la condizione di uscita è verificata, l’uscita viene effettuata al blocco
N50, quindi le istruzioni comprese tra N50 e N100 non vengono eseguite e si passa all’esecuzione del
blocco N110.
--DO
N10
…
N50 --EXIT DO IF HA > 10
…
N100
--LOOP
N110
74
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Sulle righe --DEFINE, --END DEFINE è possibile inserire un commento dopo il carattere “;”
Il programma da scrivere può essere solo un programma CMOS e va specificato con il suo numero.
Nell’esempio che segue viene scritto il programma numero 10:
--DEFINE P10
…
{Listato del programma}
…
--END DEFINE
T1M6
F5000
--DEFINE P10
G1 X100
G1Y100
G1X0
G1Y0
G26
--END DEFINE
G0 Z100
G0 X0Y0
G0 Z1
G1 Z1
!GOP10!
M2
Attenzione: L’istruzione --DEFINE P.. deve essere eseguita prima di richiamare (con l’istruzione
!GOP..!) il programma definito .
75
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Il sottoprogramma da scrivere deve essere specificato con il numero della subtemp da scrivere.
Nell’esempio che segue viene scritta la subtemp numero 20:
--DEFINE S20
…
{Listato del programma}
…
--END DEFINE
--DEFINE S20
G1 X100
G1Y100
G1X0
G1Y0
G26
--END DEFINE
G0 Z100
G0 X0Y0
G0 Z1
G1 Z1
!GOS20!
M2
Attenzione: Nella definizione di una subtemp con la funzione --DEFINE S.. è necessario inserire
l’istruzione di fine sottoprogramma G26.
Attenzione: L’istruzione --DEFINE S.. deve essere eseguita prima di richiamare la subtemp
definita con l’istruzione !GOS..!
76
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Attenzione: La definizione di una subemp con l’istruzione --DEFINE S.. è temporanea. Tale
subtemp rimane utilizzabile solo all’interno dell’esecuzione in corso. Al termine dell’esecuzione
la subtemp viene cancellata.
77
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
In questo capitolo vengono descritte le macro ed i cicli fissi standard di Z32. I cicli e le lavorazioni
qui descritte si riferiscono a versioni di SIS T109-8B o successive.
I cicli e le lavorazioni vengono richiamati tramite le funzioni:
G800 CICLI FISSI
G801 MACRO DI POSIZIONAMENTO
G802 MACRO DI LAVORAZIONE
Dove la lettera K deve essere seguita dal numero che identifica il ciclo da attivare.
Una volta attivato un ciclo fisso, esso è eseguito automaticamente alla fine di ogni posizionamento in
G0 (RAPIDO) programmato. Eventuali movimenti in lavoro non fanno eseguire il ciclo fisso.
La programmazione della G800 è la seguente:
Passaggio di parametri:
Il passaggio di parametri è effettuabile programmando i parametri da passare sulla stesa riga
di programma dove è programmata la G800. Nella riga di programma dove è presente una
G800 non è possibile programmare parametri diversi da quelli accettati per la
programmazione dei cicli fissi.
Ad esempio, riferendosi al ciclo G800K1, è possibile impostare i parametri programmando:
G800 MHA0 MHB-20 MHC10
78
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
79
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
80
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
MHT MHW
Parametri opzionali per gestione soste con compensatore (MHM=1)
(MHT): tempo di sosta prima comando inversione mandrino
(MHW): tempo di sosta dopo comando inversione mandrino
MHT e MHW sono da utilizzarsi solo per maschiatura con compensatore
81
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
feed F
G0 MHC
Parametri obbligatori:
MHA: quota di inizio foro
MHB: quota di fine foro
MHC: quota di uscita lunga MHB
MHT
Parametri opzionali per la gestione della sosta a fondo foro:
(MHT): tempo di sosta a fondo foro
Se MHT = 0 la sosta non viene eseguita
MHA
82
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
83
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
84
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
MHB
85
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Passaggio di parametri:
Il passaggio di parametri è effettuabile programmando i parametri da passare sulla stesa riga
di programma dove è programmata la G801. Nella riga di programma dove è presente una
G801 non è possibile programmare parametri diversi da quelli accettati per la
programmazione dei cicli fissi.
Ad esempio, riferendosi al ciclo G801K1, è possibile impostare i parametri programmando:
G801 MPX0 MPY0 MPJ10 MPK5 MPN5
La programmazione dei parametri e l’attivazione della macro è possibile sulla stessa riga o su
righe diverse.
Ad esempio sono equivalenti le seguenti istruzioni
(programmazione parametri e attivazione macro:)
G801K1 MPX0 MPY0 MPJ10 MPK5 MPN5
e
G801 MPX0 MPY0 MPJ10 MPK5 MPN5 (programmazione parametri)
G801K1 (attivazione macro)
Al termine della lavorazione i parametri del ciclo vengono azzerati, pertanto se si desidera
richiamare una nuova lavorazione, i parametri devono essere riprogrammati.
86
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Nel caso in cui si utilizzi la macro di posizionamento per posizionare una lavorazione
contenuta in un file CMOS, è possibile abilitare la rotazione del il part-program durante i
posizionamenti (vedere l’esempio alla fine della descrizione delle macro di
posizionamento).
E’ possibile inoltre non eseguire il posizionamento su un certo numero di punti a scelta
del programmatore:
il parametro FN determina quanti sono i punti che si desidera saltare. I valori inseriti nei
parametri PAR (da PAR[1] fino a PAR[FN]) determinano quali posizionamenti non
effettuare.
La numerazione dei punti da saltare segue l’ordine con cui verranno eseguiti i
posizionamenti.
Nota: Se si utilizza una macro di posizionamento per ripetere una lavorazione contenuta
all’interno di un file CMOS, il controllo farà uso dei parametri DA, DB e QR per traslare e
ruotare la lavorazione sui vari punti di posizionamento. Dovrà essere cura di chi struttura
il programma di non fare uso di tali funzionalità in modo da non entrare in contrasto con
la macro di posizionamento.
87
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
6.2.2 G801K2: Linea dati punto iniziale, angolo e distanza tra i punti
Parametri obbligatori:
MPX, MPY: coordinate del punto iniziale
MPG: angolo di inclinazione della retta
MPP: distanza tra i punti
P
MPN: numero di punti MP
88
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
MP M
lavorazione
(MPF): MPF = 0 : sui punti si posiziona un ciclo fisso
MPF <> 0 : sui punti si posiziona una figura programmata in nel
programma CMOS numero MPF MPY
MPG: angolo delle righe rispetto al primo asse del piano MPP
MP M
Parametri opzionali per la gestione del posizionamento di una
lavorazione MPG
lavorazione
(MPF): MPF = 0 : sui punti si posiziona un ciclo fisso MPB
MPN
programma CMOS numero MPF
(MPR): MPR = 0 : non ruota la figura
0 MPX MPA MPC
MPR = 1 : ruota la figura dell’angolo di inclinazione della retta
Parametri opzionali per la gestione del salto di alcuni posizionamenti
(MPS): numero di punti da saltare.
I numeri dei punti da saltare vanno memorizzati nel vettore PAR da PAR[1] a PAR[MPS]
89
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
dell’arco da coprire
(MPL): incremento totale (valore positivo)
Se MPL = 0 oppure MPL = 360 i punti vengono
suddivisi sull’intera circonferenza 0 MPX
Parametri opzionali per la gestione del posizionamento di
una lavorazione
(MPF): MPF = 0 : sui punti si posiziona un ciclo fisso
MPF <> 0 : sui punti si posiziona una figura programmata in nel programma CMOS numero MPF
(MPR): MPR = 0 : non ruota la figura
MPR = 1 : ruota la figura dell’angolo di inclinazione della retta
Parametri opzionali per la gestione del salto di alcuni posizionamenti
(MPS): numero di punti da saltare. I numeri dei punti da saltare vanno memorizzati nel vettore PAR
da PAR[1] a PAR[MPS]
Parametri opzionali per la gestione del tipo di posizionamento
(MPW): gestione spostamento fra un punto e l'altro
MPW = 0 : spostamento rettilineo
MPW = 1: spostamento circolare
90
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
MPA
MPB: angolo finale
Se MPA = MPB, i punti vengono suddivisi sull’interna circonferenza MPY
MPY
91
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Parametri obbligatori:
MPX, MPY: coordinate del centro del rettangolo
MPG: angolo rotazione rettangolo
L
MP
MP
H
MPL: base del rettangolo MP
G
MP
M
Parametri opzionali per la gestione del posizionamento di una
MP N
lavorazione
(MPF): MPF = 0 : sui punti si posiziona un ciclo fisso 0
MPX
Parametri obbligatori: MP
P
MP
MPX, MPY: coordinate dello spigolo in basso a sinistra
Q
MPG: angolo rotazione rettangolo
MPN: numero di punti sulla base del rettangolo
MPG
MPP: distanza tra i punti sulla base
MPM: numero di punti sull'altezza del rettangolo
MPQ: distanza tra i punti sull’altezza
MP
M
N
MP
Parametri opzionali per la gestione del posizionamento di una MPY
lavorazione 0 MPX
G
MP
MPH: altezza del rettangolo
lavorazione
M
92
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Passaggio di parametri:
Il passaggio di parametri è effettuabile programmando i parametri da passare sulla stesa riga
di programma dove è programmata la G802. Nella riga di programma dove è presente una
G802 non è possibile programmare parametri diversi da quelli accettati per la
programmazione dei cicli fissi.
Rispetto alle G800 e G801, nella programmazione della G802 è possibile programmare le quote
degli assi continui per definire il punto di riferimento della macro (ad esempio il centro di
una cava)
Ad esempio, riferendosi al ciclo G802K1, è possibile impostare i parametri programmando:
G802 X10 Y10 MMA0 MMB-20 MMC10
La programmazione dei parametri e l’attivazione del ciclo fisso è possibile sulla stessa riga o
su righe diverse.
Ad esempio sono equivalenti le seguenti istruzioni
G802K1 X10 Y10 MMA0 MMB-20 MMC10 (programmazione parametri e
attivazione ciclo)
e
G802 X10 Y10 MMA0 MMB-20 MMC10 (programmazione parametri)
G802K1 (attivazione ciclo)
Al termine della lavorazione i parametri del ciclo vengono azzerati, pertanto se si desidera
richiamare una nuova lavorazione, i parametri devono essere riprogrammati.
93
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Ad esempio:
G802 MMA0 MMB-30 MMC10 MMD60
G802K1 HX1 MMK1 MME2 MMW1 MMQ4
Si può notare che non sono programmate le quote del centro cava
La sospensione del ciclo fisso si opera con la funzione G27X (vedi introduzione ai cicli fissi G800).
Usando una macro di lavorazione in congiunzione con una macro di posizionamento è possibile
utilizzare la rotazione della lavorazione (parametro MHR).
94
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Parametri obbligatori:
coordinate del centro cava (programmate con le quote degli
MMP MMJ=0
assi)
MMD: diametro della cava
MMA: quota di inizio cava AA, AB
MMB: quota di fine cava MMJ=1
MMC: quota di ritorno alto MMD
MMK: profondità di passata MMC
R
MME: distanza di sicurezza MMS MME
MMA
95
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
96
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Il ciclo di lavorazione di questa macro è del tutto uguale alla macro di sgrossatura di cave rettangolari
dato il centro cava. L’unica differenza sta nel fatto che, al posto delle coordinate del centro cava,
vengono date le coordinate di uno spigolo della cava.
In questo caso i parametri AA e AB rappresentano uno spigolo della cava, MML e MMH sono i due lati
della cava. Il segno di MML e di MMH deve essere dato in accordo alla figura sottostante:
MML>0
MMH>0 MMH<0
MML>0
MML<0
MMH>0 MMH<0
MML<0
MMP
MMG
MMR
MMH
MML
MMC
MMS MME
R MMA
MMK
MMB
MMU MMN
97
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Parametri obbligatori:
coordinate del centro cava (programmate con le quote degli
assi)
MMJ=0
MMD: diametro della cava AA, AB
MMA: quota di inizio cava
MMB: quota di fine cava
MMD MMJ=1
MMC: quota di ritorno alto MMQ
MME: distanza di sicurezza
MMK: profondità di passata R MMC
MMS MME
MMA
Parametri opzionali per la gestione della rotazione della parete di
attacco: MMK
(MMV): definizione della parete sulla quale vengono effettuati MMB
MMU
gli attacchi e i distacchi dal profilo: MMN
MMV=0: parete di destra
MMV=1: parete di sinistra
98
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
MMK
Parametri opzionali per la gestione della rotazione della parete di
attacco: MMB
MMU MMN
(MMV): definizione della parete sulla quale vengono effettuati
gli attacchi e i distacchi dal profilo:
MMV=0: parete di destra
MMV=1: parete di sinistra
Il ciclo di lavorazione di questa macro è del tutto uguale alla macro di finitura di cave rettangolari
dato il centro cava. L’unica differenza sta nel fatto che, al posto delle coordinate del centro cava,
vengono date le coordinate di uno spigolo della cava.
In questo caso i parametri AA e AB rappresentano uno spigolo della cava, MML e MMH sono i due lati
della cava. Il segno di MML e di MMH deve essere dato in accordo alla figura sottostante:
MML>0
MMH>0 MMH<0
MML>0
MML<0
MMH>0 MMH<0
MML<0
MMQ
MMG
MMR
MMH
MML
MMC
R MMS MME
MMA
MMK
MMB
MMU MMN
100
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
101
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Parametri obbligatori:
coordinate del centro asola (programmate con le quote degli
assi)
MML: lunghezza dell’asola
MMR A
MMD: larghezza dell’asola
MMR: raggio di curvatura dell’asola
MMA: quota di inizio asola MMC
MMB: quota di fine asola MMS MME
MMA
MMC: quota di ritorno alto AA, AB MMG
MME: distanza di sicurezza MMK
MMH
MMB
MMD
MML
Gestione tipologia di lavorazione:
MMV: tipo di lavorazione B
MMV = 0: sgrossatura e finitura con lo stesso utensile
MMV = 1: solo sgrossatura
MMV = 2: solo finitura
MMK: profondità di passata in sgrossatura
MMH: profondità di passata in finitura
102
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Parametri obbligatori:
coordinate del centro di curvatura dell’asola (programmate
con le quote degli assi)
MML: lunghezza dell’asola
MMD: larghezza dell’asola A
MMR: raggio di curvatura dell’asola MMR
MMA: quota di inizio asola
MMB: quota di fine asola
MML
MMC: quota di ritorno alto AA, AB MMG
MME: distanza di sicurezza
MMC MMD
MMS MME
MMA
Gestione tipologia di lavorazione:
MMV: tipo di lavorazione MMK
B
MMH
MMV = 0: sgrossatura e finitura con lo stesso utensile MMB
MMV = 1: solo sgrossatura
MMV = 2: solo finitura
MMK: profondità di passata in sgrossatura
MMH: profondità di passata in finitura
103
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Parametri obbligatori:
coordinate del centro del foro (programmate con le quote degli MMD
MMA
assi)
MMD: diametro fondo filetto
MMQ: diametro foro MMP
MMA: quota di inizio lavorazione
MMB: quota di fine lavorazione MMQ
MMC: quota di ritorno alto
MMP: passo filetto
MMK: profondità di passate per la sgrossatura del filetto.
La lavorazione di sgrossatura termina sul fondo filetto MMB
(MMD). Su questo diametro vengono eseguite le
(eventuali) MMN passate di lisciatura.
104
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Parametri obbligatori:
coordinate del centro del foro (programmate con le quote MMD
degli assi) MMA
MMD: diametro fondo filetto
MMQ: diametro foro
MMP
MMA: quota di inizio lavorazione
MMB: quota di fine lavorazione
MMC: quota di ritorno alto MMQ
MMP: passo filetto
MMK: profondità di passate per la sgrossatura del filetto.
La lavorazione di sgrossatura termina sul fondo filetto MMH
(MMD). Su questo diametro vengono eseguite le MMB
(eventuali) MMN passate di lisciatura.
MMH: altezza del pettine (mm o pollici per macchine in pollici)
MMS: sovrapposizione filetti (in numero di filetti).
Se la zona da filettare è più bassa dell’altezza del pettine, la filettatura può essere
eseguita in un solo giro (più il quarto di giro di attacco e il quarto di giro di distacco),
se la zona da filettare è più alta dell’altezza del pettine, la filettatura viene eseguita
in più giri. Dopo ogni giro, il pettine viene traslato di una quantità pari all’altezza del
pettine meno la sovrapposizione programmata.
105
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Parametri obbligatori:
coordinate del centro perno (programmate con le quote degli MMD
assi) MMA
MMD: diametro esterno
MMQ: diametro fondo filetto
MMP
MMA: quota di inizio lavorazione
MMB: quota di fine lavorazione
MMC: quota di ritorno alto MMQ
MMP: passo filetto
MMK: profondità di passate per la sgrossatura del filetto.
La lavorazione di sgrossatura termina sul fondo filetto
MMB
(MMD). Su questo diametro vengono eseguite le
(eventuali) MMN passate di lisciatura.
106
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Parametri obbligatori:
coordinate del centro perno (programmate con le quote degli MMD
MMA
assi)
MMD: diametro esterno
MMQ: diametro fondo filetto MMP
MMH
MMA: quota di inizio lavorazione
MMB: quota di fine lavorazione MMQ
MMC: quota di ritorno alto
MMP: passo filetto
MMK: profondità di passate per la sgrossatura del filetto.
La lavorazione di sgrossatura termina sul fondo filetto MMB
(MMD). Su questo diametro vengono eseguite le
(eventuali) MMN passate di lisciatura.
MMH: altezza del pettine (mm o pollici per macchine in pollici)
MMS: sovrapposizione filetti (in numero di filetti).
Se la zona da filettare è più bassa dell’altezza del pettine, la filettatura può essere
eseguita in un solo giro (più il quarto di giro di attacco e il quarto di giro di distacco),
se la zona da filettare è più alta dell’altezza del pettine, la filettatura viene eseguita
in più giri. Dopo ogni giro, il pettine viene traslato di una quantità pari all’altezza del
pettine meno la sovrapposizione programmata.
107
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Parametri obbligatori:
coordinate del primo vertice dell’area rettangolare AA, AB
MMV=1
(programmate con le quote degli assi)
MMX: coordinata sul primo asse del piano di lavoro del secondo
vertice dell’area rettangolare MMV=0 MMP
MMY: coordinata sul secondo asse del piano di lavoro del
secondo vertice dell’area rettangolare
MMA: quota di avvicinamento in rapido
MMB: quota di spianatura
MMC: quota di ritorno alto MMX, MMY
MMC
Parametri opzionali per la gestione del ricoprimento:
(MMP): ricoprimento minimo tra le passate.
MMA MMB
Compreso tra 0.2 e 1.9 volte il raggio fresa. Se MMP=0,
viene assunto MMP=0.2 volte il raggio fresa
108
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Tramite l’istruzione G27C... è possibile attivare un set di cicli fissi generalmente forniti dal
costruttore della macchina
La sintassi e l’uso dell’istruzione G27C.. è la stessa dell’istruzione G800K..:
G27C.. deve essere seguita dal numero del ciclo da attivare (Es. G27C1)
Una volta attivato il ciclo fisso, la sua esecuzione verrà effettuata su tutti i successivi
posizionamenti in rapido
La sospensione del ciclo fisso si effettua tramite l‘istruzione G27X (come descritto
relativamente alla funzione G800)
La disattivazione del ciclo fisso si effettua tramite l’istruzione G27C0
109
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
7. PROFILI PIANI
Lo Z32 dispone di un set di istruzioni per risolvere i problemi di calcolo di un profilo geometrico
complesso.
E’ possibile utilizzare le istruzioni geometriche per la programmazione di profili complessi solo sul
piano di lavoro definito dalla G25.
Nel seguito supporremo di essere nella condizione di piano di lavoro X-Y. Per programmare profili in
piani diversi accorre impostare la G25 opportuna e programmare al posto degli assi X e Y, gli assi
interessati al movimento.
punti
segmenti rettilinei
archi di cerchio
smussi
raccordi
Un punto definito è un qualsiasi punto del piano programmato o calcolato dallo Z32. Un punto
definito può essere un punto iniziale o un punto finale di un tratto.
Un tratto è un segmento di retta o un arco di cerchio, può essere aperto o chiuso.
Una retta o un cerchio si dicono tratti chiusi quando è noto il loro punto finale
Una retta o un cerchio si dicono tratti aperti quando il punto finale non è definito, ma dovrà
essere calcolato come intersezione col tratto successivo.
Ogni tratto può terminare con uno smusso (solo tra tratti rettilinei) o con un raccordo.
Come dettagliato in seguito, i parametri utilizzati per la definizione di tratti geometrici sono i
seguenti:
Punto finale del tratto. Programmato con il nome dell’asse e le quote, ad esempio X e Y.
Coordinate del centro di un arco. Programmate con i parametri “I” e “J” dove “I” è la
coordinata rispetto al primo asse del piano di lavoro e “J” è la coordinata rispetto al secondo
asse del piano di lavoro
Raggio di un arco. Programmato con il parametro “RA” positivo.
Pendenza finale di un tratto. Programmata con parametro “QF” espresso in gradi secondo
QF > 0 QF < 0
lo schema:
KA0 KA1
KA0 KA1
Se KA è programmato in un blocco in cui non è previsto non provoca allarmi: semplicemente non ha
effetto; KA0 può essere omesso.
Dato che il segno di un eventuale raggio di raccordo determina quale intersezione viene scelta, nella
maggior parte dei casi, la programmazione di un raggio di raccordo evita di dover programmare la
scelta dell’intersezione:
111
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
RR>0 RR<0
RR>0 RR<0
112
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
7.1.1 Retta con punto finale definito (G1 X.. ; G1 Y.. ; G1 X.. Y..)
Il punto finale può essere definito con una o due coordinate:
G1 X..
G1 Y..
G1 X.. Y..
Se il punto finale è definito con una sola coordinata si hanno rette parallele agli assi.
Se il punto finale è definito con due coordinate, si ha una retta inclinata.
R10
G0 X40 Y0
G1 X20 Y20
30 X10
Y30
20 G3 I0 J30
G1 X-20 Y20
X-40
Y0
0
X
-40 -20 0 10 20 40
113
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
G1 X.. QF..
G1 Y.. QF..
La retta deve provenire da un punto definito. Partendo dal punto iniziale noto, viene raggiunta la
coordinata programmata con un tratto avente inclinazione QF.
40
45°
30°
G0 X40 Y0
30
G1 Y10
30°
30° Y30 QF120
X15
X0 QF210
10
Y40 QF135
0
X-40
X X-50 QF-120
Y0
-50 -40 0 15 40
7.1.3 Retta con punto finale definito da due coordinate e pendenza nota
(G1 X, Y QF)
Viene raggiunto il punto finale programmato con un tratto avente pendenza programmata in QF.
Il tratto precedente deve essere un cerchio aperto oppure una retta aperta.
Se il tratto precedente è chiuso viene segnalato un errore.
Il punto iniziale della retta viene calcolato intersecando la retta con l’ente precedente.
Se l’ente precedente è un cerchio aperto, le intersezioni possibili sono due. Per scegliere tra le due
intersezioni è possibile utilizzare il parametro di scelta KA oppure inserire un raccordo segnato di
valore molto piccolo.
Y G0 X50 Y0
G3 I35 J0 KA1 (oppure RR-0.0001)
G1 X0 Y30 QF150
40 X-10
G2 I-25 J30 KA1 (oppure RR-0.0001)
30 G1 X-40 Y40 QF100
30°
R15
10°
R15
0
X
114
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Tutte le rette chiuse possono terminare ed essere precedute da un raccordo RR o da uno smusso RB
se l’ente che precede o che segue è una retta.
40
R5 R10
G0 X50 Y0
30
R10 G3 I35 J0 RR-5
G1 X0 Y30 QF150 RR10
30° X-10 RR5
R15
G2 I-25 J30 RR-10
G1 X-40 Y40 QF100
10°
R15 R5
0
X
115
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Il punto finale della retta viene calcolato intersecando la retta con l’ente successivo. L’ente
successivo deve essere un ente aperto, retta oppure cerchio. Non può essere un ente chiuso.
L’intersezione voluta può essere scelta anche inserendo un raggio di raccordo segnato molto piccolo
(ad esempio RR0.0001 oppure RR-0.0001)
Y
10° 10°
15
0 X
G0 X-80 Y15
R15 R15
G1 QF-10 KA1
-80 -30 0 30 80 G3 I-30 J0 RA15 KA1
G1 X0 Y5 QF0
G1 KA1
G3 I30 J0 RA15 KA1
G1 X80 Y15 QF10
Y
10° 10°
15
10°
5
0 X
R15 R15
G0 X-80 Y15
G1 QF-10 RR-0.0001
-80 -30 0 30 80 G3 I-30 J0 RA15 RR-0.0001
G1 X0 Y5 QF10
G1 RR-0.0001
G3 I30 J0 RA15 RR-0.0001
G1 X80 Y15 QF10
116
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Programmata dopo un cerchio chiuso con coordinate centro, raggio e pendenza finale, definisce una
retta tangente al cerchio precedente inclinata di QF gradi:
30
45°
G0 X-55 Y30
20 G1 X-45 Y20
G1 RR-2
R2 R12
R2 R2
G3 I-25 J0 RA15 RR-2
5 G1 X0 Y5 QF0
0 X G1 RR-2
45° G3 I25 J0 RA15 QF45
G1 RR12
G1 X55 Y30 QF90
R15 R15
117
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
7.3.1 Cerchio chiuso con centro e punto finale noti (G2/G3 I..J..X..Y..)
Il cerchio è definito con le coordinate del punto finale (XY) e le coordinate del centro del cerchio (IJ)
Il cerchio può provenire da un punto definito programmato prima del cerchio, da una retta aperta o
da un cerchio aperto.
Se il punto di inizio non sta sul cerchio viene un errore CN3214.
Se il cerchio proviene da una retta aperta o da un cerchio aperto, il parametro KA deve essere
utilizzato per la scelta dell’intersezione voluta.
Altrimenti si può scegliere l’intersezione programmando un raggio di raccordo segnato molto piccolo.
15
R15 G0 X30 Y0
G3 X15 Y15 I15 J0
0 R15 R15 G2 X-15 Y15 I0 J20
X G3 X-30 Y0 I-15 J0
-30 -15 0 15 30
Y
30
10 10°
0
X
-50 0 30 50
G0 X-50 Y10
G1 QF10
G3 X50 Y30 I30 J30 KA1 (oppure RR-0.0001)
118
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
7.3.2 Cerchio chiuso con punto finale e raggio noti (G2/G3 X..Y..RA..)
Cerchio definito con le coordinate del punto finale e con il raggio.
Se il cerchio proviene da un punto definito, risolve il problema del cerchio passante per due punti di
raggio dato.
Se il cerchio proviene da una retta aperta, viene impostata la condizione di tangenza ed il verso di
percorrenza viene scelto in modo da uscire tangente alla retta, indipendentemente dal senso G2/G3
programmato.
Se l’ente precedente è un cerchio aperto, viene segnalato un errore.
Y
30
R50
R4 R4 R5
G0 X40 Y0
G42 X30 Y0 QF90
0
X
Y30 RR4
G2 X-30 Y30 RA50 RR4
R50 G2 X-30 Y-30 RA50 RR4
G2 X30 Y-30 RA50 RR4
R4 R4 G1 Y0
G40 X40 Y0
-30 R50
-30 0 30
Se il cerchio proviene da una retta aperta, viene impostata la condizione di tangenza ed il verso di
percorrenza viene scelto in modo da uscire tangente alla retta, indipendentemente dal senso G2/G3
programmato.
30
R15
G0 X50 Y0
G1 Y5
30° G1 QF150
5 G2 X20 Y30 RA15 (oppure G3)
G1 X0
0
X
0 20 50
119
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
7.3.3 Cerchio chiuso con centro, raggio e pendenza finale noti (G2/G3
I..J..RA..QF..)
Cerchio definito con coordinate del centro, raggio e pendenza finale.
L’ente precedente deve essere una retta aperta o un cerchio aperto, se è un ente chiuso viene
segnalato un errore.
Questa definizione geometrica è utile per definire nel blocco successivo rette aperte tangenti al
cerchio ed inclinate della stessa pendenza.
Y
R15
30
45° G0 X-10 Y0
G1 QF90 RR5
G2 I0 J30 RA15 QF-45
R5 G1 RR-5
R5
X40 Y0 QF-90
0
X
-10 0 40
7.3.4 Cerchio chiuso con centro e pendenza finale noti (G2/G3 I..J..QF..)
Cerchio definito con coordinate del centro e pendenza finale note.
45°
G0 X0 Y0
20 G1 QF45
G3 I40 J20 QF-45
45°
R5 G1 RR-5
X65 Y0 QF-90
0
X
0 40 65
120
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Se il tratto precedente è un tratto chiuso, si ha un cerchio con centro in un punto, passante per un
punto noto.
Y
10
R3 G0 X30 Y10
0 G1 X10 RR3
X
G2 I0 J0 QF90
G1 Y10
0 10 30
7.3.5 Cerchio chiuso con raggio e pendenza finale noti (G2/G3 RA..QF..)
Cerchio di raggio e pendenza finale noti.
G2 RA.. QF..
G3 RA.. QF..
Deve provenire da un punto definito, di cui conserva la pendenza, dunque è un cerchio raccordato al
movimento precedente.
Cerchio di raggio dato tangente ad una retta in un punto:
Y
R10
30
G0 X0 Y0
G1 X30 Y30
G2 RA10 QF-90
G1 Y0
0
X
0 30
121
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
R10
R5
R15 45°
20 G0 X-30 Y0
G1 X-15 RR3
G2 I0 J0 QF-45
R3
G3 RA10 QF45
0
X
G1 RR-5
X50 Y20 QF0
45°
-30 -15 0 50
G2 X.. Y..
G3 X.. Y..
30
20
G0 X-50 Y30
G1 X-30
G2 X-10 Y20
G3 X10 Y20
0
X
G1 RR-1
X50 Y30 QF0
30
G0 X-50 Y30
G1 X-30
10
G2 X-10 Y10
G3 X10 Y10
0 G2 X30 Y30
X
G1 X50
7.3.7 Cerchio chiuso con centro e lunghezza arco noti (G2/G3 I..J..QA..)
Cerchio proveniente da un punto definito o da una retta aperta, di centro dato, tangente al tratto
precedente e lunghezza arco di QA gradi.
122
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Se proviene da una retta aperta, viene impostata la condizione di tangenza ed il verso di percorrenza
viene impostato in modo da uscire tangente alla retta, indipendentemente dal senso G2/G3
programmato.
Y
90°
30
G0 X-50 Y30
20 G1 QF0
G2 I-20 J20 QA90
G3 I0 J20 QA135
135° G1
0
X X50 Y30 QF0
-50 -20 0 50
I cerchi aperti sono archi di cerchio il cui punto finale viene calcolato facendo l’intersezione col tratto
successivo.
Le intersezioni fra una retta ed il cerchio o fra due cerchi sono in generale due. Per effettuare la
scelta dell’intersezione occorre programmare il parametro di scelta KA:
L’intersezione voluta può essere scelta anche inserendo un raggio di raccordo segnato molto piccolo
(ad esempio RR0.0001 oppure RR-0.0001)
Il tratto successivo può essere un punto esterno al cerchio (nel qual caso viene forzata la condizione
di tangenza), un altro cerchio aperto o chiuso oppure una retta chiusa.
Anche tra il cerchio ed il tratto successivo, vale il criterio di scelta intersezione con il parametro KA
oppure con un raccordo segnato.
123
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
40
20°
30 G0 X-50 Y0
R20
G1 Y20
20 G1 QF0 RR-0.0001
G3 I-10 J30 RA20 RR-0.0001
G1 X50 Y40 QF20
0
X
-50 -10 0 50
40
R20 30
R20
20 G0 X-50 Y0
G1 Y20
G1 QF0 RR-0.0001
G3 I-10 J30 RA20 RR-0.0001
0
X
G3 I15 J40 RA20
G1 X50 Y40
-50 -10 0 15 50
124
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
G0 X50 Y0
G1 Y10
Y G1 QF150
G2 I15 J15 KA1 (oppure RR-0.0001)
40
G1 X-20 Y20 QF180
G2 I-33 J28
28 G1 X-60 Y40
20
30° 15
10
0 0 X
0
G0 X60 Y-10
G1 X40 Y10
G2 I30 J20 RR0.0001 (oppure KA0)
Y
G3 I0 J0 RA30 QF225
G2 I-55 J20 RR-0.0001 (oppure KA1)
G1 X-60 Y-10 QF180
20 45° 20
10
R30
0 0
X
-10 -10
-55 -20 0 30 40 60
-60
125
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
G2 RA..
G3 RA..
Deve provenire da un punto definito, che può essere il punto finale della retta o del cerchio
precedente. Il cerchio conserva la pendenza con il tratto precedente.
Y
30 R1
R15
25
G0 X-50 Y0
20
R1 G1 X-20 Y30
R10
R10 G2 RA10 RR1
30° 5 G1 X0 Y20 QF0
0 0 X G1 RR1
G2 I20 J20 RA15 QF-120
G3 RA10
G1 X60 Y5
-50 -20 0 20 60
126
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
G1 G2/G3 I..J..X..Y..
Retta tangente ad un cerchio definito da centro e punto finale
G1 G2/G3 I..J..RA..
Retta tangente ad un cerchio definito da centro e raggio
G1 G2/G3 I..J..RA..QF..
Retta tangente ad un cerchio definito da centro, raggio e pendenza finale
I tre casi devono provenire da un punto definito o da un cerchio aperto. In questo ultimo caso viene
forzata la condizione di tangenza.
La retta risulta tangente al cerchio aperto precedente.
G0 X-50 Y0
Y
G1 G2 I-1 J20 RA10
G1 G3 I30 J0 RA10 QF45
G1 RR-4
G1 X80 Y10 QF0
20
R4
45°
R10 R10 10
0 0 X
-50 -20 0 30 80
R30
50
G0 X0 Y-10
G41 X0 Y-20 QF0
G3 I0 J0
G1 G3 I0 J50 RA30
G1 G3 I0 J0 RA20 QF0
G40 X0 Y-10
0
X
R20 -10
127
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
G1 G2/G3 I..J..X..Y..QA..
Retta di pendenza QA tangente ad un cerchio definito da centro e punto finale
G1 G2/G3 I..J..RA..QA..
Retta di pendenza QA tangente ad un cerchio definito da centro e raggio
G1 G2/G3 I..J..RA..QF..QA..
Retta di pendenza QA tangente ad un cerchio definito da centro, raggio e pendenza finale
Y
G0 X-60 Y0
G41 X-70 Y0 QF-90
G3 I-40 J0 RR-5
R5
30° 45° G1 G3 I40 J0 RA30 QF225 QA-30
R30 R30 G1 RR-5
G1 G3 I-40 J0 RA30 QF-90 QA150
X G40 X-60 Y0
R5 30°
-60 -40 0 40
128
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
L’ordine di definizione dei due enti da raccordare ed il segno del raggio di raccordo permettono la
scelta della soluzione voluta tra quelle geometricamente possibili. Il CN Z32 sceglie la soluzione che
garantisce la concordanza dei sensi di percorrenza degli enti da raccordare e del raccordo stesso.
Segno di RR:
RR>0 : raccordo antiorario (G3)
RR<0 : raccordo orario (G2)
E’ possibile inserire un raccordo tra due definizioni geometriche qualsiasi eccetto i casi dove la
definizione stessa dei tratti impedisce la programmazione di un raccordo ad esempio è impossibile
inserire un raccordo tra tratti che sono già tangenti per definizione.
129
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
20
G0 X0 Y0
G1 X20 Y20 RR-10
R10 G1 X40 Y0
0
X
20 40
0
20
G0 X40 Y0
G1 X20 Y0 RR10
R10
G1 X0 Y0
0
X
20 40
0
20
R10
R6 R6
G0 X0 Y20
G1 X20 RR-6
0 G3 I30 J20 X40 Y20 RR-6
X
G1 X60
30 60
0
130
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
15 R5 G0 X-15 Y15
G1 X0 RR-5
R15 R15 G3 I15 J15 RR-5
R5 R5
G3 I45 J15 RA15 RR-5
0
X G1 X75 Y15 QF0
-15 0 15 45 75
Y
R10
R15
R15
G0 X-35 Y0
X
G2 I-20 J0 RR10
G2 I20 J0 RA15 RR-70
R70
G2 I-20 J0 X-35 Y0
-20 0 20
131
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Parametro di scelta KA
Il parametro di scelta KA definisce se il raccordo impostato è il raccordo lungo o il raccordo corto:
KA0 (raccordo corto)
KA1 (raccordo lungo)
Normalmente la scelta del raccordo corto è la scelta giusta ed è per questo la scelta di default di
Z32.
In alcuni casi può essere necessario impostare il raccordo lungo, ad esempio nel raccordo di due tratti
circolari esterni:
R40
Y
(Raccordo corto)
G0 X0 Y-15
G1 QF180
X G2 I-20 J0 RA15 RR-40 (KA0)
G2 I20 J0 RA15 QF180
R15 R15
G1 X0 Y-15
-20 0 20
(Raccordo lungo)
G0 X0 Y-15
R40
G1 QF180
G2 I-20 J0 RA15 RR-40 KA1
G2 I20 J0 RA15 QF180
G1 X0 Y-15
R15 R15
-20 0 20
132
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
7.7 SMUSSI
Gli smussi sono inseriti a fine tratto con il parametro RB, che rappresenta la lunghezza dello smusso
sul tratto di retta su cui RB è programmato.
Y 10
Y 5.77
30 10
30
10
0 0
X X
30 0 30 60
0
G0 X30 Y0 G0 X0 Y0
G1 Y30 RB10 G1 X30 Y30 RB10 QA30
G1 X0 G1 X60 Y30
Y 5.77
Y
30
10 10
30
10
30°
0 0
X X
0 30 60
0 30
G0 X30 Y0 G0 X0 Y0
G1 Y30 RB10 QA30 G1 X30 Y30 RB10
G1 X0 G1 X60 Y0
133
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
E’ buona norma, nel caso in cui si desideri lavorare un file generato da sistemi CAD-CAM, creare un
file di richiamo del part-program che si desidera eseguire nel quale vengono specificati i parametri
tecnologici relativi alla lavorazione.
Questo significa che nel file generato dal sistema CAM, sono presenti solo i movimenti della macchina,
mentre nel file di richiamo sono presenti tutte le impostazioni dei parametri tecnologici di
lavorazione: richiamo delle origini, richiamo degli utensili, impostazione di feed e speed, etc…
Ad esempio, supponiamo che il file generato dal sistema CAM sia il file di nome PROVA.ISO e che
venga salvato nella cartella sul disco fisso C:\Z32\PPG\CAM.
Il file lanciatore può essere a sua volta salvato sull’hard disk nella stessa cartella del file PROVA.ISO.
La sintassi è la seguente:
Si può evitare di specificare il path completo se il file lanciatore viene salvato nella stessa cartella
del file da richiamare.
Se, ad esempio, nella cartella C:\Z32\PPG\CAM vengono salvati sia il file PROVA.ISO che il suo
programma di richiamo LANCIAPROVA, l’istruzione di richiamo può essere la seguente:
!:L254-PROVA.ISO!
Attenzione: i file richiamati in DNC devono terminare con l’istruzione di fine sottoprogramma
G26. Se il programma termina con l’istruzione M2 l’esecuzione si arresta senza tornare al
programma di richiamo.
134
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
E’ possibile strutturare la propria lavorazione richiamando più files DNC alla volta.
Ad esempio, supponiamo che nella cartella C:\Z32\PPG\CAM siano presenti i due files “part1.iso” e
“part2.iso”. E’ possibile creare un file di richiamo di entrambe le lavorazioni ad esempio con il file di
richiamo seguente:
Attenzione:
Un programma richiamato col comando !:L254…! non può richiamare a sua volta un
programma con l’istruzione !:L254…!
Un programma richiamato col comando !:L254…! può richiamare sottoprogrammi CMOS
oppure subtemp con i comandi !GOP...! oppure !GOS...!
All’interno di un programma richiamato con l’istruzione !:L254…! Possono essere
utilizzate le istruzioni di salto !GON..! e ripetizione --DO --LOOP e di condizionamento
!IF..! e --IF.
Attenzione: se vengono saltate grosse parti di un file DNC, è possibile che il tempo di ricerca
della label sia non trascutabile.
Attenzione: per poter utilizzare una label N come destinazione di salto, è necessario che
il carattere N sia il primo carattere della linea, senza spazi davanti.
135
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Attenzione: in questa trattazione supporremo che sia a disposizione la funzione di controllo del
moto G113X KA2 (o la precedente G113X KA1).
Il metodo di controllo del movimento è impostabile nelle tarature macchina, oppure con funzioni G:
G98: modalità molto vecchia, da evitare
G113P: modalità errore proporzionale, produce alti errori di inseguimento
G113F: modalità feed-forward, errori inferiori, ma movimenti bruschi
G113X: prima implementazione di algoritmo di alta velocità
G113X KA1: evoluzione della G113X, più efficiente di ogni metodo precedente
L’ultima evoluzione e la più avanzata implementazione di controllo del movimento è la G113X KA2.
La macchina deve essere correttamente configurata per poter utilizzare la funzione G113X KA2
Consultare il costruttore della macchina per informazioni sulla configurazione macchina.
Se la configurazione è corretta, l’attivazione della G113X KA2 può essere fatta programmando
G114 {parametri G114} (vedere la descrizione della G114 più avanti)
G113X KA2
Suggerimento:
Programmare G113X KA2 su una singola riga di part-program, senza altre istruzioni
Attenzione:
in funzione delle tarature della macchina, la macchina può essere predisposta per avere
le funzioni G114 e G113X KA1 attive al reset, ovvero sempre attive senza necessità di
programmazione di funzioni G.
In questo caso, non è necessario programmare alcun codice G per attivare l’alta velocità,
ma può essere comunque programmata la funzione G114 per modificare le impostazioni
dell’alta velocità.
Attenzione:
per poter utilizzare la funzione G113X KA2 (o la precedente G113X KA1) è necessario aver
eseguito almeno una volta l’autotaratura G125KA1 su tutti gli assi macchina
Attenzione:
I capitoli successivi assumono che la funzione G113X KA2 (o la precedente G113X KA1) sia
attiva e disponibile in macchina.
136
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Per le modalità di programmazione della taratura automatica tramite G125 KA1 consultare il
costruttore della macchina oppure il manuale dell’alta velocità.
137
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Per la funzione G114 esistono dei valori standard definiti nelle tarature macchina.
Per applicare i valori di default definiti nelle tarature macchina della G114 occorre
programmare:
G114 KA0
Per disattivare le impostazioni dell’alta velocità attivate dalla G114 occorre programmare
G115
Nota: normalmente non dovrebbe esserci mai necessità di disattivare il sistema di
alta velocità, pertanto la programmazione di G115 è da riservare a casi particolari.
Per descrivere l'effetto di RA, si può dire che Z32 sotto G113X KA2 (o KA1) agisce come un
pilota di auto da corsa, usando la tolleranza specificata con RA come larghezza utile della
pista.
Quando la pista è diritta il pilota mantiene l'auto al centro, ma quando la pista curva o,
peggio, contiene uno spigolo, devia dal centro e usa la tolleranza, ossia la larghezza della
pista, per addolcire e quindi velocizzare la percorrenza.
Suggerimento:
RA0.015 (RA0.0006 pollici) per casi “normali”
RA0.005 (RA0.0002 pollici) o meno, se è richiesta alta precisione
RA0.05 (RA0.002 pollici) o più per sgrossatura in cui non sia richiesta precisione
Suggerimento:
Programmare K solo per scopi speciali, in particolar modo, programmare K inferiore
alla taratura per ottenere una finitura migliore (ma il tempo di lavorazione
aumenterà)
Attenzione:
- Il “K” della G114 non agisce sui movimenti in rapido, per i quali restano attive le
tarature di macchina.
- K è in mm/sec2 anche se la macchina è in pollici.
- Non ha effetto se K richiede accelerazioni superiori a quanto definito dal costruttore
nelle tarature di macchina, mentre sono consentite accelerazioni inferiori, allo scopo
di ottenere movimenti ancora più morbidi e quindi un miglior grado di finitura.
- Se K non è programmato è attiva la limitazione di accelerazione di taratura
Suggerimento:
Programmare J solo per necessità speciali
- Programmare J minore delle tarature macchina per accorciare il tempo di
lavorazione (ma la qualità superficiale sarà peggiore)
- Programmare J maggiore delle tarature macchina per ottenere una migliore
superficie (ma il tempo di lavorazione aumenterà)
Attenzione:
Il “J” della G114 non agisce sui movimenti in rapido, per i quali restano attive le
tarature di macchina.
Se J non è programmato è attivo il valore di taratura
I: minima velocità
Rappresenta la minima velocità sotto la quale il CN non scende.
Suggerimento:
I30 (I1.2 in pollici) è normalmente un valore soddisfacente
HY e HR: “lisciatura” di curve per punti generate da CAM (da usare con G113B)
I parametri HR e HY sono legati all’algoritmo di lisciatura delle curve per punti attivato da
G113B. Senza la programmazione di G113B, non hanno alcuna efficacia.
In tale lisciatura, il controllo ricostruisce una traiettoria il più possibile continua e raccordata
a partire dai punti generati dal CAM.
Suggerimento:
HY20 (HY0.8 in caso di pollici) è normalmente il valore giusto da programmare
HR = (errore cordale del CAM ) *1.2
139
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Attenzione: Alcuni CAM possono riferire le loro impostazioni (massimo errore cordale e/o
massima lunghezza cordale) alla superficie da lavorare anziché alle traiettorie trasmesse
al CNC, ovvero alla punta utensile.
140
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Nel caso di part-program generati per punti (piccoli tratti in G1), si consiglia di controllare le seguenti
impostazioni:
Suggerimento:
come errore cordale massimo impostare un valore non superiore a 0.01mm o
0.0005 pollici
Se è disponibile nel CAM, impostare la lunghezza massima di un singolo segmento
ad un valore inferiore a 15mm o 0.5 pollici (10mm o 0.4 pollici ad esempio)
Numero di decimali
Suggerimento:
Assi lineari in mm:
4 decimali: impostazione consigliata
3 decimali: minimo accettabile
La funzione G113B può essere programmata senza problema anche in part-program che non sono
generati da CAM o che non sono definiti da una sequenza di piccoli segmenti: semplicemente non avrà
effetto.
Suggerimento:
Programmare G113B su una singola riga di part-program, senza altre istruzioni
Attenzione:
le funzioni G113X KA2 e G113B sono due funzioni diverse, pertanto, se sono necessarie
entrambe, è possibile programmarle in ordine, una dopo l’altra:
G113X KA2
G113B
141
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
La funzione G135 I1 permette di impostare parametri avanzati per la gestione dell’alta velocità.
Sintassi generale:
G135 I1 HX.. HR..
Il parametro permette una impostazione più fine del controllo del jerk dinamico:
Suggerimento:
Una procedura per definire se è consigliabile o meno l’uso della G135 I1 HX.. può essere:
1) Partire modificando le impostazioni della funzione G114, fino a trovare il miglior
risultato
2) Se il risultato ottenuto è soddisfacente, non occorre impostare la G135 I1
3) Altrimenti possono presentarsi due scenari:
Durante la lavorazione si notano eccessivi rallentamenti in concomitanza di
variazioni di curvatura
142
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Suggerimento:
In casi normali non programmare il parametro HR
Programmare HR0 solamente in caso di specifici requisiti molto stringenti sulla
precisione del profilo.
143
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
In altri termini:
Quando una G117 o una G118 è attiva, il parametro G135 J1 HY… rappresenta la “tolleranza
di arrotondamento” applicate al posto del parametro G114 RA… agli assi rotativi coinvolti
nella G117 o nella G118
Nota:
Il parametro G114 RA.. influisce sempre direttamente sull’accuratezza della superficie
lavorata, perché è una tolleranza sulle coordinate X Y Z.
La G135 J1 HY… può essere molto utile perché spesso le coordinate degli assi rotativi in un file
generato da CAM presentano discontinuità, pertanto, senza un addolcimento, possono generare
movimenti poco fluidi.
Attenzione:
Più è grande HY e maggiore è la deviazione degli assi rotativi dall’orientamento
programmato.
Anche se l’accuratezza della superficie risultante è tollerabile, devono essere
attentamente valutate eventuali collisioni.
Si fa notare che, in caso di movimenti a spigolo vivo che coinvolgono assi rotativi, la
tolleranza sull’arrotondamento degli assi rotativi può essere aumentata automaticamente
fino a 4 volte il valore HY programmato.
G135 J1 HY0.5 può provocare, nel caso peggiore, una deviazione fino a 2o sulla
posizione degli assi rotativi
Valori di HY fino a 0.5 sono generalmente tollerabili, ma è compito dell’operatore verificare che i
margini di sicurezza del CAM siano compatibili.
Suggerimento:
impostare il CAM in modo che sia tollerata una deviazione degli assi rotativi fino a 4 volte
il valore HY desiderato
Un buon valore di partenza per HY può essere:
G135 J1 HY0.1
144
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Attiva algoritmo di
N30 G113X KA2 controllo del moto
Evoluto.
J0 = disattivato
J1 = attivo
145
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
T1M6
OX1 OY1 OZ1
F1000 S4000 M3
G0 Z200
(lancio DNC)
!:L254-prog1.iso!
M2
T1M6
OX1 OY1 OZ1
F1000 S4000 M3
G0 Z200
(lancio DNC)
!:L254-prog1.iso!
M2
Esempio 3: part program 3 assi con programmazione di G135 per aumentare la mordbidezza dinamica:
T1M6
OX1 OY1 OZ1
F1000 S4000 M3
G0 Z200
(lancio DNC)
!:L254-prog1.iso!
M2
146
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
T1M6
OX1 OY1 OZ1
F1000 S4000 M3
G0 Z200
G0 A0 B90
G117 (attiva RTCP)
(lancio DNC)
!:L254-prog1.iso!
M2
147
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
10.1 PROFILO 1
70 R20
65°
R10
R20
30
R20
20
R15
0
X
0 25 100
148
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
10.2 PROFILO 2
R15
65° 45
R18
40
R8
75°
R7
10
R20 X
60°
-20
R18
-40
-35 -20 0 40 50
149
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
10.3 ROTAZIONE
Y
50
B C
45°
45°
0
X
Profilo A:
OX1 OY1 OZ1 (origine 1) 0 20
T1 M6 S2000 M3
G0 Z10 (svincolo iniziale)
G0 X0 Y0 (posizionamento iniziale)
G1 Z-1 F100(accostamento)
F1000 (lavorazione a 1000 mm/min)
G1 Y50
X20
Y0
X0
G0 Z10 (svincolo)
M2
Profilo B:
OX1 OY1 OZ1 (origine 1)
T1 M6 S2000 M3
G0 Z10 (svincolo iniziale)
QR45 (rotazione)
G0 X0 Y0 (posizionamento iniziale)
G1 Z-1 F100(accostamento)
F1000 (lavorazione a 1000 mm/min)
G1 Y50
X20
Y0
X0
G0 Z10 (svincolo)
M2
Profilo C:
OX1 OY1 OZ1 (origine 1)
T1 M6 S2000 M3G0
Z10 (svincolo iniziale)
IR20 JR50 QR45 (rotazione)
G0 X0 Y0 (posizionamento iniziale)
G1 Z-1 F100(accostamento)
F1000 (lavorazione a 1000 mm/min)
G1 Y50
X20
Y0
X0
G0 Z10 (svincolo)
M2
150
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
10.4 TRASLAZIONE
Y
50
0
X
DB-25
0 20
DA50
Profilo A:
OX1 OY1 OZ1 (origine 1)
T3 M6 S5000 M3
G0 Z10 (svincolo iniziale)
G0 X0 Y0 (posizionamento iniziale)
G1 Z-1 F100(accostamento)
F1000 (lavorazione a 1000 mm/min)
G1 Y50
X20
Y0
X0
G0 Z10 (svincolo)
M2
Profilo B :
OX1 OY1 OZ1 (origine 1)
T3 M6 S5000 M3
G0 Z10 (svincolo iniziale)
DA50 DB-25
G0 X0 Y0 (posizionamento iniziale)
G1 Z-1 F100(accostamento)
F1000 (lavorazione a 1000 mm/min)
G1 Y50
X20
Y0
X0
G0 Z10 (svincolo)
M2
151
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
10.5 ROTO-TRASLAZIONE 1
40
Y' 20
Y
X'
0 0
R10
R20
30°
50
R10 R20
20
0 X
-20
Y''
R10 R20
-50
30°
R20
R10
0
0 X''
-20
40
0 30 50 100
152
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
10.6 ROTO-TRASLAZIONE 2
B
X X
Y
C
Y
A
X
Y
E
X D X
(Profilo A:)
N1
G0 X40 Y0 (posizionamento iniziale)
G1 Z-2 F50(accostamento)
F2000 (lavorazione a 2000 mm/min)
G0 X40 Y0
G1 G3 I0 J0 X-10 Y0
G3 I0 J0
G1 X40 Y0
G0 Z5 (svincolo)
N2
(profilo B:)
DA80 DB80 QR45
!GON1-N2!
(profilo C:)
DA-80 DB80 QR135
!GON1-N2!
(profilo D:)
DA-80 DB-80 QR-135
!GON1-N2!
(profilo E)
DA80 DB-80 QR-45
!GON1-N2!
M2
153
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
10.7 SPECULARITÀ 1
0 30 60
20
B A 10
R10
0
X
D C
(profilo A)
N1
G0 X60 Y10 (posizionamento iniziale)
G1 Z-3 F100 (accostamento)
F2000 (lavorazione a 2000 mm/min)
G1 G2 I30 J20 X40 Y20
G0 Z5 (svincolo)
N2
(profilo B)
QS90 (imposta retta di specularita’ Y)
G56 (attiva specularita’ quote X)
(richiamo profilo A)
!GON1-N2!
G55 (disattiva specularita’)
(profilo C)
QS0 (imposta retta di specularita’ X)
G56 (attiva specularita’ quote Y)
(richiamo profilo A)
!GON1-N2!
G55 (disattiva specularita’)
(profilo D)
QR180 (attiva rotazione di 180 gradi)
(richiamo profilo A)
!GON1-N2!
QR0 (disattiva rotazione di 180 gradi)
M2
154
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
10.8 SPECULARITÀ 2
60
20
10
0
30 A
0
B 45°
R10
(profilo A)
N1
QR45 (rotazione di 45 gradi)
G0 X60 Y10 (posizionamento iniziale)
G1 Z-3 F200 (accostamento)
F2000 (lavorazione a 2000 mm/min)
G1 G2 I30 J20 X40 Y20
G0 Z10 (svincolo)
N2
(profilo B)
QS45 (imposta retta di specularita' a 45 gradi)
G56 (attiva specularita')
(richiamo profilo A)
!GON1-N2!
G55 (disattiva specularita')
(profilo C)
QS135 (imposta retta di specularita' a 135 gradi)
G56 (attiva specularita')
(richiamo profilo A)
!GON1-N2!
G55 (disattiva specularita')
M2
155
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
OX1 OY1 OZ1 (utilizza origine 1) OX1 OY1 OZ1 (utilizza origine 1)
T1 M6 (utilizza utensile 1) T1 M6 (utilizza utensile 1)
F1000 (lavorazione a 1000 mm/min) F1000 (lavorazione a 1000 mm/min)
S2000 M3 (speed 2000 giri/min) S2000 M3 (speed 2000 giri/min)
R5 (impostazione raggio fresa) R5 (impostazione raggio fresa)
G0 Z10 (svincolo iniziale) KT-1
G0 X0 Y0 G0 Z10 (svincolo iniziale)
G1Z0 G0 X0 Y0
--DO G1Z0
Y<Y+1> --DO
G1 X10 Z10 Y<Y+1>
X30 Z0 G1 X10 Z10
X40 X30 Z0
Y<Y+1> X40
X30 Y<Y+1>
X10 Z10 X30
X0 Z0 X10 Z10
--LOOP 9 X0 Z0
G0 Z10 (distacco in Z) --LOOP 9
M5 (arresto mandrino) G0 Z10 (distacco in Z)
M2 (fine programma) M5 (arresto mandrino)
M2 (fine programma)
156
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
45°
M2
157
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
M2
158
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
G0 Z10 (distacco in Z)
M5 (arresto mandrino)
M2 (fine programma)
159
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
M2
160
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
10.14 ELLISSE
161
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
162
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
T1M6
S2000 M3 F1000
G0 Z50
-- DO
X0 Y0 Z0
G1 Y10 RR-6
X20 RR10
X40 Y20 RR-20
X120 RR-10
Y0
G116 I-5
Y20 RR10
X40 RR20
X20 Y10 RR-10
X0RR6
Y0
G116 I-5
-- LOOP 18
G116 KA0
G0 Z50
M2
163
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
G25 XZY
OX1 OY1 OZ1
T1 M6
F5000 M3 S3000
R3
X-75 Y-20 Z10 G0
!PAR[1]=0!
-- DO
DC<PAR[1]>
Y-15
Y-13.5
G41 X75Z0QF180
G1 X45RR-8
G1 Z25
G1 X12 Z40
G3 I0 J20 X-12 Z40
G1 X-45 Z25
Z0 RR-8
X-75
G40 X-75 Z10
!PAR[1]=PAR[1]+3!
-- LOOP 10
Z100 G0
G25 XYZ
M2
164
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
Z'
Z
B-20
20 X'
X
OX1 OZ1
5 60
OX1 OY1
T2 M6
S1000 M3
F500
Z10
M2
165
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
S2000 F1200 M3
G0 Z50
(Parametri e richiamo ciclo fisso)
G800K1 MHA2 MHB-10 MHC2
(richiamo macro di posizionamento:)
(definizione del posizionamento da non effettuare:)
PAR[1]3
(MPX=10, MPY=20: il cerchio di posizionamento è centrato nel punto 10,20)
(MPC=100: il cerchio di posizionamento ha diametro 100)
(MPA=0, MPL=0, MPN=8: esegue 8 posizionamenti su tutta la circonferenza)
(MPS=1: salta il posizionamento definito in PAR[1])
(MPW=1: tra un posizionamento ed il successivo si muove con moto circolare)
G801K7 MPX10 MPY20 MPC100 MPA0 MPL0 MPN8 MPS1 MPW1
G27C0 (disattivazione del ciclo fisso:)
G0 Z50
M2
166
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
S2000 M3 F800
(definisco nel programma P40 la figura da spostare sui punti del cerchio)
--DEFINE P40
G0X0Y0
Z2
G1Z0
Z-1
G1X10
Y5
X-10
Y-5
X10
Y0
G0X0Y0
Z2G0
G26
--END DEFINE
PAR[1]3
(Chiamo G801K7 per posizionare sui punti la figura memorizzata nel programma CMOS
numero 40 )
(MPF=40: posiziona il programma 40)
(MPR=1: ruota figure)
(richiamo macro di posizionamento)
G801K7 MPX10 MPY20 MPC100 MPA0 MPL0 MPN8 MPS1 MPW1 MPF40 MPR1
G0 Z50
G0 Z50
M2
167
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
S2000 M3 F800
(definisco nel programma P40 la figura da spostare sui punti del cerchio)
--DEFINE P40
G0X0Y0
Z2
G1Z0
Z-1
G1X10
Y5
X-10
Y-5
X10
Y0
G0X0Y0
Z2G0
G26
--END DEFINE
L’unica differenza rispetto all’esempio precedente è che in questo secondo part-program abbiamo
scelto di effettuare i posizionamenti con movimenti lineari (MPW=0) e di non ruotare la lavorazione
contenuta nel file 90 (MPR=0)
168
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)
S2000 F1200 M3
G0 Z50
R5
(Parametri e richiamo ciclo fisso)
(MMA=0: quota superiore cava)
(MMB=-20: quota di fondo della cava)
(MMC=10: quota di uscita a fine lavorazione)
(MMD=60: diametro della cava)
(X,Y: centro cava)
(MMK=3: profondità di passata)
(MME=2: distanza di sicurezza)
G802 MMA0 MMB-20 MMC10 MMD80
G802K1 X10 Y10 MMK3 MME2
M2
169
RR- RA50
30
RR4
0.0001)
G1 Y0CNC
X-40
Z32 – M323 C2 - Guida alla programmazione (Frese)
G40 QF100
Y40 X40
Y0
10.23 POSIZIONAMENTI SU CIRCONFERENZA DELLA SGROSSATURA DI UNA CAVA
CIRCOLARE:
S2000 F1200 M3
G0 Z50
R5
(Parametri e richiamo ciclo fisso)
(MMA=0: quota superiore cava)
(MMB=-10: quota di fondo della cava)
(MMC=10: quota di uscita a fine lavorazione)
(MMD=30: diametro della cava)
(X,Y: centro cava)
(HX=1: usa come ciclo fisso)
(MMK=3: profondità di passata)
(MME=2: distanza di sicurezza)
(MMW=1: discesa in rampa)
(MMQ=4:massima pendenza della discesa in rampa)
170