Il 0% ha trovato utile questo documento (0 voti)
4 visualizzazioni238 pagine

S3000 PLC

Il manuale fornisce informazioni dettagliate sulla logica della macchina per il Controller numerico serie S3000, destinato agli OEM di macchine utensili. È suddiviso in tre parti: linguaggio di programmazione, interfaccia di sistema e esempi di programmazione, con descrizioni delle istruzioni e procedure operative. Include anche riferimenti a documenti aggiuntivi per una comprensione più completa del sistema.

Tradotto da

ScribdTranslations
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
4 visualizzazioni238 pagine

S3000 PLC

Il manuale fornisce informazioni dettagliate sulla logica della macchina per il Controller numerico serie S3000, destinato agli OEM di macchine utensili. È suddiviso in tre parti: linguaggio di programmazione, interfaccia di sistema e esempi di programmazione, con descrizioni delle istruzioni e procedure operative. Include anche riferimenti a documenti aggiuntivi per una comprensione più completa del sistema.

Tradotto da

ScribdTranslations
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd

CNC - SERIE S3000

Logica della macchina

Manuale di Sviluppo
(PLC)

DIR. EMC 89/336


DIR. LVD 73/23 + 93/68
Serie S3000
General

REVISIONI
Rev.# [Link] Pagine revisionate

00 21/07/95 Seconda uscita CMAPLC95070E

------- ---------------- ---------------------------------------------------------------------------------------------------------------------

01 25/08/99 Terza uscita CMAPLC99081E

Le funzionalità descritte in questo manuale di aggiornamento sono completamente implementate su


Sistemi della serie S3000 con versioni software dopo luglio 1999; il software
le versioni includono in parte le caratteristiche descritte.

------- ---------------- ---------------------------------------------------------------------------------------------------------------------

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.

Sviluppo della Logica Macchina (PLC) (01) 1


Serie S3000
Generale

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.

2 Sviluppo della Logica Macchina (PLC) (00)


Serie S3000
Generale

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.

Quando richiesto, il manuale segnala le differenze tra il sistema Series S3000 e il


sistema precedente (S1200). Queste informazioni potrebbero essere utili per coloro che hanno lavorato con il
sistema precedente.

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.

∙ Manuale dell'utente (per la programmazione)


∙ Manuale di Configurazione del Sistema
∙ Manuale di installazione

Sviluppo della Logica di Macchine (PLC) (01) 3


Serie S3000
Generale

RIEPILOGO
Il manuale è suddiviso in tre parti indipendenti:

Parte I Linguaggio di programmazione e procedure operative


Questa parte contiene descrizioni di tutte le istruzioni di programmazione, inclusi i semplici
esempi, così come procedure di utilizzo e i tasti morbidi che controllano le operazioni in questo
area.

Parte II Interfaccia di Sistema


This part describes all of the instructions exchanged by the PLC and the NC, including their
funzione e utilizzo.

Parte III Esempi di programmazione


Questa parte contiene alcuni esempi di applicazioni reali che sono state realizzate utilizzando il PLC
Il contenuto dei singoli capitoli presenti in ciascuna delle parti è il seguente:

Parte I

Capitolo 1 Caratteristiche e Utilità


Questo capitolo elenca tutte le caratteristiche principali della serie SELCA S3000 e il loro
utilità.

Capitolo 2 Procedure operative


Questo capitolo descrive i tasti soft utilizzati nell'ambiente APPLICAZIONI per eseguire tali
operazioni di programmazione come; modifica, compilazione, attivazione e debug.

Capitolo 3 Organizzazione del programma


Questo capitolo descrive la struttura del programma e il formato per le costanti e
variabili utilizzate all'interno del programma.

Capitolo 4 Impostazioni predefinite


Questo capitolo contiene un elenco di variabili che devono essere impostate prima di iniziare
programmazione. Ad esempio; ingressi/uscite, tipi di impulso, contatori, definibili logicamente
tasti soft, variabili interne e timer.

Capitolo 5 Funzioni e Operazioni


Questo capitolo descrive le istruzioni utilizzate durante la programmazione, inclusi i relativi
parametri e limiti. Le funzioni sono suddivise in: logica, conversione delle variabili di formato,
operazioni aritmetiche/matematiche e operazioni su stringhe.

Capitolo 6 Istruzioni per i controlli del programma


Questo capitolo descrive le funzioni che variando il flusso del programma mentre è in esecuzione; come, ad esempio,
salti, cicli e sottoprogrammi.

Capitolo 7 Funzioni Speciali


Nel capitolo finale della Parte I vengono descritte alcune funzioni utente, come; statistiche
calcoli, selezione del segnale e messaggi degli utenti.

4 Sviluppo Logica Macchina (PLC) (00)


Serie S3000
Generale

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.).

Nota: Il tasto Invio è posizionato verticalmente sulla ).tastiera


Tuttavia (è rappresentato orizzontalmente
in questo manuale per un migliore uso dello spazio .

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.

Sviluppo Logica Macchina (PLC) (01) 5


Serie S3000
Generale

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

3. ORGANIZZAZIONE DEL PROGRAMMA


3.1. REGOLE GENERALI.......................................................................................................................3-1
3.2. STRUTTURA DEL PROGRAMMA ...........................................................................................................3-2
3.2.1. SEZIONE DICHIARAZIONE ................................................................................................3-2
3.2.2. SEZIONE DI INIZIALIZZAZIONE.................................................................................................3-3
3.2.3. SEZIONE PROGRAMMA ...........................................................................................3-3
Logica superveloce ..................................................................................................................3-3
Logica rapida...........................................................................................................................3-3
Logica lenta..........................................................................................................................3-3
Logica superslow.................................................................................................................3-4
Sincronizzazione.................................................................................................................3-4
3.2.4. SEZIONE RUTINE .......................................................................................................3-4
3.3. VARIABILI E FORMATO NUMERICO.......................................................................................3-4
3.3.1. VETTORI E VARIABILI SINGOLE................................................................................3-5
3.3.2. VARIABILI STATICHE E DINAMICHE...............................................................................3-6
3.3.3. COSTANTI.....................................................................................................................3-6
3.3.4. COSTANTI CONFIGURABILI PER LA LOGICA DELLA MACCHINA .................................................3-6
3.3.5. DISPOSIZIONE DEI BIT SINGOLARI INTERNA ALLE VARIABILI................................3-7
3.3.6. ACCESSO AI BIT VARIABILI ..........................................................................................3-8
Variabili singole..................................................................................................................3-8
Variabili vettoriali.............................................................................................................3-8
3.3.7. ACCESSO AI BIT DI VARIABILI ADIACENTI.............................................................3-9

6 Sviluppo della logica della macchina (PLC) (00)


Serie S3000
Generale

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

6. ISTRUZIONI PER IL CONTROLLO DEL FLUSSO DEL PROGRAMMA


6.1. SALTO INCONDIZIONATO.............................................................................................................6-1
6.2. SALTO CONDIZIONALE..................................................................................................................6-2
6.3. ESECUZIONE CONDIZIONALE.......................................................................................................6-2
6.4. GOTO CALCOLATO..................................................................................................................6-2
6.5. DOMANDA ANDARE A ..................................................................................................................6-3
6.6. CICLO
6.7. SOTTORETE..............................................................................................................................6-5

Sviluppo della Logica Macchina (PLC) (01) 7


Serie S3000
General

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

1. FLUSSO DEL SEGNALE E SCAMBIO DI DATI


1.1. STATO NC.................................................................................................................................1-1
1.2. FUNZIONI AUSILIARIE SINCRONE E PREPARATORIE .........................................1-2
1.2.1. ACQUISIZIONE DI INFORMAZIONI SINCRO NICHE DA PLC A NC ..................................1-3
1.2.2. SEGNALE COM TERMINAZIONE SOTPROGRAMMA .......................................................1-3
1.2.3. PARAMETRI SUPPLEMENTARI I, J, K, Q .................................................................1-3
1.2.4. ESECUZIONE DI FUNZIONI AUSILIARE "AL VOLO"..............................................1-4
Funzioni ausiliarie: note sull'invio della velocità.................................................................1-4
1.3. CONTROLLI ASINCRONI DI AVVIO, INTERRUZIONE, ALLARME E CONFERMA ...................1-5
1.4. ORIGINI DEGLI STRUMENTI E COMPENSAZIONE ....................................................................................1-7
1.4.1. CAMBIO MANUALE DEGLI UTENSILI.........................................................................................1-7
1.4.2. CAMBIO STRUMENTO MANUALE TIPO S1200...........................................................................1-7
1.4.3. CAMBIO AUTOMATICO DEGLI UTENSILI...........................................................................................1-7
1.5. COMANDI CHE REGOLANO L'ALIMENTAZIONE DEGLI ASSI.................................................................................1-8
1.5.1. ABILITAZIONE E BLOCCO DEGLI ASSI ....................................................................................1-8
1.5.2. ASSI SEMPRE ATTIVI O CON BLOCCO (M10 - M11).............................................1-9
1.5.3. RILASCIO DEGLI ASSI (M45 - M46) ...........................................................................................1-10
1.5.4. DISABILITAZIONE DEL TRASDUTTORE..............................................................................................1-10
1.5.5. MOVIMENTO MANUALE IN JOG .........................................................................................1-10
1.5.6. MOVIMENTO MANUALE CON VOLANTE....................................................................1-11
1.5.7. HOMING GLI ASSE .........................................................................................................1-11
Ciclo di riferimento utilizzando gli interruttori domestici..............................................................................1-12
Taratura utilizzando lo zero elettrico del trasduttore (marcatore) ............................................1-15
Rientro utilizzando scale ottiche .............................................................................................1-16
1.5.8. MOVIMENTI IN MANUALE DURANTE LO STATO DI FERMo.........................................................1-17
1.5.9. MOVIMENTO IN MANUALE E RIFERIMENTO DURANTE IL PROGRAMMA
ESECUZIONE......................................................................................................................1-17
1.5.10. INFORMAZIONI RELATIVE AGLI ASSE ......................................................................1-17
1.5.11. COMPENSAZIONE DINAMICA DELLA POSIZIONE DELL'ASSE.........................................................1-19
1.5.12. OFFSET PER GLI ASSI CONTROLLATI..............................................................................1-19
Offset di origine aggiuntivo per assi controllati........................................................................1-19
1.6. GESTIONE DELLA SONDINA DI MISURA DEL CONTATTO........................................................1-20
1.7. LIMITI DEL SOFTWARE AXIS...........................................................................................................1-20
Limiti software degli assi del controller: disattivare l'errore E93.....................................................1-21
1.7.1. LIMITI SOFTWARE AGGIUNTIVI............................................................................ 1-21

8 Sviluppo della logica della macchina (PLC) (00)


Serie S3000
General

1.8. GESTIONE DELL'ASSE DI TIPO SPECIALE .......................................................................................1-22


1.8.1. ASSI PARALLELI (GANTRY)............................................................................................1-22
1.8.2. ASSI NON CONTROLLATI PROGRAMMABILI .............................................................1-22
1.8.3. ASSI MASTER SLAVE (OPZIONE NC "MS").....................................................................1-23
1.8.4. LEGGERE INGRESSI E SCRIVERE USCITE ANALOGICHE: I/O REMOTO
MODULI .........................................................................................................................1-23
1.9. LETTURA E SCRITTURA DI INGRESSI E USCITE ANALOGICI ..................................................1-25
1.10. SCAMBIO DI DATI TRA PLC E PROGRAMMA PARZIALE ............................................1-25
1.11. FINESTRE DI VISUALIZZAZIONE VIDEO NC..............................................................................................1-26
1.12. DATA E ORA DEL SISTEMA........................................................................................................1-27
1.13. SEGNALI PER COPIARE E DIGITIZZARE SUPERFICI ........................................................1-27
1.13.1. REGISTRO DI STATO DELLA COPIA E DELLA PROVA DIGITALE .................................. 1-29
1.14. VARIABILI PER VERIFICARE I TEMPI DI ESECUZIONE DEL SISTEMA.........................................................1-30
1.15. SIGNALI DI ERRORE ACCEDUTI DALLA LOGICA ......................................................................1-30
1.16. LEGGERE E MODIFICARE I PARAMETRI DI CONFIGURAZIONE DELL'ASSE...................................1-31
1.17. GESTIONE DI NUMEROSI ASSI INTERPOLANTI SIMULTANEAMENTE
GRUPPI (GDA). .......................................................................................................................1-32
1.18. GESTIONE DEI DRIVE DIGITALI PER ASSE E SPINDLE...........................................1-33

2. MODULI INTERNO DEDICATI


2.1. MODULO DI GESTIONE DELL'ASSE ..........................................................................................2-1
2.1.1. SEGNALI E REGISTRI PER LA ROTAZIONE DELLE MANDRINO.................................................2-1
2.1.2. SEGNALE E REGISTRI PER LA SELEZIONE DELLA PORTATA..................................................2-2
2.1.3. SEGNALI E REGISTRAZIONI PER L'ORIENTAMENTO DELLO SPILLO..........................................2-3
Orientamento della posizione assoluta.............................................................................................2-3
Orientamento unidirezionale...................................................................................................2-3
2.1.4. SEGNALI E REGISTRI PER SPINDLE SINCRONIZZATO SPINDLE ......................2-3
2.1.5. SEGNALI E REGISTRI COMUNI A TUTTI I TIPI DI SPINDLE ................................2-4
2.1.6. SPINDOLO CON O SENZA TRASDUTTORE ...............................................................2-5
2.1.7. NOTA SUL CICLO FISSO G84 ................................................................................2-6
Segnali e registri correlati............................................................................................2-6
2.2. MODULO DI MOVIMENTO SU ASSE INDIPENDENTE ...........................................................................2-7
Nuove variabili....................................................................................................................2-9
2.3. MODULO DI CONTROLLO CAMBIO ATTREZZI ....................................................................................2-10
2.3.1. DEFINIZIONI SEMPLICI ......................................................................................................2-10
2.3.2. TIPI DI CONFIGURAZIONE DEL CAMBIO UTENSILI.............................................................2-11
2.3.3. CONFIGURAZIONE DEI CAMBIATORI DI UTENSILI AUTOMATICI.................................................2-12
Disposizioni sugli strumenti................................................................................................................2-12
Geometria del deposito degli attrezzi.......................................................................................................2-12
Tipi di gestione dello stoccaggio degli strumenti...................................................................................2-12
2.3.4. DEFINIZIONI DELLE SEQUENZE ...............................................................................................2-13
Cambiamenti di strumenti asincroni ..............................................................................................2-13
Cambi di utensile sincroni................................................................................................2-15
Implementazione del programma PLC.........................................................................................2-17
Attivazione del modulo cambiatore di utensili .....................................................................................2-17
Attivazione del sequenziatore......................................................................................................2-17
Correzione della lunghezza dell'utensile...........................................................................................2-18
Decodifica del programma 'T' e selezione della sequenza di lavoro...................................................2-19
2.3.5. INTERRUZIONE DELLA SEQUENZA...........................................................................................2-19
Gestione integrata della vita utile degli utensili ........................................................................................2-20
Descrizione delle variabili PLC .......................................................................................2-20
2.3.6. DIFFERENZIARE LA FAMIGLIA DEGLI STRUMENTI ..........................................................................2-20
2.3.7. STRUMENTI DIFFERENZIALI CON FORMES DIVERSE...............................................2-20
2.3.8. DESCRIZIONE DELLE VARIABILI PLC.................................................................................2-21
2.3.9. TABELLE STRUMENTI...................................................................................................................2-22
Scrittura nelle tabelle degli strumenti dal PLC ..................................................................................2-23
[Link] DI GESTIONE DELLA LINEA SERIALE DAL PLC.................................................................2-24

Sviluppo della Logica Macchinari (PLC) (01) 9


Serie S3000
Generale

3. ADATTARE IL PROGRAMMA PLC DALL'S1200 AL S3000

4. SUMMARY OF SIGNALS AND REGISTERS


4.1. SIMBOLI E CONVENZIONI................................................................................................4-1
4.2. SOSTITUIBILI E FLUSSO DEI SEGNALI ......................................................................4-3
Stato NC .......................................................................................................................4-3
Comunicazione sincronizzata con il NC ......................................................................4-3
Funzioni ausiliarie e preparatorie sincrone.......................................................4-3
Controlli di avvio, arresto, allarmi e riconoscimento asincroni..........................................4-4
Part origins and Tool length compensation.....................................................................4-4
Abilitazione e disabilitazione degli assi...........................................................................................4-4
Assi sempre attivi o con bloccaggio..................................................................................4-4
Assi da disabilitare ........................................................................................................4-4
Disabilitare i trasduttori .....................................................................................................4-5
Manuale JOG....................................................................................................................4-5
Movimento manuale con volantino.................................................................................4-5
Omogeneizzazione degli assi..................................................................................4-5
Movimento manuale e oming durante l'esecuzione del programma.............................................4-5
Informazioni sull'asse ..............................................................................................................4-5
Stato dell'asse ......................................................................................................................4-6
Control of transducers and electronic handwheels.........................................................4-6
Compensazione dinamica della posizione dell'asse..........................................................................4-6
Offset degli assi controllati.................................................................................................4-6
Gestione della sonda di contatto ...........................................................................................4-6
Limiti del software Axis ..........................................................................................................4-6
Assi paralleli (Gantry) .....................................................................................................4-7
Assi non controllati programmabili................................................................................4-7
Lettura e scrittura di ingressi e uscite analogici........................................................ 4-7
Scambio di dati tra PLC e programma di parte ...................................................... 4-7
Finestra di visualizzazione video NC................................................................................................4-7
Data e ora di sistema .....................................................................................................4-8
Copiare e digitalizzare superfici..................................................................................4-8
Variabili per verificare i tempi di esecuzione del sistema.....................................................................4-9
Segnali di errore accessibili tramite logica ......................................................................................4-10
Lettura e modifica dei parametri di configurazione dell'asse...................................................4-10
4.3. MODULI DEDICATI .............................................................................................................4-11
Rotazione del mandrino...............................................................................................................4-11
Selezione della variazione dell'intervallo ...............................................................................................................4-11
Orientamento del mandrino..................................................................................................................4-11
Sincronizzazione tra i fusi..................................................................................4-12
Comune a tutte le operazioni.......................................................................................4-12
Ciclo fisso G84 ..............................................................................................................4-12
Modulo di movimento indipendente degli assi..............................................................................4-12
Modulo di gestione del cambio utensile .................................................................................4-14
Tabelle degli strumenti ......................................................................................................................4-15

5. LIMITI

10 Sviluppo della logica di macchina (PLC) (00)


Serie S3000
Generale

Parte III

1. ESEMPI DI PROGRAMMAZIONE PLC


BAS300F - Macchina base (3 assi e mandrino)...............................................................1-2
COMI3045 - macchina a 3 assi, morsetti a slitta, orientamento dell'albero.................................................1-5
AXM11 - Bloccaggio assiale selettivo......................................................................................1-10
AUXON - Logica di controllo ausiliaria.......................................................................................1-11
GEVOL3 - Manopola singola degli assi X, Y, Z...................................................................1-12
SPIND1 - Rotazione del mandrino .................................................................................................1-13
SPIND2 - Orientamento dell'alberino ....................................................................................................1-15
SPIND3 - Modifica dell'intervallo...................................................................................................1-16
LUBMET - Lubrificazione basata sul viaggio dell'asse......................................................................1-17
LUBIN3 - Lubrificazione intermittente di base .............................................................................1-19
LUBMOV - Lubrificazione temporizzata solo quando gli assi si muovono ................................................1-20
ZERIAX - Assi del ciclo Automatichome ...............................................................................1-21
ESRNDCU - Cambio utensile casuale con carico / scarico in tempo mascherato..............................1-23
SCROLLIN - Gestisci fino a 128 messaggi con scorrimento sullo schermo .................................1-28
SHIFTZ - Esempio di compensazione per la caduta di Y in funzione di Z............................... 1-29
AXBLOC1 - Blocca gli assi con attesa temporizzata...........................................................................1-30
AXBLOC2 - Serraggio degli assi con abilitazione esterna...................................................................1-31
ESSINCU - Cambio utensile sincronizzato con griglia ................................................................1-32
AXP2P - Controllo dell'asse di stoccaggio degli attrezzi dal PLC.................................................................1-37
COMMUCM - Interruttore dell'alberino con asse C ...........................................................................1-39
NEWFILT - Filtro numerico ...............................................................................................1-41
TABUTE1 - Riordinare la posizione degli strumenti nella tabella .........................................................................1-42
TESTAR - Testa indicizzata spostata dal motore del mandrino ............................................................1-43

APPENDICE

APPENDICE A – TABELLA CODICE ASCII..........................................................................A-1

APPENDICE B - TABELLA DELLE FUNZIONI AUSILIARIE.........................................................B-1

APPENDICE C - FUNZIONI DELLA NUOVA SERIE S3000 IN CONFRONTO CON LA S1200


SYSTEM..........................................................................................C-1
C.1.1 GESTIONE DEL SISTEMA ........................................................................................................C-1
C.1.2 DEBOGGAZIONE DEL PROGRAMMA E VERIFICA DEL SISTEMA ......................................................C-2
C.1.3 PROGRAMMAZIONE PLC...............................................................................................................C-3

APPENDICE D - MESSAGGI DIAGNOSTICI.................................................................D-1

Sviluppo della Logica Macchina (PLC) (01) 11


Serie S3000
Generale

12 Sviluppo della Logica Macchinaria (PLC) (00)


Serie S3000

PARTE I

PROGRAMMAZIONE
LANGUAGE
E
PROCEDURA OPERATIVA

Sviluppo della Logica di Macchina (PLC) - Parte I (00)


Serie S3000

Sviluppo della Logica Macchina (PLC) - Parte I (00)


Serie S3000
1. Usi e funzioni

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.

1.1. CARATTERISTICHE PRINCIPALI DELLA SERIE S3000


Quanto segue descrive alcune delle caratteristiche e degli usi dei comandi della Serie S3000.
Considerando lo spazio limitato e l'ambito di questo manuale. Non tutte le caratteristiche di ciascun modello
sono descritti, solo alcuni dei più significativi. Per ulteriori informazioni dettagliate, si prega di fare riferimento a
le specifiche tecniche per il particolare modello in questione.

Nei Sistemi di alto livello completamente configurati le principali caratteristiche sono le seguenti:

∙ Programmazione conversazionale avanzata 2-D e 3-D con grafica interattiva e integrata


PROGET2 lingua.

∙ Controllo di fino a 16 assi, inclusi 4 mandrini.

∙ Controllo di 8 assi simultaneamente.

∙ Utilizza tutti i tipi di trasduttori (encoder incrementali rotativi e lineari, fibra ottica, assoluti e
risolutori ciclici).

∙ Fino a 8 programmi PLC indipendenti per controllare gruppi di assi ausiliari.

∙ 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.

Sviluppo della Logica Macchinaria (PLC) (00) 1-1


Serie S3000
1. Usi e funzioni

∙ I/O digitale: 32 ingressi e 24 uscite, espandibili a 384 ingressi e 288 uscite.

∙ I/O analogico: 24 uscite e 41 ingressi, più 8 ingressi per sonde di temperatura.

∙ 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)

∙ Interpolazione cubica per lavori ad alta velocità di forme complesse (Versione P)

∙ Scansione superficiale tridimensionale per digitalizzazione e copia diretta

∙ Memoria di massa (disco rigido compatibile con DOS e disco floppy)

∙ Software di interfaccia e comunicazione per comunicazioni seriali e di rete (punto a punto e


multi-punto).

∙ Configurazione espandibile (L e PL) che consente ulteriori I/O, trasduttori e disco rigido
interfaces as well as network connections.

∙ Compatibilità con i modelli di CNC SELCA precedenti.

1-2 Sviluppo della Logica di Macchina (PLC) (00)


Serie S3000
2. Procedura operativa

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

Appare il seguente menu softkey.

NC LOGICA PARTE PERIFERICO MONITOR UTILITIES DIAGN


MESSAGGI OPERATIVI PROGRAMMI SETUP UTENSILI STRUMENTI

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

(F2) tasto o tasto soft LOGIC SYS/SETUP .

NC LOGIC PARTE PERIFERICO MONITOR UTILITIES DIAGN


OPERAZIONE SYS/INSTALLAZIONE
PROGRAMMI SETUP STRUMENTI STRUMENTI

Ci sono due modalità di funzionamento per la manutenzione dei programmi PLC:

MODIFICARE LA LOGICA - scrivere o modificare un programma esistente

LOGICA DI DEBUG - per verificare il funzionamento del programma PLC, l'integrità degli input e
produzioni e il corretto funzionamento degli algoritmi.

Sviluppo della Logica Macchinaria (PLC) - Parte I (01) 2-1


Serie S3000
2. Procedura operativa

2.1. MODIFICA DELLA LOGICA


Le procedure selezionate da questo menu consentono la scrittura di programmi PLC direttamente sulla macchina
utilizzando tutte le istruzioni e i comandi spiegati in questo manuale.

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.

Le chiavi per muovere il cursore sono:

spostarsi di una riga in su

spostarsi giù di una riga

spostarsi nella prima riga del programma

spostarsi all'ultima riga nel programma


per passare a pagina successiva

per spostarsi di una pagina su

Per spostare il cursore lungo una riga:

spostarsi a destra di un personaggio


spostarsi a sinistra di un carattere

+ spostarsi all'inizio di una riga


+ spostarsi alla fine di una riga

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:

torna al menu precedente


torna al menu principale
Il programma scritto viene salvato automaticamente ogni volta che il il tasto è premuto o quando l'editor è
uscito da o .

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.

2-2 Sviluppo della logica macchina (PLC) - Parte I (01)


Serie S3000
2. Procedura operativa

Menu di modifica

Per accedere al menu di modifica eseguire i seguenti passaggi:

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.

2. Premi il tasto LOGIC EDIT per accedere al seguente menu:

MEMORIA FLOPPY FLASH MODIFICA COMPILARE COMPRESSA CARICA E RINOMINA COPIA ELIMINA
GUIDARE MEMORIA LOGICA PLC LOGICA PLC COMP FUORI ESEGUI PLC PROGRAMMA PROGRAMMA PROGRAMMA

I primi tre tasti funzione ( , , ) e gli ultimi tre ( , e ) controllare lo stesso


funzioni come i tasti funzione equivalenti nell'ambiente di programmazione NC. Per ulteriori dettagli, fare riferimento all'User
e Manuale del Programmatore.

Altri tasti softkey funzionano come segue:

MODIFICA LOGICA Attiva l'ambiente di modifica della logica da cui è possibile


scrivere e mantenere un programma PLC.

COMPILE LOGIC Compila in istruzioni eseguibili quei programmi creati o


modificato utilizzando l'editor logico.

COMPRESSE Eseguendo il COMPILATORE LOGICO con questa funzione attivata (predefinita)


COMP FUORI ottiene un file eseguibile più corto rispetto a se fosse compilato
non compresso. In modalità compressa, la funzione di compilazione richiede
longer.

Nota: La compilazione di programmi compressi richiede più spazio di memoria attiva.


rispetto alla compilazione normale, quindi potrebbero sorgere problemi di carenza di memoria
quando programmi particolarmente lunghi vengono compilati su sistemi con risorse limitate
memoria.

Sviluppo della Logica Macchina (PLC) - Parte I (01) 2-3


Serie S3000
2. Procedura operativa

Modifica Menu Logica

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

INSERIRE MODIFICARE CANCELLA STRINGA AVANZATO


BLOCCO BLOCCO BLOCCO CERCA MODIFICA

La funzione di ciascun tasto morbido per la programmazione PLC è la seguente:

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:

Vuoi eliminare? (SÌ/NO)? Sì

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.

2-4 Sviluppo della logica della macchina (PLC) - Parte I (01)


Serie S3000
2. Procedura operativa

Menu funzioni avanzate


Quando il tasto soft ADVANCED FUNCTION è selezionato e c'è sufficiente spazio di memoria disponibile, il
Il seguente menu apparirà:

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

evidenzia i blocchi sposta il cursore sul primo blocco da selezionare usa


o ) premi i tasti softkey HIGHLIGHT BLOCK, posiziona il cursore su
l'ultimo blocco da selezionare e premere lo stesso tasto.

ELIMINA BLOCCHI Eliminerà i blocchi evidenziati, confermi? .

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.

Sposta nella posizione desiderata per il blocco utilizzando il o chiavi,


poi premi Il blocco sarà inserito sulla linea appena sotto il
posizione del cursore.
DELETE FROM HERE Elimina tutte le righe fino alla fine del programma, a partire dalla riga su cui
il cursore è attualmente posizionato su. Il seguente messaggio appare:

Elimina tutti i blocchi successivi? (SÌ/NO)? SÌ

Premere per confermare.

Cambia stringa Sostituisce una stringa di caratteri con un'altra cercando quella desiderata
string che inizia dalla posizione del cursore. Apparirà il seguente messaggio:

Sostituisci (stringa 1/stringa 2):

Scrivi nella nuova stringa da sostituire e conferma con .

Sviluppo della Logica Macchina (PLC) - Parte I (01) 2-5


Serie S3000
2. Procedura operativa

COPIA DA ALTRO Inserire un blocco copiato da un altro programma nel programma attuale
proseguire come segue:

∙Premere il tasto di scelta rapida IMPORTA DA ALTRI per un elenco di programmi in


memoria.

Seleziona il programma che contiene il blocco da estrarre e premi

∙ Evidenzia il blocco da copiare e poi premi due volte per tornare al


programma che deve ricevere il blocco.

∙ 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).

Edit parameters menu


Quando viene premuto il tasto funzionale EDITING PARAMS, appare il seguente menu:

BLOCK # BLOCCO BLOCK # RENUMBER TRADURRE


FORMATO INIZIO # INCREMENTO BLOCKS DA 1200

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

tra 1 e 10. Premi quando completato.

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.

2-6 Sviluppo della Logica Macchina (PLC) - Parte I (01)


Serie S3000
2. Procedura operativa

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.

2.2. LOGICA DI COMPILAZIONE

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:

Compilazione del programma completata: "nome del programma".

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.

2.3. CARICA E ESEGUI


Il tasto soft LOAD AND RUN accessibile dal menu EDIT LOGIC, ripristina le variabili PLC
la memoria e avvia l'esecuzione dell'ultimo programma PLC da compilare. Il tasto si illumina quando
un programma PLC è in esecuzione.

È possibile fermare il programma premendo lo stesso tasto.

Il PLC può essere disattivato automaticamente nei seguenti casi:

∙ 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.

Sviluppo della Logica Macchina (PLC) - Parte I (01) 2-7


Serie S3000
2. Procedura operativa

2.4. TRADUZIONE DEI PROGRAMMI MODIFICATI SU S1200


I sistemi S3000 della serie adottano la seguente sintassi di numerazione delle righe del programma PLC:

Nxx instruction

nei precedenti sistemi Selca la sintassi era:

istruzione xx

Per convertire automaticamente il vecchio sistema di numerazione nel nuovo è necessario:

∙ modifica il programma da convertire

Premi i seguenti tasti funzione in ordine: FUNZIONI AVANZATE, MODIFICA PARAMETRI,


PLC 1200.

Questo sovrascriverà il programma precedente.

2.5. DEBUG DELLA LOGICA

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.

Le funzioni disponibili in questo ambiente sono descritte nelle sezioni seguenti.

2.5.1. DISPLAY DINAMICO


Questa funzione visualizza il valore numerico attuale di segnali o variabili.

Il menu softkey è il seguente:

ABILITA INSERIRE MODIFICARE CANCELLA VISUALIZZA DISPLAY FORZATO ..DI PIÙ..


MOSTRA NOME/ESPRESSIONE
NOME/ESPR NAME/EXPR INPUT OUTPUT ASSEGNA.

2-8 Sviluppo della Logica Macchinaria (PLC) - Parte I (01)


Serie S3000
2. Procedura operativa

La funzione di ciascun tasto soft è la seguente:

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 è

pressed; press per confermare.

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.

CANCELLA NOME/SCADENZA. Elimina la variabile su cui è posizionato il cursore.

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.

Nello schermo, il e le chiavi sono utilizzate per visualizzare i segnali simili da


le altre schede I/OMIX e sono identificate dalle variabili IN_00x(n).

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).

FUNZIONI AVANZATE Attiva un nuovo menu con più comandi.

Premendo il tasto soft ..MAGRIS.. appare il seguente menu:

DECIMALE SEARCH ESPANDI CHIARO SALVA


BINARIO ASSEGNA. EQUAZIONE TUTTO TAVOLO

DECIMALE/BINARIO Cambia il formato di visualizzazione da decimale a binario e viceversa per il


variabile selezionata dal cursore.

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.

Sviluppo della Logica Macchinistica (PLC) - Parte I (01) 2-9


Serie S3000
2. Procedura operativa

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 .

2.5.2. ANALIZZATORE GRAFICO


Il sistema è progettato per visualizzare un segnale grafico di movimento rispetto al tempo di 16 segnali in bit.
formato (come; input, output, variabili interne) e 4 variabili numeriche (in formato non bit). Il
i segnali e le variabili numeriche sono visualizzati simultaneamente utilizzando colori diversi per distinguerli
anche quando possono sovrapporsi. La traccia è formata condizionando il segnale memorizzato mediante l'uso di un
funzione di attivazione.

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.

Impostazione dell'analizzatore grafico

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

La funzione di ciascun tasto è la seguente:

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 .

ELIMINA NOME/ESP. Rimuove la variabile su cui si trova il cursore dalla visualizzazione.

2-10 Sviluppo della Logica Macchina (PLC) - Parte I (01)


Serie S3000
2. Procedura operativa

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.

VALOREFORZATO Consente di forzare il valore di una variabile e di valutare immediatamente il suo


effetto. (vedere descrizione più avanti)

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:

- PRE: tracciamento prima del trigger


- MID:traccia nel tempo con attivazione
- FINE: traccia dopo il trigger.

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.

Quando l'equazione di attivazione è soddisfatta, la percentuale di acquisizione reale


il tempo verrà visualizzato fino al raggiungimento del 100%, momento in cui ilANALIZZARE
Appare il menu TRACEmenu.

Sviluppo della Logica Macchina (PLC) - Parte I (01) 2-11


Serie S3000
2. Procedura operativa

If theACQUIREkey is pressed without having set the trigger parameters, the


l'analizzatore scansiona continuamente i segnali del display fino a quando non viene premuto il tasto
di nuovo. Questa applicazione potrebbe essere utile, ad esempio, quando si calibra
movimento o posizione.

..DI PIÙ.. Attiva un nuovo menu con altre funzioni.

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).

CANCELLA TUTTO Elimina tutti i nomi e le espressioni delle tracce attuali.

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

Analisi delle tracce

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.

È sempre possibile osservare sul display:

- 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.

2-12 Sviluppo della Logica di Macchine (PLC) - Parte I (01)


Serie S3000
2. Procedura operativa

Lo zoom avanti e indietro su una traccia viene effettuato utilizzando il


e chiavi, il fattore di scala è 1,2,4,
o 8. I tasti soft presenti nel menu ANALYZE TRACE sono i seguenti:

ACQUISIRE CURSORE + CORSORE # CURSOR EVIDENZIARE RIDISPONI REGOLA SALVA


VELOCITÀ TRACCE TRACCIATORE SCALA TAVOLO

ACQUISIRE L'analizzatore può essere attivato utilizzando questo tasto morbido, dopo aver effettuato
modifiche ai parametri controllati da questo menu.

CURSOR + Accende o spegne i cursori orizzontali e verticali.


CURSOR #

CURSOR SPEED Consente la regolazione della velocità del cursore orizzontale.

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.

Quando il tasto REDRAW TRACE viene premuto dopo questa operazione è


performed, only the non-highlighted traces are retraced. This function may be
usato per analizzare un gran numero di tracce una alla volta, o in piccoli gruppi.

le tracce selezionate sono memorizzate in memoria e per richiamarle è necessario


posiziona il cursore sul nome del segnale e premi EVIDENZIA TRACCIA finché
la selezione è fatta, quindi premere RIDISEGNA TRACCIA.

RIEMISSIONE TRACCIATA Sposta e ridisegna le tracce in modo da posizionare il cursore come


il più vicino possibile al centro dello schermo.

REGOLARE LA SCALA Consente la modifica dei limiti massimi e minimi per una traccia selezionata utilizzando il

cursore verticale; apportando le modifiche e premendo il chiave il


la traccia con i suoi nuovi limiti sarà visualizzata.

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.

Sviluppo della Logica Macchina (PLC) - Parte I (01) 2-13


Serie S3000
2. Operating procedure

Memorizzazione delle tracce

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.

2.5.3. TABELLE DI VISUALIZZAZIONE E ANALISI

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:

MEMORIA FLOPPY FLASH MODIFICA RITIRO RINOMINA COPIA ELIMINA


GUIDARE MEMORIA FILE TAVOLE PROGRAMMA PROGRAMMA PROGRAMMA

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.

2.5.4. ASSEGNAZIONI FORZATE


Durante il corso del debug potrebbe diventare necessario forzare un valore binario o un valore numerico.
variabile. La funzione ASSEGNAZIONE FORZATA è fornita per questo scopo e una volta attivata
Il nome del segnale e il valore desiderato saranno richiesti e inseriti tramite la tastiera.

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.

2.5.5. TABELLE DEI VALORI FORZATI

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:

MEMORIA FLOPPY FLASH MODIFICA RICHIAMO RINOMINA COPIA CANCELLA


GUIDA MEMORIA FORZA FILE FORZA FILE PROGRAMMA PROGRAMMA PROGRAMMA

2-14 Sviluppo della Logica Macchina (PLC) - Parte I (01)


Serie S3000
2. Procedura operativa

MODIFICA FILE FORZATAMENTEConsente di modificare i nomi delle variabili precedentemente memorizzati.

.
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.

2.5.6. AZZERARE LA RAM ESTATICA

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

Premendo il tasto morbido la RAM statica è stata cancellata e il NC è stato riavviato.

2.5.7. GENERAZIONE DI RIFERIMENTO INCROCIATO UTILIZZATO


VARIABILI
Il riferimento incrociato è un file in cui tutte le variabili e i segnali utilizzati all'interno del programma PLC sono elencati in
ordine alfabetico con un'annotazione inclusa al momento della dichiarazione e in ordine la linea
numeri dove vengono utilizzati.

La sintassi è la seguente:

NOME_VARIALE dichiarazione_num_linea annotazione


<num. line... linea in cui è scritto NAME_VARIABLE
>num. linea... linea in cui viene letta NAME_VARIABLE

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.

Sviluppo della Logica Macchinaria (PLC) - Parte I (01) 2-15


Serie S3000
2. Procedura operativa

2.6. MODIFICHE E VISUALIZZAZIONI DELLA TABELLA PLC


Le variabili array (tabelle per l'utente) dichiarate internamente dal programma PLC possono essere visualizzate e
modificato dall'utente dato che i nomi sono noti.

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.

2.7. TASTI RAPIDI


Utilizzando determinate combinazioni di tasti è possibile accedere rapidamente all'ambiente delle applicazioni da
Qualsiasi menu:

+ eseguire programmi dalla memoria


+ per attivare la visualizzazione dinamica

+ per attivare l'analizzatore grafico

+ per accedere al menu delle periferiche

+ per modificare la configurazione NC.

+ 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.

2-16 Sviluppo della Logica Macchinaria (PLC) - Parte I (01)


Serie S3000
3. Organizzazione del programma

3. ORGANIZZAZIONE DEL PROGRAMMA

3.1. REGOLE GENERALI


Le seguenti regole devono essere tenute a mente quando si scrive un programma:

∙ 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.

∙ L'uso di lunghe espressioni è scoraggiato, tuttavia è possibile modificare queste espressioni.


usando il $ alla fine della riga prima di iniziare sulla riga successiva.

∙ 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).

∙ Le ETICHETTE e i simboli sono sempre seguiti da un ":" (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.

∙ Per cambiare il massimo di 6 caratteri consentiti nella definizione delle variabili


(predefinito) a 9 o 12, inserisci queste istruzioni all'inizio del programma PLC:
COSTANTE
_MXCHR=6 (o =9, =12)

Sviluppo della Logica Macchinaria (PLC) - Parte I (01) 3-1


Serie S3000
3. Organizzazione del programma

(Il valore predefinito è _MXCHR=6).


Si deve ricordare quando si usano nomi lunghi per le variabili che non solo l'output sorgente
occupano naturalmente uno spazio maggiore nella memoria, ma verranno generati anche file eseguibili di dimensioni maggiori.

3.2. STRUTTURA DEL PROGRAMMA


I programmi sono suddivisi in sezioni e inseriti nella sequenza mostrata di seguito. Ogni sezione deve essere
preceduto dal suo titolo:

INP
.......
....... Sezione di dichiarazione
FUORI
.......
.......
INIZIO Sezione di inizializzazione
.......
....... (utilizzato solo dove necessario)

VELICE Sezione superveloce


.......
....... (usa solo quando assolutamente necessario)
(se non usato rimuovere la parola chiave FAST) P
PROG Sezione veloce R
....... O
....... (utilizzato solo dove necessario) G
FINE R
....... Sezione lenta A
....... M
FINE (logica ordinaria)

....... Sezione super lenta


.......
END (utilizzato solo dove necessario)

....... Sezione routine


.......
....... (utilizzato solo dove necessario)

3.2.1. SEZIONE DICHIARAZIONE


All of the following variables must be declared by name in the order indicated in this section.

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).

3-2 Sviluppo della Logica Macchinistica (PLC) - Parte I (01)


Serie S3000
3. Organizzazione del programma

3.2.2. SEZIONE DI INIZIALIZZAZIONE


L'inizializzazione è una sezione opzionale che segue la sezione di dichiarazione.

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.

L'inizio della sezione di inizializzazione è riconosciuto dal simbolo INIT.

3.2.3. SEZIONE PROGRAMMA


Questa è la sezione contenente le istruzioni per il PLC da seguire. Questa sezione può essere
suddiviso in altre quattro sezioni:

LOGICA SUPERVELCE
FAST LOGIC
LOGICA LENTA
LOGICA SUPERLENTA

Logica superveloce

La sezione LOGICA SUPERFAST opzionale comprende tutte le istruzioni scritte tra il


keywordsFASTandPROG. Queste istruzioni sono destinate esclusivamente a operare su parametri
che cambiano molto rapidamente, e per acquisizioni ripetitive come ciascun test della posizione dell'asse NC,
(vedere la documentazione di configurazione). È necessario ricordare che questi tipi di istruzioni
richiedere dieci volte più tempo di elaborazione della CPU.

Se il limite massimo di tempo per questa sezione viene superato, apparirà il seguente messaggio:

Ciclo superveloce troppo lungo.

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:

Ciclo veloce troppo lungo.

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.

Sviluppo della Logica Macchinaria (PLC) - Parte I (01) 3-3


Serie S3000
3. Organizzazione del programma

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.

3.2.4. SEZIONE DELLE ROUTINE


Qualsiasi routine utilizzata solo in una determinata sezione (FAST, ecc.) può essere scritta direttamente all'interno di quella sezione. A
la routine scritta per una certa sezione è spesso valida anche per altre sezioni, quindi è vantaggioso scriverla
alla fine del programma, cioè dopo la terza istruzione END (vedi Capitolo 6, istruzione per
controlli del programma).

3.3. FORMATO DELLA VARIABILE E DEL NUMERO

Le variabili del programma possono essere classificate come segue:

BIT: segnale logico elementare con un valore di 1 o 0, (vero o falso)

BYTE: Variabile a 8 BIT contenente numeri interi tra -128 e 127

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.

STRING: una variabile impostabile contenente caratteri alfanumerici in formato ASCII.

I numeri decimali possono essere scritti nel seguente formato:

[Link](es. -12,678)

[Link] e esponente in notazione scientifica (es. 12.3e-3).

3-4 Sviluppo della Logica di Macchina (PLC) - Parte I (01)


Serie S3000
3. Organizzazione del programma

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).

Ad esempio, il numero decimale 35 corrisponde a 23Hin esadecimale e 00100011Bin binario;


Il numero decimale 195 corrisponde a 0C3H in esadecimale e 11000011B in binario.

Per la dichiarazione delle variabili (numeriche e stringhe) vedere le sezioni appropriate nel capitolo 4.

3.3.1. VETTORI E VARIABILI SINGOLE


Le variabili (interne) del sistema sono vettori unidimensionali o multidimensionali. I primi
rappresenta solo un elemento mentre quest'ultimo rappresenta molti elementi sotto un unico nome. Questi hanno
nomi che iniziano alfanumericamente seguiti da parentesi che contengono un numero (chiamato
un INDICE) che identifica l'elemento. Il formato per le variabili vettoriali o matriciali è il seguente:

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.

Il parametro indice può essere:

∙ un numero intero tra 1 e 32767

Example:

TABX(122) = 44.6565 Il numero 44.6565 è scritto all'interno dell'elemento 122


TABX(45)=TABX(77)+TABX(23) L'elemento 45 contiene la somma degli elementi 77 e 23.

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;

BTAB=18: 18 è scritto nella variabile BTAB


TABUT(BTAB)=25: 25 è scritto nel 18° elemento di TABUT
...
WTAB=199: il valore 199 è scritto in WTAB
VALORE=TABCOY(WTAB): il contenuto del 199° elemento di TABCOY è scritto nel singolo
variabile VALORE.

∙ 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

Sviluppo della Logica Macchinaria (PLC) - Parte I (01) 3-5


Serie S3000
3. Organizzazione del programma

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.

3.3.2. VARIABILI STATICHE E DINAMICHE


Le variabili del programma possono essere statiche e mantenere il loro valore dopo che il controllore è stato spento, oppure
dinamico, in conformità con la dichiarazione che è stata fatta (vedi Dichiarazione delle Variabili Interne in
il prossimo capitolo).

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'

Il sistema rende disponibile il seguente simbolo mnemonico predefinito:

PI=3.1415927 PI in formato DOUBLE.

3.3.4. COSTANTI CONFIGURABILI PER LA LOGICA DELLA MACCHINA

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..

3-6 Sviluppo della Logica Macchinaria (PLC) - Parte I (01)


Serie S3000
3. Organizzazione del programma

A tale scopo, le seguenti costanti sono definite per la configurazione:

∙ 16 costanti di macchina comuni all'intero sistema chiamate; KMF(1), KMF(2), KMF(3),..,KMF(16) -


in virgola mobile a 32 bit.

∙ 32 costanti chiamate; KMW(1), KMW(2), KMW(3),..,KMW(32) -in formato word.

3.3.5. DISPOSIZIONE DEI BIT SINGOLI INTERNA A


VARIABILI
La disposizione dei singoli bit interni a BYTE, WORD è la seguente:

Formato BYTE

8 7 6 5 4 3 2 1

Bit meno significativo

BIT più significativo


Segnale BYTE

Formato WORD

(HI) BYTE (LO) BYTE

8 7 6 5 4 3 2 1 16 15 14 13 12 11 10 9

Bit meno significativo

BIT più significativo


parola segno

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

Sviluppo della Logica Macchinistica (PLC) - Parte I (01) 3-7


Serie S3000
3. Organizzazione del programma

3.3.6. ACCESSO AI BIT VARIABILI

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):

∙ Un intero compreso tra 1 e il numero massimo di bit per quella variabile.

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.

3-8 Sviluppo della Logica della Macchina (PLC) - Parte I (01)


Serie S3000
3. Organizzazione del programma

Esempio:

Suppose that the variables CONFI(X) and TEMPOR are WORD types

TEMPOR=CONFI(2) Il 2° elemento di CONFI è copiato in TEMPOR


BIT12=TEMPOR(12) la variabile BIT12 equivale al 12º bit in TEMPOR.

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.

3.3.7. ACCESSO AI BIT DI VARIABILI ADIACENTI


Se il valore dell'indice supera il valore formattato, come descritto in precedenza, i bit adiacenti saranno
sovrascritto come segue:

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:

VAR1 8 7 6 5 4 3 2 1 VAR1 (3)

ALLARME 8 7 6 5 4 3 2 1 VAR1(10)=ALLARME(2)

CONFIG 8 7 6 5 4 3 2 1

Ciao VAR2 8 7 6 5 4 3 2 1 VAR2(3)

LO VAR2 16 15 14 13 12 11 10 9

CIAO BANDIERE 8 7 6 5 4 3 2 1 VAR2(18) = FLAGS(2)

I FLAG 16 15 14 13 12 11 10 9

Sviluppo della Logica Macchine (PLC) - Parte I (01) 3-9


Serie S3000
3. Organizzazione del programma

3-10 Sviluppo della Logica Macchina (PLC) - Parte I (01)


Serie S3000
4. Dichiarazioni

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.

INP input fisico


TERM salta gli input inutilizzati

FUORI output fisico


TERM salta output non utilizzati
SRAM variabile memorizzata nella RAM non volatile (non persa quando l'alimentazione viene a mancare)

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:

SRAM,64 i nomi che seguono sono in formato DOPPIO


NOMEA
...
RAM,32 i nomi che seguono sono in formato LUNGO
NOMEF
...
SRAM,16 i nomi che seguono sono in formato WORD
NOMEL
...
SRAM,8 i nomi che seguono sono in formato BYTE
NOMEP
...

Sviluppo della Logica Macchinari (PLC) - Parte I (01) 4-1


Serie S3000
4. Dichiarazioni

4.1. DICHIARAZIONE DEGLI IN INPUT / OUTPUT FISICI


Il programma deve sempre iniziare con la dichiarazione degli ingressi e delle uscite fisicamente connessi a
l'unità.

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:

OUT [,attributo] [,numero connettore]


Nome 1
...
Nome n

Dove:

[,attributo] definisce il tipo di variabile;


,1 descrive 1 bit (valore predefinito quando l'attributo è omesso)
,8 descrive un byte
,16 descrive una parola

[,numero del connettore] indica la posizione sulla scheda I/OMIX dove si trova il connettore
collocato* (vedi il Manuale di Installazione del sistema).

*Il valore predefinito è 1 se questo parametro è omesso.

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:

Configurazione: -1 scheda I/OMIX nello slot 1


-2 schede di espansione I/O digitale (I/OD)

4-2 Sviluppo della Logica Macchina (PLC) - Parte I (01)


Serie S3000
4. Dichiarazioni

In questo caso la dichiarazione dell'INP deve essere:

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.

Sviluppo della Logica Macchinistica (PLC) - Parte I (01) 4-3


Series S3000
4. Dichiarazioni

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).

4.1.1. DICHIARAZIONE DI INPUT/OUTPUT FISICO: I/O REMOTO


MODULI
Per gestire l'I/O digitale sui moduli remoti, utilizzare la dichiarazione INP o OUT estesa, seguita da una
elenco dei nomi delle variabili.

Per i terminali INPUT, utilizzare il dichiarativo INP con il seguente formato:


INP,attribute,master board number,slave number
nome 1
...
input n nome

e per i terminali di uscita:


OUT,attribute,master board number,slave number
output 1 nome
...
output n nome

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

4-4 Sviluppo della Logica Macchina (PLC) - Parte I (01)


Serie S3000
4. Dichiarazioni

4.2. DICHIARAZIONE DELLE VARIABILI INTERNE


Le variabili interne sono definite come quelle variabili o segnali necessari per i calcoli o lo stoccaggio interno.
non collegato direttamente ai segnali fisici.

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:

SRAM[,attribuito] variabili da mantenere


Variabile interna1
...
Variabile interna n

RAM[,attributo] variabili da non mantenere


Variabile interna 1
...
Variabile interna n

dove;

[,attribuzione] può assumere i seguenti valori tramite la dichiarativa:


,1 per indicare una variabile di formato BIT (valore di default, se omesso)
,8 per indicare una variabile di formato BYTE
,16 per indicare una variabile di formato WORD
,32 per indicare una variabile di formato LONG
,64 per indicare una variabile di formato DOUBLE

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.

Sviluppo della Logica Macchine (PLC) - Parte I (01) 4-5


Serie S3000
4. Declarations

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.

4.3. DICHIARAZIONE DI STRINGHE


Le stringhe sono variabili che contengono caratteri alfanumerici in formato ASCII. In generale, la dichiarazione
viene utilizzato per memorizzare messaggi.
La dichiarazione dei nomi delle stringhe è effettuata dopo la parola chiave:

STR[,attributo]
Variabile stringa 1
...
Variabile stringa n

dove:

[,attributo] può assumere i seguenti valori:


,16 per stringhe con una lunghezza massima di 14 caratteri
,32 per stringhe con una lunghezza massima di 30 caratteri
,64 per stringhe con una lunghezza massima di 62 caratteri
128 per stringhe con una lunghezza massima di 126 caratteri
,256 for strings with a maximum length of 254 characters

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:

∙ Utilizzando il formato esplicito, il nome di ogni attributo è elencato:

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)
....

4-6 Sviluppo della Logica Macchine (PLC) - Parte I (01)


Serie S3000
4. Dichiarazioni

4.4. DICHIARAZIONE DI EQUIVALENZE


Utilizzando l'equivalenza, possono essere assegnati nomi diversi alle variabili già definite in precedenza.
dichiarazioni.

La funzione di equivalenza è la seguente:

EQU[,attributo]
name1:name2
...
namem:namen

dove il formato della variabile introdotta è dichiarato dal valore dell'attributo e


pertanto può assumere tutti i valori ammissibili per le variabili interne (1, 8, 16, 32, 64).

Le assegnazioni che seguono devono essere di tipo:

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

Dove NEWVAR(2) è un vettore di due elementi in formato BYTE


in cui NEWVAR(1) è equivalente alla parte superiore di OLDVAR
e NEWVAR(2) è equivalente alla parte inferiore di OLDVAR.

VECCHIOVAR

parte superiore di OLDVAR parte inferiore di OLDVAR


NUOVAVAR(1) NUOVAVAR(2)

Sviluppo della Logica Macchine (PLC) - Parte I (01) 4-7


Serie S3000
4. Dichiarazioni

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

4-8 Sviluppo della Logica Macchinario (PLC) - Parte I (01)


Serie S3000
4. Dichiarazioni

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:

input è il nome del segnale che attiva il timer


output è il nome del segnale di uscita con ritardo temporeale
derivato è il nome del segnale che è attivo durante il tempo di ritardo
ferma è il nome del segnale che può essere utilizzato per fermare il conteggio
contare è il nome della PAROLA che contiene il conteggio attuale

Sviluppo della Logica Macchinaria (PLC) - Parte I (01) 4-9


Serie S3000
4. Dichiarazioni

The functional display of the timer is as follows:

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.

INPUTI f uguale a 1: il timer conta secondo il suo tempo base.


Se uguale a 0: l'uscita è azzerata, ma il valore del conteggio rimane invariato. Il timer
il contatore viene ricaricato quando l'input cambia da 0 a 1.

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.

PRODUZIONE Passa a 1 quando è scaduto il tempo impostato.


Torna a 0 quando l'input va a 0.
DERIVATIVI a 1 durante l'intervallo di conteggio

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.

La sintassi per attivare un timer all'interno di un programma è la seguente:

input(numero moduli)=espressione

4-10 Sviluppo della Logica Macchina (PLC) - Parte I (01)


Serie S3000
4. Dichiarazioni

dove i moduli di conteggio possono essere:


un numero tra 1 e 32767
- una variabile BYTE o WORD con contenuti che vanno da 1 a 32767
un'espressione che risulta in un BYTE o WORD con lo stesso intervallo di cui sopra

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:

zero: è il nome del segnale che azzera il contatore


inoltrare è il nome del segnale che fa avanzare il contatore
inverso: è il nome del segnale che inverte il contatore
carry: è il nome del segnale generato dal contatore quando passa per zero
count: è il nome della PAROLA che contiene il conteggio cumulativo

Il diagramma a blocchi funzionali è:


Conta

Avanti
Invertire CONTATORE Carry
Zero

Sviluppo della Logica Macchina (PLC) - Parte I (01) 4-11


Serie S3000
4. Dichiarazioni

The counter functions as follows:

zero: il valore del conteggio va a 0 quando questo segnale cambia da 0 a 1


avanti il contatore si incrementa ad ogni salita di questo segnale
reverse il contatore decrementa ad ogni inclinazione crescente di questo segnale
carry: segnali che il contatore è passato attraverso zero (cioè che c'è stata un’OVERFLOW o
Si è verificato un UNDERFLOW.

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.

In questi casi la transizione zero è segnalata dall'attivazione del segnale di riporto.

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.

Il modulo conteggio viene caricato quando il segnale zero viene rilasciato.

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

4-12 Sviluppo della Logica di Macchine (PLC) - Parte I (01)


Serie S3000
4. Dichiarazioni

4.8. LOGIC DEFINABLE SOFTKEYS


Il sistema ha 8 tasti funzione disponibili, posizionati verticalmente e situati a destra del display.
che può essere completamente definito e controllato dalla logica della macchina e accessibile tramite i tasti funzione

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.

Il modo più semplice per dichiarare un menu softkey è:

SOFTK, numero del menu


switch,lamp[,0/1],'label(text)'
...
switch,lamp[,0/1],'label (text)'

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.

Tasti morbidi associati a messaggi o variabili numeriche

La definizione di un tasto morbido associato a un messaggio o a una variabile numerica è:

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.

Sviluppo della logica macchina (PLC) - Parte I (01) 4-13


Serie S3000
4. Dichiarazioni

SOFTKEY per chiamata menu

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:

SOFTK,1 primo menu tasto morbido


JOG X + l'etichetta è JOG X + e l'interruttore è acceso mentre è premuto
...
P7,L7,0,'ASSE DI RIFERIMENTO' l'etichetta del settimo tasto morbido è zero ricerca e l'interruttore è momentaneo
P8,L8,'DISPLACEMENT',2 il tasto softkey con etichetta DISPL chiama il secondo menu softkey
SOFTK,2 secondo menu tasto morbido

P21,L21,1,'SPOSTA ASSE X' primo tasto morbido del secondo menu...

4.9 TASTI FLESSIBILI E MESSAGGI CON TESTO MULTILINGUE


Sofkeys gestiti da PLC ( - ) può essere definito come modalità "multilingue" per attivare automaticamente

adattarsi alla lingua selezionata per i menu di NC - ).

Prima della definizione SOFTK, nella sezione di dichiarazione del PLC, devono essere introdotte le seguenti
istruzione:

LING, cod_lang_1[, cod_lang_2] [...] [, cod_lang_5]

dove i codici delle lingue possono essere:

1= Italiano
2= Francese
3= Tedesco
4= Inglese
5= Spagnolo
6= Portoghese

4-14 Sviluppo della Logica Macchinari (PLC) - Parte I (01)


Serie S3000
4. Dichiarazioni

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:

Italian and English messages:

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 : $
...

Sviluppo della Logica Macchina (PLC) - Parte I (01) 4-15


Serie S3000
4. Dichiarazioni

4-16 Sviluppo della Logica Macchina (PLC) - Parte I (01)


Serie S3000
5. Operazioni e funzioni

5. FUNZIONE E OPERAZIONE

5.1. PROGRAMMAZIONE CON LOGICA ELEMENTARE


La prima rete logica incontrata in qualsiasi applicazione PLC è una combinazione di circuiti chiusi e aperti.
contatti che rappresentano segnali veri o falsi che attivano un'uscita.

Ad esempio prendi lo schema elettrico qui sotto:

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.

In linguaggio PLC S3000 questo è scritto come:

COMAS=DRAOK&MAREG~"TEST

Dove si trovano gli operatori logici elementari:

& 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.

Nell'equazione U=A~B&C viene valutata come U=A~(B&C).

Se invece si desidera fare OR tra A e B e poi ANDare il risultato con C, questo è scritto come U=(A~B)&C

Le parentesi cambiano la priorità delle operazioni, come nell'aritmetica convenzionale.

Sviluppo di Logica Macchine (PLC) - Parte I (01) 5-1


Serie S3000
5. Operazioni e funzioni

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:$
...

5.2. OPERAZIONI ARITMETICHE


Può essere applicato a formati byte, word, double e long.

Il formato sintattico tipico è:


result=operand operator operand [...][operator operand]
gli operatori possibili sono:
+ addizione
- sottrazione
* moltiplicazione
/ divisione
// resto della divisione

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

Gli operatori e le parentesi hanno le stesse priorità della tradizionale aritmetica.

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).

5-2 Sviluppo della Logica Macchinari (PLC) - Parte I (01)


Serie S3000
5. Operazioni e funzioni

5.3. FUNZIONI MATEMATICHE A VIRGOLA MOBILE


Le seguenti funzioni possono essere utilizzate su variabili formattate in singolo, doppio e lungo. Trigonometriche
Le unità funzionali sono gradi.

SQR (argument) radice quadrata


INTERO(argomento) intero troncato
NEI (argomento) numero intero arrotondato

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.

Nota: nel caso di elevare al quadrato, è più efficiente, in termini di esecuzione


velocità, utilizzare la sintassi argomento*argomento invece di argomento^argomento.

5.4. CONFRONTA
Spesso è necessario confrontare due variabili o una variabile e un valore costante e poi operare su di essi.
the result.

I confronti possono essere fatti utilizzando i seguenti simboli:

= 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:

MAOR=(AUXM=3)~(AUXM=13) [MAOR è vero quando AUXM=3 o quando AUXM=13

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().

Sviluppo della Logica della Macchina (PLC) - Parte I (01) 5-3


Serie S3000
5. Operazioni e funzioni

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.

variabile@ + n effetti una rotazione a sinistra


variabile@ - n effetti una rotazione a destra

dove n è il numero di rotazioni in formato BYTE o WORD.

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.

Prima della rotazione 1 0 0 0 1 0 0 0

Dopo la rotazione 0 0 0 1 0 0 0 1

5.6. CONVERSIONI DI FORMATO


Un insieme di funzioni è fornito per convertire una variabile di input in una variabile di output con un differente
formato.

La sintassi è la stessa per tutte le funzioni:

output=function(argument)

dove: l'argomento può anche essere un'espressione complessa.

ENC- ricerca bit


Scansiona il valore dell'argomento a partire dal BIT meno significativo e produce un output che
indica la posizione del primo bit che è impostato a 1. L'output è da 1 a 16 se l'argomento è una PAROLA
o da 1 a 8 se è un BYTE.

Esempio:

ENC (10100000B) = 6

5-4 Sviluppo della logica di macchina (PLC) - Parte I (01)


Serie S3000
5. Operazioni e funzioni

DEC - Imposta bit

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.

HI - Estrae il byte alto da una parola


Converte gli otto bit più significativi nella parola di argomento in un byte (argomento).

Esempio:

BYT1=HI(WORD1) estrae la parte superiore di WORD1

LO - Estrae il byte basso da una parola


Converte gli otto bit più bassi nell'argomento in un byte (argomento).

Esempio:

BYT1=LO(WORD1) estrae la parte inferiore di WORD1

EST - Conversione di un byte in una parola

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 )

BCD - Converte un numero binario in BCD


Converte un byte (argomento) in un numero BCD a due cifre o una parola (argomento) in un BCD a quattro cifre
numero.

Esempio:

BCD1=BCD(BYTE1) se BYTE1 fosse uguale a 00001100 (12 decimale), BCD1 sarebbe


essere 0001 0010

BIN - Converte un numero BCD in un byte o parola


Converte un numero BCD a due cifre contenuto all'interno di un byte, o un numero BCD a 4 cifre contenuto all'interno di un
parola di nuovo in formato binario. Quindi è l'opposto di BCD.

Sviluppo della logica delle macchine (PLC) - Parte I (01) 5-5


Serie S3000
5. Operazioni e funzioni

Esempio:

BYTE1=BIN(BCD1) se BCD1 fosse uguale a 0001 0010, BYTE1 sarebbe 00001100

IFP - Converte un byte o una parola nel formato a virgola mobile

Questa funzione è necessaria per eseguire operazioni matematiche su byte e parole che sono
riservato per le variabili a punto flottante.

Esempio:

NUTF=IFP(DTOOL) converte la variabile DTOOL in punto flottante

FPI - Converte il formato a virgola mobile in byte o parola

5.6.1. ESPRESSIONI COMPLEXE


Le funzioni sopra descritte per la trasformazione tra vari formati possono essere utilizzate in
congiunzione con le funzioni aritmetiche e matematiche per formare espressioni complesse.

Tuttavia, non tutte le funzioni sono utili in espressioni complesse. In particolare, la seguente complessa
Le espressioni non sono consentite.

∙ Funzioni con più di un argomento:


FF(..),(..), MUX(..),(..), RIC(..)

∙ Funzioni con argomenti stringa:


VAL(...), LEN(..), INSTR(..), STRCMP(..)

Di seguito sono riportati esempi di espressioni complesse valide

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

5-6 Sviluppo della Logica Macchina (PLC) - Parte I (01)


Serie S3000
5. Operazioni e funzioni

5.7. OPERAZIONI SULLE STRINGHE

Una stringa è un array di caratteri alfanumerici esclusi le virgole.

5.7.1. FUNZIONI NUMERICHE CON ARGOMENTI STRINGA


Queste sono funzioni che producono un valore numerico a partire da argomenti di tipo stringa:

VAL - Trasforma un formato ASCII in un valore numerico


Fornisce il valore numerico di una variabile stringa. La sintassi è:

VAL(argomento)

dove l'argomento può essere:

una variabile stringa


un'espressione che risulta in una variabile di stringa

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.

La conversione si ferma al primo carattere non numerico.

Esempio:

RAM,32
NUMVAL
STR
NUMSTR
...
PROG
NUMSTR='123.56'
NUMVAL=VAL(NUMSTR) [NUMVAL contiene la conversione numerica di NUMSTR
[ che è NUMVAL=123.56

INSTR - Cerca una stringa all'interno di una stringa

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

Sviluppo della Logica Macchina (PLC) - Parte I (01) 5-7


Serie S3000
5. Operations and functions

argomento4 specifica quanti caratteri nell'argomento 2 devono essere cercati


a partire dall'argomento 3

l'argomento1 e l'argomento2 possono essere:


una sequenza di caratteri delimitata da virgolette
una variabile di stringa
un'espressione il cui risultato è una stringa

argomento3 e argomento4 possono essere:


un intero tra 1 e 255
- una variabile byte con un valore compreso tra 1 e 127 o una variabile word con un valore compreso tra 1
e 255
- un'espressione il cui risultato è una parola o un byte con gli stessi limiti numerici di quelli sopra.

Il valore assegnato dalla funzione può essere un byte o una parola.

La funzione può produrre risultati diversi in base ai valori degli argomenti 1-4 e ad altre condizioni
come indicato di seguito:

se la stringa non viene trovata, viene sostituito un 0 per il risultato.


- se argument2 è una stringa nulla, viene restituito argument3
- se l'argomento1 è una stringa nulla viene restituito un valore zero
se l'argomento3 + l'argomento4 è maggiore della lunghezza dell'argomento1, la ricerca inizia da
l'argomento 3 e continua finché non ci sono più caratteri rimasti.
- se l'argomento4 è minore o uguale a 0, il risultato sarà zero

Esempio:

Supponiamo che VARIAB1 contenga 'ABCDEABCUPABCXY' e VARIAB2 contenga 'AB', e il


istruzione utilizzata è:

POSIZ=INSTR(VARIAB1,VARIAB2,4,13)
il risultato ottenuto in POSIZ è il numero 6)

LEN - Lunghezza stringa


Fornisce il numero di caratteri inclusi gli spazi della stringa di argomento. Il formato è:

LEN(argomento)
dove l'argomento può essere:
- una variabile di tipo stringa
un'espressione il cui risultato è una variabile stringa

L'output di questa funzione può essere in formato byte o parola.

Esempio:
RAM,8
LUNST
STR
MSG1
...
PROG
MSG1='ALARM NUMBER3"

5-8 Sviluppo della Logica Macchina (PLC) - Parte I (01)


Serie S3000
5. Operazioni e funzioni

LUNST=LEN(MSG1) [LUNST contiene il numero di caratteri in MSG1

STRCMP - Confronto delle stringhe

confronta due argomenti specificati dall'operatore e fornisce un risultato di vero o falso. I due
Gli argomenti possono avere diversi formati. Il formato è:

STRCMP(argomento1 operatore argomento2)

l'operatore può essere <,>,<=,>=,=,<>

l'argomento1eargomento2possono essere:

- una sequenza di caratteri delimitata da virgolette


una variabile di tipo stringa
un'espressione il cui risultato è una stringa

Il risultato è in formato bit e viene ottenuto secondo le seguenti regole.

argomento1>argomento2 Se il codice ASCII, a partire dal primo carattere fino all'ultimo, è


maggiore in argument1 rispetto al suo omologo in argument2. Il
il risultato sarà vero.

Esempio:

STRCMP('COSE'>'COSA') [ result is true

argomento1>argomento2 Se la condizione precedente non è vera e la lunghezza di argument1


è maggiore della lunghezza di argument2

Esempio:

STRCMP('COSE'>'CO') [il risultato è vero

argomento1=argomento2 Se tutti i caratteri in entrambi gli argomenti sono identici


(inclusi gli spazi)

Esempio:

RAM,1
PROVA
...
PROG
TEST=STRCMP('AVARIA'='AVARIA') [result; TEST=1
TEST=STRCMP('AVARIA'='AVARIA ') [result: TEST=0

Sviluppo della logica della macchina (PLC) - Parte I (01) 5-9


Serie S3000
5. Operazioni e funzioni

5.7.2. FUNZIONI STRINGA SU ARGOMENTI NUMERICI


Il risultato di queste funzioni è una stringa di caratteri il cui formato può essere una stringa di qualsiasi lunghezza.

MKN$ - converte un numero in formato stringa

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)

dove l'argomento può essere:


un numero esplicito
- una variabile
il risultato numerico di un'espressione

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$ - Generates an ASCII character


Restituisce il carattere ASCII corrispondente al codice ASCII specificato nell'argomento della funzione (vedi)
Tabella del codice ASCII alla fine del manuale). Il formato è:

CHR$(argomento)

dove l'argomento può essere:


un numero intero compreso tra 0 e 255
una variabile di tipo parola o byte con un valore compreso tra 0 e 255
un'espressione il cui risultato è una variabile di tipo parole o byte con un valore compreso tra 0 e 255

Il risultato della funzione deve essere assegnato a una variabile di tipo stringa.

5-10 Sviluppo della Logica Macchinari (PLC) - Parte I (01)


Serie S3000
5. Operazioni e funzioni

Example:

LETTER=CHR$(035) [LETTER conterrà il carattere #

STRNG$ - Genera una stringa di caratteri equivalenti


Genera una stringa di caratteri identici per un codice ASCII specificato. Il formato è:

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

5.7.3. FUNZIONI STRINGA CON ARGOMENTI STRINGA

MID$ - Estrae una piccola stringa da una stringa più grande.

Estrae un numero specificato di caratteri dalla stringa a partire da una posizione specificata.

MID$(argomento1, argomento2, argomento3)

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

argomento2 e argomento3 possono essere:


un intero esplicito tra 1 e 254
una variabile byte con un valore compreso tra 1 e 127 o una variabile word con un valore compreso tra 1 e 254
- un'espressione il cui risultato è una parola o un byte come descritto sopra.

Sviluppo della Logica Macchinistica (PLC) - Parte I (01) 5-11


Serie S3000
5. Operazioni e funzioni

L'output della funzione deve essere assegnato a una variabile di tipo stringa. Si applicano le seguenti regole:

∙ Se l'argomento2 è più lungo dell'argomento1, il risultato è una stringa vuota


∙ Se l'argomento 3 + argomento 2 è più lungo dell'argomento 1, l'estrazione viene effettuata finché non ci sono più
ulteriori caratteri disponibili
∙ Se la lunghezza di argument1 è 0, il risultato è una stringa vuota

Esempio:

Supponiamo che VARIAB1 contenga la stringa 'ABCDEFGHLMN'

VARIAB2=MID$(VARIAB1,4,5) VARIAB2 diventa la stringa 'DEFGH'

LEFT$ - Estrae una stringa a partire da sinistra


Estrae un numero specificato di caratteri da una stringa a partire dall'inizio di quella stringa. Il
format is:

SINISTRA$(argomento1, argomento2)

dove:
argomento1 è la stringa da cui estrarre
argomento 2 è il numero di caratteri da estrarre

dove l'argomento1 può essere:


- una variabile di stringa

dove il parametro2 può essere:


un numero intero tra 1 e la lunghezza della stringa
- una variabile BYTE o WORD con un valore compreso tra 1 e la lunghezza della stringa
- un'espressione il cui risultato in una variabile BYTE o WORD ha un valore compreso tra 1 e la lunghezza di
la stringa.

L'output della funzione deve essere assegnato a una variabile stringa. Si applicano le seguenti regole:

Se argomento2 è più lungo di argomento1, tutti i caratteri disponibili vengono estratti

Se la lunghezza di argument1 è 0, il risultato è una stringa vuota

5-12 Sviluppo della Logica Macchinaria (PLC) - Parte I (01)


Serie S3000
5. Operazioni e funzioni

RIGHT$ - Estrae una stringa a partire da destra


Estrae un numero specificato di caratteri a partire dall'ultimo carattere della stringa. Il formato è:

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:

Se l'argomento2 è più lungo dell'argomento1, verranno estratti tutti i caratteri disponibili

Se la lunghezza di argument1 è 0, il risultato è una stringa vuota

5.7.4. COMBINAZIONE DI STRINGHE

Le stringhe possono essere concatenate tra loro per formare una nuova stringa combinata.

La sintassi è:

nome=argomento1[+..][+argomentoN]

dove argument1 e argumentN possono essere:


- una sequenza di caratteri alfanumerici delimitati da virgolette
una variabile di stringa
- un'espressione il cui risultato è una stringa

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

Sviluppo della Logica Macchina (PLC) - Parte I (01) 5-13


Serie S3000
5. Operazioni e funzioni

5-14 Sviluppo della Logica Macchina (PLC) - Parte I (01)


Serie S3000
6. Istruzioni per controllare il flusso del programma

6. ISTRUZIONI PER IL PROGRAMMA


CONTROLLO DEL FLUSSO

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.

Il flusso del programma può essere controllato con le seguenti istruzioni:

∙ SALTO INCONDIZIONATO
∙ SALTO CONDIZIONALE
∙ ESECUZIONE CONDIZIONALE
∙ GOTO CALCOLATO
∙ GOTO INTERROGATO
∙ CICLO
∙ SOTTOPROGRAMMA

6.1. SALTO INCONDIZIONATO


Il formato è il seguente:

labelxthe programma salta al punto labelx:


...
labelx:...

dove:
labelxis l'istruzione di salto
labelx:is the label to jump to

Nota: Il salto incondizionato ha un formato (labelx...labelx:) simile a (name1:name2) per


dichiarazione di equivalenza (vedi capitolo 4.4 per la Dichiarazione di Equivalenza). Il sostanziale
la differenza consiste nel fatto che la dichiarazione di equivalenza è utilizzata solo all'inizio
sezione di dichiarazione, mentre i salti sono usati in altre parti del programma.

Sviluppo della Logica Macchina (PLC) - Parte I (00) 6-1


Serie S3000
6. Istruzioni per controllare il flusso del programma

6.2. SALTO CONDIZIONALE


Il formato è il seguente:

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:...

6.3. ESECUZIONE CONDIZIONALE


Il formato minimo è:

SE(condizione)equazione

L'equazione dopo la parentesi viene eseguita solo se la condizione è vera.

Una sintassi più complessa è la seguente:

SE(condizione) equazione[;...] [;equazione] : ALTRIMENTI equazione[;...] [;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:

SE(VEMA>=1) VEMA=.9999;LIMIT=1$ [esempio dell'uso del $


:ALTRO LIMIT=0

Non è possibile avere più di un'istruzione IF annidata sulla stessa riga.

6.4. GOTO CALCOLATO


Per consentire un movimento libero all'interno del programma, questa istruzione salta il programma a etichette dichiarate
all'interno di funzioni o espressioni numeriche.

il formato è il seguente:

GOTC(espressione) etichetta1 [,etichetta2] [,..] [,etichetta255]

6-2 Sviluppo della Logica Macchina (PLC) - Parte I (00)


Serie S3000
6. Istruzioni per controllare il flusso del programma

dove l'espressione può essere:


- un BYTE o WORD con un valore compreso tra 1 e 255
- un'espressione che risulta in un BYTE o WORD con un valore compreso tra 1 e 255

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.

6.5. INTERROGATE ANDARE A


Sistema di permessi per saltare a un'etichetta a seconda di quale bit è impostato in una variabile.
Il formato è il seguente:

GOTP(espressione) etichetta1 [,etichetta2] [,..] [,etichetta16]

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.

BIT 1 prima etichetta


BIT 2 secondo etichetta
...
BIT 16 sedicesimo etichetta

Il numero massimo possibile di etichette è 16.


Se l'espressione contiene più di un bit impostato a 1, viene selezionato il meno significativo.

Sviluppo della Logica Macchina (PLC) - Parte I (00) 6-3


Serie S3000
6. Istruzioni per controllare il flusso del programma

Se l'espressione è uguale a 0, viene eseguito il blocco successivo.

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

dove l'espressione può essere:


un numero intero tra 1 e 255
- un BYTE o WORD con un valore compreso tra 1 e 256
un'espressione che produce un BYTE o WORD con un valore compreso tra 1 e 256

Le istruzioni comprese tra EXEC e END vengono eseguite tante volte quante definite dal
espressione.

Fino a quattro ciclamenti annidati sono possibili

Example:

I=0
ESECUZIONE=(2*XTAB)[azzera la tabella TAB
I=I+1
TAB(I)=0
FINE

6-4 Sviluppo della Logica Macchinaria (PLC) - Parte I (00)


Serie S3000
6. Istruzioni per controllare il flusso del programma

6.7. SOTTOPROGRAMMA
Per chiamare una subroutine, si usa l'istruzione CALL seguita dal nome della subroutine desiderata.

L'ultima istruzione di una sottoroutine deve essere RTSto restituire.

Una sottoroutine viene chiamata in modo condizionale se l'istruzione CALL è preceduta da un'istruzione IF (...) nella
stessa espressione.

Esempio:

SE(STROM) CHIAMA GEFUM

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.

È possibile annidare le chiamate di sottoprocedure fino a 8 livelli.

Sviluppo della logica della macchina (PLC) - Parte I (00) 6-5


Serie S3000
6. Istruzioni per controllare il flusso del programma

6-6 Sviluppo della logica della macchina (PLC) - Parte I (00)


Serie S3000
7. Funzioni speciali

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.

7.1. FLIP FLOP


Questa funzione può essere generata utilizzando il seguente formato di istruzione:

Output=FF(set equation),(reset equation)

La variabile di output assume i seguenti valori in funzione dei valori di input:

Imposta Ripristina Produzione


equazione equazione segnale Nota
0 0 x l'output non cambia
0 1 0
1 0 1
1 1 0 il ripristino ha la priorità

Esempio:

REME = FF( OLTREC ~ TERMIC ),( EMEA )

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] [, ...])

Sviluppo della Logica Macchina (PLC) - Parte I (01) 7-1


Serie S3000
7. Funzioni speciali

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.

La funzione può operare su un massimo di 16 variabili.

Se nessuna variabile di selezione è attiva (alta), il valore di varout rimane invariato.

Esempio:

MULTI1=MUX(SELEZ1,SELEZ2,SELEZ3),(VARIA1,VARIA2,VARIA3)

7.3. RICERCA TABELLA


Questa funzione restituisce la posizione vettoriale di un valore cercato in una tabella. Se il valore di ricerca non è
trovato, il programma si dirama all'etichetta specificata.

Il formato è il seguente:

posizione=RIC(tavolo, primo indice, ultimo indice, valore da cercare)etichetta

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

position può essere una variabile BYTE o WORD


la tabella può essere un vettore BYTE o WORD
primo indice, ultimo indice e valore di ricerca possono essere:
un numero intero tra 1 e 32767
- un valore BYTE o WORD compreso tra 1 e 32767
- un'espressione che risulta in un valore BYTE o WORD compreso tra 1 e 32767

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:

POMAG=RIC(TABUT,1,25,NEWTOL*2)ERRCU [cerca un nuovo strumento nella tabella TABUT

7-2 Machine Logic Development (PLC) - Part I (01)


Serie S3000
7. Funzioni speciali

7.4. MESSAGGI PER L'OPERATORE


Lo schermo di visualizzazione fornisce 16 righe per messaggi di fino a 62 caratteri ciascuno. Possono essere
accessibile tramite il softkey MESSAGGI LOGICI.

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
è:

DISPL, line number, message

dove:

linenumber may be:


∙ un intero tra 1 e 16, o 0 per visualizzare un messaggio nell'area riservata del display del NC
monitor.
∙ una variabile BYTE o WORD con un valore compreso tra 0 e 16
∙ un'espressione il cui risultato è una variabile BYTE o WORD con un valore compreso tra 0 e 16

messagemay be:
∙ una sequenza di caratteri delimitata da virgolette
∙ una variabile di stringa
∙ un'espressione che risulta in una stringa

I messaggi possono anche essere ottenuti combinando messaggi predefiniti


con stringhe ottenute utilizzando la funzione MKN$(...)

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 è:

FERMO CICLO DOVUTO A ANOMALIE NEL MOVIMENTO DELL'ASSE No2

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:

FERMATA DEL CICLO A CAUSA DI ANOMALIE NELLA POMPA n.1


FERMO CICLO A CAUSA DI ANOMALIE NELLA POSIZIONE DEL PALLET No4

i messaggi possono essere cancellati utilizzando il seguente comando:

Sviluppo della Logica Macchina (PLC) - Parte I (01) 7-3


Serie S3000
7. Funzioni speciali

CLR, linea

dove la linea potrebbe essere:

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:

DISPL,1,'ANOMALIA DI PRESSIONE DEL LUBRIFICANTE'

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.

7.5. COMANDI DEL PROGRAMMA DI LOGICA MACCHINA

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):

COM,1, nome del programma

dove:

il nome del programma può essere:

∙ una sequenza di caratteri delimitata da ‘ ‘


∙ una variabile stringa
∙ un'espressione il cui risultato è una stringa

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).

7-4 Sviluppo della logica della macchina (PLC) - Parte I (01)


Serie S3000
7. Funzioni speciali

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.

7.5.1. COMANDI DEL PROGRAMMA UTILIZZATI DURANTE L'AUTOMATICO


ESECUZIONE DEL PROGRAMMA

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:

∙ prima che il segnale BURDY venga resettato


∙ o con DHOLD alto. L'istruzione COM deve essere completata prima che il segnale BURDY venga azzerato.

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.

7.5.2. COMANDI DEL PROGRAMMA ESEGUITI DAL MODALITÀ MANUALE


I programmi COM possono essere eseguiti in modalità manuale utilizzando la funzione NCMD=5 (modalità asincrona).

La sintassi è la stessa di quella descritta all'inizio del capitolo, tuttavia, il programma non è
sincronizzato con il segnale BURDY.

IlLOCOMstrobo non è attivato alla fine di questo tipo diCOM.

All'interno di un 'asynchronousCOM' è possibile inserire una funzione che chiama un synchronousCOM


seguendo tutte le regole descritte nel paragrafo precedente.

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:

bit ASI FERMI=((

Sviluppo della Logica Macchinari (PLC) - Parte I (01) 7-5


Serie S3000
7. Funzioni speciali

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

7.5.3. COMANDI DEL PROGRAMMA DI LOGICA MACCHINA IN


MODALITÀ SEMIAUTOMATICA ATTIVA

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.

Le seguenti funzioni modali per la programmazione a pezzi permettono di alterare questo:


-G1011: forces execution of the COM subprograms in semiautomatic when the status of the
NC è semiautomatico (da utilizzare per il controllo o la regolazione).

G1010: disabilita l'operazione attivata con G1011


(ripristina la condizione predefinita).

COMANDI DEL PROGRAMMA DI LOGICA MACCHINA: UNITA' DI MISURA

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).

COMANDI DEL PROGRAMMA DI LOGICA MACCHINA: FUNZIONI NON PERMESSE

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.

7-6 Sviluppo della Logica Macchinari (PLC) - Parte I (01)


Serie S3000
7. Funzioni speciali

COMANDI DEL PROGRAMMA LOGICO DELLA MACCHINA: ESECUZIONE IN MODO ASINCRONO

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.

STRCOM 1 NCÞPLC sì Stroboscopio di sincronizzazione per il funzionamento di

il COM richiesto con RCOM.

RCOM_ 8 PLCÞNC no Richieste per attivare l'asincrono


COM per i gruppi di assi individuali (1..8).

STRCO_ 8 NCÞPLC sì Segnale di sincronizzazione per il funzionamento di


la COM richiesta con RCOM_ per il
gruppi di assi individuali (1..8).

Sviluppo della Logica Macchinistica (PLC) - Parte I (01) 7-7


Serie S3000
7. Funzioni speciali

7-8 Sviluppo della Logica Macchinaria (PLC) - Parte I (01)


Serie S3000

PARTE II

INTERFACCIA DI SISTEMA

Sviluppo della logica della macchina (PLC) - Parte II (00)


Serie S3000

Sviluppo della Logica Macchina (PLC) - Parte II (00)


Serie S3000
Introduzione

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

∙ Moduli interni dedicati che sono:

Modulo di gestione del mandrino


Modulo per gestire assi indipendenti
- Modulo per la gestione del cambio utensile

Le descrizioni delle informazioni sopra menzionate sono organizzate come segue:

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 formato (nella colonnaDim)


1 = bit
8 = byte
16 = word
32 = punto flottante
64 = punto flottante doppio
STR = stringa di caratteri

∙ Le restrizioni sincrone con il segnale BURDY (nella colonna Syn)


∙ Le informazioni direzionali: da PLC a NC, viceversa o in entrambe le direzioni (nella direzione)
colonna).
Nota: Scrivere in variabili di sola lettura PLC, con la direzione dal NC al PLC e non viceversa.
versa, può avere conseguenze imprevedibili.
∙ A briefDescriptionin the corresponding column.
Le unità di misura utilizzate sono le seguenti:
- per la misurazione di altezze, distanze, impostazioni di regolazione mm
- per dimensioni rotative gradi
per il tempismo msec, sec o min
- per velocità: mm/min
- per accelerazione: mm/(sec²)
- per la velocità del mandrino giri/min
- per tensione V

Sviluppo della logica macchina (PLC) - Parte II (00) 1


Serie S3000
Introduzione

La simbologia utilizzata è la seguente:

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:

∙ La dimensione degli elementi vettoriali è maggiore di 1.

∙ Quando si descrivono i singoli bit di registro, queste descrizioni sono generalmente precedute da
descrizione del registro stesso, che sarà indicato senza parentesi.

Esempio:

Name Dim Direzione Sin Description

MOVCN 8 NCð PLC no Request axes enable (1..8).


MOVCN(1) 1 NCð PLC no (first bit of the byte) request for axis 1
MOVCN(8) 1 NCð PLC no (ottavo bit del byte) richiesta per l'asse 8

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.

2 Sviluppo della Logica Macchinaria (PLC) - Parte II (00)


Serie S3000
1. Gestione e flusso dei comandi

1. FLUSSO DI SEGNALE E DATI


SCAMBIO

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.

NCMD può assumere i seguenti valori:

lettura delle coordinate


2singolo blocco
esecuzione del programma semiautomatica 3
esecuzione automatica del programma
5manuale
8ripristina ai valori predefiniti
9manual attivo in stato di attesa

Assegnando al registro FNCMD il valore di 3, il NC è forzato in un programma semiautomatico


stato di esecuzione (NCMD=3). In condizioni normali il valore FNCMD deve essere zero e 3 è l'unico
valore assegnabile diverso da zero.
Riepilogo dei registri e dei segnali coinvolti

NCMD 8 NCð PLC no Codice di stato operativo NC:


1 = lettura delle coordinate
2 = blocco singolo
3 = esecuzione del programma semiautomatica
4 = esecuzione automatica del programma
5 = manuale
8 = ripristina i valori predefiniti
9 = manuale attivo in stato di attesa.
STBMD 1 NCð PLC no Segnalazione a impulso stroboscopico del cambiamento nello stato NC; con una durata
di un ciclo di logica lento.
FNCMD 8 CNï PLC no Registrazione NC in esecuzione semiautomatica

Sviluppo della Logica Macchine (PLC) - Parte II (01) 1-1


Serie S3000
Gestione e flusso dei comandi

1.2. AUSILIARI SINCRONI E PREPARATORI


FUNZIONI
La presenza nei blocchi del programma di una funzione ausiliaria M, S, T, H eseguita individualmente (in singolo
lo stato del blocco) o all'interno di un programma (in stato automatico o semiautomatico), è segnalato al
PLC tramite registri di comunicazione e segnali. Questi segnali di comunicazione sono
sincronizzato con i blocchi stessi e per brevità sarà semplicemente chiamato
segnali "sincroni".
Il segnale sincrono primario è BURDY (BUffer ReaDY). Viene impostato dal NC per segnalare al PLC
che c'è una nuova funzione ausiliaria.
Il codice della nuova funzione è memorizzato nei registri AUXM, SPEED, TOOL e AUXH.
In aggiunta, per ottimizzare la comunicazione, il NC imposta un segnale lampeggiante che indica quale tipo di
La funzione è presente. Avrà quindi, rispettivamente; STROM, STROS, STROT e STROH.
Nota: Dopo aver decifrato questi segnali per determinare la nuova funzione, il PLC deve immediatamente azzerarsi.
BURDYsegnale in modo che il NC possa continuare a lavorare. BURDYdeve essere utilizzato esclusivamente per il
decodifica delle funzioni ausiliarie e non fermare l'avanzamento dei blocchi. Altri segnali
sono riservati a questo scopo.
I lampeggianti sono segnali aggiornati dalla NC solo quando BURDY è impostato. Pertanto, non hanno una
durata fissa, non devono essere ripristinati dal PLC e vengono utilizzati solo quando il segnale BURDY è attivo.

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=...

1-2 Sviluppo della logica della macchina (PLC) - Parte II (01)


Serie S3000
Gestione e flusso dei comandi

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
...

1.2.1. ACQUISIZIONE DEL PLC PER SINCRONIZZAZIONE NC


INFORMAZIONI
Dopo che il segnale BURDY è stato impostato a 1 da un blocco o una serie di blocchi contenenti la fine del movimento
codici, è possibile acquisire tutte le informazioni sincronizzate inviate dal PLC al NC e riferite
a chiamate per sottoprogrammi dalla logica, compensazione di strumenti attivi ecc., indicati nell'elenco riassuntivo di
variabili precedentemente definite (INTOF, istruzioni COM - vedi paragrafi).
Queste stesse informazioni possono essere ottenute anche quando il segnale DHOLD è attivo, cioè quando è impostato
prima di ripristinare BURDY e dopo una funzione M; fine del blocco o inizio del blocco se programmato da solo.

1.2.2. SEGNALAZIONE TERMINAZIONE DEL SOTTOPROGRAMMA

In modalità sincrona, la conclusione di un subprogramma eseguito dal PLC (COM) è segnalata da NC


attraverso ilSTCOMstrobo. Questo segnale funziona allo stesso modo degli stroboSTROM e STROH
ma inoltre, quando impostato. Attiva l'acquisizione sincrona di ulteriori chiamate a sottoprogrammi come
descritto nel paragrafo precedente.

È importante ricordare che:


∙ Nel caso di ulteriori sottoprogrammi annidati (un sottoprogramma che contiene una funzione che, in
gira, lancia un altro sottoprogramma), STCOM è emesso solo quando il sottoprogramma principale
è terminato
∙ Nel caso di sottoprogrammi eseguiti con il NC in stato manuale, STCOM non viene emesso

1.2.3. PARAMETRI SUPPLEMENTARI I, J, K, Q


I parametri I, J, K, Q, che sono programmati insieme alle funzioni ausiliarie M, H, sono
comunicati al PLC all'inizio del blocco sull'array AUXVAL accompagnati da
STRAUXstrobes con i seguenti indici. Questi possono essere utilizzati, ad esempio, per definire M19 Q12.2.
sintassi di tipo.

AUXVAL(1)= parametro I con lo strobeSTRAUX(1)


AUXVAL(2)= parametro J con lo strobeSTRAUX(2)
AUXVAL(3)= parametro K con lo strobeSTRAUX(3)
AUXVAL(4)= parametro Q con lo stroboscopioSTRAUX(4)

Sviluppo della Logica Macchinaria (PLC) - Parte II (01) 1-3


Serie S3000
Gestione e flusso dei comandi

1.2.4. ESECUZIONE DI FUNZIONI AUSILIARE "AL VOLO"


Funzioni ausiliarie (vedi tabella alla fine del manuale) possono essere eseguite immediatamente durante un
blocco di movimento continuo senza decelerazione degli assi, se programmato all'interno del blocco di movimento stesso.

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

Riepilogo dei Registri e dei Segnali Coinvolti

BURDY 1 NCó PLC sì Indica che il NC ha inviato nuovi dati sincroni per il
logica della macchina per decodificare.

AUXM 16NCð PLC sì Ultimo codice M programmato (M0-M9999).


STROM 1 NCð PLC sì Funzione M strobe presente.
STRUMENTO16NCð PLC sì Ultimo codice T programmato (T0-T32767).
STROT 1 NCð PLC sì Funzione strobo presente.
AUXH 16NCð PLC sì Ultimo codice H programmato (H0-H9999).
Fieno 1 NCð PLC sì Funzione strobe H presente.
VELOCE 32NCð PLC sì Ultimo codice S programmato (S0-S99999).
STROS 1 NCð PLC sì S function strobe present.
STCOM 1 NCð PLC sì Segnale lampeggiante di fine esecuzione del sottoprogramma COM.
64NCð PLC no
ALIMENTAZIONE Ultimo pasto programmato.
AUXG 16 NCð PLC no Ultimo codice G programmato (G0-G9999).
CICFI 16NCð PLC no Ciclo fisso in corso.
AXPGM 8 NCð PLC sì Assi con nomi programmati nello stesso blocco come ausiliari
funzione (es. M11XYZ genera AXPGM=00000111B).
AUXVAL() 64 NCð PLC sì Array in cui vengono trasmessi 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ì Strobes for parameters I, J, K, Q.
STRAUX(1)= strobe I
STRAUX(2)= stroboscopico J
STRAUX(3)= strobe K
STRAUX(4)= stroboscopio Q

FUNZIONI AUSILIARIE: NOTE SULL'INVIO DELLA VELOCITÀ

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.

1-4 Sviluppo della Logica Macchina (PLC) - Parte II (01)


Serie S3000
1. Gestione e flusso dei comandi

1.3. AVVIO, FERMATA, ALLARME E ASINCRONO


RICONOSCERE I CONTROLLI
Questo gruppo di segnali consente al PLC di interrompere temporaneamente o permanentemente l'attività in corso su
NC senza influenzare gli alberi, assi indipendenti sotto il controllo PLC o la routine di cambio utensile.
Con questi segnali attivati, le transizioni di stato NC sono inibite (es: da manuale a blocco singolo).
FHOLD (Feed Hold): Questo segnale consente la sospensione temporanea dei movimenti in corso da
fermare gli assi, utilizzando la decelerazione programmata attuale. Quando rilasciato il programma
continua senza ulteriori comandi.
DHOLD (Data Hold): impostando questo segnale, il PLC può interrompere temporaneamente l'elaborazione dei successivi
blocchi di programma. Questo non ha effetto fino a quando il programma non raggiunge un punto in cui gli assi
sono fissi. Quando viene rilasciato, il programma continua senza ulteriori comandi.
È molto importante ricordare che un profilo di interpolazione continua o una serie di
i movimenti senza interpolazione di funzioni ausiliarie sono considerati un blocco unico.

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

con il segnale CYST o il la chiave è premuta.

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.

Sviluppo della Logica delle Macchine (PLC) - Parte II (01) 1-5


Serie S3000
1. Gestione e flusso dei comandi

M.C. assente a causa di emergenza.

Ogni successiva istruzione di esecuzione viene rifiutata.

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.

RBRK (Richiesta di Interruzione). È il segnale PLC che duplica tasto ilsullagiallo


tastiera NC.
Questo comando, impostato dal PLC e azzerato dal NC quando acquisito, annulla qualsiasi attività NC
in corso. Dopo aver causato la decelerazione degli assi, costringe il sistema allo stato Manuale
(NCMD=5) il movimento in manuale non è effettuato. RBRK annulla EMEA (stato di emergenza)
eHOLDA (stato HOLD).
BRKA (Riconoscimento Interruzione). È un segnale impulso con una durata pari a un ciclo completo di logica lenta

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.

Riepilogo dei registri e dei segnali coinvolti

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ì

1-6 Sviluppo della Logica Macchinaria (PLC) - Parte II (01)


Serie S3000
Gestione e flusso dei comandi

Note riguardo alla visualizzazione dello stato dei segnali di stop

∙ 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.

1.4. ORIGINI DEGLI STRUMENTI E COMPENSO


Le azioni necessarie per attivare le origini degli utensili e la compensazione dipendono dalla scelta del
type of tool change made in the NC configuration. The details are shown in Chapter [Link] Change
Modulo di Gestione.

1.4.1. CAMBIO MANUALE DELLA FERRAMENTA

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.

1.4.2. CAMBIO MANUALE STRUMENTO TIPO S1200

Numeri da T0 a T9 scelti tra una delle 10 diverse origini nel piano.


I numeri da T10 a T98 scelgono uno dei 89 impostazioni di regolazione della lunghezza dell'utensile. Numero T99
richiamerà, per tutti gli assi, le origini fisse e assolute dei trasduttori. Questo serve per la programmazione
movimenti riferiti allo zero fisso della macchina e sono indipendenti dal pezzo zero.
Examples:
T1 richiama origine 1 sull'aereo
T23 ricorda l'impostazione della lunghezza dell'utensile numero 23

1.4.3. CAMBIO AUTOMATICO DELLO STRUMENTO

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).

Sviluppo della Logica Macchinaria (PLC) - Parte II (01) 1-7


Serie S3000
1. Gestione e flusso dei comandi

Le origini vengono attivate separatamente dalle funzioni.


Il codice O0 consente il passaggio all'origine assoluta. O-1 ripristina l'ultima origine presente prima.
passaggio all'origine assoluta.
L'attivazione di OFST= 0 annulla la lunghezza di correzione attiva.
In alcuni casi, il PLC può attivare l'origine impostando il segnale di sincronizzazione strobeINORG dopo aver
caricato il codice di origine su ORIG.

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.

Riepilogo dei registri e dei segnali coinvolti

OFST NCó PLC sì Codice della compensazione della lunghezza da attivare.


16
INTOF NCó PLC sì Stroboscopio per segnalare al NC di attivare la lunghezza dello strumento selezionato
1
compensazione.
ORIG 16NCï PLC sì Codice della parte origine da attivare.
INORG 1 NCó PLC sì Stroboscopico per segnalare il NC per attivare l'origine della parte selezionata.
BYORG 1 NCï PLC sì Cancellazione temporanea delle origini e delle impostazioni degli strumenti (assoluto
origine).
ASSORBE 1 NCð PLC no Origine attiva del segnale assoluto.

1.5. COMANDI CHE REGOLANO I PERCORSI DELL'ASSE

La velocità di alimentazione durante l'esecuzione in modalità automatica è regolata da 0 a 200% in funzione di


valore scritto su variablePOFO (tipicamente sarà uguale a un ingresso analogico ANI() il cui intervallo varia
da 0 a 1).
Esempio:
POFO = ANI(1) regola tra 0 e 100%
POFO = ANI(1)*2 regola tra 0 e 200%

1.5.1. ABILITAZIONE E BLOCCO DEGLI ASSI

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.

1-8 Sviluppo della Logica Macchina (PLC) - Parte II (01)


Serie S3000
1. Gestione e flusso dei comandi

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

Riepilogo dei Registri e dei Segnali Coinvolti

MOVCN 8 NCð PLC no Richiesta di abilitazione dell'asse (1..8).

RDMOV 8 NCï PLC no Asse pronto a muoversi; risposta a MOVCN (1..8).


POFO 64 NCï PLC no Sostituisci il valore nel feed programmato (da 0 a 2 fornisce un)
regolazione tra 0 e 200 percento).

1.5.2. ASSI SEMPRE ATTIVI O CON BLOCCO (M10 - M11)


Attraverso l'asynchronousSSAregister, il PLC può richiedere la configurazione desiderata degli assi
dalla NC purché siano abilitati e interbloccati attraverso il loop di posizione.
In modalità manuale, il NC accetta ed esegue la configurazione richiesta in modalità asincrona.
Tuttavia, in automatico, evita di alternare SSA durante i programmi contenenti movimenti. Sarebbe
meglio farlo successivamente alle funzioni ausiliarie.
Utilizzando il registro AXPGM, la funzione può essere resa selettiva solo agli assi specificati (M11XYZ).

Sviluppo della Logica Macchina (PLC) - Parte II (01) 1-9


Serie S3000
1. Gestione e flusso dei comandi

Sommario dei Registri e dei Segnali Coinvolti

SSA 8 NCï PLC no Assi che devono sempre essere attivi (1..8).

1.5.3. RILASCIO AXIS (M45 - M46)


Se un asse che è normalmente sotto controllo deve essere gestito da un sistema esterno, il PLC può
richiedere la configurazione degli assi dall'NC che devono essere rilasciati tramite la sincronizzazione
registerDSERV. When an axis is released it is disabled, it is ignored if programmed and the reference
non è in funzione.
Non appena l'asse viene nuovamente messo sotto controllo ripristinando DSERV, viene nuovamente bloccato su
posizione in cui si trova e abilitato, o meno, secondo la configurazione attuale del registro SSA.
Il NC tiene conto e esegue la configurazione richiesta in modalità asincrona.
Utilizzando il registro AXPGM, è possibile selezionare la funzione solo per gli assi specificati (M45XYZ).

S1200 Nel sistema S1200 questa operazione è stata implementata internamente, ma operava rigidamente da
le funzioni (M45 e M46).

Riepilogo dei Registri e dei Segnali Coinvolti

DSERV 8 NCï PLC no Assi da rilasciare (1..8).

1.5.4. DISABILITAZIONE DEL TRASDUTTORE

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.

Riepilogo dei Registri e dei Segnali Coinvolti

DISRQ 8 NCï PLC no Asse con trasduttori disabilitati (1..8).

1.5.5. MOVIMENTO MANUALE IN JOG


Nello stato manuale NC (NCMD=5) è possibile controllare il movimento degli assi fornendo il
direzione e velocità. Il movimento termina quando il controllo viene rilasciato e l'asse si ferma.

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).

1-10 Sviluppo della Logica Macchina (PLC) - Parte II (01)


Serie S3000
Gestione e flusso degli ordini

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

MOVMA 8 NCï PLC no Assi selezionati per il 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() 64NCï PLC no Velocità per movimenti manuali e ciclo di home per ciascuno singolo
asse (1..8) (da 0 a 1 come percentuale della velocità rapida).

1.5.6. MOVIMENTO MANUALE CON RUOTINO


Gli assi possono anche essere spostati con volanti elettronici mentre sono in stato manuale.

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.

1.5.7. HOMING DEGLI ASSI


Nello stato manuale NC (NCMD=5) è possibile azionare un asse in home, con o senza un microswitch di zero, tramite
inserire la direzione e la velocità.
Questa scelta di homing utilizzando il marcatore (encoder o linee ottiche) viene effettuata impostando il bit
corrispondente all'asse sul registroMARK.
Se l'azionamento deve essere eseguito utilizzando un microswitch di home, sarà necessario impostare il bit per il
assi sul registroMICZE.
In tutti i casi, se l'asse è stato azionato o meno è segnalato dallo stato del bit dell'asse pertinente in
registerMIZEA.

Sviluppo della Logica delle Macchine (PLC) - Parte II (01) 1-11


Serie S3000
1. Gestione e flusso di comandi

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:

MICZE priorità più alta


MARCA
MOVMA bassa priorità

Ciclo di riferimento utilizzando interruttori di casa

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:

1-12 Sviluppo della Logica Macchine (PLC) - Parte II (01)


Serie S3000
1. Gestione e flusso dei comandi

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.

Ciclo di riferimento sul microswitch

Trasduttore
Zero

MIZER

Velocità
A

P2 P1
Posizione
B

P1 = punto in cui viene inserito il valore zero della macchina


P2 = posizione della fine del ciclo domestico

Sviluppo della Logica Macchine (PLC) - Parte II (01) 1-13


Serie S3000
Gestione e flusso dei comandi

Tempi del ciclo domestico sul microswitch

A B C
Micze

Correre

Miserabile

Movcn

Trasduttore
Zero
Mizea

Velocità

V1
P1 P2
V2
Tempo
-V1

P1 = punto in cui viene inserito il valore della macchina zero


P2 = posizione della fine del ciclo domestico
V1 = home speed
V2 = velocità dell'interruttore (1/8 di V1)

1-14 Sviluppo della Logica Macchina (PLC) - Parte II (01)


Series S3000
1. Gestione e flusso dei comandi

Homing utilizzando lo zero elettrico del trasduttore (marcatore)

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.

Sviluppo della Logica Macchina (PLC) - Parte II (01) 1-15


Serie S3000
1. Gestione e flusso dei comandi

Ciclo domestico utilizzando un marcatore

Trasduttore
Zero

Velocità
A

P1

Position

P1= posizione della fine del ciclo di casa

Tempi del ciclo domestico utilizzando un marcatore

A B
Marco

Correre

Movcn

Trasduttore
Zero

Mizea

Velocità

V1

P1

Tempo
-V1

P1 = Home cycle position


V1 = Home cycle speed

Ritorno a casa utilizzando scale ottiche

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.

1-16 Sviluppo della Logica Macchinari (PLC) - Parte II (01)


Serie S3000
1. Gestione e flusso dei comandi

Riepilogo dei registri e dei segnali coinvolti

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).

MIZER 8 NCï PLC no Interruttore di casa per asse (1..8).


MIZEA 8 NCð PLC no Assi riferiti allo zero elettrico del trasduttore (1..8).

1.5.8. MOVIMENTI IN MANUALE DURANTE LO STATO DI ATTESA

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).

1.5.9. MOVIMENTO IN MANUALE E RIFERIMENTO DURANTE


ESECUZIONE DEL PROGRAMMA

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

FOMAN 8 NCï PLC sì Assi su cui forzare il controllo manuale (1..8).

1.5.10. INFORMAZIONI RELATIVE AGLI ASSE


Attraverso un insieme di registri precedentemente definiti è possibile, in qualsiasi momento, leggere qualsiasi informazione importante
informazioni relative a un singolo asse NC per scopi di debug, calibrazione o, in modo isolato
casi, al fine di implementare algoritmi di un particolare tipo.
Nella tabella che segue, i registri sono stati suddivisi in tre aree con descrizioni dettagliate
dei segnali e dei registri.

Sviluppo della Logica Macchinaria (PLC) - Parte II (01) 1-17


Serie S3000
1. Gestione e flusso dei comandi

Riepilogo dei registri e dei segnali coinvolti

Per il controllo degli assi

ERR() 64 NCð PLC no Errore di seguimento dell'asse (1..8).


VATT 64NCð PLC no Velocità attuale lungo il percorso dello strumento.
TACH() 64 NCð PLC no Velocità dell'asse (1..8).
VFF() 64 NCð PLC no Assi della velocità istantanea (1..8).
AFF() 64 NCð PLC no Assi di accelerazione istantanea (1..8).
DAA() 64 NCð PLC no Tensione di riferimento per gli assi controllati (1..8). Il DAA può solo
essere letto Se l'asse è attivo e sotto controllo NC. Il contenuto
varia da -1 a 1 in relazione alla tensione di ingresso di -10 e +10
V.
POA() 64NCð PLC no Posizione assoluta degli assi (1..8).
POO() 64NCð PLC no La posizione dell'asse si riferisce all'origine attuale e all'utensile attivo
compensazione (1..8).
PUÒ() 64NCð PLC no Posizione asse calcolata istantaneamente lungo la traiettoria di
interpolazione (1..8) relativa all'origine assoluta.
POOTE() 64 NCð PLC no Posizione dell'asse calcolata istantaneamente lungo la traiettoria di
interpolazione (1..8) relativa all'origine attiva.
POORT() 64NCð PLC no Posizione calcolata istantanea di qualsiasi rototraslazione di
coordinate di sistema lungo la traiettoria di interpolazione (1..8)
rispetto all'origine attiva.
PFNC() 64NCð PLC no Posizione finale dell'asse programmato (1..8).

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.

Controllo di trasduttori e volantini elettronici

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, ...)

Information regarding the axes: entity of origin offset (G851)

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

1-18 Sviluppo della Logica Macchinari (PLC) - Parte II (01)


Serie S3000
1. Gestione e flusso dei comandi

Informazioni riguardanti gli assi controllati: nuove variabili

Variabili per il debug e la calibrazione degli assi:

Nome Size Direzione Description


AXRIF() 64 NCÞPLC Comando di velocità inviato agli assi (1..8) [mm/min].
OFSVA() 64 PLCÞNC Offset di velocità aggiuntivo per gli assi (1..8) [mm/min].
(Influisce anche su AXRIF() - utilizzare solo per applicazioni speciali)
AFF() 64 NCÞPLC Comando di accelerazione impartito agli assi (1..8) [mm/sec]2]

1.5.11. COMPENSAZIONE DINAMICA DELLA POSIZIONE DELL'ASSE

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.

Riepilogo dei Registri e dei Segnali Coinvolti

SPOSTA() 64NCï PLC no Compensazione dinamica della posizione dell'asse (1..8).

1.5.12. SPOSTAMENTO PER ASSI CONTROLLATI


Per applicazioni speciali è possibile aggiungere un offset alla referenza analogica calcolata per il
assi controllati. Questa funzione deve essere utilizzata con estrema cautela poiché valori che non sono appropriati
causerà errori nel movimento degli assi NC.

Riepilogo dei registri e dei segnali coinvolti

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.

OFFSET D'ORIGINE AGGIUNTIVO PER ASSI CONTROLLATI

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.

Sviluppo della Logica Macchinaria (PLC) - Parte II (01) 1-19


Serie S3000
1. Gestione e flusso dei comandi

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

1.6. GESTIONE DELLA PROBINA DI MISURA DEL CONTATTO


Se il sistema rileva un segnale di deviazione eccessiva della sonda (errore 210), imposta uno stato di emergenza.
( collisione della sonda di contatto ).

Il PLC può disabilitare questo rilevamento degli errori impostando il bit 1 della variabile CWDTF.

Riepilogo dei Registri e dei Segnali Coinvolti

CWDTF 8 NCï PLC no Byte di controllo della sonda di contatto (acceso/spento):


Bit 1: disabilita l'errore 210 (collisione)

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

1.7. LIMITI DEL SOFTWARE AXIS


Lo stato del limite software dell'asse è segnalato nei registri FICOP e FICOM (positivo e
limiti negativi).

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).

Riepilogo dei registri e dei segnali coinvolti

FICOP 8 NCð PLC no Asse (1..8) sul limite software positivo.


FICOM 8 NCð PLC no Asse (1..8) sul limite software negativo.
DFCOP 8 NCï PLC no Asse (1..8) disabilita il limite software positivo.
DFCOM 8 NCï PLC no Asse (1..8) disabilitare il limite software negativo.

1-20 Sviluppo della Logica Macchina (PLC) - Parte II (01)


Serie S3000
1. Gestione e flusso dei comandi

LIMITI DEL SOFTWARE DELL'ASSE CONTROLLO: DISATTIVAZIONE ERRORE E93

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.

Nome Taglia Direzione Description


CWFCS 8 PLCÞNC Verifica degli errori di limite del software
CWFCS(1) =1 checkE93disabilitato
=0 checkE93enabled (predefinito).

1.7.1 LIMITI AGGIUNTIVI DEL SOFTWARE


Nei parametri di configurazione è possibile per ciascun asse introdurre un secondo paio di limiti software.
quando si verificano cambiamenti delle dimensioni nel campo operativo. Questi parametri devono essere attivati tramite
Programma PLC (ad esempio in un magazzino utensili durante un cambio di lavoro).

Esempio :

Considera una configurazione con X,Y,Z dove i limiti secondari devono essere attivati sull'asse Z:

FCA(3)=2 Attiva la coppia di limiti secondari dell'asse Z

Per tornare ai limiti primari è identico scrivere:

FCA(3)=1 Attiva la coppia di limiti primaria asse Z

o:

FCA(3)=0 Disattiva i limiti aggiuntivi di gestione dell'asse Z

Se arrayFCA non è utilizzato, i limiti primari su tutti gli assi controllati sono attivi per impostazione predefinita.

Riepilogo dei segnali e dei registri coinvolti

FCA( ) 8 NC ï PLC no Attivazione dell'array dei limiti secondari per gli assi NC (1..8)

Sviluppo della logica macchina (PLC) - Parte II (01) 1-21


Serie S3000
Gestione e flusso dei comandi

1.8. GESTIONE DELL'ASSE DI TIPO SPECIALE

1.8.1. ASSI PARALLELI (GANTRY)


Gli assi del portale sono normalmente gestiti dal software del sistema NC in base alla configurazione
parametri.
I parametri di configurazione riguardanti l'accelerazione e la velocità devono essere identici. L'asse MASTER è
associato a un nome scelto dall'utente, l'asse secondario è chiamato SCHIAVO.
L'interfaccia PLC con NC è solo per l'asse MASTER ad eccezione del segnale di riconoscimento del micro zero.
Comandi come JOG (movimento manuale), POMO (regolazione della velocità), MICZE, MARK (homing),
MOVCN, RDMOV, SSA (segnali di controllo e abilitazione del servocomando) sono richiesti solo sull'asse MASTER.
MIZER(zero micro signals) must be written for both axes even if the two signals come from the same
Durante il funzionamento normale, i due assi saranno sincronizzati con un offset scritto in un
parametro di configurazione OFFSET NOMINALE GANTRY.
Enabling command of this offset is the bit in theOFSGYvariable corresponding to the number of the
Asse SLAVE. Se IFOSGY() è zero, gli assi sono accoppiati e si muovono mantenendo la posizione di offset iniziale.
rilevato durante l'avvio della NC. Quando gli assi non sono assoluti, questa sincronizzazione avviene solo dopo
il riconoscimento di entrambi gli zeri e prima di questo evento gli assi sono interbloccati con il disallineamento iniziale.
Installando l'operazione di interblocco, quando il valore di offset è sconosciuto, OFSGY rimane disabilitato.

Ritorno a casa con micro per assi GANTRY

∙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.

Il movimento continua finché non vengono letti i due marker zero.


∙NC trasmette al PLC i due bit su MIZEA relativi a due assi e, se abilitato da OFSGY, applica
l'offset del ponte scritto nel parametro di configurazione OFFSET NOMINALE GANTRY.

Sommario dei Registri e dei Segnali Coinvolti

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

1.8.2. ASSI PROGRAMMABILI NON CONTROLLATI


Se un movimento è programmato per un asse non definito come asse controllato, la posizione programmata è
passato al PLC tramite l'array AUXPF() accompagnato dallo stroboscopico sincrono STRPF.
Per questi assi il PLC eseguirà il movimento utilizzando, se necessario, l'ASSE INDIPENDENTE
MODULO.

1-22 Sviluppo della Logica Macchina (PLC) - Parte II (01)


Serie S3000
1. Gestione e flusso dei comandi

Le posizioni programmate vengono trasmesse all'array AUXPF() come segue:

AUXPF(1)= position of axis A with strobeSTRPF(1)


AUXPF(2)= posizione dell'asse B con strobeSTRPF(2)
AUXPF(3)= posizione dell'asse C con strobeSTRPF(3)
AUXPF(4)= posizione dell'asse U con strobeSTRPF(4)
AUXPF(5)= posizione dell'asse V con strobeSTRPF(5)
AUXPF(6)= posizione dell'asse W con strobeSTRPF(6)

Sommario dei Registri e dei Segnali Coinvolti

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).

1.8.3. ASSI MASTER SLAVE (OPZIONE NC «MS»)


Attraverso la funzione G15 (solo su sistemi disposti) è possibile "bloccate" due assi della macchina (un principale
un chiamato Master e un secondario chiamato Slave) in modo tale che tutti i comandi di movimento
Le azioni impartite all'asse Master vengono eseguite anche dallo Slave.

La sintassi è: G15asse_schiavo asse_mastro I...


(I rappresenta un fattore di scala tra i due movimenti).

La funzione G14 annulla G15.


Per ulteriori informazioni dettagliate sull'argomento, consulta il Bollettino Tecnico 1 del 1996.

[Link] DEGLI INGRESSI E SCRITTURA DEGLI OUTPUT ANALOGICI:


MODULI I/O REMOTI
Per l'interfaccia degli ingressi, uscite analogiche, sonde di temperatura tramite moduli Remote I/O, no
I parametri di configurazione sono necessari nel NC.
La lettura degli ingressi analogici fornisce al PLC un valore numerico in formato a 64 bit, variabile tra 0
e 1 come percentuale del valore minimo della scala.

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.

Inserisci numero dichiara l'input utilizzato nel modulo.

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.

Sviluppo della Logica di Macchina (PLC) - Parte II (01) 1-23


Serie S3000
1. Gestione e flusso dei comandi

ANI(3) indica il canale di ingresso analogico 3 della prima scheda I/OMIX

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.

numero di output dichiara l'output utilizzato sul modulo.

Example:

VELO17(6002) indica l'uscita analogica n. 2 del modulo remoto SLAVE con indirizzo 60 connesso
all'interfaccia RIO MASTER in posizione 17.

VELO(3) indica l'uscita analogica n. 3 della prima scheda I/OMIX.

Ingressi per sonde di temperatura


La lettura degli ingressi analogici per le sonde di temperatura fornisce al PLC un valore in gradi di
temperatura rilevata dalle sonde di calore in formato a 64 bit.

Nessun parametro di configurazione è necessario nel NC. Nel programma PLC, si ottiene accesso con un
variabile TEMP... della seguente struttura:

Numero della scheda TEMPmaster (numero di input numero slave)


dove:

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.

numero di input dichiara l'input utilizzato sul modulo.

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.

1-24 Sviluppo della Logica della Macchina (PLC) - Parte II (01)


Serie S3000
1. Gestione e flusso dei comandi

[Link] E SCRITTURA DEGLI INGRESSI ANALOGICI E


OUTPUTS
Il PLC ha la capacità di accedere direttamente ai canali di ingresso e uscita analogici fisici.
Ogni elemento nei seguenti registri ha come indice il numero del canale fisico e una scheda
numero alla fine del suo nome.
Example:
ANI2(3) significa il canale di ingresso analogico 3 della seconda scheda I/OMIX

ANI(2) significa il canale di ingresso analogico 2 della prima scheda I/OMIX

Riepilogo dei Registri e dei Segnali Coinvolti

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.

1.10. SCAMBIO DI DATI TRA PLC E PARTE


PROGRAMMA
Il PROGRAMMA PART ha la capacità di scambiare dati con il PLC in BIT, BYTE, WORD, e
FORMATI LUNGHI attraverso le istruzioni:

OUT(format) = parameter inviare il parametro al PLC


Pxx = INP (formato) ricevere un valore dal PLC

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.

Sviluppo della Logica Macchine (PLC) - Parte II (01) 1-25


Serie S3000
1. Gestione e flusso dei comandi

Questi hanno lo stesso nome, ma non hanno nulla a che fare con i parametri Pxx del programma parte
eseguito direttamente dall'operatore.

Riassunto dei registri e dei segnali coinvolti

VPLFL 32NCð PLC sì FLOATING variable from part program to PLC.


STVFL 1 NCð PLC sì Variabile flottante strobe dal programma di parte al PLC.
VPLWO 16NCð PLC sì Variabile WORD dal programma di parte al PLC.
STVWO 1 NCð PLC sì Variabile WORD strobe dal programma della parte al PLC.
VPLBY 8 NCð PLC sì Variabile BYTE dal programma di parte al PLC.
STVBY 1 NCð PLC sì Variabile BYTE strobe dal programma parte al PLC.
VPLBI 1 NCð PLC sì Variabile BIT dal programma della parte al PLC.
STVBI 1 NCð PLC sì Variabile BIT di impulso dal programma parte al PLC.
VLPFL 32 NCï PLC sì FLOATING variable sent to the part program from the PLC.
VLPWO 16NCï PLC sì Variabile WORD inviata al programma parte dal PLC.
VLPBY 8 NCï PLC sì Variabile BYTE inviata al programma di parte dal PLC.
VLPBI 1 NCï PLC sì Variabile BIT inviata al programma parte dal PLC.
PNC() 32 NCó PLC no 99 parametri in formato floating point condiviso letti e scritti
da entrambi PLC e programma parte a livello utente (1..99).
P() 32 NCó PLC no 99 parametri in formato a punto flottante condiviso scritti da
PLC o le istruzioni del sottoprogramma COM (1..99).

1.11. FINESTRE DI VISUALIZZAZIONE VIDEO NC

Un insieme di variabili predefinite consente al PLC di visualizzare i dati nell'area dello schermo NC (vedi il
Manuale di Configurazione del Sistema).

Riepilogo dei registri e dei segnali coinvolti

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.

Ricorda, il PLC può cambiare il menu softkey utilizzando la variabile SFKMEN.


Inoltre, il PLC ha il codice della lingua attiva su NC nella variabile SFKLNG:

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.

1-26 Sviluppo della Logica di Macchine (PLC) - Parte II (01)


Serie S3000
1. Gestione e flusso dei comandi

Riepilogo dei Registri e dei Segnali Coinvolti


SFKMEN 8 NCó PLC no Menu softkey PLC attuale.
SFKLNG 16 NCð PLC no Codice di lingua attivo su NC
CNDVIS( ) 16 NC ï PLC no Array di parole da utilizzare durante il cambiamento delle condizioni nelle tabelle
(1…64)

FINESTRE DEL DISPLAY VIDEO NC: PANNELLO VIDEO ATTIVO

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.

Nome Taglia Direzione Descrizione


VISMC 16 NCÞPLC Numero di pannelli video attivi

1.12. DATA E ORA DEL SISTEMA


La data e l'ora del sistema sono disponibili (in numeri e in sola lettura) su un vettore di 6 elementi in
Formato WORD (i secondi hanno una tolleranza di +/-1).

Sintesi dei registri e dei segnali coinvolti

DATA(1) 16 NCð PLC no Anno (ultime due cifre)


DATA(2) 16NC ð PLC no Month
DATA(3) 16NCð PLC no Giorno
DATA(4) 16 NCð PLC no Ora (0-24)
DATA(5) 16NCð PLC no Verbale
DATA(6) 16 NCð PLC no Secondi

1.13. SEGNALE PER COPIARE E DIGITALIZZARE


SURFACES
Per abilitare i controlli relativi alle funzioni di copia e digitalizzazione utilizzate sulla console remota, il
Il PLC può agire sulle variabili descritte di seguito:

Riepilogo dei registri e dei segnali coinvolti

COPIA 8 NCó Nessun PLC Primo byte per comandi di copia remota

Il significato dei singoli bit è il seguente:


COPIA(1) 1 NCï PLC no = 0 seleziona i punti dati della modalità di digitalizzazione continua
memorizzato come funzione dei parametri del manuale
programma di copia.

= 1 seleziona la modalità di digitalizzazione i dati vengono memorizzati solo


seguendo un impulso (transizione da 0 a 1) sul bit
COPIA(2) in copia manuale.
COPIA(2) 1 NCï PLC no Digitalizzazione del segnale seeCOPIA(1).

Sviluppo della Logica Macchine (PLC) - Parte II (01) 1-27


Serie S3000
1. Gestione e flusso degli ordini

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.

COPIA(4) 1 NCï PLC no Segnale a STEP (incremento) +.


COPIA(5) 1 NCï PLC no Segnale per STEP (incremento) -.
COPIA(6) 1 NCï PLC no Segnale per STEP (incrementare) e invertire la direzione di copia.
COPIA(7) 1 NCð PLC no Copia attiva.
COPIA(8) 1 Non assegnato

COPIA2 8 NCó PLC no Secondo byte per il controllo remoto della funzione di copia.

Il significato dei singoli bit è il seguente:


COPIA2(1) 1 NCï PLC no Passaggio in stato manuale.
COPIA2(2) 1 NCï PLC no 0 = digitalizzazione disabilitata.
1 = digitalizzazione abilitata.
COPIA2(3) 1 NCï PLC no Offset della sonda acquisito.
COPIA2(4) 1 NCï PLC no 1 = copia dell'asse 1 bloccata.
0 = sbloccato.
COPIA2(5) 1 NCï PLC no 1 = copia dell'asse 2 bloccato.
0 = sbloccato
COPIA2(6) 1 NCï PLC no 1 = copia dell'asse 3 bloccata.
0 = sbloccato
COPIA2(7) 1 NCï PLC no Inversione della direzione di copia.
COPIA2(8) 1 NCï PLC no 0 = acquisizione automatica della superficie disabilitata.
1 = acquisizione automatica della superficie abilitata.

COPIA3 8 NCó PLC no Terzo byte per i comandi di copia remota.

Il significato dei singoli bit è il seguente:


COPIA3(1) 1 NCï PLC no Riavviare la copia in direzione negativa dopo la perdita di contatto
con l'asse del modello 3.
COPIA3(2) 1 NCï PLC no Riavviare la copia in direzione negativa dopo la perdita di contatto
con l'asse del modello 2.
COPIA3(3) 1 NCï PLC n° Riavvia la copia nella direzione negativa dopo la perdita di contatto
con il modello asse 1.
COPIA3(4) 1 NCï PLC no Riavvia la copia nella direzione positiva dopo la perdita di contatto
con l'asse del modello 3.
COPIA3(5) 1 NCï PLC no Riavvia la copia nella direzione positiva dopo la perdita di contatto
con il modello asse 2.
COPIA3(6) 1 NCï PLC no Riavvia la copia nella direzione positiva dopo la perdita di contatto
con il modello asse 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.

{"text":"Il significato dei singoli bit è il seguente:"}

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

1-28 Sviluppo della Logica Macchina (PLC) - Parte II (01)


Serie S3000
1. Gestione e flusso degli ordini

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.

SEGNALE PER COPIARE E DIGITIZZARE: COPIA MANUALE ATTIVA

La NC imposta il bit 8 del byte COPIA per segnalare l'esecuzione in corso di un ciclo di scansione in modalità manuale.

Nome Size Direzione Descrizione


COPIA 8 NCÞPLC Primo byte per la gestione remota dei comandi di copia
COPIA(8) scansione manuale copia attiva

1.13.1 REGISTRO DI STATO DELLA COPIA E DIGITALE


PROBINA
Se una sonda digitale sarà disponibile per copiare e digitalizzare il registro PBSTS(1) dove il singolo
i bit assumono il seguente significato:

PBSTS(1) non usato


PBSTS(2) non usato
PBSTS(3) non utilizzato
PBSTS(4) non utilizzato
PBSTS(5) =1 se i segnali elettrici della sonda sono corretti
=0 se non
PBSTS(6) =0 se la sonda è collegata e non è in sovrastrizione
=1 se non
PBSTS(7) non usato
PBSTS(8) non usato

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).

La sonda è considerata presente dal NC solo quando le configurazioni di PBSTS(5)=1 e


PBSTS(6)=0 sono stati rilevati mentre la sonda è considerata assente con PBSTS(5)=0 e
(PBSTS(6)=1.

Riepilogo dei Registri e dei Segnali Coinvolti


PBSTS 8 NCð PLC no Registratore di stato sonda digitale.
+
+
+
+
+
+

Sviluppo della Logica Macchinari (PLC) - Parte II (01) 1-29


Serie S3000
1. Gestione e flusso dei comandi

1.14. VARIABILI PER VERIFICARE I TEMPI DI ESECUZIONE DEL SISTEMA

Le variabili riassunte di seguito sono disponibili per valutare il tempo impiegato dal sistema per
eseguire varie operazioni:

Sommario dei Registri e dei Segnali Coinvolti

SMPTI 64NCð PLC no Tempo di campionamento (assi controllati) [msec]


OCCV 16 NCð PLC no Tempo di scansione logica veloce (microsecondi).
OCCI 16 NC ð PLC no Tempo utilizzato nella gestione degli assi controllati (microsecondi).
OCCT 16 NCð PLC no Tempo utilizzato dall'analizzatore grafico (microsecondi).
OCCP2P 16 NCð PLC no Tempo utilizzato nella gestione degli assi indipendenti (microsecondi).
CCL 16 NCð PLC no Contatore del ciclo di interruzione logica lenta.
CCUL 16 NCð PLC no Contatore del ciclo di interruzione logica super lento.

1.15. SEGNALI DI ERRORE ACCEDUTI DALLA LOGICA


Gli errori di sistema (oltre a essere visualizzati sullo schermo) vengono comunicati al PLC con un numero.
codice sulla variabile ERSYS.
L'elenco completo degli errori è riportato nel manuale Utilizzo e Programmazione.
Riepilogo dei Registri e dei Segnali Coinvolti

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).

CONTROLLARE GLI INDICI PER L’ACCESSO A VARIABILI E TABELLE.

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.

1-30 Sviluppo della Logica della Macchina (PLC) - Parte II (01)


Serie S3000
1. Gestione e flusso dei comandi

1.16. LETTURA E MODIFICA DELLA CONFIGURAZIONE DEGLI ASSE


PARAMETRI
Per utilizzare tecniche di auto-calibrazione sofisticate, il PLC ha la capacità di leggere e
modificare temporaneamente o permanentemente alcuni parametri degli assi controllati. Questi parametri sono normalmente
definito nei dati di configurazione.
L'uso di questo servizio richiede grande attenzione, poiché dati errati possono causare malfunzionamenti degli assi.

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).

Sommario dei Registri e dei Segnali Coinvolti

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:

Codice Parametro Codice letto


scritto
-1 Velocità rapida 1
-2 Accelerazione della lavorazione 2
-3 Accelerazione rapida 3
-4 retroazione dell'asse del trasduttore 4
-5 KVguadagnare 5
-6 Compensazione dinamica 6
-7 Tasso di recupero del crossover 7
-8 Tempo di recupero del crossover 8
-9 Errore massimo del servo 9
-10 Tasso di comp. di attrito 10
-11 Offset di errore di accelerazione 11
-12 Limite di viaggio negativo 1 12
-13 Limite di viaggio Posit 1 13
-14 Frequenza del trasduttore 14
-15 Costante di tempo integrale 15
-16 Guadagno integrale 16

ACTSTP 1 NCó PLC no Avvia il segnale di richiesta operazione su HOWSTP. Ripristina tramite NC quando
l'operazione è terminata.

POLLICI 1 NCó PLC no Tipo di misura


0 = millimetri
1 = inches
Il NC imposta questa variabile in base al parametro correlato
memorizzato nell'area di configurazione del sistema.
Il PLC può sovrascrivere questa variabile per cambiare il tipo di misura
ma il nuovo valore non sarà salvato permanentemente nel sistema
area del parametro di configurazione.

Sviluppo della Logica Macchinistica (PLC) - Parte II (01) 1-31


Serie S3000
1. Gestione e flusso dei comandi

1.17. GESTIONE DI NUMEROSI CONTEMPORANEI


GRUPPI D'ASSE INTERPOLANTI (GDA).
Soggetto a dichiarazione nei parametri di configurazione CNC, è possibile configurare fino a 8 interpolanti
gruppi di assi, ciascuno in grado di eseguire un programma o parti di programma completamente in modo indipendente.
Di conseguenza, le variabili PLC per lo scambio con il programma di lavorazione sono state modificate.
Le regole utilizzate per generare i nuovi nomi delle variabili sono le seguenti:

- per le variabili in formato bit è stato creato un byte in cui ogni bit corrisponde a un gruppo di assi;

Esempio: bit BURDY è esteso in byte BURDY_


indirizzare BURDY o BURDY_ (1) è la stessa cosa.
Per il GDA superiore al primo, utilizzare BURDY_ (..).

- 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.

INFORMAZIONI RELATIVE AL GRUPPO AXIS VISUALIZZATE.

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.

Nome Taglia Direzione Description


GDAVIS 8 NCÞPLC Numero del gruppo dell'asse a cui si riferisce il display.

[Link] DEI DRIVE DIGITALI PER ASSE E PINZA


Con l'introduzione dell'interfaccia dei drive digitali per assi e mandrini, molti dei segnali di scambio
gestito tradizionalmente come input/output del PLC e dei drive è ora diventato parte del
interfaccia segnali registrati.
La descrizione delle variabili PLC e del loro funzionamento non è stata fornita in questo manuale su
conta della straordinaria dimensione dell'argomento; fai riferimento invece al "DDI - Installazione del Consiglio di Regolazione DCM"
Manuale.

1-32 Sviluppo della Logica Macchinario (PLC) - Parte II (01)


Serie S3000
2. Moduli interni dedicati

2. MODULI INTERNI DEDICATI


È possibile utilizzare i MODULI INTERNI per semplificare la gestione di quelli usati frequentemente
funzioni complesse. Impostando alcune variabili ottieni l'effetto desiderato senza dover implementare
algoritmi complicati. In questo modo un programma più leggibile con tempo di sviluppo ridotto è
ottenuto.

2.1. MODULO DI GESTIONE DELLE SPINDOLE


Fino a 4 mandrini sono consentiti con o senza trasduttori. Sono controllati direttamente da un insieme ridotto
di registri predefiniti appartenenti al MODULO DI CONTROLLO DEL FUSO INTERNO.

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).

2.1.1. SEGNALI E REGISTRI PER LA ROTAZIONE DELLO SPINDLE


SPVEL()(impostazione della velocità di rotazione).
La velocità richiesta in rpm deve essere inserita in questo registro. Se la velocità richiesta è maggiore allora il
il valore massimo consentito, viene automaticamente ridotto.

Sviluppo della Logica Macchinaria Srl - Parte II (01) 2-1


Serie S3000
2. Moduli interni dedicati

SPSSO()((Sovrascrittura del potenziometro).


È possibile regolare la velocità tra 0 e 200% della velocità stabilita scegliendo un
valore su questo registro tra 0 e 2 (rispetto al range di velocità massima).
SPDIR()(Direzione di rotazione del mandrino).
Se il segnale è 0 dopo un comando di rotazione, l'uscita analogica riferita sarà positiva. Se
uguale a 1, negativo.

SPROT (comando di rotazione).


I parametri del comando di rotazione sono forniti dai primi 4 bit (uno per ogni mandrino) di
il registro in formato byte.

SPREG (Velocità raggiunta)


I primi 4 bit di questo registro (uno per ciascun mandrino) vengono impostati a livello alto dal NC quando il
è stata raggiunta la pendenza di accelerazione teorica e la velocità effettiva del mandrino è entro il
percentuale specificata nella tabella dei dati di configurazione. Se la velocità richiesta è inferiore a
la soglia nella tabella di configurazione, il segnale è sempre uguale a 1.

SPMOT (Mandrino operativo).


I primi 4 bit di questo registro (uno per ciascun mandrino) vengono impostati su alto dalla NC quando il mandrino
la velocità supera la soglia specificata. Questo segnale viene sempre aggiornato, anche se l'albero motore è
non selezionato.

SPRMP (Mandrino su rampa).


I primi 4 bit di questo registro (uno per ogni mandrino) vengono attivati da NC quando
accelerando o decelerando. Tipicamente usato quando si attende l'arresto e l'avvio del mandrino.

SPSGL (Velocità di soglia efficace).


I primi 4 bit di questo registro (uno per ogni mandrino) sono impostati su alto dalla NC quando l'effettivo
spindle speed is in tolerance. When the spindle is stationary the signal is 0. It is always active
for spindle speeds less than the threshold.

2.1.2. SEGNALE E REGISTRI PER LA SELEZIONE DELLA PORTATA


SPGAM()(Numero dell'intervallo dato).
Con un valore compreso tra 1 e 4 in questo registro, i parametri di intervallo nella configurazione
le tabelle sono attivate. Con SPGAM(n) = 0 è attivato il neutro, cioè il comando di riferimento è
forzato a 0V indipendentemente dalla rotazione selezionata.

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.

SPSMG1() Velocità massime nella gamma 1 per gli mandrini (1..4)

SPSMG2() Velocità massime nella gamma 2 per i mandrini (1..4)

SPSMG3() Velocità massime nell'intervallo 3 per i mandrini (1..4)

SPSMG4() Velocità massime nella gamma 4 per i mandrini (1..4)


SPSMAX() Velocità massime assolute per i mandrini (1..4)

2-2 Sviluppo della Logica Macchina (PLC) - Parte II (01)


Serie S3000
2. Moduli interni dedicati

2.1.3. SEGNALI E REGISTRI PER L'ORIENTAMENTO DELL'ASSE


SPORI (richiesta di orientamento).
Impostando i primi 4 bit (uno per ciascun mandrino) di questo registro, viene effettuata la richiesta di orientamento del mandrino.
SPPOS è fornito. Se il trasduttore non è stato riferito allo zero elettrico, un azzeramento
il ciclo viene eseguito automaticamente.

SPTOL (tolleranza di orientamento dell'alberino nella posizione).


I primi 4 bit di questo registro (uno per ciascun mandrino) sono attivati dal NC quando un mandrino
il comando di orientamento è presente e il mandrino è posizionato entro i limiti. Per garantire la precisione
il comando di orientamento della posizione del mandrino non dovrebbe essere ripristinato dal PLC fino allo SPTOL
il segnale è stabile.

SPPOS()(Posizione di orientamento).
Questo registro conterrà la posizione di orientamento del mandrino.

ESEMPIO: SPPOS(1)=(NGRADI // 360)/360

SPVEOR()(Limitazione di velocità in orientamento).


Il valore in questo registro consente di limitare la velocità del mandrino durante l'orientamento. La velocità
il limite è dato da:

(1-SPVEOR) x SPSMGx. (SPVEOR =0 non dà alcuna riduzione).

Orientamento della posizione assoluta

SPOAB (Selezione per orientamento su valori assoluti).


Se questo bit è impostato (bit 1-4 della variabile, per mandrini 1-4) il valore della posizione di orientamento fornito a
SPPOS() sarà interpretato come un valore assoluto (compresi i giri).

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.

SPORP Orientamento in direzione positiva.

SPORM Orientamento in direzione negativa.

2.1.4. SEGNALI E REGISTRI PER SPINDLES SINCRONIZZATI


SPSYN (sincronismo del mandrino con il slave).
Con i primi 4 bit (uno per ciascun mandrino) di questo registro sincronizzi i mandrini con
il maestro inSPMAS(n).

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)

Sviluppo della Logica Macchinaria PLC - Parte II (01) 2-3


Serie S3000
2. Moduli interni dedicati

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.

SPMAS()(Numeri di mandrino master).


Per sincronizzare un mandrino schiavo con un mandrino maestro, il numero del maestro deve essere
inserito nel registro degli spindle pertinenti.

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.

SPRTO() (Rapporto di velocità per il sincronismo).


Questi registri contengono il rapporto tra la velocità del mandrino schiavo e la velocità del mandrino principale
da mantenere mentre sono sincronizzati (velocità dello schiavo / velocità del maestro).

SPAGG (Mandrino schiavo sincronizzato con il mandrino master).


I primi 4 bit di questo registro (uno per ogni albero) sono impostati dall'NC dopo la sincronizzazione
si raggiunge seguendo il comando.

2.1.5. SEGNALI E REGISTRI COMUNI A TUTTI I FUSI


TYPES
I comandi precedentemente descritti sono prioritizzati come segue:

[Link](comando temporale) massima priorità


[Link](rotazione)
[Link] (orientamento)
[Link](sincronizzazione con lo schiavo) priorità più bassa

I registri e i segnali in comune a tutte le modalità di funzionamento sono i seguenti:

SPMOV (Abilitazione del mandrino).

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.

SPDIS (Disabilitazione del mandrino).

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

SPDRQ (Disabilitazione del trasduttore di mandrino).


Questo comando disabilita il trasduttore dell'albero. Quando è disabilitato, la posizione non viene più letta.
e eventuali errori del trasduttore non vengono più letti, la taratura del trasduttore è persa (SPMZA).

2-4 Sviluppo della Logica Macchina (PLC) - Parte II (01)


Serie S3000
2. Moduli interni dedicati

SPTCH()(Velocità effettiva dell'albero)


La velocità del mandrino determinata dal trasduttore viene letta direttamente in rpm su ciascun registratore.

PASP()(Posizione angolare assoluta dell'alberino).


Il trasduttore deve sempre avere un rapporto meccanico di 1:1 con il mandrino. L'intervallo di
questo registro è +131071.9999, -131071.9999.

SPMZA()(Riferimento del trasduttore del mandrino).


Quando il trasduttore dell'albero è stato azzerato (zero elettrico), il bit per il relativo albero
è impostato alto. Il riferimento viene eseguito automaticamente alla prima orientazione o richiesta di
sincronismo.

Se è necessario ripetere il ciclo di riferimento del trasduttore, tutto ciò che è richiesto è resettare il pertinente
bit di fuso su SPMZA.

SPMKS (marcatore zero).


This signal is set by the leading edge of the transducer zero signal. This signal has a
durata pari a un ciclo di sistema. Un'applicazione tipica è verificare la funzione del trasduttore.

NUOVE VARIABILI

Variabili per il debug e la calibrazione:

Nome Size Direzione Description


SPRIF() 64 NCÞPLC Il comando di velocità inviato agli alberi (1..4) [giri/min] può essere
usato per controllare le rampe di accelerazione/decelerazione per
confrontando SPRIF con SPTCH (velocità attuale) per mandrini
con trasduttore.

È 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).

Nome Size Direzione Description


SPAGP() 8 NCÞPLC Livello del trasduttore o impulsi persi e recuperati per i mandrini
(1..4).

2.1.6. FUSI CON O SENZA TRASDUTTORI


Se il mandrino non ha un trasduttore, SPTCH è una velocità calcolata e SPSGL sarà sempre 1, mentre
SPREG, SPMOT e SPRMP sono attivi ma in relazione con la velocità comandata e non con quella reale
velocità.

In questo caso la sincronizzazione con altri fusibili non è possibile.

Dove un mandrino è dotato di un trasduttore e i vari cicli funzionano correttamente, è


è assolutamente necessario che la direzione del trasduttore positiva (PASP) corrisponda a un analogico positivo
riferimento.

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.

Sviluppo Logica Macchine PLC - Parte II (01) 2-5


Serie S3000
2. moduli interni dedicati

2.1.7. NOTIZIE SUL CICLO FISSO G84


Per il ciclo fisso G84 con un trasduttore è necessario specificare utilizzando la variabile SPGDA, che
uno dei quattro mandrini possibili è sincronizzato con l'asse del mandrino master.

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.

Segnali e registri correlati


Rotazione del mandrino
SPVEL() 64 NCï PLC no Velocità mandrino(i)(1..4).
SPSSO() 64NCï PLC no Sovrascrivi albero(i) del potenziometro(1..4).
SPDIR() 8 NCï PLC no Direzione di rotazione del mandrino(i) (1..4).
SPROT 8 NCï PLC no Mandrino(i) (1..4).
SPREG 8 NCð PLC no Mandrini (1..4) fino alla velocità.
SPMOT 8 NCð PLC no Mandrini (1..4) in movimento.
SPRMP 8 NCð PLC no Mandrino(i) (1..4) aumenta la velocità.
SPSGL 8 NCð PLC no Velocità efficace all'interno del fuso di soglia (1..4).

Selezione cambio gamma


SPGAM() 8 NCï PLC no Gamma selezionata (0 = neutro) mandrino(i) (1..4).
SPPND 8 NCï PLC no Comando di caccia per il cambio dell'intervallo del mandrino (1..4).
SPSMG1() 64NCð PLC no Velocità massima per l'asse 1 (1..4).
SPSMG2() 64 NCð PLC no Velocità massima per range 2 mandrini (1..4).
SPSMG3() 64NCð PLC no Velocità massima per l'intervallo 3 mandrini (1..4).
SPSMG4() 64 NCð PLC no Velocità massima per la gamma 2 mandrino(i) (1..4).
SPSMAX() 64NCð PLC no Maximum speed for spindle(s) (1..4).

Orientamento del fuso


SPORI() 8 NCï PLC no Orientare il mandrino del comando (1..4).
SPTOL 8 NCð PLC no Orientato all'interno dello spindle di tolleranza (1..4).
SPPOS() 64 NCï PLC no Orientare la posizione del mandrino (1..4).
SPVEOR() 64 NCï PLC no Riduzione della velocità (da 0 a 1) durante l'orientamento degli alberi di trasmissione

(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.

Sincronizzazione tra fusi


SPSYN 8 NCï PLC no Comando di sincronismo all'alberino secondario.
SPMAS() 8 NCï PLC no Numeri degli alberi maestro per la sincronia con lo schiavo.
SPOFS() 64 NCï PLC no Offset tra il mandrino principale e quello secondario.
SPRTO() 64 NCï PLC no Rapporto di velocità per la sincronizzazione tra il mandrino principale e il(s) schiavo(i).

SPAGG 8 NCð PLC no Fuso schiavo(i) (1..4) sincronizzati con il master.

2-6 Sviluppo della Logica Macchine (PLC) - Parte II (01)


Series S3000
2. Moduli interni dedicati

Comune a tutte le operazioni


SPMOV 8 NCð PLC no Richiesta di spostare il/i mandrino/i (1..4).
SPDIS 8 NCï PLC no Disabilita in generale il comando dell'albero (1..4).
SPDRQ 8 NCï PLC no Disabilita il mandrino del trasduttore(i) (1..4).
SPTCH() 64 NCð PLC no Mandrino/i a velocità efficace (1..4).
PASP() 64 NCð PLC no Posizione angolare da trasduttore(i) (1..4).
SPMZA 8 NCó PLC no Trasduttore(i) riferito a zero elettrico. Può essere ripristinato a
ripeti la ricerca zero.
SPMKS 8 NCð PLC no Puleggio del marcatore dell'encoder (1..4).

Ciclo fisso G84


SPGDA otto NCï PLC no Mandrino da utilizzare per il ciclo fisso G84 con trasduttore.

2.2. MODULO DI MOVIMENTO AD ASSE INDIPENDENTE


Il modulo di movimento dell'asse indipendente deve essere utilizzato in tutti i casi in cui sia necessario
posizionare un asse ausiliario. Cioè un asse indipendente dagli assi interpolati NC (cambio utensile,
cambio di pallet, ecc). Il modulo consiste in un algoritmo di posizionamento di tipo punto a punto, interfacciabile
con programmazione minima al programma logico della macchina (fino a un massimo di 8 assi).

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.

Segnali e registri correlati

MOVP2P 8 NCð PLC no Richiesta di abilitare gli assi di movimento (1..8).


RDMP2P 8 NCï PLC no Assi abilitati al movimento (1..8); risposta a MOVP2P.
SSAP2P 8 NCï PLC no Assi che devono essere abilitati in ogni momento (1..8).
DSVP2P 8 NCï PLC no Assi da liberare (1..8).
DRQP2P 8 NCï PLC no Comando per disabilitare i trasduttori sugli assi (1..8).
MVMP2P 8 NCï PLC no Assi che possono essere selezionati in modalità manuale (1..8).
MRKP2P 8 NCï PLC no Assi selezionati per essere omologati senza interruttore di riferimento (1..8).
MCZP2P 8 NCï PLC no Assi selezionati da essere accoppiati con l'interruttore di riferimento (1..8).
MIZP2P 8 NCï PLC no Interruttore microscopico di riferimento per assi (1..8).

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).

Sviluppo della Logica Macchinistica PLC - Parte II (01) 2-7


Serie S3000
2. Moduli interni dedicati

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.

FEDP2P() 64NCó PLC no Velocità di alimentazione, assi (1..8).

RAPP2P() 64 NCó PLC no Velocità rapida, assi (1..8).


VLNP2P() 64 NCó PLC no Velocità zona lenta, assi (1..8).
ZLNP2P() 64NCó PLC no Distanza della zona lenta, assi (1..8).
DEXP2P() 64 NCó PLC no Distanza di decelerazione esponenziale, assi (1..8).
ACMP2P() 64 NCó PLC no Accelerazione in manuale, assi (1..8).
ACCP2P() 64 NCó PLC no Accelerazione automatica, assi (1..8).
DECP2P() 64 NCó PLC no Decelerazione dalla velocità di alimentazione alla velocità lenta, assi (1..8).
DE2P2P() 64 NCó PLC no Decelerazione esponenziale da velocità lenta, assi (1..8).
TOLP2P() 64 NCó PLC no Tolleranza di posizionamento, assi (1..8).
OFSP2P() 64 NCó PLC no Offset del trasduttore applicato alla lettura per ottenere l'assoluto
valuePOAP2P()(1..8).
NUOVE VARIABILI

Variabili per il debug e la calibrazione degli assi:

2-8 Sviluppo della Logica Macchinaria (PLC) - Parte II (01)


Serie S3000
2. Moduli interni dedicati

Nome Taglia Direzione Descrizione


SHIP2P() 64 PLCÞNC Spostamento dell'origine per assi indipendenti (1..8). Consente la definizione di un
posizione zero diversa dallo zero assoluto.
Le posizioni finali di PFNP2P() sono sempre riferite a
POOP2P().

POOP2P() 64 PLCÞNC Posizione dell'asse indipendente (1..8) influenzata dallo spostamento dell'origine
SHIP2P().

Note per l'uso

Il diagramma di velocità per gli assi è mostrato di seguito.

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.

Diagramma della velocità dell'asse indipendente

Velocità

DECP2P
ACCP2P

FEDP2P DE2P2P

TOLP2P
VLNP2P

DEXP2P Tempo

ZLNP2P

Sviluppo della Logica Macchinaria PLC - Parte II (01) 2-9


Serie S3000
2. Moduli interni dedicati

2.3. MODULO DI CONTROLLO CAMBIO UTENSILI


La gestione del cambio strumenti (abbreviata TC) è semplificata dalla presenza di un modulo integrato con
un numero ridotto di variabili.

Il tipo TC deve essere inserito nella configurazione NC e dopo la decodifica, la funzione aTorM6 sarà
attivato dal PLC.

Gli usi principali di TC sono:

∙ 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.

∙ Gestione delle diverse dimensioni degli strumenti.

∙ Gestione della stessa famiglia di strumenti.

∙ Semplifica l'esecuzione della sequenza attraverso il giusto sequenziatore integrato.

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.

2.3.1. DEFINIZIONI SEMPLICI


OPERAZIONE: è il codice di un'azione base che il modulo sequenziatore TC
comunica al PLC. Ogni azione di base non deve avere simile
sequenze con gli altri.

SEQUENCE: è la serie organizzata di OPERAZIONI che il modulo TC deve eseguire


in funzione dello stato attuale del magazzino, della tabella degli strumenti, ecc...

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:

2-10 Sviluppo della Logica di Macchina (PLC) - Parte II (01)


Serie S3000
2. Moduli interni dedicati

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:

2.3.2. TIPI DI CONFIGURAZIONE PER CAMBIO STRUMENTI

La scelta principale nella configurazione è la forma dell'operazione TC:

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.

Qualsiasi T da T0 a T9 sono parti origini. T99 costringe l'assoluto


origine, ogni altro Texits questo stato.

MANUAL: Il controllo PLC non è necessario per attivare la compensazione degli utensili
e un programma in esecuzione viene generato automaticamente
per ogni operazione.

Le parti di origine sono gestite separatamente con le operazioni.

Il codice O0, eliminato da ogni altro O, consente il passaggio a


origine assoluta.

Il codice O-1 consente di riattivare l'origine attuale prima di


attraversando l'origine assoluta.

L'operazione T0 annulla la correzione della lunghezza attiva.

AUTOMATICO: Il codice di operazione viene inviato al PLC, ma non genera alcun


programma di interruzione o attivazione di qualsiasi correzione. Il programma PLC deve
attiva il modulo TC, tranne che per situazioni particolari.

Le origini delle parti sono gestite separatamente con i codici.

Il codiceO0, annullato da ogni altro codiceO, imposta la parte


origine all'assoluto.

Il codice O-1 consente di riattivare l'origine presente prima


passando nell'origine assoluta.

L'attivazione di OFST = 0 annulla la correzione della lunghezza attiva.

Sviluppo della Logica Macchinario PLC - Parte II (01) 2-11


Serie S3000
2. Moduli interni dedicati

2.3.3. CONFIGURAZIONE DEL CAMBIO UTENSILE AUTOMATICO


Le scelte relative alla configurazione di stoccaggio e alle posizioni occupate per le diverse dimensioni degli utensili
che devono essere impostati nella configurazione, sono riassunti nel seguente:

Disposizione degli strumenti

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.

casuale Nessuno degli strumenti ha posizioni specifiche preassegnate, vengono presi e


sostituito in modo da ottimizzare l'ordine nel magazzino e il tempo di cambio utensile.

Geometria di stoccaggio degli attrezzi

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).

Tipi di gestione dello stoccaggio degli attrezzi

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.

2-12 Sviluppo della logica macchina (PLC) - Parte II (01)


Serie S3000
2. Moduli interni dedicati

2.3.4. DEFINIZIONI DELLA SEQUENZA

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.

I seguenti sono i significati dei codici interni OPERATION predefiniti:

Nuovo strumento prelevato dal magazzino richiesto dalla stazione


-4Nuovo utensile prelevato dal magazzino e inserito nel mandrino
-5Nuovo strumento preso dal magazzino e inserito nella stazione intermedia
-6Operazione di attesa cambio utensile (M6)
-10Strumento vecchio estratto manualmente dal mandrino e posato a terra
-12Vecchio strumento estratto dal mandrino e inserito nelle ganasce
-13Strumento vecchio estratto dal mandrino e riposto in deposito
-16Nuovo utensile prelevato e inserito manualmente nel mandrino
-17Nuovo strumento estratto dalla stazione intermedia e inserito nel mandrino
-23Restituzione di vecchi strumenti richiesta dalla stazione
-27Strumento vecchio estratto dalle ganasce e restituito in magazzino
-31Strumento estratto dalla stazione intermedia e restituito in magazzino
-34Sequenza di fine cambio utensile
Richiesta di analisi della situazione per iniziare una nuova sequenza

Non tutte le sequenze, descritte sopra, devono essere definite.

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.

Secondo il cambio automatico configurato, le possibili SEQUENZE sono mostrate di seguito.

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).

Cambiamenti degli strumenti asincroni

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)

Sviluppo della Logica Macchinica PLC - Parte II (01) 2-13


Serie S3000
2. Moduli interni dedicati

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

Sequenze di strumenti dal deposito degli strumenti (SELECU = 0)

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)

Altre sequenze (SELECU= 0)

Sequenza 11: -6, -34 stesso di sopra (cambiamento correzione)


Sequenza 19: -23, -31, -0 strumento disteso dalla stazione intermedia a
analisi dello stoccaggio e delle nuove operazioni
consecutiveT's).

Sequenze di carico e scarico, strumenti dal pavimento alla stiva attraverso il mandrino

(solo con SELECU= 2):


Sequenza 9: -23, -6, -16, -12, -27, -34 strumento da terra a mandrino, da mandrino a
le mascelle tornano in magazzino.
(solo con SELECU = 3):
Sequenza 10: -1, -5, -6, -17, -10, -34 strumento prelevato dal magazzino nella stazione intermedia
strumento prelevato dalla stazione intermedia al mandrino
ritorno dal fuso al pavimento.

-12 -27
J AW S

CASD
A
EG
A
TL
T
IREZZI

Fuso -31 1-=


NUOVO
STRUMENTO
RICHIESTA
POS.

2-3=
RICHIESTA
POST
.RUMENTO
VECCHIO

-17 INTERMED -5

-10 S TA Z I O N E
-16

-6 = Aspetta M06
FLOOR -34=FineTC

2-14 Sviluppo della Logica Macchina (PLC) - Parte II (01)


Serie S3000
2. Moduli interni dedicati

Cambiamenti di utensile sincronizzati

Sequenza di gestione degli strumenti a terra (con POSIZ. MAGAZ. = 0 e SELECU = 0 o


SELECU=1):

Sequence 1: -6, -16, -34 prendere lo strumento e posizionarlo nel mandrino


Sequenza 2: -6, -10, -34 rimuovere l'utensile dal mandrino (scarico)
Sequenza 3: -6, -10, -16, -34 rimuovere l'utensile dal mandrino, afferrare l'utensile e posizionarlo in
fusione (scambio)

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

Sequenze di strumenti dal deposito degli attrezzi (SELECU = 0)

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)

Altre sequenze (SELECU = 0)

Sequenza 11: -6, -34 stesso come sopra (cambiamento correttore, eseguire INTOF =
1 in modalità sincrona).

Sequenze di carico e scarico, strumenti dal pavimento al magazzino tramite mandrino

(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

Sviluppo della Logica Macchinaria PLC - Parte II (01) 2-15


Serie S3000
2. Moduli interni dedicati

Cambi di utensile semiasincroni

Questa configurazione ha le seguenti caratteristiche:

- 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.

Il significato dei codici interni delle OPERAZIONI predefinite è il seguente:


- 9 Scambio di utensili tra mandrino e magazzino

Sequenze per la gestione degli strumenti sul pavimento (manuale)


Sequence 1: -6, -16, -34 caricare dal pavimento all'albero
Sequence 2: -6, -10, -34 scaricare dal mandrino a terra
Sequenza 3: -6, -10, -16, -34 scambio tra fuso e pavimento

Sequenze per lo scambio tra strumenti a terra e stoccaggio (misti) (SELECU=0)


Sequenza 4: -1, -6, -10, -4, -34 rimetti l'utensile del mandrino a terra e prelevare dal magazzino
Sequence 5: -23, -6, -13, -16, -34 restituire l'utensile mandrino al deposito e raccogliere dal pavimento

Sequenze per la gestione degli strumenti dal magazzino (automatico) (SELECU=0)


Sequence 6: -1, -6, -9, -34 scambio utensili tra magazzino e mandrino (stessa dimensione)

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

Altre sequenze (SELECU=0)


Sequenza 11: -6, -34 strumento programmato stesso come strumento nel mandrino (solo cambiamento
Length corrector)

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.

2-16 Sviluppo della Logica di Macchine (PLC) - Parte II (01)


Serie S3000
2. Moduli interni dedicati

-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

Implementazione del programma PLC

CATENA RANDOM ASINCRONA TC

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
...

Attivazione del modulo cambio utensile

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.

Naturalmente la tabella degli strumenti deve essere già stata compilata.

UTECU = 0 è inteso come una richiesta di restituzione dello strumento giù dal mandrino al magazzino o a terra se non
space is available.

Attivazione del sequenziatore


Il modulo TC imposta il segnale CUATT (cambio utensile attivo) dopo essere stato attivato (RESET NUOVO CU).
poi:

∙ invia a NSEQCU registrare il numero di SEQUENZA operativo


∙ invio aPPRECU registra il numero di posizione di stoccaggio del nuovo attrezzo
∙ invia a TPOSCU registra il numero della posizione di stoccaggio per l'attrezzo vecchio

Sviluppo della Logica Macchina PLC - Parte II (01) 2-17


Serie S3000
2. Moduli interni dedicati

∙ prepares onOFSTregister the corrector code associated to the new tool


alla fine invia al PLC, nel registro OPERCU, la sequenza definita in DEF
SEQCU(n), i codici operativi accompagnati da un segnale strobeBRDYCU.

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.

Il sottoprogramma NC esegue le sequenze operative in modalità sincronizzata. Cambio utensile e il NC


posizionamento degli assi.

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.

The NEWCU tool change request is acquired only if:

∙ il TC non ha sequenze in esecuzione.


∙ se una sequenza è in esecuzione e l'operazione di attesa M6 viene eseguita (il caso di due consecutive
Codici T senzaM6);

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.

Correzione della lunghezza dell'utensile

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.

2-18 Sviluppo della Logica Macchinario (PLC) - Parte II (01)


Serie S3000
2. Moduli interni dedicati

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.

Decodificare il ‘T’ programmato e selezionare la sequenza di lavoro

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.

0 = modalità normale (predefinita):


lo strumento richiesto è montato nel mandrino prelevandolo dalla conservazione se presente o da
pavimento.

1 = modalità esclusa per lo storage:


lo strumento è montato nel mandrino dal pavimento e posato. Lo stoccaggio è considerato
rimosso dall'uso.

2 = strumento programmato con modalità di caricamento di archiviazione:

lo strumento richiesto è montato nell'albero dal pavimento e poi riposto in magazzino.

3 = strumento programmato con modalità di scarico dell'immagazzinamento:

lo strumento richiesto è montato nel mandrino dal magazzino se non è già presente e
si sdraiò immediatamente.

2.3.5. INTERRUZIONE DELLA SEQUENZA


È possibile interrompere una sequenza di cambio utensile in due modi:

∙ interruzione istantanea per emergenza. Ottenuta impostando il segnale REMCU.


- il TC entra in stato di emergenza (EMACU = 1)
la tabella degli strumenti non corrisponde alla situazione reale, quindi è necessario avere un operatore
verifica. Tutte le richieste di cambio strumento successive saranno ignorate.
∙ interruzione della sequenza con RBKC: il segnale EMACU non è stato segnalato.

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).

Sviluppo della Logica Macchina PLC - Parte II (01) 2-19


Serie S3000
2. Moduli interni dedicati

Gestione integrata della vita degli utensili

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.

DESCRIZIONE DELLE VARIABILI PLC


Nome Size Direzione Description
UTRUN1 PLCÞNC Strumento nel mandrino in fase di lavoro: decremento della VITA RIMANENTE

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

2.3.6. DIFFERENZIARE LA FAMIGLIA DI STRUMENTI


La gestione per 'famiglia' presuppone l'esistenza di serie di strumenti tecnologicamente equivalenti. Nel programma
a livello esiste solo un attrezzo (padre) e una serie di sostituti (figli) che saranno montati nel suo
posto alla fine della vita utile dell'utensile, rottura o usura ecc. Se ad esempio l'utensile T65 ha come utensile padre T23
poi quando T23 è richiesto, sarà utilizzato il più a lungo possibile, poi sostituito con T65. Con questo
la gestione del PLC non riconosce lo strumento o la correzione da applicare.

La scelta degli strumenti nella famiglia viene effettuata in funzione dei parametri "vita scaduta" e
strumento escluso

Ogni strumento è caratterizzato da:

- un tempo massimo rappresentato, in minuti e secondi, del tempo massimo di utilizzo


-una vita rimasta che rappresenta la vita massima meno il tempo di attività trascorso
-un vita minima raggiunta, in cui lo strumento è considerato usurato

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.

2.3.7. STRUMENTI DI DIFFERENZIAZIONE CON FORMES DIVERSE


Il modulo TC è in grado di gestire strumenti di dimensioni diverse (fino a 4) in modo trasparente senza influire
Qualsiasi operazione PLC. Le dimensioni degli utensili devono essere indicate nei dati di configurazione.

2-20 Sviluppo della Logica Macchinari (PLC) - Parte II (01)


Serie S3000
2. Moduli interni dedicati

2.3.8. DESCRIZIONE DELLE VARIABILI PLC


UTECU 16NCï PLC no Strumento
numero richiesta a cambiare modulo.
strumento
UTECU = 0 è un codice particolare riservato per il ritorno
sequenza degli utensili dal mandrino allo stoccaggio (o a terra se non
è disponibile spazio).
NEWCU 1 NCó PLC no Nuovo comando di attivazione sequenza per TC. Questo segnale è impostato
dal PLC per attivare il modulo di cambio utensili e esso è
reset dal TC non appena viene acquisito.
NSEQCU 16 NCð PLC no Ultima sequenza di codice TC eseguita.
BRDYCU 1 NCó PLC no Strobe della nuova presenza di codice su OPERCU. È impostato da TC
e deve essere ripristinato dal PLC non appena la nuova operazione
è stato acquisito.
MAPRCU 1 NCð PLC no Macchina pronta per il cambio utensile: se uguale a 0, la sequenza
sarà sospeso fino al rilascio.
OPERCU 16 NCð PLC no Codice operazione richiesto dal TC dal PLC.
PPRECU 16 NCð PLC no Nuovo strumento in fase di ritiro in posizione.
PPOSCU 16 NCð PLC no Il vecchio strumento ritorna alla posizione di raggiungimento.

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.

REMCU 1 NCï PLC no TC emergency request. This command interrupts the TC


sequenza attuale e l'operazione in corso, mettendo
il TC in uno stato di emergenza.
RBKCU 1 NCó PLC no Uscita dallo stato di emergenza EMACUTC e uno strumento
richiesta di interruzione della sequenza di cambiamento.

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.

Sviluppo della Logica Macchinaria PLC - Parte II (01) 2-21


Serie S3000
2. Moduli interni dedicati

NUOVE VARIABILI INFORMATIVA

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

2.3.9. TABELLE DEGLI STRUMENTI

The tool table stores all the information relative to the tools, it is organized line by line arranged and on
diverse pagine.

PARAMETRI UTENSILI(pagina 1 della tabella degli utensili)

∙ 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

PARAMETRI DELLE APPLICAZIONI DISPONIBILI (pagina 3 della tabella degli strumenti)

∙ parola#1, parola#2, float#2, float#3


I codici delle attrezzature validi sono tutti numeri interi da 1 a 32767.

La posizione nel magazzino deve essere interpretata nel seguente modo:

∙ 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).

2-22 Sviluppo della Logica Macchina (PLC) - Parte II (01)


Serie S3000
2. Moduli interni dedicati

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.

Scrivere nella tabella degli strumenti dal PLC


(Solo per applicazioni particolari)

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).

Sviluppo della Logica della Macchina PLC - Parte II (01) 2-23


Serie S3000
2. Moduli interni dedicati

Sintesi di segnali e registri


UTENRI 16 NCð PLC no Line number in the tool, maximum number of vector elements
rappresentando le colonne nella tabella degli strumenti.
UTNUM() 16 NCó PLC no Codici degli strumenti nella tabella (1 ..UTENRI).
UTPOS() 16 NCó PLC no Posizione di stoccaggio degli strumenti (1 ..UTENRI).

UTCAP() 16NCó PLC no Strumenti “padri” (1 ..UTENRI).


UTDIM() 8 NCó PLC no Tipi di utensili (1 ..UTENRI), dove:
0 = small
1 = medium
2 = grande
3 = extra
UTSPC() 8 NCó PLC no Strumenti speciali (1 ..UTENRI) dove:
0 = strumento normale
non 0 = strumento speciale
UTPLKO() 8 NCó PLC no Strumenti esclusi (1 ..UTENRI) dove:
0 = strumenti non esclusi
non 0 = strumento escluso
UTVTKO() 8 NCó PLC no La vita scaduta (1 ..UTENRI) dove:
0 = vita non scaduta
non 0 = vita scaduta
UTVITA() 64NC ó PLC no Vita massima utensile (1 ..UTENRI) in 1/100 di secondo.
UTVTRE() 64NCó PLC no Vita residua dell'utensile (1 ..UTENRI) in 1/100 di secondo.
UTVTMI() 64NCó PLC no Vita minima degli utensili (1 ..UTENRI) in 1/100 di secondo.
UTWD1() 16 NCó PLC no PAROLA#1- variabile 1 per applicazione (1..UTENRI).
UTWD2() 16NCó PLC no PAROLA#2- variabile 2 per applicazione (1..UTENRI).
UTFP1() 32NCó PLC no FLOAT#1- variabile 1 (punto flottante) per applicazione (1 ..
UTENRI).
UTFP2() 32 NCó PLC no FLOAT#2 - variabile 2 (punto flottante) per l'applicazione (1 ..
UTENRI).
UTEFRE 16NCð PLC no Numero di voci ancora disponibili nella memoria temporanea per
aggiornamento delle tabelle degli strumenti.

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).

LETTURA E SCRITTURA DEI CORRETTORI DI RAGGIO E LUNGHEZZA

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)

2.4. MODULO DI GESTIONE DELLA LINEA SERIALE DAL PLC

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.

2-24 Sviluppo Logico della Macchina (PLC) - Parte II (01)


Serie S3000
3. Adattamento di un programma PLC da S1200 a S3000

3. ADATTARE UN PROGRAMMA PLC DA


S1200 A S3000

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.

[PROGRAMMA GENERICO S1200] PROGRAMMA GENERICO S3000

INP INP
IMAPR Macchina pronta IMAPR Macchina pronta
FUORI FUORI
ABX [abilita l'asse X ABX [abilita l'asse X

[********** DICHIARARE VARIABILI ************ [**********DICHIARARE VARIABILI ************


RAM,32 [variables Sostituire RAM con SRAM poiché la prima non è più mantenuta in memoria
LEPOTE [lettura del potenziometro dopo lo spegnimento
POSX [posizione assoluta X SRAM,32 [variables
COMPX compensazione della temperatura X LEPOTE [lettura potenziometro
VELX [Converti l'asse X] POSX [posizione assoluta X
VEMA velocità del mandrino COMPX [compensazione della temperatura X
RAM,8 VELX [Converti asse X]
NUMUT [variabile numerica per l'istruzione ASC()] VEMA [spindle speed
SRAM,8
NUMUT [variabile numerica per l'istruzione MKN$()
SRAM,1
[il selezione tasti morbidi selezionando il elettronico
la risoluzione della manopola è stata eliminata, ma il PLC può
scegli uno dei passi predefiniti nei dati di configurazione
con l'uso della variabile
PASSO
SOFTK
P01,L01, ‘.1 mm/ rev’
.5 mm/giro
5 mm/giro
INIT 10 mm/giro
PROG assi di riferimento
INIZIO
PROG

Sviluppo della Logica Macchinaria (PLC) - Parte II (00) 3-1


Serie S3000
3. Adattare un programma PLC da S1200 a S3000

[******** GESTIONE DEL POTENZIOMETRO ************ [******GESTIONE DEL POTENZIOMETRO ******


POTER =1 gestione del potenziometro Il controllo è sempre gestito dal PLC, la variabile POTTER è stata
LEPOTE=LAD(POMA) [lettura pot. Manuale di input eliminato.
[e formatta la conversazione È necessario eliminare le funzioni LAD() e SDA(): le variabili
POMO=SDA(LEPOTE) [scrittura valore per il formato NC relativo all'ingresso/uscita analogica è già in virgola mobile.
[conversion [Le variabili POFE, POMA, POSP sono state sostituite con ANI(1),
POFO=SDA(LEPOTE) ANI(2), ANI(3).
Per la modalità manuale è presente un potenziometro per ciascun asse
LEPOTE=ANI(1)
POMO(1)=LEPOTE
POMO(2)=LEPOTE
POMO(3)=LEPOTE
POFO=LEPOTE

[*** LETTURA DELLA POSIZIONE DEGLI ASSI E SPOSTAMENTO DELL'ORIGINE ******* ]


LETTURA DELLA POSIZIONE DEGLI ASSE E SPOSTAMENTO DELL'ORIGINE
POSX=LRQ(POA(1)) [leggi asse X *******
SHIFT(1)=SRQ(COMPX) compensare asse X È necessario eliminare le funzioni LRQ() e SRQ(): le variabili
relativi all'input/output analogico sono già in virgola mobile.
POSX= POA(1) [leggere asse X
SHIFT(1)=COMPX [compensare l'asse X

[ **** FUNZIONI DI DECODIFICA ***** [****DECODING FUNCTIONS *****


[sintassi dell'istruzione COM, 1, 'ETICHETTA'] Cambia la sintassi dell'istruzione COM, 1, nome programma
SE(AUXM=6) COM, 1, 'L1' SE(AUXM=6) COM, 1, 'CAMBUT'; RTS
RTS [Su SSA è necessario scrivere la configurazione degli assi in M11]
SE(AUXM=11) SSA=11111111B; RTS [Assi sempre attivi
SE(AUXM=10) SSA=00000000B; RTS [Assi bloccati

****** ABILITA GESTIONE ******* [******ENABLE MANAGEMENT *******


ABX=MOVE(1) [abilita X [Sostituire MOVE con MOVCN e fornire la configurazione assi abilitati su]
[RDMOV
ABX=MOVCN(1) [abilita X
RDMOV=MOVCN [assi abilitati

[****** GESTIONE DELLA SPINA ******* [******GESTIONE DEL MORSETTO *******


Interamente implementato dal PLC [Non modificabile tramite semplici sostituzioni, vedere il paragrafo relativo.]

****** GESTIONE DEL CAMBIO UTENSILE ******* [******GESTIONE DEL CAMBIO STRUMENTO *******
Interamente implementato dal PLC [Non modificabile tramite semplici sostituzioni, vedere il paragrafo relativo.]

[****** INTERRUZIONE ACQUISIZIONE ******* ] [******INTERRUZIONE ACQUISIZIONE ********


[In pausa M30 è emesso] [In pausa M30 non è emesso.
SE(AUXM=30) CHIAMA M30 La condizione BRKA è impostata: quindi la routine di interruzione deve essere chiamata
SE(AUXM=30) CHIAMA M30 [ Routine chiamata M30 ]
SE(BRKA) CHIAMA M30 [ ROMPI routine di chiamata ]

[***** GESTIONE MACCHINA PRONTA ******* [-****GESTIONE PRONTO MACCHINA *****]


MAPR=IMAPR [programma e fermata degli assi Il MAPR è stato diviso in due significati
DHOLD="IMAPR [dati in attesa]
FHOLD=”IMAPR [feed hold (assi)

[**** MESSAGGIO VISIBILE ******* [****MESSAGE DISPLAY *******


[DISPL, sintassi dell'istruzione, riga (variabile)] [Cambia la sintassi dell'istruzione DISPL, linea, variabile]
DISPL,1(MSG1) [display MSG1 DISPL,1,MSG1 [mostra MSG
[Conversione da numero a stringa] [sostituisci la funzione ASC() con MKN$()]
MSG1= ASC(NUMUT) MSG1= MKN$(NUMUT)

[**** SCRIVI USCITA ANALOGICA ** [****SCRIVI USCITA ANALOGICA **


OEDA(1)=1 [abilitare scrittura DAA X] [Elimina le funzioni OEDA() e la conversione del formato
DAA(1)=SDA(VELX) Converti l'asse X DAA(1)=VELX Convertire l'asse X
DASP= SDA(VEMA) velocità di rivoluzione DASP= VEMA velocità del mandrino

3-2 Sviluppo della Logica Macchina (PLC) - Parte II (00)


Serie S3000
3. Adattare un programma PLC da S1200 a S3000

[**** MANUALE JOG ********** [**** MANUAL JOG **********


Solo in modalità manuale Per selezionare il movimento JOG in manuale è necessario impostare il MOVMA
registrati
MOVMA = JOGP ~ JOGM

[**** RIFERIMENTI ASSI ********** [****REFERENZIARE GLI ASSE **********


La gestione non è remota dalla Carolina del Nord Lo stato di RICERCA 0 (NCMD=6) non esiste più nel NC,
SE(NCMD=6) ... in alternativa è necessario inserire la configurazione degli assi (con o senza
switch di casa) quindi riferisciti all'asse utilizzando la variabile MARK (senza casa
interruttore) o MICZE (con interruttore di casa).
Ad esempio, è possibile creare un softkey con il PLC (P05, L05)
L05=FF(P05),((NCMD<>5)~(MIZEA=7)) [lampada softk
SE(L05) MICZE= 11111111B; ALTRIMENTI MICZE=0 [con interruttore
o
SE(L05) MARK= 11111111B; ALTRIMENTI MARK=0 [sul marcatore

[**** GESTIONE SWITCH ********** [****GESTIONE SWITCH **********


Gestione non remota dalla NC La scelta dei passaggi deve essere gestita dal PLC per poter eventualmente
utilizzare una console remota.
SE(P01) L01=1; L02=0; L03=0; L04=0
SE(P02) L02=1; L01=0; L03=0; L04=0
SE(P03) L03=1; L02=0; L01=0; L04=0
SE(P04) L04=1; L02=0; L03=0; L01=0
SE(L01) PASSO=1 [selezione del primo passo (predeterminato)]
SE(L02) PASSO=2 [selezione del secondo passo (predefinito)]
SE(L03) PASSO=3 [selezione del terzo passo (predeterminato)]
SE(L04) STEP=4 selezione del quarto passaggio (predefinito)

FINE FINE

Sviluppo della logica delle macchine (PLC) - Parte II (00) 3-3


Serie S3000
3. Adattare un programma PLC da S1200 a S3000

3-4 Sviluppo della Logica Macchina (PLC) - Parte II (00)


Serie S3000
4. Riepilogo dei segnali e dei registri predefiniti

4. RIEPILOGO DEI SEGNALES E


REGISTRI

4.1. SIMBOLI E CONVENZIONI


Le informazioni trovate in questa sezione riguardano le variabili precedentemente definite che il NC (Numerico
Scambi di controllo con il PLC (Controllore Logico Programmabile).
Per essere utilizzato come riferimento pratico durante lo sviluppo dell'applicazione. Per ogni area tematica, le tabelle indicano il
seguenti caratteristiche per ogni variabile di registro o segnale:

∙ Il nome mnemonico

∙ The format (in theDimcolumn)


1 = bit
8 = byte
16 = parola
32 punto flottante
64 double a virgola mobile
STR = character string

∙ I vincoli sincroni con il segnale BURDY (nella colonna Sync)


∙ Le informazioni indicazioni: da PLC a NC, viceversa o in entrambe le direzioni (in direzione)
colonna).
Nota: Scrivere alle variabili di sola lettura del PLC con la direzione dall'NC al PLC e non viceversa.
può avere conseguenze imprevedibili.
∙ A briefDescriptionin the corresponding column.
Le unità di misura utilizzate sono le seguenti:
- per la misurazione di altezze, distanze, impostazioni di regolazione mm
per la rotazione delle dimensioni gradi
- per il tempo msec, sec o min
- per la velocità: mm/min
- per accelerazione: mm/(sec²)
per la velocità di rotazione dello spindle giri/min
- per tensione V

I simboli usati sono i seguenti:

Sviluppo della Logica della Macchina (PLC) - Parte II (01) 4-1


Serie S3000
4. Riepilogo dei segnali e dei registri predefiniti

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:

∙ La dimensione degli elementi vettoriali è maggiore di 1.

∙ Quando si descrivono singoli bit di registro, queste descrizioni sono generalmente precedute da
descrizione del registro stesso, che sarà indicato senza parentesi.

Esempio:

Nome Dim Sincronizzazione Direzionale Description

MOVCN 8 NCð PLC no Richiesta di abilitare gli assi (1..8).


MOVCN(1)1 NCð PLC no (primo bit del byte) richiesta per l'asse 1
MOVCN(8)1 NCð PLC no (ottavo bit del byte) richiesta per l'asse 8

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.

4-2 Sviluppo della Logica Macchina (PLC) - Parte II (01)


Serie S3000
4. Riepilogo dei segnali e registri predefiniti

4.2. INTERCAMBIO E FLUSSO DEI SEGNALE

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

Comunicazione sincrona con il NC


BURDY 1 NCó PLC sì Segnala la presenza di nuovi dati sincroni per la macchina
logica. È impostata dal NC e la cosa più importante deve essere ripristinata da
il PLC non appena le informazioni vengono acquisite.

Funzioni ausiliarie e preparatorie sincrone


AUXM 16 NCð PLC sì Ultima funzione M programmata (M0-M9999).
STROM 1 NCð PLC sì Stroboscopico che indica la presenza della funzione M.
STRUMENTO16 NCð PLC sì Ultima funzione T programmata (T0-T32767).
STROT 1 NCð PLC sì Stroboscopio che indica la presenza della funzione T.
AUXH 16 NCð PLC sì Ultima funzione H programmata (H0-H9999).
STROH 1 NCð PLC sì Stroboscopio che indica la presenza della funzione H.
VELOCITÀ 32 NCð PLC sì Ultima funzione S programmata (S0-S99999).
STROS 1 NCð PLC sì Stroboscopio che indica la presenza della funzione S.
STCOM 1 NCð PLC sì Segnale stroboscopico che indica la fine di un sottoprogramma COM.

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).

Sviluppo della Logica Macchina (PLC) - Parte II (01) 4-3


Serie S3000
4. Sommario dei segnali e registri predefiniti

STRCO_ 8 NCð PLC Strobo di sincronizzazione per il funzionamento del COM richiesto con
con RCOM_per i gruppi ad asse singolo (1..8).

Controlli di Avvio, Arresto, Allarme e Riconoscimento Asincroni

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.

Part origins and Tool length compensation


OFST 16 NCó PLC sì Codice della compensazione della lunghezza da attivare.
INTOF 1 NCó PLC sì Flash per segnalare il NC di attivare la lunghezza dello strumento selezionato
compensazione.
ORIG 16 NCï PLC sì Codice della parte di origine da attivare.
INORG 1 NCó PLC sì Stroboscopio per segnalare al NC di attivare l'origine della parte selezionata.
BYORG 1 NCï PLC sì Cancellazione temporanea delle origini e delle impostazioni degli strumenti (assoluto
origine).
ABSOR 1 NCð PLC no Segnale attivo di origine assoluta.
STORG_ 8 NCï PLC Registro dell'attivazione dell'offset di origine aggiuntiva.
STORG_(1)= 1 activates the offsets (for all the axes)
STORG_(1)= 0 de-activates the offsets
PLORG() 8 NCï PLC Registri contenenti gli offset di origine aggiuntivi

Abilitare e disabilitare gli assi

MOVCN 8 NCð PLC no Richiesta di abilitazione dell'asse (1..8).

RDMOV 8 NCï PLC no Asse pronto a muoversi; risposta a MOVCN (1..8).


POFO 64 NCï PLC no Sovrascrivi il valore sul feed programmato (da 0 a 2 dà un
regolazione tra lo 0 e il 200 percento).

Assi sempre attivi o con bloccaggio


SSA 8 NCï PLC no Assi che devono sempre essere attivi (1..8).

Assi da disabilitare
DSERV 8 NCï PLC no Assi da disabilitare (1..8).

4-4 Sviluppo della logica di macchina (PLC) - Parte II (01)


Serie S3000
4. Riepilogo dei segnali e dei registri predefiniti

Disabilitare i trasduttori

DISRQ 8 NCï PLC no Assi con trasduttori disabilitati (1..8).

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).

Movimento manuale con manovella


HWL() 8 NCï PLC no Uno per manopola (1..3) per indicare il numero dell'asse a
essere controllato.
PASSO otto NCï PLC no Selezione della risoluzione della manopola tra i 8 valori definiti
nei parametri di configurazione.

Impostazione degli assi

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).

Movimento manuale e ritorno a home durante l'esecuzione del programma

FOMAN 8 NCï PLC sì Assi su cui forzare il controllo manuale (1..8).

Informazioni sugli assi

Per il controllo degli assi

ERR() 64 NCð PLC no Errore di seguimento dell'asse (1..8).


VATT 64 NCð PLC no Velocità effettiva lungo il percorso dell'utensile.
TACH() 64 NCð PLC no Velocità dell'asse (1..8).
VFF() 64 NCð PLC no Assi di velocità istantanea (1..8).
AFF() 64 NCð PLC no assi di accelerazione istantanea (1..8).
DAA() 64 NCð PLC no Tensione di riferimento per assi controllati (1..8). Il DAA può solo
essere letto Se l'asse è attivo e sotto controllo NC. Il contenuto
varia da -1 a 1 in relazione alla tensione di ingresso di -10 e +10
V.
POA() 64 NCð PLC no Posizione assoluta degli assi (1..8).
POO() 64 NCð PLC no Axis position referred to the current origin and active tool
compensation (1..8).
POATE() 64 NCð PLC no Posizione dell'asse calcolata istantaneamente lungo la traiettoria di
interpolazione (1..8) rispetto all'origine assoluta.
POOTE() 64 NCð PLC no Posizione dell'asse calcolata istantaneamente lungo la traiettoria di
interpolazione (1..8) relativa all'origine attiva.
PORT() 64 NCð PLC no Posizione calcolata istantanea di qualsiasi traduzione rotativa di
coordinate di sistema lungo la traiettoria di interpolazione (1..8)
rispetto all'origine attiva.
PFNC() 64 NCð PLC no Posizione finale programmata dell'asse (1..8).
AXRIF() 64 NCð PLC Comando di velocità inviato agli assi (1..8) [mm/min]

Sviluppo della Logica Macchina (PLC) - Parte II (01) 4-5


Serie S3000
4. Riepilogo dei segnali e dei registri predefiniti

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.

Controllo di trasduttori e volanti elettronici


MKSAX 8 NCð PLC no Segnale di impulso di marker (zero elettrico) per encoder o ottici
scale per gli assi (1..8). Impostato dalla NC quando ricevuto da
trasduttore e ripristino tramite il campionamento del sistema successivo; per
questa ragione il impulso è visibile solo utilizzando l'analizzatore grafico
.
AIRGP() 64 NCð PLC no Livello del segnale dai trasduttori analogici (INDUCTOSYN o
RISOLUTORE); nel caso di un CODIFICATORE è il numero di
impulsi persi determinati dalla funzione 'passo di recupero' per il
assi (1..8).
SPMANO()64 NCð PLC no Distanza per giro della manopola (1..3) secondo il
La distanza accumulata viene ripristinata da
cambiamenti dello stato NC e dello stato dell'asse (SSA, DSERV, ...)

Compensazione dinamica della posizione dell'asse

SPOSTA() 64 NCï PLC no Compensazione dinamica della posizione dell'asse (1..8).

Offset per assi controllati


OFSDA() 64 NCï PLC no Offset applicato alla tensione di riferimento sugli assi controllati (1..8) in
l'intervallo ±1 per una tensione di riferimento di ±10 Volt.

Gestione della sonda di contatto

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

Limiti del software Axis

FICOP 8 NCð PLC no Asse (1..8) sul limite software positivo.


FICOM 8 NCð PLC no Asse (1..8) al limite software negativo.
DFCOP 8 NCï PLC no Asse (1..8) disabilita il limite software positivo.
DFCOM 8 NCï PLC no Asse (1..8) disabilita il limite software negativo.
FCA() 8 NCï PLC no Attivazione dell'array dei limiti secondari

4-6 Sviluppo della Logica di Macchine (PLC) - Parte II (01)


Serie S3000
4. Riepilogo dei segnali e registri predefiniti

CWFCS 8 NCï PLC Controllo degli errori di limite del software.


CWFCS(1)= 1 E93error report disabled
CWFCS (1)= rapporto di errore 0E93 abilitato

Assi paralleli (Gantry)


OFSGY 8 NCï PLC no Abilita l'offset nominale dell'asse del ponte (1..8). Deve essere impostato il bit
corrispondente al numero dell'asse SLAVE

Assi non controllati programmabili


AUXPF() 64 NCð PLC sì Posizioni programmate per gli assi mossi dal PLC (1..6).
STRPF 8 NCð PLC sì Lampo quando sono presenti nuove informazioni su AUXPF() (1..6).

Lettura e scrittura di ingressi e uscite analogici

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.

Scambio di dati tra PLC e programma parte


LFL 32 NCð PLC sì FLOATING variable from part program to PLC.
STVFL 1 NCð PLC sì Variabile FLOATING strobe dal programma parte al PLC.
VPLWO 16 NCð PLC sì Variabile WORD dal programma di parte alla PLC.
STVWO 1 NCð PLC sì Variabile WORD strobe dal programma parte al PLC.
VPLBY 8 NCð PLC sì Variabile BYTE dal programma di parte al PLC.
STVBY 1 NCð PLC sì Variabile BYTE strobe dal programma parte al PLC.
VPLBI 1 NCð PLC sì Variabile BIT dal programma di parte al PLC.
STVBI 1 NCð PLC sì Variabile BIT di strobe dal programma di parte al PLC.
VLPFL 32 NCï PLC sì Variabile FLOATING inviata al programma parte dal PLC.
VLPWO 16 NCï PLC sì Variabile WORD inviata al programma parte dal PLC.
VLPBY 8 NCï PLC sì Variabile BYTE inviata al programma da PLC.
VLPBI 1 NCï PLC sì Variabile BIT inviata al programma di partenza dal PLC.
PNC() 32 NCó PLC no 99 parametri in formato punto flottante condiviso letti e scritti
per entrambi PLC e programma parte a livello utente (1..99).
P() 32 NCó PLC no 99 parametri in formato a virgola mobile condiviso scritti da
PLC o le istruzioni del sottoprogramma COM (1..99).

Finestre di visualizzazione video NC

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.

Sviluppo della Logica Macchinistica (PLC) - Parte II (01) 4-7


Serie S3000
4. Riepilogo dei segnali e dei registri predefiniti

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.

SFKMEN 8 NCó PLC no Menu softkey PLC attuale.


SFKLNG 16 NCð PLC no Codice lingua attivo su NC
CNDVIS()16 NCï PLC no Array da utilizzare per le condizioni all'interno delle tabelle video (1..64)
VISMC 16 NCð PLC Numero del pannello video attivo

Data e ora di sistema


DATA(1) 16 NCð PLC no Anno (ultime due cifre)
DATA(2) 16 NCð PLC no Mese
DATA(3) 16 NCð PLC no Giorno
DATA(4) 16 NCð PLC no Ora (0-24)
DATA(5) 16 NCð PLC no Verbali
DATA(6) 16 NCð PLC no Seconds

Copiare e digitalizzare superfici


COPIA 8 NCó PLC no Primo byte per i comandi di copia remota
COPIA(1) 1 NCï PLC no =0 seleziona la modalità di digitalizzazione continua, i punti dati sono
memorizzato in funzione dei parametri del manuale
programma di copia.

=1 seleziona la modalità di digitalizzazione, i punti dati vengono memorizzati


solo seguendo un impulso (transizione da 0 a 1) sul bit
COPIA(2) in copia manuale.
COPIA(2) 1 NCï PLC no Digitalizzazione del segnale seeCOPIA(1).
COPIA(3) 1 NCó PLC no Segnale attivo del ciclo di copia. Quando viene resettato dal PLC, indica il
fine del ciclo. È importante terminare un ciclo di digitalizzazione
azzerrando questo bit (o con il tasto morbido appropriato se già
implementato nel NC) altrimenti gli ultimi punti digitalizzati saranno
non deve essere memorizzato.

COPIA(4) 1 NCï PLC no Segnale a STEP (incremento) +.


COPIA(5) 1 NCï PLC no Segnale a PASSO (incrementare) -.
COPIA(6) 1 NCï PLC no Segnale a STEP (incrementa) e inversione della direzione di copia.
COPIA(7) 1 NCð PLC no Copia attiva.
COPIA(8) 1 Non assegnato

COPIA2 8 NCó PLC no Secondo byte per il controllo remoto della funzione di copia.

COPIA2(1)1 NCï PLC no passage in manual status.


COPIA2(2)1 NCï PLC no 0 = digitalizzazione disabilitata.
1 = digitalizzazione abilitata.
COPIA2(3)1 NCï PLC no Offset della sonda acquisito.
COPIA2(4)1 NCï PLC no 1 = copia dell'asse 1 bloccata.
0 = sbloccato.
COPIA2(5)1 NCï PLC no 1 = copiando l'asse 2 bloccato.
0 = unlocked

4-8 Sviluppo della Logica della Macchina (PLC) - Parte II (01)


Serie S3000
4. Riassunto dei segnali e registri predefiniti

COPIA2(6)1 NCï PLC no 1 = copia dell'asse 3 bloccata.


0 = sbloccato
COPIA2(7)1 NCï PLC no Inversione della direzione di copia.
COPIA2(8)1 NCï PLC no 0 = acquisizione automatica della superficie disabilitata.
1 = acquisizione automatica superficie abilitata.

COPIA3 8 NCó PLC no Terzo byte per i comandi di copia remota.

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

PBSTS 8 NCð PLC no Registro dello stato della sonda digitale


POCOP 64 NCï PLC no Manual copying gain control. The value can vary from 0 to 1 and
moltiplica il guadagno del controllo nella copia da 1 a 5, variando
la velocità degli assi con la deflessione della sonda.
COPIA 8 NCð PLC Primo byte per la gestione remota dei comandi di copia
COPIA(8)= 1 Segnale che un ciclo di copia è in esecuzione
in modalità manuale

Variabili per verificare i tempi di esecuzione del sistema

SMPTI 64 NCð PLC no Tempo di campionamento (assi controllati) [msec]


OCCV 16 NCð PLC no Tempo di scansione logica veloce (microsecondi).
OCCI 16 NCð PLC no Tempo utilizzato nella gestione degli assi controllati (microsecondi).
OCCT 16 NCð PLC no Time used by the graphic analyzer (microseconds).
OCCP2P 16 NCð PLC no Time used in managing the independent axes (microseconds).
CCL 16 NCð PLC no Contatore del ciclo di interruzione della logica lenta.

CCUL 16 NCð PLC no Contatore di ciclo di interruzione della logica super lenta.

Sviluppo della Logica di Macchina (PLC) - Parte II (01) 4-9


Serie S3000
4. Riepilogo dei segnali e dei registri predefiniti

Error signals accessed by logic


ERSYS 16 NCð PLC no Codice 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 n° Codice errore di sistema letto sugli assi controllati (errore schiavo,
fuori tolleranza, errori del trasduttore, ecc.).
ERIOX 16 NCð PLC no Codice di errore registrato sulle schede I/OMIX (guasto del feedback dell'encoder,
errore di output digitale, ecc.)
ERINT 16 NCð PLC no Codice di errore che si verifica durante i calcoli di interpolazione.
ERPLC 16 NCð 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 di errore letto sugli alberi (trasduttori, ecc.)
ERP2P 16 NCð PLC no Codice errore letto sugli assi indipendenti (trasduttori, ecc.)
ERCU 16 NCð PLC no Codice di errore letto durante il cambio utensile o tabelle utensili errate, ecc.
ER2LN 16 NCð PLC no Codice di errore causato dal superamento del tempo di campionamento del sistema.

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).

Lettura e modifica dei parametri di configurazione dell'asse

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:

Codice Parametro Codice letto


scritto
-1 Rapid velocity 1
-2 Accelerazione della lavorazione 2
-3 Accelerazione rapida 3
-4 retroazione dell'asse del trasduttore 4
-5 KVguadagnare 5
-6 Compensazione dinamica 6
-7 Tasso di recupero del crossover 7
-8 Tempo di recupero crossover 8
-9 Errore massimo del servo 9
-10 Tasso di comp. frizionale 10
-11 Offset di errore di accelerazione 11
-12 Limite di viaggio negativo 1 12
-13 Posit. limite di viaggio 1 13
-14 Tonalità del trasduttore 14
-15 Costante di tempo integrale 15
-16 Guadagno integrale 16

ACTSTP 1 NCó PLC no Avvia la richiesta di segnale operativa su HOWSTP. Reset da NC quando
l'operazione è completata.

4-10 Sviluppo della Logica Macchina (PLC) - Parte II (01)


Serie S3000
4. Riepilogo dei segnali e registri predefiniti

POLLICI 1 NCó PLC no Tipo di misura


0 = millimetri
1 = inches
Il NC imposta questa variabile in base al parametro correlato
memorizzato nell'area di configurazione del sistema
Il PLC può sovrascrivere questa variabile per cambiare il tipo di misura
ma il nuovo valore non verrà salvato permanentemente nel sistema
parametro di configurazione area

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)

4.3. MODULI DEDICATI


Rotazione del mandrino

SPVEL() 64 NCï PLC no Velocità mandrino(i)(1..4).


SPSSO() 64 NCï PLC no Sovrascrivere il(n) albero(i) del potenziometro(1..4).
SPDIR() 8 NCï PLC no Direzione di rotazione dei mandrini (1..4).
SPROT 8 NCï PLC no Comando mandrini (1..4).
SPREG 8 NCð PLC no Mandrini (1..4) a velocità.
SPMOT 8 NCð PLC no Mandrini (1..4) in movimento.
SPRMP 8 NCð PLC no L'asse(i) (1..4) aumentano di velocità.
SPSGL 8 NCð PLC no Velocità efficace all'interno della soglia dello spindolo (1..4).

Selezione cambio intervallo

SPGAM() 8 NCï PLC no Gamma selezionata (0 = neutrale) mandrino(i) (1..4).


SPPND 8 NCï PLC no Comando di caccia per il cambiamento dell'intervallo della/ delle mandrini (1..4).

SPSMG1()64 NCð PLC no Velocità massima per l'intervallo di 1 mandrino(i) (1..4).


SPSMG2()64 NCð PLC no Velocità massima per il range 2 mandrino(i) (1..4).
SPSMG3()64 NCð PLC no Velocità massima per l'intervallo di 3 mandrini (1..4).
SPSMG4()64 NCð PLC no Velocità massima per l'intervallo 2 mandrini (1..4).
SPSMAX()64 NCð PLC no Velocità massima per mandrino(i) (1..4).

Orientamento del fuso

SPORI() 8 NCï PLC no Orientare il mandrino di comando (1..4).


SPTOL 8 NCð PLC no Orientato all'interno degli spinelli di tolleranza (1..4).
SPPOS() 64 NCï PLC no Orientare la posizione del mandrino (1..4).
SPVEOR()64 NCï PLC no Riduzione della velocità (da 0 a 1) durante l'orientamento dell'albero/spindolo(i) (1..4).
SPOAB 8 NCï PLC no Orientamento utilizzando i mandrini a valori assoluti (1..4).
SPORP 8 NCï PLC no Orientamento positivo unidirezionale.
SPORM 8 NCï PLC no Orientamento negativo unidirezionale.

Sincronizzazione tra fusoli

Sviluppo della Logica della Macchina (PLC) - Parte II (01) 4-11


Serie S3000
4. Riepilogo dei segnali e dei registri predefiniti

SPSYN 8 NCï PLC no Comando di sincronismo per il mandrino secondario.


SPMAS() 8 NCï PLC no Numeri del mandrino principale per la sincronizzazione con lo slave.
SPOFS() 64 NCï PLC no Offset tra il mandrino principale e quello secondario.
SPRTO() 64 NC ï PLC no Rapporto di velocità per la sincronizzazione tra mandrino principale e schiavo/i.
SPAGG 8 NCð PLC no Fuso(i) satelliti (1..4) sincronizzati con il maestro.

Comune a tutte le operazioni

SPMOV 8 NCð PLC no Richiesta di spostare il(s) mandrino(i) (1..4).


SPDIS 8 NCï PLC no Disabilita i comandi generali delle spine (1..4).
SPDRQ 8 NCï PLC no Disabilita il mandrino del trasduttore(i) (1..4).
SPTCH() 64 NCð PLC no Velocità effettiva del mandrino (1..4).
PASP() 64 NCð PLC no Posizione angolare dal trasduttore(i) (1..4).
SPMZA 8 NCó PLC no Trasduttore(i) riferito allo zero elettrico. Può essere ripristinato a
ripeti la ricerca zero.
SPMKS 8 NCð PLC no Pulsante di marcatura dell'encoder(s) mandrino(i) (1..4).
SPAGP() 8 NCð PLC Livello del trasduttore o impulsi persi e recuperati per i mandrini
(1..4).
SPRIF() 64 NCð PLC Comando di velocità inviato ai mandrini (1..4) [giri/min] può essere
usato per controllare le rampe di accelerazione/decelerazione confrontando
SPRIFconSPTCH(velocità attuale) per mandrini con trasduttore.

Ciclo fisso G84


SPGDA 8 NCï PLC no Mandrino da utilizzare per il ciclo fisso G84 con trasduttore.

Modulo di movimento ad asse indipendente

MOVP2P 8 NCð PLC no Richiesta di abilitare gli assi di movimento (1..8).


RDMP2P 8 NCï PLC no Assi abilitati al movimento (1..8); risposta a MOVP2P.
SSAP2P 8 NCï PLC no Assi che devono essere abilitati in ogni momento (1..8).
DSVP2P 8 NCï PLC no Axes to be freed (1..8).
DRQP2P 8 NCï PLC no Comando per disabilitare i trasduttori sugli assi (1..8).
MVMP2P 8 NCï PLC no Assi che possono essere selezionati in modalità manuale (1..8).
MRKP2P 8 NCï PLC no Assi selezionati da essere posizionati senza interruttore di riferimento (1..8).
MCZP2P 8 NCï PLC no Assi selezionati da essere omologati con interruttore di riferimento (1..8).
MIZP2P 8 NCï PLC n. Microinterruttore di riferimento per assi (1..8).
MZAP2P 8 NCð PLC no Gli assi riferiti allo zero del trasduttore vengono poi riposizionati dopo l'azzeramento
(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 Sposta automaticamente sugli assi di posizione programmata (1..8).
RUNP2P 8 NCï PLC no Comandi di posizionamento in automatico per assi, (1-8). Devono
essere impostato dal PLC per comandare il movimento verso il set
posizione; vengono ripristinati dal NC quando l'asse, avendo terminato
il movimento, entra nella soglia di posizione impostata in
dati di configurazione.

4-12 Sviluppo della Logica della Macchina (PLC) - Parte II (01)


Serie S3000
4. Riepilogo dei segnali e registri predefiniti

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.

FEDP2P()64 NCó PLC no Velocità di alimentazione, assi (1..8).

RAPP2P()64 NCó PLC no Velocità rapida, assi (1..8).


VLNP2P()64 NCó PLC no Velocità zona lenta, assi (1..8).
ZLNP2P()64 NCó PLC no Distanza zona lenta, assi (1..8).
DEXP2P()64 NCó PLC no Distanza di decelerazione esponenziale, assi (1..8).
ACMP2P()64 NCó PLC no Accelerazione in manuale, assi (1..8).
ACCP2P()64 NCó PLC no Accelerazione automatica, assi (1..8).
DECP2P()64 NCó PLC no Decelerazione dalla velocità di avanzamento alla velocità ridotta, assi (1..8).
DE2P2P()64 NCó PLC no Decelerazione esponenziale da bassa velocità, assi (1..8).
TOLP2P()64 NCó PLC no Tolleranza di posizionamento, assi (1..8).
OFSP2P()64 NCó PLC no Transducer offset applied to the reading to obtain the absolute
valuePOAP2P()(1..8).
SHIP2P() 64 NCï PLC Spostamento dell'origine per assi indipendenti (1..8). Consente la definizione di una
posizione zero diversa dal zero assoluto.
Le posizioni finali di PFNP2P() sono sempre riferite a
POOP2P()
POOP2P()64 NCï PLC Posizione asse indipendente (1..8) influenzata dallo spostamento dell'origine
SHIP2P().

Sviluppo della Logica di Macchine (PLC) - Parte II (01) 4-13


Serie S3000
4. Riepilogo dei segnali e dei registri predefiniti

Modulo di gestione del cambio utensile

UTECU 16 NCï PLC no Tool numero richiesta a cambiare modulo.


strumento
UTECU = 0 è un codice particolare riservato per il ritorno
sequenza degli attrezzi dal mandrino al crib (o sul pavimento se non ci sono)
è disponibile spazio).
NEWCU 1 NCó PLC no Nuovo comando di attivazione sequenza per TC. Questo segnale è impostato
dal PLC per attivare il modulo di scambio degli strumenti e lo è
resettato dal TC non appena viene acquisito.
NSEQCU 16 NCð PLC no Ultima sequenza di codice TC intrapresa.
BRDYCU 1 NCó PLC no Strobe della nuova presenza di codice su OPERCU. È impostato da TC
e deve essere ripristinato dal PLC non appena la nuova operazione
è stato acquisito.
MAPRCU 1 NCð PLC no Macchina pronta per il cambio utensile: se uguale a 0, la sequenza
sarà sospeso fino al rilascio.
OPERCU 16 NCð PLC no Codice operazione richiesto dal TC dal PLC.
PPRECU 16 NCð PLC no Nuovo strumento in fase di prelievo raggiungendo la posizione.

PPOSCU 16 NCð PLC no Il vecchio strumento torna alla posizione di raggiungimento.

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.

REMCU 1 NCï PLC no Richiesta di emergenza TC. Questo comando interrompe il TC


sequenza attuale e l'operazione in corso, mettendo
il TC in stato di emergenza.
RBKCU 1 NCó PLC no Uscita dallo stato di emergenza EMACUTC e uno strumento
change sequence interruption request.
SELECU 8 NCï PLC no Selettore del modulo. Deve essere organizzato prima dello strumento
il modulo di cambio è attivato, è acquisito all'inizio
della sequenza e non può essere modificata durante la stessa.
0 = modalità TC normale
1 = modalità TC con crib escluso
2 = modalità TC con carico utensile programmato in memoria
3 = modalità TC con strumento programmato disposta
ERCU 16 NCð PLC no Codice di errore visualizzato dal TC. Ad ogni operazione il
informazioni relative allo stoccaggio, al tavolo degli attrezzi e alla configurazione sono
verificato. Nel caso in cui le informazioni non siano valide o in situazioni non
foreseen o non gestibile il TC interrompe l'attivo
sequenza e comunica l'errore. Inoltre nessun TC
la sequenza è operabile se si tratta di una condizione di errore.

4-14 Sviluppo della Logica Macchina (PLC) - Parte II (01)


Serie S3000
4. Riepilogo dei segnali e registri predefiniti

Tabelle degli strumenti

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).

UTCAP() 16 NCó PLC no Strumenti “padri” (1 ..UTENRI).


UTDIM() 8 NCó PLC no Tipi di utensili (1 ..UTENRI) dove:
0 = small
1 = medium
2 = large
3 = extra
UTSPC() 8 NCó PLC no Strumenti speciali (1 ..UTENRI) dove:
0 = strumento normale
non 0 = strumento speciale
UTPLKO()8 NCó PLC no Strumenti esclusi (1 ..UTENRI) dove:
0 = strumenti non esclusi
non 0 = strumento escluso
UTVTKO()8 NCó PLC no Vita scaduta (1 ..UTENRI) dove:
0 = vita non scaduta
non 0 = vita scaduta
UTVITA() 64 NCó PLC no Vita massima dell'utensile (1 ..UTENRI) in 1/100 di secondo.
UTVTRE()64 NCó PLC no Vita residua dello strumento (1 ..UTENRI) in 1/100 di secondo.
UTVTMI()64 NCó PLC no Vita minima dell'utensile (1 ..UTENRI) in 1/100 di secondo.
UTWD1() 16 NCó PLC no VARIABILE#1- variabile 1 per applicazione (1..UTENRI).
UTWD2() 16 NCó PLC no PAROLA#2 - variabile 2 per applicazione (1..UTENRI).
UTFP1() 32 NCó PLC no FLOAT#1- variabile 1 (a punto flottante) per l'applicazione (1 ..
UTENRI).
UTFP2() 32 NCó PLC no FLOAT#2- variabile 2 (punto flottante) per applicazione (1 ..
UTENRI).
UTEFRE 16 NCð PLC no Numero di voci ancora disponibili nella memoria temporanea per
aggiornamento delle tabelle degli strumenti.

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

Sviluppo della Logica Macchinaria (PLC) - Parte II (01) 4-15


Serie S3000
4. Riepilogo dei segnali e dei registri predefiniti

4-16 Sviluppo della Logica Macchina (PLC) - Parte II (01)


Serie S3000
5. Limiti

5. LIMITI
I dati mostrati riassumono i limiti del compilatore da utilizzare come riferimento durante la scrittura del programma:

Lunghezza massima delle istruzioni di programma (linea logica) 500 caratteri


Lunghezza massima della riga di programma (linea fisica) 62 caratteri (+8 numeri)
Numero massimo di linee collegate con $ 24 righe fisiche
Area di memoria massima per variabile retentiva riguardo a 3 Kbyte
Area di memoria massima per le variabili non retentive riguardo a 50 Kbyte
Numero massimo di timer rapidi 32
Numero massimo di timer lenti 64
Numero massimo di segnali 48
Numero massimo di impulsi 64
Numero massimo di EXEC annidati 4
Numero massimo di multiplexer 16
Numero massimo di filiali GOTC 255
Numero massimo di filiali GOTP 16
Lunghezza massima per le righe della tastiera softkey del microeditor 20

Numero massimo positivo rappresentabile in formato byte 127


Numero negativo massimo rappresentabile in formato byte -128
Numero positivo massimo rappresentabile in formato parola 32767
Numero negativo massimo rappresentabile in formato parola -32768
Numero massimo rappresentabile in formato lungo 3,4 x 10⁻³⁸
Numero minimo rappresentabile in formato long 1,2 x 10-38
Numero massimo rappresentabile in formato doppio 1,8 x 10³⁰⁷
Numero minimo rappresentabile in formato double 2,2 x 10^-308

Sviluppo della logica di macchina (PLC) - Parte II (00) 5-1


Serie S3000
5. Limiti

5-2 Sviluppo della Logica Macchina (PLC) - Parte II (00)


Serie S3000

PARTE III

ESEMPI DI PROGRAMMAZIONE

Sviluppo della Logica Macchina (PLC) - Parte III (00)


Serie S3000

Sviluppo della Logica Macchina (PLC) - Parte III (00)


Serie S3000
1. Esempi di programmazione

1. ESEMPI DI PROGRAMMAZIONE PLC


Le seguenti pagine elencano diversi esempi del mondo reale di programmazione PLC, che possono essere utilizzati come un
punto di partenza per sviluppare nuove applicazioni.

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.

Sviluppo della Logica Macchina (PLC) - Parte III (00) 1-1


Series S3000
1. Esempi di programmazione

BAS300F - Macchina di base (3 assi e mandrino)


*************************************************N
*1***[*
**
N2 [* BASICMACCHINE3ASSIESPINDLES3045
N3 [* *************************************************
N4 [* BAS300F941008
**************************************************N 5***[*
**
.+8n
iirrm
euet aèd
tgaar
ii6
r2c
al m
laeidsam
szazehgn:L
N
6ua[N
lto
N7 [
*****************O
N
*EA
R
IZ
E
C
H
S
I*D
I*********N
*8***[*
**
N9 [
N10[ inputfisico
N11INP
N12IMAPR [ 1 macchina pronta
N13TENGO [ 2ext er nal hol d
N14INIZIO [ 3ext er nal s t ar t
N15IMZX [ 4 X assi zero microswitch
N16IMZY [ 5 Y asse zero micro interruttore > solo per non assoluto
N17IMZZ [ 6 Zaxi s zer omi cr o swi tch/
N18TERM,23 [ saltaall'input 23
N19IREME 24emergenzaesterna
N20[
N21[ uscitafisica
N22OUT
N23UMOVE1 [ 1abilita asse 1
N24UMOVE2 [ 2abilita asse 2
N25UMOVE3 [ 3abilita asse 3
N26TERM,4
N27UMAN [ 5abilitare la ruota
N28UREF [ 6formica cool
N29ALARM [ 7CNC in emergenza
N30LAHOLD [ 8axi s hol d l amp
N31LACYON [ 9cicl e s t ar t l amp
N32[
N33[ variabiliinterne
N34RAM,1
N35ROTMA [spindlestatusinmemory]
N36CICL [ciclo di riferimento della macchina]
N37[
N38[ etàmese
N39 STR
N40MSG1
N41[
N42[ sditkmenumanageddaPLC
N43 SOFTK, 1
N44P1,L1,1,’JOGASSEX+’
N45P2,L2,1,'JOGASSEX-'
N46P3,L3,1,’JOGAXISY+’
N47P4,L4,1,'JOGAXISY-'
N48P5,L5,1,'JOGAXISZ+'
N49P6,L6,1,’JOGAXISZ-’
N50P7,L7,'ASSIDIRIFERIMENTO'
N51P8,L8,'MANOVELLA',2
N52[
N53 SOFTK, 2
N54P21,L21,’MANOPOLASXAXI‘
N55P22,L22,'MANIGLIAYAXI'
N56P23,L23,'MOZZODELMANIGLIODELL'ASSEZ'
N57P24,L24,’0.5mm / rev'
N58P25,L25,’ 1 mm / rev’
N59P26,L26,’ 5 mm / rev’
N60P27,L27,'10mm / rev’
N61P28,L28,’ MODALITÀ JOG, 1
N62[
N63[*****************SEZIONEDIINIZIALIZZAZIONE****************
N64INIT
N65[testdiKMW(1):ènecessariaunamacchinarefrequired?]
N66IF(KMW(1)=1)CICL=1;ALTRIMENTICICL=0
N67 SPGAM( 1) =1 [spindlerange1.
N68 [messaggio in tini]
N69MSG1=’Referencemachineaxes‘ [ riferimento macchina messaggio ]
N70L24=1 defaultvolantinorisoluzione
N71 SSA=00000111B i taccolb[sissX
Y
aZ
N72[
N73 PROG
N74[******************SEZIONEVELOCE*************************
N75END
N76[*****************SEZIONELENTA**************************

1-2 Sviluppo della Logica Macchinario (PLC) - Parte III (00)


Serie S3000
1. Esempi di programmazione

N77 [ . . . . SINCRONIZZATO con il programma par t . . . . . .


N78[..........funzioneausiliariadecodifica..........
N79IF("BURDY)ASYNC
N80DHOLD=1;FHOLD=1
N81IF(STROM)CHIAMATAGEFUM
N82BURDY=0
N83ASINC:$
N84[
N85[.....PARTEASINCRONA.........
N86[................potentiometers...................
N87 POFO=ANI (1) [aut omat i c f eed]
N88 POMO( 1) =ANI (2) [feed manuale]
N89 POMO( 2) =ANI (2)
N90 POMO( 3) =ANI (2)
N91[
N92[..................spindle............................
N93 SPSSO( 1) =ANI (3) spindleoverride
N94 SPVEL( 1) =SPEED [spindlespeed
N95 SPROT( 1) =ROTMA&"HOLDA [comando s t ar t e Tieni Premuto]
N96UMAN=SPMOV(1) [abilita spindel]
N97[
N98[.....................gestionedegliassi......................
N99UMOVE1=MOVCN(1)[enablemoveX
N100 UMOVE2=MOVCN(2) a[biltamovimentoY]
N101 UMOVE3=MOVCN(3) [abilita muovi Z
N102 RDMOV=MOVCN [OK per muoversi da NC]
N103 [
N104 [.........................jog.........................
N105 [NOTA non i nhi bi t j og wi t h NCMD=8andNCMD=9
N106 Poiché è necessario utilizzare manualmente il ripristino da parte
N107 [durantelostatodiHOLD.]
N108 s[dgtiestionedelechiav:i i n manuale J OG+ e J OG-
N109 [ macchinadihomingsoloJOG+
N110 L1=P1
N111 L2=P2&"L7
N112 L3=P3
N113 L4=P4&"L7
N114 L5=P5
N115 L6=P6&"L7
N116 [
N117 JOGP( 1) =L1 [as s i gni ng JOG]
N118 JOGM(1) =L2
N119 JOGP( 2) =L3
N120 JOGM(2) =L4
N121 JOGP( 3) =L5
N122 JOGM(3) =L6
N123 MOVMA=JOGP~JOGM [ seleziona modalità manuale J OG ]
N124 [
N125 [ .................ruotaamanos........................
N126 [sdelttastotperselezionarel'assedaspostareconlaruotadimano
N127 I F( P21) L21="L21;L22=0;L23=0"
N128 I F( P22) L22="L22;L23=0;L21=0"
N129 I F( P23) L23="L23;L21=0;L22=0
N130 I F( L21) HWL(1) =1; L8=1
N131 I F( L22) HWL(1) =2; L8=1
N132 I F( L23) HWL(1) =3; L8=1
N133 I F("L21&"L22&"L23) HWL(1) =0; L8=0
N134 [sditchiaveforassegnarestepi]
N135 I F( P24) L24=1; L25=0; L26=0; L27=0
N136 I F( P25) L24=0; L25=1; L26=0; L27=0
N137 I F( P26) L24=0; L25=0; L26=1; L27=0
N138 I F( P27) L24=0; L25=0; L26=0; L27=1
N139 I F( L24) PASSO=1
N140 I F( L25) STEP=2
N141 F( L26) PASSO=3
N142 I F( L27) PASSO=4
N143 [
N144 messa a punto della macchina
N145 I F( P7) L7="L7 abilita il tasto di home
N146 I F( ( SFKMEN<>1) ~(NCMD<>5) ~IREME~BRKA) L7=0
N147 [ riferimento macchina se micro interruttore presente ]
7 LN148
= ) 1 ( E ZC I M
7 LN149
= ) 2 ( E ZC I M
7 LN150
= ) 3 ( E ZC I M
XZM IN151
= ) 1 ( RE Z I M
YZM IN152
= ) 2 ( RE Z I M
Z ZM IN153
= ) 3 ( RE Z I M
N154 [
N155 generale

Sviluppo della Logica di Macchina (PLC) - Parte III (00) 1-3


Serie S3000
1. Esempi di programmazione

N156 FHOLD="IMAPR ~ SPRMP( 1)&"RAPI ~ $


N157 ( ( (NCMD<>5)&(MIZEA<>7) )&CI CL) [ s fermare il movimento degli assi
N158 DHOLD="IMAPR m
[acchnipcaaelirciamenotddeniaitonpron]at

N159 RHOLD=IHOLD [richiesta di attivazione esterna]


N60REME=IREME [ext er nal emer gency
N161 CYST=I START [richiesta esterna di avvio]
N162 [
N163 ALARM=EMEA [NC in stato di emergenza]
N164 [
N165 IO F(BRKA~EMEA) CHIAMARE RESET [ Funzioni PLC ripristinate da NC ]
N166 [
N167 END
N168 [**********************SEZIONEMOLTOLENTA*****************
N169 [ . . . . . . . . . . . . di s pl ay mes s age and l amps . . . . . . . . . . . . . . .
N170 I F( (MIZEA<>7)&CI CL) DISPL, 0,MSG1; ALTRIMENTI CLR, 0 [ m/ c ref mes s age
N171 [
N172 LAHOLD=HOLDA [tienilamp]
N173 LACYON=CYON [programmazionelamp]
N174 [
N175 WNDINT(2)=AUXH [ H codice di s pl ay ]
N176 R
A
N
M
G
)S
O
T
=
(IL
)U
IS
P
T
)C
O
1H
(( [effetto velocità effettiva]
N177 FINE
N178 [
N179 [**********************ROUTINESSECTION*******************
N180 [
N181 [ . . . . . . . . decodifica la funzione M f . . . . . . . . . . . . . . . . . . . . . . . . . .
N182 GEFUM:$
N183 WNDINT(1)=AUXM M
àtcoid]cliiibinopsdi[

N184 I F (AUXM=3) ROTMA=1; SPDI R(1) =0; RTS [ spi ndl e CW


N185 I F (AUXM=4) ROTMA=1; SPDI R(1) =1; RTS [ spi ndl e CCW
N186 I F (AUXM=5) ROTMA=0;RTS fermailmandrino
N187 I F (AUXM=7) UREF=1;RTS [formica alla moda su

N188 I F (AUXM=9) UREF=0;RTS [assi bloccati


N190 I F (AUXM=11) SSA=00000111B; RTS [assi disattivati]
N191 I F (AUXM=13) ROTMA=1; SPDI R(1) =0; UREF=1; RTS [uomo. + r ef .
N192 I F (AUXM=14) ROTMA=1; SPDI R(1) =1; UREF=1; RTS [uomo. + r ef .
N193 I F (AUXM=30) CHIAMA RESET; RTS [ res et NC +PLC
N194 RTS
N195 [
N196 [ . . . . . . . . . . . . res etroutine.............................
N197 RESET:$
N198 ROTMA=0 fermailfuso
N199 UREF=0 [formica fresca di f]
N200 SFKMEN=1 torna al menu principale
N201 WNDINT(1)=30 [displayM30
N202 RTS
N203 [ . . . . . . . . . . . fine del programma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1-4 Sviluppo Logico della Macchina (PLC) - Parte III (00)


Serie S3000
1. Esempi di programmazione

COMI3045 - macchina a 3 assi, morsetti scorrevoli, orientamento dell'alberino

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

N22 IMAMAO [ 6 manuali s pi ndl e CW ]


N23 IMAMAA [ 7 manuale s pi ndl e CCW
N24 IO STOPM [ 8 manuali s pi ndl e s t op ]
N25 IGI ROK 9 s pi ndl e upt o s peed
N26 IDRAOK [10assisonoOK]
N27 IDRMOK [11spindledriveOK
N28 ILIVOL [12oillevel]
N29 ILIBRI [13formichecoollivello]
N30 ITERMINI [[Link]
N31 IOLTRC 15assiausiliariOK
N32 I FICUT 16Finedelsegnaledicambioutensile
N33 IMZX [17Xassecasainterruttore\
N34 IMZY [18Yassicasainterruttore>solopernonassoluto
N35 IMZZ 19Zassièacasawitch/
N36 [
N37 [ uscitafisica
N38 FUORI
N39 UMOVE1 1 abilitare asse 1
N40 UMOVE2 [ 2 abilitare assi ] 2
N41 UMOVE3 [ 3 abilita assi 3
N42 TERMINE, 4 [ saltaall'uscita 5
N43 UMANO [ 5 abilitare spindl e ]
N44 USFREX [ 6 uncl amp Xaxi s ]
N45 USFREY [ 7 uncl amp Yaxi s ]
N46 USFREZ [ 8 uncl amp Zaxi s ]
N47 UREF [ 9 formica fresca su
N48 CNOK 10NCokforauxiliary
N49 LAHOLD [11holdlamp
N50 LACYON 12ciclisulampada
N51 OKVG1 [13intervallo1comando]
N52 OKVG2 [14intervallo2comando]
N53 UKLUBA 15assislube
N54 ULAM06 [16M06lamp]
N55 [
N56 [ variabiliinterne
N57 RAM,8
N58 MOVCNP [copia di ol dMOVCN per der i vat i ve]
N59 NM [numero dell'età del mes]
N60 NR [numerodilineepermesse]
N61 NMAX numero massimo di messaggi
N62 SG [messaggi d'età f l ag byt es 1 - otto
N63 SG2 [messaggi di età felice] 9 - 16
N64 SG3 [mes s age f l ag byt es 17 - 24
N65 SG4 [mes s age f l ag byt es 25 - 32
N66 [
N67 RAM,1
N68 R
CI0X assediomingX
N69 R
CI0Y omaggioall'asseY
N70 R
CI0Z [omaggioasseZ]
N71 ZERIOK Assi azzerati
N72 SJOG [ JOG stato abilitato ]
N73 RORMA [M3 i n memoria]
N74 RANMA [M4 i n memoria
N75 RM41 [forcerange1

Machine Logic Development (PLC) - Part III (00) 1-5


Serie S3000
1. Esempi di programmazione

N76 RM42 [forcerange2


N77 GAM1 [ gamma 1 r richiesta in memoria
N78 GAM2 [ intervallo 2 r richiest o in memoria ]
N79 CAUT cambioattivodeglistrumenti
N80 G84 tappi ciclo attivo
N81 [
N82 STR
N83 MSG3(2) [ tabella 32 messaggi ]
N84 [
N85 STIMER
N86 TIM06,TUM06,TDM06,TAM06,TWM06 [ f las h TC l amp ]
N87 TIM19,TUM19,TDM19,TAM19,TWM19 [spindleM19]
N88 TIMUON,TUMUON,TDMUON,TAMUON,TWMUON[aussu
N89 TISBX,TUSBX,TDSBX,TASBX,TWSBX [sbloccaXasse]
N90 ST{B
"ISY
T
B
"IT
:Y
"U
,"SBY
T
"U
:"SBT
Y
"D
,"SBY
T
"D
:"SBT
Y
"A
,"SBY
T
"A
:"SBT
Y
"W
,"SBY
T
"W
:"SBY}" [sbloccaYassi]
N91 TISBZ,TUSBZ,TDSBZ,TASBZ,TWSBZ [sbloccaZasis]
N92 "[TIBLX"T ,UBLX"T ,DBLX"T ,ABLX"T ,WBLX"] Bloccodella' sseX
N93 TIBLYT ,UBLY,TDBLY,TABLY,TWBLY b
[loccala'sseY]
N94 TIBLZ,TUBLZ,TDBLZ,TABLZ,TWBLZ Bloccal'asseZ
N95 TLUBI , TLUBU, TLUBD, TLUBA, TLUBW [assi l ube
N96 [
N97 SOFTK, 1
N98 P1, L1, 1, ' JOG AXI S X+’
N99 P2, L2, 1, ' JOG AXI S ’X
-
N100P3,L3,1,’JOGAXIS Y+’
N101P4,L4,1,'JOGAXIS ’ -Y
N102P5,L5,1,’JOGAXIS Z+’
N103P6,L6,1,’JOGAXIS Z-’
N104P7,L7,’ASSEDIRIFERIMENTO’
N105P8,L8,'MANOVELLE',2
N106SOFTK,2
N107P21,L21,'VOLANOX'
N108P22,L22,'VOLANOY'
N109P23,L23,'VOLANOZ'
N110P24,L24,'0,4mmperrev'
N111P25,L25,’ ’ ve1r r epm m
N112P26,L26,’ ’ ve5r r epm m
N113P27,L27,’’
N114P28,L28,'ASSEJOG',1
N115 [
N116INIT
N117[*****************SEZIONEDIINIZIALIZZAZIONE****************
N118L24=1[definireaulthandwheelresoluzione
N119 [
N120NMAX=32 d[efiniscnilumeromassimodm i essaggeità]
N121MSG(1)=‘AUXILIARYDISCONNECTED’
N122MSG(2)=‘HOMETHEAXES’
N123MSG(3)='-tainiziareilcicloautomaticoprimoJOGZ+'
N124MSG(4)=‘SPINDLENOTREADY’
N125MSG(5)=‘GEARCHANGEACTIVE’
N126MSG(6)=‘AXESFUNCTIONFAULT’
N127MSG(7)=‘SPINDLEFUNCTIONFAULT’
N128MSG(8)='BASSOOILLIVELLO'
N129MSG(9)=‘LOWCOOLANTLEVEL’
N130MSG(10)=’TERMICISCATTATI’
N131MSG(11)=’AXESINOTHERFUNCTION’
N132MSG(12)=’MANUALTOOLCHANGE’
N133MSG(13)=’WAITFORCLAMPING/UNCLAMPINGAXES’
N134[...
N135MSG(32)=’MESSAGE32'
N136 [
N137PROG
N138[******************SEZIONEVELOCE*************************
N139END
N140[*****************SEZIONELENTA***************************
N141[PARTESINCRONE——————————————————————
N142 [
N143IF(“BURDY)ASINC
N144DHOLD=1;FHOLD=1
N145IF(STROT)CHIAMATAGEFUT
N146IF(STROM)CALLGEFUM
N147BURDY=0
N148ASINC: $
N149 [
N150 [ . . . . . . . . . . . . . . .PARTEASINCRONA. . . . . . . . . . . . . . . . . . . . . . . . . .
N151[...........assipotentiometergestione...................
N152POFO=ANI(1) [aut omat i c
N153POMO(1)=ANI(2) [manual X
N154POMO(2)=ANI(2) [manual Y

1-6 Sviluppo della Logica Macchinaria (PLC) - Parte III (00)


Serie S3000
1. Esempi di programmazione

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 ]

N188GAM2=RM42~(VELOCITÀ>SPSMG1(1))&”RM41 [ intervallo di richiesta 2 ]

N189OKVG1=GAM1&”IMG1&IMUON&”SPMOT(1) [ range 1 s el ect or cont r ol


N190OKVG2=GAM2&”IMG2&IMUON&”SPMOT(1) [ intervallo 2 selettore controllo ]
N191SPPND(1)=(GAM1&”IMG1)~(GAM2&”IMG2)&IMUON [ seleziona caccia ]
N192IF(IMG1)SPGAM(1)=1 [ seleziona intervallo 1 ]
N193IF(IMG2)SPGAM(1)=2 [ seleziona intervallo 2 ]
N194 [
N195[.....................gestioneassi........................
N196TISBX(3)=MOVCN(1) d[isativamm pit e]r
N197TISBY(3)=MOVCN(2)
N198TISBZ(3)=MOVCN(3)
N199TIBLX(5)=(“MOVCN(1)&MOVCNP(1))~TDBLX [cl amp t i mer
N200TIBLY(5)=(“MOVCN(2)&MOVCNP(2))~TDBLY
N201TIBLZ(5)=(“MOVCN(3)&MOVCNP(3))~TDBLZ
N202 [
N203UMOVE1=(MOVCN(1)~TDBLX)&IMUON [abilita assi
N204UMOVE2=(MOVCN(2)~TDBLY)&IMUON
N205UMOVE3=(MOVCN(3)~TDBLZ)&IMUON
N206USFREX=MOVCN(1)&IMUON d[isinnestampas]si
N207USFREY=MOVCN(2)&IMUON
N208USFREZ=MOVCN(3)&IMUON
N209RDMOV(1)=(MOVCN(1)&"TDSBX)~TDBLX [ risposta da NC
N210RDMOV(2)=(MOVCN(2)&”TDSBY)~TDBLY
N211RDMOV(3)=(MOVCN(3)&”TDSBZ)~TDBLZ
N212MOVCNP=MOVCN [MOVCN der i vat i ve]
N213 [
N214[........................jog........................
N215[none:JOGdeveessereabilitatoconNCMD=5,8, 9
N216SJOG=((NCMD=5)&”L7)~(NCMD=8)~(NCMD=9)[jog+e-abilitare
N217L1=JOGP(1)
N218L2=JOGM(1)
N219L3=JOGP(2)
N220L4=JOGM(2)
N221L5=JOGP(3)
N222L6=JOGM(3)
N223 [homeXYZposizioneitivedirezione
N224JOGP(1)=P1&SJOG~RIC0X
N225JOGM(1)=P2&SJOG
N226JOGP(2)=P3&SJOG~RIC0Y
N227JOGM(2)=P4&SJOG
N228JOGP(3)=P5&SJOG~RIC0Z
N229JOGM(3)=P6&SJOG
N230MOVMA=JOGP~JOGM [ Seleziona manuale J OG ]
N231 [
N232[.................MANIGLIE.....................
N233[selectassedaspostare

Sviluppo della Logica Macchina (PLC) - Parte III (00) 1-7


Serie S3000
Esempi di programmazione

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]

N295CNOK="EMEA~"TUMUON [NC pronto output


N296REME=FF("IMUON~"IOLTRC),(EMEA) [richiesta di emergenza]
N297 [
N298[...................pausa...................................
N299IF(BRKA~EMEA)CHIAMATARESET
N300 [
N301IF(STBMD)SFKMEN=1 [ richiamare menu SOFTK 1 ]
N302END
N303[**********************SEZIONEMOLTOLENTA*****************
N304[...................display.........................
N305 [
N306WNDINT(2)=AUXH [displayHcodici]
N307GIRMI=INT(ASS(SPTCH(1))) mostralavelocitàeffettiva
N308 [
N309[..............preparazionedelmessaggio......................
N310SG(1)=”IMUON
N311SG(2)="ZERIOK&IMUON
N312SG(3)=SG(2)&L7&”L5

1-8 Sviluppo della Logica Macchina (PLC) - Parte III (00)


Serie S3000
1. Esempi di programmazione

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...............................

Sviluppo della Logica Macchinaria (PLC) - Parte III (00) 1-9


Serie S3000
1. Esempi di programmazione

AXM11 - Serraggio assiale selettivo


N1 [ **********************************************************
N2 [* FUNZIONE M11 SELEZIONA TAXI SSPECI FI ED
N3 [* ——————————————————
N4 [* AXM11941008
N5 [ **********************************************************
N6 [
N7 ASSE X, Y, Z serrati o non serrati (M10 o M11)
N8 [AXI S 4°otaccolberm peS
N9 [*****************SEZIONEDIDICHIARAZIONE********************
N10 [
N11 INP
N12 FUORI
N13 UMOVE1 [abilita asse] 1
N14 UMOVE2 [abilita asse] 2
N15 UMOVE3 [abilita assi] 3
N16 [
N17 INI T
N18 SSA=00000111B [assi X, Y, Z agiscono sempre attivi e non bloccati]
N19 [
N20 PROG
N21 FINE
N22 [*****************SEZIONELENTA***************************
N23 [ PARTE SINCRONIZZATA con blocchi di programma ————————
N24 [ . . . . . . . . . . decodifica funzioni ausiliarie . . . . . . . . . .
N25 I F(“BURDY) ASINC
N26 DHOLD=1;FHOLD=1
N27 I F( STROM) CHIAMO GEFUM
N28 BURDY=0
N29 ASINC:$
N30 [
N31 [—————PARTE ASINCRONA——————————————
N32 [ . . . . . . . . . . . . . . . . . . . . . gestione delle assi . . . . . . . . . . . . . . . . . . . . .
N33 UMOVE1=MOVCN(1) [abilitazione X
N34 UMOVE2=MOVCN(2) [abilitando Y
N35 UMOVE3=MOVCN(3) [abilitazione Z
N36 RDMOV=MOVCN [assi abilitati dal NC]
N37 [ . . . . . . . . . . . . . . . . . . . gener ale . . . . . . . . . . . . . . . . . . . . . . . . . . . .
N38 FHOLD=0 [ ~ . . [stopmovimentoassi
N39 DHOLD=0[~.. [stopprogramblocks]
N40 FINE
N41 FINE
N42 [**********************SEZIONEROUTINE*******************
N43 [ decodifica le funzioni M f
N44 GEFUM:$
N45 WNDINT(1)=AUXM [displayMfunctions]
N46 I F (AUXM=11) M11 [ smonta amplificatori (seleziona in modo selettivo)
N47 I F (AUXM=10) M10 [ cl amp assi
N48 RTS
N49 [
N50 M10S:SA=0R;TS
N51 M1F1IA
(: XPGM=0S)SA=00000111BR
;TS; $
N52 ALTRO SSA=AXPGM&00000111B; RTS
N53 [
N54 programmafine

1-10 Sviluppo della Logica Macchina (PLC) - Parte III (00)


Serie S3000
1. Esempi di programmazione

AUXON - Logica di controllo degli ausiliari

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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Sviluppo della Logica Macchina (PLC) - Parte III (00) 1-11


Serie S3000
Esempi di programmazione

GEVOL3 - Controllo a manopola singola degli assi x, y, z

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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1-12 Sviluppo della Logica Macchinaria (PLC) - Parte III (00)


Serie S3000
1. Esempi di programmazione

SPIND1 - Rotazione del mandrino

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,

N11 [emergenza se il cilindro non ruota.]


N12 In attesa di arrivare a velocità, sia il segnale NC che...
N13 Siconsiderailsegnaleefficacedaldrive.
N14 [
N15 INP
N16 IMAMAO [ seleziona manualmente la rotazione della spindola in senso orario ]
N17 IMAMAA seleziona manualmente la rotazione del mandrino in senso antiorario
N18 MI FERMO [ seleziona fermate rocchetto ]
N19 IGI ROK segnalspindeluptospeed
N20 [
N21 FUORI
N22 TERMINE, 4
N23 ABM [abilita operazione spin da]
N24 [
N25 RAM,1
N26 ROTMA selezione per rotazione
N27 G84 [ registrazione ciclo fisso G84 ]
N28 [
N29 STIMER
N30 TRMI ,TRMU timer per verificare se il mandrino si è fermato per emergenza
N31 [
N32 INI T
N33 SPGAM(1) =1 [ intervallo 1 ( solo) ]
N34 [
N35 PROG
N36 FINE
N37 I F(“BURDY) ASINC
N38 FHOLD=1;DHOLD=1
N39 I F( STROM) CHIAMO GEFUM
N40 BURDY=0
N41 ASINC:$
N42 [
N43 [***************gestionespindle*************************
N44 [
N45 [ —comando manuale
N46 I F (NCMD<>5) NOMANU
N47 I F ( IMAMAO) CHIAMO03
N48 I F ( IMAMAA) CALLM04
N49 I F ( I STOPM) CALLM05
N50 NOMANU:$
N51 [
N52 [—
N53 Se automatico, la velocità è S altrimenti
N54 [velocitàforzealmassimo(SPSMAX).
N55 [Potentiometter3automatic: da70%a130%diVELOCITÀ
N56 [ tappi ng: 100%
N57 [ manuale:0%a100%delavelocitàmassima
N58 G84=(CICFI=84) tappi in corso
N59 I F (NCMD=5) SPVEL(1) =SPSMAX(1) ; SPSSO(1) =ANI (3) ; NOVEMA
N60 SPVEL(1) =SPEED
N61 I F(G84) SPSSO(1) =1; $
N62 ALTRIMENTI SPSSO( 1) =0. 7 +ANI (3) *0. 6
N63 NOVEMA:$
N64 [
N65 SPROT(1) =ROTMA&”HOLDA [ seleziona rotazione e Tieni premuto ]
N66 ABM=SPMOV(1)[&... [abilitazione e consensi]
N67 [
N68 I F(BRKA~EMEA) CHIAMARE REIMPOSTA [rompereoemergenza]
N69 [
N70 [spindlecontrasduttoreinemergenzasenoninmovimento
N71 TRMI (5) =SPROT(1)&”SPMOT(1)&”SPREG(1) [ i f attivo per 0.5 sec - > REME
N72 IF(TRMU)DISPL,0,'ALBERONONINROTAZIONE' [displaymessage]
N73 I F(BRKA) CLR, 0 [annulla ms g]
N74 [
l a r e n e g N75
— [
N76 [Attenzione: Il segnale SPRMP (1) (funnel su rampe) non è

Sviluppo della Logica Macchina (PLC) - Parte III (00) 1-13


Serie S3000
Esempi di programmazione

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........................

1-14 Sviluppo della Logica Macchine (PLC) - Parte III (00)


Serie S3000
1. Esempi di programmazione

SPIND2 - Orientamento dell'asse

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

SPIND3 - Modifica dell'intervallo

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

N48 [Nota: CAMBIO DI INTERVallo "IN TEMPO REALE"

N49 [ SPPND ha priorità sugli altri controlli;


N50 [ Se viene richiesta una modifica della gamma mentre il mandrino
N51 [ sto muovendo. Il fuso è decelerato alla velocità soglia
N52 [ primachelacacciavengaattivata.
N53 [
N54 [
N55 ABM=SPMOV(1)[&... abilitare e consenti
N56 [
r e n e g N57
— [
N58 DHOLD=SPPND(1) [mantieneblocchididatisuccessivi]
N59 FHOLD = DHOLD [assi s f eed hol d]
N60 FINE
N61 [ . . . . . . . . . . . . . . . vedere e lento sezione . . . . . . . . . . . . . . . . . . . . . . . .
N62 I F( SPPND(1) ) DISPL, 0, 'CAMBIO MARCIA IN CORSO' ; ALTRIMENTI CLR, 0
N63 FINE
N64 [
N65 [ —ROUTINE ———————————————————————
N66 GEFUM: $
N67 I F (AUXM=40) MM41=0;MM42=0;RTS
N68 I F (AUXM=41) MM41=1;MM42=0;RTS
N69 I F (AUXM=42) MM41=0;MM42=1;RTS
N70 RTS
N71 [ . . . . . . . . . . . . . . . . . programma fine. . . . . . . . . . . . . . . . . . . . . . . . . . .

1-16 Sviluppo della Logica Macchina (PLC) - Parte III (00)


Serie S3000
1. Esempi di programmazione

LUBMET - Lubrificazione basata sul movimento dell'asse

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]

Sviluppo della logica macchina (PLC) - Parte III (00) 1-17


Serie S3000
1. Esempi di programmazione

N77 DHOLD=FHOLD [inhibitdatablocks


N78 REME=FF("IMUON), (EMEA) [ emergenza macchina
N79 [
N80 FINE
N81 I F(“ILIVOL) DISPL, 1, MSG1; ALTRIMENTI CLR, 1 [mes s age- l evel min.
N82 I F(“IMUON) DISPL, 2, MSG2;ALTRIMENTI CLR, 2 [mes s age aux
N83 FINE
N84 [ . . . . . . . . . . . . . . . . programma termina . . . . . . . . . . . . . . . . . . . . . . . . . . .

1-18 Sviluppo della Logica Macchina (PLC) - Parte III (00)


Serie S3000
Esempi di programmazione

LUBIN3 - Lubrificazione intermittente di base

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 . . . . . . . . . . . . . . . . . . . . . .

Sviluppo della Logica Macchinaria (PLC) - Parte III (00) 1-19


Serie S3000
1. Esempi di programmazione

LUBMOV - Lubrificazione temporizzata solo quando gli assi sono in movimento

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 . . . . . . . . . . . . . . . . . . . . . . . . . . .

1-20 Sviluppo della Logica di Macchine (PLC) - Parte III (00)


Serie S3000
1. Esempi di programmazione

ZERIAX - Ciclo automatico di assi domestici

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]

N36 MSG2 [mes s age- JOG Z+ t o s tar t cycl e


N37 [
N38 SOFTK, 1
N39 P1, L1, 1, 'JOG AXI S X+'
N40 P2, L2, 1, 'JOG AXI S X-'
N41 P3, L3, 1, ' JOG AXI S Y+'
N42 P4, L4, 1, 'JOG AXI S Y-'
N43 P5, L5, 1, ’ JOG AXI SZ+’
N44 P6, L6, 1, ' JOG AXI SZ- '
N45 P7, L7, ‘ HOME ASSI
N46 [
N47 [*****************SEZIONEDIINIZIALIZZAZIONE****************
N48 INI T
N49 [initializationmessages]
N50 MSG1=H ’ OMEAXEhS[o’mnigmeasge
N51 MSG2=JO ’GZc+
yaotsretc’l
N52 [
N53 PROG
N54 [******************SEZIONEVELOCE*************************
N55 [ ..... lettura potenziometri .......
N56 POFO=ANI (1) alimentazioneautomatica
N57 Se l'omologazione non è completata, riduci la velocità manuale a 1/5
N58 IF(ZERIOK) $
N59 POMO(1) = ANI (2); $
N60 POMO(2) =POMO(1) ;$
N61 POMO(3) =POMO(2) ;$
N62 ALTRIMENTI $

N63 POMO(1) = ANI (2) / 5; $


N64 POMO(2) = POMO(1) ;$
N65 POMO(3) = POMO(1)
N66 FINE
N67 [*****************SLOWSECTION***************************
N68 [ decodifica le funzioni ausiliarie
N69 BURDY=0 [ . . . acquisire funzione NC
N70 [
N71 [ abilita assi
N72 UMOVE1=MOVCN(1)
N73 UMOVE2=MOVCN(2)
N74 UMOVE3=MOVCN(3)
N75 RDMOV=MOVCN
N76 [.........................jog..............................

Sviluppo della Logica Macchina (PLC) - Parte III (00) 1-21


Serie S3000
1. Esempi di programmazione

N77 [quando l'asse è in fase di homing solo JOG + consentito

N78 L1=( P1&”L7) ~RI C0X [sditkjogx+lamp


N79 L2=P2&"L7 [sditkjogx-lamp
N80 L3=( P3&”L7) ~RI C0Y [sditkjogy+lamp
N81 L4=P4&"L7 [sditkjogy+lamp
N82 L5=( P5&”L7) ~RI C0Z [sditkjogz+lamp
N83 L6=P6&"L7 [sditkjogz+lamp
N84 [
N85 JOGP( 1) =L1
N86 JOGM(1) =L2
N87 JOGP( 2) =L3
N88 JOGM(2) =L4
N89 JOGP( 3) =L5
N90 JOGM(3) =L6
N91 MOVMA=JOGP~JOGM se[lzoinamanuam
l enO
eJt G]
N92 [
N93 [...............casaciclistica......................
N94 [I cicli sono iniziati manualmente premendo P7 (tasto soft)]
N95 comandodiritorno
N96 ZERIOK=(MIZEA(1)&MIZEA(2)&MIZEA(3))
N97 L7=FF( P7) , ( P7&L7~(NCMD<>5) ~BRKA~ZERIOK)
N98 [
N99 [storestatedihomecycle]
N100RIC0Z=FF(P5&L7),(“L7~MIZEA(3))
N101RIC0X=FF(MIZEA(3)),(“L7~MIZEA(1))
N102RIC0Y=FF(MIZEA(3)),(“L7~MIZEA(2))
N103 [
N104[casaciclicausandol'interruttoredellacasa
N105MICZE(1)=L7
N106MICZE(2)=L7
N107MICZE(3)=L7
N108[comeassegnaregliinterruttoridomestici
N109MIZER(1)=IMZX
N110MIZER(2)=IMZY
N111MIZER(3)=IMZZ
N112 [
N113[ciclidomesticisenzautilizzarel'interruttoredellacasa
N114[sostituireMARK()conMICZE()enonassegnareMIZER()
N115[MARCA(1)=L7
N116[MARK(2)=L7
N117[MARCA(3)=L7
N118[....................generale...............................
N119FHOLD=(NCMD<>5)&”ZERIOK
N120DHOLD=0[...
N121END
N122[**********************SEZIONEMOLTOLENTA*****************
N123,IRLC
FI(T
“ZERIOK)
M
N
EIR
TL
A;1G
MS,0 ,LPSID 0 [messaggiodiritorno]
N124IF(“ZERIOK&L7)DISPL,1,MSG2;ALTRIMENTICLR,1 [ messaggio di avvio ciclo ]
N125 [
N126END
N127[..................fineprogramma.........................

1-22 Sviluppo della Logica Macchinario (PLC) - Parte III (00)


Serie S3000
1. Esempi di programmazione

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

Sviluppo della Logica Macchinaria (PLC) - Parte III (00) 1-23


Serie S3000
1. Programming examples

N77 [
N78 SOFTK, 1
N79 [ ‘ +————+————+————’
N80 P1,CUAUT cambiamento strumentoAUTOMATICO
N81 P2,CUMAN, cambiare MANUALEDELLASTRUMENTAZIONE

N82 P3, L3, ‘’


N83 P4, L4, fine TC manuale
N84 P5, L5, ‘’
N85 P6, L6, ‘’
N86 P7, L7, RESET TC
N87 P8, L8, ‘’
N88 [
N89 [
N90 INI T [ SEZIONE DI INIZIALIZZAZIONE
N91 [
N92 MSG1(=)V‘ ERFIYTOOLTABLEANDRESETTC’
N93 MSG2(=c)‘hangoetom lanyul’al
N94 MSG3(=)M‘ 6porgarmmedw htoiuTtxx’
N95 MSG4(=)w‘noiagtrsfgaiedootrpen’
N96 MSG5(=)w‘noiagtrsfgaiedooctelsr’
N97 [
N98 SSA=00000111B [XYZ agisce sempre in modo attivo]

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]

N201IF(MM63)DISPL,5,MSG(5);ALTRIMENTICLR,5 [aspetta che la porta si chiuda]


N202 [
N203WINDOW=IFP(UTSPCU) [Di spl ay t ool i n s pi ndl e
N204ASCW=116 [Code f or ‘ t ’ char act er
N205[Ildisplaypuòesseremoltoutilesesiutilizzanoalternative
N206[correzioni(lafinestraneldisplayèattiva
N207[controllanonlostrumento).
N208 [
N209END
N210 [
N211[—————————SEZIONEROUTINES—————————
N212 [
N213[*******************************************************
N214TFUNZIONE[ *
N215[*******************************************************
N216GEFUT:$
N217[.......Attivaalternativacorrezione.............
N218[Applicabilesoloseutilizzifamigliedistrumenti:
N219[codicistrumentomaggioridi100(devonogiàesserenellatabelladeglistrumenti)
N220[puòessereinterpretato:
N221 [
N222IF(UTENSILE>100)OFST=UTENSILE;INTOF=1;RTS
N223 [
N224[..............CHIAMATACAMBIOUTENSILE...........
N225UTECU=STRUMENTO[infoomTCmodulodellostrumentodesiderato
N226NEWCU=1 [ attivazione della richiesta del modulo TC ]
N227RTS
N228 [
N229[*******************************************************
N230MFUNZIONI[ *
N231[*******************************************************
N232GEFUM:$
N233WNDINT(1)=AUXM
N234IF(AUXM=6) M06

Sviluppo della Logica Macchinario (PLC) - Parte III (00) 1-25


Serie S3000
1. Esempi di programmazione

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

SCROLLIN - Gestisci fino a 128 messaggi con scrolling a schermo


N1 [********************************************************
N2 [* *
N3 [* Programma per il messaggio su schermo in scrolling
*
N4 [* SCROLLIN 940516 *
N5 [* *
N6 [********************************************************
N7 [
N8 [QUESTO PROGRAMMA MOSTRA UN MASSIMO DI 16 MESSAGGI CONTEMPORANEI.]
N9 [SEQUENZIAZIONE SOLO DI QUELLI DICHIARATI ATTIVI]
N10 (Nell'esempio NMAX=48)
N11 Per visualizzare il messaggio n-esimo con scorrimento automatico
N12 il corrispondente bit n-esimo di SG deve essere impostato
N13 [
N14 INP
N15 I1 [message 1 enable input
N16 I2 [message 10 enable input
N17 I3 [messaggio 47 abilita input]
N18 [
N19 RAM,8
N20 NMSG [message index
N21 NMAX [NUMERO MASSIMO DI MESSAGGI]
N22 NRIGA [numero di riga del messaggio
N23 [Dichiarare fino a SGxx dove (xx) >NMAX/8
N24 SG [flag for messages numbered from 1 to 8
N25 SG2 [flag for messages numbered from 9 to 16
N26 SG3 [flag for messages numbered from 17 to 24
N27 SG4 [flag for messages numbered from 25 to 32
N28 SG5 [flag for messages numbered from 33 to 40
N29 SG6 [flag for messages numbered from 41 to 48
N30 [
N31 STR
N32 MSG(48) [48-messaggio vettore
N33 [ dichiarare elementi NMAX
N34 [
N35 INIZIA
N36 NMAX=48 [numero massimo di messaggi
N37 [
N38 [messages to be displayed
N39 MSG(1)= 'AXIS ALARM: CHECK SERVOAMPLIFIER FUSES'
N40 MSG(2)= 'SLIDE LUBRIFICATION MOTOR OVERLOAD'
N41 MSG(3)= 'COULANT MOTOR OVERLOAD'
N42 MSG(4)= 'SPINDLE FAN MOTOR OVERLOAD'
N43 MSG(10)='SPINDLE MOTOR OVERTEMPERATURE'
N44 MSG(17)='SERVOAMPLIFIER OVERLOAD'
N45 MSG(18)='COMPRESSED AIR FAULT'
N46 MSG(19)='AXES OUT OF TRAVEL LIMIT'
N47 MSG(47)='SPINDLE SERVOAMPLIFIER NOT READY'
N48 MSG(48)='--'
N49 [
N50 [
N51 [ ............PROGRAM..................................
N52 PROG
N53 FINE
N54 FINE
N55 [ ............sezione molto lenta......................... ]
N56 [ message enable
N57 SG(1)=I1
N58 SG(10)=I2
N59 SG(47)=I3
N60 [

1-28 Sviluppo della Logica Macchinaria (PLC) - Parte III (00)


Serie S3000
Esempi di programmazione

N61 CHIAMA SCORRIMENTO [ chiamata alla routine di gestione del messaggio ]


N62 [
N63 FINE
N64 [
N65 [......... sezione routine..............................
N66 [ ........... GESTIONE DEI MESSAGGI A SCHERMO .................
N67 SCROLL:$
N68 NMSG=1; NRIGA=1 [CONFIGURAZIONE DELLE VARIABILI
N69 LOOVIS: SE(NMSG > NMAX) CLRSCR [se la fine della scansione vai a CLR
N70 SE(NRIGA>16) RTS [esci se ci sono più di 16 messaggi
N71 SE(SG(NMSG)) DISPL, NRIGA, MSG(NMSG); NRIGA=NRIGA+1 [DISPL
N72 NMSG=NMSG+1; LOOVIS [test altro SG]
N73 CLRSCR: SE(NRIGA>16) RTS [ci sono altre righe da cancellare?]
N74 CLR,(NRIGA); NRIGA=NRIGA+1; CLRSCR [cancella le righe successive.
N75 [ .............. fine del programma .......................... ]

Sviluppo della Logica Macchinari (PLC) - Parte III (00) 1-29


Serie S3000
1. Esempi di programmazione

SHIFTZ - EXAMPLE OF COMPENSATION FOR Y FALL AS A FUNCTION OF Z


N1 [**********************************************************
N2 [* ESEMPIO DI COMPENSO PER Y IN FUNZIONE DI Z ]
N3 [* —————————————————— ]
N4 [* SHIFTZ 940516 ]
N5 [**********************************************************
N6 [
N7 Compensazione dell'asse Z verticale in funzione di
N8 la caduta o l'abbassamento del braccio orizzontale Y.
N9 [The compensation is executed only if the axes are interlocked
N10 [se non interbloccato, la compensazione implica uno spostamento nello Z]
N11 L'altezza dell'asse. Sarà eseguito più tardi quando l'asse sarà abilitato.
N12 [
N13 [
N14 [***************** SEZIONE DICHIARATIVA ********************
N15 [ input fisici
N16 INP
N17 [ output fisico ]
N18 FUORI
N19 UMOVE1 [abilita asse 1
N20 MUOVITI2 [abilita asse 2
N21 UMOVE3 [abilita asse 3
N22 [
N23 [ variabili interne ]
N24 SRAM,32
N25 TABCOZ(11) [tabella con valori per la compensazione Z]
N26 [
N27 RAM,32
N28 FCYP Posizione Z all'estremità positiva del movimento Y
N29 FCYN Posizione Z all'estremo negativo del movimento Y
N30 NCAMPY [number of steps
N31 STEPY distanza tra i passi
N32 QUOYI [pos. vert. di Y riferita all'estremità negativa del viaggio
N33 COMPZ [current compensation value
N34 IND [numero corrente passo]
N35 [
N36 RAM,8
N37 IND8 numero corrente di passo in formato byte
N38 [
N39 INIZIO
N40 FCYP=100 posizione del limite del software Y+
N41 FCYN=-200 posizione di Y - limite software
N42 NCAMPY=10 numero di passi di compensazione
N43 STEPY=(FCYP-FCYN)/NCAMPY [calcola il valore del passo]
N44 [
N45 PROG
N46 [****************** SEZIONE VELOCE *************************
N47 POFO=ANI(1) potenziometro di sovraccarico dell'asse
N48 [
N49 UMOVE1=MOVCN(1) [enable axes
N50 UMOVE2=MOVCN(2)
N51 UMOVE3=MOVCN(3)
N52 RDMOV=MOVCN
N53 FINE
N54 [***************** SEZIONE LENTA ***************************
N55 [.................... funzioni ausiliarie ..................
N56 [
N57 BURDY=0 [...acquisire funzione da NC
N58 [
N59 [............... compenso per cadute ......................
N60 QUOYI=POA(2)-FCYN [pos. vert. relativa al limite morbido -ve

1-30 Sviluppo della Logica Macchinista (PLC) - Parte III (00)


Serie S3000
1. Programming examples

N61 IND=INT(QUOYI/STEPY) [current step number


N62 IND8=FPI(IND) [passo in formato byte
N63 COMPZ=((QUOYI-STEPY*IND)*(TABCOZ(IND8+2)-TABCOZ(IND8+1))/$
N64 STEPY)+TABCOZ(IND8+1) [interpolazione tra i passi
N65 limita al di fuori dei limiti del software
N66 SE(POA(2)<=FCYN) COMPZ=TABCOZ(1)
N67 SE(POA(2)>FCYP) COMPZ=TABCOZ(FPI(NCAMPY+1))
N68 SHIFT(3)=COMPZ [eseguire compensazione
N69 [
N70 FINE
N71 [............. programma fine ...............................

Sviluppo della Logica Macchinaria (PLC) - Parte III (00) 1-31


Serie S3000
Esempi di programmazione

AXBLOC1 - Assi bloccati con attesa temporizzata

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.........................

1-32 Sviluppo della Logica Macchina (PLC) - Parte III (00)


Serie S3000
1. Esempi di programmazione

AXBLOC2 - Morsetto assi con abilitazione esterna

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

ESSINCU - Cambio utensile sincrono con griglia


N1 [ **********************************************************
N2 * SINCRONIZZATTC - STRUMENTI IN POSIZIONE FISSA SU UNA RETE
N3 [* ESSINCU 941010 ]
N4 [* ———————————————— ]
N5 [* ]
N6 [ **********************************************************
N7 [
N8 [******PROGRAMMICOMPERAXIMOVIMENTIESEGUITIDALPLC*****
N9 [CUAUTO:
N10 [ P1=4 numerodistrumentiinciascunrigo
N11 [ P2=6 numerodistrumentiinognicolonna
N12 [ P3=10 distanzacentro-centraleperognifila
N13 [ P4=20 distanzadacentroacentro
N14 [ P5=0 [ X posizione 1^ strumento
N15 [ P6=0 [ Y pos i t i on 1^ strumento
N16 P7=150 [ Z pos i t i on hi gh
N17 [ P8=100 Posizione per il cambiamento
N18 [
N19 [ P34=1 parametersempresetot1
N20 [ [ P10 [caricatodaPLC:caricamentodellaposizione
N21 P11 [caricatodaPLC:posizionediscarico]
N22 [[P13 ] [caricatodaPLC:numerodisequenza
N23 ["P14","P15","P16"] [CaricatodaPLC:parametritemporanei]
N24 [ [ P17 [ X posizione richiesta strumento
N25 [ [ P18 [ Strumento di richiesta posizione Y ]
N26 [——————————————————————————————
N27 [M62 portaaperta
N28 [O0 [assoluto o origine]
N29 [ tes t f or cas e:
N30 [questisonosaltinonchiamate] !
N31 [{P13=6}L6[exchangewithstorage
N32 [{P13=7}L7[loadtoolfromstorage
N33 [{P13=8}L8[unloadtoolintostorage
N34 [{P13=4}L4[unloadspindletofloor&loadfromstorage.
N35 [{P13=5}L5[scaricailmandrinoperimmagazzinareecaricaredalpiano
N36 [{P34=1}L34 [vaiall'ultimaTC(solopersicurezza)]
N37 [——————————————————————————————
N38 [cas e 6
N39 L=6
: a c i r a c N40
s [
N41 [ ZP7RM19 Z saf e hei ght
N42 [ P14=P11 posizionedicaricoperloscarico
N43 L99 [chiama l'ordine per lo strumento X, Y
N44 [XP17YP18R [ vai alla posizione di scarico
N45 ZP8R [ Z f o cambiamento
N46 [M64 [sbloccaattrezzo]
N47 G4K5 0,5secondi
N48 ZP7R [ Z saf e hei ght
N49 [
: a c i r a N50
c [
N51 [ P14=P10 caricaposizioneperilcaricamento
N52 [L99 [chiama l'uscita di routine per lo strumento X, Y
N53 [XP17YP18R [ go t o l oadi ng l ocat i on
N54 ZP8R [ Z f o cambiamento ]
N55 [M65 strumentodbilocco
N56 G4K5 [0.5sec
N57 [ ZP7R ] [ Z saf e hei ght
e n i f aN58l l [{P34=1}
a L34
i a v [
N59 [
N60 [ . . . altri casi (L=. . . )
N61 [ L=7
N62 [M0 [ Sequenza da definire ]
—————— e n i N63f [{P34=1}
a L34
i a v [
N64 [
N65 [ L=8
N66 [M0 [ Sequence t o be def i ned
———————— d n e N67 o [{P34=1} t L34 o g [
N68 [
N69 [ L=4
N70 [M0 [ Sequenza da definire ]
——————— e n i fN71 a[{P34=1}l l L34 a i a v
N72 [
N73 [ L=5
N74 [M0 [ Sequenza da definire
——— e n i f aN75l l [{P34=1}
a L34
i a v [
N76 [

1-34 Sviluppo della Logica Macchinaria (PLC) - Parte III (00)


Serie S3000
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

N250IF(MM63)DISPL,5,MSG(5);ALTRIMENTICLR,5 aspetta, la porta è chiusa


N251 [
N252END
N253 [
N254[—————————SEZIONERUTINE—————————
N255 [
N256[*******************************************************
N257TFUNCTION[ *
N258[*******************************************************
N259GEFUT:$
N260[..............RICHIESTADICAMBIOSTRUMENTO...........
N261UTECU=STRUMENTO[moduloinfomTCdirequisitotool
N262NEWCU=1 richiesta di attivazione del modulo TC
N263RTS
N264 [
N265[*******************************************************
N266MFUNZIONE[ *
N267[*******************************************************
N268GEFUM:$
N269WNDINT(1)=AUXM
N270IF(AUXM=6) M06
N271IF(AUXM=30)CHIAMARESET;RTS
N272IF("CUATT)RTS
N273IF(AUXM=62)MM62=1;RTS
N274IF(AUXM=63)MM63=1;RTS
N275IF(AUXM=29)INTOF=1;RTS
N276IF(AUXM=34)CUATT=0;RTS
N277RTS
N278 [
N279M06:$
N280IF(“CUATT)ERRM06=1;RTS [M6 senza T
N281M6PGM=1
N282RTS
N283 [
N284[*******************************************************
N285CAMBIO [ AUTOMATICOSTRUMENTO *
N286[*******************************************************
N287[.................selezionedellamodalitàTC..................
N288CUAUTO:$
N289IF(CUATT)NOSELE
N290IF(P1)SELECU=0[automaticaTC(predefinita)
N291IF(P2)SELECU=1[manualTC(nostoetà)
N292NOSELE:$
N293 [
N294[selezionimodalitàdeitastiluminosi
N295CUAUT=(SELECU=0)
N296CUMAN=(SELECU=1)
N297 [
N298[*******************************************************
N299[...sequenzadiinterruzione,cancellazione,emergenza....
N300 [
N301[LaTCèinterrottasolose:
N302[-gliausiliarisonospentiduranteaTC
N303[-aBREAKvieneinviatodurantelasequenzaTC
N304 [
N305[GliinterruzionisonoREMCUeilTCrispondecon
N306[settingEMACU
N307REMCU=FF((BRKA&CUATT)~("IAUXON&CUATT)),(EMACU)
N308 [
N309[IltastomorbidoP7vieneutilizzatoperusciredaEMACU(emergenza)]
N310IF(P7&EMACU)RBKCU=1[annullaTCemergenza
N311 [
N312[Dopoun'interruzioneènecessarioripristinareilTC
N313[conleopportunechiavidopoAVERVERIFICATOILTABELLADEGLISTRUMENTI

Sviluppo della logica macchinosa (PLC) - Parte III (00) 1-37


Serie S3000
Esempi di programmazione

N314L7=EMACU [lampada d'emergenza TC]


N315 [
N316IF(EMACU)CHIAMARERESECU[resetcomandiPLC
N317 [
N318[********************************************************
N319[PassandoattraversoiparametriaCOM
N320P(10)=IFP(PPRECU) [caricaposizione]
N321P(11)=IFP(PPOSCU) [scaricandoposizione]
N322P(13)=IFP(NSEQCU) [ sequenza s t a t a ]
N323 [
N324[......decodificasequenzafase......
N325IF(“BRDYCU)NOCU
N326MAPRCU=0 sequenzadifasehalt
N327CALLOPER fasedicambiamentodeglistrumentidigestione

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.............................

1-38 Sviluppo della Logica Macchinaria (PLC) - Parte III (00)


Serie S3000
1. Esempi di programmazione

AXP2P - Controllo dell'asse di stoccaggio degli strumenti da PLC

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

Sviluppo della logica macchina (PLC) - Parte III (00) 1-39


Serie S3000
1. Esempi di programmazione

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................................

1-40 Sviluppo della Logica Macchinale (PLC) - Parte III (00)


Serie S3000
1. Esempi di programmazione

COMMUCM - Interruttore dell'albero con asse C

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. ]

N9 Lo switching con il fuso (1) è realizzato tramite:


N10 [M21 f da spindlet a Caxxis]
N11 [M20 f r o da C a xi s t o s p i n d l e
N12 È importante utilizzare la funzione M alla fine di
N13 iblocchiaffinchélatransizionenonpossaavvenire
N14 [mentre l'asse è in movimento.]
N15 La'sseCeilmandrinohannoglistessicanaliI/O
N16 iltrasduttoreèuncodificatoreeinquestoesempioc'è
N17 Non ci sono disposizioni per un interruttore domestico sul Caxis.
N18 [
N19 [inputfisico]
N20 INP
N21 [
N22 [risultatifisici]
N23 FUORI
N24 AB LIX [ 1 abilitaasse X
N25 AB LY
I [ 2 abilitaassi Y
N26 AB LIM [ 3 attivarel'assedellaviteodell'asse C
N27 AB LIZ [ 4 abilitaasse Z
N28 [
N29 di
[ chiaravariabilBIT
i mantenute(presentalila' ccensione)]
N30 SRAM, 1
N31 CCIM20 Passa da Caxis a spindel
N32 CCIM21 [ Passa da spindl e a Caxi s ]
N33 assisC [ Imposta la modalità di lavoro per Caxi s ]
N34 assisM [ Imposta modalità di lavoro per l'asse ]
N35 [
N36 d[ichiararcehlevariabB
ilITnonsonotratenut]e
N37 RAM,1
N38 ABMAN[abilitailpiolo
N39 ABC abilita C a xis
N40 [
N41 STR
N42 MSG1 [mes s ages
N43 MSG2 messaggi
N44 [
N45 [************INIZIALIZZAZIONE********************
N46 INI T
N47 MSG1=sw
’cthniorgm
fCaC xsopinstide’l
N48 MSG2=sw
’cthniorgm
fpnsoiC
detla’xsi
N49 [
N50 [********INIZIALIZZALAMODALITÀSPINDLE***************
N51 [
N52 I F (“assi C&” assi M) CHIAMARE RESCM [ i f nomode
N53 I F (CI CM20~CI CM21) CHIAMARE RESCM [ i f i nt er r upt ]
N54 [
N55 SPGAM(1) =1 [ intervallo 1 f o s pi ndl e ]
N56 [
N57 [************LOGICAVELOCE(ogni10mS)**********
N58 PROG
N59 ABLIX=RDMOV 1)(
N60 ABLY
I=RDMOV2)(
N61 ABLIZ=RDMOV
3)(
N62 RDMOV=MOVCN [Move as a r es pons e t o NC
N63 [
N64 [******potentiometers********************
N65 POFO=ANI (1)
N66 POMO(1) =ANI (2) ; POMO(2) =ANI (2) ; POMO(3) =ANI (2)
N67 FINE
N68 [*****decodificafunzioniausiliariedaNC******
N69 I F (“BURDY) ASINC
N70 DHOLD=1;FHOLD=1
N71 I F (STROM) CHIAMO GEFUM
N72 BURDY=0
N73 ASINC: $
N74 [
N75 I F(BRKA) CHIAMO LM05 [stopspindleonBREAK
N76 [

Sviluppo della Logica Macchina (PLC) - Parte III (00) 1-41


Serie S3000
1. Esempi di programmazione

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.........................

1-42 Sviluppo della Logica Macchinaria (PLC) - Parte III (00)


Series S3000
1. Esempi di programmazione

NEWFILT - Filtro Numerico


N1 [ ***************************************************
N2 [ * NUMERI CAL FILTRO (INGRESSO ANALOGICO)
N3 [* 940930 NEWFILT
N4 [ ***************************************************
N5 INP
N6 FUORI
N7 [
N8 RAM,32
N9 SOMMA sommadelleultimeletture
N10 ELE(30) [ tabella delle ultime letture ]
N11 MEDAIA [ f i l ter ed r es ul t
N12 [
N13 RAM,8
N14 MAXELE numero massimo di letture
N15 IELE [indicedell'elementocorrente]
N16 [
N17 INI T
N18 MAXELE=30 numerodiletturepercampione
N19 [
N20 PROG
N21 IELE=IELE+1 [e l ement o r a l e n t e]
N22 IF(IELE>MAXELE)IELE=1 [check onmaxi mum number
N23 SOMMA=SOMMA-ELE( I ELE) [rimuovi l'elemento dal sommario]
N24 ELE(IELE)=ANI(1) [ leggi nuovo elemento ]
N25 SOMMA=SOMMA+ELE( I ELE) [mettiunnuovoelementoinposizione]
N26 MEDAI=SOMMAF I/PM
( AXELE) [dividesumbynumberofreads
N27 FINE
N28 [ . . . . . . . . . . . . . . . . . pr ogr am fin . . . . . . . . . . . . . . . . . . . . . . . . .

Sviluppo della Logica Macchina (PLC) - Parte III (00) 1-43


Serie S3000
Esempi di programmazione

TABUTE1 - Riordina le posizioni degli strumenti nella tabella

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

N42 IND=1 [Inial


itze
i nd
i ex
N43 RTS

1-44 Sviluppo della Logica Macchinaria (PLC) - Parte III (00)


Serie S3000
1. Esempi di programmazione

TESTAR - Testa indicizzata mossa dal motore del mandrino

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]

N30 M103 aggiornaattualeposizionedellatesta


N31 [M104 abilita il controllo dell'asse della testa
N32 [
N33 [programPROM20commutal'assetestaamandrino
N34 [—————————————————————————
N35 [M112 disabilitarelaletturaeilcontrollodellatesta
N36 [M113 abilita la lettura e il controllo del mandrino
N37 [ ************************************************************
N38 [
N39 INP
N40 FUORI
N41 TERM, 3
N42 ABM abilita operazione spindel
N43 [
N44 SRAM,32
N45 MEMTA [storeheadA
N46 RAM,1
N47 ROTMA [comandodirotazione]
N48 [
N49 PULSO
N50 FASE2 fasediinizializzazione
N51 INI T
N52 SPGAM(1) =1 [ intervallo 1 (solo)
N53 [
N54 CHA
IMAINTaSazT
tseA
itlaiz[ini
N55 [
N56 PROG
N57 FINE
N58 I F( PFASE2) CALLFASE2
N59 I F(“BURDY) ASINC
N60 I F( STROM) CHIAMO GEFUM
N61 BURDY=0
N62 ASINC:$
N63 [
N64 [***************assedicontrollodellatesta(A)*********************
N65 [
N66 RDMOV(4)=MOVCN(4)
N67 I F(MOVCN(4)&RDMOV(4) ) MEMTA=POO(4)
N68 POFO=ANI (1)
N69 [***************spindle*************************
N70 SPVEL(1) =SPEED
N71 SPSSO(1) = 0,7 + ANI(3) * 0,6
N72 SPROT(1) =ROTMA&”HOLDA [comandidirotazioneeHOLD]
N73 ABM=SPMOV(1)~RDMOV(4)[&... [abilitare + consensi]
N74 [
N75 FINE
N76 [ . . . . . . . . . . . . . . . vedere e sezione lenta . . . . . . . . . . . . . . . . . . . . . . . .

Sviluppo della Logica Macchina (PLC) - Parte III (00) 1-45


Serie S3000
Esempi di programmazione

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.............................

1-46 Sviluppo della logica di macchina (PLC) - Parte III (00)


Serie S3000

APPENDICI

Sviluppo della Logica Macchina (PLC) - Appendici (00)


Serie S3000

Sviluppo della Logica Macchinari (PLC) - Appendici (00)


Serie S3000
Appendice A - tabella del codice ASCII

APPENDICE A - TABELLA CODICE ASCII

DIC Esadecimale
CHAR DIC ESE CARATTERE DIC ESE CARATTERE DIC Esadecimale
CARATTERE

(NULL) (DLE) BLANK


000 00 016 10 032 20 048 30 0
001 01 (SOH) 017 11 (DC1) 033 21 ! 049 31 1
002 02 (STX) 018 12 (DC2) 034 22 " 050 32 2
003 03
© (ETX) 019 13 !! (DC3) 035 23 # 051 33 3
004 04 ¨ (EOT) 020 14 ¶ (DC4) 036 24 $ 052 34 4
005 05 § (ENQ) 021 15 § (NACK) 037 25 % 053 35 5
006 06 ª (ACK) 022 16 (SIN) 038 26 & 054 36 6
007 07 (BEL) 023 17 (ETB) 039 27 ' 055 37 7
008 08 (BS) 024 18
- (CAN) 040 28 ( 056 38 8
009 09 (HT) 025 19
¯ (EM) 041 29 ) 057 39 9
010 0A (LF) 026 1A
® (SOT) 042 2A * 058 3A :
011 0B (VT) 027 1B
¬ (ESC) 043 2B + 059 3B ;
012 0 °C (FF) 028 1C (FS) 044 2 °C , 060 3 °C <
013 0D
(CR)
029 1D
« (GS)
045 2D - 061 3D =
014 0E
(SO)
030 1E
(RS)
046 2E . 062 3E >
015 0F
(SI)
031 1F
(US)
047 2F / 063 3F ?

Sviluppo della Logica Macchina (PLC) - Appendice (00)A-1


Serie S3000
Appendice A - tabella dei codici ASCII

DIC esadecimaleCARATTERE DIC esadecimaleCARATTERE DIC esadecimaleCARATTERE DIC esadecimaleCARATTERE

064 40 @ 080 50 P 096 60 ` 112 70 p


065 41 A 081 51 Q 097 61 a 113 71 q
066 42 B 082 52 R 098 62 b 114 72 r
067 43 C 083 53 S 099 63 c 115 73 s
068 44 D 084 54 T 100 64 d 116 74 t
069 45 E 085 55 U 101 65 e 117 75 u
070 46 F 086 56 V 102 66 f 118 76 v
071 47 G 087 57 W 103 67 g 119 77 w
072 48 H 088 58 X 104 68 h 120 78 x
073 49 Io 089 59 Y 105 69 io 121 79 y
074 4A J 090 5A Z 106 6A j 122 7A z
075 4B K 091 5B [ 107 6B k 123 7B {
076 4 °C L 092 5C \ 108 6C l 124 7C |
077 4D M 093 5D ] 109 6D m 125 7D }
078 4E N 094 5E ^ 110 6E n 126 7E ~
079 4F O 095 5F _ 111 6F o 127 7F

DIC ESAGONALE
CARATTERE DIC esadecimaleCARATTERE DIC esagono CARATTERE DIC ESAGONALE
CARATTERE

128 80 Ç 144 90 É 160 A0 á 176 B0

129 81 ü 145 91 æ 161 A1 í 177 B1

130 82 é 146 92 Æ 162 A2 ó 178 B2

131 83 â 147 93 ô 163 Un 3 ú 179 B3

132 84 ä 148 94 ö 164 A4 ñ 180 B4

133 85 à 149 95 ò 165 A5 Ñ 181 B5

134 86 å 150 96 û 166 Una 6 a 182 B6

135 87 ç 151 97 ù 167 Un 7 o 183 B7

136 88 ê 152 98 ÿ 168 A8 ¿ 184 B8

137 89 ë 153 99 Ö 169 A9 185 B9

138 8A è 154 9A Ü 170 AA 186 BA

139 8B ï 155 9B c 171 AB ½ 187 BB

140 8C î 156 9 °C £ 172 AC ¼ 188 BC

141 8D ì 157 9D Y
T
173 AD ¡ 189 BD

142 8E Ä 158 9E Pt 174 AE « 190 BE

143 8F Å 159 9F f 175 AF » 191 BF

A-2 Sviluppo della Logica della Macchina (PLC) - Appendice (00)


Serie S3000
Appendice A - tabella del codice ASCII

DIC ELEX CARATT DIC esagono CARATTERE DIC HEX CARATTERE DIC EAS CARATTERE

192 C0 208 D0 224 E0 a 240 F0 º


193 C1 209 D1 225 E1
b 241 F1
±
194 C2 210 D2 226 E2
G 242 F2
³
195 C3 211 D3 227 E3
p 243 F3
£
196 C4 212 D4 228 E4 S 244 F4
ó
197 C5 213 D5 229 E5 s 245 F5
õ
198 C6 214 D6 230 E6 m 246 F6
¸
199 C7 215 D7 231 E7 t 247 F7
»
200 C8 216 D8 232 E8 f 248 F8 °
201 C9 217 D9 233 E9 q 249 F9

202 CA 218 DA 234 EA W 250 FA

203 CB 219 DB 235 EB


d 251 FB
Ö
204 CC 220 DC 236 EC ¥ 252 FC n
205 CD 221 DD 237 ED Æ 253 FD 2

206 CE 222 DE 238 EE Î 254 FE

207 CF 223 DF 239 EF Ç 255 FF VUOTO


FF

Sviluppo Logico della Macchina (PLC) - Appendice (00)A-3


Serie S3000
Appendice A - tabella del codice ASCII

A-4 Sviluppo della Logica Macchina (PLC) - Appendice (00)


Serie S3000
Appendice B - Tabella delle funzioni ausiliarie

APPENDICE B - FUNZIONE AUSILIARIA


TAVOLO
Questa tabella contiene le funzioni ausiliarie principali definite nello standard ISO RS-274 D.

ATTIVO ATTIVO GESTITODA


CODICE PRIMOIN ULTIMO IN NC DESCRIZIONE DELLA FUNZIONE
BLOCCARE BLOCCO
M00 - M01 - M02 X X Ferma programma
M03 X Mandrino ACCESO ORARIO

M04 X Mandrino ACCESO CCW


M05 X Arresto del mandrino

M06 X Cambio utensile


M07 - M08 X Raffreddamento ON

M09 X Raffreddamento SPENTO

M10 X Morsetti per assi

M11 X Sblocca gli assi


M12 X Sincronizzazione
M13 X Mandrino ACCESO in senso orario con refrigerante

M14 X Mandrino ACCESO CCW con refrigerante


M15 - M18 X Non assegnato
M19 X Orientamento del fuso
M20 - M29 X Non assegnato
M30 X X Fine del programma
M31 - M39 X Non assegnato
M40 - M44 X Cambia gamma di ingranaggi

M45 X Ripristina assi disabilitati


M46 X Disabilita gli assi

M47 X Non assegnato


M48 X Override rapido inibito
M49 X Abilita sovrascrittura rapida (predefinita)
M50 - M8999 X Non assegnato
M9000 - M9999 X Non assegnato
H0 - H9999 X Non assegnato
T0 - T9999 X X Compensazione della lunghezza utensile

SO - S99999 X X Spindle speed

Sviluppo della logica macchina (PLC) - Appendici (00) B-1


Serie S3000
Appendice B - Tabella delle funzioni ausiliarie

B-2 Sviluppo della Logica Macchine (PLC) - Appendici (00)


Serie S3000
Appendice C - Funzioni della nuova serie S3000 rispetto al sistema S1200

APPENDICE C - NUOVA SERIE S3000


FUNZIONI IN CONFRONTO CON LO S1200
SISTEMA
Rispetto all'S1200, i sistemi della Serie S3000 hanno mantenuto la stessa struttura del programma e
sintassi delle istruzioni di base, ampliando la sua usabilità per quei casi in cui la struttura precedente
presentava alcune limitazioni.

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.

C1.1. GESTIONE DEL SISTEMA


∙ Sono state aggiunte variabili per consentire un controllo più flessibile degli assi attivi (M10-M11)
configurazione, per il bloccaggio o per l'interruzione con altri assi.

∙ 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.

∙ Indexed, gantry, or mirrored axes are easily managed.

∙ Le funzioni PLC rendono possibile il controllo tramite una console remota.

∙ 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.

Sviluppo della Logica Macchina (PLC) - Appendice (00)C-1


Serie S3000
Appendice C - Nuove funzioni della serie S3000 rispetto al sistema S1200

∙ L'esecuzione di qualsiasi programma NC può essere controllata dal PLC.

∙ 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.

C1.2. DEBUGGING DEL PROGRAMMA E VERIFICA DEL SISTEMA


∙ La compilazione del programma è stata notevolmente accelerata.

∙ 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.

∙ Sono stati effettuati significativi aggiornamenti all'analizzatore grafico e al display dinamico.

∙ 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.

∙ Il PLC può leggere la data e l'ora di sistema.

∙ I segnali di errore NC sono disponibili per il PLC.

C-2 Sviluppo della Logica Macchina (PLC) - Appendice (00)


Serie S3000
Appendice C - New Series S3000 functions compared to the S1200 system

C1.3. PROGRAMMAZIONE PLC


∙ Per aumentare la precisione dei calcoli matematici, la doppia precisione in virgola mobile 64
Sono state introdotte le variabili BIT.

∙ 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.

∙ La dichiarazione di equivalenza dell'EQU è stata migliorata.

∙ L'annidamento delle chiamate a sottoprogrammi è ora possibile.

∙ È 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.

∙ Le istruzioni DISPLandCLR agiscono su un numero di linee parametriche.

∙ L'operatore // restituisce direttamente il resto della divisione.

∙ La funzione SGN(parametro) restituisce il segno dell'argomento.

∙ Sono state introdotte numerose funzioni per la gestione delle stringhe di caratteri con un
lunghezza massima di 254 caratteri.

∙ L'implementazione delle sequenze è semplificata da strutture fornite precedentemente definite.


(GOTC).

∙ Le variabili RAM che non venivano mantenute nel S1200 dopo lo spegnimento dell'NC ora vengono mantenute in
SRAM.

Sviluppo della Logica Macchinaria (PLC) - Appendice (00)C-3


Serie S3000
Appendice C - Nuove funzioni della serie S3000 rispetto al sistema S1200

C-4 Sviluppo della Logica Macchina (PLC) - Appendice (00)


Serie S3000
Appendice D – Messaggi di Diagnosi

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

E46: funzioni non consentite tra G754 e G753 (prof. invers.)


E47: punti coincidenti o fuori dal piano di lavoro nel vuoto
E48: funzioni di apertura/chiusura mancanti
E49: richiamo di origine o correttore non valorizzato
E50: funzione G32 all'interno di un ciclo ripetuto
E51: livello di annidamento dei sotto-programmi superiore a 8
E52: livello di annidamento dei cicli ripetuti maggiore di 8
E53: punti coincidenti nella definizione di curva per punti G27
E54: errata suddivisione dei profili verticali
E55: il profilo non è chiuso
E59: errore di parità o errore di linea

Sviluppo della Logica Macchinaria (PLC) - Appendice (01) D-1


Serie S3000
Appendice D – Messaggi Diagnostici

E60: errore di lettura del programma

E62: richiamo di un programma non esistente in memoria


E63: ciclo fisso non eseguibile con i parametri forniti: S,F,J,Z
E64: ciclo fisso programmato senza rotazione del mandrino funzione M
E65: sonda non qualificata
E66: ricerca salvata di un blocco non esistente
E67: posizione di partenza del foro (J) mancante nella definizione. ciclo fisso

E68: ciclo G88 seguito da coord. diversa dall'asse del mandrino


E69: cavo con troppi passaggi ( > 65535 )
E70: errore in una definizione geometrica
E71: nella gestione della collisione dello strumento con il profilo

E72: troppi punti o entità


E73: poligono cavo con meno di tre punti
E74: cavità programmate con definizione del raggio dello strumento
E75: le linee rette sono parallele, mancante l'intersezione
E76: nella lavorazione approssimativa tra profilo del piano e profili di sezione
E77: intersezione mancante tra la retta e il cerchio
E78: cavi profilati con passaggi paralleli al profilo
E79: gestione delle isole delle cavità profilate
E80: la lunghezza dell'entità è troppo grande ( > 131071 mm )

E81: cerchi concentrici


E82: cerchi esterni
E83: cerchi coincidenti
E84: cerchi tangenti
E85: circoli interni
E86: errore nella definizione delle entità geometriche
E88: divisione per zero
E89: radice quadrata di un numero negativo
E90: operazioni tra P parametri con risultato troppo grande
E91: error in definition of the program parameters
E92: assi fuori posizione
E93: asse sul limite
E94: posizione negativa non consentita
E95: inverso della direzione di attraversamento di un'entità del profilo
E96: valore errato o segmento mancante nel volo
E97: blocco memorizzato dalla periferica con errore di sintassi
E98: fuori dai limiti della gamma operativa
E99: errore di sintassi nel blocco
E200: oltre i limiti nel copiare
E201: incidente del sondaggio nella copia

E202: perdita di contatto della sonda nella copia


E206: guasto hardware sulla sonda digitale
E207: sonda digitale disconnessa
E208: hardware extra-viaggio su sonda digitale
E209: deviazione della sonda di copia ai limiti massimi
E210: sonda di misura (accensione/spegnimento) crash
E211: start of measuring cycle with probe deflected
E212: copiare nello semispazio non è consentito
E213: ripristino dello strumento della deviazione ai limiti massimi

E253: errore nella digitalizzazione del file


E254: la funzione di apertura dei limiti G877 manca nella copia
E255: funzione di chiusura limiti G877 mancante nella copia
E300: richiesta di blocco tra gli assi non ripristinata
E301: richiesta di bloccaggio tra assi già bloccati
E400: funzioni non previste dalla macro

D-2 Sviluppo della Logica Macchinaria (PLC) - Appendice (01)


Serie S3000
Appendice D – Messaggi diagnostici

E401: blocco macro in ordine errato


E402: memoria interna insufficiente per eseguire la macro
E403: parametri obbligatori mancanti
E404: parametri errati nella chiamata al macro
E405: profilo sbagliato richiamato nella macro
E406: angoli degli utensili non compatibili con il profilo
E407: troppi passaggi di threading
E408: numero di passaggi di filettatura insufficiente (min. 4)
E409: filettatura di un cerchio
E410: profilo non monotono sull'asse del feed
E411: passa profondità nulla o negativa
E412: l'azione causa interferenze tra i passaggi
E413: il diam. max. del profilo finito è maggiore di quello del pezzo
E414: elementi del profilo non connessi
E415: elementi del profilo che si intersecano
E416: profilo della gola errato
E417: larghezza della gola inferiore a quella dello strumento

E418: numero di passaggi di filettatura nullo o negativo


E419: angoli e orientamento degli strumenti mancanti
E420: incompatibilità del profilo/approccio direzione di lavorazione
E421: incompatibilità tra profilo e parametri definiti
E422: memoria per lo stoccaggio nella zona d'ombra mancante
E423: numero di entità superiore al consentito
E424: lunghezza insufficiente del profilo
E425: i profili giacciono sullo stesso piano
E426: profilo della zona limite concava
E427: isola al di fuori del profilo
E428: il macro non riesce a trovare entità nel profilo
E429: definizione di profilo finito solo con entità orizzontali
E430: diametro minimo del profilo maggiore di quello del pezzo grezzo
E431: smussi e giunti definiti simultaneamente
E432: inclinazione errata della prima o dell'ultima entità della gola
E433: sottocut nella profilatura della gola
E434: cerchio di raggio zero nel profilo della gola
E435: la lunghezza dell'uscita è maggiore della lunghezza del filo
E437: raggio dell'utensile senza orientamento
E438: l'orientamento dello strumento è incompatibile con la direzione di lavoro

E439: controllo della zona d'ombra con orientamento errato


E440: controllo della zona d'ombra con angoli degli strumenti errati

E441: raggio dello strumento diverso dai valori standard


E442: orientamento utensile errato
E443: larghezza dello strumento mancante

E444: profondità massima dello strumento nulla o negativa


E445: larghezza e raggio dell'utensile incompatibili
E446: punti estremi di profili finiti e grezzi non coincidenti
E500: utensile presente sia nel morsetto che nel deposito
E501: strumento presente sia nelle int. st. che nella conservazione
E502: strumento presente sia nel mandrino che nello stoccaggio
E503: posizione dello strumento già occupata per lo strumento..
E504: posizioni frontali insufficienti per le dimensioni dell'utensile..

E505: posizioni posteriori insufficienti per la dimensione dello strumento.

E506: dimensione incoerente per piano, strumento..


E507: strumento .. richiesto mancante dalla tabella
E508: strumento .. non abilitato
E509: strumento .. da posizionare mancante dalla tabella

Sviluppo della Logica Macchinari (PLC) - Appendice (01) D-3


Serie S3000
Appendice D – Messaggi Diagnostici

E510: strumento da rimuovere mancante dal magazzino


E511: utensile da restituire già in magazzino
E512: manca il luogo di stoccaggio per lo strumento da caricare dal mandrino
E513: luogo di stoccaggio mancante per l'utensile di carico dal prog. T
E514: luogo di stoccaggio mancante per il caricamento dallo stato intermedio.
E515: luogo di stoccaggio mancante per attrezzo di carico dal gripper
E516: ciclo di cambio utensile interrotto a causa dello spegnimento del M.T.
E518: tabella degli strumenti con dati incoerenti..
E519: posizione errata associata allo strumento.
E520: caricamento manuale dello strumento presente anche in magazzino
E521: strumento T0 richiesto per presa/posizionamento

E522: caricamento casuale-fisso non consentito: [Link]..


E951: errore nella procedura di comando DDI
E990: errore di sintassi nel file CAMME alla riga..
E991: numero della tabella errato nel file CAMME alla riga..
E992: troppi valori nel file CAMME alla riga..
E993: numero insufficiente di valori nel file CAMME alla riga..
E1001: Errore del codice grigio sul trasduttore assoluto dell'asse..
E1002: segnale troppo alto trasduttore analogico dell'asse..
E1003 segnale troppo basso trasduttore analogico dell'asse..
E1004: posizione leggerezza discontinuità asse..
E1005: errore dell'asse del servomeccanismo.
E1006: numero errato di incrementi di impulsi. asse del trasduttore.
E1007: guasto con il trasduttore dell'asse..
E1008: posizionamento fuori tolleranza dell'asse..
E1009: contatto mancante tra la testa di perforazione e la piastra
E1010: errore del piano di destinazione di perforazione
E1011: coordinate di perforazione fuori dall'area di lavoro
E1012: combinazione di comandi sz non consentita
E1013: valore quik superiore alla posizione di sicurezza programmata
E1032: segnale del trasduttore analogico dell'albero troppo alto
E1033: il segnale del trasduttore analogico del mandrino è troppo basso

E1034: discontinuità nella lettura della posizione dell'asse del mandrino

E1036: incremento del mandrino. trasduttore numero di impulsi errato


E1037: difetti con il trasduttore del mandrino
E1061: Errori del codice Gray punto di traslazione assoluta asse punto a punto.
E1062: segnale del trasduttore troppo alto asse punto a punto.
E1063: segnale del trasduttore troppo alto asse punto a punto..
E1064: interruzione della lettura della posizione dell'asse punto-punto
E1065: errore del servomeccanismo dell'asse punto-punto..
E1066: numero sbagliato. impulsi del trasduttore asse punto a punto.
E1067: difetti con il trasduttore dell'asse punto-punto..
E1068: segnale di trasduzione secondaria troppo alto asse punto a punto
E1069: segnale di transduzione secondaria troppo basso asse punto a punto
E1070: difetti con trasduttore secondario asse punto a punto
E1080: difetti con il comparatore potenziometrico.
E1108: interpolazione. superamento per blocco successivo non pronto
E1113: Errore di memoria ROM modulo Inductosyn
E1116: Errore di memoria RAM modulo Inductosyn
E1130: non abbastanza tempo per gli assi del modulo Inductosyn
E1158: errore di acquisizione del termocoppia di controllo
E1159: segnale della termocoppia interrotto controllo
E1160: segnale della termocoppia troppo alto controllo
E1161: segnale termocoppia troppo basso controllo
E1162: difetti sul trasduttore del termocoppia di controllo

D-4 Sviluppo della Logica Macchina (PLC) - Appendice (01)


Serie S3000
Appendice D – Messaggi Diagnostici

E1163: segnale di giunto freddo troppo alto


E1164: segnale di giunto freddo troppo basso

E1165: difetti sul trasduttore a giunto freddo


E1200 Sovraccarico della CPU master: lavoro simulato
E1202: Sovraccarico del master CPU: visualizzazione della posizione

E1204: Sovraccarico del master CPU: campionamento secondario


E1206: Superamento del master CPU: campionamento primario
E1208: Superamento del master della CPU: timer di sistema

E1210: Sovraccarico del master CPU: debugger PLC


E1212: Sovraccarico master della CPU: assi punto a punto
E1214: Sovraccarico del master CPU: controlli della temperatura
E1216: Esecuzione eccessiva della CPU: interpolatore
E1218: sovraccarico MODIND
E1220: cicli rapidi troppo lunghi alla linea PLC..
E1222: cicli ultra-rapidi troppo lunghi alla linea PLC..
E1224: troppi scritti nella tabella degli strumenti

E1226: troppi scritti nella tabella degli strumenti, linea PLC..


E1300: malfunzionamento dell'I/O MIX..
E1302: espansioni digitali Watch Dog su I/O MIX..
E1304: Guarda Dog su I/O MIX.
E1306: sovraccarico su I/O MIX..
E1310: errore sugli output digitali I/O MIX, byte..
E1312: +24V guasto dell'alimentazione I/O MIX..
E1314: +24V guasto dell'alimentazione I/O MIX, espansione..
E1316: attendere l'alimentazione I/O a +24V
E1318: alimentazione +5V dell'encoder mancante I/O MIX..
E1320: mancanza di alimentazione +15V per le manopole I/O MIX..
E1322: Alimentatore esterno +-15V mancante I/O MIX..
E1324: mancanza di alimentazione potenziometri I/O MIX..
E1421: Errore DDI C1D, disco #…, IDN000BH= …H, IDN0081H= …H
E1422: Errore DDI C2D, unità #… ,IDN000CH= …H, IDN00B5H= …H
E1450: Errore DDI, scheda #…, SRCERM= …H, SRCERR=…H
E1994: accesso al componente mancante, linea PLC..
E2000: overflow dello stack sulla linea PLC..
E2001: CCL troppo grande sulla linea PLC..
E2002: troppi CALL annidati nella linea PLC..
E2004: RTS sbilanciato sulla linea PLC.
E2006: troppi EXEC annidati sulla linea PLC..
E2008: sviluppo sbilanciato ENDE sulla linea PLC..

E2010: PLC non in funzione


E2012: PLC non eseguibile
E2014: DEF SEQCU(n) con numero errato sulla linea PLC.
E2016: DEF SEQCU(n)=a,b, sbagliato (ordine a,b,) linea PLC..
E2018: DEF SEQCU(n)=a,b, incompleto sulla linea PLC..
E2019: a.t.c. NON config.: impossibile DEF SEQCU PLC linea..
E2020: a.t.c. configurato senza posti di stoccaggio
E2021: parametri di vita degli utensili incoerenti..
E2022: modalità di cambio utensile errata:
SELECU=..
E2024: sequenza a.t.c. non gestita da PLC: NSEQCU=..
E2026: stringa troppo lunga nella riga PLC..
E2028: DISPL su linea non esistente nel PLC.
E2030: CLR su una linea inesistente nella linea PLC..
E2032: stringa inesistente nella linea PLC..
E2034: indice variabile errato nella linea PLC..
E2040: ramo/impostare condizione non ordinata nella linea PLC.

Sviluppo della Logica della Macchina (PLC) - Appendice (01) D-5


Serie S3000
Appendice D – Messaggi di diagnostica

E2041: non è un numero [Link] nella riga PLC..


E2042: errore dell'operando [Link] nella linea PLC..
E2043: overflow del punto flottante nella linea PLC..
E2044: sottoscarico del punto flottante nella linea PLC..
E2045: divisione per zero [Link] nella linea PLC.
E2046: operazione inexact fpu nella linea PLC..
E2047: input decimale impreciso fpu nella linea PLC..
E2048: uso incorretto della maschera FPERMK nel PLC
E2100: COMR di un file inesistente nell'area robot.
E2101: errore di sintassi nell'area robotica.
E2500: espressione non compilabile
E2501: errore di sintassi
E2502: operando non valido
E2503: Il simbolo ASCII è troppo lungo
E2504: operatore non consentito
E2505: etichetta non dichiarata
E2506: richiamo delle etichette tra diverse sezioni
E2507: linea di logica troppo lunga
E2508: simbolo riservato
E2509: simbolo già definito
E2510: sezione già definita
E2511: variabili indirizzi non corrispondono
E2512: simbolo non definito
E2513: errore di dimensione
E2514: troppi I/O sul modulo
E2515: PULSI fuori
E2516: TIMERS fuori
E2517: CONTATORI fuori
E2518: TASTI MORBIDI fuori
E2519: HARDKEYS fuori
E2525: troppi HARDKEY per menu
E2526: richiesta per un menu HARDKEY inesistente
E2530: troppe variabili definite
E2532: codice non generato
E2534: errore fatale: operazione impossibile
E2560: espressione troppo complessa
E2562: operandi incoerenti
E2563: parentesi sbilanciate
E2564: uso scorretto di una variabile
E2570: troppi EXEC annidati
E2571: EXEC senza ENDE
E2572: FINE senza ESECUZIONE
E2580: troppi variabili numeriche da visualizzare
E2581: troppi troppi variabili di stringa da visualizzare
E2590: troppi segnali digitali da tracciare
E2591: troppi segnali analogici da tracciare
E32102:M.T. spento a causa di un'interruzione della comunicazione con il PC
E10000: Scadenza in attesa di risposta dalla scheda#...
E10001: Errore sul master RIO, scheda#...
E10002:File BINario mancante per la gestione della scheda#...
E10004:No slave detected on RIO master,board#...
E10010: Malfunzionamento dello slave RIO, scheda#...slave#...
E10011: schiavo RIO sconosciuto, scheda#... schiavo#...
E10015:Watch-dog RIO schiavo, scheda#... schiavo#...
E10016: Errore di ricezione RIO, scheda #... schiavo #...

D-6 Sviluppo della Logica Macchinaria (PLC) - Appendice (01)


Serie S3000
Appendice D – Messaggi di Diagnosi

E10017: risposta dello schiavo RIO mancante, scheda#...schiavo#...


E10018:Errore di output RIO, scheda#...schiavo#...byte#...
E10020: errore dell'alimentatore 24V RIO, scheda#... slave#... base
E10021: Errore dell'alimentatore 24V RIO, scheda#... schiavo#... espansione#...

Sviluppo della Logica Macchinaria (PLC) - Appendice (01) D-7


Serie S3000
Appendice D – Messaggi diagnostici

D-8 Sviluppo della Logica Macchina (PLC) - Appendice (01)

Potrebbero piacerti anche