CNC 8065 Linguaggio ProGTL3 (Ref. 1308)
SICUREZZA DELLA MACCHINA È responsabilità del costruttore della macchina che le sicurezze della stessa siano abilitate, allo scopo di evitare infortuni alle persone e prevenire danni al CNC o agli elementi collegati allo stesso. Durante l'avvio e la conferma dei parametri del CNC, si verifica lo stato delle seguenti sicurezze. Se uno di essi è disabilitato, il CNC riporta un messaggio di avviso. Allarme di retroazione per assi analogici. Limiti di software per assi lineari analogici e sercos. Monitoraggio dell'errore di inseguimento per assi analogici e sercos (eccetto il mandrino), sia sul CNC che sui regolatori. Test di tendenza sugli assi analogici. FAGOR AUTOMATION non si rende responsabile degli infortuni alle persone, o dei danni fisici o materiali di cui possa essere oggetto o provocare il CNC, imputabili all'annullamento di alcune delle sicurezze. MODIFICHE O INTERVENTI SUL PRODOTTO FAGOR AUTOMATION non si rende responsabile degli infortuni alle persone, o dei danni fisici o materiali di cui possa essere oggetto o provocare il CNC, imputabili a una modifica dell'hardware da parte di personale non autorizzato dalla Fagor Automation. La modifica dell'hardware del CNC da parte di personale non autorizzato dalla Fagor Automation implica la perdita della garanzia. VIRUS INFORMATICI FAGOR AUTOMATION garantisce che il software installato non contiene nessun virus informatico. È responsabilità dell'utente mantenere l'apparecchiatura esente da virus, allo scopo di garantirne il corretto funzionamento. La presenza di virus informatici sul CNC può provocarne il cattivo funzionamento. Se il CNC si collega direttamente ad un altro PC, è configurato all'interno di una rete informatica, o si utilizzano dischetti od altri supporti informatici di trasmissione dati, si raccomanda di installare un software antivirus. FAGOR AUTOMATION non si rende responsabile degli infortuni alle persone, o dei danni fisici o materiali di cui possa essere oggetto o provocare il CNC, imputabili alla presenza di virus informatici nel sistema. La presenza di virus informatici nel sistema implica la perdita della garanzia. Tutti i diritti sono riservati. La presente documentazione, interamente o in parte, non può essere riprodotta, trasmessa, trascritta, memorizzata in un sistema di registrazione dati o tradotta in nessuna lingua, senza autorizzazione espressa di Fagor Automation. È vietata la copia, parziale o totale, o uso non autorizzato del software. L'informazione di cui al presente manuale può essere soggetta a variazioni dovute a eventuali modifiche tecniche. La Fagor Automation si riserva il diritto di modificare il contenuto del manuale senza preavviso. Tutti i marchi registrati o commerciali riportati nel manuale appartengono ai rispettivi proprietari. L uso di tali marchi da parte di terzi a fini privati può vulnerare i diritti dei proprietari degli stessi. È possibile che il CNC possa eseguire più funzioni di quelle riportate nella relativa documentazione; tuttavia Fagor Automation non garantisce la validità di tali applicazioni. Pertanto, salvo dietro espressa autorizzazione della Fagor Automation, qualsiasi applicazione del CNC non riportata nella documentazione, deve essere considerata "impossibile". FAGOR AUTOMATION non si rende responsabile degli infortuni alle persone, o dei danni fisici o materiali di cui possa essere oggetto o provocare il CNC, se esso si utilizza in modo diverso a quello spiegato nella documentazione connessa. È stato verificato il contenuto del presente manuale e la sua validità per il prodotto descritto. Ciononostante, è possibile che sia stato commesso un errore involontario e perciò non si garantisce una coincidenza assoluta. In ogni caso, si verifica regolarmente l informazione contenuta nel documento e si provvede a eseguire le correzioni necessarie che saranno incluse in una successiva editazione. Si ringrazia per i suggerimenti di miglioramento. Gli esempi descritti nel presente manuale sono orientati all apprendimento. Prima di utilizzarli in applicazioni industriali, devono essere appositamente adattati e si deve inoltre assicurare l osservanza delle norme di sicurezza.
INDICE CAPITOLO 1 INTRODUZIONE. 1.1 Funzioni G per l incremento di prestazioni geometriche.... 5 1.2 Riepilogo della sintassi delle funzioni G... 6 CAPITOLO 2 LINGUAGGIO PROGTL3. 2.1 G810-G811. Retta passante per due punti o tangente a due cerchi.... 8 2.2 G813. Definizione di una retta passante per un punto o tangente a un cerchio e formante un angolo noto con l'asse ascisse.... 11 2.3 G820. Definizione di un cerchio o un punto.... 12 2.4 G821. Definizione di Uno smusso... 13 2.5 G821. Definizione di un raccordo o di un arco... 13 2.6 G840. Uscita lineare o tangenziale con disattivazione correzione raggio... 14 2.7 G841/G842. Inizio profilo con compensazione del raggio a sinistra o a destra.... 15 2.8 G850. Disattivare la rototraslazione... 16 2.9 G851. Attivare la rototraslazione... 16 CAPITOLO 3 FUNZIONI ISO. 3.1 G801. Definizione di una semiretta o segmento.... 18 3.2 G802/G803. Definizione di un cerchio o arco.... 20 3.3 G808. Arco tangente alla traiettoria precedente.... 22 3.4 G809. Arco passante per tre punti.... 23 3.5 G831. Definizione di una semiretta o un segmento tangente all elemento precedente. 24 3.6 G832/G833. Definizione di cerchio o arco tangente all elemento precedente.... 26 CAPITOLO 4 FUNZIONI AUSILIARI. CAPITOLO 5 ESEMPI DI PROGRAMMAZIONE. 3
1 INTRODUZIONE. Il presente documento descrive la sintassi di programmazione, funzionamento e uso del linguaggio ProGTL3 (Professional Geometric Technological Language 3). Il linguaggio PROGTL3 è composto da una serie di funzioni G che consentono di editare profili in modo semplice e veloce. Questo linguaggio è un evoluzione dei precedenti linguaggi di programmazione orientata, perché offre all utente la possibilità di programmare funzioni ProGTL (per definire rette e cerchi che definiscono i punti d intersezione del profilo) e funzioni ISO (per definire segmenti ed archi del profilo). 1.1 Funzioni G per l incremento di prestazioni geometriche. G Significato. G801 Semiretta o segmento. 3.1 INTRODUZIONE. 1. G802 Cerchio o arco in senso orario. 3.2 G803 Cerchio o arco in senso antiorario. 3.2 G808 Arco tangente alla traiettoria precedente. 3.3 G809 Arco da due punti e che inizia sul punto finale precedente. 3.4 G810 Primo punto o cerchio per definire una retta. 2.1 G811 Secondo punto o cerchio per definire una retta. 2.1 G813 Definizione di una retta passante per un punto o tangente a un cerchio e formante un angolo noto con l'asse ascisse. 2.2 G820 Definizione di un cerchio o un punto. 2.3 G821 Definizione di un raccordo o di un arco. Definizione di Uno smusso. 2.5 G831 Semiretta o segmento tangente alla traiettoria precedente. 3.5 G832 Cerchio od arco orario tangente alla traiettoria precedente. 3.6 G833 Cerchio od arco antiorario tangente alla traiettoria precedente. 3.6 G840 Uscita lineare o tangenziale con disattivazione correzione raggio. 2.6 G841 Inizio profilo con compensazione del raggio a sinistra. 2.7 G842 Inizio profilo con compensazione del raggio a destra. 2.7 G850 Disattivare la rototraslazione. 2.8 G851 Attivare la rototraslazione. 2.9 5
1.2 Riepilogo della sintassi delle funzioni G. Sintassi delle funzioni G (funzioni ProGTL). Funzione. Parametri. Descrizione. 1. INTRODUZIONE. [G810] G811 G813 G820 [X Y] centro del cerchio o punto dappoggio [I] raggio [X Y] centro del cerchio o punto dappoggio [I] raggio [K] numero d'intersezione [X Y] centro del cerchio o punto dappoggio [I] raggio [J] angolo [X Y] centro [I] raggio [K] numero d'intersezione Centro del cerchio o primo punto d appoggio alla retta. Centro del cerchio o secondo punto d appoggio alla retta. Retta. Cerchio con centro e raggio noti. [X Y] punto1 [X Y] punto2 [I] raggio Cerchio passante per due punti e raggio noto. [X Y] punto1 [X Y] punto2 [X Y] punto3 Cerchio passante per tre punti. G821 [I] raggio di raccordo [J] dimensioni dello smusso Definizione di un raccordo o di un arco. Definizione di Uno smusso. G840 [X Y] punto di uscita [K] tipo di uscita [I] raggio Uscita lineare o tangenziale con disattivazione correzione raggio. G841 G842 [X Y] punto di attacco [K] tipo di attacco [I] raggio Inizio profilo con compensazione del raggio a sinistra o a destra. G850 Annulla G851. Disattivare la rototraslazione. G851 [X Y] origine/punto di rotazione [J] angolo [K] tipo di rotazione/traslazione Attivare la rototraslazione. Sintassi delle funzioni G (funzioni ISO). Funzione. Parametri. Descrizione. G801 G802 G803 [X Y] punto finale [J] angolo [X Y] punto finale [I J] centro [I1=] raggio Semiretta o segmento. Cerchio od arco. G808 [X Y] punto finale Arco tangente alla traiettoria precedente. G809 [X Y] punto finale [I J] punto intermedio Arco da due punti e che inizia sul punto finale precedente. G831 [X Y] punto finale [J] angolo Semiretta o segmento tangente alla traiettoria precedente. G832 G833 [X Y] punto finale [I J] centro [I1=] raggio Cerchio od arco tangente alla traiettoria precedente. 6
2 LINGUAGGIO PROGTL3. Le funzioni del linguaggio PROGTL3 (G810, G811, G813, G820, G821, G840, G841, G842) danno la possibilità di programmare traiettorie in cui il punto finale di ogni tratto si definisce come un intersezione di altri 2 tratti. Questi tratti, a differenza dei segmenti ed archi del linguaggio ISO, sono rette e cerchi. In questo modo, con tali funzioni il profilo si definisce come il risultato delle intersezioni fra le rette e i cerchi che lo compongono. Le caratteristiche di tali funzioni sono le seguenti. Le quote si possono programmare in pollici o in millimetri e con fattore di scala. I dati eventualmente omessi vengono recuperati dall ultimo dato programmato. Nei cerchi, il raggio si definisce con I (negativa per senso orario e positiva per antiorario). La programmazione di quote incrementali (G91) interessa l ascissa, l ordinata, il raggio e l angolo. LINGUAGGIO PROGTL3. 2. 7
2. LINGUAGGIO PROGTL3. Linguaggio ProGTL3 2.1 G810-G811. Retta passante per due punti o tangente a due cerchi. La definizione di una retta passante per due punti è sempre composta da due blocchi di programmazione, in cui si specificano i due elementi d appoggio. Una retta passante per due punti. Una retta passante per un punto e tangente ad un cerchio. Una retta tangente ad un cerchio e passante per un punto. Una retta tangente a due cerchi. Il formato di programmazione è il seguente. [G810 [X...] [Y...] [Z...] [A...].[I...]] Primo cerchio o punto d appoggio. G811 [X...] [Y...] [Z...] [A...] [I...] [K...] Secondo cerchio o punto d appoggio. Primo cerchio o punto d appoggio. G810 Primo punto d appoggio o primo cerchio d appoggio tangente alla retta. Opzionale; se si omette, si utilizzerà il punto (o cerchio) del blocco precedente. Coordinate del centro del cerchio o del punto d appoggio della retta. [X...] [Y...] Coordinate cartesiane in G17. [Z...] [X...] Coordinate cartesiane in G18. [Y...] [Z...] Coordinate cartesiane in G19. [Q...] [R...] Coordinate polari. Opzionale. Le coordinate si programmano con il nome degli assi ed i valori. Si può anche specificare il punto in coordinate incrementali con G91. Se si programma uno dei due assi del piano e l altro si omette, si utilizzerà l ultima quota programmata per l asse non programmato. Questi dati si possono omettere completamente se sono identici a quelli dell ultimo cerchio programmato nello stesso profilo. Anche in questo caso, in cui non sarà programmato il raggio I, se nel blocco precedente è stato definito un cerchio, esso sarà utilizzato come cerchio d appoggio della retta. Assi di coordinate che non appartengono al piano di riferimento. [Z...] [A...] Assi di coordinate che non appartengono al piano di riferimento. In questo blocco sono utili tutte le quote programmate, in questo caso con la Z si specifica la profondità da raggiungere alla fine del blocco. Raggio della circonferenza. [I...] Raggio della circonferenza. Opzionale. Valore positivo per il senso antiorario e negativo per il senso orario. Se in precedenza è stata programmata una G91, il valore del raggio sarà incrementale. Se si scrive il valore I, il cerchio si calcola sul piano corrente; piano XY se si è in G17, ZX in G18 e YZ in G19. Se si omette il parametro I, si starà definendo un punto e non un cerchio. Il valore I definito nei blocchi precedenti non viene considerato. Se si omette il punto e si utilizza solo G810 I, si utilizzerà il punto dell ultimo blocco definito come centro del cerchio d appoggio raggio I. 8
Secondo cerchio o punto d appoggio. G811 Secondo punto d appoggio o secondo cerchio d appoggio tangente alla retta. Coordinate del centro del cerchio o del punto d appoggio della retta. [X...] [Y...] Coordinate cartesiane in G17. [Z...] [X...] Coordinate cartesiane in G18. [Y...] [Z...] Coordinate cartesiane in G19. [Q...] [R...] Coordinate polari. Opzionale. Le coordinate si programmano con il nome degli assi ed i valori. Si può anche specificare il punto in coordinate incrementali con G91. Se si programma uno dei due assi del piano e l altro si omette, si utilizzerà l ultima quota programmata per l asse non programmato. Questi dati si possono omettere completamente se sono identici a quelli dell ultimo cerchio programmato nello stesso profilo. Anche in questo caso, in cui non sarà programmato il raggio I, se nel blocco precedente è stato definito un cerchio, esso sarà utilizzato come cerchio d appoggio della retta. Assi di coordinate che non appartengono al piano di riferimento. [Z...] [A...] Assi di coordinate che non appartengono al piano di riferimento. LINGUAGGIO PROGTL3. 2. In questo blocco sono utili tutte le quote programmate, in questo caso con la Z si specifica la profondità da raggiungere alla fine del blocco. Raggio della circonferenza. [I...] Raggio della circonferenza. Opzionale. Valore positivo per il senso antiorario e negativo per il senso orario. Se in precedenza è stata programmata una G91, il valore del raggio sarà incrementale. Se si scrive il valore I, il cerchio si calcola sul piano corrente; piano XY se si è in G17, ZX in G18 e YZ in G19. Se si omette il parametro I, si starà definendo un punto e non un cerchio. Il valore I definito nei blocchi precedenti non viene considerato. Se si omette il punto e si utilizza solo G811 I, si utilizzerà il punto dell ultimo blocco definito come centro del cerchio d appoggio raggio I. Numero di intersezione. [K...] Selezione di una delle due intersezioni della retta con un cerchio programmato nel blocco precedente. Opzionale. K1 prima intersezione fra la retta e il cerchio spostandosi nella direzione della retta. K2 seconda intersezione. Se non si programma la K e vi è più di una soluzione, l intersezione selezionata automaticamente sarà in funzione dell elemento precedente. Se l elemento precedente è un cerchio, l intersezione selezionata sarà la prima nella direzione della retta. Se l elemento precedente è un raccordo fra un cerchio e la retta che si sta programmando, l intersezione selezionata dipenderà dal senso della retta, del cerchio e del raccordo fra la retta e il cerchio. 9
Esempi. Intersezione retta con cerchio precedente, vi sono due soluzioni possibili, se non si specifica la K sarà uguale a K1. 2. LINGUAGGIO PROGTL3. Intersezione di retta con cerchio in senso orario se K=1. Intersezione retta con cerchio in senso orario se K=2. Intersezione della retta con cerchio precedente e raccordo.. Vi è solo una soluzione possibile seguendo l orientazione del profilo. Raccordo in senso antiorario. Il profilo si risolve con la prima intersezione. Raccordo in senso orario. Il profilo si risolve con la seconda intersezione. 10
2.2 G813. Definizione di una retta passante per un punto o tangente a un cerchio e formante un angolo noto con l'asse ascisse. La definizione di una retta si esegue come segue: G813 [X...] [Y...] [Z...] [A...].[I...] J... [K...] Definizione di una retta passante per un punto o tangente a un cerchio e formante un angolo noto con l'asse ascisse. Coordinate del centro del cerchio o del punto d appoggio della retta. [X...] [Y...] Coordinate cartesiane in G17. [Z...] [X...] Coordinate cartesiane in G18. [Y...] [Z...] Coordinate cartesiane in G19. [Q...] [R...] Coordinate polari. Opzionale. Le coordinate si programmano con il nome degli assi ed i valori. Si può anche specificare il punto in coordinate incrementali con G91. Se si programma uno dei due assi del piano e l altro si omette, si utilizzerà l ultima quota programmata per l asse non programmato. Questi dati si possono omettere completamente se sono identici a quelli dell ultimo cerchio programmato nello stesso profilo. Anche in questo caso, in cui non sarà programmato il raggio I, se nel blocco precedente è stato definito un cerchio, esso sarà utilizzato come cerchio d appoggio della retta. LINGUAGGIO PROGTL3. 2. Assi di coordinate che non appartengono al piano di riferimento. [Z...] [A...] Assi di coordinate che non appartengono al piano di riferimento. In questo tipo di blocco si possono utilizzare i nomi di tutti gli assi della macchina. In questo caso si specifica la profondità finale dell asse che sarà raggiunta alla fine del blocco. Raggio della circonferenza. [I...] Raggio della circonferenza. Opzionale. Valore positivo per il senso antiorario e negativo per il senso orario. Se in precedenza è stata programmata una G91, il valore del raggio sarà incrementale. Se si scrive il valore I, il cerchio si calcola sul piano corrente; piano XY se si è in G17, ZX in G18 e YZ in G19. Se si omette il parametro I, si starà definendo un punto e non un cerchio. Il valore I definito nei blocchi precedenti non viene considerato. Se si omette il punto e si utilizza solo G813 I, si utilizzerà il punto dell ultimo blocco definito come centro del cerchio d appoggio raggio I. Angolo della retta. J... Angolo in gradi formato dalla retta con l asse ascissa. Il valore dell angolo sarà incrementale rispetto all angolo programmato precedente se è stata programmata precedentemente una G91. Numero di intersezione. [K...] Selezione di una delle due intersezioni della retta con un cerchio programmato nel blocco precedente. Opzionale. K1 prima intersezione fra la retta e il cerchio spostandosi nella direzione della retta. K2 seconda intersezione. Se non si programma la K e vi è più di una soluzione, l intersezione selezionata automaticamente sarà in funzione dell elemento precedente. Se l elemento precedente è un cerchio, l intersezione selezionata sarà la prima nella direzione della retta. Se l elemento precedente è un raccordo fra un cerchio e la retta che si sta programmando, l intersezione selezionata dipenderà dal senso della retta, del cerchio e del raccordo fra la retta e il cerchio. 11
2. LINGUAGGIO PROGTL3. 2.3 G820. Definizione di un cerchio o un punto. La definizione di un cerchio o punto si può eseguire come segue. G820 [X...] [Y...] [I...] [Z...] [A...]... [K...] Cerchio con centro e raggio noti. G820 [X...] [Y...], [X...] [Y...] I... [K...] Cerchio passante per due punti e raggio noto. G820 [X...] [Y...], [X...] [Y...], [X...] [Y...] [K...] Cerchio passante per tre punti. Coordinate del centro/punto del cerchio o del punto d appoggio della retta. [X...] [Y...] Coordinate cartesiane in G17. [Z...] [X...] Coordinate cartesiane in G18. [Y...] [Z...] Coordinate cartesiane in G19. [Q...] [R...] Coordinate polari. Opzionale. Le coordinate si programmano con il nome degli assi ed i valori. Nel caso dei cerchi per due punti e con raggio noto, o cerchi per tre punti, le corrodiate saranno sempre in cartesiane assolute. Nel resto dei casi, è anche possibile specificare il punto in coordinate incrementali con G91. Se si programma uno dei due assi del piano e l altro si omette, si utilizzerà l ultima quota programmata per l asse non programmato. Questi dati si possono omettere completamente se sono identici a quelli dell ultimo cerchio programmato nello stesso profilo. Assi di coordinate che non appartengono al piano di riferimento. [Z...] [A...] Assi di coordinate che non appartengono al piano di riferimento. In questo tipo di blocco si possono utilizzare i nomi di tutti gli assi della macchina. In questo caso si specifica la profondità finale dell asse che sarà raggiunta alla fine del blocco. Raggio della circonferenza. [I...] Raggio della circonferenza. Opzionale. Valore positivo per il senso antiorario e negativo per il senso orario. Se in precedenza è stata programmata una G91, il valore del raggio sarà incrementale. Se si scrive il valore I, il cerchio si calcola sul piano corrente; piano XY se si è in G17, ZX in G18 e YZ in G19. Se si omette il parametro I, si starà definendo un punto e non un cerchio. Il valore I definito nei blocchi precedenti non viene considerato. Se si omette il punto e si utilizza solo G820 I, si utilizzerà il punto dell ultimo blocco definito come centro del cerchio d appoggio raggio I. Numero di intersezione. [K...] Selezione dell intersezione con un elemento programmato nel blocco precedente. Opzionale. K1 prima intersezione fra la retta e il cerchio spostandosi nella direzione della retta. K2 seconda intersezione. Se l elemento geometrico precedenti è una linea retta: K1 seleziona la prima intersezione nella direzione della retta precedente. K2 seleziona la seconda intersezione nella direzione della retta precedente. Se l elemento geometrico precedente è un cerchio: K1 seleziona l intersezione a sinistra della linea retta che unisce il centro del cerchio precedente al centro di tale cerchio. K2 seleziona l intersezione a destra della linea retta che unisce il centro del cerchio precedente al centro di tale cerchio. Se non si programma, di default si prende K=1. 12
2.4 G821. Definizione di Uno smusso. Uno smusso si definisce come segue. G821 J... J... Dimensioni dello smusso (distanza al vertice). 2.5 G821. Definizione di un raccordo o di un arco. Un raccordo si definisce come segue. G821 I... I... Raggio del raccordo o del arco. Valore positivo per raccordo o arco in senso antiorario e negativo per raccordo (arco) in senso orario. LINGUAGGIO PROGTL3. 2. 13
2.6 G840. Uscita lineare o tangenziale con disattivazione correzione raggio. 2. LINGUAGGIO PROGTL3. Questa funzione si programma come segue. G840 [X...] [Y...] [Z...] [A...].[K...] [I...] Uscita lineare o tangenziale con disattivazione correzione raggio. Funzione G840. G840 Uscita dal profilo. Punto d'uscita del profilo. [X...] [Y...] [Z...] [A...] Punto d'uscita del profilo. Opzionale. Selezione del tipo d uscita dal profilo. [K...] Selezione fra due tipi d uscita dal profilo e annullo della correzione del raggio dell utensile. K1 uscita automatica dal profilo con una retta perpendicolare all ultimo elemento programmato. K2 uscita automatica dal profilo con un semicerchio tangente all ultimo elemento programmato. Omettendo K, si ottiene un uscita programmata (non automatica) dal profilo. Se non si programma K, il profilo termina con un tratto e un punto, la fine del profilo sarà sulla perpendicolare al tratto sul punto. Se il profilo termina con due tratti, il punto finale del profilo è il punto di intersezione o di tangenza fra il primo e secondo elemento prima della G840, trasferito dal raggio dell utensile. Se non si programma K, l ultimo elemento programmato non farà parte della traiettoria dell utensile, ma servirà solo per definire il punto di intersezione o di tangenza con il penultimo tratto definito. La fine del profilo sarà sul penultimo elemento dichiarato. Raggio per l uscita tangenziale. [I...] Raggio per l uscita tangenziale. 14
2.7 G841/G842. Inizio profilo con compensazione del raggio a sinistra o a destra. L'inizio profilo con compensazione si può definire come segue. G841 [X...] [Y...] [Z...] [A...] [K...] [I...] Inizio profilo con compensazione del raggio a sinistra. La funzione G841 specifica che vi è compensazione del raggio utensile a sinistra del profilo (guardando nella direzione della traiettoria). G842 [X...] [Y...] [Z...] [A...] [K...] [I...] Inizio profilo con compensazione del raggio a destra. La funzione G842 specifica che vi è compensazione del raggio utensile a destra del profilo (guardando nella direzione della traiettoria). Punto di ingresso nel profilo. [X...] [Y...] [Z...] [A...] Punto di ingresso nel profilo. Opzionale. Il punto si può programmare anche in coordinate incrementali con G91. Selezione del tipo di ingresso nel profilo. [K...] Selezione fra due tipi di ingresso nel profilo. K1 ingresso automatico nel profilo con una retta perpendicolare al primo elemento programmato. K2 ingresso automatico nel profilo con un semicerchio tangente al primo elemento programmato. LINGUAGGIO PROGTL3. 2. Omettendo K si ottiene un ingresso programmato (non automatico) nel profilo. Se non si programma, il profilo inizia con un punto e un tratto, l inizio del profilo sarà sulla perpendicolare al tratto sul punto. Se il profilo inizia con due tratti, il punto iniziale del profilo è il punto di intersezione o di tangenza fra il primo e secondo elemento dopo le funzioni G841 e G842, trasferito al raggio dell utensile. Se non si programma K, il primo elemento programmato non farà parte della traiettoria dell utensile, ma servirà solo a definire il punto d intersezione o di tangenza con il secondo tratto definito. L inizio del profilo sarà sul secondo elemento definito. Raggio per l ingresso tangenziale. [I...] Raggio per l ingresso tangenziale. Opzionale. Il raggio si può programmare anche in coordinate incrementali con G91, rispetto al raggio programmato precedente. 15
2.8 G850. Disattivare la rototraslazione. La funzione G850 disattiva l origine secondaria e torna all origine pezzo principale. 2. LINGUAGGIO PROGTL3. 2.9 G851. Attivare la rototraslazione. La rotazione e la traslazione si definiscono come segue. G851 [X...] [Y...] [J...] [K...] Attivare la rototraslazione. Con la G851 si può definire un numero illimitato di origini secondarie spostate o ruotate rispetto all origine pezzo, o rispetto all ultima origine secondaria programmata. È anche possibile ruotare l intero programma rispetto a qualsiasi punto. Rotazione e traslazione. [X...] [Y...] Coordinate della nuova origine rispetto all origine attiva, o punto su cui si desidera ruotare il programma. [J...] Angolo fra l asse X della nuova origine e l asse X dell origine attiva, o angolo di rotazione del programma. [K] K1: Rototraslazione attorno all origine pezzo (opzione di default). K2: Rototraslazione attorno all ultima origine secondario programmata. K3: Rotazione attorno al punto programmato. 16
3 FUNZIONI ISO. Le funzioni ISO (G801, G802, G803, G808, G809, G831, G832 e G833) consentono di definire un profilo tramite i segmenti e gli archi di cui è composto, in un modo simile alle funzioni G01, G02, G03, G08, G09 ma con più opzioni. La programmazione di traiettorie nel linguaggio si realizza mediante tratti rettilinei o curvi che partono dal punto finale del tratto precedente e che terminano sul punto programmato su tale tratto. Questo gruppo di funzioni offrono all utente la possibilità di combinare tratti di segmenti od archi con tratti di rette e cerchi. Le caratteristiche di tali funzioni sono le seguenti. Le quote si possono programmare in pollici o in millimetri e con fattore di scala. I dati eventualmente omessi saranno recuperati dal dato precedente solo nel caso di G801, G802, G803. Nel caso di G808 e G809 è necessario definire i punti. Nel caso di G831, G832 e G833 i dati eventualmente omessi saranno calcolati in funzione dei dati programmati. Negli archi, il raggio si definisce con I1= e il senso con G802, G832 (senso orario) o G803, G833 (senso antiorario). Il centro degli archi sarà di default in quote incrementali rispetto al punto finale. FUNZIONI ISO. 3. 17
3. FUNZIONI ISO. 3.1 G801. Definizione di una semiretta o segmento. La definizione di una semiretta o segmento con G801 si può realizzare come segue. G801 [X...] [Y...] J [K...] Semiretta che termina in un punto e ad angolo dato. G801 J Semiretta con punto iniziale sul tratto precedente e ad angolo dato. G801 [X...] [Y...] Segmento che termina in un punto (equivalente a G1) o punto finale della semiretta precedente. G801 Punto finale della semiretta definita precedentemente mediante G811 o G813. Coordinate del punto finale della semiretta (modalità 1 e 3). [X...] [Y...] Coordinate cartesiane in G17. [Z...] [X...] Coordinate cartesiane in G18. [Y...] [Z...] Coordinate cartesiane in G19. [Q...] [R...] Coordinate polari. Il punto finale del segmento si può programmare in coordinate assolute o incrementali (cartesiane o polari). Se è stata programmata una G91 prima della G801, le coordinate del punto si prenderanno come incrementali rispetto all'ultimo punto programmato. Per la corretta definizione del segmento, occorre specificare le coordinate del punto finale e l angolo della semiretta; se si omette una delle coordinate, si utilizza l'ultima coordinata programmata in precedenza. Angolo. J... Angolo della semiretta (con G91, incrementale rispetto all angolo precedente programmato). Numero di intersezione. [K...] Numero di intersezione con l elemento precedente. Esempio modalità 1: G801 [X...] [Y...] J [K...] G0 X-2.5 Y0 G841 K1 G813 X0 J90 G801 X10 Y10 J30 18
Esempio modalità 2: G801 J 3. G0 X-2.5 Y0 G841 K1 G813 X0 J90 G801 X0 Y5 G801 J20 FUNZIONI ISO. Esempio modalità 3: G801 [X...] [Y...] G0 X-2.5 Y0 G841 K1 G813 X0 J90 G801 X0 Y5 G801 X15 Y5 19
3. FUNZIONI ISO. 3.2 G802/G803. Definizione di un cerchio o arco. Un cerchio o un arco si possono definire nei seguenti modi. G802/G803 [X...] [Y...] [I...] [J...] [K...] Cerchio o arco orario/antiorario che inizia sul punto finale dell elemento precedente o sull intersezione con l elemento precedente, termina sul punto programmato e con il centro dato. G802/G803 [X...] [Y...] I1=... Cerchio o arco in senso orario/antiorario che inizia sul punto finale dell elemento precedente, termina sul punto programmato e con il raggio dato. G802/G803 [X...] [Y...] Arco che termina su un punto. Se si programmano le due coordinate, deve essere un punto valido; se ne viene programma solo una, l'altra viene calcolata. G802/G803 [I...] [J...] Cerchio con punto iniziale sul punto finale precedente e con il centro dato. Coordinate del punto finale del cerchio o arco (modalità 1, 2 e 3). [X...] [Y...] Coordinate cartesiane in G17. [Z...] [X...] Coordinate cartesiane in G18. [Y...] [Z...] Coordinate cartesiane in G19. [Q...] [R...] Coordinate polari. Centro del cerchio (Modalità 1 e 4). [I...] [J...] Coordinate del centro del cerchio o arco. Il punto finale dell arco e il centro si possono programmare in coordinate assolute o incrementali (cartesiane o polari). Se si omette una delle coordinate, si utilizza l'ultima coordinata programmata in precedenza. È necessario programmare almeno una delle due coordinate. Se è stata programmata una G91 prima della G802, le coordinate del punto si prenderanno come incrementali rispetto al punto programmato precedente. Il centro dell arco I J sarà di default in incrementali rispetto al punto iniziale dell arco, essendo necessario programmare una G06 nel blocco affinché si prenda come quote assolute o una G262. Raggio del cerchio (modalità 2). I1=... Raggio del cerchio (con G91, incrementale rispetto all angolo precedente programmato). [K...] Numero di intersezione con l elemento precedente. Esempio modalità 1: G802/G803 [X...] [Y...] [I...] [J...] [K...] G0 X0 Y0 Z0 G841 K1 G813 X20 J90 G802 G06 X80 Y0 I40 J-20 K2 20
Esempio modalità 2: G802/G803 [X...] [Y...] I1=... [K...] 3. G0 X0 Y0 Z0 G841 K1 G813 X20 J90 G801 Y20 G802 X80 Y0 I1=40 FUNZIONI ISO. Esempio modalità 3: G802/G803 [X...] [Y...] G0 X0 Y0 Z0 G841 K1 G813 X10 J90 G820 X0 Y0 I20 G803 X-20 Y0 Esempio modalità 4: G802/G803 [I...] [J...] G0 X0 Y0 Z0 G841 K1 G813 X20 J90 G801 Y20 G802 G06 I40 J0 21
3.3 G808. Arco tangente alla traiettoria precedente. 3. FUNZIONI ISO. Un arco tangente alla traiettoria precedente si definisce con il punto finale dell arco. G808 X... Y... Coordinate del punto finale del cerchio o arco. [X...] [Y...] Coordinate cartesiane in G17. [Z...] [X...] Coordinate cartesiane in G18. [Y...] [Z...] Coordinate cartesiane in G19. [Q...] [R...] Coordinate polari. Le due coordinate sono necessarie. Se è stata programmata una G91 prima della G808, le coordinate del punto si prenderanno come incrementali rispetto al punto programmato precedente. G0 X-5 Y0 G841 K1 G813 X0 J-90 G801 Y-10 G808 X50 Y-10 22
3.4 G809. Arco passante per tre punti. Un arco che inizia sul punto finale dell elemento precedente e passa dal punto intermedio e punto finale programmati si definisce come segue. G809 X... Y... I... J... Coordinate del punto finale dell arco. [X...] [Y...] Coordinate cartesiane in G17. [Z...] [X...] Coordinate cartesiane in G18. [Y...] [Z...] Coordinate cartesiane in G19. [Q...] [R...] Coordinate polari. Punto intermedio dell arco (modalità 1). I... J... Coordinate di un punto intermedio dell arco. È necessario programmare le due coordinate di ogni punto. Se è stata programmata una G91 prima della G809, le coordinate dei punti finale e intermedio si prenderanno come incrementali rispetto al punto precedente programmato. FUNZIONI ISO. 3. G0 X-5 Y0 G841 K1 G813 X0 J-90 G801 Y-5 G809 X25 Y0 I10 J5 23
3. FUNZIONI ISO. Linguaggio ProGTL3 3.5 G831. Definizione di una semiretta o un segmento tangente all elemento precedente. Una semiretta o segmento tangente all elemento precedente si realizza come segue. G831 [X...] [Y...] [J...] [K...] Semiretta tangente all elemento precedente che termina sul punto programmato e di angolo J. Coordinate del punto finale della semiretta. [X...] [Y...] Coordinate cartesiane in G17. [Z...] [X...] Coordinate cartesiane in G18. [Y...] [Z...] Coordinate cartesiane in G19. [Q...] [R...] Coordinate polari. Il punto finale del segmento si può programmare anche in coordinate incrementali con G91. Nel caso degli elementi tangenti, quali G831, G832 e G833, i dati che si omettono saranno calcolati considerando il punto tangente all elemento precedente ed il resto dei dati immessi dall utente. Angolo della semiretta. [J...] Angolo della semiretta. Il valore dell angolo sarà incrementale se è stata programmata precedentemente una G91. Numero di soluzione per la tangenza. [K...] Numero di soluzione selezionata. Punto di tangenza con l elemento precedente. Quando vi è più di una soluzione, le diverse soluzioni saranno presentate graficamente. Esempio G831 [X...] [Y...] [K...] Dati noti; punto finale e tangenza con l elemento precedente. G0 X20 Y0 G842 K2 G820 X10 I5 G831 X0 Y5 K1 24
3. G0 X20 Y0 G842 K2 G820 X10 I5 G831 X0 Y5 K2 FUNZIONI ISO. Esempio G831 [J...] [K...] Dati noti; angolo della retta e punto di tangenza con l elemento precedente. G0 X0 Y0 Z0 G841 K2 I2 G820 X15 Y0 I-4 G831 J30 K1 G0 X0 Y0 Z0 G841 K2 I2 G820 X15 Y0 I-4 G831 J30 K2 25
3.6 G832/G833. Definizione di cerchio o arco tangente all elemento precedente. 3. FUNZIONI ISO. Un cerchio o arco tangente all elemento precedente si definisce come segue. G832/G833 [X...] [Y...] [I...] [J...] [I1=...] [K...] Coordinate del punto finale dell arco. [X...] [Y...] Coordinate cartesiane in G17. [Z...] [X...] Coordinate cartesiane in G18. [Y...] [Z...] Coordinate cartesiane in G19. [Q...] [R...] Coordinate polari. Se è stata programmata una G91 precedente, le coordinate del punto finale si prenderanno come incrementali rispetto alle quote programmate precedentemente. I dati eventualmente omessi saranno calcolati considerando il punto tangente all elemento precedente e il resto dei dati forniti dall utente. Coordinate del centro del cerchio, in quote incrementali. [I...] [J...] Coordinate del centro del circonferenza. Di default, le coordinate del centro saranno in quote incrementali; per programmarle in quote assolute, è necessaria una G06 nel blocco o una G262. Numero di soluzione per la tangenza. [K...] Numero di soluzione selezionata. Punto di tangenza con l elemento precedente. Quando vi è più di una soluzione, le diverse soluzioni saranno presentate graficamente. Raggio della circonferenza. [I1=...] Raggio della circonferenza. Opzionale. Valore positivo per il senso antiorario e negativo per il senso orario. Se in precedenza è stata programmata una G91, il valore del raggio sarà incrementale. Esempi G832 I1= / G832 I J I1= X70 Y0 G842 K2 G820 X80 Y0 I-10 G832 I1=120 K1 G832 G06 I0 J-50 I1=10 26
4 FUNZIONI AUSILIARI. All interno di un profilo ProGTL3 si può inserire un tipo di funzioni ausiliarie. Le funzioni ausiliarie si possono programmare da sole nel blocco, o si possono aggiungere ai blocchi di definizione del profilo. Tali funzioni ausiliarie si eseguiranno quando si eseguirà lo spostamento programmato nello stesso blocco. Le funzioni ausiliarie consentite sono le seguenti: F... Avanzamento di lavoro. S... Velocità di rotazione del mandrino. M... Chiamata di una funzione M del PLC. H... Chiamata di una funzione H del PLC. F..., S... Queste funzioni si possono scrivere sia nel blocco ProGTL3 sia in un blocco solo. Se l istruzione è scritta nel blocco ProGTL3, si applica all inizio dello spostamento indicato nel blocco. M..., H... FUNZIONI AUSILIARI. 4. Queste funzioni si possono scrivere sia nel blocco ProGTL3 sia in un blocco solo. Se il comando è scritto nel blocco ProGTL3, esso sarà eseguito dal PLC, ed applicato prima/dopo dello spostamento in funzione del tipo di M e di come il CNC è stata configurato dal costruttore della macchina. G91 Per la programmazione in quote incrementali. L'effetto di G91 sulle funzioni ProGTL3 è spiegato, caso per caso, in ciascuna G del ProGTL3. 27
5 ESEMPI DI PROGRAMMAZIONE. Esempio 1. 5. ESEMPI DI PROGRAMMAZIONE. G0 X30 Y0 G841 K1 G810 X30 Y0 ;1 G811 Q60 R30 ;2 G811 Q120 R30 ;3 G811 X-30 Y0 ;4 G811 Q-120 R30 ;5 G811 Q-60 R30 ;6 G811 X30 Y0;7 G840 Q0 R30 K1 28
Esempio 2. 5. ESEMPI DI PROGRAMMAZIONE. G851 X60 Y0 G0 X0 Y20 G841 K2 I3.75 G820 I7.5 G813 X-7.5 J-90 G813 Y7.5 J180 G820 X-20 Y0 I7.5 G813 Y-7.5 J0 G813 X-7.5J-90 G820 X0 Y-20 I7.5 G813 X7.5 J90 G813 Y-7.5J0 G820 X20 Y0 I7.5 G813 Y7.5 J 180 G813 X7.5 J90 G840 X0 Y20 K2 I3.75 29
Esempio 3. 5. ESEMPI DI PROGRAMMAZIONE. G0 X0 Y0 G841 K1 G813 Y0 J0 G820 X25 Y-5 I-15 G813 Y0 J0 K2 G813 X90 J90 G810 X90 Y50 G811 X80 Y42 G811 X70 Y50 G813 X70 J-90 G813 Y20 J180 G810 X55 Y20 G811 X25 Y50 I15 G820 X25 Y50 I15 G813 X10 J-90 G813 Y20J180 G813 X0J-90 G840 X0 Y0 30
Esempio 4. 5. ESEMPI DI PROGRAMMAZIONE. G0 Y0 X0 G841 G810 X0 Y0 G811 X25.4078 Y59.2849 G813 X25.4078 Y59.2849 J21 G813 Y77.2033 J0 G813 X95.4078 Y77.2033 J249 G810 X81.073 Y39.86 G811 X75 Y20 G810 X75 Y20 G811 X0Y0 G840 X0 Y0 (-----------------------) G851 X0 Y0 J90 G0 Y0 X0 G841 G810 X0 Y0 G811 X25.4078 Y59.2849 G813 X25.4078 Y59.2849 J21 G813 Y77.2033 J0 G813 X95.4078 Y77.2033 J249 G810 X81.073 Y39.86 G811 X75 Y20 G810 X75 Y20 G811 X0Y0 G840 X0 Y0 (-----------------------) G851 J180 G0 Y0 X0 G841 G810 X0 Y0 G811 X25.4078 Y59.2849 G813 X25.4078 Y59.2849 J21 G813 Y77.2033 J0 G813 X95.4078 Y77.2033 J249 G810 X81.073 Y39.86 G811 X75 Y20 G810 X75 Y20 G811 X0Y0 G840 X0 Y0 (-----------------------) G851 J-90 G0 Y0 X0 G841 G810 X0 Y0 G811 X25.4078 Y59.2849 G813 X25.4078 Y59.2849 J21 G813 Y77.2033 J0 G813 X95.4078 Y77.2033 J249 G810 X81.073 Y39.86 G811 X75 Y20 G810 X75 Y20 G811 X0Y0 G840 X0 Y0 31
Esempio 5. 5. ESEMPI DI PROGRAMMAZIONE. G0 X0 Y0 G841 K2 G820 I10 G813 X0 Y0 J65 K2 G810 Q65 R16 G811 Q80 R016 G813 Q80 R31 J80 G810 Q80 R31 G811 Q65 R46 G820 X0 Y0 I46 K2 G813 Q115 R46 J115 K2 G820 X0 Y0 I-31 G813 Q100 R31 J100 K2 G810 Q100 R16 G811 Q115 R10 G820 X0 Y0 I10 G840 X0 Y0 K2 32
Esempio 6. 5. ESEMPI DI PROGRAMMAZIONE. G0 X0 Y0 (-----------------------) G851 X0 Y15 G0 X0 Y15 G841 K2 G820 X0 Y0 I18 G820 X-24 Y0 I-6 G820 X-40 Y0 I10 G820 X-56 Y0 I-6 G813 X-56 J-90 K2 G813 Y-15 J0 G813 X56 J90 G820 X56 Y0 I-6 G820 X40 Y0 I10 G820 X24 Y0 I-6 G820 X0 Y0 I18 G840 X0 Y15 K2 (-----------------------) G851 X0 Y-15 J180 G0 X0 Y15 G841 K2 G820 X0 Y0 I18 G820 X-24 Y0 I-6 G820 X-40 Y0 I10 G820 X-56 Y0 I-6 G813 X-56 J-90 K2 G813 Y-15 J0 G813 X56 J90 G820 X56 Y0 I-6 G820 X40 Y0 I10 G820 X24 Y0 I-6 G820 X0 Y0 I18 G840 X0 Y15 K2 33
Esempio 7. 5. ESEMPI DI PROGRAMMAZIONE. G851 X0 Y70 G0 X50 Y0 G841 K2 G820 X35 Y0 I25 G813 X35 Y25 J90 K2 G821 I20 G813 X0 Y60 J180 G821 I20 G813 X-35 Y25 J-90 G820 X-35 Y0 I25 G820 X0Y0 I45 K2 G820 X35 Y0 I25 K2 G840 X50 Y0 K2 (-----------------------) G851 X-70 Y0 J90 G0 X50 Y0 G841 K2 G820 X35 Y0 I25 G813 X35 Y25 J90 K2 G821 I20 G813 X0 Y60 J180 G821 I20 G813 X-35 Y25 J-90 G820 X-35 Y0 I25 G820 X0Y0 I45 K2 G820 X35 Y0 I25 K2 G840 X50 Y0 K2 (-----------------------) G851 X0 Y-70 J180 G0 X50 Y0 G841 K2 G820 X35 Y0 I25 G813 X35 Y25 J90 K2 G821 I20 G813 X0 Y60 J180 G821 I20 G813 X-35 Y25 J-90 G820 X-35 Y0 I25 G820 X0Y0 I45 K2 G820 X35 Y0 I25 K2 G840 X50 Y0 K2 (-----------------------) G851 X70 Y0 J-90 G0 X50 Y0 G841 K2 G820 X35 Y0 I25 G813 X35 Y25 J90 K2 G821 I20 G813 X0 Y60 J180 G821 I20 G813 X-35 Y25 J-90 G820 X-35 Y0 I25 G820 X0Y0 I45 K2 G820 X35 Y0 I25 K2 G840 X50 Y0 K2 34
Esempio 8. 5. ESEMPI DI PROGRAMMAZIONE. ; G0 X0 Y20 G841 G813 X0 J90 G820 X30 Y75 I-30 G811 X90 Y110 I-15 G820 X90 Y110 I-15 G813 X90 Y110 I-15 J220 G821 I16 G813 Y36 J0 G820 X114 Y20 I-16 G813 X114Y0 J230 G813 Y0 J180 G813 X0 Y20 J150 G840 X0 Y20 ; G0 X38 Y75 G841 K2 G820 X30 Y75 I12.5 G840 X38 Y75 K2 ; G0 X92 Y110 G841 K2 G820 X90 Y110 I5.5 G840 X92 Y110 K2 ; G0 X116 Y20 G841 K2 G820 X114 Y20 I7.5 G840 X116 Y20 K2 35
Esempio 9. 5. ESEMPI DI PROGRAMMAZIONE. G0 X-8 Y-8 G841 K2 G820 X0 Y0 I15 G821 I-100 G820 X50 Y-5 I11 G821 I-17.5 G813 X25 Y35 J-75 G821 I8 G813 X25 Y35 J195 G821 I8 G813 X0 Y0 I15 J240 G820 X0 Y0 I15 G840 X-8 Y-8 K2 36
Esempio 10. 5. ESEMPI DI PROGRAMMAZIONE. G0 X-25 Y0 G841 K2 G820 X0 Y0 I26.25 G813 X0 Y0 J-78 K2 G820 X0 Y0 I28.85 G820 X3.1385 Y-1.0198 I25.55 G820 X3.7974 Y1.6907 I23.75 K2 G820 X14.0917 Y0 I21.44 G820 X0 Y0 I20.5 K2 G813 X0 Y0 J93 K2 G820 X0 Y0 I26.25 G840 X-25 Y0 K2 37
38