Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
COGI Elettronica
CNC 9732
NORME DI PROGRAMMAZIONE
INDICE
Cap.1 FONDAMENTI
1.1 INTRODUZIONE 1
1.2 ASSI CNC 3
1.3 ASSI INDIPENDENTI 4
1.4 QUOTE ASSI ED ORIGINI 5
2.1 DEFINIZIONI
1
2 Indice
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Cap.9 ORIGINI
3 Indice
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
4 Indice
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Cap.11 CONTORNATURA
1 Indice
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
2 Indice
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
3 Indice
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
CAPITOLO 1
FONDAMENTI
1.1 INTRODUZIONE
1. Segnali elettrici alla macchina utensile per il movimento dei suoi assi (Fig.1.1)
(ad esempio X,Y,Z,b), tali segnali vengono inviati al dal CNC agli azionamenti.(A)
I trasduttori (T) rilevano istante per istante la quota raggiunta dagli assi, i segnali
provenienti dai trasduttori vengono riportati al CNC che li confronta con le quote
programmate. Tale ciclo e’ chiamato “ciclo o loop di spazio chiuso”
- Velocita’ di rotazione
- Refrigerante
N.B. Tutte queste funzioni sono gestite dalla sezione PLC (Controllore Programmabile)
del controllo 9732CNC tramite il linguaggio d’interfaccia PLCS.
1 Capitolo 1
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
N.B. Le Funzioni Ausiliarie Interne provocano solo elaborazione di dati da parte del
calcolatore centrale dl CNC.
2 Capitolo 1
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Si definiscono ASSI CNC tutti quegli assi che possono essere programmati
contemporaneamente e che contemporaneamente raggiungono il punto finale
programmato; possono essere definiti anche ASSI INTERPOLATI.
IL 9732CNC puo’ gestire fino a 8 assi contemporaneamente con tutto cio’ che li
riguarda
(Fig.1.2), trasduttori, encoders, loop di spazio, tabelle origini, files di taratura ecc..
Gli assi relativi all coordinate macchina (secondo le norme ISO e DIN) fanno
riferimento ad una terna di assi destrorsi riportati in Fig.1.2 e 1.3
Per i quali vale generalmente quanto segue:
ASSE Z (DIREZIONE 3)
L’asse Z (definito di direzione 3) e’ parallelo all’asse di rotazione di rotazione del
mandrino o coincide con esso. Il verso di quest’asse e’ in allontanamento dal pezzo in
lavorazione.
ASSE X (DIREZIONE 1)
L’asse X (definito di direzione 1) e’ l’asse longitudinale di una fresatrice o centro di
lavoro.
ASSE Y (DIREZIONE 2)
L’asse Y (definito di direzione 2) e’ l’asse trasversale di una fresatrice ad asse verticale
o l’asse verticale di un Machining Center o alesatrice. Comunque sia, la direzione
dell’asse Y dipende dagli orientamenti degli assi X Z: se si tende il dito pollice (mano
destra) in direzione dell’asse positivo X ed il dito medio in direzione del semiasse
positivo Z, la posizione e la direzione dell’asse Y vengono rappresentate dal dito indice.
3 Capitolo 1
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
ASSI ROTANTI
1) X,Y,Z
2) B,A,V,U,C,P,Q,a,b,d,e,f,g,h,m,t
- Gli indirizzi di tipo 1 sono sempre riservati alle sigle degli assi CNC
- Gli indirizzi di tipo 2 possono quando sono definiti come sigle assi, essere
utilizzati per la definizione degli altri indirizzi programmabili nel CNC.
4 Capitolo 1
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
I CNC della serie 9732 impiegano per i propri assi dei trasduttori di posizione di tipo
incrementale o semincrementale. (Ciclici)
Ad ogni accensione del CNC sono richieste le manovre di “ RIPRESA
DELL’ORIGINE” illustrate nel MANUALE D’USO.
Il sistema di misura di detti CNC ha una capacita’ di misura da 0 a 99999.999 (o gradi
per assi rotanti) ed una risoluzione di misura di 0.001 mm (o gradi).
Ogni asse del CNC ha riservato una tabella origini, tale da poter fissare in qualsiasi parte
della corsa dell’asse stesso il punto di riferimento 0.
5 Capitolo 1
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
CAPITOLO 2
STESURA DI UN PART-PROGRAM
Si intende universalmente per Part Program il programma (o file nel lessico dei
computer) di lavorazione di pezzo su una Macchina Utensile a Controllo Numerico,
esso e’ formato da una sequenza di OPERAZIONI (o blocchi di istruzioni) a sua volta
formate da ISTRUZIONI elementari appartenenti ciascuna ad una delle tre categorie di
funzioni 1. movimento assi, 2. F.A.esterne, 3. F.A. interne.
2.1 DEFINIZIONI
ISTRUZIONE (o PAROLA)
X368.412
1 Capitolo 2
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Sono quelle il cui effetto permane sino a che non venga cambiato (o annullato) da
un’altra istruzione della stessa categoria.
ISTRUZIONI AUTOCANCELLANTI
Sono quelle il cui effetto permane solo nell’operazione in cui sono state programmate.
QUOTE
Z-1432.412
in particolare i decimali con tale risoluzione valgono solo nelle variabili HLPL reali.Per
le quote assi la risoluzione è centesimale (o millesimale).
2 Capitolo 2
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
NO a N65536
1. Non è consentito programmare più N.. sulla stessa operazione, salvo nelle istruzioni
G59N..
2. La N... quando e’ programmata, deve essere programmata sempre all’inizio
dell’operazione.
INIZIO PROGRAMMA:%
3 Capitolo 2
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
FINE PROGRAMMA
4 Capitolo 2
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
CAPITOLO 3
%123
N10G90X100Y100
N20X220Y220.15
N30X350
N40X420.12 Y85
N50M02
1 Capitolo 3
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Ripetiamo il posizionamento sui punti già visti ma questa volta quotando il pezzo in
modo incrementale:
%124
N10G90X100Y100
N20G91X120Y120.15
N30X130
N40X70.12 Y-135.15
N50M02
2 Capitolo 3
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Il formato è:
(M) F... Feed: Velocità di avanzamento, di norma in mm/min per assi lineari (o
gradi/min per assi rotanti.
Se si desidera portare un asse (ad esempio X ) su un punto P2 che si trova ad una quota
assoluta +347.1 è sufficiente programmare:
N.. G00X357.1
N...G01X357.1 F100
-258mm e +150.5mm
è sufficiente programmare:
N..G01-258 Y150.5 F500
3 Capitolo 3
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Fx = F*COS (a)
F*SEN (a)
Se gli assi si fossero trovati inizialmente P1 tale che l’angolo a = 45°, allora:
Fx = 0.707*F
Fy = 0.707*F
N..G01X200Y500Z100V-20W80F500
4 Capitolo 3
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Abbiamo definito assi paralleli gli assi appartenenti alla stessa direzione, come ad
esempio gli assi Z e W dell’alesatrice di Fig. 1.2, rappresentati qui sotto in Fig.3.6.
Supponiamo di voler muovere contemporaneamente i due assi che sono tra loro
meccanicamente solidali.
Si consideri il programma:
...
...
N10G00Z0W0
N20G01Z50W-50F100
...
...
Il CNC effettuerà la scomposizione della velocità di avanzamento in modo da ottenere
una Fz = Fw = 50mm/min.
Da notare che il punto P (solidale con la candela) di figura 3.6 non subisce, in realtà,
nessun spostamento per effetto dei due movimenti di ugual spazio e contrapposti.
aa = F in mm/min
Fcor = correttivo sulla scomposizione della velocità di avanzamento.
Se non viene assegnato nessun valore dopo il carattere “/”, la velocità di avanzamento
viene assunta con le modalità di scomposizione automatica già illustrate nei paragrafi
precedenti.
Se invece viene assegnato un certo valore a Fcor, il CNC lo usa applicando la seguente
formula:
Feff = F*QS*Fcor
in cui
5 Capitolo 3
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
ESEMPI:
QS = QW = 200 MM
Fcor = 1/QS = 1/200 = 0.005mm-1
Feffw = F*QSw*Fcor=100*200*0.005= 100 mm/min
Feffz = F*QSz*Fcor = 100*50*0.005 = 25 mm/min
N20G01W-200Z50F100/O.OO5
QS = QZ = 50
Fcor = 1/QS = 1/50 = 0.02
Feff = F*QSz*Fcor = 100*50*0.02 = 100mm/min
FeffW = F*QSw*Fcor = 100*200*0.02 = 400 mm/min
6 Capitolo 3
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Nel programmare la F... nei movimenti di lavoro che coinvolgono un asse rotante
occorre tener presente che il valore dell’ avanzamento effettivo Feff dell’utensile sul
pezzo, dipende non solo dalla F programmata ma anche dal valore R della distanza che
il tagliente ha rispetto al centro di rotazione dell’asse rotante.
Infatti la velocità per assi rotanti espressa in gradi/min rappresenta una velocità
angolare, invece il programmatore desidera che la velocità di avanzamento corrisponda
a mm.min anche sulle tavole rotanti e quindi è necessario effettuare una conversione tra
velocità periferica (mm/min) e velocità angolare (gradi/min) vedi prossimo paragrafo.
ESEMPIO:
1) Si vuole ottenere:
7 Capitolo 3
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
5.Calcolare le componenti Fy ed Fb
6.Calcolare la F da programmare:
8 Capitolo 3
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
N20: Posizionamento rapido (G00) sul punto d’inizio dell’elica, viene messo in moto il
mandrino in verso orario(M03) ed ad una velocità di 500 giri/min (vedi F.A. esterne).
N30: La fresa viene posizionata in lavoro a 180 mm/min in profondità (asse Z).
N40: Viene lavorato il segmento d’elica P0-P1 ad una velocità effettiva Feff = 180
mm/min
Lo stesso effetto poteva essere ottenuto programmando la F.. con il correttivo nel
formato F180/Fcor
F180/0.0009208
Gli assi indipendenti sono definibili in due modi, come già accennato nel Par.1.3:
9 Capitolo 3
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
ove:
ad esempio: <FED:a;150;g;220>
E’l’istruzione logica:
(A) <WAT:...>
Tale istruzione disabilita il meccanismo di lettura in avanti da parte del CNC, si possono
presentare questi 3 casi:
. 1. <WAT:CNC>
disabilita il meccanismo di lettura in avanti fino a che gli assi CNC non sono arrivati
sulla quota programmata.
. 2. <WAT:FREE>
. 3. <WAT:MND>
<WAT:CNC;FRE:MND>
10 Capitolo 3
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
ESEMPIO 1:
...
N40<FED:g;600>
N50G00X0Z0g0
N60G01X50Y180Z200G500F200
N70X80Y300Z300
...
...
COMMENTI:
N 50: Posizionamento rapido di tutti gli assi. Gli assi CNC:X,Y,Z si muovono ed
arrivano con sincronismo: L’asse g, indipendente, può non arrivare insieme agli altri
assi, tuttavia il CNC non aspetta che g sia arrivato.
N60: Posizionamento in lavoro di X,Y,Z alla velocità di 600 mm/min, come definito
nella N40.
N65<WAT:FRE>
Il CNC aspettava che l’asse g si fosse posizionato prima di passare all’esecuzione della
N70.
ESEMPIO 2:
11 Capitolo 3
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
...
N30<FRE:W>
N40<FED:W;500>
N50G00X0Y0Z0W0
N60G01X50Y180Z2200W500F200
N70X80Y300Z300
N80<CNC:W>
COMMENTI:
A seconda che gli assi indipendenti siano stati dichiarati in taratura o che vengono
dichiarati direttamente nel Part Program, si presentano le seguenti limitazioni:
12 Capitolo 3
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
1. Programmazione sia assoluta (G90) che incrementale (G91).Il controllo sul fine
corsa software è effettuato solo con programmazione assoluta
Supponendo che l’indirizzo associato all’asse mandrino sia “C” il programma potrebbe
essere:
...
N10S200M03
N20C30
N30...
COMMENTI:
N10: Viene messo in rotazione il mandrino in verso orario (M03) alla velocità di 200
giri/min (S200)
N20: Il mandrino viene arrestato ed orientato a 30°.
13 Capitolo 3
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Si intende per mandrino gestito, un mandrino che può essere programmato mediante
l’indirizzo S... in giri/min. o che può essere programmato come asse, coeme è già stato
visto nel precedente paragrafo.
Inoltre il mandrino gestito come asse può essere mosso in interpolazione
contemporaneamente ad un altro asse, in tal caso è necessario definire nel Part-program
l’asse mandrino quale asse CNC prima di usarlo in interpolazione con un altro asse
mediante l’istruzione LIP:
<CNC:asse>
<CNC:C>
Un asse circolare può essere definito, in taratura, quale asse “linearizzato” cioè un asse
che si muove in un campo che va da 0 a _ °° al pari di un asse lineare, per cui una tavola
rotante che si trovi a B0, programmando B720 gradi compirà 2 giri in verso positivo e
programmando B - 720 gradi 2 giri in verso negativo.
Gli assi rotanti che abbiamo definito “linearizzati” sono gli unici trasformabili con le
matrici dinamiche descritte nel Cap.20.
14 Capitolo 3
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
N...<CNC:B>
Si consideri l’esempio seguente fatto per una M.U. con assi X,Y e B (tavola rotante)
tutti assi CNC:
...
N10X50Y0B0
N20G01Y100B810 [elica di 2 spire e 1/4]
N30 G950 B0
...
COMMENTI:
N20 Interpolazione lineare tra asse Y ed asse B, viene eseguita un’elica di 2 spire e 1/4
(810°)
N30 Non si vuole fare 2 giri e 1/4 in verso opposto per riportare la tavola a B0°; è
sufficiente programmare G950,
15 Capitolo 3
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
La quota degli assi programmata insieme a G950 è considerata sempre come quota
assoluta, anche se attiva la G91 (programmazione incrementale).
16 Capitolo 3
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
CAPITOLO 4
Sono quelle funzioni ausiliarie F.A. la cui azione si estrinseca principalmente all’interno
del CNC come è stato accennato nel Cap.1. Sono le funzioni più importanti e che più
abbondano nel linguaggio di programmazione di un CN. Il funzionamento di alcune di
queste F.A. è già stato spiegato nei capitoli precedenti, ma per comodità vengono qui
rielencate:
Il formato è:
dove F = tempo di sosta espresso in secondi e parti decimali con valore massimo pari a
719.9 secondi.
N...G01X100Y100F200G04F2.5
Cioè posizionamento in lavoro a velocità F = 200 mm/min (F.. incontrata dopo G04).
N...F...G04
In tal caso F... è attributita come velocità di avanzamento in quanto incontrata prima di
G04.
(A) G09 Gli assi arrivano sul punto programmato a velocità zero.
(M) F.. Velocità di avanzamento (in mm/1’) oppure tempo di sosta se programmato
dopo l’istruzione G04
1 Capitolo 4
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
(A) M01 Stop opzionale come M00 salvo che è escludibile tramite una manovra sul
CNC (vedi finestra dal menù ENTRY), oppure programmando l’istruzione di HLPL
LOGICO:
L’istruzione M01 serve per imporre STOP in determinate fasi del programma, valide
solo durante la messa a punto
della lavorazione sulla M.U.
(A) M02 Fine del programma deve essere programmata in una operazione che non
contenga altre istruzioni.
(A) M30 Stesso significato di M02
..
N20 .... (VIENE VISUALIZZATO QUESTO COMMENTO)
N30..
N40 ..()[DALLA FINESTRA SCOMPARE IL COMMENTO]
..
con M00 ed M01 (se abilitato) il commento viene visualizzato dopo
l’esecuzione dello STOP con G04 il
2 Capitolo 4
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
ESEMPIO DI PROGRAMMAZIONE:
% 3456
N0 (PROGRAMMA B28 ATTREZZ.114) <SKP:OFF>
N10T1 () M41
N20Z300B0S800M03
N30X0Y250.27F350
N40G01X-100.2G04F1.5
N50G09Y0M01 (VERIFICARE INGOMBRI STAFFAGGIO)
/N60G00B90
N70G01Z-15.24F190G04F0.5
N80G00Z0[RICORDARSI DI AGGIUNGERE QUOTA SGOMBRO]
N90X0Y0M05
N100M02
3 Capitolo 4
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
COMMENTI:
N000: Sull’apposita finestra dello schermo appare il commento tra parentesi fino a che
non viene letta l’operazione
N.10 contenente un commento vuoto. Vengono abilitati i blocchi barrati
(<SKP:OFF>)
N010: Cambio utensile, viene montato l’utensile n.13 impostazione gamma M41
N020
N030: Posizionamento rapido degli assi Z,B e messa in moto del mandrino a 800
giri/min in verso orario, posizionamento rapido assi X,Y.
N050: In lavoro a quota Y0 quindi decelerazione ed arresto asse (effettua G09) e stop
opzionale (M01) se abilitato
N070: In lavoro a quota Z-15.24 con avanzamento F190 mm/1’, quindi sosta per un
tempo di ½ secondo.
N080: Rapido a Z0, da notare il commento per il listato tra parentesi graffe, non viene
visualizzato sullo schermo.
Se in una o più operazioni, l’istruzione N.. è preceduta dai 2 punti (:), il CNC viene
predisposto esattamente come se avesse letto il carattere %, inizio programma, che deve
essere presente nel part-program solo una volta).
4 Capitolo 4
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
IMPORTANTE:
Il campo di lavoro di ogni asse viene limitato dai rispettivi FINE CORSA SOFTWARE
POSITIVO E NEGATIVO; tali finecorsa vengono memorizzati, con apposita manovra,
nel file ORIGINI.
E’ possibile restringere ulteriormente il campo di lavoro programmando due istruzioni:
Si ottiene la memorizzazione delle quote minime del campo di lavoro per gli assi
X,Y,Z,A,B.
1) Le quote assi programmate dopo le istruzioni G25 o G26 sono riferite allo ZERO
MACCHINA e non all’origine attualmente attiva.
5 Capitolo 4
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
PROGRAMMA:
...
...
N50G25X2450
N60G26X3800
...
COMMENTI:
N50: Viene memorizzato il valore minimo del campo di lavoro lungo l’asse X.
N60: Viene memorizzato il valore massimo del campo di lavoro lungo l’asse X.
Programmando le istruzioni G25 (o G26) seguite dai soli indirizzi assi senza quote, come
ad esempio:
...
...
N20G25XY
N30G26XY
...
...
si ottiene l’eliminazione del campo di lavoro per i soli assi X,Y. Eventuali impostazioni su
altri assi vengono mantenute.
Programmando G25 (o G26) senza altre istruzioni si ottiene i ripristino del campo di
lavoro precedente sospeso.
6 Capitolo 4
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
NOTE:
Esempio errato:
Esempio corretto:
-Le quote programmate dopo G25 corrispondono alla definizione del campo minimo di
lavoro per gli assi X,Y,Z.
(M) G71 PROGRAMMAZIONE METRICA, presa per default dal sistema, imposto
dal carattere % d’inizio programma.
Vengono convertite:
.1 Le quote assi CNC, mentre non vengono convertite le quote degli assi indipendenti
dichiarati nel file TAR, AXS e le quote degli assi rotanti.
.2 Viene convertita in pollici l’istruzione F..., mentre non viene convertita l’istruzione
<FED:..> per gli assi INDIPENDENTI dichiarati nel file TAR.AXS.
7 Capitolo 4
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Le istruzioni G70 o G71 devono essere scritte in una riga a se stante SENZA
ALTRE ISTRUZIONI
......
N10G70
N20....
N30....
N40G71
...
NOTA:
Nella memoria del CNC e sui files, i dati sono sempre espressi in millimetri.
8 Capitolo 4
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
CAPITOLO 5
Sono quelle funzioni ausiliarie la cui azione si estrinseca principalmente verso la M.U.
e sono gestite dal PLC incorporato nel CNC 9732.
Come dice il nome hanno vari scopi.Elencheremo più avanti i codici più usati
(M03,M08,ecc).Gli altri codici (dei duecento possibili) possono corrispondere a speciali
funzioni di macchina previsti dal costruttore della M.U.
Ricerca dell’utensile. Ordina alla M.U. di ricercare nel magazzino utensili l’utensile
programmato se la M.U. è dotata di cambio utensile automatico e automaticamente di
cambiarlo.
Segnala sullo schermo all’operatore di preparare l’utensile programmato se il cambio
utensili è manuale.
Inoltre identifica il numero del CORRETTORE (Raggio e Lunghezza) che verrà
abbinato all’utensile al momento dell’emissione della funzione cambio utensile
Servono per particolari esigenze del costruttore della M.U. Può servire, ad esempio,
per programmare il posizionamento INDEXATO di tavole rotanti della M.U. (tavole
indexate non controllate come assi dal CNC). Da notare che si accettano fino a 1
istruzione H... ed un’istruzione E.. sulla stessa operazione riferite al movimento di 2
tavole indexate, ad esempio: N...H240 E420
1 Capitolo 5
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
ATTENZIONE: Questa come altre F.A. esterne possono essere state definite come F.A.
SUBROUTINES, cioè sottoprogrammi richiamati automaticamente dalla funzione stessa
per l’esecuzione di cicli complessi che al limite completino anche movimenti assi.
2 Capitolo 5
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
NORME E PRECISAZIONI:
.1. Alcuni codici delle F.A. M... che abbiamo elencato, possono avere, in qualche caso,
un significato diverso per esigenze od usanze del costruttore della M.U.
.2. Inoltre alcuni codici M..., tra quelli elencati, possono essere ignorati dalla M.U., se su
di esso mancano le corrispondenti funzioni (implementate nel PLC del sistema).
Così come possono essere state implementate altre funzioni, tra i 200 codici M... previsti
nel sistema, non riportate nell’elenco sopraesposto.
.3. In ogni caso è il costruttore della M.U. che deve precisare l’esatto significato delle
funzioni S,M,T ecc. utilizzate sulla sua macchina.
.4. Come accennato in relazione alla M06, le funzioni M,S,T,D ecc. possono essere
definite sia come F.A. SUBROUTINES, che come FUNZIONI AUSILIARIE del
tipo:
a) ANTICIPATE
b) INTERMEDIE
c) POSTICIPATE
3 Capitolo 5
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Nel caso il costruttore della macchina utensile abbia applicato dei bloccaggi meccanici,
l’attivazione degli stessi avviene tramite le istruzioni HLPL del tipo:
ove:
sigla asse rappresenta la sigla degli assi della M.U.: X;Y;Z;W ecc.
numero asse rappresenta il numero distintivo dell’asse (dal file di taratura TAR.CNC)
da 0 a 7
<exp HLPL> rappresenta un espressione HLPL tra variabili intere di tipo % #.
Esempio:
N... <BLC:X;Y;Z>
4 Capitolo 5
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Le istruzioni che seguono sono utilizzabili solo su macchine dotate di cambio utensili
automatico (CUA) ed hanno effetto solo se programmate in modo semiautomatico
[MAN]:
(M)G309 cambio automatico dell’utensile escluso: è utile nel caso di guasto del
cambio utensili automatico, dopo
tale istruzione in cambio utensili diventa manuale. Per ripristinare le funzionalità del
cambio utensili automatico
sarà sufficiente programmare G308.
Le istruzioni G308 e G309 sono di tipo “super” modale cioè il loro effetto permane
anche dopo lo spegnimento e la riaccensione del CNC.
5 Capitolo 5
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
CAPITOLO 6
Le funzioni ausiliarie esterne previste dal CNC 9732 hanno gli indirizzi:
M..,S..,T..,H.. già descritti nel precedente capitolo ed inoltre D.. (funzione di cambio
correttore che verrrà trattata nei prossimi capitoli).
Tali funzioni possono essere definite, a secondo dell’ordine con cui vengono emesse,
come:
F.A. SUBROUTINES
Si definiscono F.A. subroutine quelle funzioni ausiliarie esterne che fanno riferimento
ad un file (e lo mettono in esecuzione), ad esempio il file MFUNC per le F.A. “M..,”
il file CTOOL per le F.A. “T..”, il file SFUNC per le “S..”, il file CFUNC per i
correttori “D...”
Tale file può contenere istruzioni complesse, tipiche di un part-program, come
movimenti assi ecc. Le F.A. definite dal costruttore come anticipate o posticipate
sono F.A. subroutine.
ANTICIPATE
INTERMEDIE
1 Capitolo 6
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
POSTICIPATE
Sono quelle funzioni ausiliarie che vengono emesse dopo eventuali movimenti assi, o
comunque sempre emesse per ultime.
E’ il costruttore della M.U. che decide (mediante il file tabellare FAUX.CNC) quali
funzioni dichiarate anticipate, intermedie o posticipate. Le definizioni di cui sopra
prescindono dall’ordine con cui le F.A. sono scritte nell’operazione N.. del Part-
Program.
In una stessa operazione N.. possono essere programmate e quindi convivere fino a:
ed inoltre una F.A. S..., una F.A. T..., una F.A. D.. e una F.A. H...
IL CARATTERE “$”
Il carattere “$” programmato prima di una F.A., rende la funzione ausiliaria intermedia
e quindi consente di emettere immediatamente la funzione per il PLC, ad esempio
programmando: $M21
Il codice M21 viene passato direttamente al PLC senza l’intermediario del file FASUB.
2 Capitolo 6
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
.2. Se la F.A. era stata dichiarata intermedia allora il programmare $M... equivale a
programmare M... e la funzione viene inviata direttamente al PLC.
3 Capitolo 6
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
CAPITOLO 7
Gli utensili hanno delle dimensioni geometriche che devono essere tenute in conto dal
programmatore.
Le frese hanno un raggio R.. ed una lunghezza L.. definiti; le punte, i maschi, i bareni
ecc.. non hanno necessità di compensare il raggio quindi per il CNC avranno una
lunghezza L... definita e raggio zero.
Supponiamo inoltre che l’operatore abbia formato l’origine Z portando il naso del
mandrino a contatto con la superficie frontale del pezzo.
Il programma senza compensazioni lunghezza potrebbe essere il seguente:
%
N0
N10 T5 M41
N20 G00 X0 Y0 S750 M13 T12
N30 Z222
N40 G01 Z195 F120
N50 G00 Z420 M06
N60 Z102 S300 M13
N70 G01 Z95 F90
N80 G00 Z300 M05
N90 M02
COMMENTI:
N020: La punta si posizione sul centro del foro viene messo in moto il mandrino, inizia
la ricerca di T12.
1 Capitolo 7
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
N030: La punta scende a 2 mm dalla superficie del pezzo, ma essendo l’utensile lungo
220 mm, la quota da programmare diventa 222 mm.
OSSERVAZIONI:
Esempio:
...
N30 G01 G43 Z-50 X100
...
2 Capitolo 7
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
COMMENTI:
La G43 inserisce la compensazione lunghezza in verso positivo lungo l’asse Z.. perchè
è l’asse che segue l’istruzione G43, quindi la profondità Z-50 viene raggiunta dalla
punta dell’utensile. L’asse X.. programmato nella stessa operazione non viene
compensato in lunghezza.
La G43 è valida se l’asse che crea la profondità di lavoro si deve muovere in verso
positivo per allontanare l’utensile dal pezzo.
Se così non fosse si deve impiegare l’istruzione G44.
Attenzione che le istruzioni G43 e G44 sono posizionali ed agiscono solo sul primo
asse che segue l’istruzione stessa.
Esiste un secondo modo di compensare in lunghezza un asse mediante l’istruzione di
piano libero G16.., vedi Cap.11.
Lo si fa con l’istruzione:
T = 05 L1 = 220 L2 = 0 R = 0
T = 12 L1 = 100 L2 = 0 R= 20
%
N0
N10 T5 M42
N20 G00 X0 Y0 S750 M13 T12
3 Capitolo 7
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
N30 G43 Z2
N40 G01 Z-25 F120
N50 G00 Z200 M06
N60 Z2 S300 M13
N70 G01 Z-5 F90
N80 G00 Z200 M05
N90 M02
OSSERVAZIONI:
Tramite l’istruzione G43 della N30 si è insegnato al CNC, una volta per tutte, che è
l’asse Z quello che crea la profondità di lavoro.
Il CNC terrà conto automaticamente delle lunghezze degli utensili che via via verranno
montati sul mandrino (T..) e farà raggiungere, dalle loro estremità, le quote
programmate che sono quelle ricavabili direttamente dal disegno del pezzo.
4 Capitolo 7
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
CAPITOLO 8
(M) p,q,r Fattori moltiplicativi del raggio utensile (coseni direttori) lungo gli assi
definiti dall’istruzione:
<SPC:...;...;...>
<SPC:X;Y;Z>
I fattori p,q,r sono generalmente utilizzati per la compensazione vettoriale del raggio
utensile nello spazio, vedi Cap.11. In questo capitolo si è voluto dare un saggio della
loro potenzialità nelle lavorazioni parassiali.
1 Capitolo 8
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
PROGRAMMA:
COMMENTI:
y - 30 + R*0 = Y - 30
2 Capitolo 8
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
RISULTATI RAGGIUNTI:
Grazie alle compensazioni raggio e lunghezza, nel programma appena fatto compaiono
le sole quote ricavabili dal disegno (Fig.8.1, il programma rimane sempre valido
qualunque siano le dimensioni degli utensili impiegati in officina.
Si è già visto nel capitolo precedente che per poter compensare la geometria utensile è
necessario caricare in un file utensile le reali dimensioni di un utensile, cioè la sua
larghezza e il suo raggio.
Al momento del cambio utensili: T.., IL cnc preleverà automaticamente dal file utensili,
i valori di lunghezza e raggio da abbinare all’utensile attivo (utensile impiegato “in
questo momento”).
N... T12
Mediante il codice D... è consentito poter attribuire piò correttori allo stesso utensile
fisico:
ad esempio programmando:
3 Capitolo 8
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
...
N10 T12
N40 D15
...
...
N70 D14
...
...
N150 T30 M06
...
Si ottiene:
Programmare:
N...T30
equivale a programmare:
N... T30
N.. D30
Ad esempio, in Fig.8.2 è raffigurata una fresa a disco utilizzabile (con i taglienti frontali)
da ambo i lati, per far ciò è sufficiente abbinare un correttore di raggio e lunghezza ad
un lato della fresa, tale correttore può coincidere con il numero utensile (T12
dell’esempio di programmazione precedente con R=40 ed L=180).
4 Capitolo 8
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
ANNULLAMENTO CORRETTORI
D0
Non è possibile programmare un cambio correttore (D..) nella stessa riga di programma
del cambio utensili, ad esempio una riga di programma del tipo: N..T12D15 è errata.
5 Capitolo 8
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
CAPITOLO 9
ORIGINI
In tutti gli esempi finora fatti le quote programmate per gli assi (X,Y,Z,B ecc.) erano
tutte riferite alle loro origini n.1, infatti il carattere % di inizio programma ha la
prerogativa di inserire le origini n.1 di tutti gli assi.
L’operatore della M.U. deve formare tali origini in modo che corrispondono allo zero
pezzo indicato dal programmatore.
Le istruzioni G55, G56, G57 (presenti in altri CNC) sono considerate sinonimi
dell’istruzione G54.
In molti casi, può essere utile al programmatore riferire le quote ad origini diverse dalle
n.1. Per far ciò basterà che egli scriva le istruzioni modali: G54.02, G54.03...
G54.16 a seconda che voglia riferire le quote rispettivamente all’origine n.2,
all’origine n.16 di tutti gli assi CNC della M.U.
1 Capitolo 9
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
ESEMPIO:
%
N0...
N10...
...
N90
N100 G54.04
...
N250...
N260 G54.07
...
N300 M02
COMMENTI:
Fino alla N90 le quote programmate per gli assi sono riferite alle loro origini n.1, grazie
al carattere %.
Dalla N100 alla N250 le quote sono riferite alle origini n.4
Dalla N260 alla N300 le quote vengono riferite alle origini n.7.
1) Le istruzioni G54.xx hanno l’effetto di richiamare l’origine per tutti gli assi CNC
quindi programmando ad esempio:
...
...
N20 G54.05
N30 G00 X.. Y.. Z.. B..
...
La N20 richiama le origini n.5, nella N30 i posizionamenti di tutti gli assi programmati
verranno riferiti alle origini n.5.
2 Capitolo 9
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Formato:
Programmando ad esempio:
...
N30 G54.03
N40 X.. Y..
...
N60 G59 X200 Y120
...
...
...
N100 G54.05
...
...
COMMENTI:
N040: Si effettuano posizionamenti degli assi riferiti alle origini X,Y n.3.
3 Capitolo 9
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
G59 X0 Y0...
L’istruzione G59 può essere utilizzato anche per il caricamento delle origini assolute nel
relativo file, il formato diventa:
dove l’istruzione N... che segue la G59 rappresenta il n. d’origine che si vuole caricare
(o modificare) , nel nostro esempio si vogliono caricare le origini n.3 per gli assi
X,Y,Z,A,e B.
NOTA:
...
...
N30G54.03
N40X... Y...
...
...
N60G59 X200 Y120
4 Capitolo 9
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
COMMENTI:
N060: Le origini n.3 vengono traslate di 200 mm in X e 120 mm in Y come già visto.
N..G58 X0 Y0
L’istruzione G53 provoca movimenti della M.U. riferiti allo ZERO MACCHINA
eventuali origini attive, traslazioni origini, specularità vengono sospese
nell’operazione dove è programmate la G53 (autocancellante) edeventualmente ripresi
nell’operazione successiva.
La M.U. si posiziona alla quota di coordinate X2000 ed Y1850 rispetto allo ZERO
MACCHINA.
5 Capitolo 9
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
CAPITOLO 10
Le funzioni G81, G82, ..G89 sono modali e “scatenano” il ciclo di lavoro caratteristico,
solo se in una operazione e’ scritta l’istruzione di posizionamento di uno o piu’ assi e
dopo che tutti gli assi sono arrivati sulle quote programmate e hanno velocita’ 0.
1 Capitolo 10
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Per fare eseguire i cicli fissi su un determinato asse della M.U. e’ necessario scrivere
l’istruzione di “prenotazione” del tipo:
ad esempio:
L’assegnazione dei cicli fissi ha l’effetto di far interpretare le variabili: RAP, ENT,
RAL, ecc. caratteristiche dei cicli fissi come movimenti per l’asse a cui e’ stato
assegnato il ciclo fisso.
Una volta effettuata l’assegnazione di un asse, questa rimane fintanto che non viene
programmata una nuova assegnazione.
L’istruzione:
2 Capitolo 10
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Trascurando, per il momento la G83 ciascun ciclo fisso e’ costituito dalle seguenti fasi:
3 Capitolo 10
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Esistono 2 cicli:
Comporta le stesse variabili della foratura con scarico in piu la programmazione della
variabile:
N.B. Con tempo di sosta <> da 0 si ottiene il ciclo con rottura truciolo, con tempo
di sosta = 0 viene effettuato il ciclo con scarico del truciolo.
4 Capitolo 10
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
MASCHIATURA: G84
5 Capitolo 10
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
PRECISAZIONI IMPORTANTI.
Una peculiarita’ importante dei cicli fissi da G81 a G89, e’ quella di scatenarsi solo
dopo che gli assi hanno raggiunto la quota programmata e hanno velocita’ 0, per cui
programmare:
%1234
N0 G16XYZ+ <CFF=CFZ>
N10 T1 M42
N20 S800 F200 M13
N30 G81 <RAP=2> <ENT=-30> <RAL=2>
N40 X100 Y80
...
...
oppure:
sortono lo stesso effetto, perche’ il ciclo fisso viene scatenato solo dopo il
posizionamento degli assi X e Y.
I cicli fissi descritti sono stati realizzati da COGI Elettronica, mediante il linguaggio
parametrico HLPL come macro (residenti sotto il direttorio SUB\).
Tuttavia l’utente ha a disposizione il linguaggio HLPL quale strumento per costruirne di
nuove personalizzate alle proprie esigenze.
6 Capitolo 10
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
CAPITOLO 11
CONTORNATURA
Si intende per contornatura la possibilità del CNC di muovere gli assi lungo profili
costituiti da segmenti di rette e/o da archi di cerchio. Le lavorazioni di contornatura
corrispondono quindi sempre a fresature di profili rettilinii o circolari.
Ognuna di queste istruzioni identifica su quale coppia di assi della M.U. (scelta nella
terna X,Y,Z) si vogliono eseguire archi di cerchio (G02 o G03) e/o si vuole compensare
“vettorialmente” il raggio dell’utensile (vedi parag.11.3).
1 Capitolo 11
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Formato:
Dove: primo asse, secondo asse rappresentano assi della M.U. appartenenti a diverse
direzioni, sono gli assi del piano di contornatura. Comunque venga scritto l’ordine
degli assi, il CNC considera i vari piani di contornata nell’abbinamento delle direzioni
valide per la terna destrorsa di Fig.11.1, vedi quanto spiegato a proposito di G17,G18 e
G19.
ad esempio:
G16UWZ+
Significa:
Si noti che con l’uso dell’istruzione G16... si effettua, oltre alla selezione del piano di
contornatura, la compensazione in lunghezza dell’utensile in alternativa all’istruzione
G43 (o G44) già viste.
E’ possibile definire il piano libero mediante tre assi di cui due coincidenti, ad esempio:
G16XZZ+
2 Capitolo 11
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
. orario
. antiorario
. pezzo a destra
. pezzo a sinistra
E’ necessario stabilire un criterio grafico mediante il quale orientare gli assi del piano di
contornatura.
I semiassi positivi delle ascisse e delle ordinate devono essere orientati come in Fig.11.1
facendo riferimento alla direzione dell’asse configurata nel file TAR.CNC
G02, secondo quanto esposto in Fig.11.1, è rappresentata dalla rotazione degli assi
appartenenti alle seguenti direzioni:
DIR1 = DIR3
DIR3 = DIR2
DIR2 = DIR1
Comunque sia, anche se il verso degli assi della M.U. fossero invertiti (assi discordi)
rispetto alla terna destrorsa di Fig.11.1 in fase di taratura del CNC (nel file TAR.AXS
campo SNS) è sufficiente definire che l’asse è di verso opposto rispetto alla terna
destrorsa affinchè il CNC ristabilisca la stessa regola di programmazione valida per gli
assi di Fig. 11.1.
In definitiva il programmatore non deve preoccuparsi di come sono orientati gli assi
sulla M.U.
3 Capitolo 11
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Si intende per contornatura convenzionale, le istruzioni G01, G02 o G03 in cui vengono
programmate sempre le coordinate rettangolari o polari del punto finale della retta o
dell’arco di cerchio.
RETTA
Una retta è definita programmando ambedue le coordinate del punto finale mediante
l’istruzione G01 per interpolazione lineare in lavoro oppure G00 per RAPIDO. Il
punto iniziale di una retta corrisponde al punto finale raggiunto nell’operazione
precedente (vedi Fig.11.2).
quindi:
ESEMPIO:
...
N10 G00 X... Y... (SP)
N11 G11 X... Y... a... e....
...
4 Capitolo 11
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
dove:
CERCHIO
N... X Y (PINZ)
N... G02... X... Y... (PFIN) I... J (C)
Le coordinate del centro (I,J,K) sono di norma assolute, è tuttavia possibile, in fase di
messa in servizio, del CNC configurare il controllo in modo da farle interpretare
incrementali rispetto al punto iniziale.
5 Capitolo 11
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Si riferisce alla Fig.11.5, in cui I... e J... rappresentano le distanze tra PINZ e centro
dell’arco di cerchio.
Se si è scelto le coordinate del centro di tipo incrementale non sarà più possibile la
programmazione mediante linguaggio GEO+
ad esempio:
dove:
6 Capitolo 11
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Dalle premesse fatte siano adesso in grado di elencare le regole per una corretta
programmazione della contornatura:
. 1. orientare gli assi della M.U. sul disegno del pezzo facendo riferimento alla Fig.11.1
. 2. definire il piano di contornatura mediante le istruzioni G17, G18 o G19, oppure con
l’istruzione di selezione libera del piano G16...
. 3. posizionare gli assi del piano di contornatura (in rapido GOO o lavoro G01) su un
punto distante dal profilo almeno di una quantità pari al raggio utensile.
. 4. posizionare gli assi sul punto d’inizio del profilo mediante l’istruzione G00 o G01,
questa operazione deve contenere la definizione di posizione reciproca pezzo/utensile:
Gli assi raggiungono il punto d’inizio della contornatura (attacco della contornatura)
con utensile compensato (normale al profilo) ed a velocità zero.
L’attacco al profilo può avvenire sia su retta che su cerchio ed in qualsiasi punto del
profilo (anche non parassiale)
Nell’operazione successiva a quella d’inizializzazione della contornatura (G41 o G42) è
necessaria una operazione contenente un movimento sul piano di contornatura.
. 5. contornatura mediante le istruzioni G01,G02,G03
7 Capitolo 11
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
. 6. Distacco dell’utensile dal profilo mediante istruzioni G00 oppure G01, in questa
operazione deve essere annullata la compensazione mediante l’istruzione G40. Alla fine
del posizionamento il centro utensile si troverà sulle coordinate programmate.
Eventuali cambi correttori, origini ecc. debbono essere programmate prima dell’inizio
della contornatura.
. Uno spigolo è concavo quando non può essere raggiunto dall’utensile senza sfondare
l’elemento geometrico successivo e per eseguirlo l’utensile deve sempre fare bruschi
cambiamenti di direzione, arrestandosi per un istante, quando è tangente ai due strati
continui di profilo (Fig. 11.8 B.D.F).
Comunque sia, la compensazione vettoriale del raggio dell’utensile risolve
automaticamente ambedue i tipi di spigoli, come mostrato in Fig.11.8, facendo ruotare il
8 Capitolo 11
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
raggio sugli spigoli convessi ed arrestandosi tangente ai due elementi di profilo negli
spigoli concavi.
PROGRAMMA:
%
N0 T3 G90 G16 XYZ +
(PINZ) N10 G00 X-50 Y50 S.. F..
N20 Z-30 M13
(P1) N30 G01 G41 X80 Y80
(P2) N40 Y120
(P3) N50 X180 Y200
(P4) N60 G03 X360 Y200 I270 J230
N70 G01...
...
COMMENTI:
N010 Posizionamento punto a punto rapido sul punto PINZ; da notare che viene
raggiunto con il centro utensile (la correzione raggio non è ancora attiva).
N040
9 Capitolo 11
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
N070 Viene contornato il pezzo, si noti la rotazione del raggio vettore effettuata
automaticamente su ogni spigolo.
Se nella N30 fosse stato programmato G42 (al posto di G41), il raggio utensile, durante
il movimento di attacco al profilo, si
sarebbe disposto come in Fig. 11.10 ed avrebbe poi realizzato l’interno del nostro
esempio.
PROGRAMMA:
%
N0 T05 G90 G16 XYZ +
(PINZ) N10 G00 X90 Y240 S... F...
N20 Z-30 M13
(P1) N30 G01 G42 X50 Y350
(P2) N40 G02 X225 Y200 I137.5 J275
(P3) N50 G03 X341.66 Y100 I283.33 J150
(P4) N60 G01 X550 Y343.06
N70 G00 G40 X610 Y260
...
...
COMMENTI:
N10 Posizionamento punto a punto su PINZ, viene raggiunto il punto con il centro
utensile.
10 Capitolo 11
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
ESEMPIO N.1
Facendo riferimento alla Fig.11.12 si vuole lavorare il pezzo raffigurato con utensile:
PROGRAMMA:
%
N0 G16 XYZ+
N10 T12 M42
(PINZ) N20 X-110 Y120 S500 F200 M13
N30 Z-35
(SP) N40 G01 G41 X-105 Y100
(P2) N50 X100
(P3) N60 X65.798 Y193.969
(P4) N70 G02 X164.605 Y256.916 I122.179 J214.49
(P5) N80 G01 X270.671 Y150.85
(P6) N90 G03 X270.671 Y9.428 I341.382 J80.139
(P7) N100 G01 Y-53.816
(P8) N110 X17.365 Y-98.481
(P9) N120 G02 X-100 Y0 I0 J0
(PF) N130 G01 Y105
(Pest) N140 G00 G40 X-110 Y-120
N150 Z200 M05
N160 M02
COMMENTI:
11 Capitolo 11
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
N040: Attacco in lavoro sul prolungamento in aria del profilo. Il pezzo a destra (G41).
N050
N130: Contornatura del profilo, da notare lo spigolo P2 che viene risolto raccordandolo
con il raggio utensile.
ESEMPIO N.2
Il part-program è il seguente:
%
N0 G16 XYZ+
N10 T20 M42
(PEST) N20 X-60 Y100 M13 S400 F300
N30 Z10
(PINZ) N40 G01 G42 X-33.14 Y100
(P0) N50 Y0
(P1) N60 G03 X0 Y-80 I80 J0
(P2) N70 G01 X200 Y-80 Z30
(P3) N80 G02 X200 Y80 I280 J0
(P4) N90 G01 X0 Y80 Z10
(P0) N100 G03 X-33.14 Y0 I80 J0
(PFIN) N110 G01 X-33.14 Y-100
N120 G40 X-60 Y-100
N130 G00 Z100 M05
N140 M02
COMMENTI:
12 Capitolo 11
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
N050
N110: Contornatura del profilo, si noti che in alcune operazioni vengono mossi
contemporaneamente i tre assi per ottenere alcuni tratti del profilo tridimensionale.
Si chiama lavorazione in concordanza quella fatta dal tagliente di una fresa che
ruotando in verso orario asporti materiale dall’ “aria” verso il pezzo. Vedi Fig.11.14.
Si chiama lavorazione in discordanza quella effettuata dal tagliente di una fresa che
ruotando sempre in verao orario asporti materiale dal “pezzo” verso l’”aria” - vedi
Fig.11.15.
13 Capitolo 11
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Come già spiegato nei paragrafi precedenti, nel piano si ha l’attivazione della
compensazione vettoriale automatica mediante le istruzioni G41 o G42 e la loro
cancellazione mediante l’istruzione G40.
Nello spazio la compensazione vettoriale è ottenuta mediante i coseni direttori
programmati con:
ad esempio, programmando:
N...<SPC: X;Y;Z>
p per l’asse X
q per l’asse Y
r per l’asse Z
<SPC:OFF>
14 Capitolo 11
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Xa = X + Rut* P
Xc = Y + Rut* q
Zc = Z + Rut* r
In altre parole i fattori p,q,r corrispondono alle componenti vettoriali che avrebbe un
utensile di raggio unitario rispetto al punto programmato sulla superficie del pezzo (vedi
Fig.11.16).
Con la sola programmazione diretta il calcolo dei coseni direttori nello spazio è un
compito particolarmente arduo.
Nel piano possono venir utilizzati nella contornatura parassiale come è già stato
spiegato ed esemplificato nel Cap.8, comunque sia nel piano, salvo casi particolari, l’uso
dei coseni direttori è consigliabile vista la presenza della ben più semplice e completa
compensazione vettoriale.
1. L’attivazione della compensazione vettoriale nello spazio (<SPC: ...>) non viene
accettata con compensazione vettoriale nel piano (G41 o G42) attiva.
2. Altresì non è accettata la compensazione vettoriale nel piano (G41 o G42) con
compensazione nello spazio attivo.
15 Capitolo 11
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
infatti il movimento contemporaneo di due assi , uno lineare ed uno rotante, genera
un’elica.
Formato:
dove:
16 Capitolo 11
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
AVVERTENZA:
La velocità di lavoro programmata F.. coincide con la proiezione della velocità effettiva
sul piano di contornatura. E’ pertanto praticamente identica alla velocità effettiva finchè
il passo dell’elica non supera il diametro del cerchio (condizione sempre verificata nel
caso di filettature). Nel caso invece che si vogliano programmare archi di elica con
passo molto più grande rispetto al cerchio, si potrà tenerne conto usando la formula
seguente:
Fe = F* (1+(P/( *D)2)
F - velocità programmata.
PROGRAMMA
% N0 G16 XYZ+
N10 T3 M41
N30 Z-50
N50 Y0
N100 M02
COMMENTI:
17 Capitolo 11
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
G60 (M) Controllo automatico delle accellerazioni di profilo per gli assi CNC,
CANCELLA LE ISTRUZIONI G64 e G65.
Nel caso invece che un profilo nel piano o nello spazio sia costitutito da un insieme
fitto di punti, è il caso di curve per punti, superfici ottenute in modo puntiforme da
sistemi CAD-CAM, superfici ottenute mediante l’opzione DIGITALIZZAZIONE, la
G60 allo scopo di voler rispettare il profilo programmato può provocare degli arresti
lungo la traettoria puntiforme. Per evitare ciò e velocizzare la fresatura dei profili
puntiforme è necessario utilizzare l’istruzione G64 o G65.
Con la G64 il profilo risulta più “avviato” che con la G60 e quindi gli spigoli formati dai
vari punti vengono leggermente tagliati, mentre la velocità F.. programmata si mantiene
costante lungo la traiettoria programmata.
18 Capitolo 11
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Con questa istruzione si ottiene una velocità di elaborazione del part-program pari a 60
operazioni/secondo su part-program ASCII e di 90 operazioni/secondo per file binari
(caricati con l’opzione DNC/BINARIO). A partire dall’istruzione G65 e fino a che non
viene incontrata l’istruzione G60, il part-program deve contenere movimenti rettilinei
dei soli assi X, Y, Z. (Cioè dei primi 3 assi dichiarati in taratura).
Non devono essere attivi cicli o macro: G81-G89; G101-G149; G151-G199; G201-
G249; G251-G259, matrici di trasformazione ecc.
PROGRAMMA:
19 Capitolo 11
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
N0 G16 XYZ+
N10 T4
N70 G01 Y0
N80 X0
N90 Y50
N130 M02
COMMENTI:
N40 Attacco tangenziale verso il punto P1 con pezzo a sinistra (G48). Viene generato
un arco di 90° a partire da P1 tangente alla retta P1-P2 . Il raggio di tale arco è 2 volte
il raggio utensile + sovrametallo <DRA:..> programmato (vedi Cap.12). Il movimento
(vedi Fig.11.18) è scomposto in un movimento lineare in rapido da PINZ al punto
d’inizio dell’arco P (punto calcolato automaticamente) e un movimento circolare
d’attacco al profilo eseguito, a velocità F... programmata, da P verso P1.
N50
20 Capitolo 11
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
CONSIDERAZIONI
Il risultato è quello di una lavorazione senza tracce di attacco e senza alcun onere di
calcolo per il programmatore.Se si fosse voluto l’attacco standard (radiale) era
sufficiente programmare G42 al posto di G48 nella N40 e G40 al posto di G46 nella
N110.
Sia nel caso di attacco tangenziale (G47 o G48) che nel caso di stacco (G46) vengono
generati automaticamente 2 movimenti:
PROGRAMMA:
N0 G16 XYZ+
N30 Z-10
21 Capitolo 11
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
N80 M02
COMMENTI:
<var>; <var>
dove:
22 Capitolo 11
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Al posto dei valori di Koeff e angolo possono essere programmate variabili LIP (vedi
Cap.14). L’istruzione <TGR:...> è autocancellante, deve essere programmata nella
stessa operazione in cui sono presenti G47 (o G48) e G46, altrimenti non viene
presa in considerazione.
23 Capitolo 11
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
CAPITOLO 12
ISTRUZIONI COMPLEMENTARI
Nei paragrafi che seguono vengono illustrate alcune istruzioni complementari alla
contornatura. Queste istruzioni diventano versatili e potenti se usate congiuntamente
alla macro di RIPETIZIONE: <RPT:..> vedi Capitolo 15.
Si può programmare il valore del sovrametallo da lasciare sul profilo lavorato, mediante
l’istruzione “logica”:
<DRA: valore>
<DRA:...>
N... <DRA:0>
...
N10 T12 <DRA: 1.5>
...
1 Capitolo 12
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
OSSERVAZIONI:
IMPORTANTE:
<DRA:...> + Rut = 0
<DLN: valore>
in cui “valore” rappresenta l’entità di sovrametallo che si vuole lasciare lungo l’asse di
profondità, cioè lungo l’asse compensato in lunghezza mediante le istruzioni G43 (o
G44) oppure mediante il piano libero, ad esempio: G16XYZ+.
2 Capitolo 12
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
%
N0 G17 <DLN:20>
N10 T1 M06
N20 X100 Y50
N30 G43 W-50
...
COMMENTI:
Nella N30 l’utensile (T1) si porta a profondità reale W-30 che è il risultato della somma
algebrica: W-50+20.
OSSERVAZIONI:
<DLN:0>
3 Capitolo 12
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
in particolare l’istruzione:
<MIR:OFF>
ESEMPIO:
%
N0 G16 XYZ+
N10 T1
...
N50 <MIR:ON;X> [Attiva la specularità su X]
...
N100 <MIR:ON;Y> [Attiva la specularità su Y; su X è ancora attiva]
N150 <MIR:OFF;X> [Annulla la specularità su X; su Y rimane attivo]
...
...
N200 <MIR:OFF> [Annulla la specularità su tutti gli assi]
....
4 Capitolo 12
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
OSSERVAZIONI:
5 Capitolo 12
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
CAPITOLO 14
HLPL
14.1.1 VARIABILI
hanno un range di + 10/38 per la parte intera e di + 10-38 per la parte decimale.
1 Capitolo 14
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Tutte le variabili descritte possono essere utilizzate per definire elementi del
programma, potranno quindi essere abbinate a:
2 Capitolo 14
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
%
N10 T<#32> S<#20> F=R12
N20 G00 X=R0 Y=R1 M13
N30 Z=R11
N40 G01 G41 X=R3 Y=R4
...
...
NOTA:
14.1.2 COSTANTI
...
...
N200 G01 X100 Y100 S800 M13 F200
N220 G02 X100 Y-100 I0 J0
...
...
A tutti gli indirizzi vengono associate direttamente quote e codici che, per l’appunto
sono costanti numeriche.
3 Capitolo 14
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
‘89ABC’
E’ reso possibile calcoli tra costanti direttamente durante il loro uso in abbinamento ad
indirizzi di programmazione, tali calcoli dovranno essere racchiusi tra parentesi acute,
ad esempio:
Verrà calcolata la coordinata del centro “I” pari al risultato dei calcoli tra le costanti
racchiuse all’interno delle parentesi acute.
. (punto)
; (punto e virgola)
Usati con il significato, rispettivamente, di parentesi acute aperta e chiusa. Servono per
racchiudere una singola assegnazione di variabile oppure calcoli tra variabili. In
generale definiscono l’inizio e la fine di una espressione HLPL.
= (segno di uguale)
Usato per assegnare costanti, o risultato di calcoli, a variabili. Usato anche per associare
le variabili direttamente ad indirizzi del CNC.
4 Capitolo 14
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
“...” (apici)
OPERATORI ALGEBRICI
+ addizione
- sottrazione
* moltiplicazione
/ divisione
^ elevazione a potenza
| resto della divisione
= assegnazione: cioè assegna alla variabile a sinistra del
segno “=“ il risultato dell’espressione alla destra del
segno “=“.
R20 = R20 + 10
come uguaglianza non avrebbe alcun senso, mentre come assegnazione ha il significato
di assegnare alla variabile R20 il valore precedentemente assegnato più 10.
ESEMPI
5 Capitolo 14
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
alla variabile #11 viene assegnato il risultato pari a 247.117, alla variabile #20 viene
assegnato il risultato di:
#11*10 = 2471.17
quindi:
Viene assegnato alla variabile ELV il risultato dell’elevazione a potenza di 3 (12 alla 3)
pari a 1728.
Viene assegnato alla variabile intera RST il resto della divisionetra 133 e 40 pari a
133/40 = 3 resto 13; quindi RST = 13.
OPERATORI BOOLEANI
& AND
scrive nella variabile #12 il contenuto del bit 4 della variabile di sistema a 8 bit V!2036
° OR inclusivo (ORI)
Gli operatori BOLEANI sono utili in applicazioni speciali e macroistruzioni che non
interessano gli utenti: programmatori ed operatori della M.U., per ulteriori
approfondimenti si rimanda il lettore al MANUALE D’APPLICAZIONE.
Formato:
6 Capitolo 14
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
OPERATORI:
SIN seno
COS coseno
TAN tangente
ATN arcotangente
NOTE:
. 2 - L’argomento delle funzioni SIN, COS, TAN è l’angolo espresso in gradi e parti
decimali.
ESEMPI:
Alla variabile R112 viene assegnato il SENO di 30° cioè R112 = 0,5.
Alla variabile QUI viene assegnato il prodotto del seno di 45° per il coseno di 35°,
quindi QUI = 0.5792279
7 Capitolo 14
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
IPT = 94.33981
Alla variabile R288 viene assegnato il valore assoluto della variabile R15 cioè 412.13
Alla variabile #14 viene assegnato il valore intero di 412.824 arrotondato per eccesso
quindi 413.
Alla variabile R90 viene assegnato il valore intero di 1234.99 cioe’ 1234.
I calcoli tra variabili e/o costanti prevedono una priorità algebrica, tipica dei linguaggi
evoluti (FORTRAN, BASIC, PASCAL, C ecc.) del tipo:
. Priorità 6: ° OR
8 Capitolo 14
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
in questa espressione viene per prima risolto l’elevazione a potenza 4^3, quindi il
risultato viene applicato per 3. Il risultato finale sommato a 12, per cui:
ESE = 204
L’ordine d’esecuzione può essere alterato con l’uso delle parentesi tonde. Per esempio,
modificando l’espressione precedente in:
<ESE = (12+3)*4^3>
si otterrebbe per primo lo svolgimento della somma tra parentesi, quindi il prodotto di
tale risultato con il risultato dell’elevazione a potenza. Ne consegue:
Il correttore D..
L’indirizzo H..
9 Capitolo 14
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
N...<expr1><expr2><expr3>...
esempio:
Si noti che nelle due espressioni sono presenti ben tre tipi di variabili reali (#,R..,
alfanumeriche) miscelate a costanti. E’ consentito il nesting di espressioni HLPL del
tipo:
10 Capitolo 14
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Si ottiene il duplice effetto di assegnare alla variabile R5 il risultato della somma tra
variabile R10 e 17 e si effettua il posizionamento dell’asse X alla coordinata
corrispondente alla variabile R5 assegnata.
11 Capitolo 14
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Le variabili HLPL veloci cioè con nome #n possono essere protette in scrittura
mediante l’istruzione:
14.2.2 SINONIMI
Ciò è utile per agevolare l’utente nella programmazione delle macro di sistema
utilizzando quali variabili nomi più mnemonici.
12 Capitolo 14
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
in cui:
ad esempio:
la variabile reale COC diventa sinonimo della variabile reale veloce #81; la variabile
RAC diventa sinonimo della variabile intera veloce #39.
Dopo l’assegnazione dei sinonimi diventa indifferente l’uso di qualsiasi delle due
variabili tra loro associate. Qualsiasi operazione eseguita su una variabile ha effetto
anche sul suo sinonimo o vicevera.
Il numero massimo di sinonimi definibili è di 150. Esiste già un file di assegnazione dei
sinonimi che viene “rigenerato” ad ogni accensione del CNC. Tale file, di nome
GENHLPL (e per il costruttore è GENCOST), contiene la corrispondenza tra sinonimi
e varibili HLPL (veloci) utilizzate nelle macro (ad esempio cicli fissi). Alterare tale
corrispondenza può provocare il malfunzionamento delle macroistruzioni fornite con
risultati inattesi.
<DEL:R;#;#;#>
13 Capitolo 14
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
<DEL:>
Formato:
n...<JMP:N<exp>>
14 Capitolo 14
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
N <exp>: anzichè una costante, dopo N può essere racchiusa tra parentesi acute
un’espressione HLPL tra variabili, il salto verrà eseguito alla N.. corrispondente al
risultato dell’espressione.
ESEMPIO:
%
N10
...
...
N50 <JMP:N250>
...
N250
Nella N50, per effetto dell’istruzione JMP, l’esecuzione del programma viene trasferita
all’operazione N250.
L’istruzione IFF è il mezzo per saltare ad altre parti di programma solo quando si
manifestano determinate condizioni. Il formato generale è:
N...<IFF<exp>: Na;Nb;Nc>
Na<exp>;Nb<exp>;Nc<exp>
in cui:
1.) <exp>
indica una variabile oppure una equazione tra variabili racchiuse tra parentesi acute.
2.) Na;Nb;Nc
rappresentano altrettante operazioni N... presenti nel programma con la seguente
prerogativa:
IFF (se) il risultato dell’espressione è negativo (<0), l’esecuzione del programma viene
trasferita alla operazione Na
15 Capitolo 14
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
IFF (se) il risultato dell’espressione è positivo (> 0), l’esecuzione del programma viene
trasferita alla operazione Nc.
ESEMPI:
. 4) PROGRAMMA:
%
N10 G16 XYZ+
N20 R10 = 0
N30 R10 = R10 + 1
N40 X... Y...
...
...
N200 <IFF<R10-10>:N30;N210;N210>
N210 G00 Z200
16 Capitolo 14
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
N220 M02
COMMENTI:
1° passaggio: R10 = 1
R10-10 = -9 (negativo)
salto alla N30
La variabile R10 viene incrementata a 2
2° passaggio: R10 = 2
R10-10 = -8 (negativo)
salto alla N30, R10 viene incrementato a 3
e così via fino al 9° passaggio
...
...
10° passaggio: R10 = 10
R10-10 = 0 (nullo)
salto alla N210: disimpegno e quindi fine
programma.
Il caso positivo che provocherebbe comunque il salto alla N210 non viene raggiunto.
y = 0.009*X2 + 0.001*X
17 Capitolo 14
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
R10 - X ed R11 - Y.
PROGRAMMA:
%
N0 G16 XYZ+
N10 T1
N12 S... F..... M41
N15 X-10 Y -30 Z-5 M03
N20 G01 G42 X-10 Y0
N30 R10 = 0
N40 R11 = 0.009*R10*R10+0.001*R10
N50 G01 X = R10 Y = R11
N60 <IFF<R10 -100>:N70;N90;N90;>
N70 R10 = R10 +1
N80 <JMP:N40>
N9O G00 G40 X150 Y100
N100 Z200 M05
N110 M02
COMMENTI:
N000
N020: Inizio programma e posizionamento punto a punto rapido sul
punto di inizio della traiettoria
N040
18 Capitolo 14
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Abbiamo discusso nel Parag.14.3.2 sui salti condizionati per effetto della valutazione
dell’espressione scritta tra parentesi acute. Espressione che poteva contenere sia calcoli
tra variabili
che una semplice variabile, quindi la decisione di saltare veniva presa in base a quanto
contenuto in variabili memorizzate nel CNC.
Attraverso le istruzioni TRU (da TRUE = VERO) o FLS (da FALSE = FALSO) è
possibile eseguire salti di programma valutando un evento all’esterno del CNC e più
esattamente su qualsiasi morsettiera di I/O.
dove:
TRU l’istruzione TRU può essere sostituita dal FLS. Con TRU viene valutato il
passaggio da 0 a 1 del bit in esame, con FLS viene valutato il passaggio da 1 a 0.
<exp> indica una variabile oppure una equazione o una costante che individua il bit
della morsettiera di I/O.
19 Capitolo 14
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
rappresentano due operazioni N... del part-program che sono gli estremi del programma
in cui viene attivato il meccanismo di salto, cioè è durante l’esecuzione del
programma contenuto tra la Na e la Nb che il passaggio da 0 a 1 del bit valutato,
provoca il salto alla N...desiderata.
N...(o N<exp3>
Operazione del part-program a cui viene effettuato il salto.
.1) L’operazione contenente l’istruzione <TRU <...> ...> o <FLS <...> ...> attiva il
meccanismo di salto alla N... desiderata. Tale meccanismo è reso modale ed interviene
solo se durante l’esecuzione della porzione di programma interessato, il bit preso in
esame commuta da 0 a 1 (TRU) o da 1 a 0 (FLS).
.3) Le istruzioni TRU (o FLS) sono utili per la gestione di tastatori ON-OFF (PROBE),
per la creazione di cicli speciali che coinvolgono apparecchiature o servomeccanismi
esterni..
Il meccanismo di salto attivato con l’istruzione TRU (oFLS), può essere disattivato con
l’istruzione:
<SPS:ON>
<SPS:OFF>
Ad esempio:
%
N10
N20<TRU<0R2>:N40; N200; N600>
...
N40
...
N60 <SPS:ON>
20 Capitolo 14
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
...
N150<SPS:OFF>
...
N200
...
N250 M02
COMMENTI:
N60-N150:
Se la commutazione avvenisse durante l’esecuzione delle operazioni comprese tra N60
ed N150 il salto non verrebbe eseguito per effetto della istruzione <SPS:ON>.
14.4 SOTTOPROGRAMMI
M...,S...,T...,D
...
N80 L431286
...
oppure
21 Capitolo 14
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
...
N80 L<VAIVIA>
...
COMMENTI:
22 Capitolo 14
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Sono quelle istruzioni G... assegnate ad altrettanti file (sottoprogrammi) che vengono
scatenate sempre dopo il posizionamento assi sul punto programmato se il
posizionamento esiste. Se non viene effettuato alcun posizionamento assi la macro
attivata non viene eseguita; tali macro sono disponibili nelle seguenticlassi:
Riservate ai cicli fissi, già illustrati nel CAP.10, L’ISTRUZIONE G80 è la funzione di
annullamento.
Sono cinque categorie di macro G... modali autoescludenti nell’ambito della stessa
categoria, per esempio: una G110 cancella una G107, una G187 cancella una G158 e
così via..
L’istruzione d’inizio categoria: G80, G100, G150, G200, G250 cancella la macro
modale appartenente alla stessa categoria, oppure lanciano una routine omonima se
presente in memoria. Tale struttura di macro, con i loro concatenamenti (vedi prossimo
paragrafo) è stata creata per poter sviluppare macro tecnologiche, impiantistiche, per la
23 Capitolo 14
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
gestione di tastatori (probe) ecc. Comunque anche l’utente esperto può definire macro
HLPL usufruendo della modalità caratteristica delle macro G101 + G299, in tal caso
utilizzare i 15 codici G.. da G251 a G265 (codici riservati all’utente) in modo da non
creare “pericolosi” conflitti con le altre macro in dotazione al sistema.
In una stessa operazione N... possono essere programmate fino a 5 macro G...
appartenenti rispettivamente alle cinque categorie di MACRO descritte nel paragrafo
precedente, cioè una macro della classe G80, una della classe G100 e così via fino alla
classe G250.
Nell’esecuzione delle macro G... programmate nella stessa operazione N..., il CNC
mantiene le seguenti priorità:
Classi disponibili:
24 Capitolo 14
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Richiamano subroutine sviluppate dal costruttore della M.U. Le macro “G600” già
implementate.
Non richiamano subroutine e sono ad uso esclusivo. In genere servono per la presa di
ZERO degli assi.
Si invitano gli utenti ad impiegare le macro G... sviluppate e riportate nel CAP. 16,
mentre si pregano gli stessi a scrivere le proprie “macro” HLPL utilizzando o
sottoprogrammi di tipo “L<NOME>“ O “L numero” già descritti nel capitolo 14.4 e
ciò per non entrare in contrasto con le macro implementate alla data attuale o che
verranno implementate in future release di software.
Nel presente paragrafo sono svolti a titolo di esempio, N.2 programmi: uno relativo alla
realizzazione mediante fresalesatura di cerchi esterni e l’altro alla fresatura di vasche
coniche raccordate da lavorare con fresa sagomata sferica.
La macro realizzata consente la fresalesatura di cerchi esterni e viene applicata nel caso
particolare al pezzo di Fig.14.2 (realizzazione di N.2 cerchi).
VARIABILI UTILIZZATE
25 Capitolo 14
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
PROGRAMMA PRINCIPALE
%
N0G16 XYZ + (ES.FIG.14.2)
N10T3 M06 <DRA:0.5> F200 M42 (FRESA DIA 30)
N20 <DIA =90> <XCE =250> <YCE =180> <ANG= 0 > <RUT = 30/2>
<VIN = 1> <ZAL= 35> <ZEN = 0> <SME =2> S1200 M03
N30 L <CEST>
N40 <DRA:0>
N50 L <CEST>
N60 <DRA:0.5>
N70 <DIA = 120> <XCE = 600> <YCE = 320> <ANG= 90>
N80 L <CEST>
N90 <DRA:0>
N100 L<CEST>
N110 G00 Z200 M05
N120 M02
COMMENTI:
26 Capitolo 14
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
N40
N50: Impostazione del sovrametallo di finitura e ripetizione
della macro.
N90
N100:Impostazione <DRA:0> per finitura, ripetizione della macro,
quindi disimpegno e fine programma.
SUBROUTINE: CEST
N0 <XPT=XCE+DIA/2*COS(ANG)><YPT=YCE+(DIA/2+RUT)*SIN(ANG)>
<XIN=XCE+(DIA/2*RUT+SME+2)*COS(ANG)>
N1 <YIN=YCE+(DIA/2+RUT+SME+2)*SIN(ANG)>
27 Capitolo 14
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
N2 <XCA=(XPT+XIN)/2><YCA=(YPT+YIN)/2>
N3 G00 X<XIN> Y<YIN> M13
N4 Z<ZAL>
N5 G01 Z<ZEN>
N6 <IFF <VIN>:N7;N7;N9>
N7 L<VLG02>
N8 <JMP:N10>
N9 L<VLG03>
N10 G00 Z<ZAL>
N11 <RET>
COMMENTI:
N0
N2 Calcolo delle coordinate di PIN, PT e di CA e del raggio di
attacco
N3
N5 Posizionamento rapido su un punto iniziale e discesa in
profondità dell’utensile
N6 Test sul valore assegnato alla variabile VIN (verso di
interpolazione) con conseguente indirizzamento alla
subroutine:
VLG02: verso di lavorazione G02 (orario)
VLG03: verso di lavorazione G03 (antiorario)
N10 Disimpegno rapido dell’utensile
N11 Ritorno al programma principale
SUBROUTINE: VLG02
SUBROUTINE: VLG03
28 Capitolo 14
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
N3 <RET>
VARIABILI UTILIZZATE
29 Capitolo 14
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
N40 L<VASCON>
N50 M05
N60 M02
COMMENTI:
SUBROUTINE: VASCON
N0 <ANG=ATN(((LTA-LA1)/2)/HIG)><ZIN=RUT*SIN(ANG)><ZFI=RUT-
HIG>
N1 <VR1=RUT*COS(ANG)><RAC=RAC-VR1><XP1=XCE-LTA/2>
<YP1=YCE+LBT/2-VR1>
N2 <XP2=XCE+LTA/2-VR1><YP3=YCE-LTA/2+VR1>
N3 <PAS=2*SQR(RUT**2-(RUT-CRM)**2)>
N4 <DZU=PAS*COS(ANG)><DRU=PAS*SIN(ANG)>
N5 <PRP=ZIN><DRI=0><DRF=ABS(ZFI-ZIN)*TAN(ANG)>
N6 G00X<XCE>Y<YCE<DRA:<DRI>>M13
N7 G01Z<PRP>
N8 G01G41X<XCE>Y>YP1>
N9 G01X<XP1>Y<YP1>
N10 X<XP1>Y<YP3>
N11 X<XP2>Y<YP3>
N12 X<XP2>Y<YP1>
N13 X<XCE>Y<YP1>
N14 G00G40X<XCE>Y<YCE>
N15 <IFF<ZFI-PRP>:N16;N20;N20>
N16 <PRP=PRP-DZU><DRI=DRI+DRU>
N17 <IFF<ZFI-PRP>:N6;N6;N18>
30 Capitolo 14
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
N18 <PRP=ZFI><DRI=DRF>
N19 <JMP:N6>
N20 G00Z100<DRA:0>
N21 <RET>
COMMENTI:
%
N10 G16XYZ+ [LOOP PER LA ESECUZIONE DI UNA ECLISSE]
31 Capitolo 14
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
%
N10 G16XYZ+ [LOOP PER ESECUZIONE SFERA]
N20 T1
N30 [R1=RAGGIO SFERA R2=ANGOLO INIZIALE]
N40 [R3=ANGOLO FINALE R4=INCREMENTO ANGOLARE]
N50 R1= 100 R2=0 R3=60 R4=3
N55 S800 M42
N60 X0 Y0 Z0 M03
N70 R7=R1*COS(R2) R8=-R1*SIN (R2) [CALCOLO COORDINATE X Z]
N80 G01 X=R7 Y0 Z=R8
N90 G3 I0 J0 X= R7 Y0
N100 R2=R2+R4
N110 <IFF<R3-R2>:N120;N70;N70>
N120 G00 X0 Y0 Z100 M05
N130 M02
32 Capitolo 14
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
CAPITOLO 15
dove:
a11...a34 rappresentano i 12 coefficienti della matrice che per comodità sono stati
indicati con il doppio indice: a11..., a22..., a34. La notazione con il doppio indice è
comoda in quanto il primo numero rappresenta la disposizione su riga orizzontale, il
secondo la colonna, ad esempio: a32 significa coefficiente della terza riga; seconda
colonna.
1 Capitolo 15
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Xb, Yb, Zb rappresentano le coordinate del punto trasformate dalla matrice, cioè il
risultato della trasformazione.
I coefficienti della prima riga a11,..., a14 provocano la trasformazione della coordinata
X, oppure la trasformazione del primo asse abbinato all’istruzione <MTX: ...> (vedi
Parag.15.3); i coefficienti della seconda riga a21,...,a24 provocano la trasformazione
della coordinata Y oppure del secondo asse abbinato alla istruzione <MTX: ...>; i
coefficienti della terza riga a31,..., a34 provocano la trasformazione della coordinata Z
oppure del terzo asse abbinato all’istruzione <MTX: ...>.
Qui di seguito riportiamo, a titolo d’esempio, alcune matrici d’uso più generale tenendo
presente che la struttura generale della matematica delle matrici, permette di gestire
qualsiasi trasformazione di un punto nel piano e nello spazio.
15.2.1 TRASLAZIONE
La figura 15.1 rappresenta il pezzo “A” che si vuole traslare di una quantità X, Y, Z,
lungo gli assi rispettivi, in modo da ottenere la figura “B”, la matrice di trasformazione
relativa diventa:
X120
Y230
Z50
2 Capitolo 15
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
X = 230
Y = 150
Z = 80
1 0 0 230
0 1 0 150
0 0 1 80
che provoca la trasformazione delle coordinate del punto P nelle coordinate di P’ tali
che:
COSa -SINa 0 0
SINa COSa 0 0
0 0 1 0
0,788 0,6157 0 0
-0,6157 0,788 0 0
0 0 1 0
3 Capitolo 15
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
La matrice di trasformazione è:
4 Capitolo 15
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
15.2.4 ROTOTRASLAZIONE
E’ possibile costruire una matrice di trasformazione che tenga conto del fattore di scala
“S”, la matrice relativa diventa:
S 0 0 0
0 S 0 0
0 0 S 0
Per S>1 il fattore di scala effettua ingrandimenti mentre con S<1 si effettuano riduzioni,
ad esempio vedi Fig.15.5
Supponiamo di voler applicare alla Fig.15.5 un fattore di scala S = 0,5, cioè un fattore
di scala che provochi una riduzione della
figura del 50% su tutti gli assi, la matrice relativa è:
0.5 0 0 0
0 0.5 0 0
0 0 0.5 0
Il risultato è la figura tratteggiata in Fig.15.5
5 Capitolo 15
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
a) SPECULARITA’ SULL’ASSE X
-1 0 0 0
0 1 0 0
0 0 1 0
b) SPECULARITA’ SULL’ASSE Y
1 0 0 0
0 -1 0 0
0 0 1 0
c) SPECULARITA’ SULL’ASSE Z
1 0 0 0
0 1 0 0
0 0 -1 0
6 Capitolo 15
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
in cui:
....
N20 <MAT:TRASL;1;0;0;230;0;1;0;150;0;0;1;80>
....
Viene definita una matrice di traslazione che una volta abilitata effettua una traslazione
di X=230; Y=150 e Z=80.
1- Sono memorizzabili nel CNC fino a 5 matrici diverse a cui sono stati assegnati nomi
diversi (max 6 caratteri).
7 Capitolo 15
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
3- Le matrici memorizzate non hanno alcun effetto sul programma se non vengono
abilitate dall’istruzione <TCT: ON;nome matrice>
4- Le matrici permettono le trasformazioni di PUNTI sia nel piano che nello spazio,
mentre permettono la trasformazione di ARCHI DI CERCHIO solo su piani
ortogonali.
in cui:
OFF “caratteri chiave” per l’eliminazione della matrice nome nome della matrice
da eliminare numero numero dell’ordine della matrice da eliminare. Il numero d’ordine
è assegnato dal CNC al momento della definizione della matrice stessa e va da 0 a 4.
<exp> Espressione HLPL comunque complessa che definisce il numero della matrice
da eliminare.
A - La matrice, da eliminare, definita con “nome” oppure “numero” oppure <exp> non
esiste.
B - La matrice da eliminare è attiva
2 - Il CNC eliminando una matrice dalla sua memoria sposta di un posto indietro le
eventuali matrici definite dopo quella eliminata.
8 Capitolo 15
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Una volta definite e memorizzate una serie di matrici, è necessario indicare con apposita
istruzione quali sono gli assi CNC coinvolti nella trasformazione.
Tale istruzione definisce lo spazio di applicabilità, il cui formato è :
<MTX: sigla primo asse; sigla sec.do asse; sigla terzo asse>oppure <MTX: <exp>;
<exp>; <exp> > oppure
<MTX: numero; numero; numero>
dove:
primo asse rappresenta l’asse a cui vengono abbinati i coefficienti a11...a14 (vedi
par.15.1)
Al posto della sigla assi può essere programmata una espressione tra variabili oppure il
numero identificativo dell’asse (da 0 a 15).
ESEMPI:
. 1) N50 <MTX:X;Z;Y>
. 2) N80 <MTX:U;V;W>
abbina la matrice di trasformazione agli assi U, V, W; per cui i primi quattro coefficienti
effettuano la trasformazione sull’asse U, i secondi 4 sull’asse V, ed i terzi quattro
sull’asse W.
9 Capitolo 15
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
dove:
nome rappresenta il nome della matrice assegnato alla stessa con l’istruzione
<MAT:nome;..>
<TCT:OFF>
..
..
N50 <MAT:TRASL;1;0;0;120;0;1;0;50;0;0;1;-20>
N60 <MTX:U;V;Z>
N70 T12 M06
N80 U... V...
N90 Z...
..
..
N110 U... V...
N120 <TCT:ON;TRASL>
N130 U...V...Z...
10 Capitolo 15
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
N140 U...V...
...
...
N190 U...V...
N200 <TCT:OFF>
....
COMMENTI:
N070
N110 La parte di programma tra N70 ed N110 viene eseguita senza effettuare alcuna
trasformazione.
La matrice di trasformazione è stata memorizzata ma non ancora abilitata.
N130
N190 La parte di programma tra N130 ed N190 subisce le trasformazioni previste dalla
matrice TRASL. Gli assi U.., V... e Z.. vengono rispettivamente traslati da 120mm,
50mm e
-20mm rispettivamente rispetto a quanto programmato nelle operazioni comprese tra
N130 ed N190.
2 - Una volta abilitata una matrice, la trasformazione rimane in atto fino a quando non
viene incontrata l’istruzione <TCT:OFF>.
11 Capitolo 15
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Una matrice di trasformazione può venir utilizzata tutte le volte che, per semplicità di
programmazione, i dati vengono espressi in un sistema di coordinate di comodo (locali)
per poi venir trasformati nel sistema di coordinate reali (base) della macchina utensile.
Facciamo un esempio:
Nella figura 15.6.(a) è riportato il disegno di come si vuole realizzare un certo particolare
della M.U., opportunamente traslato e ruotato rispetto all’origine. Programmare
direttamente tale figura diventa complesso a causa dei calcoli da fare per programmare
tutti i punti costituenti il profilo del pezzo.
La soluzione è programmare la figura secondo un sistema di assi di comodo (locale) XI
ed YI, come riportato in figura 15.6b, ed applicare a tale figura una matrice di
ROTOTRASLAZIONE.
PROGRAMMA PRINCIPALE
%
N0 <MTX:X;Y;Z>
N10 T3 M06
N20 S500 F200 M42
N30 L <ROTRAS> <ANR = 35> <DTX = 215>
<DTY = 125> <XCE = 0> <%NRP = 1>
N40 G16 XYZ+
N50 X50 Y100 M13
N60 Z3
N70 G01 Z-20
N80 G41 X0 Y100
N90 X0 Y0
N100 X200
N110 G03 X200 Y100 I200 J50
N120 G01 X100
N130 Y200
N140 G03 X0 Y200 I50 J200
N150 G01 Y100
N160 G40 X50 Y100
N170 G00 Z100 M05
N180 <TCT:OFF>
N190 M02
COMMENTI:
12 Capitolo 15
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
MACRO: ROTRAS
N000
N010 <#20 = SIN (ANR)> <#21 = COS (ANR)>
N020 <MAT:ROTRAS;<#21>;<-#20>;0;<DTX>;<#20>;<#21>;0;<DTY>;0;0;1;0>
N030 <MTX:X;Y;Z>
N040 <TCT:ON; ROTRAS>
N050 <RET>
N010 Calcolo del seno e coseno trigonometrici dell’angolo (ANR) di rotazione della
figura.
N040
N170 Programma di contornatura, le coordinate programmate lo sono rispetto agli assi
locali XI ed YI ed allineate rispetto a tali assi. La lavorazione realizzata è invece quella
mostrata in Fig. 15.6 a ruotata e traslata per effetto della matrice di trasformazione
ROTRAS abilitata.
13 Capitolo 15
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
- Allo scopo di rendere all’utilizzatore più agevole l’uso delle matrici, alcune matrici di
trasformazione, tra le più usate, sono state raccolte in sottoprogrammi e fornite in
dotazione. Il listato ed il nome di tali matrici viene fornito commentando nell’appendice
A.
in cui N...iniz ed N...fin rappresentano gli estremi del LOOP (anello) di ripetizione, più
precisamente:
14 Capitolo 15
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
nvolte è un numero intero che rappresenta il numero di volte si vuole ripetere la parte
di programma contenuta tra N..iniz ed N..fin, se non programmato viene assunto una
sola volta.
Ad esempio:
...
N50 <RPT:N10;N40;10>
..
significa ripetere le operazioni del programma dalla N10 alla N40 comprese per 10 volte.
L’istruzione logica <RPT:...> deve essere programmata in una operazione a se stante che
non contiene altre istruzioni.
ESEMPIO 1:
%
N0G16XYZ+
N10T4M06<DRA:2>
N15S800F300
N20G00X...Y..M13
N30Z...
N40G01G41X...Y...
...
N150G00Z50
N160 <DRA:0>S900F150T8M06
N170 <RPT:N20;N150>
N180...
...
N250M02
COMMENTI:
15 Capitolo 15
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
N020
N150 E’ contenuto in programma di contornatura eseguito lasciando un sovrametallo
rediale di 2 mm (<DRA:2>).
N160 Vengono programmati i nuovi parametri di taglio S... F... ed il sovrametallo viene
messo a 0 (<DRA:0>), viene cambiato l’utensile per la finitura (T8).
N170 Contiene l’istruzione “logica” <RPT:...> che ordina la ripetizione del programma
dalla N20 alla N150 con i parametri di taglio ed il sovrametallo nullo memorizzati nella
N160, diciamo che viene esaurita la passata di finitura.
ESEMPIO 2:
<RPT:...> utilizzata per ripetere cicli fissi sullo stesso insieme di fori.
%
N0 G16XYZ+ <CFF= CFZ>
N10 T03 M06
N20 G81 <RAP = 2> <ENT = -4> <RAL = 2> S1200 M42 [centrinatura]
N30 X100 Y100 F180 M13
N40 X150
N50 X180 Y150
..
..
N190 X300 Y280
N200 G80 Z200 T3 M06
N205 S900 F120
N210 G83 <ENT = -90> <INI = 25> <IND = 5> <TIM = 0>
N220 <RPT: N30; N190>
N230 G80 Z200 T4 M06
N235 S300 F285
N240 G84 <RAP=5> <ENT= -20> [maschiatura]
N250 <RPT:N30;N190>
N260..
16 Capitolo 15
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
..
..
COMMENTI:
N030
N190 Viene eseguito il ciclo fisso sui fori sparsi nel piano
N220 Ripetizione della parte di programma contenuto tra la N30 e la N190 con il ciclo
fisso di foratura profonda memorizzato nella N210.
N250 Ripetizione della parte di programma contenuta tra la N30 e la N190 con il ciclo
fisso di MASCHIATURA.
Se si ripete un programma con nuovi parametri (F.. S.. <DRA: ..>,<DLN:...> o ciclo
fisso diverso, bisogna fare attenzione che i vecchi parametri siano programmati in una
operazione esterna al LOOP. Se ad esempio, nel programma esempio 1, riportato
all’inizio di questo capitolo, si fossero programmate le istruzioni S... F... <DRA:2> nella
N20 anziche` nella N10 il programma era errato perche` nel LOOP (tra N...; N...)
l` istruzione <RPT:..> avrebbe incontrato i vecchi parametri ed il profilo del pezzo
sarebbe stato ripetuto con gli stessi sovrametalli e parametri di taglio con cui era gia`
stato lavorato.
ESEMPIO 3:
Nell` esempio 1 di questo paragrafo e` stato fatto un esempio che prevedeva una passata
di sgrossatura ed una di finitura su un profilo, quest` ultima realizzata con l` istruzione
<RPT:..>. Vediamo adesso come affrontare il problema della contornatura di un profilo
eseguita con piu` passate di fresatura.
%
N0G16XYZ+
17 Capitolo 15
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
COMMENTI:
N10 Vengono assegnati alcuni parametri utili alla lavorazione nelle variabili:
<SVR> = sovrametallo
N020
N150 Programma di contornatura, il profilo viene eseguito lasciando un sovrametallo di
40 mm.
18 Capitolo 15
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Si ottiene un ciclo ripetitivo per la fresatura in piu` passate, nel caso specifico si
realizzano cinque passate totali, la prima con sovrametallo <DRA:40>, l` ultima con
<DRA:0> (finitura), con decremento di 10 mm per ciascuna passata.
%
N0..
N20 G00 X... Y...
N150...
N155 <DRA:30>
N156 <RPT: N20;N150>
N157 <DRA:20>
N158 <RPT:N20;N150>
N159 <DRA:10>
N160 <RPT:N20;N150>
N161 <DRA:0>
N165 <RPT:N20;N150>
N180...
...
COMMENTI:
Il ciclo <RPT:..> e` ripetuto per tante volte quante sono le passate volute, ciascuna volta
riassegnando il sovrametallo <DRA:...> decrementato.
19 Capitolo 15
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
. 1) LIVELLO DI NESTING
%
N0..
N10
..
N80...
N90 <RPT:N10;N80>
N100...
N120 <RPTN10; N100>
N130...
N150 G54.03
N160 <RPT:N0;N130>
....
COMMENTI:
N090 Istruzione <RPT:...> di livello 1, tra la N10 e la N80 non vi sono altre istruzioni.
N160 Istruzione <RPT:...> di livello 3, in quanto all` interno e` gia` contenuta una
<RPT:...> di livello 2. In particolare la N160 ripete tutto il programma rispetto alle
origini assi n.3
(G54.03).
20 Capitolo 15
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Ad esempio:
%
N10..
N20..
N30 <IFF<#22>:N80;N80;N150>
N40..
..
N50
N60 <RPT:N10;N50>
N70...
COMMENTI:
N060 Ciclo di ripetizione tra gli estremi N10-N80. Nella N30 e’ incontrato unn test sulla
variabile #22, che comunque vada fa saltare il programma alla N080 oppure alla N150.
La <RPT:...> viene quindi eseguita solo tra N10 ed N20.
Si puo’ ottenere tale scopo, corrispondente alla chiusura ad anello del programma,
usando il seguente artificio:
..
..
Nxx <RPT:No;Nxx>
..
..
Specificando una N...finale di numero pari alla N... dove e’ scritta l’istruzione <RPT:...>.
21 Capitolo 15
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Ad esempio:
%
N0 G16 XYZ+
N10 T1...
N20 X... Y..
...
...
N300 <RPT:N0;N300>
..
COMMENTI:
.4.) Uso dell’istruzione <RPT:...> per ripetere una parte di programma traslato,
ruotato, ecc.
E’ possibile far cio’ abbinando alla istruzione di ripetizione una certa matrice di
trasformazione come e’ gia’ stato trattato all’inizio di questo capitolo> Nel paragrafo che
segue vengono trattate le matrici, prefabbricate in sottoprogrammi “pronti all’uso”
residenti nella memoria del CNC ed il loro uso in abbinamento all’istruzione <RPT:...>.
22 Capitolo 15
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
. - TRASLAZIONE
. - ROTAZIONE
. - ROTOTRASLAZIONE
. - RAPPORTO DI SCALA
. - ecc..
<DTX> Traslazione lungo l’asse che appare per primo nell’istruzione <MTX:...> che
definisce lo “spazio” di applicabilita’ della matrice. Piu’ frequentemente sara’ l’asse X,
ma
cio’ dipende dalla configurazione della M.U. e dalla scelta
effettuata dal programmatore.
Ad esempio se si programma <MTX:U;W;V>, <DTX> verrebbe applicato all’asse U,
<DTY> all’asse W e <DTZ> all’asse V.
<DTY> Traslazione lungo l’asse che appare per secondo nell’istruzione <MTX:...> .
Piu’ frequentemente sara’ l’asse Y, tuttavia valgono le considerazioni fatte per <DTX>.
<DTZ> Traslazione lungo l’asse che appare per terzo nell’istruzione <MTX:...>.
<XCE> Coordinata assoluta del centro di rotazione lungo l’asse che appare per primo
nell’istruzione <MTX:...>
<YCE> Coordinata assoluta del centro di rotazione lungo l’asse che appare per
secondo nell’istruzione <MTX:..>
<ANR> Angolo di rotazione espresso in gradi e parti decimali (+359.999 gradi) tra la
figura originale che si ripetere (e’ un angolo incrementale)
+ = ANTIORARIO
- = ORARIO
23 Capitolo 15
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
1) Alla variabile <NPR=...> deve essere assegnato 1 nel caso di una singola ripetizione.
2) Il contatore del numero di ripetizioni <%CON =..> deve essere settato a 1: <%CON
= 1> in una riga di programma esterna la LOOP di ripetizione nel caso di traslazioni
e/o rotazioni multiple e ripristinato a 1 al termine della ripetizione.
%
N0 <MTX:X;Y;Z>
N10...
..
N100..
N110 L <TRANS> <DTX = ...> <DTY=...> <DTZ = ...> <%NRP = 1>
N120 <RPT:N10; N100>
N130 <TCT:OFF>
COMMENTI:
24 Capitolo 15
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
N120 Ripetizione della parte di programma contenuta tra N10 ed N100 con i parametri di
traslazione programmati. Supponendo che tra N10 ed N100 fosse programmato il pezzo
A, viene ottenuto il pezzo B.
ATTENZIONE:
%
N0 <MTX:X;Y;Z>
N10 ...
..
N100..
N110 L <TRANS> <DTX =...> <DTY =...> <DTZ =...> <%NRP = 1>
N120 <RPT:N10;N100>
N130 <TCT:OFF>
COMMENTI:
N120 Ripetizione della parte di programma contenuta tra N10 ed N100 con i parametri di
traslazione programmati> Supponendo che tra N10 ed N100 fosse programmato il pezzo
A, viene ottenuto il pezzo B.
ATTENZIONE:
25 Capitolo 15
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
%
N000<MTX:X;Y;Z;>
N10..
...
N100..
N110 L <ROT> <XCE = 50> <YCE = -100> <ANR = -30> <%NRP=1>
N120 <RPT:N10;N100>
N130 <TCT:OFF>
...
..
COMMENTI:
%
N0 <MTX: X,Y;Z >
N10 ..
...
N100..
N110 L <ROTRAS> <XCE =50> <YCE = -150> <ANR= - 45>
<DTX = 160> <DTY = 80> <%NRP = 1>
N120 <RPT:N10;N100>
N130 <TCT:OFF>
..
26 Capitolo 15
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
COMMENTI:
%
N0 <MTX:X;Y;Z> <%CON = 1>
N10..
...
N100..
N110 L <TRANS> <DTX = 180> <DTY = 120> <DTZ = 0> <%NRP = 3>
N120 <%CON=%CON+1>
N130 <RPT:N10;N120;<%NRP> >
N140 <TCT:OFF> <%CON=1>
..
..
DTX e DTY rappresentano la traslazione TOTALE, cioe’ quella tra pezzo originale e
l’ultimo pezzo da ripetere.
COMMENTI:
N000 Definizione dello spazio di abilitazione della matrice> Viene settata la variabile
<CON = 1 >; CON e’ il CONtatore delle ripetizioni fatte (quindi variabile intera)
27 Capitolo 15
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
N110 Lancio del sottoprogramma TRANS che genera e abilita la matrice di traslazione,
da notare che viene assegnata la variabile numero ripetizioni <NRP =...>.
N130 Ripetizione della figura A per 3 volte, ciascuna volta la figura verra’ eseguita con
una traslazione sull’asse X di180/3 = 60 mm e sull’asse Y di 40mm.
%
N0 <MTX:X;Y;Z> <%CON = 1>
N10...
...
N100...
N110 L <ROT> <XCE = 50> <YCE = -120> <ANR= -120> <%NRP = 3>
N120 <%CON = %CON + 1>
N130 <RPT:N10;N120;<%NRP> >
N140 <TCT:OFF><%CON = 1 >
..
..
COMMENTI:
28 Capitolo 15
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
%
N0 <MTX: X;Y;Z>
N10 L <SCALE> <SCA = O.8>
N20....
.....
.......
N100 ....
N110 ....
N130 < TCT:OFF>
.....
....
COMMENTI:
N20
N120 Tutte le quote X e Y programmate tra l’operazione N20 e l’operazione N110
vengono ridotte di un fattore di scala 0.8 (Vedi fig.15.5)
Il fattore di scala agisce solo sulle quote programmate nel part-program, non agisce sul
raggio utensile e sulle origini.
29 Capitolo 15
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Si debba lavorare la ruota dentata di Fig. 15.12 partendo d una fusione in ghisa, col foro
centrale gia’ alesato. Occorre prima centrinare e poi forare tutti i fori O 18, nonche’
fresare e finire tutto il contorno.
Sia Z l’asse di profondita’, ed X,Y gli assi del piano di contornatura. L’origine dell’asse
Z coincide con la superficie di appoggio della ruota.
UTENSILI UTILIZZATI:
T1 = punta a centrinare
T2 = punta a forare
T3 = fresa O 20 utilizzata per fresare e finire il contorno dei denti.
%
N0 <MTX:X;Y;Z> <CON=1> <CFF=CFZ>
N10 G16XYZ+
N20 T1
N25 S800 M03 M42 F600
N30 G81 <RAP = 50> <ENT = 40> <RAL = 50> T2
N40 L <FORFLA> X -125 Y150 I -75 J150 <AIN = 0> <NHL = 5>
N50 G80 Z75
N60 G81 L <FORFLA> X125 Y150 I75 J150 <AIN = 0> <NHL = 5>
N70 G80 Z75
N80 L <ROT> <XCE = 0> <YCE = 0> <ANR= -240> <NRP= 2>
N100 <CON=CON + 1>
N110 <RPT:N30;N100;<NRP>>
N120 <TCT:OFF>
N130 G80 Z200 T2 M06 <CON =1>
N140 G81 <ENT = 10> F400 T3 M03 S600
N150 <RPT:N40;N120>
N160 G80 Z200 T3 <DRA:0.5> <CON = 1>
N170 G00 X0 Y330 S900 M03 M42 Z5
N180 G01 G42 X16 Y330
N190 G02 X0 Y314 I0 J330
30 Capitolo 15
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
COMMENTI:
N000
N010 Definizione dello spazio di applicabilita’ della matrice, definizione del piano di
contornatura, settaggio del contatore della ripetizione a 1 <CON = 1>
N040 Macro di foratura flange <FORFLA>, Vedi Cap.17, vengono eseguiti i 5 fori a
sinistra in alto equamente distribuiti su un arco di 360’ percio’ e’ stato programmato
<AIN = 0>
sarebbe stato indifferente programmare <AIN = 360>.
N060 Foratura dei 5 fori a destra in alto della Fig.15.12 sempre mediante la macro
<FORFLA>
N080
N120 Ripetizione della parte di programma tra la N30 e la N70 con matrice di rotazione
per 2 volte intorno all’origine <XCE =0>
<YCE =0> in verso orario per un angolo <ANR = -240>, ruotando le figure in verso
orario per 2 volte di un angolo pari a 240’/2 ciascuna volta.
31 Capitolo 15
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
N170
N240 Lavorazione del primo dente della ruota lasciando un sovrametallo di 0.5mm
(<DRA:0.5>).
N250
N290 Ripetizione della lavorazione del primo dente con rotazione antioraria attorno
all’origine per 26 volte. L’angolo totaleprogrammato e’ <ANR = 346.667>, per cui il
LOOP di ripetizione verra’ eseguito 26 volte, ciascuna volta ruotando la figura di
346.667’/26.
N320 Ripetizione di tutto il programma contenuto tra la N170 e la N310 per la passata
di finitura con sovrametallo zero <DRA:0>
Ad ogni uscita dal LOOP e’ stato programmato <TCT:OFF> per disabilitare la matrice
di trasformazione e ripristinare il contatore del numero di ripetizioni a 1 <%CON = 1>.
UTENSILE IMPIEGATO:
T1 = Fresa diametro 25
32 Capitolo 15
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
%
N0 G16ZXY +
N10 T1 M42 <DRA:5> F800
N15 S800 M42
N20 G00 X -120 Z180 M03
N30 Y -32
N40 G01 G42 X - 100 Z180
N50 Z - 70
N60 G03 X -70 Z - 100 I -70 K -70
N70 G01 X80
N80 G03 X100 Z -80 I80 K - 80
N90 G01 Z50
N100 G03 X50 Z100 I50 K50
N110 G01 X -80
N120 G03 X -100 Z80 I -80 K80
N130 G02 I -140 K80 X -180 Z80
N135 G01 G40 X - 120 Z180 F2000
N140 <DRA:2> F800
N150 <RPT:N20; N135>
N160 <DRA:2> F800
N170 <RPT: N20; N135>
N180 <DRA:0> S1000 F500
N190 <RPT:N20; N135>
N200 G00 Y100 <DRA:3.5> F1200
N210 X -80 Z80
N220 G01 Y -5
N230 G01 G41 X -100 Z80
N240 <RPT:N50;N120>
N250 G01 G40 G64 X -80 Z80
N260 X -80 Z -82
N270 X -62
N280 Z80
N290 X -44
N295 Z -82
N300 X -26
N310 Z80
N320 X -8
N330 X -7 Z -82
N340 X10
N350 Z80
N360 X28
33 Capitolo 15
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
N370 Z-82
N380 X46
N390 Z80
N400 X64
N410 Z-82
N420 X82
N430 Z50
N440 <DLN: -5>
N450 <RPT: N210;N430>
N460 <DLN: - 10>
N470 <RPT: N210;N430>
N480 <DLN: -15> <DRA:2> F600
N490 <RPT: N210;N430>
N500 G00 Y100 M05
N510 M02
COMMENTI:
N020
N190 La prima passata lascia 5mm di sovrametallo sull’esterno (grazie al <DRA:5>
della N10). La N150 esegue una seconda passata con sovrametallo di 2mm (<dra:2>)
della N140. La N170 una terza passata con sovrametallo 0.5. Infine nella N190 viene
eseguita la finitura con <DRA:0> della N180.
N200
N500 Lavorazione interna della scatola. Il perimetro e’ lavorato utilizzando i punti
dell’esterno
(da N60 A N120). Si pone pero’ <DRA:3.5> in modo da lasciare 1.5mm di sovrametallo
rispetto alla parete interna finita. Si noti l’istruzione G64 programmata nella N250 per
evitare
arresti lungo lo sviluppo della greca. In particolare dalla N440 alla N500 si ripete tutto il
profilo e le passate a greca a profondita’ diverse per effetto delle istruzioni <DLN:..>
abbinate all’istruzione di ripetizione <RPT:...>.
34 Capitolo 15
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Formato:
N..L<ROTX> <ANR=...>
dove
<ANR> angolo di rotazione attorno all’asse X oppure attorno al primo asse che appare
nell’istruzione <MTX:...>, positivo in verso antiorario o negativo in verso orario
osservando
la terna di Fig.15.14 dal lato X +.
35 Capitolo 15
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Qualunque angolo nel caso di punti, tale limitazione non esiste utilizzando le “matrici
dinamiche” descritte nel Cap.20.
%
N0 <MTX:X;Y;Z>
N1 L <ROTX> <ANR= -90>
.
.
.[Il programma del Par.11.5]
.
.
N155 <TCT:OFF>
N160 M02
Si ottiene la rotazione in verso orario (<ANR= -90> gradi) del piano X-Y sul piano X,Z,
l’effetto sul programma sara’ quello di lasciare le quote X intatte, le quote Y verranno
trasformate in Z e le quote Z in Y.
E’ neccessario modificare la assegnazione dell’asse compensato in lunghezza.
1 0 0 0
0 COSa -SINa 0
0 SINa COSa 0
dove
36 Capitolo 15
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
<ANR> angolo di rotazione attorno all’asse Y (oppure attorno all’asse che appare per
secondo nell’istruzione <MTX:....>. La terna di Fig.15.14 deve essere osservata dal lato
Y+.
COSa 0 SINa 0
0 1 0 0
-SINa 0 COSa 0
dove
<ANR> angolo di rotazione attorno all’asse Z (oppure attorno all’asse che appare per
terzo nell’istruzione <MTX .... >. La terna degli assi deve essere osservata dal alto Z+.
COSa -SINa 0 0
SINa COSa 0 0
0 0 1 0
dove
37 Capitolo 15
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
<ANR> angolo di rotazione attorno all’asse X (oppure attorno all’asse che appare per
primo nell’istruzione <MTX:...>. La terna degli assi deve essere osservata dal lato X+.
<AN2> angolo di rotazione attorno all’asse Y (oppure attorno all’asse che appare per
secondo nell’istruzione <MTX .... >.
La terna degli assi deve essere osservata dal lato Y+.
<AN3> angolo di rotazione attorno all’asse Z (oppure attorno all’asse che appare per
terzo nell’istruzione <MTX:....> La terna degli assi deve essere osservata dal lato Z+.
38 Capitolo 15
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
CAPITOLO 16
In questo capitolo vengono affrontate le istruzioni di LIP logico “speciali” il cui uso e’
riservato a programmatori particolarmente esperti ed applicazionisti. Per un uso
normale della M.U. e del linguaggio di programmazione, non sono necessarie.
Formato:
in cui:
sigla asse
numero
<exp>
rappresentano la sigla dell’asse (X,Y,Z, ecc), oppure il numero abbinato all’asse nel
file di tarature (vedi cap.2.2) da 0 a 15, oppure una variabile HLPL (#...) o una
espressione tra variabili in cui viene assegnato il numero associato all’asse.
quota
<exp>
ESEMPI:
1 Capitolo 16
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Supponendo che nella variabile %#10 sia caricato 3 e nella variabile #11 sia caricato 7,
sempre facendo riferimento alla tabella del paragrafo 2.2., si ottiene il movimento punto
a punto rapido (G00) degli assi U e B rispettivamente alle quote assolute caricate nelle
variabili #100 e #101.
Supponiamo che #20=3 e #21 = 4 sempre facendo riferimento alla tabella del paragrafo
2.2,
il risultato ottenuto dall’istruzione <MVM:...> diventa una interpolazione circolare
oraria sugli assi U (asse n.3) e V (asse n.4) alle coordinate del punto finale
corrispondenti alle variabili #100 e #101 e con le coordinate del centro I e J
corrispondenti alle variabili <XCE> ed <YCE>.
Formato:
in cui:
2 Capitolo 16
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
<exp> rappresentano la sigla delle coordinate del centro di un arco di cerchio, oppure
un numero (tra 1 e 3) abbinato alla direzione dell’asse a cui la coordinata del centro fa
riferimento oppure una variabile HLPL intera (#...):
1 - asse direzione 1
2 - asse direzione 2
3 - asse direzione 3
quota
<exp> rappresentano la quota assoluta della coordinata del centro, oppure
un’espressione tra variabili HLPL che da’ come risultato la quota della coordinata del
centro.
ESEMPIO:
Supponendo che nella variabile #10 sia caricato 1 e che nella variabile #11 sia caricato
2, e che per il resto valga quanto e’ stato gia’ spiegato nel paragrafo precedente, si
ottiene un’interpolazione circolare oraria sulle coordinate del punto finale U e V
corrispondenti alle variabili #100 e #101 con le coordinate dei centri corrispondenti alle
direzioni assi 1 e 2 e di conseguenza corrispondenti alle sigle I e J.
3 Capitolo 16
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Per ottenere le prestazioni sia OUTPUT SCREEN che di DATA ENTRY e’ necessario
attivare la finestra mediante una istruzione da Part Program. Tale istruzione fara’
riferimento ad un FILE DESCRITTORE presente in un ambiente DOS nel direttorio di
sistema. La sintassi di tali istruzioni e’ trattata nei paragrafi che seguono.
. programmare nel Part Program una di richiesta attivita’, dalla sintassi seguente:
....
N50 <WOU:NomeFile>
...
dove:
Nome File Nome del file ASCII descrittore della finestra di Output
4 Capitolo 16
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Da PartProgram e’ possibile la attivazione di due tipi di Data Entry in ognuno dei quali si
procede alla visualizzazione di una finestra video all’interno della quale vengono proposte
....
N50 <WIN:NomeFile>
...
Nome File Nome del file ASCII descrittore della finestra di Output
...
N75 <ENQ:(MUOVO CONTROPUNTA ?);80>
...
Il CNC quando legge l’istruzione precedente mostra su display la frase fra parentesi, e
aspetta che si prema il tasto “S” per confermare o il tasto “N” per negare.
Viene assegnato in tal caso il valore 1 o 0 alla variabile specificata che nel caso
precedente e’ la #80.
5 Capitolo 16
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
6 Capitolo 16
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
7 Capitolo 16
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
8 Capitolo 16
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
9 Capitolo 16
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
10 Capitolo 16
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
11 Capitolo 16
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
12 Capitolo 16
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
13 Capitolo 16
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
14 Capitolo 16
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
15 Capitolo 16
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
16 Capitolo 16
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
17 Capitolo 16
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
18 Capitolo 16
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
19 Capitolo 16
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
20 Capitolo 16
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
21 Capitolo 16
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
22 Capitolo 16
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
23 Capitolo 16
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
24 Capitolo 16
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
25 Capitolo 16
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
26 Capitolo 16
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
27 Capitolo 16
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
28 Capitolo 16
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
29 Capitolo 16
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
30 Capitolo 16
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
31 Capitolo 16
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
32 Capitolo 16
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
33 Capitolo 16
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
34 Capitolo 16
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
35 Capitolo 16
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
36 Capitolo 16
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
37 Capitolo 16
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
Sono normalmente attivi nel CNC numero 1000 variabili “R” (R0-R999), e numero 200
variabili “#” (#0-#199).
Le variabili da #100 a #199 sono bloccate in scrittura, in quanto sono normalmente
riservate alla costruzione di macroistruzioni e cicli fissi standard.
1 Addendum
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
S0 – S32000 giri
F0 – F9999.999 mm/min
1 Tornio
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
G92S… Funzione di limitazione del numero di giri max del mandrino durante il
funzionamento in G96.
Il valore della S e’ il numero max di giri mandrino. Esempio:
G92S1500
Viene limitato il numero max di giri mandrino a 1500, durante una lavorazione in
G96, anche se il numero attualmente calcolato dal CN per mantenere la velocita’
di taglio costante, supera detto valore.
P0.01 – P1999.99
G33P1.5Z200
In questo caso viene eseguito un movimento in filettatura con l’asse Z sino alla
quota di 200mm con passo di 1.5mm
G33P2X50
2 Tornio
9732CNC - Manuale di programmazione COGI Elettronica s.r.l.
G0G882X20Z500
Gli assi partono insieme, in rapido ma anziche arrivare sul punto programmato in
modo contemporaneo, arriva prima la X e attende che si completi il movimento di
Z.
G950G0Q45
3 Tornio