Le funzioni con indirizzo G si chiamano 'preparatorie' in quanto predispongono il controllo a interpretare successive istruzioni.
Il numero che segue G identifica la particolare funzione alla quale è predisposto lo Z32. Il valore che segue G deve essere sempre un valore numerico (NON può essere il risultato di una espressione). La G non è un parametro.
Solo alcune funzioni G (ossia solo alcuni valori numerici) sono interpretate ed eseguite dallo Z32: se si programma una G non implementata lo Z32 dà l'apposito allarme.
Le funzioni sono quelle previste dalle norme ISO, con alcuni adattamenti. In particolare:
- gli zeri iniziali delle G possono essere omessi (G00 diventa G0)
- possono essere programmate nello stesso blocco più funzioni G: in questo caso le G sono riconosciute dal CN ed eseguite via via che vengono incontrate nella riga programmata: in caso di programmazione di più G contrastanti resta attiva l'ultima G programmata. - di seguito a particolari funzioni G possono essere specificati dei dati aggiuntivi che ne completano la definizione.
Si chiameranno MODALI le funzioni G il cui effetto si mantiene anche nei blocchi successivi a quello in cui sono programmate: le funzioni G modali sono normalmente annullate da apposite altre funzioni G.
Alcune G richiedono l'ARRESTO della macchina: il profilo deve essere completamente definito al momento della loro esecuzione. Non deve perciò essere in corso una contornatura con profilo aperto né una contornatura con compensazione raggio.
Queste particolari G saranno indicate nel seguito come CON ARRESTO. Se si programmano queste G in un punto vietato della traiettoria il CN dà apposito allarme.
Altre funzioni (M, MA, MB, MC, T, O) richiedono l'arresto, come si vedrà meglio ai paragrafi relativi.
G0 - posizionamento in rapido
Posizionamento in rapido con assi in traiettoria.
Modale, attiva a inizio esecuzione.
G0 disattiva G1, G2, G3 ed è disattivata da G1, G2, G3, G41, G42.
Possono essere programmati fino a cinque assi contemporanei. La traiettoria percorsa dagli assi per raggiungere il punto finale programmato è rettilinea: tutti gli assi programmati arrivano insieme nel punto finale.
La velocità durante gli spostamenti in G0 è ottimizzata per la massima rapidità di movimento, senza superare il rapido definito per ciascuno degli assi in moto.
Se più assi sono in moto, la maggiore rapidità si ha quando almeno uno degli assi va al suo rapido: le velocità degli altri assi sono ridotte in proporzione per mantenere il movimento rettilineo. Per esempio, si abbiano X e Y rapido a 10 m/min, Z rapido a 5 m/min, assi tutti a quota iniziale zero:
G1 - moto rettilineo in lavoro Moto rettilineo in lavoro con assi in traiettoria. Modale. G1 disattiva G0, G2, G3 ed è disattivata da G0, G2, G3, G40, G41, G42.
G1 per 5
Possono essere programmati fino a cinque assi contemporanei. La traiettoria percorsa dagli assi assi per raggiungere il punto finale programmato è rettilinea: tutti gli assi programmati arrivano insieme nel punto programmato. Feed La velocità in G1 è la feed (indirizzo F) programmata.
C'è la limitazione che nessun asse interessato al moto, in nessuna condizione di override (al massimo può arrivare al 120%) con qualsiasi F programmata può superare il proprio rapido. Per ottenere questo, la velocità con override al 100% non può superare, per nessun asse, il rapido diviso per 1,2.
Per esempio, se si hanno tre assi, X e Y con rapido a 10 m/min, Z con rapido a 5 m/min, e si fa un movimento a partire dall'origine (tutte le quote a zero) si possono avere i seguenti casi: movimento velocità con override al 100% G1 F8000 X100 8000 G1 F10000 X100 8333 G1 F30000 X100 8333 G1 F10000 X100 Y100 10000 (X e Y vanno a 7070 mm/min) G1 F10000 X100 Z100 5891 Nell'ultimo caso la Feed di Z è al max di 5000/1.2=4166 e quindi anche X, per ottenere un movimento rettilineo . Vedere anche il capitolo dedicato alla gestione della Feed.
ATTENZIONE
La programmazione di G1 da solo (senza quote) su una riga è lecita, ma ha un significato particolare (moto rettilineo APERTO, vedere capitolo dedicato alla programmazione dei profili) e non ha solo il significato di predisporre un moto in G1.
Per esempio:
... N10 G1 N11 X0 Y0
...
non è ammessa: al blocco 11 dà errore CN3414 PRECEDENTE APERTO
G2 - arco di cerchio orario Arco di cerchio orario in lavoro. Modale. G2 disattiva G0, G1, G3 ed è disattivata da G0, G1, G3, G40, G41, G42. La velocità è la Feed programmata, salvo la riduzione al rapido dell'asse più lento interessato al moto diviso per 1.2 per non superare il rapido anche con override al 120%. Per esempio, un cerchio in XZ, con rapido X a 10 m/min e rapido di Z a 5 m/min, ammette una velocità massima con override al 100% di 4166 mm/min.
Confrontare anche la velocità in G1. Per velocità si intende quella del centro fresa, salvo alcuni casi di adattamento della velocità nel caso di correzione raggio utensile (vedere capitolo dedicato alla correzione raggio). Il piano di contornatura deve essere precedentemente selezionato con la funzione G25 che può essere omessa se il piano di contornatura è quello 'di sistema’. Vedere anche capitolo dedicato alla programmazione dei profili. Esempio:
... N10 F1000 G0 X0 Y0 Z0 N11 G2 X100 Y0 I50 J0
...
G3 - arco di cerchio antiorario Arco di cerchio antiorario in lavoro. G3 disattiva G0, G1, G2 ed è disattivata da G0, G1, G2, G40, G41, G42.
Tutto il resto come G2.
G4 - sosta Attiva solo nel blocco, con arresto.
Il tempo di sosta è pari al valore del parametro 'TT', che può essere programmato nello stesso blocco oppure in un blocco precedente. Se dall'inizio dell'esecuzione non è mai stato programmato 'TT' il tempo di sosta è zero. Il parametro 'TT' definisce il tempo di sosta in secondi e decimali.
Nella esecuzione della sosta si può avere una incertezza nel tempo effettivo di qualche decina di millisecondi a causa dei cicli di lavoro del microprocessore.
Esempio:
... N10 TT2.5 N11 G4 (SOSTA DI 2.5 SECONDI) ...
G6.2 - gestione delle NURBS Z32 gestisce NURBS (Non Uniform Rational B-Spline) fino al 4.o ordine (splines cubiche) con un numero massimo di tre assi.
Una nurbs è introdotta dalla G6.2. Esempio di programma:
La numerazione delle righe N serve qui da riferimento ma non è obbligatoria.La nurbs dell'esempio inizia con N2 e termina con N8.Prima della nurbs ci possono essere movimenti qualsiasi.La G6.2 (riga N2) segnala l'inizio di una nurbs. Prima della riga con G6.2 e durante tutta la nurbs:
- G114 deve essere attiva - G113A non deve essere attiva - la correzione raggio non deve essere attiva Il parametro P definisce l'ordine della nurbs, i valori ammessi sono 2, 3, 4, se non viene programmato assume per default il valore 4. Il parametro P non può essere cambiato all'interno di una nurbs. Nella riga introduttiva è obbligatorio programmare tutti gli assi interpolati dalla nurbs: possono essere da 2 a 3 assi scelti tra gli assi continui del CN. Le quote assi nelle prima riga della nurbs devono essere coincidenti con le ultime raggiunte prima della nurbs. Da notare che se la nurbs è a due assi (per esempio YZ) la programmazione di 3 assi nella prima riga (per esempio XYZ) è consentita e non ha effetti negativi sui movimenti macchina, ma è sconsigliata perché forza durante tutta la nurbs il calcolo di tre assi, con aggravio di calcoli matematici. K è il valore del nodo. Deve essere programmato nella prima riga e deve essere non decrescente per tutta la nurbs. R è il peso. Può non essere programmato nella prima riga e nelle successive. In questo caso assume il valore di default =1. Durante la nurbs non sono ammesse funzioni "con arresto" (per esempio funzioni ausiliarie). Per un numero di righe iniziali pari all'ordine P (quindi 3 righe se P=3) il nodo K deve coincidere. Nelle righe successive K è obbligatorio e deve essere non decrescente. La nurbs termina quando sono programmate un numero di righe pari all'ordine P contenenti solo il K senza quote. Dopo la nurbs è obbligatorio programmare il tipo di movimento (G0, G1 ecc.). I parametri della G114 influenzano il CN durante la nurbs. La precisione geometrica della traiettoria è migliore di RA (overshoot) diviso per 2: se RA0.005 la precisione geometrica è di 0.0025
Qualora la nurbs contenga spigoli (sono determinati da nodi coincidenti o quote coincidenti) questi sono trattati come spigoli di G114. La programmazione della feed durante una NURBS viene acquisita e resa efficace alla prima occasione utile, che si realizza circa nel punto giusto con NURBS di quarto ordine (P4) ed è ritardata di circa metà di un blocco programmato con NURBS di terzo ordine (P3).
La programmazione della feed durante una NURBS viene acquisita e resa efficace alla prima occasione utile, che si realizza circa nel punto giusto con NURBS di quarto ordine (P4) ed è ritardata di circa metà di un blocco programmato con NURBS di terzo ordine (P3).
La sfasatura tra la programmazione della feed e la sua esecuzione dipende dal fatto che con NURBS attive non c’è una precisa corrispondenza tra un movimento programmato e un movimento di macchina, in quanto un movimento di macchina viene generato per effetto di più movimenti programmati.
G10 - posizionamento grossolano veloce La funzione G10 consente di accelerare i tempi di posizionamento.
La G10 si usa come la G0 (posizionamento rapido) e di questa mantiene tutte le caratteristiche, salvo che la procedura finale di posizionamento è accelerata.
La G10 è modale e mutuamente esclusiva con G0, G1, G2, G3.
La procedura finale di posizionamento è accelerata e dipende da alcuni parametri di taratura: Se il CN non possiede le speciali tarature per il funzionamento della G10 probabilmente il risparmio di tempo per ogni posizionamento sarà minimo.
ATTENZIONE
La programmazione di una G10 elimina la limitazione alla accelerazione seconda impostata da NTAR. Vedere help tarature su “opzioni globali moti assi”.
In generale, la G10 agisce nel seguente modo: - viene eliminata la fase finale di avvicinamento 'dolce' - viene eliminato il tempo di posizionamento (se esiste) - si passa al blocco successivo a una certa distanza dal punto finale (definibile in taratura) che può essere superiore alla soglia di posizionamento
Gli effetti negativi della G10 sono: - un possibile overshoot sul punto finale (gli assi possono andare oltre il punto programmato perchè arrivano con eccessiva accelerazione). - il passaggio al movimento successivo quando gli assi sono ancora lontani dal punto programmato (da qualche centesimo a qualche decimo a seconda delle tarature). Se gli assi restano vivi nel movimento successivo sono richiamati alla posizione corretta: in condizioni normali l'asse rientra nelle precisioni di macchina in pochi decimi di secondo.
In generale quindi è sconsigliato l'uso della G10 quando: - il sorpasso del punto finale può essere dannoso - è subito necessaria la precisione degli assi posizionati (non c'è tempo per il successivo
recupero della posizione) - uno o più assi posizionati sono bloccati (con G29) subito dopo il posizionamento (non essendo più vivo, l'asse non viene richiamato in posizione)
Gestione del G10 con gestione avanzata della velocità (G113V) Il G10 permette un posizionamento finale più ruvido ma più veloce rispetto al normale G0.
Se sono attivi i moti compensati (G113F) il "colpo" introdotto da G10 sul posizionamento finale è più evidente.
Nel caso di gestione avanzata della velocità (G113V), che ha rapidificato molto il posizionamento, il vantaggio della G10 è ridotto, e quindi si è ritenuto un migliore compromesso eliminare la G10 (anche se programmata) e quindi il colpo agli assi quando è attiva la G113F.
Quindi: - se non è attiva la gestione avanzata (G113V) il G10 funziona normalmente - se è attiva la G113V e i moti sono morbidi (G113P) il G10 funziona normalmente - se è attiva la G113V e i moti sono rigidi (G113F) il G10 viene automaticamente convertito in G0.
G12 - coordinamento terzo asse Chiede al CN di interpretare la programmazione del terzo asse come coordinata ai due assi del piano.
Modale. Disattivata da G13.
La G12 è incompatibile con la G111S (movimento di copiatura), se viene programmata G111S la G12 viene automaticamente disattivata.
La quota programmata sul terzo asse è raggiunta, a fine movimento, insieme alle due quote del piano. La velocità con G12 attiva è la F programmata, calcolata sulla traiettoria (ossia la risultante vettoriale delle velocità dei tre assi è la F programmata).
Poiché il movimento in G12 è comunque calcolato sul piano e il terzo asse è 'trascinato' dai due assi del piano, si ha una condizione molto impegnativa se i movimenti sono molto inclinati: in questo caso infatti è necessario ridurre la velocità del moto nel piano in proporzione all'inclinazione.
Per la gestione della velocità con G12 attiva, vedere il paragrafo “Gestione della velocità” nel capitolo dedicato alla programmazione dei profili. G12 può essere attiva anche in correzione raggio (G41 o G42 attive): permette quindi il moto del terzo asse, sempre come coordinato agli altri due assi.
G12 può rimanere attiva, in correzione raggio, anche nei tratti che vengano accorciati o eliminati.
ATTENZIONE
Se un tratto che viene accorciato od eliminato per effetto della correzione raggio, contiene un movimento del terzo asse, questo movimento viene eseguito completamente al prossimo movimento utile.
Esempio:
TASCA CON MOTO TERZO ASSE %
N1 G25XYZ G0 X0 Y10 Z0
N2 R10 F1000 G109E
N3 G42 X0 Y0 QF0
N4 G1 X10
N5 Y15
N6 X25 Z30
N7 Y0
N8 X50
N9 G40
N10 M2
La G109E alla riga N2 è necessaria per risolvere la tasca in correzione raggio, i movimenti sono quelli normali fino a N4 compresa.
Qui si ha una rotazione intorno allo spigolo, che non viene terminata perché il diametro fresa è maggiore della larghezza della tasca (diametro fresa 20 mm, larghezza tasca 15 mm).
Tutti i movimenti successivi vengono eliminati fino alla rotazione intorno allo spigolo di uscita N7 (X25) Y0.
Quindi il movimento del centro utensile è composto di due rotazioni incomplete, una intorno allo spigolo di entrata e una intorno allo spigolo di uscita, per “appoggiare” la fresa sugli spigoli della tasca.
Il blocco N6 che contiene la salita a Z30 viene eliminato, e quindi la salita viene fatta al primo movimento che viene effettivamente eseguito.
I movimenti del centro fresa dell’esempio sono perciò composti da:
- movimenti a quota Z0 fino allo spigolo X10 Y0 - arco (incompleto) a quota Z0 intorno allo spigolo X10 Y0 - arco (incompleto) intorno allo spigolo X25 Y0 a quota crescente da Z0 a Z30 - proseguimento a Z30 fino a fine traiettoria Eliche
Il tratto piano su cui agisce G12 può essere qualsiasi, lineare o circolare, inclusi i tratti di attacco e distacco dal profilo (G41 e G42). Nel caso che il tratto nel piano sia circolare, è eseguita una interpolazione elicoidale.
Poiché G12 pone limitazioni alla programmazione (pendenza, correzione raggio ecc.) deve essere programmata solo quando è necessaria, ed immediatamente disattivata quando non serve più.
G13 - annulla coordinamento terzo asse Annulla G12 e ripristina il modo normale di programmazione quote. Modale. È attiva al reset. Per l'esempio vedere G12.
G16 - ridirezione nomi assi Possono presentarsi occasioni nelle quali un programma scritto per una configurazione di macchina debba essere poi eseguito con una diversa configurazione nella quale gli assi debbano essere scambiati.
Lo scambio può essere effettuato con la funzione G16, che permette di ridirigere gli assi su nuovi indirizzi.
Per esempio, ammettiamo che una macchina contenga, nell'ordine, gli assi X Y Z B C. L'ordine è importante perché la ridirezione avviene in base all'ordine: i caratteri che seguono G16 sono assegnati agli assi fisici nello stesso ordine in cui sono elencati.
La situazione "normale" corrisponde quindi a: G16XYZBC Ammettiamo che si abbia un programma in cui debbano essere scambiati gli assi X e Z, ossia
quando è programmato l'asse X si deve muovere Z e quando è programmato Z si deve muovere X. Si dovrà programmare, prima dei movimenti con gli assi scambiati: G16ZYX Con questa istruzione la Z viene ridiretta sul primo asse (che abbiamo visto è X), Y è ridiretta su Y
(invariata) e X è ridiretta su Z. Regole:
- i caratteri assegnati agli assi devono seguire G16, senza spazi intermedi - uno spazio o il fine riga interrompono la sequenza dei caratteri e quindi la G16 -i nomi assi ammessi sono i caratteri dell'alfabeto maiuscolo esclusi FGIJKLMNORST altrimenti viene errore programma CN1D14
-se i caratteri che seguono G16 sono in numero minore degli assi continui della macchina gli assi residui rimangono invariati
- dopo la G16 se tra gli assi risultanti ci sono ripetizioni di nomi assi viene errore CN1D14. Per esempio, se una macchina ha gli assi XYZBC e viene programmata G16ZX il risultato è G16ZXZBC, quindi Z è ripetuto e viene errore programma - con G53 attiva (assi riferiti all'origine base) oppure se è in corso un sottoprogramma di sistema (ciclo fisso o M speciale) la G16 viene sospesa. Ciò impedisce che la G16 possa interferire col funzionamento di programmi essenziali di sistema - oltre che per le quote programmate, la ridirezione degli assi è attiva per gli assi individuati da G25, G28, G29, G43, G44, KM, KD.
-la ridirezione degli assi è attiva per tutti i movimenti programmati, in lavoro e in rapido, ma non cambia il significato di I J, che comunque sono associati al primo e secondo asse della terna di lavoro. La programmazione di G25 con assi ridiretti mette di nuovo a posto le corrispondenze
G25 - terna di assi di lavoro Permette la scelta dei tre assi di lavoro della macchina.
Modale, con arresto.
Dopo G25 devono essere programmati di seguito tre caratteri con tre nomi di assi definiti come continui sulla macchina. Per esempio: G25XYZ definisce che la terna di lavoro è costituita dai tre assi X, Y, Z. I primi due assi costituiscono il piano di contornatura (in cui sono possibili le interpolazioni circolari). L'altro asse è un asse aggiuntivo coordinato ai primi due (può essere usato per i cicli fissi e per altre funzioni di macchina).
All'accensione e ad ogni inizio programma è attivata la terna di lavoro di taratura definita dal costruttore della macchina. È importante, per non avere comportamenti di macchina apparentemente sorprendenti, definire in modo corretto i sensi di movimento degli assi.
La lavorazione avviene per movimento relativo del mandrino rispetto al pezzo: occorre fare attenzione che in dipendenza dalla struttura della macchina si può muovere il mandrino oppure il pezzo, e che sulla stessa macchina per alcuni assi si può muovere il mandrino e per altri il pezzo. Per evitare confusione si dovrà sempre considerare, non il moto fisico dell'asse, ma la traccia lasciata dal mandrino sul pezzo in conseguenza del moto dell'asse.
Due dei tre assi che compongono la terna individuano il piano di lavoro (ossia quello in cui è consentita l'interpolazione circolare, la correzione raggio ecc.). Per scegliere quale dei due è il primo e quale il secondo asse del piano (che poi potranno essere programmati anche con AA e AB rispettivamente anziché con la lettera caratteristica) si dovrà:
- mettersi idealmente dalla parte positiva del terzo asse (sempre inteso come traccia di lavoro); - eseguire idealmente un movimento verso il positivo di ciascuno dei due assi del piano; - ruotare sempre idealmente il piano fino a che una traccia sia positiva verso DESTRA e l'altra traccia sia positiva verso l'ALTO.
Secondo le norme ISO841 la nomenclatura da assegnare agli assi così determinati è: - X per il primo asse del piano di lavoro - Y per il secondo asse del piano - Z per il terzo asse
Non sempre le macchine seguono questa normativa, soprattutto quando la stessa macchina può essere usata con testa verticale oppure orizzontale, col montaggio di appositi accessori. In questo caso non può essere cambiata la lettera identificatrice dell'asse né il senso di moto dell'asse da considerare positivo (che restano legati all'asse fisico): lo Z32 però consente, con la semplice programmazione di G25 seguita dai tre assi nell'ordine prima descritto, di adattarsi alle varie situazioni.
Nel caso che sia programmata una terna errata (ossia col primo e secondo asse del piano scambiati) lo Z32 non può accorgersi dell'errore (che può non essere un errore se si ipotizza un mandrino che lavora 'dal di sotto'), ed esegue i movimenti che sarebbero propri di una macchina col tipo di assi programmati: apparirà all'operatore che siano scambiati tutti i movimenti circolari (G2 con G3 e G41 con G42).
Esempio:
...
(QUI È ATTIVO G25XYZ)
N10 G0 X0 Y0 Z0
N11 B0
N12 G25BYZ
N13 G2 B30 Y0 I15 J0
N14 G25XYZ
...
Terna di lavoro G25 con sistemi a due assi Se la macchina è a due assi (tipico per tornio o plotter di tipo semplice) l’artificio per programmare i due assi di macchina è quello di ripetere il nome di uno dei due assi (per esempio G25ZXX).
- fine sottoprogramma Segnala la fine del sottoprogramma. Dopo il completamento di tutte le funzioni specificate nella riga che contiene 'G26' viene abbandonato il sottoprogramma e ripresa l'esecuzione del programma (o sottoprogramma) chiamante, a partire dalla riga successiva a quella in cui era stato chiamato il sottoprogramma. Si può programmare 'G26', che viene normalmente eseguita, anche all'interno di una subroutine interna al sottoprogramma (vedere anche capitolo righe evolute). Esempio: ... % N10!GOP20! N1 HA<HB*2-HC> ... N2 !IFHA>0;GON4!
Modale. Dopo G27C deve essere programmato il numero che indica il ciclo fisso attivato. Con G27C0 si disattivano i cicli fissi. All'accensione e a inizio programma è attiva G27C0.
G27X Sospende ciclo fisso
Attiva solo nel blocco, sospende solo per il blocco in cui è programmata, l'esecuzione dell'eventuale ciclo fisso attivo.
Per maggiori chiarimenti sui cicli fissi vedere il capitolo dedicato, più avanti su questo manuale.
G27P... Sottoprogramma permanente
Modale Dopo G27P deve essere programmato il numero di sottoprogramma permanente da attivare. Con G27P0 si disattiva il sottoprogramma permanente. Per maggiori chiarimenti vedere il capitolo dedicato ai sottoprogrammi permanenti.
G28 - attivazione asse Chiede al CN di tenere sotto controllo l'asse anche quando l'asse non è interessato al movimento in corso (asse vivo).
Modale, con arresto.
Dopo G28 deve essere specificato il nome (per esempio X) dell'asse che si vuol tenere vivo, per esempio G28X.
Deve essere specificato un solo asse, tra quelli definiti come continui dalle tarature di macchina.
Se si vogliono attivare più assi si può programmare G28 più volte nella stessa riga o in righe successive. Per esempio:
G28Z G28A
chiede di tenere sempre sotto controllo gli assi Z e A.
Alcuni assi (da definire nelle tarature di macchina) possono essere definiti come vivi fin dall'accensione: ad ogni inizio programma (reset) è ripristinata la situazione di assi vivi/non vivi dell'accensione.
È lecita, e non ha effetto, la richiesta di attivare un asse già vivo.
Fino a Possono essere vivi contemporaneamente fino a 13 assi, ma ogni asse vivo richiede al microprocessore un impegno supplementare, che può non essere compatibile con configurazioni di sistema molto complesse. È perciò consigliabile tenere vivi sempre solo gli assi realmente necessari.
Al momento della presa in controllo di un asse in precedenza non attivo lo Z32 acquisisce la quota reale dell'asse, senza andare in allarme se la quota era stata spostata dall'ultimo posizionamento. Ciò permette di:
1) portare un asse in quota e abbandonarlo 2) muovere l'asse con mezzi diversi dal CN (manuale, da logica o con altri automatismi) 3) riprendere l'asse sotto controllo dalla quota effettiva senza che si verifichino errori
Si noti che il parametro quota asse non viene inizializzato da G28, anche se in precedenza l'asse era 'morto'. L'acquisizione delle quote assi nei relativi parametri è fatta esclusivamente con G105
(vedere paragrafo relativo).
L'attivazione dell'asse viene eseguita prima degli eventuali moti assi contenuti nella riga. Esempio (macchina con XYZ sempre vivi e B continuo non vivo):
...
N10 G0 X0 Y0 Z0 F300
N11 G28B B0
N12 G1 Z-10
N13 Y50 B50 G29B
...
Nel caso di assi ciclici devono essere tenute presenti alcune particolarità vedere a proposito nel capitolo “Prestazioni speciali” il paragrafo “Assi continui ciclici” .
Per la gestione degli assi SCARA la funzione G28 ha un comportamento particolare, perché sia i due assi fisici che i due assi fittizi, vengono attivati e disattivati insieme (ved. manuale di impiego
M95, capitolo allarmi CN..13).
Assi vivi trasparenti al reset È possibile stabilire in taratura (opzioni software e di programmazione) che lo stato degli assi (vivi/non vivi) sia trasparente al reset.
Se questa opzione è attiva lo stato degli assi rimane inalterato anche allo spegnimento del CN.
Ciclo automatico G28-G29 se programmato asse non vivo fuori da G98 È possibile in semiautomatico o automatico da part-program programmare un asse non vivo senza bisogno del G28 preventivo: il risultato è equivalente ad avere programmato G28 (attivazione) e G29 (disattivazione).
Questo ciclo automatico non viene fatto se è attiva la G98, che non ammette al suo interno funzioni che richiedano l'arresto.
L'allarme CN 3A14 ASSE NON VIVO può quindi venire solo se si tenta di programmare un asse non vivo con G98 attiva.
- Se si programma un asse non vivo, e l'asse è già sotto la soglia di posizionamento definita in taratura, il movimento programmato viene ignorato e quindi non si genera l'inutile ciclo di sblocco/blocco, con notevole risparmio di tempo.
Naturalmente se l'asse è vivo viene eseguito qualsiasi movimento, anche se di lunghezza inferiore alla soglia di posizionamento.
Il ciclo di sblocco/blocco viene comunque generato se l'asse non vivo è uno dei tre della terna di lavoro attiva al momento, ma dovrebbe essere una situazione decisamente non usuale: gli assi della terna di lavoro infatti sono tipicamente sempre vivi.
- Nel caso che si programmasse l'origine sulla stessa riga, del movimento dell’asse morto.
Per esempio:
G29B ... (l'asse B è "morto")
OB1 B0
verrà forzata comunque l'esecuzione del ciclo di sblocco e blocco dell'asse stesso.
Ciò significa che, se nella stessa riga dove è programmato il movimento è programmata anche l'origine, ci sarà sempre il ciclo di sblocco e blocco dell'asse, anche se l'asse è già posizionato e quindi rimane fermo. Sarà compito del programmatore, se vuole eliminare questo ciclo, spezzare la riga in due e programmare l'origine in una riga precedente.
- Se viene programmato un asse morto con, nella stessa riga, la programmazione di G53 o G54.
Per esempio:
N100 G53 B10 X20 (B è un asse morto)
L’asse morto l'asse viene comunque reso vivo, anche se compie un movimento nullo.
Nota sulla gestione della programmazione degli assi non vivi
- Se da part-program si programma il movimento di un asse non vivo Z32, l'asse viene automaticamente attivato, ma solo se la posizione fisica dell'asse non coincide con quella programmata.
La posizione fisica dell'asse è considerata coincidente con quella programmata se l'errore è inferiore all'errore di posizionamento di taratura (normalmente dell'ordine di qualche centesimo).
Può nascere qualche problema se l'errore è molto vicino a quello tollerato. Se la quota rilevata dell'asse non vivo (che non dovrebbe muoversi) ha dei piccoli cambiamenti tali che l'errore passi da sotto a sopra la soglia di taratura può verificarsi un allarme CN1513.
La quota rilevata può oscillare di qualche passo rilevatore, pur rimanendo entro la soglia di posizionamento, quindi il sorpasso della soglia si può verificare se la posizione è già al limite della tolleranza, il che accade per esempio quando:
- una tavola girevole (o altro asse) durante il bloccaggio ha un leggero movimento che la porta molto vicino all'errore di taratura ammesso - viene programmato un movimento di un asse bloccato di entità di poco inferiore alla soglia di posizionamento
In questi casi si consiglia di non utilizzare l'attivazione automatica dell'asse morto e di forzarlo vivo direttamente da part-program.
disattivazione asse Chiede al CN di abbandonare l'asse specificato. Modale, con arresto. Dopo G29 deve essere specificato il nome (p. es. X) dell'asse che si vuole abbandonare. Deve essere specificato un solo asse, tra quelli definiti come continui dalle tarature di macchina. Se si vogliono disattivare più assi, si può programmare G29 più volte nella stessa riga o in righe diverse. Per esempio: G29X G29A chiede al CN di abbandonare l'asse X e l'asse A. È lecita, e non ha effetto, la richiesta di disattivare un asse non attivo. La disattivazione dell'asse si ha dopo gli eventuali moti assi contenuti nella riga. Nel caso di assi ciclici devono essere tenute presenti alcune particolarità, vedere a proposito nel capitolo “Prestazioni speciali” il paragrafo “Assi continui ciclici”. Per l'esempio vedere G28.
G33 - filettatura Modale in esecuzione automatica, attiva solo nel blocco in semiautomatico. Funzione tipica dei torni, ma usabile anche per frese. G33 disattiva G0, G94 (mm/min), G95 (mm/giro), G96 (m/min), attiva G1. G33 è disattivata da G0, G93, G94, G95, G96. Se è disattivata con G0 rimane automaticamente attiva G95 (mm/giro). Se il primo tratto di filettatura è circolare occorre programmare G33G2 oppure G33G3. Notare che G33 deve precedere nella riga G2/G3: se G2 o G3 sono programmati prima di G33 (es. G2G33) sono annullati da G33 che forza G1. Con G33 attiva non possono essere programmate tutte le funzioni che richiedono l'arresto (ossia per esempio tutte le funzioni ausiliarie M, MA, MB, MC, S, G4 ecc.). Se una di queste funzioni è programmata con G33 attiva il CN dà allarme: CN 3C14 G33 o G63 ATTIVA. Se si programma G28 o G29 oppure si programma il movimento di un asse morto, che quindi dovrebbe essere attivato e disattivato, esce il messaggio di allarme : CN6214 CAMBIO ASSI VIVI + G33 O G63 Con G33 attiva (come per G84, maschiatura) non viene incrementato il numero progressivo di operazione: in ricerca blocco con numero progressivo è perciò possibile solo ricercare il primo blocco in G33. Durante la G33 non sono attivi:
- override assi - override mandrino - blocco singolo
La filettatura può avvenire per tratti circolari o rettilinei nel piano, comunque orientati. Il passo della filettatura è impostato col parametro K, che può essere programmato nel blocco oppure in blocchi precedenti. Passo K K determina il passo lungo la direttrice di filettatura, ossia rappresenta la distanza tra due filetti. Se la filettatura è conica, il passo lungo l'asse longitudinale risulta più corto per la presenza dell'inclinazione. Durante la G33 è attiva la compensazione di anticipo della velocità (modo normale dello Z32, in cui non si ha un errore proporzionale alla velocità). Si hanno perciò errori limitati anche in presenza di variazioni della velocità del mandrino: è comunque consigliabile, per ottenere una perfetta finitura del filetto, che la velocità mandrino sia stabilizzata e costante durante la filettatura. Aggancio Più movimenti di filettatura possono essere eseguiti in sequenza: il passo del filetto è mantenuto al volo costante, salvo che siano richieste accelerazioni o velocità superiori a quelle di taratura. In questo caso la velocità viene ridotta e le accelerazioni mantenute nei limiti, il passo viene momentaneamente perso e recuperato non appena i movimenti sono compatibili con la dinamica della macchina. Il primo filetto è sincronizzato col passaggio per lo zero del mandrino: è possibile eseguire la filettatura profonda in più passate con rientro nel filetto. La filettatura a più principi è possibile spostando il punto di partenza. Esempio:
... N10 G0 X0 Z0 N11 G33 Z-100 K2.5
...
Entrata morbida in G33
L'entrata nella G33 (filettatura) cioè l’aggancio al primo filetto sincronizzato col passaggio per lo zero del mandrino è morbida, pur senza allungare la fase di presa del filetto, grazie a un anticipo calcolato con cui si muove l'asse lineare che entra in filettatura rigida.
Attacco morbido della G33
È possibile definire nelle tarature il tempo di attacco della G33. Il valore da inserire del tempo di attacco è espresso in millisecondi.
L'attacco è di tipo "armonico", ossia con controllo dell'accelerazione seconda.
G36 - gestione numero progressivo Sono disponibili cinque diverse possibili operazioni sul numero progressivo, per permettere al programmatore di guidare la ricerca blocco in caso di particolari operazioni.
G36* G36* chiede al CN di forzare il numero progressivo di operazione (usato nella ricerca blocco) al valore successivamente specificato. Attiva solo nel blocco. Dopo G36* deve essere programmato il numero a 8 cifre (max 16777216) che si desidera introdurre nel numero progressivo. Gli zeri iniziali possono essere omessi. Per esempio: G36 * 200 forza il numero progressivo al valore di 200. Può essere utile in caso di programmi ciclici, ossia che non trovano mai la M2 perché a fine programma c'è un salto senza ritorno all'inizio. Esempio:
PROGRAMMA CONTINUO % N1 G36*0 N2 ... ... N100 M0 (CAMBIA PEZZO E PREMI START) N101 !GON1!
Con questo programma si imposta un ciclo continuo di lavorazione: l'operatore deve cambiare il pezzo a fine programma e premere START per eseguire la lavorazione sul nuovo pezzo. Se non ci fosse il G36*0 all'istruzione N1, il numero progressivo si incrementerebbe indefinitamente, tanto da rendere impossibile una eventuale ricerca blocco. Col G36*0 invece il numero progressivo riprende da zero e la ricerca blocco si esegue normalmente.
Ricerca blocco, numero progressivo
Il numero progressivo di operazione elementare (che condiziona poi la ricerca blocco con '*' o numero progressivo) può arrivare fino al massimo di 16777216, dopodiché riparte da zero.
Questo numero appare sufficiente anche per programmi molto lunghi: per dare un'idea, se un partprogram viene eseguito a 100 blocchi/secondo l'azzeramento del numero progressivo avviene dopo oltre 46 ore di lavoro ininterrotto, e il part-program, ammettendo un minimo di 10 caratteri a blocco, sarebbe lungo 160 Megabytes.
G36H/G36S halt/start Chiedono al CN di arrestare (H) e di riprendere (S) il conteggio del numero progressivo.
Modali. Al reset è attivo G36S.
Sono utili nel caso che il programmatore non voglia turbare il regolare avanzamento del numero progressivo nel caso di operazioni che dipendono da situazioni di macchina contingenti, oppure nel caso che non si voglia permettere la ricerca blocco all'interno di una sequenza di operazioni.
Durante l'esecuzione di M speciali o cicli fissi di sistema il numero progressivo è automaticamente bloccato al valore iniziale (equivale a una operazione G36H all'inizio del sottoprogramma e una operazione G36S alla fine del sottoprogramma). Non è perciò mai possibile una ricerca blocco all'interno di M speciali o cicli fissi di sistema. Per la natura dei problemi coinvolti, sono prestazioni da riservare al costruttore della macchina utensile o a programmatori molto esperti.
Esempio:
... N10 G0 X0 Y0 Z0 F1000 N11 M70 ciclo di misura del tastatore N12 !IF AM<9000 ;GON16! N13 G36H da questo punto il numero progressivo non cambia N14 T<T>M6 il cambio utensile cerca l'utensile sostitutivo N15 G36S riprende il conteggio N16 ... qui il numero progressivo è sempre lo stesso ...
G36R/G36W read/write G36R/G36W chiedono al CN rispettivamente di leggere il numero progressivo nel parametro HX e viceversa di scrivere nel numero progressivo il contenuto del parametro HX.
Attive solo nel blocco, con arresto.
Servono a manipolare il numero progressivo nel caso di ripetizione di operazioni.
Anche queste prestazioni sono da riservare al costruttore della macchina utensile o a programmatori molto esperti. L'esempio deve considerarsi esclusivamente didattico.
Si abbia una macchina con apparecchio per il controllo dell'integrità utensile durante la lavorazione, collegato alla logica di macchina che permette di eseguire movimenti in G62. Se durante il movimento è rivelato utensile usurato si vuole cambiare l'utensile e ripetere il movimento, senza variare il normale flusso del numero progressivo.
- commutazione files locali/globali Attiva le sezioni locali o globali dei parametri, origini e utensili di ciascun processo. Modale. Dopo G37 si devono specificare due lettere come segue: G37PL attiva sezione locale parametri G37PG attiva sezione globale parametri G37OL attiva sezione locale origini G37OG attiva sezione globale origini G37TL attiva sezione locale utensili G37TG attiva sezione globale utensili
Al reset sono attive G37PG, G37OG , G37TG.
Per sezione locale si intende una sezione parametri (inizia con :PA ), origini (inizia con :OS), utensili (inizia con :TL ) posta in coda al programma. Possono mancare una o più sezioni locali: le sezioni esistenti possono essere inserite in qualsiasi ordine.
Se G37 è programmato ed eseguito in un sottoprogramma, è attivata la sezione locale di quel sottoprogramma. Né la chiamata di sottoprogramma né il ritorno da sottoprogramma cambiano la sezione attiva.
In questo esempio: - la sezione origini è sempre quella globale (file 126) - la sezione utensili:
- è globale (file 127) dall'inizio a N15 del programma principale - è locale del file 1 da N15 a fine programma, incluso il sottoprogramma
- la sezione parametri: - è globale (file 125) dall'inizio a N10 del programma principale - è locale del file 1 da N10 del prog. principale a N18 del sottoprogramma 100 - è locale del spgr. 100 da N18 del spgr.100 alla fine del programma principale.
Il programmatore tenga presente che, mentre non vi sono in genere particolari cautele per l'uso di sezioni locali di parametri e origini, l'uso di sezioni locali di utensili può avere implicazioni di sistema assai importanti: si consiglia perciò sempre di CONSULTARE IL COSTRUTTORE DELLA MACCHINA UTENSILE per gli effetti delle sezioni locali utensili sui sottoprogrammi di sistema (in particolare cambio utensili, gestione eventuale utensile sostitutivo, usura utensile ecc.).
Se G37O... e le origini relative sono programmate nella stessa riga, la G37 deve precedere la origine, altrimenti l'origine è calcolata nella sezione vecchia. Esempio:
... N10 G37OL OX1 OY1 OZ1 ...
G38 - riattivazione cambio utensile Riprende l'esecuzione in automatico del cambio utensile. Modale. Annulla G39: al reset è attiva G38.
G39 - sospensione cambio utensile Sospende l'esecuzione in automatico del cambio utensile.
Modale.
Con G39 attiva la M6 (cambio utensile) non viene più eseguita in automatico, ma provoca uno STOP della macchina per consentire all'operatore di fare il cambio utensile manuale. Quando l'operatore, dopo fatto il cambio, preme il pulsante START, il programma viene ripreso dal punto di interruzione e il cambio utensile è considerato fatto.
Quindi l'utensile programmato è considerato a tutti gli effetti montato sul mandrino, con acquisizione della descrizione utensile ecc.
Esempio:
... N10 G39 N12 T10 M6 (CAMBIARE A MANO CON FRESA R=10) N13 G38
...
G40 - fine correzione raggio Fine correzione raggio utensile. Modale. Annulla G1, G2, G3, G41, G42. All'accensione è attiva G40. È programmata quando è attiva G41 o G42, per terminare la contornatura. Quando è programmata G40 il profilo deve essere chiuso. Vedere anche il capitolo dedicato alla correzione raggio.
G41 - correzione raggio con utensile a sinistra Utensile a sinistra Inizio della correzione raggio: l'utensile è a sinistra del pezzo. Modale. La G41 fa entrare il controllo nel modo CORREZIONE RAGGIO che permette di programmare il profilo del pezzo anziché il percorso del centro fresa. La correzione raggio avviene nel piano di contornatura (primi due assi della terna di lavoro). Vedere capitolo dedicato alla correzione raggio.
G42 - correzione raggio con utensile a destra Utensile a destra Stesso come per G41, solo con utensile a destra del pezzo anziché con utensile a sinistra.
G43 - correzione lunghezza utensile positiva Inizia la correzione lunghezza utensile positiva.
Modale, con arresto.
Deve essere seguita dal nome dell'asse sul quale deve essere fatta la correzione lunghezza utensile (es. G43X).
All'accensione e ad inizio programma è attiva G43 sul terzo asse continuo della macchina: se gli assi continui sono XYZUV alla accensione e ad ogni inizio programma è attiva G43Z.
Dopo che è attivata la G43 a tutte le quote dell'asse interessato alla correzione sono modificate in modo da tenere conto di un utensile di lunghezza positiva montato sul mandrino: dalle quote visualizzate viene perciò sottratta la lunghezza (contenuta nel parametro L). Ciò equivale a sommare la lunghezza L alle quote programmate.
L'effetto della lunghezza utensile è cumulato con quello della origine base e della eventuale origine supplementare.
Per altre informazioni vedere anche il capitolo dedicato alla gestione utensili.
Vale l'esempio per G45.
G44 - correzione lunghezza utensile negativa Come G43, di cui è mutuamente esclusiva, salvo il segno della correzione. Quando è attiva G44 il parametro L è sottratto anziché sommato alle quote programmate dell'asse su cui è attiva la correzione lunghezza. Poiché lo Z32 ammette che il parametro L sia negativo, è probabilmente più comodo per il programmatore cambiare il segno di L invece che usare G44. Per l'esempio vedere G45.
G45 - sospensione correzione lunghezza Disattiva le correzioni utensili G43 e G44. Modale, con arresto. Il parametro L non viene modificato da G45. Esempio. Nei commenti sono riportate le quote del visualizzatore del CN, (gli assi non si muovono):
G53 - sospensione correzioni origini e lunghezze Sospende la correzione origini e lunghezze, nonché le trasformazioni di quote: rototraslazione, specularità, fattore di scala.
Modale, con arresto.
Può servire per programmare movimenti della macchina in quote assolute (quindi comprensive solo della origine base).
Lo stato programmato delle correzioni origini e lunghezza (G43-44, O...) resta memorizzato anche durante G53 attiva, e viene ripristinato da G54.
È lecito modificare durante G53 attiva le origini, G43 ecc.: l'effetto di queste modifiche resta sospeso fino a G54.
G54 - attivazione correzione origini e lunghezze Annulla l'effetto di G53.
Modale, con arresto, attiva al reset.
L'azione di G54 è di riattivare le correzioni origini e lunghezza memorizzate e sospese dalla G53: se lo stato memorizzato prevede origini e/o lunghezze non attive, queste restano non attive anche dopo G54.
La G54 provoca l'acquisizione del parametro L come effettivo correttore della lunghezza utensile. Vedere anche il capitolo dedicato alla gestione degli utensili.
Per il costruttore della macchina utensile: una G54 programmata all'interno di un sottoprogramma associato a una M speciale o a un ciclo fisso di sistema annulla solo la eventuale G53 programmata all'interno di quel sottoprogramma speciale: se nel programma utente era attiva G53 al momento della chiamata al sottoprogramma speciale, la G53 resta attiva. In altre parole: dall'interno di un sottoprogramma speciale non si può annullare, con una G54, una eventuale G53 programmata nel programma utente. Il sottoprogramma speciale è perciò trasparente agli effetti di G53/G54.
Per l'uso di G102/G103 all'interno dei sottoprogrammi di sistema al posto di G53/G54 vedere il paragrafo relativo a G102 e G103.
Esempio (tra parentesi le quote del visualizzatore).
G55 - disattivazione specularità Annulla l'effetto di G56. Modale, attiva al reset. Non può essere programmata mentre G41 o G42 sono attive. La specularità può anche essere sospesa con G53. Vedere anche il capitolo dedicato alla Specularità.
G56 - attivazione specularità Chiede allo Z32 di eseguire il profilo speculare del programmato rispetto ad un asse di specularità individuato dal punto (IS, JS) e dalla pendenza QS.
Modale.
Può essere attiva durante la correzione raggio (G41 e G42) ma non può essere programmata mentre G41 o G42 sono attive. Vedere anche il capitolo dedicato alla Specularità.
G61 - movimento di misura Richiede un movimento di misura con tastatore. Attiva solo nel blocco, con arresto. Annulla G1, G2, G3, G10. A fine movimento resta attiva G0. Vedere il capitolo “Prestazioni speciali”, paragrafo “Tastatore di misura G61”.
G62 - movimento con stop da logica Richiede un movimento che può essere interrotto da logica di macchina. Attiva solo nel blocco, con arresto. Può essere programmata con movimenti in G1, G2, G3 (solo movimenti semplici, non in correzione raggio). Vedere il capitolo “Prestazioni speciali”, paragrafo “Moto con stop da logica G62”.
G63 - maschiatura rigida Attiva solo nel blocco, con arresto. Con G63 si ordina un movimento di maschiatura composto da: - avanzamento con passo K fino alla quota programmata - inversione a volo del mandrino - ritorno indietro fino alla quota di partenza. Il movimento degli assi programmati (normalmente un solo asse: lo Z) è rigidamente legato a quello del mandrino per tutta la durata del ciclo (un incremento K ogni giro mandrino). Esempio:
N10: posizionamento in rapido a inizio foro e marcia mandrino N11:ciclo di maschiatura. È necessario che il mandrino sia a regime prima dell'inizio della maschiatura.
Composizione del ciclo: - acquisizione del senso iniziale di rotazione mandrino - attesa del passaggio per lo zero del mandrino - partenza "a strappo" dell'asse Z. Per lo spazio necessario all'accelerazione dell'asse non si ha sincronismo tra mandrino e movimento asse: lasciare un margine adeguato perché il sincronismo sia pienamente raggiunto in aria. - maschiatura con passo 1 e asse Z sincronizzato al mandrino fino alla quota Z-50 - inversione del mandrino. Durante il tempo di inversione l'asse Z, essendo agganciato al mandrino, continua ad avanzare oltre la quota -50 programmata per non perdere il filetto: se l'asse oltrepassa il punto finale di una quantità eccessiva (definibile in taratura, normalmente 10 mm) si ha l'allarme CN 0713 . Lasciare comunque uno spazio sufficiente a fine foro. - ritorno, sempre con asse Z agganciato al mandrino, alla quota di partenza (Z10) - posizionamento di Z alla quota di partenza (Z10). Poiché l'asse ha bisogno di uno spazio di frenata, il sincronismo asse Z/mandrino viene abbandonato a una certa distanza dal punto finale: il programmatore lasci uno spazio di sicurezza adeguato. N12: inversione mandrino (che torna in M3) e rapido fino a X-10
N13: altro ciclo di maschiatura. Notare che il mandrino deve aver terminato l'inversione prima dell'inizio di N13. Se l'inversione non è terminata il segno iniziale viene acquisito errato, e quando il mandrino finalmente inverte l'asse va all'indietro finche interviene l'errore CN 0713.
È possibile "ripassare" un filetto già eseguito (ma solo se il maschio nel mandrino non è stato ruotato!) in quanto la partenza del movimento è sincronizzata al passaggio per lo zero del mandrino.
Con G63 attiva non possono essere programmate tutte le funzioni che richiedono l'arresto escluso il G4 (ossia per esempio tutte le funzioni ausiliarie M, MA, MB, MC, S, ecc.). Se una di queste funzioni è programmata con G63 attiva il CN dà allarme: CN 3C14 G33 o G63 ATTIVA.
Se si programma il movimento di un asse morto, che quindi dovrebbe essere attivato e disattivato, esce il messaggio di allarme :
CN6214 CAMBIO ASSI VIVI + G33 O G63
Durante la G63 non sono attivi gli overrides (assi e mandrino) e feed-hold. Il reset e lo stop sono attivi ma possono essere disabilitati in logica se il costruttore della macchina utensile lo ritiene necessario.
Per usare la G63 occorre che la macchina sia predisposta. In particolare occorre: - il rilevatore sul mandrino collegato al CN - gestione in logica programmabile della inversione a volo del mandrino e delle sicurezze di velocità mandrino raggiunta.
È consigliabile che il costruttore fornisca un ciclo fisso di maschiatura rigida che gestisca le eventuali funzioni ausiliarie relative al mandrino.
Moti morbidi con G63 (maschiatura rigida)
L'errore di inseguimento (una volta in un senso e una volta nell'altro) con cui si muovono gli assi con G113P attiva (moti morbidi) non è compatibile con la maschiatura rigida.
I moti morbidi vengono automaticamente sospesi durante i movimenti di maschiatura rigida.
Entrata morbida in G63
L'entrata nella G63 (maschiatura rigida), cioè l’aggancio al primo filetto sincronizzato col passaggio per lo zero del mandrino è morbida, pur senza allungare la fase di presa del filetto, grazie a un anticipo calcolato con cui si muove l'asse lineare che entra in maschiatura rigida.
Attacco morbido della G63
È possibile definire nelle tarature il tempo di attacco della G63. Il valore da inserire del tempo di attacco è espresso in millisecondi.
L'attacco è di tipo "armonico", ossia con controllo dell'accelerazione seconda.
G80 - annulla maschiatura in atto Annulla l'effetto di G84. Modale, con arresto. All'accensione e al reset è attiva G80.
G84 - maschiatura in atto Disattiva override, prova pezzo e blocco singolo e dà la relativa informazione alla logica. Arresta il numero progressivo, in modo che non possa essere ricercato un movimento interno alla maschiatura. Vedere anche il ciclo fisso di maschiatura.
G90 - programmazione quote assi assoluta Programmazione delle quote degli assi rispetto alle origini attive. Modale, attiva al reset. Annulla ed è annullata da G91. Può essere introdotta in tutte le modalità di funzionamento, rapido, lavoro, correzione raggio, G98,
formule permanenti.
G91 - programmazione quote assi incrementale Programmazione delle quote degli assi rispetto al punto precedentemente raggiunto.
Modale, annulla ed è annullata da G90.
Può essere introdotta in tutte le modalità di funzionamento, rapido, lavoro, correzione raggio, G98, formule permanenti.
È lecito programmare G91 con G91 già attiva.
La G91 è stata introdotta per diminuire la lunghezza del part-program quando i movimenti sono composti di molti tratti molto corti: sarà tipico l'uso della G91 nel caso di generazione di part-program con sistemi CAM oppure come restituzione di superfici digitalizzate.
L'effetto di G91 è limitato alle seguenti condizioni: a) è programmato un asse continuo in riga ISO con valore numerico esplicito (non con formula matematica); b) non è in corso un sottoprogramma speciale di sistema (ciclo fisso o M speciale);
L' eventuale programmazione di parametri assi in riga evoluta non è influenzata dalla G91 attiva: il parametro associato alla quota asse assume, come nel caso della G91 non attiva, il valore programmato.
Per togliere anche la necessità del punto decimale, gli incrementi programmati valgono micron moltiplicati per il valore del parametro HX al momento della programmazione della G91. Esempi: HX1 G91 Inizia la programmazione incrementale in micron HX10 G91 Inizia la programmazione incrementale in centesimi HX1000 G91 Inizia la programmazione incrementale in millimetri
Il valore di HX può essere anche non intero (e anche ottenuto con formule matematiche): per ottenere l'incremento sulla quota il valore programmato sarà diviso per 1000 e moltiplicato per il valore originario di HX.
ATTENZIONE
Il valore di HX deve essere programmato prima di G91 (le funzioni Gvengono elaborate durante l'ANALISI della riga, che procede con lo stesso ordine di programmazione): quindi se si programma :
G91 HX10
si fa un errore se si vuole programmare in incrementale in centesimi, perché il valore di HX, quando viene elaborata G91 non è ancora 10.
Con G91 attiva i valori numerici programmati in riga ISO su tutti gli assi continui (possono essere più di uno nella stessa riga), vanno a sommarsi algebricamente al valore precedente.
L'esempio che segue (solo didattico e non realistico) contiene una quantità di combinazioni possibili.
% X0 Quota 0 HX10 G91 Attiva programmazione incrementale in centesimi X100 Incremento 100*10/1000=1 mm, quindi quota 1mm !X=X+0,5! La quota non cambia, il parametro X va a 1,5mm X50 Il parametro era 1,5 incremento 0,5 quindi quota 2mm X0 Incremento 0 quindi quota ferma a 2mm X<X+1> Non è un numero quindi programmazione assoluta. Il parametro X valeva 2 quindi quota va a 3mm X-100 Quota 2mm HX100 G91 Cambio al volo del peso dell'incremento ai decimi X100 Quota 10+2=12mm X100,04 Quota 12+10,04=22,004mm X<100> Non è numero quindi progr. assoluta. Quota 100mm X100 Quota 110mm G90 Fine programmazione incrementale X<X+10> Il parametro X valeva 110 quindi quota 120 La programmazione incrementale richiede una particolare attenzione agli errori che si possono accumulare indefinitamente. L'accumulo degli errori può aversi:
1) Direttamente sul calcolatore che origina il part-program. Per evitare l'accumulo degli errori è necessario che si riporti l'errore di troncatura di ogni quota nel calcolo della quota successiva;
2) Sullo Z32 . Poiché i valori decimali (per esempio 0,001mm) non sono rappresentabili esattamente nel formato usato all'interno dello Z32 (floating point binario) si ha un errore non eliminabile ad ogni incremento programmato. L'entità di questo errore può essere al massimo di circa un miliardesimo della quota interessata al calcolo. Ciò significa che per esempio se si lavora su quote massime di 1000mm si può avere un errore massimo di 1 micron dopo la somma di 1000 incrementi. Da prove fatte si è visto che 100.000 incrementi di 0,01 mm partendo da quota 0 portano a una quota finale di 999,986 anziché 1000 (quindi l'errore è di 1,4 micron dopo 100.000 incrementi).
L'errore è molto piccolo, ma è bene che soprattutto in caso di programmi molto lunghi, si eviti l'accumulo indefinito che potrebbe essere inaccettabile.
Un mezzo può essere quello di inviare ogni tanto le quote assolute: si è visto sopra che mettendo il valore numerico entro parentesi acute questo viene interpretato come una espressione e quindi viene preso come programmazione assoluta della quota e del parametro.
Si è detto prima che la programmazione incrementale non agisce all'interno di sottoprogrammi di sistema: questa esclusione serve ad evitare inconvenienti nel caso che l'operatore "dimentichi" di annullare la programmazione incrementale prima di chiamare un sottoprogramma speciale (immaginiamo le conseguenze di un cambio utensile con sottoprogramma speciale se le quote sono considerate incrementali ...).
Questa limitazione non appare importante perché è prevedibile che la programmazione incrementale sia utile solo per part-program generati da calcolatore.
La limitazione non si applica ai sottoprogrammi e cicli fissi utente: dovrà essere cura del programmatore inserire una G90 se necessario.
G93 - programmazione feed come inverso del tempo La funzione ISO G93 permette di programmare la feed come inverso del tempo in minuti necessario ad eseguire il movimento.
- non cè alcun controllo della feed programmata e della lunghezza del tratto programmato: se la lunghezza del tratto è zero risulta una feed zero
- se gli assi sono in pollici non cambia nulla: il significato della G93 è comunque di impostare l'inverso del tempo in minuti nel quale devono essere eseguiti i tratti successivi - la velocità dei movimenti in rapido non è influenzata dalla G93 - la G93 disattiva la G94, G95, G33 e G131 ed è disattivata da G94, G95 e G131. 2-26 D. ELECTRON
- la G53 disattiva immediatamente la G93 e ripristina la G94 (programmazione in mm/minuto o unità/minuto) La velocità risultante dalla G93 è limitata al rapido.
La G93 rimane attiva anche con G98.
G94 - feed in mm/1' Programmazione feed in mm/min (o gradi/min o altre unità di misura). Modale, attiva al reset. Annulla G93, G95, G33 e G131. È annullata da G95, G93, G33 e G131. Con G94 attiva il parametro F (feed) ha valore di mm/min (o altre unità di misura).
G95 - feed in mm/giro Programmazione feed in mm/giro (o gradi o altre unità di misura). Modale. Annulla G93, G94, G33 e G131. È annullata da G93, G94, G33 e G131. Con G95 attiva il parametro F (feed) ha valore di mm/giro (o gradi o altre unità di misura).
L'avanzamento è regolato dai giri mandrino. Durante le accelerazioni e decelerazioni si può avere uno 'slittamento' del mandrino rispetto alla feed, per mantenere velocità ed accelerazioni ai massimi dinamici della macchina. Contrariamente a quanto accade per la G33 che lega rigidamente il moto asse al moto mandrino, questi slittamenti non sono più recuperati. Sono ancora validi i limiti massimi di feed descritti nel paragrafo dedicato a G1. Esempio:
JOG in G95 (Feed in mm/giro) o G96 (SPEED in m/min) C’è un’opzione (da mettere in taratura) che permette di eseguire un JOG con G95 (feed in mm/giro) o G96 (speed in m/min) attive.
Se si sceglie questa opzione si hanno due conseguenze: - non viene forzata, durante il movimento in jog, G94 (mm/min) e G97 (giri/min) - se è attiva una F programmata (per esempio quando si passa al JOG dal semiauto senza fare reset) viene assunta la feed programmata come feed di jog anziché prendere la feed di default
Questa prestazione è particolarmente utile per i torni, ma può essere valida anche per le frese, per le quali sarà significativa solo per il secondo effetto (feed di jog uguale all'eventuale feed programmata)
G96 - mandrino in metri/min (velocità di taglio costante) Programmazione velocità mandrino in m/min. Modale. Annulla G97 (giri/min) e G33. È annullata da G97 e G33. Funzione tipica per torni. Con G96 attiva il parametro S (speed) ha significato di m/min: la velocità del mandrino è calcolata perché la velocità di taglio risulti pari alla S programmata, considerando che la distanza dell'utensile dal centro di rotazione del mandrino è pari alla quota dell'asse con numero logico zero (normalmente X).
La quota dell'asse X è corretta con origini supplementari ed eventuali correzioni lunghezza. Esempio:
... N10 X100 (RAGGIO) N11 G96 S200
...
In N11 la velocità mandrino è 318.3 giri/min, ossia 200/(0.1*2*PI) per mantenere costante e pari a 200 m/min la velocità periferica del mandrino alla distanza di 100 mm dal centro di rotazione.
La velocità del mandrino è aggiornata in tempo reale per mantenere costante la velocità di taglio anche durante movimenti che variano la distanza dal mandrino.
Per evitare velocità eccessive quando la distanza è molto ridotta, con G96 attiva il parametro MS (che può essere programmato anche in precedenza) determina la massima velocità (in giri/minuto) mandrino consentita. La MS attiva è quella presente al momento dell'ultima S programmata: se viene riprogrammato il parametro MS, la limitazione non cambia fino a che non si programma una nuova S.
MS L'utensile può oltrepassare il centro di rotazione (da X+ a X-e viceversa): la velocità è comunque max determinata dal valore assoluto della quota X, e al passaggio attraverso lo zero è limitata dalla MS speed programmata.
Dopo la programmazione di G96 o G97 la velocità mandrino resta congelata all'ultima raggiunta fino a che non viene programmata una nuova S. Ciò consente per esempio movimenti di rapido (o di cambio utensile nel caso dei torni) senza indesiderate variazioni della velocità del mandrino determinate dai movimenti dell'asse X. Durante il congelamento non è attivo l'override mandrino.
G97 - mandrino in giri/min Programmazione velocità mandrino in giri/min. Modale. Attiva al reset. Annulla G96. È annullata da G96. Dopo G97 la velocità mandrino (funzione S) è programmata in giri/min.). Dopo la programmazione di G96 o G97 la velocità mandrino resta congelata all'ultima raggiunta fino a che non viene programmata una nuova S. Ciò consente per esempio movimenti di rapido (o di cambio utensile nel caso dei torni) senza indesiderate variazioni della velocità del mandrino determinate dai movimenti dell'asse X. Durante il congelamento non è attivo l'override mandrino.
G98 - interpolazione lineare speciale (5 assi) Attiva uno speciale modo di interpolazione adatto per successioni di punti molto ravvicinati. Consente la programmazione di fino a 5 assi contemporanei.
Modale. Disattivata da G99. Sospende l'efficacia di G0, G1, G2, G3, rototraslazione, specularità, fattore di scala.
Vedere capitolo dedicato “Interpolazione lineare su 5 assi”.
N.B. Funzione obsoleta, non usare.
G99 - annulla G98 Annulla l'effetto di G98. Modale. Ripristina lo stato di G0, G1, G2, G3, rototraslazione, specularità, fattore di scala sospesi da G98. Vedere il capitolo dedicato “Interpolazione lineare su 5 assi”.
G100 - comunicazione a logica Scrive il parametro AU di programma-pezzo nella word di logica AU.
Attiva solo nel blocco, con arresto.
È una istruzione da usare secondo le specifiche date dal costruttore della macchina utensile, che stabilisce l'effetto in logica della word AU.
Nella word di logica AU va la parte intera del parametro AU, codificata in BCD. Se il parametro AU è maggiore di 9999 nella word AU è trasferito 9999.
Questa prestazione è riservata al costruttore della macchina utensile: l'utente finale non deve usare questa istruzione, salvo particolari prestazioni concordate col costruttore. È bene che il costruttore protegga la logica di macchina da errata programmazione di G100 da parte dell'utente finale (per esempio usando il bit 5UC che segnala sottoprogramma di sistema in corso).
Esempio:
... N10 AU348.99 G100 (METTE IN AU IL VALORE 0348) ...
Lo Z32 prevede un altro modo di scambio dati tra logica e part-program: i parametri PAL [ ] vedere capitolo dedicato ai parametri, paragrafo “Parametri con indice”.
G101 - comunicazione da logica Trasferisce la word di logica AE nel parametro di programma-pezzo AE. Attiva solo nel blocco, con arresto. È da usare secondo le specifiche del costruttore della macchina utensile, che assegna in logica il significato di AE. La word di logica AE, considerata come intera BCD, è trasferita nel parametro AE. Se la word di logica non è in codice BCD, il risultato non è coerente. In ricerca blocco G101 è eseguita normalmente. Vedere anche il capitolo relativo alla ricerca blocco. Esempio:
... N10 G101 N11 !IF AE=95;GON40! ...
D. ELECTRON 2-29
CNC Z32 Programmazione Cap.2 - Funzioni preparatorie
Lo Z32 prevede un altro modo di scambio dati tra logica e part-program: i parametri PAL [ ] vedere capitolo dedicato ai parametri, paragrafo “Parametri con indice”.
G102 - salva stato Salva stato programma. Attiva solo nel blocco. Lo stato delle seguenti funzioni programmate: G37.. sezioni locali/globali G27C..ciclo fisso G53/G54sospensione correzioni origini e lunghezze, rototraslazione, specularità, fattore di scala G25 piano di lavoro Viene salvato da G102 in un 'silo' (stack) di memoria, per poter poi essere ripristinato con l'apposita G103. Lo stack ha capacità fino a 7 stati: se si tenta di salvare più di 7 stati (ossia ci sono più di 7 G102 non scaricate) il CN dà errore CN 1D14 col cursore che punta dopo G102. Riservata L'utilità di questa G si ha soprattutto nella stesura di sottoprogrammi generici, in cui si voglia al modificare lo stato del programma e poi ripristinare quello precedente, senza sapere quale fosse. Per costruttore esempio è possibile, all'interno di un ciclo fisso: - salvare lo stato con G102 - attivare sezioni locali di parametri o origini - usare e modificare le origini e i parametri locali - ripristinare le sezioni attive all'entrata del ciclo fisso Si consiglia l'uso di G102 e G103 a programmatori ESPERTI. Per gli esempi vedere la G103 (ripristino stato).
G103 - ripristina stato Ripristina l'ultimo stato programma salvato con G102 e predispone al ripristino lo stato salvato in precedenza. Attiva solo nel blocco, con arresto. Le condizioni ripristinate sono le stesse salvate da G102: G37... sezioni locali/globali G27C.. ciclo fisso G53/G54 sospensione correzioni origini e lunghezze, rototraslazione, specularità, fattore di scala G25 piano di lavoro Se non c'è in memoria uno stato salvato da ripristinare (ossia se si programmano più G103 che G102 ) il CN dà errore CN 1D14 col cursore che punta dopo G103.
ATTENZIONE
Il programmatore si assicuri che ad ogni G102 corrisponda una e una sola G103, e che non sia possibile, per esempio per giri di programma dovuti a salti condizionati, saltare una G103 o eseguirne una di troppo: le G103 successive andrebbero a ripristinare stati diversi da quelli voluti, con conseguenze imprevedibili.
Per il programmatore di cicli fissi di sistema e dei sottoprogrammi associati alle M speciali, si consiglia di non usare la G53/G54 per sospendere e poi riattivare le correzioni, ma piuttosto di usare la G102 seguita da G53 a inizio sottoprogramma, e G103 a fine programma per ripristinare lo stato. Questo per non avere problemi in caso di richiamo di sottoprogrammi speciali dall'interno di sottoprogrammi speciali.
Ci sono infatti in memoria DUE SOLE informazioni sullo stato di G53: una per lo stato normale (utente) e una per lo stato speciale (riservata al costruttore): una eventuale G54 nel sottoprogramma speciale chiamato cancellerebbe quindi anche la eventuale G53 del sottoprogramma speciale chiamante. Nell'esempio un ciclo fisso di foratura con conteggio dei fori fatti.
Si noti che il ripristino dello stato precedente fatto dalla G103 non significa ripristino delle origini o delle lunghezze precedenti: rimangono invece validi i nomi delle origini e il valore del parametro L esistenti prima di G103.
La G103 provoca anche l'attivazione del parametro L come correttore e il ricalcolo di tutte le origini solo se cambia per effetto della G103 lo stato di validità delle origini (G53/54) oppure della lunghezza (G43/44/45). Nell'esempio sono esaminate alcune situazioni (scarsamente pratiche ma istruttive dal punto di vista teorico).
... N8 G0 G54 G43Z G37OG OX0 OY0 OZ0 N8,5 L0 X0 Y0 Z0 tutti gli assi sono a zero, non ci sono origini né lunghezze N9!L=100! Z non cambia perché L è programmato in riga evoluta N10 G102 N11 G103 poiché non cambia stato di origini o lunghezze, non sono ricalcolate le correzioni e quindi Z non cambia N12 G102 N13 G53 non cambia nulla perché non ci sono origini e L non era attiva N14 G103 poiché lo stato cambia da G53 a G54 vengono ricalcolate le origini e la correzione lunghezza. La quota Z diventa -100 N15 G102 N16 OX1 è attivata l'origine globale X1, la quota X diventa p.e. +50 N17 G103 rimane attiva l'origine globale OX1, la quota X rimane +50 N18 G102 N19 G53 viene disattivata l'origine, la quota X diventa 0 N20 G103 cambia lo stato e quindi l'origine è ricalcolata: X=+50 N21 G37OL attivata la sezione locale. Resta attiva OX1 globale N22 G102 N23 G53 sono disattivate le origini N24 G103 qui cambia lo stato di G53 e sono ricalcolate le origini: la origine X1 globale a suo tempo programmata viene riattivata. Poiché la origine X1 era globale, è ripristinata come globale, anche se sono attive le origini locali
G104 - lettura dell'utensile sul mandrino Trasferisce nel parametro HX il valore di T dell'utensile che è montato sul mandrino. Attiva solo nel blocco. Esempio:
... N10 T101 M6 N11 G104 ....
Qui HX contiene 101 se l'utensile montato sul mandrino è effettivamente T101. Se è installata la gestione dell'utensile sostitutivo dell'utensile usurato e l'utensile montato è un sostituto di T101 il parametro HX conterrà il T.. dell’utensile effettivamente montato.
G105 - acquisizione quote assi Trasferisce nei parametri quote assi le quote fisiche attuali di tutti gli assi della macchina. Attiva solo nel blocco, con arresto. Nello Z32, al reset, tutti i parametri sono inizializzati con valore zero, esclusi i parametri associati alle quote assi che sono aggiornati con le quote rilevate al reset (equivale alla programmazione di G105 a inizio di part-program).
Dopo che un asse è stato programmato in una riga ISO il valore del parametro asse coincide, salvo errori di posizionamento, con la quota effettiva, in quanto il CN sposta meccanicamente l'asse fino alla quota programmata.
Dopo la programmazione delle origini cambiano le quote visualizzate ma non i parametri, che perciò non sono più rappresentativi delle quote fisiche. Analoga situazione si ha per tutte le funzioni che cambiano origini o correzioni (G53/G54, L ecc.).
Con la G105 le quote rilevate (riferite all'origine e correzioni attive al momento) sono trasferite nei parametri quote assi. Il trasferimento delle quote avviene per tutti e soli gli assi continui, inclusi gli assi non vivi.
Esempio della evoluzione delle quote e dei parametri quota. PROGRAMMA quota fisica X parametro X % +250 +250 G105 +250 +250 G0 X10 +10 +10 OX1 (+300 da origine base) -290 +10 G105 -290 -290 X<X> -290 -290
ATTENZIONE
La quota trasferita è quella reale misurata, e non quella comandata. Queste due quote possono essere diverse per errori di posizionamento (che comunque devono essere molto piccoli per rientrare sotto la soglia di posizionamento).
Per esempio, se si comanda X10 e l'asse va alla quota 9,998 la G105 acquisisce la quota 9,998 e non la quota 10.
Nel caso di assi ciclici vedere nel capitolo “Prestazioni speciali” il paragrafo “Assi continui ciclici”.
G106 - programmazione radiale Modale, sempre attiva al reset per frese, annulla ed è annullata da G107.
Questa funzione è usata sui torni, quando si vuole forzare la programmazione radiale. Sulle frese non è usata in quanto è automaticamente attiva al reset. Dopo G106 la programmazione dell'asse X e del parametro J sono sul raggio. Per l'esempio vedere G107.
G107 - programmazione diametrale Funzione specifica per torni. Modale, attiva al reset nel caso di torni, annulla ed è annullata da G106. Dopo G107 la quota X e il parametro J ad essa associato sono considerati come diametrali (ossia provocano uno spostamento fisico della metà). Esempio (valido nel caso di tornio):
% al reset è attiva programmazione diametrale N1 G0 X10 l'asse X va alla quota 5, diametro 10 N2 G106 programmazione radiale N3 X10 l'asse X va alla quota 10, diametro 20 N4 G107 X10 l'asse X va alla quota 5, diametro 10
G108 - limitazione accelerazione e velocità Modale, con arresto. La G108 è seguita da un carattere, che può essere A oppure F. G108A trasferisce il valore del parametro HX in un limite di accelerazione, G108F trasferisce il parametro HX in un limite di velocità.
Per esempio:
HX200 G108A limita l'accelerazione a 200 mm/sec/sec
HX8000 G108F limita la velocità a 8000 mm/min
L'uso della G108 implica la conoscenza dei limiti di accelerazione e di velocità imposti dal costruttore della macchina utensile: deve quindi essere usata in collaborazione col costruttore, oppure dal costruttore stesso in suoi sottoprogrammi speciali.
La G108 può agire solo in diminuzione, a partire dai limiti di sistema imposti dal costruttore della macchina utensile: l'effetto della G108 può essere eliminato programmando dei limiti superiori a quelli di taratura della macchina.
Una situazione in cui può essere utile la G108 è con formule permanenti (vedere capitolo dedicato) con fattori moltiplicativi delle quote assi superiori a 1. In questo caso infatti sono moltiplicate anche velocità ed accelerazioni, con possibili errori tipo CN 0013 e CN 0113 (assi fuori controllo): l'applicazione di limiti inferiori ripristina il corretto funzionamento degli assi e quindi elimina gli errori di inseguimento.
Si abbia per esempio l'asse rotante B con rapido di 5000 mm/min e accelerazione di 300 gradi/sec/sec.
Su questo asse si vuole applicare una formula permanente (per esempio per programmare B in mm su un diametro di 57.3) che moltiplica le quote dell'asse B per 2: senza la G108 risulterebbe variata anche la velocità massima (5000*2=10000 gradi/min) e l'accelerazione massima (300*2=600 gradi/sec/sec).
Per riportare l'asse B nei limiti consentiti si può limitare la velocità a 2500 gradi/min e l'accelerazione a 150 mm/sec/sec. La successiva applicazione della formula permanente (che moltiplica per due) riporta le velocità a quelle reali.
... N10 HX2500 G108F N11 HX150 G108A N12 B<<B*2>>
...
La limitazione viene applicata su tutti gli assi interessati al moto, per cui si ha un effetto collaterale indesiderato di ridurre velocità ed accelerazione anche di assi che non ne avrebbero bisogno. Se il rallentamento non è tollerabile si può a programma eliminare le limitazioni prima dei movimenti che non ne hanno bisogno.
I limiti su cui agiscono le G108 sono accessibili anche da logica programmabile per una variazione degli stessi in tempo reale: informarsi col costruttore della macchina utensile per evitare possibili incoerenze.
G109 - personalizzazione correzione raggio Modale. La G109 è seguita da una lettera che personalizza la correzione raggio (vedere anche capitolo “Correzione raggio utensile”). È possibile variare il numero di tratti esplorati in avanti sul profilo oppure ripristinare un modo obsoleto di correzione raggio. Sono possibili le seguenti combinazioni: G109A tre tratti esplorati in avanti (attiva al reset) G109B quattro tratti G109C cinque tratti G109D sei tratti G109E sette tratti G109Z modo obsoleto: tre tratti, possibili errori fino a 0.04 mm con raggi utensile programmati inferiori a 0.05 mm G109U G109V G109X
Le G109U e G109V servono per modificare il controllo della velocità in correzione raggio.
Lo Z32, in correzione raggio, tende a tenere costante la velocità di lavoro nel punto di contatto dell'utensile col profilo programmato.
Se il profilo contiene un arco interno il centro utensile (se il raggio è positivo!) percorre un arco più stretto dell'arco programmato. Se si tenesse costante la velocità del centro utensile si potrebbero avere velocità eccessive alla periferia.
In questi casi perciò lo Z32 diminuisce automaticamente la velocità del centro utensile.
Questo automatismo può essere non valido se in realtà il raggio è fittizio, ossia se non rappresenta il raggio reale (caso in cui un CAM ha precalcolato la traiettoria del centro dell'utensile torico e il raggio R impostato nel CN è solo la variazione, in più o in meno, rispetto al raggio teorico).
La G109U elimina l'ottimizzazione della velocità da parte del CN e forza velocità Uniforme.
La G109V (attiva al reset) ripristina l'ottimizzazione della velocità in correzione raggio
La G109X serve in casi particolari di profilo chiuso.
Lo Z32, in correzione raggio, esamina alcuni tratti in avanti sul profilo (da 3 con G109A a 7 con G109E) ed elimina i tratti intermedi se l'utensile interferisce.
In caso di profilo chiuso composto di pochi tratti (meno di quelli esplorati in avanti) il CN può decidere che c'è interferenza tra l'ultimo tratto e il primo e quindi eliminare tutto il profilo.
La G109X, se programmata in un punto intermedio di un profilo, forza il CN ad acquisire tutti i tratti già programmati e che siano anche geometricamente chiusi: se programmata in un punto intermedio di un profilo chiuso impedisce il controllo dell'interferenza tra il primo e l'ultimo tratto e quindi l'eliminazione del profilo.
G109R G109N È inoltre possibile programmare: G109R forza raccordo nello spigolo interno G109N annulla G109R L'inserimento di un raccordo in uno spigolo interno che provoca errore di programmazione
"PROFILO INCOMPATIBILE", risolve in pratica la situazione di errore . La G109R può essere programmata immediatamente prima dei blocchi che provocano la situazione di errore facilitandone la rilevazione.
G109S G109T
La G113A serve per ricostruire l’andamento curvilineo di una traiettoria programmata per punti, ossia con una sequenza indefinita di segmenti rettilinei.
Come specificato nel manuale dell’alta velocità, un arco di cerchio interrompe la sequenza dei segmenti arrotondabili.
Normalmente il CAM tiene conto delle dimensioni dell’utensile nello sviluppo del programma a punti, e quindi non è necessario usare la correzione raggio sul controllo numerico.
In qualche caso, e limitatamente a profili piani, l’utente vuole usare la correzione raggio di Z32 per adattare il profilo a un utensile usurato senza dover generare un altro profilo CAM.
Su spigoli interni la G113A e l’alta velocità continuano a funzionare correttamente, ma su spigoli esterni il sistema di correzione raggio introduce degli archi di raccordo per ottenere la rotazione dell’utensile intorno allo spigolo, che impediscono la ricostruzione della curva, e quindi si generano rallentamenti molto sensibili.
Con G109S è possibile forzare il sistema di correzione raggio di Z32 a non introdurre l’arco di raccordo ma a proseguire il segmento fino alla bisettrice dello spigolo, per consentire un corretto funzionamento della G113A e quindi evitare i rallentamenti.
G109S (modale, non attiva al reset) forza la correzione sulla bisettrice, mentre con G109T (modale, attiva al reset) si ripristina il normale funzionamento di Z32 con l’introduzione dell’arco di raccordo.
Essendo la G109S modale può essere programmata una volta sola a inizio programma., per esempio:
ESECUZIONE CON G109S%
T46M6
G109SG0X0Y0Z0
F10000S20000M3
G114RA.01HR.03
G113X G113A
G41...(correzione raggio)
...
La G109S ha efficacia solo su spigoli generati da due segmenti rettilinei. Se uno dei due tratti è un arco di cerchio (che impedirebbe comunque l’arrotondamento) si ha la normale introduzione dell’arco di raccordo.
La prosecuzione della traiettoria fino alla bisettrice provoca un allungamento del segmento che può essere molto forte ed indesiderato per spigoli acuti. Per esempio, col caso limite di spigolo di 180 gradi si avrebbe un allungamento infinito.
Poiché con spigoli acuti non sarà possibile nessun arrotondamento con G113A, e per evitare queste possibili indesiderate uscite di traiettoria, la G109S ha efficacia solo su spigoli di angolo inferiore a 16 gradi. Per spigoli con angolo maggiore viene introdotto il normale arco di raccordo che limita con sicurezza la traiettoria nell’intorno dello spigolo.
G110 - macrofunzioni per svuotatura La G110 è una funzione molto complessa da comprendere e difficile da documentare. E’ da considerare riservata alla D. Electron per la costruzione di macro su richiesta specifica del cliente.
Generalità Le macrofunzioni G110 consentono di progettare macro di svuotatura.
L'uso della G110 è in generale riservato al progettista della macro: il programmatore del pezzo
passa alla macro pochi parametri che individuano il profilo, l'inclinazione di passata, l'incremento di passata.
La macro, tramite le macrofunzioni G110, si incarica di determinare i punti di intersezione, le passate, i ritorni rapidi ecc.
La G110 viene programmata in generale nella forma:
G110TxPy oppure G110Tz dove: - x (da 0 a 5): identificatore macrofunzione - y (da 0 a 2): identificatore programma - z (3 o 4): identificatore macrofunzione
I significati dei codici sono: T0: "PRIMOPUNTO" su un profilo
T1: "ANALISI" di un profilo T2: "CONTORNO" su un profilo T3: cessazione visualizzazione riga T4: ripresa visualizzazione riga T5 : calcola le “QUOTE” del profilo a una certa prelunghezza P0: il profilo è nello stesso programma che contiene la G110 P1: il profilo è nel programma chiamante (caso tipico) P2: il profilo è nel programma secondo chiamante
Identificatore di programma P...
Il P da usare dipende dall'architettura dei programmi in cui è inserita la G110: P0 Il profilo e la G110 sono nello stesso programma. Non sarà l'uso normale della G110, in quanto ben difficilmente il programmatore del profilo vorrà inserire nel suo programma anche la macro di sgrossatura. Può servire per prove semplificate. P1 Caso normale: il profilo è contenuto nel programma che ha chiamato la macro (che contiene la G110). L'architettura dei programmi è la seguente: - la macro di svuotatura è contenuta in un sottoprogramma M speciale - il programma-pezzo contiene il profilo - la svuotatura è ottenuta passando alla M speciale i parametri necessari (normalmente numero riga inizio e fine, pendenza e incremento di passata) P2 Il programma che contiene il profilo non chiama direttamente il sottoprogramma che usa la G110, ma passa attraverso un sottoprogramma intermedio. Potrebbe essere utile nel caso di architetture complesse.
Prelunghezze
AN... AP...
Nella G110 sono usati i parametri 'prelunghezza', sia in entrata che in uscita.
Per prelunghezza si intende la distanza percorsa dal centro utensile da inizio profilo al punto specificato.
Con questi parametri è individuato in modo semplice ed univoco qualsiasi punto su un profilo.
Numero riga inizio e fine
HX... HY...
Il profilo è identificato con un numero di riga inizio e un numero di riga fine.
In entrata alla G110 parametro HX contiene il numero di riga inizio, il parametro HY il numero di riga fine.
Perché le righe inizio e fine siano trovate dalla G110, occorre che i numeri di riga siano scritti con queste regole: - non devono esserci spazi intermedi né a inizio riga - gli zeri iniziali devono essere omessi (la riga zero è N0) - i decimali sono indicati con la virgola e non col punto - non devono esserci zeri decimali non significativi - sono ammessi fino a 4 interi e 3 decimali oppure 5 interi con solo due decimali - se ci sono più righe con lo stesso numero viene assunta come valida la prima da inizio programma - non è necessario che il numero di riga inizio sia inferiore al numero di riga fine: basta che la riga fine sia raggiunta a partire dalla riga inizio.
Esempi (numero riga e HX corrispondente):
N0 HX0 N1 HX1 N1,3 HX1,3 N1.3 errore punto decimale N1234,567 HX1234,567 N 37 errore spazio intermedio N12345,56 HX12345,56 N03 errore zero iniziale N12,30 errore zero decimale non significativo N12345,567 errore troppi numeri significativi
Pendenza e incremento di passata HT... K...
Le passate di sgrossatura desiderate sono passate alla G110 con i parametri HT (pendenza) e K (incremento). La pendenza HT rappresenta in direzione e verso l'inclinazione del movimento durante la passata, secondo le convenzioni Z32: - pendenza espressa in gradi - verso positivo antiorario - 0 gradi coincidono col primo asse del piano L'incremento K rappresenta l'incremento della singola passata, espresso in millimetri (genericamente unità visualizzate se non sono millimetri).
La G110 usa solo il segno dell'incremento per determinare se le intersezioni col profilo sono positive o negative. Non ha importanza per la G110 il valore dell'incremento K: il valore dell'incremento K è gestito dalla macro.
Se K è positivo significa che l'incremento di passata è verso sinistra, K negativo significa verso destra.
Altezza retta di passata HR...
Serve a posizionare la retta di passata (di pendenza HT) nel piano di lavoro.
In entrata alla G110 è contenuta nel parametro HR. Rappresenta la distanza della retta di passata da un punto convenzionale (è l’origine in corso).
L'altezza della retta di passata è riferita all'origine in corso (la retta con altezza zero passa per l'origine in corso). Ciò permette di definire l'altezza della retta di passata anche senza avere precedentemente programmato G110T0 per leggere il suo valore iniziale.
Diversamente il progettista della macro potrà non programmare il valore numerico reale di HR : potrà allora compiere operazioni di incremento e decremento rispetto al valore iniziale che viene fornito in uscita dalla macrofunzione primopunto (G110T0..).
In particolare con HR HR+K la retta di passata viene spostata di un incremento.
Limitazioni sul profilo Non ci sono limitazioni particolari sul numero o tipo di tratti di profilo contenuti tra la riga inizio e la riga fine: un profilo più lungo richiede semplicemente più tempo per essere elaborato.
Ogni volta che si chiama la G110 il profilo specificato viene sempre eseguito tutto, anche se il movimento degli assi è solo parziale o nullo (è una specie di ricerca blocco), e quindi a fine G110 lo stato del CN (parametri e altre funzioni modali) è modificato in accordo ai contenuti del profilo.
Quindi il profilo deve essere completamente definito e ripetibile più volte senza bisogno di inizializzazioni speciali. In particolare: - il primo tratto di profilo non può essere un G2/G3 (il punto di inizio non è sempre lo stesso): meglio se è un G0 - il tratto finale deve essere chiuso - è meglio se eventuali dati parametrici usati nel profilo sono inizializzati nel profilo stesso: se si usano dati contenuti in parametri non inizializzati, accertarsi che i dati stessi non siano modificati alla fine del profilo. - rototraslazione, specularità e fattore di scala possono essere usati, a patto che siano attivati all'interno del profilo e disattivati prima della fine. Per sicurezza il progettista della macro può forzare un annullamento.
Per ragioni interne di organizzazione della macro ci sono anche le seguenti limitazioni: - non sono ammessi movimenti fuori dal piano di lavoro - non deve essere riprogrammata la terna di lavoro all'interno del profilo.
Specifiche tecniche Primo punto G110T0 Chiamata: G110T0Py (y=0, 1, 2)
Funzione: ricerca sul profilo specificato il primo punto incontrato dalla retta di passata che parte da meno infinito e si sposta parallelamente a se stessa in direzione dell'incremento di passata. Parametri di entrata: HX HY numero riga inizio e fine HT pendenza retta di passata K incremento di passata Parametri di uscita: HX HY quote del punto trovato (HX 1.o asse, HY 2.o asse) HR altezza corrispondente della retta di passata AN prelunghezza del punto trovato Note: - sono presi in considerazione solo i punti finali dei tratti di profilo: non viene calcolata l'intersezione con eventuali tratti circolari contenuti del profilo. - non sono generati movimenti.
Analisi G110T1 Chiamata: G110T1Py (y=0, 1, 2)
Funzione: ricerca sul profilo specificato e a partire dalla prelunghezza specificata la prima intersezione negativa e la prima successiva positiva con la retta di passata (intersezione positiva significa che il profilo attraversa la retta di passata in direzione concorde all'incremento)
Parametri di entrata: HX HY numero riga inizio e fine HT pendenza retta di passata HR altezza retta di passata K incremento di passata AN prelunghezza iniziale Parametri di uscita: AN prelunghezza intersezione negativa (-1 se non trovata) HX HY quote intersezione negativa (HX 1.o asse, HY 2.o asse) AP prelunghezza intersezione positiva (-1 se non trovata) HR HT quote intersezione positiva (HR 1.o asse, HT 2.o asse) Note:
- se si desidera conoscere la prima intersezione positiva e la successiva negativa basta invertire in entrata il segno di K - se ci sono altre intersezioni prima della prelunghezza iniziale AN non sono prese in considerazione - le intersezioni possono cadere in un punto intermedio dei tratti di profilo - se il punto di profilo corrispondente alla prelunghezza di entrata è già negativo rispetto alla retta di passata la G110 restituisce che la prima intersezione negativa coincide col punto iniziale - non sono generati movimenti assi
Contorno G110T2 Chiamata: G110T2Py (y= 0, 1, 2)
Funzione: esegue il tratto di profilo compreso fra la prelunghezza iniziale e la prima intersezione positiva con la retta di passata Parametri di entrata: HX HY numero riga inizio e fine HT inclinazione retta di passata HR altezza retta di passata K incremento di passata AN prelunghezza iniziale Parametri di uscita: AN prelunghezza intersezione positiva (-1 se non trovata) Note:
- se non trova intersezione esegue il profilo a partire dalla prelunghezza iniziale fino alla fine - se si vuole contornare fino alla intersezione negativa basta invertire l'incremento K in ingresso -per cause di organizzazione interna durante il contorno si ha un rallentamento a fine di ogni tratto programmato
In G110T2, se G114 attiva, non rallenta a fine di ogni tratto
Il profilo eseguito con G110T2 (contorno), per necessità di semplificazione dei calcoli interni, non ha una velocità continua, così come avrebbe se fosse eseguito direttamente.
Si ha un forte rallentamento alla fine di ogni tratto elementare che costituisce il profilo.
Il rallentamento non c’è se è attiva la G114: in questo caso la parte di profilo eseguita con G110T2 ha le stesse velocità che avrebbe se eseguita direttamente.
Si noti che la G114 non è compatibile con la G95 (velocità di taglio in mm/giro) e quindi questa prestazione è poco significativa per i torni, che usano in prevalenza la G95.
In G110T2, se in entrata AN<0 esegue il contorno in continuo
L'entrata in G110T2 con AN<0 assume un significato particolare: quello di eseguire tutto il contorno indicato come se fosse eseguito direttamente. In pratica se AN<0 la G110T2 equivale a: - GOPx salto al programma che contiene il profilo da eseguire - GON..-N.. salto alla serie di righe che definiscono il profilo - G26 alla fine della serie di righe Quindi, con AN<0 la G110T2: - non fa rallentamento a fine di ogni tratto, anche con G114 non attiva - ignora la retta di passata, e non tenta intersezioni esegue tutto il profilo, incluso il tratto iniziale di trasferimento tra il punto attuale del centro fresa e il punto iniziale del profilo
Stop visualizzazione G110T3 Chiamata: G110T3
Funzione: cessa la visualizzazione delle righe di programma Parametri di entrata/uscita: nessuno Note:
- se G110T3 è già attiva viene ignorata - è utilizzabile anche fuori dalle macro di svuotatura - serve per evitare inutili perdite di tempo: se non si usa la G110T3 il CN deve visualizzare tutti i blocchi contenuti nel profilo specificato dalla G110. Il risultato è, soprattutto per profili lunghi, una sosta a inizio di ogni G110.
Start visualizzazione G110T4 Chiamata: G110T4
Funzione: riprende la visualizzazione interrotta da G110T3 Parametri di entrata/uscita: nessuno Note:
- se G110T4 è già attiva viene ignorata
Quote G110T5
Chiamata: G110T5Py (y= 0, 1, 2)
Nella descrizione che segue si usa la parola "profilo" per indicare il percorso del centro fresa. Se non siamo in correzione raggio il percorso del centro fresa ed il profilo programmato coincidono, mentre se siamo in correzione raggio ciò non è più vero.
Funzione: serve per calcolare le quote di un profilo a una certa prelunghezza. È simile alla G110T1 (analisi), ma con diversi parametri di ingresso (non serve la retta di passata) e di uscita (fornisce le quote del profilo).
Parametri di entrata (non è necessario che siano programmati nella stessa riga): AN prelunghezza a cui calcolare le quote HX numero riga iniziale (identico a G110T1) HY numero riga finale (identico a G110T1)
Parametri di uscita: AN viene >= 0 (tipico 0) se < della lunghezza complessiva del profilo, -1 se AN in ingresso era > della lunghezza complessiva del profilo
HR,HT quote del punto del profilo. Se in uscita AN -1 sono le quote del punto finale del profilo.
AP,HX,HY non significativi
Suggerimenti pratici La G110 permette di realizzare macro di sgrossatura/svuotatura anche di notevole complessità.
Sarà bene però che il progettista della macro tenga presente alcuni aspetti dell'uso della G110 non proprio evidenti in prima battuta, per evitare problemi in caso di profili con condizioni geometriche limite.
Precisione dei calcoli
I calcoli fatti dallo Z32 per determinare le intersezioni della retta di passata col profilo analizzato sono tutti in virgola mobile, con precisione di 31 bits (8 cifre decimali). Gli errori di calcolo, accumulati nel vari passaggi, non arrivano normalmente al micron.
Analisi da inizio profilo con punto iniziale già negativo
L'analisi di un profilo può partire da qualsiasi punto: il parametro AN in ingresso alla macro specifica la quantità di profilo che deve essere scartata prima dell'analisi. Se il punto iniziale del profilo analizzato è già negativo il punto iniziale viene assunto come prima intersezione negativa.
Questo serve per evitare problemi nel caso che la retta di passata intersechi il profilo esattamente a fine di un tratto: per approssimazioni di calcolo infatti la retta di passata potrebbe inserirsi in un 'vuoto’ di profilo e l'intersezione potrebbe non essere trovata.
Tenere conto della forzatura in fase di decisioni logiche.
Analisi a partire da un punto che sta sulla retta di passata
Per sbrogliare situazioni complesse derivanti da intersezioni multiple con la retta di passata può essere necessario ripetere l'analisi dopo trovate le prime due intersezioni (una negativa e la successiva positiva) per trovare la seconda intersezione negativa e la seguente positiva e così via.
Si può ripetere l'analisi in questo caso partendo dalla prelunghezza della intersezione positiva precedente.
Se si trasferisce semplicemente il parametro AP in AN prima di ripetere l'analisi il punto iniziale è esattamente sulla retta di passata: per approssimazioni di calcolo il punto può essere considerato come prima intersezione negativa oppure no.
Si consiglia di iniziare l'analisi successiva almeno 1 micron più avanti dell'intersezione positiva precedente (ossia AN=AP+.001).
Nell'esempio di figura, per trovare le intersezioni N2 e P2 si può programmare: AN0 HX10 HY20 HR... HT30 K8 G110T1P1 (1.a analisi) AN<AP+.002> HX10 HY20 HR... HT30 K8 G110T1P1 (2.a analisi) Se nella seconda analisi si programma AN=AP si possono avere senza possibilità di previsione (dipende dalle approssimazioni di calcolo) due diversi risultati: - si trovano le intersezioni N1/P1 - si trovano le intersezioni N2/P2
Retta di passata tangente a un arco di cerchio
Nel caso che la retta di passata sia esattamente tangente a un arco di cerchio contenuto nel profilo si può avere (il risultato dipende dalle approssimazioni di calcolo): - il cerchio non interseca - il cerchio interseca in due punti coincidenti - il cerchio interseca in due punti distinti molto vicini
Retta di passata coincidente con un segmento di retta
Nel caso che la retta di passata sia esattamente coincidente con un segmento di retta contenuto nel profilo si possono avere vari risultati, al solito dipendenti dalle approssimazioni di calcolo e quindi imprevedibili.
Sono possibili tutte le combinazioni: - il segmento non interseca ed è tutto a destra - il segmento non interseca ed è tutto a sinistra - il segmento interseca da destra a sinistra, il punto di intersezione è in un punto qualsiasi interno al segmento.
Ordine dei punti di intersezione
Può essere necessario, all'interno della macro, discriminare se un punto di intersezione è più avanti o più indietro, sulla retta di passata, rispetto a un altro punto. Se i punti sono P1 (coordinate X1 Y1) e P2 (coord. X2 Y2) e HT è l'inclinazione della retta di passata, la distanza orientata dei due punti è data dalla formula: d = (X2 - X1) * cos (HT) + (Y2 - Y1) * sen (HT) La distanza trovata è positiva se il punto P2 è più avanti di P1 sulla retta di passata.
Tempi di esecuzione
Il tempo di esecuzione della G110 dipende dalla lunghezza del profilo: in pratica ogni G110 esegue l'esplorazione completa del profilo, con in più i calcoli di intersezione, che possono durare da 0,1 a 15 millisecondi circa per ogni tratto di profilo.
Il tempo di esecuzione di una intera macro è la somma dei tempi delle istruzioni contenute nella macro: le G110 e le altre. Se il profilo è complesso possono essere richieste molte analisi supplementari per discriminare intersezioni multiple: il tempo di esecuzione si allunga di conseguenza.
G111 - funzioni speciali di copiatura La funzione consente la programmazione di movimenti di copiatura con tastatore analogico. Per maggiori informazioni consultare Il Manuale M46 "Digitalizzazione di modelli su Z16 e Z32".
G112 - sincronizzazione con logica ML Lo Z32, durante l'esecuzione automatica di un programma, calcola in anticipo rispetto alla effettiva esecuzione, i tratti di movimento. Può essere necessario in alcuni casi , quando si vogliono scambiare dati con la logica programmabile, eliminare questa sfasatura: il part-program deve attendere la logica per sincronizzare lo scambio dati.
Ci sono molti modi per operare questa sincronizzazione : un modo semplice è l'uso della funzione G112. Quando lo Z32 incontra una G112 non riprende la lettura del part-program fino a che non è passato almeno un ciclo di logica completo.
La G112 è attiva solo nel blocco ed è una funzione che richiede l'arresto degli assi. Non può essere programmata durante la correzione raggio o comunque quando ci sono elementi di profilo non risolti.
G113H - G113L - interpolazione a 2 millisecondi È possibile interpolare e controllare gli assi ogni 2 millisecondi (in precedenza il ritmo di aggiornamento era fisso a 8 millisec).
Ci sono due "G" che comandano il passaggio da 8 a 2 millisec e viceversa.
G113H comanda i 2 mS
G113L comanda gli 8 mS
È lecito (e non ha effetto) comandare G113H o G113L già attive.
Al reset è attiva per default la modalità di controllo assi definita nelle tarature macchina (tempo ciclo controllo assi = 2.8 mS).
G113H/L può essere programmata dovunque nel programma, anche in correzione raggio.
ATTENZIONE
A causa del serbatoio di blocchi preelaborati presenti in memoria l'effetto di G113H/L è anticipato rispetto al punto in cui viene programmata. L'entità dell'anticipo non è predeterminabile (al massimo allo stato attuale circa una decina di blocchi, ma potrebbe variare in seguito se verrà aumentata la memoria a disposizione del serbatoio). Se si desidera una certezza del punto in cui G113H agisce, prima di G113 occorre programmare una funzione "con arresto": la più innocua è G4 (ritardo) TT0.
Se tutto un programma deve essere con interpolazione veloce basta una G113H all'inizio.
G113P - G113F - G113X scelta tra moto proporzionale, feed-forward, MODO X Z32 ha tre modi di interpolazione: - il modo "normale" ha l'anticipo della velocità (feed-forward), che permette grandi precisioni di movimento (l'errore di inseguimento è molto basso, praticamente zero anche a velocità elevate)
- il modo con "errore proporzionale" non ha l'anticipo di velocità e quindi l'errore di inseguimento non è trascurabile, ma i movimenti sono più "morbidi" del modo normale. - il “MODO X” unisce la migliore precisione del modo “normale” ed il miglior grado di finitura del modo proporzionale (morbido)
Il modo proporzionale (morbido) è attivo con G98 (interpolazione solo lineare ottimizzata per piccoli tratti). Ci possono essere però situazioni in cui la morbidezza del movimento è utile anche fuori della G98.
Sono state perciò attivate tre opzioni nella G113:
- G113P attiva il modo proporzionale (morbido) - G113F attiva il modo con feed-forward (rigido) - N.B. Funzione obsoleta, usare G113X. - G113X attiva il “MODO X”
Una particolare utilità trova la G113P nel caso di sequenze di movimenti in G10 (posizionamento grossolano): la curva della velocità risulta del tutto morbida e quindi viene eliminata la sensazione di urto meccanico che poteva dare il G10 su macchine con prestazioni dinamiche elevate. I risultati della G113X sono, con macchine meccanicamente rigide, superiori ad entrambi i modi G113P e G113F: si ottiene maggiore velocità e migliore grado di finitura.
Per macchine di minore rigidità (grandi dimensioni) e superfici sculturate è possibile che si abbiano risultati migliori con la G113P, in quando la maggiore precisione dei movimenti imposta dalla G113X comporta maggiori accelerazioni che possono eccitare oscillazioni meccaniche che alla fine segnano il pezzo. La validità e la applicabilità di questa prestazione devono essere valutate dal costruttore caso per caso.
Per attivare il “MODO X” si deve programmare G113X, che è modale e disattiva G113P e G113F.
La G113X viene disattivata programmando G113F o G113P.
La programmazione di G113X presuppone che sia attiva G114, diversamente si ha allarme CN2C14 PARAMETRI INCOMPATIBILI.
Per semplicità di programmazione la G113X attiva automaticamente anche G113H (2 millisec) e G113V (gestione avanzata della velocità).
Con G113X attiva non ha effetto programmare G113L (8 mS) e G113S (gestione standard della velocità): sono ignorate.
Con G113X attiva non ha effetto la G113C, che opera solo con moti morbidi G113P.
La G113X viene sospesa durante i movimenti di maschiatura rigida G63 ed i movimenti di misura G61, G62.
Perché la G113X possa dare le sue migliori prestazioni occorre avere introdotto nel controllo numerico vari parametri di taratura, cosa che è facilmente ottenibile con la funzione G125.
Dopo aver sostituito o cambiato le tarature di azionamenti o schede del CN. deve essere eseguita la funzione G125 prima di poter usare la G113X.
La G113X ha effetto su tutti i movimenti, incluso il rapido G0, che vengono eseguiti con un errore di inseguimento minimo anche durante le rampe di accelerazione e decelerazione. Rispetto alla G113F (che ha il minimo errore di inseguimento) si ha una riduzione dell’errore di un fattore almeno 10: da alcuni decimi di millimetro a pochissimi centesimi. È stata introdotta la relativa taratura in chiaro nel programma delle tarature che definisce quale modo è attivo al reset se G113P (proporzionale), G113F (feed-forward) o G113X (MODO X).
Queste funzioni fanno parte del sistema dell’Alta velocità, per maggiori dettagli sul funzionamento e strategie di uso vedere il manuale relativo M146 ‘Alta velocità.
2.1.60 G113C - G113N - correzioni traiettorie per moti morbidi Ci sono due funzioni della G113:
G113C: correzione moti morbidi inserita
G113N: correzione moti morbidi disinserita
Con G113C si inserisce una correzione della traiettoria che riduce drasticamente l'errore di forma introdotto con moti morbidi (G113P oppure G98)
G113N (attiva al reset) annulla la G113C e quindi torna al funzionamento precedente. Queste due funzioni fanno parte di un sistema di gestione dell'alta velocità. Per maggiori dettagli vedere il relativo manuale M146 “Alta velocità”.
G113A - G113Z - arrotondamento Funzione tipica dell’Alta velocità (G114). La ricostruzione della curva originaria a partire dalla serie di segmenti è possibile se sono attive contemporaneamente la G114 e la G113A (Arrotondamento). G113A : arrotonda ogni segmento programmato in funzione del precedente e del seguente, con l’obbiettivo di mantenere la traiettoria continua il più possibile. G113Z : annulla G113A (attiva al reset). Queste due funzioni fanno parte del sistema dell’alta velocità ; per maggiori dettagli vedere il Manuale relativo M146 “Alta velocità”.
G113V - G113S - per gestione avanzata della velocità Z32 può gestire la velocità degli assi in modo molto più preciso.
Poiché questa gestione avanzata della velocità richiede una quantità di calcoli aggiuntivi, è eseguibile solo con macchine dotate di microprocessori veloci (486DX4 o Pentium).
La gestione avanzata della velocità è particolarmente utile con programmi di alta velocità (G114 e part-program composto di molti piccoli tratti in G1), ma dà prestazioni migliori anche nel funzionamento normale.
In particolare, anche in assenza di G114 la gestione avanzata della velocità elimina i rallentamenti che si hanno in G1 per effetto di blocchi molto corti ed ottimizza i tempi di posizionamento finale, soprattutto su assi definiti come "morbidi" nelle tarature di macchina (Ntar superiore a 2).
I tempi di posizionamento e di rallentamento sugli spigoli si accorciano notevolmente con la gestione avanzata, pur rimanendo morbidi i movimenti di macchina.
La gestione avanzata della velocità è attiva al reset se è inclusa nelle tarature di macchina, ma si può attivare o disattivare da part-program con le due G113V e G113S.
G113V (modale, con arresto) attiva la gestione avanzata della velocità. Mnemonico G113V = avanzata.
È lecito e non ha effetto programmare G113V con gestione avanzata già attiva.
Se il microprocessore dichiarato nelle tarature di macchina non è almeno 486DX4 o Pentium viene l’allarme di programmazione:
CN 5314 PROCESSORE INSUFFICIENTE
G113S (modale, con arresto) disattiva la gestione avanzata della velocità. Mnemonico G113S = Standard
È lecito e non ha effetto programmare G113S con gestione avanzata non attiva.
G114 - attivazione del calcolo della velocità Modale. Funzione tipica dell’alta velocità.
Per eseguire un profilo composto di tanti piccoli tratti lineari è necessario esplorare in avanti, sul profilo, una certa quantità di blocchi e calcolarne quindi la velocità di esecuzione. G114 : attiva il calcolo della velocità e l’esplorazione di molti blocchi in avanti sul profilo. Annulla G115 ed è annullata da G115. Insieme a G114 possono essere programmati alcuni parametri (I, RA, HY, HR, J, K) che ne determinano la funzionalità. All’accensione, ad inizio programma, oppure programmando G114 KA0, questi parametri assumono i valori impostati nelle tarature della macchina. Questa funzione fa parte del sistema dell’Alta Velocità, per maggiori dettagli vedere il Manuale relativo M146 ‘Alta Velocità’.
G114 e visualizzazione righe di part-program Le righe di un part-program si possono raggruppare in due categorie:
A) Righe operative Sono le righe che "fanno" qualcosa, ossia che contengono movimenti assi, o funzioni ausiliarie.
B) Righe non operative
Sono tutte le altre. Possono essere righe vuote, o di commento, o righe di puro calcolo, o di assegnazione di valori a parametri numerici, o in generale righe evolute.
La visualizzazione di una riga impegna alcune risorse del sistema operativo Z32 che sono condivise dalla G114 per i blocchi esplorati in avanti.
Nella definizione delle prestazioni della G114 era stato preventivato che esistesse una riga da visualizzare per ogni movimento programmato, come è normale quando il part-program è costituito da una sequenza di movimenti calcolati da CAM.
Esistono però situazioni in cui ci sono molte righe "non operative" frapposte alle righe "operative" di movimento. Un caso tipico è che, per casi molto semplici o speciali, è Z32 che calcola, magari con salto a sottoprogramma e con vari calcoli matematici, i punti della curva.
La strategia di visualizzazione delle righe "non operative" è la seguente:
- in semiautomatico anche le righe non operative sono sempre visualizzate - in automatico, sia da memoria che in DNC, le righe non operative non sono visualizzate Con questa strategia la G114 funziona nello stesso modo anche se i punti successivi sono calcolati dallo stesso Z32 con molte righe "non operative" tra un punto ed un altro. Resta la limitazione che il tempo di calcolo sia coerente con la feed programmata e con le lunghezze dei segmenti calcolati.
G115 - disattivazione del calcolo della velocità Modale attiva al reset. G115 : disattiva una eventuale G114 calcolo della velocità, forza G113P. Questa funzione fa parte del sistema dell’Alta Velocità, per maggiori dettagli vedere il Manuale
relativo M146 ‘Alta Velocità ‘.
G116 - lavorazioni su piano inclinato Lo Z32 permette di eseguire lavorazioni su piani inclinati usando la prestazione generale delle formule permanenti. Con questa soluzione però ci sono alcune limitazioni nell'uso, dovute alle formule permanenti.
È possibile programmare la G116 (rototraslazione del piano di lavoro) su tre assi.
Il formato completo della G116 è:
G116 KA... X... Y... Z... I... J... K...
NB: uno solo tra I J K può essere programmato nella stessa riga Il parametro KA sceglie la funzione della G116: - se KA0 viene disattivata la G116 - se KA1 viene attivata la G116, secondo i valori di X Y Z I J K - se KA2, senza parametri supplementari, genera automaticamente gli angoli necessari per ottenere l’orientamento del piano ortogonale al mandrino. Questa prestazione esiste solo in presenza di G117 “generalizzata”, diversamente si ha errore CN2C14 “PARAMETRI INCOMPATIBILI”. - KA non programmato e programmati uno tra X Y Z I J K equivale a KA1 - se non programmati nessuno tra KA X Y Z I J K viene attivata la G116 con gli stessi parametri dell'ultima G116 programmata in precedenza. La G116 viene salvata in memoria permanente, quindi rimane anche dopo uno spegnimento del CN. È quindi possibile, nel caso che avvenga un arresto macchina con G116 attiva e una punta in un foro inclinato, riaccendere la macchina, in semiautomatico programmare una G116 senza parametri, passare in Jog ed estrarre l'utensile comandando i movimenti di jog dai pulsanti. I parametri X Y Z I J K determinano la geometria della G116, che è di tipo incrementale e associativa. X Y Z individuano la origine del nuovo sistema di assi. individuata nel sistema di assi in vigore. I (o J o K), che possono essere programmati uno alla volta, individuano la rotazione del nuovo sistema di assi, intorno all'asse X (o Y o Z) nel sistema di assi in vigore. In altre parole, la G116 introduce una rotazione di angolo I (o J o K) intorno al punto di coordinate X, Y, Z nel sistema di coordinate in vigore prima di programmare la G116. I J K devono essere espressi in gradi. La riga che contiene la G116 non genera alcun movimento. Sulla stessa riga di programmazione di G116 può essere programmata una traslazione più una rotazione, il sistema eseguirà in sequenza prima la traslazione e poi la rotazione. La quota visualizzata è sempre riferita al sistema di coordinate rototraslate da G116. L'ordine in cui sono programmate G116 KA X Y Z I J K non ha importanza. È possibile attivare G116 con G122 già attiva. La G116 è compatibile con G117 e G118 ma non è compatibile con le formule permanenti, né con movimenti di copiatura (G111). Come con le formule permanenti, i fine corsa previsionali non sono attivi quando è in corso una G116, ma sono attivi i fine corsa in tempo reale. La G116 agisce su tutti i movimenti programmati, rapido o lavoro, lineari o circolari.
ATTENZIONE
Per evitare errati spostamenti il primo movimento dopo la programmazione di G116, che ha una traslazione del sistema di riferimento, deve contenere le quote degli assi numero logico 0, 1, 2 (normalmente X, Y, Z).
La G116 è incompatibile con G43/G44/G45, diversamente genera allarme CN5B14.
La G25 (selezione della terna di lavoro) non ha influenza sulla G116, che agisce secondo il numero logico degli assi. Perché la G116 possa funzionare in modo corretto, l'asse X deve avere il numero logico 0, Y il numero logico 1 e Z il numero logico 2. In realtà, se vogliamo essere precisi, se X Y o Z non corrispondono agli assi con numero logico 0 1 e 2, dovremmo sostituire in tutti gli esempi fatti: - a X il nome dell'asse con numero logico 0 - a Y il nome dell'asse con numero logico 1 - a Z il nome dell'asse con numero logico 2
Nell'esempio che segue è riportato un part-program (che contiene solo rotazioni di 90 gradi per maggiore facilità di comprensione) con segnate accanto le quote riferite al sistema di coordinate diritte (Xr Yr Zr) e visualizzate a video (Xv Yv Zv), raggiunte a fine movimento
Il fatto che sia possibile programmare un solo asse di rotazione alla volta è una limitazione necessaria per ottenere la massima chiarezza relativamente all'ordine in cui devono essere fatte le eventuali rotazioni multiple: non porta infatti lo stesso risultato programmare per esempio prima una rotazione intorno a X e poi intorno a Y, oppure prima intorno a Y e poi intorno a X.
Rotazioni intorno a più assi possono essere ottenute programmando in cascata (su righe successive) le varie rotazioni nell'ordine desiderato.
G117 - RTCP per teste rotative Modale.
La G117 gestisce l’RTCP (rotation tool centre point) per una testa mandrino montata su assi rotativi. La testa può ruotare intorno a un asse (testa monorotativa) o a due assi in cascata, trainante e trainato (testa birotativa).
Formato generalizzato di programmazione della G117:
G117 KA.. RA .. I.. J.. K..
Per una descrizione dettagliata sull’uso e funzionamento, vedere l’apposito manuale M154, rotazioni (RTCP).
G118 - RTCP per tavola girevole Modale.
La speciale funzione G118 serve per la gestione dell’RTCP (rotation tool centre point) di una macchina utensile avente una tavola girevole monorotativa o birotativa “tilting” (uno o due assi, inclinati comunque rispetto alla terna di assi principali).
Il formato generale per l’attivazione della G118 è:
G118 N I… J… K… X… Y… Z…
oppure
G118 ‘nome asse’ I… J… K… X… Y… Z…
Per una descrizione dettagliata sull’uso e sul funzionamento vedere l’apposito Manuale M154, rotazioni (RTCP).
G118 HR1 - RTCP per tavola girevole con movimenti combinati lineari/rotativi Modale.
La speciale funzione G118 HR1 serve per la gestione dell’RTCP (rotation tool centre point) con movimenti combinati tra assi rotativi e lineari, di una macchina utensile avente una tavola girevole monorotativa o birotativa “tilting” (uno o due assi inclinati comunque rispetto alla terna di assi principali).
Il formato generale per l’attivazione della G118 è:
G118N HR1 X… Y… Z…
oppure
G118 ‘nome asse’ HR1 X… Y… Z…
Per una descrizione dettagliata sull’uso e sul funzionamento vedere l’apposito Manuale M154, rotazioni (RTCP).
G119 - per semiautomatico e jog con allarmi rilevatori Per consentire il movimento degli assi in semiautomatico o in jog con rilevatori in allarme (tipo CNxx12) è stata introdotta la G119, che ha queste caratteristiche: - ha effetto solo se programmata da una riga di semiauto - è modale, trasparente al reset - se G119 attiva sono ignorati gli allarmi rilevatori tipo 12 - è automaticamente resettata se si lancia un programma automatico o se si tenta di eseguire un qualsiasi sottoprogramma (anche di M speciale) da semiautomatico
Per muovere gli assi in jog o semiauto con allarmi 12 occorre: - entrare in semiautomatico - comandare G119, premere Enter e poi START - dare RESET (scompaiono gli allarmi rilevatori) - operare normalmente in semiauto o jog
ATTENZIONE
Con G119 attiva i fine corsa software sono disabilitati su tutti gli assi, perché i rilevatori possono essere a quote non significative e quindi possono impedire il movimento. Spetta all'operatore mettere in atto la massima cautela per evitare collisioni e danni.
In ogni caso, per cautela, Z32 attiva automaticamente la condizione di TEST (riduzione del rapido a 1/5) quando G119 è attiva.
G120 - RTCP per tavola girevole - coordinate del centro tavola La funzione G120 fa parte del sistema di gestione RTCP per tavola girevole (G118). La G120 svolge lo scopo di fornire al sistema le coordinate del centro tavola ovvero le coordinate del centro di rotazione.
La G120 funziona solo in semiautomatico (MDI) da riga di comando.
La forma di programmazione è:
G120 I… J… K….
Per una descrizione dettagliata sull’uso e sul funzionamento vedere l’apposito Manuale M154, rotazioni (RTCP).
G121 - fattori di scala differenziati per zone La funzione la G121 permette di programmare fattori di scala differenziati per asse e per zone per programmazione di soli blocchi lineari.
Si possono programmare fino a quattro zone e per ogni zona si può dare ad ogni asse della terna di lavoro un diverso fattore di scala.
Per ulteriori dettagli la G121 è descritta da un apposito Manuale M155 ‘Fattori di scala differenziati per zone’.
Questa funzione fa parte del sistema RTCP (rotation tool centre point) e svolge il compito di compensare gli errori di montaggio pezzo durante il movimento degli assi rotativi su tavole tilting.
Il formato generale di programmazione è:
G122 KA… I… J… K….
Per una descrizione dettagliata sull’uso e sul funzionamento vedere l’apposito Manuale M154, rotazioni (RTCP).
G123 - limitazione del campo di lavoro Con la G123 è possibile limitare il campo di lavoro per le quote programmate degli assi continui (numero logico da 0 a 12).
ATTENZIONE
La G123 agisce solo sulle quote finali programmate di movimenti lineari. Non è prevista l'intersezione del movimento con la quota limite, ma solo la sostituzione (o il test a seconda della modalità) della quota finale programmata.
Per ogni asse continuo è definibile un campo di lavoro, definito da un estremo superiore ed un estremo inferiore (detti anche limite positivo e limite negativo), che limita la quota programmata dopo che ha subito tutte le trasformazioni attive (G121, fattori di scala ecc.).
All'accensione della macchina i limiti per ciascun asse continuo sono messi a - infinito i negativi e a + infinito i positivi. Programmazione di G123 Sintassi: G123 KA0 disattiva entrambe le limitazioni positiva e negativa G123 KA1 [X...] [Y...] set limiti positivi e attiva limitazione positiva, se assi già oltre i limiti viene allarme CN5514 G123 KA-1 [X...] [Y...] set limiti positivi e attiva la limitazione negativa, se assi già oltre i limiti viene allarme CN5514 G123 KA3 modo allarme: se una delle quote è fuori campo viene allarme CN5614 G123 KA4 ripristina modo normale, le quote sono limitate al campo di lavoro G123 KA5 abilita modo arresto: se una o più quote programmate sono fuori campo arresta tutti i movimenti e li riprende solo quando tutte le quote sono rientrate nel campo di lavoro.
Al reset e a inizio programma le condizioni di default sono le seguenti:
- limiti di lavoro da +infinito a -infinito su tutti gli assi continui - entrambe le limitazioni positiva e negativa non sono attive (G123KA0) - la predisposizione è per non dare allarme e per limitare le quote che fuoriescono (G123KA4) Regole e vincoli per G123 La G123 deve essere programmata in una riga a sè stante, altrimenti viene allarme CN2C14 PARAMETRI INCOMPATIBILI
In una riga con G123 deve essere obbligatoriamente programmato KA con un valore può' solo essere uno tra i seguenti: -1, 0, 1, 3, 4, 5. Se il KA viene programmato più di una volta rimane valido l'ultimo programmato. Se il valore di KA non è tra quelli consentiti si ha allarme CN2C14 PARAMETRI INCOMPATIBILI Se viene programmato KA1 o KA-1 le quote degli assi (possono essere tutti gli assi continui della macchina) sono interpretate come quote di limitazione positiva (se KA1) o negativa (se KA-1).
Con KA1 e KA-1 se mancano alcune quote di assi continui, le corrispondenti limitazioni vengono lasciate invariate.
La programmazione dei limiti positivi e negativi deve avvenire su righe diverse.
Possono essere attive singolarmente la limitazione positiva o quella negativa oppure possono essere attive contemporaneamente.
Per ciascun asse deve essere (limite positivo) > (limite negativo), altrimenti viene allarme CN5514 G123 LIMITI NON VALIDI
Al reset vengono disattivate le limitazioni sia positiva che negativa e viene ripristinato il modo normale (KA4).
Le limitazioni programmate sono sempre riferite all'origine attiva.
Con G123 attiva in modo normale (KA4) le quote finali programmate sono sostituite con le quote limite se sono esterne a queste.
Con G123 attiva in modo KA3 se le quote finali programmate sono esterne alle quote limite viene allarme CN5614 G123 KA3 QUOTA OLTRE I LIMITI
Se viene programmato un cerchio (G2 o G3) con G123 attiva viene dato allarme CN5714 CERCHIO+G123
Con G123 KA1 o G123 KA-1 possono comparire programmate solo le quote degli assi continui della macchina, altrimenti anche in questo caso viene dato l'allarme CN2C14 PARAMETRI INCOMPATIBILI
Se è programmata G53 con G123 attiva o viceversa, G123 con G53 attiva viene l’allarme
CN5A14 G123+G53
Se è programmata G105 con G123 attiva viene l’allarme CN5914 G123+G105
Note per l’uso di G123 KA5
Se una o più quote programmate sono fuori campo arresta tutti i movimenti e li riprende solo quando tutte le quote sono rientrate nel campo di lavoro. Gli assi rimangono fermi all'ultima posizione programmata con quote tutte entro il campo di lavoro. I movimenti vengono ripresi quando tutte le quote programmate sono rientrate nel campo di lavoro. Nel momento in cui le quote rientrano tutte nel campo di lavoro sono considerati programmati tutti gli assi che siano stati bloccati nella fase precedente.
ATTENZIONE
Se durante la fase di arresto si muovono più di 5 assi alla ripresa dei movimenti sono considerati programmati più di 5 assi e quindi viene allarme
CN2C14 PARAMETRI INCOMPATIBILI.
Le righe relative ai movimenti bloccati non sono visualizzate, a meno che non contengano funzioni ausiliarie.
Disattivazione
Programmando G123KA0 si eliminano sia la limitazione positiva che quella negativa, ma rimangono attive tutte le predisposizioni (limiti, KA3 o KA4) programmati.
Per ripristinare la limitazione positiva precedente basterà' programmare G123KA1 senza nessuna quota e per ripristinare quella negativa G123KA-1 senza nessuna quota.
Programmazione limiti G123 con quota già fuori del campo di lavoro
Consideriamo adesso il caso (per semplicità ci riferiremo ad un solo asse) di programmazione di limiti con G123 con la quota già al di fuori di tali limiti: ad esempio si ha X=80 e si programma G123KA1X30.
Si deve distinguere il caso di G123KA3 (modo allarme) e di G123KA4 (modo limitazione).
G123KA3 caso 1:
G0X100
G123KA3
G123KA1X30 unico limite positivo sulla X
G0X40 allarme CN5614 G123 KA3 QUOTA OLTRE I LIMITI
G123KA3 caso 2:
G0X100
G123KA3
G123KA1X30 unico limite positivo sulla X
G0X10 X va a 10 (entro i limiti programmati)
G123KA3 caso 3:
G0X100
G123KA3
G123KA1X30 unico limite positivo sulla X
G0Z200 Z va a 200
G0Y300 Y va a 300
G0X50 allarme CN5614 G123 KA3 QUOTA OLTRE I LIMITI
G123KA4 caso 1:
G0X100
G123KA4
G123KA1X30 unico limite positivo sulla X
G0X40 X va a 30 anche se programmato 40
G123KA4 caso 2:
G0X100
G123KA4
G123KA1X30 unico limite positivo sulla X
G0X10 X va a 10, che è entro il limite della G123
G123KA4 caso 3:
G0X100
G123KA4
G123KA1X30 unico limite positivo sulla X
G0Z200 Z va a 200
G0Y300 Y va a 300
G0X50 X va a 30 anche se programmato 50
Esempi di programmazione ed uso di G123
ESEMPIO 1% G0X0Y0Z0 G123KA1X30Y40Z50 limiti positivi G123KA-1X-10Y-20Z-30 limiti negativi G0X60Y60Z60 quote limitate a X=30, Y=40, Z=50 G123KA3 attivato il modo allarme G0X-40 allarme CN5614 G123 KA3 QUOTA OLTRE I LIMITI M2
ESEMPIO 2%
G0X20Y20Z20 G123KA1X30Y40Z50 limiti positivi G123KA-1X-10Y-15Z-20 limiti negativi G0X-60Y-60Z-60 punto finale X=-10, Y=-15, Z=-20 G0X60 X si ferma a 30 G0Y80 Y si ferma a 40 M2
ESEMPIO 3%
G0 X0 Y0 Z0 G123 KA1 Y20 unico limite positivo: max Y =+20 G123 KA5 abilita il modo "arresto" G1 F1000 X5 movimento eseguito X-10 Y25 Z-20 movimento non eseguito perché Y fuori limite X-12 Z30 movimento non eseguito perchè Y è ancora fuori limite Y10 movimento è eseguito come se fossero programmati X-12 Y10 Z30
G124 - attivazione volantini degli assi rotativi in G117 La G124 permette di attivare i volantini degli assi rotativi legati a G117 mentre la stessa G117 è attiva. Lo scopo è di poter muovere a mano la testa della macchina durante la lavorazione del pezzo in automatico e semiautomatico. Mentre è attiva G124 non si possono programmare le quote degli assi rotativi legati a G117 (asse rotativo per testa monorotativa, assi trainante/trainato per testa birotativa). Programmazione di G124 Sintassi: G124 [KA1] attiva i volantini collegati agli assi rotativi legati a G117; KA1 non è necessario G124 KA0 disattiva la G124
Regole e vincoli per G124
All'accensione ed al reset la G124 è disabilitata.
La programmazione di G124 ha effetto solo se G117 è attiva.
Se viene programmata G124 con G117 non attiva l'effetto è nullo, anche se non viene dato nessun allarme.
Le due attivazioni: G124 oppure G124KA1 sono equivalenti
Se mentre è attiva G124 viene disattivata G117 si ha l'immediata disattivazione anche di G124.
Se mentre è attiva G124 viene programmato uno degli assi rotativi legati a G117 si ha il messaggio di allarme CN5814 G124+ASSE ROTATIVO DI G117
Dal punto precedente consegue che l'unico modo di muovere gli assi rotativi legati a G117 con la G124 attiva è quello di usare i volantini ad essi collegati.
Disattivazione
Programmando G124KA0 si ha la disattivazione dei volantini legati agli assi rotativi di G117 e tali assi possono essere da ora in avanti di nuovo programmati.
Esempi di programmazione
Supponiamo di avere una macchina con testa birotativa ed assi XYZABC, dove A e B sono i due assi rotativi legati alla G117, mentre C è un altro asse rotativo non interessato a G117.
Esempio 1: G0X0Y0Z0A0B0C0 G117 G0A20B30X40 G124 da qui in poi si possono muovere A e B solo tramite i volantini G0X10Y10Z10C40 ok (asse C non collegato a G117) G0A10 allarme CN5814 perchè programmato asse A
Esempio 2:
G0X0Y0Z0A0B0C0 G117 G0A30B40X40 G124 da qui in poi si possono muovere A e B solo tramite i volantini G0X10Y15Z25C30 ok (asse C non collegato a G117) G0Z0X0Y0C0 ok G124KA0 volantini A e B disattivati: A e B sono nuovamente programmabili G0A15B35X10 ok
Esempio 3:
G0X0Y0Z0A0B0C0 G124 non ha effetto perchè la G117 non è attiva G117 G0A30B40X40 A e B possono essere programmati G124 da qui in poi si possono muovere A e B solo tramite i volantini G0X10Y15Z25C30 ok (asse C non collegato a G117) G0Z0X0Y0C0 ok G117KA0 la disattivazione di G117 nuovamente programmabili disattiva anche G124: A e B sono G0A15B35X10 ok
G125 - taratura assi per alta velocità Per ottenere le migliori prestazioni dal controllo degli assi “MODO X”, che si attiva con la G113X, sono necessarie una quantità di tarature specifiche per ogni asse.
La G125, che deve essere eseguita in semiautomatico oppure in automatico da part-program, consente di ricavare in modo semplice, rapido, ripetibile e preciso queste tarature, che sarebbero altrimenti piuttosto complesse da determinare.
Questa funzione fa parte del sistema dell’Alta Velocità, per maggiori dettagli vedere il Manuale relativo M146 ‘Alta Velocità’.
G126 - lavorazione pezzi in movimento Modale, con arresto.
Questa funzione è dedicata a macchine speciali che lavorano pezzi in movimento.
In queste macchine il pezzo da lavorare è fissato su un nastro trasportatore in movimento (asse “master”), mentre l’unità operatrice è fissa e può avere diversi assi, e uno di questi è l’asse inseguitore (asse”slave”).
La G126 abilita la modalità di inseguimento tra asse master (trasportatore) ed asse slave (inseguitore).
Per una descrizione dettagliata di questa funzione vedere il manaule M99 – logica programmabile, funzione “FFLOCK”.
G127 - disattiva lavorazione pezzi in movimento Modale, attiva al reset, con arresto. G127 disattiva G126, modalità di inseguimento. Per una descrizione dettagliata di questa funzione vedere il manaule M99 – logica programmabile,
funzione “FFLOCK”.
G128 - G129 - G130 funzioni per lock di processo Funzioni per la gestione del "lock di processo", un modo di funzionamento speciale per macchine a più processi con assi sincronizzati.
La descrizione del sistema (ovviamente interessa solo l'utente che ha una macchina predisposta per il lock di processo) è contenuta nel manuale M252.
G131 - velocità costante sulla punta utensile con RTCP attiva Modale.
Questa prestazione consente di avere il moto relativo tra pezzo e punta utensile alla velocità F programmata quando si ha l'RTCP attiva; pertanto la velocità da mantenere costante ed uguale alla F programmata è quella che c'è nel movimento programmato degli assi XYZ, senza considerare il moto programmato degli assi rotativi e gli eventuali moti di trascinamento che il moto dei rotativi induce sugli assi lineari.
Infatti il moto di trascinamento è un movimento che non genera una velocità relativa tra punta utensile e pezzo, poiché serve proprio a mantenere la punta utensile ferma rispetto al pezzo.
- con RTCP attiva e con G131 attiva la feed programmata sarà riferita ai soli assi lineari - dalla feed programmata e dalla lunghezza del movimento degli assi lineari si ricava il tempo di esecuzione del movimento degli assi lineari - a questo punto viene calcolata una nuova feed espressa come l'inverso del tempo sopra calcolato ed il comportamento è quello che si avrebbe se fosse stata programmata una G93 con tale feed. - il formato generale per l’attivazione di G131 è: G131 I…
- sulla riga di attivazione di G131 si può specificare il parametro I seguito da un numero positivo che individua la massima velocità che potranno avere gli assi rotativi coinvolti nel movimento. Se tale parametro non viene specificato la velocità massima sarà saturata al rapido. ATTENZIONE:
-se la feed così calcolata dovesse risultare troppo elevata per qualcuno degli altri assi coinvolti nel movimento, questa verrà opportunamente limitata.
- al tendere a zero della lunghezza del movimento degli assi lineari gli assi rotativi avranno una velocità sempre maggiore che verrà eventualmente saturata al massimo ammissibile specificato con il parametro I. Se il parametro I non è stato programmato nella riga di G131 la velocità massima sarà saturata al rapido. -in blocchi con lunghezza del movimento degli assi lineari nullo i rotativi andranno al loro massimo consentito (parametro I o rapido).
- in blocchi dove non sono programmati assi lineari i rotativi andranno al loro massimo consentito (parametro I o rapido). - se nel movimento sono presenti pure moti di trascinamento indotti sugli assi XYZ dal moto degli assi rotativi RTCP, e tali moti fanno si che la velocità degli assi XYZ sia troppo alta, questa sarà limitata in tempo reale in modo da farla rimanere sempre nei limiti consentiti per gli assi XYZ.; questo si traduce in una velocità non costante tra punta utensile e pezzo. - in un movimento molto lungo si potranno avere variazioni di velocità dovute all'effetto del moto indotto sugli assi lineari dal moto degli assi rotativi legati all'RTCP. - G131 non influenzerà G0 -Quando si programma G131 vengono eliminate G93 o G94 o G95 viceversa con G131 attiva programmando G93 o G94 o G95 viene eliminata G131.
G132 KA1 - lavorazione camme globoidali La lavorazione delle camme globoidali, generata da CAM, è costituita da movimenti di predisposizione degli assi sia lineari che rotativi, ai quali seguono i movimenti interpolanti che realizzano il profilo della camma.
Tipicamente il part-program è generato con queste modalità:
- il CAM conosce il raggio utensile da usare -i movimenti che realizzano il profilo sono costituiti dai soli movimenti degli assi rotativi, lasciando al CNC il calcolo in tempo reale in RTCP dei movimenti degli assi lineari.
Il problema che si riscontra nella pratica applicazione è che il raggio utensile effettivamente utilizzato può essere leggermente diverso (in più o in meno) rispetto al raggio usato dal CAM, e quindi, se non si vuole rigenerare l'intero part-program col CAM, si deve introdurre nel CNC la possibilità di correggere i movimenti per tener conto della differenza raggio: la G132 risolve questo problema.
dove: (asse1) è il nome del primo asse lineare, per esempio X (v1) può assumere i due soli valori numerici +1 oppure -1, per indicare che la correzione calcolata deve essere applicata all'asse1 col suo segno oppure col segno scambiato (asse2) è il nome del secondo asse lineare, per esempio Y (v2) può assumere i due soli valori numerici +2 oppure -2, per indicare che la correzione calcolata deve essere applicata all'asse2 col suo segno oppure col segno scambiato (asse3) è il nome del primo asse rotativo, che è normalmente associato al primo asse lineare (asse4) è il nome del secondo asse rotativo, che è normalmente associato al secondo asse lineare 3 e 4 sono valori numerici obbligatori che permettono al CN di identificare gli assi (vx) è il valore numerico che individua la lunghezza in millimetri del braccio di rotazione relativo al primo asse rotativo (vy) è il valore numerico che individua la lunghezza in millimetri del braccio di rotazione relativo al secondo asse rotativo (vr) è il valore numerico in millimetri che rappresenta la differenza tra il raggio usato dal CAM per il calcolo ed il raggio utensile usato in macchina. Il massimo valore ammesso è 8,192 mm. (vf) è la massima velocità in mm/min con cui il CN muove gli assi lineari per effettuare le correzioni Per esempio:
Introduce una correzione per camme globoidali in cui:
- gli assi lineari sono X e Z, associati agli assi rotativi A e C - la correzione sull'asse Z ha segno opposto a quello teorico - il braccio di rotazione dell'asse A è 11,210 mm - il braccio di rotazione dell'asse C è 120,437 mm - il raggio utensile effettivo è inferiore a quello usato dal CAM di 0,162 mm - la massima velocità di correzione è 1000 mm/min La disattivazione della correzione è fatta con: G132 KA0 Alcune precisazioni sulla sintassi di programmazione della G132: - il KA è obbligatorio e può assumere i soli valori 1 o 0 -i valori delle lunghezze e delle velocità sono in mm e mm/min, anche se la macchina è dichiarata in pollici
-se è programmato KA1 sono obbligatori anche HX, HY, HR e quattro assi, con i quattro valori +1, +-2, 3, 4
-la programmazione della I è facoltativa, se non è programmata viene assunto il valore di default di 500 mm/min, se è programmata il massimo valore di I è 2000 mm/min
- gli elementi che compongono la riga possono essere forniti in qualsiasi ordine - tutti i valori numerici possono essere programmati con espressioni (per esempio può essere comodo HR<R-10> per indicare che il raggio usato dal CAM era 10 mm e che quindi la differenza è il raggio attuale R meno il raggio del CAM) - la G132 è incompatibile con G53/G54 (errore CN3914 <<FORMULA + G53/G54>>) - la G132 è compatibile con lo RTCP e con qualsiasi tratto geometrico programmato (lineare, circolare ecc.) - con G132 attiva possono essere programmati anche gli assi lineari: il movimento di correzione si somma a quello programmato. Altre precisazioni sulle modalità di esecuzione dei movimenti in tempo reale: - all'attivazione della G132 le correzioni partono da zero e si portano a quelle calcolate con un raccordo che parte con un certo ritardo (servono almeno 0,25 gradi di almeno un asse rotativo) e dura il tempo necessario al recupero dell'intera correzione, quindi il tratto immediatamente successivo alla G132 deve essere in aria per non generare profili errati - alla disattivazione (dopo G132 KA0) si ha il movimento inverso di recupero della correzione: anche qui è necessario un movimento in aria per evitare errori - durante la ricerca blocco la correzione non è attiva. Alla ripresa della lavorazione si ha il raccordo iniziale come all'attivazione della G132 - durante la lavorazione la velocità massima di correzione (per ognuno dei due assi lineari) è limitata a quella programmata (default 500 mm/min). Se la geometria richiede velocità superiori si hanno errori di correzione che possono essere recuperati in un tempo successivo, non appena le velocità rientrano nei limiti ammessi -le correzioni sono calcolate in base alle direzioni dei movimenti assi, e sono amplificate dalla differenza raggio programmata con HR. Quindi il grado di finitura dipende dalla regolarità della programmazione, ma anche dall'entità della differenza raggio, che deve essere contenuta il più possibile (ben al di sotto del limite concesso al parametro HR che è di 8,192 mm)
G133 KA0 - G133 KA1 per gestione doppio mandrino Questa prestazione è riservata a macchine con doppio mandrino e deve essere supportata dal PLC di macchina. Consultare il costruttore della macchina utensile per eventuali dettagli.
Con G133 KA0 si attiva il mandrino principale, con G133 KA1 si attiva il mandrino ausiliario.
Se insieme a G133 non è programmato KA o sono programmati valori diversi da 0 o 1 viene allarme CN1D14 ERRORE PROGRAMMA.
La G133 non può stare nella stessa riga insieme a G134 (viene allarme CN 1D14 ERRORE PROGRAMMA).
Se la macchina non supporta il doppio mandrino la programmazione di G133 genera un allarme CN1D14 ERRORE PROGRAMMA.
Al reset e a inizio programma è automaticamente attivato il mandrino principale.
Il tipo di comportamento del mandrino che viene abbandonato (può continuare la sua rotazione oppure arrestarsi) dipende dal PLC di macchina: consultare il costruttore della macchina utensile.
G134 KA0 - (macchina tipo fresa) e G134 KA1 - (macchina tipo tornio) Questa prestazione è riservata a macchine con doppia funzionalità di fresa oppure di tornio e deve essere supportata dal PLC di macchina. Consultare il costruttore della macchina utensile per eventuali dettagli..
Con la G134 KA0 si forza il funzionamento fresa mentre con G134 KA1 si forza il funzionamento tornio.
Questa prestazione è ancora in fase di sviluppo, quindi per una descrizione dettagliata riferirsi alla documentazione successiva.
G200 HX0 / G200 HX1 - impostazione modo DNC Nelle tarature di Z32 è prevista l'impostazione del modo DNC, che può essere del tipo "$%" oppure del tipo "COTERM".
Il tipo $% riceve i dati con un protocollo molto semplice attraverso la linea seriale A (vedere manuale M161).
Il tipo COTERM riunisce tutti gli altri modi, da quello attraverso la linea seriale B ai modi interni di Z32, che sono usati dai vari programmi di supporto (ZTERM, TERMS, DIGIT...).
In qualche caso l'utente ha bisogno di entrambi i modi.
Con la funzione G200 si può ottenere la variazione, che può provenire da part-program oppure da semiautomatico:
G200 HX0
predispone per modo $%
G200 HX1
predispone per tutti gli altri modi La funzione G200 è trasparente al reset. Una volta programmata permane fino a che non si cambia con un'altra G200. Alla prima accensione è valido il modo impostato in taratura. Se non si programma HX nella stessa riga viene allarme parametri incompatibili.
G200 HX2 / G200 HX3 - disinserimento calcio all’inversione Quando un asse di macchina inverte il segno della velocità si genera una perdita di moto, ossia invece di riprendere subito il movimento nella direzione opposta l’asse rimane immobile per qualche tempo.
Uno dei mezzi usati per combattere questo fenomeno è una particolare taratura di macchina chiamata “calcio all’inversione”: quando l’asse deve invertire la direzione di movimento gli viene inviato un comando supplementare che accelera l’inversione.
Questo comando supplementare può essere nocivo nel caso che l’inversione sia molto lenta, cosa che può avvenire con cerchi di raggio molto grande o eseguiti a bassa velocità o con profili quasi piani.
L’effetto in questo caso sono movimenti leggermente fuori traiettoria (ordine di grandezza 0.01 mm, dipendenti dalla dinamica della macchina) che lasciano segni sul pezzo. è possibile disabilitare il calcio all’inversione programmando nel part-program: G200 HX3 (disabilita il calcio all’inversione) Se nello stesso part-program si desidera riabilitare il calcio si programma: G200 HX2 (abilita calcio all’inversione) Entrambe le funzioni sono modali, con arresto. Al RESET e ad inizio programma il calcio all’inversione è sempre abilitato.
G200 HX4 / G200 HX5 - programmazione del cerchio completo L’esecuzione all’interno di un part-program della riga:
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.
L’effetto di G200 HX4 è modale, ossia permane in tutte le righe successive fino all’eventuale disattivazione con G200 HX5.
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 L’effetto di G200 HX4 viene annullato programmando: G200 HX5
Esiste una speciale taratura di macchina (consultare il costruttore) che forza il cerchio completo a inizio programma, rendendo inutile la programmazione di G200HX4. Se questa taratura è attiva è possibile eliminarla con G200 HX5.
Vedi anche nel capitolo geometria il paragrafo programmazione del cerchio completo.
G200 HX6 / G200 HX7 - modifica velocità di ricerca lenta in G61 La velocità di ricerca lenta in G61 è definita nelle tarature macchina.
Con questa funzione è possibile modificare da part-program la velocità di ricerca lenta. Esempio:
G200 HX6 HY500
Dopo questa istruzione la velocità di ricerca lenta di G61 diventa il 50% di quella in taratura. La velocità di ricerca definita in taratura viene moltiplicata per HY/1000. HX deve essere programmato nella stessa riga di G200 mentre HY può essere definito in righe
precedenti. Esempio:
HY500
G200 HX6
Il campo valido per HY è da 0 a 1500. Quindi con G200 HX6 la velocità di ricerca lenta di taratura può essere diminuita fino a zero (ma attenzione, se si mette zero il movimento di ricerca non viene effettuato) oppure può essere aumentata fino al 50%.
Valori esterni a questo intervallo sono limitati agli estremi, quindi valori di HY negativi agiscono come 0, mentre valori maggiori di 1500 agiscono come 1500.
La forzatura della velocità di ricerca lenta permane fino a fine part-program, mentre viene eliminata da un reset o inizio programma.
La disattivazione della forzatura e quindi il ripristino della taratura si ha con:
G200 HX7
oppure con:
G200 HX6 HY1000
G200 HX8 / G200 HX9 - maschiatura rigida senza inversione mandrino. La funzione di maschiatura rigida G63 prevede che l’asse sia sempre rigidamente agganciato al mandrino, che quindi deve invertire a fine maschiatura per il ritorno alla quota di partenza.
Da qualche tempo sono disponibili attrezzature che consentono una maschiatura “semirigida” con inversione automatica del senso di rotazione, che quindi eliminano la necessità di inversione del mandrino.
Per queste attrezzature il ciclo di maschiatura deve essere:
a) rotazione del mandrino
b) partenza dell’asse di maschiatura e aggancio alla rotazione mandrino
c) avanzamento di maschiatura
d) inversione dell’asse senza inversione del mandrino, con momentanea perdita del sincronismo e nuovo aggancio in direzione inversa
e) ritorno al punto di partenza
E’ possibile forzare l’esecuzione di questo ciclo programmando G200 HX8 prima della G63, e tornare al ciclo di maschiatura standard con G200 HX9. Esempio:
T57M6 (MASCHIATORE CON INVERSIONE PASSO 2)
G200 HX8
...
G63 Z-50 K2
...
G63 Z-50 K2
...
T58M6 (MASCHIATORE RIGIDO PASSO 1)
G200 HX9
...
G63 Z-80 K1
...
Al RESET e a inizio programma è attiva la modalità standard (maschiatura rigida con inversione mandrino, G200 HX9).
La G200 HX8 è modale: rimane attiva fino al reset e può essere disattivata con G200 HX9.
Con G200 HX8 attiva il tempo di inversione dell’asse è il doppio del tempo di attacco morbido definito in taratura per la G63, perché durante l’inversione si ha un gradino di velocità da positivo a negativo che è quindi il doppio rispetto al gradino di velocità iniziale che va da zero alla velocità positiva.