[Immagine logo società]

La scelta giusta

Home
Su

GEOMETRIA

Lo Z32 dispone di un completo set di istruzioni per risolvere i problemi di calcolo di un profilo geometrico comunque complesso.

Vengono programmati con facilità profili costituiti da tratti rettilinei, circolari, con smussi e raccordi.

Con G12 attiva è possibile coordinare ad un movimento nel piano anche un movimento nel terzo asse (vedere paragrafo 5”Profili su tre assi” più avanti su questo capitolo).

I programmi realizzati con la geometria di base dello Z32 con software precedente, possono essere eseguiti anche con la nuova geometria senza alcun cambiamento.

PROFILI GEOMETRICI NEL PIANO
Un profilo geometrico può essere costituito dai seguenti elementi:
- punti
- segmenti di retta
- archi di cerchio
- smussi
- raccordi

Le rette e i cerchi sono considerati tratti di profilo e possono essere definiti come aperti o chiusi; gli smussi e i raccordi possono comparire alla fine del tratto programmato.

La velocità di esecuzione del profilo è gestita dallo Z32 con accorgimenti particolari che vengono approfonditi nel paragrafo “Gestione della velocità” più avanti su questo capitolo.

Definizioni geometriche
È importante inserire a questo punto alcune definizioni che servono per interpretare correttamente il testo e chiarire il significato della terminologia specifica utilizzata.

Punto Il punto definito è un qualsiasi punto del piano programmato o calcolato dallo Z32. Un punto definito 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.

Tratto di Una retta o un cerchio si dicono chiusi quando terminano con un punto definito, si dicono aperti profilo quando il punto finale non è definito, ma dovrà essere calcolato con le informazioni relative al tratto successivo.

Ogni tratto è caratterizzato dalle informazioni contenute nell'ente geometrico precedente e da quelle contenute nel blocco attuale; ogni tratto può terminare con uno smusso (solo tra tratti rettilinei) o con un raccordo.

Punto Un punto continuo è un punto di tangenza tra due tratti che possono essere sia rette che cerchi continuo sia combinazioni di retta/cerchio o cerchio/retta.

Ogni tratto può essere definito in diversi modi: tali forme sintattiche costituiscono le istruzioni di geometria dello Z32.

Elementi che individuano un profilo
Gli elementi che individuano un tratto di profilo sono i parametri geometrici (quote, raggi, pendenze, ecc.) e le funzioni preparatorie che determinano il tipo di tratto (G1, G2, G3).

Quote finali

Rappresentano le coordinate del punto finale da raggiungere nel piano di lavoro.

Sono programmate col nome asse (per es. X, Y, Z ...) oppure in modo assolutamente equivalente con i parametri AA (primo asse), AB (secondo asse), AC (terzo asse). Si usano i parametri AA AB AC quando si vogliono costruire dei sottoprogrammi generici, svincolati dall'effettivo piano di lavoro. Nel seguito, per brevità e chiarezza, si useranno normalmente i nomi espliciti degli assi, X per il primo asse, Y per il secondo, Z per il terzo asse (asse mandrino).

Il piano cartesiano è definito col primo asse orizzontale e il secondo asse verticale.

Coordinate del centro e raggio del cerchio I, J, RA

Le coordinate del centro del cerchio sono programmate con i parametri I (primo asse) e J (secondo asse).

Le norme ISO associano rigidamente la I all'asse X e la J all'asse Y, mentre per lo Z32 la I è associata al primo asse del piano di lavoro e la J al secondo asse, quali che siano gli assi del piano (X, Y, Z o altri).

Norme ISO Z32
I <=> X I <=> AA (primo asse)
J <=> Y J <=> AB (secondo asse)
K <=>Z K <=> non assegnato (passo filettatura)

Quindi per esempio per lo Z32 si ha:
con G25XYZ con G25XCZ
I <=> X I <=> X
J <=> Y J <=> C

Il raggio del cerchio è programmato col parametro RA.

Pendenza finale QF

È l'angolo compreso tra la direzione positiva dell'asse X e la direzione del movimento nel punto finale del tratto.

È programmata col parametro QF ed è espressa in gradi sessagesimali (1 giro = 360 gradi) e frazioni decimali di grado (es. QF 10,5 = 10 gradi e 30 primi).

QF è positivo se, partendo dall'asse X, si raggiunge la direzione muovendosi in senso antiorario; si ottiene lo stesso risultato programmando: QF 280 e QF -80

Ad ogni inizio di profilo, ossia dopo:
- tratto in G0
- funzione ausiliaria
- G1 con assi fuori dal piano
- cambio terna di lavoro

la pendenza finale è forzata a zero.

Raggio di raccordo RR

Alla fine di ogni tratto di profilo può essere programmato un raccordo col parametro RR che viene inserito alla fine del blocco nel quale è programmato .
Il segno di RR determina il senso del raccordo:
RR positivo raccordo antiorario (G3)
RR negativo raccordo orario (G2)
Il tratto di profilo con raccordo finale può essere chiuso o aperto.
Il raggio di raccordo non può essere programmato su un tratto di profilo che venga chiuso dal successivo con conservazione della pendenza (punto continuo).

Se RR è programmato in un blocco in cui non è previsto provoca errore di programmazione
CN4514 (RB/RR iniziali su cerchio). Vedere il paragrafo “Raccordi automatici” più avanti su questo capitolo.

Raccordo corto Raccordo lungo

Un raccordo, di orientamento definito, può essere scelto tra due possibili col parametro di selezione KA:
KA = 0 raccordo corto, quello più spontaneo (può essere omesso);
KA <>0 raccordo lungo.
Vedere la pagina seguente (parametro di selezione KA).

Smusso RB

Alla fine di un tratto rettilineo può essere programmato uno smusso col parametro RB.
Il valore di RB programmato definisce la lunghezza dello smusso sul primo tratto.
La lunghezza dello smusso sul secondo tratto è:

RB se non è programmato QA
RB * tg QA se è programmato QA
Il tratto seguente deve essere ancora rettilineo: lo smusso è ammesso solo tra due tratti rettilinei. RB e QA devono essere obbligatoriamente programmati nel tratto alla fine del quale deve essere inserito lo smusso. Vedere paragrafo “Smussi automatici” più avanti su questo
capitolo.
Se RB è programmato in un blocco in cui non è previsto provoca errori di programmazione:
CN4214 RB smusso iniziale su cerchio
CN4314 RB smusso finale su cerchio
CN4514 RB/RR iniziali su cerchio.

Parametro di selezione KA

Un tratto aperto può essere chiuso dal tratto successivo per intersezione dei due enti geometrici.

Se almeno uno di questi enti è un cerchio si hanno due soluzioni (o nessuna se gli enti non si intersecano).

Svolta a Se si osserva il movimento con riferimento al primo ente programmato, una delle soluzioni fa destra una svolta a destra e l'altra una svolta a sinistra.
-Se è programmato un raggio di raccordo RR, una delle due soluzioni provoca un raccordo corto (lunghezza del raccordo minore di metà cerchio) e l'altra un raccordo lungo (lunghezza del
raccordo maggiore di metà cerchio). Vedere paragrafo “Raccordi automatici” più avanti su questo capitolo.

La scelta della soluzione viene fatta col parametro KA (che deve essere programmato obbligatoriamente nel blocco aperto di cui si vuole scegliere l'intersezione):
KA=0 raccordo corto nel caso di RR programmato gira a sinistra nel caso di RR non programmato
KA<>0 raccordo lungo nel caso di RR programmato gira a destra nel caso di RR non programmato

Se KA è programmato in un blocco in cui non è previsto non provoca allarmi: semplicemente non ha effetto; KA=0 può essere omesso.

KA=1 KA=Ø

KA=1
KA=Ø KA=1
Un caso particolare di KA è la chiusura di retta aperta su cerchio G2/G3 X Y RA
in questo caso KA=0 significa arco di cerchio corto e KA<>0 significa arco di cerchio lungo (vedere paragrafo “Cerchi chiusi” più avanti su questo capitolo).

RR programmato RR non programmato
KA=0 Raccordo corto Gira a sinistra
KA<>0 Raccordo lungo Gira a destra

Pendenza ausiliaria QA

Il parametro QA permette di programmare un angolo ausiliario orientato, come QF.

Una prima applicazione riguarda la programmazione degli smussi tra due rette, un'altra riguarda le combinazioni retta-cerchio tipo G1 G2/G3..QA. Il significato viene specificato nel paragrafo “Combinazioni retta cerchio” più avanti su questo capitolo.

Funzioni preparatorie

Le funzioni interessate sono G1, G2, G3 che sono modali e mutualmente esclusive.

Può non essere programmata la G , già attiva; in quanto segue tale possibilità verrà indicata con le parentesi tonde: (G1) oppure (G2/G3)

Le funzioni G2 e G3 programmate possono essere forzate, cioè lo Z32 può cambiare il senso di percorrenza, in tutti quei casi in cui l'arco di cerchio è raccordato al tratto precedente; viene così privilegiata la condizione di tangenza e vengono scartati punti spigolosi. Tale situazione verrà in seguito indicata con la notazione : [G2/G3]

La geometria Z32 comprende le potenti combinazioni retta-cerchio che sono costituite da una retta seguita da un cerchio tangente. Tali combinazioni vengono identificate dalle funzioni preparatorie composte G1G2 e G1G3 a secondo che il cerchio sia orario o antiorario. G1G2 e G1G3 non sono modali e sono attive solo nel blocco.

Modi di programmazione dei tratti di profilo
Le funzioni preparatorie G1, G2, G3 predispongono lo Z32 ad eseguire tratti di profilo rispettivamente rettilineo, circolare orario, circolare antiorario. Per definire il tratto di profilo da eseguire occorre fornire allo Z32 i dati numerici relativi alla geometria del profilo.

Il profilo deve essere pienamente definito dal programma-pezzo per essere eseguito dallo Z32. Ogni tratto di profilo deve essere perciò caratterizzato con una quantità di parametri sufficiente alla sua definizione.

Esistono molti modi, ossia combinazioni di informazioni, per definire geometricamente un tratto di profilo. Per esempio, per definire un segmento rettilineo a partire da un punto definito si potrebbero dare:

- le due coordinate del punto finale
- una coordinata finale imponendo moto parallelo all'asse
- l'inclinazione e una coordinata finale
- l'inclinazione e la lunghezza
- la lunghezza e un punto intermedio
- ...

I modi possibili sono evidentemente moltissimi e di questi molti sono di scarsa utilità. Si è dovuto quindi fare una selezione, limitando il numero delle possibili combinazioni.

X Nel seguito, per brevità e chiarezza, si farà uso del nome X per indicare il primo asse del piano

primo asse e di Y per indicare il secondo asse: si farà cioè l'ipotesi che la terna attiva sia G25XY... Qualora la

Y terna fosse diversa, sostituire a X e Y i nomi rispettivamente del primo e secondo asse del piano.

secondo asse



I tratti aperti possono essere:

1. retta di cui sono definiti pendenza e punto iniziale
2. cerchio di cui è definito centro e punto iniziale
3. cerchio di cui è definito il centro e il raggio
4. cerchio di cui è definito il raggio e il punto iniziale
I parametri presi in considerazione dallo Z32 per definire un tratto di profilo sono esclusivamente quelli elencati (quote assi X Y, centro cerchio I J, raggio RA, pendenza QF, pendenza ausiliaria QA, raccordo RR, smusso RB, funzioni preparatorie G1 G2 G3): nella stessa riga possono essere programmati altri parametri o funzioni, che, se compatibili, vengono regolarmente gestiti senza provocare errori.

Rette chiuse
I tratti di retta chiusi possono essere definiti con le coordinate del punto finale e con la sua
pendenza nei modi seguenti:
(G1) X Y retta obliqua -1(
G1) X retta parallela al primo asse -2(
G1) Y retta parallela al secondo asse -3(
G1) X QF retta obliqua con coordinata finale e pendenza note -4(
G1) Y QF retta obliqua con coordinata finale e pendenza note -5(
G1) X Y QF retta obliqua con coordinate finali e pendenza note -6

G1 X.. Y..

La retta 1 può provenire da punto definito o da cerchio aperto, in tal caso viene forzata la condizione di tangenza in un punto continuo. Se il tratto precedente è una retta aperta si ha errore
CN3214 (precedente errato).

Se il punto finale è interno al cerchio precedente si ha errore CN3314 (interno al cerchio)

...
G0 X35 Y0
G1 Y10 RB1
(G1) X20
(G1) Y20 RB2
(G1) X0 QF180
....



G1 X..QF..- G1 Y.. QF..

Le rette 2, 3, 4, 5 devono provenire da punto definito. Si ha errore CN3414 se il tratto precedente è aperto.

....
G0 X0 Y0
G1 Y10
X-10 QF120
X-20 QF165
X-30 QF180



G1 X.. Y.. QF..

La retta 6 calcola il punto iniziale intersecando il tratto precedente che deve essere un cerchio aperto o una retta aperta.

Per la retta 6 è necessario che sia definito il parametro di selezione KA nel cerchio aperto precedente.

Tutte le rette possono contenere raccordi o smussi alla fine del tratto, sempre che non ci siano punti continui.

Tutte le rette possono essere precedute da uno smusso o un raccordo programmato nel tratto precedente, sempre che non sia presente un punto continuo.

.....
G1 X12 Y0
G3 I0 J0 RR-2 (KA0)
G1 Y25 X-40 QF160
X-50 QF180
......



RR è negativo perché il raccordo è orario e KA è zero perché il raccordo è corto.

Rette aperte
Le rette aperte sono definite soltanto come direzione e devono pertanto provenire da punto definito.
Lo Z32 calcola il punto di intersezione col tratto successivo: se questo è una retta, KA è ininfluente, se è un cerchio, KA deve essere programmato se diverso da zero.
Le forme programmabili sono due:
G1 (KA)retta di prosecuzione -7(
G1) QF (KA)retta con pendenza programmata -8Se il tratto precedente è aperto si ha errore CN3414 (precedente aperto).

La retta 7 , essendo tangente al tratto precedente, proviene da un punto continuo.Tutte le rette aperte possono contenere raccordi o smussi alla fine del tratto.Se il tratto successivo è la retta 6 la programmazione di KA è ininfluente.
Esempi di programmazione di rette aperte:

.....
G0 X70 Y0
G1 Y10
X62
(G1) X25 Y21,63
G1
QF180 X0 Y28
.....



.....
G0 X0 Y0
G1 Y10
G1 QF150
G2 I-20 J30 RA10
G1 X-50 Y30 QF180
.....



Cerchi chiusi
I tratti di cerchio chiusi possono essere definiti in vario modo, utilizzando le coordinate del punto finale, il centro del cerchio, il raggio e la pendenza nel punto finale.
(G2/G3) X Y I Jcoord. del punto finale e centro del cerchio -1(
G2/G3) X Y RAcoord. del punto finale e raggio -2(
G2/G3) I J RA QFcoord. centro, raggio e pendenza finale -3(
G2/G3) I J QFcoord. del centro e pendenza finale -4(
G2/G3) RA QFraggio e pendenza nel punto finale -5(
G2/G3) X Y coordinate del punto finale -6(
G2/G3) I J QA coord. del centro e lunghezza in gradi dell’arco -7

G2/G3 X.. Y.. I.. J..

Il cerchio 1 può provenire da punto definito, da retta aperta o da cerchio aperto. Se il precedente è un tratto aperto nel blocco precedente deve essere specificato il parametro di selezione KA.

Se il punto iniziale è definito e non sta sul cerchio attuale lo Z32 segnala allarme CN3214
(precedente errato).

....
G0 X30 Y0
G3 I15 J0 KA1
I0 J15 Y30 X0
....

KA=1 => gira a destra.

G2/G3 X.. Y.. RA..

Il cerchio 2 può provenire da punto definito o da retta aperta; in tal caso viene imposta la condizione di tangenza col tratto precedente e viene forzato, solo nel blocco, il verso di percorrenza in modo da evitare punti spigolosi (il KA non agisce).

.....

G0 X50 Y0

G1 Y5

G1 QF150

G2 X20 Y30 RA10 (KA0)

G1 X0

....



Il cerchio 2 se proveniente da punto definito ha un'altra particolarità geometrica: per due punti (quello iniziale e quello indicato) esistono due cerchi di raggio RA !! : lo Z32 sceglie il cerchio più corto con KA=0, quello più lungo con KA<>0.

Riassumendo, il funzionamento è il seguente:
- se il tratto precedente è aperto il KA non agisce (raccordo continuo senza possibilità di scelta)
- se il tratto precedente è chiuso, ossia l'arco di cerchio parte da un punto definito:
- se KA non programmato o programmato zero viene eseguito l'arco corto (identico a prima, arco minore di 180 gradi)
- se KA programmato con un valore diverso da zero (per esempio KA1, deve essere programmato nella stessa riga insieme all'arco G2/G3 X Y RA) viene eseguito l'arco lungo (maggiore di 180 gradi)

Se la distanza tra i due punti o tra la retta aperta e il punto specificato è superiore al doppio del raggio RA non esiste arco di cerchio congiungente: in questo caso lo Z32 non da allarme, ma inserisce un arco di cerchio esattamente uguale alla metà della distanza.

Se il tratto precedente è un cerchio aperto si ha errore CN3414 (precedente aperto).

G2/G3 I.. J.. RA.. QF..

Il cerchio 3 può provenire da un tratto aperto che deve contenere il parametro di selezione KA.
Il QF è l'angolo che la tangente al cerchio nel punto finale forma con l'asse delle Z positivo.

Se il tratto precedente è chiuso si ha errore CN3214 (precedente errato).

Se l'intersezione col tratto precedente non è possibile viene segnalato allarme CN 4414
(manca intersezione).

G2/G3 I.. J.. QF..

Il cerchio 4 può provenire da punto definito o da retta aperta; in tal caso viene imposta la condizione di tangenza col tratto precedente e viene forzato, solo nel blocco, il verso di percorrenza in modo da evitare punti spigolosi.

Se il tratto precedente è un cerchio aperto si ha errore CN3214 (precedente errato).

..........
.....G0 X20 Y-1
G1 QF45 G1 QF90
G2 I20 J0 QF-90 G3 I0 J0 RA20 QF-150 KA1
....(G3) I-20 J0 QF180

....



G2/G3 RA.. QF..

Il cerchio 5 deve provenire da punto definito e in questo punto viene conservata la pendenza del tratto precedente. È pertanto un cerchio raccordato al tratto precedente.

Se il tratto precedente è aperto si ha errore CN3414 (precedente aperto).

....
G0 X0 Y20
G2 I10 J15 QF-60
G3 RA20 QF30
.....



G2/G3 X.. Y..

Il cerchio 6 è un arco raccordato al tratto precedente e proviene così da punto continuo.
Lo Z32 forza il senso di percorrenza orario o antiorario per evitare punti spigolosi.Se il tratto precedente è aperto si ha errore CN3414 (precedente aperto).

......

G0 X0 Y10

G2 X10 Y0 I0 J0
G2 X50 Y0

I70 J0 X90 Y0
G3 X110 Y0
I120 J0 X130 Y0

.....



G2 X50 Y0 viene forzato in G3 ma rimane attiva G2.

G2/G3 I J QA

Il cerchio 7 può provenire da punto definito o da retta aperta; in tal caso viene imposta la condizione di tangenza col tratto precedente e viene forzato, solo nel blocco, il verso di percorrenza in modo da evitare punti spigolosi.

Se il tratto precedente è un cerchio aperto si ha errore CN3214 (precedente errato).

Con la programmazione dei parametri I,J,QA è possibile anche la programmazione del cerchio completo.

Il formato di programmazione è:

G2/G3 I... J... QA...

Dove:
G2 o G3 specifica il senso orario/antiorario
I e J sono le coordinate del centro (I = primo asse, J = secondo asse)
QA è la lunghezza in gradi dell'arco voluto. Per QA sono ammessi solo valori positivi da 0 a 360.001
Valori diversi danno errore CN2C14 PARAMETRI INCOMPATIBILI
Valori di QA compresi tra 359.999 e 360.001 sono interpretati come 360.000 gradi e danno
il cerchio completo.
La tolleranza intorno a 360 è stata introdotta per il caso che il 360 sia ottenuto come risultato di un calcolo, che in floating point potrebbe avere incertezze nei decimali e quindi dare incertezze di esecuzione (arco di 360 gradi oppure zero).
Esempi:

G0 X20 Y10
G3 I40 J15 QA180

Genera un arco di cerchio antiorario a partire dal punto X20 Y10, con centro in X40 Y15 (quindi raggio 20.6155) di lunghezza 180 gradi

G0 X20 Y10
G3 I40 J15 QA360

Come sopra, ma genera un cerchio completo di 360 gradi.

In ogni arco di cerchio chiuso può essere programmato un raccordo RR che viene eseguito alla fine del tratto.

Cerchi aperti
I tratti di cerchio aperti possono essere definiti in vario modo, utilizzando le coordinate del punto finale, il centro del cerchio e il raggio .
(G2/G3) I J RAcoordinate centro del cerchio e raggio -8(
G2/G3) I Jcoordinate del centro del cerchio -9(
G2/G3) RA raggio -10

G2/G3 I.. J.. RA..

Il cerchio 8 deve provenire da un tratto aperto che deve contenere il parametro di selez. KA.
Anche nel blocco attuale deve essere programmato il parametro di selezione KA.

Se il tratto precedente è chiuso si ha errore CN3214 (precedente errato).

Se l'intersezione col tratto precedente non è possibile viene segnalato allarme CN 4414
(manca intersezione).

....
G0 X0 Y50
G1 QF-90 KA1
G3 I-2 J10 RA30 KA1
G1 X-40 Y11 QF180
Y45
X0
.....



G2/G3 I.. J..

Il cerchio 9 può provenire da punto definito o da retta aperta; in tal caso viene imposta la condizione di tangenza col tratto precedente e viene forzato, solo nel blocco, il verso di percorrenza in modo da evitare punti spigolosi.

Il tratto precedente aperto deve contenere il parametro di selezione KA.
Nel blocco deve essere programmato il parametro di selezione KA.
Se il tratto precedente è un cerchio aperto si ha errore CN3214 (precedente errato).

...

G0 X45 Y0

G1 Y10

QF150

G3 I25 J3 (KA0)

G2 I15 J25 RA10 QF180

G1 X0

...



G2/G3 RA...

Il cerchio 10 deve provenire da punto definito e in questo punto viene conservata la pendenza del tratto precedente. È pertanto un cerchio raccordato al tratto precedente.

Se il tratto precedente è aperto si ha errore CN3414 (precedente aperto).

.....
G3 I30 J0 X30 Y20
G2 RA10
G1 X0 Y40 QF160
.....



In ogni blocco si può programmare un raccordo RR che viene eseguito alla fine del tratto.

Combinazioni retta - cerchio
Si tratta di un blocco di istruzioni che realizzano un movimento su due tratti : un segmento di retta e un arco di cerchio tangenti tra loro.

La combinazione prevede sempre la retta seguita dal cerchio e mai il contrario.

La programmazione di G1 e G2 (o G3) è sempre richiesta, e deve essere fatta nell'ordine (prima G1 e poi G2 o G3). Dopo questo tratto rimane attivo G2 (o G3) programmato. Se viene programmato prima G2 (o G3) e poi G1, resta attivo G1 e quindi lo Z32 da allarme CN2C14
(parametri incompatibili).

Le combinazioni previste sono:
G1 G2/G3 I J X Y centro e punto finale sul cerchio -1G1
G2/G3 I J RA centro del cerchio e raggio -2G1
G2/G3 I J RA QFcentro del cerchio, raggio e pendenza finale -3G1
G2/G3 I J X Y QAcentro, punto finale e pendenza della retta QA -4G1
G2/G3 I J RA QAcentro, raggio e pendenza QA della retta -5G1
G2/G3 I J RA QF QAcentro, raggio, pend. fin. e pend. QA della retta -6

La funzione preparatoria composta è attiva solo nel blocco.

G1 G2/G3 I. J. X. Y. ..I. J. RA..QF.. ...I J.. RA...

Le combinazioni 1 2 e 3 possono provenire da punto definito o da cerchio aperto, in tal caso viene imposta la condizione di tangenza e nasce un punto continuo: la retta risulta tangente al cerchio precedente.

Se il tratto precedente è retta aperta si ha errore CN3214 (precedente errato).

Se la partenza è da punto definito e questo è interno al cerchio si ha errore CN3314 (interno al cerchio).

Esempio da punto definito:

....
G1 X0 Y15
G1G2 I40 J20 X55 Y20
.....

Da cerchio aperto:

.....
G1 X70 Y5
G2 I70 J22,5
G1G3 I40 J15 RA11
G1G2 I15 J30 X4 Y25
G1 X0
......



Si ha allarme CN 3314 nelle situazioni in figura:
Cerchi concordi: nessuno deve essere contenuto nell'altro.
Cerchi discordi: i due cerchi devono essere esterni uno all'altro.



G1 G2/G3 I.. J.. X.. Y.. QA..

La combinazione 4 deve provenire da retta o cerchio aperti; la retta di pendenza QA interseca tali tratti in due punti e il KA, presente nel tratto aperto, seleziona uno o l'altro.

Se il precedente è chiuso si ha allarme CN3214 (precedente errato).


Se l'intersezione col tratto precedente non è possibile si ha allarme CN4414 (manca intersezione).

...

G0 X0 Y0

Y10

QF180 KA1

G3 I-20 J5 RA15 KA1

G1G3 I-50 J20 X-60 Y25 QA150 KA1

G1 QF180

G1 X-90 Y20 QF-90



....

G1 G2/G3 I.. J.. RA.. QA.. G1 G2/G3 I.. J.. RA.. QA.. QF..

Le combinazione 5 e 6 sono simili alla 4 ma con l'uso di parametri diversi.

Programmazione del cerchio completo
Cerchio completo senza G200 HX4

Non è possibile la programmazione del cerchio completo: se le quote finali del cerchio programmato coincidono con le quote iniziali, in cerchio non viene eseguito.

Come artificio di programmazione, data la grande precisione dei calcoli dello Z32, è possibile programmare un cerchio che sia inferiore anche di frazioni di micron al cerchio completo.

Per esempio con:

...
N10 G0 X0 Y0
N11 G2 Y-0.001 X0 I50 J0

...

si ottiene un cerchio praticamente completo di raggio 50.
Un cerchio completo può anche essere programmato con due o più archi: poiché i tratti saranno raccordati, non si avrà discontinuità di velocità.
Per esempio

...
N10 G0 X0 Y0
N11 G2 Y0 X100 I50 J0
N12 X0 Y0 I50 J0

...

In questo caso si faccia attenzione in correzione raggio perché il secondo arco di cerchio interseca il primo arco e che quindi tutto il cerchio viene eliminato (vedere capitolo “Correzione raggio”). In correzione raggio la programmazione del cerchio completo può richiedere almeno tre archi.

Cerchio completo con G200 HX4

è possibile programmare un cerchio completo anche con l’istruzione :

G200 HX4

forza, per le righe successive, l’esecuzione del cerchio completo quando l’arco di cerchio è programmato con G2/G3 I J X Y e le quote finali sono identiche alle quote iniziali.

Esempio:

N1 G200 HX4

N2 G0 X25.23 Y10.759

N3 G2 I40 J10 X25.23 Y10.759

Alla riga N3 viene eseguito un cerchio completo con centro I40 J10 e partenza e arrivo al punto X20Y10.

Le condizioni per l’esecuzione del cerchio completo sono:

- deve essere programmato con G2/G3 I J X Y
- le quote finali devono essere identiche alle quote iniziali
La condizione di quote identiche si ottiene sicuramente se le quote sono programmate con numeri espliciti identici, come nell’esempio sopra riportato, oppure se sono il risultato di formule identiche.

ATTENZIONE

formule matematiche apparentemente identiche nella sostanza ma formalmente diverse possono fornire risultati diversi, per le caratteristiche dei calcoli in virgola mobile. Per esempio l’espressione 1.2*5 non dà risultato esattamente = 6, perché il semplice numero decimale 1.2 non è rappresentabile esattamente nel sistema binario (è un numero periodico come per esempio 1/3=0.33333... è periodico nel sistema decimale) e quindi il risultato non è un numero intero. Risulta molto difficile prevedere il risultato, quindi è consigliabile, quando si vogliono numeri assolutamente identici come in questo caso, programmare numeri espliciti o formule assolutamente identiche.

RACCORDI E SMUSSI
Lo Z32 consente l'inserimento di uno smusso tra due rette comunque definite e l'inserimento di un raccordo tra due tratti qualunque tra due rette, tra due cerchi, tra retta e cerchio e tra cerchio e retta.

Smussi automatici
Gli smussi vengono inseriti a fine tratto con il parametro RB che rappresenta la lunghezza dello smusso sul tratto di retta in cui RB è programmato.

Se si programma soltanto RB si intende uno smusso simmetrico; se si programma insieme a RB anche QA si eseguono smussi asimmetrici secondo la seguente regola:
Lunghezza secondo lato / RB = tangente di QA

Vengono qui di seguito illustrate le combinazioni possibili di smussi.

Retta chiusa - retta chiusa:

G0 X0 Y0
G1 X20 Y20 RB10
(G1)X40 Y0

oppure

G1 X20 QF45 RB10
(G1) X40 QF-45

G0 X0 Y0
G1 X20 Y20 RB15 QA30
(G1) X40 Y0

oppure

G1 X20 QF45 RB15 QA30
(G1) Y0 QF-45
(QA30 =>tg30 = 8.66/15)

G0 X0 Y20
G1 X30 Y20 RB10
(G1) X40 Y0

G0 X0 Y20
G1 QF90
X40 Y20 QF0 RB15 QA30
(G1) Y0
(QA30 =>tg30 = 8.66/15)
G0 X0 Y20
G1 X30 Y20 RB10
(G1) QF-90

oppure

G1 QF0 RB10
(G1) X30 Y0 QF-90

G0 X0 Y20
G1 X30 Y20 RB10
G1

allarme CN4514
RB/RR su inizio cerchio.

G0 X-5 Y-5
G1 X5 Y5
(G1) RB10
(G1) X40 Y0 QF-45

Retta chiusa - retta/cerchio

G0 X5 Y0
G1 Y20 RB10
G1G2 I30 J10 X30 Y0

oppure

G1G2 I30 J10 RA10 QF180

G0 X5 Y0
G1 Y20 RB10
G1G2 I30 J10 RA10
G1 X10 Y0



G0 X0 Y0
G1 QF60 RB15 QA30
G1G2 QA-30 I35 J0 X45 Y0

oppure

G1G2 QA-30 I35 J0 RA10 QF-90
(QA30 =>tg30 = 8.66/15)

G0 X0 Y0
G1 QF60 RB10 QA40,9
G1G2 QA-30 I35 J0 RA10
(QA40,9 =>tg40,9=8.66/10)

G0 X0 Y-25
G1 Y25 RB20
G1G2 I10 J0 RA20 QF-90



Se lo smusso cade dentro il cerchio lo Z32 non segnala allarme.

Raccordi automatici
Per i raccordi è necessario osservare che tra una retta e un cerchio oppure tra due cerchi non orientati possono esistere fino ad otto raccordi. Lo Z32 con l'orientamento dei tratti seleziona i quattro raccordi congruenti.

La selezione tra questi quattro viene effettuata utilizzando due discriminanti:

- Raggio di raccordo RR con segno col significato già detto:
RR + raccordo antiorario (G3)
RR -raccordo orario (G2)

- Parametro di selezione KA con il significato noto:
KA = 0 raccordo corto
KA<> 0 raccordo lungo

Retta chiusa-Retta chiusa

G0 X0 Y0
G1 X20 Y20 RR-10
(G1) X40 QF-45

oppure

G1 X20 QF45 RR-10
(G1) Y0 QF-45

G0 X40 Y0
G1 X20 QF135 RR10
(G1) X0 QF-135

G0 X0 Y0
G1 X35
G1 QF0
(G1) X35 Y20 QF90 RR10
(G1) X0

Retta chiusa-Retta aperta / Retta aperta-Retta chiusa

G0 X0 Y0
G1 Y20 RR-10
(G1) QF0

G0 X0 Y20
G1 QF0 RR-10
(G1) X30 Y0 QF-90
G0 X30 Y0
G1 Y20 RR10
(G1) QF180

oppure

G1 QF90 RR10
(G1) X0 Y20 QF180

G0 X-5 Y-5
G1 X5 Y5
(G1) RR-10
(G1) X50 Y0 QF-45

Retta chiusa-Cerchio chiuso

G0 X0 Y10
G1 X20 Y10 RR-5
G3 I35 J10 X35 Y-5

G0 X0 Y10
G1 X20 Y10 RR5
G2 I35 J10 X35 Y25

oppure

G2 RA15 X35 Y25
G2 I35 J10 QF0

Retta aperta-Cerchio chiuso (aperto)

G0 X0 Y0
G1 QF60 RR-5 (KA0)
G3 I30 J10 X30 Y-5
(G3 I30 J10 RA15 QF0)
G0 X0 Y0
G1 QF60 RR-5 KA1
G3 I30 J10 X15 Y10
(G3 I30 J10 RA15 QF-90)

G0 X25 Y40
G1 QF-120 RR18 (KA0)
G3 I30 J10 X45 Y10
(G3 I30 J10 RA15 QF90)

G0 X25 Y40
G1 QF-120 RR18 KA1
G3 I30 J10 X30 Y25
(G3 I30 J10 RA15 QF180)

G0 X0 Y10
G1 QF0 RR-3 KA1
G3 I30 J10 X30 Y25

G0 X0 Y10
G1 QF0 RR3 (KA0)
G3 I30 J10 X15 Y10

G0 X0 Y10
G1 QF0 RR-3 (KA0)
G3 I30 J10 X30 Y-5
G0 X0 Y10
G1 QF0 RR-3 KA1
G2 I30 J10 X30 Y25

G0 X0 Y10
G1 QF0 RR3 (KA0)
G2 I30 J10 X45 Y10

Cerchio chiuso-Retta chiusa

G0 X0 Y20
G1 X15 Y20
G2 X30 Y5 RR-5
G1 X0

G0 X0 Y20
G1 X15 Y20
G2 RA15 QF-90 RR5
G1 X0 Y5

G0 X25 Y0
G3 I10 J0 X10 Y15 RR-5
G1 X10 Y0

Cerchio aperto-Retta chiusa

G1 X10 Y-5
G2 I10 J15 RR-5 (KA0)
G1 X40 Y15 QF0
G0 X9 Y27,5
G1 QF0
G2 I10 J12,5 RA15 RR-5 KA1
G1 X40 Y15 QF0

G0 X9 Y27,5
G1 QF0
G2 I10 J12,5 RA15 RR5 (KA0)
G1 X40 Y15 QF0

Cerchio aperto-Cerchio chiuso (esterni)

G0 X1 Y-10
G1 QF180
G2 I0 J0 RA10 RR-20 (KA0)
G2 I20 J0 X20 Y-5

G0 X1 Y-10
G1 QF180
G2 I0 J0 RA10 RR-20 KA1
G2 I20 J0 RA5 QF90

G0 X-10 Y18
G1 QF-90
G3 I0 J15 RA10 RR-10 (KA0)
G3 I20 J15 X25 Y15

G0 X0 Y10
G3 I0 J15 RR-10 KA1
G3 I20 J15 RA5 QF0
G0 X-10 Y15
G3 I0 J15 RR15 (KA0)
G2 I20 J15 X25 Y15

G0 X10 Y14
G1 QF90
G3 I0 J15 RA10 RR15 KA1
G2 I20 J15 X25 Y15

G0 X-10 Y14
G1 QF90
G2 I0 J15 RA10 RR15 (KA0)
G3 I20 J15 X25 Y15

G0 X-10 Y14
G1 QF90
G2 I0 J15 RA10 RR15 KA1
G3 I20 J15 X20 Y10

Cerchi secanti

G0 X-15 Y-1
G1 QF90
G2 I0 J0 RA15 RR4 (KA0)
G2 I25 J0 X25 Y20
G0 X-15 Y-1
G1 QF90
G2 I0 J0 RA15 RR-4 (KA0)
G3 I25 J0 X25 Y-20

G0 X15 Y1
G1 QF-90
G2 I0 J0 RA15 RR4 KA1
G2 I25 J0 X25 Y20

G0 X15 Y1
G1 QF-90
G2 I0 J0 RA15 RR-4 KA1
G3 I25 J0 X25 Y-20

G0 X-15 Y-1
G1 QF90
G2 I0 J0 RA15 RR-4 KA1
G2 I25 J0 X25 Y20

G0 X-15 Y-1
G1 QF90
G2 I0 J0 RA15 RR4 (KA0)
G3 I25 J0 X25 Y-20
G0 X-15 Y-1
G1 QF90
G2 I0 J0 RA15 RR-4 (KA0)
G2 I25 J0 X25 Y20

G0 X-15 Y-1
G1 QF90
G2 I0 J0 RA15 RR4 KA1
G3 I25 J0 X5 Y0

Cerchi interni

G0 X11,5 Y10
G1 QF0
G3 I12,5 J15 RA5 RR-8 (KA0)
G2 I25 J15 RA20 QF0

G0 X13,5 Y20
G1 QF180
G3 I12,5 J15 RA5 RR-8 KA1
G2 I25 J15 RA20 QF90

G0 X11,5 Y10
G1 QF0
G3 I12,5 J15 RA5 RR8 (KA0)
G3 I25 J15 RA20 QF0
G0 X13,5 Y20
G1 QF180
G3 I12,5 J15 RA5 RR8 KA1
G3 I25 J15 RA20 QF0

G0 X26 Y-5
G1 QF180
G2 I25 J15 RA20 RR-8 (KA0)
G3 I12,5 J15 RA5 QF180

G0 X5 Y14
G1 QF90
G2 I25 J15 RA20 RR-8 KA1
G3 I12,5 J15 RA5 QF-90

G0 X26 Y35
G1 QF180
G3 I25 J15 RA20 RR8 (KA0)
G3 I12,5 J15 RA5 QF180

G0 X26 Y35
G1 QF180
G3 I25 J15 RA20 RR8 KA1
G3 I12,5 J15 RA5 QF-90

Campo di esistenza di raccordi
È importante fare alcune considerazioni sulla possibilità di inserire un raccordo tra due tratti, il problema non si pone se i due tratti sono due rette.
Siano:
RA1 e RA2 i raggi dei due cerchi con RA2RA1
D la distanza tra i centri
|RR| il raggio di raccordo senza segno

Cerchi esterni

Se i cerchi sono esterni si ha (| .. | valore assoluto ):
cerchi concordi/raccordo discorde |2xRR|>= D-RA1-RA2
cerchi concordi/raccordo concorde |2xRR|>= D+RA1+RA2
cerchi discordi/raccordo come il primo |2xRR|>= D+RA2-RA1
cerchi discordi/raccordo come il secondo |2xRR|>= D+RA1-RA2

Cerchi secanti

Se i cerchi sono secanti si ha:
cerchi concordi/raccordo interno |2xRR|<= D- RA1+RA2-D
cerchi discordi/raccordo interno |2xRR|<= D-RA2+RA1

|2xRR|<= D-RA1+RA2
cerchi concordi/raccordo concorde esterno |2xRR|> D+RA1+RA2

Cerchi interni

Se i cerchi sono interni si ha:
cerchi concordi RA2-D-RA1 <|2xRR| <RA2+D-RA1
cerchi discordi RA2-D+RA1 <|2xRR| <RA2+D+RA1

PROFILI SU TRE ASSI
Lo Z32 realizza interpolazioni lineari e circolari su tre assi con la funzione preparatoria G12. Un profilo nello spazio è costituito quindi da segmenti di retta e da archi di elica.

La programmazione dei segmenti di retta è realizzata con :

G1 X... Y... Z...

L'arco di elica può essere programmato unicamente con :

G2/G3 I... J... X... Y... Z...

dove I e J sono le coordinate del centro del cerchio di base, mentre X..Y.. e Z.. rappresentano le coordinate del punto finale del movimento.

È possibile utilizzare l'istruzione anche in correzione raggio fresa.

Vedere capitolo “Correzione raggio utensile”

GESTIONE DELLA VELOCITÀ
Lo Z32, nella esecuzione del profilo programmato, cerca di rendere il più possibile continua la velocità del percorso, e pari alla velocità programmata. Esistono però situazioni, durante l'esecuzione del profilo, che richiedono una riduzione di velocità per evitare errori.

Ogni tratto di profilo è scomposto, ai fini della velocità, in tre parti:
- una parte iniziale di accelerazione per portarsi alla velocità centrale
- una parte centrale a velocità costante
- una parte finale di decelerazione per portarsi alla velocità finale

Accelerazione iniziale
È una parte con accelerazione costante, sulla traiettoria programmata, per raggiungere la velocità centrale a partire dalla velocità finale del tratto precedente.

Questa parte può mancare se la velocità centrale è uguale alla velocità finale del tratto precedente.

Velocità centrale costante
La velocità centrale è, a seconda che il blocco sia in lavoro o in rapido:
- la feed programmata, eventualmente modificata con override
- il rapido, ridotto a 1/5 più override se c'è provapezzo

La velocità centrale effettiva di lavoro può essere ridotta nei seguenti casi:
- la feed programmata provoca, su uno o più degli assi interessati al movimento, una velocità superiore al rapido/1.2: la velocità è ridotta al (rapido/1,2). Ciò permette, con override al massimo (120%), di non superare la velocità di rapido.
- il tratto è circolare con piccolo raggio di curvatura, tanto che le accelerazioni risultanti sono incompatibili con quelle di taratura della macchina: la velocità è ridotta alla
massima compatibile con le accelerazioni di taratura
- il tratto è circolare in correzione raggio a curvatura interna: la velocità è ridotta nella stessa proporzione in cui è ridotto il raggio di curvatura della traiettoria del centro utensile rispetto al raggio di curvatura del profilo programmato. Ciò significa che viene mantenuta costante la velocità di esecuzione del profilo piuttosto che la velocità di traslazione del centro utensile. Per sicurezza non è previsto un aumento della velocità
del centro utensile in caso di curvatura esterna.

La parte centrale a velocità costante può non esistere se i tratti iniziali o finali di accelerazione e decelerazione sono complessivamente più lunghi del tratto completo.

Decelerazione finale
Raccorda la velocità centrale alla velocità finale del tratto.

La velocità finale è forzata a zero (e quindi si ha un posizionamento nel punto finale) nei seguenti casi:
- il movimento attuale o il seguente è in G0
- non è attiva G12 e il movimento seguente interessa uno o più assi fuori dal piano di lavoro
- a fine movimento è programmata una funzione ausiliaria (S, T, M, MA, MB, MC) o una funzione 'con arresto' (G4, G25, G28, G29 ecc.)

Negli altri casi si dovrebbe avere una continuità della velocità e quindi la velocità finale viene mantenuta, finche è possibile, pari alla velocità centrale costante.

Nelle seguenti condizioni si ha però una diminuzione della velocità finale rispetto alla velocità centrale costante:

- il movimento successivo ('G1', 'G2' o 'G3'), deve essere eseguito con una 'F' inferiore: la velocità finale è ridotta alla velocità iniziale del movimento successivo. Se la velocità centrale del movimento successivo è superiore, la velocità finale è lasciata invariata.

- il segmento o l'arco di cerchio hanno uno spigolo finale che, considerate le accelerazioni degli assi del piano di lavoro, porterebbe a un errore di traiettoria maggiore di 0,005: la velocità finale è ridotta alla velocità che dà un errore di 0,005.

- a fine movimento, per effetto di G12/G13, si ha una attivazione o disattivazione di moto nel terzo asse: la velocità finale è ridotta a un minimo di circa 20 mm/min.

- la lunghezza del tratto successivo non è sufficiente a garantire il possibile arresto degli assi (sempre tenuto conto delle accelerazioni consentite dagli assi in gioco): la velocità finale è ridotta alla velocità che consente l'arresto degli assi alla fine del tratto successivo.

Velocità con G12 attiva
Abbiamo visto come la velocità finale del tratto programmato può essere ridotta se esiste una attivazione o disattivazione del terzo asse a fine tratto. Quando G12 è attiva si hanno le seguenti modalità:

- la velocità centrale è costante e mantenuta uguale a quella programmata sulla traiettoria (ossia la velocità nel piano viene ridotta se è programmato il terzo asse, in modo che la velocità vettoriale risultante sia pari alla feed programmata)

- non sono presi in considerazione eventuali spigoli dati da variazioni di pendenza nel terzo asse: solo se il terzo asse è attivato o disattivato la velocità è ridotta nei punti iniziali e finali corrispondenti. Il programmatore faccia attenzione agli overshoot che si possono verificare.

ROTAZIONE, TRASLAZIONE, SPECULARITÀ, FATTORE DI SCALA

Abbiamo finora visto che le quote sono programmate con una istruzione costituita da:
- indirizzo contenente il nome asse
- espressione o valore numerico rappresentativo della quota.

Per ottenere una più semplice ed efficiente programmazione è possibile imporre allo Z32 di applicare alle quote programmate alcune trasformazioni standard, e precisamente:

1. rototraslazione
2. specularità
3. fattore di scala
Con queste funzioni il CN trasforma le quote programmate nelle quote che appartengono alla nuova figura, rototraslata, speculare, amplificata o ridotta.
Si noti che il CN agisce sulle quote programmate e non sulle quote rilevate: ciò significa che le quote visualizzate sono sempre quelle rilevate rispetto all'origine attiva e che quindi sono rappresentative della quota reale dell'asse.
Per esempio, se si programma:
DA10 AA100
La quota dell'asse AA a fine movimento è di 110 rispetto all'origine attiva, e 110 sarà la quota

visualizzata.
I parametri usati per queste funzioni sono:
IR, JR coordinate centro di rotazione
QR rotazione
DA, DB, DC traslazione
IS, JS coordinate centro di specularità
QS inclinazione asse di specularità
KP fattore di scala nel piano
KT fattore di scala terzo asse
KM fattore moltiplicatore singolo asse
KD fattore additivo singolo asse

I parametri utilizzati per queste funzioni sono, come tutti i parametri, modali, ossia il valore programmato rimane fino a che un nuovo valore si sostituisce al precedente.

esecuzione Al reset, i parametri sono posti a zero, tranne KP e KT, che sono posti ad 1 per avere fattore di scala unitario.

Se più trasformazioni sono attive, si veda meglio in seguito, lo Z32 opera nell'ordine:
1) Rotazione: è applicata ad AA, AB, al centro cerchio I, J e alla pendenza QF.
2) Traslazione: è applicata alle quote AA, AB, AC, e al centro cerchio I, J, eventualmente già ruotate.
3) Specularità: il centro di specularità IS, JS, e la pendenza dello asse di specularità QS
sono riferiti all'origine non rototraslata. La specularità è applicata alle quote AA, AB, al centro cerchio I, J, e alla pendenza QF, già rototraslate. Sono scambiate tra loro G2/G3 e G41/G42 se attive.
4) Fattore di scala: le quote della figura che risultano dalle tre trasformazioni precedenti riferite alla origine non modificata sono moltiplicate per il fattore di scala. Sono interessati : quote AA, AB, AC, centro cerchio I, J e il raggio RA.
Si noti ancora che i calcoli di cui sopra sono fatti solo per determinare i movimenti degli assi, e non vanno a modificare i parametri. Per esempio, se è programmato AA 100, e la quota modificata (per effetto di rototraslazione, specularità, fattore di scala) è di 150, il parametro AA, se usato nei calcoli successivi, mantiene il valore 100 e non assume il valore 150.
La G53 (sospensione correzioni origini e lunghezze) sospende anche rototraslazione, specularità e fattore di scala. Ciò permette di programmare i movimenti della macchina in punti fissi (tipico il cambio
utensili), senza annullare le correzioni quote, che possono essere ripristinate da un successivo G54.

ROTAZIONE
La figura programmata viene ruotata di un angolo QR (in gradi sessagesimali) intorno al centro
di rotazione di coordinate (IR, JR) riferite all'origine attiva.
La rotazione è sempre abilitata (non ha bisogno di 'G' particolari) se QR diverso da zero.
Al reset è QR = IR = JR = 0.
La rotazione è applicata a:
- quote assi (AA, AB)
- centro cerchio (I, J)
- pendenza (QF)

Moti assi e rotazione
Ricordiamo il comportamento dello Z32 in assenza di rotazione.
Se è programmato un solo asse del piano, lo Z32 non muove l'asse non programmato, anche se questo, per vicende di programmazione, contiene una quota variata.
L'esempio che segue mostra il diverso risultato che si ha programmando uno o due assi del piano in diverse condizioni.
Fino all'istruzione N3 i tre programmi sono uguali, e portano gli assi nella origine OX1 OY1.
All'istruzione N4 i parametri X e Y sono entrambi zero, ossia individuerebbero la nuova origine OX2 OY2. I movimenti ottenuti sono quelli riportati in figura: solo se sono programmati entrambi gli assi (progr. 3) la nuova origine è raggiunta, altrimenti si muove solo l'asse programmato.
Se è attiva la rotazione (ossia QR non zero) la programmazione di un solo asse (moto parallelo a un asse della figura non ruotata) provoca in realtà un movimento inclinato e quindi chiede il movimento anche dell'altro asse.
Perciò, se QR non zero, anche se è programmato un solo asse, lo Z32 non limita il movimento al solo asse programmato, ma muove entrambi gli assi, in modo da raggiungere il punto ruotato con una traiettoria inclinata. Nel caso dell'esempio che segue il comportamento della macchina è diverso dall'esempio precedente:
NOTE:
N1 al reset è QR = IR = JR = 0
N3 non dà moti assi perché nessuna quota è programmata
N4 anche se è programmato solo X, poiché è QR non zero, si muove Y fino alla quota 0 (valore parametro)
N6 essendo QR=0, pur contenendo il parametro Y il valore zero, l'asse Y non si muove

TRASLAZIONE
La figura programmata è traslata delle quantità DA (primo asse), DB (secondo asse), DC (terzo asse).
La traslazione è abilitata (senza 'G' particolari) se uno o più dei tre parametri DA, DB, DC sono non zero.
Al reset è DA = DB = DC = 0.
La traslazione è applicata a:
- quote assi (AA, AB, AC)
- centro cerchio (I, J)
Moti assi e traslazione
La sola traslazione non forza il movimento di assi non programmati. Esempio:
Alla istruzione N4 i parametri X e Y sono = 0 e, con la traslazione DA, DB individuano il punto di coordinate X=40, Y=20. Solo programmando entrambi gli assi (programma 3) il punto finale viene raggiunto.

SPECULARITÀ
La figura programmata è trasformata nella figura speculare rispetto all'asse di specularità individuato dal punto di coordinate (IS, JS) e dalla pendenza QS.
La specularità deve essere abilitata da G56 (modale). G55 annulla G56 e quindi la specularità.
Al reset è IS = JS = QS = 0 ed è attivo G55 (specularità non attiva).
La specularità (G56 attiva) provoca lo scambio di G2 con G3 e di G41 con G42. G56 può essere attiva in correzione raggio (G41/G42) ma non può essere programmata con G41/G42 attive.
L'asse di specularità è la retta di inclinazione QS e passante per il punto di coordinate IS, JS. QS, IS, JS sono riferite all'origine attiva e non sono rototraslate.
La specularità è applicata a:
- quote assi (AA, AB)
- centro cerchio (I, J)
- pendenza (QF)
Moti assi e specularità
Anche la specularità, come la rotazione, può richiedere il moto di un asse non programmato.
Perciò, in modo identico alla rotazione, se durante la specularità attiva (G56) è programmato uno dei due assi del piano di lavoro, automaticamente lo Z32 considera anche l'altro programmato e lo porta al punto corrispondente al valore del parametro relativo.

FATTORE DI SCALA
Tutti gli elementi del piano che compongono la figura programmata sono moltiplicati per KP (costante nel piano), mentre la quota AC è moltiplicata per KT (costante nel terzo asse). Gli elementi del piano modificati sono:
- quote assi (AA, AB)
- centro cerchio (I, J)
- raggio cerchio (RA)
Gli elementi geometrici dell'utensile non sono modificati dal fattore di scala.
Al reset è KP = KT = 1.
Il programmatore faccia attenzione che, in correzione raggio, il fattore di scala può trasformare un profilo da compatibile a incompatibile e viceversa, se ci sono rientranze dello stesso ordine di grandezza del raggio fresa. Vedere anche capitolo “Correzione raggio utensile”.

PARAMETRI CORRETTIVI DELLE QUOTE
Per la modifica delle quote programmate sono disponibili:
- DA DB e DC sommati alle quote programmate del primo secondo e terzo asse del piano
- KP moltiplicato ad entrambe le quote del piano di lavoro, oltre ai parametri I, J e RA (centro e raggio cerchio)
- KT moltiplicato alla quota del terzo asse
Sono disponibili altri fattori moltiplicativi ed additivi, non riferiti al piano di lavoro ma ai singoli assi, che hanno effetto cumulativo con i parametri già esistenti.
Per esempio, se una macchina ha gli assi continui X Y Z B C, sono programmabili:
KMX KMY KMZ KMB KMC come termini moltiplicativi
KT=1
KP=1al
RESET
KDX KDY KDZ KDB KDC come termini additivi

Se KM o KD non sono seguite da un nome di asse continuo sono considerati normali parametri. Non si ha quindi errore se si esegue un part-program che contenesse già i parametri KM o KD.

A tutti gli effetti i parametri triletterali sopra elencati sono parametri, ossia possono essere sia scritti sia letti ed usati in espressioni matematiche.

Sono tutti azzerati all'accensione.

L'efficacia di KM e KD è sospesa con G53 attiva.

Questi parametri correttivi hanno effetto solo sulle quote programmate. Le quote visualizzate rimangono quelle effettive dove si trova l'asse (quindi diverse da quelle programmate)

Contrariamente a KP, che agisce anche sulle coordinate del centro e sul raggio, i parametri correttivi KM agiscono solo sulle quote. Il loro scopo è quello di modificare profili ottenuti con molti tratti lineari corti, mentre hanno scarsa applicabilità nel caso di movimenti programmati circolari.
Comunque spetta al programmatore decidere caso per caso.

L'efficacia come termini correttivi delle quote si ha solo dopo che questi parametri sono stati programmati in riga ISO.

Per esempio:

KMX1.035 KMY0.96

Attiva due fattori di scala, uno su asse X e uno su asse Y

La programmazione di KM o KD in riga evoluta modifica i parametri ma da sola non attiva la correzione. Per esempio:

!KMX=1.5!

ha l'effetto di modificare il parametro KMX, ma non attiva la correzione se prima non era attiva.
Se però in precedenza la correzione era già attiva, essa rimane attiva col nuovo parametro programmato in riga evoluta.

ATTENZIONE

L'attivazione dei parametri correttivi è immediata in fase di analisi della riga e quindi dipende dalla posizione nella riga. Se nella stessa riga ISO è programmata prima la quota di un asse e poi un parametro correttivo su quello stesso asse, la quota programmata non viene corretta.

È importante la sequenza con la quale vengono applicate le correzioni, in quanto darebbe un diverso risultato applicare prima l'addizione e poi la moltiplicazione rispetto al viceversa. La sequenza è:

1) Moltiplicazione KM..

2) Addizione KD..

3) Moltiplicazione KT e KP

4) Addizione DA DB DC


CORREZIONE RAGGIO UTENSILE
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 non possono essere lavorati a causa del raggio utensile (zone 'X')
- sono inseriti alcuni tratti di raccordo (non programmati) attorno agli spigoli esterni (B e D)
- alcuni tratti programmati sono eliminati a causa del raggio utensile (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.

Le principali operazioni che lo Z32 fa sui tratti programmati per ottenere il percorso del centro fresa sono:

Traslazione del segmento rettilineo di una quantità pari al raggio utensile.

Riduzione del raggio di un arco di cerchio interno di una quantità pari al raggio utensile. Eliminazione dell'arco di cerchio se il raggio risultante è negativo.

Aumento del raggio di un arco di cerchio esterno di una quantità pari al raggio utensile.

Inserzione di un arco di raccordo di raggio pari al raggio utensile attorno a uno spigolo esterno.

Riduzione di lunghezza o eliminazione dei tratti programmati che interferiscono con altri punti del profilo.

Questa ultima prestazione richiede allo Z32 di esplorare in avanti il profilo per ottenere le informazioni necessarie.

I tratti successivi di profilo programmato possono infatti interferire col tratto che via via è in esecuzione e quindi richiedere al tratto in esecuzione un diverso punto finale.

Il tratto successivo che interferisce può essere, in dipendenza dal tipo di profilo, anche molto più avanti.

Nell'esempio di figura il tratto 9 va ad interferire col tratto 1: per risolvere questo caso il CN dovrebbe esplorare avanti per almeno 9 tratti, oltre ai raccordi da inserire intorno agli spigoli.

A causa dei limiti fisici, imposti dalla dimensione di memoria e dai tempi di calcolo, si è dovuto limitare il numero dei tratti esplorati, considerando anche che, qualunque sia il numero di tratti fatti calcolare al CN, è sempre possibile immaginare un profilo più complesso.

Con due tratti in avanti si possono già risolvere i casi più normali di profilo: lo Z32 quindi, se il programmatore non richiede prestazioni diverse, esplora in avanti fino a che non ha definito due tratti di profilo successivi a quello in esame (tre tratti in tutto).

Per esempio si consideri il classico caso di un gradino di altezza inferiore al raggio utensile: questo caso è pienamente risolto dallo Z32 con l'esplorazione di tre tratti.

I tratti di cui è composto il profilo modificato col raggio utensile sono:

1. tratto iniziale orizzontale
2. raccordo circolare attorno allo spigolo programmato
1. tratto verticale
2. tratto finale orizzontale
Lo Z32 esegue perciò in sequenza le seguenti elaborazioni:
1) TRATTO INIZIALE ORIZZONTALE

Il tratto 2 si raccorda.

Il tratto 3 si raccorda.
Sono stati esaminati tre tratti e quindi il tratto 1 è passato alla esecuzione senza modifiche.
2) RACCORDO CIRCOLARE

Il tratto 3 si raccorda.
Il tratto 4 interseca il 2: i tratti 2 e 4 sono modificati in conseguenza e il tratto 3 è
eliminato.

Il procedimento continua fino a che non sono stati esaminati tre tratti.

Abbiamo prima detto che lo Z32 in condizioni normali esplora tre tratti: ciò è sufficiente a risolvere un grande numero di casi pratici. È evidente però che si possono pensare casi in cui il profilo è incompatibile con la entità della esplorazione in avanti dello Z32.

Un esempio di caso limite è quello di una tasca rettangolare di larghezza 'A' e profondità 'B' (vedere figura), con BA (tasca più profonda che larga). I tratti in cui è scomposto il percorso del centro fresa sono i seguenti:

1. tratto iniziale orizzontale
2. raccordo circolare di entrata
3. tratto verticale di entrata
4. fondo
5. tratto verticale di uscita
6. raccordo circolare di uscita
7. tratto finale orizzontale
Ai fini della compensazione raggio, sono possibili tre casi:

1. diametro utensile minore della larghezza (2*R<A)
2. diam. utens. maggiore del doppio della larghezza (R<A)
3. diametro utensile intermedio
Esaminiamo per ogni caso e per ogni tratto il comportamento dello Z32.

DIAMETRO UTENSILE MINORE DELLA LARGHEZZA

Tratto 1. Il tratto 2 si raccorda, il tratto 3 si raccorda: il tratto 1 è eseguito invariato.

Tratto 2. Il tratto 3 si raccorda, il tratto 4 interseca il tratto 3: sono accorciati i tratti 3 e 4, il tratto 2 è eseguito invariato.

Tratto 3. Il tratto 4 si raccorda, il tratto 5 interseca il 4: sono accorciati i tratti 4 e 5, il tratto 3 è eseguito (più corto perché accorciato in precedenza).

Tratto 4. Il tratto 5 si raccorda, il tratto 6 si raccorda: il tratto 4 è eseguito.

Tratto 5. Il tratto 6 si raccorda, il 7 si raccorda: il 5 è eseguito.

Tratto 6. Il 7 si raccorda...

Il profilo è eseguito correttamente.

DIAMETRO UTENSILE MAGGIORE DEL DOPPIO DELLA LARGHEZZA

Il raggio utensile è maggiore della larghezza: la fresa è quindi molto più grossa della tasca.
Tratto 1. Il 2 si raccorda, il 3 si raccorda: l'1 è eseguito.
Tratto 2. Il 3 si raccorda, il 4 non si raccorda e non interseca: il 4 è eliminato. Si procede col 5 che non si raccorda e non interseca: anche il 5 è eliminato. Il 6 interseca il 2: il 3 è eliminato, il 6 e il 2 sono accorciati di conseguenza. Si procede col 7 che si raccorda e quindi (con 2 tratti avanti già esplorati) il 2 è eseguito.
Tratto 3. Era eliminato.
Tratto 4. Era eliminato.
Tratto 5. Era eliminato.
Tratto 6. Il 7 si raccorda...

Il profilo è eseguito solo in parte, perché l'utensile si 'appoggia’ sui due spigoli, senza entrare nella tasca: comunque l'utensile fa quello che può.

DIAMETRO UTENSILE MAGGIORE DELLA LARGH. E MINORE DEL DOPPIO

L'utensile non entra nella tasca, ma è più piccolo del doppio della larghezza.
Tratto 1. Il 2 si raccorda, il 3 si raccorda: l'1 è eseguito
Tratto 2. Il 3 si raccorda, il 4 interseca il 3: il 3 e il 4 sono accorciati e il 2 (avendo due tratti avanti) è passato all'esecuzione. A questo punto il CN ha già commesso un errore non recuperabile, in quanto il 2 doveva essere accorciato.
Tratto 3. Il 4 si raccorda, il 5 non si raccorda e non interseca: è eliminato. Il 6 non si raccorda e non interseca nessuno dei tratti in esame (avrebbe intersecato il 2, se non fosse stato passato all'esecuzione): il 6 è eliminato. Il 7 non si raccorda e non interseca: è eliminato.

Il procedimento prosegue fino al termine della correzione raggio, in quanto nessuno del tratti successivi si raccorderà con quelli in esame, e a questo punto il controllo darà allarme 'PROFILO
INCOMPATIBILE'.

In modo simile possono essere esaminati i vari casi: in generale si può dire che i casi di PROFILO INCOMPATIBILE' si verificano sempre quando si hanno delle rientranze nel profilo di dimensioni inferiori al diametro utensile.

Il programmatore ha la possibilità di richiedere allo Z32 un numero diverso di tratti sbrogliati, se le condizioni del profilo lo richiedono. La funzione è la G109, che deve essere seguita da una lettera da A a E per specificare il numero dei tratti da esplorare:

G109A tre tratti (attiva al reset)
G109B quattro tratti
G109C cinque tratti
G109D sei tratti
G109E sette tratti

Un esempio di caso che viene risolto interamente con 7 tratti (G109E) è indicato in figura.

Il tratto 1 interseca il tratto 8 (perché il diametro utensile è più grosso dell'apertura). Quando il CN esamina il tratto 1, il tratto 7 in avanti interseca già il tratto 3, e i tratti 4, 5 e 6 vengono eliminati: il successivo tratto 8 interseca il tratto 1 e quindi anche i tratti 2 e 3 sono eliminati e il tratto 1 accorciato.

Se la stessa figura venisse eseguita con tre tratti (la normale G109A) il CN non si accorgerebbe dell'apertura più stretta dell'utensile ed entrerebbe nel profilo.

È inoltre possibile programmare la funzione G109R ,che forza l'inserimento di un raccordo anche intorno allo spigolo interno e quindi elimina, in pratica, l'errore PROFILO INCOMPATIBILE.

La G109R viene annullata dalla G109N; può essere programmata immediatamente prima dei blocchi che provocano PROFILO INCOMPATIBILE: può essere quindi più chiaro, dai movimenti eseguiti, quale è la situazione che provoca l'allarme.

Si faccia attenzione che, con G109R attiva, l'utensile può entrare nel profilo programmato e possono rimanere raccordi lunghi sugli spigoli interni in caso di profilo complesso.

Attacco al profilo
A ogni inizio programma lo Z32 è forzato nel modo NON CORREZIONE RAGGIO (G40).

Per far entrare lo Z32 nel modo 'CORREZIONE RAGGIO' occorre programmare G41 (pezzo a destra) o G42 (pezzo a sinistra).

Questo momento di 'attacco al profilo’ richiede alcune operazioni geometriche particolari: le quote programmate non dovranno più essere interpretate come quote a cui si deve portare il centro fresa, ma come quote del profilo del pezzo: la traiettoria del centro fresa sarà spostata di una quantità pari al raggio utensile dalla traiettoria programmata.

In aggiunta ai modi di programmare il profilo già descritti nel capitolo “Geometria” se ne aggiungono perciò alcuni altri, caratteristici dell'attacco al profilo.

Al solito si farà uso degli assi 'X' e 'Y' per indicare il primo e il secondo asse del piano di contornatura, ma gli assi potranno essere diversi, se il piano di contornatura (impostato con G25...) è diverso.

Dopo G40, G41, G42 è attivo G1 modale, e quindi non viene errore se si danno quote compatibili con la programmazione di G1.

Resta il fatto che la programmazione di G0 (solo dopo G40) o G2 o G3 al blocco che segue G40 G41 o G42 è regolarmente valida ed accettata.


G41/G42 - programmate X... Y... QF... - attacco in tangenza

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 piano di lavoro
- 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 tre diversi attacchi al profilo con pendenza finale zero.

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 hanno due inconvenienti:
- il calcolo di QF può non essere semplicissimo
- il raccordo di attacco al profilo non è considerato un elemento del profilo e quindi non

viene accorciato se interferisce con tratti successivi di profilo.
Esempio con QF errato:

....
T2 M6 (RAGGIO=10)
G0 X0 Y0
G41 X25 Y0 QF0 (QF errata)
G1 X50 Y35

...

Il QF deve essere programmato esatto perché se è errato (in fig. è 0 anziché 54.46) l'utensile può entrare nel profilo.

Questi problemi possono essere superati con gli altri due modi seguenti di attacco al profilo.

G41/G42 - programmate X... Y... - attacco rettilineo

Sono programmate solo le quote del punto iniziale del profilo.

Il movimento iniziale di raccordo è un segmento di retta, che viene trattato a tutti gli effetti come un elemento del profilo e quindi può venire accorciato se interferisce con altri tratti del profilo.

....
T2 M6 (RAGGIO=10)
G0 X0 Y0
G41 X25 Y0
G1 X50 Y35

...

È aggiunto un tratto fittizio di profilo xx che porta l'utensile al punto iniziale del profilo P1:l'utensile non entra nel profilo reale ma si arresta sulla bisettrice dello spigolo P1.

G41/G42 - programmato QF... - attacco rettilineo

È programmata solo la pendenza iniziale: come si vede nell'esempio, può essere calcolata in modo molto grossolano senza errori sul profilo reale.

Non viene generato movimento di assi.

......

T1 M6 (RAGGIO 10)

G0 X0 Y0

G41 QF0

G1 X25 Y0

G1 X50 Y35

...



Non si ha movimento nel blocco G41 QF. Se QF è errato (come in figura, 0 anziché circa 20 gradi) l'errore si ha solo nel tratto in G1 che porta l'utensile al primo punto reale del profilo P1, ma l'utensile essendo ancora fuori non si hanno errori sul pezzo.

G41 /G42 - senza quote

Si può programmare per esempio una sequenza di questo tipo:

...
N20 G41 (senza nessuna quota)
N21 G1 X10 Y4 (G1 può essere omesso, sono obbligatorie entrambe le quote)
N22 ...

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

Con questo tipo di attacco si può programmare un profilo chiuso (in cui l'ultimo tratto si richiude sul punto N21 dell'esempio) senza lasciare il piccolo "dente" di materiale che viene specificando le quote del primo punto nella stessa riga che contiene G41.

Distacco dal profilo
Situazione analoga all'attacco al profilo è quella del distacco dal profilo: anche in questo caso il CN deve cambiare il significato assegnato alle quote programmate, ma in senso contrario, ossia deve passare dall'interpretazione delle quote come quote del profilo a quote del centro fresa.

La funzione 'G' da usare è la G40.

Come per l'attacco al profilo (par. 1.1) anche nel primo blocco di movimento dopo G40 si deve programmare il tipo di movimento (G0, G1, G2 o G3).

G40 X... Y...

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.

G40 senza quote

Se non si programmano le quote finali del raccordo viene cessata la correzione raggio direttamente nel punto finale del profilo programmato: il blocco successivo avrà le coordinate del centro fresa come punto di partenza.

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.

Gestione della velocità
La FEED programmata è in generale la velocità con la quale il programmatore vuole che il profilo sia contornato dall'utensile. Normalmente il CN mantiene (compatibilmente con i limiti dinamici delle accelerazioni consentite) costante e pari alla F programmata la velocità del centro fresa.

In correzione raggio, normalmente il programmatore desidera mantenere costante la velocità di contornatura del profilo, che è quella della periferia della fresa, piuttosto che del centro.

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.

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. Ciò per evitare problemi nel caso di lavorazioni in sgrossatura in cui è possibile anche la fresatura dal pieno.

Raggio zero o negativo
È consentito che il raggio utensile sia zero o negativo: nel caso di raggio zero si avrà l'esecuzione del profilo programmato, mentre con raggio negativo si ha l'equivalente di uno scambio tra G41 e G42.

Il raggio negativo può avere un senso nel caso che il profilo sia stato calcolato (per esempio da un sistema di programmazione automatica) già per il raggio fresa tipico, e che la correzione raggio sia fatta dall'operatore alla macchina per correggere l'eventuale usura o differenza dell'utensile impiegato.

Si faccia ATTENZIONE che in questo caso, essendo il raggio comunicato allo Z32 fittizio e non reale, si perde l'adattamento della velocità del centro fresa e la costanza della velocità di traslazione periferica: nei blocchi dove questo adattamento occorre, dovrà essere riprogrammata la FEED.

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.

Blocco singolo
L’attivazione del blocco singolo provoca l’arresto della macchina e l’esecuzione di un blocco alla volta (blocco inteso come operazione elementare ; in una riga ci possono essere più blocchi elementari) premendo il pulsante di START.

Il funzionamento è il seguente:
- quando viene attivato il blocco singolo il CN tenta di arrestare gli assi esattamente alla fine del movimento in corso
- se il blocco singolo viene attivato a ridosso della fine del movimento ciò non è possibile perché gli assi devono frenare in traiettoria con le accelerazioni di taratura. In questo caso il movimento prosegue nel blocco successivo fino all'arresto degli assi che può quindi avvenire in un punto intermedio e non esattamente a fine blocco. Se il profilo è composto di molti tratti corti l'arresto può avvenire anche molti blocchi dopo
- partendo da assi fermi con blocco singolo attivo, una sola pressione del pulsante START avvia il movimento

Esecuzione di profili chiusi in correzione raggio
Prendiamo come esempio di profilo chiuso in correzione raggio il seguente programma:

...

N10 G0 X-40 Y0

N11 G41 X-20 Y0 QF0

N12 G1 X0 Y0

N13 G2 X0 Y-40 I0 J-20

N14 G2 X0 Y0 I0 J-20

N15 G1 X20 Y0

...

il cerchio completo programmato con due semicerchi in N13 N14 può essere eseguito o non eseguito in dipendenza dalle approssimazioni di calcolo (dipende dal raggio, dalle quote programmate ...).

Il modo certo di eseguire il cerchio è di aggiungere nella riga N14 una "G109X" per forzare il passaggio da quel punto, ma questo accorgimento, non usuale per altri CN, può con facilità sfuggire al programmatore.

Nello Z32 esiste il riconoscimento di un profilo chiuso programmato. Se il profilo è chiuso (cosa che si riconosce perché i punti finali di due blocchi coincidono) è comunque eseguito.

Si ritiene infatti che il CN possa "interpretare" in questo senso la volontà del programmatore.

Nel caso in questione la coincidenza dei punti finali di N12 ed N14 fa riconoscere il profilo chiuso e quindi forza l'esecuzione del cerchio.

Per evitare incertezze dovute alle approssimazioni di calcolo i due punti sono considerati coincidenti se le loro quote coincidono a meno di 0,002 unità programmate.

L'eventuale movimento del terzo asse non è considerato, ossia un profilo è considerato chiuso anche se nel frattempo il terzo asse si è mosso.

INTERPOLAZIONE LINEARE SU 5 ASSI

È frequente la necessità di programmare profili complessi, nel piano o nello spazio, che non sono riconducibili semplicemente a tratti lineari o circolari (nel piano) oppure a tratti lineari o ad elica (nello spazio). In questo caso il metodo correntemente usato è di programmare una sequenza di tratti lineari molto corti che approssima la curva o la superficie da ottenere. La precisione dell'approssimazione è tanto migliore quanto più i tratti sono corti.

I programmi-pezzo da inserire nel CN con questo metodo sono in genere molto lunghi: normalmente i punti finali dei segmenti che compongono il profilo sono ottenuti da un calcolatore esterno e trasmessi direttamente al controllo numerico (ossia senza la scrittura manuale dell'operatore).

Con l'uso di movimenti in G1 (eventualmente con G12) l'esecuzione di un programma-pezzo così formato è possibile (fino a tre assi contemporanei) ma scarsamente efficiente, per le seguenti ragioni:

- eccessivo tempo di elaborazione del singolo tratto in G1, e quindi bassa velocità di esecuzione

- interpretazione dei singoli tratti lineari come profilo reale, e quindi esecuzione il più possibile precisa degli spigoli programmati (che invece sono frutto dell'approssimazione in tratti di retta)

- nel caso di tre assi contemporanei, limitazioni alla massima pendenza del terzo asse se è attiva G12, posizionamento e quindi arresto a fine di ogni tratto se non attiva G12.

L'interpolazione in G98 permette di migliorare il comportamento dello Z32 in tutti questi aspetti, ed in più permette l'interpolazione lineare di 5 assi contemporanei.

La G98 predispone lo Z32 a ricevere una sequenza di tratti lineari da eseguire in lavoro.

G98 è modale con arresto.

Gli assi programmati devono essere vivi. Se si tenta di programmare un asse non vivo in G98 viene allarme CN 3A14 ASSE NON VIVO.

Divieto La G98 è disattivata da G99.

Con G98 attiva sono vietati:
- la programmazione di G (escluse G99 e G26)
- la programmazione di: origini, L, M, MA, MB, MC, S, T
- la correzione raggio
- la programmazione di formule permanenti <<...>>

Queste limitazioni sono state introdotte per ottimizzare la velocità di esecuzione nel modo di più frequente utilizzo.

Con G98 attiva sono invece consentiti:
- la programmazione di F
- l'esecuzione di righe evolute
- l'esecuzione di formule permanenti <<...>>
- il salto a sottoprogrammi permanenti

Si noti che le formule (<<...>>) e i sottoprogrammi permanenti (G27P...) non possono essere attivate con G98 attiva ma se sono attivati in precedenza rimangono attivi e sono eseguiti anche durante G98.

La G98 Non sospende l'efficacia di G0, G1, G2, G3, ossia le quote programmate dopo G98 sono sempre interpretate come quote finali di tratto lineare come in G1. G99 ripristina la situazione precedente alla G98.

La G98 sospende inoltre l'efficacia di:
- rototraslazione
- specularità
- fattore di scala

Con G98 attiva, è consentito programmare in una riga ISO gli indirizzi I, J, QF, RA. Contrariamente a quanto accade senza G98 attiva però I, J, QF, RA non assumono speciali significati di elementi di profilo, e valgono solo come parametri. Con G98 attiva perciò è equivalente programmare per esempio I30 in riga ISO oppure !I=30! in riga evoluta.

Da quanto sopra, si vede che, con G98 attiva si sono eliminate una quantità di operazioni che erano a carico dello Z32, e che si presume siano fatte dal calcolatore che determina i punti del profilo (correzione raggio, elaborazioni sulle quote programmate, calcoli geometrici). La possibilità di esecuzione di righe evolute e quindi di calcoli matematici permette, a scelta dell'operatore e per quanto necessario, di ripristinare parte delle funzioni eliminate.

Errore di inseguimento
Questo paragrafo è dedicato al programmatore esperto che voglia approfondire l'effetto della G98 sugli errori di lavorazione.

In un sistema a controllo numerico, le traiettorie da eseguire sono calcolate a intervalli di tempo fissi dall'interpolatore, per ogni punto calcolato sono controllate le posizioni effettive degli assi ed è inviato agli stessi un comando di velocità che recuperi eventuali errori e faccia mantenere la traiettoria calcolata.

Esistono due grandi classi di sistemi di controllo numerico:
A) Sistemi con errore proporzionale. In questi sistemi il comando di velocità inviato agli assi della macchina utensile è proporzionale all'errore di inseguimento, che risulta perciò NECESSARIO al movimento degli assi. Gli assi rimangono indietro rispetto alla posizione calcolata dall'interpolatore di una quantità che dipende dalla velocità, dalla prontezza della macchina ecc.
B) Sistemi con correzione di errore. In questi sistemi il comando di velocità è corretto, in modo tale da annullare l'errore di inseguimento teorico se la velocità resta costante sulla traiettoria. La posizione del punto calcolato e la posizione fisica degli assi coincidono, salvo gli errori di taratura e le perturbazioni al regolare moto degli assi.

Entrambi i sistemi hanno pregi e difetti. Il sistema A, che è più semplice da un punto di vista calcolo ed era perciò il solo usato agli inizi del controllo numerico, ha un movimento più 'morbido’ ma errori di traiettoria più grandi rispetto al sistema B.

Lo Z32 adotta, nei normali movimenti in G1 G2 G3, il sistema di tipo B, per ottenere la migliore precisione sul profilo. L'errore di inseguimento è quindi compensato ed è teoricamente zero, salvo al solito errori di taratura e perturbazioni esterne.

Nel caso di traiettorie approssimate con spezzate, ossia tratti di retta di piccola lunghezza, i sistemi di tipo B sono sfavoriti per molte ragioni, principalmente il maggior volume di calcoli da eseguire, la pretesa di riproduzione esatta degli spigoli programmati (che non sono propri del profilo ma sono introdotti dall'approssimazione a spezzata), la difficoltà nel calcolo della distanza di frenatura ( lo spazio di frenata può includere molti tratti prima del punto finale).

Con G98 attiva, per ottimizzare il risultato, lo Z32 passa in errore proporzionale (ossia sistema tipo A).

L'errore di inseguimento che risulta è dato dalla formula:

e = v / kv

dove e = errore in mm., v = velocità dell'asse in mm./sec., kv = guadagno dell'asse in 1/sec.

Come esempio pratico, se F=1000 mm/min, kv=20/sec, si ha un errore di inseguimento di: e = 1000/60/20 = 0,833 mm.

Questo errore di inseguimento non è uguale all'errore di esecuzione del profilo in quanto l'errore di inseguimento è tipicamente parallelo al profilo. In particolare: 1) se il profilo è rettilineo e parallelo agli assi non si ha errore di profilo

2) se il profilo è rettilineo e inclinato si ha un errore sul profilo solo se i kv degli assi interessati non sono uguali. L'errore massimo, se le differenze tra i kv sono modeste è per traiettorie piane con inclinazione di 45 gradi e vale:

eb = e * d / 2

Dove e è l'errore di traiettoria prima definito, d è l'errore percentuale tra i kv dei due assi interessati al movimento. Per esempio, se F=1000 mm/min, kv1=20/sec, kv2=22/sec, si ha: e=0,833 mm d=10%=0,1 eb=41,7 micron

3) se il profilo è curvilineo all'errore precedente si somma un altro errore dovuto al fatto che gli assi restano sempre all'interno della curva senza mai raggiungerla. È dato da: ec = e * e / (4 * r)
Dove e è l'errore in traiettoria prima definito, r è il raggio di curvatura. Per esempio se
r=50 mm, F=1000 mm/min, kv=20 si ha:
e= 0.833 mm ec= 3 micron

Si noti come questi errori non sono presenti nel modo normale dello Z32, in quanto sono compensati in anticipo dal controllore degli assi.

Poiché le tarature standard tengono conto degli errori assai ridotti che si hanno nel modo normale, può verificarsi, in G98 a F elevate, l'errore di inseguimento:

CN0013

Si consiglia perciò di controllare (per esempio facendo eseguire alla macchina lunghi tratti in G98 paralleli agli assi) se, alle massime velocità di lavoro alla quale si intende usare la G98 nasce l'errore CN0013, ed eventualmente allargare le soglie di errore (operazione riservata al costruttore della macchina utensile).

Allargamento della soglia di errore in G98
Con la G113P si può avere errore proporzionale anche con movimenti rapidi della macchina.

Questo aumenta molto l'errore di inseguimento. Per esempio, se il rapido è a 30 m/min (=500 mm/sec) e Kv=30 l'errore di inseguimento durante il movimento diventa di 500/30=16.7 mm.

Poichè con tarature normali l'errore ammesso durante il movimento è basso (tra 2 e 4 mm) in questa condizione si avrebbe un superamento della soglia e quindi un allarme CN0013.

C’è un automatismo che, quando è attiva G98 oppure G113P, aumenta di 8 volte l'errore ammesso durante il movimento.

Errori CN Dx13. Controllo più stretto dei movimenti assi
Gli errori relativi al movimento assi sono:
- CN 0013: errore durante il movimento
- CN 0113: errore durante il posizionamento

Con l'aumento dei rapidi assi e con l'uso sempre più frequente dei moti morbidi (G98 o G113P) è stato necessario aumentare anche la soglia dell'errore CN 0013 a valori eccessivamente elevati.

È stato creato un controllo molto più stretto dei movimenti assi, e della loro effettiva rispondenza al comando di velocità. Il controllo è attivo in tutti i modi di funzionamento della macchina e su tutti gli assi, inclusi gli assi indexati o comandati da logica.

In pratica per ogni asse viene integrato per un certo tempo (un ciclo di integrazione dura 384 millisecondi) il riferimento di velocità e viene calcolato lo spostamento teorico corrispondente.

Lo spostamento calcolato viene confrontato con quello rilevato e quindi viene calcolato l'errore.

La tolleranza ammessa sull'errore è calcolata con una somma di componenti, che sono: 1/16 della velocità attuale, più 1/256 del rapido, più una velocità in mm/minuto pari all'errore di posizionamento moltiplicato per 5000. Per esempio, se un asse si sta muovendo alla velocità di 4000 mm/min, il rapido asse è 20 m/min e l'errore di posizionamento è 0,015, l'errore di velocità ammesso è di 4000/16 + 20000/256 + 0,015*5000 = 250 + 78,1 + 75 = 403,1 mm/min. In 0,384 secondi quindi l'errore massimo accumulato dall'asse può essere di 2.58 mm. Se è maggiore, scatta l'allarme.

Una volta determinato che l'asse ha un comportamento errato, viene segnalato l'errore alla logica di macchina e, nel caso che l'asse in errore sia un asse vivo controllato da part-program, viene l'allarme CN Dx13, dove x è il numero logico dell'asse in errore.

Questo tipo di controllo è efficiente anche nel caso che il rilevatore di quote di un asse si blocchi in una condizione tale che le schede non siano in grado di rilevarlo e quindi non venga errore CN xx12.

Proprio per l'efficienza del controllo, che potrebbe risultare incompatibile su macchine con assi eccessivamente imprecisi, è stato previsto di poterlo disattivare con un'apposita taratura.

Gestione dell'accelerazione seconda
Diamo una descrizione della gestione delle accelerazioni durante i movimenti di Z32.

La limitazione dell'accelerazione seconda è efficace in tutte le situazioni, inclusi i cambiamenti di velocità durante la lavorazione nel caso di tratti programmati molto corti.

L'effetto di questa gestione è un comportamento più morbido degli assi e una minore ripercussione sulla finitura del pezzo dei cambiamenti di velocità dovuti per esempio a rallentamenti in prossimità di spigoli o curve a raggio stretto.

Una conseguenza di questa gestione è che l'effetto del parametro n di taratura ("n" individuale per ogni asse e "ntar" globale per tutti gli assi) è più forte, soprattutto con n elevati (4 o più): il posizionamento finale in questi casi è più morbido, ma anche più lento. Può essere consigliabile, data la migliore gestione dell'accelerazione seconda legata ad n, non usare valori elevati di n in taratura.

G99 e velocità massima
Essendo gli assi in ritardo rispetto all'interpolatore, nei sistemi tipo A (errore proporzionale) è possibile arrestare bruscamente l'interpolatore senza che si abbia il sorpasso della quota finale programmata.

Ciò semplifica molto la gestione della velocità, soprattutto quando il profilo è composto di tratti molto corti, in quanto non è necessario esplorare in avanti anche per molti tratti per accorgersi in tempo che si deve rallentare: basta semplicemente arrestare l'interpolatore e gli assi si portano alla quota finale.

Questa caratteristica è appunto usata dallo Z32: per terminare l'interpolazione in G98, basta programmare G99 (anche senza quote).

Quanto sopra detto, ossia che non si ha il sorpasso della quota finale programmata, è vero per velocità inferiori a: vmax = 120 * a / kv dove vmax è in mm/min, a è in mm/(sec*sec) kv in 1/sec.

Accelerazioni tipiche delle macchine utensili sono da 500 a 2000 mm/sec*sec, i kv relativi da 15 a 25 /sec. Si hanno perciò velocità massime consentite da 4000 a 9600 mm/min, che possono essere considerate soddisfacenti per movimenti di lavoro.

Considerazioni pratiche
Dalle considerazioni teoriche sopra esposte si possono dedurre alcune linee di guida per l'applicazione della G98, che sono:
- usare sempre la G98 nel caso che il profilo debba essere approssimato con tratti lineari

- controllare con tratti rettilinei paralleli agli assi la massima velocità di lavoro (F) alla quale compare l'errore CN0013 e NON programmare in G98 Feed superiori. Se si vogliono F superiori, consultare il costruttore della macchina utensile per un eventuale allargamento delle soglie di errore.

- cercare di approssimare il profilo con tratti non eccessivamente corti, per non limitare eccessivamente la velocità di esecuzione.
- tenere conto di una ulteriore riduzione di velocità nel caso che siano inserite righe evolute o calcoli di espressioni.

- anche con tratti lunghi, non tenere F superiori a 2000-3000 mm/min, per non avere sorpasso della quota finale programmata a fine profilo (G99): in caso di necessità, programmare una Feed ridotta per un tratto di almeno 5-10 mm prima della G99.

- tenere conto dei maggiori errori di esecuzione che si hanno con G98 rispetto al modo normale. Gli errori possono essere di qualche centesimo di mm in condizioni normali di lavoro: in caso di necessità, si tenga conto che un abbassamento della velocità riduce in proporzione questo tipo di errori.

Esempi
Come esempio di uso della G98, si danno due programmi per la esecuzione di ellissi, senza e con correzione raggio.

Le equazioni parametriche dell'ellisse sono:

X = HA * cos HTY = HB * sen HT

dove HA e HB sono i semiasse in direzione X e Y rispettivamente, e HT è il parametro angolare che, incrementato da 0 a 360 gradi, fa percorrere l'ellisse al punto calcolato.

Le equazioni parametriche dell'ellisse con correzione raggio sono:

HC = HA * sen HT

HD = HB * cos HT

X = HA * cos HT + R * HD / rquad (HC2 + HD2)

Y = HB * sen HT + R * HC / rquad (HC2 + HD2)

dove HA e HB sono i semiassi, HT è il parametro angolare variabile da 0 a 360, R è il raggio dell'utensile, HC e HD sono due parametri intermedi usati per abbreviare i calcoli.

ELLISSE SENZA CORREZIONE RAGGIO%
N1 T1 M6
N2 F400 S1500 M3 parametri di lavoro
N3 OX1 OY1 OZ1 origini di lavoro
N4 HA60 HB120 HF1 HT<HF> semiassi, incremento, angolo iniziale
N5 G0 X<HA> Y0 Z0 posiziona su un vertice dell'ellisse
N6 G1 Z-10 discesa in lavoro
N7 G98 può essere programmato da solo
N8 HT<HT+HF> X<HA*CSHT> Y<HB*SNHT> prossimo punto
N9 !IF HT<360;GON8! ripete
N10 G99 X<X> non è obbligatoria una quota con G99
N11 Z0 il moto è in G1, attiva prima di G98
N12 M2

ELLISSE CON CORREZIONE RAGGIO %
N1 T1 M6 nella descrizione utensile è compreso R
N2 F400 S1500 M3
N3 OX1 OY1 OZ1
N4 HA60 HB120 HF1 HT<-HF>
N5 G0 X<HA+R> Y0 Z0 vertice corretto col raggio
N6 G1 Z-10
N7 G98
N8 HT<HT+HF> HC<HA*SNHT> HD<HB*CSHT>
N8,2 HE<R/RQ(HC*HC+HD*HD)>
N8,5 X<HA*CSHT+HD*HE>Y<HB*SNHT+HC*HE> punto ellisse
N9 !IF HT<360;GON8! ripete
N10 G99 X<X>
N11 Z0 M2

Il programmatore noti come le istruzioni da N7 a N10, completamente parametrizzate, possono essere usate per l'esecuzione di qualsiasi ellisse.

Se il raggio dell'utensile R è positivo si ha una correzione all'esterno dell'ellisse, se R è negativo la correzione si ha all'interno: in quest'ultimo caso, il programmatore si accerti che il R non sia più grande del raggio di curvatura minimo dell'ellisse (ossia che l'utensile sia abbastanza piccolo per contornare tutta l'ellisse dall'interno), in caso contrario, con questo semplice programma, l'utensile 'entra’ nel profilo.

Se si vuole una ellisse nello spazio, e disposta su un piano inclinato intorno all'asse Y, basta inserire, nel blocco di movimento che calcola anche i punti dell'ellisse, anche il calcolo del punto in Z, per esempio:

X<...> Y<...> Z<HG * X>

dove HG è l'inclinazione.

TASTATORE DI MISURA - G61
Lo Z32 contiene un completo ciclo di misura che, grazie alla gestione delle dimensioni fisiche del tastatore, risulta di estrema semplicità di uso e di messa a punto.

Perché sia possibile effettuare il ciclo di misura occorre che la macchina sia predisposta dal costruttore con le opportune tarature.

Il blocco con movimento di misura è costituito da:

G61 AA... AB... AC... DM...

G61 è la funzione preparatoria che imposta la misura (vale solo nel blocco).

AA, AB, AC sono le quote finali massime del movimento di ricerca (come al solito, possono essere usati i nomi assi, p. es. X, Y, Z, che devono essere i tre assi della terna di lavoro (scelta con G25...). Possono essere programmate 1, 2 o 3 quote finali, sempre scelte fra le tre della terna.

DM è la distanza, misurata sulla traiettoria, dal punto finale entro la quale si prevede di trovare il contatto. Se DM non è programmata nel blocco è usato dal CN il valore attuale del parametro DM (=0 se mai programmato).

Il ciclo eseguito è:

1) accostamento in rapido (A-B in figura): se in questo tratto è trovato il contatto la misura è presa lo stesso, ma con possibile pericolo per il tastatore dovuto all'alto spazio di frenata

2) ricerca a velocità media fino al massimo (punto C)

3) a contatto avvenuto, inversione del senso di moto con accelerazione doppia della taratura e ritorno indietro sulla traiettoria programmata fino alla perdita del contatto. Durante l'inversione di moto ad accelerazione doppia è temporaneamente sospeso l'allarme per errore di inseguimento.
4) ricerca in avanti a velocità lentissima
5) presa delle quote precise al momento del contatto e restituzione in forma di parametri

Se al punto 3 il contatto resta ancora attivato quando gli assi sono tornati al punto iniziale (A in figura) il CN dà allarme CN0513. I parametri restituiti dopo un ciclo di misura sono:

AM quota di contatto del primo asse della terna (definita con G25...)

BM quota di contatto secondo asse

CM quota di contatto terzo asse.

I parametri AM BM CM sono calcolati a partire dalle quote misurate al momento del contatto riferite all'origine attiva e tenendo conto delle dimensioni fisiche del tastatore.

Se nelle fasi 2 o 4 non è trovato il contatto entro la traiettoria massima programmata, il CN non dà errore, ma restituisce tre parametri AM, BM, CM molto grandi (più di 100.000): ciò permette al programmatore di prendere delle decisioni e deviare il programma in caso di mancato contatto. Nota bene: in caso di non contatto, tutti e tre i parametri sono restituiti molto grandi, indipendentemente dal numero di assi interessati al movimento di misura.

I parametri usati per correggere le quote con le dimensioni fisiche del tastatore sono:
- lunghezza L
- raggi AP, AN, BP, BN

Nella figura è rappresentato il tastatore equivalente, composto di quattro archi di ellisse.

Il CN calcola da solo quale parametro usare e con quale coefficiente di direzione in funzione
dell'inclinazione del tratto programmato.

I parametri :

L , AN , AP , BN , BP

rappresentativi delle dimensioni fisiche del tastatore devono essere già presenti in memoria quando si esegue la misura: essi possono essere messi nella descrizione dell'utensile tastatore e devono essere in precedenza calcolati o meglio misurati in modo automatico con apposita macro di calibrazione.

Nella figura che segue è rappresentato il diagramma di velocità in funzione del tempo, per un movimento di misura completo. La velocità è calcolata sulla traiettoria, come in G0/G1.

Si tenga presente che, se lo spazio di frenata da rapido a lento è superiore alla distanza AB, tutta la ricerca (incluso il tratto programmato come rapido) viene eseguita alla velocità di ricerca lenta.

In generale il tratto di decelerazione da rapido a lento può essere eseguito tutto o in parte a velocità lenta se il rapido non era stato completamente raggiunto.

In ricerca blocco G61 è ignorato: il blocco si trasforma in blocco di movimento fino alle quote finali. I parametri AM BM CM non sono modificati.

Se si desidera che il programma possa essere ripreso senza problemi anche in ricerca blocco, dovrà essere cura del programmatore salvare in memoria permanente (per esempio nella sezione parametri) i risultati delle varie misure per poterle poi simulare in ricerca blocco.

Ciclo di misura G61 con un solo contatto
La procedura a doppio contatto permette di avere ottime precisioni ma richiede una maggiore perdita di tempo, per questo motivo si è resa disponibile un modalità di G61 con contatto singolo.
Il ciclo operativo è composto da:
1 – movimento di accostamento in rapido
2 – rallentamento alla velocità di ricerca
3 – presa delle quote al momento del contatto e restituzione in forma di parametri
Questa modalità si attiva programmando il parametro "J" nella riga di G61:

G61 Z-100 DM20 J100

Il parametro J definisce la velocità di ricerca, espressa in mm/min o pollici/min, quindi nell'esempio richiede una velocità di 100 mm/min (se la macchina è in mm). Il campo di valori ammessi per il parametro J è compreso tra un minimo di circa 0,23 mm/min e un massimo di 6000 mm/min.

Il valore massimo di 6000 mm/min è fisso ed indipendente dai valori di velocità di ricerca definiti in taratura.

Valori esterni a questo campo ammesso sono forzati ai limiti più vicini, in particolare valori negativi sono forzati a 0,23 mm/min.

Durante il movimento di misura gli assi della macchina devono fermarsi immediatamente quando si incontra il segnale del tastatore, si hanno quindi brusche accelerazioni che possono non essere compatibili con la dinamica degli assi macchina, in particolare quando il controllo degli assi è rigido (G113X).

Poiché quando è programmato J i valori ammessi per il movimento di misura sono molto alti (fino a 6000 mm/min) è necessario forzare la G113P, si ha quindi la seguente tabella di funzionamento:

Modo attivo prima della G61 Modo durante G61 normale (senza J)
Modo durante G61 con J
programmato
G113P G113P G113P
G113F G113F G113P
G113X G113P G113P

ATTENZIONE

le velocità massime di ricerca consentite durante la G61 con programmazione di J sono molto alte (fino a 6000 mm/min). L'utente deve controllare che gli spazi di frenata conseguenti alla velocità programmata siano compatibili con l'extra-corsa consentito dal tastatore di misura utilizzato.

Si faccia attenzione al fatto che il bit di misura viene controllato da Z32 ogni 2 millisec, quindi si ha un'incertezza nella misura che dipende dalla velocità di ricerca, come riportato nella tabella seguente:

velocità ricerca mm/min incertezza di misura micron

30 1

100 3,3

200 6,7

300 10

Si deve anche tener conto del fatto che a velocità elevate possono essere rilevanti i ritardi dovuti alla risposta meccanica del tastatore, che ovviamente non sono stati considerati nella tabella qui sopra.

G61 KA1 ciclo di misura su piani rototraslati
Con G116 attiva, programmando G61 KA1 nei parametri AM, BM, CM, vengono restituite le quote misurate degli assi XYZ, espresse nel sistema di coordinate rototraslato da G116 (la G61 senza KA1 le restituisce nel sistema di coordinate dritto). Se G116 non è attiva la G61 KA1 si comporta esattamente come la G61.

Per attivare G61 KA1 basta programmare il parametro KA1 in una posizione qualsiasi sulla riga di attivazione di G61.

Esempi:

G61 X0 Y0 Z18 KA1 DM2

G61 KA1 X10 Y5 Z25 DM2

Nei paragrafi che seguono si danno alcuni esempi di applicazione.

Macro per la calibrazione del tastatore
Scopo: determinare i cinque parametri correttivi L, AN, AP, BN, BP e scriverli nella descrizione dell'utensile tastatore che è sul mandrino.

Sulla macchina è montato un riferimento, con centro nella origine attiva, che può essere una sfera di raggio HR o meglio un cubo di lato 2*HR.

Parametri di entrata:
HR raggio sfera
R raggio presunto del tasto
L lunghezza presunta del tastatore

Tolleranze: si ammette che gli errori siano contenuti entro +- 1mm max e che non ci sia bisogno di ulteriori approssimazioni.

PROGRAMMA %

AN0 AP0 BN0 BP0 (PREDISPONE CORREZIONI ZERO)

G0 AC<HR+1> (POSIZIONA PER MISURA TERZO ASSE)

AA0 AB0 (MISURA L)

G61 AC<HR-1> DM2

!IF AM>99000;GON9! (SE NON TROVATO CONTATTO ALLARME)

L<L+CM-HR> (CALCOLA ED ATTIVA NUOVA L)

(MISURA AN)

G0 AA<HR+R+1> (ESCE)

AC<-R> (SCENDE)

G61 AA<HR+R-1> (TOCCA)

!IF AM>99000; GON9! AN=AM-HR!

(misura AP)

G0 AC<HR+1>

AA<-HR-R-1>

AC<-R>

G61 AA<-HR-R+1>

!IF AM>99000; GON9! AP=-AM+HR!

(misura BN)

G0 AC<HR+1>

AA0 AB<HR+R+1>

AC<-R>

G61 AB<HR+R-1>

!IF AM>99000; GON9! BN=BM-HR!

(MISURA BP)

G0 AC<HR+1>

AB<-HR-R-1>

AC<-R>

G61 AB<-HR-R+1>

!IF AM>99000; GON9! BP=-BM+HR!

(ESCE IN AC)

AC<HR+1>

(SCRIVE NUOVI CORRETTORI UTENSILE SU MANDRINO)

!:WSL=L,AN=AN,BN=BN,AP=AP,BP=BP!

G26 (FINE)

(RIGA ERRORE)

N9 MANCA CONTATTO

Si noti come sono stati scelti i segni nel calcolo di AN, AP, BN, BP in funzione del fatto che questi quattro parametri sono positivi e circa uguali, con tasto ben centrato, al raggio tasto.

Macro per azzeramento origini XY a centro foro
Scopo: azzerare le origini correnti al centro di un foro.

Parametri in entrata:
HR raggio foro
HT tolleranza
HA quota Z di misura
HC uscita lunga in Z
AP, AN, BP, BN, L correttori tasto

Parametri in uscita:
DI, DJ spostamento centro foro
OX* e OY* aggiustate a centro foro

PROGRAMMA
%
G0 X0 Y0 (MUOVE X E Y E SCENDE A QUOTA MISURA)
Z<HA>
G61 X<HR-AP+HT> DM<2*HT> (TASTA IN X)
!IF AM>99000; GON9! DI=AM!
G0 X0 (STACCA IL TASTO)
G61 X<-HR+AN-HT>
!IF AM>99000; GON9! DI=(DI+AM)/2!
G0 X (TASTA IN Y)
G61 Y<HR-BP+HT>
!IF AM>99000; GON9! DJ=BM!
G0 Y0
G61 Y<-HR+BN-HT>
!IF AM>99000; GON9! DJ=(DJ+BM)/2!
!:ROX*=AM;AM=AM+DI;:WOX*=AM! (CORREGGE ORIGINE)
!:ROY*=BM;BM=BM+DJ;:WOY*=BM!
G0 X0 Y0 (ESCE)
Z<HC>
G26
(SEGNALE ERRORE)
N9 MANCA CONTATTO

Notare l'indirizzamento indiretto dell'origine in corso col carattere '*'.

Notare anche i due tratti in rapido tra le due misure in X e le due misure in Y. Il tastatore infatti è in contatto col pezzo dopo una G61: se si ripete immediatamente un'altra G61 senza staccare il tasto si può avere un errore CN0513

Ricerca blocco con movimenti di misura
In questo esempio si suggerisce il modo per eseguire con sicurezza la ricerca blocco quando nel programma sono contenuti movimenti di misura.

Il programma memorizza in una sezione parametri locale i risultati delle varie misure fatte, in modo da poterli poi utilizzare in ricerca blocco per ricreare le stesse condizioni esistenti durante lo svolgimento effettivo del programma.

ESEMPIO DI PROGRAMMA %
G37PL parametri locali
... misura per determinare AM e BM
//N9 !:RPM1=AM, M2=BM! solo in ricerca blocco legge i risultati memorizzati
N10 G61... i parametri che interessano sono AM e BM: in ricerca
blocco non sono modificati
N11 !:WPM1=AM, M2=BM! memorizza il risultato per una ricerca blocco successiva
... misura per determinare CM
//N30 !:RPM3=CM!
N31 G61 ...

N32 !:WPM3=CM!
N33 ...
... misura per determinare AM BM CM
//N63 !:RPM4=AM, M5=BM, M6=CM!

N64 G61 ...

N65 !:WPM4=AM, M5=BM, M6=CM!

...
M2
:PA
M1=0
M2=0
M3=0
M4=0
M5=0
M6=0
...

Dopo l'esecuzione reale (non in ricerca blocco) del programma al posto di M1, M2, M3, M4, M5, M6, inizialmente posti = 0, saranno scritti dallo Z32 i risultati delle varie misure effettuate.

MOTO CON STOP DA LOGICA G62
L'uso di G62 è destinato al costruttore della macchina utensile, per i suoi cicli fissi o sottoprogrammi di sistema, in quanto richiede una stretta interfaccia con la logica programmabile.
Può essere eventualmente usata dall'utente finale solo in base alle specifiche istruzioni date dal costruttore.

G62 è attiva solo nel blocco e richiede l'arresto all'inizio e alla fine del movimento (ossia il movimento non deve appartenere a una contornatura aperta o con correzione raggio o G33).

Questa G permette di interrompere con un segnale di logica (bit 0EC) il movimento programmato.

I movimenti programmati successivamente ripartono dal punto di interruzione anziché dalla fine programmata del movimento interrotto. Alla fine del movimento sono restituiti (come per i movimenti di misura G61) i tre parametri AM BM e CM con questa codifica:

(AM=BM=CM) = 0 se il movimento è stato interrotto

(AM=BM=CM)>100.000 se il movimento è stato completato

Scopo di questa G è di permettere programmi che in qualche modo si adattino ad eventi che si rivelano durante il movimento.

Per esempio, si immagini che, durante un movimento di lavoro (foratura, fresatura ecc.) si abbia a disposizione un dispositivo che riveli la rottura o usura eccessiva dell'utensile. Con la G62 si può organizzare un sistema che permette l'immediata interruzione del lavoro e la sua eventuale ripresa dopo il cambio dell'utensile. Il sistema è composto da:

A) Dispositivo di misura (montato sulla macchina) che rivela le condizioni di arresto (rottura o usura utensile)

B) Gestione nella logica di macchina (fatta dal costruttore) del segnale di arresto ed elaborazione del bit di logica 0EC.

C) Programma-pezzo (meglio se ciclo fisso) contenente la G62 in tutti i blocchi di movimento che devono essere controllati, con istruzioni per la gestione dei parametri di ritorno (AM, BM, CM)

Esempio di programma-pezzo:

.....
N10 T45 M6 (FRESA)
N20 G0 X0 Y0 Z0 F400 M3 M7
N30 G1 Z-30 (MOVIMENTO NON CONTROLLATO)
N40 G62 X100 (MOTO IN G1 CON CONTROLLO UTENSILE)
N50 !IF AM>99000; EB! GON100!

N60 ... (CONTINUA LA LAVORAZIONE)
...
N100 ... (GESTIONE DELL'UTENSILE USURATO)
...

Al momento dell'eventuale interruzione, lo Z32 acquisisce le quote intermedie come quote iniziali del movimento successivo: queste quote possono essere leggermente diverse dalle quote programmate per i fuori zero degli assi. Per esempio:

...
N10 G0 X0 Y0 Z0
N20 G62 G1 Z-100
N30 Z0
...

La riga N30 riporta l'asse Z a 0 in ogni caso (con o senza interruzione). Se c'è un fuori zero di +0,01 mm sull'asse X e il movimento è interrotto, la quota X durante il ritorno può essere di +0,02 mm (parte dal fuori zero precedente e aggiunge ancora il fuori zero). Se invece è programmato:

...
N30 X0 Y0 Z0
...

il ritorno è fatto senza raddoppio del fuori zero.

Si noti che, anche se il movimento viene interrotto e sono acquisite le quote al momento dell'interruzione, il parametro individuato dal nome asse mantiene il valore finale programmato.

Consideriamo i due esempi:

... ...

N10 G1 X0 Y0 Z0 N10 G1 X0 Y0 Z0

N20 G62 Z-100 N20 G62 Z-100

N30 X-50 N30 Z<Z> X-50

... ...

(esempio 1) (esempio 2)

I due programmi differiscono solo nella riga N30: se si ha una interruzione per esempio alla quota Z=-47,53 mm, nel caso 1 N30 genera un moto parallelo all'asse X con quota Z=-47,53 costante, nel caso 2 N30 genera un movimento a due assi fino alle quote finali X-50 Z-100 (il parametro Z conserva il valore programmato -100).

G62 può essere programmata anche su movimenti in G2 o G3, ma non per movimenti composti né in correzione raggio.

Quando, durante un movimento con G62, è attivato il comando di stop (bit di logica 0EC) la velocità è portata a zero con rampa di decelerazione controllata ed assi in traiettoria (come con FEED HOLD).

Il passaggio alla riga successiva di programma si ha dopo l'arresto degli assi: se prima dell'arresto il comando di stop cessa (ossia il bit 0EC torna a 0) il movimento riprende con rampa di accelerazione fino alla velocità programmata. Nella logica programmabile si deve tenere conto di questa caratteristica (per esempio memorizzando 0EC) per evitare eventuali pendolamenti (il sensore utensile usurato potrebbe cessare di rivelare il difetto se la velocità di avanzamento scende a zero).

 

Questo sito rispetta la Privacy

Per qualsiasi domanda o commento su questo sito Web inviare un messaggio di posta elettronica a DP Soft S.r.l..

Copyright ©  DP Soft S.r.l.

Ultimo aggiornamento: 18-03-11