Sei sulla pagina 1di 257

CNC

STD 1

MANUALE DI PROGRAMMAZIONE
PER I CONTROLLI S&h

- Goya
- Picasso2000
- Rubens
- Renoir 1000

VERSIONE MANUALE : 1.3


Riferita alle versioni software: CNC 4.46 / 4.21

CODICE MANUALE : MA CNC I STD1 13


DATA: 25 FEBBRAIO 2003
La presente documentazione è stata realizzata dalla S&h ad uso esclusivo degli utenti dei
controlli della S&h.
Il suo contenuto è di proprietà della S&h e non può essere riprodotto, tutto o in parte, se
non dietro consenso scritto della S&h stessa.
Le informazioni contenute nella presente documentazione sono soggette a modifiche
senza preavviso e non rappresentano un impegno da parte della S&h.

© Copyrigth 2003 S&h. Tutti i diritti riservati


SOMMARIO

CAPITOLO 1 : NOZIONI GENERALI

CAPITOLO 2 : INTRODUZIONE ALLA PROGRAMMAZIONE

CAPITOLO 3 : COMANDI “IMMEDIATI” (ISTRUZIONI DI CONTROLLO)

CAPITOLO 4 : COMANDI “@” e “%” (ISTRUZIONI DI CARATTERIZZAZIONE)

CAPITOLO 5 : COMANDI “G” (ISTRUZIONE OPERATIVE)

CAPITOLO 6 : PROGRAMMAZIONE PARAMETRICA

CAPITOLO 7 : COMANDI “&” FUNZIONI SPECIALI

CAPITOLO 8 : COMANDI “M”

CAPITOLO 9 : COMANDI DI GESTIONI PROGRAMMI

AVVERTENZE
Per un uso corretto del sistema è importante seguire le indicazioni contenute nel manuale ed
inoltre porre particolare attenzione agli argomenti contraddistinti da :

0 E’ associato a fatti o circostanze che possono causare danni al sistema, all’apparecchiatura


o all’operatore

, E’ associato a informazioni da tenere in considerazione per evitare danni all’apparecchiatura


in generale.

2 E’ associato a operazioni che occorre eseguire attentamente per assicurare il pieno


successo dell’applicazione.
CNC
MANUALE DI PROGRAMMAZIONE
PER I CONTROLLI S&h

Capitolo 1
-
Nozioni Generali
S&h – Manuale CNC Cap.1 - Nozioni Generali

1-2
S&h – Manuale CNC Cap.1 - Nozioni Generali
SOMMARIO

INTRODUZIONE ............................................................................................................................. 4
CONFIGURAZIONE ........................................................................................................................ 4
VERSIONE .................................................................................................................................... 4
STRUTTURA GENERALE ................................................................................................................ 5
1) CNC .................................................................................................................................... 5
2) PLC ..................................................................................................................................... 5
3) PROCESSI AUSILIARI ............................................................................................................. 5
MODALITÀ DI COMUNICAZIONE ...................................................................................................... 6
MODO TERMINALE .................................................................................................................... 6
MODO CALCOLATORE SENZA ECO ............................................................................................. 6
MODO CALCOLATORE CON ECO ................................................................................................ 6
ACCENSIONE................................................................................................................................ 7
MODI OPERATIVI CNC .................................................................................................................. 8
GESTIONE COMANDI MODALITÀ “LINE”.......................................................................................... 9
GESTIONE COMANDI MODALITÀ “AUTO” ...................................................................................... 10
STRUTTURA INTERNA DEL CNC................................................................................................... 11
SEZIONE DI "INTERFACCIA"................................................................................................. 11
SEZIONE "CONTROLLO ASSI" ............................................................................................. 11

1-3
S&h – Manuale CNC Cap.1 - Nozioni Generali

INTRODUZIONE
Il presente manuale, contiene le informazioni relative ai comandi e alla programmazione dei
controlli S&h relativamente alla sezione Cnc.
Rappresenta un’utile guida cui l’utente potrà riferirsi per il rapido apprendimento e per un uso
efficiente di tutte le funzioni Cnc disponibili sui controlli.
Nei capitoli che seguiranno vengono trattate le singole famiglie di comandi con la spiegazione di
dettaglio dei comandi stessi.

CONFIGURAZIONE
Alcuni comandi e/o funzioni del controllo descritti nel presente manuale fanno riferimento ad
opzioni d’ordine dello stesso e pertanto hanno significato solo se il controllo che si è acquistato
e si sta utilizzando ne è provvisto.
I comandi e/o le sezioni che dipendono dalla opzione installata sono appositamente indicati
all’interno del manuale.

VERSIONE
Le informazioni del presente manuale si riferiscono alla “Versione Software della sezione Cnc
dei controlli “ riportata sulla copertina.
Dopo che si è agganciata la comunicazione con il controllo, è possibile leggere il messaggio
della versione del software CNC presente sul controllo stesso tramite il comando “ %99 “ (vedi
comando specifico sul presente manuale).

1-4
S&h – Manuale CNC Cap.1 - Nozioni Generali

STRUTTURA GENERALE
L’organizzazione interna dei controlli S&h è realizzata in modo che nel firmware in essi
contenuto esiste un sistema operativo che gestisce più processi in parallelo; in particolare la
struttura realizzata è schematizzata nella figura seguente :

CONTROLLO

Sistema Operativo RTOS

(1) (2) (3)


.
CNC PLC PROCESSI
AUSILIARI

software
BACH

1) C NC
È il processo che si occupa della gestione e controllo degli assi e di tutte le operatività ad
essi associate.

2) P LC
È il processo che permette di gestire gli I/O di macchina in modo indipendente e autonomo
rispetto al processo Cnc anche se con esso sincronizzabile. (il PLC è una opzione).

3) P ROCESSI AUSILIARI
Gestione processi di servizio: comunicazione, errori, temporizzazioni, allarmi, watch_dog,
etc.

Nota 1:
Quando il Controllo è collegato, tramite la linea di comunicazione, al Personal Computer, è
possibile la gestione diretta dei processi Cnc(1) e Plc(2) attraverso il software di supporto
“BACH”; sono messe a disposizione operatività quali: carico/scarico dei programmi,
messa a punto e taratura dei parametri assi, scrittura, compilazione e debug del
programma Plc, etc.

1-5
S&h – Manuale CNC Cap.1 - Nozioni Generali

MODALITÀ DI COMUNICAZIONE
Il controllo si collega con l’esterno tramite una linea di comunicazione (seriale o da bus_Isa) che
permette, tramite opportuno protocollo, di inviare comandi e scaricare risposte dal controllo stesso.
Le possibili linee di comunicazione attualmente previste possono essere del tipo:
RS232; RS422; ISA_Bus (Picasso-2000 su PC)
Fare riferimento al manuale d’uso e installazione per quanto riguarda i collegamenti elettrici e le
caratteristiche del protocollo (Baud-rate, bit di dato, etc.)

Nota: Sono disponibili dei pacchetti software per PC (Win98, Win 2000) che sono già realizzati
per interfacciarsi in modo immediato con i Cnc della S&h, che sono :
- programma “BACH”;
permette la programmazione, la parametrizzazione, la gestione delle operatività di Jog,
Automatico, il carico/scarico dei programmi, etc
- programma “TXRXCNC”
permette l’aggiornamento del firmware all’interno dei controlli
- driver di comunicazione “COMCNC.DLL “;
utility di interfaccia per programmi utente per la gestione della comunicazione con i
controlli
Questi pacchetti gestiscono automaticamente la modalità di comunicazione. L’utente finale se
utilizza direttamente uno di questi pacchetti non deve preoccuparsi del tipo di modalità di
comunicazione utilizzata dal controllo e delle procedure di aggancio sotto descritte.

I controlli S&h sono predisposti per poter comunicare secondo uno dei seguenti possibili protocolli
software:
1) modo terminale (eco automatico)
2) modo calcolatore senza eco
3) modo calcolatore con eco

M ODO T ERMINALE
Le caratteristiche principali del modo di comunicazione terminale sono:
Viene sempre eseguito l'eco dei dati ricevuti ad eccezione dei codici di controllo <dc1> (XON),
<dc3> (XOFF), <bs> (^H), <can> (^X), <syn> (^V).
L'eco dei codici di controllo, ad eccezione del codice <cr> viene eseguito inviando il carattere
ASCII minuscolo corrispondente: l'eco del codice Ctrl-A = <SOH> sarà pertanto costituito dal
carattere ‘a’.
L'eco del codice di controllo <cr> viene eseguito inviando il codice <lf> (line feed) seguito dal
codice <cr> .
In risposta a qualsiasi comando, il controllo invia sempre i due codici di controllo <lf> e <cr>
prima del <PROMPT>.

M ODO C ALCOLATORE SENZA E CO


La caratteristica principale di questo modo di comunicazione è che non viene mai eseguito l'eco
dei dati, il controllo si limita a rispondere ai comandi inviati, con i dati richiesti, i messaggi di
errore ed il <PROMPT>.

M ODO C ALCOLATORE CON E CO


È il modo di comunicazione selezionato automaticamente dopo ogni accensione o
reinizializzazione.
La caratteristica principale del modo di comunicazione calcolatore con eco consiste nel fatto che
il controllo esegue sempre l'eco dei dati ricevuti, ad eccezione dei codici di controllo <dc1> (XON),
<dc3> (XOFF), <bs> (^H), <can> (^X), <syn> (^V), <bel>(^G).
L'eco consiste nel ritrasmette al PC lo stesso dato ricevuto, sia che si tratti di un carattere, sia
che si tratti di un codice di controllo.

1-6
S&h – Manuale CNC Cap.1 - Nozioni Generali

ACCENSIONE
All'accensione il controllo esegue una serie di test interni;
Se vengono rilevati degli errori il CNC si mette in attesa del codice <CR> dalla linea di
comunicazione, se invece non vengono riscontrati errori il controllo mette in esecuzione, se esiste,
il programma interno di configurazione n.100 ed inizia ad operare; se il programma Cnc n.100 è
vuoto il CNC si mette in attesa del codice <cr> dalla linea di comunicazione.

All'accensione, quando ci si collega con il controllo, la linea di comunicazione è in stato di OFF per
cui occorre trasmettere il comando di aggancio (vedi comando immediato ^G) .

La procedura per agganciare la comunicazione con il controllo é la seguente :

1- Trasmettere il comando di aggancio ^G^GC (codice ASCII: 07 07 67)


in caso di connessione con piú CNC sulla stessa linea di comunicazione (es. RS422 in
multi_point) é necessario selezionare prima il controllo con cui si vuole comunicare tra
quelli connessi ^G^Gnn e quindi inviare il comando di aggancio del processo CNC ‘C’
Il codice nn è il n. del controllo da “agganciare” collegato sulla linea di comunicazione (vedi
comando &12)

2 - inviare il codice di controllo <cr> (codice ASCII 13)

3 - leggere dalla scheda la risposta fino al carattere "PROMPT" ( $ oppure ~ oppure | oppure _ )

La stringa inviata dal controllo, alla ricezione del primo codice <cr> può essere di due tipi:

a) se non ci sono stati errori durante la fase di inizializzazione del Cnc

<cr> #i01 <PROMPT>

Nessun errore; il controllo è pronto a ricevere qualsiasi comando che gli verrà
inviato dal Computer. Si noti che il codice <cr> non è altro che l'eco del codice
inviato.

b) se ci sono stati errori durante la fase di inizializzazione del Cnc

<cr> ?0-inn #i01 <PROMPT>

Sono stati riscontrati alcuni errori di funzionamento o di mantenimento dei dati


permanenti. Il controllo è comunque pronto a ricevere comandi dal Computer.
“0-inn” è una stringa di caratteri ascii che identifica gli errori riscontrati. (vedi
messaggi di errore)

1-7
S&h – Manuale CNC Cap.1 - Nozioni Generali

MODI OPERATIVI CNC


All’interno dei controlli della S&h sono previsti quattro differenti modi operativi per quanto riguarda
il funzionamento del processo CNC; queste differenti modalità possono essere
selezionate/attivate tramite comando inviato sulla linea di comunicazione o direttamente da
selettore esterno montabile sul pannello operatore a bordo macchina.
I modi operativi previsti sono: LINE, PROG, AUTO e JOG
Ciascun modo è identificato da un diverso <PROMPT> inviato dal CNC sulla linea di
comunicazione in risposta ai comandi ricevuti dal Personal Computer.

Modo
<Prompt> Descrizione
Operativo

In questa modalità, selezionata automaticamente all'accensione (se


non è presente il pannello operatore esterno) il controllo è asservito
alla linea di comunicazione, in continua attesa di comandi da eseguire
LINE $
Questo modo operativo fa si che i comandi inviati al Cnc vengano
immediatamente messi in esecuzione (passando attraverso una fifo in
memoria che funge da polmone di accumulo).

Questa modalità è quella che permette le gestione delle operatività di


carico, scarico, cancellazione dei programmi Cnc nella memoria interna
del controllo.
PROG ~
I programmi sono distinti da un numero che va da 1 a 99 per i
programmi utente di lavoro e da un numero che va da 100 a 199 per i
programmi di personalizzazione macchina riservati al costruttore.

La modalità AUTO è quella che permette di eseguire i programmi


utente memorizzati all’interno del controllo e che sono stati
precedentemente caricati nella modalità PROG.
I programmi eseguibili in Automatico vanno da 1 a 99; in questa
AUTO |
modalità sono attivi i comandi di START(inizio esecuzione),
STOP(ferma esecuzione) e ABORT(annulla programma) che possono
essere gestiti sia tramite la linea di comunicazione che dal pannello
operatore a bordo macchina.

In questa modalità è possibile attivare le funzioni di JOG(manuale) o


tramite i pulsanti del pannello operatore a bordo macchina o tramite gli
JOG - opportuni comandi da linea comunicazione. Le funzioni di JOG:
movimento degli assi X+, X-, Y+, …etc. sono personalizzabili e
associate ai programmi 101…136 nella memoria del controllo.

nota:
Nelle modalità AUTO e JOG mentre è in esecuzione il programma possono essere comunque
inviati comandi sulla linea di comunicazione (comandi ad esecuzione immediata) per richiedere
dati e informazione sull’attività del Cnc.

1-8
S&h – Manuale CNC Cap.1 - Nozioni Generali

GESTIONE COMANDI MODALITÀ “LINE”

CARATTERI DALLA LINEA DI


COMUNICAZIONE ESTERNA

Buffer di linea N..10 G01 X123 ….

COMANDO NO
SCARTA
OK ? IL
COMANDO

COMANDO SI
IMMEDIATO ?

N..09 G00 Y123…


N..08 G90 G02 ….
BUFFER DI
N..07 G… F…
MEMORIA
LINEE DI N06
COMANDO ≈
(8000 CAR.)
N002 G01 X…
N001 G00 Z23 …

ESECUZIONE
COMANDO

1-9
S&h – Manuale CNC Cap.1 - Nozioni Generali

GESTIONE COMANDI MODALITÀ “AUTO”

CARATTERI DALLA LINEA DI


COMUNICAZIONE ESTERNA
MEMORIA
PROGRAMMI

Buffer di linea ^W Programma


001
SCARTA
IL
NO COMANDO Programma
IMMEDIATO ?
COMANDO 008

SI
Programma
015
BUFFER
INTERNO
DI ≈
LAVORO
Programma
047

Programma
099

ESECUZIONE
COMANDO

MEMORIA PROGRAMMI
È quella destinata a memorizzare i programmi di lavoro, i dati al suo interno, grazie ad una
batteria tampone, sono mantenuti memorizzati anche in mancanza di alimentazione.
Sui programmi CNC, è inoltre possibile effettuare, da Personal Computer, tutte le operazioni di
carico (ricezione), scarico (trasmissione) e cancellazione.
La spazio di memoria riservato alla MEMORIA PROGRAMMI dipende dal controllo utilizzato.

BUFFER INTERNO DI LAVORO


È quella zona di memoria destinata a contenere parte del programma in fase di esecuzione
proveniente dalla memoria programmi .

1-10
S&h – Manuale CNC Cap.1 - Nozioni Generali

STRUTTURA INTERNA DEL CNC


All’interno del software che gestisce le operatività associate alla sezione CNC si possono
individuare due sezioni "logiche" distinte che svolgono compiti differenti.
Le due sezioni “logiche” sono :
1) Sezione di "INTERFACCIA"
2) Sezione di "CONTROLLO ASSI"

S EZIONE DI "INTERFACCIA"
La sezione di "INTERFACCIA" esegue principalmente le seguenti funzioni:

• Gestione interfaccia con l’esterno


- gestione delle linee di comunicazione con l’esterno
- gestione del "pannello di controllo operatore"
- ricezione dei comandi, invio delle risposte e del "prompt di sistema"
• Gestione Modi Operativi
- selezione di una delle 4 modalità di funzionamento previste (LINE, PROG, AUTO e
JOG) che determinano un diverso funzionamento del controllo.
• Analisi e trattamento dei comandi
- controllo correttezza e ammissibilità dei comandi ricevuti
- in funzione del tipo di comando e della modalità attiva lo esegue oppure lo "passa"
alla sezione di "CONTROLLO ASSI".
• Gestione dei programmi
- carico (memorizzazione), scarico (lettura programma), cancellazione ed elenco dei
programmi.
• Interfaccia con la sezione PLC
- scambio dati con la sezione PLC

S EZIONE "CONTROLLO ASSI"


La parte di "CONTROLLO ASSI" esegue principalmente le seguenti funzioni:

• Controllo assi
• Esecuzione comandi

La sezione ASSI quindi, non esegue nessuna analisi dei comandi ma è unicamente
predisposta alla loro esecuzione ossia controlla continuamente lo stato della FIFO COMANDI e,
se questa non è vuota, scarica il primo comando disponibile nel buffer di lavoro e lo mette in
esecuzione.

1-11
S&h – Manuale CNC Cap.1 - Nozioni Generali

1-12
CNC
MANUALE DI PROGRAMMAZIONE
PER I CONTROLLI S&h

Capitolo 2
-

Introduzione alla Programmazione


S&h – Manuale CNC Cap.2 – Introduzione alla Programmazione

2-2
S&h – Manuale CNC Cap.2 – Introduzione alla Programmazione

SOMMARIO
Generalità..........................................................................................................................................4
Comandi............................................................................................................................................4
Convenzioni sintattiche......................................................................................................................4
Programma .......................................................................................................................................5
Blocchi di comando ...........................................................................................................................5
Blocchi di funzione ............................................................................................................................6
Blocchi di caratterizzazione ...............................................................................................................6
Blocchi di assegnazione ....................................................................................................................6
Blocchi di commento .........................................................................................................................7
Comandi............................................................................................................................................7
Parametri dei comandi.......................................................................................................................9
Formato dati ....................................................................................................................................10
Lettere di indirizzo ...........................................................................................................................11
Funzioni programmabili ...................................................................................................................13
Registri macchina ...............................................................................................................................21
Registro : registro condizione .........................................................................................................21
Flag ' : flag di salto condizionato.....................................................................................................21
Registro Stato Macchina: "D" .........................................................................................................22
Registro condizioni di Allarme: "E"..................................................................................................23
Registro stato ingressi dedicati Asse: .............................................................................................24
Registro stato uscite dedicate Asse:..............................................................................................24
Pannello di controllo............................................................................................................................25
Registro Pannello di Controllo ........................................................................................................25
Messaggi d’errore ...............................................................................................................................26
Famiglie di Errori .............................................................................................................................26
Emergenze .........................................................................................................................................28
Interventi del controllo .....................................................................................................................28
Segnalazione ..................................................................................................................................28
Cause..............................................................................................................................................28
Reset emergenza ............................................................................................................................28

2-3
S&h – Manuale CNC Cap.2 – Introduzione alla Programmazione

GENERALITÀ
I programmi eseguibili dai CNC sono scritti utilizzando un linguaggio specifico definito dallo standard ISO
più le necessarie estensioni per quanto non supportato da questo standard. Questo capitolo descrive gli
elementi del linguaggio introducendo alcuni argomenti relativi alla programmazione e riassume i relativi
comandi.

COMANDI
I comandi vengono trattati nei capitoli che ne descrivono l’attività specifica. Per ciascun comando
vengono fornite le seguenti informazioni:
• nome del comando
• funzionalità
• sintassi
• parametri
• caratteristiche e note
• esempi
Dove possibile, gli esempi riportano parti di programma e diagrammi che illustrano il modo in cui
operano i comandi.

CONVENZIONI SINTATTICHE
Nella descrizione dei comandi vengono utilizzate le seguenti convenzioni:

[…] Le parentesi quadre indicano le parti di comando opzionali


(n) Le parentesi tonde sono utilizzate per racchiudere la descrizione di un campo numerico o
alfanumerico, per esempio G0 X(quota assoluta). Il comando per posizionare l’asse X alla quota
assoluta 150 sarà scritto G0 X150.
(…) I tre punti tra parentesi tonde rappresentano campi di parametri che possono essere presenti in
dipendenza dalle precedenti scelte. Per esempio G68 O(n) (…) presenta le sintassi
G68 O1
G68 O2, “(messaggio)”, (r)
“…” Le virgolette delimitano campi alfanumerici e devono comparire nel comando. Per esempio
G68 O2, “CNC in emergenza”, 2
<cr> I caratteri ASCII di controllo sono chiusi tra i caratteri < > e evidenziati in corsivo

2-4
S&h – Manuale CNC Cap.2 – Introduzione alla Programmazione

PROGRAMMA
Un programma è costituito da una sequenza di istruzioni, scritte utilizzando i caratteri dello standard
ASCII, denominate BLOCCHI.
I programmi residenti a bordo del CNC sono identificati mediante numeri; il range ammesso è da 1 a 199
La dimensione e/o la quantità di programmi memorizzabili a bordo del CNC dipende dalla capacità di
memoria del modello di CNC in uso (vedi manuale d’installazione e interfaccia).

BLOCCHI DI COMANDO
La lunghezza massima di un blocco è di 128 caratteri. Un blocco deve sempre terminare con il codice
ascii <cr> (carriage return) e può opzionalmente iniziare con un campo definito NUMERO DI BLOCCO.
Il numero di blocco permette al programmatore di numerare i blocchi di programma. È sempre composto
dalla lettera “N” seguita dal valore numerico di massimo quattro cifre ossia nel range 0 … 9999
In coda al blocco può opzionalmente essere inserito un commento che inizia sempre con il carattere _;_
seguito dalla sequenza di caratteri alfanumerici che definiscono il commento stesso.

STRUTTURA GENERALE DI UN BLOCCO

Numero Codice
Blocco : Sequenza di caratteri Commento
di blocco di fine
Esempio : N20 G01 X123 Z-15.7 F200 ; Questo è un commento <cr>
[opzionale] [opzionale]

Lunghezza massima = 128 caratteri

Nota: Negli esempi di programmazione presenti nel manuale il codice <cr> sarà inserito soltanto dove
necessario per una migliore comprensione degli stessi.

TIPI DI BLOCCO

Esistono i seguenti tipi di blocchi:


blocchi di funzione
blocchi di caratterizzazione
blocchi di assegnazione
blocchi di commento

INDIRIZZO
Un indirizzo è una lettera che identifica il tipo di istruzione. Per esempio i seguenti sono indirizzi:
G, X, Y, Z, F
Gli INDIRIZZI sono sempre costituiti da una LETTERA MAIUSCOLA

WORD
Una word (parola) è un indirizzo seguito da un valore numerico. Per esempio le seguenti sono word:
G01 X12.3 Z-15.7 F200
Il valore numerico assegnato ad una word deve essere espresso nel sistema di misura della word. Se il
valore numerico ha una frazione decimale, inserire la porzione decimale dopo il punto decimale.

INDIRIZZI WORD
G G01
X X12.3
Z Z-15.7
F F200

2-5
S&h – Manuale CNC Cap.2 – Introduzione alla Programmazione

BLOCCHI DI FUNZIONE
Rappresentano le principali istruzioni eseguibili dal controllo. A questa categoria appartengono ad
esempio i blocchi di movimento degli assi.
In generale un blocco di funzione è costituito da una serie di funzioni programmabili o WORD a loro
volta composte da una lettera maiuscola chiamata INDIRIZZO, seguita da un valore numerico.

Numero Word Word Word Word Codice


Blocco : Commento
di blocco 1 2 3 4 di fine
Esempio : N20 G01 X123 Z-15.7 F200 ; Questo è un commento <cr >
[opzionale] [opzionale]

Lunghezza massima = 128 caratteri

Il blocco di esempio N20 G01 X123 Z-15.7 F200 ; Questo è un commento <cr> rappresenta una
istruzione di interpolazione lineare tra gli assi X e Z (vedi codici G). Esso contiene il numero di blocco, il
commento, gli indirizzi ( G, X, Z, F ) e le word ( G01, X123, Z-15.7, F200 ).

BLOCCHI DI CARATTERIZZAZIONE
I blocchi di caratterizzazione permettono la programmazione di una serie di parametri caratteristici del
sistema, permettendo di adattare il funzionamento del controllo alla propria applicazione
Per questo motivo vengono detti CODICI DI PERSONALIZZAZIONE.
In generale un blocco di caratterizzazione è costituito da una serie di funzioni programmabili o WORD a
loro volta composte da una lettera maiuscola chiamata INDIRIZZO, seguita da un valore numerico.

Numero Word Word Word Word Codice


Blocco : Commento
di blocco 1 2 3 4 di fine
Esempio : N20 @60 X1000 Y2000 Z100 ; Questo è un commento <cr >
[opzionale] [opzionale]

Lunghezza massima = 128 caratteri

Il blocco di esempio N20 @60 X1000 Y2000 Z100 ; Questo è un commento <cr> rappresenta la
definizione dei limiti-macchina. Esso contiene il numero di blocco, il commento, gli indirizzi ( @, X, Y, Z )
e le word ( @60, X1000, Y2000, Z100 ).

BLOCCHI DI ASSEGNAZIONE
I blocchi di assegnazione consentono al programmatore di assegnare un valore alle variabili di
programma. Esistono i seguenti tipi di assegnazione:

Tipo di assegnazione Esempio


assegnazione semplice Q10=123.456
assegnazione di espressione matematica Q18=Q7*12+0.5

2-6
S&h – Manuale CNC Cap.2 – Introduzione alla Programmazione

BLOCCHI DI COMMENTO
Consentono al programmatore di inserire delle frasi libere nel programma, al fine, ad esempio, di
descrivere la funzione da eseguire o di fornire elementi di informazione per rendere il programma più
comprensibile e documentato.
Un blocco di commento non produce messaggi per l’operatore; durante l’esecuzione del programma i
commenti vengono ignorati dal controllo.
Il primo carattere di un blocco di commento deve essere un punto e virgola ;. Il resto del blocco di
commento è una sequenza di caratteri alfanumerici ad eccezione dei caratteri: ‘$’ ‘~’ ‘|’ ‘-’. Si noti infatti
che i 4 caratteri corrispondenti al PROMPT (uno per ogni modalità di funzionamento) non vengono mai
accettati nelle linee di comando inviate al controllo, nemmeno se compresi nei commenti (cioè preceduti
dal carattere ‘;’) o nei “tag” dei programmi (titoli). L’eventuale loro invio viene ignorato dal controllo.

Esempio:
G01 X12.3 Y-45.6 F1000 ;Questo è un commento <cr>
G02 X52.7 Y27.9 R-174 F500 ;Esegui un arco di cerchio <cr>

COMANDI
Dagli esempi di comunicazione forniti per ciascun comando si noti anche l’uso degli “spazi” che possono
essere utilizzati per separare tra loro le varie “parole” che costituiscono un comando e ne consentono
una maggiore leggibilità e la presenza in coda ai comandi del codice di controllo <cr> che identifica la
fine del comando. Si tenga tuttavia presente che gli “spazi” (carattere ASCII 20 Hex) sono significativi
solo nei comandi che utilizzano le variabili; un blocco con variabile deve essere separato da spazi.

Pertanto questi due comandi sono equivalenti:


‘G01 X123 Y456 F1000’ <cr> equivale a ‘G01X123Y456F1000’ < cr >

mentre il seguente comando è errato a causa del non corretto utilizzo degli “spazi”:

‘G 01 X 123 Y 456 F 1000’ <cr>

Tutti i comandi inviati al controllo e le relative risposte generate sono costituite da stringhe composte
da codici dello standard ASCII.
I comandi inviati potranno essere composti da un minimo di 1 codice (vedi codici di controllo) ad un
massimo di 128 codici ASCII.
Le risposte generate saranno a loro volta composte da un minimo di 1 codice (prompt _$_) ad un
massimo di 255 codici ASCII.

Tutti i comandi previsti dal sistema possono essere concettualmente suddivisi in 2 categorie:

1 - esecuzione
2 - lettura

Alla prima categoria appartengono tutti i comandi che presuppongono l'esecuzione di una determinata
operazione da parte del controllo.
A questi comandi il controllo risponde con un carattere denominato Prompt che varia in funzione della
modalità attiva in quel momento.
Alla seconda categoria appartengono tutti i comandi che richiedono informazioni al controllo che, prima
di inviare il Prompt, risponderà con le informazioni richieste.

2-7
S&h – Manuale CNC Cap.2 – Introduzione alla Programmazione

I comandi previsti dal controllo sezione CNC si possono raggruppare nelle seguenti famiglie:

- comandi IMMEDIATI (codici di controllo)


- comandi @-%
- comandi G
- comandi di Gestione VARIABILI
- comandi &
- comandi M
- comandi T
- comandi di Gestione PROGRAMMA

Per la descrizione delle singole famiglie e dei singoli comandi fare riferimento alle relative sezioni del
presente manuale.

2-8
S&h – Manuale CNC Cap.2 – Introduzione alla Programmazione

PARAMETRI DEI COMANDI


Tutti i comandi inviati al controllo sono (vedi cap. 1) di competenza della parte "Interfaccia” che li
analizza (controllo sintattico e di ammissibilità) e in funzione del comando e della modalità attiva li
esegue oppure li passa alla sezione di "Controllo assi".

I parametri che caratterizzano i comandi sono i seguenti:

SORGENTE:
Indica la provenienza del comando.
Può essere la SERIALE (host computer) o BUS-PC o la MEMORIA PROGRAMMA
In funzione della modalità attiva la sezione CNC gestisce una sola o entrambe le
sorgenti.
LINE e PROG = gestita solo da Host
AUTO e JOG = gestite entrambe

ESECUZIONE:
Indica il tipo di esecuzione del comando.
Può essere IMMEDIATA, ACCODATA, DA PROGRAMMA

IMMEDIATA :
Sono comandi che vengono eseguiti dalla procedura di analisi subito dopo il controllo di
correttezza (analisi sintattica) e dopo averne verificato le condizioni di ammissibilità.

ACCODATA :
Sono quei comandi che devono essere eseguiti nell'ordine in cui sono stati inviati.
La sezione "INTERFACCIA" li analizza (sintassi) e in funzione della configurazione di
macchina (modello e tipo di assi) e della modalità attiva ne controlla l'ammissibilità.
Se il comando è ammesso lo tratta in uno dei seguenti modi:
- lo carica in fifo per la sua successiva esecuzione, sia che sia di competenza della
sezione "INTERFACCIA" che della sezione "CONTROLLO ASSI". (LINE,AUTO,JOG)
- lo memorizza nella memoria programma (PROG)

DA PROGRAMMA :
Sono comandi non ammessi in LINE e JOG, ma solo in PROG e AUTO
La sezione CNC li analizza (sintassi) e ne controlla l'ammissibilità.

In esecuzione questi comandi possono a loro volta essere di tipo diverso (immediati o
accodati) e conseguentemente è diverso il modo in cui vengono trattati dalla sezione
CNC.

AMMISSIBILITÀ:
Rappresenta l’insieme delle condizioni che determinano se un comando è ammesso
oppure rifiutato. Sono condizioni generalmente legate alla modalità attiva, al modello
(posizionatore, interpolatore, utensile tangenziale) e alla sua configurazione (numero
assi, abilitazione pannello etc. etc.)

Per i comandi ad esecuzione IMMEDIATA il controllo (se necessario) viene eseguito


comando per comando (le condizioni dipendono dal comando stesso) e rappresenta un
effettivo controllo di eseguibilità (eseguiti subito se ammessi).

Per i comandi ACCODATI e DA PROGRAMMA il controllo viene eseguito dopo l'analisi


sintattica. Non è un vero controllo di eseguibilità.
L'effettiva eseguibilità di questi comandi potrà essere verificata solo al momento della loro
messa in esecuzione.

2-9
S&h – Manuale CNC Cap.2 – Introduzione alla Programmazione

FORMATO DATI

NOTAZIONE
Si utilizza sempre la notazione Decimale; esclusi casi particolari evidenziati a parte
(variabili)

SEGNO
La programmazione di valori con segno viene effettuata facendo precedere le cifre con
i caratteri '-' (valori negativi) o '+' (opzionale: valori positivi)
I valori negativi vengono sempre inviati dal controllo con il carattere '-' che precede le
cifre. I valori positivi possono non contenere il carattere '+'.

VALORI INTERI
La programmazione di valori Interi varia da comando a comando: in funzione del
comando e dell'indirizzo al quale il valore si riferisce variano infatti i limiti ammessi e
conseguentemente il numero di cifre (caratteri numerici) accettato.
I valori Interi vengono inviati dal controllo omettendo gli zeri non significativi.

VALORI REALI
La programmazione di valori reali può essere effettuata con un massimo di 15 cifre totali.
Il numero di cifre decimali (dopo il carattere '.') può essere variabile.

L’intervallo dei valori dipende dal tipo di variabile a cui si intende assegnare il valore ed
eventualmente da parametri di inizializzazione del sistema.
In ogni caso, se il numero programmato supera il massimo ammesso, viene segnalata la
condizione di errore.

All'interno i conti sono effettuati con una precisione di 15 cifre. È bene sottolineare che
sebbene la precisione con la quale sono effettuati i conti è di 15 cifre significative, la
precisione del sistema per quanto riguarda la posizione degli assi dipende dal parametro
@50 e/o @51.

2-10
S&h – Manuale CNC Cap.2 – Introduzione alla Programmazione

LETTERE DI INDIRIZZO

Indirizzo Funzione Campo note


A (41h) Non utilizzato
B (42h) Non utilizzato
C (43h) Non utilizzato
D (44h) Registro di Stato-Macchina
Registro di Allarme
E (45h)
Variabili definizione camme
Definizione velocità (mm/min, inch/min, giri/min) 0 ... MAXREALE
F (46h)
Tempo di sosta con G04 (s) 0 .... 9999.99
G (47h) Comandi G 0 .... 99
H (48h) Indirizzo per i comandi G65—G69/ nr. Programmi G30-G32 1…9 / 1…199
1° Coordinata del centro cerchio (mm, inch) se il piano è +/- MAXREALE
definito con G16;
I (49h) Coordinata del centro (mm, inch) asse X se il piano é definito
con G17, G18;
definizione ingressi per @01
2° Coordinata del centro cerchio (mm, inch) se il piano é
definito con G16;
J (4Ah) +/- MAXREALE
Coordinata del centro (mm, inch) asse Y se il piano é definito
con G17, G19
Definizione tasti pannello (@70)
Passo filettatura (G33 non implementato)
K (4Bh)
Coordinata del centro (mm, inch) asse Z se il piano è definito +/- MAXREALE
con G18, G19
Puntatore di salto a "label" (# xxxx) 1 .... 9999
L (4Ch)
Puntatore richiamo sottoprogramma (:xxxx.xx) 1 .... 9999.99
M (4Dh) Funzioni ausiliarie 0 .... 99
N (4Eh) Numero di "blocco" 1 .... 9999
O (4Fh) Canale di comunicazione dei comandi G65-G69
P (50h) Bit di I/O di interfaccia con il PLC 0 .... 31
Q (51h) Variabili CNC 1 .... 255
R (52h) Raggio cerchio (mm, inch) +/- MAXREALE
S (53h) Definizione rapporto tensione analogica (giri-velocità /min) +/- 99999.99
T (54h) Selezione utensile 0 .... 31
Spostamento relativo all’asse U (mm, inch, °) +/- MAXREALE
U (55h)
Ingressi-uscite relative all’asse U
Spostamento relativo all’asse V (mm, inch, °) +/- MAXREALE
V (56h)
Ingressi-uscite relative all’asse V
W (57h) Spostamento relativo all’asse W (mm, inch, °) +/- MAXREALE
Ingressi-uscite relative all’asse W
Spostamento relativo all'asse X (mm, inch, °) +/- MAXREALE
X (58h)
Ingressi-uscite relative all'asse X
Spostamento relativo all'asse Y (mm, inch, °) +/- MAXREALE
Y (59h)
Ingressi-uscite relative all'asse Y
Spostamento relativo all'asse Z (mm, inch, °) +/- MAXREALE
Z (5Ah)
Ingressi-uscite relative all'asse Z

2-11
S&h – Manuale CNC Cap.2 – Introduzione alla Programmazione

Indirizzo Funzione Campo note


@ (40h) Comandi di scrittura parametri di personalizzazione 0 .... 99
Comandi di lettura parametri di personalizzazione 0 .... 99
% (25h)
Comandi di lettura variabili Q (%81) 1…255
& (26h) Comandi “funzioni speciali” 0 .... 99

$ (24h) "Prompt" di sistema "In Linea"


~ (7Eh) "Prompt" di sistema "In Programmazione"
| (7Ch) "Prompt" di sistema "In Esecuzione"
- (5Fh) "Prompt" di sistema "In Jog"

! (21h) Richiesta conferma comando (o chiave)


? (3Fh) Identificatore di "messaggio di errore"
# (23h) Identificatore di "label" 1 .... 9999
: (3Ah) Identificatore di "Sottoprogramma" 1 .... 9999
, (2Ch) Separatore campi
" (22h) Identificatore inizio/fine "Tag programma" 16 car. max
; (3Bh) Identificatore di inizio commento
[ (5Bh) Apertura "Programma"
] (5Dh) Chiusura "Programma"
{ (7Bh) Non utilizzato
} (7Dh) Non utilizzato
\ (5Ch) Registro condizione
' (27h) Flag controllo salti (con G21, 22, 31, 32)
. (2Eh) Separatore parte frazionaria 1.234 123.4

2-12
S&h – Manuale CNC Cap.2 – Introduzione alla Programmazione

FUNZIONI PROGRAMMABILI

COORDINATE DEGLI ASSI


Le coordinate degli assi sono indicate dagli indirizzi X,Y,Z,W,U,V e possono essere programmate nel
seguente intervallo di valori: -9999999.999… +9999999.999… [mm o pollici]

COORDINATA R
Nei movimenti in interpolazione circolare (codici G02 e G03) l’indirizzo R rappresenta il raggio del
cerchio. Anche questa funzione è programmabile nell’intervallo di valori -9999999.999…
+9999999.999… [mm o pollici]

COORDINATE I J K
In interpolazione circolare gli indirizzi I e J definiscono le coordinate del centro dell’arco di cerchio
indipendentemente dal piano di interpolazione attivo, se il piano è selezionato con il comando G16.
La coordinata I specifica l’ascissa mentre J specifica l’ordinata.
Se il piano è selezionato con i comandi G17, G18 o G19 nell’interpolazione circolare gli indirizzi I , J e
K definiscono rispettivamente le coordinate del centro relative agli assi X,Y e Z.
Anche I, J e K sono programmabili nell’intervallo -9999999.999… +9999999.999… [mm o pollici]

FUNZIONE K
Nella filettatura determina il passo del filetto. (comando G33: non implementato)
E’ programmabile nell’intervallo -9999999.999… +9999999.999… [mm o pollici]

FUNZIONE F
Nei blocchi di movimento la funzione F definisce la velocità di avanzamento degli assi e deve essere
programmata nell’intervallo e deve programmata nell’intervallo maggiore di 0 e minore di +9999999.999
[mm o pollici] / min. Con il comando G04 si definisce il tempo di attesa in secondi.

FUNZIONE S
La funzione S specifica la velocità di rotazione del mandrino. L’associazione tra giri mandrino e tensione
uscita è programmata con @52.
S è programmabile nell’intervallo - 99999.99…+ 99999.99 [giri/min]

Sigle:

a....z = gruppi; le funzioni appartenenti allo stesso gruppo si escludono a vicenda.

* = Le funzioni contrassegnate con * sono attive all'accensione o dopo un reset software.

1 = Le funzioni contrassegnate con (1) sono attive solo nel blocco in cui compaiono; tutte le altre
sono modali, cioè restano attive finché non vengono sovrascritte da un'altra funzione "G"
dello stesso gruppo.

2 = Le funzioni contrassegnate con (2) devono essere programmate da sole nel blocco
(non possono essere inserite altre funzioni).

L = eseguibile in modalità "In Linea ( $ ) “


P = eseguibile in modalità "In Programmazione ( ~ ) “
A = eseguibile in modalità "Automatico ( | ) "
J = eseguibile in modalità "Jog (-) "

2-13
S&h – Manuale CNC Cap.2 – Introduzione alla Programmazione

ISTRUZIONI DI CONTROLLO ( COMANDI IMMEDIATI )


Sono i codici dello standard ASCII, dal valore 00h (0d) al valore 1Fh (31d).
Se inviati al controllo causano l’esecuzione immediata di una determinata azione (vedi anche capitolo 3).

Codici di controllo PC ---> CNC (comandi IMMEDIATI)


codice rifer. funzione note
^@ nul non usato
^A soh Richiesta registri di Stato LAJ
^B stx Stop Cnc LAJ
^C etx Start Cnc LAJ
^D eot Richiesta registri di Emergenza LAJ
^E enq Richiesta errore di inseguimento LAJ
^F ack Richiesta n. Linea in Esecuzione LAJ
^G bel Selezione / Aggancio comunicazione LAJ
^H bs Cancella ultimo carattere inviato LAJ
^I ht Richiesta velocità attiva LAJ
^J lf non usato
^K vt Set emergenza Cnc LAJ
^L ff Reset emergenza Cnc LAJ
^M cr Codice chiusura stringa comando (blocco) LAJ
^N so Selezione indirizzi attivi LAJ
^O si Richiesta Stato Ingressi Dedicati LAJ
^P dle Annulla comando in esecuzione (e fifo comandi) LAJ
^Q dc1 XON (abilita trasmissione dati) LAJ
^R dc2 Richiesta di invio "codice di allarme" LAJ
^S dc3 XOFF (sospendi trasmissione dati) LAJ
^T dc4 Esecuzione Single Block AJ
^U nak Ripetizione ultimo messaggio LAJ
^V syn Richiesta Stato Uscite LAJ
^W etb Richiesta Quote Effettive LAJ
^X can Cancella stringa caratteri precedentemente inviati LAJ
^Y em Reset software Cnc (reset software) LAJ
^Z sub Codice di sincronizzazione LAJ
^[ esc Non utilizzato
^\ fs Richiesta Quote Teoriche LAJ
^] gs Stop Cnc a Fine-blocco LAJ
^^ rs Non utilizzato
^_ us Non utilizzato

Codici di Segnalazione CNC ---> PC


codice rifer. funzione note
^G bel Segnalazione messaggio/allarme da comunicare LAJP
^Z sub Codice di sincronizzazione PC….CNC LAJ

2-14
S&h – Manuale CNC Cap.2 – Introduzione alla Programmazione

ISTRUZIONI DI CARATTERIZZAZIONE ( COMANDI @ - % )


Le funzioni ‘@’ sono codici che permettono la programmazione dei parametri caratteristici del sistema,
permettendo di adattare il funzionamento del controllo alla applicazione. Le funzioni ‘%’ sono dedicate
alla rilettura dei parametri di sistema programmati con i codici ‘@’. (vedi anche il capitolo 4).

@-%
codice indirizzo funzione note
@01-%01 I Definizione e lettura Ingressi Digitali "Programmabili" PLJA
@03-%03 XYZWUV Ingresso dedicato: definizione e lettura "fine corsa +" PLJA
@04-%04 XYZWUV Ingresso dedicato: definizione e lettura "fine corsa -" PLJA
@05-%05 XYZWUV Ingresso dedicato: definizione e lettura "fault azionamento" PLJA
@06-%06 XYZWUV Ingresso dedicato: definizione e lettura "zero macchina" PLJA
@15-%15 XYZWUV Zero encoder: definizione e lettura attività PLJA
@16-%16 XYZWUV Fasi encoder: definizione e lettura senso conteggio(+/-) PLJA
@20-%20 XYZWUV Definizione parametri tabella camme PLJA
@21-%21 XYZWUV Definizione tipo di camme e numero di ripetizioni PLJA
@22-%22 XYZWUV Definizione uscite digitali Programmabili PLJA
@30-%30 I Definizione dispositivi I/O su can bus PLJA
@31-%31 XYZWUV Direzione azionamento PLJA
@32-%32 XYZWUV Abilitazione azionamento PLJA
@33-%33 XYZWUV Range tensione: 0...10v / -10v...+10v PLJA
@34-%34 XYZWUV Polarità tensione: attiv.(0/1)=mov. asse(+/-) PLJA
@35-%35 XYZWUV Definizione polarità uscita in frequenza PLJA
@40-%40 XYZWUV Servo: soglia limite emergenza da servo PLJA
@41-%41 XYZWUV Servo: banda morta PLJA
@42-%42 do
XYZWUV Servo: valore 2 guadagno proporzionale PLJA
@43-%43 XYZWUV Servo: valore guadagno integrale PLJA
@44-%44 XYZWUV Servo: valore guadagno derivativo PLJA
@45-%45 XYZWUV Servo: intervallo campionamento servo PLJA
@46-%46 XYZWUV Servo: azione feed forward PLJA
@47-%47 XYZWUV Servo: limitazione servo integrale PLJA
@48-%48 mo do
XYZWUV Servo: soglia tra 1 e 2 guadagno proporzionale PLJA
@49-%49 XYZWUV Servo: valore 1mo guadagno proporzionale PLJA
@50-%50 XYZWUV Spazio/imp. encoder: definizione e lettura rapporto mm <--> imp PLJA
@51-%51 XYZWUV Spazio/step: definizione e lettura rapporto mm <--> step PLJA
@52-%52 SXYZW UVI Definizione e lettura rapporto velocità - n. giri <--> tensione PLJA
@53-%53 XYZWUV Frequenza massima encoder/step PLJA
@54-%54 XYZWUV Definizione limite velocità assi PLJA
@56-%56 XYZWUV Definizione frequenza o velocità di start/stop PLJA
@57-%57 XYZWUV Rampa accelerazione/decelerazione PLJA
@59-%59 XYZWUV Soglia asse in posizione PLJA
@60-%60 XYZWUV Limiti macchina: quota massima campo di lavoro PLJA
@61-%61 XYZWUV Limiti macchina: quota minima campo di lavoro PLJA
@70-%70 K Definizione e lettura attività tasti pannello operatore PLJA
@71-%71 XYZWUV Definizione formato dati trasmessi dal controllo PLJA
@72-%72 XYZWUV Tipo asse: lineare / angolare PLJA
@80-%80 Abilitazione della variazione percentuale della velocità assi PLJA
%81 QEO Lettura variabili / origini / tabelle camme PLJA
@82-%82 Stringa errore: abilitate / disabilitate PLJA
@83-%83 Abilitazione visualizzazione linea in esecuzione PLJA
@84-%84 Abilitazione limitazione velocità PLJA
@85-%85 Bel: Abilitazione/disabilit. "Bel" (ogni ..sec) PLJA
@86-%86 Modifica del protocollo di comunicazione (PLC) PLJA
@90-%90 Soglia err. Centro: definizione errore massimo coordinate centro PLJA
2-15
S&h – Manuale CNC Cap.2 – Introduzione alla Programmazione

@91-%91 Definizione soglia di “obiettivo raggiunto” PLJA


@94-%94 Definizione soglia utensile TANGENZIALE PLJA
@95-%95 Definizione n. taglienti utensile TANGENZIALE PLJA
@96-%96 Definizione "tempi" di alza/abbassa utensile TANGENZIALE PLJA
@97-%97 Abilitazione pannello di controllo operatore all'accensione PLJA
@98 Recupera i parametri dalla memoria permanente L
%98 Lettura configurazione del sistema di controllo PLJA
@99 Memorizza parametri nella memoria permanente L
%99 Lettura versione software PLJA

2-16
S&h – Manuale CNC Cap.2 – Introduzione alla Programmazione

ISTRUZIONI OPERATIVE ( COMANDI G )


I codici G programmano funzioni preparatorie per la lavorazione (vedi tabella riassuntiva seguente).
Per una loro approfondita descrizione consultare il capitolo 5.

G
codice indirizzo Funzione gruppo note
* G00 XYZWUV Posizionamento Assi a PL 1
G01 XYZWUV Interpolazione Lineare a PL 1
G02 XYZWUV IJKR Interpolazione circolare in senso orario a PL 1
G03 XYZWUV IJKR Interpolazione circolare in senso antiorario a PL 1
G04 F Sosta a fine blocco PL 2
G06 XYZWUV Asse comandato in velocità a PL 2
G16 XYZWUV Definizione del piano di interpolazione circolare 1
* G17 Selezione piano XY b PL 1
G18 Selezione piano ZX b PL 1
G19 Selezione piano YZ b PL 1
G20 L Salto incondizionato a "label" (#xxxx) P 2
G21 L Salto condizionato a "label" (#xxxx) se flag(')=1 P 2
G22 L Salto condizionato a "label" (#xxxx) se flag(')=0 P 2
G25 XYZWUV Limiti campo lavoro: definizione minimi PL 2
G26 XYZWUV Limiti campo lavoro: definizione massimi PL 2
* G27 XYZWUV Limiti campo lavoro: cancellazione limiti PL 2
G30 LH L=Richiamo incondizionato sottoprogramma P 2
(:xxxx,xx)
H= richiamo programma
G31 LH L=Richiamo condiz. sottoprog. (:xxxx,xx) se flag(')=1 P 2
H= richiamo programma
G32 LH L=Richiamo condiz. sottoprog. (:xxxx,xx) se flag(')=0 P 2
H= richiamo programma
* G50 XYZWUV Cancella spostamento origine assi PL 2
G51 XYZWUV Ricerca origine assi (set-point) PL 2
G52 XYZWUV Spostamento origine assi PL 2
G53 XYZWUV Origine assi in questo punto PL 2
G54 XYZWUV Origine assi in questo punto (Set-point software) PL 1,2
G55 O Salvataggio origini
G56 O Riprisrino origini
G57 "RACCORDO AUTOMATICO" attivo PL 1,2
* G58 "RACCORDO AUTOMATICO" disattivo PL 1,2
G61 Arresto preciso "IN POSIZIONE" attivo PL 1,2
* G62 Arresto preciso "IN POSIZIONE" disattivo PL 1,2
G63 "non attendere" fine movimenti 1,2
* G64 "attendi" fine movimenti 1,2
G65 XYZWUV Attendi ingresso / bit di stato (=0) PL 2
PDEOH
G66 XYZWUV Attendi ingresso / bit di stato (=1) PL 2
PDEOH
G67 XYZWUV POH Attiva uscite (=0) PL 2
G68 XYZWUV POH Attiva uscite (=1) PL 2
G69 XYZWUV Assegna stato bit a "flag(')" PL 2
PDEO\
G70 Quote in "inch" c PL 1
* G71 Quote in "mm" c PL 1
G74 XYZWUV Attivazione e disattivazione della lettura quota laser PL 1
G80 E Abilitaz. e disabilitaz. tabella camme e pos. Engage d
G81 Definizione posizioni di disengage camme d
2-17
S&h – Manuale CNC Cap.2 – Introduzione alla Programmazione

G82 Definizione automatica tabella camme d


G83 Definizione fattore K camme d
G84 Definizione variazione velocità in % camme d
* G90 Quote in "assoluto" e PL 1
G91 Quote in "incrementale" e PL 1
G93 Attiva “guida utensile tangenziale” 1,2
G94 Disattiva “Guida utensile tangenziale” 1,2
G98 Gestione velocità in posizionamento e interpolaz. PL 1

ISTRUZIONI SPECIALI ( & )


Sono comandi particolari che il controllo gestisce per l’esecuzione di funzioni speciali (vedi tabella
seguente).
Per una loro approfondita descrizione consultare il capitolo 7.

&
codice Funzione note
&00 Selezione la modalità Programmazione: <PROG>
&01 Selezione la modalità Esecuzione: <AUTO>
* &02 Selezione la modalità Linea: <ON-LINE>
&03 Selezione la modalità Manuale: <JOG>
&04 List di un programma Cnc
&05 Elenco programmi Cnc in memoria
&06 Cancellazione programma Cnc (1..199)
&07 Carica parametri di Default
&08 Seleziona modalità di comunicazione
&09 Selezione "lingua"
&10 Abilita pannello di controllo esterno
&11 Disabilita pannello di controllo esterno
&12 Definizione numero del controllo
&14 Selezione canale di comunicazione ausiliario
&15 modifica protocollo comunicazione (baud, parità)
&20 Scrivi variabili “Q 1…255”
&30 Cambia valore velocità movimento "F" (in %)
&31 Cambia valore velocità rotazione "S" (in %)
&51 Stop registrazione quote
&52 Start registrazione quote

Codici di comando compatibili con i comandi immediati da utilizzare in modalitá


controllo esterno
&70 Stop Cnc immediato ( ^B <stx>)
&71 Start CNC ( ^C <etx>)
&79 Set emergenza CNC ( ^K <vt> )
&80 Reset emergenza CNC ( ^L <ff> )
&84 Annulla comando in esecuzione ( ^P <dle>)
&88 Esecuzione single block ( ^T <dc4>)

Nota:
Le funzioni contrassegnate con * sono attive all'accensione o dopo un reset software.

2-18
S&h – Manuale CNC Cap.2 – Introduzione alla Programmazione

FUNZIONE M
La funzione M attiva diverse funzioni di macchina (vedere tabella riassuntiva seguente).
Per una loro approfondita descrizione consultare il capitolo 8.

M
codice Funzione note
M00 Stop programma (interrompi esecuzione: come ^])
M01 Abort programma e sottoprogrammi attualmente in esecuzione 1
M02 Fine programma PRINCIPALE 1
M10 Set bit 0(F) PLC (stop CNC fino al reset del bit)
M11 Set bit 1(F) PLC (stop CNC fino al reset del bit)
M12 Set bit 2(F) PLC (stop CNC fino al reset del bit)
M13 Set bit 3(F) PLC (stop CNC fino al reset del bit)
M14 Set bit 4(F) PLC (stop CNC fino al reset del bit)
M15 Set bit 5(F) PLC (stop CNC fino al reset del bit)
M16 Set bit 6(F) PLC (stop CNC fino al reset del bit)
M17 Set bit 7(F) PLC (stop CNC fino al reset del bit)
M18 Set bit 8(F) PLC (stop CNC fino al reset del bit)
M19 Set bit 9(F) PLC (stop CNC fino al reset del bit)
M20 Set bit 10(F) PLC (stop CNC fino al reset del bit)
M21 Set bit 11(F) PLC (stop CNC fino al reset del bit)
M22 Set bit 12(F) PLC (stop CNC fino al reset del bit)
M23 Set bit 13(F) PLC (stop CNC fino al reset del bit)
M24 Set bit 14(F) PLC (stop CNC fino al reset del bit)
M25 Set bit 15(F) PLC (stop CNC fino al reset del bit)
M26 Set bit 16(F) PLC (stop CNC fino al reset del bit)
M27 Set bit 17(F) PLC (stop CNC fino al reset del bit)
M28 Set bit 18(F) PLC (stop CNC fino al reset del bit)
M29 Set bit 19(F) PLC (stop CNC fino al reset del bit)
M30 Set bit 20(F) PLC (stop CNC fino al reset del bit)
M31 Set bit 21(F) PLC (stop CNC fino al reset del bit)
M32 Set bit 22(F) PLC (stop CNC fino al reset del bit)
M33 Set bit 23(F) PLC (stop CNC fino al reset del bit)
M34 Set bit 24(F) PLC (stop CNC fino al reset del bit)
M35 Set bit 25(F) PLC (stop CNC fino al reset del bit)
M36 Set bit 26(F) PLC (stop CNC fino al reset del bit)
M37 Set bit 27(F) PLC (stop CNC fino al reset del bit)
M38 Set bit 28(F) PLC (stop CNC fino al reset del bit)
M39 Set bit 29(F) PLC (stop CNC fino al reset del bit)
M40 Set bit 30(F) PLC (stop CNC fino al reset del bit)
M41 Set bit 31(F) PLC (stop CNC fino al reset del bit)
M99 Fine sottoprogramma 1

Note::

1 = i comandi non hanno effetto, se il controllo si trova in modalità “in linea”.

Nota bene: se il controllo non è dotato di PLC, i comandi da M10 a M41 non hanno alcun effetto.

2-19
S&h – Manuale CNC Cap.2 – Introduzione alla Programmazione

FUNZIONE T
La funzione T definisce l’utensile necessario per la lavorazione (vedi tabella riassuntiva seguente).

T
codice Funzione
T00 Set bit 32(F) PLC (stop CNC fino al reset del bit)
T01 Set bit 33(F) PLC (stop CNC fino al reset del bit)
T02 Set bit 34(F) PLC (stop CNC fino al reset del bit)
T03 Set bit 35(F) PLC (stop CNC fino al reset del bit)
T04 Set bit 36(F) PLC (stop CNC fino al reset del bit)
T05 Set bit 37(F) PLC (stop CNC fino al reset del bit)
T06 Set bit 38(F) PLC (stop CNC fino al reset del bit)
T07 Set bit 39(F) PLC (stop CNC fino al reset del bit)
T08 Set bit 40(F) PLC (stop CNC fino al reset del bit)
T09 Set bit 41(F) PLC (stop CNC fino al reset del bit)
T10 Set bit 42(F) PLC (stop CNC fino al reset del bit)
T11 Set bit 43(F) PLC (stop CNC fino al reset del bit)
T12 Set bit 44(F) PLC (stop CNC fino al reset del bit)
T13 Set bit 45(F) PLC (stop CNC fino al reset del bit)
T14 Set bit 46(F) PLC (stop CNC fino al reset del bit)
T15 Set bit 47(F) PLC (stop CNC fino al reset del bit)
T16 Set bit 48(F) PLC (stop CNC fino al reset del bit)
T17 Set bit 49(F) PLC (stop CNC fino al reset del bit)
T18 Set bit 50(F) PLC (stop CNC fino al reset del bit)
T19 Set bit 51(F) PLC (stop CNC fino al reset del bit)
T20 Set bit 52(F) PLC (stop CNC fino al reset del bit)
T21 Set bit 53(F) PLC (stop CNC fino al reset del bit)
T22 Set bit 54(F) PLC (stop CNC fino al reset del bit)
T23 Set bit 55(F) PLC (stop CNC fino al reset del bit)
T24 Set bit 56(F) PLC (stop CNC fino al reset del bit)
T25 Set bit 57(F) PLC (stop CNC fino al reset del bit)
T26 Set bit 58(F) PLC (stop CNC fino al reset del bit)
T27 Set bit 59(F) PLC (stop CNC fino al reset del bit)
T28 Set bit 60(F) PLC (stop CNC fino al reset del bit)
T29 Set bit 61(F) PLC (stop CNC fino al reset del bit)
T30 Set bit 62(F) PLC (stop CNC fino al reset del bit)
T31 Set bit 63(F) PLC (stop CNC fino al reset del bit)

Tutti i comandi T vengono eseguiti sempre in modo immediato e non hanno effetto se il controllo non è
dotato di PLC.

FUNZIONI DI GESTIONE PROGRAMMI


Sono comandi speciali che regolano l’invio di un programma, permettono l’inserimento di etichette (label)
e di sottoprogrammi, ed infine consentono la compilazione del programma e la sua memorizzazione
nella memoria permanente del controllo (vedi anche capitolo 9).

Comandi di Gestione Programmi


Codice Funzione note
[ Inizio programma
“ Tag del programma
# Definizione label
: Inizio sottoprogramma
] Fine programma (compilazione e memorizzazione)

2-20
S&h – Manuale CNC Cap.2 – Introduzione alla Programmazione

REGISTRI MACCHINA
REGISTRO \: REGISTRO CONDIZIONE

Il registro condizione \ viene automaticamente settato da operazioni quali le funzioni aritmetiche o su


richiesta tramite l'istruzione "TST" per essere poi utilizzato dalle istruzioni di salto.

Registro condizione : \
Bit Descrizione note
00 ….
01 overflow calcoli (errore fatale !) OV
02 Zero EQ
03 Negativo NG
04 ….
05 Sempre = 1
06 Sempre = 0
07 ….

Il bit = 1 indica la condizione "vera"

FLAG ' : FLAG DI SALTO CONDIZIONATO

Il bit di Flag ' viene settato su richiesta tramite l'istruzione "G69" o la funzione parametrica "SFL" per
essere poi utilizzato dalle istruzioni di salto.

Es.
; assegna bit_EQ del reg. condizione a flag ' :
G69 \2

; assegna ingresso X7 a flag ' :


G69 X7

; assegna a flag ' il risultato dell'espressione :


SFL((QIX.AND.1).OR.(QRD.AND.27))

; salta all’etichetta #1 se la variabile Q5 è minore di 8

TST (Q5-8)
G69 \ 3
G21 L1

2-21
S&h – Manuale CNC Cap.2 – Introduzione alla Programmazione

REGISTRO STATO MACCHINA: "D"


Il registro di "Stato Macchina" permette di conoscere la condizione della macchina in qualsiasi momento.
Alla relativa richiesta (comando immediato ^A) il registro di stato "D" viene trasmesso nel formato
D…X...Y...Z…W...U...V...
Di seguito è riportato il significato dei singoli bit.

Registro di stato CNC : D


Bit Descrizione note
00 Pannello operatore “ATTIVO”
01 Tastatore
02 PLC running ATTIVI
03 PLC in errore SE
04 Obiettivo sotto la soglia (@91) in zona obiettivo =1
05 Programma “IN ESECUZIONE”
06 CNC “IN STOP”
07 CNC “IN EMERGENZA”

Registro di stato ASSE : X, Y, Z, W,U,V


Bit Descrizione
00 ASSE IN ORIGINE LOCALE LASER NON CONNESSO, se G74=1, 2 o 3 (si veda G74)
01 ASSE “IN CAMME” FAULT LASER, se G74=1, sempre 0 se G74=2 o 3
02 Asse “IN STOP” VALORE SOTTO IL MINIMO, se G74=1, sempre 0 se G74=2 o 3 ATTIVI
03 Asse “IN POSIZIONE” VALORE SOPRA IL MASSIMO, se G74=1, sempre 0 se G74=2 o3 SE
04 Asse “IN SATURAZIONE” =1
05 Set-point asse ESEGUITO
06 L’asse si muove in direzione POSITIVA (+)
07 Asse IN MOVIMENTO

La corrispondenza con i bit del PLC (in caso di lettura con il comando inpvar n,0:234(5) poiché la
variabile Q234 è la variabile stato asse) è la seguente :

Bit 00 PLC Bit 00 CNC asse Z



Bit 07 PLC Bit 07 CNC asse Z
Bit 08 PLC Bit 00 CNC asse Y

Bit 15 PLC Bit 07 CNC asse Y
Bit 16 PLC Bit 00 CNC asse X

Bit 23 PLC Bit 07 CNC asse X
Bit 24 PLC Bit 00 stato CNC

Bit 31 PLC Bit 07 stato CNC

2-22
S&h – Manuale CNC Cap.2 – Introduzione alla Programmazione

REGISTRO CONDIZIONI DI ALLARME: "E"


Il registro di "Allarme" permette di conoscere la condizione della “macchina in allarme” in qualsiasi
momento. Alla relativa richiesta (comando immediato ^D) il registro di stato "E" viene trasmesso nel
formato E…X...Y...Z…W...U…V…
Di seguito è riportato il significato dei singoli bit.

Registro di allarme CNC : E


Bit Descrizione note
00
01
02 ATTIVI
03 Emergenza attivata da Tastatore SE
04 Emergenza attivata da errore in esecuzione =1
05 Emergenza attivata dal controllo asse
06 Emergenza attivata da ingresso di emergenza
07 Emergenza attivata da comando immediato ^K

Registro di allarme ASSE : X, Y, Z, W,U,V


Bit Descrizione note
00
01 Allarme attivo da ingresso di emergenza asse
02 Asse in emergenza per Fault-Azionamento ATTIVI
03 Asse in emergenza da fine corsa SFW (-) SE
04 Asse in emergenza da fine corsa SFW (+) =1
05 Asse in emergenza da fine corsa HDW (-)
06 Asse in emergenza da fine corsa HDW (+)
07 Asse in emergenza da servo controllo

Per la corrispondenza con i bit del PLC rifarsi alla descrizione del registro stato macchina D

2-23
S&h – Manuale CNC Cap.2 – Introduzione alla Programmazione

REGISTRO STATO INGRESSI DEDICATI ASSE:


I registri di "Stato Ingressi" e "Stato uscite" permettono di conoscere la condizione degli ingressi e delle
uscite dedicate in qualsiasi momento.
Di seguito è riportato il significato dei singoli bit.

VARIABILE QIX, QIY, QIZ, QIW, QIU, QIV : IMMAGINE INGRESSI ASSE “X”, “Y”, “Z”, “W”, “U”, “V”
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00

INGRESSI ASSE DEDICATI : X, Y, Z, W,U,V


Bit Descrizione note
00 Non usato
01 Non usato
02 Non usato 1 = CHIUSO
03 Non usato
04 Fine corsa (-) 0 = APERTO
05 Fine corsa (+)
06 Ok azionamento
07 Zero macchina

REGISTRO STATO USCITE DEDICATE ASSE:

VARIABILE QOX, QOY, QOZ, QOW, QIU, QIV: IMMAGINE USCITE ASSE “X”, “Y”, “Z”, “W” “U”, “V”
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00

Uscite ASSE dedicate : X, Y, Z, W,U,V


Bit Descrizione note
00 Direzione azionamento
01 Non usato
02 Non usato 1 = ATTIVO
03 Non usato
04 Non usato 0 = DISATTIVO
05 Polarità zero encoder
06 Polarità zero macchina
07 Set point abilitato

2-24
S&h – Manuale CNC Cap.2 – Introduzione alla Programmazione

PANNELLO DI CONTROLLO
Il Cnc gestisce autonomamente un PANNELLO di CONTROLLO macchina per la realizzazione di tutte
quelle operatività di controllo macchina che devono essere gestite dall'operatore tramite dei comandi
manuali (tasti e selettori) di facile accesso e uso (ad es.: tasti per il movimento in manuale, Start, Stop,
selezione programma di lavoro, etc. ).
Poiché ad ogni tasto sono associati dei programmi del CNC è possibile personalizzare il funzionamento
del Pannello di Controllo secondo le specifiche esigenze.
Il Pannello di Controllo del Cnc gestisce :
- 16 Tasti funzione
- 1 Selettore di selezione modalità
- 1 Selettore di n. programma
REGISTRO PANNELLO DI CONTROLLO
Il PANNELLO DI CONTROLLO viene gestito tramite un'immagine logica di 32 bit ad ognuno dei quali è
associato il proprio significato.
Ad ogni tasto è possibile associare un programma sia sulla pressione che sul rilascio.
Il CNC "vede" il pannello di controllo nella variabile PLC 14 (punti 224..255).

VARIABILE QPN : IMMAGINE PANNELLO OPERATORE 31….0


Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00

Bit Descrizione
00 Ingresso 00 (pressione = programma 101, rilascio 121) Tasto 01
01 “ “ 01 (pressione = programma 102, rilascio 122) “ 02
02 “ “ 02 (pressione = programma 103, rilascio 123) “ 03
03 “ “ 03 (pressione = programma 104, rilascio 124) “ 04 TASTI
04 “ “ 04 (pressione = programma 105, rilascio 125) “ 05 1…8
05 “ “ 05 (pressione = programma 106, rilascio 126) “ 06
06 “ “ 06 (pressione = programma 107, rilascio 127) “ 07
07 “ “ 07 (pressione = programma 108, rilascio 128) “ 08
08 Ingresso 08 (pressione = programma 109, rilascio 129) Tasto 09
09 “ “ 09 (pressione = programma 110, rilascio 130) “ 10
10 “ “ 10 (pressione = programma 111, rilascio 131) “ 11
11 “ “ 11 (pressione = programma 112, rilascio 132) “ 12 TASTI
12 “ “ 12 (pressione = programma 113, rilascio 133) “ 13 9….16
13 “ “ 13 (pressione = programma 114, rilascio 134) “ 14
14 “ “ 14 (pressione = programma 115, rilascio 135) “ 15
15 “ “ 15 (pressione = programma 116, rilascio 136) “ 16
16
17
18
19
20
21
22 Selezione modo: Dato 0 SELETTORE
23 “ “ “ “ 1 MODALITÀ *
24 Selettore Programmi Cnc (unità) Dato 0
25 “ “ “ “ “ 1
26 “ “ “ “ “ 2
SELETTORE
27 “ “ “ “ “ 3
PROGRAMMI
28 Selettore Programmi Cnc (decine) Dato 4
29 “ “ “ “ “ 5
30 “ “ “ “ “ 6
31 “ “ “ “ “ 7

* Nota: vedere la tabella seguente

2-25
S&h – Manuale CNC Cap.2 – Introduzione alla Programmazione

Bit 22 Bit 23 Modalità


0 0 LINE
0 1 AUTO
1 0 PROG
1 1 JOG

MESSAGGI D’ERRORE
Indipendentemente dal tipo d’errore, e quindi dalla causa che lo ha determinato, un messaggio d’errore
è sempre costituito da una stringa di caratteri ASCII del tipo:

?0-(m)(nn): (descrizione) dove:

?0- IDENTIFICATORE MESSAGGIO D’ERRORE: i tre caratteri iniziali della stringa sempre
presenti in un qualsiasi messaggio d’errore.

m CODICE DI FAMIGLIA: è un solo carattere che specifica la famiglia di errori ed è sempre


una lettera minuscola.

nn CODICE D’ERRORE: sono due caratteri numerici che indicano lo specifico errore
all'interno della famiglia.

descrizione è una stringa di caratteri ASCII che descrive l'errore.

Si tenga infine presente che il controllo, dopo il messaggio di errore, invia il PROMPT, ossia il carattere
che indica il suo stato corrente e, nello stesso tempo, segnala all’host d’essere pronto a ricevere il
successivo comando.

FAMIGLIE DI ERRORI

CODICE DESCRIZIONE

a messaggio inviato a seguito dell’esecuzione di un comando G68 O2 (si veda la


descrizione del comando al capitolo 5).

b errori causati dall'invio alla scheda di linee di comando troppo lunghe (più di 128 caratteri)
o dall'invio di codici di controllo non corretti.

c errori dovuti ad una linea di comando errata o a comandi non ammessi.

e errori generati in fase di esecuzione dei comandi: bloccano l'esecuzione dei comandi e
vengono segnalati tramite l'invio periodico del codice <BEL>.

f errori fatali dal PLC.

g errori generati a causa della saturazione del buffer d’esecuzione nel quale vengono
memorizzati i comandi inviati o della memoria programmi.

i errori dovuti a malfunzionamenti che si possono presentare all'accensione.

k messaggio inviato a seguito dell’esecuzione di un comando G65 O2 (si veda la


descrizione del comando al capitolo 5).

p errori generati durante la compilazione di un programma.

w warning dal PLC.

2-26
S&h – Manuale CNC Cap.2 – Introduzione alla Programmazione

Elenco dei messaggi d’errore


m nn Significato
a s Esecuzione comando G68 O2. s è il parametro indicato nel comando
b 01 Buffer di linea pieno
01 Errore nel tipo di parametri passati
02 Programma non presente in memoria
04 Decimali non previsti
05 Errore di superamento dei limiti
c 06 Comando non ammesso
08 Comando sconosciuto, non implementato o non attivo
09 Errore nella conversione del numero passato
10 Errore nella fase di programmazione
11 Piano selezionato errato
01 Errore interno
02 Errore nei parametri PLC
03 Errore nei parametri CNC
04 Emergenza da CNC
05 Errore comando Host
06 Overrun da Host
07 Errore time INT-C
08 Errore RX con Host
09 Overflow parametri da Host
10 Divisione per Zero
e 11 Programmazione moduli errata
12 Emergenza da comando immediato
16 Errore colloquio con moduli
17 Loop programma PLC
18 Emergenza da ^K
19 Fifo di trasmissione piena
20 Errore stack sottoprogrammi
21 Errore calcoli matematici
f l Errore fatale del programma PLC. l è il codice associato alla linea del
programma PLC che ha causato la segnalazione
01 Cheksum e2prom
04 Errore tamponamento parametri assi
05 Errore tamponamento programmi CNC
06 Errore colloquio interno
i 07 Errore tamponamento programma PLC
08 Errore inizializzazione CAN-BUS
01 FIFO comandi é piena
g 02 RAM programmi saturata
03 Errore nella gestione dei programmi
k v,l,h,mess Esecuzione comando G65 O2. i parametri che seguono sono descritti nel
comando G65 O2
01 Errore nel controllo salti (G20-G21-G22)
p 02 Errore nel controllo sottoprogrammi (G30-G31-G32)
03 Errore nello stack interno per annidamento eccessivo
w l Warning dal PLC. l è il codice associato alla linea del programma PLC
che ha causato la segnalazione

2-27
S&h – Manuale CNC Cap.2 – Introduzione alla Programmazione

EMERGENZE
INTERVENTI DEL CONTROLLO
La condizione di emergenza viene gestita dal controllo mediante i seguenti interventi:
1) Viene annullata l’esecuzione di qualsiasi comando o programma in corso.
2) Gli eventuali movimenti in esecuzione vengono interrotti istantaneamente senza eseguire la
rampa di decelerazione: per gli assi in corrente continua l’uscita analogica viene messa a 0 Volt
mentre, per gli assi stepper, non vengono più forniti gli impulsi (step) al motore.
3) Viene disattivata, per ciascun asse, l’uscita di ABILITAZIONE AZIONAMENTO.

SEGNALAZIONE
Lo stato di emergenza del controllo è indicato da:
1) Segnalazione su display o led ove presenti
2) invio (se abilitato) del codice <BEL> sulla linea di comunicazione (vedi comando @85).
3) attivazione delle uscite ausiliarie (CNC) eventualmente programmate con funzione di emergenza
(vedi comando @22).

CAUSE
Le cause dell’emergenza possono essere diverse (comando immediato, attivazione di un ingresso,
servocontrollo, etc.). Si veda il comando immediato Ctrl-D che consente la lettura dei registri di
emergenza.

RESET EMERGENZA
Lo stato di emergenza del controllo può essere annullato mediante il comando immediato Ctrl-L,
attivando un ingresso programmato come ingresso di reset emergenza o agendo su un pulsante
programmato come funzione di reset in modalita’ pannello remoto attivo.
Dopo un reset emergenza, è probabile che le quote degli assi stepper (non retroazionati) non siano più
corrette in quanto, dato che non viene eseguita la rampa di decelerazione, il motore può aver perso
passi: pertanto, per questi assi, si raccomanda di rieseguire la ricerca degli zero macchina (se previsti
dall’applicazione). Si veda il comando G51.

2-28
CNC
MANUALE DI PROGRAMMAZIONE
PER I CONTROLLI S&h

Capitolo 3
-
Comandi “Immediati”
(Istruzioni di Controllo)
S&h – Manuale CNC Cap.3 – Istruzioni di Controllo: Comandi Immediati

3-2
S&h – Manuale CNC Cap.3 – Istruzioni di Controllo: Comandi Immediati

SOMMARIO
Introduzione ..........................................................................................................................................4
Comandi di controllo della comunicazione ............................................................................................4
Comandi di controllo del Cnc ................................................................................................................4
CTRL_A <soh> Richiesta Registri di Stato ...........................................................................................5
CTRL_B <stx> Stop Cnc ......................................................................................................................7
CTRL_C <etx> Start Cnc .....................................................................................................................7
CTRL_D <eot> Richiesta Registri Emergenza ......................................................................................8
CTRL_E <enq> Richiesta Errore di Inseguimento .................................................................................9
CTRL_F <ack> Richiesta n° Linea in Esecuzione ...............................................................................10
CTRL_G <bel> Aggancio Comunicazione...........................................................................................11
CTRL_H <bs> Cancella Ultimo Carattere Inviato ................................................................................12
CTRL_I <ht> Richiesta Velocità Attiva.................................................................................................12
CTRL_K <vt> Set Emergenza Cnc......................................................................................................13
CTRL_L <ff> Reset Emergenza Cnc ...................................................................................................13
CTRL_M <cr> Chiudi Linea di Comando.............................................................................................13
CTRL_N <so> Selezione Indirizzi........................................................................................................14
CTRL_O <si> Richiesta Stato Ingressi Dedicati ..................................................................................15
CTRL_P <dle> Annulla Comando in Esecuzione ................................................................................16
CTRL_Q <dc1> Xon (abilita trasmissione dati)....................................................................................17
CTRL_S <dc3> Xoff (sospendi trasmissione dati) ...............................................................................17
CTRL_R <dc2> Richiesta Codice di Allarme .......................................................................................18
CTRL_T <dc4> Esecuzione Single-Block............................................................................................19
CTRL_U <nak> Ripetizione Ultimo Messaggio....................................................................................19
CTRL_V <syn> Richiesta Stato Uscite Dedicate .................................................................................20
CTRL_W <etb> Richiesta Quote Effettive ...........................................................................................21
CTRL_X <can> Cancella Stringa Inviata .............................................................................................22
CTRL_Y <em> Reset Cnc (software) ..................................................................................................23
CTRL_Z <sub> Codice di Sincronizzazione ........................................................................................24
CTRL_\ <fs> Richiesta Quote Teoriche...............................................................................................25
CTRL_] <gs> Stop Cnc a Fine-Blocco...............................................................................................26

3-3
S&h – Manuale CNC Cap.3 – Istruzioni di Controllo: Comandi Immediati

Introduzione
Sono i codici dello standard ASCII, dal valore 00h (0d) al valore 1Fh (31d).
Se inviati al controllo, causano l’esecuzione di una determinata azione: in altre parole sono considerati
come dei comandi con esecuzione immediata.

In funzione del loro significato possono essere divisi in due categorie:


- comandi di CONTROLLO DELLA COMUNICAZIONE
- comandi di CONTROLLO DEL CNC

Comandi di controllo della comunicazione


Controllano la comunicazione con l'apparecchiatura e l'invio di una qualsiasi linea di comando.
Possono essere inviati in una posizione qualsiasi all'interno della linea.

Comandi di controllo del Cnc


Alcuni di essi causano l'esecuzione di una determinata "azione" (es.: <EM> = reset software), altri
invece, richiedono informazioni al controllo (es.: <ETB> = lettura quota). Nel primo caso il controllo
esegue il comando e risponde con il solo PROMPT del modo di funzionamento attivo; nel secondo, il
controllo invia le informazioni richieste seguite dal PROMPT.
Normalmente un comando immediato è costituito dal solo codice di controllo.
Alcuni di essi tuttavia fanno eccezione a questa regola, in quanto richiedono l'invio di un successivo
carattere prima di essere eseguiti.

Nota
La descrizione che segue riguarda esclusivamente i codici di controllo accettati. L'eventuale invio
di un codice di controllo non previsto, verrà segnalato mediante un messaggio di errore.
Se non diversamente specificato, gli esempi di comunicazione forniti con la descrizione dei comandi,
sono sempre relativi al tipo di comunicazione "calcolatore senza eco" e al modo di funzionamento
"ON LINE".
Gli indirizzi assi Y, Z, W, U e V descritti nei comandi che seguono, sono ammessi soltanto se disponibili
sul modello di controllo utilizzato.

3-4
S&h – Manuale CNC Cap.3 – Istruzioni di Controllo: Comandi Immediati

CTRL_A <soh> Richiesta Registri di Stato


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni Primo carattere della linea

Descrizione
Comando immediato ^A = <SOH> = 01h (01d) RICHIESTA REGISTRI DI STATO
Il controllo aggiorna continuamente registri a 8 bit che contengono le informazioni relative al proprio
stato (CNC) e allo stato degli assi gestiti dalla scheda (XYZWUV) e che possono essere richiesti in
qualsiasi momento mediante il codice <SOH>.
La risposta della scheda conterrà pertanto dei dati numerici in formato decimale corrispondenti ai valori
dei registro di stato, preceduti da un carattere che identifica il registro:
Le corrispondenti variabili che contengono i dati sono QRD , QOW , QOU e QOV

'D' : reg. CNC 'X' : reg. asse X 'Y' : reg. asse Y 'Z' : reg. asse Z ‘W’: reg. asse W
‘U’: reg. asse U ‘V’: reg. asse V

Il significato dei bit dei singoli registri di stato è il seguente:

Registro di stato CNC : D


Bit Descrizione
00 Pannello operatore “ATTIVO”
01 Tastatore abilitato
02 PLC running ATTIVI
03 PLC in errore SE
04 Obiettivo sotto la soglia (@91) in zona obiettivo =1
05 Programma “IN ESECUZIONE”
06 CNC “IN STOP”
07 CNC “IN EMERGENZA”

Registro di stato ASSE : X, Y, Z, W,U,V (con G74 = 0)


Bit Descrizione
00 ASSE IN ORIGINE LOCALE
01 ASSE “IN CAMME”
02 Asse “IN STOP” ATTIVI
03 Asse “IN POSIZIONE” SE
04 Asse “IN SATURAZIONE” =1
05 Set-point asse ESEGUITO
06 L’asse si muove in direzione POSITIVA (+)
07 Asse IN ESECUZIONE

3-5
S&h – Manuale CNC Cap.3 – Istruzioni di Controllo: Comandi Immediati

Registro di stato ASSE : X, Y, Z, W,U,V (con G74 = 1 / 2 / 3 )


Bit Descrizione
00 LASER NON CONNESSO
01 FAULT LASER, se G74=1, sempre 0 se G74=2 o 3
02 VALORE SOTTO IL MINIMO, se G74=1, sempre 0 se G74=2 o 3 ATTIVI
03 VALORE SOPRA IL MASSIMO, se G74=1, sempre 0 se G74=2 o3 SE
04 Asse “IN SATURAZIONE” =1
05 Set-point asse ESEGUITO
06 L’asse si muove in direzione POSITIVA (+)
07 Asse IN ESECUZIONE

Es.: richiesta registri di stato


Versioni a 3 assi:
<SOH> ;richiesta di lettura registri di stato
D32X160Y224Z32 ;risposta del controllo

Versioni a 2 assi:
<SOH> ;richiesta di lettura registri di stato
D32X160Y224 ;risposta del controllo

3-6
S&h – Manuale CNC Cap.3 – Istruzioni di Controllo: Comandi Immediati

CTRL_B <stx> Stop Cnc


CTRL_C <etx> Start Cnc

Pic2000 Goya Rubens


Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni Primo carattere della linea

Descrizione
Comando immediato ^B = <STX> = 02h (02d) : STOP CNC
Con il codice <STX> (^B) e' possibile fermare gli assi in movimento, attraverso una "frenata controllata"
che causerà l'arresto del movimento con la rampa di decelerazione definita dai parametri di
caratterizzazione. La condizione di stop viene indicata dal relativo bit nei registri di stato.
Il movimento in esecuzione potrà essere concluso successivamente tramite l'invio del codice di “start”
<ETX> (^C).
Si noti che il comando può essere inviato anche ad asse fermo: in tal caso tutti i successivi movimenti
inviati alla scheda non verranno eseguiti finche' non verrà inviato anche il comando di “START” <ETX>.
Nota: Il comando equivalente al “comando immediato ^B”, ma gestibile nella modalità
“PROGRAMMAZIONE”, è il comando “&70”

Comando immediato ^C = <ETX> = 03h (03d) : START CNC


Con il codice <ETX> (^C) e' possibile ripristinare un movimento che era stato fermato con il codice di
“stop” <STX> (^B).
Il comando e' anche utilizzato per iniziare l'esecuzione di un programma in AUTOMATICO qualora il
pannello esterno fosse disabilitato.
Nota: Il comando equivalente al “comando immediato ^C”, ma gestibile nella modalità
“PROGRAMMAZIONE”, è il comando “&71”

Es.: Stop Cnc


Arresto di un movimento programmato:
G00 X1000 <CR> ;attiva movimento asse X alla posizione 1000
<STX> ;Stop movimento in corso asse X

Es.: Stop / Start Cnc :


Arresto assi, caricamento di una serie di linee di movimento, Start movimento assi

<STX> ;Stop movimenti


G0 X1000 <CR> ;attiva movimento asse X alla posizione 1000 ( l’asse resta FERMO)
G0 Y1500 <CR> ;il movimento di Y viene accodato a quello di X (gli assi restano FERMI)
<ETX> ;Start movimenti

3-7
S&h – Manuale CNC Cap.3 – Istruzioni di Controllo: Comandi Immediati

CTRL_D <eot> Richiesta Registri Emergenza


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni Primo carattere della linea

Descrizione
Comando immediato ^D = <EOT> = 04h (04d) : RICHIESTA REGISTRI EMERGENZA
Il controllo aggiorna continuamente registri a 8 bit che contengono le informazioni relative alla
causa che ha generato lo stato di emergenza e che possono essere richiesti in qualsiasi momento
mediante il codice <EOT>.
La risposta della scheda conterrà pertanto dei dati numerici in formato decimale corrispondenti ai valori
dei registri di emergenza, preceduti da un carattere che identifica il registro:
Le corrispondenti variabili che contengono i dati sono: QRE , QOW , QOU e QOV

'E' : reg. CNC 'X' : reg. asse X 'Y' : reg. asse Y 'Z' : reg. asse Z ‘W’: reg. asse W
‘U’: reg. asse V ‘V’: reg. asse V

Il significato dei bit dei singoli registri di emergenza e' il seguente:

Registro di allarme CNC : E


Bit Descrizione note
00
01
02 Emergenza attivata da PLC ATTIVI
03 Emergenza attivata da Tastatore SE
04 Emergenza attivata da errore in esecuzione =1
05 Emergenza attivata dal controllo asse
06 Emergenza attivata da ingresso di emergenza
07 Emergenza attivata da comando immediato ^K

Registro di allarme ASSE : X, Y, Z, W,U,V


Bit Descrizione note
00
01 Allarme attivo da ingresso di emergenza asse
02 Asse in emergenza per Fault-Azionamento ATTIVI
03 Asse in emergenza da fine corsa SFW (-) SE
04 Asse in emergenza da fine corsa SFW (+) =1
05 Asse in emergenza da fine corsa HDW (-)
06 Asse in emergenza da fine corsa HDW (+)
07 Asse in emergenza da servo controllo

Es.: richiesta registri di stato

Versioni a 3 assi:
<EOT> ;richiesta di lettura registri di stato
E32X64Y0Z0 ;risposta del controllo: asse X in emergenza da FC HDW+

Versioni a 2 assi:
<EOT> ;richiesta di lettura registri di stato
3-8
S&h – Manuale CNC Cap.3 – Istruzioni di Controllo: Comandi Immediati

E64X0Y0 ;risposta del controllo: Cnc in emergenza da ingresso esterno

CTRL_E <enq> Richiesta Errore di Inseguimento


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni Primo carattere della linea

Descrizione
Comando immediato ^E = <ENQ> = 05h (05d) : RICHIESTA ERRORE DI INSEGUIMENTO
Con il comando <ENQ> (^E) e' possibile richiedere al controllo, l'invio dei valori relativi agli errori di
inseguimento degli assi, anche ad assi in movimento.
I valori inviati dal controllo saranno conformi alla programmazione effettuata con i comandi @71 e
G70-G71 per la definizione del numero di decimali e della unita' di misura.
I dati relativi agli assi vengono inviati in conformità a quelli definiti tramite il comando ^N di selezione
assi da trasmettere.
Le corrispondenti variabili che contengono dati trasmessi sono : QEX, QEY,QEZ,QEW, QEU, QEV

Es.: richiesta errore di inseguimento

<ENQ> ;richiesta di lettura valore errore di inseguimento


X0.01Y0.57Z1.5 ;risposta del controllo

3-9
S&h – Manuale CNC Cap.3 – Istruzioni di Controllo: Comandi Immediati

CTRL_F <ack> Richiesta n° Linea in Esecuzione


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni Primo carattere della linea

Descrizione
Comando immediato ^F = <ACK> = 06h (06d) : RICHIESTA N° LINEA IN ESECUZIONE
Con il codice <ACK> (^F) si può richiedere in qualsiasi momento il numero della linea di comando CNC
che il controllo sta eseguendo.
La risposta conterrà pertanto un valore numerico preceduto dal carattere “N”.

Nota: se è stato programmato il parametro @83 = 1, in modalità automatico, allora oltre al n° di linea
viene inviata anche la stringa stessa di comando.

Es.: richiesta n° linea in esecuzione

N10 G01 X100 Y-200 <CR>


N20 X150 Y0 <CR>
N30 X0 Y100 <CR>
<ACK>
N20 (in questo momento è in esecuzione la linea )

N10 G01 X100 Y-200 <CR>


X150 Y0 <CR>
X0 Y100 <CR>
<ACK>
N11 (in questo momento è in esecuzione la linea )

3-10
S&h – Manuale CNC Cap.3 – Istruzioni di Controllo: Comandi Immediati

CTRL_G <bel> Aggancio Comunicazione


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni Primo carattere della linea

Descrizione
Comando immediato ^G = <BEL> = 07h (07d) : AGGANCIO COMUNICAZIONE
Il comando <BEL> (^G) è particolare, in quanto permette di:
- attivare la comunicazione con uno dei controlli in linea (comunicazione multi-point in RS422)
- attivare la comunicazione con uno dei processi interni al CNC.

Il comando <BEL> (^G) deve essere inviato 2 volte, in quanto il primo codice di <BEL> è quello che
libera la linea di comunicazione (tutti i controlli/processi si sganciano), il secondo codice di <BEL> è
quello di “attenzione” che fa si che il controllo si predisponga alla ricezione del/dei successivi caratteri di
selezione operativa.

Per selezionare il “processo” con cui si vuole comunicare all’interno del controllo si deve far seguire al
codice ^G la lettera indicante il “processo” con cui si vuole agganciare la comunicazione:

"O" = "OFF" disattiva la comunicazione (nessun processo agganciato)


"C" = "CNC" attiva la comunicazione con la sezione CNC
"P" = "PLC" attiva la comunicazione con la sezione PLC
"T" = "TEST” procedura di test (RISERVATA)

In caso di comunicazione con più controlli (gestione multi-point con linea seriale RS422 ), per
selezionare il controllo numero “NN” si deve far seguire al comando immediato ^G il numero “NN”
(sempre 2 cifre).
Questo comando non ha echo e non ha “prompt” in risposta.

Dopo questo comando si dovrà sempre eseguire un comando di aggancio del “processo” (CNC [C] o PLC
[P] ) del controllo attivo .
Se il controllo ha il numero “00” non é necessario il comando di selezione numero.
Per l'assegnazione del numero al controllo rifarsi alla descrizione del comando &12.

Es.: aggancio di un Cnc con numero 05 associato :

<BEL><BEL>05C ;seleziona il controllo n. 5


<BEL><BEL>C ;attiva la comunicazione con il Cnc
<CR> ;invia un codice di “chiudi linea”

Nota
La ricezione del solo carattere ^G <BEL> determina il rilascio della comunicazione
In risposta al comando ^G <BEL> non viene mai inviato il "PROMPT".
Del codice <BEL> non viene mai eseguito l' “eco”

3-11
S&h – Manuale CNC Cap.3 – Istruzioni di Controllo: Comandi Immediati

CTRL_H <bs> Cancella Ultimo Carattere Inviato


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni -

Descrizione
Comando immediato ^H = <BS> = 08h (08d) : CANCELLA ULTIMO CARATTERE INVIATO
Il codice <BS> (^H = back space) permette di cancellare l'ultimo carattere inviato, è ovvio che la linea
di comando non deve ancora essere stata chiusa dal codice <CR>.
Il codice <BS> inviato come primo dato di una linea di comando non ha nessun effetto.

Es.: Correzione di un carattere sulla linea di comando:

G01 <BS> 0 X100 <CR>

Il comando inviato nell'esempio è, grazie alla correzione : G00 X100<CR>

CTRL_I <ht> Richiesta Velocità Attiva


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni Primo carattere della linea

Descrizione
Comando immediato ^I = <HT> = 09h (09d) : RICHIESTA VELOCITÀ ATTIVA
Con il comando <HT> (^I) e' possibile richiedere al controllo, l'invio dei valori relativi alle velocità degli
assi (Xvel, Yvel, ..) e a quello del “punto interpolato” (Fvel).
I valori inviati dal controllo saranno conformi alla programmazione effettuata con i comandi di
personalizzazione @71 e G70-G71 per la definizione del numero di decimali e della unita' di misura.
I dati relativi agli assi vengono inviati in conformità a quelli definiti tramite il comando ^N di selezione
assi da trasmettere.
Le corrispondenti variabili che contengono i dati trasmessi sono :
QPT (velocità punto interpolato)
QVX, QVY, QVZ, QVW , QVU, QVV (velocità assi)

Es.: richiesta errore di inseguimento

<ENQ> ;richiesta invio valore Velocità attiva


X100 Y100 F141 ;risposta dal controllo

3-12
S&h – Manuale CNC Cap.3 – Istruzioni di Controllo: Comandi Immediati

CTRL_K <vt> Set Emergenza Cnc


CTRL_L <ff> Reset Emergenza Cnc
Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni Primo carattere della linea

Descrizione
Comando immediato ^K = <VT> = 0Bh (11d) : SET EMERGENZA CNC
Con il comando <VT> (^K) può essere generato, in qualsiasi momento, lo stato di emergenza del
controllo.
Eventuali movimenti in corso vengono arrestati istantaneamente cioè senza eseguire la rampa di
decelerazione programmata.
Sulla sua ricezione il controllo aggiorna i bit dedicati nei registri di stato e di allarme.
Nota: Il comando equivalente del “comando immediato ^K”, ma gestibile nella modalità
“PROGRAMMAZIONE” , è il comando “&79”

Comando immediato ^L = <FF> = 0Ch (12d) : RESET EMERGENZA CNC


Con il comando <FF> (^L) lo stato di emergenza può essere annullato, se non sussistono più le
condizioni che hanno causato l’emergenza, in qualsiasi momento, qualunque sia la causa che lo ha
determinato.
Sulla sua ricezione il controllo aggiorna automaticamente i bit dedicati nei registri di stato e di allarme.
Nota: Il comando equivalente del “comando immediato ^L”, ma gestibile nella modalità
“PROGRAMMAZIONE” , è il comando “&80”

0 Durante lo stato di emergenza, qualunque sia la causa che lo ha determinato, il controllo disabilita
gli azionamenti dei motori (purché il relativo segnale di “enable azionamento” sia stato
programmato attivo e l’uscita del controllo cablata sull’ingresso di enable azionamento),
commutando lo stato delle uscite dedicate alla loro abilitazione.
Terminato lo stato di emergenza, il controllo riabilita gli azionamenti dei motori, ricommutando lo
stato delle uscite dedicate alla loro abilitazione.

CTRL_M <cr> Chiudi Linea di Comando


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni Non può essere inviato se è in esecuzione un comando immediato che
prevede l’invio di un carattere successivo

Descrizione
Comando immediato ^M = <CR> = 0Dh (13d) : CHIUDI LINEA DI COMANDO (FINE STRINGA)
Il codice <CR> (^M = carriage return) viene usato come codice di “fine stringa” (chiusura linea di
comando). Sulla sua ricezione il controllo analizza il comando inviato e, se corretto, lo esegue.
Si noti che il codice <CR> può essere inviato anche come primo dato della linea di comando; in
tal caso il controllo risponderà comunque inviando il PROMPT del modo di funzionamento attivo.
3-13
S&h – Manuale CNC Cap.3 – Istruzioni di Controllo: Comandi Immediati

CTRL_N <so> Selezione Indirizzi


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni Primo carattere della linea

Descrizione
Comando immediato ^N = <SO> = 0Eh (14d) : SELEZIONE INDIRIZZI
Il codice <SO> (^N) e' un comando immediato particolare in quanto necessita dell'invio di un
successivo carattere per poter essere eseguito.
Il carattere può essere uno dei seguenti: 'C' seleziona CNC (seleziona tutti gli assi)
'X' seleziona asse X
'Y' seleziona asse Y
'Z' seleziona asse Z
‘W’ seleziona asse W
‘U’ seleziona asse U
‘V’ seleziona asse V

Il carattere inviato successivamente determina, da quel momento, un diverso formato delle risposte ai
seguenti comandi immediati: ^E <ENQ> lettura errore di inseguimento
^O <SI> lettura stato ingressi
^V <SYN> lettura stato uscite
^W <ETB> lettura quota effettiva
^\ <FS> lettura quota teorica
^I <HT> lettura velocità
In altre parole, vengono selezionati gli indirizzi presenti nelle risposte ai comandi immediati.

2 All'accensione o dopo un reset software il controllo seleziona automaticamente l’indirizzo ‘C’(CNC).

Es.: selezione indirizzi attivi (sistema a 3 assi X,Y,Z)

<ETB> ;richiesta quote effettive


X100Y200Z0 ;risposta dal controllo
<SO>X ;seleziona asse X
<ETB> ;richiesta quote effettive
X100 ;risposta dal controllo
<SO>Y ;seleziona tutti gli assi
<ETB> ;richiesta quote effettive
Y200 ;risposta dal controllo
<SO>C ;seleziona asse Y
<ETB> ;richiesta quote effettive
X100Y200Z0 ;risposta dal controllo

3-14
S&h – Manuale CNC Cap.3 – Istruzioni di Controllo: Comandi Immediati

CTRL_O <si> Richiesta Stato Ingressi Dedicati


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni Primo carattere della linea

Descrizione
Comando immediato ^O = <SI> = 0Fh (15d) : RICHIESTA STATO INGRESSI DEDICATI
Il controllo aggiorna continuamente i registri a 32 bit che contengono lo stato degli “INGRESSI DEDICATI”
degli assi gestiti dal controllo (X, Y, Z, W, U, V) e che possono essere richiesti in qualsiasi momento
mediante il codice <SI> (^O).
La risposta del controllo conterrà pertanto i dati numerici corrispondenti ai valori dei registri degli
“ingressi dedicati”, preceduti da un carattere che identifica il registro in formato decimale:
'X' : registro ingressi asse X
'Y' : registro ingressi asse Y
'Z' : registro ingressi asse Z
‘W’: registro ingressi asse W
'U' : registro ingressi asse U
‘V’: registro ingressi asse V
I dati relativi agli assi vengono inviati in conformità a quelli definiti tramite il comando ^N di selezione
assi da trasmettere.

La corrispondenza bit/ingresso nei singoli registri e' la seguente:

VARIABILE QIX, QIY, QIZ, QIW , QIU, QIV: IMMAGINE INGRESSI ASSE “X”, “Y”, “Z”, “W”, “U”, “V”
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00

INGRESSI ASSE DEDICATI : X, Y, Z, W,U,V


Bit Descrizione note
00 …..
01 …..
02 ….. 1 = CHIUSO
03 …..
04 Fine corsa (-) 0 = APERTO
05 Fine corsa (+)
06 Ok azionamento
07 Zero macchina

Es.: richiesta immagine ingressi

<SI> ;richiesta stato ingressi dedicati


X0 Y32 Z128 ;risposta dal controllo

La risposta inviata nell'esempio indica che:


1) gli ingressi dell'asse X sono tutti aperti
2) è chiuso l'ingresso F.C. AVANTI sull'asse Y
3) è chiuso l'ingresso ZERO MACCHINA sull'asse Z

3-15
S&h – Manuale CNC Cap.3 – Istruzioni di Controllo: Comandi Immediati

CTRL_P <dle> Annulla Comando in Esecuzione


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni Primo carattere della linea; non ammesso nel modo PROGRAMMAZIONE

Descrizione
Comando immediato ^P = <DLE> = 10h (16d) : ANNULLA COMANDO IN ESECUZIONE
Con il comando immediato <DLE> (^P) è possibile annullare il comando in esecuzione e tutti i comandi
ancora in attesa di essere eseguiti (RESET FIFO COMANDI).
Qualora il comando in esecuzione sia un movimento, il controllo esegue un arresto degli assi con
frenata controllata ed il movimento annullato non potrà più essere ripreso e concluso.

Nota: Il comando equivalente del “comando immediato ^P”, ma gestibile nella modalità
“PROGRAMMAZIONE” , è il comando “&84”

Es.: annulla comando in esecuzione

G00 X100 ;comanda spostamento asse X a 100


<DLE> ;annulla comando in esecuzione
<ETB> ;richiesta quote effettive
X82 ;quota asse X raggiunta al momento in cui è stato annullato il movimento a 100

2 Se il controllo e' in ALLARME (vedi comando ^R <DC2>), il comando <FF> (^L) deve essere
inviato per annullare oltre ai comandi, anche la condizione di allarme.

3-16
S&h – Manuale CNC Cap.3 – Istruzioni di Controllo: Comandi Immediati

CTRL_Q <dc1> Xon (abilita trasmissione dati)


CTRL_S <dc3> Xoff (sospendi trasmissione dati)
Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni -

Descrizione
Comando immediato ^Q = <DC1> = 11h (17d) : XON (ABILITA TRASMISSIONE DATI)
Comando immediato ^S = <DC3> = 13h (19d) : XOFF (SOSPENDI TRASMISSIONE DATI)
Questi due codici, utilizzati durante la comunicazione seriale, permettono di controllare il flusso dei dati
trasmessi dal controllo verso l’Host.
L’Host può cioè attivare o sospendere la trasmissione dei dati da parte del controllo inviando al controllo
stesso i rispettivi comandi “XON” e “XOFF”.

2 Anche se la trasmissione e' disabilitata, il controllo continua comunque a generare le


"risposte" da inviare.
Anche se abilitato, il controllo non esegue mai l'eco dei codici <DC1> e <DC3>.

3-17
S&h – Manuale CNC Cap.3 – Istruzioni di Controllo: Comandi Immediati

CTRL_R <dc2> Richiesta Codice di Allarme


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni Primo carattere della linea

Descrizione
Comando immediato ^R = <DC2> = 12h (18d) : RICHIESTA CODICE DI ALLARME
Durante il funzionamento si possono generare alcune condizioni di allarme che bloccano l'esecuzione
dei comandi.
La condizione di allarme viene segnalata dal controllo inviando il codice <BEL> (se abilitato: vedi
comando @85).
Con il comando <DC2> (^R) si può richiedere al controllo l'invio di un messaggio indicante la causa della
condizione di allarme.
Per la descrizione dei messaggi e delle cause degli allarmi, fare riferimento al titolo MESSAGGI DI
ERRORE, nel capitolo 2 del presente manuale.

Es.: richiesta messaggio di allarme

<BEL> ;il controllo invia il codice di segnalazione allarme


<DC2> ;richiesta di invio codice di allarme
?0-e04 ;codice di allarme inviato dal Cnc
<BEL> ;codice di segnalazione allarme

Nota bene: se l’allarme è stato generato dal programma PLC, al comando ^R, il controllo risponderà
fornendo indicazione della natura dell’allarme PLC rilevato.

2 La condizione di allarme può essere annullata con il comando ^L = <FF> se si tratta di una
emergenza.
Il comando <DC2> (^R) viene accettato anche se il controllo non è in allarme; in tal caso non
viene inviato nessun messaggio e il controllo si limita a rispondere con il PROMPT.
Se @82 è stato programmato attivo (=1) allora oltre al codice di errore viene inviata anche il
messaggio associato.

3-18
S&h – Manuale CNC Cap.3 – Istruzioni di Controllo: Comandi Immediati

CTRL_T <dc4> Esecuzione Single-Block


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni Primo carattere della linea; ammesso solo in AUTOMATICO

Descrizione
Comando immediato ^T = <DC4> = 14h (20d) : ESECUZIONE SINGLE-BLOCK
Con il codice <DC4> (^T) è possibile fare eseguire un programma una linea di programma alla volta
(una linea per ogni codice <DC4> ricevuto).
Una volta messo in esecuzione il programma con il comando di “start” non è più possibile continuare,
dopo averlo fermato con il comando “stop”, in modalità “single-block”.

CTRL_U <nak> Ripetizione Ultimo Messaggio


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni Primo carattere della linea

Descrizione
Comando immediato ^U = <NAK> = 15h (21d) : RIPETIZIONE ULTIMO MESSAGGIO
Con il comando <NAK> si comanda al controllo la ripetizione dell'ultima stringa inviata. Per ultima
stringa si intende l'insieme dei caratteri e codici compresi tra gli ultimi due PROMPT inviati dal
controllo, con l'eventuale esclusione del codice <BEL>.

Es.: ripetizione ultima stringa

G01 X1000 Y1000


<ETB> ;richiesta quote effettive
X150 Y150 Z0 ;risposta dal controllo
<NAK> ;ripeti ultimo messaggio
X150 Y150 Z0 ;risposta dal controllo

3-19
S&h – Manuale CNC Cap.3 – Istruzioni di Controllo: Comandi Immediati

CTRL_V <syn> Richiesta Stato Uscite Dedicate


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni Primo carattere della linea

Descrizione
Comando immediato ^V = <SYN> = 16h (22d) : RICHIESTA STATO USCITE DEDICATE
Il controllo aggiorna continuamente i registri a 32 bit che contengono lo stato delle “uscite dedicate” degli
assi gestiti dalla scheda (X, Y, Z, W, U, V) e che possono essere richiesti in qualsiasi momento
mediante il codice <SYN> (^V).
La risposta della scheda conterrà pertanto dei dati numerici in formato decimale corrispondenti ai valori
dei registri delle “uscite dedicate”, preceduti da un carattere che identifica il registro:

'X' : registro uscite asse X


'Y' : registro uscite asse Y
'Z' : registro uscite asse Z
‘W’: registro uscite asse W
‘U’: registro uscite asse U
‘V’: registro uscite asse V

I dati relativi agli assi vengono inviati in conformità a quelli definiti tramite il comando ^N di selezione
assi da trasmettere.

La corrispondenza bit/uscite nei singoli registri è la seguente:

VARIABILE QOX, QOY, QOZ, QOW, QOU, QOV : IMMAGINE USCITE ASSE “X”, “Y”, “Z”, “W”, “U” , “V”
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00

Uscite ASSE dedicate : X, Y, Z, W, U, V


Bit Descrizione note
00 Direzione azionamento
01 Enable
02 Asse in movimento 1 = ATTIVO
03 ….
04 …. 0 = DISATTIVO
05 Polarità “zero encoder”
06 Polarità “zero macchina”
07 Set point abilitato

Es.: richiesta stato uscite

<SYN> ;richiesta stato uscite


X0 Y33 Z128 ;risposta dal controllo: stato uscite

3-20
S&h – Manuale CNC Cap.3 – Istruzioni di Controllo: Comandi Immediati

CTRL_W <etb> Richiesta Quote Effettive


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni Primo carattere della linea

Descrizione
Comando immediato ^W = <ETB> = 17h (23d) : RICHIESTA QUOTE EFFETTIVE
Con il comando <ETB> (^W) è possibile richiedere al controllo, l'invio dei valori delle quote EFFETTIVE
degli assi, anche ad assi in movimento.
Le quote inviate dalla scheda saranno conformi alla programmazione effettuata con il comando di
personalizzazione @71 e G70-G71 per la definizione del numero di decimali e della unità di misura.
Le corrispondenti variabili che contengono dati trasmessi sono : QRX, QRY, QRZ, QRW, QRU e QRV

Es.: richiesta quote effettive

<ETB> ;richiesta quote effettive


X-38.56 Y100.00 Z1.50 ;risposta dal controllo: quote effettive

2 Il formato della risposta inviata dal controllo dipende dalla selezione effettuata con il codice
“^N <SO>”. Se è selezionato il CNC vengono sempre inviati nell'ordine le quote degli assi X, Y , Z,
W, U e V (se gestiti).
La quota inviata è sempre una quota ASSOLUTA ossia riferita all'origine assoluta attiva in
quel momento.

3-21
S&h – Manuale CNC Cap.3 – Istruzioni di Controllo: Comandi Immediati

CTRL_X <can> Cancella Stringa Inviata


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni -

Descrizione
Comando immediato ^X = <CAN> = 18h (24d) : CANCELLA STRINGA INVIATA
Il codice di <CAN> (^X) permette di cancellare tutti i caratteri precedentemente inviati come linea di
comando.
Naturalmente la linea di comando non deve ancora essere stata chiusa dal codice <CR>.
Il codice <CAN> inviato come primo dato di una linea di comando non ha nessun effetto.

Es.: cancella linea caratteri

Correzione della linea di comando:

@01 X100<CAN>G00X100

Il comando “@01X100 è stato annullato e l’unico comando accettato dal Cnc è: G00 X100

3-22
S&h – Manuale CNC Cap.3 – Istruzioni di Controllo: Comandi Immediati

CTRL_Y <em> Reset Cnc (software)


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni Primo carattere della linea

Descrizione
Comando immediato ^Y = <EM> = 19h (25d) : RESET CNC (SOFTWARE)
Il comando <EM> (^Y) e' particolare, in quanto necessita dell'invio di un successivo carattere per
poter essere eseguito.
Sulla sua ricezione il controllo invia in risposta, il carattere '!' e si pone in attesa di un successivo
carattere di conferma del comando.
Se successivamente viene inviato il carattere 'S', allora il comando verrà eseguito.
L'invio di un qualsiasi altro carattere o codice annullerà il comando <EM>.
L'esecuzione del comando <EM> equivale ad una riaccensione del controllo, pertanto dopo la ricezione
del PROMPT dovrà essere rieseguita la procedura di aggancio comunicazione.

Es.: reset CNC

<EM> ;comando di Reset Cnc


! ;richiesta di conferma da parte del controllo
S ;conferma comando di Reset Cnc

2 Il comando <EM> viene eseguito, se confermato, qualsiasi sia lo stato del controllo:
emergenza, allarme, assi fermi o in movimento.

3-23
S&h – Manuale CNC Cap.3 – Istruzioni di Controllo: Comandi Immediati

CTRL_Z <sub> Codice di Sincronizzazione


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni Primo carattere della linea; non ammesso nel modo PROGRAMMAZIONE

Descrizione
Comando immediato ^Z = <SUB> = 1Ah (26d) : CODICE DI SINCRONIZZAZIONE
Il comando <SUB> (^Z) permette di sincronizzare il programma utente con l'esecuzione dei
comandi. Viene usato sempre "in coppia" con la funzione G65 (G66) di "attesa codice di
sincronizzazione".
Rappresenta, in pratica, un segnale di "OK" che viene inviato al controllo per consentire l'esecuzione dei
comandi successivi al comando G65 (G66).

Es.: codice di sincronizzazione

G00 X100
G65 O1 (il controllo non prosegue nell'esecuzione finché )
G00 X100
<SUB>

2 Il codice <sub> deve essere inviato esclusivamente quando la funzione G65 (G66) e' in
esecuzione.

3-24
S&h – Manuale CNC Cap.3 – Istruzioni di Controllo: Comandi Immediati

CTRL_\ <fs> Richiesta Quote Teoriche


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni Primo carattere della linea

Descrizione
Comando immediato ^\ = <FS> = 1Ch (28d) : RICHIESTA QUOTE TEORICHE
Con il comando <FS> (^\) e' possibile richiedere al controllo, l'invio dei valori delle quote TEORICHE
degli assi, anche ad assi in movimento.
Le quote inviate dalla scheda saranno conformi alla programmazione effettuata con il comando di
personalizzazione @71 per la definizione del numero di decimali, e ai comandi G70 e G71.
Le corrispondenti variabili che contengono dati trasmessi sono : QTX, QTY, QTZ, QTW , QTU e QTV

Es.: richiesta quote teoriche

<FS> ;richiesta invio quote teoriche


X-38.56 Y100.00 Z1.50 ;risposta dal controllo: quote teoriche

2 Il formato della risposta inviata dal controllo dipende dalla selezione effettuata con il codice
“ ^N <SO>”. Se e' selezionato il CNC vengono sempre inviati nell'ordine le quote degli assi X, Y,Z,
W, U e V (se gestiti).
La quota inviata e' sempre una quota ASSOLUTA ossia riferita all'origine assoluta attiva in
quel momento

3-25
S&h – Manuale CNC Cap.3 – Istruzioni di Controllo: Comandi Immediati

CTRL_] <gs> Stop Cnc a Fine-Blocco


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni Primo carattere della linea; non ammesso nel modo PROGRAMMAZIONE

Descrizione
Comando immediato ^] = <GS> = 1Dh (29d) : STOP CNC A FINE-BLOCCO
Con il codice <GS> (comando immediato ^]) è possibile interrompere l'esecuzione al termine del
comando in corso.
La condizione di STOP viene indicata dal relativo bit nei registri di stato.
L'esecuzione dei comandi potrà essere ripresa successivamente tramite l'invio del codice <ETX>
(^C=START).

Es.: richiesta quote teoriche

<FS> ;richiesta invio quote teoriche


X-38.56 Y100.00 Z1.50 ;risposta dal controllo: quote teoriche

Es.: stop CNC a fine blocco

G00 X0 Y0
G00 X100
G00 Y100
<GS> (il controllo termina la linea in esecuzione e si ferma )
<ETB>
X100 Y0

3-26
CNC
MANUALE DI PROGRAMMAZIONE
PER I CONTROLLI S&h

Capitolo 4
-
Comandi “@” e “%”
Istruzioni di Caratterizzazione
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

4-2
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

SOMMARIO
Introduzione ..........................................................................................................................................5
FUNZIONI @....................................................................................................................................5
FUNZIONI % .....................................................................................................................................5
ORGANIZZAZIONE "MEMORIA-CNC" PARAMETRI DI CARATTERIZZAZIONE ..............................................6
@01 ÷ %01 Definizione Ingressi Digitali “Programmabili”.....................................................................7
@03..@06 ÷ %03..%06 Definizione Ingressi Digitali “Dedicati” ..........................................................11
@15 / %15 Definizione ingresso di "Zero Encoder".........................................................................13
@16 / %16 Definizione Senso di Conteggio Quote ..........................................................................14
@20 / %20 Definizione Parametri Tabella Camme .........................................................................15
@21 / %21 Definizione Tipo di Camme e Numero di Ripetizione ......................................................17
@22 / %22 Definizione Uscite Digitali “Programmabili” ....................................................................18
@30 / %30 Definizione Dispositivi I/O su CAN BUS.........................................................................20
@31 / %31 Definizione uscita "Dir" (Direzione Azionamento)...........................................................22
@32 / %32 Definizione uscita "Enb" (Abilitazione Azionamento)......................................................23
@33 / %33 Definizione Tipo di Uscita Analogica..............................................................................25
@34 / %34 Definizione Polarità Uscita Analogica ............................................................................26
@35 / %35 Definizione Polarità Uscita in Frequenza .......................................................................27
@40..@49 Definizione Parametri Servocontrollo ...............................................................................28
@40 / %40 Definizione Soglia Limite ...............................................................................................29
@41 / %41 Definizione Banda Morta ...............................................................................................30
@42 / %42 Definizione 2° Guadagno Servo Proporzionale..............................................................31
@43 / %43 Definizione Guadagno Servo Integrale ..........................................................................32
@44 / %44 Definizione Guadagno Servo Derivativo ........................................................................33
@45 / %45 Definizione Intervallo Campionamento Servo ...................................................................34
@46 / %46 Definizione Dosaggio Feed Forward..............................................................................35
@47 / %47 Definizione Limite Servo Integrale .................................................................................36
@48 / %48 Definizione soglia tra 1° e 2° Guadagno Proporzionale ..................................................37
@49 / %49 Definizione 1° Guadagno Servo Proporzionale..............................................................38
@50 / %50 Definizione corrispondenza Spazio-Impulsi Trasduttore ...................................................39
@51 / %51 Definizione corrispondenza Spazio-Step Motore ...........................................................40
@52 / %52 Definizione Rapporto Tensione Analogica .....................................................................41
@53 / %53 Definizione Frequenza Massima....................................................................................42
@54 / %54 Programmazione Limite Velocità ...................................................................................43
@56 / %56 Definizione Velocità / Frequenza di Start-Stop...............................................................44
@57 / %57 Definizione Rampe di Accelerazione / Decelerazione ....................................................45
@58 / %58 Definizione Tipo Rampa ................................................................................................46
@59 / %59 Definizione Soglia per Asse in Posizione.......................................................................47
@60-@61 / %60-%61 Definizione Limiti Macchina ..........................................................................48
@70 / %70 Definizione Attività Tasti Pannello..................................................................................50
@71 / %71 Definizione Formato Dati inviati dal Controllo ................................................................52
@72 / %72 Definizione Tipo Asse: Lineare / Angolare .....................................................................53
@80 / %80 Abilitazione della Variazione Percentuale Velocità Assi...................................................54
%81 Lettura Variabili.........................................................................................................................55
@82 / %82 Comando riservato ........................................................................................................56
@83 / %83 Abilitazione Linea in Esecuzione ...................................................................................57
@84 / %84 Abilitazione Limitazione Velocità....................................................................................58
@85 / %85 Abilitazione Invio Codice <BEL>....................................................................................59
@86 / %86 Modifica del Protocollo di Comunicazione (PLC) .............................................................60
@90 / %90 Definizione Soglia-errore Coordinate del Centro............................................................62
@91 / %91 Definizione Soglia “Obiettivo Raggiunto” .......................................................................63
@94 , %94 Definizione "soglia" utensile Tangenziale ........................................................................64
@95 , %95 Definizione "n° taglienti" utensile Tangenziale ................................................................65
@96 / %96 Definizione "tempi alza/abbassa" utensile Tangenziale ..................................................66
@97 / %97 Abilitazione Pannello di Controllo all’Accensione...........................................................67
@98 Recupera Parametri da Memoria Permanente...........................................................................68
4-3
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

%98 Lettura Configurazione del Sistema di Controllo.........................................................................69


@99 Salva Parametri nella Memoria Permanente............................................................................71
%99 Lettura Versione Software........................................................................................................72

4-4
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

INTRODUZIONE

FUNZIONI @

Le funzioni ‘@’ sono codici che permettono la programmazione di una serie di parametri caratteristici del
sistema, permettendo di adattare il funzionamento del controllo alla propria applicazione.
Per questo motivo vengono detti CODICI DI CARATTERIZZAZIONE.

Tutte le programmazioni effettuate con le funzioni ‘@’ possono essere salvate in una memoria
permanente presente nel controllo. In questo modo, ad ogni accensione, il controllo sarà già pronto per
funzionare correttamente senza dover riprogrammare i suddetti parametri.

FUNZIONI %

Le funzioni ‘%’ sono dedicate alla rilettura dei parametri di sistema programmati con i codici ‘@’.
Ad ogni funzione ‘@’, dedicata alla programmazione di un parametro, corrisponde pertanto una funzione
‘%’, dedicata alla lettura del parametro stesso.
Oltre ai codici dedicati alla lettura dei parametri, esiste la funzione speciale %99 dedicata alla lettura
della versione software del sistema di controllo.
I comandi % possono essere inviati senza specificare l’asse: in questo caso vengono visualizzati tutti gli
assi.

4-5
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

ORGANIZZAZIONE "MEMORIA-CNC" PARAMETRI DI CARATTERIZZAZIONE

MEMORIA INTERNA &7,0


(DEFAULT DI FABBRICA)

ALLA ACCENSIONE
MEMORIA PERMANENTE MEMORIA DI LAVORO
O CON @98

@99

Il sistema utilizza tre diversi tipi di memoria durante il suo funzionamento:

- MEMORIA INTERNA (default di fabbrica)


- MEMORIA DI LAVORO
- MEMORIA PERMANENTE

Nella memoria interna vengono memorizzati i parametri di default di fabbrica, definibili successivamente
con le funzioni @; al momento della prima accensione essi sono richiamati automaticamente nella
memoria di lavoro (quella utilizzata dal CNC) e possono essere salvati nella memoria permanente, con
le eventuali modifiche per la personalizzazione, con il comando @99. Successivamente i parametri di
default possono comunque essere richiamati in qualsiasi momento tramite la funzione &7,0.
Ad ogni accensione successiva il controllo richiamerà nella memoria di lavoro i parametri memorizzati
nella memoria permanente. Questi ultimi potranno comunque essere richiamati in qualsiasi momento
con la funzione @98.
In ogni caso qualsiasi modifica da apportare ai parametri della memoria permanente dovrà sempre
essere effettuata nella memoria di lavoro e poi salvata con la funzione @99.

4-6
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@01 ÷ %01 Definizione Ingressi Digitali “PROGRAMMABILI”


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @01 [In,(s) ,(f)] [In,(s),(f)] […] (1)
In; n. ingresso digitale (1…16)
(s); definizione stato ingresso
(f); definizione funzione associata
Sintassi % %01 I (1)

Risposta CNC In,(s),(f)


Note: (1) La programmazione è relativa ai soli ingressi digitali definiti nel comando

Descrizione
E’ prevista la possibilità di programmare uno o più degli ingressi digitali presenti sul controllo in modo
che ad esso sia associata una funzione la cui esecuzione è poi automaticamente gestita dal controllo
stesso.
Il comando per la programmazione degli ingressi digitali è il “@01” che deve essere seguito dalla lettera
di indirizzo “I” con il numero “n” dell’ingresso che si vuole programmare, poi il parametro “s” che
definisce l’attività dell’ingresso e quindi il parametro “f” che definisce la funzione ad esso associata.
Questo comando senza alcun parametro permette di disabilitare tutte le funzioni associate agli ingressi.

In: NUMERO INGRESSO DIGITALE DEL CONTROLLO = 1 ÷ 16


(S) : 0 = ABILITATO; ATTIVO BASSO (CONTATTO APERTO/ APERTURA CONTATTO)
1 = ABILITATO; ATTIVO ALTO (CONTATTO CHIUSO/ CHIUSURA CONTATTO)
2 = DISABILITATO (NON PROGRAMMATO)

(f) : 00 = EMERGENZA ; attiva sul fronte


01 = START/STOP CNC ; attiva sullo stato
02 = STOP A FINE-BLOCCO ; attiva sul fronte
03 = STOP IMMEDIATO CNC ; attiva sul fronte
04 = START CNC ; attiva sul fronte
05 = SET/RESET EMERGENZA ; attiva sullo stato
06 = ANNULLA COMANDI ; attiva sul fronte
07 = ATTESA UTENSILE TANG. BASSO ; attiva sullo stato
08 = ATTESA UTENSILE TANG. ALTO ; attiva sullo stato
09 = RESET EMERGENZA ; attiva sul fronte
10 = STOP IMMEDIATO CNC ; attiva sullo stato
11 = START/STOP ASSI ; attiva sullo stato
12 = EMERGENZA ; attiva sullo stato

ATTIVAZIONE “sul fronte” significa che la funzione associata viene eseguita quando avviene la
commutazione dell’ingresso da uno stato all’altro:
- commutazione 1Æ0 (contatto chiuso Æ contatto aperto) se l’ingresso è attivo basso
- commutazione 0Æ1 (contatto aperto Æ contatto chiuso) se l’ingresso è attivo alto

ATTIVAZIONE “sullo stato” significa che la funzione associata viene eseguita quando l’ingresso è
nello stato programmato:
- stato 0=contatto aperto
- stato 1=contatto chiuso

4-7
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

Descrizione FUNZIONI
La funzione definisce il tipo di operazione compiuta automaticamente dal controllo nel momento in cui
l’ingresso verrà trovato nello stato logico attivo programmato. Le funzioni associabili all’ingresso sono:

EMERGENZA (attiva sul fronte)


l'attivazione dell'ingresso causerà l'entrata in emergenza del controllo. Disattivando l'ingresso
il controllo rimarrà in emergenza. A differenza della funzione emergenza sullo stato se l’ingresso
rimane attivo e si manda un comando di reset emergenza il controllo non ritornerà in emergenza
fino a che non verrà rilasciato e poi riattivato l’ingresso.

START/STOP CNC (attiva sullo stato)


l'attivazione dell'ingresso causerà l'arresto immediato del controllo (arresto assi con frenata
controllata) e terrà costantemente il controllo nella condizione di stop, mentre la sua
disattivazione ne provocherà la ripartenza.

STOP CNC a FINE-BLOCCO (attiva sul fronte)


l'attivazione dell'ingresso provocherà l'arresto del controllo al termine dell'istruzione in corso di
esecuzione. Disattivando l'ingresso il controllo rimarrà nella condizione di stop.

STOP CNC IMMEDIATO (attiva sul fronte)


l'attivazione dell'ingresso provocherà l'arresto immediato del controllo (arresto assi con frenata
controllata). Disattivando l'ingresso il controllo rimarrà nella condizione di stop.

START CNC (attiva sul fronte)


l'attivazione dell'ingresso causerà la ripartenza del controllo (se in stop). La sua disattivazione
non avrà alcun effetto.

SET / RESET EMERGENZA (attiva sullo stato)


l’attivazione dell’ingresso causerà l’entrata in emergenza del controllo mentre la sua
disattivazione causerà un reset dello stato di emergenza.
Il funzionamento dell’ingresso è “sullo stato” ossia se l’ingresso si attiva il reset dell’emergenza
potrà essere ottenuto esclusivamente disattivandolo, mentre il comando immediato Ctrl-L (reset
emergenza) non avrà effetto. Se l’ingresso non è attivo è comunque possibile eseguire un set
emergenza con il comando immediato Ctrl-K (set emergenza).

ANNULLA COMANDI (attiva sul fronte)


l’attivazione dell’ingresso provocherà l’annullamento immediato del comando in esecuzione e di
tutti i comandi ancora in attesa di essere eseguiti (reset fifo comandi). L’eventuale movimento in
esecuzione verrà arrestato con una frenata controllata.
L’attivazione dell’ingresso equivale all’esecuzione del comando immediato Ctrl-P e pertanto potrà
essere utilizzata anche per l’annullamento dell’esecuzione di un programma in modalità
AUTOMATICO o JOG. La disattivazione di un ingresso così programmato non ha nessun effetto.

ATTESA UTENSILE TANGENZIALE “BASSO” (attiva sullo stato)


Nei modelli che prevedono la gestione dell’UTENSILE TANGENZIALE permette di controllare
l’ingresso di UTENSILE-BASSO in modo che, durante l’operazione di abbassa utensile eseguita
automaticamente dal CNC quando è attiva la funzione G93 (guida utensile tangenziale ON ), il
movimento interpolato dei due assi sul piano non riparta finché l’utensile non è stato confermato
basso (ingresso attivo).

ATTESA UTENSILE TANGENZIALE “ALTO” (attiva sullo stato)


Nei modelli che prevedono la gestione dell’UTENSILE TANGENZIALE permette di controllare
l’ingresso di UTENSILE-ALTO in modo che, durante l’operazione di alza utensile eseguita
automaticamente dal CNC quando è attiva la funzione G93 (guida utensile tangenziale ON ), la
rotazione dell’asse dell’utensile tangenziale non abbia inizio finché l’utensile non è stato
confermato alto (ingresso attivo).

4-8
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

RESET EMERGENZA (attiva sul fronte)


La commutazione valida del segnale provocherà il reset dell’emergenza, alla condizione che non
persistano ragioni che la determinano.

STOP IMMEDIATO (attiva sullo stato)


l'attivazione dell'ingresso provocherà l'arresto immediato del controllo (arresto assi con frenata
controllata). Fintanto che l’ingresso si mantiene attivo i comandi di start di qualsiasi provenienza
saranno ignorati. Disattivando l'ingresso, il controllo rimarrà nella condizione di stop fino al
successivo start.

START/STOP ASSI (attiva sullo stato)


l'attivazione dell'ingresso causerà l'arresto immediato degli assi (arresto assi con frenata
controllata) e terrà costantemente gli assi nella condizione di stop, mentre la sua disattivazione
ne provocherà la ripartenza.

EMERGENZA (attiva sullo stato)


l'attivazione dell'ingresso causerà l'entrata in emergenza del controllo e rimarrà in emergenza
fino a che l’ingresso rimane attivo. Disattivando l'ingresso il controllo rimarrà in emergenza.

Nota bene:
- Se il controllo non ha un programma PLC attivo, gli ingressi “programmati”, cioè con funzione
associata gestita automaticamente dal controllo, possono comunque essere letti (e quindi utilizzati)
da programma CNC, utilizzando il comando G69 (Es.: G69 P1 leggi lo stato dell’ingresso n.1). Se
diversamente il controllo ha un programma PLC residente, con il comando G69 P(n) si leggono i bit
di interscambio tra PLC e CNC. Ovviamente il programma PLC può copiare lo stato degli ingressi
che devono risultare visibili al CNC nei corrispondenti bit di interscambio, rendendo nuovamente
gestibili gli ingressi dal programma CNC.
- Prestare attenzione al fatto che all’interno degli ingressi possibili esistono gli ingressi “dedicati”, cioè
con funzione associata pre-assegnata dal controllo (fine corsa e/o zero macchina), pertanto la
programmazione di uno di questi ingressi porterà a una doppia gestione del suddetto ingresso da
parte del controllo con possibili potenziali condizioni di conflitto; è a cura del programmatore fare
attenzione alla programmazione degli ingressi in modo da evitare che si possano creare condizioni di
conflitto.
In ogni caso la priorità di esecuzione, in caso di programmazione multipla dello stesso ingresso è:
1° - funzione pre-assegnata dal controllo
2° - funzione ingressi digitali programmabili
3° - funzione attività tasti pannello

4-9
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

Prestare attenzione che nei controlli S&h il modulo Cnc numera ingressi e uscite a partire da 1
mentre i riferimenti utilizzati dal modulo Plc partono da 0.

per cui i comandi Cnc


@1, @22 e @70
hanno come riferimento ingressi e uscite numerati a partire da 1

mentre i comandi G65 Pnn --> G69 Pnn che si riferiscono al modulo Plc (o direttamente a ingressi
e uscite del controllo) hanno come punto iniziale il numero 0

Percio' i comandi Cnc


@01 I3,n.n
@70 K3,n
G65 P2
si riferiscono tutti al 3^ ingresso

mentre @22 O5,n,n G67 P4si riferiscono tutti alla 5^ uscita

Es.: definizione ingresso digitale Programmabile n.1

@01 I1,0,0 ;definizione ingresso digitale n.1 come ingresso “programmato”, attivo basso,
;con funzione associata = 0 (EMERGENZA)

Es.: lettura programmazione ingresso digitale n.2

%01 I ;richiesta di lettura


I2,1,1 ;risposta del controllo (ingresso 2 abilitato, attivo alto, con funzione di start/stop)

Nota bene: nelle risposte ai comandi %01, il controllo omette le informazioni relative agli ingressi
disabilitati.

4-10
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@03..@06 ÷ %03..%06 Definizione Ingressi Digitali “DEDICATI”


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @03 [X(i)] [Y(i)] [Z(i)] [W(i)] [U(i)] [V(i)] (1)
@04 [X(i)] [Y(i)] [Z(i)] [W(i)] [U(i)] [V(i)]
@05 [X(i)] [Y(i)] [Z(i)] [W(i)] [U(i)] [V(i)]
@06 [X(i)] [Y(i)] [Z(i)] [W(i)] [U(i)] [V(i)]
X(i); Y(i); Z(i); W(i); U(i) ;V(i) ingresso asse; range 0..2
il valore (i) ha il seguente significato:
0 = abilitato, attivo basso
1 = abilitato, attivo alto
2 = disabilitato
Sintassi % %03 [X] [Y] [Z] [W] [U] [V] (1)
%04 [X] [Y] [Z] [W] [U] [V]
%05 [X] [Y] [Z] [W] [U] [V]
%06 [X] [Y] [Z] [W] [U] [V]
X,Y,Z,W,U, V: condizione ingresso

Risposta CNC [X(i)] [Y(i)] [Z(i)] [W(i)] [U(i)] [V(i)]


Note: (1) La programmazione è relativa ai soli assi definiti nel comando.
Gli indirizzi Y, Z , W, U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto

Descrizione
Il controllo può gestire, per ciascun asse, 4 ingressi con funzione predefinita (dedicata):

- FINE CORSA AVANTI (@03)


- FINE CORSA INDIETRO (@04)
- O.K. AZIONAMENTO (FAULT) (@05)
- ZERO MACCHINA (@06)

Con le funzioni @03..@06 è possibile programmare lo stato attivo di ciascun ingresso ed abilitare o
disabilitare l’ingresso stesso.

Importante
Se si attivano gli ingressi dedicati alle funzioni di fine corsa e di ok. azionamento, il controllo va in
emergenza (se abilitati).
Se durante un movimento viene impegnato un fine corsa hardware (@03 e @04) il controllo entra in
emergenza e l’azionamento viene disabilitato; una volta effettuato il reset del controllo, quest’ultimo si
muoverà soltanto nella direzione di allontanamento dal fine corsa (vedi figura); un ulteriore tentativo di
muoversi oltre il fine corsa causerebbe un nuovo ingresso in emergenza.

Fine corsa hardware

4-11
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

La programmazione dell’ingresso con funzione zero macchina è relativa allo stato che l’ingresso deve
assumere durante la procedura di Set Point (vedi funzione G51).
Se questo ingresso viene disabilitato la procedura di Set Point verrà eseguita considerando solo
l’ingresso di zero del trasduttore (riga o encoder).

Es.: definizione ingressi dedicati

@03 X1 Y1 ;programmazione FINE CORSA AVANTI assi X e Y: abilitati, attivi alti


@04 Y0 X0 Z0 ;programmazione FINE CORSA INDIETRO assi X,Y e Z: abilitati, attivi bassi

Es.: lettura

%06 Z ;richiesta di lettura programmazione ingresso di zero macchina dell’asse Z


Z1 ;risposta del controllo

%03 YX ;richiesta di lettura FINE CORSA AVANTI assi X e Y


X1 Y0 ;risposta del controllo

4-12
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@15 / %15 Definizione ingresso di "ZERO ENCODER"


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @15 [X(z)] [Y(z)] [Z(z)] [W(z)] [U(z)] [V(z)] (1)
X,Y,Z,W,U,V: zero encoder; range 0..2
Il valore (z) assume il significato:
0 = attivo basso
1 = attivo alto
2 = disabilitato
Sintassi % %15 [X] [Y] [Z] [W] [U] [V] (1)
X,Y,Z,W,U,V: zero trasduttore; range 0..2

Risposta CNC [X(z)] [Y(z)] [Z(z)] [W(z)] [U(z)] [V(z)]


Note: (1) La programmazione è relativa ai soli assi definiti nel comando.
Gli indirizzi Y, Z, W, U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto

Descrizione
Con la funzione @15 è possibile definire, per ciascun asse gestito dal controllo, l'attività (stato attivo 0 o
1) del segnale di "ZERO ENCODER" proveniente dal trasduttore incrementale esterno e che viene
utilizzato, in concomitanza con l’ingresso di "HOME", durante la procedura di Set Point (ricerca dello
zero macchina).

(z) : attività "ZERO ENCODER"


0 = attivo basso;
1 = attivo alto;
2 = disabilitato

ZERO ENCODER ZERO ENCODER


attivo basso attivo alto

Micro di “ZERO MACCHINA” (HOME) Micro di “ZERO MACCHINA” (HOME)

Es.: programmazione attività "ZERO ENCODER" assi X, Y e Z

@15 Y1 X1 Z0 ;l'attività del segnale di "ZERO ENCODER" degli assi X e Y viene impostata
;come attiva alta, quello dell’asse Z come attiva bassa.

Es.: lettura attività ingresso "ZERO ENCODER"

%15 XYZ ;richiesta di lettura dello stato di attività dell’ingresso di "ZERO ENCODER"
X0 Y1 Z0 ;risposta del controllo

4-13
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@16 / %16 Definizione Senso di Conteggio Quote


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @16 [X(n)] [Y(n)] [Z(n)] [W(n)] [U(n)] [V(n)] (1)
X,Y,Z,W,U,V: senso di conteggio; range 0..1
Il valore (n) assume il significato:
0 = conteggio attivo ”normale”
1 = conteggio attivo ”inverso”
Sintassi % %16 [X] [Y] [Z] [W] [U] [V] (1)
X,Y,Z,W,U,V: senso di conteggio; range 0..1

Risposta CNC [X(n)] [Y(n)] [Z(n)] [W(n)] [U(n)] [V(n)]


Note: (1) La programmazione è relativa ai soli assi definiti nel comando
Gli indirizzi Y, Z , W, U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto

Descrizione
Definisce, per ciascun asse gestito dal controllo, il senso di conteggio delle quote mediante la
programmazione dei valori logici 0 e 1.
Se, dopo aver collegato i segnali delle fasi del trasduttore al Cnc, il senso di conteggio delle quote non è
corretto (ad esempio se, muovendo l’asse avanti(+), la quota si decrementa), è possibile, utilizzando la
funzione @16, invertire il senso di conteggio interno delle quote senza invertire fisicamente il
collegamento dei segnali delle fasi encoder al controllo.

Questo comando non è significativo in caso di assi stepper non retroazionati.


(n) : attività "CONTATORE ENCODER"
0 = attivo "normale";
1 = attivo "inverso";

Es.: definizione senso di conteggio assi X, Y e Z

@16 X0 Y1 Z0 ;il senso di conteggio delle quote degli assi X e Z viene programmato
;come “normale”, quello dell’asse Y come “inverso”

Es.: lettura senso di conteggio quote

%16 XYZ ;richiesta di lettura del senso “logico” del conteggio quote
X0 Y1 Z0 ;risposta del controllo

4-14
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@20 / %20 Definizione Parametri Tabella Camme


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @20E<n.tab>,<n.punti>,<punti spline>,<M><S0>..(Sn) (1)
n.tab = numero tabella da impostare
n.punti = numero di punti che compongono la tabella posizioni
punti spline = numero di punti che compongono la spline (non attivo)
M = identificativo asse master
S0 = identificativo asse slave 0
Sn = identificativi ulteriori assi slave
Sintassi % %20

Risposta CNC E0<n.punti>,<punti spline>,<M><S0>..(Sn) E1<n.punti>,<punti spline>, (2)


<M>, <S0>..(Sn)
Note: (1) Se non viene dato nessun parametro dopo ‘n. tab’ viene disallocata la tabella
(2) Vengono sempre visualizzati i parametri di entrambe le tabelle

Descrizione
Il comando inizializza tutti i parametri relativi alla camme e alloca la memoria necessaria per definire la
tabella punti.

Es.: definizione parametri tabella camme

@20E0,50,0,ZXY ;definizione della tabella ‘0’ con ‘50’ punti, ‘0’ punti spline con l’asse
;Z definito asse Master e gli assi X e Y come slave

Es.: lettura parametri tabella camme

%20 ;richiesta di lettura dei parametri delle tabelle


E0,50,0,ZXY E1,0,0,XXX ;risposta del controllo (E1 non è stata definita)

4-15
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

Es.: uso camma elettrica

@20E0,3,0,ZX ;definizione della tabella ‘0’ con ‘3’ punti, ‘0’ punti spline con l’asse
;Z definito asse Master e l’asse X come slave
E0[1]=10,50 ;definisce la seguente corrispondenza :
; nota: il primo punto E0[0] è sempre 0,0
E0[2]=20,25 ;Z0 => X0
;Z10 => X50
;Z20 => X25
;Z30 => X75
;Z40 => X50
G80 E0 ;abilitazione camma

0 10 20 30 40 Z

Nota
Il comando è operativo solo se il controllo prevede la relativa opzione.
I parametri per i punti spline non sono disponibili in questa versione software.

4-16
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@21 / %21 Definizione Tipo di Camme e Numero di Ripetizione


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @21E<n.tab>,<T>(,N)
n.tab = numero tabella
T = tipo di camme: 0 = posizione
1 = velocità assoluta (non attiva)
2 = velocità percentuale (non attiva)
(1)
N = numero di ripetizioni tabella
Sintassi % %21

Risposta CNC E0,<T>,(N) E1,<T>,(N)


Note: (1) Se N è posto uguale a ‘0’ il controllo esegue un numero infinito di ripetizioni

Descrizione
Definisce il tipo di camme che si intende utilizzare e il numero di ripetizioni della tabella .

Es.: definizione tipo di camme e numero di ripetizioni


@21E0,1,3 ;per la tabella ‘0’ definizione del tipo di camme come ‘velocità
assoluta’ con 3 ripetizioni della tabella

Es.: lettura tipo di camme e numero di ripetizioni

%21 ;richiesta di lettura tipo di camme e numero di ripetizioni


E0,1,3 E1,0,0 ;risposta del controllo

Se non viene programmato assume la configurazione, di default: camme in posizione


infinite ripetizioni

Nota
Il comando è operativo solo se il controllo prevede la relativa opzione
4-17
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@22 / %22 Definizione Uscite Digitali “Programmabili”


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @22 [On,(s) ,(f)] [On,(s) ,(f)] […..]
On; n. uscita digitale (1…8)
(s); definizione stato uscita
(f); definizione funzione associata
Sintassi % %22 On
On; n. uscita digitale (1…8)

Risposta CNC On,(s),(f)

Descrizione
E’ prevista la possibilità di programmare una o più delle uscite digitali presenti sul controllo in modo che
ad esso sia associata una funzione la cui esecuzione è poi automaticamente gestita dal controllo
stesso.
Il comando per la programmazione delle uscite digitali è il “@22” che deve essere seguito dalla lettera di
indirizzo “O” con il numero “n” dell’uscita che si vuole programmare, più separati dalla “,” deve poi
seguire il parametro “s” che definisce l’attività dell’uscita e quindi il parametro “f” che definisce la
funzione ad esso associata.

On: NUMERO USCITA DIGITALE DEL CONTROLLO: 1…8

(S) : 0 = ABILITATO; ATTIVO BASSO (CONTATTO APERTO)


1 = ABILITATO; ATTIVO ALTO (CONTATTO CHIUSO)
2 = DISABILITATO (NON PROGRAMMATO)

(f) : 0 = EMERGENZA
1 = STOP CON AUTORIPRISTINO
2 = STATO EMERGENZA
3 = STOP SENZA AUTORIPRISTINO
4 = ALZA/ABBASSA UTENSILE TANGENZIALE
5 = STATO AL ^P
6 = …..

4-18
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

Descrizione FUNZIONI
La funzione definisce il tipo di operazione compiuta automaticamente dal controllo nel momento in cui si
manifesta lo stato.

EMERGENZA
Quando il controllo va in Emergenza viene attivata l’uscita.
STOP CON AUTORIPRISTINO
Quando il controllo è in condizione di Stop l’uscita viene attivata. Quando la condizione di Stop
cessa, l’uscita si disattiva.
STATO IN EMERGENZA
Lo stato indicato è imposto all’uscita specificata quando il controllo è in Emergenza. Se il
controllo non è in emergenza, lo stato può essere assegnato dall’operatore, dal programma CNC
o dal programma PLC.
STOP SENZA AUTORIPRISTINO
Quando il controllo va in Stop, l’uscita si attiva e resta attivata anche se la condizione di Stop
cessa. Per disattivare l’uscita occorre che la condizione di Stop sia cessata e che l’operatore
oppure il programma CNC o quello PLC le assegnino uno stato diverso.
ALZA/ABBASSA L’UTENSILE TANGENZIALE
L’uscita viene gestita automaticamente per il pilotaggio dell’avvicinamento utensile in conformità
a quanto definito con i comandi @94, @95 e @96

STATO AL ^P
Lo stato indicato è imposto all’uscita quando viene mandato un ^P al controllo.

Nota bene:
- Escluse le uscite definite come EMERGENZA e STOP CON AUTORIPRISTINO, le uscite
“programmate”, cioè con funzione associata gestita automaticamente dal controllo, possono
comunque essere scritte (e quindi utilizzate) da programma CNC, utilizzando il comando G67(G68).

Prestare attenzione che nei controlli S&h il modulo Cnc numera ingressi e uscite a partire da 1
mentre i riferimenti utilizzati dal modulo Plc partono da 0.

per cui i comandi Cnc


@1, @22 e @70
hanno come riferimento ingressi e uscite numerati a partire da 1

mentre i comandi G65 Pnn --> G69 Pnn che si riferiscono al modulo Plc (o direttamente a ingressi
e uscite del controllo) hanno come punto iniziale il numero 0

Percio' i comandi Cnc


@01 I3,n.n
@70 K3,n
G65 P2
si riferiscono tutti al 3^ ingresso

mentre @22 O5,n,n G67 P4si riferiscono tutti alla 5^ uscita

Es.: definizione uscita digitale Programmabile n.1


@22 O1,0,0 ;definizione uscita digitale n.1 come uscita “programmata”, attiva bassa,
;con funzione associata = 0 (EMERGENZA)

Es.: lettura programmazione uscita digitale n.2


%22 ;richiesta di lettura
O2,1,1 ;risposta del controllo (uscita 2 attiva alta con funzione associata Stop senza
autoripristino)
4-19
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@30 / %30 Definizione Dispositivi I/O su CAN BUS


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @30 [In,(t) ,(i)] [In,(t),(i)] [In,(t),(i)] [……] (1)
In; n. dispositivo di I/O (1…16)
(t); tipo dispositivo
(i); indirizzo dispositivo (1…16)
Sintassi % %30 (1)
In; n. dispositivo (1…16)

Risposta CNC In,(t),(i) In,(t),(i) In,(t),(i),…………..


Note: (1) È necessario programmare tutti i dispositivi nello stesso comando.
Per eliminare tutti i dispositivi eseguire @30 senza parametri

Descrizione
E’ prevista la possibilità di gestire uno o più dispositivi di I/O su CAN BUS connessi con il controllo.
Il comando per la programmazione dei dispositivi è il “@30” che deve essere seguito dalla lettera “I” con
il numero logico del dispositivo, dal tipo “t” del dispositivo che si vuole aggiungere seguito dal parametro
“i” identificativo dell’indirizzo di scheda.

In: NUMERO LOGICO DEL DISPOSITIVO DI I/O : 1…16

(t): 0 = SCHEDA CBM_00 (8 IN, 8 OUT)


1 = SCHEDA CBM_01 (16 IN)
2 = SCHEDA CMB_02 (16 OUT)
8 = SCHEDA CMB_03 (24 IN, 16 OUT)

(i) : indirizzo di scheda dettato dalla configurazione dei ponticelli sulla stessa (1…).

Per maggiori informazioni riferirsi alla documentazione associata alla scheda.

4-20
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

Nel caso di utilizzo delle schede CBM senza PLC si potranno gestire tramite i comandi G65ÆG69 con
associato l’identificatore P seguito dai numeri da 32 a 63

L’associazione numeri Ù ingressi CBM segue l’ordine dettato dal numero logico del dispositivo per cui
se ad esempio si hanno 2 schede CBM (una CBM03 e una CBM00) si avrà :

@30 I1,8,2 I2,0,4

La 1^ scheda ha 24 ingressi e 16 uscite


La 2^ scheda ha 8 ingressi e 8 uscite

Da cui :

G65/G66/G69 CBM (32 ingressi) G67/G68 CBM (24 uscite)


P32 Ingresso 01 CBM03 P32 Uscita 01 CBM03
… …
P55 Ingresso 24 CBM03 P47 Uscita 16 CBM03
P56 Ingresso 01 CBM00 P48 Uscita 01 CBM00
… …
P63 Ingresso 08 CBM00 P55 Uscita 08 CBM00

Nota
Il comando è operativo solo se il controllo prevede la relativa opzione

4-21
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@31 / %31 Definizione uscita "DIR" (Direzione Azionamento)


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @31 [X(n)] [Y(n)] [Z(n)] [W(n)] [U(n)] [V(n)] (1)
X,Y,Z,W,U,V: direzione azionamento; range 0..2
Il valore (n) assume il significato:
0 = uscita "DIR" attiva a livello logico 0
1 = uscita "DIR" attiva a livello logico 1
2 = uscita "DIR" disabilitata
Sintassi % %31 [X] [Y] [Z] [W] [U] [V] (1)
X,Y,Z,W,U,V: direzione azionamento; range 0..2

Risposta CNC [X(n)] [Y(n)] [Z(n)] [W(n)] [U(n)] [V(n)]


Note: (1) La programmazione è relativa ai soli assi definiti nel comando
Gli indirizzi Y, Z , W, U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto

Descrizione
L’uscita "DIR" di direzione azionamento (avanti/indietro), di ogni asse gestito dal controllo, può essere
programmata sul Cnc come attiva a livello logico 1 o 0.
Grazie a questa funzione è possibile definire (nel caso di azionamenti che utilizzino questo segnale) la
direzione di movimento dell'asse in rapporto ai comandi di movimento avanti (+) o indietro (-) dell'asse
stesso.

(n) : attività "DIR : DIREZIONE AZIONAMENTO"


0 = uscita "DIR" attiva a livello logico 0;
1 = uscita "DIR" attiva a livello logico 1;
2 = uscita "DIR" disabilitata

Es.: definizione direzione azionamento assi X, W

@31 X1 W1 ;gli assi X e W sono programmati con uscite di direzione attive a livello ‘1’

Es.: lettura direzione azionamento

%31 XW ;richiesta di lettura del tipo di direzione azionamento


X1 W1 ;risposta del controllo

4-22
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@32 / %32 Definizione uscita "ENB" (Abilitazione Azionamento)


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @32 [X(n)] [Y(n)] [Z(n)] [W(n)] [U(n)] [V(n)] (1)
X,Y,Z,W,U,V: abilitazione azionamento; range 0..2
Il valore (n) assume il significato:
0 = uscita "ENB" attiva a livello logico 0
1 = uscita "ENB" attiva a livello logico 1
2 = uscita "ENB" disabilitata
Sintassi % %32 [X] [Y] [Z] [W] [U] [V] (1)
X,Y,Z,W,U,V: abilitazione azionamento; range 0..2

Risposta CNC [X(n)] [Y(n)] [Z(n)] [W(n)] [U(n)] [V(n)]


Note: (1) La programmazione è relativa ai soli assi definiti nel comando
Gli indirizzi Y, Z , W , U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto

Descrizione
Definizione abilitazione azionamento (logica dei segnali Enable o Disable).
Per il controllo l’uscita “Enable” è attiva quando l’azionamento può far muovere l’asse ed è disattiva
quando l’azionamento è disabilitato, per esempio in condizione d’emergenza.
La selezione effettuata mediante questa funzione(@32) rende possibile adattare il comportamento di
questo segnale del Cnc (stato attivo/disattivo) in base alle caratteristiche dell'azionamento scelto.

La stringa “@32X2” implica che il relativo segnale è disabilitato e quindi lasciato aperto.

Per il solo controllo Goya, vale la seguente tabella:

Parametro Enable Stato uscita


Attivo Chiusa a GND
@32X0
Disattivo Aperta
Attivo Aperta
@32X1
Disattivo Chiusa a GND

Negli altri casi si veda la seguente tabella:

Parametro Enable Stato uscita


Attivo Aperta
@32X0
Disattivo Chiusa a GND
Attivo Chiusa a GND
@32X1
Disattivo Aperta

4-23
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

Es.: definizione abilitazione azionamento assi X, Y

@32 X1 Y1 ;gli assi X e Y vengono programmati con uscite di abilitazione attive a


;livello ‘1’

Es.: lettura abilitazione azionamento

%32 XY ;richiesta di lettura del tipo di abilitazione azionamento


X1 Y1 ;risposta del controllo

4-24
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@33 / %33 Definizione Tipo di Uscita Analogica


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @33 [X(n)] [Y(n)] [Z(n)] [W(n)] [U(n)] [V(n)] (1)
X,Y,Z,W,U,V: tipo di uscita analogica ; range 0 o 1
Il valore (n) assume il significato:
0 = uscita analogica bipolare (-10/+10)
1 = uscita analogica unipolare (0/+10)
Sintassi % %33 [X] [Y] [Z] [W] [U] [V] (1)
X,Y,Z,W,U,V : tipo di uscita analogica ; range 0 o 1

Risposta CNC [X(n)] [Y(n)] [Z(n)] [W(n)] [U(n)] [V(n)]


Note: (1) La programmazione è relativa ai soli assi definiti nel comando
Gli indirizzi Y, Z , W , U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto

Descrizione
La funzione @33 permette di selezionare, per ogni asse gestito dal controllo, il tipo di uscita analogica,
che può essere di tipo bipolare (-10/+10 Volt) o unipolare (0/+10 Volt).
Il codice è significativo per gli assi movimentati da motori in corrente continua.

Es.: definizione tipo di uscita analogica

@33 X0 Y0 W0 ;gli assi X, Y e W vengono programmati con uscite analogiche di tipo


;bipolare

Es.: lettura tipo di uscita analogica

%33 X Y W ;richiesta di lettura del tipo di uscita analogica


X0 Y0 W0 ;risposta del controllo

Nota bene: nel caso di un controllo Goya che piloti un azionamento stepper, l’uscita analogica relativa a
quell’asse può essere utilizzata solo in modalità bipolare, diversamente si incorre in conflitti
nella gestione del segnale DIR.

4-25
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@34 / %34 Definizione Polarità Uscita Analogica


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @34 [X(n)] [Y(n)] [Z(n)] [W(n)] [U(n)] [V(n)] (1)
X,Y,Z,W,U,V: polarità uscita analogica ; range 0..1
Il valore (n) assume il significato:
0 = tensione positiva: asse indietro (-)
1 = tensione positiva: asse avanti (+)
Sintassi % %34 [X] [Y] [Z] [W] [U] [V] (1)
X,Y,Z,W,U,V : polarità uscita analogica ; range 0..1

Risposta CNC [X(n)] [Y(n)] [Z(n)] [W(n)] [U(n)] [V(n)]


Note: (1) La programmazione è relativa ai soli assi definiti nel comando
Gli indirizzi Y, Z , W , U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto

Descrizione
In caso di uscita analogica bipolare è possibile definire, mediante la funzione @34, il senso di
spostamento dell’asse (avanti o indietro) che si deve ottenere in caso di tensione positiva.
Ovviamente il codice è significativo per gli assi movimentati da motori in corrente continua.

Es.: definizione polarità uscita analogica

@34 X1 Y1 ;gli assi X e Y si muovono avanti in caso di tensione positiva

Es.: lettura polarità uscita analogica

%34 XY ;richiesta di lettura polarità di uscita analogica


X1 Y1 ;risposta del controllo

4-26
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@35 / %35 Definizione Polarità Uscita in Frequenza


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @35 [X(n)] [Y(n)] [Z(n)] [W(n)] [U(n)] [V(n)] (1)
X,Y,Z,W,U,V: polarità uscita in frequenza; range 0..1
Il valore (n) assume il significato:
0 = impulso verso tensione positiva (+)
1 = impulso verso 0 V (-)
Sintassi % %35 [X] [Y] [Z] [W] [U] [V] (1)
X,Y,Z,W,U,V : polarità uscita in frequenza; range 0..1

Risposta CNC [X(n)] [Y(n)] [Z(n)] [W(n)]


Note: (1) La programmazione è relativa ai soli assi definiti nel comando.
Gli indirizzi Y, Z , W ,U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto.

Descrizione
In caso di uscita in frequenza, cioè per assi stepper, mediante la funzione @35, è possibile definire la
polarità dell’impulso che viene inviato all’azionamento. La massima parte degli azionamenti stepper
richiedono che il segnale d’ingresso sia normalmente tenuto a 0 V e che presenti un impulso verso il
positivo per effettuare lo spostamento di uno step del motore. Alcuni azionamenti tuttavia presentano il
funzionamento opposto: il segnale d’ingresso deve essere tenuto normalmente a una tensione positiva e
lo step viene eseguito quando si presenta un impulso verso 0 V.
Ovviamente il codice è significativo per gli assi movimentati da motori stepper.

Es.: definizione polarità uscita in frequenza

@35 X1 Y0 ;l’asse X verrà comandato con impulsi verso 0 V e l’asse Y con impulsi
;verso tensioni positive

Es.: lettura polarità uscita in frequenza

%35 XY ;richiesta di lettura polarità di uscita analogica


X1 Y0 ;risposta del controllo

4-27
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@40..@49 DEFINIZIONE PARAMETRI SERVOCONTROLLO

Lo scopo di questa sezione è spiegare come funziona il meccanismo di servocontrollo degli assi
movimentati da motori in corrente continua.
Per questi tipi di assi viene realizzato, per mezzo dei segnali provenienti dal trasduttore (encoder o riga
ottica), un CONTROLLO DI POSIZIONE ossia viene continuamente eseguito un confronto tra la
posizione teorica e quella effettiva dell’asse.
Se le posizioni non coincidono, cioè se si è in presenza di un errore di posizione, il controllo agisce
intervenendo sulla velocità dei motori, ossia regolando opportunamente il segnale di tensione in uscita
dal controllo al fine di annullare l’errore di posizione.
Il controllo calcola istantaneamente i valori teorici di posizione e di velocità espressa in punti e corregge
quest’ultima in funzione dell’errore di posizione (differenza fra la posizione teorica ed effettiva) e di un
guadagno ovvero di un valore numerico che determina l’entità della correzione da effettuare.

L’esigenza di personalizzare il funzionamento del meccanismo di servocontrollo nasce, ovviamente,


dalla diversità di ciascuna applicazione.
I parametri definibili con le funzioni @40…@49 permettono pertanto di tarare il meccanismo di
servocontrollo adattandolo alla propria particolare esigenza.

Di seguito sarà descritta singolarmente ciascuna funzione, relativamente a sintassi, indirizzi, unità di
misura e valori limite.

In tutti i controlli S&h il segnale d’uscita è la somma algebrica di quattro componenti: “feed forward”,
correzione proporzionale, correzione derivativa e correzione integrativa, calcolate secondo le seguenti
indicazioni:
- Guadagno ad anello aperto (feed forward): la componente proporzionale alla velocità desiderata che
è presente anche in caso di perfetta coincidenza (attuale e storica) tra la posizione teorica e la
posizione reale (ε = 0 ∩ dε / dt = 0 ∩ ∫ ε dt = 0),
- Banda morta (nr): l’errore massimo tra posizione reale e posizione teorica che viene ignorato
dall’anello di reazione,
- Prima reazione proporzionale (Kp1): la componente proporzionale all’errore istantaneo che si
manifesta fino a un massimo d’errore definito dall’utilizzatore, detto “punto di ginocchio” (Gp),
- Seconda reazione proporzionale (Kp2): la componente proporzionale all’errore istantaneo che si
manifesta oltre il “punto di ginocchio”,
- Reazione derivativa (Kd): la componente proporzionale alla differenza tra l’errore attuale e l’errore
pregresso mediato su un tempo definito dall’utilizzatore, detto “tempo di campionamento” (st),
- Reazione integrativa (Ki): la componente proporzionale alla somma algebrica di tutti gli errori verificati
nel corso del funzionamento. Questa componente ha un limite in valore assoluto, detto “limite
integrativo” (ib) che è definito dall’utilizzatore.
Un ultimo parametro a discrezione dell’utente è l’errore massimo entro il quale il controllo tenta il
recupero, detto “limite di servo error” (se): Per errori istantanei superiori a questa soglia, il controllo
rinuncia a eseguire il suo compito e si pone in emergenza.
La componente di guadagno ad anello aperto è definita dalla seguente formula

Kff V
FFO = OUTmax,
100 Vmax

In cui OUTmax è la massima tensione d’uscita che il controllo può generare, V è la velocità che si vuole
ottenere in questo istante, Vmax è la velocità massima a cui l’asse si può muovere e Kff è il dosaggio
feed forward.

Nota
Riferirsi al capitolo F del manuale delle Appendici, per ulteriori informazioni

4-28
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@40 / %40 Definizione Soglia Limite


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @40 [X(soglia)] [Y(soglia)] [Z(soglia)] [W(soglia)] [U(soglia)] [V(soglia)] (1)
X(soglia),Y(soglia),Z(soglia),W(soglia), U(soglia),V(soglia): soglia di errore (2)
Sintassi % %40 [X] [Y] [Z] [W] [U] [V] (1)
X,Y,Z,W,U,V : soglia di errore

Risposta CNC [X(soglia)] [Y(soglia)] [Z(soglia)] [W(soglia)] [U(soglia)] [V(soglia)]


Note: (1) La programmazione è relativa ai soli assi definiti nel comando
Gli indirizzi Y, Z , W , U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto
(2) il valore programmato è sempre un valore senza segno (assoluto)

Descrizione
Definisce il valore massimo ammesso per l’errore di posizione in unità ingegneristiche.
Se l’errore di posizione diventa superiore in valore assoluto alla soglia limite programmata con la
funzione @40, la scheda entra automaticamente in emergenza (gli azionamenti vengono disabilitati
tramite l’uscita dedicata).
Se la soglia limite viene definita nulla, il meccanismo di servocontrollo viene disabilitato (disabilitati tutti i
guadagni, nessuna soglia di emergenza) ottenendo il cosiddetto funzionamento in anello aperto.

Es.: definizione soglia limite del servocontrollo

@40 X10 Y5 Z7

Es.: lettura soglia limite del servocontrollo

%40 ZXY ;richiesta di lettura della soglia limite del servocontrollo


X10 Y5 Z7 ;risposta del controllo

4-29
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@41 / %41 Definizione Banda Morta


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @41 [X(soglia)] [Y(soglia)] [Z(soglia)] [W(soglia)] [U(soglia)] [V(soglia)] (1)
X(soglia),Y(soglia),Z(soglia),W(soglia),U(soglia),V(soglia):banda morta; (2)
range 0..99
Sintassi % %41 [X] [Y] [Z] [W] [U] [V] (1)
X,Y,Z,W,U,V : banda morta; range 0..99

Risposta CNC [X(soglia)] [Y(soglia)] [Z(soglia)] [W(soglia)] [U(soglia)] [V(soglia)]


Note: (1) La programmazione è relativa ai soli assi definiti nel comando
Gli indirizzi Y, Z , W , U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto
(2) il valore programmato è sempre un valore senza segno (assoluto)

Descrizione
Definisce, per ogni asse, il limite dell’errore di posizione in unità ingegneristiche oltre il quale incomincia
ad agire il meccanismo di servocontrollo.
Normalmente è nulla, ma, programmando un valore diverso da 0 al parametro @41, si fa in modo che il
servo non agisca finché l’errore di posizione non superi, in valore assoluto, il valore programmato.

Es.: definizione banda morta del servocontrollo

@41 X0 Y2

Es.: lettura banda morta del servocontrollo

%41 XY ;richiesta di lettura della banda morta


X0 Y2 ;risposta del controllo

4-30
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@42 / %42 Definizione 2° Guadagno Servo Proporzionale


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @42 [X(g)] [Y(g)] [Z(g)] [W(g)] [U(g)] [V(g)] (1)
X(g),Y(g),Z(g),W(g) ,U(g),V(g): guadagno proporzionale; range 0..10000 (2)
Sintassi % %42 [X] [Y] [Z] [W] [U] [V] (1)
X,Y,Z,W,U,V : guadagno proporzionale; range 0..10000

Risposta CNC [X(g)] [Y(g)] [Z(g)] [W(g)] [U(g)] [V(g)]


Note: (1) La programmazione è relativa ai soli assi definiti nel comando
Gli indirizzi Y, Z , W , U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto
(2) programmando 0 il servo proporzionale viene disabilitato

Descrizione
Con @42 è possibile definire, per ogni asse, il valore del 2° guadagno proporzionale (Kp2).
La correzione effettuata dal meccanismo di servocontrollo sarà, a parità di errore di posizione, tanto più
grande quanto più elevato è il guadagno programmato.

Correzione = Kp2 * E
dove:
Kp2 = guadagno proporzionale
E = errore di posizione

Normalmente si utilizza un solo valore di guadagno proporzionale (@42), tuttavia, in alcune applicazioni
dove esiste la necessità di eliminare un errore di posizione equivalente a qualche impulso encoder, è
possibile definire 2 diversi valori di guadagno proporzionale (@42 e @49) che intervengono
alternativamente se il valore assoluto dell’errore di posizione è superiore (@42) o inferiore (@49) ad una
soglia programmata (@48)

Es.: definizione 2° guadagno servo proporzionale

@42 X12 Y20

Es.: lettura 2° guadagno servo proporzionale

%42 XY ;richiesta di lettura 2° guadagno servo proporzionale


X12 Y20 ;risposta del controllo

4-31
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@43 / %43 Definizione Guadagno Servo Integrale


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @43 [X(g)] [Y(g)] [Z(g)] [W(g)] [U(g)] [V(g)] (1)
X(g),Y(g),Z(g),W(g) ,U(g),V(g): guadagno integrale; range 0..10000 (2)
Sintassi % %43 [X] [Y] [Z] [W] [U] [V] (1)
X,Y,Z,W,U,V : guadagno integrale; range 0..10000

Risposta CNC [X(g)] [Y(g)] [Z(g)] [W(g)] [U(g)] [V(g)]


Note: (1) La programmazione è relativa ai soli assi definiti nel comando
Gli indirizzi Y, Z , W , U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto
(2) programmando 0 il servo integrale viene disabilitato

Descrizione
Con @43 è possibile definire, per ogni asse, il valore del guadagno integrale (Ki).
Serve per annullare errori di posizione dovuti agli offset della scheda e degli azionamenti; influenza le
caratteristiche dinamiche del sistema (sovraelongazioni, oscillazioni, etc.)
La correzione applicata, a parità di errore, aumenta nel tempo secondo il guadagno programmato.
Tale correzione può essere tuttavia limitata ad un valore massimo espresso in punti (vedi @47).

Es.: definizione guadagno servo integrale

@43 X12 Y20

Es.: lettura guadagno servo integrale

%43 XY ;richiesta di lettura guadagno servo integrale


X12 Y20 ;risposta del controllo

4-32
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@44 / %44 Definizione Guadagno Servo Derivativo


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @44 [X(g)] [Y(g)] [Z(g)] [W(g)] [U(g)] [V(g)] (1)
X(g),Y(g),Z(g),W(g) U(g),V(g): guadagno derivativo; range 0..10000 (2)
Sintassi % %44 [X] [Y] [Z] [W] [U] [V] (1)
X,Y,Z,W,U,V : guadagno derivativo; range 0..10000

Risposta CNC [X(g)] [Y(g)] [Z(g)] [W(g)] [U(g)] [V(g)]


Note: (1) La programmazione è relativa ai soli ingressi assi definiti nel comando
Gli indirizzi Y, Z , W ,U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto
(2) programmando 0 il servo derivativo viene disabilitato

Descrizione
Con @44 è possibile definire, per ogni asse, il valore del guadagno derivativo (Kd).
La correzione di velocità è funzione del guadagno programmato (@44) ed è legata alla variazione nel
tempo dell’errore di posizione ( velocità di variazione dell’errore).
Per questo motivo è necessario definire il tempo di campionamento dell’errore di posizione (vedi @45)

t = valore programmato (ms)

Es.: definizione guadagno servo derivativo

@44 X12 Y20

Es.: lettura guadagno derivativo

%44 XY ;richiesta di lettura guadagno servo derivativo


X12 Y20 ;risposta del controllo

4-33
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@45 / %45 Definizione Intervallo Campionamento Servo


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @45 [X(d)[,(i)[,(p)]]] [Y(d)[,(i)[,(p)]]] [Z(d)[,(i)[,(p)]]] [W(d)[,(i)[,(p)]]] (1)
[U(d)[,(i)[,(p)]]] [V(d)[,(i)[,(p)]]] (2)
X(d,i,p),Y(d,i,p),Z(d,i,p),W(d,i,p), U(d,i,p),V(d,i,p): tempo di campionamento;
range 1..9999
Sintassi % %45 [X] [Y] [Z] [W] [U] [V] (1)
X,Y,Z,W,U,V : tempo di campionamento; range 1..9999

Risposta CNC [X(d,i,p)] [Y(d,i,p)] [Z(d,i,p)] [W(d,i,p)] [U(d,i,p)] [V(d,i,p)]


Note: (1) La programmazione è relativa ai soli assi definiti nel comando
Gli indirizzi Y, Z, W, U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto
(2) il valore è espresso in millesimi di secondo : T = n * 1 ms

Descrizione
Con @45 è possibile definire, per ogni asse, l’intervallo di campionamento (frequenza di intervento) del
servo derivativo, integrale e proporzionale.
La correzione di velocità è funzione del guadagno programmato (vedi @44, @43, @42) ed è legata alla
variazione nel tempo dell’errore di posizione ( velocità di variazione dell’errore).
Per questo motivo è necessario definire il tempo di campionamento dell’errore di posizione (@45)
secondo la formula
t = 1 * valore programmato (ms)

Nei casi più comuni t=1ms

Es.: definizione intervallo di campionamento

@45 X10,5,3 Y10,5,3 Z1,0,1

Es.: lettura intervallo di campionamento

%45 XYZ ;richiesta di lettura intervallo di campionamento


X10,5,3 Y10,5,3 Z1,0,1 ;risposta del controllo

4-34
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@46 / %46 Definizione Dosaggio Feed Forward


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @46 [X(n)] [Y(n)] [Z(n)] [W(n)] [U(n)] [V(n)] (1)
(2)
X(n),Y(n),Z(n),W(n),U(n),V(n): percentuale feed forward; range 0..100.0
Sintassi % %46 [X] [Y] [Z] [W] [U] [V] (1)
X,Y,Z,W,U,V : percentuale feed forward; range 0..100.0

Risposta CNC [X(n)] [Y(n)] [Z(n)] [W(n)] [U(n)] [V(n)]


Note: (1) La programmazione è relativa ai soli assi definiti nel comando
Gli indirizzi Y, Z ,W, U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto

Descrizione
Con @46 è possibile definire, per ogni asse, la percentuale di applicazione dell’azione feed forward.
Il valore teorico di velocità calcolato automaticamente dalla scheda in punti di velocità (valore di
velocità che si ha in anello aperto) può essere “dosato” programmando questo parametro.
In particolare il valore di velocità calcolato sarà pari a:

velocità = velocità teorica * valore programmato (@46)


100

Programmando valori inferiori a 100 (esempio: 50 = 50% del valore teorico) si ottiene un “dosaggio” del
valore di velocità che la scheda calcola, ottenendo così un maggior intervento del meccanismo di
servocontrollo.

Es.: definizione dosaggio feed forward

@46 X1 Y1 Z50 ;impostazione della percentuale di applicazione dell’azione feed forward


;uguale a 1% per X e Y e uguale al 50% per Z

Es.: lettura dosaggio feed forward

%46 XYZ ;richiesta di lettura dosaggio feed forward


X1.0 Y1.0 Z50.0 ;risposta del controllo

4-35
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@47 / %47 Definizione Limite Servo Integrale


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @47 [X(n)] [Y(n)] [Z(n)] [W(n)] [U(n)] [V(n)] (1)
X(n),Y(n),Z(n),W(n) ,U(n),V(n): limite servo integrale; range 0..32767 (2)
Sintassi % %47 [X] [Y] [Z] [W] [U] [V] (1)
X,Y,Z,W,U,V : Limite servo integrale; range 0..32767

Risposta CNC [X(n)] [Y(n)] [Z(n)] [W(n)] [U(n)] [V(n)]


Note: (1) La programmazione è relativa ai soli assi definiti nel comando
Gli indirizzi Y, Z , W ,U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto
(2) il valore programmato definisce il limite, espresso in punti DAC, dell’azione del
servo integrale
programmando 0 non si hanno limitazioni nel servo integrale

Descrizione
Con @47 è possibile limitare l’azione del servo integrale per ogni asse gestito dal controllo.
La correzione di velocità calcolata, a parità di errore, aumenta nel tempo secondo il guadagno
programmato (vedi @43).
Tale correzione può essere tuttavia limitata ad un valore massimo espresso in punti (@47).

Es.: definizione limite servo integrale

@47 X20 Y10 Z0

Es.: lettura limite servo integrale

%47 XYZ ;richiesta di lettura limite servo integrale


X20 Y10 Z0 ;risposta del controllo

4-36
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@48 / %48 Definizione soglia tra 1° e 2° Guadagno Proporzionale


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @48 [X(soglia)] [Y(soglia)] [Z(soglia)] [W(soglia)] [U(soglia)] [V(soglia)] (1)
X(soglia),Y(soglia),Z(soglia),W(soglia) ,U(soglia),V(soglia): soglia; (2)
Sintassi % %48 [X] [Y] [Z] [W] [U] [V] (1)
X,Y,Z,W,U,V: soglia

Risposta CNC [X(soglia)] [Y(soglia)] [Z(soglia)] [W(soglia)] [U(soglia)] [V(soglia)]


Note: (1) La programmazione è relativa ai soli assi definiti nel comando
Gli indirizzi Y, Z , W ,U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto
(2) il valore programmato è sempre un valore senza segno (assoluto)
se viene programmato 0 viene disabilitato il 1° guadagno proporzionale

Descrizione
Con @48 è possibile definire, per ogni asse, la soglia di intervento del 2.do guadagno proporzionale.
Se l’errore di posizione è inferiore alla soglia programmata con @48 agisce il 1° guadagno proporzionale
(vedi @49), mentre se è superiore agisce il 2° guadagno proporzionale (vedi @42).

Es.: definizione soglia

@48 X10 Y5

Es.: lettura soglia

%48 XY ;richiesta di lettura della soglia


X10.0 Y5.0 ;risposta del controllo

4-37
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@49 / %49 Definizione 1° Guadagno Servo Proporzionale


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @49 [X(g)] [Y(g)] [Z(g)] [W(g)] [U(g)] [V(g)] (1)
X(g),Y(g),Z(g),W(g) ,U(g),V(g): guadagno proporzionale; range 0..10000 (2)
Sintassi % %49 [X] [Y] [Z] [W] [U] [V] (1)
X,Y,Z,W,U,V : guadagno proporzionale; range 0..10000

Risposta CNC [X(g)] [Y(g)] [Z(g)] [W(g)] [U(g)] [V(g)]


Note: (1) La programmazione è relativa ai soli assi definiti nel comando
Gli indirizzi Y, Z ,W , U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto
(2) programmando 0 il 1°servo proporzionale viene disabilitato

Descrizione
Con @49 è possibile definire, per ogni asse, il valore del 1°guadagno proporzionale (Kp1), ossia del
servo proporzionale che agisce quando l’errore di posizione è compreso tra 0 e la soglia programmata
con @48.
La correzione effettuata dal meccanismo di servocontrollo sarà, a parità di errore di posizione, tanto più
grande quanto più elevato è il guadagno programmato.

Correzione = Kp1 * E
dove:
Kp1 = guadagno proporzionale
E = errore di posizione

Normalmente si utilizza un solo valore di guadagno proporzionale (vedi @42), tuttavia, in alcune
applicazioni dove esiste la necessità di ottenere una risposta molto rigida ad asse in posizione (per cui è
necessario settare un valore di guadagno alto) senza che questa influenzi in modo significativo la
risposta dell’asse quando questi è in movimento, risulta utile definire un guadagno elevato (Kp1; @49)
ma che agisce solo per errori piccoli (soglia a @48) mentre per la restante parte agisce il guadagno
(Kp2; @42).

Es.: definizione 1° guadagno servo proporzionale

@49 X16 Y48

Es.: lettura 1° guadagno servo proporzionale

%49 XY ;richiesta di lettura del 1° guadagno proporzionale


X16 Y48 ;risposta del controllo

4-38
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@50 / %50 Definizione corrispondenza Spazio-Impulsi Trasduttore


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @50 [X(s),(i)] [Y(s),(i)] [Z(s),(i)] [W(s),(i)] [U(s),(i)] [V(s),(i)] (1)
X(s),(i) Y(s),(i) Z(s),(i) W(s),(i) U(s),(i) V(s),(i): spazio e impulsi (2)
Sintassi % %50 [X] [Y] [Z] [W] [U] [V] (1)
X,Y,Z,W,UV: spazio e impulsi

Risposta CNC [X(s),(i)] [Y(s),(i)] [Z(s),(i)] [W(s),(i)] [U(s),(i)] [V(s),(i)]


Note: (1) La programmazione è relativa ai soli assi definiti nel comando
Gli indirizzi Y, Z , W , U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto
(2) i valori programmati sono entrambi senza segno (assoluti)

Descrizione
Con questa funzione è possibile definire, per ogni asse, la corrispondenza tra lo spostamento dell’asse e
il numero equivalente di impulsi del trasduttore, mediante la definizione di una coppia di valori
(s = spazio, i = impulsi).
I valori (s) e (i), separati dalla virgola, devono essere diversi da 0. Lo spazio può essere programmato
con decimali (valore reale) mentre il numero di impulsi deve sempre essere un numero intero.

Importante
Nel calcolo del numero di impulsi, tenere sempre presente che il controllo effettua sempre la moltiplica
*4 degli impulsi ricevuti dal trasduttore

Questo parametro deve essere definito per gli assi dotati di trasduttore di posizione.

Es.: definizione corrispondenza spazio-impulsi del trasduttore

@50 X6.5,100 Y6.5,100 Z10,1000

Es.: lettura corrispondenza spazio-impulsi del trasduttore

%50 XYZ ;richiesta di lettura corrispondenza spazio-impulsi


X6.5,100 Y6.5,100 Z10,1000 ;risposta del controllo

4-39
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@51 / %51 Definizione corrispondenza Spazio-Step Motore


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @51 [X(s),(p)] [Y(s),(p)] [Z(s),(p)] [W(s),(p)] [U(s),(p)] [V(s),(p)] (1)
X(s),(p) Y(s),(p) Z(s),(p) W(s),(p) U(s),(p) V(s),(p): spazio e passi (2)
Sintassi % %51 [X] [Y] [Z] [W] [U] [V] (1)
X,Y,Z,W,U,V : spazio e passi

Risposta CNC [X(s),(p)] [Y(s),(p)] [Z(s),(p)] [W(s),(p)] [U(s),(p)] [V(s),(p)]


Note: (1) La programmazione è relativa ai soli assi definiti nel comando
Gli indirizzi Y, Z , W , U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto
(2) i valori programmati sono entrambi senza segno (assoluti)

Descrizione
Con questa funzione è possibile definire, per ogni asse, la corrispondenza tra lo spostamento dell’asse e
il numero equivalente di step motore, mediante la definizione di una coppia di valori
(s = spazio, p = step).
I valori (s) e (p), separati dalla virgola, devono essere diversi da 0. Lo spazio può essere programmato
con decimali (valore reale) mentre il numero di impulsi deve sempre essere un numero intero.
Il comando è significativo per i soli assi movimentati da motori passo-passo.

Importante
Nel calcolo del numero di passi, considerare sempre il funzionamento del motore (passo intero,
1/2 passo, 1/4 passo, etc. ).

Es.: definizione corrispondenza spazio-step motore

@51 X10.234,100 Y0.5,10 Z10.99,1000

Es.: lettura corrispondenza spazio-step motore

%50 XYZ ;richiesta di lettura corrispondenza spazio-step


X10.234,100 Y0.5,10 Z10.99,1000 ;risposta del controllo

4-40
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@52 / %52 Definizione Rapporto Tensione Analogica


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @52 (i)[(g2),(v2) [(g1),(v1)]]
(i) : identificativo
(g1) : giri o velocità primo punto (default = 0)
(v1) : tensione associata primo punto ( default = 0)
(g2) : giri o velocità secondo punto
(v2) : tensione associata secondo punto
Sintassi % %52

Risposta CNC (i),(g2),(v2) [(g1),(v1)]

Descrizione
Con questa funzione è possibile definire il rapporto tra la velocità di un asse o il n. di giri mandrino (g) e il
valore di tensione (v) che si deve ottenere in uscita.
Il carattere identificativo (i) può assumere i seguenti significati:

‘ ‘ => disabilitato (default)


‘S’ => mandrino (uscita analogica impostata da comando ISO S)
‘X’ => asse X (uscita analogica proporzionale alla velocità dell’asse X)
‘Y’ => asse Y (uscita analogica proporzionale alla velocità dell’asse Y)
‘Z’ => asse Z (uscita analogica proporzionale alla velocità dell’asse Z)
‘W’ => asse W (uscita analogica proporzionale alla velocità dell’asse W)
‘U’ => asse U (uscita analogica proporzionale alla velocità dell’asse U)
‘V’ => asse V (uscita analogica proporzionale alla velocità dell’asse V)
‘I’ => velocità punto in interpolazione (uscita analogica proporzionale alla velocità di interpolazione)

Impostando un solo punto si definisce una caratteristica passante per lo zero (a velocità di rotazione o di
movimento uguale a zero si ha una tensione in uscita di zero volt).
Impostando tutti e due i punti (diversi l’uno dall’altro) si può ottenere una caratteristica non passante per
lo zero (a velocità uguale zero si ha una tensione in uscita diversa da zero).

nota (1): gli indirizzi Y, Z , W , U e V sono ammessi soltanto se disponibili sul modello di controllo scelto

Es.: definizione rapporto tensione analogica


@52 S8000,10 ;con il comando S800 si ha una tensione in uscita di 1 Volt
@52 I0,-1.5 6000,0 ;nei movimenti interpolati ad assi fermi si ha in uscita una tensione di –1.5
;Volt e una tensione di 0 Volt ad una velocità F6000
Es.: lettura rapporto tensione analogica
%52 ;richiesta di lettura rapporto tensione analogica
S8000,10 ;risposta del controllo
%52 ;richiesta di lettura rapporto tensione analogica
I6000,5 1000,-2 ;risposta del controllo
Nota
Ovviamente il comando è significativo se c’è l’uscita analogica opzionale.
4-41
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@53 / %53 Definizione Frequenza Massima


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @53 [X(f)] [Y(f)] [Z(f)] [W(f)] [U(f)] [V(f)] (1)
X(f), Y(f), Z(f), W(f) , U(f), V(f) :frequenza massima (2)
Sintassi % %53 [X] [Y] [Z] [W] [U] [V] (1)
X,Y,Z,W,U,V : frequenza massima

Risposta CNC [X(f)] [Y(f)] [Z(f)] [W(f)] [U(f)] [V(f)]


Note: (1) La programmazione è relativa ai soli assi definiti nel comando
Gli indirizzi Y, Z , W , U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto
(2) i valori programmati sono espressi in Hz (hertz)

Descrizione
@53 permette la definizione dei valori di frequenza massima di ciascun asse.
Se l’asse è di tipo Corrente Continua il valore definisce la frequenza massima in uscita dal trasduttore
(impulsi al secondo) quando l’asse si muove alla massima velocità.
Se l’asse è di tipo Passo-Passo (retroazionato o no) il valore definisce la massima frequenza che il
controllo può generare.

Importante
Nel calcolo dei valori di frequenza, tenere sempre presente che il controllo effettua sempre la
moltiplica *4 degli impulsi ricevuti dal trasduttore.
Considerare inoltre il funzionamento del motore passo-passo (passo intero, 1/2 passo, 1/ 4 passo, etc. ).

Se viene programmato il comando @84,1 e il comando @54 relativo all’asse in questione è


programmato = 0, il parametro programmato (@53) viene utilizzato come limite di velocità.

Es.: definizione frequenza massima

@53 X15347 Y18000 Z1000

Es.: lettura frequenza massima

%53 XYZ ;richiesta di lettura frequenza massima


X15347 Y18000 Z1000 ;risposta del controllo

4-42
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@54 / %54 Programmazione Limite Velocità


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @54 [X(v)] [Y(v)] [Z(v)] [W(v)] [U(v)] [V(v)] (1)
X(v), Y(v), Z(v), W(v) , U(v), V(v) :limite di velocità (2)
Sintassi % %54 [X] [Y] [Z] [W] [U] [V] (1)
X,Y,Z,W,U,V : limite di velocità

Risposta CNC [X(v)] [Y(v)] [Z(v)] [W(v)] [U(v)] [V(v)]


Note: (1) La programmazione è relativa ai soli assi definiti nel comando
Gli indirizzi Y, Z , W , U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto
(2) il valore rappresenta una velocità, espressa in unità ingegneristiche / min

Descrizione
La funzione @54 permette la definizione dei valori di velocità massima di ciascun asse.
L’abilitazione del comando avviene tramite @84.
Con questo comando è pertanto possibile definire un limite di velocità per ogni asse in funzione delle
caratteristiche meccaniche dell’asse stesso.

Importante
Se il limite di velocità programmato è uguale a 0 (è così di default) viene preso il valore ricavato dalla
funzione @53. (Se il parametro @84 è = 1)

Es.: definizione limite velocità

@54 X15000 Y20000 W10000

Es.: lettura limite velocità

%53 XYW ;richiesta di lettura limite di velocità


X15000 Y20000 W10000 ;risposta del controllo

4-43
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@56 / %56 Definizione Velocità / Frequenza di Start-Stop


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @56 [X(ss)] [Y(ss)] [Z(ss)] [W(ss)] [U(ss)] [V(ss)] (1)
X(ss), Y(ss), Z(ss), W(ss) , U(ss), V(ss) :frequenza / velocità start-stop; (2)
range 0..9999
Sintassi % %56 [X] [Y] [Z] [W] [U] [V] (1)
X,Y,Z,W,U,V : frequenza / velocità start-stop; range 0..9999

Risposta CNC [X(ss)] [Y(ss)] [Z(ss)] [W(ss)] [U(ss)] [V(ss)]


Note: (1) La programmazione è relativa ai soli assi definiti nel comando
Gli indirizzi Y, Z , W , U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto
(2) per i motori in corrente continua il valore rappresenta una velocità, espressa in
unità ingegneristiche / min; per i motori passo-passo rappresenta una
frequenza, espressa in Hz

Descrizione
La funzione @56 permette la definizione dei valori di velocità di start-stop per gli assi in corrente
continua e di frequenza di start-stop per gli assi passo-passo.
I valori di frequenza per gli assi passo-passo devono sempre essere interi.

Importante
Nel calcolo dei valori di frequenza considerare sempre il funzionamento del motore passo-passo (passo
intero, 1/2 passo, 1/4 passo, etc. ).

Es.: definizione velocità / frequenza start-stop

@56 X0 Y1.5 Z100 ;gli assi X e Y sono in corrente continua, Z è un passo-passo

Es.: lettura velocità / frequenza start stop

%56 XYZ ;richiesta di lettura velocità / frequenza start-stop


X0 Y0 Z100 ;risposta del controllo :gli assi X e Y sono in corrente continua, Z è
;un passo-passo

4-44
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@57 / %57 Definizione Rampe di Accelerazione / Decelerazione


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @57 [X(t)] [Y(t)] [Z(t)] [W(t)] [U(t)] [V(t)] (1)
X(t), Y(t), Z(t), W(t) , U(t), V(t) : tempo rampa; range 0..9999 (2)
Sintassi % %57 [X] [Y] [Z] [W] [U] [V] (1)
X,Y,Z,W,U,V : tempo rampa; range 0..9999

Risposta CNC [X(t)] [Y(t)] [Z(t)] [W(t)] [U(t)] [V(t)]


Note: (1) La programmazione è relativa ai soli assi definiti nel comando
Gli indirizzi Y, Z , W , U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto
(2) il valore è espresso in millesimi di secondo
programmando 0 si ottiene il gradino di velocità

Descrizione
La funzione @57 permette di definire la pendenza delle rampe di accelerazione e decelerazione di
ciascun asse, mediante la programmazione del tempo da impiegare per passare dalla velocità o
frequenza di start-stop alla velocità o frequenza massima (definita dal codice @53) e viceversa.

Es.: definizione rampe di accelerazione / decelerazione

@57 X1000 Y500 Z800

Es.: lettura rampe di accelerazione / decelerazione

%57 Z Y X ;richiesta di lettura rampe accelerazione / decelerazione


X1000 Y500 Z800 ;risposta del controllo

4-45
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@58 / %58 Definizione Tipo Rampa


Pic2000 Goya Renoir Mirò Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @58 [X(r)] [Y(r)] [Z(r)] [W(r)] [U(r)] [V(r)] (1
X(r), Y(r), Z(r), W(r), U(r), V(r): tipo rampa )

Sintassi % %58 [X] [Y] [Z] [W] [U] [V] (1


X,Y,Z,W,U,V : tipo rampa )
Risposta CNC [X(r)] [Y(r)] [Z(r)] [W(r)] [U(r)] [V(r)]
Note: (1) La programmazione è relativa ai soli ingressi assi definiti nel comando
Gli indirizzi Y, Z, W, U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto

Descrizione
Con questa funzione è possibile definire il tipo di rampa di accelerazione / decelerazione che si desidera
venga eseguita.
Il carattere (r) assume i valori:
0 -> rampa lineare
1 -> rampa parabolica
2 -> rampa cubica

Nota
Per i movimenti interpolati tra più assi viene utilizzata la rampa più “lenta”.

Es.: definizione tipo rampa

@58 X0 Y1 Z0

Es.: lettura tipo rampa

%58 X Y Z ;richiesta di lettura tipo rampa


X0 Y1 Z0 ;risposta del controllo

4-46
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@59 / %59 Definizione Soglia per Asse in Posizione


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @59 [X(soglia)] [Y(soglia)] [Z(soglia)] [W(soglia)] [U(soglia)] [V(soglia)] (1)
X(soglia), Y(soglia), Z(soglia), W(soglia) , U(soglia), V(soglia) : soglia (2)
Sintassi % %59 [X] [Y] [Z] [W] [U] [V] (1)
X,Y,Z,W,U,V : soglia
Risposta CNC [X(soglia)] [Y(soglia)] [Z(soglia)] [W(soglia)] [U(soglia)] [V(soglia)]
Note: (1) La programmazione è relativa ai soli assi definiti nel comando
Gli indirizzi Y, Z , W , U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto
(2) il valore programmato è espresso in punti encoder

Descrizione
Con @59 è possibile definire, per ogni asse, la soglia dell’errore di posizione, al di sotto del quale l’asse
viene considerato “in quota”.
A questo proposito si vedano le funzioni G61 e G62.

Es.: definizione soglia per asse in posizione

@59 X5 Y2 Z0

Es.: lettura soglia per asse in posizione

%59 X Y Z ;richiesta di lettura soglia


X5 Y2 Z0 ;risposta del controllo

4-47
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@60-@61 / %60-%61 Definizione Limiti Macchina


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @60 [X(quota)] [Y(quota)] [Z(quota)] [W(quota)] [U(quota)] [V(quota)] (1)
X(quota), Y(quota), Z(quota), W(quota) , U(quota), V(quota) : limiti (2)
Sintassi % %60 [X] [Y] [Z] [W] [U] [V] (1)
X,Y,Z,W,U,V : limiti

Risposta CNC [X(quota)] [Y(quota)] [Z(quota)] [W(quota)] [U(quota)] [V(quota)]


Note: (1) La programmazione è relativa ai soli assi definiti nel comando
Gli indirizzi Y, Z , W , U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto
(2) le quote limite, programmabili con segno, sono sempre riferite allo zero
macchina

Descrizione
Con queste due funzioni è possibile definire i valori limite delle quote di ciascun asse, riferiti allo zero
macchina.
Con @60 si definiscono i limiti massimi, mentre @61 permette di definire i limiti minimi.
I valori programmati con queste funzioni possono ulteriormente essere ridotti in fase di lavorazione
mediante le funzioni G25 e G26.
Se viene superato il fine corsa software il controllo entra in emergenza e l’azionamento viene disabilitato;
una volta effettuato il reset del controllo, quest’ultimo si muoverà soltanto nella direzione di
allontanamento dal fine corsa (vedi figura); un ulteriore tentativo di muoversi oltre il fine corsa
causerebbe un nuovo ingresso in emergenza.

Fine corsa software

Importante
Se entrambi i limiti di un asse sono programmati a 0, non viene eseguito nessun controllo sul
superamento delle quote: ciò è utile per gli assi rotatori per i quali non esistono limiti fisici.

Nota bene
• I fine corsa software, se programmati, non sono attivi durante la fase di SET-POINT
• Il valore definito da @60 deve essere maggiore di quello definito da @61; in caso contrario il
controllo andrà in emergenza al momento dell’esecuzione di un qualunque comando di movimento.
• I fine corsa software sono attivi solo una volta che è stato fatto il set-point

4-48
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

Es.: definizione limiti

@60 X100.123 Y500.000 Z100


@61 X-100 Y-500.000 Z0

Es.: lettura limiti

%60 XYZ ;richiesta di lettura limiti


X100.123 Y500.000 Z100 ;risposta del controllo

%61 XYZ ;richiesta di lettura limiti


X-100.000 Y-500.000 Z0 ;risposta del controllo

4-49
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@70 / %70 Definizione Attività Tasti Pannello


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @70 [K(t),(b)] [K(t),b] [K(t),(b)] …. [K(t),(b)]
K(t),(b) : numero tasto, tipo tasto (1)
Sintassi % %70

Risposta CNC [K(t),b] [K(t),(b)] …. [K(t),(b)]


Note: (1) il valore (t) deve essere nel range 1-16 (al massimo sono definibili 16 tasti)
il valore (b) deve essere nel range 0-17

Descrizione
Con la funzione @70 è possibile definire l’attività dei tasti associati al pannello esterno di controllo.

Il “pannello operatore” è abilitato dai comandi :


@97,1 ; abilita il “pannello operatore” all’accensione
&10 - &11 ; per abilitare / disabilitare il “pannello operatore” da linea

Il valore (b) ha il seguente significato:

b = 0 -> tasto disabilitato


b = 1 -> attivo solo in pressione in JOG
b = 2 -> attivo solo in pressione in AUTOMATICO
b = 3 -> attivo solo in pressione in AUTOMATICO e in JOG
b = 4 -> tasto disabilitato
b = 5 -> attivo sia in pressione che in rilascio in JOG
b = 6 -> attivo sia in pressione che in rilascio in AUTOMATICO
b = 7 -> attivo sia in pressione che in rilascio in AUTOMATICO e in JOG
b = 8 -> selezione modo AUTOMATICO / JOG ;
[ b = 9 -> selezione modo PROG / LINE ] ;
b = 10 -> selettore Programmi (bit 0) ; comandi di gestione
b = 11 -> selettore Programmi (bit 1) ; del “pannello operatore”
b = 12 -> selettore Programmi (bit 2) ; senza l’ausilio del PLC
b = 13 -> selettore Programmi (bit 3) ;
b = 14 -> selettore Programmi (bit 4) ; gli ingressi del selettore Programmi
b = 15 -> selettore Programmi (bit 5) ; non usati sono interpretati = 0
b = 16 -> selettore Programmi (bit 6) ;
b = 17 -> selettore Programmi (bit 7) ;

Ad ogni tasto sono quindi associati due “programmi”, uno eseguito alla pressione del tasto e uno al suo
rilascio; l’associazione numero tasto numero programma è la seguente:

tasto 1 (K1) -> programma 101 alla pressione


programma 121 al rilascio
tasto 2 (K2) -> programma 102 alla pressione
programma 122 al rilascio

4-50
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

….. …..
tasto 16 (K16) -> programma 116 alla pressione
programma 136 al rilascio

Prestare attenzione che nei controlli S&h il modulo Cnc numera ingressi e uscite a partire da 1
mentre i riferimenti utilizzati dal modulo Plc partono da 0.

per cui i comandi Cnc


@1, @22 e @70
hanno come riferimento ingressi e uscite numerati a partire da 1

mentre i comandi G65 Pnn --> G69 Pnn che si riferiscono al modulo Plc (o direttamente a ingressi
e uscite del controllo) hanno come punto iniziale il numero 0

Percio' i comandi Cnc


@01 I3,n.n
@70 K3,n
G65 P2
si riferiscono tutti al 3^ ingresso

mentre @22 O5,n,n G67 P4si riferiscono tutti alla 5^ uscita

Es.: definizione attività tasti pannello

@70 K1,2 K2,0 K3,5 il tasto 1 è definito attivo solo alla pressione in automatico (programma
101); il tasto 2 è disattivato; il tasto 3 è definito attivo alla pressione e al
rilascio in manuale (programmi 103 e 123);

Es.: lettura attività tasti pannello

%70 richiesta di lettura attività tasti


K1,2 K3,5 risposta del controllo

4-51
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@71 / %71 Definizione Formato Dati inviati dal Controllo


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @71 [X(d)] [Y(d)] [Z(d)] [W(d)] [U(d)] [V(d)] (1)
X(d), Y(d), Z(d), W(d) , U(d), V(d) : decimali ; range 0..5
Sintassi % %71 [X] [Y] [Z] [W] [U] [V] (1)
X,Y,Z,W,U,V : decimali; range 0..5

Risposta CNC [X(d)] [Y(d)] [Z(d)] [W(d)] [U(d)] [V(d)]


Note: (1) La programmazione è relativa ai soli assi definiti nel comando
Gli indirizzi Y, Z , W , U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto

Descrizione
Con la funzione @71 è possibile definire il formato dei dati inviati dal controllo, in risposta ad un qualsiasi
comando di lettura quote, spazi e velocità, programmando il numero di cifre decimali del valore inviato.

Es.: definizione formato dati

@71 X1 Y1 Z3

Es.: lettura formato dati

%71 X Y Z ;richiesta di lettura formato dati


X1 Y1 Z3 ;risposta del controllo
^W
X0.0 Y0.0 Z0.000

4-52
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@72 / %72 Definizione Tipo Asse: Lineare / Angolare


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @72 [X(n)] [Y(n)] [Z(n)] [W(n)] [U(n)] [V(n)] (1)
X(n), Y(n), Z(n), W(n) , U(n), V(n) : tipo di asse (2)
Sintassi % %72 [X] [Y] [Z] [W] [U] [V] (1)
X,Y,Z,W,U,V : tipo di asse

Risposta CNC [X(n)] [Y(n)] [Z(n)] [W(n)] [U(n)] [V(n)]


Note: (1) La programmazione è relativa ai soli assi definiti nel comando
Gli indirizzi Y, Z , W ,U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto
(2) il carattere (n) può assumere i seguenti valori:
0 = lineare; 1 = angolare

Descrizione
La funzione permette di definire se l’asse è di tipo lineare o di tipo angolare.
Sulle quote degli assi angolari non verrà mai applicata la conversione in pollici.

Es.: definizione tipo di asse

@72 X0 Y0 Z1

Es.: lettura tipo di asse

%72 X Y Z ;richiesta di lettura tipo di asse


X0 Y0 Z1 ;risposta del controllo

4-53
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@80 / %80 Abilitazione della Variazione Percentuale Velocità Assi


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @80,(n) (1)
(n) : 0 = disabilita;
1 = variazione da comando (PLC o &30);
2 = variazione da potenziometro esterno
Sintassi % %80

Risposta CNC (n)


Note: (1) non è previsto nessun indirizzo
il valore (n) viene separato dal codice di funzione mediante la virgola

Descrizione
La funzione permette di abilitare o meno la correzione percentuale della velocità nominale attribuita agli
assi.

Es.: abilitazione variazione percentuale

@80,1

Es.: lettura abilitazione variazione percentuale

%80 ;richiesta di lettura abilitazione / disabilitazione


1 ;risposta del controllo

4-54
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

%81 Lettura Variabili


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi % %81 (variabile) (1)

Risposta CNC “valore della variabile”


Note: (1) deve essere specificato il nome della variabile da leggere

Descrizione
La funzione permette di leggere il contenuto delle variabili: Q, del contenuto della tabella camme E o
delle origini O.

Variabile Q = può essere espressa come un numero (1..299) preceduto dalle lettere Q (es. Q120 per la
variabile 120) o il mnemonico che rappresenta questa variabile (es. QRX per la variabile 219).

Variabile E:

%81 En[p] => lettura della riga “p” (0…999) della tabella “n” (0…1)

%81 En[p] [q] => Lettura di un elemento della tabella “n” (0…1)

Variabile O:

%81 O[n] => lettura della tabella origine “n”

Il comando %81 Q è equivalente al comando %Qnn


Il comando %81 E è equivalente al comando %E
Il comando %81 O è equivalente al comando %O

Es.: lettura variabili

%81 Q21 ;richiesta di lettura variabili


24234.5 ;risposta del controllo

4-55
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@82 / %82 Comando riservato


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @82,(n)
Sintassi % %82

Risposta CNC (n)

4-56
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@83 / %83 Abilitazione Linea in Esecuzione


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @83,(n) (1)
(n) : 0 = disabilitata; 1 = abilitata
Sintassi % %83

Risposta CNC (n)


Note: (1) non è previsto nessun indirizzo
il valore (n) viene separato dal codice di funzione mediante la virgola

Descrizione
La funzione permette di abilitare o meno l’invio, in coda al numero di linea in esecuzione, della linea di
programma.

Es.: abilitazione linea in esecuzione

@83,1
ACK
N15 G0 X100

Es.: lettura abilitazione linea in esecuzione

%83 ;richiesta di lettura linea in esecuzione


1 ;risposta del controllo

4-57
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@84 / %84 Abilitazione Limitazione Velocità


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @84,(n) (1)
(n) : 0 = disabilitata; 1 = abilitata
Sintassi % %84

Risposta CNC (n)


Note: (1) Non è previsto nessun indirizzo
Il valore (n) viene separato dal codice di funzione mediante la virgola
Il valore di default è ‘0’

Descrizione
La funzione permette di utilizzare il parametro programmato con il comando @53 o @54 come limite
massimo di velocità per il motore.
Se il valore impostato è ‘0’ il controllo non utilizza questo valore come limite massimo, ma può anche
oltrepassarlo.

Se è stato programmato un valore diverso da zero con la funzione @54 viene utilizzato quest’ultimo
valore; altrimenti viene preso il valore programmato con @53.

Es.: abilitazione limite massimo

@84,1

Es.: lettura abilitazione linea in esecuzione

%84 ;richiesta di lettura abilitazione limite massimo


1 ;risposta del controllo

4-58
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@85 / %85 Abilitazione Invio Codice <BEL>


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @85,(n) (1)
(n) nel range : 0..9 (2)
Sintassi % %85

Risposta CNC (n) : 0 = <BEL> disabilitato; 1..9 = temporizzazione espressa in secondi


Note: (1) non è previsto nessun indirizzo
il valore (n) viene separato dal codice di funzione mediante la virgola
(2) (n) definisce il tempo, espresso in secondi, che deve trascorrere tra l’invio di
due <BEL> consecutivi
programmando 0 l’invio viene disabilitato

Descrizione
La funzione permette di abilitare o meno l’invio, temporizzato, del codice di controllo Ctrl-G (<BEL>)
durante gli stati di emergenza o di allarme del controllo.

Es.: abilitazione invio codice <BEL>

@85,4

Es.: lettura abilitazione invio codice <BEL>

%85 ;richiesta di lettura


4 ;risposta del controllo

4-59
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@86 / %86 Modifica del Protocollo di Comunicazione (PLC)


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni -
Funzioni compatibili -
Sintassi @ @86, (t)
(t) : numero nel range 0..23
Sintassi % %86
(n)
Risposta CNC (n)

Descrizione
Permette di modificare il protocollo di comunicazione tra il PC e il PLC. (Sulla linea di comunicazione
seriale opzionale).
Il sistema si predispone all'accensione per colloquiare con il seguente protocollo seriale :
baud-rate = 9600
dat-bit =8
parità = ODD
stop-bit =1
Con questo comando e' possibile modificare il BAUD-RATE e la PARITA' .
Il parametro (t) e' un numero (0-23) con il seguente significato :

databit = 8 databit = 7
0 300-even 32 300-even
1 600-even 33 600-even
2 1200-even 34 1200-even
3 2400-even 35 2400-even
4 4800-even 36 4800-even
5 9600-even 37 9600-even
6 19200-even 38 19200-even
7 38400-even 39 38400-even
8 300-odd 40 300-odd
9 600-odd 41 600-odd
10 1200-odd 42 1200-odd
11 2400- odd 43 2400- odd
12 4800-odd 44 4800-odd
13 9600-odd 45 9600-odd
14 19200-odd 46 19200-odd
15 38400-odd 47 38400-odd
16 300-no parità 48 300-no parità
17 600-no parità 49 600-no parità
18 1200-no parità 50 1200-no parità
19 2400-no parità 51 2400-no parità
20 4800-no parità 52 4800-no parità
21 9600-no parità 53 9600-no parità
22 19200-no parità 54 19200-no parità
23 38400-no parità 55 38400-no parità

4-60
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

Es.: modifica del protocollo di comunicazione PLC

PC > '@86,22' <cr> seleziona il protocollo 19200,8,1,NO-PARITY


CONTROLLO > '$'

Es.: lettura del protocollo di comunicazione PLC

PC > '%86’ <cr>


CONTROLLO > '22'

4-61
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@90 / %90 Definizione Soglia-errore Coordinate del Centro


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @90,(soglia) (1)
(soglia) nel range : 0..99.9 (2)
Sintassi % %90

Risposta CNC (soglia)


Note: (1) non è previsto nessun indirizzo
la soglia di errore viene separata dal codice di funzione mediante la virgola
(2) il valore programmato è sempre un valore senza segno (assoluto) 0…99.9

Descrizione
La funzione permette di definire il massimo errore (espresso in unità ingegneristiche) che può essere
commesso nella programmazione delle coordinate del centro nelle interpolazioni circolari.

Es.: definizione soglia

@90,0.5

Es.: lettura definizione soglia

%90 ;richiesta di lettura


0.5 ;risposta del controllo

4-62
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@91 / %91 Definizione Soglia “Obiettivo Raggiunto”


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @91,(soglia) (1)
(soglia) nel range : 0.0..qmax (2)
Sintassi % %91

Risposta CNC (soglia)


Note: (1) non è previsto nessun indirizzo
la soglia viene separata dal codice di funzione mediante la virgola
(2) il valore programmato è sempre un valore senza segno (assoluto)

Descrizione
La funzione permette di definire il valore (espresso in unità ingegneristiche) sotto il quale viene attivato il
bit di “obiettivo raggiunto” nel registro di stato CNC

Es.: definizione soglia

@91,20.0

Es.: lettura definizione soglia

%91 ;richiesta di lettura


20.0 ;risposta del controllo

4-63
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@94 , %94 Definizione "SOGLIA" utensile Tangenziale


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @94,(s) (1)
(s): definizione valore di “soglia” per l’utensile "TANGENZIALE"
Il valore (s) deve essere un valore assoluto, senza segno
Sintassi % %94 (1)

Risposta CNC (s)


Note: (1) La programmazione è relativa all'asse definito come "ASSE TANGENZIALE"

Descrizione
Permette di definire la finestra di posizione entro la quale si deve trovare l’utensile (asse programmato
come TANGENZIALE) affinchè, un successivo movimento in interpolazione lineare o circolare dei due assi
sul piano di interpolazione attivo, possa proseguire senza eseguire le operazioni di:
ALZA, POSIZIONA, ABBASSA utensile.
In funzione del valore di “soglia” programmato vengono gestite le operazioni di posizionamento
dell’utensile quando è attiva la guida automatica (vedi comando G93).

Si supponga di lavorare nel piano X,Y con l'asse Z come TANGENZIALE e di avere, per effetto di
movimenti precedenti, l’asse Z posizionato alla quota 44.5 gradi e di dover eseguire un movimento in
interpolazione sugli assi XY tale per cui l’asse Z dovrebbe essere alzato, posizionato a 45 gradi e
riabbassato prima di iniziare l’interpolazione.
Programmando con @94 una soglia di 1 grado con la quale si definisce una finestra tra 44 e 46 gradi, il
posizionamento dell’utensile avverrà senza eseguire le operazioni di alza e abbassa e sarà
contemporaneo alla esecuzione del movimento di interpolazione.

Per quanto descritto si sconsiglia l’utilizzo della soglia in applicazioni quali i plotter da taglio nei quali la
modalità del posizionamento, che deve sempre avvenire ad utensile alto, è fondamentale per la qualità
delle lavorazioni eseguite.

Es.: programmazione “Soglia” utensile Tangenziale


@94,1.5 ;definisci “soglia” utensile Tangenziale = 1.5

Es.: lettura “Soglia” utensile Tangenziale


%94 ;richiesta di lettura
1.5 ;risposta del controllo (“soglia” = 1.5)

N.B. Il dato di “soglia” programmato e/o letto è sempre espresso nelle unità di misura definite dell’asse
programmato come utensile "TANGENZIALE" (comandi: G93 , @71 ).

Nota
Comando disponibile se il controllo monta la relativa opzione

4-64
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@95 , %95 Definizione "N° TAGLIENTI" utensile Tangenziale


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @95,(n) (1)
(n): definizione n° TAGLIENTI utensile tangenziale (valori ammessi: 1 o 2)
Il valore (n) assume il significato:
1 = utensile tangenziale ad "1 TAGLIENTE"
2 = utensile tangenziale ad "2 TAGLIENTI"
Sintassi % %95 (1)

Risposta CNC (n)


Note: (1) La programmazione è relativa all'asse definito come "ASSE TANGENZIALE

Descrizione
La gestione è sempre associata all’asse programmato come TANGENZIALE (asse rotatorio), permette di
definire il NUMERO DI TAGLIENTI (1 o 2) dell'utensile.
In funzione del n° di taglienti vengono ottimizzate le operazioni di posizionamento dell’utensile quando è
attiva la guida automatica (vedi comando G93).

Es.: programmazione utensile Tangenziale con 2 Taglienti


@95,2 ;definisci utensile Tangenziale = utensile con 2 Taglienti

Es.: lettura tipo utensile Tangenziale


%95 ;richiesta di lettura
1 ;risposta del controllo (utensile Tangenziale con 1 Tagliente)

Nota
Comando disponibile se il controllo monta la relativa opzione

4-65
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@96 / %96 Definizione "TEMPI ALZA/ABBASSA" utensile Tangenziale


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @96,(a),(b) (1)
(a),(b): definizione tempi di ALZA/ABBASSA utensile "TANGENZIALE"
I valori (a),(b) assumono il significato:
(a) = "TEMPO ALZA" (range: 0…9999 millisecondi)
(b) = "TEMPO ABBASSA" (range: 0…9999 millisecondi)
Sintassi % %96 (1)

Risposta CNC (a),(b)


Note: (1) La programmazione è relativa all'asse definito come "ASSE TANGENZIALE"

Descrizione
La gestione è sempre associata all’asse programmato come TANGENZIALE (asse rotatorio), permette di
definire il tempo minimo che deve intercorrere tra il il sollevamento dell’utensile e la sua rotazione (alza),
e il tempo minimo che deve intercorrere tra la discesa dell’utensile e la ripartenza degli altri due assi sul
piano di interpolazione.
Nella gestione dell’ALZA/ABBASSA utensile è anche possibile assogettarne i relativi movimenti a degli
ingressi specifici (ingresso di UTENSILE-BASSO, e quello di UTENSILE-ALTO) programmati tramite il
comando @01;
la sequenza di esecuzione, un ciclo di ALZA/ABBASSA, in questa condizione diventa pertanto :
- attiva l’uscita di “utensile su”
- attendi attivazione ingresso di “utensile su”
- inizia conteggio del tempo di attesa ("TEMPO ALZA")
- scaduto il tempo di attesa, attiva la rotazione dell’utensile
- attiva l’uscita di “utensile giu”
- attendi attivazione ingresso di “utensile giu”
- inizia conteggio del tempo di attesa ("TEMPO ABBASSA")
- scaduto il tempo di attesa, riprendi il movimento degli assi sul piano di interpolazione
Le due funzioni sono esclusive (l’utensile è o alto o basso), quindi, se una delle due funzioni è gestita da
un fine corsa, l’altra funzione, oltre ad aspettare per il tempo impostato, verifica che non sia più attiva la
condizione della prima funzione.

Es.: programmazione tempi di ALZA/ABBASSA utensile Tangenziale

@96,200,500 ;definisci tempo di “ALZA UTENSILE” = 200ms


;tempo di “ABBASSA UTENSILE” = 500ms

Es.: lettura tempi utensile Tangenziale

%96 ;richiesta di lettura


200,500 ;risposta del controllo (tempo alza = 200ms, tempo abbassa = 500 ms)

Nota
Comando disponibile se il controllo prevede la relativa opzione

4-66
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@97 / %97 Abilitazione Pannello di Controllo all’Accensione


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @97, (n) (1)
(n) : 0 = disabilitato; 1 = abilitato
Sintassi % %97

Risposta CNC (n)


Note: (1) non è previsto nessun indirizzo
il valore (n) viene separato dal codice di funzione mediante la virgola

Descrizione
La funzione permette di definire se, all’accensione, il pannello di controllo remoto deve essere
automaticamente abilitato.

Es.: abilitazione pannello di controllo

@97,1

Es.: lettura abilitazione pannello di controllo

%97 ;richiesta di lettura


1 ;risposta del controllo

4-67
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@98 Recupera Parametri da Memoria Permanente


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @98 (1)

Note: (1) è un comando senza parametri

Descrizione
Con questa funzione i valori “correnti” di tutti i parametri definibili con le funzioni ‘@’ vengono letti “in
blocco” dalla memoria permanente.
I valori letti sono quelli salvati con il comando @99.

Es.: recupera i parametri da Ram tamponata

@98

4-68
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

%98 Lettura Configurazione del Sistema di Controllo


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi % %98 / %98A

Risposta CNC m a , x y z w u v e o i p [nn]

Descrizione comando %98


Questa funzione permette di leggere la configurazione (prememorizzata nel controllo) e di verificare le
seguenti caratteristiche del controllo :

- modello (posizionatore, interpolatore o utensile tangenziale)


- numero assi (1, 2 , 3 , 4 , 5 , 6)
- tipo assi (continua, stepper o stepper retroazionati)
- numero moduli di I/O PLC
- numero moduli di uscite analogiche PLC
- numero moduli di ingressi analogici PLC
- numero del controllo (solo se é stato definito un numero di controllo diverso da 0)

Risposta
La risposta e' costituita da una stringa di caratteri ASCII:

"m" "a" ',' "x" ["y"] ["z"] ["w"] ["u"] ["v"] "e" "o" "i" ["(nn)"]

dove :

"m" e' un carattere indicante il modello :


'P' : posizionatore
'I' : interpolatore
'U' : utensile tangenziale

"a" e' un carattere indicante il numero di assi gestiti :


'1' : 1 asse
'2' : 2 assi
'3' : 3 assi
‘4’ : 4 assi
‘5’ : 5 assi
‘6’ : 6 assi

4-69
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

"x" "y" "z" “w” "u" e “v” sono caratteri indicanti il tipo di asse :
'C' : corrente continua
'P' : passo-passo
'R' : passo-passo retroazionato
'-' : non abilitato

"e" non è utilizzato

"o" e' un carattere indicante il numero di moduli uscite analogiche disponibili:

"i" e' un carattere indicante il numero di moduli ingressi analogici disponibili:

“p” può assumere i valori:


“C”: senza PLC
“ “ : con PLC

"nn" é un numero (da 01 a 99) indicante il numero associato al controllo

Es.: lettura configurazione

%98 ;richiesta di lettura


I3,CCP110 ;risposta del controllo

Maggiori dettagli possono essere letti con il comando %98A la cui risposta è codificata nel seguente
modo :

A "m" "a" ',' "x" ["y"] ["z"] ["w"] ["u"] ["v"] [,Pnn=kk] […]

In cui il significato dei caratteri “m”, “a”, “x”, “y”, “z”, “w” , “u”, “v”, è identico a quello descritto nel
comando %98 mentre i valori nn, se presenti, rappresentano le opzioni installate ed hanno il seguente
significato :

P00 Numero controllo in multipoint


P01 PLC abilitato
P02 Modulo uscite analogiche
P03 Modulo ingressi analogici
P04 Acquisizione laser seriale
P05 Camma elettrica
P06 Asse elettrico
P07 Espansione memoria
P08 Can bus
P09 Segnale Pwm
P10 2^ microprocessore
P11 Multitasking
P12 Gestione dosaggio

Alcune di queste opzioni non sono ancora disponibili e condizionate al controllo assi in uso

Es.: lettura configurazione

%98A ;richiesta di lettura


AI3PPP,P05=01 ;risposta del controllo : 3 assi stepper interpolati con camma elettrica

4-70
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

@99 Salva Parametri nella Memoria Permanente


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi @ @99 (1)

Note: (1) è una funzione senza parametri

Descrizione
Con questa funzione i valori “correnti” di tutti i parametri definibili con le funzioni ‘@’ vengono salvati “in
blocco” nella memoria permanente.
I valori salvati possono essere recuperati in qualsiasi momento con il comando @98.

Es.: salva parametri

@99

4-71
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %

%99 Lettura Versione Software


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi % %99 (1)

Risposta CNC “nome controllo” Vx.xx , CNCPLC Rel x.xx CNT Relx.xx
Note: (1) non è previsto nessun indirizzo

Descrizione
Consente la lettura di una stringa ascii indicante la versione del software di gestione del controllo.

Risposta dal Cnc:


“nome controllo” Vx.xx , CNCPLC Rel x.xx CNT Relx.xx

4-72
CNC
MANUALE DI PROGRAMMAZIONE
PER I CONTROLLI S&h

Capitolo 5
-
Comandi “G“
( Istruzioni Operative )
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

SOMMARIO
Introduzione ..........................................................................................................................................3
Funzioni modali .................................................................................................................................3
Funzioni compatibili...........................................................................................................................3
G00 (G0) Posizionamento Assi .............................................................................................................4
G01 (G1) Interpolazione Lineare...........................................................................................................5
G02 (G2) Interpolazione Circolare in Senso Orario ...............................................................................6
G03 (G3) Interpolazione Circolare in Senso Antiorario..........................................................................9
G04 (G4) Sosta a Fine Blocco ............................................................................................................10
G06 (G6) Asse Comandato in Velocità ...............................................................................................11
G16 Definizione del Piano di Interpolazione Circolare.........................................................................12
G17 - G18 - G19 Selezione del Piano di Interpolazione Circolare .......................................................13
G20 Salto Incondizionato ....................................................................................................................14
G21 - G22 Salti Condizionati...............................................................................................................15
G25 - G26 Definizione Limiti Campo di Lavoro ...................................................................................16
G27 Cancellazione Limiti Campo di Lavoro.........................................................................................17
G30 Richiamo di Sottoprogramma / Programma.................................................................................18
G31 - G32 Richiamo Condizionato di Sottoprogramma/Programma ...................................................19
G50 Cancellazione Spostamento Origine Assi....................................................................................20
G51 Ricerca Origine Assi (set-point) ..................................................................................................21
G52 Spostamento Origine Assi ..........................................................................................................22
G53 Origini Assi in questo Punto ......................................................................................................23
G54 Origini Assi in questo Punto ( set-point software) ......................................................................24
G55 – G56 Salva – Ripristina Origine ................................................................................................25
G57 – G58 Attivazione - Disattivazione Raccordo Automatico .........................................................27
G61–G62 Attiva-Disattiva “Arresto Preciso (in posizione)” ..................................................................29
G63 – G64 Non Attesa (Attesa) Fine Movimenti................................................................................30
G65-G66 Attesa Ingresso / bit Stato..................................................................................................31
G67 – G68 Gestione dispositivi...........................................................................................................33
G69 Assegna Stato al “Flag” ............................................................................................................37
G70 – G71 Unità di Misura..................................................................................................................39
G74 Attivazione e disattivazione della lettura quota laser..................................................................40
G80 Abilitazione e Disabilitazione Tabella Camme e Pos. Engage .....................................................41
G81 Definizione Posizioni di DISENGAGE Camme ............................................................................42
G82 Definizione Automatica Tabella Camme......................................................................................43
G83 Definizione Fattore K Camme......................................................................................................44
G84 Definizione Variazioni Velocità in % Camme ..............................................................................45
G85 Abilitazione asse Gantry..............................................................................................................46
G90 G91 Programmazione Quote Assolute o Incrementali .................................................................47
G93 Attiva “Guida Utensile Tangenziale” .........................................................................................48
G94 Disattiva “Guida Utensile Tangenziale”.....................................................................................50
G98 Gestione velocità in posizionamento e in interpolazione.............................................................51

5-2
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

Introduzione
I codici G costituiscono i principali comandi gestiti dal controllo in quanto riguardano l’esecuzione di
funzioni fondamentali quali:

Posizionamenti
Interpolazioni lineari
Interpolazioni circolari
Interpolazioni tangenziali
Ricerca e definizione delle origini
Controllo delle coordinate
Test di ingressi
Attivazione di uscite
Attese

Funzioni modali

Alcune funzioni G sono definite “modali” in quanto una volta programmate restano “attive” fino alla
programmazione di una diversa funzione G a loro complementare (e anch’essa modale) che ne annulla
l’effetto.
Le funzioni G “modali” verranno evidenziate nella descrizione dei singoli comandi, indicandone le
funzioni complementari.

Funzioni compatibili

Alcuni codici G possono essere presenti contemporaneamente nello stesso blocco di programmazione,
ossia sono tra loro “compatibili”.
Nella descrizione di ciascuna funzione verranno fornite le indicazioni relative alla sintassi di ciascuna
funzione indicando anche le eventuali funzioni compatibili.
Le funzioni nella cui descrizione non sono indicate le funzioni compatibili, dovranno essere presenti da
sole nel blocco di programmazione.

5-3
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

G00 (G0) Posizionamento Assi


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Fino alla programmazione di G01, G02, G03 (1)
Esecuzione Accodata
Condizioni -
Funzioni compatibili G70, G71, G90, G91
Sintassi G00 [G compatibili] [X…] [Y…] [Z…] [W…] [U…] [V…] [F…] (2)
X,Y,Z,W,U,V: coordinate del punto finale
F: velocità degli assi
Note: (1) Attiva automaticamente all’accensione del CNC
(2) Il movimento è relativo ai soli assi definiti nel comando
Gli indirizzi Y, Z , W , U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto

Descrizione
Esegue il posizionamento contemporaneo degli assi specificati nel comando; la posizione programmata
viene raggiunta in modo indipendente dagli assi con velocità di avanzamento (indirizzo F) programmata
nel blocco o, in caso contrario, con velocità pari all’ultima programmata.
Le quote programmate possono essere assolute (G90) o incrementali (G91) ed espresse in mm. (G71) o
in pollici (G70)

Es.: Posizionamento da A a B nel piano X,Y

Y
50

A = Punto di partenza X=0 Y=0 (mm)


40 B (50,40)
B = Punto di arrivo X=50 Y=40 (mm)
30
Blocco da programmare:
20

N100 G00 X50 Y40


10

A (0,0) X
0
0 10 20 30 40 50 60 70

Nota (1) : gli assi raggiungono la quota specificata dall'istruzione in modo indipendente e quindi la
traiettoria seguita potrebbe non risultare quella indicata in figura
Es.: Esecuzione di una serie di posizionamenti

G00 G90 G71 X100.5 F2000 ;Posiziona asse X alla quota 100.5 mm alla velocità di 2000 mm/min
G70 Y200 ;Posiziona asse Y alla quota 200 pollici alla velocità di 2000 mm/min
G71 X200 Y300 Z500 F5000 ;Posiziona X,Y,Z rispettivamente alle quote 200,300,500 mm alla
;velocità di 5000 mm/min
G0 X100 G91 Y-50 ;Posiziona X alla quota 100 e Y alla quota 250 mm (300-50) alla
;velocità di 5000 mm/min
Se la posizione richiesta a uno o più assi supera i finecorsa software, e questi sono abilitati, al
raggiungimento della quota di finecorsa l’asse in questione verrà fermato in modo da non superare dette
quote.
5-4
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

G01 (G1) Interpolazione Lineare


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Fino alla programmazione di G00, G02, G03
Esecuzione Accodata
Condizioni Non ammesso nei modelli “Posizionatore”
Funzioni compatibili G70, G71, G90, G91
Sintassi G01 [G compatibili] [X…] [Y…] [Z…] [W…] [U…] [V…] [F…] (1)
X,Y,Z,W,U,V: coordinate del punto finale
F: velocità del punto
Note: (1) Il movimento è relativo ai soli assi definiti nel comando
Gli indirizzi Y, Z , W , U, V sono ammessi soltanto se disponibili sul modello di
controllo scelto

Descrizione
Esegue un movimento in interpolazione lineare tra gli assi programmati nel blocco (X,Y,Z,W,U,V); la
posizione programmata viene raggiunta con movimento coordinato di tutti gli assi (il punto finale viene
raggiunto contemporaneamente dagli assi).
La velocità di avanzamento (F) che è pari a quella programmata nel blocco o, in sua assenza,
all’ultima programmata, è relativa al punto sulla traiettoria (retta).
Le quote del punto finale, possono essere assolute (G90) o incrementali (G91) ed espresse in mm (G71)
o in pollici (G70)

Es.: Interpolazione lineare da A a B nel piano X,Y

50
Y

40 B (50,40) A= punto di partenza X=10 Y=10 (mm)

30
B= punto di arrivo X=50 Y=40 (mm)

20
Blocco da programmare:

10 N100 G01 X50 Y40


A (10,10)

0 X
0 10 20 30 40 50 60 70

Es.: Esecuzione di una serie di interpolazioni lineari

G01 G90 X100 Y150 F2000 ;porta gli assi X e Y alle quote 100 mm e 150 mm con velocità di
2000 ;mm/min
G70 Y200 ;porta l'asse Y alla quota 200 pollici alla velocità di 2000 mm/min
G71 X200 Y300 Z500 F5000 ;porta X,Y e Z rispettivamente alle quote 200,300 e 500 mm alla
;velocità di 5000 mm/min
G1 X100 G91 Y-50 ;porta X alla quota 100 e Y alla quota 250 mm (300-50) alla velocità
;di 5000 mm/min

5-5
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

G02 (G2) Interpolazione Circolare in Senso Orario


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Fino alla programmazione di G00, G01, G03
Esecuzione Accodata
Condizioni Non ammesso nei modelli “Posizionatore” e nei modelli a 1 solo asse
Funzioni compatibili G70, G71, G90, G91
Sintassi G02 [G compatibili] [X…] [Y…] [Z…] [W…] [U…] [V…] [I…,J…,K…] [R…]
[F…] (1)
X,Y,Z,W,U,V: coordinate del punto finale (2)
I: coordinata centro 1°asse (a1) se G16 /coordinata centro asse X se G17 o (2)
G18
(3)
J: coordinata centro 2°asse (a2) se G16 /coordinata centro asse Y se G17 o
G19
K: coordinata centro asse Z se G18 o G19
R: raggio
F: velocità del punto
Note: (1) I due assi da programmare sono quelli del piano di lavoro selezionato (vedi
funzioni G16,G17,G18,G19).
Gli indirizzi Z , W ,U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto
(2) a1 e a2 sono gli assi definiti con il comando G16
(3) Il raggio R è alternativo alle coordinate I, J e K: non è ammessa la
programmazione contemporanea di raggio e centro del cerchio.

Descrizione
Esegue un movimento in interpolazione circolare in senso orario nel piano selezionato in precedenza
tramite le funzioni G16,G17,G18 e G19. La posizione programmata viene raggiunta con movimento di
tipo circolare e coordinato sui due assi (posizione raggiunta contemporaneamente dagli assi).
La velocità di avanzamento (F) è pari a quella programmata nel comando o, in sua assenza, all’ultima
programmata, ed è relativa alla traiettoria (arco di cerchio) tracciata dagli assi.
L’arco di cerchio da eseguire può essere definito programmando il raggio (R) o le coordinate del
centro (I , J e K).

Es.: Interpolazione circolare oraria nel piano XY

Y=a2

Interpolazione circolare oraria con le coordinate


I e J del centro del cerchio:
G02 N5 G16 XY
35 N10 G0 X20 Y20
N15 G2 X50 Y20 I35 J20 F200

20 Interpolazione circolare oraria con il valore R


del raggio del cerchio:
N5 G16 XY
0 X=a1 N10 G0 X20 Y20
N15 G2 X50 Y20 R15 F200
0 20 35 50

5-6
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

L’interpolazione circolare può essere programmata anche in modalità incrementale (G91) ossia con le
coordinate del punto finale e del centro della circonferenza riferite al punto iniziale (programmato nel
blocco di movimentazione assi precedente).

Es.: Interpolazione circolare oraria nel piano XY in modalità incrementale

Y=a2
Interpolazione circolare oraria in modalità
incrementale con le coord. I e J del centro del
cerchio:
G02
N5 G16 XY
35 N10 G0 X20 Y20
N15 G91 G2 X30 Y0 I15 J0 F200

20 Interpolazione circolare oraria in modalità


incrementale con il valore R del raggio del
cerchio:
X=a1 N5 G16 XY
0
N10 G0 X20 Y20
0 20 35 50 N15 G91 G2 X30 Y0 R15 F200

Se programmato, il raggio (R) dovrà assumere valori positivi in caso di esecuzione di un arco di cerchio
maggiore o uguale a 180 gradi e valori negativi in caso di un arco di cerchio minore di 180 gradi.

Es.: Interpolazione circolare oraria nel piano XY in funzione del segno del raggio R

Y Programmazione con raggio positivo:


20

N5 G0 X0 Y0
10 N10 G2 X0 Y-20 R17 F500
(+) R ( cerchio tratteggiato)
0
0 10 20 30
X Programmazione con raggio negativo:
-10 -R
C’ C N5 G2 X0 Y-20 R-17
-20 ( cerchio a linea continua )

L’arco massimo programmabile e’ di 360 gradi (cerchio completo): in questo caso sono sempre
necessarie le coordinate del centro.

5-7
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

Es.: Interpolazione circolare oraria con coordinate del centro approssimate

Y=a2 Punto di partenza


raggio medio
CET
C =centro programmato
. .
CS = centro spostato
.
.. punto finale
CS
C . CET
X=a1

Nelle interpolazioni circolari il parametro @90 definisce la tolleranza di precisione entro la quale deve
stare la differenza tra raggio iniziale e raggio finale dell’arco di cerchio.
La sintassi è la seguente:
@90,valore
dove valore è il valore della tolleranza di precisione espresso in mm.
Se la differenza tra il raggio iniziale e quello finale è minore ma non è zero, il sistema effettua una
normalizzazione geometrica sui dati del cerchio a seconda dei valori specificati nel codice @90.
Se la differenza è uguale o maggiore del valore assegnato a @90, si verifica un errore ed i punti finali
programmati non sono eseguiti. Se ciò accade, occorre modificare il programma oppure aumentare la
tolleranza definita da @90.

5-8
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

G03 (G3) Interpolazione Circolare in Senso Antiorario


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Fino alla programmazione di G00, G01, G02
Esecuzione Accodata
Condizioni Non ammesso nei modelli “Posizionatore” e nei modelli a 1 solo asse
Funzioni compatibili G70, G71, G90, G91
Sintassi G03 [G compatibili] [X…] [Y…] [Z…] [W…] [U…] [V…] [I…,J…,K…] [R…]
[F…] (1)
X,Y,Z,W,U,V: coordinate del punto finale (2)
I: coordinata centro 1°asse (a1) se G16 /coordinata centro asse X se G17 (2)
o G18
(3)
J: coordinata centro 2°asse (a2) se G16 /coordinata centro asse Y se G17
o G19
K: coordinata centro asse Z se G18 o G19
R: raggio
F: velocità del punto
Note: (1) I due assi da programmare sono quelli del piano di lavoro selezionato (vedi
funzioni G16,G17,G18,G19).
Gli indirizzi Z , W , U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto
(2) a1 e a2 sono gli assi definiti con il comando G16
(3) Il raggio R è alternativo alle coordinate I, J e K: non è ammessa la
programmazione contemporanea di raggio e centro del cerchio.

Descrizione
Esegue un movimento in interpolazione circolare in senso antiorario nel piano selezionato in precedenza
tramite le funzioni G16,G17,G18 e G19. La posizione programmata viene raggiunta con movimento di
tipo circolare e coordinato sui due assi (posizione raggiunta contemporaneamente dagli assi).
Le regole di programmazione sono identiche al comando G02: fare riferimento alle figure ed agli esempi
forniti nella sua descrizione.

Es.: Interpolazione circolare antioraria nel piano XY

Interpolazione circolare antioraria con le


coordinate I e J del centro del cerchio:
N5 G16 XY
30 N10 G0 X30 Y13
N15 G3 X50 Y30 I30 J30 F500

G03 Interpolazione circolare antioraria con


13 il valore R del raggio del cerchio:
N5 G16 XY
X N10 G0 X30 Y13
N15 G3 X50 Y30 R-20 F200
0

30

50

5-9
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

G04 (G4) Sosta a Fine Blocco


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili - (1)
Sintassi G04 F…
F: durata della sosta (2)
Note: (1) La funzione G04 non ammette la programmazione di altre funzioni ‘G’ nello
stesso blocco.
(2) La durata della sosta è espressa in secondi

Descrizione
G04 provoca una sosta alla fine della esecuzione del blocco precedente.
L’esecuzione del comando successivo a G04 inizierà dopo che è trascorso il tempo programmato
all’indirizzo F, che può essere definito con la precisione di 0.01s. nel range da 0.01s. a 9999.99s.

Es.: Esecuzione di un tempo di attesa in secondi

G01 X123.45 Y125.05 F1000


G04 F3.5 ;sosta di 3.5 secondi tra i due comandi di interpolazione lineare
G01 X0 Y34.7

5-10
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

G06 (G6) Asse Comandato in Velocità


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Nel blocco programmato (1)
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi G06 [Xs] [Ys] [Zs] [Ws] [Us] [Vs] [F…] (2)
Xs,Ys,Zs,Ws,Us,Vs: assi comandati
F: velocità degli assi
Note: (1) Durante il movimento in velocità l’asse non può essere comandato con le
funzioni G00, G01, G02 e G03
(2) Il movimento è relativo ai soli assi definiti nel comando
Gli indirizzi Y, Z , W , U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto

Descrizione
Questo comando, utilizzato generalmente con gli assi rotativi, permette di iniziare (start) o concludere
(stop) il movimento controllato in velocità degli assi specificati nel comando.
In caso di start gli assi continuano a muoversi, nella direzione programmata e fino alla richiesta di stop,
con velocità di avanzamento (indirizzo F) programmata nel blocco o, in caso contrario, con velocità
pari all’ultima programmata.
Il carattere “s”, se presente, definisce il senso di spostamento (start asse)
‘+’ : avanti
‘-‘ : indietro
Se il carattere “s” viene omesso si intende eseguire lo stop di un asse precedentemente comandato a
muoversi con la funzione G06.

Es.: Esecuzione di una serie di movimenti in velocità

G06 X+ Y- F1000 ;muovi asse X in avanti e asse Y all’indietro con velocità di regime pari a
;1000 mm/min.
G6 Y Z+ F1500 ;ferma l’asse Y e muovi l’asse Z in avanti con velocità pari a 1500 mm/min.
G06 X Z ;ferma gli assi X e Z

5-11
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

G16 Definizione del Piano di Interpolazione Circolare


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Fino alla programmazione di G17, G18, G19
Esecuzione Accodata
Condizioni Non ammesso nei modelli “Posizionatore” e nei modelli a 1 solo asse
Funzioni compatibili -
Sintassi G16 [X] [Y] [Z] [W] [U] [V] (1)
X,Y,Z,W,U,V: assi
Note: (1) Devono essere definiti due soli assi: il primo rappresenta l’ascissa mentre il
secondo rappresenta l’ordinata
Gli indirizzi Z , W , U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto
Il comando non è ammesso su controlli con 1 solo asse

Descrizione
Il codice G16, analogamente ai codici G17, G18 e G19, definisce gli assi a1 e a2 del piano di
interpolazione. I seguenti comandi sono perciò equivalenti:
G16 XY = G17 in cui I rappresenterà la coordinata del centro dell’asse X e J quella dell’asse Y
G16 XZ = G18 in cui I rappresenterà la coordinata del centro dell’asse X e J quella dell’asse Z
G16 YZ = G19 in cui I rappresenterà la coordinata del centro dell’asse Y e J quella dell’asse Z
Si noti che invertendo l’ordine degli assi non viene invertito il senso di spostamento orario e antiorario
nelle interpolazioni circolare (determinato sempre “guardando” il piano selezionato dal lato positivo
dell’asse ortogonale) ma viene invertita l’associazione delle coordinate del centro in quanto I è sempre
relativo ad a1 e J ad a2.

Es.:

N…
N15 G16 X Z ;specifica il piano di interpolazione formato dagli assi X e Z
N…

5-12
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

G17 - G18 - G19 Selezione del Piano di Interpolazione Circolare


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Fino alla programmazione di G16, G17, G18, G19
Esecuzione Accodata
Condizioni Non ammessi nei modelli “Posizionatore” e/o ad 1 solo asse (1)
Funzioni compatibili -
Sintassi G17 (2)
G18
G19
Note: (1) Le funzioni G18 e G19 sono ammesse solo nei modelli a 3 e a 4 assi

(2) I comandi non prevedono nessun parametro


Gli indirizzi Z , W , U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto

Descrizione
Le funzioni permettono la selezione di uno dei tre piani di interpolazione predefiniti:
G17 piano XY: I = coordinata centro X; J = coordinata centro Y
G18 piano XZ: I = coordinata centro X; K = coordinata centro Z
G19 piano YZ: J= coordinata centro Y; K = coordinata centro Z
dove il primo asse rappresenta l’ascissa ed il secondo l’ordinata.
Si noti che a differenza del comando G16 con questi comandi ad ogni asse viene associata una lettera
per la coordinata del centro relativa

Es.: Interpolazione circolare in senso antiorario nel piano ZX

G00 X0 Z0 ;posiziona gli assi con velocità pari all’ultima programmata


G18 ;seleziona il piano XZ
G03 X15 Z0 I7.5 K0 F1000 ;esecuzione di una semicirconferenza in senso antiorario con
;velocità di 1000 mm/min. il centro si trova a 0 mm lungo l’asse z
;(ascissa) ed a 7.5 mm lungo l’asse x (ordinata).

5-13
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

G20 Salto Incondizionato


Pic2000 Goya Rubens
Caratteristiche
Sorgente Programma residente
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni -
Funzioni compatibili -
Sintassi G20 L… (1)
L: numero etichetta
Note: (1) All’indirizzo L va programmato il numero di etichetta nel range:1 … 9999

Descrizione
L’esecuzione del programma non continua con il blocco successivo ma con l’istruzione successiva
all’etichetta definita nel comando. In un programma l’etichetta viene definita con il simbolo #

Es.: Programma ripetuto all’infinito

N1 #5 ;etichetta 5
N2 G01 X50 Y100 F1000
N3 G04 F1
N4 G01 X0 Y0
N5 G20 L5 ;prosegui con l’esecuzione del blocco n2
N6 M02

5-14
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

G21 - G22 Salti Condizionati


Pic2000 Goya Rubens
Caratteristiche
Sorgente Programma residente
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni -
Funzioni compatibili -
Sintassi G21 L… (1)
G22 L…
L: numero etichetta
Note: (1) All’indirizzo L va programmato il numero di etichetta nel range:1 … 9999

Descrizione
Il salto all’etichetta programmata, viene eseguito o meno in funzione dello stato VERO o FALSO del flag
di programma che a sua volta viene determinato facendo eseguire in un blocco di programma
precedente il codice G69 o una funzione matematica.
Il codice G21 esegue il salto se il flag è VERO mentre il codice G22 lo esegue se il flag è FALSO.
Se il salto non viene eseguito il programma continua eseguendo il blocco successivo al codice G21 o
G22.
In un programma l’etichetta viene definita con il simbolo #

Es.: Programma ripetuto fino all’attivazione di un ingresso

N1 #40 ;etichetta 40
N2 G01 X50 Y100 F1000
N3 G04 F1
N4 G01 X0 Y0
N5 G69 P3 ;assegna al flag di programma lo stato dell’ingresso 3
N6 G21 L50 se flag= vero ;se vero (ingresso attivo) salta al blocco n8, altrimenti esegui n7
N7 G20 L40 ;prosegui con l’esecuzione del blocco n2
N8 #50 ;etichetta 50
N9 M02 ;fine programma

5-15
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

G25 - G26 Definizione Limiti Campo di Lavoro


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host Computer / Programma residente
Attiva Fino alla programmazione di G27
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi G25 [X(lim.)] [Y(lim.)] [Z(lim.)] [W(lim.)] [U(lim.)] [V(lim.)] (1)
G26 [X(lim.)] [Y(lim.)] [Z(lim.)] [W(lim.)] [U(lim.)] [V(lim.)]
X(lim.), Y(lim.), Z(lim.), W(lim.) , U(lim.), V(lim.) : quote limite
Note: (1) Deve essere definito almeno uno tra gli indirizzi X Y Z , W , U e V
Gli indirizzi Y, Z , W , U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto
X Y Z W U V sono sempre valori assoluti riferiti all’origine dell’asse attiva

Descrizione
Le funzioni G25 (limiti minimi) e G26 (limiti massimi) permettono di definire i limiti del campo di lavoro
degli assi coordinati per evitare che , durante la lavorazione, gli assi si portino in zone in cui c’è pericolo
di collisione.
La limitazione definita con i parametri macchina (comandi @60 e @61) può essere solo ridotta con le
funzioni G25 e G26 e non ampliata.
Le quote programmate come limiti sono sempre riferite all’origine dell’asse “attiva”.

Es.: Definizione dei limiti del campo di lavoro

Y
50

15 < X < 55
40
G26 Y

30

10<Y<40
20 G25 -Y

G25 -X G26 X

10

X
0
0 10 20 30 40 50 60 70

N5 G0 X45 Y35 Z20 ;posizionamento su punto zero del pezzo


N6 G53 X Y

N7 G25 X-30 Y-25 Z-15 ;limite inferiore


N8 G26 X10 Y5 Z10 ;limite superiore

5-16
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

G27 Cancellazione Limiti Campo di Lavoro


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host Computer / Programma residente
Attiva Fino alla programmazione di G25 e G26
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi G27 [X] [Y] [Z] [W] [U] [V] (1)
X,Y,Z,W,U,V: nomi assi
Note: (1) Deve essere definito almeno uno tra gli indirizzi X Y Z W U e V
Gli indirizzi Y, Z , W , U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto
La cancellazione dei limiti avviene per i soli assi definiti nel comando

Descrizione
Il comando cancella le limitazioni programmate con le funzioni G25 e G26, riattivando i limiti di lavoro
definiti con i parametri macchina (comandi @60 e @61).

Es.: cancellazione dei limiti del campo di lavoro

N…
N10 G0 X400 Y500 Z600 ;posizionamento su punto zero del pezzo
N15 G53 X Y ;spostamento dell’origine
N20 G25 X-300 Y-300 Z-400 ;definizione limiti inferiori
N25 G26 X200 Y250 Z200 ;definizione limiti superiori
N…
PROGRAMMA PEZZI
N…
G27 XYZ ;annullamento limiti
N…

5-17
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

G30 Richiamo di Sottoprogramma / Programma


Pic2000 Goya Rubens
Caratteristiche
Sorgente Programma residente
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni -
Funzioni compatibili -
Sintassi di chiamata a G30 L…[,(r)]
sottoprogramma L: etichetta del sottoprogramma
interno r: fattore di ripetizione
Sintassi di chiamata a G30 H…[,(r)]
programma esterno H: numero del programma
r: fattore di ripetizioni

Descrizione
Il codice G30 L permette di eseguire parti di programma comprese tra un’etichetta (per esempio :5) e il
codice M99. Queste parti sono sottoprogrammi e devono essere inserite dopo il codice M02 del
programma principale. Le etichette sono numeri compresi tra 1 e 9999, preceduti dal segno :.
Il codice G30 H consente di eseguire un programma diverso da quello in corso d’esecuzione come se
fosse un sottoprogramma del primo.
All’interno di un sottoprogramma se ne può richiamare un altro fino a un massimo annidamento di 8
livelli. Il blocco eseguito dopo il codice G30 è il primo blocco del sottoprogramma chiamato.
L’esecuzione del sottoprogramma può essere ripetuta più volte, definendo nel codice il numero di
ripetizioni (r). r può assumere valori compresi tra 1 e 99.
Al rientro dal sottoprogramma (dopo (r) + 1 esecuzioni dello stesso), l’esecuzione prosegue con il
blocco successivo al codice G30.

Es.: Codici di chiamata sottoprogrammi

G30 L5 ;il sottoprogramma 5 viene eseguito una sola volta


G30 L27,9 ;richiama il sottoprogramma 27 ed eseguilo 10 volte (9 ripetizioni)
G30 H85 ;richiama il programma 85 ed eseguilo una sola volta

Es.: annidamento di 3 sottoprogrammi

… P8
G30 L1

M2
:1
SP1

G30 L2
SP2 P8 = programma 8

G30 L3
… SP1 = sottoprogramma 1
M99 SP2 = sottoprogramma 2
:2 SP3 = sottoprogramma 3

M99 SP3
:3

M99

5-18
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

G31 - G32 Richiamo Condizionato di Sottoprogramma/Programma


Pic2000 Goya Rubens
Caratteristiche
Sorgente Programma residente
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni -
Funzioni compatibili -
Sintassi di chiamata a G31 L…[,(r)]
sottoprogramma G32 L…[,(r)]
interno L: numero sottoprogramma
r: fattore di ripetizione
Sintassi di chiamata a G31 H…[,(r)]
programma esterno G32 H…[,(r)]
H: numero del programma
r: fattore di ripetizione

Descrizione
Il funzionamento è identico a quanto descritto per il comando G30, ma il controllo viene passato al
sottoprogramma indicato in relazione allo stato VERO o FALSO del flag di programma che a sua volta
viene determinato facendo eseguire in un blocco di programma precedente il codice G69 o una funzione
matematica. Il codice G31 richiama il sottoprogramma se il flag è VERO mentre il codice G32 lo richiama
se il flag è FALSO.
Se il sottoprogramma non viene richiamato verrà eseguito il blocco successivo al codice G31 o G32.
L’esecuzione del sottoprogramma può essere ripetuta più volte, definendo nel codice il numero di
ripetizioni (r).
Al rientro dal sottoprogramma (dopo (r) + 1 esecuzioni dello stesso), l’esecuzione prosegue con il
blocco successivo al codice G31 o G32.

Es.: Il sottoprogramma 5 viene richiamato solo se l’ingresso 8 è attivo

G69 P8 ;assegna al flag di programma lo stato dell’ingresso 8


G31 L5 ;se vero (ingresso 8 attivo) richiama il sottoprogramma 5 ed
;eseguilo una sola volta

Es.: Il programma 85 viene richiamato ed eseguito 5 volte, solo se l’ingresso 8 non è attivo

G69 P8 ;assegna al flag di programma lo stato dell’ingresso 8


G32 H85,4 ;se falso (ingresso 8 non attivo) richiama il programma 85 ed
;eseguilo 5 volte (cioè con 4 ripetizioni)

Es.: annidamento di 1 sottoprogramma

P92

G30 L1
… Se flag=vero SP1 P92 = programma 92
M2
:1 SP1 = sottoprogramma1

M99

5-19
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

G50 Cancellazione Spostamento Origine Assi


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host Computer / Programma residente
Attiva Fino alla programmazione di G52 e G53
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi G50 [X] [Y] [Z] [W] [U] [V] (1)
X, Y, Z, W, U, V: nomi assi
Note: (1) Deve essere definito almeno uno tra gli indirizzi X Y Z W U e V
Gli indirizzi Y, Z , W U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto
La cancellazione dello spostamento origini avviene per i soli assi definiti nel
comando

Descrizione
La funzione G50 permette di annullare, per i soli assi definiti nel comando, lo spostamento delle origini
assolute effettuato con le funzioni G52 e G53.
L’origine delle quote assolute ritorna in corrispondenza del punto di zero macchina determinato dalla
funzione G51 (Set Point) o dalla funzione G54.

Es.: cancellazione spostamento origini assi

N10 G52 X10 Y20 ;spostamento origine asse X e Y


N11 G22 L3 ;richiamo del programma pezzo
N…
N…
N15 G50 X ;cancellazione spostamento origine asse X

5-20
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

G51 Ricerca Origine Assi (set-point)


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host Computer / Programma residente
Attiva Fino alla programmazione di G52 e G53
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi G51 [X(s)] [Y(s)] [Z(s)] [W(s)] [U(s)] [V(s)] [F…] (1)
X(s), Y(s), Z(s), W(s) , U(s), V(s): assi e direzione
F: velocità di regime
Note: (1) Deve essere definito almeno uno tra gli indirizzi X Y Z W U e V
Gli indirizzi Y, Z W , U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto

Descrizione
Con la funzione G51 gli assi definiti nel comando si muovono nella direzione programmata, avanti (+) o
indietro (-), alla ricerca del punto di zero macchina.
Il punto di zero macchina viene raggiunto in modo indipendente dagli assi con velocità di avanzamento
programmata nel blocco all’indirizzo F o, in sua assenza, con velocità pari all’ultima programmata.
Il carattere che segue l’indirizzo determina il senso di spostamento dell’asse:
‘+’ = asse avanti
‘-‘ = asse indietro
Sullo stesso blocco, all’indirizzo F, può essere opzionalmente programmata la velocità di avanzamento
F è sempre un valore assoluto espresso in mm/min (G71) o in pollici/min (G70).
Dopo l’esecuzione del set-point è possibile spostare l’origine macchina con la funzione G52.
I limiti software programmati con @60 e @61 sono sempre riferiti allo zero macchina.

Condizioni per il raggiungimento del “Set point”:


zero macchina disattivato
esegue azzeramento quote immediatamente, senza movimento assi
zero encoder disattivato
zero macchina attivato
esegue azzeramento quote all’impegno del sensore zero macchina
zero encoder disattivato
zero macchina disattivato
esegue azzeramento quote al raggiungimento della tacca di zero encoder
zero encoder attivato
zero macchina attivato esegue azzeramento quote alla contemporanea presenza del segnale di
zero encoder attivato zero macchina e zero encoder

Es.: ricerca dello 0 asse in direzione X+, Y-

N…
N5 G51 X+ Y-
N…

5-21
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

G52 Spostamento Origine Assi


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host Computer / Programma residente
Attiva Fino alla programmazione di G50, G51 e G53
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi G52 [X(ori)] [Y(ori)] [Z(ori)] [W(ori)] [U(ori)] [V(ori)] (1)
X(ori), Y(ori), Z(ori), W(ori) , U(ori), V(ori): nuove origini
Note: (1) Deve essere definito almeno uno tra gli indirizzi X Y Z W U e V
Gli indirizzi Y, Z , W ,U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto
Le quote programmate sono sempre riferite all’origine attiva in quel momento

Descrizione
Usando gli spostamenti origine si possono eseguire programmi in diversi punti del campo di lavoro
senza doverli modificare. La funzione G52, infatti, ridefinisce l’origine delle quote assolute , per i soli
assi definiti nel comando, spostandola rispetto all’origine attuale.
La funzione G50 annulla tutti gli spostamenti origine fatti in precedenza (da G52 e G53)

Es.: spostamento dell’origine degli assi

Y
50
N…
Y’ N3 G52 X30 Y20 **
40
N…

30 ** Nota Bene: dopo avere eseguito il


codice G52 la lettura delle quote
X’ attuali è la seguente:
20
X = -30 Y = -20

10 Il comando non esegue lo spostamento


degli assi.
0
X
0 10 20 30 40 50 60 70

5-22
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

G53 Origini Assi in questo Punto


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host Computer / Programma residente
Attiva Fino alla programmazione di G50, G51 e G52
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi G53 [X] [Y] [Z] [W] [U] [V] (1)
X, Y, Z, W, U, V :nomi assi
Note: (1) Deve essere definito almeno uno tra gli indirizzi X Y Z W U e V
Gli indirizzi Y, Z , W , U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto
Lo spostamento delle origini avviene per i soli assi definiti nel comando

Descrizione
La funzione G53 permette di spostare l’origine degli assi .
La quota a cui sono posizionati gli assi definiti nel comando viene considerata come nuova origine.
Questo spostamento è annullabile con il comando G50.

Y
50

Y’
40
N…
N5 G0 X30 Y20
30
N6 G53 XY
X’ N…
20

10

0
X
0 10 20 30 40 50 60 70

5-23
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

G54 Origini Assi in questo Punto ( set-point software)


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host Computer / Programma residente
Attiva Fino alla programmazione di G51
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi G54 [X[org]] [Y[org]] [Z[org]] [W[org]] [U[org]] [V[org]] (1)
”org”: nuova posizione
Note: (1) Deve essere definito almeno uno tra gli indirizzi X Y Z W U e V
Gli indirizzi Y, Z , W , U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto
Lo spostamento delle origini avviene per i soli assi definiti nel comando

Descrizione
La funzione G54 permette di spostare l’origine degli assi .
La quota a cui sono posizionati gli assi definiti nel comando viene considerata come nuova origine.
G54 non è annullabile con il comando G50.
La funzione G54 è l’equivalente della funzione G51, ma viene eseguita tramite software, senza nessun
supporto hardware.
L’esecuzione del codice G54 annulla gli effetti del codice G51, quando esso sia stato eseguito in
precedenza.
Con il comando G54 l’asse o gli assi specificati si troveranno alla quota passata.

Es. :

G54 X100 La posizione dell’asse X è ora 100

Se all’identificativo asse non è programmata una quota viene considerata di default 0 ( G54 X è
equivalente a G54 X0).

5-24
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

G55 – G56 Salva – Ripristina Origine


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host Computer / Programma residente
Attiva G55: fino alla riscrittura tramite G55
G56: fino alla programmazione di G51 G52 G56
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi G55 O[numorg] (1)
G56 O[numorg] (1)
”numorg”: posizione dell’origine [0….9]
Note: (1) Se non viene specificato nessun parametro si intende sempre O[0].

Descrizione

Il comando G55 consente di salvare l’origine corrente nella tabella O[ ].


I valori delle origini salvati con G55 possono essere ripristinati, rispetto all’origine macchina (OM), con il
comando G56.
O[0]contiene sempre l’ultima origine locale settata con G52 e G53.
Se si salva una origine in una posizione già occupata, la vecchia origine sarà sovrascritta ed i dati relativi
ad essa saranno persi.

OL
G52
OL G53
G52
G53
G50

OM G56 G55
O[n] X Y Z W ....

G51 0 "origine
G54 1 attuale"
.
.
9

5-25
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

Per realizzare il preset della tabella origini da programma utilizzare i seguenti comandi

O[numorg] = <asse> <val> [ ,<asse> <val>] …[ ,<asse> <val>]

Ad esempio: O[5] = X20, Z30, W43

Es.: serie di comandi

G51 X+ Y+ Z+ W+ ;set OM
G52 X100 Z400 ;OL (origine locale)= (100,0,400,0) ; = O[0]
G55 O[4] ;salva OL in O[4]

G51 X+ Y+ Z+ W+ ;set OM
G56 O[4] ;OL = (100, 0, 400, 0)

5-26
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

G57 – G58 Attivazione - Disattivazione Raccordo Automatico


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host Computer / Programma residente
Attiva Fino alla programmazione di G58/G57 e G61
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi G57 [,(n)]
G58

Descrizione
Il comando G57 attiva e il comando G58 disattiva il raccordo automatico tra due segmenti di traiettoria
consecutivi eseguiti in interpolazione lineare o circolare; il raccordo è quindi valido solo su movimenti
G1, G2 e G3.
Il parametro opzionale può assumere valori compresi tra 1 e 10 e permette di scegliere con che rigore il
controllo mantiene le traiettorie programmate secondo la seguente tabella.

1 = Il raccordo viene eseguito solo se non altera la traiettoria.




10 = Il raccordo viene eseguito comunque, privilegiando il mantenimento della velocità al rispetto della
traiettoria programmata.

Se il parametro è omesso, all’esecuzione del comando G57, viene attivato il raccordo automatico con
l’ultimo valore assegnato esplicitamente al parametro. Il valore assegnato all’accensione è 1.

Es.: diagramma di funzionamento dei codici G57 e G58 quando la velocità programmata è la stessa
per tutto il profilo

Avanzamento

G57

Vrp

1 2 3 Blocchi

Avanzamento

G58

1 2 3 Blocchi

5-27
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

Es.: diagramma di funzionamento dei codici G57 e G58 quando la velocità programmata cambia su
ogni blocco del profilo

Avanzamento

G57
Vrp

1 2 3 Blocchi

Avanzamento

G58

1 2 3 Blocchi

Vrp dipende da diversi fattori quali l’angolo tra i due spostamenti, la loro lunghezza e l’accelerazione
nonché dal valore assegnato al parametro del comando G57.

Es.: utilizzo della funzioni G57 e G58

G57
G1 X.. Y.. F..
G3 X.. Y.. R..
G1 X..
G58
G2 X.. Y.. R..

5-28
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

G61–G62 Attiva-Disattiva “Arresto Preciso (in posizione)”


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host Computer / Programma residente
Attiva Fino alla programmazione di G62/G61 e G57
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi G61
G62

Descrizione
Con la funzione G61 si fa in modo che il controllo aspetti ad eseguire il blocco successivo, finché non
viene raggiunta la finestra “IN POSIZIONE” programmata con un parametro macchina (comando @59).
La funzione G62 disattiva l’arresto preciso (vedi funzione G61).

Es.: Esecuzione dei due comandi

Y N…
50 G61 N8 G61 ;nessun movimento
G62 N9 G1 X35 Y35 ;Interpolazione con
;arresto preciso
40
N…

30 oppure

20 N…
N8 G62 ;nessun movimento
10
N9 G1 X35 Y35 ;Interpolazione con
;arresto preciso
X
0
0 10 20 30 40 50 60 70
;disattivato

5-29
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

G63 – G64 Non Attesa (Attesa) Fine Movimenti


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host Computer / Programma residente
Attiva Fino alla programmazione di G64/G63
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi G63
G64[,0]

Descrizione
La funzione G63 permette di eseguire comandi che non implicano movimento assi (es.
attivazione/disattivazione I/O, set di variabili,…) contemporaneamente a comandi di movimento e
sincronizzati con questi ultimi. E’ perciò possibile eseguire attivazioni/disattivazioni senza attendere lo
stop degli assi (es: attivazione di una uscita “al volo”)
La funzione G64 impone che i comandi in fase di esecuzione siano terminati prima di eseguire qualsiasi
successivo comando.
Il comando G64 con il parametro opzionale ,0 attende il termine di tutti i comandi pre-elaborati prima di
continuare con l’elaborazione dei successivi

Es.:

N…
N5 G63
N6 G1 X100
N7 G68 P0 ;P0 verrà attivato, quando X raggiunge la quota 100, per 1 secondo
;senza che il movimento venga interrotto
N8 G4 F1
N9 G67 P0
N10 G1 X200

Lo stesso programma in modalità G64 avrà il seguente comportamento :

- movimento a quota 100


- attivazione uscita
- attesa di 1 secondo
- disattivazione uscita
- ripartenza asse per quota 200

5-30
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

G65-G66 Attesa Ingresso / bit Stato


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host Computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi G65 [P(c)] [XYZWUV(i)] [D(b)] [O(n)] [E(a)] (1)
G66 [P(c)] [XYZWUV(i)] [D(b)] [O(n)] [E(a)]
Note (1) Deve essere definito almeno uno tra gli indirizzi P, X, Y, Z, W , U , V ,D, E, O
Gli indirizzi Y, Z , W , U ,V sono ammessi soltanto se disponibili sul modello di
controllo scelto
Descrizione
Le funzioni G65 e G66 permettono di attendere il verificarsi della condizione logica 0 (G65) o 1 (G66)
relativa allo stato degli ingressi e dei bit di registro di stato.
Il codice resta in esecuzione finché non si sono verificate tutte le condizioni definite nel blocco.
P(c) :
(valore nel range 0..31) INGRESSO PLC / INGRESSI CONTROLLO (se modelli senza PLC)
(valore nel range 32..63) INGRESSO CBM (solo se modelli senza PLC)
X(i), Y(i), Z(i), W(i) , U(i), V(i): INGRESSI ASSI
il valore nel range 0..31 definisce l’ingresso:
0 = non usato
1 = non usato
2 = non usato
3 = non usato
4 = fine corsa –
5 = fine corsa +
6 = o.k. azionamento
7 = zero macchina
- riferirsi al comando ^O per la descrizione degli ingressi

D(b): BIT REGISTRO DI STATO “D” (CNC) (per il dettaglio del significato dei
singoli bit si veda il comando Ctrl A)
Il valore nel range 0..31 definisce il bit del registro di stato “D” (CNC)
DX(b), DY(B), DZ(b), DW(b) BIT REGISTRO DI STATO ASSE “X”, “Y”, “Z”, “W” , “U”, “V” (per il
, DU(b), DV(b): dettaglio del significato dei singoli bit si veda il comando Ctrl A)
Il valore nel range 0..31 definisce il bit del registro di stato ASSE
X,Y,Z,W,U,V
E(a): BIT REGISTRO DI ALLARME “E” (CNC) (per il dettaglio del significato dei
singoli bit si veda il comando Ctrl D)
Il valore nel range 0..31 definisce il bit del registro di allarme “E” (CNC)
EX(a), EY(a), EZ(a), EW(a) BIT REGISTRO DI ALLARME ASSE “X”, “Y”, “Z”, “W” , “U”, “V” (per il
, EU(a), EV(a): dettaglio del significato dei singoli bit si veda il comando Ctrl A)
Il valore nel range 0..31 definisce il bit del registro di allarme ASSE
X,Y,Z,W,U,V

5-31
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

O(n): CANALE DI COMUNICAZIONE


(valore nel range 1..9)
1 attende un codice ^Z (1A in esadecimale) dalla linea seriale
2,”mess”,nn[,l[,h]] attende l’introduzione di un numero da seriale
3..9 : non attivi

Descrizione comando G65 O2,”mess”,nn[,l[,h]] :

mess e’ una stringa di massimo 64 caratteri che viene trasmessa con il comando ^R
nn è il numero della variabile che si deve scrivere (1-200)
l è il valore minimo che si può introdurre
h è il valore massimo che si può introdurre

All’esecuzione del comando il controllo viene messo in stop e viene mandato il carattere BEL (7 in
esadecimale) sulla linea seriale; con il comando ^R si avrà la seguente risposta :

?0-k,var,min,max,mess in cui

var è il numero della variabile di cui si richiede l’impostazione


min è il valore minimo passato dal comando G65
max è il valore massimo passato dal comando G65
mess è la stringa passato dal comando G65

Nei controlli provvisti di terminale/display questo messaggio viene interpretato e una finestra di
impostazione permette di introdurre il valore desiderato, negli altri casi è il programma di monitoraggio
(per esempio Bach) che deve interpretare le informazioni ricevute.

Prestare attenzione che nei controlli S&h il modulo Cnc numera ingressi e uscite a partire da 1
mentre i riferimenti utilizzati dal modulo Plc partono da 0.

per cui i comandi Cnc


@1, @22 e @70
hanno come riferimento ingressi e uscite numerati a partire da 1

mentre i comandi G65 Pnn --> G69 Pnn che si riferiscono al modulo Plc (o direttamente a ingressi
e uscite del controllo) hanno come punto iniziale il numero 0

Percio' i comandi Cnc


@01 I3,n.n
@70 K3,n
G65 P2
si riferiscono tutti al 3^ ingresso

mentre @22 O5,n,n G67 P4si riferiscono tutti alla 5^ uscita

Es.:
G66 P4 Y5 attesa ingresso 4 del PLC e fine corsa avanti asse Y nello stato 1
Es.:
G65 X6 Y6 Z6 attesa ingressi di o.k. azionamento di tutti gli assi nello stato 0
Es.:

G65 O1 attesa codice <SUB>


5-32
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

G67 – G68 Gestione dispositivi


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host Computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi G67 [P(r)] [XYZWUV(o)] [O(n)(…)] [H(n)(…)] (1)
Note (1) Deve essere definito almeno uno tra gli indirizzi P, X, Y, Z, W,U ,V , H oppure O
Gli indirizzi Y, Z , W , U e V sono ammessi soltanto se l’asse è disponibile sul
modello di controllo scelto

Descrizione
Le funzioni G67 e G68 permettono di attivare le uscite del controllo ponendole nello stato logico 1 (G68)
o 0 (G67) e di attivare (G68) o disattivare (G67) alcune funzioni interne del controllo. Il dispositivo
interessato è specificato dall’indirizzo (P, X, Y, Z, W, U, V, O, H).

P(r):
(valore nel range 0..31) GESTIONE DEI PUNTI (D) PLC O DELLE USCITE EFFETTIVE
(se il controllo non include PLC)
(valore nel range 32..63) USCITE CBM (solo se modelli senza PLC)

Esempio: G68 P3 attiva l’uscita 4 del controllo (sulla documentazione hardware le uscite sono
numerate da 1 in avanti) oppure set del punto 3(D) del PLC.

X(o), Y(o), Z(o), W(o) , U(o), V(o): GESTIONE DELLE USCITE ASSI
o = 1 : direzione azionamento: comandi eseguiti solo se non è attivata la gestione del segnale
DIR da parte del controllo
o = 2 : enable azionamento: comandi eseguiti solo se non è attivata la gestione del segnale
ENABLE o DISABLE da parte del controllo.
Esempio G67 X1 disattiva l’uscita DIR dell’asse X.

O(n) (…): GESTIONE DEL CANALE DI COMUNICAZIONE (solo con il comando G68)

G68 O1 : trasmette sul canale seriale il carattere <^Z> (1Ah). Ciò consente di sincronizzare
dispositivi esterni all’esecuzione del programma.
G68 O2, “(messaggio)”, (s)[,a[,b[,c]]]. Invia il messaggio specificato sul canale seriale e assegna
lo stato del controllo.
s = 0 : stato controllo invariato
s = 1 : stop CNC
s = 2 : emergenza
s = 3 : stop assi
a,b e c sono il numero delle variabili (1..255) che possono contribuire a creare il
messaggio da visualizzare, infatti la stringa “messaggio” può contenere caratteri di
formattazione (modello sintassi linguaggio C) di cui viene dato un piccolo elenco :
\r per andare a capo
%d per visualizzare una variabile senza decimali
%.nf per visualizzare una variabile con n decimali (es %.2f visualizza 2 decimali)

5-33
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

Prestare attenzione che nei controlli S&h il modulo Cnc numera ingressi e uscite a partire da 1
mentre i riferimenti utilizzati dal modulo Plc partono da 0.

per cui i comandi Cnc


@1, @22 e @70
hanno come riferimento ingressi e uscite numerati a partire da 1

mentre i comandi G65 Pnn --> G69 Pnn che si riferiscono al modulo Plc (o direttamente a ingressi
e uscite del controllo) hanno come punto iniziale il numero 0

Percio' i comandi Cnc


@01 I3,n.n
@70 K3,n
G65 P2
si riferiscono tutti al 3^ ingresso

mentre @22 O5,n,n G67 P4si riferiscono tutti alla 5^ uscita

Esempio: G68 O2,”TEMPO=%.1f sec.”,2,120 con 34.42 nella variabile Q120


visualizzerà TEMPO=34.4 sec. e manderà il controllo in emergenza

H(n): GESTIONE DEI DISPOSITIVI OPZIONALI


G68 H4, (polarità), (spazio di rallentamento), (velocità d’impatto): abilita il tastatore con i
parametri specificati. La polarità può assumere solo i valori 0 e 1: 0 significa che la
transizione da 1 a 0 dell’ingresso di tasteggio identificherà il punto valido. Lo spazio di
rallentamento è espresso in unità ingegneristiche e specifica un tratto terminale di corsa
da percorrere a velocità ridotta per migliorare la precisione nell’identificazione della quota.
La velocità a cui è eseguito il tratto terminale è la velocità d’impatto ed è espressa nella
stessa unità delle altre velocità del programma CNC. Il funzionamento del tastatore non è
attivato. L’opzione tastatore non è disponibile su Goya.
G67 H4 : disabilita il tastatore.

G68 H5, (c): attiva il tastatore. Nel corso del primo movimento che verrà eseguito dopo questa
istruzione, le quote a cui si troveranno gli assi nell’istante in cui l’ingresso tastatore
presenterà il fronte valido saranno salvate nelle variabili QAX, QAY, …
c = 0 : il movimento sarà interrotto alle quote di tasteggio.
c = 1 : il movimento proseguirà fino al raggiungimento dell’obiettivo. Se il controllo rileva il
segnale del tastatore prima di essere arrivato alla quota di rallentamento verrà generata
una segnalazione di errore e il controllo andrà in emergenza.
Se non viene rilevato un segnale valido dal tastatore non verrà attivato il bit relativo nel
registro di stato.
Per acquisire una nuova posizione dal tastatore sarà necessario riarmare il tastatore con il
comando G68 H5
G67 H5 : disattiva il tastatore.

G67 H6, (m): definisce la modalità del dosaggio.


m = 0 : non esegue né tratto iniziale né tratto finale.
m = 1 : esegue il tratto iniziale e non il tratto finale.
m = 2 : esegue il tratto finale e non il tratto iniziale.
m = 3 : esegue sia il tratto iniziale sia il tratto finale.
G68 H6, (d), (s), (t), (r): attiva e disattiva il dosaggio.
d = 0 : dosaggio disattivato.
d = 1 : dosaggio continuo.
d = 2 : riservato per espansioni future.
d = 3 : dosaggio a punti.
5-34
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

s è la distanza tra i punti in unità ingegneristiche, se si è scelto il dosaggio a punti, oppure


la lunghezza degli estremi, se si è scelto il dosaggio continuo.
t è il tempo di attivazione dell’uscita necessario a formare un punto, espresso in
millisecondi tra 0 e 10000.
r è il ritardo in millisecondi tra 0 e 10000 con cui l’uscita viene attivata rispetto all’istante
teorico in cui dovrebbe essere attivata.

G68 H7, (n), (periodo), (risoluzione): attiva e disattiva la funzione PWM su un’uscita logica,
definendo il periodo e la risoluzione del segnale che sarà generato. Per quanto attiene
alla regolazione del duty cycle, l’uscita andrà poi gestita come un’uscita analogica,
attraverso i comandi di gestione mandrino: @52 da parte del CNC o gestione uscite
analogiche da parte del PLC.
n specifica il numero dell’uscita. Per Goya, che presenta un connettore apposito per
l’uscita PWM, n può valere solo 3. Per Picasso 2000 e Rubens, n può assumere valori tra
0 e 3, che corrispondono alle uscite da 1 a 4. In ogni caso non potrà essere gestita più di
un’uscita PWM alla volta.
Periodo e risoluzione sono due parametri i cui valori devono essere ricavati dalla tabella
della gestione PWM riportata di seguito.
Se tutti e tre i parametri hanno valore 0, la funzione PWM viene disattivata.

G67 H8,(n) : disattiva contemporaneamente tutte le uscite di cui è passata l’immagine


G68 H8,(n) : attiva contemporaneamente tutte le uscite di cui è passata l’immagine
L’immagine è rappresentata da un numero in cui ogni ogni uscita ha un peso diverso :

1^ uscita peso 1
2^ uscita peso 2
3^ uscita peso 4
4^ uscita peso 8

8^ uscita peso 128
Per cui se si vuole attivare la 1^ e la 4^ uscita il comando sarà :
G68 H8,9 poiché 1+8=9

Nota bene: I comandi di gestione delle funzioni opzionali sono operativi solo se il controllo include la
relativa opzione

5-35
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

PROGRAMMAZIONE USCITA PWM


G68 H7,NO,PRESCALER,BITR

FREQUENZA D'USCITA E RISOLUZIONE

La seguente tabella riporta i possibili valori di frequenza d'uscita e la relativa risoluzione, sono espressi
in Hz.
Nella prima colonna e' riportato il divisore della frequenza di clock interna ( 2, 4, 8, ..), mentre nella
seconda riga sono riportati i bit di risoluzione per l'impostazione del duty-cycle (16, 15, 14, ..).

BITR
PRESCALER
16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
0 160 320 640 1280 2560 5120 10239 20479 40957 81914 164K 328K 655K 1311K 2621K 5243K
1 80 160 320 640 1280 2560 5120 10239 20479 40957 81914 164K 328K 655K 1311K 2621K
2 40 80 160 320 640 1280 2560 5120 10239 20479 40957 81914 164K 328K 655K 1311K
3 20 40 80 160 320 640 1280 2560 5120 10239 20479 40957 81914 164K 328K 655K
4 10 20 40 80 160 320 640 1280 2560 5120 10239 20479 40957 81914 164K 328K
5 5 10 20 40 80 160 320 640 1280 2560 5120 10239 20479 40957 81914 164K
6 2.5 5 10 20 40 80 160 320 640 1280 2560 5120 10239 20479 40957 81914
7 0.6 1.3 2.5 5 10 20 40 80 160 320 640 1280 2560 5120 10239 20479
TAB.1

CONFIGURAZIONE PWM

Per impostare il valore di frequenza desiderata si utilizza il comando G68 H7,NO,PRESCALER,BITR,


dove NO definisce il numero dell'uscita PWM, il PRESCALER e il BITR servono a definire il valore di
frequenza desiderato e la risoluzione del duty-cycle secondo la tabella TAB1.
Il parametro NO può assumere i valori da 1 a 4 nella PICASSO 2000 e nel RUBENS e soltanto il valore
3 per il GOYA.
Dopo i precedenti passaggi si può definire, usando il comando @52, il rapporto desiderato tra la velocità
degli assi e il duty-cycle del segnale.
Nella definizione del rapporto velocità--duty-cycle nel campo riferito alle tensioni di uscita si mette la
percentuale di duty-cycle, il range definito é 0-10, dove 0 corrisponde allo 0% e 10 al 100%.
La risoluzione del duty-cycle viene definita da: 100/2(BITR)

Es.
G68 H7,3,0,11 ; viene definita la frequenza 5120 Hz con risoluzione 11bit per l'uscita 3

@52 I0,1 1000,10 ; si definisce che per velocità 0 si vuole un duty-cycle del 10% e che per velocità
1000 si vuole
un duty-cycle del 100%

% Duty-cycle
10

1
Velocità assi
1000
0

Per disabilitare l'uscita PWM si usa il comando: G68 H7,0,0,0


5-36
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

G69 Assegna Stato al “Flag”


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host Computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Da programma: accodata
Condizioni -
Funzioni compatibili -
Sintassi G69 [P(c)] [XYZWUV(i)] [D(b)] [O(n)] [E(a)] [\(u)] (1)
Note (1) Deve essere definito almeno uno tra gli indirizzi P, X, Y, Z, W, U ,V, D, E, \
oppure O
Gli indirizzi Y, Z , W ,U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto

Descrizione
La funzione G69 permette di assegnare lo stato 0 o 1 al “FLAG” di programma utilizzato dalle funzioni di
salto (G21, G22) e di chiamata sottoprogramma (G31, G32) condizionati. Lo stato assegnato al flag è
quello dell’ingresso (indirizzi P, X, Y, Z, W ,U ,V) o dei bit di registri di stato (indirizzo D e E) definito nel
comando, oppure sarà relativo alla condizione “ricevuto” (stato logico 1) o “non ricevuto” (stato logico 0)
per ciò che riguarda il codice di sincronizzazione Ctrl-Z (indirizzo O: canale di comunicazione).

P(c) INGRESSO PLC / INGRESSI CONTROLLO(se modelli senza PLC)


(valore nel range 0..31) INGRESSO PLC / INGRESSI CONTROLLO (se modelli senza PLC)
(valore nel range 32..63) INGRESSO CBM (solo se modelli senza PLC)

X(i), Y(i), Z(i), W(i) , U(i), V(i): INGRESSI ASSI


il valore nel range 0..31 definisce l’ingresso:
0 = non usato
1 = non usato
2 = non usato
3 = non usato
4 = fine corsa –
5 = fine corsa +
6 = o.k. azionamento
7 = zero macchina
- riferirsi al comando ^O per la descrizione degli ingressi

D(b): BIT REGISTRO DI STATO “D” (per il dettaglio del significato dei singoli bit si veda
il comando Ctrl A)
Il valore nel range 0..31 definisce il bit del registro di stato “D” con il seguente significato:
0 ÷ 7 = bit 0 ÷ 7 del registro di stato asse Z
8 ÷ 15 = bit 0 ÷ 7 del registro di stato asse Y
16 ÷ 23 = bit 0 ÷ 7 del registro di stato asse X
24 ÷ 31 = bit 0 ÷ 7 del registro di stato CNC
DX(b), DY(B), DZ(b), DW(b) , DU(b), DV(b): BIT REGISTRO DI STATO ASSE “X”, “Y”, “Z”, “W” ,
“U”, “V”(per il dettaglio del significato dei singoli bit si
veda il comando Ctrl A)
Il valore nel range 0..31 definisce il bit del registro di
stato ASSE X,Y,Z,W,U,V

5-37
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

E(a): BIT REGISTRO DI ALLARME “E” (per il dettaglio del significato dei singoli bit si
veda il comando Ctrl D)
Il valore nel range 0..31 definisce il bit del registro di allarme “E” con il seguente significato:
0 ÷ 7 = bit 0 ÷ 7 del registro di allarme asse Z
8 ÷ 15 = bit 0 ÷ 7 del registro di allarme asse Y
16 ÷ 23 = bit 0 ÷ 7 del registro di allarme asse X
24 ÷ 31 = bit 0 ÷ 7 del registro di allarme CNC
EX(a), EY(a), EZ(a), EW(a) , EU(a), EV(a): BIT REGISTRO DI ALLARME ASSE “X”, “Y”, “Z”, “W”, “U”,
“V”(per il dettaglio del significato dei singoli bit si veda il
comando Ctrl D)
Il valore nel range 0..31 definisce il bit del registro di
allarme ASSE X,Y,Z,W,U,V

O(n) CANALE DI COMUNICAZIONE


valore nel range 1 .. 9
1 = ^Z
2 ... 9 : non attivi
\(u)
il valore nel range 0 .. 7 definisce il bit del registro condizione:
0 .. 7 = bit 0 .. 7 del registro condizione

Prestare attenzione che nei controlli S&h il modulo Cnc numera ingressi e uscite a partire da 1
mentre i riferimenti utilizzati dal modulo Plc partono da 0.

per cui i comandi Cnc


@1, @22 e @70
hanno come riferimento ingressi e uscite numerati a partire da 1

mentre i comandi G65 Pnn --> G69 Pnn che si riferiscono al modulo Plc (o direttamente a ingressi
e uscite del controllo) hanno come punto iniziale il numero 0

Percio' i comandi Cnc


@01 I3,n.n
@70 K3,n
G65 P2
si riferiscono tutti al 3^ ingresso

mentre @22 O5,n,n G67 P4si riferiscono tutti alla 5^ uscita

Es.:
G69 P4 ;assegna al flag lo stato dell'ingresso 4 del PLC
Es.:

G69 Y6 ;assegna al flag lo stato dell'ingresso di o.k.


;azionamento dell' asse Y

Es.:
1 = RICEVUTO
0 = NON RICEVUTO

G69 O1 ;assegna al flag lo stato del codice <SUB>


5-38
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

G70 – G71 Unità di Misura


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Fino alla programmazione di G70, G71 (1)
Esecuzione Accodata
Condizioni -
Funzioni compatibili G00, G01, G02, G03, G90, G91
Sintassi G70 [G compatibili]
G71 [G compatibili]
Note: (1) G70 e G71 si annullano a vicenda.
All’accensione è attivato automaticamente il codice G71

Descrizione
Definiscono l’unità di misura del controllo:
G70 imposta l’unità di misura in pollici
G71 imposta l’unità di misura in millimetri
Commutando da una unità all’altra tutte le informazioni relative alla posizione e alla velocità di
avanzamento vengono convertite nella unità di misura appropriata.

Es.:

N…
N10 G70
N11 G00 X100 G71 Y-50 ;posizionamento e programmazione di X in pollici e Y in millimetri
N…

5-39
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

G74 Attivazione e disattivazione della lettura quota laser


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host Computer / Programma residente
Attiva Nel blocco programmato
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi G74 [XYZWUV(n) (1)
Note (1) Deve essere definito uno solo tra gli indirizzi X, Y, Z ,W ,U oppure V.
Gli indirizzi Y, Z , W , U e V sono ammessi soltanto se l’asse è disponibile sul
modello di controllo scelto

Descrizione
I dati forniti dal dispositivo di misura LASER sono ricevuti su una linea seriale dedicata. Dal momento
dell’attivazione della lettura, essi saranno reperibili nella variabile in cui è abitualmente conservato il
valore della quota effettiva dell'asse specificato. I dati forniti dal dispositivo di misura non vengono in
alcun modo elaborati dal controllo, come invece avviene per le quote reali degli assi: i valori letti sono
quindi da considerarsi espressi in “punti LASER”.
Il parametro (n) seleziona i dispositivi collegabili, che, alla data di redazione del presente documento,
sono indicati nel seguente schema.

Valore Effetto
Parametro
0 Disabilita la lettura LASER. Nella variabile si leggeranno le quote reali dell’asse indicato.
1 Abilita la lettura del LASER con il protocollo del dispositivo MEL
2 Abilita la lettura del LASER con il protocollo del dispositivo ODS2xx
3 Abilita la lettura del LASER con il protocollo del dispositivo ODS1xx

Nota bene: Il comando interagisce con la funzione speciale &52 e con il comando immediato ^A (si
vedano le relative descrizioni nel presente manuale).
&52: l’attivazione della lettura delle quote LASER determina che il pacchetto dati è composto secondo la
modalità 1.
^A: L’attivazione della lettura quote LASER determina che i quattro bit meno significativi del byte dello
stato dell’asse, su cui risultano leggibili le quote LASER, riportino lo stato del dispositivo di misura.

Esempio:

N…
N10 G74 Z2 ; i dati di un LASER tipo ODS2xx saranno reperibili nella variabile QRZ
N11 Q136=QRZ ; lettura della quota attuale misurata dal LASER
N12 G91 G0 X1 ; spostamento di un millimetro sull‘asse X
N13 Q136 = QRZ-Q136 ; calcolo della variazione della quota misurata per effetto dello spostamento
N14 G74 Z0 ; in QRZ è nuovamente disponibile la posizione reale dell’asse Z
N…

5-40
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

G80 Abilitazione e Disabilitazione Tabella Camme e Pos. Engage


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Fino alla disabilitazione con lo stesso comando
Esecuzione Accodata
Condizioni Deve essere stato definito il comando @20 e devono essere definiti tutti i
punti camme
Funzioni compatibili -
Sintassi G80 (E<n.tab> ( , <EN0>..[ , ENn])) (1)
Note: (1) n.tab = numero tabella da abilitare
EN0..n = posizione di Engage per ogni slave impostato

Descrizione
Abilita e disabilita le tabella per la funzione camme elettrica.
Inoltre indica la posizione di Engage di ogni singolo asse slave.
Il comando ricalcola i dati relativi ai raccordi solo se sono stati modificati dei dati.
Se viene data solo il comando G80 senza nessun parametro, si disabilita la tabella attualmente in uso.
Se non viene specificato alcuna posizione (G80 En) gli assi slave vengono agganciati immediatamente.

Esempio:

G80E1,0,0 ;abilitazione assi elettrici su tabella 1 e posizioni di Engage = 0

G80E0 ;abilitazione immediata assi elettrici su tabella 0

Nota
Il comando è operativo solo se il controllo prevede la relativa opzione

5-41
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

G81 Definizione Posizioni di DISENGAGE Camme


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Fino alla disabilitazione con G80
Esecuzione Accodata
Condizioni La camme deve essere attiva
Funzioni compatibili -
Sintassi G81,<EQ0>..[ ,Eqn] (1)
Note: (1) EQ0..n = posizione di disengage per ogni slave impostato [q]

Descrizione
Per ogni slave il comando definisce la posizione, riferita all’asse master, in cui lo slave dovrà essere
sganciato dalla funzione Camme.
Il comando richiede di definire le posizioni di disengage per tutti gli assi slave definiti.

Esempio:

@20E0,2,0,XYZ ;definizione dei parametri della tabella camme


E0[1]=1,2,1 ;costruzione della tabella
G80E0,0,0 ;abilitazione della tabella
G81,0.5,2 ;stop degli assi Y e Z quando l’asse master (X in questo esempio)
;avrà raggiunto le posizioni rispettivamente di 0,5 e 2

Nota
Il comando è operativo solo se il controllo prevede la relativa opzione

5-42
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

G82 Definizione Automatica Tabella Camme


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva -
Esecuzione Accodata
Condizioni Deve essere stato definito il comando @20
Funzioni compatibili -
Sintassi G82 E<n.tab>, <pM> , <dM> (1)
Note: (1) n.tab = numero tabella da impostare
pM = posizione Master primo punto in tabella
dM = delta posizione Master

Descrizione
Il comando definisce automaticamente le posizioni dell’asse Master in tabella, partendo dalla posizione
pM e con incrementi pari a dM. Vengono riempiti tutti i record configurati della tabella in esame.

Esempio:

@20E0,0,100 ;definizione dei parametri della tabella Camme


G82E0,0,100 ;definizione di tutte le posizioni dell’asse master (la prima è in ‘0’ e
;le successive si ottengono con incrementi di 100)

Nota
Il comando è operativo solo se il controllo prevede la relativa opzione
5-43
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

G83 Definizione Fattore K Camme


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva -
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi G83 E<K> (1)
Note: (1) K = fattore K (il valore deve essere diverso da 0)

Descrizione
Il comando definisce un fattore di proporzionalità (K) tra la velocità dell’asse master e la velocità degli
assi slave.

Esempio: definizione di un fattore di proporzionalità ‘2’

G83E2

Nota
Il comando è operativo solo se il controllo prevede la relativa opzione

5-44
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

G84 Definizione Variazioni Velocità in % Camme


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva -
Esecuzione Accodata
Condizioni Deve essere stato definito il comando @20 e deve essere stata costruita la
tabella
Funzioni compatibili -
Sintassi G84 E<V0> , [<Vx>] (1)
Note: (1) Vx = % velocità per ogni asse slave

Descrizione
Con questo comando si può fare variare, in percentuale, la velocità definita in tabella di tutti gli assi
slave, senza dover modificare tutti i record.

Esempio:

G84E10,-30 ;aumento di tutte le velocità del primo asse slave del 10% e
;diminuzione di tutte le velocità del secondo asse slave del 30%

Nota
Il comando è operativo solo se il controllo prevede la relativa opzione

5-45
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

G85 Abilitazione asse Gantry


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Fino alla disabilitazione con lo stesso comando
Esecuzione Accodata
Condizioni Gli assi devono avere la stessa configurazione
Funzioni compatibili -
Sintassi G85 [asse1 asse2]
asse1 e asse2 X,Y,Z,W,U,V

Descrizione
Esegue un connessione di tipo Gantry tra il primo ed il secondo asse specificato.
Il comando senza parametri disattiva la connessione tra i due assi.
Il primo asse è l ‘asse master.

Esempio:

G85 XZ ;comandando l’asse X si otterrà il medesimo spostamento sull’asse Z

G85 ;disabilitazione della connessione Gantry

5-46
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

G90 G91 Programmazione Quote Assolute o Incrementali


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Fino alla programmazione di G90, G91 (1)
Esecuzione Accodata
Condizioni -
Funzioni compatibili G00, G01, G02, G03, G70, G71
Sintassi G90 [G compatibili]
G91 [G compatibili]
Note: (1) G90 e G91 si annullano a vicenda.
All’accensione è attivato automaticamente il codice G90

Descrizione
Definiscono la modalità di programmazione delle quote:
G90 attiva la programmazione assoluta
G91 attiva la programmazione incrementale
Il sistema assoluto consente di programmare le quote riferite alla origine attiva.
Il sistema incrementale consente invece la programmazione degli spostamenti riferiti all’ultima posizione
raggiunta agli assi.
La visualizzazione delle quote degli assi non viene influenzata dal sistema selezionato.

Es.: programmazione con quote assolute (G90)


Y
50

G90
40 G0 X60 Y35
P1 G1 Y20 F200
30 G2 X57 Y17 R-3
G1 X40
20
Y10
X20
Y40
10
X55
0
X G2 X60 Y35 R-6
0 10 20 30 40 50 60 70

Es.: programmazione con quote incrementali (G91)

Y G90
50 G0 X60 Y35
G91
40
G1 Y-15 F200
G2 X-3 Y-3 R-3
P1
G1 X-17
30
Y-7
X-20
20
Y30
X35
10 G2 X5 Y-5 R-6
X
0
0 10 20 30 40 50 60 70

5-47
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

G93 Attiva “Guida Utensile Tangenziale”


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Fino alla programmazione di G94
Esecuzione Accodata
Condizioni Non ammesso nei modelli “Posizionatore” e nei modelli a 1 o 2 assi
Funzioni compatibili -
Sintassi G93 [X] [Y] [Z] [W] [U] [V] (1)
X,Y,Z,W,U,V: assi
Note: (1) Devono essere sempre riportati gli indirizzi dei 3 assi; i primi due assi (1°, 2°)
come “assi sul piano di interpolazione”, il 3° asse come asse tangenziale
Gli indirizzo W , U e V sono ammessi soltanto se disponibile sul modello di
controllo scelto

Descrizione
Il codice G93 permette di selezionare l’asse TANGENZIALE (e contemporaneamente definire gli altri due
assi sul piano di interpolazione) e di attivare la guida automatica dell’UTENSILE TANGENZIALE, in modo tale
….. G93 <a1> <a2> <at> …..
Digitando soltanto G93 si ottiene la configurazione di default ‘XYZ’.
Ha effetto modale e può essere cancellata dalla funzione G94.
L’asse tangenziale deve essere programmata come asse circolare in gradi. (Un giro =360º).

Es.:

G93 XYZ attiva la guida utensile tangenziale sull’asse Z, specifica X,Y come assi del
piano di interpolazione

a2
+ at

a1

Nota

5-48
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

Il comando è operativo solo se il controllo prevede la relativa opzione

5-49
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

G94 Disattiva “Guida Utensile Tangenziale”


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer / Programma residente
Attiva Fino alla programmazione di G93
Esecuzione Accodata
Condizioni Non ammesso nei modelli “Posizionatore” e nei modelli a 1 o 2 assi
Funzioni compatibili G93
Sintassi G94

Descrizione
Il codice G94 permette di disattivare la “guida automatica dell’asse TANGENZIALE”.

Esempio:

N…
N5 G94
N…

Nota
Il comando è operativo solo se il controllo prevede la relativa opzione

5-50
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G

G98 Gestione velocità in posizionamento e in interpolazione


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host Computer / Programma residente
Attiva Fino alla programmazione di G98
Esecuzione Accodata
Condizioni -
Funzioni compatibili -
Sintassi G98, (n)

Descrizione
Il comando G98 consente di rendere indipendenti o interdipendenti i valori assegnati alla velocità nel
corso dei movimenti effettuati in interpolazione e in posizionamento.
Il parametro n può assumere i valori 0 e 1 con il seguente significato.

0 = L’ultima velocità specificata è valida per i successivi movimenti sia in interpolazione sia in
posizionamento
1 = L’ultima velocità specificata in un movimento in interpolazione è valida per i successivi
movimenti in interpolazione. L’ultima velocità specificata in un movimento in posizionamento è
valida per i successivi movimenti in posizionamento.

I comandi di movimento in posizionamento sono: G0, G6 e G51.


I comandi di movimento in interpolazione sono: G1, G2, G3 e G33
Il valore parametro assunto all’accensione è 0, quindi le due velocità sono interdipendenti.
All’accensione e fino a che si incontra la prima assegnazione esplicita del valore del parametro F, esso
vale metà della velocità massima specificata nei parametri. Nel momento in cui viene incontrato il
comando G98, 1, le velocità in posizionamento e in interpolazione sono uguali e corrispondono all’ultimo
valore assegnato. Nel momento in cui si incontra nuovamente il comando G98, 0, le due velocità
restano distinte fino alla prima assegnazione del parametro F. Da quel momento in poi tornano a essere
uguali.

Es.: programma in cui le due velocità sono gestite nei due modi.

G98, 0 ; velocità interdipendenti


G51 X- Y- F5000 ; ricerca di zero macchina verso il negativo a 5 metri/minuto primo
G0 X50 Y100 ; posizionamento a 5 metri/minuto primo
G1X200 Y150 ; interpolazione lineare a 5 metri/minuto primo
G98, 1 ; velocità indipendenti
G1 X300 Y200 F10000 ; Interpolazione lineare a 10 metri/minuto primo
G0 X0 Y0 ; posizionamento a 5 metri/minuto primo

5-51
CNC
MANUALE DI PROGRAMMAZIONE
PER I CONTROLLI S&h

Capitolo 6
-
Programmazione Parametrica
S&h – Manuale CNC Cap.6 – Programmazione Parametrica

6-2
S&h – Manuale CNC Cap.6 – Programmazione Parametrica

SOMMARIO
Introduzione ...................................................................................................................................... 6-4
OPERATORI................................................................................................................................. 6-4
FUNZIONI ..................................................................................................................................... 6-8
Variabili Tamponate ...................................................................................................................... 6-9
Variabili Predefinite ..................................................................................................................... 6-10

6-3
S&h – Manuale CNC Cap.6 – Programmazione Parametrica

INTRODUZIONE
I parametri Q sono variabili (1 .. 255) cui viene assegnato il valore nei blocchi di assegnazione variabili di
calcolo.
Il formato è: Qxxx = <espressione>
dove <espressione> può essere un valore numerico o una espressione matematica il cui risultato sarà
memorizzato nella variabile Q di indice xxx.
L'<espressione> corrisponde a quella di tipo matematico; è formata da operatori aritmetici, funzioni
e operandi.
La priorità di esecuzione delle operazioni aritmetiche nell'elaborazione della <espressione> è la
seguente:

() parentesi
funzioni SIN,COS,.....
^ esponente, radice quadrata
- negazione
*, / moltiplicazione, divisione
+, - somma, sottrazione
operatori logici .AND. .OR. .NOT.

OPERATORI
L’espressione deve essere continua, non ci possono essere “spazi” di separazione (es. Q1=3+6/2).
Ogni singola operazione deve essere separata da almeno uno spazio dal resto del comando ( es.
Q1=3-6/2_Q2=55*Q1).
L’ordine di priorità di esecuzione delle operazioni aritmetiche nell'elaborazione della <espressione> è
il seguente:

Tabella riassuntiva degli operatori


Gruppo Simbolo Rifer. Funzione dell’operatore Priorità
+ 2Bh Addizione (o segno positivo) 1
1 - 2Dh Sottrazione (o segno negativo) 1
* 2Ah Moltiplicazione 2
/ 2Fh Divisione 2
2 ^ 5Eh Potenza 3
SQR - Radice quadrata 3
3 ( 28h Parentesi aperta 5
) 29h Parentesi chiusa 5
.AND. - Moltiplicazione booleana 2
4 .OR. - Somma booleana inclusiva 2
.XOR. - Somma booleana esclusiva 2
.NOT. - Negazione 2
5 INT - Calcola parte intera 3
= 3Dh Uguale (assegnamento) 3

Le operazioni di maggiore priorità vengono eseguite prima;

Esempio: Q1=3+6/12*3-2 da come risultato Q1=2.5


Q1=Q1+5+2*3/5-1 se Q1 iniziale =2 da come risultato Q1=7.2

6-4
S&h – Manuale CNC Cap.6 – Programmazione Parametrica

Gruppo 1 Sintassi: “± x operazione ±y” dove:


x = 1° operando con il suo segno
y = 2° operando con il suo segno
+,-,/,* operazione
operazioni fondamentali + addizione
- sottrazione
* moltiplicazione
/ divisione

Il segno algebrico di una variabile è parte della variabile stessa,


quindi espressioni tipo 10 – Q1 viene accettata, mentre
espressioni tipo 10 - -5 non vengono accettate;

Esempi:
Q1=Q2+Q3 Q1=Q5-3.75
Q3=Q4*Q2 Q5=3*Q4-Q2/Q1

Gruppo 2 Sintassi : “±x ^±y ” dove:


x = base
^ , SQR y = esponente
Potenza , Radice ^ = operazione (potenza/ radice)

L’esponente può essere una variabile e può anche assumere


valore negativo
“SQR(x)” dove :
SQR = operazione radice quadrata
x = radicando (solo positivo e sempre
fra parentesi)

Esempi:
Q1=Q5^0.5 (radice) Q1=Q3^2 (quadrato)
Q1=SQR(Q2^2+Q3^2)

Gruppo 3 Sintassi:
le parentesi tonde vengono utilizzate come:
- separatori per le diverse funzioni; tra parentesi viene racchiuso
( ) ciò che rappresenta l’operando della funzione;
Parentesi tonde - indicatori di priorità per effettuare le operazioni secondo le
regole dell’aritmetica; così vengono eseguite le operazioni
racchiuse dalle parentesi interne (rispettando sempre a sua
volta la priorità fra le diverse operazioni) e successivamente
quelle contenute dalle parentesi esterne;

Sono ammessi al massimo 10 livelli di parentesi

Esempi:
Q3=3*(Q5+27) Q12=(Q5+Q7)-(Q3*Q6)

6-5
S&h – Manuale CNC Cap.6 – Programmazione Parametrica

Gruppo 4
Operatori logici

.AND. è la moltiplicazione booleana;


con questa istruzione si ottiene il valore 1 solo quando
moltiplicando e moltiplicatore hanno valore 1; in tutti gli altri casi il
risultato dell’operazione è 0:
1X1=1
1X0=0
0X1=0
0X0=0

.OR. è la somma booleana inclusiva;


Con questa istruzione si ottiene il valore 1 sempre che uno dei
termini abbia valore 1 e si ottiene 0 solo quando i due termini
hanno valore 0:
1+1=1
1+0=1
0+1=1
0+0=0

Le operazioni .AND. e .OR. lavorano sulle variabili considerandole


a bit.

Esempio:
13 .AND. 11 => 9
Nell’esempio 13 è 1101 in binario 11 è 1011 in binario e 1101
AND 1011 da come 1001 come risultato.

.XOR. è la somma booleana esclusiva;


con questa istruzione si ottiene il valore 1 solo quando i due
termini hanno diverso valore; negli altri casi il risultato
dell’operazione è 0:
1+1=0
1+0=1
0+1=1
0+0=0

.NOT. permette di negare il valore binario di una variabile;


con questa istruzione si esegue il complemento a 1. Il valore
decimale dopo NOT è quindi un valore negato rispetto al
precedente meno 1 .
L’istruzione NOT applicata a un numero decimale non ha senso: la
parte decimale viene arrotondata dopodiché avviene l’istruzione.

Esempi:

Q3=.NOT.Q1 (Q3=1 se Q1=0, Q3=0se Q1<>0)

Q3=Q1.OR.Q2

Q3=Q1.AND.Q2

6-6
S&h – Manuale CNC Cap.6 – Programmazione Parametrica

Gruppo 5 = è la funzione di assegnamento;

= , INT INT è una funzione che restituisce il più grande intero minore
o uguale all’argomento (INT(2.5)=2; INT(-2.5)= -2)

Esempi:

Q55=INT(Q12)

Q31=-Q31 cambia segno alla variabile Q31

Q7=81 assegna il valore "81" alla variabile Q7

Q25=Q25+30 il nuovo valore della variabile Q25 sarà la somma


della costante "30" più il valore contenuto nella
variabile Q25

Q7=QRX assegna il valore della quota reale X alla variabile Q7

6-7
S&h – Manuale CNC Cap.6 – Programmazione Parametrica

FUNZIONI

Oltre agli operatori appena descritti, una espressione può contenere funzioni più complesse indicate da
simboli.
Nella seguente tabella sono elencate le funzioni riconosciute dal controllo

Tabella riassuntiva degli operatori


Gruppo Simbolo Funzione dell’operatore Priorità
6 SIN Seno 4
COS Coseno 4
TAN Tangente 4
7 ARS Arcoseno 4
ARC Arcocoseno 4
ATN Arcotangente 4
8 SFL Set flag ( ‘ ) 5
TST Set Reg. Condizione ( / ) 5

Vediamo nel dettaglio le caratteristiche di queste funzioni:

Gruppo 6 Sintassi: ”SIN(a)”


“COS(a)”
“TAN(a)” dove:
SIN, COS, TAN (a) = valore dell’angolo in gradi
Funzioni trigonometriche
dirette
L’operando nelle funzioni trigonometriche è espresso in “gradi
decimali 360.000”

Esempi:
Q1=SIN(Q3+5) Q22=COS(Q221) Q5=TAN(3*(Q5+Q6))

Gruppo 7 Sintassi: ”ARS(a)”


“ARC(a)”
ARS, ARC, ATN “ATN(a)” dove:
Funzioni trigonometriche ( a )= valore nel range –1..+1
inverse

Esempi:
Q123=ARS(0.8) Q12=ARC(Q21-5/(Q8*Q3))
Q24=ATN(Q200)

Gruppo 8 Esempi:
SFL((QIX.AND.1).OR.(QRD.AND.27))
TST(Q3-100)
SFL, TST
Set flag ( ‘ ),
Set Reg. Condizione ( / )

6-8
S&h – Manuale CNC Cap.6 – Programmazione Parametrica

Le funzioni parametriche sono ammesse in tutte le operatività.

Le funzioni devono avere l'operando in parentesi: COS(Qxxx), COS(3).


La lunghezza massima di un blocco è di 128 caratteri con un massimo di 25 variabili nella stessa
funzione.
In un blocco di programma può essere introdotta più di una espressione di calcolo(max 10); cioè è
ammessa una stringa del tipo:
N1 Q17=Q2*Q3 Q121=SIN(Q17) Q50=COS(Q17)
Quando viene eseguito il blocco "N1" le variabili programmate vengono caricate una dopo l'altra (da
sinistra a destra).
La sequenza di scrittura stabilisce la sequenza di esecuzione.

La programmazione di una riga può essere di tipo misto: convenzionale (ISO) e di tipo PARAMETRICO.

N1 G1 X=Q1 Y=Q2

Variabili Tamponate

Le variabili comprese tra 1...100 "non mantengono" in memoria il loro valore.


Le variabili comprese tra 101...200 "mantengono" il loro valore in memoria anche dopo lo
spegnimento e/o la selezione di un nuovo programma da eseguire.
Deve essere cura del programma operatore una loro eventuale inizializzazione.
Le variabili comprese tra 201...255 sono variabili il cui significato è "predefinito" (possono essere a
sola lettura(r) o a lettura/scrittura(r/w)).
Queste variabili sono identificate oltre che dal numero(201..255) anche in modo simbolico.

6-9
S&h – Manuale CNC Cap.6 – Programmazione Parametrica

Variabili Predefinite

Variabili PREDEFINITE
Var. simbolo funzione note Formato
201 QI1 Variabile PLC "1" (IN) ---- (variabile 80 del PLC) r Intero
202 QI2 Variabile PLC "2" (IN) ---- (variabile 82 del PLC) r Intero
203 QI3 Variabile PLC "3" (IN) ---- (variabile 84 del PLC) r Intero
204 QI4 Variabile PLC "4" (IN) ---- (variabile 86 del PLC) r Intero
205 QI5 Variabile PLC "5" (IN) ---- (variabile 88 del PLC) r Intero
206 QI6 Variabile PLC "6" (IN) ---- (variabile 90 del PLC) r Intero
207 QI7 Variabile PLC "7" (IN) ---- (variabile 92 del PLC) r Intero
208 QI8 Variabile PLC "8" (IN) ---- (variabile 94 del PLC) r Intero
209 QO1 Variabile PLC "1" (OUT) ---- (variabile 64 del PLC) r/w Intero
210 QO2 Variabile PLC "2" (OUT) ---- (variabile 66 del PLC) r/w Intero
211 QO3 Variabile PLC "3" (OUT) ---- (variabile 68 del PLC) r/w Intero
212 QO4 Variabile PLC "4" (OUT) ---- (variabile 70 del PLC) r/w Intero
213 QO5 Variabile PLC "5" (OUT) ---- (variabile 72 del PLC) r/w Intero
214 QO6 Variabile PLC "6" (OUT) ---- (variabile 74 del PLC) r/w Intero
215 QO7 Variabile PLC "7" (OUT) ---- (variabile 76 del PLC) r/w Intero
216 QO8 Variabile PLC "8" (OUT) ---- (variabile 78 del PLC) r/w Intero
217 PI Ingressi PLC (1...32) (IN) ---- (variabile 62 del PLC) r Hex
218 PO Uscite PLC (1...32) (OUT) ---- (variabile 60 del PLC) r/w Hex
219 QRX quota reale X (assoluta) r Decim.
220 QRY quota reale Y (assoluta) r Decim.
221 QRZ quota reale Z (assoluta) r Decim.
222 QTX quota teorica X (assoluta) r Decim.
223 QTY quota teorica Y (assoluta) r Decim.
224 QTZ quota teorica Z (assoluta) r Decim.
225 QEX errore inseguimento X r decim.
226 QEY errore inseguimento Y r decim.
227 QEZ errore inseguimento Z r decim.
228 QIX ingressi X r hex
229 QIY ingressi Y r hex
230 QIZ ingressi Z r hex
231 QOX uscite X r hex
232 QOY uscite Y r hex
233 QOZ uscite Z r hex

6-10
S&h – Manuale CNC Cap.6 – Programmazione Parametrica

Variabili PREDEFINITE
var. simbolo funzione note formato
234 QRD registro stato macchina "D" r hex
235 QRE registro allarmi "E" r hex
236 QR\ registro condizione "\" r hex
237 QVX velocità asse X r decim.
238 QVY velocità asse Y r decim.
239 QVZ velocità asse Z r decim.
240 QSY contatore impulsi esterni r/w intero
241 QFD lettura FEED r intero
242 QPT velocitá del punto (in interpolazione) r decim
243 QTP variabile tempo in msec. (risoluzione = 2 msec) r/w decim
244 QPN immagine del pannello di controllo r hex
245 QAX Quota di tasteggio X r decim
246 QAY Quota di tasteggio Y r decim
247 QAZ Quota di tasteggio Z r decim
248 QAW Quota di tasteggio W r decim
249 QRW quota reale W (assoluta) r decim
250 QTW quota teorica W (assoluta) r decim
251 QEW errore inseguimento W r decim.
252 QIW ingressi W r hex
253 QOW uscite W (bit 0-7) stato macchina W (8-15) allarmi W (16-23) r hex
254 QVW velocità asse W r decim.
255 QNR N° controllo r decim.
256 QAU Quota di tasteggio U r decim
257 QRU quota reale U (assoluta) r decim
258 QTU quota teorica U (assoluta) r decim
259 QEU errore inseguimento U r decim
260 QIU Ingressi U r hex
261 QOU uscite U r hex
262 QVU velocità asse U r decim
263 QAV Quota di tasteggio V r decim
264 QRV quota reale V (assoluta) r decim
265 QTV quota teorica V (assoluta) r decim
266 QEV errore inseguimento V r decim
267 QIV Ingressi V r hex
268 QOV uscite V r hex
269 QVV velocità asse V r decim

6-11
S&h – Manuale CNC Cap.6 – Programmazione Parametrica

Le variabili possono essere lette tramite il comando %81.


Il valore contenuto dalla variabile verrà trasmesso nel formato specificato dalla colonna "formato", cioè o
come valore intero, come valore con decimali o come valore in esadecimale.

Esiste una variabile dedicata Q0 che ha il seguente significato :

VARIABILE Q0 :
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00

Bit Descrizione
00 Bit modalità-0 00 Æ PROGRAMMAZIONE
01 Æ AUTOMATICO
01 Bit modalità-1 10 Æ MANUALE
11 Æ LINEA
02 Bit G00-G03 –0 00 Æ G00
01 Æ G01
03 Bit G00-G03 –1 10 Æ G02
11 Æ G03
04 Bit G90/G91 0 Æ G90 / 1 Æ G91
05 Bit G70/G71 0 Æ G71 / 1 Æ G70
06 Emergenza (resettata dal comando G51) 1Æ emergenza
07
08
..
31

6-12
CNC
MANUALE DI PROGRAMMAZIONE
PER I CONTROLLI S&h

Capitolo 7
-
Comandi “&” Funzioni Speciali
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &

7-2
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &

SOMMARIO

Introduzione ..........................................................................................................................................4
&00 Seleziona Modo <PROG> ............................................................................................................5
&01 Seleziona Modo <AUTO> .............................................................................................................6
&02 Seleziona Modo <ON-LINE> ........................................................................................................7
&03 Seleziona Modo <JOG>................................................................................................................8
&04 List di un Programma Memorizzato ..............................................................................................9
&05 Elenco Programmi Memorizzati ..................................................................................................10
&06 Cancella Programma ..................................................................................................................11
&07 Carica Parametri di Default.........................................................................................................12
&08 Seleziona Modalità di Comunicazione ........................................................................................13
&09 Seleziona Lingua Messaggi di Errore..........................................................................................14
&10 - &11 Abilita - Disabilita Pannello Esterno...................................................................................15
&12 Definizione Numero del Controllo ...............................................................................................16
&14 Selezione canale di comunicazione ausiliario .............................................................................17
&15 Modifica del Protocollo di Comunicazione...................................................................................18
&20 Scrivi VARIABILI “Q 1…255” .....................................................................................................19
&30 Modifica la Velocità degli Assi (in percentuale) ...........................................................................20
&31 Modifica la Tensione Analogica (definita da @52) ......................................................................21
&70 - &71 - &79 - &80 - &84 - &88 ......................................................................................................22
&51 Stop Registrazione Quote...........................................................................................................23
&52 Start Registrazione Quote...........................................................................................................24
Procedura di registrazione delle quote ................................................................................................26
Pacchetto dati di registrazione.........................................................................................................26
Pacchetto di fine registrazione.........................................................................................................29
Consigli pratici.................................................................................................................................30

7-3
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &

INTRODUZIONE
Sono comandi particolari gestiti dal controllo per l'esecuzione di funzioni speciali quali:

- selezione del modo di funzionamento


- gestione dei programmi (listato, elenco, cancellazione)
- preset parametri di default
- definizione modalità di esecuzione
- abilitazione pannelli esterni
- comandi immediati eseguibili da programma

Nota
Se non specificato diversamente, gli esempi di comunicazione forniti con la descrizione dei comandi,
sono sempre relativi al tipo di comunicazione “calcolatore senza eco” e al modo di funzionamento
“on line”.

7-4
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &

&00 Seleziona Modo <PROG>


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata; da programma
Condizioni Pannello esterno disabilitato; nessun programma già in inserimento
Sintassi &00 [, (p)] (1)
(p): numero programma da inserire
range : 1..254; max 3 cifre ascii-decimale
Note: (1) programmando &00 senza parametri si seleziona il programma n°1

Descrizione
Seleziona il modo di funzionamento PROG e abilita l’inserimento del programma (p) specificato nel
comando.

Es.: seleziona PROG e abilita inserimento del programma 32.

PC > <cr>
CONTROLLO > '$'
PC > '&00,32' <cr>
CONTROLLO > '~' si noti il cambiamento del carattere PROMPT

7-5
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &

&01 Seleziona Modo <AUTO>


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni Pannello esterno disabilitato
Sintassi &01 [, (p)] [,(t)]
(p): numero programma da ESEGUIRE (1)
(t): numero del processo che deve essere attivato come processo parallelo (2)
range : 1..254; max 3 cifre ascii-decimale
Note: (1) se manca il n° di programma si seleziona il programma n° 1
(2) il parametro (t) è utilizzato per la gestione dei task

Descrizione
Seleziona il modo di funzionamento AUTO e abilita l’esecuzione del programma (p) specificato nella
funzione. L’esecuzione del programma inizierà sul comando di START.

Es.: seleziona modo AUTO

Seleziona AUTO e abilita esecuzione del programma 10: si noti il cambiamento del carattere PROMPT.

PC > <cr>
CONTROLLO > '$'
PC > '&01,10' <cr>
CONTROLLO > '|'

Il programma 27 non e' presente

PC > '&1,27' <cr>


CONTROLLO > '?0-c02: Programma non presente in memoria'
CONTROLLO > '$'

7-6
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &

&02 Seleziona Modo <ON-LINE>


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni Pannello esterno disabilitato
Sintassi &02
&02 [,1]
&02 = modalità standard
&02,1 = modalità fast mode

Descrizione
&02 Seleziona il modo di funzionamento ON-LINE.
&02,1 per esecuzioni linea in FAST-MODE.
In questa modalità non e' possibile utilizzare variabile 'Q' e il pannello. Inoltre gli errori di comando (non
sintattici) vengono segnalati sul comando successivo (Prompt anticipato)

Nota: tale funzione corrisponde all'opzione commerciale “/H”

Es.: selezione modo ON-LINE

PC > <cr>
CONTROLLO > '~'
PC > '&02' <cr>
CONTROLLO > '$' si noti il cambiamento del carattere PROMPT.

7-7
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &

&03 Seleziona Modo <JOG>


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni Pannello esterno disabilitato
Sintassi &03 (1)

Note: (1) è un comando senza parametri

Descrizione
Seleziona il modo di funzionamento JOG.

Es.: selezione JOG

PC > <cr>
CONTROLLO > '$'
PC > '&02' <cr>
CONTROLLO > ' ' si noti il cambiamento del carattere PROMPT.

7-8
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &

&04 List di un Programma Memorizzato


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni Programma presente
Sintassi &04 (p)
(p) : numero programma da inviare (1)
Note: (1) range 1..254: max. 3 cifre ascii-decimale

Descrizione
Attiva l’invio, sulla linea di comunicazione, del programma (p) specificato nel comando.
L’invio viene eseguito linea per linea: ad ogni <cr> inviato successivamente al comando, il controllo
risponderà inviando in risposta una linea di programma.
Utilizzare il comando ^P <dle> per abortire il listing.

7-9
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &

&05 Elenco Programmi Memorizzati


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni -
Sintassi &05 (1)

Note: (1) è un comando senza parametri

Descrizione
Attiva l’invio, sulla linea di comunicazione, delle linee di TAG di tutti i programmi memorizzati sul
controllo.
L’invio viene eseguito linea per linea: ad ogni <cr> inviato successivamente al comando, il controllo
risponderà inviando in risposta il numero del programma seguito dalla linea di TAG corrispondente.
Utilizzare il comando ^P per abortire il listing
.
Es.: elenco programmi memorizzati

Sul controllo sono presenti i programmi 10, 27 e 105

PC > '&05' <cr>


CONTROLLO > '~'
PC > <cr>
CONTROLLO > '010 : "TAG PROGRAMMA 10"
CONTROLLO > '~'
PC > <cr>
CONTROLLO > '027 : "TAG PRG 27"
CONTROLLO > '~'
PC > <cr>
CONTROLLO > '105 : "Progr. 105"
CONTROLLO > '~'
PC > <cr>
CONTROLLO > '~'

7-10
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &

&06 Cancella Programma


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni Modo “PROG”, nessun programma già in inserimento
Sintassi &06, (p)
(p): numero programma da cancellare (1)
Note: (1) valore nel range 1..254 : max 3 cifre ascii-decimali

Descrizione
Cancella il programma (p) specificato nella funzione.

Es.: cancella programma

PC > <cr>
CONTROLLO > '~'
PC > '&06,18' <cr> Cancella programma 18
CONTROLLO > '~'

7-11
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &

&07 Carica Parametri di Default


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni Modo “ON-LINE”, nessun comando in esecuzione: gli assi devono essere
fermi e non deve esserci nessun comando con esecuzione accodata in
attesa di essere eseguito
Sintassi &07, (n)
(n): operazione da eseguire (1)
Note: (1) valore nel range 0..3: max 1 cifra ascii-decimale

Descrizione
Il comando consente di caricare i valori di default di tutti i parametri programmabili con le funzioni di
personalizzazione (funzioni ‘@’) e/o di cancellare in blocco tutti i programmi memorizzati e/o di
cancellare il programma PLC caricato.
Il valore (n) può assumere i seguenti significati:
‘0’ = carica parametri di default CNC
‘1’ = cancella tutti i programmi CNC memorizzati
‘2’ = carica i parametri di default CNC e cancella tutti i programmi CNC memorizzati.
‘3’ = cancella il programma PLC caricato

Es.: carica parametri di default

Nessun comando in esecuzione

PC > '&07,0' <cr>


CONTROLLO > '$'

Importante
Usare con cautela: dopo l'utilizzo di questa funzione devono essere riprogrammate tutte le
funzioni '@' necessarie per la personalizzazione del proprio sistema.

7-12
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &

&08 Seleziona Modalità di Comunicazione


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni -
Sintassi &08, (m)
(m): codice modalità di comunicazione (1)
Note: (1) valore nel range 1..3: max 1 cifra ascii-decimale

Descrizione
Definisce la modalità di comunicazione del controllo, attraverso il significato attribuito a (m) :

'1' = terminale
'2' = calcolatore senza eco
'3' = calcolatore con eco

Es.: selezione modalità di comunicazione

E' attivo il modo calcolatore senza eco:

PC > '&08,3' <cr> abilita modo calcolatore con eco


CONTROLLO > '$'
PC > 'G0 X123' <cr>
CONTROLLO > 'G0 X123' <cr>
CONTROLLO > '$'

7-13
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &

&09 Seleziona Lingua Messaggi di Errore


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni -
Sintassi &09, (m)
(m): codice lingua da selezionare (1)
Note: (1) valore nel range 1..4: max 1 cifra ascii-decimale

Descrizione
Definisce la lingua per i messaggi di errore, attraverso il significato attribuito ad (m):

'1' = italiano (default)


'2' = inglese (non implementato nel controllo Goya)
'3' = francese (non implementato nel controllo Goya)
‘4’ = tedesco (non implementato nel controllo Goya)

Es.: selezione lingua messaggi di errore

PC > '&09,2' <cr>

7-14
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &

&10 - &11 Abilita - Disabilita Pannello Esterno


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni -
Sintassi &10 (1)
&11 (1)
Note: (1) è un comando senza parametri

Descrizione
La funzione &10 abilita l’utilizzo del pannello esterno.
All’accensione o dopo un reset software di un sistema di controllo, che prevede l’utilizzo del pannello di
controllo remoto, quest’ultimo può essere automaticamente abilitato con il comando @97.

Con &11 i pannelli esterni vengono disabilitati.


Con questa condizione attiva, la selezione del modo di funzionamento è possibile con le sole funzioni
&00, &01, &02 e &03.

Es.: abilitazione pannello esterno

PC > '&10' <cr>


CONTROLLO > '$'
PC > '&00,18' <cr>
CONTROLLO > '?0-c08: Comando non eseguibile'
CONTROLLO > '$'

Es.: disabilitazione pannello esterno

PC > '&11' <cr>


CONTROLLO > '$'
PC > '&00,18' <cr>
CONTROLLO > '~'

Importante
L’attività del pannello in accensione è programmato dal parametro @97.

7-15
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &

&12 Definizione Numero del Controllo


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni -
Sintassi &12 , (n)
(n) : numero controllo; valore nel range 0..99

Descrizione
Questo comando, che permette di definire il numero del controllo, trova applicazione nei sistemi che
prevedono più controlli collegati con un’unica linea seriale RS422 o RS485 al P.C.
In questi sistemi si ha infatti la necessità di identificare ciascun controllo con un numero diverso per
permettere con un opportuno comando l’aggancio della comunicazione con il controllo desiderato. Si
veda a questo proposito il comando immediato: Ctrl-G Aggancio comunicazione.
Il comando &12 viene comunque accettato anche dai controlli che utilizzano la linea seriale RS232.

Es.: definizione numero del controllo

PC > ‘&12,3’ <cr>


CONTROLLO > ‘$’

Con il comando %98 è possibile sapere il numero associato al controllo, rifarsi alla relativa
documentazione per informazioni al riguardo.

Importante
I controlli vengono forniti configurati con il numero 0. Pertanto in caso di utilizzo di più controlli con un
unica seriale RS422 o RS485 si dovrà configurare ciascun controllo con il proprio numero, collegandolo
singolarmente al P.C. ed utilizzando il comando di “aggancio” ^G.
Se all’accensione si verifica un errore nel mantenimento dei parametri in e2prom il controllo assume
automaticamente il numero 0.
Il controllo, tuttavia, dovrà essere “riagganciato” (vedere il comando ^G) e riconfigurato con il numero
corretto.

7-16
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &

&14 Selezione canale di comunicazione ausiliario


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni -
Sintassi &14 , (n) 0 = normale
(n) : canale di comunicazione normale/ausiliario 1 = canali scambiati

Descrizione
Questo comando, attivo solo sul controllo Picasso2000, permette di scambiare la linea di comunicazione
seriale con il canale Bus.

Es.: selezione canale ausiliario

PC > ‘&14,1’ <cr>


CONTROLLO > ‘$’

7-17
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &

&15 Modifica del Protocollo di Comunicazione


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni -
Sintassi &15 , (t)
(t) : numero nel range 0..63

Descrizione
Permette di modificare il protocollo di comunicazione tra il PC e il controllo.
Il sistema si predispone all'accensione per colloquiare con il seguente protocollo seriale :
baud-rate = 9600
data-bit =8
parità = ODD
stop-bit =1

Con questo comando e' possibile modificare il BAUD-RATE e la PARITA' .


Il parametro (t) e' un numero (0-23) con il seguente significato :

databit = 8 databit = 7
0 300-even 32 300-even
1 600-even 33 600-even
2 1200-even 34 1200-even
3 2400-even 35 2400-even
4 4800-even 36 4800-even
5 9600-even 37 9600-even
6 19200-even 38 19200-even
7 38400-even 39 38400-even
8 300-odd 40 300-odd
9 600-odd 41 600-odd
10 1200-odd 42 1200-odd
11 2400- odd 43 2400- odd
12 4800-odd 44 4800-odd
13 9600-odd 45 9600-odd
14 19200-odd 46 19200-odd
15 38400-odd 47 38400-odd
16 300-no parità 48 300-no parità
17 600-no parità 49 600-no parità
18 1200-no parità 50 1200-no parità
19 2400-no parità 51 2400-no parità
20 4800-no parità 52 4800-no parità
21 9600-no parità 53 9600-no parità
22 19200-no parità 54 19200-no parità
23 38400-no parità 55 38400-no parità

Es.: modifica del protocollo di comunicazione

PC > '&15,22' <cr> seleziona il protocollo 19200,8,1,NO-PARITY


CONTROLLO > '$'

7-18
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &

&20 Scrivi VARIABILI “Q 1…255”


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni -
Sintassi &20 Q(m) = valore
(m) : numero della variabile che si vuole modificare; range 1..255
“valore” : dato da inserire nella variabile stessa (1)
Note: (1) es.: Q10 = 123 la variabile Q10 viene posta uguale a 123

Descrizione
Permette di modificare il contenuto delle variabili di INTERFACCIA Q 1..255 anche durante l’esecuzione
di un programma (Automatico) in modo da influire sul comportamento del programma in esecuzione.

Es.: scrivi variabile

PC > '&20 Q55=123' <cr>


CONTROLLO > '$'

7-19
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &

&30 Modifica la Velocità degli Assi (in percentuale)


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni -
Sintassi &30, (p)
(p) : numero nel range –99..100

Descrizione
Permette di modificare la velocità degli assi durante il loro movimento in un range ammesso dall'1 % al
doppio della velocità nominale.
Questa funzione e' attiva solo dopo l'abilitazione data tramite il comando @80,1.
Anche tutte le impostazioni di velocità successive subiranno la "modifica" della velocità fino alla
disabilitazione tramite il comando @80,0 o alla programmazione del valore (p) =0 che riporta alla
velocità nominale.
Il parametro (p) e' un numero ( -99 .... 100) che rappresenta di quanto deve essere modificata la velocità
degli assi.

(p) = -99 : velocità = 1/100 della programmata (nominale -99%)


(p) = 100 : velocità = doppio della programmata (nominale +100%)
(p) = 0 : velocità = velocità programmata (nominale)

Es.: modifica velocità

PC > '&30,21' <cr>


CONTROLLO > '$'

7-20
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &

&31 Modifica la Tensione Analogica (definita da @52)


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni -
Sintassi &31, (m)
(m) : numero nel range –99..100

Descrizione
Permette di modificare la tensione in uscita (velocità del mandrino) durante la lavorazione in un range
ammesso dall'1 % al doppio della velocità nominale.
Anche tutte le impostazioni di velocità successive subiranno la "modifica" della velocità fino alla
disabilitazione tramite la programmazione del valore (m) =0 che riporta alla velocità nominale.
Il parametro (m) e' un numero ( -99 .... 100) che rappresenta di quanto deve essere modificata la
velocità:

(m) = -99 : velocità = 1/100 della programmata (nominale -99%)


(m) = 100 : velocità = doppio della programmata (nominale +100%)
(m) = 0 : velocità = velocità programmata (nominale)

Es.: modifica tensione analogica

PC > '&31,21' <cr>


CONTROLLO > '$'

7-21
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &

&70 - &71 - &79 - &80 - &84 - &88


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer, memoria di programma (esecuzione programmi)
Attiva Nel blocco programmato
Esecuzione Immediata (da programma)
Condizioni Dipendenti dalla modalità attiva:
ON-LINE = non ammessi
PROG = ammessi
AUTO = ammessi solo da memoria prog.
JOG = ammessi solo da memoria prog.
Sintassi &70 (1)
&71 (1)
&79 (1)
&80 (1)
(1)
&84
(1)
&88
Note: (1) è una funzione senza parametri

Descrizione

&70 STOP CNC


&71 START CNC
&79 SET EMERGENZA
&80 RESET EMERGENZA
&84 ANNULLA COMANDO IN ESECUZIONE
&88 SINGLE STEP

Sono comandi che duplicano alcune funzioni eseguibili con i comandi immediati, rendendo possibile la
loro esecuzione anche da programma.

Es.:

Invio del comando durante l'inserimento di un programma


PC > '&84' <cr>
CONTROLLO > '|'

Invio del comando durante l'esecuzione di un programma


PC > '&70' <cr>
CONTROLLO > '|'

7-22
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &

&51 Stop Registrazione Quote


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni - (1)
Sintassi &51 (2)
Note: (1) se la registrazione non è attiva la funzione non ha nessun effetto
(2) è un comando senza parametri

Descrizione
La funzione &51 permette di concludere la procedura di registrazione delle quote teoriche ed effettive.
E’ sempre eseguito, qualunque sia la modalità di lavoro del controllo e il tipo di stop selezionato con la
funzione &52.

Es.: stop registrazione quote

PC > '&51' <cr>


CONTROLLO > '$'

Importante
La fine della procedura di registrazione viene indicata dal controllo inviando un pacchetto di registrazione
particolare (vedi paragrafo in coda al presente capitolo) costituito da soli 2 bytes.
Tale pacchetto di "fine registrazione" viene trasmesso prima del PROMPT inviato in risposta al
comando &51.

7-23
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &

&52 Start Registrazione Quote


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer
Attiva Nel blocco programmato
Esecuzione Immediata
Condizioni Modalità ON-LINE o AUTO
se la registrazione è già attiva viene segnalato un errore
Sintassi &52 , [X] [Y] [Z] [W] [U] [V] , (periodo) , (stop)
(assi) : assi da registrare (1)
(periodo) : periodo di campionamento (2)
(stop) : tipo di stop
Note: (1) Gli indirizzi Y,Z , W ,U e V sono ammessi soltanto se disponibili sul modello di
controllo scelto
(2) Deve essere definito almeno un indirizzo

Descrizione
La funzione &52 consente di avviare la registrazione delle quote di uno o più assi con due modalità di
risposta.
Modalità 0: registrazione delle variazioni delle quote teoriche e reali degli assi selezionati (modalità
attiva all’accensione)
Modalità 1: registrazione delle sole quote reali assolute degli assi indicati
Attualmente è possibile attivare la modalità di registrazione 1 solo con il comando G74, di attivazione
lettura quote LASER.

La registrazione può essere attivata solo nelle modalità di funzionamento ON-LINE e AUTO.
La procedura è caratterizzata dai seguenti parametri:

- ASSI definisce su quali e quanti assi deve essere eseguita la registrazione. Almeno un asse
deve essere specificato.

- PERIODO definire il periodo di campionamento e di invio dei dati della registrazione oppure
selezionare l'invio dei dati a ogni variazione della quota effettiva di uno qualunque degli
assi specificati.
È un valore nel range 0..9 con il seguente significato:
'0' : invio dati ad ogni variazione di quota teorica o effettiva
'1' : campionamento quote ogni 4 ms
'2' : campionamento quote ogni 8 ms
'3' : campionamento quote ogni 12 ms
'4' : campionamento quote ogni 16 ms
'5' : campionamento quote ogni 20 ms
'6' : campionamento quote ogni 24 ms
'7' : campionamento quote ogni 28 ms
'8' : campionamento quote ogni 32 ms
'9' : campionamento quote ogni 36 ms

- STOP è possibile definire se lo stop della registrazione dovrà essere eseguito solo su comando
(vedi &51) o avverrà automaticamente al termine dell'esecuzione del programma
selezionato in modalità AUTO.
È un valore nel range 0..1 con il seguente significato:
'0' : stop solo su comando &51 (obbligatorio se si è in modalità ON-LINE)
'1' : stop a fine esecuzione programma o su comando &51

7-24
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &

Si noti che il comando di start registrazione può essere inviato indifferentemente prima o dopo il
comando di start esecuzione del programma (Ctrl-C o pulsante da pannello remoto).

Es.:

start registrazione sugli assi X, Y e Z in ONLINE


Periodo: 8 msec.
Stop: su comando

PC > '&52,XYZ,2,0' <cr>


CONTROLLO > '$'

Start registrazione sul solo asse Y in AUTO


Periodo: variazione quota
Stop: a fine esecuzione programma

PC > '&52,Y,0,1' <cr>


CONTROLLO > '|'

Importante
Il controllo comincia a inviare i dati della registrazione dopo aver inviato il PROMPT, in risposta al
comando &52. Ciò a sua volta avverrà solo se il comando ricevuto sarà formalmente corretto.

I dati della registrazione, dei quali viene fornita una completa descrizione in coda al presente capitolo,
vengono continuamente inviati dal controllo sotto forma di pacchetti da 5, 8, 11 o 14 byte (dipende dal
numero di assi da registrare) finché non si verifica la condizione di stop (comando o fine programma).

Durante questa fase il controllo continua a comunicare regolarmente gestendo gli eventuali comandi che
gli verranno inviati sul canale di comunicazione: qualora i comandi inviati fossero "comandi di lettura"
(cioè comandi che prevedono risposte dal controllo) è possibile che uno o più pacchetti di registrazione
venga inviato "all'interno" della risposta prevista dal comando.

I byte trasmessi assumono qualsiasi valore compreso tra 0 e 255, quindi è obbligatorio programmare la
linea seriale (vedi &15) in modo che funzioni con 8 data bit prima di dare il via alla registrazione.

7-25
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &

PROCEDURA DI REGISTRAZIONE DELLE QUOTE


La procedura di registrazione, avviata con il comando &52, consiste nel far trasmettere al controllo,
durante l'esecuzione di uno o più comandi in modalità ONLINE o di un programma in modalità AUTO,
una serie di pacchetti di dati contenenti le informazioni relative a:

• variazioni di quota teorica ed effettiva di uno o più assi (modalità 0),


• valori assoluti delle quote effettive di uno o più assi (modalità 1).

L'invio dei pacchetti viene eseguito automaticamente dal controllo, fino alla conclusione della procedura
che può avvenire mediante il comando dedicato &51 o in modo automatico al termine dell'esecuzione
del programma.

Pacchetto dati di registrazione

Periodo di campionamento e di invio


Durante la procedura di registrazione, le quote teoriche ed effettive sono campionate al
momento di una variazione o periodicamente, con un intervallo variabile tra 4 e 36 ms,
come specificato a mezzo del comando di start registrazione (vedi comando &52).
A ogni campionamento, il controllo memorizza le variazioni di quota e le invia
automaticamente sul canale di comunicazione senza attendere alcuna richiesta da
parte dell’host. Pertanto il periodo di invio di un pacchetto dati di registrazione sarà
variabile in funzione dei movimenti del sistema oppure sarà pari a quello di
campionamento.
In caso di selezione dell'invio a ogni variazione di quota, il tempo che intercorre tra
l'invio di un pacchetto e il successivo non sarà mai inferiore a 4 ms.

Formato del pacchetto dati


Il pacchetto dati di registrazione è sempre costituito da byte binari ossia da valori nel
range 0 .. 255. Per questo motivo la linea seriale deve essere obbligatoriamente
programmata per funzionare a 8 data bit.
La struttura del pacchetto è la seguente:

BYTE INIZIO PACCHETTO (sempre presente)

DATA BYTES
Sono i byte contenenti le informazioni relative alle quote degli assi prescelti con il
comando &52. Ogni asse "da registrare" comporterà la presenza di 3 byte.
Pertanto i byte di dati presenti saranno 3, 6, 9 o 12
L'ordine dei dati inviati è sempre fissato in:
1) 3 byte dati asse X (se selezionato)
2) 3 byte dati asse Y (se selezionato)
3) 3 byte dati asse Z (se selezionato)
4) 3 byte dati asse W (se selezionato)

BYTE CHECKSUM (sempre presente)

7-26
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &

La lunghezza del pacchetto è dunque variabile in funzione del numero di assi prescelti
per la registrazione:
1 asse: 5 byte
2 assi: 8 byte
3 assi: 11 byte
4 assi: 14 byte

Byte inizio pacchetto

7 6 5 4 3 2 1 0
1 e 0 y x x x x

Il byte di inizio pacchetto è normalmente costituito, in funzione del numero di assi


prescelti per la registrazione, da uno dei seguenti valori:

Mod. 0 Mod. 1
1 asse 84 Hex 94 Hex
2 assi 87 Hex 97 Hex
3 assi 8A Hex 9A Hex
4 assi 8D Hex 9D Hex

In pratica il "nibble" meno significativo (xxxx) indica il numero di byte che seguiranno
quello di inizio, checksum compreso: 4, 7, 10 o 13.
Il bit 4 (y) segnala se le informazioni sono da considerarsi relative alla variazione delle
quote teoriche e reali o relative alla posizione reale assoluta.
Il bit 6 (e), se è a 1, indica che uno o più pacchetti dati sono andati persi perché l’host
non è stato sufficientemente sollecito nello scaricare la FIFO di trasmissione. In questo
caso il nibble meno significativo contiene il valore 1, perché non saranno trasmessi i
dati delle quote, ma solo il checksum.

Data bytes

Modalità 0: incremento delle quote teoriche ed effettive

La seguente descrizione è relativa al blocco di 3 bytes contenenti la variazione di quota


teorica ed effettiva di un asse ed è pertanto valida per ciascun asse prescelto.

- Primo byte:
Contiene gli 8 bit meno significativi della variazione di quota teorica.

7 6 5 4 3 2 1 0
Delta “Qt”
8 bit l.s.

- Secondo byte:
Il nibble l.s. contiene i 4 bit più significativi della variazione di quota teorica, mentre il
nibble m.s. contiene i 4 bit meno significativi della variazione di quota effettiva.

7 6 5 4 3 2 1 0
Delta “Qe” Delta “Qt”
4 bit l.s. 4 bit m.s.

7-27
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &

- Terzo byte:
Contiene gli 8 bit più significativi della variazione di quota effettiva.

7 6 5 4 3 2 1 0
Delta “Qe”
8 bit m.s.

Al valore di variazione della quota teorica od effettiva vengono perciò dedicati 12 bit
(con segno) corrispondenti ad una variazione di quota nel range: -2048 .. +2047. La
variazione di quota e` calcolata come:

Delta Q = Q(n) - Q(n-1)


dove:
Q(n) = valore quota al campionamento n-esimo
Q(n-1) = valore quota al campionamento precedente

Pertanto le variazioni saranno positive se l'asse si sta muovendo in avanti e negative


se si sta muovendo all'indietro.
I valori di variazione delle quote sono sempre espressi in passi motore se si tratta di
un asse con motore passo-passo o impulsi encoder se si tratta di un asse con motore
in corrente continua.

Modalità 1: quote effettive assolute

La seguente descrizione è relativa al blocco di 3 bytes contenenti la quota effettiva di


un asse ed è pertanto valida per ciascun asse prescelto.

- Primo byte:
Contiene gli 8 bit meno significativi della quota reale.

7 6 5 4 3 2 1 0
Quota reale
8 bit l.s. (0÷7)

- Secondo byte:
Contiene gli 8 bit intermedi della quota reale.

7 6 5 4 3 2 1 0
Quota reale
8 bit (8÷15)

- Terzo byte:
Contiene gli 8 bit più significativi della quota reale.

7 6 5 4 3 2 1 0
Quota reale
8 bit m.s. (16÷23)

7-28
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &

Byte Checksum

È sempre l'ultimo byte, inviato per consentire la verifica della corretta ricezione di tutti i
bytes componenti il pacchetto dati di registrazione.
Viene calcolato complementando a 1 la somma aritmetica di tutti i byte precedenti,
byte di inizio pacchetto compreso.

Pacchetto di fine registrazione

Il pacchetto di fine registrazione, inviato sul comando di stop o al termine


dell'esecuzione del programma (vedi &52), è in pratica un particolare pacchetto dati, di
soli 2 byte, al quale mancano le informazioni relative alle quote.
Il suo formato è il seguente:

81 Hex. = BYTE INIZIO PACCHETTO

7E Hex. = BYTE CHECKSUM

Il pacchetto di fine registrazione viene inoltre utilizzato per segnalare l'eventuale errore
di fifo di trasmissione piena che si può generare durante l'invio dei pacchetti di
registrazione. In questo caso i valori inviati a chiusura della registrazione sono:

C1 Hex. = BYTE INIZIO PACCHETTO

3E Hex. = BYTE CHECKSUM

La segnalazione di questo errore implica che i dati ricevuti dal controllo non sono
utilizzabili in quanto sono incompleti.

7-29
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &

Consigli pratici

Al fine di poter implementare correttamente la procedura di registrazione devono


essere eseguite alcune considerazioni relativamente alla velocità di comunicazione e
alla massima frequenza motore o encoder ammessa durante l'esecuzione di movimenti
"registrati".

Velocità di comunicazione

Fare molta attenzione alla scelta del baud-rate al fine di evitare il riempimento della
fifo di trasmissione.
Tale scelta è influenzata da due fattori:

1) il numero di assi "da registrare": da esso dipende infatti il numero di byte che
compongono il pacchetto e conseguentemente il tempo di trasmissione dell'intero
pacchetto, dato un determinato baud-rate.

2) il periodo di campionamento e di invio: tale tempo dovrà essere sicuramente


superiore a quello impiegato per trasmettere un pacchetto dati di registrazione.

La seguente tabella mostra i valori di baud-rate minimo che può essere utilizzato in
funzione del periodo di campionamento e del numero di assi. I valori sono calcolati
sulla base di un protocollo “1 start bit, 8 data bits, NO PARITY, 1 stop bit”. Si consideri
sempre almeno un ulteriore bit di intervallo tra un byte e il successivo.

Tempo 1 asse 2 assi 3 assi 4 assi


di camp. (5 bytes) (8 bytes) (11 bytes) (14 bytes)
delta Q. 19200 38400 38400 38400
4 ms 19200 38400 38400 38400
8 ms 9600 19200 19200 38400
12 ms 4800 9600 19200 19200
16 ms 4800 9600 9600 19200
20 ms 4800 4800 9600 9600
24 ms 2400 4800 9600 9600
28 ms 2400 4800 4800 9600
32 ms 2400 4800 4800 9600
36 ms 2400 4800 4800 4800

Analogamente, in caso di utilizzo del controllo Picasso 2000, si dovrà assicurare la


lettura dal bus del P.C., di tutti i bytes che compongono il pacchetto dati di
registrazione in un tempo inferiore a quello di campionamento prescelto.

7-30
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &

Massima frequenza encoder o motore

Nel caso di lettura quote in modalità 0, i movimenti "registrati", ossia eseguiti mentre è
attiva la procedura di registrazione, hanno il seguente limite: la frequenza encoder
(assi in continua) o motore (assi passo-passo) deve essere tale da non causare
l'overflow dei 12 bit dedicati alla memorizzazione della variazione di quota.
Pertanto, essendo ammessa, nel tempo di campionamento prescelto, una variazione di
quota massima di 2047 step o impulsi (valore assoluto), i valori massimi di frequenza
ammessi in funzione del tempo di campionamento saranno i seguenti:

Tempo Frequenza
di camp. Massima (Hz.)
delta Q. 511750
4 ms 511750
8 ms 255875
12 ms 170583
16 ms 127937
20 ms 102350
24 ms 85291
28 ms 73107
32 ms 63968
36 ms 56861

7-31
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &

7-32
CNC
MANUALE DI PROGRAMMAZIONE
PER I CONTROLLI S&h

Capitolo 8
-
Comandi “M”
S&h – Manuale CNC Cap.8 – Comandi M

8-2
S&h – Manuale CNC Cap.8 – Comandi M

SOMMARIO

Introduzione ...................................................................................................................................... 8-4


M00 Stop Programma...................................................................................................................... 8-5
M01 Fine Programma (Principale e sottoprogrammi) ....................................................................... 8-6
M02 Fine Programma Principale...................................................................................................... 8-7
M10 … M41 richiesta esecuzione routine PLC.................................................................................. 8-8
M99 Fine Sottoprogramma .............................................................................................................. 8-9

8-3
S&h – Manuale CNC Cap.8 – Comandi M

INTRODUZIONE

Sono comandi da inserire nei programmi per l’esecuzione delle seguenti funzioni:

• M00 Stop programma


• M01 Fine programma senza ritorno al programma chiamante
• M02 Fine programma principale
• M99 Fine sottoprogramma
• M10Æ M41 Richiesta esecuzione routine PLC

8-4
S&h – Manuale CNC Cap.8 – Comandi M

M00 Stop Programma


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer, memoria di programma
Attiva Nel blocco programmato
Esecuzione Da programma: accodata
Ammissibilità Condizionata
Condizioni Dipendenti dalla modalità attiva:
ONLINE = non ammesso
PROG = ammesso all’interno del programma principale o di un
sottoprogramma
AUTO = ammesso
JOG = non ammesso
Sintassi M00 (1)

Note: (1) è un comando senza parametri

Descrizione
L’esecuzione di questo comando causa l’arresto del programma che rimane in attesa di un comando di
start CNC.
Il comando di start potrà essere inviato sulla linea di comunicazione (seriale – bus) mediante il comando
immediato Ctrl-C o nei sistemi che prevedono l’uso del pannello esterno potrà essere attuato mediante
la pressione del pulsante START.

Es.: al termine della esecuzione dell’arco di cerchio (G02) il programma si arresta attendendo un nuovo
“start”

&00,32 ; seleziona modo <PROG>


[
”Titolo Programma”
G01 X0 Y0 F1000
G02 X123 Y345 R500
M00 ; Stop programma
G0 X500 Y500
G01 X0 Y0
M02
]

8-5
S&h – Manuale CNC Cap.8 – Comandi M

M01 Fine Programma (Principale e sottoprogrammi)


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer, memoria di programma
Attiva Nel blocco programmato
Esecuzione Da programma: accodata
Ammissibilità Condizionata
Condizioni Dipendenti dalla modalità attiva:
ONLINE = non ammesso
PROG = ammesso nel programma principale
AUTO = ammesso
JOG = non ammesso
Sintassi M01 (1)

Note: (1) è un comando senza parametri

Descrizione
In fase di programmazione questo comando viene inviato per chiudere il programma in esecuzione.
Nel caso ci si trovi in un sottoprogramma questo comando causerà l’interruzione sia del programma
principale che dei sottoprogrammi attivi

Esempio:

&00,32 ; seleziona modo <PROG>


[
”Titolo SottoProgramma”
G01 X0 Y0 F1000
..
G21 L1
M01 ; Fine sottoprogramma e programma
#1 ; principale
G01 X0 Y0
M02
]

8-6
S&h – Manuale CNC Cap.8 – Comandi M

M02 Fine Programma Principale


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer, memoria di programma
Attiva Nel blocco programmato
Esecuzione Da programma: accodata
Ammissibilità Condizionata
Condizioni Dipendenti dalla modalità attiva:
ONLINE = non ammesso
PROG = ammesso nel programma principale
AUTO = ammesso
JOG = non ammesso
Sintassi M02 (1)

Note: (1) è un comando senza parametri

Descrizione
In fase di programmazione questo comando viene inviato per chiudere il “Programma Principale”.
Eventuali sottoprogrammi devono essere inviati dopo il comando M02.
In esecuzione M02 segnala al controllo la fine del programma.

Esempio:

&00,32 ; seleziona modo <PROG>


[
”Titolo Programma”
G01 X0 Y0 F1000
G02 X123 Y345 R500
G01 X0 Y0
M02 ; Fine programma
]

8-7
S&h – Manuale CNC Cap.8 – Comandi M

M10 … M41 richiesta esecuzione routine PLC


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer, memoria di programma
Attiva Nel blocco programmato
Esecuzione Da programma: accodata
Ammissibilità Condizionata
Condizioni Dipendenti dalla modalità attiva:
ONLINE = ammesso
PROG = ammesso all’interno del programma principale o di un
sottoprogramma
AUTO = ammesso
JOG = ammesso
Sintassi M.. (1)

Note: (1) è un comando senza parametri


è ammesso solo per controlli con Plc

Descrizione
Richiede l'esecuzione di un ciclo PLC e ne attende il termine.
Il PLC dovra' segnalare il termine del ciclo resettando il punto corrispondente al comando M richiesto, in
modo da ridare il via libera al CNC.

Esempio:

&00,32 ; seleziona modo <PROG>


[
”Titolo Programma”
G01 X0 Y0 F1000
G02 X123 Y345 R500
M21 ; Attendi sincronismo da PLC
G0 X500 Y500
G01 X0 Y0
M02
]

8-8
S&h – Manuale CNC Cap.8 – Comandi M

M99 Fine Sottoprogramma


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer, memoria di programma
Attiva Nel blocco programmato
Esecuzione Da programma: istantaneo
Ammissibilità Condizionata
Condizioni Dipendenti dalla modalità attiva:
ONLINE = non ammesso
PROG = ammesso in un sottoprogramma
AUTO = ammesso
JOG = non ammesso
Sintassi M99 (1)

Note: (1) è un comando senza parametri

Descrizione
In fase di programmazione questo comando viene inviato per “chiudere” un sottoprogramma.
In esecuzione M99 segnala al controllo la fine del sottoprogramma, causando il rientro al comando
successivo a quello di “chiamata” (nessuna ripetizione) oppure al primo comando dello stesso
sottoprogramma (ripetizioni del sottoprogramma).
Vedi anche funzioni G30, G31 e G32.

Esempio:

&00,32 ; seleziona modo <PROG>


[
”Titolo Programma”
G0 X12 Y5 F2000
G30 L10 ; Richiama sottoprogramma n.10
G00 X100
M02
:10
G04 F3.5
M99 ; Fine Sottoprogramma
]

8-9
S&h – Manuale CNC Cap.8 – Comandi M

8-10
CNC
MANUALE DI PROGRAMMAZIONE
PER I CONTROLLI S&h

Capitolo 9
-
Comandi di Gestione Programmi
S&h – Manuale CNC Cap.9 – Comandi di Gestione Programmi

9-2
S&h – Manuale CNC Cap.9 – Comandi di Gestione Programmi

SOMMARIO
Introduzione ...................................................................................................................................... 9-4
[ Inizio Programma.......................................................................................................................... 9-5
“ Tag del Programma “...................................................................................................................... 9-6
# Definizione Label ......................................................................................................................... 9-7
: Inizio Sottoprogramma .................................................................................................................. 9-8
] Fine Programma ........................................................................................................................... 9-9

9-3
S&h – Manuale CNC Cap.9 – Comandi di Gestione Programmi

INTRODUZIONE
Sono comandi speciali che regolano l’invio di un programma, permettono l’inserimento di etichette (label)
e di sottoprogrammi, ed infine consentono la compilazione del programma e la sua memorizzazione
nella memoria permanente del controllo.

Sono pertanto comandi accettati nel modo di funzionamento PROG, mentre durante l’esecuzione dei
programmi (modi AUTO e JOG) sono considerati comandi nulli.
Nel modo di funzionamento ONLINE non sono ammessi.

9-4
S&h – Manuale CNC Cap.9 – Comandi di Gestione Programmi

[ Inizio Programma
Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer, memoria di programma
Attiva Nel blocco programmato
Esecuzione Da programma
Condizioni Deve essere il primo comando del programma, ossia il primo comando
inviato dopo aver selezionato il numero del programma da inserire con il
comando &00. Una volta inviato non è più ammesso
Sintassi [ (1)

Note: (1) è un comando senza parametri

Descrizione
Deve essere sempre il primo comando del programma, ossia deve essere il primo comando inviato dopo
aver selezionato il numero del programma da inserire con il comando &00 (vedi relativa funzione &).
Una volta inviato non è più ammesso.

Es.: inizio programma

&00,32 ; seleziona modo <PROG>, programma n. 32


[ Inizio programma
”Titolo Programma”
…….
…….
…….
]

Importante
Dopo il comando ‘ [ ‘ , deve essere obbligatoriamente inviato il comando di definizione del Titolo di
programma.

9-5
S&h – Manuale CNC Cap.9 – Comandi di Gestione Programmi

“ Tag del Programma “


Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer, memoria di programma
Attiva Nel blocco programmato
Esecuzione Da programma
Condizioni Deve essere il secondo comando del programma, ossia primo comando
inviato dopo il comando di inizio inserimento ‘ [ ‘.
Una volta inviato non è più ammesso
Sintassi “(stringa)”
(stringa) : stringa del TITOLO; (1)
La stringa ascii del “Tag” deve essere compresa tra due caratteri “ “
Note: (1) La stringa deve essere costituita da un massimo di 16 caratteri ascii

Descrizione
Questo comando permette l’inserimento in testa al programma di una stringa di caratteri ascii,
denominata “Tag” che costituisce il “titolo” del programma.
Questa stringa sarà quella inviata dal controllo durante l’esecuzione del comando &05 (elenco
programmi memorizzati).

Esempio:

&00,5 ; seleziona modo <PROG>, programma n. 5


[
”Programma 5 ” Titolo del programma
…….
…….
…….
]

Importante
Dopo aver definito il “tag” possono essere inviati tutti i comandi (funzioni 'G', 'M', '@' e '&') che
costituiscono il “Programma Principale”.
Si ricorda che il controllo non accetta mai in “input” i caratteri corrispondenti ai PROMPT: $’, ‘~’, ‘_’ e ‘|’ .

9-6
S&h – Manuale CNC Cap.9 – Comandi di Gestione Programmi

# Definizione Label
Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer, memoria di programma
Attiva Nel blocco programmato
Esecuzione Da programma
Condizioni Può essere inviato solo all’interno del programma principale o di un
sottoprogramma
Sintassi # (label)
(label) : valore numerico della label (1)
Note: (1) valore nel range 1..9999: max. 4 cifre ascii-decimali

Descrizione
Permette la definizione di una “etichetta” numerica alla quale riferirsi con le istruzioni di “salto” (funzioni
G20, G21 e G22).

Es.: definizione Label

Il programma resta in “loop” attendendo l’invio del codice <SUB>

&00,21 ; seleziona modo <PROG>


[
”Titolo Programma”
G91 --
#100 -- Programma di esempio --
G65 O1 --
G0 X100 F1000
G20 L100
M2
]

9-7
S&h – Manuale CNC Cap.9 – Comandi di Gestione Programmi

: Inizio Sottoprogramma
Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer, memoria di programma
Attiva Nel blocco programmato
Esecuzione Da programma
Condizioni Può essere inviato solo dopo aver chiuso il programma principale con il
comando M02 o dopo la chiusura di un altro sottoprogramma mediante il
comando M99
Sintassi : (sottoprogramma)
(sottoprogramma) : valore numerico del sottoprogramma (1)
Note: (1) Valore nel range 1..9999: max. 4 cifre ascii-decimali

Descrizione
Identifica l’inizio di un sottoprogramma mediante la definizione di un valore numerico al quale riferirsi con
le istruzioni di “chiamata” (funzioni G30, G31 e G32).

Es.: inizio sottoprogramma

Il Programma Principale utilizza la chiamata al Sottoprogramma 10 per l'esecuzione del Set-Point


sugli assi X e Y.
Al termine del set-point il programma torna dal sottoprogramma e continua con l’istruzione seguente alla
chiamata.

[
”Titolo Programma”
G0 X0
G30 L10
G0X100F1000
M02

:10
G51 X+ Y-
M99
]

9-8
S&h – Manuale CNC Cap.9 – Comandi di Gestione Programmi

] Fine Programma
Pic2000 Goya Rubens
Caratteristiche
Sorgente Host computer, memoria di programma
Attiva Nel blocco programmato
Esecuzione Da programma
Condizioni Può essere inviato solo dopo aver chiuso il programma principale con il
comando M02 o dopo la chiusura di un altro sottoprogramma mediante il
comando M99
Sintassi ] (1)
Note: (1) è un comando senza parametri

Descrizione
E’ il comando che conclude l’inserimento del programma e dà inizio alla compilazione che consiste nel
controllare l’uso corretto delle “label” e dei “sottoprogrammi” definiti nel programma. Se non vengono
riscontrati errori il programma verrà memorizzato nella memoria permanente del controllo.

Es.: inizio sottoprogramma

Programma composto dal solo Programma Principale.

….
….
M02
]

Programma composto dal Programma Principale e da due sottoprogrammi

….
….
M02
:10
G51 X+
M99
:20
G51 Y+
M99
]

Importante
Il prompt in risposta al comando ']', viene inviato solo al termine della compilazione del programma:
il tempo di risposta del controllo varierà pertanto in funzione della complessità del programma stesso.
In caso di errori riscontrati durante la compilazione, il programma non viene memorizzato. Le stringhe
di errore vengono inviate con il formato comune a tutti gli errori ('?..') e prima del prompt.

9-9
S&h – Manuale CNC Cap.9 – Comandi di Gestione Programmi

9-10

Potrebbero piacerti anche