Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
STD 1
MANUALE DI PROGRAMMAZIONE
PER I CONTROLLI S&h
- Goya
- Picasso2000
- Rubens
- Renoir 1000
AVVERTENZE
Per un uso corretto del sistema è importante seguire le indicazioni contenute nel manuale ed
inoltre porre particolare attenzione agli argomenti contraddistinti da :
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
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>.
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) .
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:
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.
1-7
S&h – Manuale CNC Cap.1 - Nozioni Generali
Modo
<Prompt> Descrizione
Operativo
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
COMANDO NO
SCARTA
OK ? IL
COMANDO
COMANDO SI
IMMEDIATO ?
ESECUZIONE
COMANDO
1-9
S&h – Manuale CNC Cap.1 - Nozioni Generali
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.
1-10
S&h – Manuale CNC Cap.1 - Nozioni Generali
S EZIONE DI "INTERFACCIA"
La sezione di "INTERFACCIA" 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
-
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:
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.
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]
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
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.
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.
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:
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.
mentre il seguente comando è errato a causa del non corretto utilizzo degli “spazi”:
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:
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
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.)
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
2-11
S&h – Manuale CNC Cap.2 – Introduzione alla Programmazione
2-12
S&h – Manuale CNC Cap.2 – Introduzione alla Programmazione
FUNZIONI PROGRAMMABILI
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:
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).
2-13
S&h – Manuale CNC Cap.2 – Introduzione alla Programmazione
2-14
S&h – Manuale CNC Cap.2 – Introduzione alla Programmazione
@-%
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
2-16
S&h – Manuale CNC Cap.2 – Introduzione alla Programmazione
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
&
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
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::
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.
2-20
S&h – Manuale CNC Cap.2 – Introduzione alla Programmazione
REGISTRI MACCHINA
REGISTRO \: REGISTRO CONDIZIONE
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 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
TST (Q5-8)
G69 \ 3
G21 L1
2-21
S&h – Manuale CNC Cap.2 – Introduzione alla Programmazione
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 :
2-22
S&h – Manuale CNC Cap.2 – Introduzione alla Programmazione
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
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
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
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).
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
2-25
S&h – Manuale CNC Cap.2 – Introduzione alla Programmazione
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- IDENTIFICATORE MESSAGGIO D’ERRORE: i tre caratteri iniziali della stringa sempre
presenti in un qualsiasi messaggio d’errore.
nn CODICE D’ERRORE: sono due caratteri numerici che indicano lo specifico errore
all'interno della famiglia.
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
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.
e errori generati in fase di esecuzione dei comandi: bloccano l'esecuzione dei comandi e
vengono segnalati tramite l'invio periodico del codice <BEL>.
g errori generati a causa della saturazione del buffer d’esecuzione nel quale vengono
memorizzati i comandi inviati o della memoria programmi.
2-26
S&h – Manuale CNC Cap.2 – Introduzione alla Programmazione
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.
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
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
3-5
S&h – Manuale CNC Cap.3 – Istruzioni di Controllo: Comandi Immediati
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
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”
3-7
S&h – Manuale CNC Cap.3 – Istruzioni di Controllo: Comandi Immediati
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
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
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
3-9
S&h – Manuale CNC Cap.3 – Istruzioni di Controllo: Comandi Immediati
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.
3-10
S&h – Manuale CNC Cap.3 – Istruzioni di Controllo: Comandi Immediati
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:
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.
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
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.
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)
3-12
S&h – Manuale CNC Cap.3 – Istruzioni di Controllo: Comandi Immediati
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”
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.
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
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.
3-14
S&h – Manuale CNC Cap.3 – Istruzioni di Controllo: Comandi Immediati
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.
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
3-15
S&h – Manuale CNC Cap.3 – Istruzioni di Controllo: Comandi Immediati
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”
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
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”.
3-17
S&h – Manuale CNC Cap.3 – Istruzioni di Controllo: Comandi Immediati
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.
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
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”.
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>.
3-19
S&h – Manuale CNC Cap.3 – Istruzioni di Controllo: Comandi Immediati
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:
I dati relativi agli assi vengono inviati in conformità a quelli definiti tramite il comando ^N di selezione
assi da trasmettere.
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
3-20
S&h – Manuale CNC Cap.3 – Istruzioni di Controllo: Comandi Immediati
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
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
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.
@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
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.
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
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).
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
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
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
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).
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 %
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 %
ALLA ACCENSIONE
MEMORIA PERMANENTE MEMORIA DI LAVORO
O CON @98
@99
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 %
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.
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:
4-8
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
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.
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
@01 I1,0,0 ;definizione ingresso digitale n.1 come ingresso “programmato”, attivo basso,
;con funzione associata = 0 (EMERGENZA)
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 %
Descrizione
Il controllo può gestire, per ciascun asse, 4 ingressi con funzione predefinita (dedicata):
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.
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.: lettura
4-12
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
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).
@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.
%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 %
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.
@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”
%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 %
Descrizione
Il comando inizializza tutti i parametri relativi alla camme e alloca la memoria necessaria per definire la
tabella punti.
@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
4-15
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
@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 %
Descrizione
Definisce il tipo di camme che si intende utilizzare e il numero di ripetizioni della tabella .
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 %
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.
(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.
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
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.
(i) : indirizzo di scheda dettato dalla configurazione dei ponticelli sulla stessa (1…).
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à :
Da cui :
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 %
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.
@31 X1 W1 ;gli assi X e W sono programmati con uscite di direzione attive a livello ‘1’
4-22
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
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.
4-23
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
4-24
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
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.
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 %
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.
4-26
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
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.
@35 X1 Y0 ;l’asse X verrà comandato con impulsi verso 0 V e l’asse Y con impulsi
;verso tensioni positive
4-27
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
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.
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 %
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.
@40 X10 Y5 Z7
4-29
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
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.
@41 X0 Y2
4-30
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
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)
4-31
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
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).
4-32
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
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)
4-33
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
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)
4-34
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
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:
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.
4-35
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
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).
4-36
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
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).
@48 X10 Y5
4-37
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
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).
4-38
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
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.
4-39
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
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. ).
4-40
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
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:
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
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. ).
4-42
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
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)
4-43
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
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. ).
4-44
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
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.
4-45
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
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”.
@58 X0 Y1 Z0
4-46
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
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.
@59 X5 Y2 Z0
4-47
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
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.
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 %
4-49
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
Descrizione
Con la funzione @70 è possibile definire l’attività dei tasti associati al pannello esterno di controllo.
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:
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.
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
@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);
4-51
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
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.
@71 X1 Y1 Z3
4-52
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
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.
@72 X0 Y0 Z1
4-53
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
Descrizione
La funzione permette di abilitare o meno la correzione percentuale della velocità nominale attribuita agli
assi.
@80,1
4-54
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
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:
4-55
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
4-56
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
Descrizione
La funzione permette di abilitare o meno l’invio, in coda al numero di linea in esecuzione, della linea di
programma.
@83,1
ACK
N15 G0 X100
4-57
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
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.
@84,1
4-58
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
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.
@85,4
4-59
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
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 %
4-61
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
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.
@90,0.5
4-62
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
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
@91,20.0
4-63
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
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.
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 %
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).
Nota
Comando disponibile se il controllo monta la relativa opzione
4-65
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
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.
Nota
Comando disponibile se il controllo prevede la relativa opzione
4-66
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
Descrizione
La funzione permette di definire se, all’accensione, il pannello di controllo remoto deve essere
automaticamente abilitato.
@97,1
4-67
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
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.
@98
4-68
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
Risposta
La risposta e' costituita da una stringa di caratteri ASCII:
"m" "a" ',' "x" ["y"] ["z"] ["w"] ["u"] ["v"] "e" "o" "i" ["(nn)"]
dove :
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
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 :
Alcune di queste opzioni non sono ancora disponibili e condizionate al controllo assi in uso
4-70
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
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.
@99
4-71
S&h – Manuale CNC Cap.4 –Istruzioni di Caratterizzazione: Comandi @ e %
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.
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
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)
Y
50
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
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)
50
Y
30
B= punto di arrivo X=50 Y=40 (mm)
20
Blocco da programmare:
0 X
0 10 20 30 40 50 60 70
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
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).
Y=a2
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).
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
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
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
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
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.
30
50
5-9
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G
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.
5-10
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G
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.
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
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
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
5-13
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G
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 #
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
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 #
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
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”.
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
5-16
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G
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).
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
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.
… 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
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 programma 85 viene richiamato ed eseguito 5 volte, solo se l’ingresso 8 non è attivo
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
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.
5-20
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G
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.
N…
N5 G51 X+ Y-
N…
5-21
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G
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)
Y
50
N…
Y’ N3 G52 X30 Y20 **
40
N…
5-22
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G
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
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. :
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
Descrizione
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
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
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.
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.
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
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).
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
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
5-30
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G
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
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
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.
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
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.:
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.
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
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.
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.
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
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
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
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).
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
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.
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
Es.:
G69 P4 ;assegna al flag lo stato dell'ingresso 4 del PLC
Es.:
Es.:
1 = RICEVUTO
0 = NON RICEVUTO
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
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
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:
Nota
Il comando è operativo solo se il controllo prevede la relativa opzione
5-41
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G
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:
Nota
Il comando è operativo solo se il controllo prevede la relativa opzione
5-42
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G
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:
Nota
Il comando è operativo solo se il controllo prevede la relativa opzione
5-43
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G
Descrizione
Il comando definisce un fattore di proporzionalità (K) tra la velocità dell’asse master e la velocità degli
assi slave.
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
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
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:
5-46
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G
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.
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
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
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
5-49
S&h – Manuale CNC Cap.5 – Istruzioni Operative: Comandi G
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
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.
Es.: programma in cui le due velocità sono gestite nei due modi.
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:
6-4
S&h – Manuale CNC Cap.6 – Programmazione Parametrica
Esempi:
Q1=Q2+Q3 Q1=Q5-3.75
Q3=Q4*Q2 Q5=3*Q4-Q2/Q1
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;
Esempi:
Q3=3*(Q5+27) Q12=(Q5+Q7)-(Q3*Q6)
6-5
S&h – Manuale CNC Cap.6 – Programmazione Parametrica
Gruppo 4
Operatori logici
Esempio:
13 .AND. 11 => 9
Nell’esempio 13 è 1101 in binario 11 è 1011 in binario e 1101
AND 1011 da come 1001 come risultato.
Esempi:
Q3=Q1.OR.Q2
Q3=Q1.AND.Q2
6-6
S&h – Manuale CNC Cap.6 – Programmazione Parametrica
= , 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)
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
Esempi:
Q1=SIN(Q3+5) Q22=COS(Q221) Q5=TAN(3*(Q5+Q6))
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
La programmazione di una riga può essere di tipo misto: convenzionale (ISO) e di tipo PARAMETRICO.
N1 G1 X=Q1 Y=Q2
Variabili Tamponate
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
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:
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 &
Descrizione
Seleziona il modo di funzionamento PROG e abilita l’inserimento del programma (p) specificato nel
comando.
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 &
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.
Seleziona AUTO e abilita esecuzione del programma 10: si noti il cambiamento del carattere PROMPT.
PC > <cr>
CONTROLLO > '$'
PC > '&01,10' <cr>
CONTROLLO > '|'
7-6
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &
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)
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 &
Descrizione
Seleziona il modo di funzionamento 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 &
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 &
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
7-10
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &
Descrizione
Cancella il programma (p) specificato nella funzione.
PC > <cr>
CONTROLLO > '~'
PC > '&06,18' <cr> Cancella programma 18
CONTROLLO > '~'
7-11
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &
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
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 &
Descrizione
Definisce la modalità di comunicazione del controllo, attraverso il significato attribuito a (m) :
'1' = terminale
'2' = calcolatore senza eco
'3' = calcolatore con eco
7-13
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &
Descrizione
Definisce la lingua per i messaggi di errore, attraverso il significato attribuito ad (m):
7-14
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &
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.
Importante
L’attività del pannello in accensione è programmato dal parametro @97.
7-15
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &
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.
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 &
Descrizione
Questo comando, attivo solo sul controllo Picasso2000, permette di scambiare la linea di comunicazione
seriale con il canale Bus.
7-17
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &
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
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à
7-18
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &
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.
7-19
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &
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.
7-20
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &
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à:
7-21
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &
Descrizione
Sono comandi che duplicano alcune funzioni eseguibili con i comandi immediati, rendendo possibile la
loro esecuzione anche da programma.
Es.:
7-22
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &
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.
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 &
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.:
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 &
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.
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)
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
7 6 5 4 3 2 1 0
1 e 0 y x x x x
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
- 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:
- 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.
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:
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
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.
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.
7-30
S&h – Manuale CNC Cap.7 – Funzioni Speciali: Comandi &
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
8-3
S&h – Manuale CNC Cap.8 – Comandi M
INTRODUZIONE
Sono comandi da inserire nei programmi per l’esecuzione delle seguenti funzioni:
8-4
S&h – Manuale CNC Cap.8 – Comandi M
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”
8-5
S&h – Manuale CNC Cap.8 – Comandi M
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:
8-6
S&h – Manuale CNC Cap.8 – Comandi M
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:
8-7
S&h – Manuale CNC Cap.8 – Comandi M
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:
8-8
S&h – Manuale CNC Cap.8 – Comandi M
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:
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)
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.
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
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:
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).
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).
[
”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.
….
….
M02
]
….
….
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