S3000 PLC
S3000 PLC
Manuale di Sviluppo
(PLC)
REVISIONI
Rev.# [Link] Pagine revisionate
Nota: Le pagine contrassegnate da un asterisco (*) sono state rimosse, le pagine contrassegnate da un simbolo (+) sono state
aggiunto, e le pagine senza segni sono state modificate.
REVISIONI (continua)
Rev.# Rev. Date Pagine revisionate
Nota: Le pagine contrassegnate da un asterisco (*) sono state rimosse, le pagine contrassegnate da un simbolo (+) erano
aggiunti e le pagine senza segni sono state modificate.
INTRODUZIONE
INTRODUZIONE
Questo manuale è destinato agli (OEM) di macchine utensili e centri di lavoro che desiderano installare il
Controller numerico serie S3000 della SELCA.
Questo manuale fornisce tutte le informazioni sulla LOGICA DELLA MACCHINA operata dal PLC integrale a
la Serie S3000.
Il manuale fornisce una descrizione delle istruzioni utilizzate nella programmazione del PLC, così come
descrivendo l'interfaccia di sistema e i comandi intercambiabili. Sono forniti anche completi
esempi di applicazioni reali, da cui possono essere prese idee per scrivere applicazioni personalizzate.
RIFERIMENTI
In aggiunta a questo manuale, si prega di fare riferimento ai seguenti documenti per ulteriori informazioni sul S3000.
hardware di sistema e programmazione NC.
RIEPILOGO
Il manuale è suddiviso in tre parti indipendenti:
Parte I
Parte II
Capitolo 1
Questo capitolo contiene descrizioni dei registri, delle variabili di interfaccia PLC/NC, inclusi ciascuna
caratteristiche e formato delle variabili. I registri sono raggruppati per tipo o funzione.
Capitolo 2
Questo capitolo descrive le funzioni dei registri descritti nel capitolo precedente, cioè è tutto qui
descrive il controllo dei mandrini, i movimenti degli assi e il controllo del cambio utensili.
Capitolo 3
Questo capitolo descrive brevemente le modifiche necessarie per convertire una serie S1200
programma per un programma S3000.
Capitolo 4
Questo capitolo contiene una tabella che riassume i registri e le variabili associate
descritto nei capitoli 1 e 2. Questa tabella è particolarmente utile come foglio di riferimento per
programmazione.
Parte III
The third part contains a single chapter which lists various program examples which may be
used on their own, or as starting points for writing programs to perform analogous work.
TERMINOLOGIA E SIMBOLI
Tutte le istruzioni e le variabili definite precedentemente sono scritte in maiuscolo e in grassetto (es.
VARIAB), mentre quelli scritti in grassetto e minuscolo sono riferimenti per istruzioni generiche o
espressioni che devono essere assegnate dal programma (es. operatore).
Nella sintassi delle istruzioni, tutto ciò che è contenuto all'interno di questi simboli [e], è facoltativo e può anche essere
omitted.
Il simbolo | è usato per separare le scelte nei parametri; (ad esempio A|B|C significa A, B o C
può essere inserito.)
I tasti della tastiera sono rappresentati come appaiono sulla tastiera NC (tranne per il)
chiavi alfanumeriche). (es. , , , , ecc.).
Il termine "set" indica l'imposizione di una variabile al livello logico "1" o "vero".
Il termine "reset" indica la forzatura di una variabile al livello logico "0" o "falso".
S1200 Questo simbolo indica la descrizione delle differenze tra la serie S12000 e
Sistemi S3000. Questo sarà particolarmente utile per coloro che hanno già installato o
ho utilizzato il sistema S1200.
INDICE
Parte I
1. USI E FUNZIONI
1.1. CARATTERISTICHE PRINCIPALI DELLA SERIE S3000 .................................................................1-1
2. PROCEDURA
2.1. MODIFICA DELLA LOGICA ..................................................................................................................2-2
Modifica menu..........................................................................................................................2-3
Modifica menu logico..................................................................................................................2-4
Menu funzione avanzato...................................................................................................2-5
Menu dei parametri di modifica.......................................................................................................2-6
2.2. LOGICA DI COMPILAZIONE..........................................................................................................2-7
2.3. CARICA E ESEGUI..........................................................................................................................2-7
2.4. TRADUZIONE DEI PROGRAMMI MODIFICATI SU S1200................................................................2-8
2.5. DEBUG LOGICO............................................................................................................................2-8
2.5.1. VISUALIZZAZIONE DINAMICA ..........................................................................................................2-8
2.5.2. ANALIZZATORE GRAFICO.......................................................................................................2-10
Impostazione dell'analizzatore grafico .......................................................................................2-10
Analisi delle tracce...................................................................................................................2-12
2.5.3. TABELLE DI VISUALIZZAZIONE E ANALISI ................................................................................2-14
2.5.4. ASSEGNAZIONI FORZATE.................................................................................................2-14
2.5.5. TABELLE DEI VALORI FORZATI..............................................................................................2-15
2.5.6. REIMPOSTARE LA RAM STATICO........................................................................................................2-15
2.5.7. GENERAZIONE DI RIFERIMENTI INCROCIATI DELLE VARIABILI UTILIZZATE .............................. 2-15
2.6. MODIFICHE E VISUALIZZAZIONI DELLE TABELLE PLC........................................................................2-16
2.7. TASTI VELOCI .................................................................................................................................2-16
4. DICHIARAZIONI INIZIALI
4.1. DICHIARAZIONE DEGLI INGRESSI / USCITE FISICI ................................................................4-2
4.1.1. DICHIARAZIONE DI INPUT/OUTPUT FISICO: MODULI I/O REMOTI..........................4-4
4.2. DICHIARAZIONE DELLE VARIABILI INTERNE.............................................................................4-5
4.3. DICHIAZIONE DI STRINGA .......................................................................................................4-6
4.4. DICHIARAZIONI DI EQUIVALENZA......................................................................................4-7
4.5. PULSO..........................................................................................................................................4-8
4.6. TIMER........................................................................................................................................4-9
4.7. CONTATORI .................................................................................................................................4-11
4.8. TASTO SOFT DEFINIBILE LOGICAMENTE ..................................................................................................4-13
4.9. TASTO SOFT E MESSAGGI CON TESTO MULTILINGUE .............................................. 4-14
5. FUNZIONE E OPERAZIONE
5.1. PROGRAMMAZIONE CON LOGICA ELEMENTARE .........................................................................5-1
5.2. OPERAZIONI ARITMETICHE
5.3. FUNZIONI MATEMATICHE A VIRGOLA MOBILE....................................................................5-3
5.4. CONFRONTA ...................................................................................................................................5-3
5.5. ROTAZIONE...................................................................................................................................5-4
5.6. CONVERSIONI DI FORMATI .........................................................................................................5-4
ENC - Ricerca bit ...............................................................................................................5-4
DEC - Imposta bit .....................................................................................................................5-5
Ciao - Estrae il byte alto da una parola.............................................................................5-5
LO - Estrae il byte basso da una parola .............................................................................5-5
EST - Conversione di un byte in una parola.............................................................................5-5
BCD - Converte un numero binario in BCD..........................................................................5-5
BIN - Converte un numero BCD in byte o parola .................................................................5-5
IFP - Converte un byte o una parola in formato a punto flottante....................................................5-6
FPI - Converte il formato a virgola mobile in byte o parola.......................................................5-6
5.6.1. ESPRESSIONI COMPLEXE...............................................................................................5-6
5.7. OPERAZIONI SULLE STRINGHE ...............................................................................................................5-7
5.7.1. FUNZIONI NUMERICHE CON ARGOMENTI STRINGA ...............................................5-7
VAL - Trasforma un formato ASCII in valore numerico ......................................................5-7
INSTR - Cerca una stringa all'interno di una stringa........................................................................5-7
LEN - Lunghezza stringa............................................................................................................5-8
STRCMP - Confronti di stringhe .........................................................................................5-9
5.7.2. FUNZIONI STRINGA SU ARGOMENTI NUMERICI ...................................................5-10
MKN$ - Converte un numero in formato stringa...................................................................5-10
CHR$ - Genera un carattere ASCII .............................................................................5-10
STRNG$ - Genera una stringa di caratteri equivalenti....................................................5-11
5.7.3. FUNZIONI STRINGA CON ARGOMENTI STRINGA.......................................................5-11
MID$ - Estrae una piccola stringa da una stringa più grande ............................................................5-11
LEFT$ - Estrae una stringa a partire da sinistra..................................................................5-12
RIGHT$ - Estrae una stringa partendo da destra .............................................................5-13
5.7.4. COMBINAZIONE DI STRINGHE.......................................................................................5-13
7. FUNZIONI SPECIALI
7.1. FLIP FLOP...................................................................................................................................7-1
7.2. MULTIPLEXER............................................................................................................................7-1
7.3. RICERCA TABELLA .........................................................................................................................7-2
7.4. MESSAGGI PER L'OPERATORE...........................................................................................7-3
7.5. COMANDI DI PROGRAMMAZIONE LOGICA DELLA MACCHINA..............................................................................7-4
7.5.1. COMANDI DEL PROGRAMMA UTILIZZATI DURANTE L'ESECUZIONE AUTOMATICA DEL PROGRAMMA ........7-5
7.5.2. COMANDI DEL PROGRAMMA ESEGUITI IN MODALITÀ MANUALE..........................................7-5
7.5.3. COMANDI DEL PROGRAMMA DI LOGICA DELLA MACCHINA IN MODALITÀ SEMIAUTOMATICA
CORRI............................................................................................................................. 7-5
Comandi del programma di logica della macchina: unità di misura ........................................................7-6
Comandi del programma di logica macchina: funzioni non consentite..............................................7-6
Comandi del programma di logica della macchina: in esecuzione in modalità asincrona................................7-7
Parte II
INTRODUZIONE ......................................................................................................... 1
5. LIMITI
Parte III
APPENDICE
PARTE I
PROGRAMMAZIONE
LANGUAGE
E
PROCEDURA OPERATIVA
1. USI E FUNZIONI
La Serie S3000 offre una selezione di controlli per soddisfare il crescente utilizzo di macchine utensili e fabbrica
automazione in generale.
Il CNC S3045 è particolarmente utile per fresatrici destinate a produttori di utensili e officine di stampi e matrici,
centri di lavorazione con più assi, lavorazione precisa ad alta velocità e per superfici complesse
lavoro.
Il CNC S3040 fornisce una soluzione integrata che è compatta ed economica per le celle di lavoro, e
centri di lavorazione per produzione di falegnameria e stazioni di assemblaggio automatizzate per alta capacità flessibile
produzione.
I sistemi CNC S3024 sono progettati per torni, centri di tornitura e un gran numero di multiassi.
celle di lavoro con cicli lenti.
Nei Sistemi di alto livello completamente configurati le principali caratteristiche sono le seguenti:
∙ Utilizza tutti i tipi di trasduttori (encoder incrementali rotativi e lineari, fibra ottica, assoluti e
risolutori ciclici).
∙ Velocità di esecuzione standard oltre 300 blocchi al secondo, aumentata a 1000 blocchi al secondo nel
Versione P (Plus).
∙ PLC integrale con linguaggio ad alto livello comprensivo di un analizzatore grafico e numerico.
∙ Funzione di gestione del punto di centro utensile TCPM, per macchine a 5 assi con controllo automatico dell'utensile
lavorare pezzi di contatto in tre dimensioni, con teste bi-rotazionali e tavoli rotanti o inclinate.
(Versione P)
∙ Configurazione espandibile (L e PL) che consente ulteriori I/O, trasduttori e disco rigido
interfaces as well as network connections.
2. PROCEDURA
Prima di esaminare la struttura del programma e scrivere istruzioni, è utile comprendere il
procedure operative per i programmi di logica delle macchine PLC. Le procedure per le periferiche non
descritto nel presente documento può essere trovato nel Manuale dell'Utente per la Programmazione.
I programmi possono essere eseguiti e debuggati solo se è presente +24V sulla scheda I/OMIX PC e su tutti i suoi
schede di espansione (vedere il Manuale di Installazione). Non è un requisito per modificare o compilare programmi.
L'ambiente di programmazione PLC, così come l'ambiente di configurazione dei parametri della macchina
(APPLICAZIONE) non sono normalmente accessibili all'utente. Per ottenere accesso a questo ambiente è
necessario seguire la procedura di seguito:
1. Premi il chiave
2. Premi il key
3. Per accedere all'ambiente APPLICAZIONI per la prima volta dopo aver acceso il NC, premere il
tasti + contemporaneamente.
Il tasto morbido LOGIC MESSAGES cambia in LOGIC SYS/SETUP e rimane così finché il NC è
spento. Il menu softkey appare quindi come segue. Il softkey LOGIC SYS/SETUP consente
accesso alla logica della macchina descritta in questo manuale. Per accessi successivi è sufficiente premere il
LOGICA DI DEBUG - per verificare il funzionamento del programma PLC, l'integrità degli input e
produzioni e il corretto funzionamento degli algoritmi.
Per scrivere un nuovo programma è necessario rispondere al prompt del sistema con un nome alfanumerico.
con un massimo di 8 caratteri in maiuscolo. Il primo carattere non deve essere un numero. Poi
premere .
Se il programma è già stato memorizzato in memoria, apparirà sullo schermo, altrimenti ne apparirà uno nuovo.
essere creato sotto il nome fornito.
Le funzioni del menu consentono l'inserimento e la modifica del testo, il movimento e la cancellazione di grandi
blocchi di testo, copia di testo da altri programmi, sostituzione di parole e numerazione automatica delle righe.
Tutte le operazioni di dialogo dell'operatore o della macchina sono effettuate tramite softkey e, se necessario, un associato
linea di richiesta per parametri. Questi sono organizzati all'interno dei menu e vengono accessi attivando il
tasto softkey rilevante. I seguenti tasti sono riservati per accelerare questo processo:
Le funzioni utilizzate per scrivere, modificare e modificare i programmi PLC sono esaminate di seguito. Per ulteriori
per ulteriori dettagli, consultare il Manuale Utente e Programmatori.
Menu di modifica
1. Dal menu dell'ambiente APPLICAZIONI mostrato in precedenza, premi il tasto dolce LOGICA
SYS/SETUP per accedere al menu principale delle applicazioni mostrato di seguito:
LOGICA LOGICA SISTEMA SYS SETUP SCHERMO FEEDBACK COM PROG PERIFERIA FLASH COPIA DI SICUREZZA /
MODIFICA DEBUG SETUP FILE CONFIG ERR COMP MODIFICA MEMORIA RIPRISTINA
I tasti softkey presenti in questo menu, ad eccezione dei primi due, sono descritti nel Sistema
Manuale di configurazione, che dovrebbe essere utilizzato come riferimento.
MEMORIA FLOPPY FLASH MODIFICA COMPILARE COMPRESSA CARICA E RINOMINA COPIA ELIMINA
GUIDARE MEMORIA LOGICA PLC LOGICA PLC COMP FUORI ESEGUI PLC PROGRAMMA PROGRAMMA PROGRAMMA
Quando il tasto di scelta rapida EDIT LOGIC viene premuto, viene visualizzato un elenco di tutti i programmi logici presenti nella
centro dello schermo. Uno di questi può essere selezionato spostando il cursore sul programma desiderato
utilizzando il o . tasti freccia. Il nome del programma scelto apparirà anche nel comando
linea. Se si desidera un nuovo programma, è necessario scrivere il nome del programma sopra quello presente nel
linea di comando.
Dopo aver selezionato o scritto un nome, premi il tasto morbido MODIFICA LOGICA) o Un nuovo menu sarà
compaiono insieme a un elenco del programma se già esistente. Un nuovo programma può essere scritto direttamente
utilizzando la tastiera. Per modificare o eliminare i blocchi di programma durante la modifica, i seguenti tasti funzione dovrebbero essere
usato
INSERISCI BLOCCO Per inserire una nuova riga di programma, posiziona il cursore sul blocco che viene
direttamente dopo quello che deve essere inserito (la funzione INSERT BLOCK è
attivo non appena entri in questo menu); scrivi il nuovo blocco poi premi
.
MODIFICA BLOCCO Premi questo tasto per modificare la riga su cui si trova attualmente il cursore. Modifica
il blocco così come è presentato all'interno della finestra dei comandi, quindi premi .
ELIMINA BLOCCO Premi questo tasto per eliminare la riga su cui si trova attualmente il cursore
posizionato. Un messaggio di conferma viene consegnato:
Premi .
RICERCA STRINGA Questo tasto avvia la ricerca di una stringa di caratteri all'interno del programma
partendo dalla posizione del cursore. Se viene specificato un numero, il cursore viene spostato
direttamente a quella riga nel programma. Sia la stringa di caratteri che il numero di riga
deve essere seguito da un .
FUNZO
I NA
IVANZATEQuestotastoatv
iaunmenuperoperazo
ind
ib
io
lccocomecopa
iemodfc
iadete
lsto
parametri. Per utilizzare tutti i tasti a sfioramento di questo menu è necessaria un'area di memoria sufficiente
è necessario. Nei casi in cui la memoria disponibile è limitata, la memoria disponibile
le funzioni sono limitate a due.
EVIDENZIA CANCELLA COPIA MUOVI ELIMINA SOSTITUISCI IMPORTARE RINUMERARE MODIFICA ANNULLA
BLOCCO BLOCCO BLOCCO BLOCCO DA QUI STRINGA DA ALTRI BLOCCO PARAMS MODIF
In the case where there is insufficient memory only the following two softkeys appear:
ELIMINA SOSTITUISCI
FROM HERE STRINGA
EVIDENZIA BLOCKS Questo tasto è utilizzato per evidenziare un blocco o un gruppo di blocchi su cui lavorare. Per
COPIA BLOCCHI Copy blocks previously highlighted to another area in the program.
Sposta nella posizione desiderata per il blocco utilizzando il o chiavi,
premere per confermare. Il blocco verrà inserito sulla riga appena sotto
la posizione del cursore.
MUOVI I BLOCCO Sposta i blocchi precedentemente evidenziati in un'altra area del programma.
Cambia stringa Sostituisce una stringa di caratteri con un'altra cercando quella desiderata
string che inizia dalla posizione del cursore. Apparirà il seguente messaggio:
COPIA DA ALTRO Inserire un blocco copiato da un altro programma nel programma attuale
proseguire come segue:
∙ Posiziona il cursore nel punto in cui deve essere inserito il blocco e premi
il tasto morbido COPIA BLOCCO.
RIANNAZIONA I BLOCCHI Rianaziona le righe del programma secondo i parametri di modifica (incremento,
numero di spazi...). La numerazione automatica delle righe avviene solo se ci sono nuove righe
aggiunto alla fine del programma.
MODIFICA PARAMETRI Cambia i parametri di numerazione delle righe. Attiva un nuovo menu softkey da
quali parametri possono essere regolati.
CANCELLA MODIFIC. Elimina le ultime modifiche apportate utilizzando i tasti funzione avanzati (questo può
può essere realizzato solo dal menu FUNZIONI AVANZATE).
CAMBIA SPAZI Questo tasto funzione controlla lo spazio prima di ciascun blocco per la sequenza
numero. I numeri validi sono tra 3 e 8. Premi quando
completato.
CAMBIA PRIMA Questo tasto di scelta rapida imposta il primo numero di sequenza, o primo blocco. I numeri validi sono
CAMBIA PASSO Questo tasto regola lo spaziamento tra i singoli blocchi e tra i blocchi.
e il loro numero di sequenza. I numeri validi sono compresi tra 1 e 10. Premi
per confermare.
RINOMINA I BLOCCO Per applicare i nuovi parametri premi questo tasto seguito da . Poi farai
torna al menu precedente.
Il sistema S1200 programmi differiscono leggermente dalla Serie S3000 per fare
completamente compatibili premi questo tasto dolce mentre modifichi il più vecchio
programmi.
Questa è la prima operazione da eseguire dopo aver creato un nuovo programma o modificato uno vecchio per
verificare la sintassi corretta e renderla eseguibile dal computer. Durante l'esecuzione di questo
comando il sistema visualizza il numero di riga in fase di compilazione eventuali errori fermeranno il programma. Un
un messaggio di errore verrà visualizzato insieme al numero di riga del programma in cui è stato trovato l'errore. Se
l'operazione di compilazione è riuscita, apparirà il seguente messaggio:
Se viene trovato un errore durante la compilazione, il software tornerà automaticamente alla modalità di modifica e posizionerà
il cursore sulla riga dove è stato trovato l'errore.
∙ Errori hardware come la perdita di 24V sulla scheda principale, o alto assorbimento di corrente sulle uscite, ecc.
∙ Gravi errori software come CALL e RTS fuori sequenza, calcoli lunghi, veloci e superveloci
e errori di punto fluttuante (overflow, underflow, ecc.). In questi casi appare un messaggio di errore
che descrive il tipo di errore che ha fermato il programma.
∙ Modifiche nella configurazione di base del centro di lavorazione come numero di assi, ecc.
Il menu LOGICA DEBUG contiene il tasto soft ENABLE LOGIC che svolge la stessa funzione di
CARICA E ESEGUI tranne che non ripristina la memoria.
Nxx instruction
istruzione xx
L'ambiente di debug si raggiunge premendo il tasto soft LOGIC DEBUG dalle applicazioni principali.
menu. Comparirà il seguente menu:
ABILITA DINAMICO GRAFICA LOGICA PLC CROCE SCHERMO ANALIZZATORE FORZARE RISETTA
LOGICA PLC MOSTRA ANALIZZATOREMESSAGES TABELLE DI RIFERIMENTO FILE FILES SRAM
In questo ambiente tutti i segnali diagnostici di sistema e le variabili possono essere visualizzati ed eseguiti. Questi strumenti
non sono utilizzati solo durante l'installazione della macchina, ma possono essere utilizzati durante l'intera vita della macchina.
È anche possibile durante il debug memorizzare in tabelle tutte le impostazioni delle variabili di visualizzazione, in modo che il sistema
può essere controllato in caso di malfunzionamenti o assistenza e riparazioni.
ABILITA DISPLAY Permette il congelamento di variabili che stanno cambiando rapidamente in modo che possano
essere letti più facilmente. Questi valori rimangono sul display fino a quando il tasto è
premuto di nuovo (tuttavia la variabile continua ad essere aggiornata all'interno del
La chiave è attiva quando questo menu viene inserito; se diventa
deactivated it signifies that the variables are frozen.
INSERISCI NOME/ESP. Il nome della variabile da visualizzare deve essere digitato dopo questo tasto morbido è
Per inserire più nomi sulla stessa riga posiziona il simbolo ';' tra ciascuno
nome.
MODIFICA NOME/ESP. Dopo aver selezionato una variabile utilizzando il o , premi questo tasto morbido per
modifica la variabile selezionata. Premi per confermare.
VISUALIZZA INGRESSO Questa chiave consente la verifica dello stato binario dell'input e
MOSTRA USCITA Byte di output sulla scheda I/O MIX. Il display presenterà una variabile
IN_001(n); dove (n) è un numero binario. Gli 8 bit rappresentano gli stati
dei 8 byte di input/output relativi che iniziano da destra a sinistra.
ASSEGNAZIONE FORZATA Questa funzione può essere utilizzata per forzare un valore su una variabile e misurarlo.
effetto immediato (vedi una descrizione dei valori forzati più avanti).
CERCA ASSEGNA. Fornendo il nome di una variabile utilizzata nel programma PLC attivo, tutte le sue
I valori assegnati vengono cercati. Le equazioni correlate vengono visualizzate dinamicamente.
ESPANDI L'ALGEGRA Consente di espandere le equazioni in modo che tutti i termini nell'equazione
quelli selezionati dal cursore vengono visualizzati separatamente. Di solito questa funzione è utilizzata
dopo che il tasto funzione SEARCH ASSIGN è stato premuto.
CANCELLA TUTTO Elimina tutti i nomi e le espressioni presenti nel display dinamico.
SALVA TAVOLA Stores all of the names and expressions displayed so that they may be
richiamato successivamente dalla TABELLA DI RICHIAMO. È necessario fornire il nome del
tabella da archiviare, quindi premi .
Se una variabile deve essere tracciata in un campo predefinito non in formato bit, sarà necessario specificarlo.
utilizzando la seguente sintassi:
nomevar[,min, max]
Se i limiti non sono specificati, un meccanismo di "autoscaling" consentirà la visualizzazione della variabile nel
centro dello schermo. Questo meccanismo potrebbe non essere soddisfacente quando il segnale cambia ad alta
frequenza (ad esempio, rumore elettrico su un segnale debole).
Per inserire più nomi contemporaneamente, inserisci il carattere ";" tra ogni nome.
To set the graphic analyzer parameters the softkeyGRAFIC ANALYZERis pressed from theDEBUG
menu:
ACQUISIRE ENTRA MODIFICARE CANCELLA TIME ACQUISIRE FORZA TRIGGER GRANDE ..DI PIÙ..
NOME/ESPRESS. NOME/ESPRESS. NOME/ESPRESSIONE BASE TEMPO ASSEGNA. NOME/ESPR TEMPO
INSERISCI NOME/ESPR. Dopo aver premuto questo tasto, il nome della variabile da visualizzare viene digitato e poi
il tasto viene premuto per confermare.
MODIFICA NOME/ESPRESSIONE. Dopo aver selezionato una variabile, questo tasto funzione permetterà di modificare il nome.
cambiato in quello di un'altra variabile, così come per consentire i limiti massimi/minimi
da cambiare. Quando hai finito premi .
BASI TEMPORALI Seleziona l'intervallo tra due scansioni consecutive dei segnali in corso
analizzato. Normalmente è un multiplo di 10 mSec (tempo di scansione PLC).
il valore predefinito è 10 mSec.
Per analizzare fenomeni in rapida evoluzione come le risposte degli assi o le tracce
delle variabili utilizzate nella sezione di logica super veloce, può essere utilizzata una base temporale
che è uguale allo standard dell'asse definito durante la configurazione.
È importante notare che non è possibile analizzare i segnali utilizzando una base temporale.
che è più piccolo dei loro tempi di aggiornamento. Ad esempio, segnali dall'alto
sezione della logica di velocità (che ha una frequenza di scansione di 10 mSec), la base temporale
dovrebbe essere 10 mSec.
Una base temporale di 2 mSec può essere utilizzata per analizzare la dinamica della macchina
assi, mostrando così la velocità istantanea, l'errore di percorso o altri analoghi
risultati.
ACQUISIRE TEMPO Questo è il periodo di tempo specificato per analizzare il segnale in questione.
il numero di PAGES è calcolato in base a questo numero e alla base temporale,
che viene poi arrotondato al più alto multiplo di 2. Ogni pagina contiene 512
punti separati da una distanza pari alla base temporale. Il massimo
number of pages is 8.
Example: ACQTIM=30 Sec; TIMBAS=10 mSec
(30/01)=3000 valori devono essere acquisiti; questi sono suddivisi in
(3000/512)=5.86 pagine, che viene arrotondato al più alto multiplo di 2, che
essere 8.
NOME/ESP TRIGGER Consente l'inserimento di un'equazione (scritta tra parentesi utilizzando un valido
sintassi PLC), o un segnale che, quando assume il valore zero, attiva il
archiviazione del segnale analizzato in base alla posizione del trigger
selected.
TEMPISMO DEL TRIGGER Questo tasto stabilisce la posizione di attivazione rispetto all'acquisizione del segnale
tempo. In altre parole, l'orario di visualizzazione può essere pubblicato prima, dopo o in tempo
con il grilletto.
Premere questo tasto ciclerà la posizione del grilletto tra tre distinte
selections:
ACQUISIRE Dopo aver scelto le impostazioni di visualizzazione sopra indicate, l'analizzatore deve essere
attivato. Solo allora l'acquisizione è attivata e tre equazioni di attivazione
controllato.
Il tasto softkey..MORE.. richiama il seguente menu contenente funzioni come descritto in seguito:
.
TROVA ESPANDI ELIMINA SALVA
ASSEGNA EQUAZIONE TUTTO LISTA VAR
TROVA ASSEGNA. Fornendo un nome di variabile utilizzato nel programma PLC attivo, questa funzione
cerca tutti i compiti di quella variabile, le relative equazioni sono poi
visualizzato tra le espressioni da tracciare.
ESPANDI EQU. Consente l'espansione o la tracciatura separata di ciascuno dei termini contenuti
all'interno dell'equazione evidenziata dal cursore. Questa funzione è solitamente utilizzata
dopo una ricerca di assegnazione (RICERCA ASSEGNAZIONE).
STORE VAR LIST Memorizza i nomi e le espressioni degli analizzatori grafici in una tabella, da richiamare
in seguito utilizzando LISTA RICHIAMO Il nome della tabella deve essere inserito, quindi premere
Attivando l'analizzatore di tracce ANALYZE TRACE è possibile quantificare i tempi di acquisizione del segnale
e valori, consente anche di cambiare la scala di visualizzazione e il numero di pagine con cui il
le tracce sono visualizzate.
- La base temporale per l'acquisizione delle tracce (preceduta dal simbolo BT:)
- Il tempo di durata dell'acquisizione (preceduto dal simbolo FR:)
- Intervalli di tempo del cursore orizzontale (CURSOR+ e CURSOR#)
Il fattore di riduzione per ciò che viene analizzato (preceduto dal simbolo X)
La percentuale di tempo tra l'arrivo del trigger e la durata totale dell'acquisizione
- La posizione del trigger (preceduta dal simbolo TP).
Ci sono due cursori disponibili chiamati + e #, che una volta attivati dai loro tasti morbidi relativi
Il CURSOR+ e il CURSOR# possono essere spostati usando l'orizzontale. e tasti freccia per misurare
cambiamenti nel tempo.
Il e I tasti freccia muovono anche due altri cursori chiamati + e #. Questi sono attivati
simultaneamente con i cursori orizzontali e consentire la selezione delle variabili il cui valore numerico
è interrogato posizionando il cursore sulla traccia. Questi valori vengono visualizzati nella parte inferiore
dello schermo nello stesso colore della traccia che rappresentano.
ACQUISIRE L'analizzatore può essere attivato utilizzando questo tasto morbido, dopo aver effettuato
modifiche ai parametri controllati da questo menu.
EVIDENZIA TRACCIA Premendo questo tasto morbido, la traccia selezionata dal cursore diventa una retroversione
L'immagine. Le tracce così evidenziate non vengono ridisegnate quando il RIDISEGNA
Il tasto TRACE è premuto.
REGOLARE LA SCALA Consente la modifica dei limiti massimi e minimi per una traccia selezionata utilizzando il
ARCHIVIO TABELLA Memorizza i nomi e le espressioni degli analizzatori grafici in una tabella, da richiamare
in seguito usando LA TAVOLA RECALL. Il nome della tabella deve essere fornito e
poi premi .
L'analizzatore può anche rilevare glitch, che possono verificarsi quando una base temporale superiore a 10
mSec viene utilizzato per analizzare un segnale e tutto ciò che viene visualizzato è un punto, che indica che il segnale era
muovendo più lentamente rispetto alla base selezionata e catturando in intervalli di 10 mSec.
Se una stampante grafica è disponibile, è possibile fare una copia cartacea del display premendo il +
chiavi (per ottenere solo i dati analizzati), o + (per ottenere una copia dell'intero schermo). Questo
Il documento potrebbe essere utile per scopi di manutenzione.
Dopo che le tracce dei segnali sono state acquisite dall'analizzatore grafico, è possibile memorizzarle in un
salvare il file premendo il tasto soft STORE DATA e nominando il file.
Per visualizzare i dati acquisiti in un secondo momento, premere i tasti soft DEBUG LOGIC, SELEZIONA DATI,
RECALL TAVOLA, INIZIA ACQUISIRE.
La funzione di queste tabelle è quella di raggruppare le variabili di visualizzazione utilizzate per l'analisi dei problemi noti
origine. Le tabelle, cioè l'elenco delle variabili e delle equazioni da utilizzare con l'analizzatore grafico e
display dinamici, possono essere modificati come qualsiasi altro programma o più semplicemente con l'operazione STORE TABLE
all'interno dell'analizzatore grafico o della visualizzazione dinamica.
I tasti morbidi TABELLE VISIVE e TABELLE ANALITICHE, presenti nel menu LOGICA DI DEBUG,
seleziona il tipo di tavolo su cui operare. Dopo la selezione, i seguenti tasti a sfioramento possono essere utilizzati:
MODIFICA TABELLA Consente la modifica dei nomi delle variabili precedentemente memorizzati.
TABELLA DI RICHIAMO Richiama eine tabella precedentemente memorizzata che contiene variabili di visualizzazione e tracciamento.
Un nome file deve essere fornito dall'utente o selezionato con i tasti freccia per
ciascuna di queste due funzioni, dopo la quale il il tasto deve essere premuto.
namevariable=espressione
premere .
Il valore forzato non cambierà finché un'istruzione non lo modifica o finché il NC non viene spento in
caso di variabili non mantenute.
Non è possibile forzare i valori di input poiché vengono aggiornati ad ogni scansione del PLC.
Quando molte variabili devono essere assegnate un nuovo valore, il tasto funzione FORCING FILES nella logica di debug
il menu è utilizzato.
Premendo questo tasto soft si apre il seguente menu:
.
RECALL FORCE FILE Richiama un file precedentemente memorizzato che contiene variabili di visualizzazione e tracciamento.
Un nome di file deve essere fornito dall'utente o selezionato con i tasti freccia per ciascuno di questi due
funzioni dopo le quali il deve essere premuto.
La memoria RAM statica può essere ripristinata utilizzando un tasto soft contenuto nel seguente menu, che si accede da
il menu principale con il tasto di scelta rapida DEBUG LOGIC.
ABILITARE DINAMICO GRAFICA LOGICA PLC CROCE SCHERMO ANALIZZATORE FORZATURA RESET
LOGICA PLC VISUALIZZARE ANALYZER MESSAGES TABELLE DI RIFERIMENTO FILE FILE SRAM
La sintassi è la seguente:
Il riferimento incrociato può essere generato solo se il programma PLC è stato compilato.
Premendo il tasto soft LOGIC BEBUG e poi CROSS REFERENCE, apparirà il seguente menu:
MEMORIA MORBIDO FLASH MODIFICA CROCE SELEZIONA SELEZIONA RINOMINA COPIA ELIMINA
GUIDA MEMORY REFERENCE SOURCE RIF. INCROCIATA. PROGRAMMA PROGRAMMA PROGRAMMA
Con il prompt sul file PLC attivo premi CROSSREFERENCE e attendi per alcuni secondi.
Al termine di questa operazione premere SELEZIONA RIF CROSS. Verrà creato un file con lo stesso nome di
il programma PLC, contenente il riferimento incrociato.
Tutti gli altri tasti funzione hanno la stessa funzione comune a tutti gli altri ambienti di NC.
Premendo il tasto morbido OFFSETS / PARAMETERS dal menu principale NC si accede al tasto morbido PLC
TABELLA. Dopo aver premuto questo tasto, inserisci il nome del file da modificare e poi premi
.
Gli elementi dell'array e i loro valori attuali saranno visualizzati affiancati, sarà quindi possibile modificarli.
i valori presentati e trasferirli al PLC.
+ Queste chiavi accedono a un menu per modificare dinamicamente alcuni parametri degli assi
(modificato dal PLC - vedere Parte II - Interfaccia di sistema).
I valori modificati in questo ambiente vengono applicati immediatamente.
I file di configurazione dell'asse vengono aggiornati solo quando viene premuto il tasto funzionale AGGIORNA FILE.
∙ Ogni programma PLC deve avere un nome composto da un massimo di 8 caratteri alfanumerici maiuscoli.
Il primo carattere deve essere una lettera dell'alfabeto. Il nome non può contenere spazi vuoti.
∙ PRN, AUX, COM1, COM2, COM3, COM4, LPT1, LPT2, LPT3, LPT4, CON, NUL non possono essere utilizzati
come nomi per programmi.
∙ Tutti i simboli e le variabili devono essere definiti con nomi mnemonici in maiuscole alfanumeriche
stringhe fino a 6 caratteri di lunghezza.
∙ Tutti i simboli devono iniziare con una lettera e non possono contenere i seguenti caratteri:
^ ? ! \ # % & | ~/ ( ) > [ ] < + - * @ = “ ‘ , : . ; blank spaces
Perché sono caratteri di controllo speciali o sono riservati per espressioni logiche e aritmetiche.
Gli spazi vuoti vengono ignorati durante la compilazione delle istruzioni.
∙ Le parole utilizzate per descrivere funzioni chiave o variabili di sistema non possono essere utilizzate come nomi.
∙ La lunghezza massima della riga per un'espressione logica in un programma PLC è di 500 caratteri, escluse
spazi vuoti (questi possono essere collegati su più righe usando il simbolo $).
∙ È possibile scrivere più di un'equazione su una singola riga separandole con un ";" (punto e virgola)
due punti).
∙ I commenti all'interno di un programma possono essere posizionati in qualsiasi punto purché siano preceduti da
il simbolo "[". È consigliabile utilizzare molti commenti per facilitare il troubleshooting del
programma, poiché non occupano spazio di memoria extra quando il programma viene compilato.
INP
.......
....... Sezione di dichiarazione
FUORI
.......
.......
INIZIO Sezione di inizializzazione
.......
....... (utilizzato solo dove necessario)
Accanto al nome, è utile inserire una breve descrizione della variabile in modo che il programma possa essere
letto e compreso da tutti. Ad esempio accanto agli ingressi e alle uscite il numero di connessione e il bit
i nomi possono essere referenziati.
La dichiarazione di ciascun gruppo di variabili deve essere effettuata prima della corrispondente parola chiave (vedi
capitolo 4, Dichiarazioni Iniziali).
Questa sezione, in cui gli input e gli output potrebbero non essere letti, consente a variabili precedentemente dichiarate di essere
iniziato o resettato all'accensione.
LOGICA SUPERVELCE
FAST LOGIC
LOGICA LENTA
LOGICA SUPERLENTA
Logica superveloce
Se il limite massimo di tempo per questa sezione viene superato, apparirà il seguente messaggio:
Logica veloce
La sezione FAST LOGIC è composta dalle istruzioni scritte tra le parole chiave PROG e
il primoEND, che vengono ciclici ogni 10 mSec.
Se il tempo massimo consentito per questa sezione viene superato, apparirà il seguente messaggio:
Logica Lenta
La sezione della logica lenta è composta dalle istruzioni scritte tra il primo e il secondo END.
Questa parte del programma viene eseguita nel tempo rimasto tra le esecuzioni della logica veloce e il tempo
assegnato per il PLC. Se questo tempo non è sufficiente, la sezione Lenta viene suddivisa in più cicli.
Logica superslow
La sezione SUPERSLOWlogic è composta dalle istruzioni scritte tra il secondo e il terzo
FINE, e vengono eseguiti con priorità minore per fenomeni più lenti come (compensazione termica,
gestione dei messaggi), e può essere ulteriormente suddiviso in più cicli.
Sincronizzazione
Le sezioni SUPERFAST, FAST e SLOW vengono eseguite in sequenza dopo la sezione INIT.
la logica super lenta non è necessariamente in sequenza con le altre.
Gli INGRESSI vengono letti all'inizio del ciclo superveloce, quando presenti, e gli USCITE sono
scritto alla fine dello stesso ciclo.
Se la sezione superveloce non esiste, gli ingressi vengono letti all'inizio del ciclo veloce e il
LE USCITE sono scritte alla fine dello stesso ciclo.
WORD: Variabile a 16 BIT contenente numeri interi compresi tra -32768 e 32767
LUNGO: Variabile a 32 BIT capace di numeri positivi e negativi tra 1,2 x 10-38e 3,4 x
1038in formato a punto flottante, con 7 cifre nella mantissa.
DOPPIO: variabili a 64 bit capaci di numeri positivi e negativi compresi tra 2.2 x 10-308e 1.8 x
10307in formato floating point a doppia precisione, con 15 cifre nella mantissa.
[Link](es. -12,678)
I numeri in formato esadecimale devono contenere un suffisso H e devono essere preceduti da uno 0 se il più
una cifra significativa è maggiore di 9 (es. 0FA23H).
Allo stesso modo, la LetterBis utilizzata per i numeri binari (es. 01011101B).
Per la dichiarazione delle variabili (numeriche e stringhe) vedere le sezioni appropriate nel capitolo 4.
name (index)
Le variabili vettoriali possono essere formattate in uno dei modi descritti sopra. È ovvio che tutte le
Le variabili vettoriali devono essere formattate in modo identico, ossia (BYTE, WORD, ecc.) all'interno di ciascuna variabile.
Example:
un nome di variabile BYTE tra 1 e 127, o una variabile WORD tra 1 e 32767
Esempio:
Si supponga che le variabili BTAB e WTAB siano state stabilite come un BYTE e una WORD
rispettivamente;
∙ un'espressione che risulta in un formato BYTE o WORD con le stesse limitazioni numeriche di
caso precedente.
Esempio:
Supponiamo che DAT01 e DAT02 siano variabili singole nel formato BYTE e che ARRAY(x) sia un
variabile vettoriale con più di 11 elementi.
DAT01=4
DAT02=6
ARRAY(DAT01+DAT02+1)=66 : 66 viene scritto nell'11° elemento di ARRAY.
In generale, le variabili vettoriali occupano posizioni contigue nella memoria, quindi è importante che.
prestare particolare attenzione alla lunghezza e alla quantità di dati gestiti da queste variabili per evitare di invadere
spazio di un'altra variabile. (vedi più avanti). Infatti, se il valore dell'indice è maggiore del numero di
gli elementi dichiarati dal VETTORE occuperanno la prossima posizione di memoria.
I valori dell'indice negativi, i valori zero o i valori al di fuori dell'intervallo (es. 45000) devono essere evitati
a tutti i costi, altrimenti le posizioni di memoria non correlate potrebbero essere sovrascritte.
Le variabili dinamiche (numeriche) assumono valori zero quando il NC è attivato e valori di stringa
assumi il valore (stringa vuota)
I valori del CONTATORE sono memorizzati durante lo spegnimento, tuttavia i valori per TIMER, PULSE e SOFTKEY
non sono.
Tra le variabili interne, quelle associate al posizionamento degli assi (indipendenti e controllati) sono
statico.
3.3.3. COSTANTI
Può essere utile descrivere i costanti all'interno di un programma (numerici e stringa); in questi casi il
I valori vengono assegnati durante l'inizializzazione del programma per evitare di ripetere le stesse istruzioni.
Esempio:
INIZIO
SMAX=3500
ALLM= 'SPINDLE OUT OF SERVICE'
Per utilizzare la logica macchina su altre macchine simili ma non identiche, è necessario assegnare un certo
quantità di costanti configurabili al momento dell'installazione.
Questo consente di impostare parametri, a livello PLC, per la lubrificazione, rapporti di cambio utensile, intervalli di timer,
posizione dell'asse, ecc..
Formato BYTE
8 7 6 5 4 3 2 1
Formato WORD
8 7 6 5 4 3 2 1 16 15 14 13 12 11 10 9
Nota:
BYTE e WORD sono utilizzati dal PLC in formato binario firmato; cioè i numeri negativi sono
rappresentato in complemento a 2.
Esempio:
BYTE 1 = 0 0 0 0 0 0 0 1 B
-1 = 1 1 1 1 1 1 1 1 B
bit di segno
PAROLA 1 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 B
-1 = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 B
bit di segno
Variabili Singole
Per accedere ai bit all'interno di una variabile, la variabile viene trattata come una matrice di otto elementi se è un BYTE, oppure
Matrici di 16 elementi se è una PAROLA, ecc. La seguente sintassi della matrice è utilizzata:
var(indice)
l'indice può avere una delle seguenti lunghezze (negli esempi le variabili sono singole e non vettoriali):
Example:
BIT3=NUMBT(3) con questa funzione, BIT3 sarà uguale a 1 o 0 a seconda dello stato del terzo bit in
NUMBT.
∙ il nome di una variabile di tipo BYTE o WORD che può assumere valori tra 1 e il
numero massimo di bit su cui operare.
Esempio:
INDEX=5
BYTE1(INDEX)=1 inserisce un 1 nel bit 5 di BYTE1
∙ un'espressione che risulta nel formato BYTE o WORD con gli stessi limiti del caso precedente
Esempio:
DATO1=8
DATO2=6
PAROLA1(DATO1+DATO2+1)=0 posiziona uno 0 nel 14° bit della variabile WORD1 in word
formato.
In ogni caso è necessario ricordare che, se il valore dell'indice supera il valore formattato,
le posizioni di memoria adiacenti alle posizioni della variabile verranno sovrascritte, queste potrebbero presumibilmente
essere occupato da altre variabili.
I valori degli indici pari a zero devono essere evitati, così come i valori negativi e quelli fuori intervallo.
descritto sopra.
Variabili vettoriali
Nel caso di variabili vettoriali, se un bit di un elemento vettoriale deve essere letto, è più facile copiare il
elemento vuoto a una variabile fittizia, accedendo così solo al singolo bit.
Esempio:
Suppose that the variables CONFI(X) and TEMPOR are WORD types
Se, invece, è necessario scrivere un singolo bit di un elemento del vettore, è necessario prima scrivere il bit in un
variabile fittizia e poi sovrascrivere l'elemento del vettore con essa. Per ulteriori informazioni sui bit
gestione vedere capitolo 5, Funzioni e Operazioni.
Esempi:
Supponiamo che le variabili VAR1, ALARM e CONFIG siano tipi BYTE e che VAR2 e FLAGS siano
Tipi di PAROLA; i seguenti bit sono accessibili (in grassetto) con le espressioni mostrate a destra:
ALLARME 8 7 6 5 4 3 2 1 VAR1(10)=ALLARME(2)
CONFIG 8 7 6 5 4 3 2 1
LO VAR2 16 15 14 13 12 11 10 9
I FLAG 16 15 14 13 12 11 10 9
4. DICHIARAZIONI INIZIALI
Tutti i simboli utilizzati nel programma PLC devono essere dichiarati all'inizio del programma utilizzando
una delle parole chiave segnalate in modo più dettagliato più avanti in questo capitolo.
RAM variabile memorizzata nella RAM volatile. (persa quando l'alimentazione è spenta per NC)
STR stringa
EQU equivalenza o sinonimo
PULSO impulso derivato
FTIMER timer veloci
STIMER cronometri lenti
CONTEGGIO contatori
LINGUA lingue delle chiavi sottili
SOFTK tasto morbido
NOTA:
Non tutte le funzioni dichiarative elencate sopra sono obbligatorie, ma quando vengono utilizzate devono apparire in
ordine mostrato.
Inoltre, quando si utilizzano variabili di diverse dimensioni di formato dati, esse devono essere dichiarate in ordine, iniziando con
il formato più grande.
Esempio:
Gli ingressi e le uscite sono riferiti direttamente alle loro terminazioni fisiche della scheda I/O. Ad esempio, il primo
L'input dichiarato dopo la parola chiave INP viene assegnato al terminale 1, il secondo al terminale 2, ecc.
Per i cavi di ingresso, la parola chiave INP deve essere utilizzata nel seguente formato:
INP[,attributo][,numero connettore]
Input Name 1
...
Nome n
Per i cavi di uscita, la parola chiave OUT deve essere utilizzata nel seguente formato:
Dove:
[,numero del connettore] indica la posizione sulla scheda I/OMIX dove si trova il connettore
collocato* (vedi il Manuale di Installazione del sistema).
Dopo aver dichiarato i tipi di input/output, deve essere fornisce un elenco di tutti i nomi delle variabili per quei tipi.
Esempio:
INP
NOMEA nome di input 1
NOMEB nome dell'input 2
NOMEC nome dell'input 3
FUORI
NOMED nome dell'output 1
NOME name of output 2
Questa determinazione assegna tre nomi ai primi tre input e due nomi ai primi due output.
all are bit types.
Le schede di espansione I/O seguono le stesse regole della scheda I/O principale.
Esempio:
INP[,attributo ][,1]
NOME1 inserire il numero 1 sulla scheda principale
NOME2
...
NOME96 inserire il numero 96 (ultimo input) sulla seconda scheda di espansione
La numerazione e la configurazione delle I/O su ciascuna scheda sono descritte nel Manuale di Installazione.
Invece, nei casi in cui esiste un gruppo di 8 o 16 segnali che devono essere trattati come un'unica unità, è
è utile definirli come un BYTE o una WORD. In tali casi, per accedere a un singolo segnale da
raggruppare le regole per l'accesso ai bit variabili si applicano (vedi accesso ai bit variabili nel precedente
capitolo).
Esempio:
INP,8
NAME
o:
INP,16
NAME
In generale è possibile avere una doppia dichiarazione per il trattamento misto tramite una sintassi del tipo:
gruppo:[nome1][,nome2][,...][,nomen]
Dove group si riferisce al gruppo di segnali e name1...namen si riferiscono ai singoli bit con n che è
limitato dalla lunghezza della descrizione e non può essere maggiore di 8 per BYTE o 16 per WORD.
Tutti i termini successivi al nome del gruppo (nome1..namen) sono facoltativi. Ciò significa che qualsiasi elemento
può essere omesso dall'elenco includendo termini da destra e termini da sinistra.
Nei casi in cui non sono forniti nomi intermedi, i nomi possono essere omessi ma il corrispondente
la virgola deve essere mantenuta. Non è necessaria una virgola dopo il cognome. Il compilatore automaticamente
trunca la descrizione del segnale a quel punto.
Esempio:
INP,8
INGR1:LIVOIL,IPLUBE,,,TERMAX,TERMAY
A volte ci sono lacune nella sequenza fisica delle connessioni di input o output. In questo caso è
necessario definire il numero dell'ultimo terminale non utilizzato con la funzione TERM, e continuare per
dichiarando tutti i segnali rimanenti. Il formato per tale funzione è il seguente:
TERM,number
Se il numero è un bit può assumere qualsiasi valore, tuttavia se è un BYTE deve essere un multiplo di 8, e un
multiplo di 16 se è una PAROLA.
Esempio:
INP
IFCXP [input1
TERM,5
ISPOK input6
Per l'elenco sopra, i terminali da 2 a 5 non sono utilizzati, e il programma riprende dal sesto.
terminale con il segnale ISPOK.
Se il parametro "diagnostica accesso I/O" è abilitato nella configurazione dell'installazione, se si tenta dal PLC o
debugging logico per accedere in lettura o scrittura a una risorsa che non è presente, il seguente messaggio
appears: "E1994: access to missing component" followed typically by the number of the PLC line
dove è stata trovata l'incoerenza.
I controlli diagnostici per la coerenza tra l'indirizzamento e le risorse accessibili da
I PLC sono effettivamente presenti (cioè, ingressi e uscite digitali, ingressi e uscite analogici, sonde di temperatura).
Dove:
attribuito Definisce il tipo di input. Può essere:
,1 descrive solo 1 BIT (valore predefinito se l'attributo è omesso)
,8 descrive un BYTE
,16 descrive una PAROLA
numero della scheda madre indica quale SLOT DELLA TAVOLA la scheda con interfaccia master RIO utilizzerà
avere, come nel caso dell'I/O locale dove si riferisce alla scheda I/OMIX. Se il
la scheda master con RIO integrato è utilizzata, il numero della scheda sarà 17.
numero di schiavi dichiara l'indirizzo impostato con i microswitch sul modulo remoto.
Esempio:
INP,1,17,60 formato bit input, master17, schiavo 60
NOMEA nome del numero di input 1
NOMEB nome del numero in ingresso 2
NAMEC Nome del numero in ingresso 3
FUORI,1,17,60 formato bit, master17, slave 60
NOMINATO nome dell'output numero 1
NOME nome dell'output numero 2
A seconda che la variabile debba essere mantenuta o meno dopo lo spegnimento del NC, ci sono due tipi di
le variabili possono essere dichiarate:
dove;
Oltre ai tipi RAM,x e SRAM,x, c'è anche la possibilità di gestire variabili, chiamate
SSRAM, che non vengono azzerati dalle solite operazioni di reset NC o ricompilando il PLC.
La SSRAM può avere le stesse dimensioni della SRAM normale.
Example:
SSRAM,16
ORELAV contatore delle ore di lavoro della macchina
Lo spazio disponibile per la SSRAM è molto limitato (96 byte); l'area relativa a queste variabili è
reset quando un PLC viene compilato con una dichiarazione inside anSSRAM diversa da quella precedente.
S1200 Nelle variabili S1200 dichiarate come (RAM [,attributo]) erano implicitamente retentive
Gli array di vettori (tabelle) possono essere utilizzati anche come variabili interne, in tutti i formati tranne il formato bit.
Pertanto abbiamo:
nome(numero):[nome1][,nome2][,....][,nomen]
numberindicates the vector index. If the vector has a certain dimension previously declared, the
i nomi a destra del ":" indicano i nomi di ciascun elemento nello stesso formato del vettore.
Nel caso in cui alcuni nomi non siano forniti, è necessario lasciare solo le virgole al loro posto.
Non sono necessarie virgole dopo il cognome; il compilatore trunca la descrizione del segnale a quel punto.
Il numero di elementi vettoriali può essere pari fino a 32767 a seconda della quantità di memoria
disponibile.
Come già detto in precedenza, le variabili LONG e DOUBLE, essendo di formato a virgola mobile, sono sempre utilizzate
per calcoli matematici.
STR[,attributo]
Variabile stringa 1
...
Variabile stringa n
dove:
Il valore predefinito è 64 nei casi in cui l'attributo è omesso. Se si tenta di scrivere una stringa
lungo più della lunghezza dichiarata, viene automaticamente troncato e viene mostrato un messaggio di errore su
visualizzazione.
È possibile utilizzare dichiarazioni vettoriali anche per le stringhe:
STR
NOMEA
NOME B
∙ Usando un formato di tipo matrice, il nome e il numero totale di elementi sono specificati:
STR
NOME(n)
Esempio:
...
STR,64
NOMEA
MSG(12)
...
PROG
...
NAMEA='SAMPLE MESSAGE' assegna il contenuto della variabile stringa NAMEA
MSG(2)='SPINDLE PROTECTION STOP' assign contents of vector variable string MSG(2)
....
EQU[,attributo]
name1:name2
...
namem:namen
namex:namey
dove nome è il nuovo simbolo da inserire e nomey è una quantità che deve essere già stata
dichiarato.
Esempio:
RAM,8
ARRAY(10)
...
EQU,8
NAMEX:ARRAY(3) La nuova variabile NAMEX descrive il terzo byte di ARRAY, che era
definito in precedenza come avente 10 elementi
[
EQU,16
WORD:ARRAY(1) la variabile WORD si riferisce ai primi due byte di ARRAY.
Oltre alla sintassi dell'esempio precedente, è possibile dichiarare un nuovo operando vettoriale.
Esempio:
RAM,16
OLDVAR
EQU,8
NUOVAVAR(2):VECCHIAVAR
VECCHIOVAR
Attraverso il dichiarativoEQU, possono essere assegnate equivalenze tra variabili stringa e byte
vettori.
Questa è una funzionalità utile se si desidera eliminare un vettore contenente i caratteri ASCII di un dato
stringa.
Es.
STR
BUFSTR [string variable]
[
EQU,8
VETSTR(64):BUFSTR [Associo un vettore di 64 byte con la stringa
[
PROG
BUFSTR='ABCD'
[
[VETSTR(1)=0 [questo byte è sempre a 0]
[VETSTR(2)=4 [il secondo byte contiene la lunghezza della stringa
[VETSTR(3)=65 [Codice ASCII per la lettera A
[VETSTR(4)=66 [Codice ASCII per la lettera B]
[VETSTR(5)=67 [Codice ASCII per la lettera C
[VETSTR(6)=68 [Codice ASCII per la lettera D
[VETSTR(7)=XX [... altro
4.5. PULSO
La funzione impulso è derivata dal fronte crescente di un segnale. Il suo scopo è creare un impulso visibile.
solo una volta per ogni equazione logica. È attivato all'inizio della sezione logica lenta quando il
generare cambiamenti di equazione o variabile da un livello logico "zero" (0) a un livello logico alto (1), e è
reset quando la sezione di logica lenta è completata.
I segnali programmati nelle sezioni di logica veloce non terminano fino a quando tutte le sezioni di logica non sono state
eseguito. È necessario che la variabile generatrice duri il tempo minimo di cattura per attivare un
l'impulso è uguale a una scansione completa di tutta la logica. Questo garantirà che l'impulso venga rilevato anche nel
sezione logica lenta.
Per la tecnica di sincronizzazione descritta, considera che il fronte ascendente dell'impulso generalmente
non sovrappone il fronte crescente del segnale generatore, ma invece lo ritarda di un periodo di tempo che può
uguale o superiore a una scansione completa del programma PLC.
Nota: I impulsi non sono trattenuti, quindi quando il NC è attivato, se sono associati a
un segnale già in stato 1 (ad es: un ingresso), genereranno un impulso.
L'equazione che dichiara un PULSO è scritta come qualsiasi altro segnale nel programma. Per una facile identificazione
i nomi dei segnali dovrebbero derivare dal nome del segnale che li attiva (es: Pstart per un impulso)
generato dal segnale START). I poli vengono dichiarati nello stesso modo di qualsiasi altro segnale.
Fino a 64 PULSI possono essere definiti nella sezione di dichiarazione, utilizzando la sintassi:
PULSO
namea
...
nomi
Example:
PULSO
NOMEA
NOMEB
...
...
PROG
NAMEA=(NCMD=5) il nomea segnale è un impulso NC in modalità manuale
...
NAMEB=EMEA il segnale nameb è un impulso NC in modalità di emergenza
4.6. TIMER
Sono disponibili 32 timer rapidi per l'utente, con un tempo di base di 10 mSec (un ciclo), capaci di
contando fino a 327,67 secondi, e ci sono 64 timer lenti con un tempo base di 100 mSec (10
cicli), in grado di contare fino a 3276,7 secondi (circa un'ora).
I timer vengono dichiarati come tali nella sezione di dichiarazione del programma, tuttavia la loro durata deve essere
dichiarati all'interno del programma nei punti in cui vengono utilizzati.
I timer devono essere definiti dopo il dichiarativo FTIMER (timer veloce) o STIMER (timer lento) dal
seguente sintassi:
FTIMER (o STIMER)
input, output, derived, stop, count
...
input, output, derived, stop, count
FTIMER (o STIMER)
input, output
input, output
dove:
Conta
Input Uscita
xTIMER
Fermati Derivato
Input
uscita
Derivato
Fermati
Contare
modulo
Contare
Nota: L'uscita del timer rimane alta (1) finché l'ingresso è alto.
FERMA With the transition from 0 to 1 the values are frozen and the timer is disabled. With
la transizione da 1 a 0 il timer riprende dal punto in cui era stato bloccato.
Tutte le variabili timer possono essere lette e scritte dal programma, ad eccezione dell'output (U) e
segnali derivati (D) che possono essere letti solo.
Il parametro di tempo, che non deve essere definito nella sezione di dichiarazione, viene assegnato nel
sezione del programma del codice quando viene utilizzata la funzione timer.
Questo consente di modificare le funzioni del timer durante il corso del programma utilizzando parametri fissi o parametrici
tempistica.
Per rendere i segnali del timer identici in qualsiasi parte del programma, devono essere sincronizzati con il segnale
che definisce il loro input. Ciò implica che la condizione dell'uscita del timer così come la sua derivata, sono
aggiornato solo quando il programma PLC legge l'istruzione di input del timer.
input(numero moduli)=espressione
Esempio 1:
FTIMER
Dichiarazione del timer 1
T2I,T2U,T2D,T2A,T2W dichiarazione del timer 2
....
PROG
T1I(25)=.... timer 1 impostato a 250 mSec fisso.
T2I(2*TIMBAS+10).... timer 2 impostato come funzione di TIMBAS
...
Esempio 2:
FUORI
U1 uscita dell'oscillatore
STIMER
{"T2I":"T2I","T2U":"T2U","T2D":"T2D","T2A":"T2A","T2W":"T2W"}
dichiarazione del timer 2
...
PROG
T2I(10)='“2U timer 2 impostato per oscillare con un tempo base di 1 secondo
U1=(T2W<5) uscita a onda quadra con periodo di 1 secondo
4.7. CONTATORI
Ci sono 48 contatori su/giù con moduli programmabili tra 2 e 32767.
I contatori, come i timer, devono essere definiti nella sezione di dichiarazione, tuttavia i moduli o
la quantità da contare deve essere definita all'interno del programma. Il formato di dichiarazione è il seguente:
CONTEGGIO
zero,forward,reverse,carry,count
zero,forward,reverse,carry,count
dove:
Avanti
Invertire CONTATORE Carry
Zero
Le seguenti figure illustrano sia l'operazione in avanti che quella inversa di un contatore con modulo 10.
Conteggio in avanti
Zero 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
Avanti 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 ...
Conta pos. 0 1 2 3 4 5 6 7 8 9 0 1 2 ...
Portare 0 00 0 0 0 0 0 0 0 1 0 0 ...
Conteggio inverso
Zero. 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
Invertire 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 ...
Conta pos. 0 9 8 7 6 5 4 3 2 1 0 9 8 ...
Porta 0 0 0 0 0 0 0 0 0 1 0 0 ...
Durante il conteggio in avanti, quando il contatore raggiunge il valore del modulo, il conteggio viene automaticamente impostato su
zero. Nel conteggio inverso, dopo essere arrivati a zero, il valore del modulo viene caricato nel contatore.
Tutti i segnali nominati in una dichiarazione del contatore possono essere letti o scritti all'interno del programma.
eccetto per il segnale di riporto che può essere letto solo.
Il parametro di conteggio non deve essere definito nella sezione dichiarativa, tuttavia deve essere
assegnato nel programma nella dichiarazione che imposta il contatore a zero.
Questo rende possibile modificare l'azione di contro durante il corso del programma e consente fissi o
funzioni parametriche da implementare.
Esempio:
INP
ICOMAI conteggio input inverso culla
CONTA
C1Z,C1A,C1I,C1R,C1C dichiarare contatore 1
["C2Z","C2A","C2I","C2R","C2C"]dichiara contatore 2
...
PROG
C1Z(50)=... applica contatore 1 con modulo conteggio 50
C1I=ICOMAI il conteggio inverso del supporto decrementa il contatore
...
C2Z( TEMPO / 60 ) = ... applica il contro 2 definito dalla variabile TEMPO
e In questo modo è possibile migliorare l'interfaccia uomo / macchina tramite il menu per
funzioni normalmente eseguite da interruttori e lampade, ecc., che normalmente richiedono ulteriori ingressi NC e
uscite per collegare questi controlli.
Un tasto softkey viene trattato dal sistema come un interruttore illuminato con un'etichetta.
Una volta che le variabili 'switch' e 'lamp' e il testo 'label' sono dichiarati, il display conterrà un nuovo
funzione chiave con l'etichetta desiderata capace di inviare segnali al PLC e anche capace di essere
illuminato dal PLC quando in uso.
Ci sono 128 possibili combinazioni di tasti softkey e sono definite in gruppi di fino a 8 elementi di menu.
identificato dalla dichiarazione SOFTK. I tasti funzione relativi allo stesso menu vengono visualizzati
simultaneamente e per passare da un menu all'altro deve essere nominato un attributo indice o un PLC
variable must be declared called (SFKMEN).
Il segnale 'switch' può essere momentaneo o continuare finché il tasto è selezionato (premuto).
I tasti morbidi possono anche essere associati a un messaggio o a una stringa numerica, per assistere l'operatore con
accesso ai dati.
selezionando ,0 indica che l'interruttore è momentaneo e dura solo un ciclo di esecuzione del PLC
(default).
selezionando ,1 indica che l'interruttore è acceso finché è premuto.
Il numero del menu può essere omesso quando si dichiara il primo menu.
strobe,lamp,[switch,]'label','message',[FP:/STR:]variable[,default value]
In questo esempio, il segnale di interruttore viene ricevuto dal PLC non appena il tasto soft viene premuto seguito da
il chiave. Il messaggio viene successivamente visualizzato sullo schermo seguito dal valore effettivo di
la variabile associata. Il segnale di stroboscopio viene inviato al PLC per segnalare un nuovo valore della variabile o per
confermare quello esistente.
La variabile è implicitamente definita come formato DOUBLE (FP:) finché non ci sono altre specifiche.
tramite il formato stringa STR:
Il valore predefinito, quando definito, è sempre visualizzato nella riga di comando al posto dell'attuale
valore della variabile quando il tasto di scelta rapida è premuto. Non è destinato a essere un valore di inizializzazione per la variabile
quando il NC viene acceso per la prima volta.
Quando un tasto morbido deve chiamare il menu successivo o tornare a quello precedente, la sintassi per creare la catena
è come segue:
switch,lamp,'label',menu number
Un'alternativa a questo metodo è selezionare direttamente il menu dei tasti soft scrivendo il numero nel PLC
variabileSFKMEN.
Questa variabile contiene sempre il numero del menu softkey attualmente visualizzato, anche quando il menu
il cambiamento è effettuato automaticamente.
I rispettivi formati per le descrizioni del testo sono 18 caratteri su tre righe per le etichette e 20
caratteri nella riga di comando per i messaggi. Il testo del messaggio può contenere tutti i caratteri tranne
le virgolette (" ")
Esempio:
Prima della definizione SOFTK, nella sezione di dichiarazione del PLC, devono essere introdotte le seguenti
istruzione:
1= Italiano
2= Francese
3= Tedesco
4= Inglese
5= Spagnolo
6= Portoghese
Nella dichiarazione dei menu, l'etichetta per ciascun tasto morbido deve essere specificata insieme al testo di microediting in
tutte le lingue richieste seguendo la dichiarazione di LANG con la sintassi mostrata:
Esempio:
LINGUA,1,4
...
SOFTK,1
P01,L01,’ volantino X ’ ‘ handwheel X ’
P02,L02,’ tempo lubrif. ‘ ‘ lubrif. time ‘,’ minuti= ‘ ‘ minuts= ‘, TIME
P03,L03,’ parola chiave ‘ ‘ password ‘,’ inserisci= ‘ ‘ insert= ‘, STR:CHIAVE, ‘ manutenzione ‘ ‘ service’
La variabile SFKLNG (scritta da NC) contiene il codice che indica la lingua attiva sul NC.
Testando questa variabile è possibile organizzare il programma PLC per inizializzare la stringa
variabili per visualizzare messaggi multilingue.
Language codes are the same of those used in the declaration ofLANG.
Esempio:
...
INIZIO
SE (SFKLNG<>1) ENG
[Initialization Italian messages
MSG(1)=‘ EMERGENCY STOP’
MSG(2)=‘ FAULT ON SPINDLE DRIVE‘
...
FINE MESSAGGIO
[
$
SE (SFKLNG<>4) FINE MSG
[Initialization English messages
MSG(1)=‘ EMERGENCY STOP ’
MSG(2)=‘ FAULT ON SPINDLE DRIVE ‘
[
FINE MSG : $
...
5. FUNZIONE E OPERAZIONE
DRAOK MAREG
COMAS
TEST
Per descrivere la funzione della rete logica mostrata sopra si può dire che l'uscita COMAS è
attivo quando DRAOK e MAREG sono veri (chiuso) o TEST è falso.
COMAS=DRAOK&MAREG~"TEST
& E
~ O
| XOR
" NON
Quando si applicano gli operatori logici, è necessario ricordare che AND e XOR hanno una priorità più alta.
priorità rispetto a OR.
Se invece si desidera fare OR tra A e B e poi ANDare il risultato con C, questo è scritto come U=(A~B)&C
Gli operatori logici possono essere applicati a segnali, bit, byte e parole. Le espressioni vengono valutate per bit a
corrispondenza bit. Pertanto, gli operandi nella stessa equazione devono essere dello stesso tipo.
Esempio:
RAM,16
CONFI(3) [dichiara un array di 3 variabili a 16 bit]
TEMPOR memoria temporanea utilizzata per la manipolazione dei bit
...
PROG
[example to invert the 4th bit of the first element in the array CONFI()
TEMPOR=CONFI(1)
SE(TEMPOR(4)) TEMPOR(4)=0;CONFI(1)=CONFI(1)&TEMPOR;FINE [resetta bit 4
SE("TEMPOR(4)) TEMPOR(4)=1;CONFI(1)=CONFI(1)~TEMPOR [imposta bit 4]
FINE:$
...
Esempio:
(10.5//7)=3.5
Se questa operazione viene effettuata su byte o parole, il risultato sarà un resto intero.
L'operazione // può essere utilizzata per estrarre la parte decimale di un numero in virgola mobile dividendolo per
1.0
Esempio:
(4.123//1.0)=0.123
IMPORTANTE: Se il risultato di un'operazione risulta in un numero maggiore della dimensione della variabile, è
convertito nel suo complemento a 2.
Il risultato di una divisione per 0 produce il numero positivo massimo per la variabile.
Se si verifica overflow, underflow e divisione per 0 durante l'esecuzione del programma, il sistema visualizza un
messaggio di errore appropriato (vedi Parte II - Elenco dei segnali preimpostati e registri).
PECCATO
(argument) sine
COS (argomento) coseno
TAN (argomento) tangente
ATN (argomento) arctangente
LOG (argomento) logaritmo
LGT (argomento) logaritmo in base 10
ACS (argomento) arcoseno
ASN (argomento) arcoseno
NEG (argomento) cambiare segno
SGN (argomento) sostituisce un valore nel formato dell'operando uguale a 1 se il segno
è positivo e -1 se è negativo.
operando^operando elevare a una potenza
ABS (argomento) fornisce il valore assoluto di un byte, parola, long o formato double
variabile.
5.4. CONFRONTA
Spesso è necessario confrontare due variabili o una variabile e un valore costante e poi operare su di essi.
the result.
= uguale a
<> non uguale a
> maggiore di
< meno di
<= minore o uguale a
>= maggiore o uguale a
L'espressione di confronto deve essere racchiusa tra parentesi e può quindi essere utilizzata come un
elemento logico all'interno di un'equazione.
Esempio:
Questa funzione può essere utilizzata per Byte, Parole, ecc.. a condizione che l'equazione sia omogenea.
Non può essere utilizzato per le stringhe. Per confrontare due stringhe deve essere utilizzata la funzione STRCMP().
5.5. ROTAZIONE
Questa funzione può essere eseguita su variabili byte e word - i formati BIT, LONG e DOUBLE non lo sono.
consentito. L'operando @ è utilizzato seguito dal numero di rotazioni da effettuare.
Una rotazione a sinistra sposta tutti i bit nella direzione del bit più significativo, mentre il più significativo
il bit si sposta nella posizione del bit meno significativo.. La rotazione a destra esegue l'opposto.
Esempio:
STATP = STATP @+1 effetti una rotazione a sinistra di una posizione per bit.
Dopo la rotazione 0 0 0 1 0 0 0 1
output=function(argument)
Esempio:
ENC (10100000B) = 6
Restituisce un BYTE o WORD con un 1 nella posizione del bit corrispondente al valore dell'argomento.
a patto che il valore non superi 16 per le parole o 8 per i byte.
Esempio:
DEC (7) = 01000000B Poiché il numero è 7, il settimo bit della parola di output è impostato a 1.
Esempio:
Esempio:
Estende un byte (argomento) in una parola con conservazione del segno. In altre parole, se il bit di segno (bit 8) era
0 aggiunge otto zeri a sinistra; se fosse 1 aggiungerebbe otto uni a sinistra.
Esempio:
PAROLA2=EST( BYTE1 )
Esempio:
Esempio:
Questa funzione è necessaria per eseguire operazioni matematiche su byte e parole che sono
riservato per le variabili a punto flottante.
Esempio:
Tuttavia, non tutte le funzioni sono utili in espressioni complesse. In particolare, la seguente complessa
Le espressioni non sono consentite.
Esempio 1:
RAM,8
ANGOLO
RAM,32
RISULTATO
...
RISULTATO=SIN(IFP(ANGOLO*2+45)) il risultato dell'espressione ANGLE*2+45 è
convertito in punto flottante e poi il seno di quello
il valore è preso.
Esempio 2:
POTENZA=OFFSET+SIN(1/FREQ*TIMBAS)+COS(ANGOLO)
La potenza è uguale alla somma dell'offset e del coseno dell'ANGOLO più il seno dell'espressione
1/FREQ*TIMBAS
VAL(argomento)
L'output di questa funzione può essere in formato BYTE, WORD, LONG o DOUBLE. Il formato di output
selezionato deve essere compatibile con la lunghezza dell'argomento stringa che deve essere convertito.
Esempio:
RAM,32
NUMVAL
STR
NUMSTR
...
PROG
NUMSTR='123.56'
NUMVAL=VAL(NUMSTR) [NUMVAL contiene la conversione numerica di NUMSTR
[ che è NUMVAL=123.56
Cerca una stringa all'interno di un'altra stringa, partendo da una posizione specificata e per una lunghezza specificata.
Fornisce la posizione in cui è stato trovato il primo carattere della stringa. Il formato è:
INSTR(argomento1,argomento2,argomento3,argomento4)
dove:
argomento1 è la stringa all'interno della quale avviene la ricerca
argomento2 è la stringa da trovare
argument3 è la posizione da cui iniziare la ricerca
La funzione può produrre risultati diversi in base ai valori degli argomenti 1-4 e ad altre condizioni
come indicato di seguito:
Esempio:
POSIZ=INSTR(VARIAB1,VARIAB2,4,13)
il risultato ottenuto in POSIZ è il numero 6)
LEN(argomento)
dove l'argomento può essere:
- una variabile di tipo stringa
un'espressione il cui risultato è una variabile stringa
Esempio:
RAM,8
LUNST
STR
MSG1
...
PROG
MSG1='ALARM NUMBER3"
confronta due argomenti specificati dall'operatore e fornisce un risultato di vero o falso. I due
Gli argomenti possono avere diversi formati. Il formato è:
l'argomento1eargomento2possono essere:
Esempio:
Esempio:
Esempio:
RAM,1
PROVA
...
PROG
TEST=STRCMP('AVARIA'='AVARIA') [result; TEST=1
TEST=STRCMP('AVARIA'='AVARIA ') [result: TEST=0
Converte qualsiasi numero in qualsiasi formato tranne il formato bit in una stringa di caratteri ASCII
S1200 Nei programmi PLC per il sistema S1200 è stata utilizzata la funzione ASC(argomento).
Questa funzione può essere utilizzata, ad esempio, per visualizzare il valore di una variabile numerica come messaggio.
L'output della funzione deve essere assegnato a una variabile di tipo stringa. Il formato è:
MKN$(argomento)
Se l'argomento è in formato byte, il risultato della conversione ha 4 caratteri, il primo dei quali è il
segno o vuoto, e gli altri tre sono o 0 o un numero.
For example:
la conversione di un byte contenente il valore 1 sarebbe '001'
la conversione di un byte che contiene il valore -11 sarebbe '-011'
Se l'argomento è in formato Word, il risultato della conversione sarebbe di 6 caratteri, il primo dei quali
è il segno o vuoto, e gli altri cinque sono 0 o un numero.
Ad esempio:
la conversione di una parola contenente il valore 1 sarebbe '00001'
la conversione di una parola contenente il valore -11 sarebbe '-00011'
Example:
MSG4=MSG5+MKN$(SS0) [se MSG5 contiene il 'numero dello strumento' e SSO un byte di valore
[12; la funzione risulterebbe in 'numero strumento 012'
CHR$(argomento)
Il risultato della funzione deve essere assegnato a una variabile di tipo stringa.
Example:
STRNG$(argomento1,argomento2)
dove:
argomento1 è il codice ASCII del carattere nella stringa
argument2 è il numero di caratteri da generare
l'argomento1 e l'argomento2 possono essere:
un intero esplicito tra 1 e 255
- una variabile byte o word con un valore compreso tra 1 e 255
- un'espressione il cui risultato è una variabile byte o word con un valore compreso tra 1 e 255
Se il secondo argomento è maggiore del formato della variabile assegnata, verrà troncato.
Esempio:
STR
MSG
RAM,8
NUMCAR
CODCAR
PROG
NUMCAR=20 lunghezza della stringa da generare
CODCAR=42 [Codice ASCII per un asterisco (*)]
MSG=STRNG$(CODCAR,NUMCAR) [generates a string of 20 asterisks
Estrae un numero specificato di caratteri dalla stringa a partire da una posizione specificata.
dove:
argomento1 è la stringa da cui disegnare
argomento2 è la posizione del carattere da cui inizia l'estrazione
argomento3 indica il numero di caratteri da estrarre
argument1may be :
una variabile di stringa
L'output della funzione deve essere assegnato a una variabile di tipo stringa. Si applicano le seguenti regole:
Esempio:
SINISTRA$(argomento1, argomento2)
dove:
argomento1 è la stringa da cui estrarre
argomento 2 è il numero di caratteri da estrarre
L'output della funzione deve essere assegnato a una variabile stringa. Si applicano le seguenti regole:
DESTRA$(argomento1, argomento2)
dove:
argomento1 è la stringa da cui estrarre i caratteri
argomento2 è il numero di caratteri da estrarre
l'argomento1può essere:
una variabile di stringa
l'argomento2può essere:
un numero intero compreso tra 1 e la lunghezza della stringa
- a BYTE or WORD variable with a value between 1 and the length of the string
- un'espressione il cui risultato è una variabile BYTE o WORD con un valore compreso tra 1 e la lunghezza di
la stringa
L'output della funzione deve essere assegnato a una variabile di tipo stringa. Si applicano le seguenti regole:
Le stringhe possono essere concatenate tra loro per formare una nuova stringa combinata.
La sintassi è:
nome=argomento1[+..][+argomentoN]
Esempio:
RAM,32
IPERC
STR
MSG(10)
PROG
MSG(10)='ABSORBED CURRENT'
MSG(1)=MSG(10)+MKN$(IPERC)+'AMPERE' [the value of the current, IPERC is inserted in
[la stringa
UN ETICHETTA è il nome dato a una riga di programma che deve essere chiamata da una sottoroutine o da un'istruzione di salto.
Le etichette possono essere identificate tramite l'uso dei ':' dopo l'espressione.
∙ SALTO INCONDIZIONATO
∙ SALTO CONDIZIONALE
∙ ESECUZIONE CONDIZIONALE
∙ GOTO CALCOLATO
∙ GOTO INTERROGATO
∙ CICLO
∙ SOTTOPROGRAMMA
dove:
labelxis l'istruzione di salto
labelx:is the label to jump to
SE(equazione o segnale)etichettaX
...
labelx:
Se l'equazione o il segnale è vero (alto), il programma salterà a labelx, altrimenti continuerà con il
prossima riga.
Esempio:
SE(“BURDY)ASINC
...
ASINC:...
SE(condizione)equazione
la prima equazione viene eseguita se la condizione è vera, altrimenti le equazioni dopo l'ELSE vengono eseguite
eseguito; l'intera espressione deve adattarsi su una riga.
Se l'espressione non può adattarsi su una riga, può essere estesa su un'altra riga utilizzando il simbolo $;
La limitazione finale è che l'espressione rimanga sotto i 500 caratteri, esclusi gli spazi.
Esempio:
il formato è il seguente:
Il numero massimo di ETICHETTE è 255. Se lo spazio su una riga non è sufficiente, possono essere aggiunte righe supplementari.
essere aggiunto utilizzando il marcatore di fine linea $. L'ultima limitazione è che il numero di caratteri può
non superare 500 esclusi gli spazi.
Esempio:
RAM,8
NLAB
PROG
NLAB=... etichetta attuale per saltare a
GOTC(NLAB)L1,L2,L3,LEND
PRESTITO
...
L1...
...
PRESTITO
L2...
...
PRESTARE
L3...
...
LEND...
Il sistema calcola l'espressione e utilizza i risultati per selezionare l'etichetta su cui saltare.
Se il valore dell'espressione è 0 o l'etichetta non può essere trovata, il programma continua con il successivo
istruzione.
dove:
l'espressione potrebbe essere:
- un BYTE o WORD con un valore compreso tra 1 e 16
- un'espressione che risulta in un BYTE o WORD con un valore compreso tra 1 e 16.
L'espressione viene valutata per trovare la posizione del primo bit che è impostato su uno numero d'ordine del
etichetta a cui saltare. L'esecuzione salta quindi all'etichetta che corrisponde alla posizione del bit impostato.
Esempio:
RAM,16
SELEZIONA
PROG
SELEZIONA=0000000000000100B
GOTP(SELECT)FAS1,FAS2,FAS3 l'esecuzione passa a ETICHETTA FAS3
6.6. CICLO
The format is:
ESECUZIONE=espressione
...
FINE
Le istruzioni comprese tra EXEC e END vengono eseguite tante volte quante definite dal
espressione.
Example:
I=0
ESECUZIONE=(2*XTAB)[azzera la tabella TAB
I=I+1
TAB(I)=0
FINE
6.7. SOTTOPROGRAMMA
Per chiamare una subroutine, si usa l'istruzione CALL seguita dal nome della subroutine desiderata.
Una sottoroutine viene chiamata in modo condizionale se l'istruzione CALL è preceduta da un'istruzione IF (...) nella
stessa espressione.
Esempio:
Se una subroutine è scritta all'interno di una sezione logica (veloce, lenta, superslow), può essere chiamata solo dall'interno
quella sezione.
Scrivendo le sottoroutine invece nella sezione riservata ROUTINE alla fine del programma, è
possible to call them from different parts of the program.
7. FUNZIONI SPECIALI
Questo capitolo descrive alcune funzioni che non sono state descritte nei capitoli precedenti, e che
può essere utilizzato per attivare segnali della macchina, per cercare variabili vettoriali, per gestire l'utente
interfaccia, e infine per la gestione dei comandi generati dal programma di logica della macchina (PLC)
e inviato al NC.
Esempio:
7.2. MULTIPLEXER
Assegna un valore a una variabile selezionando da un elenco di variabili o costanti utilizzando variabili bit.
controlla le selezioni.
La sintassi è la seguente:
varout = MUX ( sel1, sel2 [, sel3][, sel4] [, ...]),(var1, var2 [, var3] [, var4] [, ...])
where:
sel1, sel2, sel3, sel4 sono variabili di controllo di selezione in formato BIT o espressioni che risultano in
vero o falso
var1, var2, var3, var4 BYTE, WORD, LONG o DOUBLE sono formattati proprio come varout.
La lista delle variabili di controllo di selezione viene scansionata per trovare la prima variabile che ha un valore di bit di 1.
La variabile corrispondente nella seconda lista viene quindi selezionata come varout.
Esempio:
MULTI1=MUX(SELEZ1,SELEZ2,SELEZ3),(VARIA1,VARIA2,VARIA3)
Il formato è il seguente:
dove:
∙ posizione è la posizione nella tabella dove si trova il valore cercato
∙ tavolo è il nome della tabella che contiene il valore da cercare
∙ Il primo e l'ultimo indice indicano l'intervallo di ricerca. Per cercare nell'intera tabella, il primo indice = 1,
e l'ultimo indice = dimensione della tabella
∙ valore di ricerca il valore da cercare
∙ etichetta l'istruzione per il programma a cui saltare se il valore di ricerca non è
trovato
Le tabelle vettoriali create nel PLC possono essere visualizzate e modificate dall'utente seguendo i metodi
descritti nel capitolo 2.6 (Visualizzazione e Modifica delle tabelle PLC).
Esempio:
Per visualizzare un messaggio si utilizza il comando DISPL seguito dal numero di linea e dal messaggio
desiderato.
The message remains displayed until it is cancelled by the commandCLR,or when it is overwritten.
Per richiamare un messaggio durante il corso di un programma, deve essere usato il comando di visualizzazione. La sintassi
è:
dove:
messagemay be:
∙ una sequenza di caratteri delimitata da virgolette
∙ una variabile di stringa
∙ un'espressione che risulta in una stringa
Example:
STR
MESDI
MESSAG
...
PROG
MESSAG='CYCLE STOP DUE TO ANOMALIES IN' +MESDI+MKN$(NUM)
DISPL,1,MESSAG
Nell'esempio, il messaggio è definito dalla prima espressione, MESSAG, e visualizzato nella riga 1.
Se MESDI='MOVIMENTO DELL'ASSE N' e NUM=2; la frase che appare sulla riga 1 del display è:
Se il testo ASCII viene modificato in MESDI o viene sostituito un vettore come MESDI(n), lo stesso
le istruzioni potrebbero generare i seguenti messaggi:
CLR, linea
un intero tra 0 e 16
- un BYTE o WORD con un valore tra 0 e 16
- un'espressione che risulta in un BYTE o WORD con un valore compreso tra 0 e 16
Poiché i testi dei messaggi, come MESDI nell'esempio precedente, sono solitamente costanti, è meglio
dichiarali nella sezione di inizializzazione. In alternativa, il messaggio può essere definito all'interno del DISPL
istruzioni al momento dell'uso.
Esempio:
NOTA:
Nella terza parte di questo manuale (esempi di programma PLC), viene descritto un programma chiamato SCROLLIN (-
gestione di fino a 128 messaggi utilizzando lo scorrimento del display), che compatta automaticamente molti
messaggi sulle 16 linee disponibili, scorrendo tra tutti i messaggi disponibili fino a quello desiderato è
trovato.
A volte è più efficiente utilizzare un programma scritto nel linguaggio PLC per gestire la funzione di
un cambio di utensile o un cambio di pezzo che richiede sequenze complesse o movimenti degli assi.
La logica della macchina può attivare questi comandi desiderati accedendo al programma NC tramite il
"EDITCOM" (vedi il Manuale di Configurazione del Sistema):
dove:
S1200 A differenza del S3000, nel sistema S1200 non è possibile eseguire un sottoprogramma contenuto
all'interno di un programma e identificato da un'etichetta. I programmi che utilizzano le funzioni COM tuttavia
può contenere qualsiasi blocco eseguibile NC, inclusi salti, cicli di misura e PROGET2
geometria avanzata.
S1200 Il posizionamento errato dei parametri P1...P99 non è più possibile come avveniva con il S1200.
dove P0 = P(1)
I programmi chiamati byCOM possono utilizzare i parametri specifici P1..P99. Questi parametri sono
indipendenti dai parametri del programma della parte e sono direttamente accessibili dal PLC scrivendo ilP
variabili sugli elementi da P(1) a P(99).
Quando viene eseguito il comando aCOM, le funzioni del sistema di coordinate vengono automaticamente ripristinate (origine
spostamento, cicli fissi, traduzione rotativa, ...)
I valori FEED e SPEED possono essere salvati nei parametri P() (esempio: P(1)=F) e in seguito
ripristinato utilizzando l'istruzione inversa F=P(1).
È necessaria particolare attenzione nell'utilizzare l'istruzione COM per eseguire un dato programma solo una volta, altrimenti il
la possibilità di errore a causa di sotto-programmi annidati può verificarsi.
Le istruzioni COM da implementare durante l'esecuzione automatica del programma devono essere sincronizzate
con il programma e seguire le funzioni TorM alla fine di un blocco (vedi parte II - Elenco delle funzioni predefinite
registri e segnali). L'implementazione deve essere:
Vedi il paragrafo nella Parte II di questo manuale che descrive l'interfaccia di sistema (Acquisizione di sincrona
dati dal PLC all'NC).
A program started by an auxiliary function may contain functions which call other programs (but not
sono consentiti fino a 8 livelli annidati.
Quando tutti i programmi eseguiti da theCOM sono completati, il lampo sincrono STCOM viene impostato da
NC prima di tornare al prossimo blocco principale del programma (finché il segnale BURDY è alto).
Questo stroboscopio è simile a una funzione MorT di fine blocco per la sincronizzazione. Consente l'esecuzione di
altre istruzioni COM utilizzando i metodi descritti sopra.
La sintassi è la stessa di quella descritta all'inizio del capitolo, tuttavia, il programma non è
sincronizzato con il segnale BURDY.
Per eseguire questo tipo di istruzione COM, gli assi devono essere fissi. Per confermare questa condizione, un asse
Il segnale fermato può essere fornito dall'equazione:
Esempio:
Nell'esempio seguente, il programma PALLETS viene chiamato dal programma di logica della macchina utilizzando aCOM
istruzioni che seguono la funzione M21 e con BURDY alto, cioè in modalità sincronizzata:
...
SE("BURDY)ASINC
DHOLD=1;FHOLD=1
SE(STROM)CHIAMA GEFUM
BURDY=0
ASINC;$
...
FINE
...
GEFUM:$
SE(AUXM=21)COM,1,'PALLETS';RTS
RTS
I sottoprogrammi del programma COM eseguiti dal PLC vengono eseguiti in automatico (nessuna attesa per il
«inizia ciclo» tra un blocco e l’altro) anche se il NC sta eseguendo un programma di lavorazione in
semiautomatico.
Tuttavia, la variabile NCMD rimane coerente con lo stato di esecuzione del NC.
I blocchi di movimento eseguiti all'interno dei sottoprogrammi COM eseguiti dal PLC vengono sempre interpretati.
in millimetri, anche se il NC è stato impostato per lavorare con il sistema di misurazione in pollici.
Quando l'esecuzione del COM è completata, il sistema utilizzato prima dell'esecuzione del sottoprogramma è
ripristinato (pollici o millimetri).
L'esecuzione di un sottoprogramma COM segnala l'errore "E48: funzioni di apertura/chiusura mancanti" quando certe
le funzioni sono attive che alterano il sistema di coordinate (G846, G851, G68, G69, cicli fissi, fisso
supercicli,G751,G16,G748,G749).
Altre funzioni (G52, G51, G54, G55, G56, G57, G58, G59, G61, G76) sono, d'altra parte,
disabilitati temporaneamente quando il COM viene eseguito e ripristinati quando è completato.
Il PLC può richiedere l'esecuzione di un sottoprogramma COM anche in modo asincrono rispetto al programma
essere giustiziato.
Questa funzione può, ad esempio, essere utilizzata per gestire una sequenza di cambio utensile in caso di scadenza della vita dell'utensile.
Whenever the PLC wants to run the asynchronous COM, it must set the bitRCOM; after this request,
il NC termina i blocchi di programma precalcolati (max. 256), poi si imposta in modalità sincrona
(accompagnato dal segnaleBURDY) lo stroboscopioSTRCOM.
Il PLC deve decodificare questo lampeggio e poi eseguire l'istruzione COM, ...che in questo modo è
sincronizzato con il programma principale.
RCOM viene azzerato immediatamente dopo essere stato acquisito dalla NC.
Nel caso dei gruppi di assi, ci sono i byte RCOM_ e STRCO_ in cui ogni bit corrisponde a
un gruppo assiale.
Name Dimensione
Direzione Descrizione Sincrona
RCOM 1 PLCÞNC no Richiesta di attivare un COM asincrono.
PARTE II
INTERFACCIA DI SISTEMA
INTRODUZIONE
Le informazioni trovate in questa sezione riguardano le variabili di interscambio e i segnali utilizzati tra
Sezione PLC (Controllore Logico Programmabile) e sezione NC (Controllo Numerico) di S3000
controlli. Queste informazioni sono valide per i seguenti moduli:
∙ Il modulo Standard, che si occupa della gestione dei movimenti e dei vari
modalità operative e visualizzazioni dello schermo
All'inizio di ciascuna operazione, sia dei moduli standard che di quelli dedicati, i vari
I registri, le variabili, i segnali e la loro interazione sono descritti. Una tabella segue ogni descrizione che
summarizes the signals described, along with their unique characteristics (see below). In turn, these
Le tabelle si trovano nella Parte 4 di questa sezione come riferimento utile da utilizzare durante lo sviluppo dell'applicazione.
Per ciascuna area tematica, le tabelle indicano le seguenti caratteristiche per ciascun registro, variabile o segnale:
∙ Il nome mnemonico
Il carattere() dopo il nome di un registro indica che c'è un vettore a più elementi nel specificato
formato (ad esempio, UTNUM(), mentre MOVCN è un registro singolo).
Ogni volta che il simbolo (1..n) appare dopo un elemento elencato, il registro o il vettore devono essere
interpretato analizzando individualmente gli elementi da (1 a n). Per determinare un singolo registro
di chi sono descritti i bit, è necessario tenere a mente che:
∙ Quando si descrivono i singoli bit di registro, queste descrizioni sono generalmente precedute da
descrizione del registro stesso, che sarà indicato senza parentesi.
Esempio:
UTNUM() 16 NCó PLC no Codice dell'utensile nella tabella (1 ...UTENRI), dove UTENRI rappresenta
il numero di righe nella tabella degli strumenti.
UTNUM(1) 16NCó PLC no (primo elemento del vettore di parole) il codice dello strumento presente nella riga 1
del tavolo degli strumenti.
UTNUM(8) 16 NCó PLC no (ottavo elemento del vettore di parole) il codice dello strumento presente in
linea 8 della tabella degli strumenti.
Nota: Per una leggibilità ottimale, le intestazioni delle colonne sopra indicate non sono riprodotte sopra le tabelle
mostrata attraverso questo testo. Pertanto, si prega di notare che le informazioni sono costantemente
elencati secondo le intestazioni delle colonne nella tabella sopra.
1.1. STATO NC
Il sistema di controllo numerico segnala il suo stato al PLC utilizzando due segnali NCMD per il funzionamento
stato e segnale di strobe del cambio stato STBMDas.
La decodifica delle funzioni ausiliarie è gestita solo nella SEZIONE LENTA del PLC.
Poiché le funzioni ausiliarie possono essere scritte all'inizio e alla fine del blocco del programma (vedi la tabella
alla fine del manuale) è importante assicurarsi che i segnali stroboscopici siano decodificati correttamente
sequenza.
Al contrario, le funzioni preparatorie GandF, disponibili sui registri AUXG e FEED, non sono
trasmesso con il segnale BURDY e sono quindi completamente asincroni rispetto a
esecuzione dei blocchi. Un altro registro, CICFI, è anche disponibile e contiene l'esecuzione fissa
codice ciclo.
Le funzioni ausiliarie M, H sono selettive e possono operare solo su alcuni assi. Ad esempio, il
il formato di programmazione da decifrare sarà M11XYZ. In tali casi gli assi presenti nel blocco saranno
essere scritto nella variabile AXPGM. Il codice nell'esempio sarà 00000111B. Questa funzionalità non sarà
abilitato per quegli assi il cui movimento è stato richiesto in un blocco. Ad esempio, M11X100R sarà
scritto come AXPGM = 00000000B).
Example showing how new information is decoded and the BURDY signal is managed:
...
PROG
...
FINE
[sezione lenta
SE("BURDY) ASINC Se BURDY non è presente, salta all'
parte
DHOLD=1; FHOLD=1 [Fermata temporanea
SE(STROT) CHIAMA GEFUT [T gestione delle funzioni
SE(STROS) CHIAMARE GEFUS [S gestione delle funzioni
SE(STROH) CHIAMARE GEFUH [Gestione delle funzioni H]
SE(STROM) CHIAMA GEFUM [M gestione della funzione
SE(STCOM) ... [Tutti i COM terminati]
BURDY=0 [Nuove funzioni acquisite]
ASINC:$ Operazioni relative al salto
...
DHOLD=... Conferma di trattenimento o rilascio dei dati
FHOLD=...
FINE
...
FINE
[sezione routine]
GEFUM:$
SE(AUXM=3) ...; RTS
SE(AUXM =11) M11
...
RTS
M11:$
SE(AXPGM=0) SSA=00000111B; RTS; ALTRIMENTI SSA=AXPGM; RTS
...
Esempio:
N1 X100F1000
N2 X200F2000M7 [M7 eseguito immediatamente con l'asse X a 200 e un'invio di 1000 mm/min.
N3 X300
N4 X400M9 M9 eseguito immediatamente a X400 e alimentazione costante
N5 [X450
BURDY 1 NCó PLC sì Indica che il NC ha inviato nuovi dati sincroni per il
logica della macchina per decodificare.
Alla fine di un'esecuzione simulata del programma (premendo il tasto softkeySEARCH END), dopo un
RIATTIVA CICLO o SEQUENZA RICERCA ARCHIVIATA, un blocco contenente l'ultimo S incontrato in
la simulazione viene inviata automaticamente al PLC.
RHOLD (Richiesta di Attesa). Questo segnale duplica il rosso tasto sulla tastiera NC. Temporaneamente
sospendendo qualsiasi movimento fermando il programma in corso, senza influire su
movimenti su manuale. In risposta, quando gli assi sono fermi il segnale HOLD A (Mantieni
Acquisito) viene inviato dal NC per segnalare la presenza dello stato HOLD. Quando l'HOLD
la richiesta è rilasciata l'esecuzione del programma non verrà riavviata fino a quando non verrà dato il comando di avvio del ciclo
CISTI (Inizia Ciclo). Il segnale PLC che duplica il verde tasto sulla tastiera NC in ordine
per fornire un ciclo di controllo START.
SFKGRD(Guard): questa variabile è impostata (in codice binario 11111111B, in esadecimale 0FFH) spingendo il
chiave di guardia (sul lato sinistro del tasto barra spaziatrice) ed è ripristinato (00000000B, 00H) rilasciando
la chiave.
SFKCNS(1) Segnale di impulso che registra la pressione del tasto verde sulla tastiera NC.
SFKCNS(2) Segnale a impulsi che registra la pressione del tasto rosso sulla tastiera NC.
SFKCNS(3) Segnale a impulsi che registra la pressione del tasto giallo sulla tastiera NC.
CYON (Cicla On). Il segnale fornito dal NC al PLC per informarlo che l'esecuzione di un
il blocco è in corso.
REME (Richiesta di Emergenza). Questo segnale consente al PLC di effettuare una richiesta di emergenza esterna.
a cui il NC risponde impostando il segnale EMEA (Riconoscere) per indicare il
presence of the emergency state.
In questo stato gli assi controllati sono istantaneamente disabilitati e i comandi di velocità
forzato a 0 volt. Ogni programma o attività di movimento in corso viene annullata e il NC
ritorna allo stato di lettura delle coordinate (NCMD=1), mostrando questo messaggio su
schermo video.
Il segnale EMEA viene attivato anche in seguito a allarmi NC interni e allarmi associati a
trasduttori e servocomandi.
Per uscire da questo stato deve essere rimossa la causa dell'emergenza e il gialloBREAK
tasto di controllo premuto.
trasmettere un ordine di BREAK (reset) derivato dalla pressione del tasto sulla tastiera o come
una risposta alla richiesta RBRK, in modo che il PLC possa annullare la propria attività (ad esempio per
ferma il mandrino).
S1200 Nel sistema S1200 un Break genera la funzione M30 (fine programma) e M30
genera un'interruzione, questo non si verifica più nel sistema S3045.
DHOLD 1 NCï PLC no Interruzione temporanea dell'esecuzione del programma a partire dal primo
blocco successivo che contiene un punto di arresto nel continuo
movimento (tipicamente una funzione ausiliaria), senza interruzione
dell'attività in corso.
FEMMINILE 1 NCï PLC no Fermata temporanea dell'alimentazione.
RHOLD 1 NCï PLC no Richiesta di HOLD esterna. Arresto temporaneo dei movimenti programmati
e blocchi in esecuzione.
HOLDA 1 NCð PLC no Assi in stato di attesa.
CISTI 1 NCï PLC n° Richiesta di avvio ciclo esterno.
CYON 1 NCð PLC no Ciclo in esecuzione.
REME 1 NCï PLC no Richiesta di EMERGENZA esterna.
EMEA 1 NC ð PLC no NC in stato di allerta per emergenza o richiesta di emergenza esterna.
RBRK 1 NCó PLC no Richiesta di INTERRUZIONE esterna. Interruzione del programma o blocco in
esecuzione. Annulla stato di emergenza.
BRKA 1 NCð PLC no Comando per INTERROMPERE dal PLC.
SEGNALE AZIONE NC
Interruzione del programma Fermati Fermati Fermare manuale Costretto
successivo programmato movimento fermata manuale
blocchi movimento
DHOLD sì
(sul blocco successivo
commanding movment)
FHOLD sì sì
RHOLDo o tieni sì sì
no!
RBRKor tiene sì sì sì
REME sì sì sì sì sì
∙ Per i segnali FHOLD, DHOLD, HOLDA ci sono variabili di condizione che possono essere utilizzate nel
tabelle di configurazione dello schermo che consentono ai segnali di notificare immediatamente all'utente lo stato del
segnali descritti sopra (vedi le rispettive descrizioni nel Manuale del Sistema di Configurazione).
∙ Le tabelle di visualizzazione video predefinite fornite con il NC implementano quanto segue:
FHOLD= 1 oppure DHOLD=1 oppure RDMOV a differenza di MOVCN o M6PGM=1 che lampeggia le lettere in
reverseMAPR(macchina pronta); nell'AREA DI MANUTENZIONE dello schermo video, oltre a
the above, the letters appear in reverse separately for each variable.
HOLDA= 1 fa apparire la parola HOLDto al contrario.
EMEA= 1 provoca l'apparizione del softkeyR.Q. STATUSto nel menu principale ed elimina il
altri tasti di movimento morbidi.
In caso di interruzione della comunicazione o quando i tempi sono troppo lunghi nello scambio tra
La scheda PC e la scheda MASTER, il NC entra in stato di emergenza e il messaggio seguente
appare sullo schermo: "E32102: M.T. spento a causa dell'interruzione della comunicazione con il PC".
La segnalazione dell'allerta implica la segnalazione dello stato di emergenza (EMEA=1) con conseguente disabilitazione
degli assi e della sospensione del programma.
Se non in una condizione di errore, l'allarme può essere rimosso mediante un comando BREAK.
Non è necessario alcun cambiamento per recuperare le compensazioni degli strumenti poiché sono programmate con T
funzioni. "Attesa di avvio" è generato automaticamente (con il messaggio che appare in carattere leggero)
per l'operatore); le origini sono attivate separatamente con le funzioni di attivazione.
Il codice O0 consente il passaggio all'origine assoluta. O-1 ripristina l'ultimo origine presente prima
passando all'origine assoluta.
La funzione T0 annulla la lunghezza di correzione attiva.
CodeTprogrammato è singolarmente e passato al PLC sul registro TOOL con il segnale di impulso STROT.
The tool compensation code is charged in theOFSTregister and activated by the synchronous strobe
INTOF (vedi capitolo 2.3. Modulo di gestione del cambio utensile).
Quando l'origine assoluta deve essere attivata, in alternanza con O0, il bypass dell'origine sincrona.
signalBYORG può essere impostato; rimane su questa impostazione fino a quando il bypass non viene ripristinato (in modalità sincrona).
Il NC informa il PLC dello stato di origine assoluta presente con il segnale ABSOR.
Entrambi INTOF e INORG vengono resettati dalla NC quando acquisiti.
Anche se in origine assoluta è possibile attivare una compensazione della lunghezza programmando 0-1.
il sistema tornerà all'ultima origine attiva prima di O0, ma con la compensazione attivata.
Il registro MOVCN è fornito dalla NC con la configurazione degli assi e deve essere abilitato per
il movimento, tramite il PLC prima di:
∙ Un blocco programmato o una funzione geometrica specifica (rototraslazione, TCM)
∙ Una richiesta di movimento in JOG o l'assegnazione di una ruota manuale in modalità manuale
∙ Un movimento dell'asse per il ciclo domestico
∙ La richiesta del PLC affinché l'asse rimanga costantemente attivo
La conferma degli assi abilitati e sbloccati e pronti a muoversi deve essere fornita in risposta
sul registroRDMOV.
Durante il periodo in cui i registri MOVCN e RDMOV sono diversi, cioè, nell'attivazione/disattivazione dell'asse
Fase, il NC attende questa conferma prima di iniziare un movimento o passare a un successivo.
blocco. Non è quindi necessario creare uno stato di attesa utilizzando altri segnali.
Il loop di posizione per ciascun asse è chiuso quando è presente un MOVCN o RDMOV associato.
Evita l'attivazione RDMOV che non corrisponde alle richieste MOVCN.
Esempio:
INP
XSBLOC Asse X sbloccato
FUORI
ABILX [abilita l'asse X
SFREX Controllo di rilascio dell'asse X
...
PROG
SFREX=MOVCN(1)
RDMOV(1)=XSBLOC
ABILX-MOVCN(1)~RDMOV(1)
..
MOVCN
RDMOV
ABILX
SFREX
XSBLOC
Velocità
Tempo
SSA 8 NCï PLC no Assi che devono sempre essere attivi (1..8).
S1200 Nel sistema S1200 questa operazione è stata implementata internamente, ma operava rigidamente da
le funzioni (M45 e M46).
Impostando il bit corrispondente all'asse sul registro DISRQ, è possibile disabilitare completamente il
operazione del trasduttore ogni volta che un trasduttore deve essere fisicamente disconnesso per poter
rimuovere l'unità meccanica a cui è collegata, o per passare tra più assi.
Questa operazione porta al rilascio interno implicito dell'asse in questione.
Il NC accetta e esegue la configurazione richiesta in modalità asincrona.
S1200 A differenza del sistema S1200, i JOG sono assolutamente necessari, anche durante la MEMORIA
CERCARE e il CICLO DI RIPRISTINO, per abilitare gli assi (NCMD=8) nel ripristino a
valore predefinito modalità; tuttavia in questo stato non devono essere disattivate. (vedi Utilizzo e
Manuale di Programmazione).
La scelta degli assi JOG è determinata impostando il corrispondente bit sull'asse nel registro.
MOVMA. I registri JOGP e JOGM avviano il movimento e determinano la direzione.
L'asse è abilitato e preso sotto controllo speciale, se non esiste già quando il
Il MOVMA corrispondente è fornito.
La velocità è regolata, individualmente per ciascun asse, attraverso il relativo registerPOMO(n), con un valore
tra 0 e 1 (0-100% della velocità rapida).
Riepilogo dei Registri e dei Segnali Coinvolti
L'associazione tra la manopola e l'asse da muovere deve essere effettuata tramite il PLC
programma scrivendo il numero dell'asse da muovere in registerHWL(n) corrispondente a
manopola appropriata.
Esempio:
HWL(1)=5 associa la manovella 1 all'asse 5
La risoluzione della manopola può essere selezionata scrivendo il numero corrispondente sulla variabile STEP.
scelto tra i 8 valori indicati nella configurazione. Di conseguenza, il valore di risoluzione non necessita di
da scrivere in mm/rivoluzione.
Gli assi a cui è assegnata la manopola sono automaticamente abilitati in modalità manuale.
Il movimento manuale in JOG (selezionato con MOVMA) ha priorità sul controllo dato da
manovella
Sommario dei Registri e dei Segnali Coinvolti
HWL() 8 NCï PLC no Uno per volantino (1..3) per indicare il numero dell'asse da
essere controllato.
PASSO 8 NCï PLC no Selezione della risoluzione della manopola tra i 8 valori definiti
nei parametri di configurazione.
Nei dati di configurazione è necessario specificare se è presente o meno un microswitch domestico. Questo
information is used by the NC to differentiate special cases such as the use of a resolver connected
1:1 con il motore, o quando il trasduttore utilizzato è assoluto e non richiede alcun PLC aggiuntivo
gestione.
Per i trasduttori assoluti, o quelli utilizzati come tali (vedi il caso precedente) MIZEA è sempre presente
a meno che non ci siano errori nel sistema di misurazione.
È importante ricordare che i LIMITI DEL SOFTWARE sono attivi solo dopo che gli assi sono stati
a casa.
La priorità di selezione del tipo di movimento dell'asse in JOG (manuale e di ritorno a origine) è la seguente:
Una fase:
∙ Dopo aver impostato il bit corrispondente all'asse nel registro MICZE, l'asse è abilitato e
prendere il controllo (se non già fatto).
∙ Con il registerJOGPorJOGM viene fornito il controllo del movimento che deve poi essere
mantenuto fino alla fine del ciclo (cioè, quando registerMIZEA è impostato).
∙ La velocità è regolata come nel JOG manuale tramite il registerPOMO(n), associato a
asse. Il valore è compreso tra 0 e 1 (0-100% riferito alla velocità rapida).
∙ Quando viene raggiunto il microswitch di home (indicato da registerMIZER), l'asse viene decelerato.
a una fermata.
Fase B:
∙ La direzione di movimento viene automaticamente invertita e la velocità è ridotta a 1/8 dell'attuale
velocità.
∙ Dopo essere uscito dall'interruttore microscopico domestico continuando nella stessa direzione, il trasduttore
è azzerato quando viene incontrato il primo impulso del marcatore. La coordinata assoluta dell'asse è data
the value of “machine 0 position” defined in the configuration data (see specific documentation).
Fase C:
∙ Il ciclo continua automaticamente, posizionando l'asse nella posizione specificata nel
configurazione dal parametro "macchina zero", con la stessa velocità con cui MIZER è
incontrato.
∙ Infine, il segnale di riferimento dell'asse è fornito nel registro MIZEA con il bit relativo all'asse.
Se JOG viene rilasciato durante il ciclo, l'asse si ferma e le seguenti situazioni saranno presenti:
JOG rilasciato durante la fase "A" prima di essere Se il trasduttore era già stato azzerato. Il
assunto da MIZER: il valore del precedente MIZEA ha la precedenza.
JOG rilasciato durante la fase "A" dopo che MIZER MIZEA non è stato ripristinato.
occupato ma prima che lo zero elettrico sia
incontrato.
JOG rilasciato nella fase "C" durante il posizionamento a MIZEA è segnalato nella misura in cui il trasduttore ha
macchina zero. è già stato azzerato elettricamente anche se il
l'asse non è stato posizionato sullo zero macchina.
Se il ciclo inizia con l'interruttore di casa già premuto, la sequenza inizia dalla fase B.
In ogni caso, il ciclo è sempre interrotto quando il registro MICZE viene rilasciato.
Se si desidera ripetere il ciclo di ricerca dopo aver terminato quello precedente, è sufficiente
ripetere la sequenza di controlli descritta in precedenza. Il segnale MIZEA viene nuovamente azzerato e il
la sequenza inizia di nuovo.
Trasduttore
Zero
MIZER
Velocità
A
P2 P1
Posizione
B
A B C
Micze
Correre
Miserabile
Movcn
Trasduttore
Zero
Mizea
Velocità
V1
P1 P2
V2
Tempo
-V1
Una fase:
∙ Dopo aver impostato il bit corrispondente all'asse nel registro MARK, l'asse è abilitato e
preso sotto controllo (se non già).
∙ Il movimento è mantenuto fino alla fine del ciclo dai registri JOGPorJOGM (quando
registerMIZEA è impostato).
∙ La velocità viene regolata come JOG manuale tramite il registerPOMO(n) associato all'asse.
Il valore è compreso tra 0 e 1 (0-100% riferito alla velocità rapida).
∙ Il trasduttore è azzerato sul primo zero elettrico incontrato e l'asse è decelerato a un
stop The position of the axis is set by the value of “machine 0 ” defined in the configuration data
(vedi documentazione specifica).
Fase B:
∙ Il ciclo continua posizionando automaticamente l'asse nel punto specificato nella configurazione da
la posizione di fermo di ombreggiatura”, alla stessa velocità con cui è stato azzerato elettricamente
incontrato.
∙ Finalmente il segnale di homing dell'asse è fornito nel registro MIZEA con il bit relativo a quell'asse.
Se JOG viene rilasciato durante il ciclo, l'asse viene comunque fermato e le seguenti situazioni
sarebbe presente:
JOG released before reaching the electrical zero MIZEA non è resettato.
del trasduttore:
JOG è stato rilasciato nella fase 'B' durante il posizionamento a MIZEA è segnalato in quanto il trasduttore ha
macchina zero. è già stato azzerato elettricamente anche se il
l'asse non è stato posizionato su zero macchina.
In ogni caso, il ciclo è sempre interrotto quando il registro MARK viene rilasciato.
Se è necessario ripetere il ciclo domestico dopo aver interrotto quello precedente. Ripeti la sequenza
dei controlli descritti in precedenza. Il segnale MIZEA viene nuovamente azzerato e la sequenza inizia
nuovamente.
Trasduttore
Zero
Velocità
A
P1
Position
A B
Marco
Correre
Movcn
Trasduttore
Zero
Mizea
Velocità
V1
P1
Tempo
-V1
Per posizionare la macchina utilizzando scale ottiche, la sequenza di home con microswitch (home
deve essere utilizzato, come descritto sopra.
L'interruttore microswitch domestico (MIZER()), posizionato in prossimità della posizione del marcatore, viene utilizzato per invertire il
direzione ciclo casa in modalità automatica senza ulteriori azioni da parte del PLC.
Se durante il ciclo di casa l'asse si muove una distanza maggiore rispetto al massimo specificato, si verifica un errore.
signaledEMEA= 1 a message is displayed. This situation may be caused if incorrect configuration
i parametri sono presenti.
MICZE 8 NCï PLC no Asse selezionato per il ritorno a casa con interruttore di fine corsa (1..8).
SEGNO 8 NCï PLC no Asse selezionato per l'azionamento senza interruttore di fine corsa (1..8).
Con l'esecuzione interrotta dopo un comando HOLD (segnale HOLDA=1), è possibile senza interrompere
il programma, per abilitare il movimento degli assi in JOG o a manovella, tramite il tasto softkey.
In questo stato il registerNCMD ha un valore di 9 se questa funzione è richiesta non è necessario inibire
i controlli JOG.
Per riprendere l'esecuzione del programma è necessario utilizzare il tasto soft per selezionare il RITORNA A
STATO del PROFILO (NCMD= 8) e riposizionare gli assi sul profilo in esecuzione utilizzando il JOG
FUNZIONE (solo i controlli nella direzione verso il pezzo sono abilitati automaticamente).
I cicli per il movimento manuale e il riferimento possono essere eseguiti durante l'esecuzione di una
programma, a condizione che il bit dell'asse nel registro sincrono FOMAN sia impostato (forzato) per manuale
modalità.
Questo stato provoca il rilascio dell'asse.
Il NC esegue la configurazione richiesta in modalità sincrona.
Riassunto dei registri e dei segnali coinvolti
Stato dell'asse
INTOL 8 NCð PLC no Asse (1..8) all'interno della "zona di posizione" definita nei parametri.
JOGIN 8 NCð PLC no Asse (1..8) in movimento seguendo un comando JOG (manuale o
riferimento).
RAPI 1 NCð PLC no I blocchi vengono eseguiti rapidamente.
MKSAX 8 NCð PLC no Segnale di impulso marker (zero elettrico) per encoder o ottici
scale per assi (1..8). Impostato dal NC una volta ricevuto da
trasduttore e ripristino tramite il campionamento successivo del sistema; per
questa ragione il polso è visibile solo utilizzando l'analizzatore grafico
.
AIRGP() 64NCð PLC no Livello del segnale da trasduttori analogici (INDUCTOSYN o
RISOLVERE); nel caso di un CODIFICATORE è il numero di
pulsazioni perse determinate dalla funzione 'passo di recupero' per il
assi (1..8).
SPMANO() 64 NCð PLC no Distanza per rivoluzione del mozzo (1..3) secondo il
La distanza accumulata viene azzerata dalla risoluzione selezionata.
cambiamenti dello stato NC e dello stato dell'asse (SSA, DSERV, ...)
I valori in millimetri, per ciascun asse macchina rispettivamente, dell'offset dell'origine ottenuto con
i volanti quando la funzione G851 è attiva sono caricati sul vettore di 8 elementi OFHWL().
L'entità del compenso può essere visualizzata nei pannelli video NC utilizzando le variabili di visualizzazione
disponibile nel PLC.
Nome Dimensione
Direzione Description
OFHWL() 64 NC=>PLC Offset (1..8) dell'origine del pezzo attraverso G851
Il PLC ha la capacità di scrivere un valore direttamente sui registri SHIFT (in millimetri) per compensare
dinamicamente per le variazioni nella posizione dell'asse causate da deformazioni termiche o meccaniche.
Il compenso agirà in due modalità diverse a seconda che l'asse sia bloccato o meno:
asse interconnesso la posizione visualizzata non varia, ma fisicamente l'asse è spostato da
l'importo indicato da SHIFT.
asse non interbloccato: l'asse può non muoversi da solo, ma il valore della posizione varia per il
importo indicato da SHIFT.
OFSDA() 64 NCï PLC no Offset da applicare alla tensione di riferimento sugli assi controllati
(1..8) nell'intervallo ±1 per una tensione di riferimento di ±10 Volt.
Per applicazioni speciali, un offset di posizione supplementare può essere attivato per le origini del pezzo.
attraverso il PLC. L'offset di origine rimane attivo anche dopo che il Controllo Numerico è stato spento
off, thus guaranteeing position in cases of absolute transducers.
Il valore dell'offset, espresso in millimetri o gradi, deve essere caricato nel vettore a 8 elementi.
PLORG()(uno per ciascun asse rispettivamente). Gli offset sono attivati con una funzione M di fine blocco
che imposta il bitSTORG_(1) in modo sincrono con il segnale BURDY. Gli altri bit del byte
STORG_are riservati per altri gruppi di assi.
In modo simile, tutti gli offset aggiuntivi vengono disattivati impostando STORG_ a 0 in modo sincrono.
È importante ricordare che l'attivazione e la disattivazione degli offset avvengono solo dopo una
trasizione del bitSTORG_(1) da zero a uno o da uno a zero rispettivamente. Ad esempio, se il
il sistema inizia con il bit a zero, solo l'innalzamento a uno è attivo e viceversa. Pertanto, per poter
per mantenere la coerenza con lo stato di archiviazione interno del controllo degli assi, si raccomanda che tu
crea un bit di supporto nella RAM statica (SRAM) per memorizzare lo statoSTORG_con il NC spento e reinizializzare
è acceso.
Tipicamente questa caratteristica è utilizzata su macchine con testa rotativa e con un secondo mandrino opposto;
gli offset aggiuntivi rappresentano le differenze di posizione tra il «naso» del primo mandrino e il
«secondo» fuso.
In questo caso, l'attivazione di STORG viene prodotta su una funzione ausiliaria M di fine blocco all'interno di un
Programma COM utilizzato per lo scambio di mandrini.
In un'origine assoluta, gli offset dell'origine sono disabilitati.
Name Dimensione
Direzione Description
STORG_ 8 PLCÞNC Registrazione dell'attivazione degli offset di origine aggiuntivi.
STORG_(1) = 1 attiva gli offset (per tutti gli assi)
STORG_(1) = 0 disabilita gli offset
PLORG() 8 PLCÞNC Registri contenenti gli offset di origine aggiuntivi
Il PLC può disabilitare questo rilevamento degli errori impostando il bit 1 della variabile CWDTF.
Lo stato della sonda di misurazione (ACCESO/SPENTO) può essere letto attraverso registerSWDTF (questo registro è per
essere utilizzati principalmente per scopi diagnostici).
Nome Dimensione
Direzione Descrizione
SWDTF 8 PLC=>NC Stato della sonda ON/OFF
SWDTF(2) = 0 sonda a riposo
= 1 sonda deflessa
Il PLC ha la capacità di disabilitare i limiti software alzando il bit correlato agli assi su
registersDFCOP(positive limit disabled)andDFCOM(negative limit disabled).
By setting the variableCWFCSit is possible to disable the detection prior to the software limit
movimento e, di conseguenza, la segnalazione dell'errore «E93: ASSI SU LIMITE»; limitazione della corsa del
gli assi a causa dei limiti del software rimangono, tuttavia, invariati.
Queste caratteristiche devono essere utilizzate quando il PLC, per esigenze di installazione, agisce anche con gli assi.
spostando, sulle variabili relative ai limiti del software, ad esempio disattivando i limiti con
DFCOP, DFCOMor modificando la coppia di limiti attivi - variabile FCA).
Nell'esecuzione del programma NC o negli stati a blocco singolo, l'impostazione di CWFCS deve essere effettuata in modo sincrono
con il segnale BURDY.
Esempio :
Considera una configurazione con X,Y,Z dove i limiti secondari devono essere attivati sull'asse Z:
o:
Se arrayFCA non è utilizzato, i limiti primari su tutti gli assi controllati sono attivi per impostazione predefinita.
FCA( ) 8 NC ï PLC no Attivazione dell'array dei limiti secondari per gli assi NC (1..8)
∙Imposta il registro MICZE per l'asse MASTER e poi dai il comando JOG nella direzione richiesta.
valore di velocità su POMO, come per un asse normale.
L'asse SLAVE segue l'asse MASTER mantenendo il offset letto durante l'avvio fino a quando entrambi gli assi
raggiungere il micro zero (segnalato da MIZER).
Le coppie di assi invertiscono direzione a una velocità ridotta di 1/8 per rilasciare zero micro.
OFSGY 8 NC ï PLC no Abilitare l'asse del gantry con offset nominale (1..8) Deve essere impostato il bit
corrispondente al numero dell'asse SLAVE
AUXPF() 64NCð PLC ye Posizioni programmate per assi mossi dal PLC (1..6).
STRPF 8 NCð PLC ye Strobe quando nuove informazioni sono presenti su AUXPF() (1..6).
Ingressi analogici
La sintassi è la seguente:
Numero della scheda ANImaster (numero slave numero di ingresso)
dove:
numero della scheda madre indica quale SLOT della TAVOLA avrà l'interfaccia master RIO
hanno, come nel caso dell'I/O locale dove si riferisce alla scheda I/OMIX. Se il
la scheda master con RIO integrato è utilizzata, il numero della scheda sarà 17.
slave number dichiara l'indirizzo impostato con i microswitch sul modulo remoto.
Example:
ANI17(6002) indica l'ingresso analogico n. 2 del modulo remoto SLAVE con indirizzo 60 collegato a
l'interfaccia RIO MASTER in posizione 17.
Uscite analogiche
Le uscite analogiche scritte dal PLC con un valore numerico in formato 64 bit che varia tra -1 e 1
come percentuale del valore inferiore della scala produce una tensione di uscita che varia tra -10V e
+10V.
Non sono necessari parametri di configurazione nel NC.
L'accesso è ottenuto nel PLC con una variabile VELO... con la seguente struttura:
Numero della scheda VELOmaster (numero di uscita slave)
dove:
numero della scheda master indica quale SLOT della TAVOLA la scheda con interfaccia master RIO occuperà
ho, come nel caso dell'I/O locale dove si riferisce alla scheda I/OMIX.
numero di schiavo dichiara l'indirizzo impostato con i microswitch sul modulo remoto.
Example:
VELO17(6002) indica l'uscita analogica n. 2 del modulo remoto SLAVE con indirizzo 60 connesso
all'interfaccia RIO MASTER in posizione 17.
Nessun parametro di configurazione è necessario nel NC. Nel programma PLC, si ottiene accesso con un
variabile TEMP... della seguente struttura:
numero della scheda madre indica quale SLOT DELLA TABELLA la scheda con interfaccia master RIO occuperà
hanno, come nel caso dell'I/O locale dove si riferisce alla scheda I/OMIX.
numero di schiavo dichiara l'indirizzo impostato con i microswitch sul modulo remoto.
Esempio:
TEMP17(6002) indica la sonda di input n. 2 del modulo remoto SLAVE con indirizzo 60 connesso a
l'interfaccia RIO MASTER in posizione 17.
ANIx() 64 NCð PLC no Letture di input analogico dalla scheda I/OMIX specificata e il suo
espansioni. Il valore letto varia da 0 a 1 come un
percentuale del valore a gamma completa.
VELOx() 64 NCï PLC no Uscita analogica dalla scheda I/OMIX specificata e il suo
espansioni. Questi output possono sempre essere letti, ma scritti solo
se non vengono utilizzati dal NC per gli assi controllati o da
i moduli interni per la gestione dei mandrini o
assi indipendenti. Il contenuto può variare da -1 a 1 come un
percentuale del valore dell'intera gamma (+/- 10 V).
TEMPx() 64NCð PLC no Degrees of temperature read by the thermal probes (if the
l'interfaccia è presente) associata alla scheda specificata.
dove:
il formato può essere 1, 8, 16, 32, rispettivamente identificando BIT, BYTE, WORD, LONG.
Il parametro può essere il risultato di un'espressione, un parametro Pxx o un numero in modalità esplicita.
Il riepilogo qui sotto mostra il formato e la direzione delle informazioni nelle variabili; dove i dati
trasmette dal programma di parte al PLC un segnale lampeggiante che un nuovo valore è presente.
A sua volta, il PLC può leggere o scrivere direttamente ai parametri Pxx (da P1 a P99) del NC con il
array variablesPNC()(fromPNC(1)toPNC(99)).
Per i programmi eseguiti con istruzioni COM esiste un insieme di parametri nel PLC da P(1) a P(99)
questi corrispondono ai Pxx utilizzati nel programma in esecuzione.
Questi hanno lo stesso nome, ma non hanno nulla a che fare con i parametri Pxx del programma parte
eseguito direttamente dall'operatore.
Un insieme di variabili predefinite consente al PLC di visualizzare i dati nell'area dello schermo NC (vedi il
Manuale di Configurazione del Sistema).
FINESTRA()64 NCï PLC no Registri per le aree di visualizzazione video NC (1..16) nel lungo flottante
o formati a doppio punto. La visualizzazione di queste aree è abilitata
by default values in the video tables.
ASCW() 8 NCï PLC no Registri per la visualizzazione dei caratteri video NC nelle aree preimpostate
(1..16). Deve essere usato il codice carattere ASCII.
WNDINT() 16 NCï PLC no Registri per il display dei caratteri video NC nel preset
aree(1..16) in formato word.
WNDSTR() str NCï PLC no Stringhe di registrazione contenenti un massimo di 64 caratteri alfanumerici
caratteri per il display video NC nell'area preimpostata (1..16).
GIRMI 64NCï PLC no Registrati per la visualizzazione del valore della funzione S nel preimpostato
area del video NC.
Si deve ricordare che, come descritto riguardo al softkey, il PLC può cambiare il
menu softkey corrente utilizzando la variabile SFKMEN.
1= Italian
2= French
3= Tedesco
4= Inglese
5= Spagnolo
6= Portoghese
Per creare una nuova condizione nelle tabelle di configurazione video, l'arrayCNDVIS() di 64 elementi in parola.
Il formato (vedi Manuale di Configurazione del Sistema) è disponibile.
La variabile VISMC (sola lettura) contiene il numero del pannello video (VIS_MC) attualmente attivo.
I pannelli da VIS_MC_A a VIS_MC_F producono codici da 10 a 15 rispettivamente.
COPIA 8 NCó Nessun PLC Primo byte per comandi di copia remota
COPIA(3) 1 NCó PLC no Segnale di ciclo di copia attivo. Quando viene ripristinato dal PLC, significa che il
fine del ciclo. È importante terminare un ciclo di digitalizzazione con
azzerando questo bit (o con il tasto morbido appropriato se già
implementato nel NC) altrimenti gli ultimi punti digitalizzati saranno
non può essere memorizzato.
COPIA2 8 NCó PLC no Secondo byte per il controllo remoto della funzione di copia.
COPIA4 8 NCó PLC no Quarto byte per il controllo remoto delle funzioni di copia.
COPIA4(1) 1 NCï PLC no Interruzione temporanea dopo aver ristabilito il contatto con il modello.
COPIA4(2) Riservato
COPIA4(3) Riservato
COPIA4(4) Riservato
COPIA4(5) Riservato
COPIA4(6) Riservato
COPIA4(7) Riservato
COPIA4(8) Riservato
POCOP 64NCï PLC no Controllo del guadagno di copia manuale. Il valore può variare da 0 a 1
e moltiplica il guadagno del controllo nel copiare da 1 a 5,
variare la velocità degli assi con la deflessione della sonda.
La NC imposta il bit 8 del byte COPIA per segnalare l'esecuzione in corso di un ciclo di scansione in modalità manuale.
Se ci sono errori quando la sonda è installata, il sistema genera automaticamente segnali di errore su
il registro PBSTS passa allo stato di emergenza (EMEA=1).
Le variabili riassunte di seguito sono disponibili per valutare il tempo impiegato dal sistema per
eseguire varie operazioni:
ERSYS 16NCð PLC no Codice di errore di sistema letto sugli assi controllati, mandrini,
assi indipendenti, errori di runtime PLC, errori nell'automatico
modulo di cambio utensile
ERAXS 16 NCð PLC no Codice di errore di sistema letto sugli assi controllati (errore slave,
tolleranza esterna, errori del trasduttore, ecc.).
ERIOX 16NCð PLC no Codice errore letto sulle schede I/OMIX (guasto nel feedback dell'encoder,
errore di output digitale, ecc.)
ERINT 16 NCð PLC no Error code occurring during the interpolation calculations.
ERPLC 16NCð PLC no Codice di errore di runtime letto durante l'esecuzione del PLC
programma (divisione per 0, overflow, underflow, ecc.).
ERSPN 16 NCð PLC no Codice errore letto sugli spinotti (trasduttori, ecc.)
ERP2P 16 NCð PLC no Codice errore letto sugli assi indipendenti (trasduttori, ecc.)
ERCU 16 NCð PLC no Codice errore letto durante il cambio utensile o tabelle utensili incorrette, ecc.
ER2LN 16 NCð PLC no Codice di errore causato dal superamento del tempo di campionamento del sistema.
ERCPY 16 NCð PLC no Codice di errore letto durante un ciclo di copia o sensore della sonda a contatto.
FPERMK 8 NCó PLC no Disabilitazione della maschera che rileva errori nei calcoli in virgola mobile
(divisione per zero, overflow).
Con l'obiettivo di diagnosticare se il valore degli indici utilizzati per accedere ai singoli bit di
variabili semplici o gli elementi di un vettore rientrano nelle dimensioni limite delle variabili, il
le istruzioni seguenti possono essere aggiunte nel programma PLC:
_ENIDX = -1 per attivare la diagnosi
_ENIDX =0 per disattivarlo (predefinito)
Il controllo può essere attivato e disattivato molte volte nel programma PLC (solo in un programma)
sezione alla volta).
L'esecuzione del programma PLC è rallentata con questi controlli attivi.
Dove viene rilevata una situazione di errore, viene riportato un messaggio in chiaro e il PLC viene disabilitato.
Per accedere a questi parametri, è innanzitutto necessario selezionare l'asse NC desiderato, e poi fornire
il registro AXSTP con il numero dell'asse nei dati di configurazione, quindi il parametro sarà selezionato
con il registro HOWSTP così come il tipo (lettura o scrittura).
Per eseguire l'operazione, è necessario attivare il ACTSTPstrobe. Questo viene poi resettato dal
risposta dal NC.
Il valore del parametro selezionato deve essere scritto o letto nel registro VALSTP.
Le modifiche ai parametri sono permanentemente memorizzate nelle tabelle di configurazione solo utilizzando il
UPDATE FILES operation (HOWSTP= 0).
AXSTP 8 NCï PLC no Numero dell'asse i cui parametri devono essere modificati.
VALSTP 64NCó PLC no Valore attuale nei parametri di configurazione di sistema.
16 NCï PLC no Codice del parametro di configurazione per accedere tramite il PLC ( il
i parametri operano su una copia non statica in memoria); il nuovo
i valori vengono inseriti solo quando la velocità finale dell'asse = 0:
ACTSTP 1 NCó PLC no Avvia il segnale di richiesta operazione su HOWSTP. Ripristina tramite NC quando
l'operazione è terminata.
- per le variabili in formato bit è stato creato un byte in cui ogni bit corrisponde a un gruppo di assi;
- per le variabili con altri formati sono stati creati array di 8 elementi (uno per ciascun gruppo di assi).
Il nome delle nuove variabili si ottiene aggiungendo un "_" (trattino basso) dopo il nome originale.
A livello dell'interfaccia utente, il tasto sopra il tasto < Ritorna> può essere utilizzato per passare (se configurato) da
visualizzazione di un gruppo di assi all'altro.
Per la sincronizzazione e l'esecuzione di programmi su diversi gruppi di assi, nuovo programma parziale
sono state introdotte istruzioni.
Per ulteriori dettagli, vedere il Bollettino Tecnico relativo n. 4 del 1997.
La variabile GDAVIS comunica a quale gruppo di assi si riferisce l'attuale visualizzazione della console.
Queste informazioni sono utili, ad esempio, poiché è compito del PLC tenere aggiornato il display del
ultimo M programmato per ciascun gruppo di assi, a seconda di quale GDA è visualizzato sulla console dalla
utente.
Le funzioni sono:
∙ rampe di accelerazione/decelerazione
∙ regolazione della velocità basata sulla gamma e sul valore del potenziometro
∙ orientamento su una posizione programmabile in relazione allo zero assoluto basato su dichiarato
accelerazioni. (anche lo zero assoluto è soggetto a offset sui parametri di configurazione)
∙ tempistica per cambiare gamma
∙ sincronismo di più mandrini slave con un mandrino master
∙ limite sulle velocità fuori range
The registers for control are all asynchronous (not connected to program blocks orBURDY).
Ogni registro deve essere utilizzato con l'indice relativo all'albero a cui si riferisce (per registri di n bit
un singolo bit del registro è attivato).
Tutti i parametri relativi ai vari mandrini (velocità di intervallo, accelerazioni, tipi di trasduttori, soglie)
deve essere scritto nei dati di configurazione del sistema (vedi documenti relativi).
Comando SPPNDTiming.
I primi 4 bit di questo registro (uno per ogni mandrino) attivano il temporizzatore del mandrino in
relazione con i parametri della macchina.
I valori di configurazione per le quattro gamme di velocità sono di sola lettura nei registri indicati di seguito.
Sono comunemente usati per la determinazione dell'intervallo fisico da utilizzare durante un automatico
cambiamento.
SPPOS()(Posizione di orientamento).
Questo registro conterrà la posizione di orientamento del mandrino.
Orientamento unidirezionale
Per abilitare l'orientamento unidirezionale, il bit per il mandrino selezionato deve essere impostato in uno dei due
direzione [Link] ilSPPOS()quindi attiva l'orientamento impostando
SPORI.
La sincronizzazione SPSYN può essere ottenuta in qualsiasi momento. L'albero motore secondario regolerà la sua velocità
(anche da zero) come funzione della velocità del master e del rapporto di velocità (SPRTO)
mantenendo la sincronizzazione specificata con l'offset SPOFS. Questo funzionerà solo se la velocità
Il rapporto per la sincronizzazione è un intero.
Tutti i parametri relativi al mandrino schiavo da sincronizzare devono essere impostati quando il
il fuso schiavo non è in movimento. Se viene dato un comando (SPROT, SPORI, ...) a un sincronizzato
il mandrino schiavo si disaccoppia automaticamente.
SPOFS()(Offset di sincronizzazione).
Questi registri conterranno il offset di rotazione tra il mandrino master e lo slave
spindle (1 = 360 gradi) da mantenere mentre è sincronizzato. Il rapporto di sincronizzazione
SPRTO deve essere un numero intero.
Il comando dato da theN nei primi 4 bit (uno per ogni mandrino) per abilitare il mandrino
questo comando viene mantenuto automaticamente fino a quando il mandrino non viene fermato. Viene anche mantenuto
durante i cicli di rotazione, sincronismo e quando sono presenti comandi di orientamento o di temporizzazione.
Ulteriore protezione o eventuali ritardi devono essere attuati dal PLC.
Nota: la scrittura sul canale di riferimento analogico associato a un mandrino è possibile solo
seSPMOVis assente e seSPDISè attivo.
Con questo comando sui primi 4 bit di questo registro (uno per ogni mandrino) il PLC richiede
la disabilitazione immediata del mandrino (riferimento forzato a 0 V e il mandrino è
disattivato istantaneamente). Questo segnale viene utilizzato in caso di emergenza
Se è necessario ripetere il ciclo di riferimento del trasduttore, tutto ciò che è richiesto è resettare il pertinente
bit di fuso su SPMZA.
NUOVE VARIABILI
È stata aggiunta la variabile SPAGP per l'uso nei diagnosi, assume la seguente importanza
a seconda del tipo di trasduttore di mandrino utilizzato:
Con RESOLVER, rappresenta il livello del segnale analogico del trasduttore.
Con ENCODER, rappresenta il numero di impulsi persi e recuperati (con il parametro STEP
RECUPERO ATTIVO).
Affinché i cicli di orientamento funzionino correttamente, così come quelle funzioni che richiedono di sapere
la velocità attuale del mandrino deve sempre essere uguale a una rivoluzione del mandrino per ogni rivoluzione del trasduttore.
particolarmente sui torni.
Se il ciclo fisso inizia ma non procede, è necessario controllare che il trasduttore sia stato
riferito, cioè che SPMZA è impostato e che la velocità reale ha raggiunto il valore nominale (SPREG).
FHOLD, DHOLD o RHOLD vengono eseguiti solo alla fine dell'attuale ciclo fisso.
L'immissione del numero del mandrino = 0 nei parametri di configurazione fa sì che il NC avvii M3 e M4
funzioni che invertendo automaticamente il mandrino di rotazione all'inizio e alla fine del foro.
(1..4).
SPOAB otto NCï PLC no Orientamento usando valori assoluti del mandrino (1..4).
SPORP 8 NCï PLC no Orientazione positiva unidirezionale.
SPORM 8 NCï PLC no Orientamento negativo unidirezionale.
Per questo tipo di lettura dell'asse, i trasduttori e l'aggiornamento del riferimento vengono eseguiti ogni 10 msec o
di più, a seconda dei parametri di configurazione.
The parameters for these modules must be written in the configuration data just like any other axis
controllato dalla macchina. Tuttavia, parti di questi dati possono essere letti e riscritti tramite il PLC
registri.
I registri disponibili sono tutti asincroni con le stesse operazioni di quelle degli assi di controllo, cioè
non vincolati dai blocchi del programma o dal segnale BURDY.
Ogni registrazione deve essere utilizzata con l'indice dell'asse ausiliario a cui si riferisce.
MZAP2P 8 NCð PLC no Assi riferiti a zero del trasduttore poi riposizionati dopo l'allineamento
(1..8).
POTP2P() 64 NCï PLC no Potenziometro di regolazione della velocità per assi (1..8). Da 0 a 100
percentuale della velocità se in automatico, o dell'accelerazione, se in
manuale.
JGPP2P 8 NCï PLC no Comando JOG assi positivi (1..8).
JGMP2P 8 NCï PLC no Comando JOG assi negativi (1..8).
PFNP2P() 64 NCï PLC no Spostare automaticamente sugli assi della posizione programmata (1..8).
RUNP2P 8 NCï PLC no Comandi di posizionamento in automatico per gli assi, (1-8). Devono
essere impostato dal PLC per comandare il movimento verso il set
posizione; vengono ripristinati dal NC quando l'asse ha terminato
il movimento, entra nella soglia di posizione impostata in
dati di configurazione.
RHDP2P 8 NCï PLC no Richiesta HOLD, assi (1..8). Sospensione temporanea del movimento; il
l'operazione continua senza ulteriori comandi non appena
gli assi sono rilasciati.
HDAP2P 8 NCð PLC no Richiesta di HOLD, assi (1..8). Blocco temporaneo del movimento; il
l'operazione continua senza ulteriori comandi non appena
gli assi sono rilasciati.
RBKP2P 8 NCó PLC no Richiesta BREAK sui movimenti in automatico, assi (1..8).
RBKP2Pis ripristinato dalla NC quando acquisito. Gli assi sono
decelerato fino a fermarsi, e il RUNP2P è ripristinato. In caso di emergenza
stato (EMAP2P) viene utilizzato per annullare l'emergenza ma solo se
la richiesta è stata rimossa (REMP2P).
BKAP2P 8 NCó PLC no Gli assi non sono in movimento dopo il comando aRBKP2P (1..8); essi
può essere ripristinato dal PLC, ma questo non è vincolante.
REMP2P 8 NCð PLC no Richiesta di andare in stato di emergenza assi (1..8).
EMAP2P 8 NCð PLC no Assi in stato di emergenza. Entrando in questo stato, gli assi sono
disabilitato immediatamente senza una decelerazione controllata (1..8).
POAP2P() 64NCð PLC no Posizione assoluta letta dagli assi del trasduttore (1..8).
TCHP2P() 64NCð PLC no Velocità efficace (da trasduttore) assi (1..8).
SGLP2P 8 NCð PLC no Assi all'interno della tolleranza di posizionamento impostata nella configurazione (1..8).
MKSP2P 8 NCð PLC no Pulsazione di riferimento (zero elettrico) per gli assi (1.8) con encoder o
bilance ottiche.
FCPP2P 8 NCð PLC no Assi(1..8) dove i risultati dei valori effettivi sono maggiori di
limite di viaggio positivo impostato nella configurazione.
FCMP2P 8 NCð PLC no Assi(1..8) dove i risultati dei valori attuali sono maggiori di
limite di viaggio negativo impostato nella configurazione.
VATP2P() 64 NCð PLC no Velocità teorica (calcolata) assi (1..8). Se nella configurazione
Si dichiara che il convertitore D/A non è presente
Il riferimento in tensione non sarà inviato attraverso il canale di uscita,
ma la velocità in questo registro è sempre disponibile.
JINP2P 8 NCð PLC no Assi (1..8) in movimento dopo un comando aJOGP2P.
DIRP2P 8 NCð PLC no Direzione di movimento degli assi (1..8) (revelato dal riferimento analogico)
Il valore 1 significa velocità negativa.
I seguenti registri vengono inizializzati all'avvio con i valori nella tabella di configurazione, successivamente
il PLC può leggere e modificarli finché l'asse non è in movimento.
POOP2P() 64 PLCÞNC Posizione dell'asse indipendente (1..8) influenzata dallo spostamento dell'origine
SHIP2P().
Per eliminare la sezione a bassa velocità (ZLNP2P) il valore dovrebbe essere impostato a 0 nell'inizializzazione
parametri.
Il controllo è punto a punto. Il movimento degli assi è indipendente dagli altri assi e dalla velocità comandata.
dipende dalla distanza dal punto finale rispetto alle accelerazioni e ai limiti di velocità stabiliti nel
I parametri di configurazione quindi non ci sarà alcun errore seguente per gli assi controllati.
Per controllare la velocità dell'asse, è necessario confrontare la velocità reale VATP2P con la velocità effettiva.
TCHP2P.
Velocità
DECP2P
ACCP2P
FEDP2P DE2P2P
TOLP2P
VLNP2P
DEXP2P Tempo
ZLNP2P
Il tipo TC deve essere inserito nella configurazione NC e dopo la decodifica, la funzione aTorM6 sarà
attivato dal PLC.
∙ In cerca della SEQUENZA (caricare, scaricare, scambiare, dallo stoccaggio o dal pavimento) per il
strumento richiesto analizzando la situazione dello stoccaggio e del mandrino, tabella degli strumenti, configurazione del tipo di cambio
e richieste di carico/scarico esplicite.
Ogni SEQUENZA è quindi identificata da un numero, ad esempio sequenza 6 = cambio utensile tra
fuso e stoccaggio.
∙ Gestione della tavola degli attrezzi e individuazione delle posizioni di prelievo e restituzione degli attrezzi.
L'applicazione non deve necessariamente gestire tutte le possibilità di SEQUENZA, ma solo quelle
considerato necessario in base al tipo di macchina e alla complessità richiesta.
Devono essere definiti nel programma PLC, indicando per ciascuno tutti i CODICI OPERATIVI.
(elementary actions) to physically initiate the exchange (for example: operation 9001 = tool
disimpegno, operazione 9021 = aprire le ganasce del braccio cambiavalute). Devono essere indicati accanto all'interno
codici, necessari per aggiornare la sequenza nella tabella degli strumenti.
Al momento dell'esecuzione della sequenza, i codici relativi all'OPERAZIONE vengono inviati al PLC nel
ordine definito. Quest'ultimo deve principalmente gestire le operazioni meccaniche controllando il cambiamento,
cerca e svolgi le singole semplici operazioni fisiche senza essere sovraccaricato dal
gestione della tabella degli strumenti, misure degli strumenti, famiglia degli strumenti o la sequenza di carico, scarico o cambio.
Ciò significa che la gestione del sequenziatore TC deve essere simile a quella dell'ausiliario comune M,H.
funzioni.
JAWS: sono la pinza parte del braccio per rimuovere lo strumento dal mandrino o dentro
il caso di una stazione intermedia l'asta di scambio.
INTERMEDIO una stazione di attrezzi secondaria per tenere il prossimo attrezzo da utilizzare.
STATION:
Quando è necessario differenziare gli strumenti per diversi tipi e dimensioni, è necessario anche che.
considerato
TOOL TYPE: strumento normale: usato in modo coerente con il tipo di TC selezionato
(posizione casuale o fissa).
special tool: usato solo e sempre come uno strumento a posizione fissa: sarà
tornato nella stessa posizione in cui è stato raccolto.
TOOL SIZE: gli strumenti normali e speciali possono avere le seguenti dimensioni:
piccolo strumento: occupano sempre la stessa posizione nel magazzino.
strumento medio occupa il numero di posizioni in magazzino
grande attrezzo declared in the configuration.
strumento extra:
TIPO MANUALE S1200: Il controllo PLC non è necessario per attivare la compensazione degli utensili
e un programma in esecuzione viene generato automaticamente
per ogni T con un valore da 10 a 98.
MANUAL: Il controllo PLC non è necessario per attivare la compensazione degli utensili
e un programma in esecuzione viene generato automaticamente
per ogni operazione.
posizione fissa: Ogni strumento è collocato in magazzino nella posizione corrispondente al proprio
codice. La sua posizione rimane invariata durante il funzionamento della macchina
ogni strumento sarà sempre ripristinato nella posizione da cui è stato preso
Posizione casuale: Prima di questo non ci sono legami tra il codice dell'utensile e il punto che occupa
ma a ogni attrezzo è assegnata una posizione di stoccaggio precisa all'interno del tavolo degli attrezzi
non cambierà mai durante il funzionamento della macchina.
chain: Presume un ordine consecutivo delle posizioni degli strumenti che è nel quale il
i limiti dimensionali devono essere considerati solo nei confronti del precedente e
strumento successivo.
Aereo: Presume un ordine degli attrezzi in un deposito secondo una grigliaXYZ regolare allineata con
gli assi.
Per questo strumento, non è prevista la gestione del tipo di cambio in base alla dimensione (tipicamente
gli strumenti sono riposti nello stoccaggio dall'alto e quindi devono essere
dellopiccolotesto).
sincrono La ricerca dello strumento non può essere eseguita in un tempo mascherato lavorando simultaneamente con
il trattamento NC. Poiché la stazione intermedia per lo scambio non è
La sostituzione dell'attrezzo inizierà con il ritorno del vecchio attrezzo prima,
cercando il nuovo).
Asincrono: La ricerca dello strumento può essere effettuata in tempo mascherato, lavorando simultaneamente con
il programma NC, come un braccio per il cambio utensile, esiste tra lo stoccaggio degli utensili e
mandrino con una MORSA e una STAZIONE STRUMENTALE INTERMEDIA.
Semisincro: Nei tipi attuali di cambiatori di utensili automatici con disposizione RANDOM di
gli strumenti, spesso manca la stazione intermedia; la programmazione del
La funzione Txx genera solo una rotazione del caricatore senza cambiare il
situazione degli strumenti. In questi casi, il deposito semiasincrono
può essere utilizzato un tipo di gestione.
Ogni SEQUENZA TC deve essere definita con codici obbligatori nel programma PLC e identificata con
numeri negativi. Questi codici sono necessari per l'aggiornamento della tabella degli strumenti, devono essere in un
sequenza specificata come descritto nelle seguenti pagine.
In aggiunta, tutti i codici OPERATIVI considerati necessari dal PLC possono essere inseriti utilizzando numeri interi.
numeri tra 1 e 32767.
Quelli che devono essere definiti a causa delle caratteristiche della macchina e della complessità
richiesto dall'operazione, deve essere impostato nella sezione INIT del PLC tramite l'istruzione:
DEF SEQCU(seq. numero) = codice predefinito, codice PLC, ... altri [,COM,1,'nome prog.']
portando tutti i codici interni predefiniti nell'ordine fornito.
Gli errori di definizione nella sequenza vengono segnalati sullo schermo. Oltre ai codici operativi, è
possibile utilizzando l'istruzione DEF SEQCU(n) per specificare un nome di sottoprogramma NC (COM, 1, 'prog.
nome') che verrà eseguito automaticamente in concomitanza con M06(-6) in attesa di operazione e il PLC
segnale del programmato M06 (M6PGM = 1) per il posizionamento degli assi NC e l'esecuzione dell'utensile
cambiare sequenza nel tempo non mascherato.
In ogni sequenza che richiede l'inserimento di un nuovo utensile nell'alberino, è necessario attivare il
compensazione della lunghezza degli utensili prima di iniziare il lavoro (INTOF = 1).
Sequenza di gestione per posizionare gli strumenti a terra (con POSIZ. MAGAZ. = 0 e SELECU =
0 o SELECU=1):
Sequenza 1: -6, -16, -34 prendere lo strumento e inserirlo nel mandrino (caricamento)
Sequenza 2: -6, -10, -34 rimuovere l'utensile dal mandrino (scarico)
Sequenza 3: -6, -10, -16, -34 rimuovere l'utensile dal mandrino, sollevarlo e inserirlo in
fusello (scambio)
Scambia sequenze tra gli strumenti dal pavimento e il magazzino degli strumenti (SELECU = 0)
Sequenza 4: -1, -5, -6, -10, -17, -34 scaricare l'utensile dal mandrino a terra, raccogliere l'utensile da
stoccaggio e collocazione nel mandrino
Sequenza 5: -23, -6, -12, -16, -27, 34 scaricare l'utensile dal mandrino allo stoccaggio, caricare l'utensile da
pavimento a mandrino
Sequenza 6: -1, -5, -6, -12, -17, -23, -27, -34 riponi l'utensile fuso in magazzino, ritira dal magazzino
e posizionare nello spindolo (scambio)
Sequence 7: -1, -5, -6, -17, -34 prendi l'utensile dal magazzino e posizionalo nel mandrino
(caricamento)
Sequence 8: -23, -6, -12, -27, -34 restituire lo strumento dallo mandrino alla stoccaggio (scarico)
Sequenze di carico e scarico, strumenti dal pavimento alla stiva attraverso il mandrino
-12 -27
J AW S
CASD
A
EG
A
TL
T
IREZZI
2-3=
RICHIESTA
POST
.RUMENTO
VECCHIO
-17 INTERMED -5
-10 S TA Z I O N E
-16
-6 = Aspetta M06
FLOOR -34=FineTC
Scambiare sequenze tra strumenti sul pavimento e stoccaggio degli strumenti (SELECU= 0)
Sequenza 4: -6, -10, -1, -4, -34 metti l'utensile del mandrino a terra, prendi l'utensile dalla raccolta e
posto nel fuso
Sequenza 5: -6, -23, -13, -16, -34 riponi lo strumento dal mandrino alla custodia, prendi lo strumento da terra
e posizionare nel fuso
Sequenza 6: -6, -23, -13, -1, -4, -34 restituisci lo strumento al deposito, prendi lo strumento da
immagazzinamento e collocamento nel mandrino (scambio)
Sequenza 7: -6, -1, -4, -34 prendere l'attrezzo dal magazzino e posizionarlo nel mandrino
Sequenza 8: -6, -23, -13, -34 restituire lo strumento al magazzino (scarico)
Sequenza 11: -6, -34 stesso come sopra (cambiamento correttore, eseguire INTOF =
1 in modalità sincrona).
(SELECU= 2):
Sequence 9: -6, -16, -23, -13, -34 caricare lo strumento nello mandrino, ritornare dal mandrino al magazzino
(SELECU= 3):
Sequenza 10: -6, -1, -4, -10, -34 utensile nel mandrino dalla conservazione, scaricare dal mandrino a
pavimento.
-4
CASSD
AEG
A
L
TITREZZI
FUSO 1-R
=ICHIESTA
PER
NUOV
A
POSIZIONE
STRUMENTO
-13 R
23C
=
-IH
E
IST
D
A
ELL
P
A
OS
Z
IO
IN
D
EE
V
LECCH
O
S
ITRUMENTO
-10 -16
-8 = Wait M06
PAV I M E N TO -34=FineTC
- Fisicamente non esiste una stazione intermedia, le celle del gripper e della stazione intermedia hanno
nessuna significatività nella tabella degli strumenti e quindi non sono gestiti.
- L'aggiornamento della tabella degli strumenti è stato notevolmente semplificato: anche nel ciclo di cambiamento
fase di interruzione, l'unico strumento per avere il segno "-" (meno) è quello nel mandrino.
- A requirement of the semiasynchronous tool change is that the operation of depositing the
Il vecchio strumento è sempre simultaneo a quello di prendere il nuovo strumento (tramite una pinza a due griffe
braccio di scambio); di conseguenza, le posizioni di prelievo e posizionamento devono essere coincidenti.
- Il caso di uno scambio di strumenti di diverse dimensioni è stato reso diverso da
scambio tra strumenti di dimensioni simili per facilitare la codifica del PLC.
Sequence 13: -23, -6, -13, -1, -4, -34 scambio degli utensili tra immagazzinamento e mandrino (dimensioni diverse)
Sequenza 7: -1, -6, -4, -34 caricare l'utensile dallo stoccaggio al mandrino
Sequenza 8: -23, -6, -13, -34 scaricare lo strumento dal mandrino alla conservazione
Con questo tipo di cambio utensile, la Sequenza 13 (scambio di dimensioni diverse) può essere implementata a
almeno con uno dei seguenti metodi:
- Doppio scambio: prima di tutto, il deposito viene messo in posizione di deposito, che deve
essere vuoto (operazione -23); quando viene eseguito il M6, c'è quindi un primo scambio
tra l'utensile in magazzino e il mandrino (dopo questa operazione, il mandrino rimane
vuoto e il braccio torna a riposo); il ciclo continua con il caricatore che viene inserito nel
position to pick up the new tool; and finally the cycle is completed with a further exchange
tra lo stoccaggio e il mandrino.
- Scambio singolo: la Sequenza è condotta come un tipo normale, scambio della stessa dimensione, ma
quando entrambi gli strumenti si trovano nei morsi del braccio dell'esecutore (tipicamente braccio in giù) il
la rivista è ruotata nella posizione di deposito.
-4
STORAGE
1-=
RICHIESTA
NUOVO
STRUMENTO
POS.
Fuso -9
2-3R
=C
IHE
ISTA
POD
SEV
LECCHO
ISTRUMENTO.
-13
-10 -16
-6 = Wait M06
PAV I M E N T O -34=FineCU
INIZIO
DEF SEQCU(6)=901,-1,902,920,-5,-7,...,COM,1,'SCAMBIO' [cambio attrezzo con stoccaggio
903 = svuotamento memoria per rotazione
[-1 = codice predefinito: imposta lo stoccaggio nella posizione di ritiro
[902 = storage lock
920 = braccio dell'exchanger in posizione di presa/rilascio
[-5 = pre-defined code: new tool taken from storage and inserted in intermediate station
[-6 = codice predefinito: attendi M06
CAMBIO = sottoprogramma NC da eseguire su operazione -6, quando M06 è programmato (M06PGM=1)
PROG
...
The PLC synchronously receives the new code of the programmedToperation on theTOOLregister
con ilSTROTstrobe ma che non attiva ancora il modulo TC.
Per attivare il modulo TC, il codice dello strumento deve essere scritto nel registro UTEC e il segnale NEWCU
set. Questo viene ripristinato dal TC non appena la particolare sequenza per il cambio utensile richiesto è stata
iniziare a condizione che il segnale MAPRCU sia uguale a 1.
UTECU = 0 è inteso come una richiesta di restituzione dello strumento giù dal mandrino al magazzino o a terra se non
space is available.
Il PLC deve occuparsi di eseguire l'operazione singola proposta senza interferire con le altre.
solo i vincoli attesi sono di natura meccanica e di sicurezza tra un cambiatore e l'altro.
Il segnale di sincronismo della comunicazione BRDYCU deve essere ripristinato dal PLC non appena il nuovo
l'operazione è acquisita.
Se l'operazione richiesta richiede una pausa per eseguire la fase successiva, il PLC deve impostare temporaneamente il
Segnale MAPRCU a zero (macchina pronta per il TC). Normalmente MAPRCU è 1.
Nei casi in cui l'operazione attuale sia una richiesta di stazione di carico/scarico, il PLC deve impostare il
memorizzazione in funzione delle posizioni indicate del PPRECU e PPOSCU utilizzando, se necessario, il
MODULO DI MOVIMENTO AD ASSI INDIPENDENTI.
Quando la sequenza arriva all'operazione -6 (attendere M06) si ferma automaticamente e attende fino a
il PLC attiva il segnale M6PGM (M06 programmato).
Quando il modulo TC mentre è in modalità di attesa M06 (-6) riceve il segnale M6PGM, esegue il sotto NC
programma (COM) definito per la presente sequenza. Successivamente, il M6PGM viene ripristinato e il TC
la sequenza continua con le seguenti fasi.
It is important to notice that the active M6PGM signal will automatically pause the program thus
prevenire che il programma PLC esegua funzioni di sincronizzazione complesse. Considera il caso in
l'operazione M6 viene eseguita prima che lo strumento specificato dall'operazione T sia disponibile in magazzino,
poiché la ricerca è ancora in corso (TC casuale).
La sequenza TC corrente viene terminata quando il PLC azzera il segnale CUATT, poiché il TC (-34)
l'operazione di fine è stata eseguita.
In questo modo non è necessario che il PLC esegua un programma complesso e sincronizzato.
If the TC recieves a sequence not declared within theDEF SEQCU(n) instruction a message of
sequenza non prevista, viene visualizzata per l'operatore e viene attivato uno stato di cambio utensile di emergenza
attivato (EMACU = 1 segnale). Questo stato non influisce su nessuna delle altre operazioni NC.
Per attivare la correzione della lunghezza dello strumento, OFST, il PLC deve eseguire in modalità sincronizzata con BURDY.
e ilINTOFstrobe (è resettato dal NC).
È possibile sovrascrivere OFST prima di impostare INTF se è necessaria una correzione della lunghezza dell'utensile diversa.
Quando si gestiscono strumenti suddivisi per gruppo (strumenti alternativi) è necessario prestare particolare attenzione. In questi
nei casi in cui lo strumento da montare non ha necessariamente lo stesso codice "T" programmato, quindi indesiderato
effetti potrebbero essere ottenuti da sovrascritture OFST.
Al fine di garantire la compatibilità con la sintassi dei sistemi della serie S1200 in cui le funzioni 'T'
da T0 a T9 rappresentano il pezzo di origine e non l'utensile e T99 rappresenta la posizione in modo assoluto
coordinate. Sarà necessario decodificare il T programmato prima di attivare il cambio utensile
module.
Prima di iniziare il modulo TC, è possibile scegliere la modalità di funzionamento scrivendo il codice desiderato
nella SELECUregister: Le selezioni eseguite con una sequenza TC già in corso vengono ignorate.
lo strumento richiesto è montato nel mandrino dal magazzino se non è già presente e
si sdraiò immediatamente.
Se il TC è spento (perdita di potenza) durante una sequenza di cambio utensile, al successivo riavvio verrà visualizzato un messaggio chiaro.
è visualizzato e EMACU è impostato automaticamente.
Per uscire dallo stato di emergenza, la richiesta thREMCU deve essere rimossa, quindi deve essere attivato il RBKCU. Si trova in
il suo turno si resetta automaticamente dal TC quando viene acquisito. In ogni caso è necessario installare le garanzie
nel PLC in modo che qualsiasi sequenza TC automatica non possa iniziare se le condizioni iniziali non vengono verificate (TC
pausa).
L'algoritmo di gestione della vita utile degli utensili consente di controllare il tempo di lavorazione (VITA RIMASTA) del
utensile nel mandrino mediante un «contatore» che viene decrementato dal CNC ogni 10mS quando il
PLC sets the tool flag in the removing stageUTRUN.
Quando la VITA RIMANENTE diventa inferiore alla soglia di VITA MINIMA, l'utensile è considerato
scaduto.
La prossima volta che questo strumento verrà richiamato, potrebbe essere sostituito da un'alternativa (gestione della famiglia degli strumenti).
Dove non ci sono strumenti alternativi (tipicamente con il Cambio Utensile manuale) un utensile non è più disponibile
il messaggio è generato.
Per ulteriori informazioni dettagliate, vedere il Bollettino Tecnico numero 1 del 1996.
UTTIM 32 NCÞPLC Valore del contatore della VITA RIMANENTE per lo strumento nella
fuso.
UTSTS 8 NCÞPLC Registro di stato dello strumento nell'albero:
UTSTS (1) = life finished
UTSTS (2) = vita residua <= 0
La scelta degli strumenti nella famiglia viene effettuata in funzione dei parametri "vita scaduta" e
strumento escluso
Esclusione degli strumenti proibiti che ha priorità sulla situazione della vita dello strumento.
Al momento viene scelta un'attrezzo da una famiglia, quelli con vita scaduta e quelli esclusi saranno
scartato.
CUATT 1 NCó PLC no Il segnale generato da TC quando viene avviata una nuova sequenza, resettato da
il PLC quando la sequenza attuale è considerata terminata.
M6PGM 1 NCó PLC sì (M6 programmato) deve essere sincronizzato
con il BURDY dal PLC, viene resettato dal TC quando,
l'operazione di attesa M06 è ricevuta e il NC
il sottoprogramma (COM) è stato eseguito. In assenza di
questo segnale, la sequenza si ferma alla fase (-6).
Un activeM6PGM implica una sospensione automatica di
l'esecuzione dei blocchi NC!
UTSPCU 16NCó PLC no Numero di utensili nel mandrino (solo lettura).
UTSICU 16 NCó PLC no Numero di strumenti nella stazione intermedia (solo lettura).
UTPICU 16NCó PLC no Numero di strumenti nelle mascelle (solo lettura).
EMACU 1 NCð PLC no Cambio utensile in stato di emergenza. Questo viene impostato quando il TC
la sequenza è interrotta da una richiesta di emergenza TC. Il
la presenza di questo segnale significa che le informazioni sugli strumenti
presente nella tabella non può essere giustificato rispetto al reale
situazione. L'intervento dell'operatore è necessario, eventuali richieste per
le nuove modifiche agli strumenti, NEWCU, sono ignorate.
SELECU 8 NCï PLC no Selettore del modulo. Deve essere sistemato prima dello strumento
il modulo di cambio è attivato, viene acquisito all'inizio
della sequenza e non può essere modificato durante la stessa.
0 = Modalità TC normale
1 = modalità TC con archiviazione esclusa
2 = modalità TC con carico utensile programmato in memoria
3 = modalità TC con utensile programmato
ERCU 16 NCð PLC no Codice di errore visualizzato dal TC. Ad ogni operazione il
informazioni relative allo stoccaggio, tabella degli strumenti e configurazione è
verificato. Nel caso in cui le informazioni non siano valide o in situazioni non
previste o non gestibili, il TC interrompe l'attivo
sequenze e comunica l'errore. Inoltre, nessun TC
la sequenza è operabile se si tratta di una condizione di errore.
Il PLC può acquisire alcuni parametri di configurazione per poter implementare soluzioni più flessibili e
programmi generali; le informazioni sono disponibili nelle seguenti variabili:
Nome Dimensione
Direzione Descrizione
CUATYP 16 NCÞPLC Tipo di cambiavalute selezionato
0 = manual
1 = manuale S1200
2 = automatico
MAGGIO 16 NCÞPLC Geometria di archiviazione selezionata
0 = chain
1 = planare
MAGTYP 16 NCÞPLC Disposizione selezionata degli attrezzi in deposito
0 = fisso
1 = casuale
2 = casuale fisso
MAGGST 16 NCÞPLC Gestione dell'archiviazione selezionata
0 = sincrono
1 = asynchronous
2 = semiassociato
The tool table stores all the information relative to the tools, it is organized line by line arranged and on
diverse pagine.
∙ codici degli attrezzi, correzioni di raggio e lunghezza, posizione di stoccaggio, stato (escluso o meno), tipi speciali
e dimensioni
∙ codici degli attrezzi nel mandrino, nelle ganasce e nella stazione intermedia
PARAMETRI DELLA VITA DELLO STRUMENTO (pagina 2 della tabella degli strumenti)
∙ maximum life, minimum life, life remaining, tool father, tool life expired
∙ se è un numero compreso tra 1 e il numero massimo di posizioni per lo stoccaggio degli utensili, rappresenta il
posizione da cui deve essere presa l'utensile.
∙ se è uguale a 0 significa che lo strumento deve essere preso da e poi restituito manualmente a terra.
∙ Se si tratta di un numero preceduto da un segno negativo, significa che lo strumento è stato preso e esso
rappresenta la posizione da cui è stato prelevato lo strumento (queste informazioni sono utili nel
caso di fissazione casuale).
Se il flag di esclusione dello stato è uguale a "sì", lo strumento corrispondente non sarà mai montato, sarà trattato
come se non fosse presente in magazzino (lo strumento può essere dichiarato escluso se la sua integrità non è verificata).
Se c'è uno strumento che non è nello stato escluso e per cui il padre è uguale a uno strumento escluso, questo
sarà montato come alternativa.
Gli strumenti in cui la bandiera di vita scaduta è uguale a "sì" saranno trattati come strumenti esclusi.
"Padre", come già menzionato, indica strumenti per i quali ci sono alternative.
Example:
- T10 con vita scaduta senza padre
- T11 con una vita non scaduta con padre 10
T10 è programmato. Il primo utensile trovato con una vita non scaduta verrà montato ed è l'utensile 11.
Le variabiliWORD#1 e WORD#2 sono due parole (RAM,16) disponibili per contenere alcuni aggiuntivi
informazioni relative allo strumento.
Allo stesso modo, due variabili in formato floating point (RAM, 32) chiamate FLOAT#1 e FLOAT#2 sono
disponibile.
Normalmente la tabella degli strumenti è completamente gestita dal modulo di cambio utensile, tuttavia, per particolari
Le applicazioni di tutti i campi della tabella degli strumenti sono accessibili dal PLC per la lettura e la scrittura.
La lettura può essere eseguita come qualsiasi altra variabile PLC senza particolari precauzioni.
È necessario tenere presente che le voci su queste variabili comportano una sequenza piuttosto lunga,
oltre alla tabella normalmente presente nella memoria di lavoro del sistema, è anche necessario aggiornare
la copia nella memoria statica del sistema. Un'operazione che richiede tempi di aggiornamento più lunghi.
Nel PLC ci sono array che rappresentano le colonne delle tabelle degli utensili. I valori sono disponibili in
Variabile UTENRI con i nomi mostrati in successione.
Per poter accedere ai parametri di un certo strumento è necessario cercare con il seguente
istruzione:
ETIQUETA RIC(UTNUM,1,UTENRI,STRUMENTO)
Come accennato, poiché la scrittura nei campi della tabella è lenta, non è pratico interrompere il programma PLC per
attendere l'operazione di scrittura. Pertanto, esiste una memoria temporanea con capacità limitata (16 righe) su
le variabili relative ai campi sono temporaneamente trasferite per essere scritte in seguito quando sarà il momento
disponibile.
La quantità di memoria temporanea disponibile è mostrata nella variabile UTEFRE. Il PLC deve
verifica sempre la memoria disponibile prima di aggiornare i campi della tabella. Se questa regola non viene rispettata, il
Il PLC verrà disattivato e verrà visualizzato un messaggio sullo schermo.
Il PLC dispone anche di un array aggiuntivo MAGCUA() che rappresenta un'immagine del deposito degli attrezzi
(MAGCUA(1) = posizione 1 e così via). Il numero di elementi dipende da quante posizioni ci sono.
definito nei parametri di configurazione (il PLC può leggere questo numero su MAGNPO).
MAGNPO 16 NCð PLC no Numero di posizioni di stoccaggio degli utensili configurate nei parametri.
MAGCUA() 16 NCð PLC no Array che rappresenta l'immagine di stoccaggio degli strumenti (0 ..MAGNPO).
Il PLC può avere accesso in lettura e scrittura ai campi che riguardano la correzione della lunghezza e del raggio in
tabella degli strumenti utilizzando le variabili elencate di seguito; la modalità di accesso è la stessa utilizzata per l'altro strumento
variabili di accesso alla tabella. Ogni elemento degli array corrisponde a una riga della tabella degli strumenti. Il numero
il numero di elementi in ciascun vettore dipende dalle dimensioni del tavolo degli strumenti.
Nome Dimensione
Direzione Description
CORR_Z() 32 NCÛPLC correzione della lunghezza dell'utensile sull'asse del mandrino
(o longitudinale per torni)
CORR_R() 32 NCÛPLC correzione del raggio dello strumento
CORR_X() 32 NCÛPLC correzione del diametro dello strumento (solo per torni)
Il PLC ha accesso alle linee seriali della scheda PC tramite un insieme di istruzioni dedicate; il
La descrizione della sintassi delle istruzioni e di queste caratteristiche non è stata inclusa in questo
documentazione per motivi di spazio: vedere invece la documentazione specifica.
Nelle pagine seguenti sono descritte le principali modifiche da apportare ai programmi PLC scritti per il
Il sistema S1200 è compatibile con il linguaggio del sistema S3000, senza utilizzare il nuovo linguaggio.
potenziale e i MODULI INTERNO PER LA GESTIONE DEL Mandrino,
ASSI INDIPENDENTI E CAMBI DI UTENSILI.
INP INP
IMAPR Macchina pronta IMAPR Macchina pronta
FUORI FUORI
ABX [abilita l'asse X ABX [abilita l'asse X
****** GESTIONE DEL CAMBIO UTENSILE ******* [******GESTIONE DEL CAMBIO STRUMENTO *******
Interamente implementato dal PLC [Non modificabile tramite semplici sostituzioni, vedere il paragrafo relativo.]
FINE FINE
∙ Il nome mnemonico
Il carattere () dopo il nome di un registro indica che c'è un vettore a più elementi nel specificato
formato (ad esempio, UTNUM(), mentre MOVCN è un registro singolo).
Ogni volta che il simbolo (1..n) appare dopo un elemento elencato, il registro o il vettore devono essere interpretati
analizzando individualmente gli elementi da (1 a n). Per determinare un singolo registro i cui bit sono
è importante tenere a mente che:
∙ Quando si descrivono singoli bit di registro, queste descrizioni sono generalmente precedute da
descrizione del registro stesso, che sarà indicato senza parentesi.
Esempio:
UTNUM() 16 NCó PLC no Codice dello strumento nella tabella (1 ...UTENRI), dove UTENRI rappresenta
il numero di righe nella tabella degli strumenti.
UTNUM(1)16 NCó PLC no (primo elemento del vettore di parole) il codice strumento presente nella riga 1
della tabella degli strumenti.
UTNUM(8)16 NCó PLC no (ottavo elemento del vettore di parole) il codice dello strumento presente nella riga
8 del tavolo degli attrezzi.
Nota: Per una leggibilità ottimale, le intestazioni delle colonne sopra riportate non sono ripetute sopra le tabelle mostrate.
in tutto questo testo. Si prega di notare che le informazioni sono costantemente elencate in base a
le intestazioni delle colonne nella tabella sopra.
Stato NC
NCMD 8 NCð PLC no Codice di stato NC:
1 = position coordinates
2 = blocco singolo
3 = esecuzione del programma semiautomatica
4 = esecuzione automatica del programma
5 = modalità manuale
8 = torna al profilo
9 = modalità manuale attiva durante lo stato di attesa
STBMD 1 NCð PLC no La durata del impulso di segnalazione a stroboscopio per i cambiamenti nello stato NC è
equivalente a una scansione logica lenta completa.
FNCMD 8 NCï PLC no Registrazione NC in esecuzione di programma semiautomatica
64 NCð PLC no
ALIMENTAZIONE Ultimo pasto programmato.
AUXG 16 NCð PLC no Ultima funzione G programmata (G0-G9999).
CICFI 16 NCð PLC no Ciclo fisso in corso.
AXPGM 8 NCð PLC sì Assi programmati nel blocco insieme alla funzione ausiliaria
(ad es. M11XYZ genera AXPGM=00000111B).
AUXVAL()64 NCð PLC sì Array per trasmettere i parametri I, J, K, Q insieme a
funzioni ausiliarie M, H.
AUXVAL(1)= parametro I
AUXVAL(2)= parametro J
AUXVAL(3)= parametro K
AUXVAL(4)= parametro Q
STRAUX 8 NCð PLC sì Strobe per i parametri I, J, K, Q.
STRAUX(1)= strobe I
STRAUX(2)= strobe J
STRAUX(3)= strobe K
STRAUX(4)= strobe Q
RCOM 1 NC ï PLC Attivazione di un COM asincrono richiesta.
STRCOM 1 NCð PLC Strobo di sincronizzazione per il funzionamento del COM richiesto con
RCOM.
RCOM_ 8 NCï PLC Richieste di attivazione COM asincrone per il singolo asse
gruppi (1..8).
STRCO_ 8 NCð PLC Strobo di sincronizzazione per il funzionamento del COM richiesto con
con RCOM_per i gruppi ad asse singolo (1..8).
TENERE 1 NCï PLC no Fermata temporanea dell'esecuzione del programma che inizia con il primo
blocco successivo che contiene un punto di arresto nel continuo
movimento (tipicamente una funzione ausiliaria), senza interruzione di
l'attività in corso.
FHOLD 1 NCï PLC no Fermata temporanea dell'alimentazione.
RHOLD 1 NCï PLC no Richiesta di HOLD esterno. Arresto temporaneo delle mosse programmate
e blocchi in esecuzione.
HOLDA 1 NCð PLC no Assi in stato di attesa.
CISTI 1 NCï PLC no Richiesta di avvio ciclo esterno.
SFKGRD 8 NCð PLC no Guardare
SFKCNS 8 NCð PLC no Segnali pulsanti che attivano L'INIZIO CICLO
{"HOLD":"TENERE","BREAK":"INTERROMPI"}
CYON 1 NCð PLC no Ciclo in esecuzione.
REME 1 NCï PLC no Richiesta di emergenza esterna.
EMEA 1 NCð PLC no NC in stato di allerta d'emergenza o richiesta di emergenza esterna.
RBRK 1 NCó PLC no Richiesta di INTERRUZIONE esterna. Interruzione del programma o blocco in
esecuzione. Annulla stato di emergenza.
BRKA 1 NCð PLC no Comando per INTERROMPERE dal PLC.
Assi da disabilitare
DSERV 8 NCï PLC no Assi da disabilitare (1..8).
Disabilitare i trasduttori
Manuale JOG
MOVMA 8 NCï PLC no Assi selezionati per movimento manuale (1..8).
JOGP 8 NCï PLC no Comando jog positivo (1..8).
JOGM 8 NCï PLC no Comando jog negativo (1..8).
POMO() 64 NCï PLC no Velocità per movimenti manuali e riferimento per ciascuno singolo
asse (1..8) (da 0 a 1 come percentuale della velocità rapida).
MICZE 8 NCï PLC no Asse selezionato per riferimento con interruttore di fine corsa (1..8).
SEGNA 8 NCï PLC no Asse selezionato per riferimento senza interruttore di fine corsa (1..8).
MIZER 8 NCï PLC no Interruttore casa per asse (1..8).
MIZEA 8 NCð PLC no Assi riferiti allo zero elettrico del trasduttore (1..8).
OFSVA() 64 NCï PLC Offset di velocità aggiuntivo per gli assi (1..8) [mm/min]. (anche
impactsAXRIF()- utilizza solo per applicazioni speciali)
AFF() 64 NCð PLC Acceleration command imparted to the axes (1..8) [mm/sec ]
2
OFHWL()64 NCð PLC Offset (1..8) dell'origine con G851 (in mm).
GDAVIS 8 NCð PLC Numero del gruppo dell'asse a cui si riferisce il display.
Stato dell'asse
INTOL 8 NCð PLC no Asse (1..8) all'interno della "zona di posizione" definita nei parametri.
JOGIN 8 NCð PLC no L'asse (1..8) si muove seguendo un comando JOG (manuale o
riferendosi).
RAPI 1 NCð PLC no Blocchi eseguiti rapidamente.
CWDTF otto NCï PLC no Byte di controllo della sonda di contatto (on/off):
Bit 1: disabilita l'errore 210 (collisione)
SWDTF 8 NCð PLC Stato della sonda di misurazione a contatto ON/OFF.
SWDTF(2) = 0 sonda a riposo
= 1 sonda deviata
ANIx() 64 NCð PLC no Le letture degli ingressi analogici dalla scheda I/OMIX specificata e il suo
espansioni. Il valore letto varia dallo 0 all'1 come percentuale
del valore a gamma completa..
VELOx() 64 NCï PLC no {"text":"Uscita analogica dalla scheda I/OMIX specificata e le sue espansioni."}
Questi output possono sempre essere letti, ma scritti solo se lo sono
non utilizzato dal NC per gli assi controllati o dall'interno
moduli per la gestione dei mandrini o degli assi indipendenti.
Il contenuto può variare da -1 a 1 come percentuale del totale.
valore di intervallo (+/- 10 V).
TEMPx() 64 NCð PLC no Gradi di temperatura letti dai sonde termiche (se il
l'interfaccia è presente) associata alla scheda specificata.
FINESTRA()64 NCï PLC no Registri per le aree di visualizzazione video NC (1..16) nel lungo galleggiante
o formati a doppio punto. La visualizzazione di queste aree è abilitata da
valori predefiniti nelle tabelle video.
ASCW() 8 NCï PLC no Registri per la visualizzazione dei caratteri NC video nelle aree preset
(1..16). Il codice carattere ASCII deve essere utilizzato.
WNDINT()16 NCï PLC no Registri per il display del carattere video NC nel preset
aree(1..16) in formato word.
WNDSTR()str NCï PLC no Stringhe di registrazione contenenti un massimo di 64 caratteri alfanumerici
per il display video NC nell'area preimpostata (1..16).
GIRMI 64 NCï PLC no Registrati per la visualizzazione del valore della funzione S nell'area preimpostata
del video NC.
COPIA2 8 NCó PLC no Secondo byte per il controllo remoto della funzione di copia.
COPIA3(1)1 NCï PLC no Riavvia la copia in direzione negativa dopo la perdita di contatto
con il modello asse 3.
COPIA3(2)1 NCï PLC no Riavvia la copia in direzione negativa dopo la perdita di contatto
con l'asse del modello 2.
COPIA3(3)1 NCï PLC no Riavvia la copia in direzione negativa dopo la perdita di contatto
con l'asse del modello 1.
COPIA3(4)1 NCï PLC no Riavvia la copia nella direzione positiva dopo la perdita di contatto con
l'asse modello 3.
COPIA3(5)1 NCï PLC no Riavvia la copia nella direzione positiva dopo aver perso il contatto con
l'asse del modello 2.
COPIA3(6)1 NCï PLC no Riavvia la copiatura nella direzione positiva dopo la perdita di contatto con
l'asse del modello 1.
COPIA3(7)1 NCï PLC no Riservato.
COPIA3(8)1 NCï PLC no Riservato.
COPIA4 8 NCó PLC no Quarto byte per il controllo remoto delle funzioni di copia.
COPIA4(1)1 NCï PLC no Fermata temporanea dopo il contatto rinnovato con il modello.
COPIA4(2) Riservato
COPIA4(3) Riservato
COPIA4(4) Riservato
COPIA4(5) Riservato
COPIA4(6) Riservato
COPIA4(7) Riservato
COPIA4(8) Riservato
CCUL 16 NCð PLC no Contatore di ciclo di interruzione della logica super lenta.
ERCPY 16 NCð PLC no Codice errore letto durante un ciclo di copia o sensore di sonda a contatto.
FPERMK 8 NCó PLC no Disabilitare la maschera che rileva errori nei calcoli in virgola mobile
(divisione per zero, overflow).
AXSTP 8 NCï PLC no Numero dell'asse i cui parametri devono essere modificati.
VALSTP 64 NCó PLC no Valore attuale nei parametri di configurazione del sistema.
16 NCï PLC no Codice parametro di configurazione per accedere tramite il PLC
i parametri operano su una copia non statica in memoria); il nuovo
i valori vengono inseriti solo quando la velocità finale dell'asse = 0:
ACTSTP 1 NCó PLC no Avvia la richiesta di segnale operativa su HOWSTP. Reset da NC quando
l'operazione è completata.
Varie
_ENIDX 8 NCï PLC attiva/disattiva il diagnostico che controlla la validità di
gli indici per l'accesso alle singole variabili e ai vettori.
_ENIDX= -1 diagnostica su
_ENIDX= 0 diagnostica disattivata (predefinita)
RHDP2P 8 NCï PLC no Richiesta di HOLD, assi (1..8). Sospensione temporanea del movimento; il
l'operazione continua senza ulteriori comandi non appena gli assi
sono rilasciati.
HDAP2P 8 NCð PLC no Richiesta di HOLD, assi (1..8). Sospensione temporanea del movimento; il
l'operazione continua senza ulteriori comandi non appena gli assi
sono rilasciati.
RBKP2P 8 NCó PLC no Richiesta di INTERRUZIONE sui movimenti in automatico, assi (1..8).
RBKP2Pis ripristinato dall'NC quando acquisito. Gli assi sono
decelerato fino a fermarsi e il RUNP2P è stato ripristinato. In caso di emergenza
state(EMAP2P) viene utilizzato per annullare l'emergenza, ma solo se
la richiesta è stata rimossa (REMP2P).
BKAP2P 8 NCó PLC no Assi non in movimento dopo il comando aRBKP2P (1..8); essi
può essere reimpostato dal PLC, ma questo non è vincolante.
REMP2P 8 NCð PLC no Richiesta di attivare uno stato di emergenza assi (1..8).
EMAP2P 8 NCð PLC no Assi in stato di emergenza. Entrando in questo stato, gli assi sono
disabilitato immediatamente senza una decelerazione controllata (1..8).
POAP2P()64 NCð PLC no Posizione assoluta letta dagli assi del trasduttore (1..8).
TCHP2P()64 NCð PLC no Velocità efficace (dal trasduttore) assi (1..8).
SGLP2P otto NCð PLC no Assi all'interno della tolleranza di posizionamento impostata nella configurazione (1..8).
MKSP2P 8 NCð PLC no Pulsante di marcatura (zero elettrico) per assi (1.8) con encoder o
scale ottiche.
FCPP2P 8 NCð PLC no Assi(1..8) dove i valori effettivi risultano maggiori di
limite di viaggio positivo impostato nella configurazione.
FCMP2P 8 NCð PLC no Asse(1..8) dove i risultati dei valori attuali sono maggiori di
limite di viaggio negativo impostato nella configurazione.
VATP2P()64 NCð PLC no Velocità teorica (calcolata) assi (1..8). Se nella configurazione
si dichiara che il convertitore D/A non è presente
riferimento in tensione non sarà inviato attraverso il canale di uscita,
ma la velocità in questo registro è sempre disponibile.
JINP2P 8 NCð PLC no Assi (1..8) in movimento dopo un comando aJOGP2P.
DIRP2P 8 NCð PLC no Direzione di movimento degli assi (1..8) (rivelata dal riferimento analogico)
Il valore 1 significa velocità negativa.
CUATT 1 NCó PLC no Il segnale generato da TC quando inizia una nuova sequenza, ripristinato da
il PLC quando la sequenza corrente è considerata terminata.
M6PGM 1 NCó PLC sì (M6 programmato) deve essere sincronizzato
con il BURDY dal PLC, viene ripristinato dal TC quando,
l'operazione di attesa M06 è ricevuta e il NC
Il sottoprogramma (COM) è stato eseguito. In assenza di
questo segnale, la sequenza si ferma alla fase (-6).
Un activeM6PGM implica una sospensione automatica di
l'esecuzione dei blocchi NC!
UTSPCU 16 NCó PLC no Numero di utensili nel mandrino (solo lettura).
UTSICU 16 NCó PLC no Numero di attrezzi nella stazione intermedia (solo lettura).
UTPICU 16 NCó PLC no Numero di strumenti nella mascella (solo lettura).
EMACU 1 NCð PLC no Cambio utensile in stato di emergenza. Questo è impostato quando il TC
la sequenza è interrotta da una richiesta d'emergenza TC. Il
la presenza di questo segnale significa che le informazioni sugli strumenti
presenti nella tabella non possono essere giustificati rispetto al reale
situazione. L'intervento dell'operatore è necessario, qualsiasi richiesta per
le nuove modifiche agli strumenti, NEWCU, vengono ignorate.
UTENRI 16 NCð PLC no Numero di linea nello strumento, numero massimo di elementi del vettore
rappresentare le colonne nella tabella degli strumenti.
UTNUM() 16 NCó PLC no Tool codes in the table (1 ..UTENRI).
UTPOS() 16 NCó PLC no Posizione di stoccaggio degli utensili (1 ..UTENRI).
MAGNPO16 NCð PLC no Numero di posizioni di stoccaggio degli strumenti configurate nei parametri.
MAGCUA()16 NCð PLC no Array che rappresenta l'immagine di stoccaggio degli strumenti (0 ..MAGNPO).
UTRUN 1 NCï PLC Strumento nel mandrino nella fase di lavorazione: decremento della VITA RESIDUA
UTTIM 32 NCð PLC Value of the RESIDUAL LIFE counter of the tool in the spindle.
UTSTS 8 NCð PLC Registro dello stato dello strumento nell'albero
UTSTS (1) = vita finita
UTSTS (2) = vita residua <= 0
CUATYP 16 NCð PLC Tipo di cambio utensile selezionato
0 = manual
1 = manuale S1200
2 = automatico
MAGGEO16 NCð PLC Geometria di archiviazione selezionata
0 = chain
1 = planare
MAGTYP16 NCð PLC Disposizione selezionata degli strumenti nella conservazione
0 = fisso
1 = random
2 = random fisso
MAGGST16 NCð PLC Gestione dello storage selezionata
0 = sincrono
1 = asynchronous
2 = semiasincrono
5. LIMITI
I dati mostrati riassumono i limiti del compilatore da utilizzare come riferimento durante la scrittura del programma:
PARTE III
ESEMPI DI PROGRAMMAZIONE
Gli esempi sono auto-documentati e non dovrebbero essere necessarie ulteriori spiegazioni. Naturalmente, per
per interpretare gli esempi, devi avere conoscenza della programmazione PLC o, perlomeno, devi avere
leggi attentamente le prime due sezioni di questo manuale.
Gli esempi sono suddivisi in moduli, ognuno dei quali svolge una funzione specifica descritta nel titolo del
il programma stesso. Il titolo include anche il nome del file, che è disponibile da Selca su richiesta.
N1 [ *********************************************************
N2 [* 3AXI SMACHI NUOVI TH CLAMPI NG
N3 [* SPINDLE ORI ENT 2VEL DOSI
N4 [* MACHINEREFERENCING(ZTHENXY)
N5 [* LOGICA PER LUCI AUSILIARIE
N6 [* L'OLIO DI LUBRIFICAZIONE DIPENDE DAL MOVIMENTO DELL'ASSE
N7 [* *****************
N8 [* 3045: 941008
N9 [ *********************************************************
N10 [
N11 [
N12 [****************SEZIONEDICHIARAZIONE********************
N13 [
N14 [ inputfisici
N15 [
N16 INP
N17 IMUON 1 macchina accesa
N18 INIZIO 2 stella esterna
N19 TENGO [ 3 esterno tenero ]
N20 IMG1 4 ingranaggio gamma 1 interruttore micro
N21 IMG2 5 gamma di ingranaggi 2mi interruttore crociato
N155POMO(3)=ANI(2) [manual Z
N156 [
N157[...........controllomanualedellavite.................
N158IF(NCMD<>5)SPAUTO
N159IF(IMAMAO)CALLM03
N160IF(IMAMAA)CALLM04
N161IF(ISTOPM)CHIAMAM05
N162SPAUTO:$
N163 [
N164G84=(CICFI=84) ciclofissoG84attivo
N165 [spindlespeedoverride]
N166 [Automatico 70% - 130%
N167 Tapping100%
N168 [Manuale 0% - 100%
N169IF(NCMD=5)SPVEL(1)=SPSMAX;SPSSO(1)=ANI(3);NOVEMA
N170SPVEL(1)=SPEED
N171IF(G84)SPSSO(1)=1; $
N172ELSESPSSO(1)=0.7+ANI(3)*0.6
N173NOVEMA:$
N174 [
N175 [ selezione del rotatore e RITENUTO ]
N176SPROT(1)=(RORMA~RANMA)&”HOLDA [ selezione rotazione ]
N177SPDIR(1)=RORMA&”RANMA direzionedirotazione
N178UMAN=SPMOV(1)&IMUON [abilita movimento del tamburo]
N179 [
N180[...............spindleorient...................
N181TIM19(10)=SPTOL(1)&SPORI(1) [ timer per la fine dell'orientamento ]
N182IF(TUM19)SPORI(1)=0 verificaperfavore 1 s ec.
N183 [
N184[.............CAMBIOMARCE...............................
N185[Nota:SPPNDèimpostatoanchesespindolenonèall'internothe
N186[rev/minthreshold(SPMOT)percambiarel'intervallo“alvolo”.
N187GAM1=RM41~(VELOCITÀ<=SPSMG1(1))&”RM42 [ intervallo di richiesta 1 ]
N234IF(P21)L21="L21;L22=0;L23=0
N235IF(P22)L22="L22;L23=0;L21=0
N236IF(P23)L23=”L23;L21=0;L22=0
N237IF(L21)HWL(1)=1;L8=1
N238IF(L22)HWL(1)=2;L8=1
N239IF(L23)HWL(1)=3;L8=1
N240IF("L21&"L22&"L23)HWL(1)=0;L8=0
N241[selezionepasso
N242IF(P24)L24=1;L25=0;L26=0
N243IF(P25)L24=0;L25=1;L26=0
N244IF(P26)L24=0;L25=0;L26=1
N245IF(L24)STEP=1
N246IF(L25)STEP=2
N247IF(L26)STEP=3
N248 [
N249[...............casaciclo......................
N250[avviodellahomecyclpremendoiltastomorbidoF17
N251[terminatodaBREAKoquandotuttigliassisonoazero.
N252[icicliinizianoconZaxispoiX,Ysimultaneamente.
N253ZERIOK=MIZEA(1)&MIZEA(2)&MIZEA(3)
N254L7=FF(P7&"L7),(ZERIOK~(NCMD<>5)~BRKA~P7&L7)[ciclocasa
N255RIC0X=FF(L7&MIZEA(3)),(“L7~MIZEA(1))[Xhomecycleinmemory
N256RIC0Y=FF(L7&MIZEA(3)),(“L7~MIZEA(2))[Yhomecycleinmemory
N257RIC0Z=FF(L7&(P6~P5)),(“L7~MIZEA(3)) [ Z homecycl e i nmemor y ]
N258 [
N259[sdittastoF7menu1iniatesilciclodomestico
N260MICZE(1)=L7
N261MICZE(2)=L7
N262MICZE(3)=L7
N263[comeassegnareinterruttorifisiciperlacasa
N264MIZER(1)=IMZX
N265MIZER(2)=IMZY
N266MIZER(3)=IMZZ
N267[...............cambiomanualedegliutensili...................
N268ULAM06=CAUT&(TWM06>5)&”SPMOT(1)
N269 I F( I FICUT) CAUT=0
N270TIM06(10)="TUM06
N271 [
N272[....................lubrication......................
N273[Lafrequenzadelpumpon(IMUON)
N274[dipendedalmovimentodegliassi.
N275TLUBI(6000)="TLUBU&IMUON&ILIVOL 10minutioscillatore
N276TLUBA=((MOVCN&"INTOL)=0) pausaedisabilitasel'accessoèbloccato
N277UKLUBA=(TLUBW>5950)&”TLUBA&IMUON&ILIVOL pompaper5secondi
N278 [
N279[....................general...............................
N280[Nota:ILIVREeILIVOL
N281 [ non hanno effetto durante il ciclo fisso di tapping (G84)
N282FHOLD=((“ILIVRE~”ILIVOL)&(“G84~RAPI))~”ITERMI~”IDRAOK~$
N283"IDRMOK~CAUT~(SPRMP(1)~"IGIROK&SPROT(1))&"RAPI~SPORI(1)~$
N284SPPND(1)~((NCMD<>5)&”ZERIOK) [inibitaxesmovement
N285DHOLD=FHOLD[inibitsdatablocks
N286 [
N287RHOLD=FF(IHOLD&(“G84~RAPI)),(HOLDA) [mantenerelarichiesta]
N288LAHOLD=HOLDA [tenerleamp]
N289CYST=INIZIO [ s tar t r eques t
N290LACYON=CYON [lampada ciclo ON]
N291 [
N292[...................ausiliario..................
N293TIMUON(5)=IMUON [ilvedellapotenzasu]
N294RBRK=TDMUON [INTERRUZIONE all'accensione]
N313SG(4)=(SPRMP(1)~”IGIROK)&SPROT(1)
N314SG(5)=SPPND(1)
N315SG(6)=”IDRAOK
N316SG(7)=”IDRMOK
ILIVOL
N318SG(9)="ILIVRE
N319SG(10)="ITERMI
N320SG(11)=”IOLTRC
N321SG(12)=CAUT
N322SG(13)=(MOVCN<>RDMOV)
N323CHIAMATASCORRI [ richi ama messaggio di visualizzazione ]
N324END
N325[**********************ROUTINESSECTION*********************
N326[...............Tfunctions..................................
N327GEFUT:$
N328CALLM05;CAUT=1[cambioattrezzaturamanuale
N329RTS
N330[...............Mfunzioni..................................
N331GEFUM:$
N332WNDINT(1)=AUXM [displaycodefunctions]
N333IF(AUXM=3)M03
N334IF(AUXM=4)M04
N335IF(AUXM=5)M05
N336IF(AUXM=7)UREF=1;RTS [insetto cool]
N337IF(AUXM=9)UREF=0;RTS fermacoolant
N338IF(AUXM=10)SSA=0;RTS
N339IF(AUXM=11)CHIAMAM11
N340IF(AUXM=13)CHIAMAM03;UREF=1;RTS [M3 + r ef .
N341IF(AUXM=14)CHIAMATAM04;UREF=1;RTS [M4 + r ef .
N342IF(AUXM=19)CHIAMATAM05;SPPOS(1)=0;SPORI(1)=1;RTS [oionon]
N343IF(AUXM=30)CALLM05;CALLRESET;RTS NCreset [
N344IF(AUXM=40)CHIAMATAM05;RM41=0;RM42=0;RTS [ intervallo aut o ]
N345IF(AUXM=41)CHIAMATAM05;RM41=1;RM42=0;RTS [ intervallo 1 ]
N346IF(AUXM=42)CHIAMAREM05;RM42=1;RM41=0;RTS [ intervallo 2
N347RTS
N348 [
N349M03:RORMA=1;RANMA=0;RTS [spindleCW
N350M04:RORMA=0;RANMA=1;RTS [spindleCCW
N351M05:RORMA=0;RANMA=0;RTS fermailfuso
N352M11:IF(AXPGM=0)SSA=00000111B;RTS; $
N353ELSESSA=AXPGM&00000111B;RTS s[bloccoampass]i
N354[............comandidireset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
N355RESET:$
N356RORMA=0;RANMA=0[resetspindlerotation
N357SPORI=0 [ risorse e s pi ndl e or i ent ]
N358UREF=0 [ res et cool ant ]
N359CAUT=0 [ cambio di risorse e strumenti in corso ]
N360WNDINT(1)=30 [aggiornamentoMfunzionedviisualizzazione]
N361RTS
N362[.................GESTIONEDEIMESSAGGI.........................
N363SCROLL:$
N364NM=1;NR=1
N365LOOVIS:IF(NM>NMAX)CLRSCR
N366IF(NR>16)RTS
N367IF(SG(NM))DISPL,NR,MSG(NM);NR=NR+1
N368NM=NM+1;LOOVIS
N369CLRSCR:SE(NR>16)RTS
N370CLR,(NR);NR=NR+1;CLRSCR
N371[..............terminedelprogramma...............................
N1 [ **********************************************************
N2 [*
N3 [* C
O O
L
G
C
O
IN
R
L
T
EA
R
IILA
U
X
I
N4 [* ——————————————
N5 [* 8001A
U
X
4O
N
9
N6 [ **********************************************************
N7 Si prevede che l'output di un CNOK sia controllato da relé in serie
N8 con la catena che attiva gli ausiliari.
N9 [
N10 IlNCnonvedeilpulsantediaiutocomeun
N11 [inputmacomeuninputindicandochegliausiliarisonoACCESI.
N12 [
N13 INP
N14 IMUON [mac chi ne su]
N15 IDRAOK [axi s dr i ves ok]
N16 [
N17 FUORI
N18 UMOVE1 [abilita asse] 1
N19 UMOVE2 abilitare assi 2
N20 UMOVE3 asse abilitato 3
N21 CNOK [OK per ausiliari da NC]
N22 [
N23 STR
N24 MSG1 [ausiliari OFFmessaggio
N25 [
N26 STIMER
N27 ["TIMUON"",TUMUON"",TDMUON"",TAMUON"",TWMUON"] [TurnONauxiliaries]
N28 [
N29 INI T
N30 SSA=00000111B [XYZ assi sempre abilitati]
N31 MSG1=A ’ UXL IA
I RE
ISOFF’
N32 [
N33 PROG
N34 FINE
N35 [*****************sezonalelenta****************************
N36 UMOVE1=MOVCN(1) Abilita asse X
N37 UMOVE2=MOVCN(2) [abilita l'asse Y]
N38 UMOVE3=MOVCN(3) Abilita l'asse Z
N39 RDMOV=MOVCN [assi abilitati r e s p o n d e]
N40 [
N41 POFO=ANI (1) [axi s f eed over r i de
N42 BURDY=0 [ . . . funzione acquisizione da NC
N43 [
N44 attivareausiliari
N45 TIMUON(5)=IMUON ilgirodiavviamento
N46 RBRK=TDMUON [INTERROMPERE a t ur n on
N47 CNOK=”EMEA~”TUMUON [NC pronto output
N48 REME=FF(“IMUON~”IDRAOK) , (EMEA) richiesta di emergenza
N49 [
N50 I F(“IMUON) DISPL, 0, MSG1; ALTRIMENTI CLR, 0 [messaggio di display]
N51 [
N52 [ . . . . . . . . . . . . . . programma termina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
N1 [ **********************************************************
N2 [*
N3 [* ESEMPIODICOMMUTAZIONECONMANIGLIA
N4 [* GEVOL3941008
N5 [*
N6 [ **********************************************************
N7 [ I f onl y one handwheel i s avai l abl e i t wi l l need t o be s wi tched
N8 traassiutilizzandounselettoreesternoounocreatousando
N9 [thesoftkeysasinthisexample.
N10 [
N11 [
N12 [
N13 [
N14 SOFTK
N15 P21,L21, 'MANIGLIAXAXI'
N16 P22,L22, 'YAXI S MANOVELLA'
N17 P23,L23,'RUOTADIMANOVRADELL'ASSEZ'
N18 P24,L24, '0,5 mm per rev'
N19 P25,L25, ’ ’ ve1r r epm m
N20 P26,L26, ’ ’ ve5r r epm m
N21 P27,L27, ’10mm per rev’
N22 [
N23 INI T
N24 L25=1 [ def aul t a potenza su ( s di t chiave l i ght s non do not
N25 [ [statodiattesasuspegnimento]
N26 [
N27 PROG
N28 [assi s s elezione di t key
N29 I F( P21) L21="L21;L22=0;L23=0 [ s della chiave f per l'asse X
N30 I F( P22) L22=”L22;L23=0;L21=0 [ s di t tasto f orYassi
N31 I F( P23) L23="L23;L21=0;L22=0 [ s of t key f or Z axi s
N32 I F( L21) HWL(1) =1 assegna la manopola dell'asse X 1
N33 I F( L22) HWL(1) =2 assegna la manopola dell'asse Y 1
N34 I F( L23) HWL(1) =3 [assegna Z assi manopola] 1
N35 I F(“L21&”L22&”L23) HWL(1) =0 [ nessun assi assegnato
N36 [
N37 [tastosperselezionarelarisoluzione(impostatanellaconfigurazione)]
N38 I F( P24) L24=1; L25=0; L26=0; L27=0 [ 1 volantino r ev = 0,5 mm ( passo1)
N39 I F( P25) L24=0; L25=1; L26=0; L27=0 [ 1 volante di manovra r ev = 1mm ( passo 2) ]
N40 I F( P26) L24=0; L25=0; L26=1; L27=0 [ 1 volante r ev = 5mm ( passo 3) ]
N41 I F( P27) L24=0; L25=0; L26=0; L27=1 [ 1 volantino r ev = 10mm ( passo 4) ]
N42 I F( L24) PASSO=1 [as s i gn s t ep 1
N43 I F( L25) PASSO=2 [come assegnare passo 2
N44 I F( L26) PASSO=3 [as s i gn s t ep 3
N45 I F( L27) PASSO=4 [as s i gn s t ep 4
N46 [
N47 BURDY=0 [...funzioneacquisizionedaNC
N48 RDMOV=MOVCN [Assi abilitati risposta]
N49 FINE
N50 [ . . . . . . . . . . . . . . programma finito . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
N1 [ ************************************************************
N2 [
N3 [ ESEMPIO DI GESTIONE DEL ROTAZIONAMENTO SPI
E R O T T U D S A R T A Z N4
N E S [O N O C
N5 [ SPIND1 941008
N6 [
N7 [ ************************************************************
N8 [
N9 Controllo automatico e manuale della spindel (M3, M4, M13, M14)
N10 [Gli assi aspettano che il mandrino raggiunga la velocità, mantenimento del mandrino,
N77 garantitodiessereimmediatamentedisponibiledopoaverimpostatoil
N78 controllodirotazione.
N79 [stopaxisfeed]
N80 FHOLD = ( SPRMP( 1) ~”IGI ROK&SPROT(1) )&”RAPI [ ~. . . &(“G84~RAPI )
N81 DHOLD=FHOLD[~
N82 REME = FF( TRMU) , (EMEA) emergenza; il ginocchio è bloccato
N83 FINE
N84 [ . . . . . . . . . . . . . . . vedere e sezionare lentamente . . . . . . . . . . . . . . . . . . . . . . . .
N85 R
S
P
T
A
N)C
M
G
H
BT
=
(IS
)I [displayS]
N86 FINE
N87 [
N88 [ —ROUTINE ———————————————————————
N89 GEFUM: $
N90 WNDINT(1)=AUXM mostrafunzioniM
N92 I F(AUXM=4) M04
N93 I F(AUXM=5) M05
N94 RTS
N95 M03S:PDR I1(=)0R
;OTMA=1R
;TS
N96 M04S:PDR I1(=)1R
;OTMA=1R
;TS
N97 M05R :OTMA=0R ;TS
N98 [
N99 RESETTARE: $
N100ROTMA=0 fermailfuso
N101WNDINT(1)=30 displayM30
N102RTS
N103[.....................terminedelprogramma........................
N1 [ **********************************************************
N2 [
N3 [ ESEMPIO DI GESTIONE SPI NDLEORI
N4 [ SPIND2 941008
N5 [
N6 [ **********************************************************
N7 [
N8 Automazione e orientamento
N9 angl e i s pr ogr ammabl e wi t h H f unct i on.
N10 INP
N11 [
N12 FUORI
N13 TERM, 4
N14 ABM [abilita operazione di centrifuga]
N15 [
N16 STIMER
N17 TM19I ,TM19U,TM19D,TM19A,TM19C [ timer verifica in tolleranza di posizione ]
N18 [
N19 INI T
N20 SPGAM(1) =1 [ gamma 1 ( solo) ]
N21 [
N22 PROG
N23 FINE
N24 I F(“BURDY) ASINC
N25 FHOLD=1;DHOLD=1
N26 I F( STROH) CHIAMO GEFUH
N27 CHIAMO GEFUM
N28 BURDY=0
N29 ASINC:$
N30 [
N31 [***gestionedellespine*************************************
N32 I F(BRKA~EMEA) CHIAMARE RIPRISTINO pausa
[ oemergenza]
N33 [
N34 TM19I ( 20) =SPTOL(1)&SPORI (1) [verifytolerancefor2sec.
N35 I F( TM19U) SPORI (1) =0 res e or i ent cont r ol
N36 [
N37 ABM=SPMOV(1)[&... abilita e consente
N38 [
l a r e n e g N39
— [
N40 DHOLD=SPORI(1) [mantieniblocchididatisuccessivi]
N41 FHOLD = DHOLD m
[ antenereal'ssedailimentazione]
N42 FINE
N43 [ . . . . . . . . . . . . . . . ver y s l ow s ect i on . . . . . . . . . . . . . . . . . . . . . . . .
N44 FINE
N45 [
N46 —ROUTINE ———————————————————————
N47 GEFUH:SPPOS(1)=(IFP(AUXH)/360)//1.0;RTS
N48 [ nota:SPPOSdeveavereunvalorecompresotra0e1
N49 [ rappresenta un angolo (0 - 360)
N50 [
N51 GEFUM: $
N52 WNDINT(1)=AUXM displayMfunctions
N53 I F(AUXM=19) M19
N54 RTS
N55 M19S:PROT1(=)0
N56 Se è richiesta un'unità di direzione.
N57 [ SPORP( 1) o SPORM( 1) prima di SPORI (1) !
N58 SPORI (1) =1
N59 RTS
N60 RESET:$
N61 SPORI=0
N62 WNDINT(1)=30 [displayM30]
N63 RTS
N64 [ . . . . . . . . . . . . . . . . pr ogr am end . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sviluppo della logica della macchina (PLC) - Parte III (00) 1-15
Serie S3000
1. Esempi di programmazione
N1 [ **********************************************************
N2 [
N3 [ ESEMPIO SPI NDLEWI CON DUE ARANCE
N4 [ SPIND3 941008
N5 [
N6 [ **********************************************************
N7 [
N8 [spindlerangecambiamentogestione]
N9 INP
N10 IMG1 [micr oswi tch r ange 1
N11 IMG2 interruttore microscopico gamma 2
N12 I SGLMI soglievelocitàmandrino
N13 [
N14 FUORI
N15 TERMINE, 4
N16 ABM abilita operazione di spindel
N17 KVG1 [ seleziona intervallo attuatore 1 ]
N18 KVG2 [ seleziona il campo di attuazione 2 ]
N19 [
N20 RAM,1
N21 GAM1 [ intervallo 1 s selezionato ]
N22 GAM2 [ intervallo 2 s selezionato
N23 MM41 [forcerange1
N24 MM42 [forcerange2
N25 [
N26 PROG
N27 FINE
N28 I F(“BURDY) ASINC
N29 FHOLD=1;DHOLD=1
N30 I F( STROM) CHIAMO GEFUM
N31 BURDY=0
N32 ASINC:$
N33 [
N34 [***gestionedeifornitori*************************************
N35 [
N36 GAM1=MM41~(VELOCITÀ<SPSMG1(1))&”MM42 [ seleziona intervallo 1 ]
N37 GAM2=MM42~(VELOCITÀ>=SPSMG1(1))&”MM41 [ seleziona intervallo 2 ]
N38 [
N39 [at t i vat e act uat or onl y atmi n s pi ndl e RPM ( t hr es hol d)]
N40 KVG1=GAM1&”IMG1&”ISGLMI&”SPMOT(1) [ selezione attuatore gamma 1 ]
N41 KVG2=GAM2&”IMG2&”ISGLMI&”SPMOT(1) seleziona l'intervallo attuatore 2
N42 [
N43 I F( IMG1) SPGAM=1 [ seleziona intervallo 1 ]
N44 I F( IMG2) SPGAM=2 [ seleziona intervallo 2
N45 [all'attento uno: SPGAM=0 non consente la caccia]
N46 [
N47 SPPND(1) =(GAM1&”IMG1) ~(GAM2&”IMG2) cacciaalla' gonelpagliaio
N1 [ **********************************************************
N2 [* LUBRIFICAZIONE sulla distanza percorsa
N3 [* ——————————————
N4 [* LUBMET 941008
N5 [ **********************************************************
N6 [
N7 INP
N8 IMUON [ausiliari su]
N9 ILIVOL livello
N10 [
N11 FUORI
N12 ABLIX [abilita asse X
N13 ABLY
I [attivare asse] Y
N14 ABLIZ asse abilitato Z
N15 UKLUBA asse lucido attuatore
N16 [
N17 RAM,32
N18 CORSAX tempo e distanza X
N19 CORSAY [ tempo e distanza Y ]
N20 CORSAZ tempo e distanza Z
N21 POAOLX [assoluta posizione X (vecchia)]
N22 POAOLY [assoluta posizione Y (vecchia)]
N23 POAOLZ [assoluta posizione Z (vecchia)]
N24 ML [Massimo intervallo di tempo per la lube]
N25 [
N26 STR
N27 MSG1 [mes s age- l evel i ns uf f i ci ent
N28 MSG2 [messaggio ausiliario non attivo]
N29 [
N30 STIMER
N31 ["TLUBI","TLUBU","TLUBD","TLUBA","TLUBW"] [lube
N32 [
N33 SOFTK, 1
N34 LUBRIFICA
N35 [
N36 INI T
N37 ML=15000 tempo di andare prima di iniziare
N38 MSG1=O ’LILEVELNISUFFC
IE
INT’
N39 MSG2=A ’ UXL IA
I RYNOTACTVIE’
N40 [
N41 PROG
N42 FINE
N43 [
N44 ....................lube......................
N45 [lubequandoalmenounasseèstatospostatoMLmetri]
N46 TLUBI (50) =(CORSAX>ML) ~(CORSAY>ML) ~(CORSAZ>ML) ~TLUBD
N47 Ladistanzapercorsavieneincrementatasoloquandogliassisono
N48 muovendosi dentro e fuori dalla tolleranza di posizione.
N49 [
N50 [
N51 I F("INTOL(1)&MOVCN(1) ) CORSAX=CORSAX+ASS( POA(1) - POAOLX)
N52 I F("INTOL(2)&MOVCN(2) ) CORSAY=CORSAY+ABS( POA(2) - POAOLY)
N53 I F(“INTOL(3)&MOVCN(3) ) CORSAZ=CORSAZ+ABS( POA(3) - POAOLZ)
N54 POAOLX=POA(1) [aggiornaposizionivecchie]
N55 POAOLY=POA(2)
N56 POAOLZ=POA(3)
N57 dopo ogni ripristino della libreria azzera la distanza percorsa
N58 IF(TLUBU)CORSAX=0;CORSAY=0;CORSAZ=0
N59 [wi t h “IMUON carico max su CORSA l'installazione è effettuata
N60 [all'accensione]
N61 [ stesso cosa suNO OI L ]
N62 I F(“IMUON~”ILIVOL) CORSAX=ML; CORSAY=ML; CORSAZ=ML
N63 [
N64 [lubefor5secondsoronsoftkeyP1
N65 [
N66 UKLUBA=(TLUBD~P1)&ILIVOL&IMUON pompaasiringa
N67 L1 =UKLUBA [lubelamp]
N68 [
N69 generale
N70 AL
B
XI=MOVCN 1)( [abilita assi
N71 AL
Y
BI=MOVCN
2)(
N72 ABILZ=MOVCN(3)
N73 RDMOV=MOVCN [assi abilitati risposta]
N74 BURDY=0 [acqui r e NC f unct i on
N75 POFO=ANI (1) nutrire oltre a r i d e
N76 FHOLD=”ILIVOL [inhibitaxesmove]
N1 [ *************************************************
N2 [*
N3 [* LUBRIFICAZIONE INTERMITTENTE
N4 [* LUBI N3 941010
N5 [*
N6 [ *************************************************
N7 [ ============= esempio 1 ======================
N8 [
N9 [UPOMPA è attivato per 5 secondi ogni 10 minuti]
N10 [
N11 FUORI
N12 UPOMPA [ seleziona pompa ]
N13 [
N14 STIMER
N15 TLI,TLU,TLD,TLA,TLW [cronometro per ciclismo
N16 [
N17 PROG
N18 TLI(6000)=”TLU [oscilator(600secondi)
N19 UPOMPA=(TLW>5950)[attivaper5sec.]
N20 FINE
N21 [ . . . . . . . . . . . . . . . . . . . programma finito 1. . . . . . . . . . . . . . . . . . . . .
N22 [
N23 [
N24 [ ========== esemplare 2 =========================
N25 PerotenereLONGTIMESda1oraa2anni “
N26 un timer deve essere combinato con un contatore.
N27 [l'esempio] attiva la pompa per 5 secondi ogni 60 minuti.
N28 [
N29 FUORI
N30 UPOMPA controllodellapompa
N31 [
N32 STIMER
N33 TLI,TLU,TLD,TLA,TLW [orologio timer]
N34 CONTEGGIA
N35 CLZ,CLA,CLI,CLC,CLW [ second count er
N36 [
N37 INI T
N38 CLZ(3600)=1 pr
[esetcounterot3600sec
N39 CLZ(3600)=0
N40 [
N41 PROG
N42 TLI(10)=”TLU 1 secondo os ci l l at or
N43 CLA=TLU [conta
N44 POMPA=(CLW<5) [agisci io vat e pompa per 5 sec]
N45 FINE
N46 [ . . . . . . . . . . . . . . . . . . . pr ogr am end 2 . . . . . . . . . . . . . . . . . . . . . .
N1 [ **********************************************************
N2 [* LUBRIFICAZIONE timer attivo solo quando gli assi si muovono
N3 [* ——————————————
N4 [* LUBMOV 941010
N5 [ **********************************************************
N6 [
N7 INP
N8 IMUON [ausiliari su]
N9 ILIVOL oillevel
N10 [
N11 FUORI
N12 ABLIX [attivare asse] X
N13 ABLY
I asse abilitato Y
N14 ABLIZ [abilita asse] Z
N15 UKLUBA asce l ube at t uat or
N16 [
N17 STR
N18 MSG1 messaggiodilivellooliobasso
N19 MSG2 [ausiliari non su messaggio]
N20 [
N21 STIMER
N22 {"TLUBI":"TLUBI","TLUBU":"TLUBU","TLUBD":"TLUBD","TLUBA":"TLUBA","TLUBW":"TLUBW"}
libreria
N23 [
N24 SOFTK, 1
N25 P1, L1, 1, 'MANUALLUBE'
N26 [
N27 INI T
N28 MSG1=O ’LILEVEL N
ISUFFC
IENT’
N29 MSG2=A ’ USLIA
I RN
IONN
ISERT
I’I
N30 [
N31 PROG
N32 FINE
N33 [
N34 libricati
N35 [All'accensione (IMUON) il tempo viene reimpostato, la soluzione è completata]
N36 [durantelaprimamossa.
N37 Iltempovieneconteggiatosoloquandogliassisistannomuovendo.
N38 TLUBI (6000) ="TLUBU&IMUON&ILIVOL 10minutieoscillatore
N39 [pausaequandoglassi
i sonofermiodisabilitat]i
N40 TLUBA=( (MOVCN&”INTOL) =0)
N41 pompareper5secondiconiltastomorbidoP1
N42 UKLUBA=((TLUBW>5950)&”TLUBA~P1)&IMUON&ILIVOL
N43 L1 =UKLUBA [ lubr i cat i on l amp
N44 [
N45 generale
N46 AL
B
XI=MOVCN 1)( [abilita assi
N47 AL
Y
BI=MOVCN
2)(
N48 ABILZ=MOVCN(3)
N49 RDMOV=MOVCN [assi abilitati rispondere]
N50 BURDY=0 [ . . . acquisire funzione NC ]
N51 POFO=ANI (1) [ alimenta oltre r i de pot ent i omet er ]
N52 [
N53 Se il livello dell'olio è basso, il programma viene interrotto alla prossima
N54 r api d bl ock o r a t t he f i r s t auxi l i ar y f unct i on.
N55 FHOLD="ILIVOL [inibitaxesmove
N56 DHOLD=FHOLD [inibitdatablocks]
N57 REME=FF(“IMUON) , (EMEA) [ machi ne emer gency
N58 [
N59 FINE
N60 [ . . . . . . . . . vedere e lento sezione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
N61 I F("ILIVOL) DISPL, 1, MSG1; ALTRIMENTI CLR, 1 [età minima di messa a livello]
N62 I F(“IMUON) DISPL, 2, MSG2;ALTRIMENTI CLR, 2 [mes s age- aux]
N63 FINE
N64 [ . . . . . . . . . . . . . . . . programma fine . . . . . . . . . . . . . . . . . . . . . . . . . . .
N1 [ **********************************************************
N2 [* ESEMPIO DI AUTOMAZIONE CHOMECYCLE XYZ
N3 [* ——————————————————
N4 [* ZERIAX 941008
N5 [ **********************************************************
N6 [
N7 Ciclo domestico automatico per assi con trasduttori non assoluti
N8 [
N9 Fi r s t Z i s è a casa nella direzione poi
N10 [X e Y sono contemporaneamente ospitati nella direzione +.]
N11 [
N12 [*****************SEZIONEDELLADICHIARAZIONE********************
N13 [
N14 [ inputfisici
N15 INP
N16 IMZX [casamicrinterruttoreX]
N17 IMZY [homemicroswitchY
N18 IMZZ [casamicrinterruttoreZ
N19 [
N20 [ produzionifisiche
N21 FUORI
N22 UMOVE1 [abilita asse] X
N23 UMOVE2 [abilita asse] Y
N24 UMOVE3 asse di abilitazione Z
N25 [
N26 [ variabiliinterne
N27 RAM,1
N28 R C
I0X [omaggioXinprocesso]
N29 R C
I0Y homingYinprocesso
N30 R C
I0Z [homingZinprocess
N31 ZERIOK [assi a zero]
N32 [
N33 [ misure
N34 STR
N35 MSG1 [i messaggi di età - gli assi non sono calibrati]
ESRNDCU - Cambio casuale degli utensili con carico / scarico in tempo mascherato
N1 [ **********************************************************
N2 [* CAMBIOSTRUMENTORANDOMASINCRONO
N3 ecolevacr[eci*rei tm nuerts42noNC
cH
A
I
N4 [* ————————————————
N5 [* ESRNDCU 9401008
N6 [ **********************************************************
N7 [
N8 [******PROGRAMSWITHXAXISMOVMENTSRUNBYTHEPLC*****
N9 [CUAUTO:
N10 [ P1=100 [ X posizione per cambio attrezzo
N11 [ P2=- 100 ] Posizione Y per cambio utensile
N12 [ P3=150 [ Z sicuro altezza
N13 [ P4=50 Posizione Z per cambio utensile
N14 [
N15 [——————————————————————————————
N16 [O0 [assoluto o origine]
N17 [M26 [ sequenza 4manuale di scaricamento ]
N18 [M62 a[porstcioperturadele'tà]
N19 [ ZP3RM19 [ Z sicurezza e altezza e orientamento a spirale ]
N20 [XP1YP2R [ X Y i n pos i t i on
N21 [ ZP4R [ Z t o change pos i t i on
N22 [M. . . [ M funzione per cambio attrezzo
N23 [G4K5 [0. 5 s ec
N24 [...
N25 [O- 1 res et or i gi n
N26 [M29 [atto i vat e compens az ioni]
N27 [M63 [cl os e s t or age cover
N28 [M34 fine del cambio attrezzo
N29 [ . . . . . . . . . . . . . fine pr ogr am . . . . . . . . . . . . . . . . . . . . . . . . . . . .
N30 [—————————fine CUAUTO——————————————
N31 [
N32 [CUMANU:
N33 [M26 [manuale cambio utensile
N34 [M29 atto I vat e compensazione
N35 [M34 [fine del cambio utensile]
N36 [——————————————————————————————
N37 [
N38 [CORR:
N39 [M29 atto I IVA e compensazione
N40 [M34 fine del cambio utensile
N41 [——————————————————————————————
N42 [
N43 INP
N44 IAUXON [ 1ausiliari sono
N45 IZERM [ 2 cambiatori di utensili zero switch
N46 IRIMAA [ 3 s t o età porta aperta
N47 IRIMAC [ 4 s t o età porta chiusa
N48 [ . . . [ others..
N49 [
N50 FUORI
N51 ABX [ 1abilita asse X
N52 ABY [ 2abilita assi Y
N53 UABMAG [ 3abilita cambiamento
N54 ABZ [ 4enabl e assi Z
N55 U M
A R IA [ 5 uscite per l'apertura della porta
N56 U C MR IA [ 6 uscita per chiusura porta
N57 [ . . . [ others..
N58 RAM,16
N59 POSIZIONI FINAL I PER CAMBIATORE
N60 [
N61 RAM,1
N62
osrocniolcicinoizisopeT
A
rRam
G
IcO
ibL[I
N63 INPOS [cambiare in posizione non valida
N64 ERRM06 [M6 programmato senza T funzione.]
N65 [ [comandisor tedpercambiatoridiutensilaut
i omatic]i
N66 MM26 [manuale cambio utensile]
N67 MM62 [aprilaportadell'età]
N68 MM63 [cl os e s t or age door
N69 MM66 [haltunloadsequence
N70 C M I6 [M06 ciclo in corso
N71 [ . . . [others.]
N72 STR
N73 MSG1(0) [ testo per messaggi e allarmi ]
N74 [
N75 STIMER
N76 TR IC IT,URC
IT,DRC ITA
, RC
IT,WRC
I [validationofSGLP2P
N77 [
N78 SOFTK, 1
N79 [ ‘ +————+————+————’
N80 P1,CUAUT cambiamento strumentoAUTOMATICO
N81 P2,CUMAN, cambiare MANUALEDELLASTRUMENTAZIONE
N99 [
N100[*****TOOLCHANGERSEQUENCEDEFINITION********
N101[...SEQUENZATCPERCARICARELOSTRUMENTODALPAVIMENTO,SPINDLEVUOTO...
N102DEFSEQCU(1)=-6,-16,-34,COM,1,'CUMANU'
N103 [
N104[...SEQUENZATCPERSCARICAREDALMANDRINOATERRA(T0M6)...
N105DEFSEQCU(2)=-6,-10,-34,COM,1,'CUMANU'
N106 [
N107[...SEQUENZATCPERCAMBIOTRASPINDLEANDFLOOR...
N108DEFSEQCU(3)=-6,-10,-16,-34,COM,1,’CUMANU’
N109 [
N110[...[Link]'INVENTARIO...
N111DEFSEQCU(4)=-1,901,-5,-6,-10,-17,-34,COM,1,'CUAUTO'
N112 [
N113[...[Link]...
N114DEFSEQCU(5)=-23,923,-6,-12,-16,66,26,-27,-34,COM,1,’CUAUTO’
N115 [
N116[...SEQUENZATCPERSCAMBIARESTRUMENTICONUN'INSERTO...
N117DEFSEQCU(6)=-1,901,-5,-6,-12,-17,66,-23,923,-27,-34, $
N118COM,1,'CUAUTO'
N119 [
N120[...SEQUENZATCPERCARICAREDALL'ARCHIVIOCONSPINDOLOVUOTO...
N121DEFSEQCU(7)=-1,901,-5,-6,-17,-34, $
N122COM,1,'CUAUTO'
N123 [
N124[...SEQUENZATCPERSCARICARELOSTRUMENTODALMANDRINOALLACONSERVAZIONE....
N125DEFSEQCU(8)=-23,923,-6,-12,66,-27,-34,COM,1,'CUAUTO'
N126 [
N127[...SEQUENZATCPERCARICARELOSTRUMENTO=STRUMENTOINSPINDLE...
N128DEFSEQCU(11)=-6,-34,COM,1,’CORR’
N129 [
N130[...TprogrammatodopounT(duranteilM06attesa)...
N131[...returnJAWSallestoraeere-analizzaresituazione...
N132DEFSEQCU(19)=923,-23,-31,0
N133 [
N134[NOTA:sec'èlapossibilitàdispostareilcambiavalute
otanoizisopotaN135
tsàigèotnm
eaim
ba[cl iehcopoO GC
U
dJnoc
N136 [ automáticamentesarànecessariofareuna
N137 [ ricercadiposizioni(901)o(923)dopola-6.
N138 [
N139PROG[SEZIONEVELOCE
N140FINE [SEZIONE LENTA
N141ABX=MOVCN(1) [abilita assi
N142ABY=MOVCN(2)
N143ABZ=MOVCN(3)
N144RDMOV=MOVCN
N145POFO=ANI(1) [ alimentare oltre r i de pot ent i omet er ]
N146 [
N147 [
N148[——————————PARTESINCRONIZZATA—————————
N149 [
N150IF(“BURDY)ASINC
N151FHOLD=1;DHOLD=1
N152[ladecodificarichiedesempreunTprimaepoiM
N153IF(STROT)CHIAMAREGEFUT
N154IF(STROM)CALLGEFUM
N155BURDY=0
1-24 Sviluppo della Logica della Macchina (PLC) - Parte III (00)
Serie S3000
1. Programming examples
N156ASINC:$
N157[—————————PARTEASINCRONA——————————
N158[*******************************************************
N159 [ GESTIONETCMAUTOMATICA *
N160[*******************************************************
N161CHIAMATACUAUTO[routineautomaticaTC]
N162 [
N163CALLPOSMAG
N164[..........movimentifisiciperilcambiodegliattrezzi...........
N165[icontrollidisicurezzaperilmovimentocambiatoredevonosempreessere
N166[mettidirettamenteneglioutputdicontrollo;peresempio:
N167[fuori=((seleziona_auto)~(seleziona_man)) & sicurezza_mecc.
N168 [
N169UARIMA=MM62 [&. . . saf et y.
N170UCRIMA=MM63 [&. . . saf et y.
N171[...
N172L4=MM26 cambio manuale degli attrezzi in corso
N173[...
N174 [
N175[resetmemoryalterminedellaselezione(comandicompletati)
N176IF(IRIMAA&”IRIMAC)MM62=0 portaaperta
N177IF(IRIMAC&”IRIMAA)MM63=0 [portachiusa]
N178IF(P4) MM26=0 [okfinemanualeTC]
N179[*******************************************************
N180OTHER [ ASYNCHRONOUSCONTROLS *
N181[*******************************************************
N182 [
N183[...
N184[...
N185 [
N186[*******************************************************
N187TUTELLE, [ CONSENSIESICUREZZE *
N188[*******************************************************
N189[relatedtotheNC
N190DHOLD=EMACU~MM26~MM62~MM63~EMAP2P(1) [ ~. . .
N191FHOLD=DHOLD [ ~. . .
N192REME=FF(“IAUXON),(EMEA) [ ~. . . [richiesta di emergenza a NC]
N193 [
N194END
N195[—————————SEZIONEMOLTOLENTA————————
N196[.............etàdivisualizzazione................
N197IF(EMACU) DISPL, 1,MSG(1) ; ALTRIMENTI CLR, 1 [NC emergenza
N198IF(MM26)DISPL,2,MSG(2);ALTRIMENTICLR,2 [manual TC
N199IF(ERRM06)DISPL,3,MSG(3);ALTRIMENTICLR,3 [M6 senza T r eady
N200IF(MM62)DISPL,4,MSG(4);ALTRIMENTICLR,4 [aspettare che la porta si apra]
N235IF(AUXM=30)CHIAMARERESET;RTS
N236IF(“CUATT)RTS
N237IF(AUXM=62)MM62=1;RTS
N238IF(AUXM=63)MM63=1;RTS
N239IF(AUXM=26)M26
N240IF(AUXM=29)INTOF=1;RTS
N241IF(AUXM=34)CUATT=0;CIM6=0;RTS
N242RTS
N243 [
N244M06:$
N245IF(“CUATT)ERRM06=1;RTS [M6 senza T
N246M6PGM=1;CIM&=1
N247RTS
N248 [
N249M26:$
N250IF(NSEQCU<5)MM62=1;RTS [manuale TConl e i n SEQ 1, 2, 3, 4
N251RTS
N252 [
N253[*******************************************************
N254AUTOMA [ TIZZAZIONEDELCAMBIOUTENSILE *
N255[*******************************************************
N256[.................selectTCmode...................
N257CUAUTO:$
N258IF(CUATT)NOSELE
N259IF(P1)SELECU=0 [aut omat i c TC ( def aul t )
N260IF(P2)SELECU=1 [manuale TC (nessuna s t o età)]
N261NOSELE:$
N262 [
N263[selezionedellemodalitàdellelucitasto]
N264CUAUT=(SELECU=0)
N265CUMAN=(SELECU=1)
N266 [
N267[*******************************************************
N268[...interruzionesequenza,cancellazione,emergenza....
N269 [
N270[IlTCèinterrottosolose:
N271[-gliausiliarisonospentiduranteaTC(nonduranteM6wait)
N272[-ilcomandoaBREAKvieneinviatodurantelasequenzadicambiamento
N273 [
N274[L'interruttoèfattoconREMCUeilTC
N275[respondsattivandoEMACU
N276REMCU=FF(((BRKA&CIM6)~(“IAUXON&CUATT))&(OPERCU<>-6)),(EMACU)
N277 [
N278[IlP7sdelttastoesegueRBKCUperusciredaEMACU(emergenza)
N279IF(P7&EMACU)RBKCU=1;RBRK=1[annullaTCemergency
N280 [
N281[Dopoun'interruzioneperripristinareilTCconl'apposito
N282[sdittastodopoaverVERIFICATOLATABELLADEGLISTRUMENTI.
N283L7=EMACU [TCemergenzalamp]
N284 [
N285IF(EMACU)CHIAMARESECU[resecomandiPLC
N286 [
N287[********************************************************]
N288[......decodificaicodicidisequenza......
N289IF(“BRDYCU)NOCU
N290MAPRCU=0 haltciclo
N291CHIAMATAOPER [gestione TCcycl e]
N292BRDYCU=0 [TCcycloacquisto]
N293NOCU:$
N294 [
N295[********************************************************
N296[............OKpercontinuareilciclo.................
N297IF(“CUATT)MM66=0[sincronouspartcompletedwithM6
N298 [ okstartscaricareneltempomascherato
N299MAPRCU="MM66&"RITAGLIA [&”. . . &”. . .
N300 [
N301RTS
N302[************RITORNODACUAUTOCONTROL***************
N303 [
N304[*******************************************************
N305ROUTI [ NETODECODETCERESET *
N306[*******************************************************
N307[casoperilresetTC
N308RESECU:$
N309MM26=0 [ modifica risorsa e strumento ]
N310MM62=0
N311MM63=0
N312MM66=0
N313RITAGLIO=0
1-26 Sviluppo della Logica della Macchina (PLC) - Parte III (00)
Serie S3000
1. Esempi di programmazione
N314CIM6=0
N315[ripristinonormale(M30ointerruzione)]
N316RESET:$
N317WNDINT(1)=30 [displayM30
N318ERRM06=0 [annulla er r o onM6 ( M6senza T r eady)]
N319RTS
N320[————————————————————————————
N321[gestionedelleoperazioniTCOPERATI]
N322OPER:$
N323IF(OPERCU=26)CU26
N324IF(OPERCU=66)CU66
N325IF(OPERCU=901)CU901
N326IF(OPERCU=923)CU923
N327[...
N328RTS
N329[cambiomanualedegliutensili(sequenzasolo5)]
N330CU26:$
N331MM26=1
N332RTS
N333 [
N334[aspettaperlafinedelcambioutensile(partesincrona)]
N335CU66:$
N336MM66=1
N337RTS
N338 [
N339[cercaunpostopercaricare
N340CU901:$
N341PORIT=PPRECU
N342RITAGLIO=1
N343RTS
N344[cercaunluogoperscaricare
N345CU923:$
N346PORIT=PPOSCU
N347RITAGLIO=1
N348RTS
N349 [
N350[*******************************************************
N351CAMBIA [ TOREPOSIZIONI:ASSEPUNTOAPUNTO*
N352[*******************************************************
N353[selaposizioneèOKRICUTèreimpostato
N354POSMAG:$
N355SSAP2P(1)=1 [cambiatore sempre abilitato]
N356UABMAG=MOVP2P(1) [abilita cambiamento asse]
N357RDMP2P(1)=MOVP2P(1) [ ris post e assi s attivati ]
N358INPOS=SGLP2P(1)&MZAP2P(1)&”RUNP2P(1)&”RITAGLIA&”EMAP2P(1)[[Link]
N359 [
N360IF(“RITAGLIO)RTS [nessunbisognodiposizionamento]
N361POTP2P(1)=1 potenziometrodivelocità
N362MI ZP2P( 1) =I ZERM cambiare casa s wi tch
N363IF(“MZAP2P(1))ZEMAG [ test assi zerod (domiciliato)]
N364JGPP2P(1)=0 [ i f zer oed r es et JOG ]
N365MCZP2P(1)=0 [ i f zer oed r es et zer o s ear ch
N366[calcolaposizionedaragiungere(tramezzeviacaminopiùcorto)]
N367PFNP2P(1)=IFP(PORIT)-NEI((IFP(PORIT)-NEI(POAP2P(1)))/24)*24
N368IF(RITAGLIO)RUNP2P(1)=1 [iniziomovimento]
N369TIRIC(5)=RUNP2P(1)~TDRIC [signalINPOS
N370[none:immessosoloseMZAP2Pèpresente
N371IF(SGLP2P(1)&”TDRIC)RITAGLIA=0[movimentocompletato
N372RTS
N373ZEMAG:JGPP2P(1)=RITAGLIA [zer o s ear ch]
N374MCZP2P(1)=RITAGLIO [ imposta zero ricerca ]
N375INPOS=0 [ res et pos i t i on OK
N376RTS
N377[............programmafine.............................
Sviluppo della logica della macchina (PLC) - Parte III (00) 1-27
Serie S3000
1. Esempi di programmazione
N1 [ **********************************************************
N2 [* ASSIWICONILMEDCLAMPING/UNCLAMPING ]
N3 [* —————————————— ]
N4 [* AXBLOC1 941010 ]
N5 [ **********************************************************
N6 [
N7 INP
N8 IMUON [ 1ausiliari es on
N9 IDRAOK [ 2 dr i ves OK
N10 [
N11 FUORI
N12 MUOVITI1 [ 1 abilita asse ] 1
N13 TERMINE, 5
N14 USFREX 6 sblocco amp assi X
N15 [
N16 [ sonoingradodiinteragire
N17 RAM,8
N18 MOVCNP [copia di ol dMOVCN per variazioni di i a i]
N19 [
N20 STIMER
N21 TISBX,TUSBX,TDSBX,TASBX,TWSBX d[isuniscaimpass]i X
N22 TIBLXT
,UBLX,TDBLX,TABLX,TWBLX [cl amp axi s X
N23 [
N24 PROG
N25 FINE
N26 [*****************SEZIONELENTA***************************
N27 [ . . . . . . . . . . . . . . . funzioni ausiliarie . . . . . . . . . . . . . . . . . . . . . . .
N28 BURDY=0 [ . . . acquisire funzione da NC
N29 POFO=ANI (1) [assi f eed pot .
N30 [
N31 assi di gestione
N32 TISBX(3)=MOVCN(1) [ t imer uncl amp
N33 TIBLX(5)=(“MOVCN(1)&MOVCNP(1))~TDBLX morsetto del timer
N34 [
N35 UMOVE1=(MOVCN(1)~TDBLX)&IMUON&IDRAOK [abilita assi
N36 USFREX=MOVCN(1)&IMUON&IDRAOK n[oncalmp]
N37 [
N38 RDMOV(1)=(MOVCN(1)&"TDSBX)~TDBLX [ ris po sta a NC
N39 MOVCNP=MOVCN daMOVCNderivative
N40 [
N41 REME=FF(“IMUON~”IDRAOK) , (EMEA) [emer gency r eques t
N42 FINE
N43 I F(RDMOV<>MOVCN) DISPL, 1, 'ATTENDI PER IL BLOCCO / SBLOCCO DEGLI ASSI'; $
N44 ALTRIMENTICLR,1
N45 I F(“IMUON) DISPL, 2, ’AUXILIARI NON ATTIVI’ ; ALTRIMENTI CLR, 2
N46 I F(“IDRAOK) DISPL, 3, 'GUASTO NEL MOVIMENTO DEGLI ASSI'; ALTRIMENTI CLR, 3
N47 FINE
N48 [...................programmafine.........................
N1 [ **********************************************************
N2 [* STRINGA/DESTRINGAassiconINTERRUTTOREDIPRESSIONE ]
N3 [* —————————————— ]
N4 [* AXBLOC2 941010 ]
N5 [ **********************************************************
N6 svuotareutilizzandouninterruttoredipressione
N7 [e ampio con un attesa temporizzata.]
N8 [
N9 [ inputfisici
N10 [
N11 INP
N12 IMUON [ 1ausiliari sono
N13 IDRAOK [ 2 dr i ves OK
N14 I SBLOX [ 3 X assi non amplificati (interruttore di pressione)
N15 [
N16 [ outputfisico
N17 FUORI
N18 UMOVE1 [ 1 abilitare asse ] 1
N19 TERMINE, 5
N20 USFREX [ 6 uncl amp axi s X
N21 [
N22 [ variabiliinterne
N23 RAM,8
N24 MOVCNP [copia di ol dMOVCN per variazioni di var i]
N25 [
N26 STIMER
N27 TIBLXT,UBLX,TDBLX,TABLX,TWBLX [cl amp axi s X
N28 [
N29 PROG
N30 FINE
N31 [*****************SLOWSECTION***************************
N32 [ . . . . . . . . . . . . . . . . . var i ous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
N33 POFO=ANI (1) nutrire oltre r i de pot.
N34 BURDY=0 [ . . . acqui r e f unct i on f r omNC
N35 [
N36 gestione degli assi . . . . . . . . . . . . . . . . . . . . . . .
N37 TIBLX(5)=(“MOVCN(1)&RDMOV(1)&”ISBLOX) morsetto del timer X
N38 [
N39 UMOVE1=(MOVCN(1)~RDMOV(1))&IMUON&IDRAOK[abilitaX
N40 USFREX=MOVCN(1)&IMUON&IDRAOK [unclampX]
N41 [
N42 RDMOV(1)=(MOVCN(1)&ISBLOX)~RDMOV(1)&”(TUBLX~EMEA)[NCresponse
N43 [
N44 FINE
N45 *****************SEZIONEMOLTOLENTA*********************
N46 I F(RDMOV<>MOVCN) DISPL, 1, 'ASPETTA DI BLOCCARE/DEBOCCARE GLI ASSI'; $
N47 ALTRO CLR, 1
N48 I F(“IMUON) DISPL, 2, ’AUXILIARI NON È ATTIVO’ ; ALTRIMENTI CLR, 2
N49 I F(“IDRAOK) DISPL, 3, ’ GUASTO NEL MOVIMENTO DEGLI ASSI’ ; ALTRIMENTI CLR, 3
N50 FINE
N51 [ . . . . . . . . . . . . . . . . . . . pr ogr amEND . . . . . . . . . . . . . . . . . . . . . . . . .
Sviluppo della Logica della Macchina (PLC) - Parte III (00) 1-33
Serie S3000
1. Esempi di programmazione
N77 [partecomuneatutticasi:]
i
N78 [ L=34
N79 [O- 1 risultato e origine
N80 M29 atto di correzione
N81 [M63 porta di chiusura del magazzino
N82 M34 [fine cambio attrezzo]
N83 [G32 [fine pr ogramma]
N84 [——————— routine per calcolare lo strumento X, Y ——————
N85 [ L=99
N86 [ P15=INT( P( 14) / ( P1+1) )
N87 [P16=P10-(P1*P15)-1
N88 [ P17=P5+P16*P4 ]
N89 [ P18=P6+P15*P3
N90 [G32
N91 [—————————fine CUAUTO——————————————
N92 [CUMANU:
N93 [ P90=1
N94 [{P13=1}L1 caricadalpavimento
N95 [{P13=2}L1 [scaricareapavimento
N96 [{P13=3}L1 [scambio con il piano]
N97 [{P13=11}L11 [Tprog.=Tspindle
N98 [{P90=1}L90
N99 [
N100[casi1,2, 3
N101[L=1
N102[M26 [manual t ool change
N103[M29 [atto di correzione]
N104[{P90=1}L90
N105 [
N106[caso11
N107[L=11
N108[M29 atto di correzione
N109 [
N110[L=90
N111[M34 [fine cambio attrezzatura]
N112[——————————————————————————————
N113 [
N114INP
N115IAUXON [ 1Ausiliari sono
N116IRIMAA [ 2 St o porta d'ingresso
N117IRIMAC [ 3 St o porta chiusa
N118[... [ others..
N119 [
N120OUT
N121ABX [ 1enabl e axi s X
N122ABY [ 2abilita assi Y
N123ABZ [ 4abilita asse Z
N124UARIMA [ 7 apri la porta del magazzino
N125UCRIMA [ 8 chiudi la porta di stoccaggio
N126[... [ altros..
N127 [
N128RAM,1
N129ERRM06 [M6 programmato senza T
N130 [ [sor
t edcomandiautomatciTC
N131MM26 [cambio attrezzo manuale]
N132MM62 aprliaportaostodele' tà
N133MM63 [cl os e s t or age door]
N134[... [others.
N135 [
N136STR
N137MSG(10) [ testo per messaggi e allarmi ]
N138 [
N139SOFTK,1
N140 [ ‘ +————+————+————’
N141P1,CUAUT, AUTOMATICO TC.
N142P2,CUMAN, MANUALE TC
N143P3,L3, ‘’
N144P4,L4, fine manualeTC
N145P5,L5, ‘’
N146P6,L6, ‘’
N147P7,L7, REIMPOSTA TC
N148P8,L8, ‘’
N149 [
N150 [
N151INIT[SEZIONEDIINIZIALIZZAZIONE
N152 [
N153MSG(1)=‘VERIFYTOOLTABLEANDRESETTHETC’
N154MSG(2)=‘changetoolmanually’
N155MSG(3)=‘M6programmedwithoutTxx’
Sviluppo della Logica delle Macchine (PLC) - Parte III (00) 1-35
Serie S3000
Esempi di programmazione
N156MSG(4)=‘Waitstorageopen’
N157MSG(5)=’Waitstoragedoorclosed’
N158 [
N159 [
N160[*****DEFINIZIONEDELLESEQUENZEDICAMBIOSTRUMENTO********
N161[...SEQUENZATCPERCARICARESTRUMENTODALPAVIMENTOCONSPINDLEVUOTO...
N162DEFSEQCU(1)=-6,-16,-34,COM,1,'CUMANU'
N163 [
N164[...SEQUENZAPERSCARICAREL'ASSEINDIREZIONEDELPAVIMENTO(T0M6)...
N165DEFSEQCU(2)=-6,-10,-34,COM,1,'CUMANU'
N166 [
N167[...SEQUENZATCDASCAMBIARETRASPINDLEEPAVIMENTO...
N168DEFSEQCU(3)=-6,-10,-16,-34,COM,1,'CUMANU'
N169 [
N170[...SEQUENZATCPERSVUOTAREL'ASTASPISULPAVIMENTOECARICAREDALLASTORAGE...
N171DEFSEQCU(4)=-6,-10,-1,-4,-34,COM,1,'CUAUTO'
N172 [
N173[...SEQUENZATCPERSCARICARESPINDLENELLOSTOCCAGGIO&CARICAREDALPAVIMENTO...
N174DEFSEQCU(5)=-6,-23,-13,-16,-34,COM,1,'CUAUTO'
N175 [
N176[...SEQUENZATCPERCAMBIARESTRUMENTOCONUNOGIÀNELMANDRINO...
N177DEFSEQCU(6)=-6,-23,-13,-1,-4,-34,COM,1,’CUAUTO’
N178 [
N179[...SEQUENZATCDACARICAREQUANDOL'ASPOÈSGOCCIOLATO...
N180DEFSEQCU(7)=-6,-1,-4,-34,COM,1,'CUAUTO'
N181 [
N182[...SEQUENZATCPERSLOADARELOSTRUMENTODALMOZZOALLASTORAGE....
N183DEFSEQCU(8)=-6,-23,-13,-34,COM,1,'CUAUTO'
N184 [
N185[...SEQUENZATCPERCARICARESTRUMENTO=STRUMENTOINSPINDLE...
N186DEFSEQCU(11)=-6,-34,COM,1,'CUMANU'
N187 [
N188 [
N189PROG[SEZIONEVELOCE
N190[attivareassi
N191ABX=MOVCN(1)
N192ABY=MOVCN(2)
N193ABZ=MOVCN(3)
N194RDMOV=MOVCN
N195POFO=ANI(1) [assi di alimentazione pot.]
N196END [ SLOWSECTION
N197 [
N198[——————————PARTSINCRO—————————
N199 [
N200IF(“BURDY)ASINC
N201FHOLD=1;DHOLD=1
N202[ladecodificarichiedesempreprimaTepoiM
N203IF(STROT)CHIAMAGEFUT
N204IF(STROM)CHIAMAREGEFUM
N205BURDY=0
N206ASINC:$
N207[—————————PARTEASINCRONA——————————
N208[*******************************************************
N209 [ MODULOTCMAUTOMATICO *
N210[*******************************************************
N211CHIAMATACUAUTO[routineTCautomatica
N212 [
N213[..........attivazionifisicheperilcambiostrumento...........
N214[ilucchidisicurezzamecanicadevonoseempreessereinstallatidirettamente
N215[inthecontroloutputs,forexample:
N216[fuori=((select_auto)~(select_man)) &mech_s af et y.
N217 [
N218UARIMA=MM62 [&. . . saf et y]
N219UCRIMA=MM63 [&. . . saf et y
N220[...
N221L4=MM26 [manuale TC i npr prog in corso]
N222[...
N223 [
N224[resetmemorieallafinedell'operazione(istruzionicompletate)
N225IF(IRIMAA&”IRIMAC)MM62=0 [portaaperta
N226IF(IRIMAC&”IRIMAA)MM63=0 [portachiusa]
N227IF(P4) MM26=0 [okfinemanualeTC]
N228[*******************************************************
N229ALTRE [ COMANDIASINCRONI *
N230[*******************************************************
N231 [
N232[...
N233[...
N234 [
1-36 Sviluppo della Logica della Macchina (PLC) - Parte III (00)
Serie S3000
Esempi di programmazione
N235[*******************************************************
N236ALLARMI, [ CONSENSIESICUREZZA *
N237[*******************************************************
N238[relatedtoNC
N239DHOLD=EMACU~MM26~MM62~MM63 [ ~. . .
N240FHOLD=DHOLD [ ~. . .
N241REME=FF("IAUXON),(EMEA) [ ~. . . [emergenza t o NC
N242 [
N243END
N244[—————————SEZIONEMOLTOLENTA————————
N245[.............displaymessages................
N246IF(EMACU) DISPL, 1,MSG(1) ; ALTRIMENTI CLR, 1 [TCinemergenza
N247IF(MM26)DISPL,2,MSG(2);ALTRIMENTICLR,2 [manuale TC
N248IF(ERRM06)DISPL,3,MSG(3);ALTRIMENTICLR,3 [M6 senza T r eady
N249IF(MM62)DISPL,4,MSG(4);ALTRIMENTICLR,4 aspetta che la porta si apra
N328BRDYCU=0 [TCfaseacquisita]
N329NOCU:$
N330 [
N331[********************************************************
N332[............okpercontinuarelasequenzadellefasi.................
N333MAPRCU=1 [&”. . . &”. . .
N334 [
N335RTS
N336[************RITORNODACUAUTO***************
N337 [
N338[*******************************************************
N339ROUTI [ NETODECODETCeRESETOPERAZIONI *
N340[*******************************************************
N341[casoperresetTC
N342RESECU:$
N343MM26=0 [ res e manualeTC
N344MM62=0
N345MM63=0
N346 [
N347[ripristinonormali(M30oINTERRUZIONE)
N348RESET:$
N349WNDINT(1)=30 [displayM30]
N350ERRM06=0 [annulla er r o onM6 (M6 senza T pronto)]
N351RTS
N352[————————————————————————————
N353[gestireOPERAZIONITC
N354OPER:$
N355[IF(OPERCU=...)OPCUX
N356[...
N357RTS
N358 [
N359[OPCUX:...;RTS
N360 [
N361[............finedelprogramma.............................
N1 [ **********************************************************
N2 [*POSIZIONAMENTODELLASTORAGEDEGLIATTREZZIcomeunASSEINDIPENDENTE] ]
N3 [* —————————————————— ]
N4 [* AXP2P941008 ]
N5 [ **********************************************************
N6 [
N7 [*****************SEZIONEDICHIARAZIONE********************
N8 [Cons i der a t ool s t or age wi t h 24 pos i t i ons .
N9 La'lgoritmoutilizzeràilpercorsopiùbreveversolostrumento.
N10 [Usando un trasduttore non assoluto.
N11 In modalità manuale il posizionamento terminerà sempre su una stazione.
N12 [
N13 IlsegnaleINPOSindicalu' ltimaposizioneraggiunta.
N14 [
N15 INP
N16 IZERM osta[rgezeorsw
chti]
N17 IRIPM [storagedoorswitch
N18 [
N19 FUORI
N20 UMOVEX [attiva asse] X
N21 UMOVEY [abilita asse Y
N22 UMOVEZ [abilita assi] Z
N23 UABMAG abilita archiviazione
N24 INPOS [assi s i n pos i z i one
N25 [
N26 RAM,16
N27 PORI T richiesta posizionamento stockage
N28 [
N29 RAM,1
N30 A
T
AG
R
LI [ strumenti di richiesta per la posizione di stoccaggio ]
N31 [
N32 STIMER
N33 timer per la tolleranza di posizionamento dello stoccaggio
N34 TR
ICIT,URC
IT,DRC
IT
A
,RC
IT,CRC
I
N35 [ sditchiavemenucontrollatodaPLC
N36 SOFTK, 1
N37 P1, L1, 1, ’ JOG + stoccaggio
N38 P2, L2, 1, ’ JOG - stoccaggio
N39 [
N40 PROG
N41 FINE
N42 [*****************RALLENTATO***************************
N43 [ . . . . . . . . . . decodificare funzioni ausiliarie . . . . . . . . . .
N44 I F(“BURDY) ASINC
N45 DHOLD=1;FHOLD=1
N46 I F( STROT) CHIAMO GEFUT
N47 I F( STROM) CHIAMO GEFUM
N48 BURDY=0
N49 ASINC:$
N50 [
N51 [—————ASYNCHRONOUS PART——————————————
N52 UMOVEX=MOVCN(1) [abilita X
N53 UMOVEY=MOVCN(2) [abilita Y
N54 UMOVEZ=MOVCN(3) abilita Z
N55 RDMOV=MOVCN [assi abilitati da richiesta NC]
N56 [
N57 [ posizionamento di stoccaggio
N58 I F (NCMD<>5) NOJ OG
N59 I F ( P1) PORI T=FPI (NEI ( POAP2P) +1) ; RI TAGLIA=1; L1=1
N60 I F ( P2) PORI T=FPI (NEI ( POAP2P) - 1) ; RI TAGL=1; L2=1
N61 $:EN
OJ
N62 I F(“RI CUT) L1=0; L2=0
N63 CALLPOSMAG
N64 [
N65 generale
N66 FHOLD=RI TAGLIO
N67 DHOLD=RITAGLIO haltdatablocchi
N68 REME=FF( ) e s s aEMAP2P(
( an i hccam1) a l)l,e(dEMEA)
azneg r emE
N69 [
N70 I F(BRKA) CHIAMARE RIPRISTINO [ ris et funzioni PLC da NC ]
N71 [
N72 FINE
N73 [ . . . . . . . . . . . . . . vedere e section lenta . . . . . . . . . . . . . . . . . . . . . . . . .
P AO P ( I E N = A R T S N74
EN I F
N75 ASCW=109
N76 FINE
N77 [
N78 [**********************SEZIONEROUTINE***************
N79 [ *******************************************************
N80 [ POSIZIONAMENTO DI STOCCAGGIO: ASSE INDIPENDENTE *
N81 [ *******************************************************
N82 POSMAG: $
N83 POTP2P( 1) =1 speed
[ CONTROLPOT.
N84 SSAP2P( 1) =1 [storetàsempreattiva
N85 MIZP2P( 1) =I ZERM [ interruttore di azzeramento della memoria
N86 UABMAG=MOVP2P(1)[abilital'assediarchiviazione
N87 RDMP2P(1)=MOVP2P(1) [asse s abilitato r es posta
N88 INPOS=SGLP2P( 1)&MZAP2P( 1)&”RUNP2P( 1)&”RI TAGLIA&”EMAP2P( 1) [ i n pos .
N89 [
N90 Errori e ripristino...
N91 I F( EMAP2P( 1) ) RI CUT=0; RTS comando di ripristino errore
N92 [act i vat e REMEonEMAP2P
N93 [
N94 [ i f axi s at zero . . .
N95 I F(“MZAP2P( 1) ) ZEMAG test assi zero
N96 JGPP2P( 1) =0 [annulla JOG
N97 MCZP2P1= ()0 [annulla modalità di ricerca zero]
N98 [
N99 calcola posizione usando il percorso più breve
N100PFNP2P(1)=IFP(PORIT)-NEI((IFP(PORIT)-NEI(POAP2P(1)))/24)*24
N101IF(RITAGLIO)RUNP2P(1)=1 [ s tar t pos i t i oni ng
N102TIRIC(5)=RUNP2P(1)~TDRIC [segnaledisincronizzazioneperINPOS]
N103[none:inseritosoloseMZAP2Pèpresente
N104IF(SGLP2P(1)&”TDRIC)RITAGLIO=0[movimentocompletato
N105RTS
N106 [
N107[assistzero...
N108ZEMAG: $
N109JGPP2P(1)=RITAGLIO [ per ce JOG+ per zer o s ear ch ]
N110MCZP2P(1)=RITAGLIO [ seleziona modalità di ricerca ]
N111INPOS=0 [ immedi at el y r emove INPOS
N112RTS
N113 [
N114 [ . . . . . . . . decodifica le funzioni M & T . . . . . . . . . . . . . . . . . . . . . . .
N115GEFUT:$
N116PORIT=TOOL seleziona posizione da cercare
N117RTS
N118 [
N119GEFUM:$
N120WNDINT(1)=AUXM [displayM
N121IF(AUXM=6)RITAGLIA=1;RTS oastrg[epozinsm
suilto] T
N122RTS
N123 [
N124[............routinedireset.............................
N125RESET:$
N126IF(EMAP2P(1))RBKP2P(1)=1;RITAGLIO=0 recupero P2P emergenza
N127WNDINT(1)=30 displayM30
N128RTS
N129[...........programmafine................................
N1 [ ***************************************************
N2 [* ]
N3 [* CAMBIO Caxi s C e SPI NDLE
N4 [* ———————————————
N5 [* COMMUCM940516
N6 [*
N7 [ ***************************************************
N8 [ N e l l a d a t i n a c o n f i g u r a z i o n e i l C a x i s è s t a t o c o n s i d e r a t o # 4. ]
N77 [****************GESTISCICaxis*****************
N78 ris e sequenza (interruzione)
N79 I F(BRKA&( CI CM20~CI CM21) ) CHIAMARE RESCM
N80 [
N81 gestire potenziamenti
N82 I F(CI CM21) POMO(4) =. 1; ALTRIMENTI POMO( 4) =ANI (2)
N83 [
N84 [ . . . . . . . . commutare da C axis a spindolo . . . . . . . . . . . . . . . . .
N85 [ sequence: 1=-)4R Q
(SDI
N86 [ - SPDRQ(1) =0 e SPDI S( 1) =0
N87 [ - axisC=0;axisM=1
N88 I F(“CI CM20) NOCM
N89 I F(“SPDRQ(1) ) assi sC=0; assi sM=1; CI CM20=0; NOCM
N90 I F(DISRQ(4)) SPDRQ(1) =0; SPDIS(1) =0; NOCM
0N91
=)4A
(SS;1=)4R
Q
(SDI
N92 NOCM: $
N93 [
N94 swi tch f r om s pi ndl e t o C axi s
N95 [ sequence: - SPMOT(1)
N96 [ - SPDRQ(1) =1; SPDIS( 1) =1
N97 [ 0=-)4RQ
(SDI
N98 [ - FOMAN(4) =1; MARK(4) =1; JOGP( 4) =1
N99 [ - eatusnaMIZEA(4)
N100 [ - JOGP( 4) =0; MARK(4) =0; FOMAN(4) =0
N101 [ - èuatn“JOGNI (4)
N102 [ - SSA(4) = 1 (se necessario)
N103 [ - axisC=1;axisM=0
N104IF("CICM21)NOMC
N105IF(SSA(4)&MIZEA(4))axisC=1;axisM=0;CICM21=0;NOMC [fine ciclo]
N106IF(MIZEA(4)&"JOGIN(4))SSA(4)=1;NOMC SSA
N107IF(MIZEA(4))FOMAN(4)=0;MARK(4)=0;JOGP(4)=0;NOMC zero fatto
N108[farezeroo
N109IF(“MIZEA(4)&”DISRQ(4))FOMAN(4)=1;MARK(4)=1;JOGP(4)=1;NOMC
N110IF(SPDRQ(1))DISRQ(4)=0;NOMC
N111IF("SPMOT(1))SPDRQ(1)=1;SPDIS(1)=1
N112NOMC: $
N113 [
N114[...............gestionedeipiani. . . . . . . . . . . . . . . . . . . . . . . . . .
N115 [
N116[velocitàepoteredisovraesercizio
N117SPSSO(1)=ANI(3)
N118SPVEL(1)=VELOCITÀ
N119 [
N120ABMAN=SPMOV(1) [storeSPINDLEabilitazione]
N121ABC=MOVCN(4) [storeCaxisabilitainer]
N122ABILM=ABMAN~ABC [
N123 [
N124[*******GESTISCEABILITÀANC*******
N125DHOLD=CICM20~CICM21
N126FHOLD=DHOLD
N127 [
N128END
N129GIRMI=INT(ASS(SPTCH)) di s p la y ef f e c t i ve s pe ed
N130WIFINE=PASP mostraposizionedellabobina
N131ASCW=109
N132IF(axisC)DISPL,0,’CaxisACTIVE’;ELSECLR,0
N133FINE
N134 [
N135GEFUM:$
N136IF((AUXM=3)&axisM)SPROT(1)=1;SPDIR(1)=0;RTS
N137IF((AUXM=4)&assiM)SPROT(1)=1;SPDIR(1)=1;RTS
N138IF(AUXM= 5)LM05
N139IF(AUXM=20)LM20
N140IF(AUXM=21)LM21
N141RTS[Funzioneprogrammata(Noncontrollata)
N142 [
N143LM05:SPROT(1)=0;RTS
N144LM20:IF(axisC)CICM20=1;RTS;ALTRIMENTIRTS[daCaS
N145LM21:IF(assisM)CHIAMALM05;CICM21=1;RTS;ALTRIMENTIRTS[daSaC
N146 [
N147[RispostaalSPINDLEsuinterruzione
N148RESCM: $
N149JOGP(4)=0;MARK(4)=0;FOMAN(4)=0;DISRQ(4)=1
N150SPDRQ(1)=0;SPDIS(1)=0
N151CICM20=0;CICM21=0
N152axisC=0;axisM=1
N153RTS
N154[...................terminedelprogramma.........................
N1 [ ***************************************************
N2 [ RICONFIGURATAVOLAATTREZZI
N3 [ TABUTE1940908
N4 [ ***************************************************
N5 [
N6 RAM,16
N7 IND Indicedell'elementocorrente
N8 [
N9 RAM,1
N10 MM1234 Risorse e ciclo in corso
N11 [
N12 PROG
N13 FINE
N14 [
N15 I F(“BURDY) ASINC
N16 DHOLD=1;FHOLD=1
N17 I F( STROM&( AUXM=1234) ) CHIAMATA GEFUM
N18 BURDY=0
N19 ASINC:$
N20 [
N21 DHOLD=MM1234
N22 FHOLD=DHOLD
N23 [
N24 [ . . . . . . . . . . . . . RIPRISTINA TAVOLO STRUMENTI . . . . . . . . . . . . .
N25 Questocicloriposizionailuoghidegliatrezzi
N26 [da1ailnumerodeiluoghidistoccaggio.]
N27 I F(“MM1234) SKI P [ciclo M1234 non attivo]
N28 I F(UTEFRE<=0) SCII [nessunaulteriorevocepossibile]
N29 ESEGUIRE scrivi il numero richiesto di voci
N30 I F( IND>MAGNPO) MM1234=0;NOWRI [Ciclo e finito]
N31 UTPOS(IND)=IND [Caricaposizione]
N32 IND=IND+1 Incrementaindicediposizione
N33 NOWRI:$
N34 FINE
N35 SALTA: $
N36 [
N37 FINE
N38 FINE
N39 [
N40 GEFUM:$
N41 MM1234=1 Inizio del ciclo stellare
N1 [ *********************************************************
N2 [ ]
N3 [ ESEMPIO: TESTA INDICIZZATA DEL Mandrino A SCOMPOSIZIONE
N4 [ ]
N5 [ TESTAR941010
N6 [ *********************************************************
N7 Questoesempiomostralatecnicadicommutazionepercontrolare
N8 spindleetestaconlostessomotoreetrasduttore.
N9 [Le configurazioni dei parametri sono definite in due canali]
N10 cheilprogrammaPLCabiliteràalternativamente.
N11 [
N12 Ilmetodopreferitoèutilizzareduesequenzecontrolate
N13 utilizzandolefunzioniM20eM21persemplificare
N14 l'usodialtricomandinecessariperilmeccanico
N15 operazioniel'estensioneadueassi.
N16 [
N17 La'sseprincipaleutilizzailtrasdutoreaspiraleinmodoincrementale
N18 [modalità, evita di ripristinare quando il marcatore pulsa]
N19 il sensore dell'asse deve essere configurato per un'interruttore domestico.
N20 [
N21 [All'accensione, viene eseguita un'inizializzazione a due fasi:]
N22 [1-aggiornareposizionetesta]
N23 [2-passaaspindel]
N24 [
N25 [programPROM21commutailmandrinosull'asseprincipale]
N26 [—————————————————————————
N27 [M5 [stopspindle(orientifrequested)
N28 [M101 disabilitarelaletturaeilcontrollodelmandrino
N29 [M102 [startlettoassistenza]
N77 R
S
P
T
A
N)C
M
G
H
B
T
=
(IS
)I displayS
N78 FINE
N79 [
N80 —RUTINE—
N81 GEFUM: $
N82 WNDINT(1)=AUXM [dsiposatM]
N83 I F(AUXM=3) M03
N84 I F(AUXM=4) M04
N85 I F(AUXM=5) M05
N86 I F(AUXM=20) M20
N87 I F(AUXM=21) M21
N88 I F(AUXM=101) M101
N89 I F(AUXM=102) M102
N90 I F(AUXM=103) M103
N91 I F(AUXM=104) M104
N92 I F(AUXM=112) M112
N93 I F(AUXM=113) M113
N94 RTS
N95 M03S:PDRI1(=)0R
;OTMA=1R ;TS
N96 M04S:PDRI1(=)1R
;OTMA=1R ;TS
N97 M05R :OTMA=0R ;TS
N98 M20C :OM P'1R
, OM2R0;'TS
N99 M21C :OM P'1R
, OM2R1;'TS
N100M101:SPDRQ(1)=1;SPDIS(1)=1;RTS disabilitarelaletturae
N101 [ [spindlecontrol
N102M102:DISRQ(4)=0;RTS [abilita letture asse principale]
N103 [
N104M103:SHIFT(4)=SHIFT(4)+POO(4)-MEMTA;RTS[aggiornatesta
N105 [
N106M104:DSERV(4)=0;RTS [abilita il controllo dell'asse principale]
N107 [
N108M112:DISRQ(4)=1;DSERV(4)=1;RTS disabilitarelaletturae
N109 [ [controllotesta]
N110M113:SPDRQ(1)=0;SPDIS(1)=0;RTS [abilita lettura e
N111 [ controllodellaspina
N112 [
N113INTSTA:SPDRQ(1)=1 [fase1inizializzatesta]
N114SPDIS(1)=1
N115DSERV(4)=1
N116DISRQ(4)=0
N117SHIFT(4)=SPOSTA(4)+POO(4)-MEMTA
N118PFASE2=1 [ set pul s e 2a i ni t . phas e
N119RTS
N120 [
N121FASE2:ROTMA=0 [fase2intestazioneni
i.t
N122SPDIS(1)=0
N123SPDRQ(1)=0
N124DISRQ(4)=1
N125DSERV(4)=1
N126RTS
N127[...................finedelprogramma.............................
APPENDICI
DIC Esadecimale
CHAR DIC ESE CARATTERE DIC ESE CARATTERE DIC Esadecimale
CARATTERE
DIC ESAGONALE
CARATTERE DIC esadecimaleCARATTERE DIC esagono CARATTERE DIC ESAGONALE
CARATTERE
141 8D ì 157 9D Y
T
173 AD ¡ 189 BD
DIC ELEX CARATT DIC esagono CARATTERE DIC HEX CARATTERE DIC EAS CARATTERE
This appendix introduces the most important services;the details of the functions listed below are found
in questo manuale. Si prega di consultare le sezioni specifiche nel manuale per ulteriori informazioni.
∙ Durante l'esecuzione di un programma è possibile utilizzare la modalità manuale per muovere gli assi che sono
non controllato dal programma di parte stesso.
∙ È possibile azzerare gli assi senza alcun intervento da parte dell'operatore, ripetendolo quando
necessario in modalità automatica.
∙ La velocità degli assi in JOG può essere impostata individualmente per ciascun asse.
∙ Quando è in stato di HOLD durante l'esecuzione di un programma, è possibile muovere gli assi in JOG
o con la manopola.
∙ Fino a 4 mandrini sono ora gestiti direttamente con un set ridotto di istruzioni utilizzando l'interno
MODULO DEL RITRATTO. Queste istruzioni controllano velocità, orientamento, cambio di gamma, ricerca,
rampe di accelerazione/decelerazione e sincronizzazione con mandrini secondari.
∙ ASSI INDIPENDENTI non interpolati con i primari possono essere controllati utilizzando un insieme ridotto
di funzioni dedicate tramite il MODULO DI MOVIMENTO AD ASSE INDIPENDENTE.
∙ La gestione del cambio utensile manuale o automatico con utensili suddivisi per famiglie o per
i tagli diversi sono semplificati utilizzando il MODULO CAMBIO STRUMENTO.
∙ Sono state introdotte due nuove sezioni logiche, oltre a quelle esistenti:
Logica ULTRA VELOCE con tempo di scansione pari al campionamento del sistema
valuta(configurabile).
Logica Ultra LENTA per la gestione di fenomeni lenti o molto lenti funzioni prioritarie.
∙ I softkey gestiti dal PLC sono ora sempre presenti e accessibili in ogni ambiente.
∙ Il menu di selezione softkey da attivare può essere fatto tramite una variabile PLC aggiunta.
∙ I comandi delle SOFTKEYS possono essere a impulso o continui per la durata del tempo in cui
il tasto softkey è premuto. Ciò consente la sostituzione dei veri pulsanti esterni (funzioni JOG)
ad esempio).
∙ Utilizzando i tasti di scelta rapida e il microeditor associato, ora è possibile inserire o modificare a
livello utente finale il contenuto delle variabili alfanumeriche, così come delle variabili numeriche.
∙ I parametri del servo possono essere regolati in tempo reale tramite un menu a tasti soft con richiamo simultaneo a
the graphic analyzer. The results can be verified immediately without initializing the NC.
∙ Le funzioni di modifica del programma sono state ampliate con l'aggiunta della gestione dei blocchi, così come
con la ricerca e sostituzione di sequenze di caratteri.
∙ Utilizzando le tabelle è possibile memorizzare tutte le variabili e i parametri per la visualizzazione (dinamica
o con analizzatore grafico). Questo fornisce uno strumento analitico utile.
∙ L'analizzatore grafico e il display dinamico possono essere accessibili rapidamente con una semplice pressione di tasto
combinazioni (tasti di scelta rapida) come alternativa ai tasti del menu regolare.
∙ Le variabili sono rese disponibili per l'analisi dinamica degli assi servo e della copia.
∙ Tutte le variabili NC relative agli assi e all'I/O analogico che sono rese disponibili al PLC
sono in formato DOUBLE (RAM, 64). Non richiedono operazioni di trasformazione per essere
leggere.
∙ Nelle espressioni numeriche è ora possibile eseguire funzioni di annidamento delle trasformazioni tra
formati diversi e operazioni matematiche complesse.
∙ È ora possibile utilizzare una subroutine ripetuta da più sezioni del programma.
∙ L'istruzione IF è stata migliorata con l'opzione di estensione ELSE più istruzioni collegate
ai risultati dei test attuali.
∙ L'istruzione EXEC può essere eseguita in un ciclo per un numero parametrico di volte.
∙ Sono state introdotte numerose funzioni per la gestione delle stringhe di caratteri con un
lunghezza massima di 254 caratteri.
∙ Le variabili RAM che non venivano mantenute nel S1200 dopo lo spegnimento dell'NC ora vengono mantenute in
SRAM.
APPENDICE D – DIAGNOSTICA
MESSAGES
E18: numero dell'utensile diverso da T del mandrino
E19: valore di correzione troppo alto ( > 2 mm )
E20: numero di origine o di attrezzo non previsto
E21: nessun incremento (funzione I)
E22: cambio di piano seguito da funzioni incompatibili
E23: correzioni parassiali applicate a posizioni polari
E24: funzione O incompatibile con il cambio utensile di tipo S1200
E25: G duplicato
E26: position duplicated
E27: L duplicato
E28: P duplicato
E29: R duplicato
E30: S duplicato
E31: F duplicato
E32: M duplicato
E33: funzione non presente
E34: distanza min. dal centro mancante per G202
E35: abscissa mancante nella definizione della macro
E36: ordinate mancanti nella definizione della macro
E37: numero di cicli mancanti nella definizione di supercicli
E38: distanza mancante nella definizione di supercicli
E39: raggio del cerchio mancante nella definizione di supercicli
E40: la funzione jump non è autorizzata in exec dalla periferica
E41: chiamata alla funzione L (Lxx) mancante o duplicata
E42: chiamata alla sequenza memorizzata (*) non definita
E43: funzione L non consentita in un singolo blocco
E44: richiamo della funzione L in un file troppo grande
E45: la memoria esaurita durante la compilazione o la digitalizzazione