SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le...

950
SINUMERIK SINUMERIK 840D sl / 828D Preparazione del lavoro Manuale di programmazione Valido per Controllo numerico SINUMERIK 840D sl / 840DE sl SINUMERIK 828D Software Versione Software CNC 2.7 02/2011 6FC5398-2BP40-1CA0 Premessa Programmazione NC flessibile 1 Gestione dei file e dei programmi 2 Settori di protezioni 3 Istruzioni di percorso speciali 4 Trasformazioni delle coordinate (FRAME) 5 Trasformazioni 6 Correzioni utensile 7 Comportamento sulla traiettoria 8 Accoppiamenti assi 9 Azioni sincrone al movimento 10 Pendolamento 11 Punzonatura e roditura 12 Rettifiche 13 Ulteriori funzioni 14 Programmi di sgrossatura personalizzati 15 Programmazione esterna di cicli 16 Tabelle 17 Appendice A

Transcript of SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le...

Page 1: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

 

SINUMERIK

SINUMERIK 840D sl / 828DPreparazione del lavoro

Manuale di programmazione

Valido per Controllo numerico  SINUMERIK 840D sl / 840DE sl  SINUMERIK 828D Software   Versione  Software CNC 2.7

02/20116FC5398-2BP40-1CA0

Premessa

Programmazione NC flessibile 1 Gestione dei file e dei programmi 2 Settori di protezioni 3 Istruzioni di percorso speciali 4 Trasformazioni delle coordinate (FRAME) 5 Trasformazioni 6 Correzioni utensile 7 Comportamento sulla traiettoria 8 Accoppiamenti assi 9 Azioni sincrone al movimento 10 Pendolamento 11 Punzonatura e roditura 12 Rettifiche 13 Ulteriori funzioni 14 Programmi di sgrossatura personalizzati 15 Programmazione esterna di cicli16 Tabelle 17 Appendice A 

Page 2: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Avvertenze di leggeConcetto di segnaletica di avvertimento

Questo manuale contiene delle norme di sicurezza che devono essere rispettate per salvaguardare l'incolumità personale e per evitare danni materiali. Le indicazioni da rispettare per garantire la sicurezza personale sono evidenziate da un simbolo a forma di triangolo mentre quelle per evitare danni materiali non sono precedute dal triangolo. Gli avvisi di pericolo sono rappresentati come segue e segnalano in ordine descrescente i diversi livelli di rischio.

Nel caso in cui ci siano più livelli di rischio l'avviso di pericolo segnala sempre quello più elevato. Se in un avviso di pericolo si richiama l'attenzione con il triangolo sul rischio di lesioni alle persone, può anche essere contemporaneamente segnalato il rischio di possibili danni materiali.

Personale qualificatoIl prodotto/sistema oggetto di questa documentazione può essere adoperato solo da personale qualificato per il rispettivo compito assegnato nel rispetto della documentazione relativa al compito, specialmente delle avvertenze di sicurezza e delle precauzioni in essa contenute. Il personale qualificato, in virtù della sua formazione ed esperienza, è in grado di riconoscere i rischi legati all'impiego di questi prodotti/sistemi e di evitare possibili pericoli.

Uso conforme alle prescrizioni di prodotti SiemensSi prega di tener presente quanto segue:

Marchio di prodottoTutti i nomi di prodotto contrassegnati con ® sono marchi registrati della Siemens AG. Gli altri nomi di prodotto citati in questo manuale possono essere dei marchi il cui utilizzo da parte di terzi per i propri scopi può violare i diritti dei proprietari.

Esclusione di responsabilitàAbbiamo controllato che il contenuto di questa documentazione corrisponda all'hardware e al software descritti. Non potendo comunque escludere eventuali differenze, non possiamo garantire una concordanza perfetta. Il contenuto di questa documentazione viene tuttavia verificato periodicamente e le eventuali correzioni o modifiche vengono inserite nelle successive edizioni.

PERICOLOquesto simbolo indica che la mancata osservanza delle opportune misure di sicurezza provoca la morte o gravi lesioni fisiche.

AVVERTENZAil simbolo indica che la mancata osservanza delle relative misure di sicurezza può causare la morte o gravi lesioni fisiche.

CAUTELAcon il triangolo di pericolo indica che la mancata osservanza delle relative misure di sicurezza può causare lesioni fisiche non gravi.

CAUTELAsenza triangolo di pericolo indica che la mancata osservanza delle relative misure di sicurezza può causare danni materiali.

ATTENZIONEindica che, se non vengono rispettate le relative misure di sicurezza, possono subentrare condizioni o conseguenze indesiderate.

AVVERTENZAI prodotti Siemens devono essere utilizzati solo per i casi d’impiego previsti nel catalogo e nella rispettiva documentazione tecnica. Qualora vengano impiegati prodotti o componenti di terzi, questi devono essere consigliati oppure approvati da Siemens. Il funzionamento corretto e sicuro dei prodotti presuppone un trasporto, un magazzinaggio, un’installazione, un montaggio, una messa in servizio, un utilizzo e una manutenzione appropriati e a regola d’arte. Devono essere rispettate le condizioni ambientali consentite. Devono essere osservate le avvertenze contenute nella rispettiva documentazione.

Siemens AGIndustry SectorPostfach 48 4890026 NÜRNBERGGERMANIA

N. di ordinazione documentazione: 6FC5398-2BP40-1CA0Ⓟ 12.2010

Copyright © Siemens AG2011.Con riserva di eventuali modifiche tecniche

Page 3: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Preparazione del lavoroManuale di programmazione 02/2011, 6FC5398-2BP40-1CA0 3

Premessa

Documentazione SINUMERIKLa documentazione SINUMERIK è suddivisa nelle seguenti categorie:

• Documentazione generale

• Documentazione per l'utente

• Documentazione per il costruttore / per il service

Ulteriori informazioniAll'indirizzo www.siemens.com/motioncontrol/docu sono riportate informazioni sui seguenti argomenti:

• Ordinazione della documentazione / Panoramica delle pubblicazioni

• Altri link per il download di documenti

• Utilizzo di documentazione online (reperimento di manuali/informazioni e ricerca al loro interno)

Per domande relative alla documentazione tecnica (ad es. suggerimenti, correzioni) si prega di inviare una e-mail al seguente indirizzo:

[email protected]

My Documentation Manager (MDM)Con il seguente link si trovano informazioni utili per organizzare una documentazione di macchina specifica per l'OEM sulla base dei contenuti Siemens:

www.siemens.com/mdm

Training Per informazioni sull'offerta di corsi consultare l'indirizzo Internet:

• www.siemens.com/sitrain

SITRAIN - i corsi proposti da Siemens per prodotti, sistemi e soluzioni della tecnica di automazione

• www.siemens.com/sinutrain

SinuTrain - software di addestramento per SINUMERIK

FAQPer informazioni sulle domande frequenti (FAQ, Frequently Asked Questions), consultare le pagine Service&Support alla voce Product Support. http://support.automation.siemens.com

Page 4: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Premessa

Preparazione del lavoro4 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

SINUMERIKInformazioni su SINUMERIK si trovano al link seguente:

www.siemens.com/sinumerik

DestinatariLa presente documentazione è rivolta a:

• programmatori

• progettisti

VantaggiCon l'ausilio del manuale di programmazione i destinatari hanno la possibilità di progettare, scrivere e testare programmi e interfacce software e di eliminare gli eventuali errori.

Configurazione standardNel presente Manuale di programmazione è descritta la funzionalità delle prestazioni standard. Per le funzionalità aggiuntive o sostitutive apportate dal costruttore della macchina si veda la documentazione del costruttore della macchina.

Il controllo numerico può contenere altre funzioni oltre a quelle descritte in questo manuale. Ciò non costituisce però obbligo di implementazione di tali funzioni in caso di nuove forniture o di assistenza tecnica.

Inoltre, per motivi di chiarezza, questa documentazione non riporta tutte le informazioni dettagliate relative alle varie esecuzioni del prodotto e non può nemmeno prendere in considerazione e trattare ogni possibile caso di montaggio, funzionamento e manutenzione.

Supporto tecnico Per i numeri telefonici dell'assistenza tecnica specifica dei vari Paesi, vedere il sito Internet http://www.siemens.com/automation/service&support

Page 5: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Premessa

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 5

Informazioni sulla struttura e sul contenuto

Manuale di programmazione "Nozioni di base" e "Preparazione del lavoro"Le descrizioni della programmazione NC sono suddivise in due manuali:

1. Nozioni di base

Il manuale di programmazione "Nozioni di base" serve all'operaio specializzato addetto alla macchina e presuppone adeguate conoscenze nell'ambito della foratura, fresatura e tornitura. Sulla base di semplici esempi di programmazione vengono spiegati i comandi e le istruzioni note anche dalla norma DIN 66025

2. Preparazione del lavoro

Il manuale di programmazione "Preparazione del lavoro" informa il tecnico su tutte le possibilità di programmazione esistenti. Grazie ad un linguaggio di programmazione speciale, il controllo numerico SINUMERIK consente la programmazione di un programma pezzo complesso (ad es. superfici a forma libera, coordinamento dei canali,...) e rende meno impegnative le programmazioni per il tecnico.

Disponibilità degli elementi di linguaggio NC descritti Tutti gli elementi del linguaggio NC descritti nel presente manuale sono disponibili per SINUMERIK 840D sl. La disponibilità per SINUMERIK 828D si può ricavare dalla tabella "Istruzioni: Disponibilità per SINUMERIK 828D [Pagina 881]".

Page 6: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Premessa

Preparazione del lavoro6 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Page 7: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Preparazione del lavoroManuale di programmazione 02/2011, 6FC5398-2BP40-1CA0 7

Indice del contenuto

Premessa.....................................................................................................................................................3

1 Programmazione NC flessibile ..................................................................................................................17

1.1 Variabili ...................................................................................................................................... 171.1.1 Informazioni generali sulle variabili ............................................................................................ 171.1.2 Variabili di sistema ..................................................................................................................... 181.1.3 Variabili utente predefinite: Parametri di calcolo (R) ................................................................. 211.1.4 Variabili utente predefinite: variabili link .................................................................................... 231.1.5 Definizione di variabili utente (DEF) .......................................................................................... 251.1.6 Ridefinizione delle variabili di sistema, variabili utente e istruzioni NC (REDEF) ...................... 311.1.7 Attributo: valore di inizializzazione ............................................................................................. 341.1.8 Attributo: valori limite (LLI, ULI) ................................................................................................. 371.1.9 Attributo: unità fisica (PHU) ....................................................................................................... 381.1.10 Attributo: diritti di accesso (APR, APW, APRP, APWP, APRB, APWB) .................................... 411.1.11 Panoramica degli attributi definibili e ridefinibili ......................................................................... 461.1.12 Definizione e inizializzazione delle variabili di campo (DEF, SET, REP) .................................. 471.1.13 Definizione e inizializzazione delle variabili di campo (DEF, SET, REP):

Ulteriori informazioni .................................................................................................................. 521.1.14 Tipi di dati .................................................................................................................................. 55

1.2 Programmazione indiretta ......................................................................................................... 561.2.1 Programmazione indiretta di indirizzi ......................................................................................... 561.2.2 Programmazione indiretta di codici G ........................................................................................ 591.2.3 Programmazione indiretta di attributi di posizione (GP) ............................................................ 601.2.4 Programmazione indiretta di righe di partprogram (EXECSTRING) ......................................... 63

1.3 Funzioni di calcolo ..................................................................................................................... 64

1.4 Operazioni logiche e di confronto .............................................................................................. 67

1.5 Correttore di precisione in caso di errori di confronto (TRUNC)................................................ 69

1.6 Minimo, massimo e campo delle variabili (MINVAL, MAXVAL e BOUND)................................ 71

1.7 Priorità delle operazioni ............................................................................................................. 73

1.8 Possibili conversioni di tipi......................................................................................................... 74

1.9 Operazioni su stringhe............................................................................................................... 751.9.1 Conversione di tipi in STRING (AXSTRING) ............................................................................. 761.9.2 Conversione di tipi da STRING (NUMBER, ISNUMBER, AXNAME) ........................................ 771.9.3 Concatenamento di stringhe (<<) .............................................................................................. 781.9.4 Conversione in lettere minuscole/maiuscole (TOLOWER, TOUPPER) .................................... 791.9.5 Determinazione della lunghezza di una stringa (STRLEN) ....................................................... 801.9.6 Ricerca carattere/stringa all'interno di una stringa (INDEX, RINDEX, MINDEX, MATCH) ........ 811.9.7 Selezione di una stringa parziale (SUBSTR) ............................................................................. 821.9.8 Selezione di una singola stringa (STRINGVAR, STRINGFELD) ............................................... 831.9.9 Formattazione di una stringa (SPRINT) .................................................................................... 84

1.10 Salti e diramazioni nel programma ............................................................................................ 931.10.1 Ritorno all'inizio del programma (GOTOS) ................................................................................ 931.10.2 Salti nel programma su etichette di salto (GOTOB, GOTOF, GOTO, GOTOC) ........................ 94

Page 8: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Indice del contenuto

Preparazione del lavoro8 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

1.10.3 Diramazione del programma(CASE ... OF ... DEFAULT ...) ...................................................... 97

1.11 Ripetizione di una parte di programma (REPEAT, REPEATB, ENDLABEL, P) ........................ 99

1.12 Strutture di controllo................................................................................................................. 1061.12.1 Loop di programma con alternativa (IF, ELSE, ENDIF) ........................................................... 1071.12.2 Loop di programma permanente (LOOP, ENDLOOP) ............................................................ 1091.12.3 Loop con conteggio (FOR ... TO ..., ENDFOR) ....................................................................... 1101.12.4 Loop di programma con condizione all'inizio del loop (WHILE, ENDWHILE) .......................... 1121.12.5 Loop di programma con condizione alla fine del loop (REPEAT, UNTIL) ............................... 1131.12.6 Esempio di programmazione con strutture di controllo annidate ............................................. 114

1.13 Coordinamento dei programmi (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM)................................................................................................................................. 115

1.14 Routine di interrupt (ASUP) ..................................................................................................... 1201.14.1 Funzione di una routine di interrupt ......................................................................................... 1201.14.2 Creazione di una routine di interrupt ........................................................................................ 1211.14.3 Assegnazione e avvio di routine di interrupt (SETINT, PRIO, BLSYNC) ................................. 1221.14.4 Disattivazione/riattivazione dell'assegnazione di una routine di interrupt (DISABLE,

ENABLE) ................................................................................................................................. 1241.14.5 Cancellazione dell'assegnazione di una routine di interrupt (CLRINT) ................................... 1251.14.6 Svincolo rapido dal profilo (SETINT LIFTFAST, ALF) ............................................................. 1261.14.7 Direzione di movimento durante lo svincolo rapido dal profilo ................................................. 1281.14.8 Sequenza di movimento nelle routine di interrupt .................................................................... 131

1.15 Scambio assi, scambio mandrini (RELEASE, GET, GETD).................................................... 132

1.16 Spostamento di un asse in un altro canale (AXTOCHAN) ...................................................... 137

1.17 Attivazione dei dati macchina (NEWCONF) ............................................................................ 139

1.18 Scrittura del file (WRITE) ......................................................................................................... 140

1.19 Cancellazione del file (DELETE) ............................................................................................. 146

1.20 Lettura di righe nel file (READ) ................................................................................................ 148

1.21 Verifica della presenza di un file (ISFILE)................................................................................ 152

1.22 Lettura delle informazioni sul file (FILEDATE, FILETIME, FILESIZE, FILESTAT, FILEINFO) ............................................................................................................................... 154

1.23 Calcolo del checksum mediante un campo (CHECKSUM) ..................................................... 158

1.24 Arrotondamento (ROUNDUP) ................................................................................................. 160

1.25 Tecnica dei sottoprogrammi .................................................................................................... 1611.25.1 Generalità ................................................................................................................................ 1611.25.1.1 Sottoprogramma ...................................................................................................................... 1611.25.1.2 Nomi dei sottoprogrammi ......................................................................................................... 1621.25.1.3 Annidamento dei sottoprogrammi ............................................................................................ 1631.25.1.4 Percorso di ricerca ................................................................................................................... 1641.25.1.5 Parametri formali e attuali ........................................................................................................ 1651.25.1.6 Trasferimento di parametri ....................................................................................................... 1661.25.2 Definizione di un sottoprogramma ........................................................................................... 1681.25.2.1 Sottoprogramma senza trasferimento di parametri ................................................................. 1681.25.2.2 Sottoprogramma con trasferimento di parametri Call-by-Value (PROC) ................................. 1691.25.2.3 Sottoprogramma con trasferimento di parametri Call-by-Reference (PROC, VAR) ................ 1701.25.2.4 Salvataggio delle funzioni G modali (SAVE) ............................................................................ 172

Page 9: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 9

Indice del contenuto

1.25.2.5 Soppressione esecuzione blocco singolo (SBLOF, SBLON): ................................................. 1731.25.2.6 Disattivazione della visualizzazione del blocco attuale (DISPLOF, DISPLON,

ACTBLOCNO) ......................................................................................................................... 1791.25.2.7 Identificazione di sottoprogrammi con preparazione (PREPRO) ............................................ 1831.25.2.8 Ritorno al sottoprogramma M17 .............................................................................................. 1841.25.2.9 Ritorno al sottoprogramma RET .............................................................................................. 1851.25.2.10Ritorno al sottoprogramma parametrizzabile (RET ...) ............................................................ 1861.25.3 Richiamo di un sottoprogramma .............................................................................................. 1931.25.3.1 Richiamo del sottoprogramma senza assegnazione di parametri ........................................... 1931.25.3.2 Richiamo del sottoprogramma con assegnazione di parametri (EXTERN) ............................. 1951.25.3.3 Numero di ripetizioni del programma (P) ................................................................................. 1971.25.3.4 Richiamo sottoprogramma modale (MCALL) .......................................................................... 1991.25.3.5 Richiamo indiretto di sottoprogramma (CALL) ........................................................................ 2011.25.3.6 Richiamo indiretto del sottoprogramma con indicazione della parte di programma

da eseguire (CALL BLOCK ... TO ...) ...................................................................................... 2021.25.3.7 Richiamo indiretto di un programma programmato in linguaggio ISO (ISOCALL) .................. 2031.25.3.8 Richiamo sottoprogramma con indicazione del percorso e parametri (PCALL) ...................... 2051.25.3.9 Estensione del percorso di ricerca nei richiami di sottoprogrammi (CALLPATH) ................... 2061.25.3.10Esecuzione di un sottoprogramma esterno (EXTCALL) .......................................................... 2081.25.4 Cicli .......................................................................................................................................... 2121.25.4.1 Parametrizzazione dei cicli utente ........................................................................................... 212

1.26 Tecnica delle macro (DEFINE ... AS) ...................................................................................... 216

2 Gestione dei file e dei programmi ...........................................................................................................219

2.1 Memoria dei programmi........................................................................................................... 219

2.2 Memoria di lavoro (CHANDATA, COMPLETE, INITIAL)......................................................... 224

2.3 Istruzione di strutturazione nell'editor Step (SEFORM)........................................................... 227

3 Settori di protezioni .................................................................................................................................229

3.1 Definizione dei settori di protezione (CPROTDEF, NPROTDEF)............................................ 229

3.2 Attivazione/disattivazione dei settori di protezione (CPROT, NPROT) ................................... 233

3.3 Verifica del superamento del settore di protezione, limitazione del campo di lavoro e finecorsa software (CALCPOSI).............................................................................................. 237

4 Istruzioni di percorso speciali ..................................................................................................................245

4.1 Raggiungimento di posizioni codificate (CAC, CIC, CDC, CACP, CACN) .............................. 245

4.2 Interpolazione spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) ..................................................................................................... 246

4.3 Raggruppamento spline (SPLINEPATH)................................................................................. 258

4.4 Compressione blocco NC (COMPON, COMPCURV, COMPCAD, COMPOF) ....................... 260

4.5 Interpolazione polinomica (POLY, POLYPATH, PO, PL) ........................................................ 263

4.6 Riferimento vettoriale impostabile, (SPATH, UPATH)............................................................. 269

4.7 Misura con tastatore a commutazione (MEAS, MEAW).......................................................... 272

4.8 Funzione di misura ampliata (MEASA, MEAWA, MEAC) (opzione)........................................ 275

4.9 Funzioni speciali per l’utente OEM (OMA1 ... OMA5, OEMIPO1,OEMIPO2, G810 ... G829) ...................................................................................................... 284

Page 10: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Indice del contenuto

Preparazione del lavoro10 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

4.10 Riduzione dell'avanzamento con rallentamento sugli spigoli (FENDNORM, G62, G621)....... 285

4.11 Criterio programmabile di fine movimento (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA) ............................................................................................................................. 286

4.12 Blocco parametri servo programmabile (SCPARA)................................................................. 289

5 Trasformazioni delle coordinate (FRAME) ..............................................................................................291

5.1 Trasformazione di coordinate con variabili Frame................................................................... 2915.1.1 Variabili frame predefinite ($P_BFRAME, $P_IFRAME, $P_PFRAME, $P_ACTFRAME) ...... 293

5.2 Variabili frame / assegnazione di valori frame......................................................................... 2985.2.1 Assegnazione di valori diretti (valore asse, angolo, scala) ...................................................... 2985.2.2 Leggere e modificare le componenti frame (TR, FI, RT, SC, MI) ............................................ 3015.2.3 Combinazione di frame completi ............................................................................................. 3025.2.4 Definizione di nuovi frame (DEF FRAME) ............................................................................... 304

5.3 Traslazione grossolana e fine (CFINE, CTRANS)................................................................... 305

5.4 Spostamento origine esterno................................................................................................... 307

5.5 Traslazione del preset (PRESETON) ..................................................................................... 308

5.6 Calcolo del frame in base a 3 punti di misura nello spazio (MEAFRAME) .............................. 310

5.7 Frame NCU globali .................................................................................................................. 3145.7.1 Frame specifici per canali ($P_CHBFR, $P_UBFR) ................................................................ 3155.7.2 Frame attivi nel canale ............................................................................................................. 316

6 Trasformazioni ........................................................................................................................................321

6.1 Programmazione generale dei tipi di trasformazione .............................................................. 3216.1.1 Movimenti di orientamento nelle trasformazioni ...................................................................... 3246.1.2 Panoramica della trasformazione dell'orientamento TRAORI ................................................. 327

6.2 Trasformazione a tre, quattro e cinque assi (TRAORI) ........................................................... 3296.2.1 Relazioni generali della testa portautensili cardanica .............................................................. 3296.2.2 Trasformazione a tre, quattro e cinque assi (TRAORI) ........................................................... 3326.2.3 Varianti della programmazione dell'orientamento e della posizione base (ORIRESET) ......... 3346.2.4 Programmazione dell'orientamento utensile (A..., B..., C..., LEAD, TILT) ............................... 3356.2.5 Fresatura frontale (fresatura 3D A4, B4, C4, A5, B5, C5) ....................................................... 3426.2.6 Riferimento degli assi di orientamento (ORIWKS, ORIMKS) .................................................. 3446.2.7 Programmazione degli assi di orientamento (ORIAXES, ORIVECT, ORIEULER,

ORIRPY, ORIRPY2, ORIVIRT1, ORIVIRT2) ........................................................................... 3466.2.8 Programmazione dell'orientamento lungo una superficie conica (ORIPLANE,

ORICONCW, ORICONCCW, ORICONTO, ORICONIO) ......................................................... 3486.2.9 Impostazione dell'orientamento di due punti di contatto (ORICURVE, PO[XH]=,

PO[YH]=, PO[ZH]=) ................................................................................................................. 352

6.3 Polinomi di orientamento (PO[angolo], PO[coordinate]).......................................................... 354

6.4 Rotazioni dell'orientamento utensile (ORIROTA, ORIROTR, ORIROTT, ORIROTC, THETA).................................................................................................................................... 356

6.5 Orientamenti relativi al percorso .............................................................................................. 3596.5.1 Tipi di orientamento relativi al percorso ................................................................................... 3596.5.2 Rotazione relativa al percorso dell'orientamento dell'utensile (ORIPATH, ORIPATHS,

angolo di rotazione) ................................................................................................................. 3616.5.3 Interpolazione relativa al percorso della rotazione dell'utensile (ORIROTC, THETA) ............. 362

Page 11: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 11

Indice del contenuto

6.5.4 Spianamento del percorso di orientamento (ORIPATHS A8=, B8=, C8=) .............................. 364

6.6 Compressione dell'orientamento (COMPON, COMPCURV, COMPCAD) .............................. 366

6.7 Spianamento del percorso di orientamento (ORISON, ORISOF) ........................................... 369

6.8 Trasformazione cinematica ..................................................................................................... 3716.8.1 Fresatura su pezzi torniti (TRANSMIT) ................................................................................... 3716.8.2 Trasformazione della superficie esterna del cilindro (TRACYL) .............................................. 3756.8.3 Asse inclinato (TRAANG) ........................................................................................................ 3836.8.4 Programmazione dell’asse inclinato (G05, G07) ..................................................................... 386

6.9 Movimento cartesiano PTP ..................................................................................................... 3886.9.1 PTP con TRANSMIT ............................................................................................................... 393

6.10 Condizioni marginali per l’attivazione di una trasformazione................................................... 397

6.11 Disattivazione della trasformazione (TRAFOOF) .................................................................... 398

6.12 Trasformazioni concatenate (TRACON, TRAFOOF) .............................................................. 399

7 Correzioni utensile ..................................................................................................................................401

7.1 Memoria di correzione ............................................................................................................. 401

7.2 Correzioni addizionali .............................................................................................................. 4047.2.1 Selezione di correzioni addizionali (DL) .................................................................................. 4047.2.2 Definizione dei valori di usura e di messa a punto ($TC_SCPxy[t,d], $TC_ECPxy[t,d]) .......... 4067.2.3 Cancellazione delle correzioni supplementari (DELDL) .......................................................... 407

7.3 Correzione utensile - casi speciali ........................................................................................... 4087.3.1 Specularità delle lunghezze utensili ........................................................................................ 4107.3.2 Valutazione dei segni dei componenti di usura ....................................................................... 4117.3.3 Sistema di coordinate della lavorazione attiva (TOWSTD, TOWMCS, TOWWCS,

TOWBCS, TOWTCS, TOWKCS) ............................................................................................ 4127.3.4 Lunghezza utensile e cambio del piano .................................................................................. 415

7.4 Correzione utensile online (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF) ........... 416

7.5 Attivazione delle correzioni utensili 3D (CUT3DC..., CUT3DF...) ............................................ 4217.5.1 Attivazione delle correzioni utensile 3D (CUT3DC, CUT3DF, CUT3DFS, CUT3DFF, ISD) .... 4217.5.2 Correzione utensile 3D: fresatura periferica e frontale ............................................................ 4237.5.3 Correzione utensile 3D: Forme dell'utensile e dati dell'utensile per fresatura frontale ............ 4257.5.4 Correzione utensile 3D: Correzione sulla traiettoria, curvatura della traiettoria, profondità

di penetrazione (CUT3DC, ISD) .............................................................................................. 4267.5.5 Correzione utensile 3D: Spigoli interni/Spigoli esterni e spostamento del punto di

intersezione (G450/G451) ....................................................................................................... 4297.5.6 Correzione utensile 3D: Fresatura periferica 3D con superfici limite ....................................... 4307.5.7 Correzione utensile 3D: Considerazione di una superficie limite (CUT3DCC, CUT3DCCD) .. 431

7.6 Orientamento dell'utensile (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST) ...... 435

7.7 Assegnazione di un numero D libero, numero del tagliente .................................................... 4417.7.1 Assegnazione di un numero D libero, numero del tagliente (indirizzo CE) ............................. 4417.7.2 Assegnazione libera dei numeri D: Controllo dei numeri D (CHKDNO) .................................. 4417.7.3 Assegnazione libera dei numeri D: Modifica dei nomi dei numeri D (GETDNO, SETDNO) .... 4427.7.4 Assegnazione libera dei numeri D: Individuazione del numero T per il numero D

preimpostato (GETACTTD) ..................................................................................................... 4437.7.5 Assegnazione libera dei numeri D: Impostazione non valida dei numeri D (DZERO) ............. 444

Page 12: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Indice del contenuto

Preparazione del lavoro12 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

7.8 Cinematica del portautensile ................................................................................................... 445

7.9 Correzione della lunghezza utensile per portautensili orientabili (TCARR, TCOABS, TCOFR, TCOFRX, TCOFRY, TCOFRZ) ................................................................................. 451

7.10 Correzione della lunghezza utensile on line (TOFFON, TOFFOF).......................................... 454

7.11 Modifica del dati dei taglienti con utensili orientabili (CUTMOD) ............................................. 457

8 Comportamento sulla traiettoria ..............................................................................................................463

8.1 Controllo tangenziale (TANG, TANGON, TANGOF, TLIFT, TANGDEL)................................. 463

8.2 Andamento dell'avanzamento (FNORM, FLIN, FCUB, FPO).................................................. 470

8.3 Esecuzione del programma con memoria di preelaborazione (STOPFIFO, STARTFIFO, FIFOCTRL, STOPRE) ............................................................................................................. 475

8.4 Interruzioni condizionate delle sezioni di programma (DELAYFSTON, DELAYFSTOF)......... 478

8.5 Inibire la zona di programma per SERUPRO (IPTRLOCK, IPTRUNLOCK)............................ 483

8.6 Riaccostamento al profilo (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN)................................................................ 486

8.7 Influenza della gestione dei movimenti.................................................................................... 4958.7.1 Correzione percentuale dello strappo (JERKLIM) ................................................................... 4958.7.2 Correzione percentuale della velocità (VELOLIM) ................................................................... 4968.7.3 Esempio di programma per JERKLIM e VELOLIM .................................................................. 499

8.8 Tolleranza programmabile di profilo/orientamento (CTOL, OTOL, ATOL) .............................. 500

8.9 Tolleranze per i movimenti G0 (STOLF).................................................................................. 504

9 Accoppiamenti assi .................................................................................................................................507

9.1 Trascinamento (TRAILON, TRAILOF)..................................................................................... 507

9.2 Tabelle di curve (CTAB) .......................................................................................................... 5119.2.1 Definizione delle tabelle delle curve (CTABDEF, CATBEND) ................................................. 5129.2.2 Verifica della presenza di una tabella delle curve (CTABEXISTS) .......................................... 5189.2.3 Eliminazione di tabelle delle curve (CTABDEL) ....................................................................... 5199.2.4 Inibizione dell'eliminazione e della sovrascrittura delle tabelle delle curve (CTABLOCK,

CTABUNLOCK) ....................................................................................................................... 5209.2.5 Tabelle delle curve: rilevamento delle proprietà delle tabelle (CTABID, CTABISLOCK,

CTABMEMTYP, CTABPERIOD) ............................................................................................. 5219.2.6 Lettura dei valori delle tabelle delle curve (CTABTSV, CTABTEV, CTABTSP, CTABTEP,

CTABSSV, CTABSEV, CTAB, CTABINV, CTABTMIN, CTABTMAX) ..................................... 5239.2.7 Tabelle delle curve: verifica dell'utilizzo delle risorse (CTABNO, CTABNOMEM,

CTABFNO, CTABSEGID, CTABSEG, CTABFSEG, CTABMSEG, CTABPOLID, CTABPOL, CTABFPOL, CTABMPOL) .................................................................................... 528

9.3 Accoppiamento assiale tramite valore master (LEADON, LEADOF) ...................................... 530

9.4 Cambio elettronico (EG) .......................................................................................................... 5369.4.1 Definizione del cambio elettronico (EGDEF) ........................................................................... 5369.4.2 Attivazione del cambio elettronico (EGON, EGONSYN, EGONSYNE) ................................... 5389.4.3 Disattivazione del cambio elettronico (EGOFS, EGOFC) ........................................................ 5419.4.4 Cancellazione della definizione di un cambio elettronico (EGDEL) ......................................... 5429.4.5 Avanzamento del giro (G95) / Cambio elettronico (FPR) ........................................................ 542

9.5 Mandrino sincrono ................................................................................................................... 543

Page 13: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 13

Indice del contenuto

9.5.1 Mandrino sincrono: Programmazione (COUPDEF, COUPDEL, COUPON, COUPONC, COUPOF, COUPOFS, COUPRES, WAITC) ........................................................................... 544

9.6 Raggruppamento master-/slave (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS).. 555

10 Azioni sincrone al movimento .................................................................................................................559

10.1 Nozioni di base ........................................................................................................................ 55910.1.1 Campo di validità e sequenza di lavorazione (ID, IDS) ........................................................... 56110.1.2 Verifica ciclica della condizione (WHEN, WHENEVER, FROM, EVERY) ............................... 56310.1.3 Azioni (DO) .............................................................................................................................. 565

10.2 Operatori per condizioni e azioni ............................................................................................. 566

10.3 Variabili di esecuzione per le azioni sincrone.......................................................................... 56810.3.1 Variabili di sistema ................................................................................................................... 56810.3.2 Conversione implicita del tipo .................................................................................................. 57010.3.3 Variabili GUD ........................................................................................................................... 57110.3.4 Identificatore asse di default (NO_AXIS) ................................................................................. 57310.3.5 Marker per azioni sincrone ($AC_MARKER[n]) ....................................................................... 57410.3.6 Parametri per azioni sincrone ($AC_PARAM[n]) ..................................................................... 57510.3.7 Parametri di calcolo ($R[n]) ..................................................................................................... 57510.3.8 Lettura/scrittura dei dati macchina NC e dei dati setting NC ................................................... 57610.3.9 Variabili del timer ($AC_Timer[n]) ............................................................................................ 57810.3.10 Variabili FIFO ($AC_FIFO1[n] ... $AC_FIFO10[n]) .................................................................. 57910.3.11 Informazioni sui tipi di blocco nell'interpolatore ($AC_BLOCKTYPE,

$AC_BLOCKTYPEINFO, $AC_SPLITBLOCK) ....................................................................... 581

10.4 Azioni nelle azioni sincrone ..................................................................................................... 58410.4.1 Panoramica delle possibili azioni nelle azioni sincrone ........................................................... 58410.4.2 Emissione di funzioni ausiliarie ................................................................................................ 58610.4.3 Impostazione del blocco lettura (RDISABLE) .......................................................................... 58710.4.4 Disattivazione stop preelaborazione (STOPREOF) ................................................................ 58810.4.5 Cancellazione percorso residuo (DELDTG) ............................................................................ 58910.4.6 Definizione dei polinomi (FCTDEF) ......................................................................................... 59110.4.7 Funzione sincrona (SYNFCT) ................................................................................................. 59410.4.8 Regolazione della distanza con correzione limitata ($AA_OFF_MODE) ................................. 59710.4.9 Correzione utensile on-line (FTOC) ......................................................................................... 60010.4.10 Correzione online della lunghezza utensile ($AA_TOFF) ........................................................ 60310.4.11 Movimenti di posizionamento .................................................................................................. 60510.4.12 Posizionamento dell’asse (POS) ............................................................................................. 60610.4.13 Posizione nell'intervallo di riferimento predefinito (POSRANGE) ............................................ 60810.4.14 Start/stop asse (MOV) ............................................................................................................. 60910.4.15 Scambio assi (RELEASE, GET) .............................................................................................. 61010.4.16 Avanzamento assiale (FA) ...................................................................................................... 61410.4.17 Finecorsa SW .......................................................................................................................... 61410.4.18 Coordinamento assi ................................................................................................................. 61510.4.19 Impostazione del valore reale (PRESETON) .......................................................................... 61610.4.20 Annillamento dell'abilitazione della rotazione container assi (AXCTSWEC) ........................... 61710.4.21 Movimenti del mandrino .......................................................................................................... 62010.4.22 Trascinamento (TRAILON, TRAILOF) ..................................................................................... 62110.4.23 Accoppiamento al valore master (LEADON, LEADOF) ........................................................... 62310.4.24 Misura (MEAWA, MEAC) ........................................................................................................ 62610.4.25 Inizializzazione delle variabili di campo (SET, REP) ............................................................... 62710.4.26 Impostazione/cancellazione di label di attesa (SETM, CLEARM) ........................................... 628

Page 14: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Indice del contenuto

Preparazione del lavoro14 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

10.4.27 Reazioni agli errori (SETAL) .................................................................................................... 62910.4.28 Avanzamento su riscontro fisso (FXS, FXST, FXSW, FOCON, FOCOF) ............................... 63010.4.29 Definizione dell'angolo della tangente vettoriale nella azioni sincrone .................................... 63210.4.30 Determinazione dell’override attuale ....................................................................................... 63310.4.31 Rilevazione del sovraccarico tramite il fabbisogno di tempo delle azioni sincrone .................. 634

10.5 Cicli tecnologici ........................................................................................................................ 63610.5.1 Variabile di contesto ($P_TECCYCLE) .................................................................................... 63910.5.2 Parametri Call-by-Value ........................................................................................................... 64010.5.3 Inizializzazione dei parametri di default ................................................................................... 64010.5.4 Controllo ed esecuzione di cicli tecnologici (ICYCOF, ICYCON) ............................................ 64110.5.5 Strutturazioni in cascata dei cicli tecnologici ............................................................................ 64210.5.6 Cicli tecnologici in azioni sincrone blocco per blocco .............................................................. 64210.5.7 Costrutti di controllo (IF) .......................................................................................................... 64310.5.8 Istruzioni di salto (GOTO, GOTOF, GOTOB) .......................................................................... 64310.5.9 Blocco, sblocco, reset (LOCK, UNLOCK, RESET) .................................................................. 644

10.6 Cancellazione dell'azione sincrona (CANCEL)........................................................................ 646

10.7 Comportamento di controllo in determinati stati operativi........................................................ 647

11 Pendolamento .........................................................................................................................................651

11.1 Pendolamento asincrono (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB)........................................................................................................................................ 651

11.2 Pendolamento controllato da azioni sincrone (OSCILL).......................................................... 657

12 Punzonatura e roditura ............................................................................................................................665

12.1 Attivazione, disattivazione ....................................................................................................... 66512.1.1 Attivazione o disattivazione di punzonatura e roditura (SPOF, SON, PON, SONS, PONS,

PDELAYON, PDELAYOF, PUNCHACC) ................................................................................ 665

12.2 Preparazione automatica del percorso.................................................................................... 67012.2.1 Suddivisione del percorso per assi di contornitura .................................................................. 67312.2.2 Suddivisione del percorso per singoli assi ............................................................................... 675

13 Rettifiche .................................................................................................................................................677

13.1 Sorveglianza utensili per rettifica nel partprogram (TMON, TMOF) ........................................ 677

14 Ulteriori funzioni ......................................................................................................................................679

14.1 Funzioni per gli assi (AXNAME, AX, SPI, AXTOSPI, ISAXIS, AXSTRING, MODAXVAL) ...... 679

14.2 Assi geometrici commutabili (GEOAX) .................................................................................... 682

14.3 Container assi (AXCTSWE, AXCTSWED, AXCTSWEC)........................................................ 687

14.4 Attesa di posizione asse valida (WAITENC)............................................................................ 693

14.5 Verifica del set di istruzioni del linguaggio NC presente (STRINGIS) ..................................... 695

14.6 Richiamo della funzione ISVAR e lettura dei dati macchina indice dell'array.......................... 699

14.7 Apprendimento delle curve di compensazione (QECLRNON, QECLRNOF) .......................... 701

14.8 Richiamo interattivo della finestra dal partprogram (MMC) ..................................................... 703

14.9 Tempo di esecuzione del programma / Contapezzi ................................................................ 70414.9.1 Tempo di esecuzione del programma / Contapezzi (panoramica) .......................................... 70414.9.2 Tempo di esecuzione del programma ..................................................................................... 705

Page 15: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 15

Indice del contenuto

14.9.3 Funzione di conteggio dei pezzi .............................................................................................. 709

14.10 Emissione su un dispositivo/file esterno (EXTOPEN, WRITE, EXTCLOSE) .......................... 710

14.11 Allarme (SETAL)...................................................................................................................... 720

14.12 Arresto ampliato e svincolo autarchico dell'azionamento (ESR) ............................................. 72214.12.1 Progettazione dell'arresto autarchico dell'azionamento (ESRS) ............................................. 72214.12.2 Progettazione dello svincolo autarchico dell'azionamento (ESRR) ......................................... 723

15 Programmi di sgrossatura personalizzati ................................................................................................725

15.1 Funzioni di supporto per l'asportazione................................................................................... 725

15.2 Creazione della tabella dei profili (CONTPRON)..................................................................... 726

15.3 Creazione della tabella dei profili codificata (CONTDCON) .................................................... 732

15.4 Individuazione del punto di intersezione fra due elementi del profilo (INTERSEC)................. 736

15.5 Esecuzione blocco a blocco di elementi del profilo di una tabella (EXECTAB)....................... 738

15.6 Calcolo dei dati del cerchio (CALCDAT) ................................................................................. 739

15.7 Disattivazione della preparazione del profilo (EXECUTE)....................................................... 741

16 Programmazione esterna di cicli .............................................................................................................743

16.1 Cicli tecnologici........................................................................................................................ 74316.1.1 Premessa ................................................................................................................................ 74316.1.2 Foratura, centratura - CYCLE81 .............................................................................................. 74516.1.3 Foratura, svasatura - CYCLE82 .............................................................................................. 74616.1.4 Alesatura - CYCLE85 .............................................................................................................. 74716.1.5 Foratura profonda - CYCLE83 ................................................................................................. 74816.1.6 Svasatura - CYCLE86 ............................................................................................................. 75016.1.7 Maschiatura senza utensile compensato - CYCLE84 ............................................................. 75116.1.8 Maschiatura con utensile compensato - CYCLE840 ............................................................... 75416.1.9 Fresatura-foratura di filetti - CYCLE78 .................................................................................... 75616.1.10 Posizioni a piacere - CYCLE802 ............................................................................................. 75816.1.11 Serie di fori - HOLES1 ............................................................................................................. 76016.1.12 Reticolo o cornice - CYCLE801 ............................................................................................... 76116.1.13 Cerchio di fori - HOLES2 ......................................................................................................... 76216.1.14 Fresatura a spianare - CYCLE61 ............................................................................................ 76316.1.15 Fresatura tasca rettangolare - POCKET3 ............................................................................... 76516.1.16 Fresatura di una tasca circolare - POCKET4 .......................................................................... 76816.1.17 Fresatura di perni rettangolari - CYCLE76 .............................................................................. 77016.1.18 Fresatura di perni circolari - CYCLE77 .................................................................................... 77216.1.19 Poligono - CYCLE79 ............................................................................................................... 77416.1.20 Cava longitudinale - SLOT1 .................................................................................................... 77616.1.21 Cava circolare - SLOT2 ........................................................................................................... 77916.1.22 Fresatura di cava aperta - CYCLE899 .................................................................................... 78216.1.23 Asola - LONGHOLE ................................................................................................................ 78416.1.24 Filettatura con fresa - CYCLE70 .............................................................................................. 78616.1.25 Ciclo di incisione - CYCLE60 ................................................................................................... 78816.1.26 Richiamo profilo - CYCLE62 .................................................................................................... 79116.1.27 Fresatura continua - CYCLE72 ............................................................................................... 79216.1.28 Preforatura profilo della tasca - CYCLE64 .............................................................................. 79516.1.29 Fresatura profilo della tasca - CYCLE63 ................................................................................. 79716.1.30 Sgrossatura - CYCLE951 ........................................................................................................ 799

Page 16: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Indice del contenuto

Preparazione del lavoro16 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

16.1.31 Gola - CYCLE930 .................................................................................................................... 80216.1.32 Forme di scarico - CYCLE940 ................................................................................................. 80516.1.33 Filettatura - CYCLE99 .............................................................................................................. 80816.1.34 Serie di filetti - CYCLE98 ......................................................................................................... 81116.1.35 Troncatura - CYCLE92 ............................................................................................................ 81416.1.36 Troncatura del profilo - CYCLE952 .......................................................................................... 81616.1.37 Orientamento - CYCLE800 ...................................................................................................... 82116.1.38 High Speed Settings - CYCLE832 ........................................................................................... 82416.1.39 Asportazione del truciolo ad alta velocità (HSC) - CYCLE_HSC ............................................. 825

17 Tabelle ....................................................................................................................................................827

17.1 Istruzioni .................................................................................................................................. 827

17.2 Istruzioni: Disponibilità per SINUMERIK 828D ........................................................................ 881

17.3 Linguaggio attuale nell'HMI ..................................................................................................... 903

A Appendice ...............................................................................................................................................905

A.1 Elenco delle abbreviazioni ....................................................................................................... 905

A.2 Panoramica della documentazione.......................................................................................... 910

Glossaire ..................................................................................................................................................913

Page 17: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Preparazione del lavoroManuale di programmazione 02/2011, 6FC5398-2BP40-1CA0 17

1Programmazione NC flessibile

1.1 Variabili

1.1.1 Informazioni generali sulle variabiliUtilizzando le variabili, in particolare unitamente alle funzioni di calcolo e alle strutture di controllo, è possibile strutturare i programma pezzo e i cicli in modo estremamente flessibile. Alla scopo sono messe a disposizione dal sistema tre tipi diversi di variabili:

• Variabili di sistema

Le variabili di sistema sono variabili definite nel sistema e messe a disposizione dell'utente, aventi un significato prestabilito. Vengono lette e scritte anche dal software di sistema. Esempio: Dati macchina

Il significato di una variabile di sistema è prefissato dal sistema e le loro proprietà sono predefinite al massimo. In minima misura, è tuttavia possibile che l'utente adatti le proprietà mediante una ridefinizione. Vedere "Ridefinizione delle variabili di sistema, variabili utente e istruzioni NC (REDEF) [Pagina 31]"

• Variabili utente

Le variabili utente sono variabili il cui significato non è noto al sistema e che il sistema non analizza. Il significato è fissato esclusivamente dall'utente.

Le variabili utente si suddividono in:- Variabili utente predefinite

Le variabili utente predefinite sono variabili già definite nel sistema; è sufficiente che l'utente ne parametrizzi il numero tramite specifici dati macchina. Le proprietà di queste variabili possono essere adattate in massimo libertà dall'utente. Vedere "Ridefinizione delle variabili di sistema, variabili utente e istruzioni NC (REDEF) [Pagina 31]".

- Variabili definite dall'utente

Le variabili definite dall'utente sono variabili che vengono definite esclusivamente dall'utente e create dal sistema soltanto al runtime. Il loro numero, tipo di dati, visibilità e tutte le altre proprietà vengono esclusivamente fissate dall'utente.

Vedere "Definizione di variabili utente (DEF) [Pagina 25]"

Page 18: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.1 Variabili

Preparazione del lavoro18 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Vedere ancheVariabili di sistema Variabili di sistema [Pagina 18]

Variabili utente predefinite: Parametri di calcolo (R) Variabili utente predefinite: Parametri di calcolo (R) [Pagina 21]

Variabili utente predefinite: variabili link Variabili utente predefinite: variabili link [Pagina 23]

Attributo: valore di inizializzazione Attributo: valore di inizializzazione [Pagina 34]

Attributo: valori limite (LLI, ULI) Attributo: valori limite (LLI, ULI) [Pagina 37]

Attributo: unità fisica (PHU) Attributo: unità fisica (PHU) [Pagina 38]

Attributo: diritti di accesso (APR, APW, APRP, APWP, APRB, APWB) Attributo: diritti di accesso (APR, APW, APRP, APWP, APRB, APWB) [Pagina 41]

Panoramica degli attributi definibili e ridefinibili Panoramica degli attributi definibili e ridefinibili [Pagina 46]

Definizione e inizializzazione delle variabili di campo (DEF, SET, REP) Definizione e inizializzazione delle variabili di campo (DEF, SET, REP) [Pagina 47]

Tipi di dati Tipi di dati [Pagina 55]

1.1.2 Variabili di sistemaLe variabili di sistema sono variabili predefinite nel sistema che nei programmi pezzo e nei cicli consentono di accedere alla parametrizzazione attuale del controllore, come gli stati della macchina, del controllore e del processo.

Variabili di preelaborazionePer variabili di preelaborazione si intendono le variabili di sistema che vengono lette e scritte contestualmente alla preelaborazione blocchi, ossia al momento dell'interpretazione del blocco di programma pezzo in cui la variabile di sistema è programmata. Le variabili di preelaborazione non attivano uno stop di preelaborazione.

Variabili di ciclo principalePer variabili di ciclo principale si intendono le variabili di sistema che vengono lette o scritte contestualmente al ciclo principale, ossia al momento dell'esecuzione del blocco di programma pezzo in cui la variabile di sistema è programmata. Variabili di ciclo principale sono:

• Variabili di sistema programmabili nelle azioni sincrone (lettura/scrittura)

• Variabili di sistema programmabili nel programma pezzo e che attivano uno stop di preelaborazione (lettura/scrittura)

• Variabili di sistema programmabili nel programma pezzo e il cui valore viene determinato nella preelaborazione blocchi ma scritto solo nel ciclo principale (con sincronismo rispetto al ciclo principale: solo scrittura)

Page 19: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.1 Variabili

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 19

Sistematica del prefissoPer contrassegnare le variabili di sistema il loro nome è normalmente preceduto da un prefisso, costituito dal carattere $ che è seguito da una o due lettere e da un underscore:

Condizioni marginali

Eccezioni nella sistematica del prefisso

Le seguenti variabili di sistema si discostano dalla suddetta sistematica del prefisso:

• $TC_...: la 2a lettera C non rinvia qui a variabili di sistema specifiche di canale ma a variabili di sistema specifiche per supporto utensile (TC = Tool Carrier)

• $P_ ...: variabili di sistema specifiche di canale

$ + 1ª lettera Significato: Tipo di datiVariabili di sistema che vengono lette/scritte nella preelaborazione blocchi$M Dati macchina1)

$S Dati setting, settori di protezione 1)

$T Dati di gestione utensili$P Valori programmati$C Variabili cicliche dei cicli shell ISO$O Dati opzionaliR Parametri R (parametri di calcolo)2)

Variabili di sistema che vengono lette/scritte nel ciclo principale$$M Dati macchina1)

$$S Dati setting1)

$A Dati attuali del ciclo principale$V Dati servo$R Parametri R (parametri di calcolo)2)

1) Utilizzando i dati macchina e i dati setting nel programma pezzo / ciclo come variabile di preelaborazione, il prefisso viene scritto con un carattere $. Se l'utilizzo avviene in azioni sincrone come variabile di ciclo principale, il prefisso viene scritto con due caratteri $. 2) Utilizzando un parametro R nel programma pezzo / ciclo come variabile di preelaborazione, non viene scritto alcun prefisso, ad es. R10. Se l'utilizzo avviene in un'azione sincrona come variabile di ciclo principale, il prefisso viene scritto come carattere $, ad es. $R10.

2ª lettera Significato: VisibilitàN Variabile globale NCK (NCK)C Variabile specifica di canale (Channel)A Variabile specifica per asse (Axis)

Page 20: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.1 Variabili

Preparazione del lavoro20 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Utilizzo di dati macchina e dati setting nelle azioni sincrone

Utilizzando i dati macchina e i dati setting nelle azioni sincrone è possibile determinare mediante il prefisso se leggere/scrivere il dato macchina o dato setting in modo sincrono alla preelaborazione blocchi o all’elaborazione principale.

Se durante l'elaborazione il dato rimane invariato, è possibile una lettura sincrona alla preelaborazione blocchi. Allo scopo, il prefisso del dato macchina o dato setting viene scritto con un carattere $:

Se durante l'elaborazione il dato viene variato, è necessaria una lettura/scrittura sincrona all’elaborazione principale. Allo scopo, il prefisso del dato macchina o dato setting viene scritto con due caratteri $:

BibliografiaUn elenco delle proprietà di tutte le variabili di sistema si trova in:

Manuale delle liste Variabili di sistema

Vedere ancheInformazioni generali sulle variabili Informazioni generali sulle variabili [Pagina 17]

Codice di programma

ID=1 WHENEVER G710 $AA_IM[z] < $SA_OSCILL_REVERSE_POS2[Z]–6 DO $AA_OVR[X]=0

Codice di programma

ID=1 WHENEVER $AA_IM[z] < $$SA_OSCILL_REVERSE_POS2[Z]–6 DO $AA_OVR[X]=0

NotaScrittura di dati macchinaDurante la scrittura di un dato macchina o dato setting è necessario sincerarsi che il livello attivo di accesso al momento dell'esecuzione del programma pezzo / ciclo consenta l'accesso in scrittura e che l'efficacia del dato sia "IMMEDIATE".

Page 21: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.1 Variabili

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 21

1.1.3 Variabili utente predefinite: Parametri di calcolo (R)

Funzione I parametri di calcolo, o parametri R, sono una variabile utente predefinita con la designazione R, definita come campo del tipo di dati REAL. A causa delle convenzioni usate in passato, per i parametri R è consentita, oltre alla scrittura con indice di campo, ad es. R[10], anche la scrittura senza indice di campo, ad es. R10.

Utilizzando le azioni sincrone è necessario anteporre il carattere $, ad es. $R10.

SintassiIn caso di impiego come variabile di preelaborazione:R<n>R[<espressione>]

In caso di impiego come variabile di ciclo principale:$R<n>$R[<espressione>]

Significato

R: Identificatore dell'impiego come variabile di preelaborazione, ad es. nel programma pezzo

$R: Identificatore dell'impiego come variabile di ciclo principale, ad es. nelle azioni sincroneTipo: REALCampo dei valori: Con scrittura non esponenziale:

± (0.000 0001 ... 9999 9999)Nota:sono consentite al massimo 8 cifre decimaliCon scrittura esponenziale:± (1*10-300 ... 1*10+300)Nota:• Notazione: <mantissa>EX<esponente>

ad es. 8.2EX-3• Sono consentiti al massimo 10 caratteri,

incluso segno e punto decimale.

Page 22: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.1 Variabili

Preparazione del lavoro22 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

EsempioAssegnazioni ai parametri R e uso dei parametri R nelle funzioni matematiche:

Vedere ancheInformazioni generali sulle variabili Informazioni generali sulle variabili [Pagina 17]

<n>: Numero del parametro RTipo: INTCampo dei valori: 0 - MAX_INDEX

NotaMAX_INDEX risulta dal numero parametrizzato di parametri R: MAX_INDEX = (MD28050 $MN_MM_NUM_R_PARAM) - 1

<espressione>: Indice di campoSi può specificare come indice di campo qualsiasi espressione, sempre che il risultato dell'espressione possa essere convertito nel tipo di dati INT (INT, REAL, BOOL, CHAR)

Codice di programma Commento

R0=3.5678 ; Assegnazione nella preelaborazione blocchi

R[1]=-37.3 ; Assegnazione nella preelaborazione blocchi

R3=-7 ; Assegnazione nella preelaborazione blocchi

$R4=-0.1EX-5 ; Assegnazione nel ciclo principale: R4 = -0.1 * 10^-5

$R[6]=1.874EX8 ; Assegnazione nel ciclo principale: R6 = 1.874 * 10^8

R7=SIN(25.3) ; Assegnazione nella preelaborazione blocchi

R[R2]=R10 ; Indirizzamento indiretto tramite parametro R

R[(R1+R2)*R3]=5 ; Indirizzamento indiretto tramite espressione mat.

X=(R1+R2) ; Movimento dell'asse X sulla posizione che risulta dalla somma di R1 e R2

Z=SQRT(R1*R1+R2*R2) ; Movimento dell'asse Z sulla posizione radice quadrata(R1^2 + R2^2)

Page 23: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.1 Variabili

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 23

1.1.4 Variabili utente predefinite: variabili link

Funzione Tramite la variabili link è possibile scambiare ciclicamente, nell'ambito della funzione "NCU Link", dati tra NCU collegati tra loro in una rete. In questo modo esse consentono un accesso specifico per formato dati alla memoria delle variabili link. La memoria delle variabili link viene stabilita secondo le specificità dell'impianto - rispetto sia all'entità, sia alla struttura dei dati - dall'utente / dal costruttore della macchina.

Le variabili link sono variabili utente globali a livello di sistema che possono essere lette e scritte durante la comunicazione link progettata di tutte le NCU del gruppo di link nei programmi pezzo e nei cicli. A differenza delle variabili utente globali (GUD), le variabili link possono essere utilizzate anche nelle azioni sincrone.

Per gli impianti senza link NCU attivi, le variabili link possono essere utilizzate localmente, a livello di controllore, oltre alle variabili utente globali (GUD), in funzione di variabili utente globali aggiuntive.

Sintassi$A_DLB[<indice>]$A_DLW[<indice>]$A_DLD[<indice>]$A_DLR[<indice>]

Significato

$A_DLB: Variabile link per formato dati BYTE (1 byte)Tipo di dati: UINTCampo dei valori: 0 ... 255

$A_DLW: Variabile link per formato dati WORD (2 byte)Tipo di dati: INTCampo dei valori: -32768 ... 32767

$A_DLD: Variabile link per formato dati DWORD (4 byte)Tipo di dati: INTCampo dei valori: -2147483648 ... 2147483647

$A_DLR: Variabile link per formato dati REAL (8 byte)Tipo di dati: REALCampo dei valori: ±(2,2*10-308 … 1,8*10+308)

Page 24: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.1 Variabili

Preparazione del lavoro24 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

EsempioNell'impianto di automazione sono presenti 2 NCU (NCU1 e NCU2). Alla NCU1 è collegato l'asse di macchina AX2, che viene mosso come asse link della NCU2.

NCU1 scrive ciclicamente il valore attuale di corrente ($VA_CURR) dell'asse AX2 nella memoria delle variabili link. NCU2 legge ciclicamente il il valore attuale di corrente trasmesso mediante la comunicazione link e, al superamento del valore limite, emette l'allarme 61000.

La struttura dei dati nella memoria delle variabili link è raffigurata nello schema seguente. Il valore attuale di corrente è trasferito tramite il valore REAL.

<indice>: Indice d'indirizzamento in byte, calcolato dall'inizio della memoria delle variabili linkTipo di dati: INTCampo dei valori: 0 - MAX_INDEX

Nota• MAX_INDEX risulta dalla grandezza

parametrizzata della memoria delle variabili link: MAX_INDEX = (MD18700 $MN_MM_SIZEOF_LINKVAR_DATA) - 1

• È consentito programmare solo indici, in modo che i byte indirizzati nella memoria delle variabili link si trovino su un limite di formato dati ⇒ indice = n * byte, dove n = 0, 1, 2, ...– $A_DLB[i]: i = 0, 1, 2, ...– $A_DLW[i]: i = 0, 2, 4, ...– $A_DLD[i]: i = 0, 4, 8, ...– $A_DLR[i]: i = 0, 8, 16, ...

Page 25: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.1 Variabili

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 25

NCU1NCU1 scrive ciclicamente in un'azione sincrona statica nel clock di interpolazione il valore attuale di corrente dell'asse AX2 tramite la variabile link $A_DLR[ 16 ] nella memoria delle variabili link.

NCU2NCU1 legge ciclicamente in un'azione sincrona statica nel clock di interpolazione il valore attuale di corrente dell'asse AX2 tramite la variabile link $A_DLR[ 16 ] dalla memoria delle variabili link. Se il valore attuale di corrente è maggiore di 23.0 A, viene visualizzato l'allarme 61000.

Vedere ancheInformazioni generali sulle variabili Informazioni generali sulle variabili [Pagina 17]

1.1.5 Definizione di variabili utente (DEF)

Funzione Con il comando DEF si possono definire variabili personalizzate e assegnare loro dei valori. Per differenziarle dalle variabili di sistema, queste vengono denominate come variabili definite dall'utente o variabili utente (User Data) .

In rapporto al campo di validità, ossia l'area in cui la variabile è visibile, esistono le seguenti categorie di variabili utente:

• Variabili utente locali (LUD)

Le variabili utente locali (LUD) sono variabili definite in un programma pezzo, che al momento dell'elaborazione non è il programma principale. Vengono create al richiamo del programma pezzo e cancellate alla fine del programma pezzo e/o tramite NC-Reset. Le variabili LUD sono accessibili solo all'interno del programma pezzo nel quale sono definite.

• Variabili utente globali a livello di programma (PUD)

Le variabili utente (PUD) globali a livello di programma sono variabili definite all'interno di un programma pezzo utilizzato come programma principale. Vengono create all'avvio del programma pezzo e cancellate alla fine del programma pezzo o tramite NC-Reset. Le variabili PUD sono accessibili nel programma principale e in tutti i sottoprogrammi.

• Variabili utente globali (GUD)

Le variabili utente globali (GUD) sono variabili globali a livello di NC / canale, che sono definite in un blocco dati (SGUD, MGUD, UGUD, GUD4 ... GUD9) e restano attive anche in seguito a Power On. Le variabili GUD sono accessibili in tutti i programmi pezzo.

Codice di programma

N111 IDS=1 WHENEVER TRUE DO $A_DLR[16]=$VA_CURR[AX2]

Codice di programma

N222 IDS=1 WHEN $A_DLR[16] > 23.0 DO SETAL(61000)

Page 26: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.1 Variabili

Preparazione del lavoro26 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Le variabile utente devono essere definite prima del loro utilizzo (lettura/scrittura). Occorre osservare le seguenti regole:

• Le variabili GUD devono essere definite in un file di definizione ad es. _N_DEF_DIR/_M_SGUD_DEF.

• Le variabili PUD e LUD devono essere definite nel settore di definizione di un programma pezzo.

• La definizione dei dati deve avvenire in un blocco a sé stante.

• Per ciascuna definizione dei dati è ammesso utilizzare un solo tipo di dati.

• Per ciascuna definizione dei dati si possono definire più variabili dello stesso tipo di dati.

SintassiDEF <campo> <tipo> <stop_VL> <istante_init> <unità_fis> <valori_limite> <autorizzazioni_accesso> <nome>[<valore_1>,<valore_2>,<valore_3>]=<valore_init>

Significato

DEF: Comando per la definizione delle variabili utente GUD, PUD, LUD

<campo>: Campo di validità, riguardante solo le variabili GUD: NCK: Variabile utente globale a livello di NCCHAN: Variabile utente globale a livello di canale

<tipo>: Tipo di dati:INT: Valore intero con segnoREAL: Numero reale (LONG REAL

secondo IEEE)BOOL: Valore logico TRUE (1) /

FALSE (0)CHAR: Carattere ASCIISTRING[<lunghezza_max>]: Stringa di caratteri di

lunghezza definitaAXIS: Identificatore asse /

mandrinoFRAME: Dati geometrici per una

trasformazione statica delle coordinate

vedere "Tipi di dati [Pagina 55] "<stop_VL>: Stop di preelaborazione, riguardante solo le variabili GUD

(opzionale):SYNR: Stop preelaborazione in letturaSYNW: Stop preelaborazione in scritturaSYNRW: Stop preelaborazione in lettura/scrittura

Page 27: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.1 Variabili

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 27

<istante_init>: Istante in cui la variabile viene reinizializzata (opzionale)INIPO: Power OnINIRE: Fine del programma principale, NC-Reset o

Power OnINICF: NewConfig o fine del programma principale,

NC-Reset o Power OnPRLOC: Fine del programma principale, NC-Reset dopo

modifica locale o Power Onvedere "Attributo: valore di inizializzazione [Pagina 34] "

<unità_fis>: Unità fisica (opzionale) PHU <unità>:vedere "Attributo: unità fisica (PHU) [Pagina 38] "

<valori_limite>: Valore limite inferiore e superiore (opzionale) LLI <valore_limite>: Valore limite inferiore (lower limit)ULI <valore_limite>: Valore limite superiore (upper

limit)vedere "Attributo: valori limite (LLI, ULI) [Pagina 37] "

<autorizzazioni_ac

cesso>:Autorizzazioni di accesso per la lettura/scrittura di GUD tramite programma pezzo o interfaccia per pannello operativo (opzionale)APRP <livello_protezione>: lettura: Programma pezzoAPWP <livello_protezione>: scrittura: Programma pezzoAPRB <livello_protezione>: lettura: BTSSAPWB <livello_protezione>: scrittura: BTSS

Livello di protezione

Campo di valori: 0 ... 7

vedere "Attributo: diritti di accesso (APR, APW, APRP, APWP, APRB, APWB) [Pagina 41] "

<nome>: Nome delle variabiliNota• Max. 31 caratteri• I primi due caratteri devono essere una lettera e/o un underscore.• Il carattere "$" è riservato alle variabili di sistema e non deve essere utilizzato.

[<valore_1>, <valore_2>,

<valore_3>]:

Definizione delle grandezze di campo per le variabili di campo da 1 a 3 dimensioni (opzionale)

<valore_init>: Valore di inizializzazione (opzionale)vedere "Attributo: valore di inizializzazione [Pagina 34] "Per l'inizializzazione delle variabili di campo:vedere "Definizione e inizializzazione delle variabili di campo (DEF, SET, REP) [Pagina 47] "

Page 28: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.1 Variabili

Preparazione del lavoro28 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

EsempiEsempio 1: definizioni di variabili utente nel blocco dati per il costruttore della macchina

Codice di programma

%_N_MGUD_DEF ; Blocco GUD: Costruttore della macchina

$PATH=/_N_DEF_DIR

DEF CHAN REAL PHU 24 LLI 0 ULI 10 STROM_1, STROM_2

; Descrizione

; Definizione di due GUD: CORRENTE_1, CORRENTE_2

; Campo di validità: Per il canale

; Tipo di dati: REAL

; Stop VL: non programmato => valore predefinito = nessuno Stop VL

; Unità fisica: 24 = [A]

; Valori limite: Low = 0.0, High = 10.0

; Autorizzazioni di accesso: non programmate => valore di default = 7 = posizione 0 del selettore a chiave

; Valore di inizializzazione: non programmato => valore predefinito = 0.0

DEF NCK REAL PHU 13 LLI 10 APWP 3 APRP 3 APWB 0 APRB 2 ZEIT_1=12, ZEIT_2=45

; Descrizione

; Definizione di due GUD: TEMPO_1, TEMPO_2

; Campo di validità: Per l'NCK

; Tipo di dati: REAL

; Stop VL: non programmato => valore predefinito = nessuno Stop VL

; Unità fisica: 13 = [s]

; Valori limite: Low = 10.0, High = non programmato => limite superiore del campo di definizione

; Autorizzazioni di accesso:

; Programma pezzo: scrittura/lettura = 3 = utente finale

; BTSS: scrittura = 0 = Siemens, lettura = 3 = utente finale

; Valore di inizializzazione: TEMPO_1 = 12.0, TEMPO_2 = 45.0

DEF NCK APWP 3 APRP 3 APWB 0 APRB 3 STRING[5] GUD5_NAME = "COUNTER"

; Descrizione

; Definizione di un GUD: GUD5_NAME

; Campo di validità: Per l'NCK

; Tipo di dati: STRING, max. 5 caratteri

; Stop VL: non programmato => valore predefinito = nessuno Stop VL

; Unità fisica: non programmata => valore di default = 0 = nessuna unità fis.

; Valori limite: non programmati => limiti del campo di definizione: Low = 0, High = 255

; Autorizzazioni di accesso:

; Programma pezzo: scrittura/lettura = 3 = utente finale

; BTSS: scrittura = 0 = Siemens, lettura = 3 = utente finale

; Valore di inizializzazione: "COUNTER"

M30

Page 29: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.1 Variabili

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 29

Esempio 2: variabili utente globali e locali a livello di programma (PUD / LUD)

Esempio 3: definizione e uso delle variabili utente del tipo di dati AXIS

Codice di programma Commento

PROC MAIN ; Programma principale

DEF INT VAR1 ; Definizione PUD

...

SUB2 ; Richiamo sottoprogramma

...

M30

Codice di programma Commento

PROC SUB2 ; Sottoprogramma SUB2

DEF INT VAR2 ; DEFINIZIONE LUD

...

IF (VAR1==1) ; Lettura PUD

VAR1=VAR1+1 ; Lettura e scrittura PUD

VAR2=1 ; Scrittura LUD

ENDIF

SUB3 ; Richiamo sottoprogramma

...

M17

Codice di programma Commento

PROC SUB3 ; Sottoprogramma SUB3

...

IF (VAR1==1) ; Lettura PUD

VAR1=VAR1+1 ; Lettura e scrittura PUD

VAR2=1 ; Errore: LUD in SUB2 non riconosciuta

ENDIF

...

M17

Codice di programma Commento

DEF AXIS ASCISSE ; 1. Asse geometrico

DEF AXIS SPINDLE ; Mandrino

...

IF ISAXIS(1)==FALSE GOTOF CONTINUA

ASCISSE = $P_AXN1

CONTINUA:

...

SPINDLE=(S1) 1. Mandrino

OVRA[SPINDLE]=80 ; Override mandrino = 80%

SPINDLE=(S3) 3. Mandrino

Page 30: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.1 Variabili

Preparazione del lavoro30 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Condizioni marginaliVariabili utente globali (GUD)

Nell'ambito della definizione delle variabili utente globali (GUD) occorre considerare i seguenti dati macchina:

Variabili utente globali a livello di programma (PUD)

Utilizzo esteso a più canali di una variabile utente globale a livello NCK del tipo di dati AXIS

Una variabile utente globale a livello NCK del tipo di dati AXIS, inizializzata durante la definizione nel blocco dati con un identificatore dell'asse, può essere utilizzata in più canali NC solo se l'asse in questi canali ha lo stesso numero asse di canale.

In caso contrario, la variabile deve essere caricata all'inizio del programma pezzo o, come nel seguente esempio, è necessario utilizzare la funzione AXNAME(...) (vedere "").

N. Identificatore: $MN_ Significato11140 GUD_AREA_ SAVE_TAB Protezione supplementare per i blocchi GUD

18118 1) MM_NUM_GUD_MODULES Numero dei file GUD nel file system attivo

18120 1) MM_NUM_GUD_NAMES_NCK Numero dei nomi GUD globali

18130 1) MM_NUM_GUD_NAMES_CHAN Numero dei nomi GUD spec. per canale

18140 1) MM_NUM_GUD_NAMES_AXIS Numero dei nomi GUD spec. per asse

18150 1) MM_GUD_VALUES_MEM Spazio di memoria per i valori GUD globali

18660 1) MM_NUM_SYNACT_GUD_REAL Numero GUD progettabili, tipo di dati REAL

18661 1) MM_NUM_SYNACT_GUD_INT Numero GUD progettabili, tipo di dati INT

18662 1) MM_NUM_SYNACT_GUD_BOOL Numero GUD progettabili, tipo di dati BOOL

18663 1) MM_NUM_SYNACT_GUD_AXIS Numero GUD progettabili, tipo di dati AXIS

18664 1) MM_NUM_SYNACT_GUD_CHAR Numero GUD progettabili, tipo di dati CHAR

18665 1) MM_NUM_SYNACT_GUD_STRING Numero GUD progettabili, tipo di dati STRING

1) MD di sola lettura per SINUMERIK 828D.

ATTENZIONEVisibilità delle variabili utente locali a livello di programma (PUD)Le variabili utente locali a livello di programma (PUD) definite nel programma principale sono visibili anche nei sottoprogrammi solo se è impostato il seguente dato macchina:

MD11120 $MN_LUD_EXTENDED_SCOPE = 1

Con MD11120 = 0 le variabili utente locali a livello di programma definite nel programma principale sono visibili solo nel programma principale.

Codice di programma Commento

DEF NCK STRING[5] ACHSE="X" ; Definizione nel blocco dati

N100 AX[AXNAME(ACHSE)]=111 G00 ; Utilizzo nel programma pezzo

Page 31: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.1 Variabili

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 31

Vedere ancheInformazioni generali sulle variabili Informazioni generali sulle variabili [Pagina 17]

1.1.6 Ridefinizione delle variabili di sistema, variabili utente e istruzioni NC (REDEF)

FunzioneCon il comando REDEF è possibile modificare gli attributi delle variabili di sistema, variabili utente e istruzioni NC. Presupposto fondamentale della ridefinizione è che la stessa venga eseguita dopo la relativa definizione.

Durante una ridefinizione non si possono modificare contemporaneamente più attributi. Per ogni attributo da modificare è necessario programmare un'istruzione REDEF a sé stante.

Se si programmano più modifiche degli attributi in concomitanza, sarà sempre attiva solo l'ultima modifica.

Attributi ridefinibili

Vedere "Panoramica degli attributi definibili e ridefinibili [Pagina 46]"

Variabili utente locali (PUD / LUD)

Per le variabili utente locali (PUD / LUD) non si devono effettuare ridefinizioni.

SintassiREDEF <nome> <stop_VL>

REDEF <nome> <unità_fis>

REDEF <nome> <valori_limite>

REDEF <nome> <autorizzazioni_accesso>

REDEF <nome> <istante_init>

REDEF <nome> <istante_init> <valore_init>

Significato

REDEF: Comando di ridefinizione di un determinato attributo delle variabili di sistema, variabili utente e istruzioni NC

<nome>: Nome di una variabile già definita o di un'istruzione NC<stop_VL>: Stop preelaborazione

SYNR: Stop preelaborazione in letturaSYNW: Stop preelaborazione in scritturaSYNRW: Stop preelaborazione in lettura/

scrittura

Page 32: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.1 Variabili

Preparazione del lavoro32 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

<unità_fis>: unità fisicaPHU <unità>:vedere "Attributo: unità fisica (PHU) [Pagina 38] "NotaNon ridefinibile per: • Variabili di sistema• Dati globali utente (GUD)• Tipi di dati: BOOL, AXIS, STRING, FRAME

<valori_limite>: Valore limite inferiore e/o superioreLLI <valore_limite>: Valore limite inferiore (lower

limit)ULI <valore_limite>: Valore limite superiore (upper

limit)vedere "Attributo: valori limite (LLI, ULI) [Pagina 37] "NotaNon ridefinibile per: • Variabili di sistema• Dati globali utente (GUD)• Tipi di dati: BOOL, AXIS, STRING, FRAME

<autorizzazioni_accesso>: Autorizzazioni di accesso per la lettura/scrittura tramite programma pezzo o interfaccia per pannello operativoAPX <livello_protezione>: Esecuzione: elemento del

linguaggio NCAPRP <livello_protezione>: Lettura: programma pezzoAPWP <livello_protezione>: Scrittura: programma pezzoAPRB <livello_protezione>: Lettura: BTSSAPWB <livello_protezione>: Scrittura: interfaccia per

pannello operativoGrado di protezione

Campo dei valori: 0 ... 7

vedere "Attributo: diritti di accesso (APR, APW, APRP, APWP, APRB, APWB) [Pagina 41] "

<istante_init>: Istante in cui la variabile viene reinizializzataINIPO: PowerOnINIRE: Fine del programma principale, NC-

Reset o PowerOnINICF: NewConfig o fine del programma

principale, NC-Reset o PowerOnPRLOC: Fine del programma principale, NC-

Reset dopo modifica locale o PowerOn

vedere "Attributo: valore di inizializzazione [Pagina 34] "

Page 33: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.1 Variabili

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 33

EsempioRidefinizione della variabile di sistema $TC_DPC1 nel blocco dati per il costruttore della macchina

Condizioni marginaliGranularità

Un ridefinizione si riferisce sempre all'intera variabile, contrassegnata univocamente dal suo nome. Non è possibile assegnare valori di attributo diversi, ad es. con le variabili di campo, per singoli elementi di campo.

Vedere ancheInformazioni generali sulle variabili Informazioni generali sulle variabili [Pagina 17]

<valore_init>: Valore di inizializzazione Per la ridefinizione del valore di inizializzazione è necessario definire sempre anche un istante di inizializzazione (vedere <istante_init>).vedere "Attributo: valore di inizializzazione [Pagina 34] "Per l'inizializzazione delle variabili di campo:vedere "Definizione e inizializzazione delle variabili di campo (DEF, SET, REP) [Pagina 47] "NotaNon ridefinibile per: • Variabili di sistema, eccetto i dati setting

Codice di programma

%_N_MGUD_DEF ; Blocco GUD: costruttore della macchina

$PATH=/_N_DEF_DIR

REDEF $TC_DPC1 APWB 2 APWP 3

REDEF $TC_DPC1 PHU 21

REDEF $TC_DPC1 LLI 0 ULI 200

REDEF $TC_DPC1 INIPO (100, 101, 102, 103)

; Descrizione

;;;;

Scrittura autorizzazione di accesso: interfaccia per pannello operativo (BTSS) = livello di protezione 2, programma pezzo = livello di protezione 3NotaUtilizzando i file ACCESS, la ridefinizione delle autorizzazioni di accesso va spostata da _N_MGUD_DEF a _N_MACCESS_DEF

; Unità fisica = [ % ]

; Valori limite: inferiore = 0, superiore = 200

; Al PowerOn la variabile di campo viene inizializzata con i quattro valori

M30

Page 34: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.1 Variabili

Preparazione del lavoro34 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

1.1.7 Attributo: valore di inizializzazione

Definizione (DEF) di variabili utente

Per la definizione è possibile preimpostare un valore di inizializzazione per le seguenti variabili utente:

• Variabili utente globali (GUD)

• Variabili utente globali a livello di programma (PUD)

• Variabili utente locali (LUD)

Ridefinizione (REDEF) di variabili di sistema e utente

Per la ridefinizione è possibile preimpostare un valore di inizializzazione per le seguenti variabili:

• Dati di sistema

- Dati di setting

• Dati utente

- Parametri R- Variabile sincrona ($AC_MARKER, $AC_PARAM, $AC_TIMER)- GUD di azione sincrona (SYG_xy[ ], con x=R, I, B, A, C, S e y=S, M, U, 4, ..., 9)- Parametri EPS- Dati utensile OEM- Dati magazzino OEM- Variabili utente globali (GUD)

Istante di reinizializzazioneDurante la ridefinizione è possibile specificare l'istante in cui la variabile va reinizializzata, ossia riportata nuovamente al valore di inizializzazione:

• INIPO (Power On)

La variabile viene reinizializzata al PowerOn.• INIRE (Reset)

La variabile viene reinizializzata durante NC-Reset, BAG-Reset, fine del programma pezzo (M02 / M30) o PowerOn.

• INICF (NewConfig)

La variabile viene reinizializzata con la richiesta NewConf tramite l'HMI, il comando di programma pezzo NEWCONFIG o NC-Reset, BAG-Reset, la fine del programma pezzo (M02 / M30) o un PowerOn.

• PRLOC (modifica locale a livello di programma)

La variabile viene reinizializzata durante NC-Reset, BAG-Reset o la fine del programma pezzo (M02 / M30) solo se è stata modificata nell'ambito del programma pezzo attuale.

L'attributo PRLOC va utilizzato solo insieme con i dati setting programmabili (vedere la tabella seguente).

Page 35: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.1 Variabili

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 35

Condizioni marginaliValore di inizializzazione: variabili utente globali (GUD)

• Per una variabile utente globale (GUD) con il campo di validità NCK è possibile preimpostare come istante di inizializzazione soltanto INIPO (Power On).

• Per le variabili utente globali (GUD) con il campo di validità CHAN è possibile preimpostare come istante di inizializzazione oltre INIPO (Power On) anche INIRE (Reset) o INICF (NewConfig).

• Per le variabili utente globali (GUD) con il campo di validità CHAN e istante di inizializzazione INIRE (Reset) o INICF (NewConfig) le variabili vengono reinizializzate con NC-Reset, BAG-Reset e NewConfig solo nei canali in cui si sono verificati gli eventi menzionati.

Tabella 1-1 Dati setting programmabili

Numero Identificatore Comando G 1)

42000 $SC_THREAD_START_ANGLE SF

42010 $SC_THREAD_RAMP_DISP DITS / DITE

42400 $SA_PUNCH_DWELLTIME PDELAYON

42800 $SA_SPIND_ASSIGN_TAB SETMS

43210 $SA_SPIND_MIN_VELO_G25 G25

43220 $SA_SPIND_MAX_VELO_G26 G26

43230 $SA_SPIND_MAX_VELO_LIMS LIMS

43300 $SA_ASSIGN_FEED_PER_REV_SOURCE FPRAON

43420 $SA_WORKAREA_LIMIT_PLUS G26

43430 $SA_WORKAREA_LIMIT_MINUS G25

43510 $SA_FIXED_STOP_TORQUE FXST

43520 $SA_FIXED_STOP_WINDOW FXSW

43700 $SA_OSCILL_REVERSE_POS1 OSP1

43710 $SA_OSCILL_REVERSE_POS2 OSP2

43720 $SA_OSCILL_DWELL_TIME1 OST1

43730 $SA_OSCILL_DWELL_TIME2 OST2

43740 $SA_OSCILL_VELO FA

43750 $SA_OSCILL_NUM_SPARK_CYCLES OSNSC

43760 $SA_OSCILL_END_POS OSE

43770 $SA_OSCILL_CTRL_MASK OSCTRL

43780 $SA_OSCILL_IS_ACTIVE OS

43790 $SA_OSCILL_START_POS OSB

1) Con questo comando G viene richiamato il dato setting

Page 36: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.1 Variabili

Preparazione del lavoro36 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Valore di inizializzazione: tipo di dati FRAME

Per le variabili del tipo di dati FRAME non si deve specificare un valore di inizializzazione. Le variabili del tipo di dati FRAME vengono inizializzate implicitamente sempre con il frame di default.

Valore di inizializzazione: tipo di dati CHAR

Per le variabili del tipo di dati CHAR è possibile programmare, in luogo del codice ASCII (0...255), anche il relativo carattere ASCII tra virgolette, ad es. "A"

Valore di inizializzazione: tipo di dati STRING

Per le variabili del tipo di dati STRING la stringa di caratteri deve essere posta tra virgolette, ad es.: ...= "MACCHINA_1"

Valore di inizializzazione: tipo di dati AXIS

Per le variabili del tipo di dati AXIS è necessario, in caso di scrittura ad indirizzo ampliato, porre tra parentesi l'identificatore dell'asse, ad es.: ...=(X3)

Valore di inizializzazione: variabile di sistema 

Per una variabile di sistema non è possibile preimpostare mediante ridefinizione alcun valore di inizializzazione specifico per l'utente. I valori di inizializzazione delle variabili di sistema sono predefiniti in modo fisso dal sistema. Mediante la ridefinizione è tuttavia possibile modificare l'istante (INIRE, INICF) in cui la variabile di sistema viene reinizializzata.

Valore di inizializzazione implicito: tipo di dati AXIS

Per le variabili del tipo di dati AXIS si utilizza il seguente valore implicito di inizializzazione:

• Dati di sistema: "primo asse di geometria"

• GUD di azione sincrona (designazione: SYG_A*), PUD, LUD:identificatore dal dato macchina: MD20082 $MC_AXCONF_CHANAX_DEFAULT_NAME

Valore di inizializzazione implicito: dati utensili e magazzino

Per i dati utensili e magazzino è possibile predefinire i valori di inizializzazione tramite il seguente dato macchina: MD17520 $MN_TOOL_DEFAULT_DATA_MASK

Vedere ancheInformazioni generali sulle variabili Informazioni generali sulle variabili [Pagina 17]

ATTENZIONESincronizzazioneLa sincronizzazione di eventi che provocano la reinizializzazione di una variabile globale con la lettura di questa variabile in un altro punto ricade nella responsabilità esclusiva dell'utente / del costruttore della macchina.

Page 37: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.1 Variabili

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 37

1.1.8 Attributo: valori limite (LLI, ULI)Un valore limite superiore e inferiore del campo di definizione può essere predefinito solo per i seguenti tipi di dati:

• INT

• REAL

• CHAR

Definizione (DEF) di variabili utente: valori limite e valori impliciti di inizializzazioneSe durante la definizione di una variabile utente di uno dei suddetti tipi di dati non si definisce un valore esplicito di inizializzazione, la variabile viene impostata sul valore implicito di inizializzazione del tipo di dati:

• INT: 0

• REAL: 0.0

• CHAR: 0

Se il valore implicito di inizializzazione non rientra nel campo di definizione definito dai valori limite programmati, la variabile viene inizializzata con il valore limite più approssimato al valore implicito di inizializzazione:

• valore implicito di inizializzazione < valore limite inferiore (LLI) ⇒ valore di inizializzazione = valore limite inferiore

• valore implicito di inizializzazione < valore limite superiore (ULI) ⇒ valore di inizializzazione = valore limite superiore

Esempi:

Codice di programma Commento

DEF REAL GUD1 ;;;;

Valore limite inferiore = limite del campo di definizioneValore limite superiore = limite del campo di definizionenessun valore di inizializzazione programmato=> valore implicito di inizializzazione = 0.0

DEF REAL LLI 5.0 GUD2 ;;;

Valore limite inferiore = 5.0Valore limite superiore = limite del campo di definizione=> valore di inizializzazione = 5.0

DEF REAL ULI –5 GUD3 ;;;

Valore limite inferiore = limite del campo di definizioneValore limite superiore = -5.0=> valore di inizializzazione = -5.0

Page 38: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.1 Variabili

Preparazione del lavoro38 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Ridefinizione (REDEF) di variabili utente: Valori limite e valori reali attualiSe durante la ridefinizione dei valori limite di una variabile utente i valori stessi vengono modificati e per effetto di tale modifica il valore reale attuale resta fuori del nuovo campo di definizione, si verifica un allarme e i valori limite non vengono applicati.

Vedere ancheInformazioni generali sulle variabili Informazioni generali sulle variabili [Pagina 17]

1.1.9 Attributo: unità fisica (PHU)Un'unità fisica può essere predefinita solo per variabili dei seguenti tipi di dati:

• INT

• REAL

Unità fisiche programmabili (PHU)La definizione dell'unità fisica avviene come numero a virgola fissa: PHU <unità>

È possibile programmare le seguenti unità fisiche:

NotaRidefinizione (REDEF) di variabili utenteDurante la ridefinizione dei valori limite di una variabile utente occorre verificare che la modifica dei seguenti valori sia coerente:

• Valori limite• Valore attuale• Valore di inizializzazione durante la ridefinizione e la reinizializzazione automatica su

base INIPO, INIRE o INICF

<Unità> Significato Unità fisica0 Nessuna unità fisica -1 Posizione lineare o angolare 1)2) [ mm ], [ inch ], [ gradi]

2 Posizione lineare 2) [ mm ], [ inch ]

3 Posizione angolare [ gradi ]4 Velocità lineare o angolare 1)2) [ mm/min ], [ inch/min ], [ giri/min ]

5 Velocità lineare 2) [mm/min]

6 Velocità angolare [giri/min]7 Accelerazione lineare o angolare 1)2) [ m/s2 ], [ inch/s2 ], [ giri/s2 ]8 Accelerazione lineare 2) [ m/s2 ], [ inch/s2 ]9 Accelerazione angolare [ giri/s2 ]

10 Strappo lineare o angolare 1)2) [ m/s3 ], [ inch/s3 ], [ giri/s3 ]

Page 39: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.1 Variabili

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 39

11 Strappo lineare 2) [ m/s3 ], [ inch/s3 ]12 Strappo angolare [ giri/s3 ]13 Tempo [ s ]14 Guadagno del regolatore di posizione [ 16.667/s ]15 Avanzamento al giro 2) [ mm/giro ], [ inch/giro ]

16 Compensazione della temperatura 1)2) [ mm ], [ inch ]

18 Forza [ N ]19 Massa [ kg ]20 Momento d'inerzia 3) [ kgm2 ]21 Percentuale [ % ]22 Frequenza [ Hz ]23 Tensione [ V ]24 Corrente [ A ]25 Temperatura [ °C ]26 Angolo [ gradi ]27 KV [ 1000/min ]28 Posizione lineare o angolare 3) [ mm ], [ inch ], [ gradi]

29 Velocità di taglio 2) [ m/min ], [ feet/min ]

30 Velocità periferica 2) [ m/s], [ feet/s ]

31 Resistenza [ Ohm ]32 Induttanza [ mH ]33 Coppia 3) [Nm]

34 Costante di coppia 3) [ Nm/A ]

35 Guadagno del regolatore di corrente [ V/A ]36 Guadagno del regolatore di velocità 3) [ Nm/(rad*s) ]

37 Numero di giri [giri/min]42 Potenza [kW]43 Corrente bassa [ μA ]46 Coppia bassa 3) [ μNm ]

48 Per mille -49 - [ Hz/s ]65 Portata [l/min]66 Stampa [bar]67 Volume 3) [ cm3 ]68 Guadagno del circuito regolato 3) [ mm/(V*min) ]

69 Guadagno del circuito regolato, regolatore di forza

[ N/V ]

<Unità> Significato Unità fisica

Page 40: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.1 Variabili

Preparazione del lavoro40 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Vedere ancheInformazioni generali sulle variabili Informazioni generali sulle variabili [Pagina 17]

155 Passo del filetto 3) [ mm/giro ], [ inch/giro ]

156 Variazione del passo del filetto 3) [ mm/giro / giro ], [ inch/giro / giro ]

1) L'unità fisica è in funzione del tipo di asse: asse lineare o rotante2) Commutazione del sistema di misura G70/G71(in pollici / metrico)Dopo una commutazione del sistema di base (MD10240 $MN_SCALING_SYSTEM_IS_METRIC) con G70/G71 non avviene, per accessi in scrittura/lettura a variabili di sistema e variabili utente in unità di lunghezza, alcuna commutazione dei valori (valore reale, valore predefinito e valori limite)G700/G710(in pollici / metrico)Dopo una commutazione del sistema di base (MD10240 $MN_SCALING_SYSTEM_IS_METRIC) con G700/G710 avviene, per accessi in scrittura/lettura a variabili di sistema e variabili utente in unità di lunghezza, una commutazione dei valori (valore reale, valore predefinito e valori limite)3) La variabile non viene automaticamente convertita nel sistema di misura attuale dell'NC (in pollici / metrico). La conversione è responsabilità esclusiva dell'utente / del costruttore della macchina.

<Unità> Significato Unità fisica

NotaOverflow di livello dovuto a conversione del formatoIl formato di archiviazione interno per tutte le variabili utente (GUD / PUD / LUD) con unità fisiche relative alle lunghezze è metrico. Un uso eccessivo di queste variabili nel ciclo principale dell'NCK, ad es. nelle azioni sincrone, può provocare, in caso di commutazione del sistema di misura, un overflow del tempo di calcolo del livello interpolatore (allarme 4240).

ATTENZIONECompatibilità delle unitàL'utilizzo di variabili (assegnazione, confronto, calcolo ecc.) non è soggetto a una verifica di compatibilità delle unità coinvolte. La conversione eventualmente necessaria ricade nella responsabilità esclusiva dell'utente / del costruttore della macchina.

Page 41: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.1 Variabili

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 41

1.1.10 Attributo: diritti di accesso (APR, APW, APRP, APWP, APRB, APWB)I diritti di accesso sono soggetti ai seguenti livelli di protezione, da specificare durante la programmazione:

Definizione (DEF) di variabili utente

I diritti di accesso(APR... / APW...) possono essere definiti per le seguenti variabili:

• Dati globali utente (GUD)

Diritto di accesso Livello di protezionePassword di sistema 0Password costruttore della macchina 1Password di service 2Password utente finale 3Interruttore a chiave posizione 3 4Interruttore a chiave posizione 2 5Interruttore a chiave posizione 1 6Interruttore a chiave posizione 0 7

Page 42: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.1 Variabili

Preparazione del lavoro42 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Ridefinizione (REDEF) di variabili di sistema e utente

I diritti di accesso(APR... / APW...) possono essere ridefiniti per le seguenti variabili:

• Dati di sistema

- Dati macchina- Dati di setting- FRAME- Dati di processo- Compensazione dell'errore passo vite (EEC)- Compensazione della flessione (CEC)- Compensazione dell'errore di quadrante (QEC)- Dati magazzino- Dati dell'utensile- Aree di protezione- Portautensili orientabili- Catene cinematiche- Zone di protezione 3D- Limitazione del campo di lavoro- Dati dell'utensile ISO

• Dati utente

- Parametri R- Variabile sincrona ($AC_MARKER, $AC_PARAM, $AC_TIMER)- GUD di azione sincrona (SYG_xy[ ], con x=R, I, B, A, C, S e y=S, M, U, 4, ..., 9)- Parametri EPS- Dati utensile OEM- Dati magazzino OEM- Variabili utente globali (GUD)

NotaDurante la ridefinizione è possibile assegnare liberamente il diritto di accesso a una variabile tra il livello più basso di protezione 7 e il proprio livello di protezione, ad es. 1 (costruttore della macchina).

Page 43: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.1 Variabili

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 43

Ridefinizione (REDEF) di istruzioni NC

Il diritto di accesso o di esecuzione (APX) può essere ridefinito per le seguenti istruzioni NC:

• Funzioni G / condizioni di percorso

Bibliografia:

/PG/ Manuale di programmazione, Concetti fondamentali; capitolo: Funzioni G / condizioni di percorso

• Funzioni predefinite

Bibliografia:

/PG/ Manuale di programmazione, Concetti fondamentali; capitolo: Funzioni predefinite

• Richiami di sottoprogrammi predefiniti

Bibliografia:

/PG/ Manuale di programmazione, Concetti fondamentali; capitolo: Richiami di sottoprogrammi predefiniti

• Istruzione DO per azioni sincrone

• Identificatori di programma dei cicli

Il ciclo deve essere archiviato in una directory dei cicli e contenere un'istruzione PROC.

Diritti di accesso relativi ai programmi pezzo e ai cicli (APRP, APWP)

I diversi diritti di accesso hanno gli effetti seguenti accedendo a un programma pezzo o un ciclo:

• APRP 0 / APWP 0

- durante l'esecuzione del programma pezzo, la password di sistema deve essere impostata

- il ciclo deve essere archiviato nella directory _N_CST_DIR (sistema)- per la directory _N_CST_DIR è necessario impostare in MD11160

$MN_ACCESS_EXEC_CST il diritto di esecuzione su sistema

• APRP 1 / APWP 1 o APRP 2 / APWP 2

- durante l'esecuzione del programma pezzo, deve essere impostata la password del costruttore o del service

- il ciclo deve essere archiviato nella directory _N_CMA_DIR (costruttore della macchina) o _N_CST_DIR

- per la directory _N_CMA_DIR o _N_CST_DIR, nel dato macchina MD11161 $MN_ACCESS_EXEC_CMA o MD11160 $MN_ACCESS_EXEC_CST i diritti di esecuzione devono essere impostati almeno a livello del costruttore della macchina

Page 44: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.1 Variabili

Preparazione del lavoro44 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

• APRP 3 / APWP 3

- durante l'esecuzione del programma pezzo, la password utente finale deve essere impostata

- il ciclo deve essere archiviato nella directory _N_CUS_DIR (utente), _N_CMA_DIR o _N_CST_DIR

- per la directory _N_CUS_DIR, _N_CMA_DIR o _N_CST_DIR, nel dato macchina MD11162 $MN_ACCESS_EXEC_CUS, MD11161 $MN_ACCESS_EXEC_CMA o MD11160 $MN_ACCESS_EXEC_CST i diritti di esecuzione devono essere impostati almeno a livello dell'utente finale

• APRP 4...7 / APWP 4...7

- durante l'esecuzione del programma pezzo, deve essere impostato il codice del selettore a chiave 3 ... 0

- il ciclo deve essere archiviato nella directory _N_CUS_DIR, _N_CMA_DIR o _N_CST_DIR

- per la directory _N_CUS_DIR, _N_CMA_DIR o _N_CST_DIR, nel dato macchina MD11162 $MN_ACCESS_EXEC_CUS, MD11161 $MN_ACCESS_EXEC_CMA o MD11160 $MN_ACCESS_EXEC_CST i diritti di esecuzione devono essere impostati almeno a livello del relativo codice del selettore a chiave

Diritti di accesso relativi all'interfaccia per pannello operativo (APRB, APWB)

I diritti di accesso (APRB, APWB) limitano l'accesso alle variabili di sistema e utente tramite l'interfaccia per pannello operativo e ciò in uguale misura per tutti i componenti di sistema (HMI, PLC, computer esterni, servizi di alimentazione dell'elettronica, ecc.).

Attributi di accesso APR / APW

Per motivi di compatibilità gli attributi APR e APW vengono riprodotti sugli attributi APRP / APRB e APWP / APWB:

• APR x ⇒ APRP x APRB x

• APW y ⇒ APWP y APWB y

Impostazione dei diritti di accesso tramite file ACCESSUtilizzando dei file ACCESs per l'assegnazione dei diritti di accesso, le ridefinizioni dei diritti di accesso per i dati di sistema, i dati utente e le istruzioni NC devono venire programmate esclusivamente in questi file ACCESS. Fanno eccezione i dati globali utente (GUD). Per questi dati la ridefinizione dei diritti di accesso, se ritenuta necessaria, deve continuare ad essere programmata nei relativi file di definizione.

NotaDiritti di accesso locali a livello di interfaccia uomo-macchina (HMI)Per la modifica dei diritti di accesso dei dati di sistema è necessario sincerarsi che la stessa avvenga in modo coerente rispetto ai diritti di accesso definiti dai meccanismi HMI.

Page 45: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.1 Variabili

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 45

Per una protezione continua d'accesso, i dati macchina per i diritti di esecuzione e la protezione d'accesso delle relative directory vanno adattati in modo coerente.

Il procedimento che ne consegue è, in linea di principio, il seguente:

• Creazione dei file di definizione richiesti:

- _N_DEF_DIR/_N_SACCESS_DEF- _N_DEF_DIR/_N_MACCESS_DEF- _N_DEF_DIR/_N_UACCESS_DEF

• Parametrizzazione del diritto di scrittura per i file di definizione sul valore necessario per la ridefinizione:

- MD11170 $MN_ACCESS_WRITE_SACCESS- MD11171 $MN_ACCESS_WRITE_MACCESS- MD11172 $MN_ACCESS_WRITE_UACCESS

• Per gli accessi a elementi protetti a partire dai cicli è necessario adeguare i diritti di esecuzione e di scrittura delle directory dei cicli _N_CST_DIR, _N_CMA_DIR e _N_CST_DIR:

Diritti di esecuzione- MD11160 $MN_ACCESS_EXEC_CST- MD11161 $MN_ACCESS_EXEC_CMA- MD11162 $MN_ACCESS_EXEC_CUS

Diritti di scrittura- MD11165 $MN_ACCESS_WRITE_CST- MD11166 $MN_ACCESS_WRITE_CMA- MD11167 MN_ACCESS_WRITE_CUS

Il diritto di esecuzione deve venire impostato perlomeno su un livello di protezione pari a quello più alto relativo all'elemento utilizzato.

Il diritto di scrittura va impostato perlomeno su un livello di protezione pari a quello del diritto di esecuzione.

• I diritti di scrittura delle directory dei cicli locali a livello HMI devono essere impostati su un livello di protezione pari a quello delle directory locali NC dei cicli.

Bibliografia/BAD/ Manuale d'uso HMI-Advancedcapitolo: Settore operativo Servizi > Gestione dati > Modifica proprietà

Page 46: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.1 Variabili

Preparazione del lavoro46 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Richiamo di sottoprogrammi nei file ACCESS

Per strutturare ulteriormente la protezione d'accesso è anche possibile richiamare dei sottoprogrammi nei file ACCESS (codificazione SPF o MPF). I sottoprogrammi ereditano i diritti di esecuzione del file ACCESS chiamante.

Vedere ancheInformazioni generali sulle variabili Informazioni generali sulle variabili [Pagina 17]

1.1.11 Panoramica degli attributi definibili e ridefinibiliLe tabelle seguenti riportano per quali tipi di dati quali attributi possono essere definiti (DEF) e/o ridefiniti (REDEF).

Dati di sistema

NotaNei file ACCESS è possibile ridefinire soltanto i diritti di accesso. Per tutti gli altri attributi occorre continuare la programmazione o la ridefinizione nei relativi file di definizione.

Tipo di dati Valore init Valori limite Unità fis. Diritti di accessoDati macchina --- --- --- REDEF

Dati di setting REDEF --- --- REDEF

Dati FRAME --- --- --- REDEF

Dati di processo --- --- --- REDEF

Comp. dell'errore passo vite (EEC) --- --- --- REDEF

Compensazione della flessione (CEC) --- --- --- REDEF

Compensazione dell'errore di quadrante (QEC)

--- --- --- REDEF

Dati magazzino --- --- --- REDEF

Dati dell'utensile --- --- --- REDEF

Aree di protezione --- --- --- REDEF

Portautensili orientabili --- --- --- REDEF

Catene cinematiche --- --- --- REDEF

Zone di protezione 3D --- --- --- REDEF

Limitazione del campo di lavoro --- --- --- REDEF

Dati dell'utensile ISO --- --- --- REDEF

Page 47: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.1 Variabili

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 47

Dati utente

Vedere ancheInformazioni generali sulle variabili Informazioni generali sulle variabili [Pagina 17]

1.1.12 Definizione e inizializzazione delle variabili di campo (DEF, SET, REP)

Funzione Una variabile utente può essere definita come un campo (array) a 1 ... max. 3 dimensioni:

• Monodimensionale: DEF <Tipo dati> <Nome variabile>[<n>]

• Bidimensionale: DEF <Tipo dati> <Nome variabile>[<n>,<m>]

• Tridimensionale: DEF <Tipo dati> <Nome variabile>[<n>,<m>,<o>]

Tipi di dati

Le variabili utente possono essere definite come campi per i seguenti tipi di dati: BOOL, CHAR, INT, REAL, STRING, AXIS, FRAME

Assegnazione dei valori agli elementi di campo

È possibile assegnare i valori agli elementi nei seguenti momenti:

• durante la definizione del campo (valori di inizializzazione)

• durante l'esecuzione del programma

Tipo di dati Valore init Valori limite Unità fis. Diritti di accessoParametri R REDEF REDEF REDEF REDEF

Variabile di sincronizzazione ($AC_...) REDEF REDEF REDEF REDEF

GUD di azione sincrona (SYG_...) REDEF REDEF REDEF REDEF

Parametri EPS REDEF REDEF REDEF REDEF

Dati utensile OEM REDEF REDEF REDEF REDEF

Dati magazzino OEM REDEF REDEF REDEF REDEF

Variabili utente globali (GUD) DEF / REDEF DEF DEF DEF / REDEF

Variabili utente locali (PUD / LUD) DEF DEF DEF ---

NotaLe variabili utente del tipo di dati STRING possono essere definite al massimo come campo bidimensionale.

Page 48: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.1 Variabili

Preparazione del lavoro48 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Le assegnazioni dei valori possono avvenire tramite:

• definizione esplicita di un elemento di campo

• definizione esplicita di un elemento di campo come elemento iniziale e definizione di una lista di valori (SET)

• definizione esplicita di un elemento di campo come elemento iniziale e definizione di un valore e della frequenza della sua ripetizione (REP)

Sintassi (DEF)DEF <Tipo dati> <Nome variabile>[<n>,<m>,<o>]DEF STRING[<lunghezza_stringa>] <nome_variabile>[<n>,<m>]

Sintassi (DEF...=SET...)

Utilizzo di una lista di valori:

• per la definizione:DEF <tipo_dati> <nome_variabile>[<n>,<m>,<o>] = SET(<valore1>,<valore2>,...)

con lo stesso significato di:DEF <tipo_dati> <nome_variabile>[<n>,<m>,<o>] = (<valore1>,<valore2>,...)

• per un'assegnazione di valori:<nome_variabile>[<n>,<m>,<o>]=SET(<valore1>,<valore2>,...)

Sintassi (DEF...=REP...)

Utilizzo di un valore con ripetizione

• per la definizione:DEF <tipo_dati> <nome_variabile>[<n>,<m>,<o>]=REP(<valore>)

DEF <tipo_dati> <nome_variabile>[<n>,<m>,<o>]=REP(<valore>,<numero_elementi_campo>)

• per un'assegnazione di valori:<Nome variabile>[<n>,<m>,<o>]=REP(<Valore>)

<Nome variabile>[<n>,<m>,<o>]=REP(<Valore>,<Numero_elementi campo>)

NotaAlle variabili utente del tipo di dati FRAME non possono essere assegnati valori di inizializzazione.

NotaDurante l'inizializzazione tramite una lista di valori, la definizione di SET è opzionale.

Page 49: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.1 Variabili

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 49

Significato

DEF: Comando per la definizione di variabili<tipo_dati>: Tipo di dati della variabile

Campo dei valori:• con le variabili di sistema:

BOOL, CHAR, INT, REAL, STRING, AXIS

• con le variabili GUD o LUD:BOOL, CHAR, INT, REAL, STRING, AXIS, FRAME

<lunghezza_stringa>: Numero massimo di caratteri per il tipo di dati STRING

<nome_variabile>: Nome della variabile[<n>,<m>,<o>]: Grandezze di campo o indici di campo<n>: Grandezza di campo o indici di campo per la 1°

dimensioneTipo: INT (per le variabili di sistema anche:

AXIS)Campo dei valori: Grandezza max. di campo:

65535Indice di campo: 0 ≤ n ≤ 65534

<m>: Grandezza di campo o indici di campo per la 2° dimensioneTipo: INT (per le variabili di sistema anche:

AXIS)Campo dei valori: Grandezza max. di campo:

65535Indice di campo: 0 ≤ m ≤ 65534

<o>: Grandezza di campo o indici di campo per la 3° dimensioneTipo: INT (per le variabili di sistema anche:

AXIS)Campo dei valori: Grandezza max. di campo:

65535Indice di campo: 0 ≤ o ≤ 65534

SET: Assegnazioni di valori tramite la lista valori specificata

(<valore1>,<valore2>,...): Lista di valoriREP: Assegnazioni di valori tramite il <valore>

specificato

Page 50: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.1 Variabili

Preparazione del lavoro50 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Indice di campo La sequenza implicita degli elementi di campo, ad es. per un'assegnazione del valore tramite SET o REP, avviene mediante iterazione dell'indice di campo da destra a sinistra.

Esempio: Inizializzazione di un campo tridimensionale con 24 elementi di campo:

<Valore>: Valore con il quale vengono definiti gli elementi di campo durante l'inizializzazione con REP.

<numero_elementi<-campo>: Numero degli elementi di campo che devono essere descritti con il <valore> specificato. Per i restanti elementi di campo vale quanto segue, in funzione dell'istante:• Inizializzazione durante la definizione del campo:

→ I restanti elementi di campo vengono descritti con zero

• Assegnazione durante l'esecuzione del programma:

→ I valori correnti degli elementi di campo restano invariati.

Se il parametro non è programmato, tutti gli elementi di campo vengono descritti con <valore>.Se il parametro è uguale a zero, vale quanto segue, in funzione dell'istante:• Inizializzazione durante la definizione del campo:

→ A tutti gli elementi viene preassegnato il valore zero

• Assegnazione durante l'esecuzione del programma:

→ I valori correnti degli elementi di campo restano invariati.

DEF INT FELD[2,3,4] = REP(1,24)

FELD[0,0,0] = 1 1. Elemento di campoFELD[0,0,1] = 1 2. Elemento di campoFELD[0,0,2] = 1 3. Elemento di campoFELD[0,0,3] = 1 4. Elemento di campo...

FELD[0,1,0] = 1 5. Elemento di campoFELD[0,1,1] = 1 6. Elemento di campo...

FELD[0,2,3] = 1 12. Elemento di campoFELD[1,0,0] = 1 13. Elemento di campoFELD[1,0,1] = 1 14. Elemento di campo...

FELD[1,2,3] = 1 24. Elemento di campo

Page 51: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.1 Variabili

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 51

relativamente:

Esempio: Inizializzazione di campi di variabili completiPer l'assegnazione corrente si rimanda alla figura.

FOR n=0 TO 1

FOR m=0 TO 2

FOR o=0 TO 3

FELD[n,m,o] = 1

ENDFOR

ENDFOR

ENDFOR

Codice di programma

N10 DEF REAL FELD1[10,3]=SET(0,0,0,10,11,12,20,20,20,30,30,30,40,40,40,)

N20 FELD1[0,0] = REP(100)

N30 FELD1[5,0] = REP(-100)

N40 FELD1[0,0]=SET(0,1,2,-10,-11,-12,-20,-20,-20,-30, , , ,-40,-40,-50,-60,-70)

N50 FELD1[8,1]=SET(8.1,8.2,9.0,9.1,9.2)

Page 52: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.1 Variabili

Preparazione del lavoro52 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Vedere ancheDefinizione e inizializzazione delle variabili di campo (DEF, SET, REP): Ulteriori informazioni Definizione e inizializzazione delle variabili di campo (DEF, SET, REP): Ulteriori informazioni [Pagina 52]

Informazioni generali sulle variabili Informazioni generali sulle variabili [Pagina 17]

1.1.13 Definizione e inizializzazione delle variabili di campo (DEF, SET, REP): Ulterioriinformazioni

Ulteriori informazioni (SET)

Inizializzazione durante la definizione

• A iniziare dal 1° elemento di campo, vengono inizializzati tanti elementi di campo con i valori della lista di valori quanti elementi sono programmati nella lista stessa.

• Gli elementi di campo senza valori definiti esplicitamente (lacune nella lista dei valori) vengono assegnati a 0.

• Per le variabili del tipo di dati AXIS non sono consentite lacune nella lista dei valori.

• Se una lista dei valori contiene più valori degli elementi di campo definiti, viene visualizzato un allarme.

Assegnazione dei valori nell'esecuzione del programma

Per l'assegnazione dei valori nell'esecuzione del programma valgono le regole descritte sopra per la definizione. Esistono inoltre le seguenti possibilità:

• Come elementi nella lista dei valori sono consentite anche espressioni.

• L'assegnazione dei valori inizia con l'indice di campo programmato. È possibile quindi assegnare in modo mirato valori a campi parziali.

Esempio:

Codice di programma Commento

DEF INT FELD[5,5] ; Definizione del campo

FELD[0,0]=SET(1,2,3,4,5) ; Assegnazione dei valori ai primi 5 elementi di campo [0,0] - [0,4]

FELD[0,0]=SET(1,2, , ,5) ; Assegnazione dei valori con spazio vuoto ai primi 5 elementi di campo [0,0] - [0,4], elementi di campo [0,2] e [0,3] = 0

FELD[2,3]=SET(VARIABLE,4*5.6) ; Assegnazione dei valori con variabile ed espressione a partire dall'indice di campo [2,3]:[2,3] = VARIABILE[2,4] = 4 * 5.6 = 22.4

Page 53: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.1 Variabili

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 53

Ulteriori informazioni (REP)

Inizializzazione durante la definizione

• Tutti gli elementi di campo, o il numero degli stessi opzionalmente definito, vengono inizializzati con il valore specificato (costante).

• Le variabili del tipo di dati FRAME non possono essere inizializzate.

Esempio:

Assegnazione dei valori nell'esecuzione del programma

Per l'assegnazione dei valori nell'esecuzione del programma valgono le regole descritte sopra per la definizione. Esistono inoltre le seguenti possibilità:

• Come elementi nella lista dei valori sono consentite anche espressioni.

• L'assegnazione dei valori inizia con l'indice di campo programmato. È possibile quindi assegnare in modo mirato valori a campi parziali.

Esempi:

Ulteriori informazioni (in generale)Assegnazione dei valori ai dati macchina assiali

I dati macchina assiali hanno in linea di principio un indice di campo del tipo di dati AXIS. Per le assegnazioni dei valori a un dato macchina assiale mediante SET o REP questo indice di campo viene ignorato o non eseguito.

Esempio: assegnazione dei valori al dato macchina MD36200 $MA_AX_VELO_LIMIT

Codice di programma Commento

DEF REAL varName[10]=REP(3.5,4) ; Inizializzazione delle definizione del campo e degli elementi di campo [0] ... [3] con il valore 3,5

Codice di programma Commento

DEF REAL varName[10] ; Definizione del campo

varName[5]=REP(4.5,3) ; Elementi di campo [5] ... [7] = 4,5

R10=REP(2.4,3) ; Parametro R R10 ... R12 = 2,4

DEF FRAME FRM[10] ; Definizione del campo

FRM[5] = REP(CTRANS (X,5)) ; Elementi di campo [5] ... [9] = CTRANS(X,5)

$MA_AX_VELO_LIMIT[1,AX1]=SET(1.1, 2.2, 3.3)

Corrisponde a:$MA_AX_VELO_LIMIT[1,AX1]=1.1

$MA_AX_VELO_LIMIT[2,AX1]=2.2

$MA_AX_VELO_LIMIT[3,AX1]=3.3

Page 54: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.1 Variabili

Preparazione del lavoro54 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Memoria necessaria

Vedere ancheDefinizione e inizializzazione delle variabili di campo (DEF, SET, REP) Definizione e inizializzazione delle variabili di campo (DEF, SET, REP) [Pagina 47]

ATTENZIONEAssegnazione dei valori ai dati macchina assialiPer le assegnazioni dei valori a dati macchina assiali mediante SET o REP l'indice di campo del tipo di dati AXIS viene ignorato o non eseguito.

Tipo di dati Occupazione di memoria per ogni elementoBOOL 1 byteCHAR 1 byteINT 4 byteREAL 8 byteSTRING (Lunghezza stringa + 1) byteFRAME ∼ 400 byte in funzione del numero di assiAXIS 4 byte

Page 55: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.1 Variabili

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 55

1.1.14 Tipi di datiI seguenti tipi di dati sono disponibili nell'NC:

Conversioni implicite del tipo di datiSono possibili le seguenti conversioni del tipo di dati, che vengono effettuate implicitamente durante le assegnazioni e i trasferimenti di parametri:

Vedere ancheInformazioni generali sulle variabili Informazioni generali sulle variabili [Pagina 17]

Tipo di dati Significato Campo di valoriINT Valore intero con segno -2147483648 ... +2147483647REAL Numero reale (LONG REAL secondo IEEE) ±( ∼ 2,2*10-308 … ∼ 1,8*10+308)BOOL Valore logico TRUE (1) e FALSE (0) 1, 0CHAR Carattere ASCII Codice ASCII 0 ... 255STRING Stringa di caratteri di lunghezza definita 200 caratteri max (nessun carattere speciale)AXIS Identificatore asse / mandrino Identificatore dell'asse canaleFRAME Dati geometrici per una trasformazione statica delle

coordinate (spostamento, rotazione, fattore di scala, specularità)

---

da ↓ / a → REAL INT BOOLREAL x a &INT x x &BOOL x x xx: Possibile senza restrizionio: Possibile una perdita di dati per superamento del campo di valori ⇒ allarme; arrotondamento: valore decimale ≥ 0,5 ⇒ in eccesso, valore decimale < 0,5 ⇒ in difetto&: Valore ≠ 0 ⇒ TRUE, valore == 0 ⇒ FALSE

Page 56: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.2 Programmazione indiretta

Preparazione del lavoro56 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

1.2 Programmazione indiretta

1.2.1 Programmazione indiretta di indirizzi

FunzioneDurante la programmazione indiretta di indirizzi, l'indirizzo ampliato (indice) viene sostituito da una variabile di tipo adatto.

Sintassi<INDIRIZZO>[<Indice>]

Significato

EsempiEsempio 1: Programmazione indiretta di un numero mandrino

Programmazione diretta:

Programmazione indiretta:

NotaLa programmazione indiretta di indirizzi non è possibile con:

• N (numero blocco)• L (sottoprogramma)• Indirizzi impostabili

(ad es. X[1] al posto di X1 non è consentito)

<INDIRIZZO>[...]: Indirizzo fisso con ampliamento (indice)<Index>: Variabile ad esempio per n. mandrino, asse ...

Codice di programma Commento

S1=300 ; Numero di giri: 300 giri/min per il mandrino con numero 1.

Codice di programma Commento

DEF INT SPINU=1 ; Definizione di variabili del tipo INT e assegnazione dei valori.

S[SPINU]=300 ; Numero di giri: 300 giri/min per i mandrini il cui numero è memorizzato nelle variabili SPINU (nell'esempio il mandrino con numero 1).

Page 57: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.2 Programmazione indiretta

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 57

Esempio 2: Programmazione indiretta di un asse

Programmazione diretta:

Programmazione indiretta:

Esempio 3: Programmazione indiretta di un asse

Programmazione diretta:

Programmazione indiretta:

Esempio 4: Programmazione indiretta di un asse

Programmazione diretta:

Programmazione indiretta:

Codice di programma Commento

FA[U]=300 ; Avanzamento 300 per l'asse "U".

Codice di programma Commento

DEF AXIS AXVAR2=U ; Definizione di una variabile del tipo AXIS e assegnazione dei valori.

FA[AXVAR2]=300 ; Avanzamento 300 per l'asse il cui nome di indirizzo è memorizzato nelle variabili con il nome AXVAR2.

Programmazione Commento

$AA_MM[X] ; Lettura del valore di misura del tastatore (sist. coordinate macchina, SCM) dell'asse "X".

Codice di programma Commento

DEF AXIS AXVAR3=X ; Definizione di una variabile del tipo AXIS e assegnazione dei valori.

$AA_MM[AXVAR3] ; Lettura del valore di misura del tastatore (sist. coordinate macchina, SCM) per l'asse il cui nome è memorizzato nella variabile AXVAR3.

Codice di programma

X1=100 X2=200

Codice di programma Commento

DEF AXIS AXVAR1 AXVAR2 ; Definizione di due variabili di tipo AXIS.

AXVAR1=(X1) AXVAR2=(X2) ; Assegnazione dei nomi degli assi.

AX[AXVAR1]=100 AX[AXVAR2]=200 ; Spostamento degli assi i cui nomi di indirizzo sono memorizzati nelle variabili con i nomi AXVAR1 e AXVAR2.

Page 58: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.2 Programmazione indiretta

Preparazione del lavoro58 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio 5: Programmazione indiretta di un asse

Programmazione diretta:

Programmazione indiretta:

Esempio 6: Programmazione indiretta di elementi di campo

Programmazione diretta:

Programmazione indiretta:

Esempio 7: Richiamo indiretto di sottoprogrammi

Codice di programma

G2 X100 I20

Codice di programma Commento

DEF AXIS AXVAR1=X ; Definizione di una variabile del tipo AXIS e assegnazione dei valori.

G2 X100 IP[AXVAR1]=20 ; Programmazione indiretta dell'indicazione del centro per l'asse il cui nome di indirizzo è memorizzato nelle variabili con il nome AXVAR1.

Codice di programma Commento

DEF INT FELD1[4,5] ; Definizione del campo 1.

Codice di programma Commento

DEFINE DIM1 AS 4 ; Nelle dimensioni del campo, le grandezze vanno indicate come valori fissi.

DEFINE DIM2 AS 5

DEF INT FELD[DIM1,DIM2]

FELD[DIM1-1,DIM2-1]=5

Codice di programma Commento

CALL "L" << R10 ; Richiamo del programma il cui numero è contenuto in R10 (concatenamento della stringa).

Page 59: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.2 Programmazione indiretta

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 59

1.2.2 Programmazione indiretta di codici G

FunzioneLa programmazione indiretta di codici G consente una programmazione efficace dei cicli.

SintassiG[<Gruppo>]=<Numero>

Significato

EsempiEsempio 1: Spostamento origine impostabile (gruppo funzione G 8)

G[...]: Comando G con ampliamento (indice)<gruppo>: Parametro dell'indice: Gruppo funzioni G

Tipo: INT<Numero>: Variabile per il numero di codice G

Tipo: INT o REAL

NotaDi norma è possibile programmare indirettamente solo codice G non determinante la sintassi.

Dei costrutti in codice G determinanti la sintassi sono possibili solo quelli del gruppo funzione G 1. Non sono possibili costrutti in codice G determinanti la sintassi dei gruppi funzione G 2, 3 e 4.

NotaNella programmazione indiretta di codice G non è consentito l'uso di funzioni aritmetiche. Se vi è la necessità di calcolare i numeri di codici G, questo dovrà avvenire in una riga specifica del partprogram prima della programmazione indiretta dei codici G.

Codice di programma Commento

N1010 DEF INT INT_VAR

N1020 INT_VAR=2

...

N1090 G[8]=INT_VAR G1 X0 Y0 ; G54

N1100 INT_VAR=INT_VAR+1 ; Calcolo del codice G

N1110 G[8]=INT_VAR G1 X0 Y0 ; G55

Page 60: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.2 Programmazione indiretta

Preparazione del lavoro60 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio 2: Selezione del piano (gruppo funzione G 6)

BibliografiaPer informazioni sui gruppi funzione G vedere:Manuale di programmazione, Nozioni di base; capitolo "Gruppi di funzioni G".

1.2.3 Programmazione indiretta di attributi di posizione (GP)

FunzioneGli attributi di posizione, quali ad esempio la programmazione incrementale o assoluta della posizione dell'asse, possono essere programmati indirettamente come variabili unitamente alla parola chiave GP.

ApplicazioniLa programmazione indiretta di attributi di posizione viene utilizzata nei cicli di sostituzione, in quanto rispetto alla programmazione di attributi di posizione quale parola chiave (ad es. IC, AC, ...) si ha il seguente vantaggio:

Attraverso la programmazione indiretta come variabili non è richiesta alcuna istruzione CASE, che si ramifica in tutti i possibili attributi di posizione.

Sintassi<COMANDO DI POSIZIONAMENTO>[<Asse/Mandrino>]=GP(<Posizione>,<Attributo di posizione)<Asse/Mandrino>=GP(<Posizione>,<Attributo di posizione)

Codice di programma Commento

N2010 R10=$P_GG[6] ; Lettura della funzione G attiva del gruppo funzione G 6

...

N2090 G[6]=R10

Page 61: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.2 Programmazione indiretta

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 61

Significato

I valori forniti dalle variabili hanno il seguente significato:

<COMANDO_POSIZIONAMENTO>[]: I seguenti programmi di posizionamento possono essere programmati assieme alla parola chiave GP:POS, POSA,SPOS, SPOSAAltre possibilità:• tutti gli identificatori dell'asse/dei mandrini presenti nel canale:

<Asse/mandrino>

• Identificatore dell'asse/del mandrino variabile AX<asse/mandrino>: Asse/mandrino da posizionareGP(): Parola chiave per il posizionamento<posizione>: Parametro 1

Posizione dell'asse/del mandrino come costante o variabile

<attributo_posizione>: Parametro 2Attributo di posizione (ad esempio modalità di accostamento della posizione) quale variabile (ad es. $P_SUB_SPOSMODE) oppure quale parola chiave (IC, AC, ...)

Valore Significato Consentito per:0 Nessuna modifica dell'attributo di

posizione1 AC POS, POSA,SPOS, SPOSA,AX, Indirizzo dell'asse

2 IC POS, POSA,SPOS, SPOSA,AX, Indirizzo dell'asse

3 DC POS, POSA,SPOS, SPOSA,AX, Indirizzo dell'asse

4 ACP POS, POSA,SPOS, SPOSA,AX, Indirizzo dell'asse

5 ACN POS, POSA,SPOS, SPOSA,AX, Indirizzo dell'asse

6 OC -7 PC -8 DAC POS, POSA,AX, Indirizzo dell'asse

9 DIC POS, POSA,AX, Indirizzo dell'asse

10 RAC POS, POSA,AX, Indirizzo dell'asse

11 RIC POS, POSA,AX, Indirizzo dell'asse

12 CAC POS, POSA

13 CIC POS, POSA

14 CDC POS, POSA

15 CACP POS, POSA

16 CACN POS, POSA

Page 62: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.2 Programmazione indiretta

Preparazione del lavoro62 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

EsempioCon accoppiamento sincrono mandrini attivo tra mandrino master S1 e mandrino slave S2, attraverso il comando SPOS nel programma principale viene richiamato il seguente ciclo di sostituzione per il posizionamento del mandrino.

Il posizionamento viene effettuato attraverso l'istruzione in N2230:SPOS[1]=GP($P_SUB_SPOSIT,$P_SUB_SPOSMODE) SPOS[2]=GP($P_SUB_SPOSIT,$P_SUB_SPOSMODE)

La posizione da raggiungere viene letta dalle variabili di sistema $P_SUB_SPOSIT, la modalità di accostamento della posizione viene letta dalle variabili di sistema $P_SUB_SPOSMODE.

Condizioni marginali• Nelle azioni sincrone non è possibile la programmazione indiretta di attributi di posizione.

Codice di programma Commento

N1000 PROC LANG_SUB DISPLOF SBLOF

...

N2100 IF($P_SUB_AXFCT==2)

N2110 ; Sostituzione del comando SPOS / SPOSA / M19 con accoppiamento sincrono mandrini attivo

N2185 DELAYFSTON ; Inizio del settore Stop-Delay

N2190 COUPOF(S2,S1) ; Disattivazione dell'accoppiamento sincrono mandrini

N2200 ; Posizionamento del mandrino master e slave

N2210 IF($P_SUB_SPOS==TRUE) OR ($P_SUB_SPOSA==TRUE)

N2220 ; Posizionamento del mandrino con SPOS:

N2230 SPOS[1]=GP($P_SUB_SPOSIT,$P_SUB_SPOSMODE)

SPOS[2]=GP($P_SUB_SPOSIT,$P_SUB_SPOSMODE)

N2250 ELSE

N2260 ; Posizionamento del mandrino con M19:

N2270 M1=19 M2=19 ; Posizionamento del mandrino master e slave

N2280 ENDIF

N2285 DELAYFSTOF ; Fine del settore Stop-Delay

N2290 COUPON(S2,S1) ; Attivazione dell'accoppiamento sincrono mandrini

N2410 ELSE

N2420 ; Interrogazione su ulteriori sostituzioni

...

N3300 ENDIF

...

N9999 RET

Page 63: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.2 Programmazione indiretta

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 63

BibliografiaManuale di guida alle funzioni, Funzioni di base; BAG; canale, funzionamento del programma, comportamento di reset (K1),Capitolo: Sostituzione di funzioni NC attraverso sottoprogrammi

1.2.4 Programmazione indiretta di righe di partprogram (EXECSTRING)

Funzione

Con il comando di programma pezzo EXECSTRING è possibile eseguire una variabile stringa, creata in precedenza, come riga di programma pezzo.

SintassiEXECSTRING viene programmato in una riga a sé stante del programma pezzo:EXECSTRING (<variabile_String>)

Significato

Esempio

EXECSTRING: Comando per l'esecuzione di una variabile stringa come riga di programma pezzo

<variabile_String>

:Variabile del tipo STRING contenente la riga effettiva di programma pezzo da eseguire

NotaCon EXECSTRING è possibile eseguire tutti i costrutti di programma pezzo che possono essere programmati nella sezione di programma di un programma pezzo. In questo modo vengono esclusi le istruzioni PROC e DEF nonché, in linea generale, l'utilizzo in file INI e DEF.

Codice di programma Commento

N100 DEF STRING[100] BLOCK ; Definizione delle variabili String per l'accoglimento della riga di programma pezzo da eseguire.

N110 DEF STRING[10] MFCT1="M7"

...

N200 EXECSTRING(MFCT1 << "M4711") ; Esecuzione della riga di programma pezzo "M7 M4711".

...

N300 R10=1

N310 BLOCK="M3"

N320 IF(R10)

N330 BLOCK = BLOCK << MFCT1

N340 ENDIF

N350 EXECSTRING(BLOCK) ; Esecuzione della riga del programma pezzo "M3 M7".

Page 64: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.3 Funzioni di calcolo

Preparazione del lavoro64 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

1.3 Funzioni di calcolo

Funzione Le funzioni di calcolo possono essere utilizzate in particolare per parametri R (oppure costanti e funzioni) del tipo REAL. Sono consentiti anche i tipi INT e CHAR.

Operatori / funzioni di calcolo Significato+ addizione- sottrazione* moltiplicazione/ divisione

Attenzione:(Tipo INT)/(Tipo INT)=(Tipo REAL); Esempio: 3/4 = 0.75

DIV divisione, solo per variabili di tipo INT e REALAttenzione:(Tipo INT)DIV(Tipo INT)=(Tipo INT); Esempio: 3 DIV 4 = 0

MOD Divisione modulo (solo per tipo INT) dà il resto di una divisione INTEsempio: 3 MOD 4 = 3

: operatore di concatenamento (con variabili FRAME)Sin() SenoCOS() cosenoTAN() tangenteASIN() arcosenoACOS() arcocosenoATAN2(,) arcotangente2SQRT() radice quadrataABS() valore assolutoPOT() 2ª potenza (quadrato)TRUNC() parte intera

Precisioni con istruzioni di confronto impostabili con TRUNC (vedere "Correttore di precisione in caso di errori di confronto (TRUNC) [Pagina 69]")

ROUND() arrotondamento a interoLN() logaritmo naturaleEXP() funzione esponenzialeMINVAL() valore più piccolo di due variabili

(vedere "Minimo, massimo e campo delle variabili (MINVAL, MAXVAL e BOUND) [Pagina 71]")

MAXVAL() valore più grande di due variabili(vedere "Minimo, massimo e campo delle variabili (MINVAL, MAXVAL e BOUND) [Pagina 71]")

Page 65: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.3 Funzioni di calcolo

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 65

ProgrammazionePer le funzioni di calcolo vale la scrittura matematica tradizionale. Le priorità dell'elaborazione vengono impostate tramite parentesi rotonde. Per le funzioni trigonometriche e le relative funzioni inverse vale l'impostazione in gradi (angolo retto=90°).

EsempiEsempio 1: ATAN2

BOUND() Valore della variabile che rientra nel campo di valori definito(vedere "Minimo, massimo e campo delle variabili (MINVAL, MAXVAL e BOUND) [Pagina 71]")

CTRANS() TraslazioneCROT() RotazioneCSCALE() variazione del fattore di scalaCMIRROR() Specularità

La funzione di calcolo ATAN2 calcola l'angolo del vettore somma di due vettori ortogonali.Il risultato è compreso nel campo dei quattro quadranti (-180° < 0 < +180°).La base per l'angolo di riferimento è sempre il 2° valore in direzione positiva.

Page 66: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.3 Funzioni di calcolo

Preparazione del lavoro66 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio 2: Inizializzazione di campi di variabili completi

Codice di programma Commento

R1=R1+1 ; nuovo R1 = vecchio R1 +1

R1=R2+R3 R4=R5-R6 R7=R8*R9

R10=R11/R12 R13=SIN(25.3)

R14=R1*R2+R3 ; La moltiplicazione viene eseguita prima dell'addizione.

R14=(R1+R2)*R3 ; Vengono eseguite per prime le parentesi.

R15=SQRT(POT(R1)+POT(R2)) ; Vengono eseguite per prime le parentesi interne:R15 = radice quadrata calcolata da (R1+R2)

RESFRAME=FRAME1:FRAME2FRAME3=CTRANS(…):CROT(…)

; Con l'operatore di concatenamento vengono collegati Frame ad un Frame risultante oppure assegnati valori ai componenti Frame.

Page 67: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.4 Operazioni logiche e di confronto

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 67

1.4 Operazioni logiche e di confronto

Funzioni Le operazioni di confronto possono essere utilizzate ad esempio per formulare delle condizioni di salto. In questo modo si possono confrontare anche espressioni complesse.

Le operazioni di confronto possono essere utilizzate per le variabili del tipo CHAR,INT, REAL e BOOL. Per il tipo CHAR viene confrontato il valore del codice. Per i tipi STRING, AXIS e FRAME sono ammessi: == e <>, che possono essere applicati per le operazioni del tipo STRING anche nelle azioni sincrone.

Il risultato delle operazioni confrontate è sempre del tipo BOOL.

Operatori logici servono per operazioni con valori di verità.

Le operazioni logiche sono applicabili solo alla variabile di tipo BOOL. Tramite conversione interna del tipo si possono applicare anche ai tipi di dati CHAR, INT e REAL.

Nel caso delle operazioni logiche (booleane) per i tipi di dati BOOL, CHAR,INT e REAL vale quanto segue:

• 0 corrisponde a: FALSE

• diverso da 0 corrisponde a: TRUE

Operatori logici a bit

Con le variabili del tipo CHAR e INT si possono eseguire anche operazioni logiche a bit. Eventualmente avviene automaticamente una conversione di tipo.

Programmazione

Operatore di confronto Significato== uguale<> diverso> maggiore< minore>= maggiore o uguale<= minore o uguale

Page 68: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.4 Operazioni logiche e di confronto

Preparazione del lavoro68 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

EsempiEsempio 1: operatori di confrontoIF R10>=100 GOTOF DESTINAZIONE

oppureR11=R10>=100IF R11 GOTOF DESTINAZIONE

Il risultato del confronto R10>=100 viene memorizzato temporaneamente in R11.

Esempio 2: Operatori logiciIF (R10<50) AND ($AA_IM[X]>=17.5) GOTOF DESTINAZIONE

oppureIF NOT R10 GOTOB START

NOT si riferisce solo a un operando.

Esempio 3: Operatori logici a bitIF $MC_RESET_MODE_MASK B_AND 'B10000' GOTOF ACT_PLANE

Operatore logico SignificatoAND ANDOR ORNOT NegazioneXOR OR esclusivo

Operatori logici a bit SignificatoB_AND AND a bitB_OR OR a bitB_NOT negazione a bitB_XOR OR esclusivo a bit

NotaNelle espressioni aritmetiche la sequenza di elaborazione di tutti gli operatori può essere determinata con parentesi tonde, scostandosi così dalle normali regole di priorità.

NotaTra gli operandi BOOLEANI e gli operatori si devono lasciare degli spazi intermedi.

NotaL'operatore B_NOT si riferisce ad un solo operando. L'operando è posto dopo l'operatore.

Page 69: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.5 Correttore di precisione in caso di errori di confronto (TRUNC)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 69

1.5 Correttore di precisione in caso di errori di confronto (TRUNC)

FunzioneL'istruzione TRUNC tronca le cifre decimali dell'operando moltiplicato con un fattore di precisione.

Precisione impostabile in caso di istruzioni di confronto

I dati del partprogram del tipo REAL vengono rappresentati internamente nel formato IEEE a 64 bit. Questo formato di rappresentazione può causare delle inesattezze nei numeri decimali e quindi, in un confronto con valori ideali, si possono verificare risultati errati.

Uguaglianza relativa

Per evitare che le inesattezze dovute al formato di rappresentazione incidano sullo svolgimento del programma, nelle istruzioni di confronto non si verifica l'uguaglianza assoluta ma soltanto quella relativa.

SintassiCorrettore di precisione in caso di errori di confrontoTRUNC (R1*1000)

Significato

Uguaglianza relativa considerata pari a 10-12 per

• uguale: (==)

• diverso: (<>)

• maggiore o uguale: (>=)

• minore o uguale: (<=)

• maggiore/minore: (><) con uguaglianza assoluta

• maggiore: (>)

• minore: (<)

Compatibilità

Per motivi di compatibilità, è possibile disattivare la verifica dell'uguaglianza relativa per (>) e (<) impostando il dato macchina MD10280 $MN_ PROG_FUNCTION_MASK Bit0 = 1.

TRUNC: Esclusione delle cifre decimali

NotaConfronti con dati del tipo REAL, per i motivi citati in precedenza, sono affetti generalmente da una certa imprecisione. In caso di differenze non accettabili, si deve ricorrere al calcolo INTEGER moltiplicando gli operandi con un fattore di precisione e successivamente troncandoli con l'istruzione TRUNC.

Page 70: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.5 Correttore di precisione in caso di errori di confronto (TRUNC)

Preparazione del lavoro70 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Azioni sincrone

Il comportamento descritto per quanto riguarda le istruzioni di confronto vale anche per le azioni sincrone.

EsempiEsempio 1: considerazioni sulla precisione

Esempio 2: formazione e valutazione del quoziente di entrambi gli operandi

Codice di programma Commento

N40 R1=61.01 R2=61.02 R3=0.01 ; Assegnazione dei valori iniziali

N41 IF ABS(R2-R1) > R3 GOTOF ERRORE ; Il salto è stato finora eseguito

N42 M30 ; Fine programma

N43 ERRORE: SETAL(66000) ;

R1=61.01 R2=61.02 R3=0.01 ; Assegnazione dei valori iniziali

R11=TRUNC(R1*1000) R12=TRUNC(R2*1000)R13=TRUNC(R3*1000)

; Correttore di precisione

IF ABS(R12-R11) > R13 GOTOF ERRORE ; Il salto non viene più eseguito

M30 ; Fine programma

ERRORE: SETAL(66000) ;

Codice di programma Commento

R1=61.01 R2=61.02 R3=0.01 ; Assegnazione dei valori iniziali

IF ABS((R2-R1)/R3)-1) > 10EX-5 GOTOF ERRORE ; Il salto non viene eseguito

M30 ; Fine programma

ERRORE: SETAL(66000) ;

Page 71: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.6 Minimo, massimo e campo delle variabili (MINVAL, MAXVAL e BOUND)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 71

1.6 Minimo, massimo e campo delle variabili (MINVAL, MAXVAL e BOUND)

FunzioniCon i comandi MINVAL e MAXVAL è possibile confrontare fra loro i valori di due variabili. Come risultato viene restituito il valore minore (con MINVAL) o quello maggiore (con MAXVAL).

Con il comando BOUND si può controllare se il valore di una variabile da verificare si trovi entro un campo di valori definito.

Sintassi<valore minore>=MINVAL(<variabile1>,<variabile2>)<valore maggiore>=MAXVAL(<variabile1>,<variabile2>)<valore di ritorno>=BOUND(<minimo>,<massimo>,<variabile da verificare>)

Significato

MINVAL: Rileva il valore minore di due variabili (<variabile1>, <variabile2>)

<valore minore>: Variabile risultato del comando MINVALViene impostata sul valore minore della variabile.

MAXVAL: Rileva il valore maggiore di due variabili (<variabile1>, <variabile2>)

<valore maggiore>: Variabile risultato del comando MAXVALViene impostata sul valore maggiore della variabile.

BOUND: Controlla se una variabile (<variabile da verificare>) si trovi entro un campo di valori definito.

<minimo>: Variabile che definisce il valore minimo del campo di valori<massimo>: Variabile che definisce il valore massimo del campo di valori<valore di

ritorno>:Variabile risultato del comando BOUNDSe il valore di una variabile da verificare si trova entro un campo di valori definito, la variabile di evento viene impostata sul valore della variabile da verificare.Se il valore della variabile da verificare è maggiore del valore massimo, la variabile di evento viene impostata sul valore massimo del campo di definizione.Se il valore della variabile da verificare è minore del valore minimo, la variabile di evento viene impostata sul valore minimo del campo di definizione.

NotaMINVAL, MAXVAL und BOUND si possono programmare anche nelle azioni sincrone.

Page 72: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.6 Minimo, massimo e campo delle variabili (MINVAL, MAXVAL e BOUND)

Preparazione del lavoro72 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio

NotaComportamento in caso di uguaglianzaIn caso di parità di MINVAL/MAXVAL, viene restituito questo valore uguale. Con BOUND viene restituito il valore della variabile da verificare.

Codice di programma Commento

DEF REAL rVar1=10.5, rVar2=33.7, rVar3, rVar4, rVar5, rValMin, rValMax, rRetVar

rValMin=MINVAL(rVar1,rVar2) ; rValMin viene impostato sul valore 10.5.

rValMax=MAXVAL(rVar1,rVar2) ; rValMax viene impostato sul valore 33.7.

rVar3=19.7

rRetVar=BOUND(rVar1,rVar2,rVar3) ; rVar3 si trova entro i limiti, rRetVar viene impostato su 19.7.

rVar3=1.8

rRetVar=BOUND(rVar1,rVar2,rVar3) ; rVar3 si trova sotto il limite minimo, rRetVar viene impostato su 10.5.

rVar3=45.2

rRetVar=BOUND(rVar1,rVar2,rVar3) ; rVar3 si trova sopra il limite massimo, rRetVar viene impostato su 33.7.

Page 73: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.7 Priorità delle operazioni

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 73

1.7 Priorità delle operazioni

FunzioneAd ogni operatore è assegnata una priorità. Nella valutazione di un'espressione vengono considerati sempre prima gli operatori con priorità più elevata. Per operatori dello stesso livello, la valutazione viene effettuata da sinistra verso destra.

Nelle espressioni aritmetiche la sequenza di elaborazione di tutti gli operatori può essere determinata con parentesi tonde, scostandosi così dalle normali regole di priorità.

Sequenza degli operatoriDalla priorità più alta alla più bassa

Esempio di istruzione IFIf (otto==10) and (anna==20) gotof end

1. NOT, B_NOT negazione, negazione a bit2. *, /, DIV, MOD moltiplicazione, divisione3. +, – addizione, sottrazione4. B_AND AND a bit5. B_XOR OR esclusivo a bit6. B_OR OR a bit7. AND AND8. XOR OR esclusivo9. OR OR10. << concatenamento di stringhe, tipo risultante STRING11. ==, <>, >, <, >=, <= Operatori di confronto

NotaL'operatore di concatenamento ":" per Frame non può sussistere nella stessa espressione insieme ad altri operatori. Pertanto non è necessario assegnare ad esso un livello di priorità.

Page 74: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.8 Possibili conversioni di tipi

Preparazione del lavoro74 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

1.8 Possibili conversioni di tipi

FunzioneConversione del tipo nell'assegnazione

Il valore numerico costante, la variabile oppure l'espressione alla quale viene assegnata una variabile, devono essere compatibili con il tipo di variabile. Se questo presupposto è soddisfatto, il tipo viene convertito automaticamente in fase di assegnazione.

Possibili conversioni di tipi

Spiegazioni

a REAL INT BOOL CHAR STRING AXIS FRAMEda

REAL sì si* si1) si* – – –

INT sì sì si1) sì 2) – – –

BOOL sì sì sì sì sì – –CHAR sì sì sì 1) sì sì – –

STRING – – sì 4) sì 3) sì – –

AXIS – – – – – sì –FRAME – – – – – – sì

* Per la conversione da REAL a INT, un valore frazionario >=0.5 viene arrotondato alla cifra successiva, gli altri valori vengono arrotondati alla cifra precedente (vedere funzione ROUND).

1) Un valore <> 0 corrisponde a TRUE, un valore == 0 corrisponde a FALSE2) Se il valore si trova in un campo numerico consentito3) Se ha solo 1 carattere4) Lunghezza stringa 0 => FALSE, altrimenti TRUE

NotaSe nella conversione il valore è più grande del campo di destinazione, viene emessa una segnalazione di errore.

Se in una espressione sono presenti dei tipi misti, viene eseguito automaticamente un adeguamento del tipo. Le conversioni possono avvenire anche nelle azioni sincrone, vedere in proposito il capitolo "Azioni sincrone di movimento, conversione implicita del tipo".

Page 75: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.9 Operazioni su stringhe

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 75

1.9 Operazioni su stringhe

Operazioni StringOltre alle classiche operazioni di "Assegnazione" e "Confronto", sono possibili le seguenti operazioni String:

• Conversione di tipi in STRING (AXSTRING) [Pagina 76] 

• Conversione di tipi da STRING (NUMBER, ISNUMBER, AXNAME) [Pagina 77] 

• Concatenamento di stringhe (<<) [Pagina 78] 

• Conversione in lettere minuscole/maiuscole (TOLOWER, TOUPPER) [Pagina 79] 

• Determinazione della lunghezza di una stringa (STRLEN) [Pagina 80] 

• Ricerca carattere/stringa all'interno di una stringa (INDEX, RINDEX, MINDEX, MATCH) [Pagina 81] 

• Selezione di una stringa parziale (SUBSTR) [Pagina 82] 

• Selezione di una singola stringa (STRINGVAR, STRINGFELD) [Pagina 83] 

• Formattazione di una stringa (SPRINT) [Pagina 84]

Significato speciale del carattere 0Il carattere 0 viene interpretato internamente come identificazione finale di una stringa. Se un carattere viene sostituito dal carattere 0, la stringa risulta accorciata.

Esempio:

Codice di programma Commento

DEF STRING[20] STRG="L'asse . è fermo"

STRG[6]="X"

MSG(STRG) ; Fornisce il messaggio "L'asse X è fermo".

STRG[6]=0

MSG(STRG) ; Fornisce il messaggio "Asse".

Page 76: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.9 Operazioni su stringhe

Preparazione del lavoro76 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

1.9.1 Conversione di tipi in STRING (AXSTRING)

Funzione Attraverso la funzione "Conversione di tipi in STRING" è possibile utilizzare variabili di diversi tipi quale parte costitutiva di un messaggio (MSG).

Si realizza utilizzando l'operatore << implicitamente per i tipi di dati INT, REAL, CHAR e BOOL (vedere " Concatenamento di stringhe (<<) [Pagina 78] ").

I valori INT vengono convertiti nella forma normalmente leggibile. Con valori REAL vengono indicate fino a 10 cifre dopo la virgola.

Attraverso il comando AXSTRING è possibile convertire variabili di tipo AXIS in STRING.

Sintassi<STRING_ERG> = << <quals._tipo><STRING_ERG> = AXSTRING(<identificatore asse>)

Significato

EsempiEsempio 1:MSG("Position:"<<$AA_IM[X])

Esempio 2: AXSTRING

<STRING_ERG>: Variabile per il risultato della conversione di tipiTipo: STRING

<quals._tipo>: Tipi di variabili INT, REAL, CHAR, STRING e BOOLAXSTRING: Il comando AXSTRING fornisce come stringa l'identificatore

dell'asse indicato.<identificatore

asse>:Variabile per l'identificatore dell'asseTipo: AXIS

NotaLe variabili FRAME non possono essere convertite.

Codice di programma Commento

DEF STRING[32] STRING_ERG

STRING_ERG=AXSTRING(X) ; STRING_ERG == "X"

Page 77: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.9 Operazioni su stringhe

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 77

1.9.2 Conversione di tipi da STRING (NUMBER, ISNUMBER, AXNAME)

FunzioneCon il comando NUMBER si effettua la conversione da STRING a REAL. La possibilità di conversione può essere verificata con il comando ISNUMBER.

Con il comando AXNAME si effettua la conversione di una stringa nel tipo di dati AXIS.

Sintassi<REAL_ERG>=NUMBER("<Stringa>")<BOOL_ERG>=ISNUMBER("<Stringa>")<AXIS_ERG>=AXNAME("<Stringa>")

Significato

NUMBER: Il comando NUMBER restituisce il numero rappresentato dalla <Stringa> come valore REAL.

<stringa>: Variabile da convertire di tipo STRING<REAL_ERG>: Variabile per il risultato della conversione di tipi con NUMBER

Tipo: REALISNUMBER: Con il comando ISNUMBER è possibile verificare se la <Stringa>

possa essere convertita in un numero valido.<BOOL_ERG>: Variabile per il risultato dell'interrogazione con ISNUMBER

Tipo: BOOLValore: TRUE ISNUMBER fornisce il valore TRUE, se la

<Stringa> costituisce un numero REAL ritenuto valido conformemente alle regole del linguaggio.

FALSE Se ISNUMBER fornisce il valore FALSE, richiamando NUMBER con la stessa <Stringa>, viene emesso un allarme.

AXNAME: Il comando AXNAME converte la <Stringa> indicata in un identificatore dell'asse.Nota:Se non è possibile assegnare alla <Stringa> alcun identificatore dell'asse progettato, viene emesso un allarme.

<AXIS_ERG>: Variabile per il risultato della conversione di tipi con AXNAMETipo: AXIS

Page 78: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.9 Operazioni su stringhe

Preparazione del lavoro78 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio

1.9.3 Concatenamento di stringhe (<<)

FunzioneLa funzione "Concatenamento di stringhe" offre la possibilità di creare una stringa strutturandola con diversi componenti.

Il concatenamento viene realizzato attraverso l'operatore "<<". Il tipo restituito da questo operatore è sempre STRING per tutte le combinazioni dei tipi base CHAR, BOOL, INT, REAL e STRING. Nel caso si renda necessaria una conversione, questa viene eseguita secondo le regole esistenti.

Sintassi<quals._tipo> << <quals._tipo>

Significato

Ad esempio risulta possibile comporre un messaggio o un comando da liste di testi e introdurre parametri (ad esempio il nome di un blocco):MSG(STRG_TAB[LOAD_IDX]<<BAUSTEIN_NAME)

Codice di programma Commento

DEF BOOL BOOL_ERG

DEF REAL REAL_ERG

DEF AXIS AXIS_ERG

BOOL_ERG=ISNUMBER("1234.9876Ex-7") ; BOOL_ERG == TRUE

BOOL_ERG=ISNUMBER("1234XYZ") ; BOOL_ERG == FALSE

REAL_ERG=NUMBER("1234.9876Ex-7") ; REAL_ERG == 1234.9876Ex-7

AXIS_ERG=AXNAME("X") ; AXIS_ERG == X

<quals._ti

po>:Variabile di tipo CHAR, BOOL, INT, REAL oppure STRING

<< : Operatore per il concatenamento di variabili (<quals._tipo>) in una sequenza di caratteri composta (di tipo STRING). Questo operatore è disponibile anche solo come cosiddetta variante "unaria". In tal modo è possibile eseguire una conversione esplicita di tipi in STRING (non per FRAME e AXIS):<< <quals._tipo>

CAUTELAI risultati intermedi durante il concatenamento di stringhe non devono superare la lunghezza massima della stringa.

NotaI tipi FRAME e AXIS non possono essere utilizzati assieme all'operatore "<<".

Page 79: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.9 Operazioni su stringhe

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 79

EsempiEsempio 1: Concatenamento di stringhe

Esempio 2: Conversione di tipi esplicita con <<

1.9.4 Conversione in lettere minuscole/maiuscole (TOLOWER, TOUPPER)

FunzioneLa funzione "Conversione in lettere minuscole/maiuscole" consente di convertire tutte le lettere di una sequenza di caratteri in una rappresentazione unitaria.

Sintassi<STRING_ERG>=TOUPPER("<Stringa>")<STRING_ERG>=TOLOWER("<Stringa>")

Significato

Codice di programma Commento

DEF INT IDX=2

DEF REAL VALUE=9.654

DEF STRING[20] STRG="INDEX:2"

IF STRG=="Indice:"<<IDX GOTOF NO_MSG

MSG("Indice:"<<IDX<<"/Valore:"<<VALUE) ; Indicazione:"Indice:2/Valore:9.654"

NO_MSG:

Codice di programma Commento

DEF REAL VALUE=3.5

<<VALUE ; La variabile indicata di tipo REAL viene convertita nel tipo STRING.

TOUPPER: Con il comando TOUPPER, tutte le lettere di una sequenza di caratteri vengono convertite in lettere maiuscole.

TOLOWER: Con il comando TOLOWER, tutte le lettere di una sequenza di caratteri vengono convertite in lettere minuscole.

<stringa>: Sequenza di caratteri da convertireTipo: STRING

<STRING_ERG>: Variabile per il risultato della conversioneTipo: STRING

Page 80: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.9 Operazioni su stringhe

Preparazione del lavoro80 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

EsempioPoiché sulla superficie operativa è anche possibile impostare dati utente, si può realizzare una rappresentazione unitaria con caratteri minuscoli o maiuscoli:

1.9.5 Determinazione della lunghezza di una stringa (STRLEN)

FunzioneCon il comando STRLEN è possibile determinare la lunghezza di una sequenza di caratteri.

Sintassi<INT_ERG>=STRLEN("<STRING>")

Significato

EsempioLa funzione, unitamente all'accesso al singolo carattere, consente di determinare la fine di una sequenza di caratteri:

Codice di programma

DEF STRING [29] STRG

...

IF "LEARN.CNC"==TOUPPER(STRG) GOTOF LOAD_LEARN

STRLEN: Con il comando STRLEN viene determinata la lunghezza della sequenza di caratteri indicata.Viene restituito il numero dei caratteri che, contati dall'inizio della sequenza di caratteri, sono diversi dal carattere 0.

<stringa>: Sequenza di caratteri di cui deve essere determinata la lunghezzaTipo: STRING

<INT_ERG>: Variabile per il risultato della determinazioneTipo: INT

Codice di programma

IF (STRLEN(BAUSTEIN_NAME)>10) GOTOF FEHLER

Page 81: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.9 Operazioni su stringhe

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 81

1.9.6 Ricerca carattere/stringa all'interno di una stringa (INDEX, RINDEX, MINDEX,MATCH)

Funzione Questa funzione consente di ricercare un carattere o una stringa all'interno di un'altra stringa. La funzione indica in quale posizione della stringa sono stati trovati il carattere o la stringa ricercati.

SintassiINT_ERG=INDEX(STRING,CHAR) ; Tipo di risultato: INT

INT_ERG=RINDEX(STRING,CHAR) ; Tipo di risultato: INT

INT_ERG=MINDEX(STRING,STRING) ; Tipo di risultato: INT

INT_ERG=MATCH(STRING,STRING) ; Tipo di risultato: INT

Semantica

Funzioni di ricerca: Restituiscono la posizione nella stringa (primo parametro) nella quale la ricerca ha trovato risultati. Se non è possibile trovare il carattere/la stringa, viene restituito il valore -1. Il primo carattere ha quindi la posizione 0.

Significato

Ciò significa che le stringhe possono essere scomposte secondo criteri definiti, ad esempio in base alle posizioni con spazi vuoti o slash ("/").

EsempioScomposizione di un'immissione nel nome del percorso e del blocco

INDEX: Ricerca nel primo parametro il carattere indicato come secondo parametro (dall'inizio).

RINDEX: Ricerca nel primo parametro il carattere indicato come secondo parametro (dalla fine).

MINDEX: Corrisponde alla funzione INDEX tranne che per il fatto che viene trasmessa una lista di caratteri (come stringa) per i quali viene restituito l'indice del primo carattere trovato.

MATCH: Ricerca una stringa all'interno di una stringa.

Codice di programma Commento

DEF INT PFADIDX, PROGIDX

DEF STRING[26] EINGABE

DEF INT LISTIDX

EINGABE = "/_N_MPF_DIR/_N_EXECUTE_MPF"

Page 82: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.9 Operazioni su stringhe

Preparazione del lavoro82 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

1.9.7 Selezione di una stringa parziale (SUBSTR)

FunzioniQuesta funzione consente di estrarre una parte di stringa dalla stringa stessa. A tale scopo viene indicato l'indice del primo carattere ed eventualmente la lunghezza della stringa desiderata. Se non viene impostata la lunghezza, viene estratta la parte restante della stringa.

SintassiSTRING_ERG = SUBSTR (STRING,INT) ; Tipo di risultato: INT

STRING_ERG = SUBSTR(STRING,INT, INT) ; Tipo di risultato: INT

Semantica

Nel primo caso, la stringa parziale viene restituita a partire dalla posizione definita attraverso il secondo parametro, fino alla fine della stringa.

Nel secondo caso, la stringa risultante è limitata alla lunghezza massima data dal terzo parametro.

Se la posizione iniziale si trova dopo la fine della stringa, viene restituita la stringa vuota (" ").

Se la posizione iniziale o la lunghezza sono negative, viene emesso un allarme.

Esempio

LISTIDX = MINDEX (EINGABE, "M,N,O,P") + 1 ; Come valore in LISTDX viene restituito 3, poiché "N" è il primo carattere nel parametro "EINGABE" (IMMISSIONE) partendo dall'inizio dell'elenco di selezione.

PFADIDX = INDEX (EINGABE, "/") +1 ; Di conseguenza, PFADIDX = 1

PROGIDX = RINDEX (EINGABE, "/") +1 ; Di conseguenza, PROGIDX = 12

utilizzando la funzione SUBSTR descritta nella sezione che segue, è possibile scomporre la variabile EINGABE nei componenti;"Percorso";e "Blocco":

VARIABLE = SUBSTR (EINGABE, PFADIDX, PROGIDX-PFADIDX-1) ; fornisce quindi "_N_MPF_DIR"

VARIABLE = SUBSTR (EINGABE, PROGIDX) ; fornisce quindi "_N_EXECUTE_MPF"

Codice di programma Commento

Codice di programma Commento

DEF STRING[29] ERG

ERG = SUBSTR ("QUITTUNG:10 ... 99", 10, 2) ; Di conseguenza, ERG == "10"

Page 83: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.9 Operazioni su stringhe

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 83

1.9.8 Selezione di una singola stringa (STRINGVAR, STRINGFELD)

FunzioniQuesta funzionalità consente di selezionare un singolo carattere di una stringa. Questo vale tanto per un accesso in lettura, quanto per uno in scrittura.

SintassiCHAR_ERG = STRINGVAR [IDX] ; Tipo di risultato: CHAR

CHAR_ERG = STRINGFELD [IDX_FELD, IDX_CHAR] ; Tipo di risultato: CHAR

Semantica

Viene scritto/letto un carattere nell'ambito di una stringa nella posizione indicata. Se l'indicazione della posizione è negativa o maggiore della stringa, viene emesso un allarme.

Esempio di messaggi:

Impiego di un indicatore dell'asse in una stringa già esistente.

ParametroL'accesso al singolo carattere è possibile solo per le variabili definite dall'utente (dati LUD, GUD e PUD).

Inoltre questo tipo di accesso, nel caso di un richiamo di un sottoprogramma, è possibile solo per i parametri del tipo "Call-By-Value".

EsempiEsempio 1: accesso ad un singolo carattere di un dato macchina, di sistema, …

Codice di programma Commento

DEF STRING [50] MESSAGGIO = "L'asse n ha raggiunto la posizione"

MESSAGGIO [6] = "X"

MSG (MESSAGGIO) ; fornisce il messaggio "L'asse X ha raggiunto la posizione"

Codice di programma Commento

DEF STRING [50] STRG

DEF CHAR CONFERMA

STRG = $P_MMCA

CONFERMA = STRG [0] ; Analisi dei componenti della conferma

Page 84: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.9 Operazioni su stringhe

Preparazione del lavoro84 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio 2: accesso al singolo carattere con il parametro Call-by-Reference

1.9.9 Formattazione di una stringa (SPRINT)

Funzione La funzione predefinita SPRINT consente di formattare stringhe e ad esempio di prepararle per l'emissione su apparecchi esterni (vedere anche "Emissione su un dispositivo/file esterno (EXTOPEN, WRITE, EXTCLOSE) [Pagina 710]").

Sintassi"<stringa_risultato>"=SPRINT("<stringa_formato>",<valore_1>,<valore_2>,..., <valore_n>)

Significato

Codice di programma Commento

DEF STRING [50] STRG

DEF CHAR CHR1

EXTERN UP_CALL (VAR CHAR1) ; Parametro Call-By-Reference

CHR1 = STRG [5]

UP_CALL (CHR1) ; Call-By-Reference

STRG [5] = CHR1

SPRINT: Identificativo per una funzione predefinita che fornisce un valore del tipo STRING.

"<stringa_formato>": Stringa che contiene parti fisse e variabili. Le parti variabili sono definite dal carattere di controllo del formato % e da una successiva descrizione del formato.

<valore_1>,<valore_2>,…,<valore_n>: Valore sotto forma di costante o di variabile NC che viene inserito nel punto in cui si trova il carattere di controllo del formato n %, a seconda della descrizione del formato contenuta in <stringa_formato>.

"<stringa_risultato>": Stringa formattata (max. 400 byte)

Page 85: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.9 Operazioni su stringhe

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 85

Descrizioni del formato disponibili

%B: Conversione nella stringa "TRUE" se il valore da convertire:• è diverso da 0;• non è una stringa vuota (per i valori di stringa).Conversione nella stringa "FALSE" se il valore da convertire:• è uguale a 0;• è una stringa vuota.Esempio:N10 DEF BOOL BOOL_VAR=1N20 DEF STRING[80] RESULTN30 RESULT=SPRINT("CONTENT OF BOOL_VAR:%B", BOOL_VAR)

Risultato: La variabile di stringa RESULT viene descritta con la stringa "CONTENT OF BOOL_VAR:TRUE".

%C: Conversione in un carattere ASCII.Esempio:N10 DEF CHAR CHAR_VAR="X"N20 DEF STRING[80] RESULTN30 RESULT=SPRINT("CONTENT OF CHAR_VAR:%C",CHAR_VAR)

Risultato: La variabile di stringa RESULT viene descritta con la stringa "CONTENT OF CHAR_VAR:X".

%D: Conversione in una stringa con un valore intero (INTEGER).Esempio:N10 DEF INT INT_VAR=123N20 DEF STRING[80] RESULTN30 RESULT=SPRINT("CONTENT OF INT_VAR:%D",INT_VAR)

Risultato: La variabile di stringa RESULT viene descritta con la stringa "CONTENT OF INT_VAR:123".

%<m>D: Conversione in una stringa con un valore intero (INTEGER). La stringa ha una lunghezza minima di <m> caratteri. Le posizioni mancanti vengono riempite con spazi vuoti con allineamento a sinistra.Esempio:N10 DEF INT INT_VAR=-123N20 DEF STRING[80] RESULTN30 RESULT=SPRINT("CONTENT OF INT_VAR:%6D",INT_VAR)

Risultato: La variabile di stringa RESULT viene descritta con la stringa "CONTENT OF INT_VAR:-123" (nell'esempio "x" rappresenta uno spazio vuoto)

%F: Conversione in una stringa con un valore decimale con 6 posizioni dopo la virgola. Le posizioni dopo la virgola vengono eventualmente arrotondate o riempite con 0.Esempio:N10 DEF REAL REAL_VAR=-1.2341234EX+03N20 DEF STRING[80] RESULTN30 RESULT=SPRINT("CONTENT OF REAL_VAR:%F",REAL_VAR)

Risultato: La variabile di stringa RESULT viene descritta con la stringa "CONTENT OF REAL_VAR: -1234.123400".

Page 86: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.9 Operazioni su stringhe

Preparazione del lavoro86 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

%<m>F: Conversione in una stringa con un valore decimale con 6 posizioni dopo la virgola e una langhezza totale di almeno <m> caratteri. Le posizioni dopo la virgola vengono eventualmente arrotondate o riempite con 0. I caratteri mancanti sulla lunghezza totale <m> vengono riempiti con spazi vuoti con allineamento a sinistra.Esempio:N10 DEF REAL REAL_VAR=-1.23412345678EX+03N20 DEF STRING[80] RESULTN30 RESULT=SPRINT("CONTENT OF REAL_VAR:%15F",REAL_VAR)

Risultato: La variabile di stringa RESULT viene descritta con la stringa "CONTENT OF REAL_VAR: xxx-1234.123457" (nell'esempio "x" rappresenta uno spazio vuoto).

%.<n>F: Conversione in una stringa con un valore decimale con <n> posizioni dopo la virgola. Le posizioni dopo la virgola vengono eventualmente arrotondate o riempite con 0.Esempio:N10 DEF REAL REAL_VAR=-1.2345678EX+03N20 DEF STRING[80] RESULTN30 RESULT=SPRINT("CONTENT OF REAL_VAR:%.3F",REAL_VAR)

Risultato: La variabile di stringa RESULT viene descritta con la stringa "CONTENT OF REAL_VAR:-1234.568".

%<m>.<n>F: Conversione in una stringa con un valore decimale con <n> posizioni dopo la virgola e una langhezza totale di almeno <m> caratteri. Le posizioni dopo la virgola vengono eventualmente arrotondate o riempite con 0. I caratteri mancanti sulla lunghezza totale <m> vengono riempiti con spazi vuoti con allineamento a sinistra.Esempio:N10 DEF REAL REAL_VAR=-1.2341234567890EX+03N20 DEF STRING[80] RESULTN30 RESULT=SPRINT("CONTENT OF REAL_VAR:%10.2F",REAL_VAR)

Risultato: La variabile di stringa RESULT viene descritta con la stringa "CONTENT OF REAL_VAR:-1234.12" (nell'esempio "x" rappresenta uno spazio vuoto)

%E: Conversione in una stringa con un valore decimale in formato esponenziale. La mantissa viene normalizzata e salvata con una posizione prima della virgola e 6 posizioni dopo la virgola. Le posizioni dopo la virgola vengono eventualmente arrotondate o riempite con 0. L'esponente inizia con la parola chiave "EX". Segue il segno ("+" oder "-") e un numero a due o tre cifre.Esempio:N10 DEF REAL REAL_VAR=-1234.567890N20 DEF STRING[80] RESULTN30 RESULT=SPRINT("CONTENT OF REAL_VAR:%E",REAL_VAR)

Risultato: La variabile di stringa RESULT viene descritta con la stringa "CONTENT OF REAL_VAR:-1.234568EX+03".

Page 87: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.9 Operazioni su stringhe

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 87

%<m>E: Conversione in una stringa con un valore decimale in formato esponenziale con una langhezza totale di almeno <m> caratteri. Le posizioni mancanti vengono riempite con spazi vuoti con allineamento a sinistra. La mantissa viene normalizzata e salvata con una posizione prima della virgola e 6 posizioni dopo la virgola. Le posizioni dopo la virgola vengono eventualmente arrotondate o riempite con 0. L'esponente inizia con la parola chiave "EX". Segue il segno ("+" oder "-") e un numero a due o tre cifre.Esempio:N10 DEF REAL REAL_VAR=-1234.5N20 DEF STRING[80] RESULTN30 RESULT=SPRINT("CONTENT OF REAL_VAR:%20E",REAL_VAR)

Risultato: La variabile di stringa RESULT viene descritta con la stringa "CONTENT OF REAL_VAR:xxxxxx-1.234500EX+03" (nell'esempio "x" rappresenta uno spazio vuoto)

%.<n>E: Conversione in una stringa con un valore decimale in formato esponenziale. La mantissa viene normalizzata e salvata con una posizione prima della virgola e <n> posizioni dopo la virgola. Le posizioni dopo la virgola vengono eventualmente arrotondate o riempite con 0. L'esponente inizia con la parola chiave "EX". Segue il segno ("+" oder "-") e un numero a due o tre cifre.Esempio:N10 DEF REAL REAL_VAR=-1234.5678N20 DEF STRING[80] RESULTN30 RESULT=SPRINT("CONTENT OF REAL_VAR:%.2E",REAL_VAR)

Risultato: La variabile di stringa RESULT viene descritta con la stringa "CONTENT OF REAL_VAR:-1.23EX+03".

%<m>.<n>E: Conversione in una stringa con un valore decimale in formato esponenziale con una langhezza totale di almeno <m> caratteri. Le posizioni mancanti vengono riempite con spazi vuoti con allineamento a sinistra. La mantissa viene normalizzata e salvata con una posizione prima della virgola e <n> posizioni dopo la virgola. Le posizioni dopo la virgola vengono eventualmente arrotondate o riempite con 0. L'esponente inizia con la parola chiave "EX". Segue il segno ("+" oder "-") e un numero a due o tre cifre.Esempio:N10 DEF REAL REAL_VAR=-1234.5678N20 DEF STRING[80] RESULTN30 RESULT=SPRINT("CONTENT OF REAL_VAR:%12.2E", REAL_VAR)

Risultato: La variabile di stringa RESULT viene descritta con la stringa "CONTENT OF REAL_VAR:xx-1.23EX+03" (nell'esempio "x" rappresenta uno spazio vuoto)

Page 88: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.9 Operazioni su stringhe

Preparazione del lavoro88 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

%G: Conversione in una stringa con un valore decimale a seconda del campo di valori in formato decimale o esponenziale: se il valore da rappresentare è inferiore a 1.0EX-04 o maggiore o uguale a 1.0EX+06, viene scelto il formato esponenziale, altrimenti il formato decimale. Vengono visualizzate al massimo sei posizioni significative, eventualmente viene effettuato un arrotondamento.Esempio con formato decimale:N10 DEF REAL REAL_VAR=1.234567890123456EX-04N20 DEF STRING[80] RESULTN30 RESULT=SPRINT("CONTENT OF REAL_VAR:%G",REAL_VAR)

Risultato: La variabile di stringa RESULT viene descritta con la stringa "CONTENT OF REAL_VAR:0.000123457".Esempio con formato esponenziale:N10 DEF REAL REAL_VAR=1.234567890123456EX+06N20 DEF STRING[80] RESULTN30 RESULT=SPRINT("CONTENT OF REAL_VAR:%G",REAL_VAR)

Risultato: La variabile di stringa RESULT viene descritta con la stringa "CONTENT OF REAL_VAR:1.23457EX+06".

%<m>G: Conversione in una stringa con un valore decimale a seconda del campo di valori in formato decimale o esponenziale (come %G). La stringa ha una lunghezza complessiva di almeno <m> caratteri. Le posizioni mancanti vengono riempite con spazi vuoti con allineamento a sinistra.Esempio con formato decimale:N10 DEF REAL REAL_VAR=1.234567890123456EX-04N20 DEF STRING[80] RESULTN30 RESULT=SPRINT("CONTENT OF REAL_VAR:%15G",REAL_VAR)

Risultato: La variabile di stringa RESULT viene descritta con la stringa "CONTENT OF REAL_VAR:xxxx0.000123457" (nell'esempio "x" rappresenta uno spazio vuoto)Esempio con formato esponenziale:N10 DEF REAL REAL_VAR=1.234567890123456EX+06N20 DEF STRING[80] RESULTN30 RESULT=SPRINT("CONTENT OF REAL_VAR:%15G",REAL_VAR)

Risultato: La variabile di stringa RESULT viene descritta con la stringa "CONTENT OF REAL_VAR:xxx1.23457EX+06" (nell'esempio "x" rappresenta uno spazio vuoto)

%.<n>G: Conversione in una stringa con un valore decimale a seconda del campo di valori in formato decimale o esponenziale. Vengono visualizzate al massimo <n> posizioni significative, eventualmente viene effettuato un arrotondamento. se il valore da rappresentare è inferiore a 1.0EX-04 o maggiore o uguale a 1.0EX(+<n>), viene scelto il formato esponenziale, altrimenti il formato decimale.Esempio con formato decimale:N10 DEF REAL REAL_VAR=1.234567890123456EX-04N20 DEF STRING[80] RESULTN30 RESULT=SPRINT("CONTENT OF REAL_VAR:%.3G",REAL_VAR)

Risultato: La variabile di stringa RESULT viene descritta con la stringa "CONTENT OF REAL_VAR:0.000123".Esempio con formato esponenziale:N10 DEF REAL REAL_VAR=1.234567890123456EX+03N20 DEF STRING[80] RESULTN30 RESULT = SPRINT("CONTENT OF REAL_VAR:%.3G",REAL_VAR)

Risultato: La variabile di stringa RESULT viene descritta con la stringa "CONTENT OF REAL_VAR:1.23EX+03".

Page 89: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.9 Operazioni su stringhe

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 89

%<m>.<n>G: Conversione in una stringa con un valore decimale a seconda del campo di valori in formato decimale o esponenziale (come %.<n>G). La stringa ha una lunghezza complessiva di almeno <m> caratteri. Le posizioni mancanti vengono riempite con spazi vuoti con allineamento a sinistra.Esempio con formato decimale:N10 DEF REAL REAL_VAR=1.234567890123456EX-04N20 DEF STRING[80] RESULTN30 RESULT=SPRINT("CONTENT OF REAL_VAR:%12.4G",REAL_VAR)

Risultato: La variabile di stringa RESULT viene descritta con la stringa "CONTENT OF REAL_VAR:xxx0.0001235" (nell'esempio "x" rappresenta uno spazio vuoto)Esempio con formato esponenziale:N10 DEF REAL REAL_VAR=1.234567890123456EX+04N20 DEF STRING[80] RESULTN30 RESULT=SPRINT("CONTENT OF REAL_VAR:%12.4G",REAL_VAR)

Risultato: La variabile di stringa RESULT viene descritta con la stringa "CONTENT OF REAL_VAR:xx1.235EX+06" (nell'esempio "x" rappresenta uno spazio vuoto)

%.<n>P: Conversione di un valore REAL in un valore INTEGER tenendo conto di <n> posizioni dopo la virgola. Il valore INTEGER viene emesso come numero binario a 32 bit. Se il valore da convertire non può essere rappresentato con 32 bit, l'elaborazione viene interrotta con un allarme.Dato che una sequenza di byte generata con l'istruzione di formato %.<n>P può contenere anche zeri binari, la stringa intera così creata non corrisponde più alle convenzioni del tipo di dati NC STRING. Non può quindi essere né salvata in una variabile del tipo STRING, né elaborata con i comandi di stringa del linguaggio NC. L'unico utilizzo possibile è la trasmissione di parametri al comando WRITE con emissione su un dispositivo esterno corrispondente (vedere l'esempio seguente).Appena la <stringa_formato> contiene una descrizione del formato del tipo %P, l'intera stringa, ad eccezione del numero binario generato con %.<n>P, viene emessa in base a MD10750 $MN_SPRINT_FORMAT_P_CODE nel codice caratteri ASCII, ISO (DIN6024) o EIA (RS244). Se viene programmato un carattere non convertibile, l'elaborazione si interrompe con un allarme.Esempio:N10 DEF REAL REAL_VAR=123.45N20 DEF INT ERRORN30 DEF STRING[20] EXT_DEVICE="/ext/dev/1"...N100 EXTOPEN(ERROR,EXT_DEVICE)N110 IF ERROR <> 0... ; gestione erroriN200 WRITE(ERROR,EXT_DEVICE,SPRINT("INTEGER BINARY CODED:%.3P",REAL_VAR)N210 IF ERROR <> 0… ; gestione errori

Risultato: La stringa "INTEGER BINARY CODED: 'H0001E23A'" viene trasmessa al dispositivo di uscita /ext/dev/1. Il valore esadecimale 0x0001E23A corrisponde al valore decimale 123450.

Page 90: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.9 Operazioni su stringhe

Preparazione del lavoro90 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

%<m>.<n>P: Conversione di un valore REAL in base all'impostazione del dato macchina MD10751 $MN_SPRINT_FORMAT_P_DECIMAL in una stringa con:• un numero intero di <m> + <n> posizioni oppure• un numero decimale con max. <m> posizioni prima della virgola ed esattamente

<n> posizioni dopo la virgola.Come per la descrizione del formato %.<n>P, l'intera stringa viene salvata nel codice caratteri definito con MD10750 $MN_SPRINT_FORMAT_P_CODE.Conversione con MD10751 = 0:Il valore REAL viene convertito in una stringa con un numero intero di <m> + <n> posizioni. Eventualmente le posizioni dopo la virgola vengono arrotondate a <n> posizioni o riempite con 0. Le posizioni mancanti prima della virgola vengono riempite con spazi vuoti. Il segno meno viene viene aggiunto con allineamento a sinistra, al posto del segno più viene inserito uno spazio vuoto.Esempio:N10 DEF REAL REAL_VAR=-123.45N20 DEF STRING[80] RESULTN30 RESULT=SPRINT("PUNCHED TAPE FORMAT:%5.3P",REAL_VAR)

Risultato: La variabile di stringa RESULT viene descritta con la stringa "PUNCHED TAPE FORMAT:-xx123450" (nell'esempio "x" rappresenta uno spazio vuoto)Conversione con MD10751 = 1:Il valore REAL viene convertito in una stringa con un numero decimale con max. <m> posizioni prima della virgola ed esattamente <n> posizioni dopo la virgola. Eventualmente le posizioni prima della virgola vengono troncate e quelle dopo la virgola arrontondate o riempite con 0. Se <n> è uguale a 0, viene omesso il punto decimale.Esempio:N10 DEF REAL REAL_VAR1=-123.45N20 DEF REAL REAL_VAR2=123.45N30 DEF STRING[80] RESULTN40 RESULT=SPRINT("PUNCHED TAPE FORMAT:%5.3P VAR2:%2.0P", REAL_VAR1,REAL_VAR2)

Risultato: La variabile di stringa RESULT viene descritta con la stringa "PUNCHED TAPE FORMAT:-123.450 VAR2:23".

%S: Inserimento di una stringa.Esempio:N10 DEF STRING[16] STRING_VAR="ABCDEFG"N20 DEF STRING[80] RESULTN30 RESULT=SPRINT("CONTENT OF STRING_VAR:%S",STRING_VAR)

Risultato: La variabile di stringa RESULT viene descritta con la stringa "CONTENT OF STRING_VAR:ABCDEFG".

%<m>S: Inserimento di una stringa con almeno <m> caratteri. Le posizioni mancanti vengono riempite con spazi vuoti.Esempio:N10 DEF STRING[16] STRING_VAR="ABCDEFG"N20 DEF STRING[80] RESULTN30 RESULT=SPRINT("CONTENT OF STRING_VAR:%10S",STRING_VAR)

Risultato: La variabile di stringa RESULT viene descritta con la stringa "CONTENT OF STRING_VAR:xxxABCDEFG" (nell'esempio "x" rappresenta uno spazio vuoto)

Page 91: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.9 Operazioni su stringhe

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 91

Combinazioni possibiliLa tabella seguente illustra le combinazioni possibili tra tipi di dati NC e descrizione del formato. Si applicano le regole della conversione implicita del tipo di dati (vedere "Tipi di dati [Pagina 55]").

%.<n>S: Inserimento di <n> caratteri di una stringa (a partire dal primo carattere).Esempio:N10 DEF STRING[16] STRING_VAR="ABCDEFG"N20 DEF STRING[80] RESULTN30 RESULT=SPRINT("CONTENT OF STRING_VAR:%.3S",STRING_VAR)

Risultato: La variabile di stringa RESULT viene descritta con la stringa "CONTENT OF STRING_VAR:ABC".

%<m>.<n>S: Inserimento di <n> caratteri di una stringa (a partire dal primo carattere). La lunghezza totale della stringa creata è di almeno <m> caratteri. Le posizioni mancanti vengono riempite con spazi vuoti.Esempio:N10 DEF STRING[16] STRING_VAR="ABCDEFG"N20 DEF STRING[80] RESULTN30 RESULT=SPRINT("CONTENT OF STRING_VAR:%10.5S", STRING_VAR)

Risultato: La variabile di stringa RESULT viene descritta con la stringa "CONTENT OF STRING_VAR:xxxxxABCDE" (nell'esempio "x" rappresenta uno spazio vuoto).

%X: Conversione di un valore INTEGER in una stringa in formato esadecimale.Esempio:N10 DEF INT INT_VAR='HA5B8’N20 DEF STRING[80] RESULTN30 RESULT=SPRINT("INTEGER HEXADECIMAL:%X",INT_VAR)

Risultato: La variabile di stringa RESULT viene descritta con la stringa "INTEGER HEXADECIMAL:A5B8".

NotaLa caratteristica del linguaggio NC che non distingue tra maiuscole e minuscole per gli identificativi e le parole chiave vale anche per le descrizioni dei formati. La programmazione può quindi avvenire in lettere minuscole o maiuscole senza che ciò comporti alcuna differenza funzionale.

Tipi di dati NCBOOL CHAR INT REAL STRING AXIS FRAME

%B + + + + + - -%C - + - - + - -%D + + + + - - -%F - - + + - - -%E - - + + - - -%G - - + + - - -%S - + - - + - -%X + + + - - - -%P - - + + - - -

Page 92: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.9 Operazioni su stringhe

Preparazione del lavoro92 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

NotaLa tabella mostra che i tipi di dati NC AXIS e FRAME non possono essere utilizzati direttamente nella funzione SPRINT. È comunque possibile:

• convertire il tipo di dati AXIS con la funzione AXSTRING in una stringa che può quindi essere rielaborata con SPRINT;

• leggere i singoli valori del tipo di dati FRAME per ogni accesso a componenti Frame. Si ottiene così un dato del tipo REAL che può essere rielaborato con SPRINT.

Page 93: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.10 Salti e diramazioni nel programma

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 93

1.10 Salti e diramazioni nel programma

1.10.1 Ritorno all'inizio del programma (GOTOS)

FunzioneCon il comando GOTOS è possibile tornare all'inizio di un programma principale o di un sottoprogramma per ripetere il programma stesso.

Tramite dati macchina, si ha la possibilità di impostare che ad ogni ritorno all'inizio del programma:

• il tempo di esecuzione del programma venga impostato su "0"

• il conteggio dei pezzi venga aumentato del valore "1".

SintassiGOTOS

Significato

Condizioni marginali• GOTOS attiva internamente un STOPRE (stop preelaborazione).

• In caso di partprogram con definizioni dei dati (varianti LUD), con GOTOS si salta al primo blocco di programma successivo alla sezione di definizione, ossia le definizioni dei dati non vengono nuovamente eseguite. Le variabili definite mantengono quindi il valore raggiunto nel blocco GOTOS e non vengono reimpostati sui valori standard programmati nella sezione di definizione.

• Nelle azioni sincrone e nei cicli tecnologici il comando GOTOS non è disponibile.

GOTOS: Istruzione di salto con salto all'inizio del programma.L'esecuzione viene comandata mediante il segnale delle interconnessioni NC/PLC:DB21, ... DBX384.0 (controllo diramazione del programma)Valore: Significato:0 Nessun ritorno all'inizio del programma. L'esecuzione del

programma viene proseguita con il blocco del partprogram successivo verso GOTOS.

1 Ritorno all'inizio del programma. Il partprogram viene ripetuto.

Page 94: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.10 Salti e diramazioni nel programma

Preparazione del lavoro94 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio

1.10.2 Salti nel programma su etichette di salto (GOTOB, GOTOF, GOTO, GOTOC)

FunzioneIn un programma possono essere impostate etichette di salto (label), sulle quali si può effettuare il salto da altri punti all'interno dello stesso programma utilizzando i comandi GOTOF, GOTOB, GOTO o GOTOC L'esecuzione del programma viene quindi proseguita con l'istruzione immediatamente successiva all'etichetta di salto. Ciò consente di realizzare diramazioni all'interno del programma.

Oltre alle etichette di salto, possono essere utilizzate come destinazione di salto anche i numeri dei blocchi principali e secondari.

Se prima dell'istruzione di salto è stata formulata una condizione di salto, (IF ...), il salto nel programma viene effettuato solo quando tale condizione sarà soddisfatta.

SintassiGOTOB <Destinazione di salto>IF <Condizione di salto> = TRUE GOTOB <Destinazione di salto>GOTOF <Destinazione di salto>IF <Condizione di salto> = TRUE GOTOF <Destinazione di salto>GOTO <Destinazione di salto>IF <Condizione di salto> = TRUE GOTO <Destinazione di salto>GOTOC <Destinazione di salto>IF <Condizione di salto> = TRUE GOTOC <Destinazione di salto>

Significato

Codice di programma Commento

N10 ... ; Inizio del programma.

...

N90 GOTOS ; Salto all'inizio del programma.

...

GOTOB: Istruzione di salto con salto in direzione dell'inizio del programma. GOTOF: Istruzione di salto con salto in direzione della fine del programma.GOTO: Istruzione di salto con ricerca della destinazione di salto. La ricerca

viene effettuata in primo luogo in direzione della fine del programma, poi in direzione dell'inizio del programma.

GOTOC: Agisce come GOTO, con la differenza che l'allarme 14080 "Destinazione di salto non trovata" viene soppresso.Questo significa che se la ricerca della destinazione di salto non produce risultati, l'esecuzione del programma non viene interrotta, ma proseguita con la riga di programma successiva al comando GOTOC.

Page 95: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.10 Salti e diramazioni nel programma

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 95

Condizioni marginali• La destinazione di salto può essere solo un blocco con etichetta di salto o numero di

blocco che si trovi nell'ambito del programma.

• L'istruzione di salto incondizionato deve essere programmata in un blocco a sé stante. Per le istruzioni di salto condizionato questa limitazione non si applica. In questo caso in un blocco possono essere formulate più istruzioni di salto.

• Nei programmi con istruzioni di salto incondizionato la fine programma M2/M30 non deve obbligatoriamente trovarsi a fine programma.

<destinazione

_salto>:Parametro della destinazione di saltoI possibili dati sono i seguenti:<etichetta_salto>: La destinazione di salto è l'etichetta di salto

impostata nel programma con nome definito dall'utente: <Etichetta di salto>:

<numero_blocco>: Destinazione del salto è un numero di blocco principale o secondario (ad es.: 200, N300)

Variabile di tipo STRING:

Destinazione di salto variabile. La variabile sta per un'etichetta di salto o un numero di blocco.

IF: Parola chiave per la formulazione della condizione di salto. La condizione del salto permette di eseguire tutte le operazioni comparative e logiche (risultato: TRUE o FALSE). Il salto di programma viene eseguito se il risultato di questa operazione è TRUE.

NotaEtichette di salto (label)Le etichette di salto vengono inserite sempre all'inizio di un blocco. Se è presente un numero di programma, l'etichetta viene inserita immediatamente dopo il numero di blocco.

Per la definizione delle etichette di salto valgono le seguenti regole:

• Numero di caratteri:– min. 2– max. 32

• Caratteri consentiti:– Lettere– Cifre– Caratteri di sottolineatura (underscore)

• I primi due caratteri devono essere lettere o underscore.• Il nome dell'etichetta di salto è seguito da un doppio punto (":").

Page 96: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.10 Salti e diramazioni nel programma

Preparazione del lavoro96 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

EsempiEsempio 1: Salti su etichette di salto

Esempio 2: Salto indiretto sul numero di blocco

Esempio 3: Salto su destinazione di salto variabile

Codice di programma Commento

N10 …

N20 GOTOF Label_1 ; Salto in direzione della fine del programma verso l'etichetta di salto "Label_1".

N30 …

N40 Label_0: R1=R2+R3 ; Etichetta di salto "Label_0" impostata.

N50 …

N60 Label_1: ; Etichetta di salto "Label_1" impostata.

N70 …

N80 GOTOB Label_0 ; Salto in direzione dell'inizio del programma verso l'etichetta di salto "Label_0".

N90 …

Codice di programma Commento

N5 R10=100

N10 GOTOF "N"<<R10 ; Salto sul blocco il cui numero è in R10.

...

N90 ...

N100 ... ; Destinazione di salto

N110 ...

...

Codice di programma Commento

DEF STRING[20] ZIEL

ZIEL = "Marke2"

GOTOF ZIEL ; Salto in direzione della fine del programma verso la destinazione di salto variabile "ZIEL" (DESTINAZIONE).

Etichetta1: T="Bohrer1"

...

Marke2: T="Bohrer2" ; Destinazione di salto

...

Page 97: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.10 Salti e diramazioni nel programma

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 97

Esempio 4: salto con condizione di salto

1.10.3 Diramazione del programma(CASE ... OF ... DEFAULT ...)

FunzioneLa funzione CASE offre la possibilità di controllare il valore attuale (tipo: INT) di una variabile o di una funzione di calcolo e di saltare in diversi punti nel programma a seconda del risultato.

SintassiCASE(<Espressione>) OF <Costante_1> GOTOF <Destinazione di salto_1> <Costante_2> GOTOF <Destinazione di salto_2> ... DEFAULT GOTOF <Destinazione di salto_n>

Significato

Codice di programma Commento

N40 R1=30 R2=60 R3=10 R4=11 R5=50 R6=20 ; Assegnazione dei valori iniziali.

N41 LA1: G0 X=R2*COS(R1)+R5 Y=R2*SIN(R1)+R6 ; Etichetta di salto LA1 impostata.

N42 R1=R1+R3 R4=R4-1

N43 IF R4>0 GOTOB LA1 ; Se la condizione di salto è soddisfatta, il salto avviene in direzione dell'inizio del programma verso l'etichetta di salto LA1.

N44 M30 ; Fine programma

CASE: Istruzione di salto<espressione>: Variabile o funzione di calcoloOF: Parola chiave per la formulazione delle diramazioni condizionate

nel programma<costante_1>: Primo valore costante indicato per la variabile o la funzione di

calcoloTipo: INT

<costante_2>: Secondo valore costante indicato per la variabile o la funzione di calcoloTipo: INT

DEFAULT: Per i casi in cui la variabile o la funzione di calcolo non assuma alcuno dei valori costanti indicati, è possibile stabilire una destinazione di salto attraverso l'istruzione DEFAULT.Nota:Se l'istruzione DEFAULT non è programmata, in questi casi diventa destinazione di salto il blocco che fa seguito all'istruzione CASE.

Page 98: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.10 Salti e diramazioni nel programma

Preparazione del lavoro98 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio

L'istruzione CASE da N30 definisce le seguenti possibilità di diramazione nel programma:

1. Se il valore della funzione di calcolo VAR1+VAR2-VAR3 = 7, salta al blocco con definizione etichetta di salto "Label_1" ( → N40).

2. Se il valore della funzione di calcolo VAR1+VAR2-VAR3 = 9, salta al blocco con definizione etichetta di salto "Label_2" ( → N50).

3. Se il valore della funzione di calcolo VAR1+VAR2-VAR3 è diverso da 7 o 9, salta al blocco con definizione etichetta di salto "Label_3" ( → N60).

GOTOF: Istruzione di salto con salto in direzione della fine del programma.Al posto di GOTOF possono essere programmati anche tutti gli altri comandi GOTO (vedere Argomento "Salti nel programma su etichette di salto").

<destinazione_sa

lto_1>:La diramazione verso questa destinazione di salto si verifica se il valore delle variabili o della funzione di calcolo corrisponde alla prima costante indicata.La destinazione di salto può essere indicata come qui di seguito descritto:<etichetta_salto>: La destinazione di salto è l'etichetta di salto

impostata nel programma con nome definito dall'utente: <Etichetta di salto>:

<numero_blocco>: Destinazione del salto è un numero di blocco principale o secondario (ad es.: 200, N300)

Variabile di tipo STRING:

Destinazione di salto variabile. La variabile sta per un'etichetta di salto o un numero di blocco.

<destinazione_sa

lto_2>:La diramazione verso questa destinazione di salto si verifica se il valore delle variabili o della funzione di calcolo corrisponde alla seconda costante indicata.

<destinazione_sa

lto_n>:La diramazione verso questa destinazione di salto si verifica se il valore delle variabili non assume alcuno dei valori costanti indicati.

Codice di programma

...

N20 DEF INT VAR1 VAR2 VAR3

N30 CASE(VAR1+VAR2-VAR3) OF 7 GOTOF Label_1 9 GOTOF Label_2 DEFAULT GOTOF Label_3

N40 Label_1: G0 X1 Y1

N50 Label_2: G0 X2 Y2

N60 Label_3: G0 X3 Y3

...

Page 99: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.11 Ripetizione di una parte di programma (REPEAT, REPEATB, ENDLABEL, P)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 99

1.11 Ripetizione di una parte di programma (REPEAT, REPEATB, ENDLABEL, P)

Funzione La ripetizione di una parte di programma permette di ripetere parti di programma già disponibili in un programma combinato secondo le necessità.

Le righe di programma o le aree di programma da ripetere sono contrassegnate da etichette di salto (label).

Sintassi1. Ripetizione di singole righe di programma:

2. Ripetizione dell'area di programma tra l'etichetta di salto e l'istruzione REPEAT:

NotaEtichette di salto (label)Le etichette di salto vengono inserite sempre all'inizio di un blocco. Se è presente un numero di programma, l'etichetta viene inserita immediatamente dopo il numero di blocco.

Per la definizione delle etichette di salto valgono le seguenti regole:

• Numero di caratteri:– min. 2– max. 32

• Caratteri consentiti:– Lettere– Cifre– Caratteri di sottolineatura (underscore)

• I primi due caratteri devono essere lettere o underscore.• Il nome dell'etichetta di salto è seguito da un doppio punto (":").

<etichetta_salto>: ...

...

REPEATB <etichetta_salto> P=<n>

...

<etichetta_salto>: ...

...

REPEAT <etichetta_salto> P=<n>

...

Page 100: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.11 Ripetizione di una parte di programma (REPEAT, REPEATB, ENDLABEL, P)

Preparazione del lavoro100 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

3. Ripetizione dell'area di programma tra due etichette di salto:

4. Ripetizione dell'area di programma tra l'etichetta di salto e ENDLABEL:

<etichetta_salto_inizio>: ...

...

<etichetta_salto_fine>: ...

...

REPEAT <etichetta_salto_inizio> <etichetta_salto_fine> P=<n>

...

NotaNon è possibile mettere tra parentesi l'istruzione REPEAT con entrambe le etichette di salto. Se l'<etichetta_salto_inizio> viene trovata prima dell'istruzione REPEAT e l'<etichetta_salto_fine> non è raggiunta prima dell'istruzione REPEAT, viene eseguita la ripetizione tra l'<etichetta_salto_inizio> e l'istruzione REPEAT.

<etichetta_salto>: ...

...

ENDLABEL: ...

...

REPEAT <etichetta_salto> P=<n>

...

NotaNon è possibile mettere tra parentesi l'istruzione REPEAT con l'<etichetta_salto> e ENDLABEL. Se <etichetta_salto> viene trovata prima dell'istruzione REPEAT e ENDLABEL non è raggiunta prima dell'istruzione REPEAT, viene eseguita la ripetizione tra l'<etichetta_salto> e REPEAT.

Page 101: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.11 Ripetizione di una parte di programma (REPEAT, REPEATB, ENDLABEL, P)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 101

Significato

REPEATB: Comando per la ripetizione di una riga di programmaREPEAT: Comando per la ripetizione di un'area di programma<etichetta_salto>: L'<etichetta_salto> contrassegna:

• la riga di programma da ripetere (con REPEATB)oppure

• l'inizio dell'area di programma da ripetere (con REPEAT)La riga di programma contrassegnata dall'<etichetta_salto> può collocarsi prima o dopo l'istruzione REPEAT-/REPEATB. La ricerca avviene in un primo tempo in direzione inizio programma. Se l'etichetta di salto non viene trovata in questa direzione, la ricerca viene eseguita in direzione di fine programma. Eccezione:se l'area di programma tra l'etichetta di salto e l'istruzione REPEATdeve essere ripetuta (vedere il punto 2 di Sintassi), la riga di programma contrassegnata dall'<etichetta_salto> deve stare prima dell'istruzione REPEAT, poiché in questo caso la ricerca avviene solo in direzione inizio programma.Se la riga con l'<etichetta_salto> contiene altre istruzioni, queste vengono eseguite nuovamente ad ogni ripetizione.

ENDLABEL: Parola chiave che contrassegna la fine di un'area di programma da ripetereSe la riga con ENDLABEL contiene altre istruzioni, queste vengono eseguite nuovamente ad ogni ripetizione.È possibile utilizzare ENDLABEL più volte nel programma.

P: Indirizzo per la definizione del numero di ripetizioni<n>: Numero di ripetizioni di una parte di programma

Tipo: INTLa sezione di programma da ripetere è ripetuta <n> volte. Dopo l'ultima ripetizione, il programma prosegue con la riga che fa seguito alla riga REPEAT-/REPEATB.Nota:Se non viene specificato P=<n>, la sezione di programma da ripetere viene ripetuta esattamente una volta.

Page 102: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.11 Ripetizione di una parte di programma (REPEAT, REPEATB, ENDLABEL, P)

Preparazione del lavoro102 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

EsempiEsempio1: ripetizione di singole righe di programma

Esempio 2: ripetizione dell'area di programma tra l'etichetta di salto e l'istruzione REPEAT

Esempio 3: ripetizione dell'area di programma tra l'etichetta di salto

Codice di programma Commento

N10 POSITION1: X10 Y20

N20 POSITION2: CYCLE(0,,9,8) ; Ciclo di posizioni

N30 ...

N40 REPEATB POSITION1 P=5 ; Esegui il BLOCCO N10 cinque volte.

N50 REPEATB POSITION2 ; Esegui il blocco N20 una volta.

N60 ...

N70 M30

Codice di programma Commento

N5 R10=15

N10 Begin: R10=R10+1 ; Larghezza

N20 Z=10-R10

N30 G1 X=R10 F200

N40 Y=R10

N50 X=-R10

N60 Y=-R10

N70 Z=10+R10

N80 REPEAT BEGIN P=4 ; Esegui la sezione N10 ...N70 quattro volte.

N90 Z10

N100 M30

Codice di programma Commento

N5 R10=15

N10 Begin: R10=R10+1 ; Larghezza

N20 Z=10-R10

N30 G1 X=R10 F200

N40 Y=R10

N50 X=-R10

N60 Y=-R10

N70 END: Z=10

N80 Z10

N90 CYCLE(10,20,30)

N100 REPEAT BEGIN END P=3 ; Esegui la sezione N10 ... N70 tre volte.

N110 Z10

N120 M30

Page 103: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.11 Ripetizione di una parte di programma (REPEAT, REPEATB, ENDLABEL, P)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 103

Esempio 4: ripetizione dell'area di programma tra l'etichetta di salto ed ENDLABEL

Esempio 5: fresatura, lavorare la posizione di foratura con varie tecnologie

Codice di programma Commento

N10 G1 F300 Z-10

N20 BEGIN1:

N30 X10

N40 Y10

N50 BEGIN2:

N60 X20

N70 Y30

N80 ENDLABEL: Z10

N90 X0 Y0 Z0

N100 Z-10

N110 BEGIN3: X20

N120 Y30

N130 REPEAT BEGIN3 P=3 ; Esegui la sezione N110 ... N120 tre volte.

N140 REPEAT BEGIN2 P=2 ; Esegui la sezione N50 ... N80 due volte.

N150 M100

N160 REPEAT BEGIN1 P=2 ; Esegui la sezione N20 ... N80 due volte.

N170 Z10

N180 X0 Y0

N190 M30

Codice di programma Commento

N10 PUNTA DA CENTRI() ; Sostituzione del foratore centratore.

N20 POS_1: ; Posizioni di foratura 1

N30 X1 Y1

N40 X2

N50 Y2

N60 X3 Y3

N70 ENDLABEL:

N80 POS_2: ; Posizioni di foratura 2

N90 X10 Y5

N100 X9 Y-5

N110 X3 Y3

N120 ENDLABEL:

N130 PUNTA() ; Sostituzione punta a forare e ciclo di foratura.

N140 FILETTO(6) ; Sostituzione maschio M6 e ciclo di filettatura.

N150 REPEAT POS_1 ; Ripeti una volta la sezione di programma da POS_1 fino a ENDLABEL.

N160 PUNTA() ; Sostituzione punta a forare e ciclo di foratura.

N170 FILETTO(8) ; Sostituzione maschio M8 e ciclo di filettatura.

Page 104: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.11 Ripetizione di una parte di programma (REPEAT, REPEATB, ENDLABEL, P)

Preparazione del lavoro104 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Ulteriori informazioni• La ripetizione di una parte di programma può essere richiamata in forma annidata. Ogni

richiamo occupa un livello di sottoprogramma.

• Se durante l'elaborazione della ripetizione di una parte di programma viene programmato M17 o RET, la ripetizione di una parte di programma viene interrotta. Il programma prosegue con il blocco che segue la riga REPEAT.

• Nella visualizzazione del programma attuale la ripetizione di una parte di programma viene visualizzata come livello di sottoprogramma proprio.

• Se durante l'elaborazione di una parte di programma viene attivata l'interruzione del livello, il programma prosegue dopo il richiamo dell'elaborazione di una parte di programma.

Esempio:

• Le strutture di controllo e la ripetizione di una parte di programma possono essere utilizzate in modo combinato. Non dovrebbero comunque esservi sovrapposizioni. Una ripetizione di una parte di programma dovrebbe trovarsi all'interno di una diramazione di una struttura di controllo oppure una struttura di controllo nell'ambito di una ripetizione di una parte di programma.

• In presenza di salti e ripetizioni di parti di programma, i blocchi vengono elaborati in modo puramente sequenziale. Se avviene ad esempio un salto da una ripetizione di una parte di programma, l'elaborazione continua finché non viene trovata la fine programmata del programma.

N180 REPEAT POS_2 ; Ripeti una volta la sezione di programma da POS_2 fino a ENDLABEL.

N190 M30

Codice di programma Commento

Codice di programma Commento

N5 R10=15

N10 BEGIN: R10=R10+1 ; Larghezza

N20 Z=10-R10

N30 G1 X=R10 F200

N40 Y=R10 ; Interruzione del livello

N50 X=-R10

N60 Y=-R10

N70 END: Z10

N80 Z10

N90 CYCLE(10,20,30)

N100 REPEAT BEGIN END P=3

N120 Z10 ; Prosecuzione dell'esecuzione del programma.

N130 M30

Page 105: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.11 Ripetizione di una parte di programma (REPEAT, REPEATB, ENDLABEL, P)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 105

Esempio:Codice di programma

N10 G1 F300 Z-10

N20 BEGIN1:

N30 X=10

N40 Y=10

N50 GOTOF BEGIN2

N60 ENDLABEL:

N70 BEGIN2:

N80 X20

N90 Y30

N100 ENDLABEL: Z10

N110 X0 Y0 Z0

N120 Z-10

N130 REPEAT BEGIN1 P=2

N140 Z10

N150 X0 Y0

N160 M30

NotaL'istruzione REPEAT deve trovarsi dopo i blocchi di movimento.

Page 106: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.12 Strutture di controllo

Preparazione del lavoro106 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

1.12 Strutture di controllo

FunzioneIl controllo numerico normalmente elabora i blocchi nella sequenza programmata.

Tale sequenza può essere variata programmando blocchi e loop di programma alternativi. La programmazione di queste strutture di controllo viene effettuata attraverso gli elementi della struttura di controllo (parole chiave) IF...ELSE, LOOP, FOR, WHILE e REPEAT.

EfficaciaLe strutture di controllo hanno validità locale.

Profondità di annidamentoAll'interno di ogni livello di sottoprogramma è consentita una profondità di annidamento max. di 16 strutture di controllo.

CAUTELA

Le strutture di controllo sono consentite solo nella parte istruzioni di un programma. Le definizioni nell'intestazione del programma non possono essere ripetute o eseguite in modo condizionato.

Le parole chiave per le strutture di controllo e per le destinazioni dei salti non possono essere sovrapposte dalle macro. La definizione delle macro non viene effettuata.

Page 107: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.12 Strutture di controllo

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 107

Influenza sui tempi di elaborazioneDi regola, con il funzionamento attivo dell'interprete, utilizzando salti in programma si può velocizzare notevolmente l'elaborazione del programma stesso rispetto alle strutture di controllo.

Nel caso di cicli precompilati non esiste alcuna differenza tra salti in programma e strutture di controllo.

Condizioni marginali• I blocchi con elementi della struttura di controllo, non possono essere mascherati.

• Le etichette di salto (label) non sono consentite nei blocchi all'interno degli elementi della struttura di controllo.

• Le strutture di controllo vengono elaborate in modo interpretativo. Se viene riconosciuta la fine di un loop, la ricerca avviene secondo la struttura di controllo a partire dall'inizio del loop. Di conseguenza, nel funzionamento normale dell'interprete dei comandi la struttura a blocchi del programma non viene verificata completamente.

• In linea di massima si consiglia di non utilizzare in contemporanea strutture di controllo e salti in programma.

• Nella preelaborazione dei cicli può essere verificata la correttezza dell'annidamento delle strutture di controllo.

1.12.1 Loop di programma con alternativa (IF, ELSE, ENDIF)

FunzioneViene utilizzata una costruzione con IF ed ELSE se il loop di programma deve contenere un blocco di programma alternativo: Se viene soddisfatta la condizione IF, viene eseguito il blocco di programma che fa seguito a IF. Se non viene soddisfatta la condizione IF, viene eseguito il blocco di programma alternativo che fa seguito a ELSE.

Sintassi

NotaSe non è necessaria un'alternativa, è possibile programmare un loop IF anche senza istruzione ELSE e il blocco di programma che seguito a ELSE.

IF <Condizione>

...

ELSE

...

ENDIF

Page 108: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.12 Strutture di controllo

Preparazione del lavoro108 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Significato

EsempioSottoprogramma per il cambio utensile

IF: Avvia il loop IF.ELSE: Avvia il blocco di programma alternativo.ENDIF: Contrassegna la fine del loop IF e provoca il ritorno all'inizio del loop.<condizione>: Condizione che decide quale blocco di programma verrà elaborato.

Codice di programma Commento

PROC L6 ; Routine di cambio utensile

N500 DEF INT TNR_AKTUELL ; Variabile per il numero T attivo

N510 DEF INT TNR_VORWAHL ; Variabile per il numero T preselezionato

; Rilevamento dell'utensile corrente

N520 STOPRE

N530 IF $P_ISTEST ; Nel funzionamento del test di programma viene ...

N540 TNR_AKTUELL = $P_TOOLNO ; ... letto l'utensile "corrente" dal contesto del programma.

N550 ELSE ; In caso contrario viene ...

N560 TNR_AKTUELL = $TC_MPP6[9998,1] ; ... letto l'utensile del mandrino.

N570 ENDIF

N580 GETSELT(TNR_VORWAHL) ; Lettura del numero T dell'utensile preselezionato sul mandrino.

N590 IF TNR_AKTUELL <> TNR_VORWAHL ; Se l'utensile preselezionato non è ancora l'utensile corrente, ...

N600 G0 G40 G60 G90 SUPA X450 Y300 Z300 D0 ; ... accostarsi al punto di cambio utensile ...

N610 M206 ; ... ed eseguire il cambio utensile.

N620 ENDIF

N630 M17

Page 109: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.12 Strutture di controllo

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 109

1.12.2 Loop di programma permanente (LOOP, ENDLOOP)

FunzioneIl loop di programma permanente, trova applicazione in programmi senza termine. A fine programma avviene sempre un salto a ritroso all'inizio del loop.

Sintassi

Significato

Esempio

LOOP

...

ENDLOOP

LOOP: Avvia il loop permanente.ENDLOOP: Contrassegna la fine del loop e provoca il ritorno all'inizio del loop.

Codice di programma

...

LOOP

MSG("nessun tagliente attivo")

M0

STOPRE

ENDLOOP

...

Page 110: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.12 Strutture di controllo

Preparazione del lavoro110 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

1.12.3 Loop con conteggio (FOR ... TO ..., ENDFOR)

FunzioniIl loop con conteggio viene utilizzato quando un ciclo di lavorazione deve essere ripetuto un determinato numero di volte.

Sintassi

Significato

FOR <Variabile> = <Valore iniziale> TO <Valore finale>

...

ENDFOR

FOR: Avvia il loop con conteggio.ENDFOR: Contrassegna la fine del loop e provoca il ritorno all'inizio del loop fino

a che il valore finale del conteggio non è stato raggiunto.<variabile>: Variabile di conteggio che viene incrementata dal valore iniziale a

quello finale e che viene aumentata del valore "1" ad ogni elaborazione. Tipo INT o REAL

Nota:Il tipo REAL serve, ad esempio, per programmare parametri R per un loop di conteggio. Se la variabile di conteggio è di tipo REAL, il relativo valore viene arrotondato a un numero intero.

<valore_inizi

ale>:Valore iniziale del conteggioCondizione: Il valore iniziale deve essere sempre minore di quello finale.

<valore_final

e>:Valore finale del conteggio

Page 111: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.12 Strutture di controllo

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 111

EsempiEsempio 1: Variabile INTEGER o parametro R come variabile di conteggio

Variabile INTEGER quale variabile di conteggio:

Parametro R quale variabile di conteggio:

Esempio 2: Produzione di un numero fisso di pezzi

Codice di programma Commento

DEF INT iVARIABILE1

R10=R12-R20*R1 R11=6

FOR iVARIABILE1 = R10 TO R11 ; Variabile di conteggio = Variabile INTEGER

R20=R21*R22+R33

ENDFOR

M30

Codice di programma Commento

R11=6

FOR R10=R12-R20*R1 TO R11 ; Variabile di conteggio = Parametri R (variabile reale)

R20=R21*R22+R33

ENDFOR

M30

Codice di programma Commento

DEF INT STUECKZAHL ; Definisce la variabile di tipo INT con nome "STUECKZAHL" (NR_PEZZI).

FOR STUECKZAHL = 0 TO 100 ; Avvia il loop con conteggio. La variabile "STUECKZAHL" (NR_PEZZI) viene incrementata dal valore iniziale "0" al valore finale "100".

G01 …

ENDFOR ; Fine del loop con conteggio.

M30

Page 112: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.12 Strutture di controllo

Preparazione del lavoro112 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

1.12.4 Loop di programma con condizione all'inizio del loop (WHILE, ENDWHILE)

FunzioneIn un loop WHILE la condizione è all'inizio del loop. Se la condizione è soddisfatta, il loop WHILE viene elaborato.

Sintassi

Significato

Esempio

<Condizione> WHILE

...

ENDWHILE

WHILE: Avvia il loop di programma.ENDWHILE: Contrassegna la fine del loop e provoca il ritorno all'inizio del loop.<condizione>: Condizione che deve essere soddisfatta per poter eseguire il loop

WHILE.

Codice di programma Commento

...

WHILE $AA_IW[BOHRACHSE] > -10 ; Richiamo del loop WHILE alle seguenti condizioni: l'attuale valore di riferimento del sistema di coordinate pezzo (SCP) per l'asse di foratura deve essere superiore a -10.

G1 G91 F250 AX[BOHRACHSE] = -1

ENDWHILE

...

Page 113: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.12 Strutture di controllo

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 113

1.12.5 Loop di programma con condizione alla fine del loop (REPEAT, UNTIL)

FunzioneIn un loop REPEAT la condizione è alla fine del loop. Il loop REPEAT viene eseguito una volta e ripetuto finché la condizione non viene soddisfatta.

Sintassi

Significato

Esempio

REPEAT

...

<Condizione> UNTIL

REPEAT: Avvia il loop di programma.UNTIL: Contrassegna la fine del loop e provoca il ritorno all'inizio del loop.<condizione>: Condizione che deve essere soddisfatta per non eseguire più il loop

REPEAT.

Codice di programma Commento

...

REPEAT ; Richiamo del loop REPEAT.

...

UNTIL ... ; Verifica del soddisfacimento della condizione.

...

Page 114: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.12 Strutture di controllo

Preparazione del lavoro114 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

1.12.6 Esempio di programmazione con strutture di controllo annidate

Codice di programma Commento

LOOP

IF NOT $P_SEARCH ; Nessuna ricerca blocco

G01 G90 X0 Z10 F1000

WHILE $AA_IM[X] <= 100

G1 G91 X10 F500 ; Dima di foratura

Z–F100

Z5

ENDWHILE

Z10

ELSE

MSG("In ricerca non viene forato")

ENDIF

$A_OUT[1] = 1 ; Foratura successiva

G4 F2

ENDLOOP

M30

Page 115: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.13 Coordinamento dei programmi (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 115

1.13 Coordinamento dei programmi (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM)

FunzioneCanali

Un canale è in grado di elaborare il proprio programma indipendentemente da altri canali. Gli assi ed i mandrini, che gli vengono attribuiti temporaneamente, vengono controllati tramite il programma.

Al momento della messa in servizio si possono creare due o più canali per il controllo numerico.

Coordinamento dei programmi

Se per la produzione di un pezzo vengono impiegati più canali può rendersi necessaria la sincronizzazione delle sequenze di programma.

Per la sincronizzazione sono necessarie istruzioni particolari (comandi) che si trovano in un blocco a sé stante.

Istruzioni per il coordinamento dei programmi• Impostazione con immissione assoluta del percorso

NotaIl coordinamento dei programmi è possibile anche nel proprio canale.

Il percorso assoluto viene impostato secondo le seguenti regole:

INIT (n,"/_HUGO_DIR/_N_name_MPF" ) oppure

- directory corrente/N_name_MPF"directory corrente" indica la directory del pezzo selezionata oppure la directory standard /_N_MPF_DIR.

INIT (n,"/_N_MPF_DIR/_N_name_MPF" ) -

-

Scelta di un determinato programma per l’elaborazione in un determinato canale: n: numero del canale, il valore dipende dalla configurazione del controlloNome programma completo

Esempio: Fino alla versione software 3:INIT(2,"/_N_WKS_DIR/_ABRICHT_MPF")G01F0.1START

Tra un comando init (senza sincronizzazione) e un comando NC-Start deve trovarsi almeno un blocco eseguibile.Nei richiami di sottoprogrammi occorre aggiungere "_SPF" all'indicazione del percorso

INIT (2,"/_N_WKS_DIR/_N_UNTER_1_SPF")

Page 116: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.13 Coordinamento dei programmi (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM)

Preparazione del lavoro116 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

• Indicazione con impostazione relativa del percorso

ParametriPer lo scambio dei dati tra i programmi si possono utilizzare le variabili che sono comuni a tutti i canali (variabili globali specifiche per NCK ). Negli altri casi i programmi per i canali vengono generati separatamente.

Esempio:Per l'impostazione relativa del percorso valgono le stesse regole del richiamo di sottoprogrammi.

INIT(2,"ABRICHT")

INIT(3,"UNTER_1_SPF") Per richiami di sottoprogrammi occorre aggiungere "_SPF" al nome del programma

INIT(n, indicazione di percorso, modo di tacitazione)

Istruzione per l'esecuzione in un canale. Selezione di un determinato programma con indicazione di percorso assoluta o relativa.

START (n, n) Avvio dei programmi selezionati negli altri canali. n,n: Enumerazione del numero di canale: il valore dipende dalla configurazione del controllo

WAITM (numero marker, n, n, …) Impostare il marker "n. marker" nel proprio canale. Concludere il blocco precedente con un arresto preciso. Attendere i marker con lo stesso "n. marker" nei canali "n" impostati (non è necessario impostare il proprio canale). Il marker viene cancellato dopo la sincronizzazione.

È possibile settare fino a 10 marker per ogni canale.

WAITMC (n. marker, n, n, Impostare il marker "n. marker" nel proprio canale. L'arresto preciso viene avviato solo se gli altri canali non hanno ancora raggiunto il marker. Attendere il marker con lo stesso "n. marker" dei canali "n" impostati (non è necessario impostare il proprio canale). La lavorazione può essere proseguita senza terminare l'arresto preciso non appena il marker "n. marker" è stato raggiunto nei canali impostati.

WAITE (n, n, ...) Attendere la fine del programma dei canali impostati (non impostare il proprio canale) Esempio: programmazione di un tempo di sosta dopo il comando di Start.

N30 START(2)N31 G4 F0.01N40 WAITE(2)

SETM (n. marker, n. marker, Settare il marker "Marker-Nr." nel proprio canale, senza influenzare la lavorazione in corso. Il comando SETM() rimane valido anche in seguito a RESET o START-NC e

Page 117: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.13 Coordinamento dei programmi (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 117

Numeri di canale

Per i canali da coordinare è possibile immettere un numero di canali fino a 10 (valore Integer).

Nomi dei canali

I nomi dei canali devono essere convertiti in numeri mediante variabile (vedere capitolo "Variabili e parametri di calcolo") oppure al posto dei numeri dei canali possono essere programmati i nomi dei canale (identificatori o parole chiave) definiti tramite $MC_CHAN_NAME. I nomi definiti devono corrispondere alle convenzioni linguistiche NC (cioè i primi due caratteri devono essere o lettere o un carattere di sottolineatura).

SETM() e CLEARM()

SETM()e CLEARM() possono anche essere programmati in un'azione sincrona. Vedere capitolo "Settare/cancellare label di attesa: SETM CLEARM"

EsempioAl canale dal nome "MACCHINA" si vuole assegnare il numero di canale 1,

Al canale dal nome "CARICATORE" si vuole assegnare il numero di canale 2:DEF INT MACCHINA = 1, CARICATORE = 2

Le variabili ricevono lo stesso nome dei canali.

L'istruzione START sarà quindi per esempio:

START (MACCHINA)

CLEARM (n. marker, n. marker, Cancellare il marker "Marker-Nr." nel proprio canale, senza influenzare la lavorazione in corso. Tutti i marker del canale possono essere cancellati con CLEARM(). CLEARM (0) cancella il marker "0". Il comando CLEARM() rimane valido anche in seguito a RESET e START-NC.

n Numero di canale o nome di canale corrispondente

NotaTutti i comandi nominati sopra devono trovarsi in blocchi a sé stante.

Il numero dei marker dipende dalla CPU installata.

CAUTELA

Occorre assicurarsi che i numeri assegnati non possano essere facilmente modificati!

I nomi non devono essere già presenti nell'NC in un'altra accezione, ad es. come parola chiave, comando di linguaggio, nome di asse, ecc.

Page 118: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.13 Coordinamento dei programmi (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM)

Preparazione del lavoro118 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio di coordinamento di programmiCanale 1:

_N_MPF100_MPF

Canale 2:

_N_MPF200_MPF

Codice di programma Commento

N10 INIT(2,"MPF200")

N11 START(2) ; Lavorazione nel canale 2

...

N80 WAITM(1,1,2) ; Attendere l'etichetta WAIT 1 nel canale 1 e 2, ulteriore lavorazione nel canale 1

...

N180 WAITM(2,1,2) ; Attendere l'etichetta WAIT 2 nel canale 1 e 2, ulteriore lavorazione nel canale 1

...

N200 WAITE(2) ; Attendere la fine programma del canale 2

N201 M30 ; Fine programma canale 1, fine globale

...

Codice di programma Commento

;$PATH=/_N_MPF_DIR

; Lavorazione nel canale 2

N70 WAITM(1,1,2) ; Attendere l'etichetta WAIT 1 nel canale 1 e 2, ulteriore lavorazione nel canale 1

...

N270 WAITM(2,1,2) ; Attendere l'etichetta WAIT 2 nel canale 1 e 2, ulteriore lavorazione nel canale 2

...

N400 M30 ; Fine programma del canale 2

Page 119: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.13 Coordinamento dei programmi (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 119

Esempio: Programma da pezzo

Esempio: Comando INIT con relativa indicazione del percorsoNel canale 1 è stato selezionato il programma /_N_MPF_DIR/_N_MAIN_MPF

Esempio: Nome di canale e numero di canale con variabile Integer$MC_CHAN_NAME[0]= "CHAN_X" ;nome del primo canale $MC_CHAN_NAME[1]= "CHAN_Y" ;nome del secondo canale

Analogicamente, programmazione con gli identificatori di canale:

Programmazione con variabile Integer:

Codice di programma

N10 INIT(2,"/_N_WKS_DIR/_N_ALBERO1_WPD/_N_ABSPAN1_MPF")

Codice di programma Commento

N10 INIT(2,"MYPROG") ; Selezionare il programma /_N_MPF_DIR/_N_MYPROG_MPF nel canale 2

Codice di programma Commento

START(1, 2) ; Eseguire Start nel 1° e nel 2° canale

Codice di programma Commento

START(CHAN_X, CHAN_Y) ; Eseguire Start nel 1° e nel 2° canale

; Gli identificatori canale_X e canale_Y rappresentano internamente in base al dato macchina $MC_CHAN_NAME i numeri di canale 1 e 2. Eseguire quindi uno Start nel primo e nel secondo canale

Codice di programma Commento

DEF INT chanNo1, chanNo2) ; Definire il numero di canale

chanNo1=CHAN_X chanNo2=CHAN_Y

START(chanNo1, chanNo2)

Page 120: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.14 Routine di interrupt (ASUP)

Preparazione del lavoro120 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

1.14 Routine di interrupt (ASUP)

1.14.1 Funzione di una routine di interrupt

FunzionePer illustrare la funzione di una routine interrupt verrà utilizzato un esempio tipico:

durante la lavorazione si rompe un utensile. Questo provoca un segnale che interrompe la lavorazione in corso e avvia contemporaneamente un sottoprogramma - la cosiddetta routine di interrupt. Questo sottoprogramma contiene tutte le istruzioni che devono essere eseguite in questo caso.

Terminato il sottoprogramma (che ha ristabilito lo stato di pronto al funzionamento) il controllo ritorna al programma principale e, in base al comando REPOS, prosegue la lavorazione dal punto in cui era stata interrotta (ved. " Riaccostamento al profilo (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN) [Pagina 486] ").

NotaI termini "sottoprogramma asincrono (ASUP)" e "routine di interrupt", che ricorrono alternativamente nella seguente descrizione, connotano la stessa funzionalità.

CAUTELA

Se nel sottoprogramma non viene programmato alcun comando REPOS, il posizionamento avverrà sul punto finale del blocco successivo al blocco interrotto.

Page 121: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.14 Routine di interrupt (ASUP)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 121

BibliografiaManuale di guida alle funzioni, Funzioni di base; BAG; canale, funzionamento del programma, comportamento di reset (K1), Capitolo: "Sottoprogrammi asincroni (ASUP), routine di interrupt"

1.14.2 Creazione di una routine di interrupt

Creazione di una routine di interrupt quale sottoprogrammaLa routine di interrupt viene definita come un sottoprogramma.

Esempio:

Salvataggio delle funzioni G modali (SAVE) Durante la definizione, la routine di interrupt può essere contrassegnata con SAVE.

L'attributo SAVE fa sì che le funzioni G modali attive prima del richiamo della routine di interrupt vengano salvate e riattivate al termine della routine di interrupt (ved. " Salvataggio delle funzioni G modali (SAVE) [Pagina 172] ").

Dopo che la routine di interrupt è stata terminata, è quindi possibile proseguire la lavorazione dal punto in cui era stata interrotta.

Esempio:

Assegnazione di altre routine di interrupt (SETINT)All'interno della routine di interrupt è possibile programmare istruzioni SETINT (ved. Assegnazione e avvio di routine di interrupt (SETINT, PRIO, BLSYNC) [Pagina 122]) e con esse creare altre routine di interrupt, che vengono attivate dall'ingresso.

Codice di programma

Commento

PROC ABHEB_Z ; Nome del programma "ABHEB_Z"

N10 ... ; Dopodiché fanno seguito i blocchi NC.

...

N50 M17 ; Quindi fine programma e ritorno al programma principale.

Codice di programma

PROC ABHEB_Z SAVE

N10 ...

...

N50 M17

Page 122: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.14 Routine di interrupt (ASUP)

Preparazione del lavoro122 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

BibliografiaPer ulteriori informazioni riguardanti la generazione di sottoprogrammi vedere il capitolo "Tecnica dei sottoprogrammi, tecnica macro".

1.14.3 Assegnazione e avvio di routine di interrupt (SETINT, PRIO, BLSYNC)

FunzioneIl controllo dispone di segnali (ingresso 1 ... 8) che possono attivare un'interruzione del programma in corso e avviare una routine di interrupt corrispondente.

L'assegnazione dell'ingresso al relativo programma da avviare viene effettuata nel partprogram con il comando SETINT.

Se nel partprogram sono presenti più istruzioni SETINT e quindi possono verificarsi contemporaneamente più segnali, è necessario assegnare alle routine di interrupt correlate valori di priorità che determinano la sequenza durante l'elaborazione: PRIO=<Valore>

Se durante l'esecuzione della routine di interrupt arrivano nuovi segnali, le routine con priorità maggiore interrompono quella in corso.

SintassiSETINT(<n>) PRIO=<Valore> <NOME>SETINT(<n>) PRIO=<valore> <NAME> BLSYNCSETINT(<n>) PRIO=<valore> <NAME> LIFTFAST

Significato

SETINT(<n>): Comando: Assegnazione di un ingresso <n> a una routine di interrupt. La routine di interrupt correlata viene avviata quando si attiva l'ingresso <n>.Nota:Se a un ingresso occupato viene assegnata una nuova routine, la vecchia assegnazione diventa automaticamente inefficace.

<n>: Parametri: Numero di ingressoTipo: INTCampo dei valori: 1 ... 8

PRIO= : Comando: Definizione della priorità<Valore>: Valore di priorità

Tipo: INTCampo dei valori: 1 ... 128

La priorità 1 corrisponde alla massima priorità.<NAME>: Nome del sottoprogramma (routine di interrupt) che deve essere

eseguito.

Page 123: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.14 Routine di interrupt (ASUP)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 123

EsempiEsempio 1: Assegnazione di routine di interrupt e definizione delle priorità

Le routine di interrupt vengono elaborate l'una dopo l'altra in base alla successione dei valori di priorità se gli ingressi sono presenti contemporaneamente: prima "ABHEB_Z", poi "ABHEB_X".

Esempio 2: Nuova assegnazione della routine di interrupt

BLSYNC: Se l'istruzione SETINT viene programmata insieme con BLSYNC, quando si incontra il segnale di interrupt il blocco di programma in esecuzione continua ad essere eseguito e solo successivamente viene avviata la routine di interrupt viene avviata.

LIFTFAST: Se l'istruzione SETINT viene programmata insieme con LIFTFAST, quando si incontra il segnale di interrupt viene eseguito, prima dell'avvio della routine di interrupt, uno "svincolo rapido dell'utensile dal profilo" (vedere " Svincolo rapido dal profilo (SETINT LIFTFAST, ALF) [Pagina 126]").

Codice di programma Commento

...

N20 SETINT(3) PRIO=1 ABHEB_Z ; Se l'ingresso 3 si attiva, deve avviarsi la routine di interrupt "ABHEB_Z".

N30 SETINT(2) PRIO=2 ABHEB_X ; Se l'ingresso 2 si attiva, deve avviarsi la routine di interrupt "ABHEB_X".

...

Codice di programma Commento

...

N20 SETINT(3) PRIO=2 ABHEB_Z ; Se l'ingresso 3 si attiva, deve avviarsi la routine di interrupt "ABHEB_Z".

N120 SETINT(3) PRIO=1 ABHEB_X ; All'ingresso 3 viene assegnata una nuova routine di interrupt: al posto di "ABHEB_Z" deve essere avviata "ABHEB_X" se l'ingresso 3 è attivo.

Page 124: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.14 Routine di interrupt (ASUP)

Preparazione del lavoro124 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

1.14.4 Disattivazione/riattivazione dell'assegnazione di una routine di interrupt (DISABLE,ENABLE)

Funzione Un'istruzione SETINT può essere disattivata con DISABLE e riattivata con ENABLE, senza che l'assegnazione ingresso  →  routine di interrupt vada persa.

SintassiDISABLE(<n>)ENABLE(<n>)

Significato

Esempio

DISABLE(<n>): Comando: Disattivazione dell'assegnazione della routine di interrupt dall'ingresso <n>

ENABLE(<n>): Comando: Riattivazione dell'assegnazione della routine di interrupt dall'ingresso <n>

<n>: Parametri: Numero di ingressoTipo: INTCampo dei valori: 1 ... 8

Codice di programma Commento

...

N20 SETINT(3) PRIO=1 ABHEB_Z ; Se l'ingresso 3 si attiva, deve avviarsi la routine di interrupt "ABHEB_Z".

...

N90 DISABLE(3) ; L'istruzione SETINT da N20 viene disattivata.

...

N130 ENABLE(3) ; L'istruzione SETINT da N20 viene riattivata.

...

Page 125: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.14 Routine di interrupt (ASUP)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 125

1.14.5 Cancellazione dell'assegnazione di una routine di interrupt (CLRINT)

FunzioneUn'assegnazione ingresso  →  routine di interrupt definita con SETINT può essere cancellata con CLRINT.

SintassiCLRINT(<n>)

Significato

Esempio

CLRINT(<n>): Comando: Cancellazione dell'assegnazione della routine di interrupt dall'ingresso <n>

<n>: Parametri: Numero di ingressoTipo: INTCampo dei valori:

1 ... 8

Codice di programma Commento

...

N20 SETINT(3) PRIO=2 ABHEB_Z ;

...

N50 CLRINT(3) ; L'assegnazione tra l'ingresso "3" e la routine di interrupt "ABHEB_Z" è cancellata.

...

Page 126: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.14 Routine di interrupt (ASUP)

Preparazione del lavoro126 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

1.14.6 Svincolo rapido dal profilo (SETINT LIFTFAST, ALF)

FunzioneIn caso di istruzione SETINT con LIFTFAST, all'attivazione dell'ingresso l'utensile viene allontanato dal profilo del pezzo attraverso uno svincolo rapido.

L'ulteriore svolgimento dipende dal fatto che l'istruzione SETINT contenga, oltre a LIFTFAST una routine di interrupt:

SintassiSETINT(<n>) PRIO=1 LIFTFASTSETINT(<n>) PRIO=1 <NOME> LIFTFAST

Significato

Con routine di interrupt: Dopo lo svincolo rapido viene eseguita la routine di interrupt.Senza routine di interrupt:

Dopo lo svincolo rapido la lavorazione viene arrestata con un allarme.

SETINT(<n>): Comando: Assegnazione di un ingresso <n> a una routine di interrupt. La routine di interrupt correlata viene avviata quando si attiva l'ingresso <n>.

<n>: Parametri: Numero di ingressoTipo: INTCampo dei valori: 1 ... 8

PRIO= : Definizione della priorità

Page 127: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.14 Routine di interrupt (ASUP)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 127

Condizioni marginaliComportamento in caso di frame attivo con specularità

Nella definizione della direzione del distacco viene controllato se è attivo un frame con specularità. In questo caso, nella direzione di svincolo riferita alla direzione della tangente vengono invertite destra e sinistra. Le componenti dello spostamento nella direzione dell'utensile non vengono speculate. Questo comportamento viene attivato dall'impostazione del dato macchina:

MD21202 $MC_LIFTFAST_WITH_MIRROR = TRUE

EsempioUn utensile rotto deve essere automaticamente sostituito da un utensile gemello. La lavorazione viene proseguita quindi con il nuovo utensile.

Programma principale:

<Valore>: Valore di prioritàCampo dei valori: 1 ... 128La priorità 1 corrisponde alla massima priorità.

<NAME>: Nome del sottoprogramma (routine di interrupt) che deve essere eseguito.

LIFTFAST: Comando: Svincolo rapido dal profiloALF=… : Comando: Direzione di movimento programmabile (si trova nel blocco di

movimento) Per le possibilità di programmazione con ALF si rimanda all'argomento " Direzione di movimento durante lo svincolo rapido dal profilo [Pagina 128] ".

Programma principale Commento

N10 SETINT(1) PRIO=1 W_WECHS LIFTFAST ; Se l'ingresso 1 si attiva, l'utensile viene immediatamente allontanato dal profilo attraverso lo svincolo rapido (codice n. 7 per la correzione del raggio utensile G41). Dopodiché viene elaborata la routine di interrupt "W_WECHS".

N20 G0 Z100 G17 T1 ALF=7 D1

N30 G0 X-5 Y-22 Z2 M3 S300

N40 Z-7

N50 G41 G1 X16 Y16 F200

N60 Y35

N70 X53 Y65

N90 X71.5 Y16

N100 X16

N110 G40 G0 Z100 M30

Page 128: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.14 Routine di interrupt (ASUP)

Preparazione del lavoro128 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Sottoprogramma:

1.14.7 Direzione di movimento durante lo svincolo rapido dal profilo

Movimento di svincoloIl piano del movimento di svincolo viene determinato dai seguenti codici G:• LFTXT

Il piano del movimento di svincolo viene determinato dalla tangente al profilo e dalla direzione utensile (impostazione standard).

• LFWP

Il piano del movimento di svincolo è il piano di lavoro attivo, che viene selezionato con i codici G G17, G18 oppure G19. La direzione del movimento di svincolo è indipendente dalla tangente al profilo. È possibile programmare lo svincolo parallelo all´asse.

• LFPOS

Svincolo dell'asse dichiarato con POLFMASK / POLFMLIN e ritorno alla posizione assoluta dell'asse programmata con POLF.

ALF non ha nessuna influenza sulla direzione di svincolo per più assi e nemmeno per più assi in vincolo lineare.

Bibliografia:Manuale di programmazione, Concetti fondamentali; Capitolo: "Svincolo rapido per filettatura"

Direzione di movimento programmabile (ALF=…)Nel piano del movimento di svincolo la direzione viene programmata con ALF in passi discreti di 45 gradi.

Le direzioni possibili sono memorizzate nel controllo NC con numeri di codice specifici e vanno anche richiamate con tali numeri.

Esempio:

Sottoprogramma Commento

PROC W_WECHS SAVE ; Sottoprogramma con salvataggio dello stato operativo attivo al momento

N10 G0 Z100 M5 ; Posizione di cambio utensile, arresto mandrino

N20 T11 M6 D1 G41 ; Cambio utensile

N30 REPOSL RMB M3 ; Riaccostamento al profilo e ritorno al programma principale (programmato in un blocco)

Codice di programma

N10 SETINT(2) PRIO=1 ABHEB_Z LIFTFAST

ALF=7

Page 129: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.14 Routine di interrupt (ASUP)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 129

Con G41 attivato, l'utensile si allontana verticalmente dal profilo (Direzione di lavorazione a sinistra del profilo).

Piano di riferimento per la descrizione delle direzioni di movimento con LFTXT

Sul punto di contatto dell'utensile sul profilo programmato viene definito un piano che servirà come riferimento per le indicazioni relative al movimento di distacco con il numero di codice corrispondente.

I limiti del piano di riferimento sono costituiti dall'asse longitudinale dell'utensile (direzione di incremento) e da un vettore, posizionato perpendicolarmente rispetto alla tangente sul punto di contatto dell'utensile sul profilo.

Page 130: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.14 Routine di interrupt (ASUP)

Preparazione del lavoro130 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Numeri di codice con direzioni di movimento con LFTXT

Partendo dal piano di riferimento, è possibile reperire nella figura che segue i numeri di codice con direzioni di movimento.

Per ALF=1, lo svincolo è definito nella direzione dell'utensile.

Con ALF=0, la funzione "Svincolo rapido" è attivata.

Numeri di codice con direzioni di movimento con LFWP

Con LFWP la direzione nel piano di lavoro si ricava nel modo seguente:

• G17: Piano X/Y

ALF=1: Svincolo in direzione XALF=3: Svincolo in direzione Y

• G18: Piano Z/X

ALF=1: Svincolo in direzione ZALF=3: Svincolo in direzione X

• G19: Piano Y/Z

ALF=1: Svincolo in direzione YALF=3: Svincolo in direzione Z

CAUTELA

Con correzione del raggio utensile attiva è opportuno che:

• le codifiche 2, 3, 4 con G41• le codifiche 6, 7, 8 con G42non vengano utilizzate, poiché in questi casi l'utensile si muoverebbe verso il profilo e andrebbe a collidere con il pezzo.

Page 131: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.14 Routine di interrupt (ASUP)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 131

1.14.8 Sequenza di movimento nelle routine di interrupt

Routine di interrupt senza LIFTFASTI movimenti degli assi vengono frenati sulla traiettoria fino all'arresto. Successivamente la routine di interrupt viene avviata.

La posizione di arresto viene memorizzata come posizione di interruzione e, in caso di REPOS con RMI, viene accostata alla fine della routine di interrupt.

Routine di interrupt con LIFTFASTI movimenti degli assi vengono frenati sulla traiettoria. Contemporaneamente viene eseguito il movimento LIFTFAST come movimento sovrapposto. Se il movimento vettoriale e il movimento LIFTFAST sono giunti all'arresto, la routine di interrupt viene avviata.

Come posizione di interruzione viene memorizzata quella sul profilo al momento dell'avvio del movimento LIFTFAST con conseguente abbandono della traiettoria.

La routine di interrupt con LIFTFAST e ALF=0 si comporta in maniera identica alla routine di interrupt senza LIFTFAST.

NotaIl valore di allontanamento degli assi geometrici dal profilo durante lo svincolo rapido è impostabile tramite dato macchina.

Page 132: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.15 Scambio assi, scambio mandrini (RELEASE, GET, GETD)

Preparazione del lavoro132 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

1.15 Scambio assi, scambio mandrini (RELEASE, GET, GETD)

FunzioneUno o più assi o mandrini possono essere interpolati sempre in un solo canale. Se un asse deve lavorare alternativamente in due diversi canali (per es. un cambio-pallet), occorre abilitarlo prima nel canale attuale e poi prenderlo in gestione nel secondo canale. L’asse viene scambiato tra i canali.

Ampliamenti per lo scambio assi

Un asse/mandrino può essere scambiato con stop preelaborazione e sincronizzazione tra preelaborazione ed elaborazione principale o alternativamente anche senza stop preelaborazione. Inoltre lo scambio asse è possibile anche tramite:

• Rotazione del container assi AXCTSWE o AXCTWED tramite GET/GETD implicito.

• Frame o rotazione se questo asse è collegato ad altri assi.

• Azioni sincrone, vedere azioni sincrone di movimento, "Scambio asse RELEASE, GET".

Costruttore della macchina

Fare attenzione alle indicazioni del costruttore della macchina Mediante dati macchina progettabili un asse deve essere definito in modo univoco per lo scambio in tutti i canali e il processo di scambio assi è modificabile anche mediante dato macchina.

SintassiRELEASE (nomeasse, nomeasse, …) oppure RELEASE (S1)

GET (nomeasse, nomeasse, …) oppure GET (S2)

GETD(Nome asse, nome asse, ...) oppure GETD(S3)

Con GETD (GET Directly) un asse viene trasferito direttamente da un altro canale. Ciò significa che per questo GETD non occorre programmare RELEASE in un altro canale. Questo significa però anche che sarà necessario realizzare una nuova comunicazione tra canali (ad es. marker WAIT).

Significato

RELEASE (nome asse, nome asse, …): Abilitazione asse(i)GET (nome asse, nome asse, …): Conferma asse(i)GETD (nome asse, nome asse, …): Conferma diretta asse/iNome asse: Abbinamento dell’asse nel sistema: AX1,

AX2, … oppure indicazione del nome dell’asse macchina

RELEASE(S1) : Abilitazione dei mandrini S1, S2, ...GET(S2) : Conferme dei mandrini S1, S2, ...GETD(S3) : Conferme diretta dei mandrini S1, S2, ...

Page 133: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.15 Scambio assi, scambio mandrini (RELEASE, GET, GETD)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 133

Richiesta GET senza stop preelaborazione

Se dopo una richiesta GET senza stop preelaborazione l'asse viene riabilitato con RELEASE(asse) o WAITP(asse), un successivo GET comporta un GET con stop preelaborazione.

EsempiEsempio 1: scambio assi tra due canali

Dei 6 assi, per l’elaborazione nel canale 1 vengono utilizzati: 1., 2., 3. e 4° asse. Gli assi 5 e 6 vengono impiegati nel canale 2 per il cambio del pezzo.

L'asse 2 deve poter essere sostituito tra i due canali e assegnato al canale 1 dopo POWER ON.

Programma "MAIN" nel canale 1:

Programma "CAMBIO2" nel canale 2:

CAUTELA

Un asse o un mandrino confermato con GET rimane assegnato al canale anche dopo un RESET da tastiera o programma.

Con un nuovo start programma, nel caso l'asse risulti necessario nel canale di base, l'assegnazione degli assi o dei mandrini scambiati deve avvenire da programma.

In caso di POWER On l'asse viene assegnato al canale definito nel dato macchina.

Codice di programma Commento

INIT (2,"CAMBIO2") ; Selezionare il programma "CAMBIO2" nel canale 2.

N… START (2) ; Avviare il programma nel canale 2.

N… GET (AX2) ; Acquisire l'asse AX2.

...

N… RELEASE (AX2) ; Abilitare l'asse AX2.

N… WAITM (1,1,2) ; Attendere l'etichetta WAIT nel canale 1 e 2 per la sincronizzazione in entrambi i canali.

... ; Proseguire l'esecuzione dopo lo scambio assi.

N… M30

Programmazione Commento

N… RELEASE(AX2)

N160 WAITM(1,1,2) ; Attendere l'etichetta WAIT nel canale 1 e 2 per la sincronizzazione in entrambi i canali.

N150 GET(AX2) ; Acquisire l'asse AX2.

... ; Proseguire l'esecuzione dopo lo scambio assi.

N… M30

Page 134: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.15 Scambio assi, scambio mandrini (RELEASE, GET, GETD)

Preparazione del lavoro134 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio 2: scambio assi senza sincronizzazione

Se l'asse non deve essere sincronizzato, GET non provoca l'arresto della preelaborazione.

Esempio 3: attivazione di uno scambio assi senza stop di preelaborazione

Presupposti: Lo scambio assi senza sto preelaborazione deve essere progettato mediante un dato macchina.

Se il mandrino o l'asse B viene spostato immediatamente dopo il blocco N023 come asse PLC, ad es. a 180 gradi e di nuovo a 1 grado, questo asse diventa nuovamente un asse neutro e non provoca alcuno stop preelaborazione nel blocco N40.

PremessaPremesse per il cambio assi

• Tramite i dati macchina l’asse deve essere definito in tutti i canali in cui lo si vuole utilizzare.

• Con il dato macchina specifico per asse si stabilisce a quale canale deve essere abbinato l’asse dopo POWER ON.

Programmazione Commento

N01 G0 X0

N02 RELEASE(AX5)

N03 G64 X10

N04 X20

N05 GET(AX5) ; Se non è necessaria alcuna sincronizzazione, il blocco non è eseguibile.

N06 G01 F5000 ; Blocco non eseguibile.

N07 X20 ; Blocco non eseguibile, in quanto la posizione X è come in N04.

N08 X30 ; Primo blocco eseguibile verso N05.

...

Programmazione Commento

N010 M4 S100

N011 G4 F2

N020 M5

N021 SPOS=0

N022 POS[B]=1

N023 WAITP(B) ; L'asse B diventa asse neutro.

N030 X1 F10

N031 X100 F500

N032 X200

N040 M3 S500 ; L'asse non provoca stop preelaborazione/REORG.

N041 G4 F2

N050 M5

N099 M30

Page 135: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.15 Scambio assi, scambio mandrini (RELEASE, GET, GETD)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 135

DescrizioneAbilitazione asse: RELEASE

Per l'abilitazione dell'asse occorre considerare quanto segue:

1. L'asse non deve far parte di alcuna trasformazione.

2. Nel caso di accoppiamenti di assi (comando tangenziale), tutti gli assi del raggruppamento devono essere abilitati.

3. In questa condizione non è possibile scambiare un asse di posizionamento simultaneo.

4. Nel caso di un asse Master-Gantry vanno scambiati anche tutti gli assi a seguire.

5. Nel caso di accoppiamenti di assi (assi trascinati, accoppiamento a valore guida, riduttore elettronico) può essere abilitato solo l'asse master del raggruppamento.

Accettazione asse: GET

Con questo comando viene eseguito il vero e proprio cambio assi. La responsabilità per l'asse ricade ora del tutto sul canale in cui è stata programmata l'istruzione.

Effetti di GET:

Cambio asse con sincronizzazione:

La sincronizzazione di un asse si rende necessaria ogni volta che l'asse è stato assegnato temporaneamente ad un altro canale o al PLC, senza che prima di GET fosse avvenuta una sincronizzazione tramite "WAITP", G74 o cancellazione del percorso residuo.

• Arresto della preelaborazione (come per STOPRE)

• La lavorazione viene interrotta fino a quando il cambio non sia completamente terminato.

GET automaticoSe un asse risulta disponibile in un canale ma attualmente non è presente come "Asse di canale" viene eseguito automaticamente GET. Se l'asse (o gli assi) risulta(no) già sincronizzato(i) non viene generato lo stop preelaborazione.

Page 136: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.15 Scambio assi, scambio mandrini (RELEASE, GET, GETD)

Preparazione del lavoro136 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Impostazione variabile del comportamento dello scambio assiIl punto di rilascio degli assi viene impostato tramite un dato macchina come segue:

• lo scambio dati automatico fra due canali può avvenire anche quando l'asse è stato portato in una condizione neutrale con WAITP (comportamento come in precedenza)

• Alla richiesta di una rotazione del container assi, tutti gli assi assegnabili al canale attivo del container assi vengono trasferiti nel canale tramite GET o GETD. Un successivo scambio assi è nuovamente ammesso solo una volta conclusa la rotazione del container assi.

• Dopo l'inserimento di un blocco intermedio nell'elaborazione principale viene verificato se è necessaria o meno una riorganizzazione. La riorganizzazione sarà necessaria solo se le condizioni asse di questo blocco non coincidono con le condizioni asse attuali.

• A differenza di un blocco GET con stop preelaborazione e sincronizzazione tra preelaborazione ed elaborazione principale, uno scambio assi può avvenire anche senza stop preelaborazione. Viene quindi generato solo un blocco intermedio con la richiesta GET. Nell'elaborazione principale, all'esecuzione di questo blocco viene controllato se gli stati dell'asse nel blocco corrispondono agli stati attuali dell'asse.

Per ulteriori informazioni sulla funzionalità di uno scambio assi o mandrini, vedere /FB2/ Manuale di guida alle funzioni, Funzioni di ampliamento; BAG, canali, scambio assi (K5).

Page 137: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.16 Spostamento di un asse in un altro canale (AXTOCHAN)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 137

1.16 Spostamento di un asse in un altro canale (AXTOCHAN)

Funzione Con il comando di linguaggio AXTOCHAN può essere richiesto un asse per spostare questo asse in un altro canale. L'asse può essere spostato nel canale corrispondente sia dal partprogram dell'NC, sia da un'azione sincrona.

SintassiAXTOCHAN(nome asse,n. canale[,nome asse,n. canale [,...]])

Significato

EsempioAXTOCHAN nel programma NC

Gli assi X e Y sono conosciuti nel 1° canale e nel 2° canale. Attualmente il canale 1 dispone dell'autorizzazione di interpolazione e nel canale 1 viene avviato il seguente programma:

AXTOCHAN: Richiesta di un asse per un determinato canaleNome asse: Abbinamento dell’asse nel sistema: X, Y, … oppure indicazione del

nome dell'asse macchina interessato. Il canale da eseguire non deve essere il proprio canale e non deve nemmeno essere il canale che dispone dell'autorizzazione di interpolazione attuale per l'asse

Numero di

canale:Numero del canale cui deve essere assegnato l'asse

NotaAsse di posizionamento simultaneo e asse controllato esclusivamente dal PLCUn asse PLC non può, in quanto asse di posizionamento simultaneo (concorrente), cambiare il canale. Un asse controllato esclusivamente dal PLC non può essere assegnato al programma NC.

Bibliografia Manuale di guida alle funzioni, Funzioni di ampliamento; Assi di posizionamento (P2)

Codice di programma Commento

N110 AXTOCHAN(Y,2) ; Spostamento asse Y nel 2° canale.

N111 M0

N120 AXTOCHAN(Y,1) ; Richiamo dell'asse Y (neutro).

N121 M0

N130 AXTOCHAN(Y,2,X,2) ; Spostamento asse Y e asse X nel 2° canale (assi neutri).

N131 M0

N140 AXTOCHAN(Y,2) ; Spostamento asse Y nel 2° canale (programma NC).

N141 M0

Page 138: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.16 Spostamento di un asse in un altro canale (AXTOCHAN)

Preparazione del lavoro138 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Ulteriori informazioniAXTOCHAN nel programma NC

Per il programma NC nel proprio canale, solo ad una richiesta dell'asse viene eseguito un comando GET in modo da attendere anche l'effettiva modifica di stato. Solo se l'asse è richiesto per un altro canale o deve diventare un asse neutro nel proprio canale, viene emessa la richiesta relativa.

AXTOCHAN da un'azione sincrona

Se viene richiesto un asse per il proprio canale, AXTOCHAN viene riprodotto da un'azione sincrona su un comando GET. In questo caso l'asse diventa un asse reale alla prima richiesta per il proprio canale. Alla seconda richiesta l'asse viene assegnato al programma NC in modo analogo alla richiesta GET nel programma NC. Per la richiesta GET da un'azione sincrona vedere il capitolo "Azioni sincrone di movimento".

Page 139: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.17 Attivazione dei dati macchina (NEWCONF)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 139

1.17 Attivazione dei dati macchina (NEWCONF)

FunzioneCon il comando NEWCONF vengono attivati tutti i dati macchina del livello di efficacia "NEW_CONFIG". Questa funzione può anche essere attivata dalla superficie operativa HMI con il softkey "Attivare DM".

Quando viene eseguita la funzione "NEWCONF" si verifica uno stop di preelaborazione implicito, ossia il movimento interpolato viene interrotto.

SintassiNEWCONF

Significato

Esecuzione estesa a tutti canali di NEWCONF dal programma pezzoSe i dati macchina assiali vengono modificati dal programma pezzo e successivamente attivati con NEWCONF, il comando NEWCONF attiva solo i dati macchina che comportano modifiche per il canale del programma pezzo.

EsempioFresatura: lavorare la posizione di foratura con varie tecnologie

NEWCONF: Comando per l'attivazione di tutti i dati macchina del livello di efficacia "NEW_CONFIG"

NotaPer attivare in modo sicuro tutte le modifiche, il comando NEWCONF deve essere eseguito in ogni canale in cui vengono attualmente calcolati anche gli assi, o le funzioni, interessati dai dati macchina modificati .

Con NEWCONF non vengono attivati dati macchina assiali.

Per gli assi controllati da PLC è necessario eseguire un RESET assiale.

Codice di programma Commento

N10 $MA_CONTOUR_TOL[AX]=1.0 ; Modifica del dato macchina.

N20 NEWCONF ; Attivazione dei dati macchina.

...

Page 140: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.18 Scrittura del file (WRITE)

Preparazione del lavoro140 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

1.18 Scrittura del file (WRITE)

Funzione Il comando WRITE consente di scrivere blocchi/dati dal programma NC alla fine di un file specificato nel file system passivo (file di protocollo). Può trattarsi anche del programma attualmente in elaborazione.

Il comando WRITE consente inoltre di scrivere dati da un programma NC a un dispositivo esterno/un file esterno (vedere anche "Emissione su un dispositivo/file esterno (EXTOPEN, WRITE, EXTCLOSE) [Pagina 710]").

PresuppostiIl livello di protezione attuale impostato deve essere uguale o maggiore al diritto WRITE del file. In caso contrario, l'accesso viene rifiutato con un messaggio di errore (valore di ritorno della variabile di errore = 13).

Sintassi

NotaUn file da descrivere tramite il comando WRITE viene creato ex novo se non esiste già nel controllo numerico.

Il percorso di archiviazione è la memoria NC statica. Per SINUMERIK 840D sl è la CompactFlash Card. Rispetto a SINUMERIK 840D, il tempo di esecuzione del comando WRITE aumenta in tal modo di circa 75 ms.

Se sul disco rigido esiste già un file con lo stesso nome, questo verrà sovrascritto (nel controllo numerico) alla chiusura del file. Rimedio (HMI Advanced): nel settore operativo "Servizi", modificare il nome nel controllo numerico tramite il softkey "Proprietà".

DEF INT <errore>

...

WRITE(<errore>,"<nome_file>"/"<dispositivo_esterno>","<blocco/dati>")

Page 141: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.18 Scrittura del file (WRITE)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 141

Significato

WRITE: Comando per l'aggiunta di un blocco o di dati alla fine del file specificato<errore>: Parametro 1: Variabile per la restituzione del valore dell'errore

Tipo: INTValore: 0 nessun errore

1 percorso non consentito2 percorso non trovato3 file non trovato4 tipo di file errato10 file pieno11 file già in uso12 nessuna risorsa libera13 mancano i diritti di accesso14 apparecchio esterno non occupato o aperto15 Errore nella scrittura su dispositivo esterno16 percorso esterno programmato non valido

Page 142: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.18 Scrittura del file (WRITE)

Preparazione del lavoro142 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

<nome_file>: Parametro 2: nome del file nel file system passivo in cui vanno aggiunti il blocco specificato o i dati specificati.Tipo: STRINGSpecificando il nome file si devono rispettare i seguenti punti:• Il nome file specificato non deve contenere caratteri vuoti o di controllo (caratteri con codice ASCII ≤ 32), poiché altrimenti il comando WRITE s'interrompe con il codice di errore 1 "Percorso non consentito".• Il nome file si può indicare con il percorso e l'identificazione del file:

– Indicazioni di percorsoLe indicazioni di percorso devono essere assolute, ossia iniziare con "/".Se non viene specificato il percorso, il file viene salvato nella directory corrente (= directory del programma selezionato).

– Identificatore del fileSe il nome file non contiene un identificatore del dominio ("_N_"), questo viene aggiunto di conseguenza.Se il nome file contiene come quartultimo carattere un underscore "_", i successivi tre caratteri vengono interpretati come identificazione del file. Per poter utilizzare per tutti i comandi di file lo stesso nome file, ad es. tramite una variabile del tipo STRING, si devono impiegare solo gli identificatori di file _SPF und _MPF.Se non si è specificato alcun identificatore "_MPF" o "_SPF", viene automaticamente inserito l'identificatore _MPF.

• La lunghezza massima del nome file è di 32 byte, quella del percorso di 128 byte.Esempio:"PROTFILE""_N_PROTFILE""_N_PROTFILE_MPF""/_N_MPF_DIR_/_N_PROTFILE_MPF/"

<dispositivo

_esterno>:Se i dati devono essere emessi su un dispositivo/file esterno, al posto del nome file occorre specificare l'identificativo simbolico del dispositivo/file esterno da aprire.Tipo: STRINGPer ulteriori informazioni vedere "Emissione su un dispositivo/file esterno (EXTOPEN, WRITE, EXTCLOSE) [Pagina 710]".Nota:L'identificativo deve essere identico a quello specificato nel comando EXTOPEN.

<blocco/

dati>:Blocco o dati da aggiungere nel file specificato.Tipo: STRING

Page 143: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.18 Scrittura del file (WRITE)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 143

Condizioni marginali• Dimensione massima del file ( → costruttore della macchina!)

La dimensione massima del file di protocollo (log file) nel file system passivo viene impostata con il dato macchina:

MD11420 $MN_LEN_PROTOCOL_FILE

La dimensione massima del file vale per tutti i file creati con il comando WRITE nel file system passivo. In caso di superamento viene emesso un messaggio di errore e il blocco o i dati non vengono archiviati. Se la memoria è sufficiente, si può quindi creare un nuovo file.

Esempi

Esempio 1: Comando WRITE nel file system passivo senza indicazione assoluta del percorso

Esempio 2: Comando WRITE nel file system passivo con indicazione assoluta del percorso

NotaDurante la scrittura nel file system passivo dell'NCK, il comando WRITE aggiunge implicitamente un carattere "LF" (LINE FEED = a capo) alla fine della stringa di uscita.

Questo comportamento non vale per l'emissione su un dispositivo/file esterno. Se va emesso anche un "LF", ciò deve essere specificato esplicitamente nella stringa di uscita.

→ Vedere a questo proposito l'esempio 3: "LF" implicito/esplicito!

Codice di programma Commento

N10 DEF INT ERROR ; Definizione delle variabili di errore.

N20 WRITE(ERROR,"PROT","PROTOCOLLO DEL 7.2.97") ; Scrivi il testo "PROTOCOLLO DEL 7.2.97" nel file _N_PROT_MPF.

N30 IF ERROR ; Analisi errore.

N40 MSG ("errore nel comando WRITE:" << ERROR)

N50 M0

N60 ENDIF

...

Codice di programma

...

WRITE(ERROR,"/_N_WKS_DIR/_N_PROT_WPD/_N_PROT_MPF","PROTOCOLLO DEL 7/2/97")

...

Page 144: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.18 Scrittura del file (WRITE)

Preparazione del lavoro144 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio 3: "LF" implicito/esplicito

a, scrittura nel file system passivo con "LF" generato implicitamente

Risultato di uscita:

MY_STRING

MY_STRING

b, scrittura in file esterno senza "LF" generato implicitamente

Risultato di uscita:

MY_STRINGMY_STRING

c, scrittura in file esterno con "LF" programmato esplicitamente

Per ottenere un risultato identico ad a, occorre programmare quanto segue:

Codice di programma

...

N110 DEF INT ERROR

N120 WRITE(ERROR,"/_N_MPF_DIR/_N_MYPROTFILE_MPF","MY_STRING")

N130 WRITE(ERROR,"/_N_MPF_DIR/_N_MYPROTFILE_MPF","MY_STRING")

N140 M30

Codice di programma

...

N200 DEF STRING[30] DEV_1

N210 DEF INT ERROR

N220 DEV_1="LOCAL_DRIVE/myprotfile.mpf"

N230 EXTOPEN(ERROR,DEV_1)

N240 WRITE(ERROR,DEV_1,"MY_STRING")

N250 WRITE(ERROR,DEV_1,"MY_STRING")

N260 EXTCLOSE(ERROR,DEV_1)

N270 M30

Codice di programma

...

N200 DEF STRING[30] DEV_1

N210 DEF INT ERROR

N220 DEV_1="LOCAL_DRIVE/myprotfile.mpf"

N230 EXTOPEN(ERROR,DEV_1)

N240 WRITE(ERROR,DEV_1,"MY_STRING'H0A'")

N250 WRITE(ERROR,DEV_1,"MY_STRING'H0A'")N260 EXTCLOSE(ERROR,DEV_1)

N270 M30

Page 145: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.18 Scrittura del file (WRITE)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 145

Risultato di uscita:

MY_STRING

MY_STRING

Vedere ancheEmissione su un dispositivo/file esterno (EXTOPEN, WRITE, EXTCLOSE) Emissione su un dispositivo/file esterno (EXTOPEN, WRITE, EXTCLOSE) [Pagina 710]

Page 146: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.19 Cancellazione del file (DELETE)

Preparazione del lavoro146 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

1.19 Cancellazione del file (DELETE)

FunzioneCon il comando DELETE si possono cancellare tutti i file, indipendentemente dal fatto che siano stati creati con il comando WRITE o meno. Anche i file creati da un livello di accesso superiore possono essere cancellati con DELETE.

SintassiDEF INT <errore>DELETE(<errore>,"<nome_file>")

Significato

DELETE: Comando per l'eliminazione del file specificato<errore>: Variabile per la restituzione del valore dell'errore

Tipo: INTValore: 0 nessun errore

1 percorso non consentito2 percorso non trovato3 file non trovato4 tipo di file errato11 file già in uso12 nessuna risorsa libera20 altri errori

Page 147: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.19 Cancellazione del file (DELETE)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 147

Esempio

<nome_file>: Nome del file da eliminareTipo: STRINGSpecificando il nome file si devono rispettare i seguenti punti:• Il nome file specificato non deve contenere caratteri vuoti o di controllo (caratteri con codice ASCII ≤ 32), poiché altrimenti il comando DELETE s'interrompe con il codice di errore 1 "Percorso non consentito".• Il nome file si può indicare con il percorso e l'identificazione del file:

– Indicazioni di percorsoLe indicazioni di percorso devono essere assolute, ossia iniziare con "/".Se non viene specificato il percorso, il file viene cercato nella directory corrente (= directory del programma selezionato).

– Identificatore del fileSe il nome file non contiene un identificatore del dominio ("_N_"), questo viene aggiunto di conseguenza.Se il nome file contiene come quartultimo carattere un underscore "_", i successivi tre caratteri vengono interpretati come identificazione del file. Per poter utilizzare per tutti i comandi di file lo stesso nome file, ad es. tramite una variabile del tipo STRING, si devono impiegare solo gli identificatori di file _SPF und _MPF.Se non si è specificato alcun identificatore "_MPF" o "_SPF", viene automaticamente inserito l'identificatore _MPF.

• La lunghezza massima del nome file è di 32 byte, quella del percorso di 128 byte.Esempio:"PROTFILE""_N_PROTFILE""_N_PROTFILE_MPF""/_N_MPF_DIR_/_N_PROTFILE_MPF/"

Codice di programma Commento

N10 DEF INT ERROR ; Definizione delle variabili di errore.

N15 STOPRE ; Stop di preelaborazione.

N20 DELETE(ERROR,"/_N_SPF_DIR/_N_TEST1_SPF") ; Cancella il file TEST1 nella directory del sottoprogramma.

N30 IF ERROR ; Analisi errore.

N40 MSG("Errore con comando DELETE:" <<ERROR)

N50 M0

N60 ENDIF

Page 148: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.20 Lettura di righe nel file (READ)

Preparazione del lavoro148 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

1.20 Lettura di righe nel file (READ)

FunzioneIl comando READ legge una o più righe nel file specificato e archivia le informazioni lette in un campo del tipo STRING. Ogni riga letta copre in questo campo un elemento di campo.

PresuppostiIl livello di protezione attuale impostato deve essere uguale o maggiore al diritto READ del file. In caso contrario, l'accesso viene rifiutato con un messaggio di errore (valore di ritorno della variabile di errore = 13).

SintassiDEF INT <errore>DEF STRING[<lunghezza_stringa>] <risultato>[<n>,<m>]READ(<errore>,"<nome_file>",<riga_iniziale>,<numero -righe>,<risultato>)

NotaIl file deve trovarsi nella memoria utente statica dell'NCK (file system passivo).

Page 149: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.20 Lettura di righe nel file (READ)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 149

Significato

READ: Comando per la lettura di righe del file specificato e l'archiviazione delle stesse in un campo per variabili.

<errore>: Variabile per la restituzione del valore dell'errore (parametro Call-by-Reference)Tipo: INTValore: 0 nessun errore

1 percorso non consentito2 percorso non trovato3 file non trovato4 tipo di file errato13 diritti di accesso insufficienti21 Riga non esistente (parametro

<riga_iniziale> o <numero_righe> maggiore del numero delle righe nel file specificato).

22 La lunghezza del campo della variabile di risultato (<risultato >) è troppo esigua.

23 Intervallo delle righe troppo grande (le dimensioni del parametro <numero_righe> sono state selezionate in eccesso e di conseguenza la lettura supera la fine del file).

Page 150: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.20 Lettura di righe nel file (READ)

Preparazione del lavoro150 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

<nome_file>: Nome del file da leggere (parametro Call-by-Value)Tipo: STRINGSpecificando il nome file si devono rispettare i seguenti punti:• Il nome file specificato non deve contenere caratteri vuoti o di controllo (caratteri con codice ASCII ≤ 32), poiché altrimenti il comando READ s'interrompe con il codice di errore 1 "Percorso non consentito".• Il nome file si può indicare con il percorso e l'identificazione del file:

– Indicazioni di percorsoLe indicazioni di percorso devono essere assolute, ossia iniziare con "/".Se non viene specificato il percorso, il file viene cercato nella directory corrente (= directory del programma selezionato).

– Identificatore del fileSe il nome file non contiene un identificatore del dominio ("_N_"), questo viene aggiunto di conseguenza.Se il nome file contiene come quartultimo carattere un underscore "_", i successivi tre caratteri vengono interpretati come identificazione del file. Per poter utilizzare per tutti i comandi di file lo stesso nome file, ad es. tramite una variabile del tipo STRING, si devono impiegare solo gli identificatori di file _SPF und _MPF.Se non si è specificato alcun identificatore "_MPF" o "_SPF", viene automaticamente inserito l'identificatore _MPF.

• La lunghezza massima del nome file è di 32 byte, quella del percorso di 128 byte.Esempio:"PROTFILE""_N_PROTFILE""_N_PROTFILE_MPF""/_N_MPF_DIR_/_N_PROTFILE_MPF/"

<riga_iniziale>: Riga iniziale dell'area dati da leggere (parametro Call-by-Value)Tipo: INTValore: 0 Prima della fine del file viene letto il numero

di righe specificato con il parametro <numero_righe>.

1 … n Numero della prima riga da leggere.<numero_righe>: Numero delle righe da leggere (parametro Call-by-Value)

Tipo: INT

Page 151: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.20 Lettura di righe nel file (READ)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 151

Esempio

<risultato>: Variabile risultato (parametro Call-by-Reference)Campo per variabili in cui viene archiviato il testo letto.Tipo: STRING (lunghezza max.: 255)Se nel parametro <numero_righe> vengono specificate meno righe rispetto alla dimensione del campo [<n>,<m>] della variabile di risultato, i restanti elementi di campo non vengono modificati.La riga finale prodotta dal carattere di controllo "LF" (Line Feed) o "CR LF" (Carriage Return Line Feed) non viene salvata nella variabile di risultato. Le righe lette vengono troncate se la riga eccede la lunghezza definita della stringa. Non viene emesso alcun messaggio di errore.

NotaI file binari non possono essere letti. Viene emesso l'errore "tipo di file errato" (valore di ritorno della variabile di errore = 4) . I seguenti tipi di file non possono essere letti: _BIN, _EXE, _OBJ, _LIB, _BOT, _TRC, _ACC, _CYC, _NCK.

Codice di programma Commento

N10 DEF INT ERROR ; Definizione delle variabili di errore.

N20 DEF STRING[255] RESULT[5] ; Definizione delle variabili di risultato.

N30 READ(ERROR,"/_N_CST_DIR/_N_TESTFILE_MPF",1,5,RESULT) ; Nome file con identificatore di dominio, identificatore di file e indicazione del percorso.

N40 IF ERROR <>0 ; Analisi errore.

N50 MSG("ERRORE"<<ERROR<<"CON COMANDO READ")

N60 M0

N70 ENDIF

...

Page 152: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.21 Verifica della presenza di un file (ISFILE)

Preparazione del lavoro152 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

1.21 Verifica della presenza di un file (ISFILE)

FunzioneCon l'istruzione ISFILE è possibile verificare se esiste un file nella memoria utente statica dell'NCK (file system passivo).

Sintassi<risultato>=ISFILE("<nome_file>")

Significato

ISFILE: Comando per la verifica dell'esistenza del file specificato nel file system passivo.

<nome_file>: Nome del file di cui si deve verificare l'esistenza nel file system passivo.Tipo: STRINGSpecificando il nome file si devono rispettare i seguenti punti:• Il nome file specificato non deve contenere caratteri vuoti o di controllo (caratteri con codice ASCII ≤ 32).• Il nome file si può indicare con il percorso e l'identificazione del file:

– Indicazioni di percorsoLe indicazioni di percorso devono essere assolute, ossia iniziare con "/".Se non viene specificato il percorso, il file viene cercato nella directory corrente (= directory del programma selezionato).

– Identificatore del fileSe il nome file non contiene un identificatore del dominio ("_N_"), questo viene aggiunto di conseguenza.Se il nome file contiene come quartultimo carattere un underscore "_", i successivi tre caratteri vengono interpretati come identificazione del file. Per poter utilizzare per tutti i comandi di file lo stesso nome file, ad es. tramite una variabile del tipo STRING, si devono impiegare solo gli identificatori di file _SPF und _MPF.Se non si è specificato alcun identificatore "_MPF" o "_SPF", viene automaticamente inserito l'identificatore _MPF.

• La lunghezza massima del nome file è di 32 byte, quella del percorso di 128 byte.Esempio:"PROTFILE""_N_PROTFILE""_N_PROTFILE_MPF""/_N_MPF_DIR_/_N_PROTFILE_MPF/"

Page 153: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.21 Verifica della presenza di un file (ISFILE)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 153

Esempio

oppure:

<risultato>: Variabile di risultato per la ricezione del risultato della verificaTipo: BOOLValore: TRUE File presente

FALSE File inesistente

Codice di programma Commento

N10 DEF BOOL RESULT ; Definizione delle variabili di risultato.

N20 RESULT=ISFILE("TESTFILE")

N30 IF(RESULT==FALSE)

N40 MSG("FILE NON PRESENTE")

N50 M0

N60 ENDIF

...

Codice di programma Commento

N10 DEF BOOL RESULT ; Definizione delle variabili di risultato.

N20 RESULT=ISFILE("TESTFILE")

N30 IF(NOT ISFILE("TESTFILE"))

N40 MSG("FILE NON PRESENTE")

N50 M0

N60 ENDIF

...

Page 154: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.22 Lettura delle informazioni sul file (FILEDATE, FILETIME, FILESIZE, FILESTAT, FILEINFO)

Preparazione del lavoro154 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

1.22 Lettura delle informazioni sul file (FILEDATE, FILETIME, FILESIZE, FILESTAT, FILEINFO)

FunzioneTramite i comandi FILEDATE, FILETIME, FILESIZE, FILESTAT e FILEINFO è possibile leggere determinate informazioni sul file, quali data/ora dell'ultimo accesso in scrittura, dimensione attuale del file, stato del file o l'insieme di queste informazioni.

PresuppostiIl livello di protezione attualmente impostato deve essere uguale al o maggiore del diritto SHOW della directory sovraordinata. In caso contrario, l'accesso viene rifiutato con un messaggio di errore (valore di ritorno della variabile di errore = 13).

SintassiDEF INT <errore>DEF STRING[<lunghezza_stringa>] <risultato>FILE....(<errore>,"<nome_file>",<risultato>)

Significato

NotaIl file deve trovarsi nella memoria utente statica dell'NCK (file system passivo).

FILEDATE: Il comando FILEDATE fornisce la data dell'ultimo accesso in scrittura al file indicato.

FILETIME: Il comando FILETIME fornisce l'ora dell'ultimo accesso in scrittura al file indicato.

FILESIZE: Il comando FILESIZE fornisce la dimensione attuale del file indicato.FILESTAT: Il comando FILESTAT fornisce per il file indicato lo stato per quanto

riguarda i diritti di lettura, scrittura ed esecuzione.

Page 155: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.22 Lettura delle informazioni sul file (FILEDATE, FILETIME, FILESIZE, FILESTAT, FILEINFO)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 155

FILEINFO: Il comando FILEINFO fornisce per il file indicato la somma delle informazioni del file che possono essere ricavate da FILEDATE, FILETIME, FILESIZE e FILESTAT.

<errore>: Variabile per la restituzione del valore dell'errore (parametro Call-by-Reference)Tipo. INTValore: 0 nessun errore

1 percorso non consentito2 percorso non trovato3 file non trovato4 tipo di file errato13 diritti di accesso insufficienti22 la lunghezza della stringa della variabile di risultato

(<risultato >) è troppo esigua.

Page 156: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.22 Lettura delle informazioni sul file (FILEDATE, FILETIME, FILESIZE, FILESTAT, FILEINFO)

Preparazione del lavoro156 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

<nome_file>: Nome del file da cui devono essere ricavate le informazioni sul file.Tipo: STRINGSpecificando il nome file si devono rispettare i seguenti punti:• Il nome file specificato non deve contenere caratteri vuoti o di controllo (caratteri con codice ASCII ≤ 32), poiché altrimenti il comando FILE... s'interrompe con il codice di errore 1 "Percorso non consentito".• Il nome file si può indicare con il percorso e l'identificazione del file:

– Indicazioni di percorsoLe indicazioni di percorso devono essere assolute, ossia iniziare con "/".Se non viene specificato il percorso, il file viene cercato nella directory corrente (= directory del programma selezionato).

– Identificatore del fileSe il nome file non contiene un identificatore del dominio ("_N_"), questo viene aggiunto di conseguenza.Se il nome file contiene come quartultimo carattere un underscore "_", i successivi tre caratteri vengono interpretati come identificazione del file. Per poter utilizzare per tutti i comandi di file lo stesso nome file, ad es. tramite una variabile del tipo STRING, si devono impiegare solo gli identificatori di file _SPF und _MPF.Se non si è specificato alcun identificatore "_MPF" o "_SPF", viene automaticamente inserito l'identificatore _MPF.

• La lunghezza massima del nome file è di 32 byte, quella del percorso di 128 byte.Esempio:"PROTFILE""_N_PROTFILE""_N_PROTFILE_MPF""/_N_MPF_DIR_/_N_PROTFILE_MPF/"

Page 157: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.22 Lettura delle informazioni sul file (FILEDATE, FILETIME, FILESIZE, FILESTAT, FILEINFO)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 157

Esempio

L'esempio potrebbe fornire nella variabile di risultato RESULT ad es. il seguente risultato:

"77777 12345678 26.05.00 13:51:30"

<risultato>: Variabile risultato (parametro Call-by-Reference)Variabile in cui sono memorizzate le informazioni sul file richieste.Tipo: STRING con: FILEDATE

Formato: "gg.mm.aa"⇒ la lunghezza della stringa deve essere 8.FILETIME

Formato: " hh:mm.ss "⇒ la lunghezza della stringa deve essere 8.FILESTAT

Formato: "rwxsd"(r: read, w: write, x: execute, s: show, d: delete)⇒ la lunghezza della stringa deve essere 5.FILEINFO

Formato: "rwxsd nnnnnnnn gg.mm.aa hh:mm:ss"⇒ la lunghezza della stringa deve essere 32.

INT con: FILESIZE

La dimensione file viene emessa in byte.

Codice di programma Commento

N10 DEF INT ERROR ; Definizione delle variabili di errore.

N20 STRING[32] RESULT ; Definizione delle variabili di risultato.

N30 FILEINFO(ERROR,"/_N_MPF_DIR/_N_TESTFILE_MPF",RESULT) ; Nome file con identificatore di dominio, identificatore di file e indicazione del percorso.

N40 IF ERROR <>0 ; Valutazione errori

N50 MSG("ERRORE"<<ERROR<<"CON COMANDO FILEINFO")

N60 M0

N70 ENDIF

...

Page 158: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.23 Calcolo del checksum mediante un campo (CHECKSUM)

Preparazione del lavoro158 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

1.23 Calcolo del checksum mediante un campo (CHECKSUM)

FunzioneIl comando CHECKSUM consente di calcolare il checksum mediante un campo. Confrontando questo checksum con il risultato di un precedente calcolo del checksum, si può determinare se le date del campo sono cambiate.

ApplicazioneVerifica se il profilo di ingresso è stato modificato durante l'asportazione.

SintassiDEF INT <errore>DEF STRING[<lunghezza_stringa>] <checksum>DEF ... <campo>[<n>,<m>,<o>]<errore>=CHECKSUM(<checksum>,"<campo>"[,<colonna iniziale>,<colonna finale>])

Significato

CHECKSUM: Comando per il calcolo del checksum mediante un campo<errore>: Variabile per la restituzione del valore dell'errore

Tipo. INTValore: 0 nessun errore

1 simbolo non trovato2 nessun campo3 indice 1 troppo grande4 indice 2 troppo grande5 tipo di dato errato10 overflow del checksum

<checksum>: Variabile di risultato per la registrazione del risultato del calcolo del checksum (parametro Call-by-Reference)Tipo: STRINGLunghezza della stringa necessaria:

16Il checksum viene rappresentato come stringa di caratteri di 16 cifre esadecimali. Non vengono tuttavia specificati i caratteri di formato.Esempio: "A6FC3404E534047C"

Page 159: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.23 Calcolo del checksum mediante un campo (CHECKSUM)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 159

Esempio

L'esempio potrebbe fornire nella variabile di risultato MY-CHECKSUM ad es. il seguente risultato:

"A6FC3404E534047C"

<campo>: Nome del campo mediante il quale deve essere formato il checksum (parametro Call-By-Value)Tipo: STRINGLunghezza stringa max.:

32

I campi consentiti sono campi da mono a tridimensionali dei tipi:BOOL, CHAR, INT, REAL, STRINGNota:I campi dei dati macchina non sono ammessi.

<colonna_iniziale>: Numero della colonna iniziale del campo per il calcolo del checksum (parametro opzionale)

<colonna_finale>: Numero della colonna finale del campo per il calcolo del checksum (parametro opzionale)

NotaI parametri <colonna_iniziale> e <colonna_finale> sono facoltativi. Se non vengono specificati indici delle colonne, il checksum viene formato considerando il campo completo.

Il risultato del checksum è sempre univoco. In caso di variazioni di un elemento di campo, si ha anche un'altra stringa di risultato.

Codice di programma Commento

N10 DEF INT ERROR ; Definizione delle variabili di errore.

N20 DEF STRING[16] MY_CHECKSUM ; Definizione delle variabili di risultato.

N30 DEF INT MY_VAR[4,4] ; Definizione del campo.

N40 MY_VAR=...

N50 ERROR=CHECKSUM(MY_CHECKSUM,"MY_VAR",0,2)

...

Page 160: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.24 Arrotondamento (ROUNDUP)

Preparazione del lavoro160 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

1.24 Arrotondamento (ROUNDUP)

Funzione Attraverso la funzione "ROUNDUP" è possibile arrotondare i valori di impostazione di tipo REAL (numeri con punto decimale) al numero intero maggiore successivo.

SintassiROUNDUP(<valore>)

Significato

EsempiEsempio 1: Diversi valori di impostazione e relativi risultati di arrotondamento

Esempio 2: ROUNDUP nel programma NC

ROUNDUP: Comando per l'arrotondamento di un valore di impostazione<valore>: Valore di impostazione di tipo REAL

NotaI valori di impostazione di tipo INTEGER (un numero intero) vengono restituiti invariati.

Esempio Risultato dell'arrotondamentoROUNDUP(3.1) 4.0ROUNDUP(3.6) 4.0ROUNDUP(-3.1) -3.0ROUNDUP(-3.6) -3.0ROUNDUP(3.0) 3.0ROUNDUP(3) 3.0

Codice di programma

N10 X=ROUNDUP(3.5) Y=ROUNDUP(R2+2)

N15 R2=ROUNDUP($AA_IM[Y])

N20 WHEN X=100 DO Y=ROUNDUP($AA_IM[X])

...

Page 161: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.25 Tecnica dei sottoprogrammi

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 161

1.25 Tecnica dei sottoprogrammi

1.25.1 Generalità

1.25.1.1 Sottoprogramma

FunzioneIl termine "sottoprogramma" è legato all'epoca in cui i partprogram erano suddivisi in programmi principali e sottoprogrammi. I programmi principali erano i partprogram che venivano selezionati per l'elaborazione e quindi avviati sul controllo numerico. I sottoprogrammi erano i partprogram che venivano richiamati dal programma principale.

Oggi questa suddivisione fissa non esiste più con l'attuale linguaggio NC SINUMERIK. In linea di massima ogni partprogram può essere selezionato e avviato come programma principale oppure essere richiamato come sottoprogramma da un altro partprogram.

In questo manuale si definirà quindi sottoprogramma un partprogram che viene richiamato da un altro partprogram.

Page 162: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.25 Tecnica dei sottoprogrammi

Preparazione del lavoro162 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

ApplicazioneCome in tutti i linguaggi di programmazione più evoluti, anche nel linguaggio NC i sottoprogrammi vengono impiegati per salvare le parti di programma che vengono utilizzate più volte in programmi autonomi a sé stanti.

I sottoprogrammi offrono i seguenti vantaggi:

• Aumentano la chiarezza e la leggibilità dei programmi

• Aumentano la qualità riutilizzando programmi testati

• Offrono la possibilità di creare librerie di elaborazione specifiche

• Risparmiano spazio in memoria

1.25.1.2 Nomi dei sottoprogrammi

Regole per la denominazione Nell'assegnazione dei nomi dei sottoprogrammi si devono rispettare le seguenti regole:

• I primi due caratteri devono essere lettere (A - Z, a - z).

• I caratteri seguenti possono essere una combinazione qualsiasi di lettere, cifre (0 - 9) e caratteri di sottolineatura ("_").

• Si possono utilizzare 31 caratteri al massimo.

Estensioni del nome del programmaIl nome del programma immesso al momento della creazione del programma viene ampliato all'interno del controllo numerico con un prefisso e un suffisso:

• Prefisso: _N_

• Suffisso:

- Programmi principali: _MPF- Sottoprogrammi: _SPF

NotaNel linguaggio NC SINUMERIK non si fa distinzione tra caratteri maiuscoli e minuscoli.

Page 163: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.25 Tecnica dei sottoprogrammi

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 163

Utilizzo del nome del programmaQuando si utilizza un nome di programma, ad es. in un richiamo di sottoprogramma, tutte le combinazioni di prefisso, nome programma e suffisso sono possibili.

Esempio:

Il sottoprogramma con il nome di programma "SUB_PROG" può essere avviato con i seguenti richiami:1. SUB_PROG

2. _N_SUB_PROG

3. SUB_PROG_SPF

4. _N_SUB_PROG_SPF

1.25.1.3 Annidamento dei sottoprogrammiUn programma principale può richiamare sottoprogrammi che a loro volta richiamano dei sottoprogrammi. Le esecuzioni dei programmi sono quindi annidate l'una nell'altra. Ogni programma viene eseguito in un proprio livello di programma.

Profondità di annidamentoIl linguaggio NC mette attualmente a disposizione 16 livelli di programma. Il programma principale viene sempre eseguito nel livello di programma superiore 0. Un sottoprogramma viene sempre eseguito nel livello di programma immediatamente inferiore in base al richiamo. Il livello di programma 1 è quindi il primo livello di sottoprogramma.

Suddivisione dei livelli di programma:

• Livello di programma 0: livello del programma principale

• Livello di programma 1 - 15: livello del sottoprogramma 1 - 15

NotaNomi identici di programmi principali e sottoprogrammiSe esistono programmi principali (.MPF) e sottoprogrammi (.SPF) con gli stessi nomi, quando si utilizza il nome del programma nel partprogram occorre specificare il relativo suffisso allo scopo di identificare chiaramente il programma.

... ...

Page 164: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.25 Tecnica dei sottoprogrammi

Preparazione del lavoro164 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Routine di interrupt (ASUP)Se nell'ambito di una routine di interrupt viene richiamato un sottoprogramma, questo non viene elaborato nel livello di programma attualmente attivo nel canale, ma nel livello di programma immediatamente inferiore (n+1). Perché ciò sia possibile anche nel livello di programma più basso, in relazione con le routine di interrupt sono disponibili 2 ulteriori livelli di programma (16 e 17).

Se sono necessari più di 2 livelli di programma, questo deve essere considerato esplicitamente nella strutturazione del partprogram elaborato nel canale. Ciò significa il numero massimo di livelli di programma utilizzabile deve essere tale da lasciare disponibili ancora abbastanza livelli di programma per l'elaborazione degli interrupt.

Se l'elaborazione degli interrupt necessita ad es. di 4 livelli di programma, il partprogram deve essere strutturato in modo da occupare al massimo 13 livelli di programma. Se si verifica un interrupt, questo avrà a disposizione i 4 livelli di programma (da 14 a 17) necessari.

Cicli SiemensI cicli Siemens necessitano di 3 livelli di programma. Il richiamo di un ciclo Siemens deve quindi avvenire al più tardi in:

• Elaborazione del partprogram: livello di programma 12

• Routine di interrupt: livello di programma 14

1.25.1.4 Percorso di ricercaSe un sottoprogramma viene richiamato senza indicazione del percorso, il controllo numerico cerca nell'ordine specificato nelle seguenti directory:

Sequenza Directory Descrizione1. Directory attuale Directory del programma richiamante2. /_N_SPF_DIR / Directory globale dei sottoprogrammi3. /_N_CUS_DIR / Cicli utente4. /_N_CMA_DIR / Cicli costruttore5. /_N_CST_DIR / Cicli standard

Page 165: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.25 Tecnica dei sottoprogrammi

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 165

1.25.1.5 Parametri formali e attualiSi parla di parametri formali e attuali in relazione alla definizione e al richiamo di sottoprogrammi con trasferimento di parametri.

Parametri formaliNella definizione di un sottoprogramma i parametri che devono essere trasferiti al sottoprogramma, i cosiddetti parametri formali, devono essere definiti con tipo e nome del parametro.

I parametri formali definiscono quindi l'interfaccia del sottoprogramma.

Esempio:

Parametri attualiNel richiamo di un sottoprogramma occorre trasferire al sottoprogramma valori assoluti o variabili, i cosiddetti parametri attuali.

Al momento del richiamo i parametri attuali forniscono quindi i valori attuali all'interfaccia del sottoprogramma.

Esempio:

Codice di programma Commento

PROC KONTUR (REAL X, REAL Y) ; Parametri formali: X e Y entrambi del tipo REAL

N20 X1=X Y1=Y ; Traslazione dell'asse X1 alla posizione X e dell'asse Y1 alla posizione Y

...

N100 RET

Codice di programma Commento

N10 DEF REAL BREITE ; Definizione delle variabili

N20 BREITE=20.0 ; Assegnazione variabili

N30 KONTUR(5.5, BREITE) ; Richiamo del sottoprogramma con parametri attuali: 5.5 e BREITE

...

N100 M30

Page 166: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.25 Tecnica dei sottoprogrammi

Preparazione del lavoro166 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

1.25.1.6 Trasferimento di parametri

Definizione di un sottoprogramma con trasferimento dei parametriLa definizione di un sottoprogramma con trasferimento dei parametri avviene con la parola chiave PROC e un elenco completo di tutti i parametri attesi dal sottoprogramma.

Assegnazione incompleta di parametriNel richiamo del sottoprogramma non è sempre necessario trasferire esplicitamente tutti i parametri definiti nell'interfaccia del sottoprogramma. Se un parametro viene omesso, per questo parametro viene trasferito il valore standard "0".

Per identificare in modo univoco la sequenza dei parametri occorre comunque specificare sempre le virgole come separatori dei parametri. Un'eccezione è costituita dall'ultimo parametro. Se questo viene omesso nel richiamo, anche l'ultima virgola può venire a mancare.

Esempio:

Sottoprogramma:

Programma principale:

Esempi di richiamo di un sottoprogramma in N30 con trasferimento di parametri incompleto:

Codice di programma Commento

PROC SUB_PROG (REAL X, REAL Y, REAL Z) ; Parametri formali: X, Y e Z

...

N100 RET

Codice di programma Commento

PROC MAIN_PROG

...

N30 SUB_PROG(1.0,2.0,3.0) ; Richiamo del sottoprogramma con trasferimento di parametri:X=1.0, Y=2.0, Z=3.0

N100 M30

N30 SUB_PROG( ,2.0,3.0) ; X=0.0, Y=2.0, Z=3.0

N30 SUB_PROG(1.0, ,3.0) ; X=1.0, Y=0.0, Z=3.0

N30 SUB_PROG(1.0,2.0) ; X=1.0, Y=2.0, Z=0.0

N30 SUB_PROG( , ,3.0) ; X=0.0, Y=0.0, Z=3.0

N30 SUB_PROG( , , ) ; X=0.0, Y=0.0, Z=0.0

CAUTELATrasferimento di parametri Call-by-ReferenceI parametri trasferiti mediante Call-by-Reference non devono essere omessi nel richiamo del sottoprogramma.

Page 167: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.25 Tecnica dei sottoprogrammi

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 167

Verifica dei parametri di trasferimento La variabile di sistema $P_SUBPAR [ n ] con n = 1, 2, ... consente di verificare nel sottoprogramma se un parametro è stato esplicitamente trasferito o omesso. L'indice n si riferisce alla sequenza dei parametri formali. L'indice n = 1 si riferisce al primo parametro formale, l'indice n = 2 al secondo parametro formale, ecc.

La seguente sezione di programma mostra come si può realizzare una verifica ad es. per il primo parametro formale:

CAUTELATipo di dati AXISI parametri del tipo di dati AXIS non devono essere omessi nel richiamo del sottoprogramma.

Programmazione Commento

PROC SUB_PROG (REAL X, REAL Y, REAL Z) ; Parametri formali: X, Y e Z

N20 IF $P_SUBPAR[1]==TRUE ; Verifica del primo parametro formale X.

... ; Queste azioni vengono eseguite se il parametro formale X è stato trasferito in modo esplicito.

N40 ELSE

... ; Queste azioni vengono eseguite se il parametro formale X non è stato trasferito.

N60 ENDIF

... ; Azioni generali

N100 RET

Page 168: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.25 Tecnica dei sottoprogrammi

Preparazione del lavoro168 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

1.25.2 Definizione di un sottoprogramma

1.25.2.1 Sottoprogramma senza trasferimento di parametri

FunzioneNella definizione dei sottoprogrammi senza trasferimento di parametri può venire a mancare la riga della definizione all'inizio del programma.

Sintassi

Significato

EsempioEsempio 1: Sottoprogramma con istruzione PROC

Esempio 2: Sottoprogramma senza istruzione PROC

[PROC <nome_programma>]

...

PROC: Istruzione di definizione all'inizio di un programma<nome_programma>: Nome del programma

Codice di programma Commento

PROC SUB_PROG ; Riga di definizione

N10 G01 G90 G64 F1000

N20 X10 Y20

...

N100 RET ; Ritorno al sottoprogramma

Codice di programma Commento

N10 G01 G90 G64 F1000

N20 X10 Y20

...

N100 RET ; Ritorno al sottoprogramma

Page 169: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.25 Tecnica dei sottoprogrammi

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 169

1.25.2.2 Sottoprogramma con trasferimento di parametri Call-by-Value (PROC)

FunzioneLa definizione di un sottoprogramma con trasferimento di parametri Call-by-Value avviene con la parola chiave PROC, seguita dal nome del programma e da un elenco completo di tutti i parametri attesi dal sottoprogramma con tipo e nome. L'istruzione di definizione deve trovarsi nella prima riga del programma.

Il trasferimento di parametri Call-by-Value non ha alcuna ripercussione sul programma richiamante. Il programma richiamante trasferisce al sottoprogramma solo i valori dei parametri attuali.

SintassiPROC <nome_programma> (<tipo_parametro> <nome_parametro>, ...)

Significato

NotaPossono essere trasferiti al massimo 127 parametri.

PROC: Istruzione di definizione all'inizio di un programma<nome_programma>: Nome del programma<tipo_parametro>: Tipo di dati del parametro (ad es. REAL, INT, BOOL)<nome_parametro>: Nome del parametro

ATTENZIONEIl nome del programma specificato dopo la parola chiave PROC deve coincidere con il nome del programma assegnato sulla superficie operativa.

Page 170: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.25 Tecnica dei sottoprogrammi

Preparazione del lavoro170 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

EsempioDefinizione di un sottoprogramma con 2 parametri del tipo REAL:

1.25.2.3 Sottoprogramma con trasferimento di parametri Call-by-Reference (PROC, VAR)

Funzione La definizione di un sottoprogramma con trasferimento di parametri Call-by-Reference avviene con la parola chiave PROC, seguita dal nome del programma e da un elenco completo di tutti i parametri attesi dal sottoprogramma con la parola chiave VAR, tipo e nome. L'istruzione di definizione deve trovarsi nella prima riga del programma.

Nel trasferimento di parametri Call-by-Reference possono anche essere trasferiti riferimenti ai campi.

Il trasferimento di parametri Call-by-Reference ha ripercussioni sul programma richiamante. Il programma richiamante trasferisce al sottoprogramma un riferimento al parametro attuale, consentendo così al sottoprogramma un accesso diretto alla variabile corrispondente.

Codice di programma Commento

PROC SUB_PROG (REAL LAENGE, REAL BREITE) ; Parametro 1: Tipo: REAL, nome: LAENGEParametro 2: Tipo: REAL, nome: BREITE

...

N100 RET ; Ritorno al sottoprogramma

NotaPossono essere trasferiti al massimo 127 parametri.

Page 171: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.25 Tecnica dei sottoprogrammi

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 171

SintassiPROC <nome_programma> (VAR <tipo_parametro> <nome_parametro>, ...)PROC <nome programma> (VAR <tipo_campo> <nome_campo> [<m>,<n>,<o>], ...)

Significato

NotaUn trasferimento di parametri Call-by-Reference è necessario solo se la variabile trasferita è stata definita nel programma richiamante (LUD). Le variabili globali a livello di canale o di NC non devono essere trasferite perché si può accedere a queste variabili anche direttamente dal sottoprogramma.

PROC: Istruzione di definizione all'inizio di un programmaVAR: Parola chiave per il trasferimento di parametri per riferimento<nome_programma>: Nome del programma<tipo parametro>: Tipo di dati del parametro (ad es. REAL, INT, BOOL)<nome parametro>: Nome del parametro<tipo campo>: Tipo di dati degli elementi del campo (ad es. REAL, INT,

BOOL)<nome_campo>: Nome del campo[<m>,<n>,<o>]: Dimensioni del campo

Attualmente sono possibili al massimo campi tridimensionali:<m>: Dimensione del campo per la prima dimensione<n>: Dimensione del campo per la seconda dimensione<o>: Dimensione del campo per la terza dimensione

ATTENZIONEIl nome del programma specificato dopo la parola chiave PROC deve coincidere con il nome del programma assegnato sulla superficie operativa.

NotaCon i campi di lunghezza non definita quali parametri formali, i sottoprogrammi possono elaborare campi di lunghezza variabile. Per questo, durante la definizione di un campo ad es. bidimensionale come parametro formale non viene indicata la lunghezza della prima dimensione. Tuttavia, la virgola deve essere scritta.

Esempio: PROC <nome_programma> (VAR REAL FELD[ ,5])

Page 172: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.25 Tecnica dei sottoprogrammi

Preparazione del lavoro172 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

EsempioDefinizione di un sottoprogramma con 2 parametri come riferimento al tipo REAL:

1.25.2.4 Salvataggio delle funzioni G modali (SAVE)

Funzione Attraverso l'attributo SAVE, le funzioni G modali attive prima del richiamo del sottoprogramma vengono salvate e riattivate al termine del sottoprogramma.

SintassiPROC <nome_sottoprogramma> SAVE

Significato

EsempioNel sottoprogramma KONTUR (PROFILO) agisce la funzione G modale G91 (incrementi fissi). Nel programma principale agisce la funzione G modale G90 (incrementi fissi). Attraverso la definizione del sottoprogramma con SAVE, al termine del sottoprogramma nel programma principale è attiva di nuovo G90.

Definizione del sottoprogramma:

Codice di programma Commento

PROC SUB_PROG(VAR REAL LAENGE, VAR REAL BREITE) ; Parametro 1: Riferimento al tipo: REAL, nome: LAENGEParametro 2: Riferimento al tipo: REAL, nome: BREITE

...

N100 RET

CAUTELAInterruzione del funzionamento continuoSe, essendo attivo il funzionamento continuo, viene richiamato un sottoprogramma con l'attributo SAVE, il funzionamento continuo viene interrotto alla fine del sottoprogramma (ritorno).

SAVE: Salvataggio delle funzioni G modali prima del richiamo del sottoprogramma e ripristino al termine del sottoprogramma

Codice di programma Commento

PROC KONTUR (REAL WERT1) SAVE ; Definizione del sottoprogramma con il parametro SAVE.

N10 G91 ... ; Funzioni G modali G91: Incrementi fissi

N100 M17 ; Fine sottoprogramma

Page 173: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.25 Tecnica dei sottoprogrammi

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 173

Programma principale:

Condizioni marginaliFrame

Il comportamento di frame in riferimento ai sottoprogrammi con l'attributo SAVE dipende dal tipo di frame e può essere impostato tramite dato macchina.

BibliografiaManuale di guida alle funzioni, Funzioni di base; Assi, sistemi di coordinate, frame (K2), capitolo: "Ritorno al sottoprogramma con SAVE"

1.25.2.5 Soppressione esecuzione blocco singolo (SBLOF, SBLON):

FunzioneSoppressione blocco singolo per l'intero programma

Con esecuzione blocco singolo attiva, i programmi contrassegnati con SBLOF vengono elaborati completamente come un blocco, ossia per tutto il programma l'esecuzione blocco singola viene soppressa.

SBLOF si trova nella riga PROC e risulta valido fino alla fine o all'interruzione del sottoprogramma. Con il comando di ritorno si stabilisce se alla fine del sottoprogramma deve avvenire l'arresto oppure no.

Soppressione blocco singolo all'interno del programma

SBLOF deve essere presente solo nel blocco. A partire da questo blocco, il blocco singolo viene disattivato fino:

• al successivo comando SBLON

oppure• alla fine del livello di sottoprogramma attivo

Codice di programma Commento

N10 G0 X... Y... G90 ; Funzioni G modali G90: Quota assoluta

N20 ...

...

N50 KONTUR (12.4) ; Richiamo sottoprogramma

N60 X... Y... ; Funzione G modale G90 riattivata con SAVE.

Ritorno con M17: arresto al termine del sottoprogrammaRitorno con RET: nessun arresto al termine del sottoprogramma

Page 174: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.25 Tecnica dei sottoprogrammi

Preparazione del lavoro174 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

SintassiSoppressione blocco singolo per l'intero programma:PROC ... SBLOF

Soppressione blocco singolo all'interno del programma:

Significato

Condizioni marginali• Soppressione blocco singolo e visualizzazione del blocco

La visualizzazione del blocco attuale può essere disattivata nei cicli/sottoprogrammi mediante DISPLOF. Se DISPLOF viene programmato assieme a SBLOF, in caso di arresto blocco singolo all'interno del ciclo/sottoprogramma continua ad essere visualizzato il richiamo del ciclo/sottoprogramma.

• Soppressione blocco singolo nell'ASUP sistema o ASUP utente

Se l'arresto blocco singolo viene soppresso nell'ASUP sistema o utente attraverso le impostazioni nel dato macchina MD10702 $MN_IGNORE_SINGLEBLOCK_MASK (Bit0 = 1 o Bit1 = 1), l'arresto blocco singolo può essere riattivato attraverso la programmazione di SBLON nell'ASUP.

Se l'arresto blocco singolo viene soppresso nell'ASUP utente tramite l'impostazione nel dato macchina MD20117 $MC_IGNORE_SINGLEBLOCK_ASUP, l'arresto blocco singolo non può essere riattivato attraverso la programmazione di SBLON nell'ASUP.

• Particolarità della soppressione blocco singolo nei diversi tipi di esecuzione blocco singolo

Con esecuzione blocco singolo SBL2 attiva (arresto dopo ogni blocco del partprogram), nel blocco SBLONnon viene effettuato l'arresto se nel dato macchina MD10702 $MN_IGNORE_SINGLEBLOCK_MASK (inibizione arresto blocco singolo) il bit 12 è impostato su "1".

Con esecuzione blocco singolo SBL3 attiva (arresto dopo ogni blocco del partprogram anche nel ciclo), il comando SBLOF viene soppresso.

SBLOF

...

SBLON

PROC: Prima istruzione di un programmaSBLOF: Comando per la disattivazione dell'esecuzione blocco singolo

SBLOF può trovarsi in un blocco PROC o soltanto nel blocco.SBLON: Comando per l'attivazione dell'esecuzione blocco singolo

SBLON deve trovarsi in un proprio blocco.

Page 175: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.25 Tecnica dei sottoprogrammi

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 175

EsempiEsempio 1: Soppressione blocco singolo all'interno di un programma

La sezione tra N20 e N60 viene eseguita nel funzionamento blocco singolo come un passo.

Esempio 2: Ciclo che per l'utente deve avere l'effetto di un comando

Programma principale:

Ciclo CYCLE1:

Il ciclo CYCLE1 viene elaborato con esecuzione blocco singolo attiva, per l'esecuzione del CYCLE1 è necessario quindi premere una volta il tasto di start.

Codice di programma Commento

N10 G1 X100 F1000

N20 SBLOF ; Disattivare il blocco singolo

N30 Y20

N40 M100

N50 R10=90

N60 SBLON ; Riattivare il blocco singolo

N70 M110

N80 ...

Codice di programma

N10 G1 X10 G90 F200

N20 X-4 Y6

N30 CYCLE1

N40 G1 X0

N50 M30

Codice di programma Commento

N100 PROC CYCLE1 DISPLOF SBLOF ; Soppressione blocco singolo

N110 R10=3*SIN(R20)+5

N120 IF (R11 <= 0)

N130 SETAL(61000)

N140 ENDIF

N150 G1 G91 Z=R10 F=R11

N160 M17

Page 176: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.25 Tecnica dei sottoprogrammi

Preparazione del lavoro176 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio 3:

Un ASUP avviato dal PLC per l'attivazione di spostamento origine e correzioni utensile modificati non deve essere visibile.

Esempio 4: Con dato macchina MD10702 bit 12 = 1 non si verifica l'arresto

Situazione iniziale:

• Esecuzione blocco singolo attiva.

• MD10702 $MN_IGNORE_SINGLEBLOCK_MASK Bit12 = 1

Programma principale:

Ciclo CYCLE:

Codice di programma

N100 PROC NV SBLOF DISPLOF

N110 CASE $P_UIFRNUM OF 0 GOTOF _G500

1 GOTOF _G54

2 GOTOF _G55

3 GOTOF _G56

4 GOTOF _G57

DEFAULT GOTOF END

N120 _G54: G54 D=$P_TOOL T=$P_TOOLNO

N130 RET

N140 _G54: G55 D=$P_TOOL T=$P_TOOLNO

N150 RET

N160 _G56: G56 D=$P_TOOL T=$P_TOOLNO

N170 RET

N180 _G57: G57 D=$P_TOOL T=$P_TOOLNO

N190 RET

N200 END: D=$P_TOOL T=$P_TOOLNO

N210 RET

Codice di programma Commento

N10 G0 X0 ; Arresto in questa riga del partprogram.

N20 X10 ; Arresto in questa riga del partprogram.

N30 CYCLE ; Blocco di movimento generato dal ciclo.

N50 G90 X20 ; Arresto in questa riga del partprogram.

M30

Codice di programma Commento

PROC CYCLE SBLOF ; Soppressione arresto blocco singolo

N100 R0 = 1

N110 SBLON ; A causa del dato macchina MD10702 bit 12= 1, in questa riga del partprogram non si verifica l'arresto.

N120 X1 ; In questa riga del partprogram si verifica l'arresto.

Page 177: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.25 Tecnica dei sottoprogrammi

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 177

Esempio 5: Soppressione blocco singolo con annidamento del programma

Situazione iniziale:

Esecuzione blocco singolo attiva.

Annidamento del programma:

N140 SBLOF

N150 R0 = 2

RET

Codice di programma Commento

N10 X0 F1000 ; In questo blocco si verifica l'arresto.

N20 UP1(0)

PROC UP1(INT _NR) SBLOF ; Soppressione arresto blocco singolo.

N100 X10

N110 UP2(0)

PROC UP2(INT _NR)

N200 X20

N210 SBLON ; Attivazione arresto blocco singolo.

N220 X22 ; In questo blocco si verifica l'arresto.

N230 UP3(0)

PROC UP3(INT _NR)

N300 SBLOF ; Soppressione arresto blocco singolo.

N305 X30

N310 SBLON ; Attivazione arresto blocco singolo.

N320 X32 ; In questo blocco si verifica l'arresto.

N330 SBLOF ; Soppressione arresto blocco singolo.

N340 X34

N350 M17 ; SBLOF è attivo.

N240 X24 ; In questo blocco si verifica l'arresto. SBLON è attivo.

N250 M17 ; In questo blocco si verifica l'arresto. SBLON è attivo.

N120 X12

N130 M17 ; In questo blocco di ritorno si verifica l'arresto. SBLOF dell'istruzione PROC è attivo.

N30 X0 ; In questo blocco si verifica l'arresto.

N40 M30 ; In questo blocco si verifica l'arresto.

Codice di programma Commento

Page 178: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.25 Tecnica dei sottoprogrammi

Preparazione del lavoro178 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Ulteriori informazioniDisattivazione del blocco singolo per sottoprogrammi asincroni

Per elaborare un ASUP in un passo, è necessario che nell'ASUP venga programmata un'istruzione PROC con SBLOF. Ciò vale anche per la funzione "ASUP sistema editabile" (MD11610 $MN_ASUP_EDITABLE).

Esempio di ASUP sistema editabile:

Influenze sul programma in blocco singolo

Nell'esecuzione blocco singolo, l'utente può utilizzare il partprogram blocco a blocco. Sono possibili i seguenti tipi di impostazione:

• SBL1: blocco singolo IPO con stop dopo ogni blocco contenente funzioni di macchina.

• SBL2: blocco singolo IPO con stop dopo ogni blocco.

• SBL3: arresto in ciclo (selezionando SBL3 viene disattivata l'istruzione SBLOF).

Soppressione blocco singolo nell'annidamento programmi

Se in un sottoprogramma è stato programmato SBLOF nell'istruzione PROC, si verifica l'arresto sul ritorno al sottoprogramma con M17. In questo modo si evita che nel programma che ha eseguito il richiamo possa essere eseguito subito il blocco successivo. Se in un sottoprogramma viene attivata la soppressione blocco singolo con SBLOF, senza SBLOF nell'istruzione PROC, l'arresto si verifica soltanto dopo il primo blocco funzione della macchina del programma da cui si effettua il richiamo. Se non si desidera che ciò accada, è necessario programmare nuovamente nel sottoprogramma SBLON ancora prima che sia effettuato il ritorno (M17). In caso di ritorno con RET in un programma sovraordinato, non si verifica l'arresto.

Codice di programma Commento

N10 PROC ASUP1 SBLOF DISPLOF

N20 IF $AC_ASUP=='H200'

N30 RET ; Nessun REPOS al cambio di modo operativo.

N40 ELSE

N50 REPOSA ; REPOS in tutti gli altri casi.

N60 ENDIF

Page 179: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.25 Tecnica dei sottoprogrammi

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 179

1.25.2.6 Disattivazione della visualizzazione del blocco attuale (DISPLOF, DISPLON,ACTBLOCNO)

FunzioneNella visualizzazione del blocco viene di norma mostrato il blocco di programma attivo al momento. Nei cicli o sottoprogrammi la visualizzazione del blocco attuale può essere disattivata con il comando DISPLOF. Al posto del blocco attuale viene visualizzato il richiamo del ciclo o del sottoprogramma. Il comando DISPLON consente di eliminare la soppressione della visualizzazione del blocco.

DISPLOF o DISPLON viene programmato con l'istruzione PROC nella riga del programma, è attivo per l'intero sottoprogramma e implicitamente per tutti i sottoprogrammi richiamati a partire da questo sottoprogramma che non contengono un comando DISPLON o DISPLOF. Questo comportamento vale anche per gli ASUP.

SintassiPROC … DISPLOFPROC … DISPLOF ACTBLOCNOPROC … DISPLON

Significato

DISPLOF: Comando per la disattivazione della visualizzazione del blocco attuale.Posizionamento: Alla fine della riga di programma con l'istruzione

PROC

Attivazione: Fino al ritorno dal sottoprogramma o alla fine del programma.

Nota:Se dal sottoprogramma vengono richiamati con il comando DISPLOF altri sottoprogrammi, la visualizzazione del blocco attuale viene disattivata anche in questi ultimi, a meno che non sia programmato esplicitamente DISPLON.

Page 180: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.25 Tecnica dei sottoprogrammi

Preparazione del lavoro180 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

EsempiEsempio 1: Disattivazione della visualizzazione del blocco attuale nel ciclo

DISPLON: Comando per la rimozione della soppressione della visualizzazione del blocco attualePosizionamento: Alla fine della riga di programma con l'istruzione

PROC

Attivazione: Fino al ritorno dal sottoprogramma o alla fine del programma.

Nota:Se dal sottoprogramma vengono richiamati con il comando DISPLON altri sottoprogrammi, il blocco di programma attuale viene visualizzato anche in questi ultimi, a meno che non sia programmato esplicitamente DISPLOF.

ACTBLOCNO: DISPLOF, unitamente all'attributo ACTBLOCNO, fa sì che in caso di allarme venga emesso il numero del blocco attuale nel quale si è verificato l'allarme. Questo vale anche nel caso in cui in un livello di programma inferiore sia programmato solo DISPLOF.Con DISPLOF senza ACTBLOCNO, al contrario, viene visualizzato il numero di blocco del richiamo del ciclo o del sottoprogramma dall'ultimo livello di programma non contrassegnato con DISPLOF.

Codice di programma Commento

PROC CYCLE (AXIS TOMOV, REAL POSITION) SAVE DISPLOF ; Disattivazione della visualizzazione del blocco attuale. Al suo posto va visualizzato il richiamo del ciclo, ad es.: CYCLE(X,100.0)

DEF REAL DIFF ; Contenuto cicli

G01 ...

...

RET ; Ritorno al sottoprogramma. Nella visualizzazione del blocco viene mostrato il blocco che fa seguito al richiamo del ciclo.

Page 181: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.25 Tecnica dei sottoprogrammi

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 181

Esempio 2: Visualizzazione del blocco durante l'emissione dell'allarme

Sottoprogramma SUBPROG1 (con ACTBLOCNO):

Sottoprogramma SUBPROG2 (senza ACTBLOCNO):

Programma principale:

Codice di programma Commento

PROC SUBPROG1 DISPLOF ACTBLOCNO

N8000 R10 = R33 + R44

...

N9040 R10 = 66 X100 ; Attivazione dell'allarme 12080

...

N10000 M17

Codice di programma Commento

PROC SUBPROG2 DISPLOF

N5000 R10 = R33 + R44

...

N6040 R10 = 66 X100 ; Attivazione dell'allarme 12080

...

N7000 M17

Codice di programma Commento

N1000 G0 X0 Y0 Z0

N1010 ...

...

N2050 SUBPROG1 ; Emissione dell'allarme = "12080 canale K1 blocco N9040 Errore di sintassi nel testo R10="

N2060 ...

N2350 SUBPROG2 ; Emissione dell'allarme = "12080 canale K1 blocco N2350 Errore di sintassi nel testo R10="

...

N3000 M30

Page 182: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.25 Tecnica dei sottoprogrammi

Preparazione del lavoro182 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio 3: Rimozione della soppressione della visualizzazione del blocco attuale

Sottoprogramma SUB1 con soppressione della visualizzazione:

Sottoprogramma SUB2 senza soppressione della visualizzazione:

Esempio 4: Comportamento di visualizzazione con combinazioni diverse di DISPLON/DISPLOF

Codice di programma Commento

PROC SUB1 DISPLOF ; Soppressione della visualizzazione del blocco attuale nel sottoprogramma SUB1. Al suo posto deve essere visualizzato il blocco con il richiamo SUB1.

...

N300 SUB2 ; Richiamare il sottoprogramma SUB2.

...

N500 M17

Codice di programma Commento

PROC SUB2 DISPLON ; Rimozione della soppressione della visualizzazione del blocco attuale nel sottoprogramma SUB2.

...

N200 M17 ; Ritorno al sottoprogramma SUB1. In SUB1 la visualizzazione del blocco attuale viene nuovamente soppressa.

① Nella visualizzazione del blocco attuale vengono visualizzate le righe del partprogram dal livello di programma 0.② Nella visualizzazione del blocco attuale vengono visualizzate le righe del partprogram dal livello di programma 3.③ Nella visualizzazione del blocco attuale vengono visualizzate le righe del partprogram dal livello di programma 3.④ Nella visualizzazione del blocco attuale vengono visualizzate le righe del partprogram dal livello di programma 7/8.

Page 183: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.25 Tecnica dei sottoprogrammi

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 183

1.25.2.7 Identificazione di sottoprogrammi con preparazione (PREPRO)

FunzioneCon la parola chiave PREPRO durante l'avviamento alla fine della riga di istruzioni PROC è possibile contrassegnare tutti i dati.

SintassiPROC … PREPRO

Significato

Lettura dei sottoprogrammi con preparazione e chiamata ai sottoprogrammiSia durante l'avviamento dei sottoprogrammi predisposti con parametri, sia durante la chiamata ai sottoprogrammi, gli elenchi dei cicli vengono trattati nella stessa sequenza:

1. _N_CUS_DIR cicli utente

2. _N_CMA_DIR cicli costruttore

3. _N_CST_DIR cicli standard

In caso di programmi NC con lo stesso nome e di diverso tipo, viene attivata la prima istruzione PROCtrovata e l'altra istruzione PROC viene ignorata senza messaggio di allarme.

NotaQuesto tipo di preparazione dipende dal corrispondente dato macchina impostato. Rispettare le indicazioni fornite dal costruttore della macchina.

Bibliografia:Manuale di guida alle funzioni, Funzioni speciali; Preelaborazione (V2)

PREPRO: Parola chiave per l'identificazione di tutti i file preparati al caricamento, dei programmi NC salvati nelle directory dei cicli

Page 184: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.25 Tecnica dei sottoprogrammi

Preparazione del lavoro184 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

1.25.2.8 Ritorno al sottoprogramma M17

FunzioneAlla fine di un sottoprogramma si trova il comando di ritorno M17 (oppure il comando di fine partprogram M30). Esso provoca il ritorno al programma richiamante nel blocco di partprogram successivo al richiamo del sottoprogramma.

Sintassi

Condizioni marginaliEffetto del ritorno al sottoprogramma sul funzionamento continuo

Se M17 (oM30) si trova da solo nel blocco del partprogram, un funzionamento continuo attivo nel canale viene interrotto.

Per evitare che il funzionamento continuo venga interrotto, M17 (o M30) deve essere scritto nell'ultimo blocco di movimento. Inoltre il seguente dato macchina deve essere impostato a "0":

MD20800 $MC_SPF_END_TO_VDI = 0 (nessuna emissione di M30/M17 all'interfaccia NC/PLC)

Esempio1. sottoprogramma con M17 in blocco a sé stante

2. sottoprogramma con M17 nell'ultimo blocco di movimento

NotaM17 e M30 vengono trattati in modo equivalente nel linguaggio NC.

PROC <nome_programma>

...

M17/M30

Codice di programma Commento

N10 G64 F2000 G91 X10 Y10

N20 X10 Z10

N30 M17 ; Ritorno con interruzione del funzionamento continuo.

Codice di programma Commento

N10 G64 F2000 G91 X10 Y10

N20 X10 Z10 M17 ; Ritorno senza interruzione del funzionamento continuo.

Page 185: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.25 Tecnica dei sottoprogrammi

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 185

1.25.2.9 Ritorno al sottoprogramma RET

Funzione In sostituzione del comando di ritorno M17, nel sottoprogramma si può anche utilizzare il comando RET. RET deve essere programmato in un blocco a sé stante del partprogram. Come M17, RET provoca il ritorno al programma richiamante nel blocco di partprogram successivo al richiamo del sottoprogramma.

ApplicazioneL'istruzione RET deve essere utilizzata se un funzionamento continuo G64 (G641 ... G645) non deve essere interrotto dal ritorno.

PresuppostiIl comando RET è utilizzabile solo nei sottoprogrammi che non sono stati definiti con l'attributo SAVE.

Sintassi

EsempioProgramma principale:

NotaCon la programmazione dei parametri è possibile modificare il comportamento di ritorno di RET (vedere "Ritorno al sottoprogramma parametrizzabile (RET ...) [Pagina 186]").

PROC <nome_programma>

...

RET

Codice di programma Commento

PROC MAIN_PROGRAM ; Inizio del programma

...

N50 SUB_PROG ; Richiamo di sottoprogramma: SUB_PROG

N60 ...

...

N100 M30 ; Fine programma

Page 186: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.25 Tecnica dei sottoprogrammi

Preparazione del lavoro186 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Sottoprogramma:

1.25.2.10 Ritorno al sottoprogramma parametrizzabile (RET ...)

Funzione Con una fine di sottoprogramma quale RET o M17, in generale si ritorna da un sottoprogramma al programma dal quale è stato richiamato il sottoprogramma e la lavorazione viene proseguita con la riga di programma successiva al richiamo del sottoprogramma.

Oltre a ciò sono presenti anche casi applicativi nei quali la lavorazione del programma deve essere proseguita in un altro punto, ad es.:

• prosecuzione della lavorazione del programma in seguito al richiamo dei cicli di sgrossatura nella modalità di linguaggio ISO (descrizione del profilo).

• Ritorno al programma principale da un qualsiasi livello di sottoprogramma (anche dopo ASUP) nella gestione errori.

• Ritorno attraverso più livelli di programma per applicazioni speciali in cicli Compile e in modalità di linguaggio ISO.

In questi casi, il comando RET viene programmato assieme ai "Parametri di ritorno".

SintassiRET("<blocco_destinazione>")RET("<blocco_destinazione>", <blocco_verso_blocco_destinazione>)RET("<blocco_destinazione>",<Blocco verso blocco di destinazione>,<numero_livelli_ritorno>)RET("<blocco_destinazione>", , <numero_livelli_ritorno>)RET("<blocco_destinazione>",<blocco_verso_blocco_destinazione>,<numero_livelli_ritorno>,<ritorno_a_inizio_programma>)RET( , ,<numero_livelli_ritorno>,<ritorno_a_inizio_programma>)

Codice di programma Commento

PROC SUB_PROG

...

N100 RET ; Il ritorno avviene al blocco N60 del programma principale.

Page 187: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.25 Tecnica dei sottoprogrammi

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 187

Significato

RET: Fine del sottoprogramma (utilizzo al posto di M17)<blocco_destinazione>: Parametro di ritorno 1

Definisce come destinazione del salto il blocco su cui deve essere proseguita la lavorazione del programma.Se il parametro di ritorno 3 non è programmato, la destinazione del salto viene a trovarsi nel programma dal quale è stato richiamato il sottoprogramma corrente.I possibili dati sono i seguenti:"<numero_blocco>" Numero del blocco di

destinazione"<etichetta_salto>" Etichetta di salto che deve

essere impostata nel blocco di destinazione.

"<stringa_caratteri>" Stringa di caratteri che deve essere nota nel programma (ad es. nome del programma o della variabile).Per la programmazione della stringa di caratteri nel blocco di destinazione sono valide le seguenti regole:• Spazio vuoto alla fine (a

differenza dell'etichetta di salto, contrassegnata alla fine con ":").

• A monte della stringa di caratteri possono essere impostati soltanto un numero di blocco e/o un'etichetta di salto, ma non comandi di programma.

<blocco_verso_blocco_de

stinazione>:Parametro di ritorno 2Si riferisce al parametro di ritorno 1.Tipo: INTValore: 0 Il ritorno si verifica sul blocco indicato

con il parametro di ritorno 1.> 0 Il ritorno si verifica sul blocco

successivo al blocco indicato con il parametro di ritorno 1.

Page 188: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.25 Tecnica dei sottoprogrammi

Preparazione del lavoro188 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Condizioni marginaliIn caso di ritorno attraverso più livelli di programma, vengono analizzate le istruzioni SAVE dei singoli livelli di programma.

Se in caso di ritorno attraverso più livelli di programma è attivo un sottoprogramma modale e se in uno dei programmi saltati è programmato il comando di deselezione MCALL per il sottoprogramma modale, il sottoprogramma modale rimane attivo.

<numero_

livelli_ritorno>:Parametro di ritorno 3Indica il numero di livelli di cui si deve retrocedere per poter ritornare al livello di programma nel quale deve essere proseguita la lavorazione del programma.Tipo: INTValore: 1 Il programma viene proseguito nel

"livello di programma attuale - 1" (come RET senza parametro).

2 Il programma viene proseguito nel "livello di programma attuale - 2" saltando quindi un livello.

3 Il programma viene proseguito nel "livello di programma attuale - 3" saltando quindi due livelli.

...Campo dei valori: 1 ... 15

<Ritorno all'

inizio del programma>:Parametro di ritorno 4Tipo: BOOLValore: 1 Se si verifica il ritorno al programma

principale e in esso è attiva una modalità di linguaggio ISO, ha luogo una diramazione all'inizio del programma.

NotaIn caso di ritorno al sottoprogramma con una sequenza di caratteri quale indicazione per la ricerca del blocco di destinazione, nel programma da cui si effettua il richiamo viene sempre eseguita prima la ricerca di un'etichetta di salto.

Se una destinazione di salto deve essere definita in modo univoco attraverso una sequenza di caratteri, la sequenza stessa non dovrà allora coincidere con il nome di un'etichetta di salto, poiché altrimenti il ritorno al sottoprogramma verrà eseguito sempre sull'etichetta di salto e non sulla sequenza di caratteri (ved. esempio 2).

CAUTELA

Il programmatore deve prestare attenzione al fatto che durante il ritorno attraverso più livelli di programma la prosecuzione deve rispettare le impostazioni modali corrette. Ciò è possibile ad esempio programmando un blocco principale corrispondente.

Page 189: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.25 Tecnica dei sottoprogrammi

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 189

EsempiEsempio 1: Risincronizzazione nel programma principale dopo l'elaborazione di un ASUP

Esempio 2: Sequenza di caratteri (<Stringa>) quale indicazione per la ricerca del blocco di destinazione

Programma principale:

Programmazione Commento

N10010 CALL "UP1" ; Livello di programma 0 (programma principale)

N11000 PROC UP1 ; Livello di programma 1

N11010 CALL "UP2"

N12000 PROC UP2 ; Livello di programma 2

...

N19000 PROC ASUP ; Livello di programma 3 (elaborazione di un ASUP)

...

N19100 RET("N10900", ,$P_STACK) ; Ritorno al sottoprogramma

N10900 ; Ritorno al programma principale

N10910 MCALL ; Disabilitazione del sottoprogramma modale.

N10920 G0 G60 G40 M5 ; Correzione di ulteriori impostazioni modali.

Codice di programma Commento

PROC MAIN_PROGRAM

N1000 DEF INT iVar1=1, iVar2=4

N1010 ...

N1200 subProg1 ; Richiamo del sottoprogramma "subProg1"

N1210 M2 S1000 X10 F1000

N1220 ......

N1400 subProg2 ; Richiamo del sottoprogramma "subProg2"

N1410 M3 S500 Y20

N1420 ..

N1500 lab1: iVar1=R10*44

N1510 F500 X5

N1520 ...

N1550 subprog1: G1 X30 ; "subProg1" è qui definito come etichetta di salto.

N1560 ...

N1600 subProg3 Richiamo del sottoprogramma "subProg3"

N1610 ...

N1900 M30

Page 190: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.25 Tecnica dei sottoprogrammi

Preparazione del lavoro190 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Sottopogramma subProg1:

Sottopogramma subProg2:

Sottopogramma subProg3:

Codice di programma Commento

PROC subProg1

N2000 R10=R20+100

N2010 ...

N2200 RET("subProg2") ; Ritorno al programma principale sul blocco N1400

Codice di programma Commento

PROC subProg2

N2000 R10=R20+100

N2010 ...

N2200 RET("iVar1") ; Ritorno al programma principale sul blocco N1500

Codice di programma Commento

PROC subProg3

N2000 R10=R20+100

N2010 ...

N2200 RET("subProg1") ; Ritorno al programma principale sul blocco N1550

Page 191: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.25 Tecnica dei sottoprogrammi

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 191

Ulteriori informazioniLe figure che seguono hanno lo scopo di illustrare i diversi effetti dei parametri di ritorno da 1 a 3.

1. parametro di ritorno 1= "N200", parametro di ritorno 2 = 0

Dopo il comando RET, la lavorazione del programma viene proseguita con il blocco N200 nel programma principale.

2. parametro di ritorno 1= "N200", parametro di ritorno 2 = 1

Dopo il comando RET, la lavorazione del programma viene proseguita con il blocco (N210), che fa seguito al blocco N200 nel programma principale.

Page 192: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.25 Tecnica dei sottoprogrammi

Preparazione del lavoro192 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

3. parametro di ritorno 1 = "N200", parametro di ritorno 3 = 2

Dopo il comando RET, si torna indietro di due livelli di programma e la lavorazione del programma viene proseguita con il blocco N220.

Page 193: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.25 Tecnica dei sottoprogrammi

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 193

1.25.3 Richiamo di un sottoprogramma

1.25.3.1 Richiamo del sottoprogramma senza assegnazione di parametri

Funzione Il richiamo di un sottoprogramma avviene con indirizzo L e numero del sottoprogramma oppure specificando il nome del programma.

Anche un programma principale può essere richiamato come un sottoprogramma. In questo caso la fine programma M2 o M30 impostata nel programma principale viene valutata come se si trattasse di M17 (fine programma con ritorno al programma che l'ha richiamato).

SintassiL<numero>/<nome_programma>

Significato

NotaAnalogamente, un sottoprogramma può essere avviato anche come un programma principale.

Strategia di ricerca del controllo numerico:

Esiste *_MPF ?

Esiste *_SPF ?

Ne consegue: se il nome del sottoprogramma da richiamare è identico a quello del programma principale, viene richiamato nuovamente il programma principale. Per evitare questo inconveniente occorre attribuire ai sottoprogrammi e programmi principali nomi univoci.

NotaI sottoprogrammi che non richiedono trasmissione di parametri possono essere richiamati anche da un file di inizializzazione.

NotaIl richiamo di un sottoprogramma deve essere sempre programmato in un blocco NC a sé stante.

L: Indirizzo per il richiamo del sottoprogramma <numero>: Numero del sottoprogramma

Tipo: INTValore: Massimo 7 cifre decimali

Attenzione:per l'assegnazione del nome, gli zero in prima posizione sono significativi ( ⇒ L123, L0123 e L00123 sono tre sottoprogrammi diversi).

<nome_programma>: Nome del sottoprogramma (o del programma principale)

Page 194: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.25 Tecnica dei sottoprogrammi

Preparazione del lavoro194 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

EsempiEsempio 1: Richiamo di un sottoprogramma senza assegnazione di parametri

Esempio 2: Richiamo di un programma principale come sottoprogramma

Page 195: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.25 Tecnica dei sottoprogrammi

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 195

1.25.3.2 Richiamo del sottoprogramma con assegnazione di parametri (EXTERN)

FunzioneIn caso di richiamo del sottoprogramma con assegnazione di parametri è possibile assegnare direttamente variabili o valori (non per i parametri VAR).

I sottoprogrammi con assegnazione di parametri devono essere contrassegnati con EXTERN prima del richiamo nel programma principale (ad es. all'inizio del programma). Vengono impostati il nome del sottoprogramma ed i tipi delle variabili nella sequenza dell'assegnazione.

Sintassi

Significato

CAUTELA

Sia i tipi di variabile sia la sequenza dell'assegnazione devono coincidere con le definizioni che sono state stabilite nel sottoprogramma sotto PROC. I nomi dei parametri nel programma principale e nel sottoprogramma possono essere diversi.

EXTERN <nome_programma>(<Tipo_Par1>,<Tipo_Par2>,<Tipo_Par3>)

...

<nome_programma>(<valore_Par1>,<valore_Par2>,<valore_Par3>)

CAUTELA

il richiamo del sottoprogramma deve essere sempre programmato in un blocco NC a sé stante.

<nome_programma>: Nome del sottoprogrammaEXTERN: Parola chiave per l'identificazione di un

sottoprogramma con assegnazione di parametri.Nota:EXTERN deve essere impostato solo se il sottoprogramma si trova nella directory pezzo o nella directory globale dei sottoprogrammi. I cicli non devono essere definiti con EXTERN.

<Tipo_par1>,<tipo_par2>,<tipo_par3>: Tipi di variabili dei parametri da assegnare nella sequenza di assegnazione

<valore_par1>,<valore_par2>,<valore_p

ar3>:Valori di variabili per i parametri da assegnare

Page 196: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.25 Tecnica dei sottoprogrammi

Preparazione del lavoro196 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

EsempiEsempio 1: Richiamo di un sottoprogramma con notifica preventiva

Codice di programma Commento

N10 EXTERN CORNICE (REAL,REAL,REAL) ; Indicazione del sottoprogramma.

...

N40 CORNICE(15.3,20.2,5) ; Richiamo del sottoprogramma con assegnazione di parametri.

Page 197: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.25 Tecnica dei sottoprogrammi

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 197

Esempio 2: Richiamo di un sottoprogramma senza notifica

1.25.3.3 Numero di ripetizioni del programma (P)

Funzione Se si vuole eseguire più volte in sequenza un sottoprogramma, nel blocco contenente il richiamo del sottoprogramma è possibile programmare sotto l'indirizzo P il numero di ripetizioni del programma desiderato.

Sintassi<nome_programma> P<valore>

Codice di programma Commento

N10 DEF REAL LUNGHEZZA, LARGHEZZA, PROFONDITA'

N20 …

N30 LUNGHEZZA=15.3,LARGHEZZA=20.2, PROFONDITÀ=5

N40 CORNICE(LUNGHEZZA,LARGHEZZA,PROFONDITÀ) ; oppure: N40 CORNICE(15.3,20.2,5)

CAUTELA

Richiamo del sottoprogramma con ripetizione del programma e trasferimento dei parametriI parametri vengono trasferiti solo al momento del richiamo del programma oppure alla prima ripetizione. Per le ripetizioni successive i parametri restano invariati. Se si desidera modificare i parametri nelle ripetizioni del programma, occorre effettuare le impostazioni corrispondenti nel sottoprogramma.

Page 198: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.25 Tecnica dei sottoprogrammi

Preparazione del lavoro198 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Significato

Esempio

<nome_programma>: Richiamo di sottoprogrammaP: Indirizzo per la programmazione di ripetizioni del programma<valore>: Numero di ripetizioni del programma

Tipo: INTCampo dei valori: 1 … 9999

(senza segno)

Codice di programma Commento

...

N40 TELAIO P3 ; Il sottoprogramma CORNICE deve essere eseguito tre volte in sequenza.

...

Page 199: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.25 Tecnica dei sottoprogrammi

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 199

1.25.3.4 Richiamo sottoprogramma modale (MCALL)

Funzione In caso di richiamo modale del sottoprogramma con MCALL, il sottoprogramma viene richiamato ed eseguito automaticamente con movimento vettoriale dopo ogni blocco. In tal modo è possibile automatizzare il richiamo di sottoprogrammi che devono essere eseguiti in diverse posizioni del pezzo (ad esempio per la creazione di dime di foratura).

La funzione viene disattivata tramite MCALL senza richiamo del sottoprogramma oppure programmando un nuovo richiamo modale del sottoprogramma per un nuovo sottoprogramma.

SintassiMCALL <nome_programma>

Significato

EsempiEsempio 1:

CAUTELA

Nell'esecuzione di un programma può essere attivo contemporaneamente un solo richiamo MCALL. I parametri vengono trasferiti una sola volta durante il richiamo MCALL.

Il sottoprogramma modale viene richiamato nelle seguenti situazioni anche senza la programmazione di un movimento:

• Durante la programmazione degli indirizzi S e F se G0 o G1 risultano attivi;• Se G0/G1 è stato programmato solo nel blocco oppure con altri codici G.

MCALL: Comando per il richiamo modale del sottoprogramma<nome_programma>: Nome del sottoprogramma

Codice di programma Commento

N10 G0 X0 Y0

N20 MCALL L70 ; Richiamo sottoprogramma modale.

N30 X10 Y10 ; La posizione programmata viene raggiunta e quindi viene eseguito il sottoprogramma L70.

N40 X50 Y50 ; La posizione programmata viene raggiunta e quindi viene eseguito il sottoprogramma L70.

Page 200: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.25 Tecnica dei sottoprogrammi

Preparazione del lavoro200 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio 2:

In questo esempio, i blocchi NC seguenti e la programmazione degli assi di contornitura, si trovano nel sottoprogramma L80. L70 viene richiamato da L80.

Codice di programma

N10 G0 X0 Y0

N20 MCALL L70

N30 L80

Page 201: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.25 Tecnica dei sottoprogrammi

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 201

1.25.3.5 Richiamo indiretto di sottoprogramma (CALL)

FunzioneA seconda delle condizioni assegnate può anche essere possibile richiamare diversi sottoprogrammi. A questo scopo in una variabile del tipo STRING va deposto il nome del sottoprogramma. Il richiamo del sottoprogramma viene effettuato con CALL e il nome della variabile.

SintassiCALL <nome_programma>

Significato

EsempioRichiamo diretto con costante STRING:

Richiamo indiretto tramite variabile:

CAUTELA

Possono essere richiamati indirettamente soltanto sottoprogrammi senza assegnazione di parametri. Per il richiamo diretto di un sottoprogramma, memorizzare il nome in una costante STRING.

CALL: Comando per il richiamo indiretto del sottoprogramma<nome_programma>: Nome del sottoprogramma (variabile o costante)

Tipo: STRING

Codice di programma Commento

CALL "/_N_WKS_DIR/_N_SUBPROG_WPD/_N_PEZZO1_SPF" ; Richiamo diretto del sottoprogramma PEZZO1 con CALL

Codice di programma Commento

DEF STRING[100] PROGNAME ; Definizione della variabile.

PROGNAME="/_N_WKS_DIR/_N_SUBPROG_WPD/_N_PEZZO1_SPF" ; Assegnazione del sottoprogramma PEZZO1 alla variabile PROGNAME.

CALL PROGNAME ; Richiamo indiretto del sottoprogramma PEZZO1 tramite CALL e variabile PROGNAME.

Page 202: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.25 Tecnica dei sottoprogrammi

Preparazione del lavoro202 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

1.25.3.6 Richiamo indiretto del sottoprogramma con indicazione della parte di programma daeseguire (CALL BLOCK ... TO ...)

Funzione Con CALL e la combinazione di parole chiave BLOCK ... TO, viene richiamato un sottoprogramma in maniera indiretta ed eseguita la parte di programma contrassegnata con Startlabel e Endlabel.

SintassiCALL <nome programma> BLOCK <startlabel> TO <endlabel>CALL BLOCK <startlabel> TO <endlabel>

Significato

EsempioProgramma principale:

CALL: Comando per il richiamo indiretto del sottoprogramma<nome_programma>: Nome del sottoprogramma (variabile o costante) contenente la

parte di programma da elaborare (indicazione opzionale).Tipo: STRINGNota:Se non è programmato alcun <nome programma>, la parte di programma contrassegnata con <startlabel> e <endlabel> viene ricercata ed eseguita nel programma corrente.

BLOCK ... TO ... : Combinazione di parole chiave per l'esecuzione indiretta della parte di programma

<startlabel>: Variabile che rimanda all'inizio della parte di programma da eseguire.Tipo: STRING

<endlabel>: Variabile che rimanda alla fine della parte di programma da eseguire.Tipo: STRING

Codice di programma Commento

...

DEF STRING[20] STARTLABEL, ENDLABEL ; Definizione della variabile per startlabel ed endlabel.

STARTLABEL="LABEL_1"

ENDLABEL="LABEL_2"

...

Page 203: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.25 Tecnica dei sottoprogrammi

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 203

Sottoprogramma:

1.25.3.7 Richiamo indiretto di un programma programmato in linguaggio ISO (ISOCALL)

FunzioneCon il richiamo indiretto del programma ISOCALL, è possibile richiamare un programma programmato in un linguaggio ISO. In tal caso viene attivata la modalità ISO impostata nei dati macchina. Alla fine del programma ritorna attiva la modalità di elaborazione originale. Se nei dati macchina non è impostata alcuna modalità ISO, il richiamo del sottoprogramma viene effettuato in modalità Siemens.

Per ulteriori informazioni sulla modalità ISO, vedere:Bibliografia:Descrizione delle funzioni, Linguaggi ISO

SintassiISOCALL <nome programma>

Significato

CALL "CONTUR_1" BLOCK STARTLABEL TO ENDLABEL ... ; Richiamo indiretto di un sottoprogramma e indicazione della parte di programma da eseguire.

...

Codice di programma Commento

PROC CONTUR_1 ...

LABEL_1 ; Startlabel: inizio dell'esecuzione del programma

N1000 G1 ...

...

LABEL_2 ; Endlabel: fine dell'esecuzione della parte di programma

...

Codice di programma Commento

ISOCALL: Parola chiave per il richiamo indiretto del sottoprogramma con il quale viene attivata la modalità ISO impostata nei dati macchina

<nome_programma>: Nome del programma programmato in un linguaggio ISO (variabile o costante di tipo STRING)

Page 204: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.25 Tecnica dei sottoprogrammi

Preparazione del lavoro204 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio: Richiamo di un profilo con programmazione dei cicli dalla modalità ISO

Codice di programma Commento

0122_SPF ; Descrizione del profilo in modalità ISO

N1010 G1 X10 Z20

N1020 X30 R5

N1030 Z50 C10

N1040 X50

N1050 M99

N0010 DEF STRING[5] PROGNAME = "0122" ; Partprogram Siemens(ciclo)

...

N2000 R11 = $AA_IW[X]

N2010 ISOCALL PROGNAME

N2020 R10 = R10+1 ; Esecuzione del programma 0122.spf in modalità ISO

...

N2400 M30

Page 205: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.25 Tecnica dei sottoprogrammi

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 205

1.25.3.8 Richiamo sottoprogramma con indicazione del percorso e parametri (PCALL)

FunzioneCon PCALL è possibile richiamare sottoprogrammi con indicazione del percorso e assegnazione di parametri assolute.

SintassiPCALL <Percorso/Nome programma>(<Parametro 1>,…,<Parametro n>)

Significato

Esempio

PCALL: Parola chiave per il richiamo di un sottoprogramma con indicazione assoluta del percorso.

<percorso/nome

programma>:Indicazione assoluta delle percorso iniziante con "/", compresi i nomi dei sottoprogrammi.Se non è stato indicato alcun percorso assoluto, PCALL si comporta come richiamo di sottoprogramma standard con identificatore programma.L'identificatore programma viene indicato senza intestazione _N_ e senza estensione.Se il nome del programma deve essere programmato con intestazione ed estensione, deve essere dichiarato in maniera esplicita unitamente all'intestazione e all'estensione attraverso il comando EXTERN.

<parametro 1>, ...: Parametro attuale corrispondente all'istruzione PROC del sottoprogramma.

Codice di programma

PCALL/_N_WKS_DIR/_N_WELLE_WPD/WELLE(parameter1,parameter2,…)

Page 206: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.25 Tecnica dei sottoprogrammi

Preparazione del lavoro206 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

1.25.3.9 Estensione del percorso di ricerca nei richiami di sottoprogrammi (CALLPATH)

FunzioneCon il comando CALLPATH è possibile estendere il percorso di ricerca per i richiami di sottoprogrammi.

In questo modo è possibile richiamare anche sottoprogrammi da una directory pezzo non selezionata, senza dover indicare il nome del percorso completo e assoluto del sottoprogramma.

L'estensione del percorso di ricerca va effettuata prima della voce per i cicli utente (_N_CUS_DIR).

Attraverso i seguenti eventi, viene nuovamente disattivata l'estensione del percorso di ricerca:

• CALLPATH con spazio

• CALLPATH senza parametri

• Fine del partprogram

• Reset

SintassiCALLPATH("<Nome percorso>")

Significato

CALLPATH: Parola chiave per l'estensione del percorso di ricerca programmabile. Viene programmata in una propria riga del partprogram.

<Percorso>: Costante o variabile di tipo STRING. Contiene l'indicazione assoluta del percorso di una directory del cui valore deve essere ampliato il percorso di ricerca. L'indicazione del percorso inizia con "/". Il percorso deve essere indicato in maniera completa con prefissi e suffissi. La lunghezza massima del percorso è 128 byte.Se il <Nome percorso> contiene uno spazio oppure CALLPATH viene richiamato senza parametri, l'istruzione del percorso di ricerca viene reimpostata.

Page 207: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.25 Tecnica dei sottoprogrammi

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 207

Esempio

In questo modo viene impostato il seguente percorso di ricerca (la posizione 5. è nuova):

1. Directory attuale/identificatore sottoprogramma

2. Directory attuale/identificatore sottoprogramma_SPF

3. Directory attuale/identificatore sottoprogramma_MPF

4. /_N_SPF_DIR/identificatore sottoprogramma_SPF

5. /_N_WKS_DIR/_N_MYWPD/identificatore sottoprogramma_SPF

6. /N_CUS_DIR/_N_MYWPD/identificatore sottoprogramma_SPF

7. /_N_CMA_DIR/identificatore sottoprogramma_SPF

8. /_N_CST_DIR/identificatore sottoprogramma_SPF

Condizioni marginali• CALLPATH verifica se il nome del percorso programmato sia effettivamente disponibile. In

caso di errore, l'esecuzione del partprogram viene interrotta con l'allarme del blocco di correzione 14009.

• CALLPATH può essere programmato anche in file INI. In questo caso funziona per la durata di elaborazione del file INI (file WPD-INI o programma di inizializzazione per dati NC attivi, ad es. frame nel 1° canale _N_CH1_UFR_INI). Dopodiché il percorso di ricerca sarà reimpostato.

Codice di programma

CALLPATH("/_N_WKS_DIR/_N_MYWPD_WPD")

Page 208: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.25 Tecnica dei sottoprogrammi

Preparazione del lavoro208 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

1.25.3.10 Esecuzione di un sottoprogramma esterno (EXTCALL)

Funzione Con il comando EXTCALL è possibile ricaricare un programma pezzo da una memoria esterna (unità locale, unità di rete, unità USB) ed elaborarlo come sottoprogramma.

Il percorso per la directory di programma esterna può essere preimpostato con il dato setting:

SD42700 $SC_EXT_PROG_PATH

Insieme al percorso e/o all'identificatore del programma definito con il richiamo EXTCALL, si ottiene l'intero percorso del programma da richiamare.

SintassiEXTCALL("<percorso><nome programma>")

Significato

NotaDestinazione di saltoPer i programmi esterni che contengono istruzioni di salto (GOTOF, GOTOB, CASE, FOR, LOOP, WHILE, REPEAT, IF, ELSE, ENDIF ecc.), le destinazioni di salto devono trovarsi all'interno della memoria di caricamento. Le dimensioni della memoria di caricamento vengono impostate tramite:

MD18360 MM_EXT_PROG_BUFFER_SIZE

ParametriQuando si richiama un programma esterno, non è possibile trasferirvi alcun parametro.

EXTCALL: Comando per richiamare un sottoprogramma esterno"<percorso><nome

programma>":Costante/variabile del tipo STRING<percorso>: Definizione assoluta o relativa

del percorso (opzionale)<nome_programma>: Il nome del programma viene

specificato senza il prefisso "_N_".Al nome file del programma è possibile aggiungere l'estensione ("MPF", "SPF") preceduta dal carattere "_" oppure "." (opzionale).Esempio:"ALBERO"

oppure"WELLE_SPF" o "WELLE.SPF"

Page 209: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.25 Tecnica dei sottoprogrammi

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 209

EsempioElaborazione dall'unità locale

Programma principale:

Sottoprogramma esterno:

Notaindicazione del percorso: Sigle identificativePer l'indicazione del percorso è possibile utilizzare le seguenti sigle di unità:

• LOCAL_DRIVE: per l'unità locale• CF_CARD: per scheda CompactFlash• USB: per connessione frontale USBCF_CARD: e LOCAL_DRIVE: possono essere utilizzati alternativamente.

NotaElaborazione dall'esterno tramite unità USBSe occorre trasferire programmi pezzo esterni da un'unità USB esterna attraverso l'interfaccia USB, è possibile utilizzare solo l'interfaccia tramite X203 con il nome "TCU_1".

ATTENZIONEElaborazione dall'esterno tramite FlashDrive USB (su connessione frontale USB)L'elaborazione diretta da un USB-FlashDrive inserito nella presa USB frontale non è consigliata in quanto un'interruzione del collegamento con il USB-FlashDrive durante l'elaborazione del programma pezzo a causa di difficiltà di contatto, fuoriuscita, urto o estrazione involontaria provoca l'arresto immediato dell'elaborazione. L'utensile e/o il pezzo possono venire danneggiati.

Codice di programma

N010 PROC MAIN

N020 ...

N030 EXTCALL ("SGROSSARE")

N040 ...

N050 M30

Codice di programma

N010 PROC SGROSSARE

N020 G1 F1000

N030 X= ... Y= ... Z= ...

N040 ...

...

...

N999999 M17

Page 210: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.25 Tecnica dei sottoprogrammi

Preparazione del lavoro210 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Il programma principale "MAIN.MPF" si trova nella memoria NC ed è selezionato per l'elaborazione.

Il sottoprogramma da ricaricare "SCHRUPPEN.SPF" o "SCHRUPPEN.MPF" si trova sull'unità locale nella directory "/user/sinumerik/data/prog/WKS.DIR/WST1.WPD".

Il percorso per il sottoprogramma è predefinito in SD42700:

SD42700 $SC_EXT_PROG_PATH = "LOCAL_DRIVE:WKS.DIR/WST1.WPD"

Ulteriori informazioniRichiamo EXTCALL con indicazione del percorso assoluto

Se il sottoprogramma esiste sotto il percorso indicato, viene eseguito dopo il richiamo EXTCALL. Se non esiste, l'esecuzione del programma viene interrotta.

Richiamo EXTCALL con indicazione del percorso relativo / senza indicazione del percorso

Con un richiamo EXTCALL con indicazione del percorso relativo oppure senza indicazione del percorso, viene effettuata una ricerca nelle memorie di programma disponibili in base al modello seguente:

• Se in SD42700 $SC_EXT_PROG_PATH è preimpostata un percorso, la ricerca viene effettuata innanzitutto a partire da questo percorso, in base a quanto specificato nella chiamata EXTCALL (nome del programma, eventualmente con l'indicazione del percorso relativo). Il percorso assoluto si ottiene dalla concatenazione di caratteri:

- l'indicazione di percorso preimpostata in SD42700- il carattere "/" come separatore- il percorso e/o l'identificatore del sottoprogramma definito con EXTCALL

• Se il sottoprogramma richiamato non viene individuato nel percorso preimpostato, la successiva ricerca viene effettuata nelle directory della memoria utente in base all'indicazione nel richiamo EXTCALL.

• La ricerca termina quando il sottoprogramma viene individuato per la prima volta. Qualora la ricerca non portasse ad alcun risultato, si ha un'interruzione del programma.

NotaSenza indicazione di percorso in SD42700, l'istruzione EXTCALL per questo esempio dovrebbe essere programmata come segueEXTCALL("LOCAL_DRIVE:WKS.DIR/WST1.WPD/SCHRUPPEN")

Page 211: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.25 Tecnica dei sottoprogrammi

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 211

Memoria di caricamento impostabile (buffer FIFO)

Per l'elaborazione di un programma nel modo "Elaborazione dall'esterno" (programma principale o sottoprogramma) è necessaria una memoria di caricamento nell'NCK. La dimensione della memoria di caricamento è preimpostata a 30 KB e può essere modificata in funzione delle esigenze, come altri dati macchina attinenti alla memoria, solo dal costruttore della macchina.

Per tutti i programmi (programmi principali o sottoprogrammi) che devono essere elaborati contemporaneamente nel modo "Elaborazione dall'esterno", deve essere impostata una memoria di caricamento.

RESET, POWER ON

Con RESET e POWER ON vengono interrotte le chiamate esterne ai sottoprogrammi e cancellata la relativa memoria di caricamento (swapping).

Un sottoprogramma selezionato per l'"Elaborazione dall'esterno", anche con attivazione di RESET / fine partprogram rimane selezionato per l'"elaborazione dall'esterno". La selezione perde valore se si attiva POWER ON.

BibliografiaPer ulteriori informazioni sull'"elaborazione dall'esterno" vedere:

Manuale di guida alle funzioni, Funzioni fondamentali; gruppo di modi operativi, canale, funzionamento del programma, comportamento di reset (K1).

Page 212: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.25 Tecnica dei sottoprogrammi

Preparazione del lavoro212 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

1.25.4 Cicli

1.25.4.1 Parametrizzazione dei cicli utente

Funzione Con i file cov.com e uc.com si possono parametrizzare cicli propri:

Il file cov.com viene fornito con i cicli standard e deve essere opportunamente ampliato. Il file uc.com deve essere creato dall'utilizzatore.

Entrambi i file sono da caricare nella directory “Cicli utente” del file system passivo oppure nel programma con l'indicazione del relativo percorso:;$PATH=/_N_CUS_DIR

Adattamento del file cov.com (panoramica dei cicli)Il file cov.com fornito con i cicli standard ha la seguente struttura:

Per ogni nuovo ciclo inserito si deve inserire una riga con la seguente sintassi:C<numero> (<nome_ciclo>) <commento>

con:

Esempio:C25 (MIO_CICLO_1) Ciclo_utente_1C26 (CICLO_SPECIALE)

cov.com Panoramica dei cicliuc.com Descrizione del richiamo dei cicli

%_N_COV_COM nome del file;$PATH=/_N_CST_DIR indicazione del percorso;Vxxx 11.12.95 panoramica dei cicli riga di commentoC1(CYCLE81) foratura, centratura richiamo del 1° cicloC2(CYCLE82) foratura, svasatura richiamo del 2° ciclo...

C24(CYCLE98) sequenza di filetti richiamo dell'ultimo ciclo M17 fine del file

<numero>: un numero intero qualsiasi non ancora utilizzato nel file<nome_ciclo>: nome del ciclo da implementare<commento>: testo di commento per il ciclo (opzionale)

Page 213: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.25 Tecnica dei sottoprogrammi

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 213

Descrizione del ciclo utente nel file uc.com

Riga di intestazione per ciclo:

Come nel file cov.com preceduta da "//"://C <numero> (<nome_ciclo>) <commento>

Esempio://C25 (MIO_CICLO_1) Ciclo_utente_

Riga descrittiva per parametro: (<identificativo_tipo_dati> / <valore_minimo> <valore_massimo> / <valore_preimpostato> /<commento>)

con:

<identificativo_tip

o_dati>:R: per RealI: per IntegerC: per Character (1 carattere)S : per String

<valore_minimo>

<valore_massimo>:Definizione del campo di valori (può essere omesso).Limiti del valore da immettere che vengono verificati al momento dell'immissione. Non possono essere immessi valori al di fuori da questo campo.Possono essere impostati valori di conteggio gestibili con il tasto Toggle. Questi vengono conteggiati a partire da "*", altri valori non sono consentiti. Esempio:(I/*123456/1/Tipo di elaborazione)

Per i tipi String e Character non esistono limiti.<valore_preimpostat

o>:valore preimpostato nella maschera corrispondente al richiamo del ciclo (può essere omesso)Il valore preimpostato può essere modificato tramite comando.

<commento>: testo di commento (max. 50 caratteri) che viene visualizzato nella maschera di richiamo del ciclo prima del campo di immissione del parametro.

Page 214: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.25 Tecnica dei sottoprogrammi

Preparazione del lavoro214 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

EsempioPer entrambi i cicli seguenti deve avvenire una nuova parametrizzazione.

Relativo file uc.com:

PROC MIO_CICLO_1 (REAL PAR1, INT PAR2, CHAR PAR3, STRING[10] PAR4)Il ciclo dispone dei seguenti parametri di trasferimento:

PAR1: ; valore REAL nel campo da -1000.001 <= PAR2 <= 123.456, preimpostato con 100

PAR2: ; valore positivo intero tra 0 <= PAR3 <= 999999, preimpostazione con 0

PAR3: ; 1 carattere ASCII

PAR4: ; stringa di lunghezza 10 per il nome di un sottoprogramma

...

M17

PROC CICLO_SPECIALE (REAL VALORE1, INT VALORE2)Il ciclo dispone dei seguenti parametri di trasferimento:

VALORE1: ; valore REAL senza limitazione del campo dei valori e senza preimpostazione

VALORE2: ; valore intero senza limitazione del campo dei valori e senza preimpostazione

...

M17

%_N_UC_COM

;$PATH=/_N_CUS_DIR

//C25 (MIO_CICLO_1) Ciclo_utente_1

(R/-1000.001 123.456 / 100 /Parametro_2 del ciclo)

(I/0 999999 / 1 / Valore intero)

(C//"A" / Parametro carattere)

(S///Nome del sottoprogramma)

//C26 (CICLO_SPECIALE)

(R///Lunghezza totale)

(I/*123456/3/Tipo di elaborazione)

M17

Page 215: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.25 Tecnica dei sottoprogrammi

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 215

Maschera di visualizzazione per il ciclo MIO_CICLO_1

Maschera di visualizzazione per il ciclo CICLO_SPECIALE

Page 216: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.26 Tecnica delle macro (DEFINE ... AS)

Preparazione del lavoro216 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

1.26 Tecnica delle macro (DEFINE ... AS)

FunzioneCome macro si intende il raggruppamento di singole istruzioni in un'unica istruzione con un proprio nome. Anche le funzioni G, M, H oppure i nomi dei sottoprogrammi L possono essere creati come macro. Al richiamo della macro durante l'elaborazione del programma, le istruzioni programmate come nome della macro vengono eseguite in sequenza.

ApplicazioniSequenze di istruzioni che si ripetono possono essere programmate solo una volta come macro in un proprio blocco (file macro) oppure una sola volta all'inizio del programma. Questa macro può essere poi richiamata ed eseguita in qualunque programma principale o sottoprogramma.

AttivazionePer poter utilizzare le macro di un file macro nel programma NC, è necessario caricare il file macro nell'NC.

SintassiDefinizione macro:DEFINE <Nome macro> AS <Istruzione 1> <Istruzione 2> ...

Richiamo nel programma NC:<Nome macro>

Significato

CAUTELA

Con la tecnica macro si può modificare pesantemente il linguaggio di programmazione del controllo Utilizzare quindi la tecnica macro con accortezza!

DEFINE ... AS : Combinazione di parole chiave per la definizione di una macro<Nome macro>: Nome della macro

Come nomi di macro sono consentiti solo identificatori.Attraverso il nome della macro, la macro viene richiamata dal programma NC.

<Istruzione>: Istruzione di programmazione che deve essere contenuta nella macro.

Page 217: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile1.26 Tecnica delle macro (DEFINE ... AS)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 217

Regole per la definizione delle macro• Nella macro è possibile definire identificatori, funzioni G, M e H e programmi L a piacere.

• Le macro possono essere definite anche nel programma NC.

• Le macro delle funzioni G possono essere definite nel blocco solo a livello globale del controllo.

• Le funzioni H e L possono essere programmate a 2 cifre.

• Le funzioni M e G possono essere programmate a tre cifre.

Condizioni marginaliNon è possibile l'annidamento di macro.

EsempiEsempio 1: Definizione di macro all'inizio del programma

Esempio 2: Definizioni di macro in un file macro

CAUTELA

Le parole chiave e i nomi riservati non devono essere sovradefiniti con le macro.

Codice di programma Commento

DEFINE LINIE AS G1 G94 F300 ; Definizione macro

...

...

N70 LINIE X10 Y20 ; Richiamo macro

...

Codice di programma Commento

DEFINE M6 AS L6 ; Durante il cambio utensile viene richiamato un sottoprogramma che gestisce il trasferimento dei dati necessari. Nel sottoprogramma viene emessa la funzione M di cambio utensile vera e propria (ad es. M106).

DEFINE G81 AS DRILL(81) ; Riproduzione della funzione G DIN.

DEFINE G33 AS M333 G333 ; Durante la filettatura viene richiesta la sincronizzazione con il PLC. La funzione G originaria G33 è stata rinominata tramite dati macchina in G333, per l'utilizzatore la programmazione resta inalterata.

Page 218: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione NC flessibile 1.26 Tecnica delle macro (DEFINE ... AS)

Preparazione del lavoro218 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio 3: File macro esterno

Dopo la lettura del file macro esterno nel controllo, il file macro deve essere caricato nell'NC. Soltanto a questo punto è possibile utilizzare le macro nel programma NC.

Codice di programma Commento

%_N_UMAC_DEF

;$PATH=/_N_DEF_DIR ; Macro specifiche per il cliente

DEFINE PI AS 3.14

DEFINE TC1 AS M3 S1000

DEFINE M13 AS M3 M7 ; Mandrino a destra, refrigerante On

DEFINE M14 AS M4 M7 ; Mandrino a sinistra, refrigerante On

DEFINE M15 AS M5 M9 ; Arresto mandrino, refrigerante Off

DEFINE M6 AS L6 ; Richiamo del programma per il cambio utensile

DEFINE G80 AS MCALL ; Disattivazione del ciclo di foratura

M30

Page 219: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Preparazione del lavoroManuale di programmazione 02/2011, 6FC5398-2BP40-1CA0 219

2Gestione dei file e dei programmi

2.1 Memoria dei programmi

FunzioneNella memoria dei programmi i file e i dati (ad es. programmi principali e sottoprogrammi, definizioni macro) vengono salvati in modo persistente ( → system file passivi).

Bibliografia:Manuale di guida alle funzioni, Funzioni di ampliamento; Configurazione memoria (S7)

Esistono inoltre alcuni tipi di file che possono essere memorizzati e che, se necessario, devono essere trasferiti nella memoria di lavoro (es. nel caso dell'esecuzione di un determinato pezzo o per inizializzazione).

Page 220: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Gestione dei file e dei programmi 2.1 Memoria dei programmi

Preparazione del lavoro220 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Directory standardLe seguenti directory sono standard:

Tipi di fileNella memoria dei programmi possono essere inseriti i seguenti tipi di file:

Directory principale dei pezzi (_N_WKS_DIR) La directory principale dei pezzi è configurata nella memoria dei programmi sotto l'identificativo _N_WKS_DIR. La directory principale dei pezzi contiene le relative directory di tutti i pezzi programmati.

Directory Contenuto_N_DEF_DIR Blocchi dati e blocchi macro_N_CST_DIR Cicli standard_N_CMA_DIR Cicli costruttore_N_CUS_DIR Cicli utente_N_WKS_DIR Pezzi_N_SPF_DIR Sottoprogrammi globali_N_MPF_DIR Programmi principali_N_COM_DIR Commenti

Tipo di file Descrizionename_MPF Programma principalename_SPF Sottoprogrammaname_TEA Dati macchinaname_SEA Dati settingname_TOA Correzioni utensilename_UFR Spostamenti origine/Framename_INI File di inizializzazionename_GUD Dati utente globaliname_RPA Parametri Rname_COM Commentoname_DEF Definizioni per dati utente globali e macro

Page 221: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Gestione dei file e dei programmi2.1 Memoria dei programmi

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 221

Directory dei pezzi ( ..._WPD) Per una gestione più flessibile dei dati e dei programmi, è consigliabile raggruppare i dati e i programmi all'interno di un'unica directory.

La directory di un pezzo contiene tutti i file necessari per la lavorazione del pezzo stesso. I file contenuti possono essere programmi principali, sottoprogrammi, programmi di inizializzazione qualsiasi, e file di commento.

I programmi di inizializzazione vengono eseguiti una volta dopo la selezione del programma con il primo avvio del partprogram (in base al dato macchina MD11280 $MN_WPD_INI_MODE).

Esempio:

La directory dei pezzi _N_ALBERO_WPD, che è stata creata per il pezzo ALBERO, contiene i seguenti file:

Creazione di una directory pezzo su un PC esterno La procedura che segue viene eseguita su una stazione dati esterna. Per la gestione dei dati e dei programmi (dal PC al controllo numerico) direttamente a bordo del controllo numerico, consultare il manuale operativo.

Creazione directory pezzi con indicazione del percorso ($PATH=…)

Nella seconda riga di un file viene indicato il percorso di destinazione con $PATH=…. Il file viene quindi salvato nel percorso indicato.

Esempio:

Il file _N_ALBERO_MPF viene salvato nella directory /_N_WKS_DIR/_N_ALBERO_WPD.

File Descrizione_N_ALBERO_MPF Programma principale_N_PART2_MPF Programma principale_N_PART1_SPF Sottoprogramma_N_PART2_SPF Sottoprogramma_N_ALBERO_INI Programma generico di inizializzazione dei dati per il pezzo_N_ALBERO_SEA Programma di inizializzazione dei dati di setting_N_PART2_INI Programma generico di inizializzazione dei dati per il programma Part 2_N_PART2_UFR Programma di inizializzazione per dati di frame per il programma Part 2_N_ALBERO_COM File di commento

Codice di programma

%_N_ALBERO_MPF

;$PATH=/_N_WKS_DIR/_N_ALBERO_WPD

N10 G0 X… Z…

...

M2

Page 222: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Gestione dei file e dei programmi 2.1 Memoria dei programmi

Preparazione del lavoro222 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Creazione directory pezzi senza indicazione del percorso

Se manca l'indicazione del percorso, i file che terminano con _SPF vengono salvati nella directory /_N_SPF_DIR, quelli che terminano con _INI nella memoria di lavoro e tutti i restanti file nella directory /_N_MPF_DIR.

Esempio:

Il file _N_ALBERO_SPF viene salvato nella directory /_N_SPF_DIR.

Selezione di un pezzo per la lavorazioneUna directory del pezzo può essere selezionata per l'elaborazione in un determinato canale. Se in questa directory è presente un programma principale con nome uguale oppure soltanto un unico programma principale (_MPF), questo viene selezionato automaticamente per l'elaborazione.

Bibliografia:/BAD/ Manuale d'uso HMI Advanced; Capitolo "Joblist" nonché "Selezione di un programma per l'elaborazione"

Percorso di ricerca per il richiamo di un sottoprogrammaSe per il richiamo di un sottoprogramma (o file di inizializzazione) da un partprogram non si indica il percorso di richiamo, il programma richiamato verrà cercato in base ad un percorso prestabilito.

Richiamo sottoprogramma con indicazione del percorso assoluto

Esempio:

Richiamo sottoprogramma senza indicazione del percorso assoluto

Di solito i programmi vengono richiamati senza indicazione del percorso.

Esempio:

Codice di programma

%_N_ALBERO_SPF

...

M17

Codice di programma

...

CALL"/_N_CST_DIR/_N_CYCLE1_SPF"

...

Codice di programma

...

CYCLE1

...

Page 223: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Gestione dei file e dei programmi2.1 Memoria dei programmi

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 223

In base al programma richiamato, la ricerca nelle directory viene effettuata con la successione seguente:

Programmazione del percorso di ricerca per il richiamo di sottoprogrammi (CALLPATH) Il percorso di ricerca per il richiamo di un sottoprogramma può essere ampliato con il comando partprogram CALLPATH.

Esempio:

Il percorso di ricerca viene definito a partire dalla 5. posizione (ciclo utente) in funzione della programmazione indicata.

Per ulteriori informazioni sul percorso di ricerca programmabile per i richiami di sottoprogrammi con CALLPATH, vedere Capitolo "Estensione del percorso di ricerca nei richiami di sottoprogrammi con CALLPATH".

N. Directory Descrizione1 directory attuale / nome Directory principale dei pezzi senza directory

standard _N_MPF_DIR2 directory attuale / nome_SPF3 directory attuale / nome_MPF4 /_N_SPF_DIR / nome_SPF Sottoprogrammi globali5 /_N_CUS_DIR / nome_SPF Cicli utente6 /_N_CMA_DIR / nome_SPF Cicli costruttore7 /_N_CST_DIR / nome_SPF Cicli standard

Codice di programma

CALLPATH ("/_N_WKS_DIR/_N_MYWPD_WPD-")

...

Page 224: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Gestione dei file e dei programmi 2.2 Memoria di lavoro (CHANDATA, COMPLETE, INITIAL)

Preparazione del lavoro224 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

2.2 Memoria di lavoro (CHANDATA, COMPLETE, INITIAL)

FunzioneLa memoria di lavoro contiene i dati di sistema e i dati utente correnti con i quali funziona il controllo (file system attivo), ad es.:

• Dati macchina attivi

• Dati di correzione utensile

• Spostamenti origine

• ...

Programmi di inizializzazioneIn questo caso si tratta di programmi tramite i quali vengono preimpostati i dati della memoria di lavoro (inizializzazione). A questo scopo possono essere utilizzati i seguenti tipi di file.

Per informazioni su tutti i tipi di file si rimanda al Manuale d'uso della superficie operativa.

Settori datiI dati possono essere suddivisi in diversi settori, nei quali devono avere validità. Un controllore può disporre ad esempio di più canali o anche di più assi.

Ci sono:

Tipo di file Descrizionename_TEA Dati macchinaname_SEA Dati settingname_TOA Correzioni utensilename_UFR Spostamenti origine/Framename_INI File di inizializzazionename_GUD Dati utente globaliname_RPA Parametri R

Codice Aree datiNCK Dati specifici NCKCH<n> Dati specifici per canale (<n> indica il numero di canale)AX<n> Dati specifici per asse (<n> indica il numero di asse macchina)TO Dati dell'utensileCOMPLETE Tutti i dati

Page 225: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Gestione dei file e dei programmi2.2 Memoria di lavoro (CHANDATA, COMPLETE, INITIAL)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 225

Creazione di un programma di inizializzazione sul PC esternoCon l'aiuto della codifica delle aree dati e del tipo di dati, è possibile definire l'area da considerare come unità al momento del salvataggio dei dati:

Dopo la messa in servizio del controllo numerico, nella memoria di lavoro si trova un set di dati che garantisce il corretto funzionamento dello stesso.

Procedura per controlli multicanale (CHANDATA)CHANDATA(<numero_canale>) per più canali è consentito solo nel file _N_INITIAL_INI. Si tratta del file per la messa in servizio, con il quale vengono inizializzati tutti i dati del controllo.

_N_AX5_TEA_INI Dati macchina per l'asse 5_N_CH2_UFR_INI Frame del canale 2_N_COMPLETE_TEA_INI Tutti i dati macchina

Codice di programma Commento

%_N_INITIAL_INI

CHANDATA(1)

; Assegnazione dell'asse macchina canale 1:

$MC_AXCONF_MACHAX_USED[0]=1

$MC_AXCONF_MACHAX_USED[1]=2

$MC_AXCONF_MACHAX_USED[2]=3

CHANDATA(2)

; Assegnazione dell'asse macchina canale 2:

$MC_AXCONF_MACHAX_USED[0]=4

$MC_AXCONF_MACHAX_USED[1]=5

CHANDATA(1)

; Dati macchina assiali:

; Finestra di arresto preciso grossolano:

$MA_STOP_LIMIT_COARSE[AX1]=0.2 ; Asse 1

$MA_STOP_LIMIT_COARSE[AX2]=0.2 ; Asse 2

; Finestra di arresto preciso fine:

$MA_STOP_LIMIT_FINE[AX1]=0.01 ; Asse 1

$MA_STOP_LIMIT_FINE[AX1]=0.01 ; Asse 2

CAUTELA

Istruzione CHANDATANel partprogram, l'istruzione CHANDATA può essere impostata solo per il canale sul quale viene elaborato il programma NC, ossia l'istruzione può essere utilizzata per proteggere programmi NC dall'esecuzione su un canale non previsto.

In caso di errore, l'elaborazione viene interrotta.

NotaI file INI nelle liste di job non contengono istruzioni CHANDATA.

Page 226: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Gestione dei file e dei programmi 2.2 Memoria di lavoro (CHANDATA, COMPLETE, INITIAL)

Preparazione del lavoro226 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Salvataggio di programmi di inizializzazione (COMPLETE, INITIAL)I file della memoria di lavoro possono essere salvati su un PC esterno, dal quale poi possono essere nuovamente letti.

• I file vengono salvati con COMPLETE.

• Con INITIAL viene generato per tutti i settori un file INI (_N_INITIAL_INI).

Lettura di programmi di inizializzazione

Per la lettura di singoli dati macchina è disponibile ad esempio il file COMPLETE_TEA_INI. In questo file, il controllo si aspetta solo dati macchina. Gli altri settori di dati non vengono quindi in questo caso riguardati.

Caricamento di programmi di inizializzazioneI programmi INI possono anche essere selezionati e richiamati come partprogram se utilizzano soltanto i dati di un canale. È quindi anche possibile inizializzare dati controllati tramite programma.

ATTENZIONESe il file viene letto con il nome "INITIAL_INI", tutti i dati non forniti nel file vengono inizializzati con dati standard. Fanno eccezione soltanto i dati macchina. Vengono quindi forniti di dati standard (normalmente "ZERO") i dati di setting, dati utensile, SO, valori GUD, ....

Page 227: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Gestione dei file e dei programmi2.3 Istruzione di strutturazione nell'editor Step (SEFORM)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 227

2.3 Istruzione di strutturazione nell'editor Step (SEFORM)

FunzioniL'istruzione di strutturazione SEFORM viene analizzata nell'editor Step (supporto alla programmazione basato sull'editor), per generare da questo la visualizzazione dei passi per HMI Advanced. La visualizzazione dei passi è funzionale a una migliore leggibilità del sottoprogramma NC.

SintassiSEFORM(<Nome della sezione>,<Piano>,<Icona>)

Significato

BibliografiaPer ulteriori informazioni sul supporto alla programmazione basato sull'editor ved.:Manuale d'uso HMI Advanced

SEFORM() Richiamo della funzione dell'istruzione di strutturazione con i parametri <Nome della sezione>, <Piano> e <Icona>

<Nome della sezione>

Identificatore del passo di lavoroTipo: STRING

<Piano> Indice per il piano principale e subordinatoTipo: INTValore: 0 Piano principale

1, ..., <n> Piano subordinato 1, ... , piano subordinato <n>

<Icona> Nome dell'icona da visualizzare per questo passo di lavorazione.Tipo: STRING

NotaLe istruzioni SEFORM vengono create nell'editor Step.

La sequenza di caratteri trasmessa tramite il parametro <Nome della sezione> viene creata nella variabile BTSS analogamente all'istruzione MSG in maniera sincrona all'elaborazione principale. L'informazione viene mantenuta fino alla sovrascrittura dell'istruzione SEFORM successiva. Con Reset e alla fine del partprogram il contenuto viene cancellato.

I parametri <Piano> e <Icona> vengono verificati dall'NCK durante l'esecuzione del partprogram, ma non ulteriormente elaborati.

Page 228: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Gestione dei file e dei programmi 2.3 Istruzione di strutturazione nell'editor Step (SEFORM)

Preparazione del lavoro228 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Page 229: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Preparazione del lavoroManuale di programmazione 02/2011, 6FC5398-2BP40-1CA0 229

3Settori di protezioni

3.1 Definizione dei settori di protezione (CPROTDEF, NPROTDEF)

Funzione Con l'ausilio dei settori di protezione si possono proteggere i diversi elementi di una macchina da movimenti indesiderati, dall'attrezzatura al pezzo.

Settori di protezione riferiti all'utensile:

per elementi che appartengono all'utensile (ad es. utensile, portautensile).

Settori di protezione riferiti all'utensile:

per elementi che appartengono al pezzo (ad es. parti del pezzo, tavola portapezzo, griffe di bloccaggio, autocentrante, contropunta).

Sintassi

DEF INT NOT_USED

G17/G18/G19

CPROTDEF/NPROTDEF(<n>,<t>,<applim>,<applus>,<appminus>)

G0/G1/... X/Y/Z...

...

EXECUTE(NOT_USED)

Page 230: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Settori di protezioni 3.1 Definizione dei settori di protezione (CPROTDEF, NPROTDEF)

Preparazione del lavoro230 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Significato

DEF INT NOT_USED: Variabile locale, definire il tipo di dati INTEGER(cfr. il capitolo "Azioni sincrone al movimento [Pagina 559]")

G17/G18/G19: Il piano desiderato viene selezionato prima di CPROTDEF o NPROTDEF con G17/G18/G19 e non può essere modificato prima di EXECUTE . Non è consentita una programmazione delle applicate tra CPROTDEF o NPROTDEF e EXECUTE.

CPROTDEF: Definizione dei settori di protezione specifici per canale (solo per NCU 572/573)

NPROTDEF: Definizione dei settori di protezione specifici della macchinaG0/G1/... X/Y/Z...

... :Il profilo dei settori di protezione viene impostato con al massimo 11 movimenti nel piano indicato. In questo caso, il primo movimento è quello sul profilo. Come settore di protezione viene considerato quindi quello alla sinistra del profilo.Nota:I movimenti situati tra CPROTDEF o NPROTDEF e EXECUTE non vengono eseguiti ma servono a definire il settore di protezione.

EXECUTE: Terminare la definizione<n>: Numero del settore di protezione definito<t>: Tipo di settore di protezione

TRUE: settore di protezione riferito all'utensileFALSE: settore di protezione riferito al pezzo

<applim>: Tipo della limitazione nella 3. dimensione 0: nessuna limitazione1: limitazione in direzione positiva2: limitazione in direzione negativa3: limitazione in direzione positiva e negativa

<applus>: Valore della limitazione in direzione positiva della 3. dimensione

<appminus>: Valore della limitazione in direzione negativa della 3a dimensione

NOT_USED: La variabile di errore non ha effetto per i settori di protezione con EXECUTE

Page 231: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Settori di protezioni3.1 Definizione dei settori di protezione (CPROTDEF, NPROTDEF)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 231

Condizioni marginaliDurante la definizione dei settori di protezione:

• non possono essere attive le correzioni del raggio fresa o raggio utensile,

• non vi possono essere trasformazioni attive,

• non vi possono essere frame attivi.

Inoltre non si possono programmare la ricerca del punto di riferimento (G74), l'accostamento a un punto fisso (G75), l'arresto di precodifica o la fine del programma.

Ulteriori informazioniDefinizione dei settori di protezione

Fanno parte della definizione dei settori di protezione:

• CPROTDEF per settori di protezione specifici per canale

• NPROTDEF per settori di protezione specifici per la macchina

• Descrizione del profilo del settore di protezione

• Fine della definizione con EXECUTE

Attivando il settore di protezione nel partprogram NC, si può spostare il punto di riferimento in modo relativo.

Punto di riferimento della descrizione del profilo

I settori di protezione riferiti al pezzo vengono definiti nel sistema di coordinate di base.

I settori di protezione riferiti all’utensile vengono indicati rispetto al punto di riferimento F del portautensile.

Elementi del profilo consentiti

Per la descrizione del profilo del settore di protezione sono ammessi:

• G0, G1 per elementi di profilo rettilinei

• G2 per tratti circolari in senso orario (solo per settori di protezione riferiti al pezzo)

• G3 per tratti circolari in senso antiorario

NotaSe il settore di protezione deve descrivere un cerchio completo, è necessario suddividerlo in due semicerchi. La sequenza G2, G3 o G3, G2 non è consentita. Eventualmente occorre inserire un breve blocco con G1.

L'ultimo punto della descrizione del profilo deve coincidere con il primo punto.

Page 232: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Settori di protezioni 3.1 Definizione dei settori di protezione (CPROTDEF, NPROTDEF)

Preparazione del lavoro232 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Settori di protezione esterni

I settori di protezione esterni (possibile solo per settori di protezione riferiti al pezzo) devono essere definiti in senso orario.

Settori di protezione simmetrici alla rotazione

Con i settori di protezione simmetrici alla rotazione (ad es. un autocentrante) si deve descrivere il profilo globale (non solo fino al centro di rotazione).

Settori di protezione riferiti all'utensile

I settori di protezione riferiti all’utensile devono essere sempre convessi. Nel caso sia necessario un settore di protezione concavo, esso deve essere realizzato con più settori convessi.

Page 233: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Settori di protezioni3.2 Attivazione/disattivazione dei settori di protezione (CPROT, NPROT)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 233

3.2 Attivazione/disattivazione dei settori di protezione (CPROT, NPROT)

FunzioneAttivazione dei settori di protezione precedentemente definiti per la sorveglianza anticollisione, preattivazione o disattivazione dei settori di protezione attivi.

Il numero massimo dei settori di protezione attivi in un canale viene impostato tramite i dati macchina.

Se non è attivo alcun settore di protezione riferito all’utensile, il percorso dell’utensile viene verificato rispetto al settore di protezione riferito al pezzo.

SintassiCPROT(<n>,<state>,<xMov>,<yMov>,<zMov>)NPROT(<n>,<state>,<xMov>,<yMov>,<zMov>)

Significato

Condizioni marginaliSorveglianza del settore di protezione a correzione raggio utensile attiva

Con la correzione del raggio utensile attiva, una sorveglianza funzionale del settore di protezione è possibile solo se il livello della correzione raggio utensile è identico a quello delle definizioni del settore di protezione.

NotaSe non è attivo alcun settore di protezione riferito al pezzo, non avviene alcuna sorveglianza del settore di protezione.

CPROT: Richiamo dei settori di protezione specifici per canale (solo per NCU 572/573)

NPROT: Richiamo del settore di protezione specifico per la macchina

<n>: Numero del settore di protezione<state>: Indicazione dello stato

0: disattivare il settore di protezione1: preattivare il settore di protezione2: attivare il settore di protezione3: preattivare il settore di protezione con Stop

condizionato<xMov>,<yMov>,<zMov>: Traslazione lungo gli assi geometrici del settore di

protezione già definito

Page 234: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Settori di protezioni 3.2 Attivazione/disattivazione dei settori di protezione (CPROT, NPROT)

Preparazione del lavoro234 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

EsempioIn una fresatrice deve essere sorvegliata una possibile collisione della fresa con il tastatore di misura. La posizione del tastatore di misura deve essere impostata all’attivazione con una traslazione. Per questo motivo vengono definiti i seguenti settori di protezione:

• un settore di protezione specifico per la macchina e riferito al pezzo per il porta tastatore di misura (n-SB1) e per il tastatore di misura stesso (n-SB2).

• un settore di protezione specifico per il canale e riferito all’utensile per il porta fresa (c-SB1), per il codolo (c-SB2) e per la fresa stessa (c-SB3).

L'orientamento di tutti i settori di protezione avviene in direzione di Z.

La posizione del punto di riferimento del tastatore di misura all'attivazione deve trovarsi in X = -120, Y = 60 e Z = 80.

Codice di programma Commento

DEF INT SCHUTZB ; Definizione di una variabile ausiliaria

Definizione dei settori di protezione G17 ; Impostazione dell’orientamento

NPROTDEF(1,FALSE,3,10,–10)G01 X0 Y–10X40Y10X0Y–10EXECUTE(SCHUTZB)

; Settore di protezione n-SB1

NPROTDEF(2,FALSE,3,5,–5)G01 X40 Y–5X70Y5X40Y–5EXECUTE(SCHUTZB)

; Settore di protezione n-SB2

Page 235: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Settori di protezioni3.2 Attivazione/disattivazione dei settori di protezione (CPROT, NPROT)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 235

Ulteriori informazioniStato di attivazione (<state>)

• <state>=2

Un settore di protezione normalmente viene attivato nel partprogram con lo stato = 2.

Lo stato è sempre specifico per canale anche per i settori di protezione riferiti alla macchina.

• <state>=1

Se è previsto che un settore di protezione debba essere attivato dal programma PLC utente, la relativa preattivazione necessaria avviene con lo stato = 1.

• <state>=3

Nella preattivazione con stop condizionato non si verifica necessariamente un arresto prima di un settore di protezione violato e preattivato. Lo stop avviene solo se il settore di protezione è stato attivato. Ciò consente di non interrompere la lavorazione quando i settori di protezione vengono attivati solo in casi speciali. Occorre considerare che a seguito della rampa di frenatura in certi casi può essere raggiunto un settore di protezione, se quest'ultimo è stato attivato subito prima del raggiungimento della posizione.

La preattivazione con stop condizionato avviene tramite lo stato = 3.

CPROTDEF(1,TRUE,3,0,–100)G01 X–20 Y–20X20Y20X–20Y–20EXECUTE(SCHUTZB)

; Settore di protezione c-SB1

CPROTDEF(2,TRUE,3,–100,–150)G01 X0 Y–10G03 X0 Y10 J10X0 Y–10 J–10EXECUTE(SCHUTZB)

; Settore di protezione c-SB2

CPROTDEF(3,TRUE,3,–150,–170)G01 X0 Y–27,5G03 X0 Y27,5 J27,5X0 Y27,5 J–27,5EXECUTE(SCHUTZB)

; Settore di protezione c-SB3

Attivazione dei settori di protezione:

NPROT(1,2,–120,60,80) ; Attivazione del settore di protezione n-SB1 con traslazione

NPROT(2,2,–120,60,80) ; Attivazione del settore di protezione n-SB2 con traslazione

CPROT(1,2,0,0,0) ; Attivazione del settore di protezione c-SB1 con traslazione

CPROT(2,2,0,0,0) ; Attivazione del settore di protezione c-SB2 con traslazione

CPROT(3,2,0,0,0) ; Attivazione del settore di protezione c-SB3 con traslazione

Codice di programma Commento

Page 236: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Settori di protezioni 3.2 Attivazione/disattivazione dei settori di protezione (CPROT, NPROT)

Preparazione del lavoro236 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

• <state>=0

La disattivazione, e conseguentemente l'esclusione dei settori di protezione, avviene con lo stato = 0. Non è necessaria alcuna traslazione.

Traslazione dei settori di protezione durante l'attivazione/preattivazione

La traslazione può avvenire in 1, 2 o 3 dimensioni. L’impostazione della traslazione si riferisce al:

• punto zero macchina per i settori di protezione specifici del pezzo,

• punto di riferimento F del portautensile per i settori di protezione specifici dell’utensile.

Stato dopo l'avviamento

I settori di protezione si possono attivare già dopo aver eseguito l’avviamento e la ricerca del punto di riferimento. Per questo motivo le variabili di sistema $SN_PA_ACTIV_IMMED [<n>] o $SN_PA_ACTIV_IMMED[<n>] si devono impostare = TRUE. Esse vengono subito impostate con lo stato = 2 e non hanno alcuna traslazione.

Attivazione multipla dei settori di protezione

Un settore di protezione può essere attivo contemporaneamente anche in diversi canali (ad es. contropunta di due slitte contrapposte). La sorveglianza dei settori di protezione avviene solo quando tutti gli assi geometrici sono stati riferiti.

In questo caso vale quanto segue:

• il settore di protezione non può essere attivato nello stesso canale contemporaneamente con diverse traslazioni.

• il settori di protezione riferiti alla macchina devono avere lo stesso orientamento in entrambi i canali.

Page 237: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Settori di protezioni3.3 Verifica del superamento del settore di protezione, limitazione del campo di lavoro e finecorsa software

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 237

3.3 Verifica del superamento del settore di protezione, limitazione del campo di lavoro e finecorsa software (CALCPOSI)

FunzioniLa funzione CALCPOSI serve a verificare se, a partire da un determinato punto iniziale, gli assi geometrici possono eseguire un percorso impostato senza che vengano superati i limiti degli assi stessi (limiti software), le limitazioni del campo di lavoro o i settori di protezione.

Se il percorso impostato non può essere eseguito, viene restituito il valore massimo consentito.

La funzione CALCPOSI è un sottoprogramma predefinito. Essa deve essere programmata in un blocco a sè stante.

SintassiStato=CALCPOSI(_STARTPOS, _MOVDIST, _DLIMIT, _MAXDIST, _BASE_SYS, _TESTLIM)

Significato

Stato 0: Funzione corretta, il percorso indicato può essere interamente eseguito. –: In _DLIMIT almeno un componente è negativo –: In un calcolo di trasformazione si è verificato un erroreSe non è possibile eseguire interamente il percorso impostato, viene restituito un valore positivo, con codifica decimale:Posizione delle unità (tipo di limite superato): 1: I limiti software circoscrivono il tratto di percorso. 2: La limitazione del campo di lavoro circoscrive il tratto di percorso. 3: I settori di protezione circoscrivono il tratto di percorso.Se vengono superati contemporaneamente più limiti (ad es. limiti software e settori di protezione), nella posizione delle unità viene segnalato il limite che porta alla limitazione più restrittiva del tratto di percorso impostato.Posizione delle decine10: Il valore iniziale supera il limite20: La retta impostata supera il limite. Questo valore viene restituito anche se lo stesso punto finale non supera i limiti, tuttavia potrebbe verificarsi il superamento di un valore limite durante il percorso dal punto iniziale a quello finale (ad es. attraversamento di un settore di protezione, limiti software curvi nel sistema di coordinate pezzo (SCP) in presenza di trasformazioni non lineari, ad es. Transmit).

Page 238: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Settori di protezioni 3.3 Verifica del superamento del settore di protezione, limitazione del campo di lavoro e finecorsa software

Preparazione del lavoro238 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Posizione delle centinaia100: Il valore limite positivo è superato (solo se la posizione delle unità è 1 o 2, ossia con limiti software e limitazione del campo di lavoro)100: Un settore di protezione dell'NCK è stato superato (solo se la posizione delle unità è 3).200: Il valore limite negativo è superato (solo se la posizione delle unità è 1 o 2, ossia con limiti software e limitazione del campo di lavoro)200:Un settore di protezione specifico per il canale è stato superato (solo se la posizione delle unità è 3).Posizione delle migliaia1000: Fattore con il quale viene moltiplicato il numero degli assi che superano il limite (solo se la posizione delle unità è 1 o 2, ossia con limiti software e limitazione del campo di lavoro).Il conteggio degli assi inizia da 1 e si riferisce, in caso di superamento dei limiti software (posizione delle unità = 1) agli assi macchina e in caso di superamento della limitazione del campo di lavoro (posizione delle unità = 2) agli assi geometrici.1000:Fattore con il quale viene moltiplicato il numero dei settori di protezione superati (solo se la posizione delle unità è 3).Se vengono superati più settori di protezione, nelle posizioni delle centinaia e delle migliaia viene segnalato il settore di protezione che provoca la limitazione maggiore del tratto di spostamento impostato.

_STARTPOS Valore iniziale per ascisse [0], ordinate [1] e applicate [2] nel sistema di coordinate pezzo (SCP)

_MOVEDIST Impostazione incrementale del percorso per ascisse [0], ordinate [1] e applicate [2]

_DLIMIT [0] - [2]: Distanze minime assegnate agli assi geometrici.[3]: Distanza minima assegnata a un asse macchina lineare in caso di trasformazione non lineare, se non è possibile assegnare in modo univoco l'asse geometrico.[4]: Distanza minima assegnata a un asse macchina rotante in caso di trasformazione non lineare, se non è possibile assegnare in modo univoco l'asse geometrico. Solo per trasformazioni speciali, se vanno monitorati i limiti software.

Page 239: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Settori di protezioni3.3 Verifica del superamento del settore di protezione, limitazione del campo di lavoro e finecorsa software

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 239

EsempioNell'esempio (ved. figura) sono indicati nell'asse X i limiti software e le limitazioni del campo di lavoro. Sono inoltre definiti tre settori di protezione, i due settori di protezione C2 e C4 specifici per il canale nonché il settore di protezione dell'NCK N3. C2 è un settore di protezione circolare attivo, riferito all'utensile, con 2 mm di raggio. C4 è un settore di protezione quadrato, preattivato e riferito al pezzo, con lunghezza laterale di 10 mm, mentre N3 è un settore di protezione rettangolare attivo con lunghezza laterale di 10 mm o 15 mm. Nel seguente NC vengono definiti in forma di schizzo in primo luogo i settori di protezione e le limitazioni del campo di lavoro, quindi viene richiamata la funzione CALCPOSI con diverse

_MAXDIST Campo [0] - [2] per valore di ritorno. Percorso incrementale in tutti i tre assi geometrici, senza che venga superata in negativo negli assi macchina coinvolti la distanza minima impostata per un limite asse.Se il tratto di percorso non è limitato, il contenuto di questo parametro di ritorno è identico al contenuto di _MOVDIST.

_BASE_SYS FALSE oppure parametro non indicato:Durante l'analisi dei valori di posizione e lunghezza, viene valutato il codice G del gruppo 13 (G70, G71, G700, G710; inch/metrico). Con G70 attivo e sistema di base metrico (oppure con G71 attivo e inch), le variabili di sistema del sistema di coordinate pezzo $AA_IW[X] e $AA_MW[X]) vengono fornite nel sistema di base e devono eventualmente essere convertite per l'utilizzo attraverso la funzione CALCPOSI.TRUE:Durante l'analisi dei valori di posizione e lunghezza viene sempre utilizzato il sistema di base del controllo, indipendentemente dal valore di G attivo del gruppo 13.

_TESTLIM Limitazioni da verificare (codifica binaria):1: Monitoraggio limiti software2: Monitoraggio limitazioni del campo di lavoro3: Monitoraggio settori di protezione attivati4: Monitoraggio settori di protezione preattivatiCombinazioni attraverso addizione dei valori. Default: 15; verificare tutti.

Page 240: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Settori di protezioni 3.3 Verifica del superamento del settore di protezione, limitazione del campo di lavoro e finecorsa software

Preparazione del lavoro240 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

parametrizzazioni. I risultati dei singoli richiami di CALCPOSI sono riassunti nella tabella riportata in calce all'esempio.

Codice di programma Commento

N10 def real _STARTPOS[3]

N20 def real _MOVDIST[3]

N30 def real _DLIMIT[5]

N40 def real _MAXDIST[3]

N50 def int _SB

N60 def int _STATUS

N70 cprotdef(2, true, 0)

N80 g17 g1 x–y0

N90 g3 i2 x2

N100 i–x–

N110 execute(_SB)

; Settore di protezione riferito all'utensile

Page 241: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Settori di protezioni3.3 Verifica del superamento del settore di protezione, limitazione del campo di lavoro e finecorsa software

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 241

N120 cprotdef(4, false, 0)

N130 g17 g1 x0 y15

N140 x10

N150 y25

N160 x0

N170 y15

N180 execute(_SB)

; Settore di protezione riferito al pezzo

N190 nprotdef(3, false, 0)

N200 g17 g1 x10 y5

N210 x25

N220 y15

N230 x10

N240 y5

N250 execute(_SB)

; Settore di protezione riferito alla macchina

N260 cprot(2,2,0, 0, 0)

N270 cprot(4,1,0, 0, 0)

N280 nprot(3,2,0, 0, 0)

; Attivazione o preattivazione deisettori di protezione

N290 g25 XX=–YY=–

N300 g26 xx= 20 yy= 21

N310 _STARTPOS[0] = 0.

N320 _STARTPOS[1] = 0.

N330 _STARTPOS[2] = 0.

; Definizione delle limitazioni del campo di lavoro

N340 _MOVDIST[0] = 35.

N350 _MOVDIST[1] = 20.

N360 _MOVDIST[2] = 0.

N370 _DLIMIT[0] = 0.

N380 _DLIMIT[1] = 0.

N390 _DLIMIT[2] = 0.

N400 _DLIMIT[3] = 0.

N410 _DLIMIT[4] = 0.

;Diversi richiami delle funzioni

N420 _STATUS = calcposi(_STARTPOS,_MOVDIST, _DLIMIT, _MAXDIST)

N430 _STATUS = calcposi(_STARTPOS,_MOVDIST, _DLIMIT, _MAXDIST,,3)

N440 _STATUS = calcposi(_STARTPOS,_MOVDIST, _DLIMIT, _MAXDIST,,1)

; Altro punto di partenza

N450 _STARTPOS[0] = 5.

N460 _STARTPOS[1] = 17.

N470 _STARTPOS[2] = 0.

; Altra destinazione

Codice di programma Commento

Page 242: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Settori di protezioni 3.3 Verifica del superamento del settore di protezione, limitazione del campo di lavoro e finecorsa software

Preparazione del lavoro242 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

N480 _MOVDIST[0] = 0.

N490 _MOVDIST[1] =–.

N500 _MOVDIST[2] = 0.

;Diversi richiami delle funzioni

N510 _STATUS = calcposi(_STARTPOS,_MOVDIST, _DLIMIT, _MAXDIST,,14)

N520 _STATUS = calcposi(_STARTPOS,_MOVDIST, _DLIMIT, _MAXDIST,, 6)

N530 _DLIMIT[1] = 2.

N540 _STATUS = calcposi(_STARTPOS,_MOVDIST, _DLIMIT, _MAXDIST,, 6)

N550 _STARTPOS[0] = 27.

N550 _STARTPOS[1] = 17,1.

N330 _STARTPOS[2] = 0.

N580 _MOVDIST[0] =–.

N590 _MOVDIST[1] = 0.

N600 _MOVDIST[2] = 0.

N610 _DLIMIT[3] = 2.

N620 _STATUS = calcposi(_STARTPOS,_MOVDIST, _DLIMIT, _MAXDIST,, 12)

N630 _STARTPOS[0] = 0.

N640 _STARTPOS[1] = 0.

N650 _STARTPOS[2] = 0.

N660 _MOVDIST[0] = 0.

N670 _MOVDIST[1] = 30.

N680 _MOVDIST[2] = 0.

N690 trans x10

N700 arot z45

N710 _STATUS = calcposi(_STARTPOS,_MOVDIST, _DLIMIT, _MAXDIST)

N720 M30

Codice di programma Commento

Page 243: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Settori di protezioni3.3 Verifica del superamento del settore di protezione, limitazione del campo di lavoro e finecorsa software

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 243

Risultati delle verifiche nell'esempio:

Casi speciali ed ulteriori dettagliTutte le impostazioni del percorso si intendono in quote radiali, anche per assi radiali con codice G “DIAMON” attivo. Se il percorso di uno degli assi interessati non può essere eseguito completamente, nel valore restituito _MAXDIST vengono ridotti proporzionalmente anche i percorsi degli altri assi in modo che il punto finale risultante si trovi sulla traiettoria impostata.

È consentito che per uno o più degli assi interessati non vengano definiti limiti software, limitazioni del campo di lavoro oppure settori di protezione. I limiti vengono solo verificati quando i relativi assi hanno eseguito la ricerca del punto di riferimento. Se gli stessi non sono stati dichiarati come assi modulo.

Le sorveglianze dei limiti software e delle limitazioni dei campi di lavoro dipendono, come durante il normale funzionamento, dalle impostazioni attive (segnali di interfaccia per la selezione dei limiti software 1 o 2, codice G WALIMON / WALIMOF, dati setting per l’attivazione individuale delle limitazioni dei campi di lavoro e per determinare se nella sorveglianza dei campi di lavoro deve essere o meno considerato il raggio dell’utensile attivo).

N. blocco N...

_STATUS _MAXDIST[0] (= X)

_MAXDIST[1] (= Y)

Note

420 3123 8.040 4.594 Il settore di protezione SB N3 viene superato.

430 1122 20.000 11.429 Monitoraggio del settore di protezione assente, la limitazione del campo di lavoro viene superata.

440 1121 30.000 17.143 Soltanto il monitoraggio dei limiti software è ancora attivo.

510 4213 0.000 0.000 Il punto di partenza supera il settore di protezione C4

520 0000 0.000 –.000 Il settore di protezione preattivato C4 non viene monitorato. Il percorso impostato può essere eseguito completamente.

540 2222 0.000 –.000 A causa di _DLIMIT[1]=2, il tratto di percorso viene limitato attraverso la limitazione del campo di lavoro.

620 4223 –.000 0.000 La distanza da C4 dovuta a C2 e _DLIMIT[3] corrisponde in totale a 4 mm. La distanza C2 -N3 di 0,1 mm non provoca la limitazione del tratto di percorso.

710 1221 0.000 21.213 Frame con traslazione e rotazione attiva. Il tratto di percorso consentito in _MOVDIST è valido nel sistema di coordinate traslato e ruotato (SCP).

Page 244: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Settori di protezioni 3.3 Verifica del superamento del settore di protezione, limitazione del campo di lavoro e finecorsa software

Preparazione del lavoro244 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Con determinate trasformazioni cinematiche (ad es. TRANSMIT) non è possibile determinare in modo univoco la posizione degli assi macchina dalle posizioni del sistema di coordinate pezzo SCP (ambiguità). Durante il normale funzionamento, l’univocità deriva normalmente dall’antefatto e dalla condizione che, un movimento continuo nel SCP deve corrispondere ad un movimento degli assi macchina. Nella sorveglianza dei limiti software con l’ausilio della funzione CALCPOSI, per ovviare all’ambiguità in questi casi viene utilizzata perciò la posizione attuale degli assi macchina. Eventualmente prima di CALCPOSI deve essere programmato uno STOPRE per poter utilizzare la funzione con posizioni degli assi macchina valide.

Durante il movimento nel percorso impostato, dai settori di protezione non viene assicurato il mantenimento della distanza specificata in _DLIMIT[3]. Per questo al prolungamento del punto finale restituito in _MOVDIST, nessun settore di protezione viene superato di questa distanza. La retta però, nel suo andamento, può passare senza limitazioni davanti ad un settore di protezione.

NotaPer maggiori informazioni sulle limitazioni del campo di lavoro vedere /PG/ Manuale di programmazione, Concetti fondamentali,

sui limiti software vedere /FB1/ Manuale delle funzioni di base; Sorveglianze assi, Settori di protezione (A3).

Page 245: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Preparazione del lavoroManuale di programmazione 02/2011, 6FC5398-2BP40-1CA0 245

4Istruzioni di percorso speciali

4.1 Raggiungimento di posizioni codificate (CAC, CIC, CDC, CACP, CACN)

FunzioniAttraverso i seguenti comandi è possibile spostare mediante numeri di posizione gli assi lineari e rotanti sulle posizioni dell'asse fisse definite nelle tabelle dei dati macchina. Questo tipo di programmazione viene definito "Spostamento di posizioni codificate".

SintassiCAC(<n>)CIC(<n>)CACP(<n>)

CACN(<n>)

Significato

Esempio: Spostamento di posizioni codificate di un asse di posizionamento

Bibliografia• Manuale di guida alle funzioni, Funzioni di ampliamento; Assi divisori (T1)

• Manuale di guida alle funzioni, Azioni sincrone

CAC(<n>) Spostamento della posizione codificata dal numero di posizione nCIC(<n>) Spostamento della posizione codificata, partendo dal numero di

posizione corrente, di n posti in avanti (+n) o all'indietro (-n)CDC(<n>) Spostamento della posizione codificata dal numero di posizione n

secondo il percorso più breve (solo per assi rotanti)

CACP(<n>) Spostamento della posizione codificata dal numero di posizione n in direzione positiva (solo per assi rotanti)

CACN(<n>) Spostamento della posizione codificata dal numero di posizione n in direzione negativa (solo per assi rotanti)

<n> Numero di posizione all'interno della tabella dei dati macchinaCampo dei valori: 0, 1, … (numero max. di posti nella tabella - 1)

Codice di programma Commento

N10 FA[B]=300 ; Avanzamento per asse di posizionamento B

N20 POS[B]=CAC(10) ; Spostamento della posizione codificata dal numero di posizione 10

N30 POS[B]=CIC(-4) ; Spostamento della posizione codificata dal "numero di posizione corrente" - 4

Page 246: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali 4.2 Interpolazione spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW,

Preparazione del lavoro246 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

4.2 Interpolazione spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL)

Funzioni I profili dei pezzi che presentano curvatura libera non possono essere descritti analiticamente in maniera esatta. L'accostamento a questo tipo di profilo può quindi essere effettuato attraverso un numero limitato di punti di appoggio, ad esempio durante la digitalizzazione delle superfici. Per la creazione delle superfici digitalizzate su un pezzo è necessario che i punti di appoggio vengano collegati a una descrizione del profilo. Ciò rende possibile l'interpolazione spline.

Uno spline definisce una curva che si compone di polinomi di 2° o 3° grado. Le proprietà dei punti di appoggio di uno spline possono essere definite a seconda del tipo di spline utilizzato.

I seguenti tipi di spline sono disponibili per SINUMERIK solution line:

• A-Spline

• B-Spline

• C-Spline

Page 247: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali4.2 Interpolazione spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW,

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 247

SintassiIn generale:ASPLINE X... Y... Z... A... B... C...BSPLINE X... Y... Z... A... B... C...CSPLINE X... Y... Z... A... B... C...

Con B-Spline sono inoltre programmabili:PW=<n>SD=2PL=<Valore>

Con A- e C-Spline sono inoltre programmabili:

BAUTO / BNAT / BTAN

EAUTO / ENAT / ETAN

Significato

Tipo di interpolazione spline:ASPLINE Comando per l'attivazione dell'interpolazione A-SplineBSPLINE Comando per l'attivazione dell'interpolazione B-SplineCSPLINE Comando per l'attivazione dell'interpolazione C-Spline

I comandi ASPLINE, BSPLINE e CSPLINE hanno effetto modale e rientrano nel gruppo dei comandi di movimento.

Punti di appoggio o punti di controllo:X... Y... Z...A... B... C...

Posizioni in coordinate cartesiane

Peso del punto (solo B-Spline):PW Con il comando PW, per ciascun punto di appoggio è possibile la

programmazione di un cosiddetto"Peso del punto".<n> "Peso del punto"

Campo dei valori: 0 ≤ n ≤ 3Gradino percentuale: 0.0001Effetto: n > 1 La curva viene stretta

maggiormente dal punto di controllo.

n < 1 La curva viene stretta in maniera minore dal punto di controllo.

Grado spline (solo B-Spline):SD Come standard viene utilizzato un poligono di 3° grado. Attraverso

la programmazione di SD=2, è anche possibile utilizzare un poligono di 2° grado.

Page 248: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali 4.2 Interpolazione spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW,

Preparazione del lavoro248 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Distanza tra i nodi (solo B-Spline):PL Le distanze tra i nodi vengono calcolate internamente nel modo

più adatto. Tuttavia, il controllo può anche elaborare distanze tra i nodi impostate, indicate con il comando PL come cosiddetta lunghezza intervalli parametri.

<Valore> Lunghezza intervalli parametriCampo dei valori: come quota del percorso

Comportamento di raccordo all'inizio della curva spline (solo A- o C-Spline):BAUTO Nessuna impostazione per il comportamento di raccordo. L'inizio

si ottiene dalla posizione del primo punto.BNAT curvatura nullaBTAN Raccordo tangenziale al blocco precedente (posizione di

cancellazione)

Comportamento di raccordo alla fine della curva spline (solo A- o C-Spline):EAUTO Nessuna impostazione per il comportamento di raccordo. La fine

si ricava dalla posizione dell'ultimo punto.ENAT Curvatura nullaETAN Raccordo tangenziale al blocco precedente (posizione di

cancellazione)

NotaIl comportamento di raccordo programmabile non ha effetti sulla B-Spline. La B-Spline è sempre tangente al poligono di controllo, sia nel punto di partenza sia in quello di arrivo.

Page 249: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali4.2 Interpolazione spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW,

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 249

Condizioni marginali• La correzione raggio utensile è applicabile.

• Il monitoraggio della collisione viene effettuato nella proiezione sul piano.

EsempiEsempio 1: B-Spline

Codice di programma 1 (tutti i pesi a 1)

N10 G1 X0 Y0 F300 G64

N20 BSPLINE

N30 X10 Y20

N40 X20 Y40

N50 X30 Y30

N60 X40 Y45

N70 X50 Y0

Codice di programma 2 (pesi differenti)

N10 G1 X0 Y0 F300 G64

N20 BSPLINE

N30 X10 Y20 PW=2

N40 X20 Y40

N50 X30 Y30 PW=0.5

N60 X40 Y45

N70 X50 Y0

Codice di programma 3 (poligono di controllo) Commento

N10 G1 X0 Y0 F300 G64

N20 ; assente

N30 X10 Y20

N40 X20 Y40

N50 X30 Y30

N60 X40 Y45

N70 X50 Y0

Page 250: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali 4.2 Interpolazione spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW,

Preparazione del lavoro250 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Page 251: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali4.2 Interpolazione spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW,

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 251

Esempio 2: C-Spline, all'inizio e alla fine della curvatura nulla

Codice di programma

N10 G1 X0 Y0 F300

N15 X10

N20 BNAT ENAT

N30 CSPLINE X20 Y10

N40 X30

N50 X40 Y5

N60 X50 Y15

N70 X55 Y7

N80 X60 Y20

N90 X65 Y20

N100 X70 Y0

N110 X80 Y10

N120 X90 Y0

N130 M30

Page 252: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali 4.2 Interpolazione spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW,

Preparazione del lavoro252 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio 3: Interpolazione spline (A-Spline) e trasformazione delle coordinate (ROT)

Programma principale:

Sottoprogramma "Kontur" (Profilo) (contiene le coordinate del punto di appoggio):

Nella figura seguente, oltre alla curva spline risultante dall'esempio di programmazione (ASPLINE), sono contenute anche le curve spline che si sarebbero ottenute con l'attivazione di un'interpolazione B- o C-Spline (BSPLINE, CSPLINE):

Codice di programma Commento

N10 G00 X20 Y18 F300 G64 ; Raggiungere il punto di partenza.

N20 ASPLINE ; Attivare il tipo di interpolazione A-Spline.

N30 KONTUR ; Primo richiamo del sottoprogramma.

N40 ROT Z-45 ; Trasformazione di coordinate: Rotazione del sistema di coordinate pezzo di -45° attorno all'asse Z.

N50 G00 X20 Y18 ; Accostare il punto di partenza del profilo.

N60 KONTUR ; Secondo richiamo del sottoprogramma.

N70 M30 ; Fine programma

Codice di programma

N10 X20 Y18

N20 X10 Y21

N30 X6 Y31

N40 X18 Y31

N50 X13 Y43

N60 X22 Y42

N70 X16 Y58

N80 X33 Y51

N90 M1

Page 253: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali4.2 Interpolazione spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW,

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 253

Ulteriori informazioniVantaggi dell'interpolazione Spline

Utilizzando l'interpolazione spline, contrariamente ai blocchi di rette G01 si ottengono i seguenti vantaggi:

• Riduzione del numero di blocchi di partprogram richiesti per la descrizione del profilo

• Andamento dolce, di minor impatto sulla meccanica, nei raccordi tra i blocchi di partprogram

Caratteristiche e applicazione dei diversi tipi di spline

Tipo di spline Caratteristiche e utilizzo

A-Spline

Proprietà:• Andamento esatto attraverso i punti di appoggio impostati.• L'andamento della curva è a tangente, ma non a curvatura, costante.• Creazione ridotta di oscillazioni indesiderate.• L'azione delle modifiche dei punti di appoggio è locale, ciò significa che la

modifica di un punto di appoggio ha effetto al massimo su 6 punti vicini.

UtilizzoLa A-Spline è particolarmente adatta per l'interpolazione di andamenti di curve con rilevanti modifiche della pendenza (ad esempio curve con andamento a forma di scala).

Page 254: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali 4.2 Interpolazione spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW,

Preparazione del lavoro254 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Tipo di spline Caratteristiche e utilizzo

B-Spline

Proprietà:• Andamento non attraverso i punti di appoggio impostati, ma solo nelle loro

vicinanze. La curva viene stretta mediante i punti di appoggio. Ponderando i punti di appoggio con un fattore, è possibile influenzare ulteriormente l'andamento della curva.

• L'andamento della curva è a tangente e a curvatura costante.• Assenza di oscillazioni indesiderate.• L'azione delle modifiche dei punti di appoggio è locale, ciò significa che la

modifica di un punto di appoggio ha effetto al massimo su 6 punti vicini.

UtilizzoLa B-Spline è stata concepita fondamentalmente come interfaccia con i sistemi CAD.

Page 255: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali4.2 Interpolazione spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW,

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 255

Tipo di spline Caratteristiche e utilizzo

C-Spline

Proprietà:• Andamento esatto attraverso i punti di appoggio impostati.• L'andamento della curva è a tangente e a curvatura costante.• Creazione frequente di oscillazioni indesiderate, in particolare nei punti con

rilevanti modifiche della pendenza.• L'azione delle modifiche dei punti di appoggio è globale, ciò significa che la

modifica di un punto di appoggio ha effetto sull'intero andamento della curva.

UtilizzoLa C-Spline può essere utilizzata correttamente se i punti di appoggio si trovano su una curva analiticamente nota (cerchio, parabola, iperbole).

Page 256: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali 4.2 Interpolazione spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW,

Preparazione del lavoro256 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Confronto tra i tre tipi di spline con gli stessi punti di appoggio

Numero minimo di blocchi per spline

I codici G ASPLINE, BSPLINE e CSPLINE collegano i punti finali di blocchi con delle spline. In questa operazione deve essere calcolata contemporaneamente una sequenza di blocchi (punti finali). La dimensione standard del buffer per il calcolo è di 10 blocchi. Non tutte le informazioni del blocco sono punti finali di una spline. Il controllo numerico ha comunque bisogno nei 10 blocchi di un determinato numero di blocchi di punti finali di spline.

Tipo di spline Numero minimo di blocchi per splineA-Spline: di ogni 10 blocchi, almeno 4 devono essere blocchi spline.

I blocchi di commento e i calcoli parametrici non vengono considerati in questo conteggio.

B-Spline: di ogni 10 blocchi, almeno 6 devono essere blocchi spline. I blocchi di commento e i calcoli parametrici non vengono considerati in questo conteggio.

C-Spline: Il numero minimo necessario di blocchi spline si ottiene dalla somma seguente:valore dato da MD20160 $MC_CUBIC_SPLINE_BLOCKS + 1In MD20160 viene inserito il numero di punti per il calcolo della sezione spline. L'impostazione standard è 8. Di ogni 10 blocchi, almeno 9 devono essere blocchi spline.

NotaSe il valore tollerato viene superato per difetto e se un asse compreso nella spline viene programmato come asse di posizionamento, viene emesso un allarme.

Page 257: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali4.2 Interpolazione spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW,

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 257

Raggruppamento di blocchi spline brevi

Dall'interpolazione Spline si possono ottenere blocchi brevi, che determinano una riduzione superflua della velocità di avanzamento. Con la funzione "Raggruppamento di blocchi spline brevi" è possibile riunire questi blocchi in modo che la lunghezza del blocco risultante sia sufficientemente elevata e non determini una riduzione della velocità di avanzamento.

La funzione viene attivata tramite il dato macchina specifico per canale:

MD20488 $MC_SPLINE_MODE (impostazione per interpolazione Spline)

Bibliografia:Manuale di guida alle funzioni; Funzioni di base; Funzionamento continuo, arresto preciso, LookAhead (B1),Capitolo: Raggruppamento di blocchi spline brevi

Page 258: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali 4.3 Raggruppamento spline (SPLINEPATH)

Preparazione del lavoro258 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

4.3 Raggruppamento spline (SPLINEPATH)

FunzioniGli assi da interpolare nel raggruppamento spline vengono selezionati con il comando SPLINEPATH. In una interpolazione spline possono essere coinvolti fino ad 8 assi di contornatura.

SintassiLa definizione del raggruppamento spline viene effettuata in un blocco a parte:SPLINEPATH(n,X,Y,Z,…)

Significato

NotaSe SPLINEPATH non viene programmato in maniera esplicita, i primi tre assi del canale vengono spostati come raggruppamento spline.

SPLINEPATH Comando per la definizione di un raggruppamento splinen =1 (valore fisso)X,Y,Z,… Identificatore degli assi di contornitura da interpolare nel

raggruppamento spline

Page 259: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali4.3 Raggruppamento spline (SPLINEPATH)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 259

Esempio: Raggruppamento spline con tre assi di contornitura

Codice di programma Commento

N10 G1 X10 Y20 Z30 A40 B50 F350

N11 SPLINEPATH(1,X,Y,Z) ; Raggruppamento spline

N13 CSPLINE BAUTO EAUTO X20 Y30 Z40 A50 B60 ; C-Spline

N14 X30 Y40 Z50 A60 B70 ; Punti di appoggio

N100 G1 X… Y… ; Disattivazione dell'interpolazione spline

Page 260: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali 4.4 Compressione blocco NC (COMPON, COMPCURV, COMPCAD, COMPOF)

Preparazione del lavoro260 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

4.4 Compressione blocco NC (COMPON, COMPCURV, COMPCAD, COMPOF)

FunzioneI sistemi CAD/CAM forniscono generalmente blocchi lineari che rispettano la precisione parametrizzata. Questo provoca, nel caso di profili complessi, una considerevole quantità di dati ed eventualmente dei segmenti di percorso brevi. Questi segmenti brevi limitano la velocità di elaborazione.

Utilizzando una funzione compressore ha luogo un avvicinamento al profilo impostato attraverso i blocchi lineari mediante blocchi di polinomi. Ne derivano i seguenti vantaggi:

• Riduzione del numero di blocchi di partprogram richiesti per la descrizione del profilo del pezzo

• Raccordi di blocco costanti

• Aumento della massima velocità vettoriale possibile

Sono disponibili le seguenti funzioni compressore:

• COMPON

I raccordi di blocco vengono eseguiti a velocità costante, mentre l'accelerazione degli assi interessati può subire dei salti in corrispondenza dei raccordi di blocco.

• COMPCURV

I raccordi di blocco hanno accelerazione costante. In questo modo sui raccordi di blocco viene garantita una velocità e un'accelerazione costanti per tutti gli assi.

• COMPCAD

Compressione richiedente un elevato tempo di calcolo e un considerevole spazio in memoria, ottimizzata in termini di qualità della superficie e velocità. COMPCAD si dovrebbe utilizzare solo se gli accorgimenti per il miglioramento della superficie non possono essere garantiti con programmi CAD/CAM.

La funzione compressore viene terminata con COMPOF.

SintassiCOMPONCOMPCURVCOMPCADCOMPOF

Page 261: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali4.4 Compressione blocco NC (COMPON, COMPCURV, COMPCAD, COMPOF)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 261

Significato

Condizioni marginali• La compressione blocco NC viene eseguita di norma per blocchi lineari (G1).

• Vengono compressi soltanto i blocchi che rispettano una sintassi semplice:

N... G1X... Y... Z... F... ;CommentoL'elaborazione degli altri blocchi avviene senza che vi siano modifiche (senza compressione).

• Vengono anche compressi i blocchi di movimento con indirizzi ampliati come C=100 oppure A=AC(100).

• I valori di posizione non devono essere programmati direttamente, ma possono anche essere indicati in maniera indiretta mediante l'assegnazione di parametri, ad esempio X=R1*(R2+R3).

• Se è disponibile l'opzione "Trasformazione dell'orientamento", è anche possibile comprimere blocchi NC nei quali l'orientamento utensile (ed eventualmente anche la rotazione utensile) è programmato mediante vettori di direzione (ved. " Compressione dell'orientamento (COMPON, COMPCURV, COMPCAD) [Pagina 366] ").

• Il processo di compressione viene interrotto attraverso ogni altra istruzione NC, ad es. l'emissione di una funzione ausiliaria.

COMPON: Comando per l'attivazione della funzione compressore COMPON.Azione: modale

COMPCURV: Comando per l'attivazione della funzione compressore COMPCURV.Azione: modale

COMPCAD: Comando per l'attivazione della funzione compressore COMPCAD.Azione: modale

COMPOF : Comando per la disattivazione della funzione compressore al momento attiva.

NotaPer ottenere un ulteriore miglioramento della qualità della superficie, è possibile utilizzare la funzione di raccordatura G642 e la limitazione dello strappo SOFT. Questi comandi vanno scritti all'inizio del programma.

Page 262: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali 4.4 Compressione blocco NC (COMPON, COMPCURV, COMPCAD, COMPOF)

Preparazione del lavoro262 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

EsempiEsempio 1: COMPON

Esempio 2: COMPCAD

BibliografiaManuale di guida alle funzioni, Funzioni di base; Funzionamento continuo, arresto preciso, LookAhead (B1),Capitolo: "Compressione blocco NC"

Codice di programma Commento

N10 COMPON ; Funzione compressore COMPON On.

N11 G1 X0.37 Y2.9 F600 ; G1 a monte del punto finale e avanzamento.

N12 X16.87 Y–.698

N13 X16.865 Y–.72

N14 X16.91 Y–.799

N1037 COMPOF ; Funzione compressore Off.

Codice di programma Commento

G00 X30 Y6 Z40

G1 F10000 G642 ; Funzione di raccordatura G642 On.

SOFT ; Limitazione dello strappo SOFT On.

COMPCAD ; Funzione compressore COMPCAD On.

STOPFIFO

N24050 Z32.499

N24051 X41.365 Z32.500

N24052 X43.115 Z32.497

N24053 X43.365 Z32.477

N24054 X43.556 Z32.449

N24055 X43.818 Z32.387

N24056 X44.076 Z32.300

COMPOF ; Funzione compressore Off.

G00 Z50

M30

Page 263: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali4.5 Interpolazione polinomica (POLY, POLYPATH, PO, PL)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 263

4.5 Interpolazione polinomica (POLY, POLYPATH, PO, PL)

Funzione Propriamente, nel caso dell’interpolazione polinomiale (POLY) non si tratta di un'interpolazione Spline. Essa è stata pensata inizialmente come interfaccia verso una programmazione di curve Spline generate esternamente. In questo caso le sezioni spline possono essere programmate direttamente.

Questo tipo di interpolazione sgrava il NC dal calcolo dei coefficienti polinomiali. Essa può essere utilizzata in modo ottimale quando i coefficienti provengono direttamente da un sistema CAD o da un postprocessore.

SintassiPolinomio di 3° grado:POLY PO[X]=(xe,a2,a3) PO[Y]=(ye,b2,b3) PO[Z]=(ze,c2,c3) PL=n

Polinomi di 5° grado e nuova sintassi del polinomio:POLY X=PO(xe,a2,a3,a4,a5) Y=PO(ye,b2,b3,b4,b5) Z=PO(ze,c2,c3,c4,c5) PL=nPOLYPATH("AXES","VECT")

Significato

NotaLa somma dei coefficienti polinomiali e degli assi programmati in un blocco NC non deve superare il numero di assi massimo consentito per blocco.

POLY : Attivazione dell'interpolazione polinomica con un blocco con POLY.

POLYPATH : Interpolazione polinomiale selezionabile per i due gruppi di assi AXIS o VECT

PO[identificatore asse/

variabile] :Punti finali e coefficienti polinomiali

X, Y, Z : Identificatore dell'assexe, ye, ze : Indicazione della posizione finale per l'asse in

questione; campo dei valori come quota del percorso

Page 264: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali 4.5 Interpolazione polinomica (POLY, POLYPATH, PO, PL)

Preparazione del lavoro264 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Attivazione/disattivazione dell'interpolazione polinomialeL'interpolazione polinomiale viene attivata nel programma pezzo dal comando G POLY.

Il comando G POLY appartiene al 1° gruppo G assieme a G0, G1, G2, G3, ASPLINE, BSPLINE e CSPLINE.

Gli assi programmati solo con il nome e punto finale (ad es. X10) vengono spostati in modo lineare sul relativo punto finale. Se tutti gli assi di un blocco NC sono programmati, il controllo si comporta come con G1.

L'interpolazione polinomiale viene nuovamente disattivata in modo implicito programmando un altro comando del 1° gruppo G (ad es. G0, G1).

Coefficiente del polinomioIl valore PO (PO[]=) o ...=PO(...) indica tutti i coefficienti del polinomio per un asse. Conformemente al grado del polinomio, più valori vengono indicati separati da virgole. All'interno di un blocco sono possibili differenti gradi del polinomio per diversi assi.

Sottoprogramma POLYPATHCon POLYPATH(...) è possibile abilitare selettivamente l'interpolazione polinomiale per determinati gruppi di assi:

Gli assi non abilitati vengono spostati in modo lineare.

Come standard è abilitata l'interpolazione polinomiale per i due gruppi di assi.

Se si programma senza il parametro POLYPATH( ), l'interpolazione polinomiale viene disattivata per tutti gli assi.

a2, a3, a4, a5 : I coefficienti a2, a3, a4, e a5 vengono scritti con il loro valore; campo dei valori come quota percorso. L'ultimo coefficiente rispettivamente può essere omesso se ha valore zero.

PL : Lunghezza dell'intervallo parametro sul quale sono definiti i polinomi (campo di definizione della funzione f(p)).L'intervallo inizia sempre con 0, p può assumere valori da 0 a PL.Campo di valori teorico per PL:0,0001 … 99 999,9999Nota:Il valore PL è valido per il blocco in cui si trova. Se non è programmato alcun PL, si ha PL=1.

Solo gli assi di interpolazione e gli assi supplementari: POLYPATH("AXES")

Solo gli assi di orientamento:(per il movimento con trasformazione di orientamento)

POLYPATH("VECT")

Page 265: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali4.5 Interpolazione polinomica (POLY, POLYPATH, PO, PL)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 265

Esempio

Esempio: Nuova sintassi del polinomio

Esempio: Curva nel piano X/YProgrammazione

Codice di programma Commento

N10 G1 X… Y… Z… F600

N11 POLY PO[X]=(1,2.5,0.7) PO[Y]=(0.3,1,3.2) PL=1.5 ; Interpolazione polinomica On

N12 PO[X]=(0,2.5,1.7) PO[Y]=(2.3,1.7) PL=3

...

N20 M8 H126 …

N25 X70 PO[Y]=(9.3,1,7.67) PL=5 ; Valori misti per gli assi

N27 PO[X]=(10,2.5) PO[Y]=(2.3) ; Nessun PL programmato; si ha PL=1

N30 G1 X… Y… Z. ; Interpolazione polinomica Off

Sintassi del polinomio ancora valida Nuova sintassi del polinomioPO[Identificatore asse]=(.. , ..) Identificatore asse=PO(.. , ..)

PO[PHI]=(.. , ..) PHI=PO(.. , ..)

PO[PSI]=(.. , ..) PSI=PO(.. , ..)

PO[THT]=(.. , ..) THT=PO(.. , ..)

PO[]=(.. , ..) PO(.. , ..)

PO[variable]=IC(.. , ..) variable=PO IC(.. , ..)

Codice di programma

N9 X0 Y0 G90 F100

N10 POLY PO[Y]=(2) PO[X]=(4,0.25) PL=4

Page 266: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali 4.5 Interpolazione polinomica (POLY, POLYPATH, PO, PL)

Preparazione del lavoro266 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Decorso delle curve X(p) e Y(p)

Decorso della curva nel piano XY

Page 267: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali4.5 Interpolazione polinomica (POLY, POLYPATH, PO, PL)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 267

DescrizioneLa formula generica della funzione polinomiale è:

Nel controllo numerico possono essere programmati al massimo polinomi di 5° grado:

Assegnando ai coefficienti valori concreti possono essere generati diversi profili curvilinei quali rette, parabole e funzioni esponenziali.

Una retta viene generata con a2 = a3 = a4 = a5 = 0:

Inoltre vale quanto segue:

È possibile programmare polinomi senza che l'interpolazione polinomiale sia stata attivata dal codice G POLY. In questo caso non vengono interpolati i polinomi programmati, ma vengono raggiunti in modo lineare (G1) i punti finali programmati degli assi. Solo dopo un'attivazione esplicita dell'interpolazione polinomiale nel programma pezzo (POLY) i polinomi programmati vengono anche eseguiti come tali.

Particolarità: polinomio denominatorePer gli assi geometrici è possibile programmare con PO[]=(…), senza indicazione del nome dell'asse, anche un polinomio denominatore comune; questo significa che il movimento degli assi di geometria viene interpolato come quoziente di due polinomi.

In questo modo è possibile per esempio rappresentare con esattezza sezioni coniche (cerchio, ellisse, parabola, iperbole).

Esempio:

Come coefficiente costante (a0) del polinomio denominatore viene sempre assunto 1. Il punto finale programmato è indipendente da G90 / G91.

f(p)= a0 + a1p + a2p2 +. . . + anpn

con: an: coefficienti costantip: parametri

f(p)= a0 + a1p + a2p2 + a3p3 + a4p4 + a5p5

f(p) = a0 + a1p

a0: posizione dell'asse alla fine del blocco precedente

p = PL

a1 = (xE - a0 - a2*p2 - a3*p3) / p

Codice di programma Commento

POLY G90 X10 Y0 F100 ; Gli assi geometrici si muovono linearmente sulla posizione X10 Y0.

PO[X]=(0,–10) PO[Y]=(10) PO[]=(2,1) ; Gli assi geometrici si muovono con un quarto di cerchio alla posizione X0 Y10.

Page 268: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali 4.5 Interpolazione polinomica (POLY, POLYPATH, PO, PL)

Preparazione del lavoro268 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Dai valori programmati si calcolano X(p) e Y(p) per:

In funzione dei punti di partenza, dei punti di destinazione, del coefficiente a2 e PL=1 programmati si hanno i seguenti risultati intermedi:

Quando l'interpolazione polinomiale è attiva, la programmazione di un polinomio denominatore con posizioni nulle nell'ambito dell'intervallo [0,PL] viene rifiutata con un allarme. Il polinomio denominatore non ha alcuna influenza sul movimento di assi supplementari.

X(p) = (10 - 10 * p2) / (1 + p2)

Y(p) = 20 * p / (1 + p2)con 0  ≤  p  ≤  1

Numeratore (X) = 10 + 0 * p - 10 * p2

Numeratore (Y) = 0 + 20 * p + 0 * p2

Denominatore = 1 + p2

NotaLa correzione del raggio utensile è inseribile con G41, G42 anche per l'interpolazione polinomica, ed è utilizzabile analogamente all'interpolazione lineare e circolare.

Page 269: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali4.6 Riferimento vettoriale impostabile, (SPATH, UPATH)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 269

4.6 Riferimento vettoriale impostabile, (SPATH, UPATH)

FunzioneDurante l'interpolazione polinomiale, l'utente può scegliere due diverse relazioni tra gli assi FGROUP che determinano la velocità e i restanti assi di interpolazione. Questi ultimi devono essere condotti in modo sincrono rispetto al percorso vettoriale S oppure in modo sincrono rispetto al parametro della curva degli assi FGROUP.

Entrambi i tipi di interpolazione del profilo vengono utilizzati in applicazioni differenti e possono essere impostati/commutati attraverso i due comandi di linguaggio modali SPATH e UPATH contenuti nel 45° gruppo di codici G.

Sintassi SPATHUPATH

Significato

Condizioni marginaliIl riferimento vettoriale impostato non ha significato nei casi seguenti:

• per l'interpolazioni lineare e circolare

• nei blocchi di filettatura

• se tutti gli assi di interpolazione sono contenuti in FGROUP.

EsempiEsempio 1:

Nell'esempio che segue viene raccordato con G643 un quadrato con lunghezza dei lati pari a 20 mm. Gli scostamenti massimi dal profilo esatto vengono determinati per ogni asse mediante il dato macchina specifico per asse MD33100 $MA_COMPRESS_POS_TOL[<n>].

SPATH: Il riferimento di percorso per gli assi FGROUP è la lunghezza dell'arcoUPATH: Il riferimento di percorso per gli assi FGROUP è il parametro della curva

NotaUPATH e SPATH determinano anche la relazione del polinomio F-Wort (FPOLY, FCUB, FLIN) con il movimento vettoriale.

Page 270: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali 4.6 Riferimento vettoriale impostabile, (SPATH, UPATH)

Preparazione del lavoro270 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio 2:

Il seguente esempio illustra la differenza tra i due tipi di gestione del movimento. In entrambi i casi è attiva la preimpostazione FGROUP(X,Y,Z).

o

Nel blocco N20 il percorso S degli assi FGROUP dipende dal quadrato del parametro della curva U. Perciò lungo il percorso di X risultano differenti posizioni dell'asse sincrono A, a seconda che sia attivo SPATH o UPATH.

Codice di programma Commento

N10 G1 X… Y… Z… F500

N20 G643 ; Raccordo interno al blocco con G643

N30 X0 Y0

N40 X20 Y0 ; lato (mm) per gli assi

N50 X20 Y20

N60 X0 Y20

N70 X0 Y0

N100 M30

Codice di programma

N10 G1 X0 A0 F1000 SPATH

N20 POLY PO[X]=(10,10) A10

Codice di programma

N10 G1 X0 F1000 UPATH

N20 POLY PO[X]=(10,10) A10

Page 271: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali4.6 Riferimento vettoriale impostabile, (SPATH, UPATH)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 271

Ulteriori informazioniDurante l'interpolazione polinomiale - intendendosi sempre con questa espressione l'interpolazione polinomiale in senso stretto (POLY), tutte le interpolazioni spline (ASPLINE, BSPLINE, CSPLINE) e l'interpolazione lineare con funzione compressore (COMPON, COMPCURV) - le posizioni di tutti gli assi di interpolazione i sono predefinite dai polinomi pi(U). Il parametro di curvatura U si muove all'interno di un blocco NC da 0 a 1; è quindi normalizzato.

Con l'istruzione FGROUP, tra gli assi di contornitura è possibile selezionare quelli ai quali riferire l'avanzamento vettoriale programmato. Una interpolazione a velocità costante sul percorso S di questi assi, durante l'interpolazione polinomiale, significa comunque generalmente una variazione non costante del parametro di curvatura U.

Comportamento del controllo numerico con Reset e dati macchina/opzionali

Dopo un reset è attivo il codice G determinato da MD20150 $MC_GCODE_RESET_VALUES[44] (45° gruppo di codice G). Per mantenere la compatibilità con gli impianti esistenti, come valore standard viene impostato SPATH.

Il valore di stato iniziale per il tipo di movimento raccordato viene specificato con MD20150 $MC_GCODE_RESET_VALUES[9] (10° gruppo di codice G).

Il dato macchina specifico per asse MD33100 $MA_COMPRESS_POS_TOL[<n>] ha un significato esteso: contiene le tolleranze per la funzione compressore e per il movimento raccordato con G642.

Page 272: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali 4.7 Misura con tastatore a commutazione (MEAS, MEAW)

Preparazione del lavoro272 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

4.7 Misura con tastatore a commutazione (MEAS, MEAW)

Funzione Con la funzione "Misure con tastatore in commutazione" le posizioni reali sul pezzo vengono raggiunte e all'intervento del fronte del tastatore di misura vengono scritte per ogni asse nelle corrispondenti celle di memoria.

Programmazione dei blocchi di misura

Per la programmazione di questa funzione sono disponibili i seguenti comandi:• MEAS

Con il comando MEAS viene cancellato il percorso residuo tra posizione reale e posizione di riferimento.

• MEAW

Per particolari misure, per le quali è necessario raggiungere in ogni caso la posizione programmata, viene utilizzata la funzione MEAW.

MEAS e MEAW sono attivi blocco per blocco e vengono programmati con le istruzioni di movimento. Gli avanzamenti ed i tipi di interpolazione (G0, G1, ...), al pari del numero di assi, devono essere adattati al rispettivo problema di misura.

Page 273: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali4.7 Misura con tastatore a commutazione (MEAS, MEAW)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 273

Lettura dei risultati delle misure

I risultati delle misure, per gli assi rilevati con il tastatore, sono disponibile nelle seguenti variabili:• $AA_MM[<asse>]

Risultati delle misure nel sistema di coordinate macchina• $AA_MW[<asse>]

Risultati delle misure nel sistema di coordinate pezzoNella lettura di queste variabili non viene generato internamente alcuno stop preelaborazione.

SintassiMEAS=<TE> G... X... Y... Z...MEAW=<TE> G... X... Y... Z...

Significato

NotaCon STOPRE nel programma NC si deve programmare uno stop preelaborazione nella posizione più idonea. Altrimenti vengono letti dei valori errati.

MEAS Istruzione: Misura con cancellazione del percorso residuoEfficacia: blocco a blocco

MEAW Istruzione: Misura senza cancellazione del percorso residuoEfficacia: blocco a blocco

<TE> Evento trigger per attivare la misuraTipo: INTCampo dei valori: -2, -1, 1, 2

Nota:Esistono al massimo 2 tastatori di misura (a seconda dell'esecuzione).

Significato:(+)1 fronte di salita del tastatore 1 (su ingresso di misura 1)-1 fronte di discesa del tastatore 1 (su ingresso di misura 1)

(+)2 fronte di salita del tastatore 2 (su ingresso di misura 2)-2 fronte di discesa del tastatore 2 (su ingresso di misura 2)

Nota:Esistono al massimo 2 tastatori di misura (a seconda dell'esecuzione).

G... Tipo di interpolazione, ad es. G0, G1, G2 o G3X... Y... Z... punto di arrivo in coordinate cartesiane

Page 274: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali 4.7 Misura con tastatore a commutazione (MEAS, MEAW)

Preparazione del lavoro274 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio

Ulteriori informazioniStato dell'ordine di misura

Nel caso in cui nel programma sia necessario valutare se il tastatore di misura si sia attivato o meno, è possibile interrogare la variabile di stato $AC_MEA[n] (n= numero del tastatore di misura):

Rilevamento dei valori di misura

Vengono rilevate le posizioni di tutti gli assi lineari e di posizionamento del blocco spostati (il numero massimo di assi dipende dalla configurazione del controllo). Con MEAS il movimento viene frenato in modo definito dopo la disattivazione del tastatore di misura.

Codice di programma Commento

N10 MEAS=1 G1 F1000 X100 Y730 Z40 ; Blocco di misura con tastatore di misura sul primo ingresso di misura ed interpolazione lineare. Lo stop preelaborazione viene generato automaticamente.

...

Valore Significato0 Funzione di misura non eseguita1 Funzione di misura terminata correttamente (il tastatore di misura si è attivato)

NotaSe il tastatore di misura viene deviato nel programma, la variabile viene impostata su 1. All'avvio di un blocco di misura, la variabile viene automaticamente impostata sullo stato iniziale del tastatore.

NotaSe in un blocco di misura è programmato l'asse GEO, i valori di misura vengono memorizzati per tutti gli assi GEO correnti.

Se in un blocco di misura è programmato un asse coinvolto in una trasformazione, i valori di misura di tutti gli assi coinvolti nella suddetta trasformazione vengono memorizzati.

Page 275: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali4.8 Funzione di misura ampliata (MEASA, MEAWA, MEAC) (opzione)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 275

4.8 Funzione di misura ampliata (MEASA, MEAWA, MEAC) (opzione)

FunzioneNelle misure assiali si possono utilizzare più tastatori di misura e più sistemi di misura.

Con MEASA o MEAWA, per gli assi di volta in volta programmati vengono rilevati fino a quattro valori di misura per ciascuna misura e memorizzati nelle variabili di sistema in maniera adeguata all'evento trigger.

I comandi di misura continui possono essere eseguiti con il comando MEAC. In questo caso i risultati delle misure vengono depositati nelle variabili FIFO. Anche per MEAC sono possibili al massimo quattro valori di misura per ogni misura.

Lettura dei risultati delle misure

I risultati di misura sono disponibili nelle seguenti variabili:

• $AA_MM1...4[<asse>]

Risultati delle misure nel sistema di coordinate macchina• $AA_MW1...4[<asse>]

Risultati delle misure nel sistema di coordinate pezzo

SintassiMEASA[<asse>]=(<modo>,<TE1>,...,<TE4>)MEAWA[<asse>]=(<modo>,<TE1>,...,<TE4>)MEAC[<asse>]=(<modo>,<memoria_misura>,<TE1>,...,<TE4>)

Page 276: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali 4.8 Funzione di misura ampliata (MEASA, MEAWA, MEAC) (opzione)

Preparazione del lavoro276 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Significato

NotaMEASA e MEAWA sono attivi nel blocco e possono essere programmati insieme in un blocco a sè stante. Se MEASA/MEAWA vengono programmati in un blocco con MEAS/MEAW, viene emessa una segnalazione di errore.

MEASA Istruzione: Misura assiale con cancellazione del percorso residuoEfficacia: blocco a blocco

MEAWA Istruzione: Misura assiale senza cancellazione del percorso residuoEfficacia: blocco a blocco

MEAC Istruzione: Misura assiale continua senza cancellazione del percorso residuoEfficacia: blocco a blocco

<asse> Nome dell'asse canale utilizzato per la misura <modo> Numero a due cifre che specifica il modo operativo (modo di

misura e sistema di misura)Modo di misura (decade delle unità):0 Interruzione del comando di misura.1 Fino a 4 eventi trigger attivabili contemporaneamente.2 Fino a 4 eventi trigger attivabili in sequenza.3 Fino a 4 eventi trigger attivabili in sequenza, ma nessun

monitoraggio dell'evento trigger 1 allo START (gli allarmi 21700/21703 vengono soppressi).Nota:Questo modo non è supportato con MEAC.

Sistema di misura (decade delle decine):0 (o nessuna indicazione)

sistema di misura attivo

1 sistema di misura 12 sistema di misura 23 entrambi i sistemi di misura

<TE> Evento trigger per attivare la misuraTipo: INTCampo dei valori: -2, -1, 1, 2Significato:

(+)1 Fronte di salita del tastatore di misura 1-1 Fronte di discesa del tastatore di misura 1

(+)2 Fronte di salita del tastatore di misura 2-2 Fronte di discesa del tastatore di misura 2

<memoria_misura> Numero del FIFO (memoria ad anello)

Page 277: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali4.8 Funzione di misura ampliata (MEASA, MEAWA, MEAC) (opzione)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 277

EsempiEsempio 1: Misura assiale con cancellazione del percorso residuo nel modo 1 (valutazione in sequenza temporale)

a) con sistema di misura 1

b) con 2 sistemi di misura

Codice di programma Commento

...

N100 MEASA[X]=(1,1,-1) G01 X100 F100 ; Misura nel modo 1 con sistema di misura attivo. Attesa del segnale di misura con fronte di salita/discesa del tastatore di misura 1 nel tratto di percorso verso? X = 100.

N110 STOPRE ; Arresto dell'avanzamento

N120 IF $AC_MEA[1]==FALSE GOTOF ENDE ; Verifica della corretta esecuzione della misura.

N130 R10=$AA_MM1[X] ; Salvataggio del valore di misura relativo al primo evento trigger programmato (fronte di salita).

N140 R11=$AA_MM2[X] ; Salvataggio del valore di misura relativo al secondo evento trigger programmato (fronte di discesa).

N150 END:

Codice di programma Commento

...

N200 MEASA[X]=(31,1,-1) G01 X100 F100 ; Misura nel modo 1 con entrambi i sistemi di misura. Attesa del segnale di misura con fronte di salita/discesa del tastatore di misura 1 nel tratto di percorso verso? X = 100.

N210 STOPRE ; Arresto dell'avanzamento

N220 IF $AC_MEA[1]==FALSE GOTOF ENDE ; Verifica della corretta esecuzione della misura.

N230 R10=$AA_MM1[X] ; Salvataggio del valore di misura del sistema di misura 1 con fronte di salita.

N240 R11=$AA_MM2[X] ; Salvataggio del valore di misura del sistema di misura 2 con fronte di salita.

N250 R12=$AA_MM3[X] ; Salvataggio del valore di misura del sistema di misura 1 con fronte di discesa.

N260 R13=$AA_MM4[X] ; Salvataggio del valore di misura del sistema di misura 2 con fronte di discesa.

N270 END:

Page 278: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali 4.8 Funzione di misura ampliata (MEASA, MEAWA, MEAC) (opzione)

Preparazione del lavoro278 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio 2: Misura assiale con cancellazione del percorso residuo nel modo 2 (valutazione in sequenza programmata)

Esempio 3: Misura assiale continua nel modo 1 (valutazione in sequenza temporale)

a) Misura di fino a 100 valori di misura

Codice di programma Commento

...

N100 MEASA[X]=(2,1,-1,2,-2) G01 X100 F100 ; Misura nel modo 2 con sistema di misura attivo. Attesa del segnale di misura nella sequenza: fronte di salita del tastatore di misura 1, fronte di discesa del tastatore di misura 1, fronte di salita del tastatore di misura 2, fronte di discesa del tastatore di misura 2 nel tratto di percorso verso X=100.

N110 STOPRE ; Arresto dell'avanzamento

N120 IF $AC_MEA[1]==FALSE GOTOF MESSTASTER2 ; Verificare la corretta esecuzione della misura con il tastatore di misura 1.

N130 R10=$AA_MM1[X] ; Salvataggio del valore di misura relativo al primo evento trigger programmato (fronte di salita tastatore di misura 1).

N140 R11=$AA_MM2[X] ; Salvataggio del valore di misura relativo al secondo evento trigger programmato (fronte di salita tastatore di misura 1).

N150 TASTATORE_DI_MISURA2:

N160 IF $AC_MEA[2]==FALSE GOTOF ENDE ; Verificare la corretta esecuzione della misura con il tastatore di misura 2.

N170 R12=$AA_MM3[X] ; Salvataggio del valore di misura relativo al terzo evento trigger programmato (fronte di salita tastatore di misura 2).

N180 R13=$AA_MM4[X] ; Salvataggio del valore di misura relativo al quarto evento trigger programmato (fronte di salita tastatore di misura 2).

N190 END:

Codice di programma Commento

...

N110 DEF REAL VALORE_MISURA[100]

N120 DEF INT Schleife=0

N130 MEAC[X]=(1,1,-1) G01 X1000 F100 ; Misura nel modo 1 con sistema di misura attivo, salvataggio dei valori di misura in $AC_FIFO1, attesa del segnale di misura con fronte di discesa dal tastatore di misura 1 al tratto di percorso verso X=1000.

N135 STOPRE

N140 MEAC[X]=(0) ; Interruzione della misura al raggiungimento della posizione dell'asse.

N150 R1=$AC_FIFO1[4] ; Salvataggio dei valori di misura accumulati nel parametro R1.

N160 FOR Schleife=0 TO R1-1

N170 MESSWERT[Schleife]=$AC_FIFO1[0] ; Lettura e salvataggio dei valori di misura da $AC_FIFO1.

N180 ENDFOR

Page 279: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali4.8 Funzione di misura ampliata (MEASA, MEAWA, MEAC) (opzione)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 279

b) Misura con cancellazione del percorso residuo secondo 10 valori

Ulteriori informazioniJob di misura

La programmazione può avvenire nel partprogram oppure nelle azioni sincrone (vedere capitolo "Azioni sincrone al movimento"). Per ogni asse, nello stesso istante, può essere attiva una sola funzione di misura.

Evento trigger

Un evento trigger è costituito dal numero di tastatori di misura e dal criterio di esecuzione (fronte di salita o di discesa) del segnale di misura.

Per ogni misura possono essere elaborati fino a 4 eventi trigger del relativo tastatore, quindi fino a due tastatori di misura con due fronti ciascuno. La sequenza dell'elaborazione ed il numero massimo degli eventi trigger dipendono perciò dal modo selezionato.

Codice di programma Commento

...

N10 WHEN $AC_FIFO1[4]>=10 DO MEAC[x]=(0) DELDTG(x) ; Cancellazione del percorso residuo.

N20 MEAC[x]=(1,1,1,-1) G01 X100 F500

N30 MEAC [X]=(0)

N40 R1=$AC_FIFO1[4] ; Numero di valori di misura.

...

NotaL'avanzamento deve essere adeguato al tipo di misura.

Con MEASA e MEAWA possono essere garantiti risultati di misura affidabili solo con avanzamenti che non generino più di un evento trigger uguale e non più di 4 diversi eventi trigger per ogni clock del regolatore di posizione.

Con misure continue tramite MEAC, il rapporto tra il clock di interpolazione e quello di regolazione non può essere superiore a 8:1.

NotaPer il modo di misura 1 vale: Un evento trigger analogo può essere programmato una sola volta in un ordine di misura!

Page 280: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali 4.8 Funzione di misura ampliata (MEASA, MEAWA, MEAC) (opzione)

Preparazione del lavoro280 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Modo operativo

Con la prima cifra (decade delle decine) del modo operativo si seleziona il sistema di misura desiderato. Se è presente un solo sistema di misura ma viene programmato comunque il secondo, viene utilizzato automaticamente quello esistente.

Con la seconda cifra (decade delle unità) si seleziona il modo di misura desiderato. Così facendo si adatta il processo di misura alle possibilità offerte dal controllore utilizzato:

• Modo 1

La rilevazione degli eventi trigger avviene nella sequenza temporale in cui si sono verificati. In questo modo, impiegando moduli a sei assi, è possibile programmare solo un evento trigger oppure impostando più eventi trigger avviene la commutazione automatica al modo 2 (senza segnalazione).

• Modo 2

La rilevazione degli eventi trigger avviene nella sequenza in cui sono stati programmati.

• Modo 3

La rilevazione degli eventi trigger avviene nella sequenza in cui sono stati programmati, tuttavia non c'è alcuna verifica dell'evento trigger 1 allo START.

Misura con e senza cancellazione del percorso residuo

Programmando MEASA, il percorso residuo viene cancellato solo dopo l'acquisizione di tutti i valori di misura richiesti.

Per particolari misure, per le quali è necessario raggiungere in ogni caso la posizione programmata, viene utilizzata la funzione MEAWA .

NotaUtilizzando 2 sistemi di misura si possono programmare solo due eventi trigger.

Page 281: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali4.8 Funzione di misura ampliata (MEASA, MEAWA, MEAC) (opzione)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 281

Risultati delle misure per MEASA, MEAWA

I risultati di misura sono disponibili nelle seguenti variabili:

• Nel sistema di coordinate macchina:

• Nel sistema di coordinate pezzo:

Assi geometrici / trasformazioni

Se la misura assiale deve essere eseguita per un asse geometrico, è necessario programmare la stessa funzione di misura in modo esplicito anche per i restanti assi geometrici. La stessa cosa vale per gli assi coinvolti in una trasformazione.

Esempio:N10 MEASA[Z]=(1,1) MEASA[Y]=(1,1) MEASA[X]=(1,1) G0 Z100

oppureN10 MEASA[Z]=(1,1) POS[Z]=100

NotaMEASA non è programmabile nelle azioni sincrone. Al suo posto, in una azione sincrona, si può utilizzare MEAWA seguito dalla cancellazione del percorso residuo

Se la funzione di misura con MEAWA viene avviata in un'azione sincrona, i valori di misura sono disponibili solo nel sistema di coordinate macchina.

$AA_MM1[<asse>] Valore di misura del sistema di misura programmato con l'evento trigger 1

... ...$AA_MM4[<asse>] Valore di misura del sistema di misura programmato con l'evento

trigger 4

$AA_WM1[<asse>] Valore di misura del sistema di misura programmato con l'evento trigger 1

... ...$AA_WM4[<asse>] Valore di misura del sistema di misura programmato con l'evento

trigger 4

NotaNella lettura di queste variabili non viene generato internamente alcuno stop preelaborazione. Con STOPRE si deve programmare uno stop di preelaborazione nella posizione più idonea. Altrimenti vengono letti dei valori errati.

Page 282: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali 4.8 Funzione di misura ampliata (MEASA, MEAWA, MEAC) (opzione)

Preparazione del lavoro282 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Misura con 2 sistemi di misura

Quando una misura viene eseguita con due sistemi di misura, ognuno dei due eventi trigger possibili viene rilevato da entrambi i sistemi di misura del relativo asse. L'occupazione delle variabili riservate è definita nel seguente modo:

Stato del tastatore di misura

Lo stato del tastatore di misura è disponibile nelle seguenti variabili di sistema:

$A_PROBE[<n>]

<n>=tastatore_misura

Stato della funzione di misura con MEASA, MEAWA

Se nel programma è necessario eseguire un'analisi, si può interrogare lo stato della misura tramite $AC_MEA[<n>], dove n = numero del tastatore di misura. Non appena tutti gli eventi di trigger del tastatore di misura <n> programmati in un blocco sono stati eseguiti, il valore della variabile è 1. Diversamente il valore è 0.

Misura continua (MEAC)

Utilizzando MEAC , i valori di misura vengono rilevati nel sistema di coordinate macchina e vengono depositati nella memoria FIFO[n] (memoria circolare). Se per la misura sono stati progettati due tastatori, i valori misurati del secondo tastatore vengono depositati separatamente nella memoria FIFO[n+1] aggiuntiva appositamente progettata (impostabile tramite dati macchina).

$AA_MM1[<asse>] oppure $AA_MW1[<asse>] Valore di misura del sistema di misura 1 con evento trigger 1

$AA_MM2[<asse>] oppure $AA_MW2[<asse>] Valore di misura del sistema di misura 2 con evento trigger 1

$AA_MM3[<asse>] oppure $AA_MW3[<asse>] Valore di misura del sistema di misura 1 con evento trigger 2

$AA_MM4[<asse>] oppure $AA_MW4[<asse>] Valore di misura del sistema di misura 2 con evento trigger 2

Valore Significato1 Tastatore di misura flesso0 Tastatore di misura non flesso

NotaSe la misura viene avviata da azioni sincrone, $AC_MEA non viene più aggiornato. In questo caso devono essere interrogati nuovi segnali di stato del PLC DB31, … DBX62.3 oppure la variabile equivalente $AA_MEAACT[<asse>].

significato:

$AA_MEAACT==1: misura attiva

$AA_MEAACT==0: misura non attiva

Page 283: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali4.8 Funzione di misura ampliata (MEASA, MEAWA, MEAC) (opzione)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 283

FIFO è una memoria di tipo circolare nella quale i valori di misura vengono inseriti a rotazione nelle variabili $AC_FIFO, vedere il capitolo "Azioni sincrone al movimento".

Errori di programmazione rilevati

Vengono rilevati i seguenti errori di programmazione e visualizzati con un allarme:

• MEASA/MEAWA vengono programmati in un blocco con MEAS/MEAW

Esempio:N01 MEAS=1 MEASA[X]=(1,1) G01 F100 POS[X]=100

• MEASA/MEAWA con numero dei parametri <2 oppure >5

Esempio:N01 MEAWA[X]=(1) G01 F100 POS[X]=100

• MEASA/MEAWA con evento trigger diverso da 1/ -1/ 2/ -2

Esempio:N01 MEASA[B]=(1,1,3) B100

• MEASA/MEAWA con modo errato

Esempio:N01 MEAWA[B]=(4,1) B100

• MEASA/MEAWA con evento trigger programmato due volte

Esempio:N01 MEASA[B]=(1,1,-1,2,-1) B100

• MEASA/MEAWA e asse GEO mancante

Esempio:N01 MEASA[X]=(1,1) MEASA[Y]=(1,1) G01 X50 Y50 Z50 F100 ;asse GEO X/Y/Z

• Funzione di misura non univoca con assi GEO

Esempio:N01 MEASA[X]=(1,1) MEASA[Y]=(1,1) MEASA[Z]=(1,1,2) G01 X50 Y50 Z50 F100

NotaIl contenuto FIFO può essere letto solo una volta dalla memoria circolare. Per poter utilizzare più volte i valori di misura, è necessario che gli stessi vengano memorizzati temporaneamente nei dati utente.

Se il numero dei valori di misura per la memoria FIFO supera il numero massimo impostato nel dato macchina, la misura viene automaticamente interrotta.

Per realizzare una serie di misure senza fine, i valori di misura devono essere letti ciclicamente . La lettura deve avvenire almeno con la stessa frequenza di ingresso dei nuovi valori di misura.

Page 284: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali 4.9 Funzioni speciali per l’utente OEM (OMA1 ... OMA5, OEMIPO1, OEMIPO2, G810 ... G829)

Preparazione del lavoro284 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

4.9 Funzioni speciali per l’utente OEM (OMA1 ... OMA5, OEMIPO1,OEMIPO2, G810 ... G829)

Indirizzi OEM Il significato degli indirizzi OEM viene definito dallo stesso utente OEM. La funzionalità viene implementata con cicli compilati. 5 indirizzi OEM sono riservati (OMA1 ... OMA5). Gli identificatori degli indirizzi sono impostabili. Gli indirizzi OEM sono consentiti in ogni blocco.

Richiami di funzioni G riservati Per gli utenti OEM sono riservati i seguenti richiami di funzioni G:

• OEMIPO1, OEMIPO2 (dal gruppo di funzioni G 1)

• G810 ... G819 (gruppo di funzioni G 31)

• G820 ... G829 (gruppo di funzioni G 32)

La funzionalità viene implementata con cicli compilati.

Funzioni e sottoprogrammiInoltre gli utenti OEM possono anche creare funzioni e sottoprogrammi predefiniti con trasferimento dei parametri.

NotaSimulazione pezzo Fino al SW 4.4 i cicli Compile non sono supportati nella simulazione pezzo, a partire da SW 4.4 sono supportati solo alcuni cicli Compile selezionati.

Le istruzioni nel programma pezzo di cicli Compile non supportati (OMA1 ... OMA5, OEMIPO1/2, G810 ... G829, procedure e funzioni proprie) provocano quindi, se non trattate individualmente, un messaggio di allarme e l'interruzione della simulazione.

Soluzione: Trattare individualmente gli elementi del linguaggio specifici per CC nel programma pezzo (interrogazione $P_SIM). Esempio: N1 G01 X200 F500

IF (1==$P_SIM)

N5 X300 ;per la simulazione CC non attivo

ELSE

N5 X300 OMA1=10

ENDIF

Page 285: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali4.10 Riduzione dell'avanzamento con rallentamento sugli spigoli (FENDNORM, G62, G621)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 285

4.10 Riduzione dell'avanzamento con rallentamento sugli spigoli (FENDNORM, G62, G621)

Funzioni Con il rallentamento automatico sugli spigoli, l’avanzamento viene ridotto a forma di campana poco prima dello spigolo interessato. Inoltre la misura dei comportamenti dell’utensile rilevanti per la lavorazione, può essere parametrizzata tramite dati di setting. Si tratta di:

• Inizio e fine della riduzione dell’avanzamento

• Override con il quale viene ridotto l’avanzamento

• riconoscimento degli spigoli rilevanti

Come spigoli rilevanti vengono intesi quelli il cui angolo interno è inferiore al valore impostato nei dati di setting.

Con il valore di default FENDNORM viene disattivata la funzione dell'override automatico sugli spigoli.

Bibliografia:/FBA/ Descrizione delle funzioni, Linguaggi ISO

SintassiFENDNORM

G62 G41

G621

Significato

G62 ha effetto solo sugli spigoli interni con

• correzione raggio utensile attiva G41, G42 e

• funzionamento continuo attivo G64, G641

Il relativo spigolo viene raggiunto con l’avanzamento ridotto che deriva da:

F * (override per la riduzione dell’avanzamento) * override dell’avanzamento

La riduzione max. dell’avanzamento viene raggiunta esattamente quando l’utensile, con traiettoria riferita al centro, deve eseguire il cambio di direzione sul relativo spigolo.

G621 ha un effetto analogo a G62 su ogni spigolo, degli assi definiti con FGROUP.

FENDNORM Rallentamento automatico sullo spigolo OFFG62 Rallentamento d'angolo sugli spigoli interni con correzione raggio utensile attivaG621 Rallentamento su tutti gli spigoli con correzione raggio utensile attiva

Page 286: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali 4.11 Criterio programmabile di fine movimento (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA)

Preparazione del lavoro286 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

4.11 Criterio programmabile di fine movimento (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA)

Funzione In modo analogo al criterio di cambio blocco con interpolazione vettoriale (G601, G602 e G603), il criterio di fine movimento può essere programmato con interpolazione del singolo asse in un partprogram oppure in azioni sincrone per assi comandati/PLC.

A seconda del criterio di fine movimento impostato, i blocchi di partprogram o i blocchi del ciclo tecnologico vengono terminati con movimenti del singolo asse con velocità diverse. La stessa cosa vale il PLC tramite i blocchi FC15, FC16 e FC18.

SintassiFINEA[<asse>]COARSEA[<asse>]IPOENDA[<asse>]IPOBRKA(<asse>[,<istante>])ADISPOSA(<asse>[,<modo>,<dimensioni_finestra>])

Significato

FINEA: Criterio di di fine movimento: "Arresto preciso fine"Azione: modale

COARSEA: Criterio di di fine movimento: "Arresto preciso grossolano"Azione: modale

IPOENDA: Criterio di fine movimento:"Stop interpolatore"Azione: modale

IPOBRKA: Criterio di cambio blocco: Rampa di frenaturaAzione: modale

ADISPOSA: Finestra di tolleranza per il criterio di fine movimentoAzione: modale

<asse>: Nome dell'asse canale (X, Y, ....)<istante>: Istante in cui si verifica il cambio blocco, riferito alla rampa di

frenatura in %: • 100% = inizio della rampa di frenatura• 0% = fine della rampa di frenatura, significato identico a IPOENDA

Tipo: REAL

Page 287: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali4.11 Criterio programmabile di fine movimento (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 287

Esempi

Esempio 1: Criterio di di fine movimento: "Stop interpolatore"

Esempio 2: Criterio di cambio blocco: "Rampa di frenatura"

<modo>: Riferimento della finestra di tolleranzaCampo di valori: 0 finestra di tolleranza non attiva

1 finestra di tolleranza riferita alla posizione di riferimento

2 finestra di tolleranza riferita alla posizione attuale

Tipo: INT<dimensioni_finestra

>:Dimensioni della finestra di tolleranzaTipo: REAL

Codice di programma

; Movimento asse di posizionamento X a 100, velocità 200 m/min, accelerazione 90%,; Criterio di di fine movimento: Stop interpolatore

N110 G01 POS[X]=100 FA[X]=200 ACC[X]=90 IPOENDA[X]

; Azione sincrona:; IMMER WENN: l'ingresso 1 è impostato ; DANN Movimento asse di posizionamento X a 50, velocità 200 m/min, accelerazione 140%,; Criterio di di fine movimento: Stop interpolatore

N120 EVERY $A_IN[1] DO POS[X]=50 FA[X]=200 ACC[X]=140 IPOENDA[X]

Codice di programma Commento

; Impostazione di default attiva

N40 POS[X]=100 ;;Movimento di posizionamento di X alla posizione 100Criterio di cambio blocco: Arresto preciso fine

N20 IPOBRKA(X,100) ;;Criterio di cambio blocco: "Rampa di frenatura", 100% = inizio della rampa di frenatura

N30 POS[X]=200 ; Il cambio blocco avviene non appena l'asse X inizia a frenare.

N40 POS[X]=250 ;;;

L'asse X non frena fino alla posizione 200, bensì continua a muoversi fino alla posizione 250.Non appena l'asse inizia a frenare, avviene il cambio blocco

N50 POS[X]=0 ;;L'asse X frena e torna alla posizione 0 Il cambio blocco avviene alla posizione 0 e "Arresto preciso fine"

N60 X10 F100 ; L'asse X si muove come asse di interpolazione fino alla posizione 10

Page 288: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali 4.11 Criterio programmabile di fine movimento (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA)

Preparazione del lavoro288 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Ulteriori informazioni

Variabile di sistema per criterio di fine movimento

Il criterio di fine movimento attivo può essere letto tramite la variabile di sistema $AA_MOTEND.

Bibliografia: /LIS2sl/ Manuale delle liste, volume 2

Criterio di cambio blocco: "Rampa di frenatura" (IPOBRKA)

Se nell'attivazione del criterio di cambio blocco "Rampa di frenatura" per il punto di cambio blocco opzionale è programmato un valore, questo diventa attivo per il movimento di posizionamento successivo e viene scritto nel dato di setting in modo sincrono all'elaborazione principale. Se per il punto di cambio blocco non è specificato alcun valore, viene attivato il valore attuale del dato di setting.

SD43600 $SA_IPOBRAKE_BLOCK_EXCHANGE

Con la programmazione successiva di un criterio di fine movimento assiale (FINEA, COARSEA , IPOENDA), IPOBRKA viene disattivato per l'asse corrispondente.

Ulteriore criterio di cambio blocco: "Finestra di tolleranza" (ADISPOSA)

Con ADISPOSA è possibile definire come ulteriore criterio di cambio blocco una finestra di tolleranza intorno al punto di fine blocco (a scelta la posizione attuale o di riferimento). Per il cambio blocco devono essere soddisfatte le seguenti condizioni:

• Criterio di cambio blocco: "Rampa di frenatura"

• Criterio di cambio blocco: "Finestra di tolleranza"

BibliografiaPer ulteriori informazioni sul criterio di cambio blocco degli assi di posizionamento, vedere:

• Manuale di guida alle funzioni, Funzioni di ampliamento; Assi di posizionamento (P2)

• Manuale di programmazione, Concetti fondamentali; capitolo "Regolazione dell'avanzamento"

Page 289: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali4.12 Blocco parametri servo programmabile (SCPARA)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 289

4.12 Blocco parametri servo programmabile (SCPARA)

Funzioni Con SCPARA il blocco di parametri (costituito da dati macchina) può essere programmato nel partprogram e in azioni sincrone (precedentemente solo tramite PLC).

DB3n DBB9 Bit3

Per evitare conflitti tra richieste dal PLC e dall'NCK, è stato definito un ulteriore bit nelle interconnessioni PLC  →  NCK:

DB3n DBB9 Bit3 ”Impostazione inibita del blocco di parametri tramite SCPARA”.

Con l'impostazione del blocco di parametri inibita per SCPARA, non viene emessa alcuna segnalazione di errore nel caso la stessa venga comunque programmata.

SintassiSCPARA[<Asse>]=<Valore>

Significato

Bibliografia: /FB1/ Manuale delle funzioni di base; Avanzamenti (V1), capitolo "Influenza sull'avanzamento".

Esempio

SCPARA Definizione del blocco di parametri<Asse> Nome dell’asse canale (X, Y, ...)<Valore> Blocco di parametri desiderato (1<= valore <=6)

NotaIl blocco di parametri attuale può essere interrogato tramite la variabile di sistema $AA_SCPAR[<Asse>].

Con G33, G331 o G332 viene selezionato dal controllo il blocco di parametri più appropriato.

Se il blocco di parametri servo deve essere cambiato sia nel partprogram o in un'azione sincrona, sia nel PLC, è necessario ampliare il programma utente PLC.

Codice di programma Commento

...

N110 SCPARA[X]= 3 ; Il 3° blocco di parametri viene selezionato per l'asse X.

...

Page 290: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Istruzioni di percorso speciali 4.12 Blocco parametri servo programmabile (SCPARA)

Preparazione del lavoro290 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Page 291: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Preparazione del lavoroManuale di programmazione 02/2011, 6FC5398-2BP40-1CA0 291

5Trasformazioni delle coordinate (FRAME)

5.1 Trasformazione di coordinate con variabili Frame

FunzioneOltre alle possibilità di programmazione già descritte nel manuale di programmazione "Concetti fondamentali", è possibile determinare la posizione di sistemi di coordinate anche mediante variabili frame predefinite.

Vengono definiti i seguenti sistemi di coordinate:

SCM: Sistema di coordinate macchina

SCB: Sistema di coordinate base

SPZ: Sistema di coordinate del punto zero di base

SZI: Sistema di coordinate del punto zero impostabile

SCP: Sistema di coordinate pezzo

Cos'è una variabile frame predefinita?

Le variabili frame predefinite sono parole chiave, ben definite all'interno del linguaggio del controllo numerico e dotate di un effetto ben preciso e possono essere elaborate in un programma NC.

Variabili frame possibili:

• Frame di base (spostamento base)

• Frame impostabili

• Frame programmabili

Page 292: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni delle coordinate (FRAME) 5.1 Trasformazione di coordinate con variabili Frame

Preparazione del lavoro292 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Assegnazioni di valori e lettura dei valori reali Relazione variabile frame/frame

Una trasformazione di coordinate può essere attivata mediante l'assegnazione dei valori di un frame a una variabile frame.

Esempio: $P_PFRAME=CTRANS(X,10)

Variabile frame:

$P_PFRAME significa: frame attuale programmabile.

Frame:

CTRANS(X,10) significa: spostamento origine programmabile dell’asse X di 10 mm.

Lettura dei valori reali

Mediante variabili predefinite nel partprogram è possibile leggere i valori reali attuali dei sistemi di coordinate:

$AA_IM[asse]: lettura valore reale nel MKS

$AA_IB[asse]: Lettura valore reale nel SCB

$AA_IBN[asse]: lettura valore reale nel BNS

$AA_IEN[asse]: lettura valore reale nel ENS

$AA_IW[asse]: lettura valore reale nel WKS

Page 293: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni delle coordinate (FRAME)5.1 Trasformazione di coordinate con variabili Frame

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 293

5.1.1 Variabili frame predefinite ($P_BFRAME, $P_IFRAME, $P_PFRAME,$P_ACTFRAME)

$P_BFRAMEVariabile frame di base impostabile che crea il riferimento tra il sistema di coordinate di base (BKS) e il sistema di coordinate del punto zero di base (BNS).

Se il frame di base descritto con $P_UBFR deve diventare immediatamente attivo nel programma, occorre

• programmare un G500, G54...G599 oppure

• descrivere $P_BFRAME con $ $P_UBFR .

$P_IFRAMEVariabile frame attuale impostabile che crea il riferimento tra il sistema del punto zero di base (BNS) e il sistema del punto zero impostabile (ENS).

• $P_IFRAME corrisponde a $P_UIFR[$P_IFRNUM]

• $P_IFRAME contiene, avendo programmato per es. G54, la traslazione, la rotazione, il fattore di scala e la specularità definite tramite G54.

Page 294: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni delle coordinate (FRAME) 5.1 Trasformazione di coordinate con variabili Frame

Preparazione del lavoro294 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

$P_PFRAMEVariabile frame attuale programmabile che crea il riferimento fra il sistema di punti zero impostabile (ENS) e il sistema di coordinate del pezzo (WKS).

$P_PFRAME contiene il frame risultante

• dalla programmazione di TRANS/ATRANS, ROT/AROT, SCALE/ASCALE, MIRROR/AMIRROR oppure

• dalla assegnazione di CTRANS, CROT, CMIRROR, CSCALE al FRAME programmabile

Page 295: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni delle coordinate (FRAME)5.1 Trasformazione di coordinate con variabili Frame

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 295

$P_ACTFRAMEFrame generale attuale risultante, costituito dalle

• variabili frame attuali $P_BFRAME,

• dalle variabili frame attuali impostabili $P_IFRAME con frame di sistema e

• dalle variabili frame attuali programmabili $P_PFRAME con frame di sistema

. Frame di sistema, vedere capitolo "Frame attivi nel canale"

$P_ACTFRAME descrive il punto zero attualmente valido del pezzo.

Nel caso che $P_BFRAME, $P_IFRAME oppure $P_PFRAME engano modificati, viene ricalcolata anche $P_ACTFRAME .

$P_ACTFRAME corrisponde a $P_BFRAME:$P_IFRAME:$P_PFRAME

Page 296: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni delle coordinate (FRAME) 5.1 Trasformazione di coordinate con variabili Frame

Preparazione del lavoro296 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Frame di base e frame impostabile diventano attivi dopo un reset, se il DM 20110 RESET_MODE_MASK è impostato nel seguente modo:

Bit0=1, Bit14=1 --> $P_UBFR (frame base) vale

Bit0=1, Bit5=1 --> $P_UIFR[$P_UIFRNUM] (frame impostabile) vale

Frame predefiniti impostabili $P_UBFRCon $P_UBFR viene programmato il frame di base, che però non diventa contemporaneamente attivo nel partprogram. Il frame di base descritto con $P_UBFR viene calcolato una volta che:

• è stato attivato il reset e sono settati i bit 0 e 14 del DM RESET_MODE_MASK,

• vengono eseguite le istruzioni G500, G54...G599 .

Frame predefiniti impostabili $P_UIFR[n]Con la variabile predefinita $P_UIFR[n] è possibile leggere o scrivere gli spostamenti origine impostabili G54 ... G599 dal partprogram.

Nella struttura tali variabili costituiscono un campo unidimensionale del tipo FRAME con il nome $P_UIFR[n] .

Page 297: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni delle coordinate (FRAME)5.1 Trasformazione di coordinate con variabili Frame

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 297

Abbinamento alle istruzioni GCome default si possono definire 5 frame impostabili $P_UIFR[0]... $P_UIFR[4] oppure 5 istruzioni G equivalenti G500 e G54 ... G57 , che con i relativi indirizzi si possono memorizzare valori.

$P_IFRAME=$P_UIFR[0] corrisponde a G500

$P_IFRAME=$P_UIFR[1] corrisponde a G54

$P_IFRAME=$P_UIFR[2] corrisponde a G55

$P_IFRAME=$P_UIFR[3] corrisponde a G56

$P_IFRAME=$P_UIFR[4] corrisponde a G57

Mediante dati macchina è possibile modificare il numero dei frame:

$P_IFRAME=$P_UIFR[5] corrisponde a G505

... ... ...

$P_IFRAME=$P_UIFR[99] corrisponde a G599

NotaIn tal modo è possibile generare fino a 100 sistemi di coordinate, che possono essere richiamati indipendentemente dal programma, per esempio come punto zero per diversi attrezzaggi.

CAUTELA

La programmazione di variabili frame e di frame richiede un blocco a sé stante all'interno del programma NC. Eccezione: la programmazione di un frame impostabile con G54, G55, ...

Page 298: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni delle coordinate (FRAME) 5.2 Variabili frame / assegnazione di valori frame

Preparazione del lavoro298 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

5.2 Variabili frame / assegnazione di valori frame

5.2.1 Assegnazione di valori diretti (valore asse, angolo, scala)

FunzioniQueste funzioni permettono di assegnare valori a frame o a variabili di frame direttamente nel programma NC.

Sintassi$P_PFRAME=CTRANS (X, valore asse, Y, valore asse, Z, valore asse, ...)

$P_PFRAME=CROT (X, angolo, Y, angolo, Z, angolo, ...)

$P_UIFR[..]=CROT (X, angolo, Y, angolo, Z, angolo, …)

$P_PFRAME=CSCALE (X, scala, Y, scala, Z, scala, ..)

$P_PFRAME=CMIRROR (X, Y, Z)

La programmazione di $P_BFRAME avviene allo stesso modo di $P_PFRAME.

Significato

CTRANS Spostamento degli assi indicatiCROT Rotazione sugli assi indicatiCSCALE Modifica della scala per gli assi indicatiCMIRROR Inversione di direzione degli assi indicatiX Y Z valore di spostamento in direzione dell'asse geometrico

indicatoValore asse Assegnazione del valore asse della traslazioneAngolo Assegnazione dell'angolo di rotazione agli assi indicatiScala Modificare la scala

Page 299: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni delle coordinate (FRAME)5.2 Variabili frame / assegnazione di valori frame

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 299

EsempioAssegnando dei valori ai frame attuali programmabili vengono attivate la traslazione, la rotazione e la specularità.

N10 $P_PFRAME=CTRANS(X,10,Y,20,Z,5):CROT(Z,45):CMIRROR(Y)

Impostare con altri valori i componenti ROT del frameImpostare con CROT tutti e tre i componenti di UIFR

Codice di programma Commento

$P_UIFR[5]=CROT (X, 0, Y, 0, Z, 0)

N100 $P_UIFR[5, y, rt]=0

N100 $P_UIFR[5, x, rt]=0

N100 $P_UIFR[5, z, rt]=0

Page 300: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni delle coordinate (FRAME) 5.2 Variabili frame / assegnazione di valori frame

Preparazione del lavoro300 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

DescrizioneÈ possibile programmare più regole di calcolo l'una dopo l'altra.

Esempio: $P_PFRAME=CTRANS(...):CROT(...):CSCALE...

È importante tenere conto del fatto che i comandi devono essere concatenati l'uno con l'altro con il due punti (...):(...). In tal modo i comandi vengono collegati fra di loro e poi eseguiti nella sequenza programmata in modo additivo.

NotaI valori programmati con le istruzioni citate vengono assegnati ai frame e memorizzati.

I valori diventano attivi solo dopo essere stati assegnati ad una variabile frame attiva $P_BFRAME oppure $P_PFRAME .

Page 301: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni delle coordinate (FRAME)5.2 Variabili frame / assegnazione di valori frame

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 301

5.2.2 Leggere e modificare le componenti frame (TR, FI, RT, SC, MI)

FunzioniViene data la possibilità di accedere a singolo dati di un frame, per es. ad un determinato valore di traslazione o angolo di rotazione. Tali valori possono quindi essere modificati o assegnati ad un'altra variabile.

Sintassi

Significato

Campo dei valori per la rotazione RT

R10=$P_UIFR[$P_UIFNUM,X,RT] L'angolo di rotazione RT dell'asse X dello spostamento origine impostabile attualmente valido $P_UIFRNUM deve essere assegnato alla variabile R10.

R12=$P_UIFR[25,Z,TR] Il valore di spostamento TR in Z del blocco dati del frame impostabile numero 25 deve essere assegnato alla variabile R12.

R15=$P_PFRAME[Y,TR] Il valore di spostamento TR in Y del frame impostabile attuale deve essere assegnato alla variabile R15.

$P_PFRAME[X,TR]=25 Il valore di spostamento TR in X del frame programmabile attuale deve essere modificato. A partire da subito vale X25.

$P_UIFRNUM Con questa variabile viene creata automaticamente la relazione con lo spostamento origine impostabile attualmente valido.

P_UIFR[n,…,…] Indicando il numero di frame n è possibile accedere al numero di frame n impostabile.

Impostazione del componente che deve essere letto o modificato:

TR TR Translation

FI FI Translation Fine

RT RT Rotation

SC SC Scale, variazione della scala

MI MI Specularità

X Y Z Inoltre (vedere esempio) viene indicato il relativo asse X, Y, Z.

Rotazione intorno al 1° asse geometrico: -180° ... +180°Rotazione intorno al 2° asse geometrico: -90° ... +90°Rotazione intorno al 3° asse geometrico: -180° ... +180°

Page 302: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni delle coordinate (FRAME) 5.2 Variabili frame / assegnazione di valori frame

Preparazione del lavoro302 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

DescrizioneRichiamo di un frame

Impostando le variabili di sistema $P_UIFRNUM è possibile accedere direttamente allo spostamento origine attualmente impostato mediante $P_UIFR oppure G54, G55, ... ($P_UIFRNUM contiene il numero del frame rappresentato attualmente).

Tutti gli altri frame $P_UIFR impostabili memorizzati vanno richiamati impostando il corrispondente numero $P_UIFR[n].

Per le variabili frame predefinite e per frame definiti singolarmente va impostato il nome, per es. $P_IFRAME.

Richiamare i dati

Nelle parentesi quadre sono contenuti il nome dell'asse e il componente frame del valore a cui si intende accedere o che si desidera modificare, per es. [X, RT] oppure [Z, MI].

5.2.3 Combinazione di frame completi

FunzioniNel partprogram un frame completo può essere assegnato a un altro frame oppure si possono concatenare frame.

I concatenamenti di frame sono opportuni per es. quando si tratta di descrivere diversi pezzi posizionati su un pallet e che devono essere lavorati nell'ambito di una sequenza di produzione.

Per la descrizione di lavorazioni con pallet i componenti frame possono contenere soltanto determinati valori parziali attraverso il cui concatenamento vengono generati diversi punti zero del pezzo.

Page 303: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni delle coordinate (FRAME)5.2 Variabili frame / assegnazione di valori frame

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 303

SintassiAssegnazione di frame

Catene di frame

I frame vengono concatenati nella sequenza in cui sono stati programmati, i componenti frame invece, come ad esempio spostamenti, rotazioni, ecc.), vengono eseguiti in modo additivo uno dopo l'altro.

DEF FRAME IMPOSTAZIONE1IMPOSTAZIONE1=CTRANS(X,10)$P_PFRAME=IMPOSTAZIONE1

DEF FRAME IMPOSTAZIONE4IMPOSTAZIONE4=$P_PFRAME$P_PFRAME=IMPOSTAZIONE4

Al frame programmabile attuale vengono assegnati i valori del frame autodefinito IMPOSTAZIONE1.

Il frame programmabile attuale viene memorizzato nella memoria intermedia e su richiesta rimemorizzato.

$P_IFRAME=$P_UIFR[15]:$P_UIFR[16]

$P_UIFR[3]=$P_UIFR[4]:$P_UIFR[5]

$P_UIFR[15] contiene ad esempio dati per gli spostamenti origine. Al termine vengono elaborati, sulla base degli stessi, i dati di $P_UIFR[16], es. dati per rotazioni.Il frame impostabile 3 viene generato concatenando i frame impostabili 4 e 5.

NotaOccorre osservare che i frame devono essere collegati insieme con l'operatore di concatenamento due punti.

Page 304: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni delle coordinate (FRAME) 5.2 Variabili frame / assegnazione di valori frame

Preparazione del lavoro304 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

5.2.4 Definizione di nuovi frame (DEF FRAME)

FunzioniOltre ai frame impostabili predefiniti di cui si è parlato finora è possibile generare anche nuovi frame. Si tratta in tal caso di variabili del tipo FRAME che vanno definite con un nome a libera scelta.

Con le funzioni CTRANS, CROT, CSCALE e CMIRROR è possibile assegnare dei valori ai frame nel programma NC.

SintassiDEF FRAME PALLET1

PALLET1=CTRANS(…):CROT(…)…

Significato

DEF FRAME Creazione di un nuovo frame.PALLET1 Nome del nuovo frame=CTRANS(...): CROT(...)...

Assegnazione di valori alle possibili funzioni

Page 305: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni delle coordinate (FRAME)5.3 Traslazione grossolana e fine (CFINE, CTRANS)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 305

5.3 Traslazione grossolana e fine (CFINE, CTRANS)

FunzioniTraslazione fine

Con l'istruzione CFINE(X, ...,Y ...) può essere programmata una traslazione fine del frame di base e di tutti i frame impostabili.

Una traslazione fine può avere luogo solo se il dato macchina MD18600 $MN_MM_FRAME_FINE_TRANS=1.

Traslazione grossolana

Con CTRANS(...) viene definita la traslazione grossolana.

Le traslazioni grossolane e fini vengono sommate e formano la traslazione complessiva.

Sintassi

L'accesso ai singoli componenti della traslazione fine avviene con l'impostazione della FI (Translation Fine).

$P_UBFR=CTRANS(x, 10) : CFINE(x, 0.1) : CROT(x, 45)

;concatenamento di traslazione, ;traslazione fine e rotazione

$P_UIFR[1]=CFINE(x, 0.5 y, 1.0, z, 0.1)

;tutto il frame viene sovrascritto ;con CFINE, inclusa ;la traslazione grossolana

Page 306: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni delle coordinate (FRAME) 5.3 Traslazione grossolana e fine (CFINE, CTRANS)

Preparazione del lavoro306 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Significato

Costruttore della macchina

Attraverso il dato macchina MD18600 $MN_ MM_FRAME_FINE_TRANS è possibile progettare la traslazione fine nelle seguenti varianti:

0: la traslazione fine non può essere impostata nè programmata. G58 e G59 non sono possibili.

1: la traslazione fine per frame impostabili, frame di base, frame programmabili, G58 e G59 può essere impostata o programmata

DescrizioneUna traslazione fine modificata dalla superficie operativa HMI, diventa attiva solo dopo l’attivazione del relativo frame, cioè l’attivazione avviene con G500, G54...G599. Una traslazione fine attiva di un frame resta tale finchè anche il frame è attivo.

Per un frame programmabile la traslazione fine non è possibile. Se ad un frame programmabile risulta assegnato un frame con traslazione fine, la traslazione complessiva verrà formata dalla somma della traslazione grossolana e fine. Leggendo il frame programmabile la traslazione fine è sempre pari a zero.

DEF REAL FINEX ;definizione della variabile FINEXFINEX=$P_UIFR[$P_UIFNUM, x, FI] ;lettura della traslazione fine tramite

;la variabile FINEXFINEX=$P_UIFR[3, x, FI]$P ;lettura della traslazione fine

;dell'asse X nel 3.Frame;tramite la variabile FINEX

CFINE(x, valore, y, valore, z, valore )

Traslazione fine per più assi. Traslazione additiva (Translatation).

CTRANS(x, valore, y, valore, z, valore )

Traslazione grossolana per più assi. Traslazione assoluta (Translatation).

x y z Spostamento origine degli assi (max. 8)Valore Entità di traslazione

Page 307: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni delle coordinate (FRAME)5.4 Spostamento origine esterno

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 307

5.4 Spostamento origine esterno

FunzioneLo spostamento origine esterno costituisce un'ulteriore possibilità di spostare il punto zero fra sistema di coordinate di base e sistema di coordinate del pezzo.

Per lo spostamento origine esterno possono essere impostati soltanto spostamenti lineari.

ProgrammazioneLa programmazione dei valori di spostamento, $AA_ETRANS avviene occupando le variabili di sistema specifiche degli assi.

Assegnazione dei valori di spostamento$AA_ETRANS[asse]=RI

R è la variabile di calcolo del tipo REAL che contiene il nuovo valore.

Lo spostamento origine esterno in genere non viene impostato nel partprogram ma viene settato da PLC.

NotaIl valore scritto nel partprogram diventa attivo soltanto se nell'interfaccia VDI (interfaccia NCU-PLC) è settato il segnale corrispondente.

Page 308: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni delle coordinate (FRAME) 5.5 Traslazione del preset (PRESETON)

Preparazione del lavoro308 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

5.5 Traslazione del preset (PRESETON)

Funzioni Nel caso di impieghi speciali può rendersi necessario assegnare ad un asse macchina già referenziato un nuovo valore reale con PRESETON. Questo corrisponde ad uno spostamento origine nel sistema di coordinate di macchina.

SintassiPRESETON(<asse>, <valore>, ...)

Significato

CAUTELA

Dopo PRESETON l'asse macchina è nello stato "non referenziato". Si raccomanda quindi di utilizzare questa funzione solo per assi macchina senza obbligo di punto di riferimento. Per ripristinare il sistema di coordinate di macchina originario, l'asse macchina deve essere nuovamente referenziato, ad es. con G74 (ricerca del punto di riferimento).

Bibliografia: Istruzioni di programmazione, Principi fondamentali, Comandi addizionali, Ricerca del punto di riferimento (G74)

PRESETON Impostazione del valore reale<Asse> identificatore degli assi macchina<Valore> Nuovo valore reale dell'asse macchina nel sistema di coordinate

di macchina

NotaL'impostazione del valore reale con azioni sincrone dovrebbe avvenire solo con la parola chiave WHEN o EVERY.

Page 309: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni delle coordinate (FRAME)5.5 Traslazione del preset (PRESETON)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 309

EsempioAsse geometrico: A, asse macchina relativo: X1

Codice di programma Commento

N10 G0 A100 ; L'asse A si sposta in posizione 100

N20 PRESETON(X1,50) ; L'asse macchina X1 riceve in posizione 100 il nuovo valore reale 50 => nuovo indicatore valore reale: - Asse X1, SCM: 50 - Asse A, SCP: 50

N30 A100 ; L'asse A si sposta di 50 mm in posizione 100

Page 310: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni delle coordinate (FRAME) 5.6 Calcolo del frame in base a 3 punti di misura nello spazio (MEAFRAME)

Preparazione del lavoro310 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

5.6 Calcolo del frame in base a 3 punti di misura nello spazio (MEAFRAME)

FunzioniMEAFRAME è un ampliamento del linguaggio 840D per il supporto dei cicli di misura.

La funzione MEAFRAME calcola il frame risultante dai tre punti ideali e dai punti corrispondenti che vengono misurati.

Se un pezzo viene posizionato per la lavorazione, nell'ambito del sistema di coordinate cartesiane della macchina, la sua posizione rispetto alla posizione ideale di lavorazione risulta sia spostata sia ruotata. Per una lavorazione o una misura precise sono necessarie una taratura impegnativa oppure modifiche dei movimenti nel partprogram.

Un frame può essere definito mediante rilevamento di tre punti nello spazio, dei quali sono note le posizioni ideali. Il rilevamento può avvenire con sensore a contatto oppure ottico che eseguono la tastatura su fori precisi o su sfere di misura situati sulla piastra di supporto.

SintassiMEAFRAME IDEAL_POINT,MEAS_POINT,FIT_QUALITY)

Significato

MEAFRAME Calcolo frame con 3 punti di misura nello spazioIDEAL_POINT dim. bidimensionale che contiene le tre coordinate dei punti

ideali.MEAS_POINT dim. campo Real che contiene le tre coordinate dei punti

misurati.FIT_QUALITY Variabile

REAL, -1:

-2:

-4:

valore positivo:

che restituisce le seguenti informazioni:I punti ideali si trovano quasi su una retta: frame non può essere calcolato. La variabile Frame restituita contiene un Frame neutro. I punti di misura si trovano quasi su una retta: frame non può essere calcolato. La variabile Frame restituita contiene un Frame neutro. Il calcolo della matrice di rotazione può non andare a buon fine per un altro motivo.Somma delle deformazioni (distanze tra i punti), che servono per il trasferimento del triangolo misurato in un triangolo ideale congruente.

Page 311: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni delle coordinate (FRAME)5.6 Calcolo del frame in base a 3 punti di misura nello spazio (MEAFRAME)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 311

Esempio

Impostazione di punti di misura

NotaQualità della misuraAffinché sia possibile assegnare le coordinate misurate alle coordinate ideali con una traslazione/rotazione combinata, occorre che il triangolo generato dai tre punti sia congruente al triangolo ideale. Ciò si ottiene con l'ausilio di un algoritmo di compensazione, che minimizza la somma dei quadrati degli scostamenti che risultano dal trasferimento del triangolo misurato in quello ideale.

L'alterazione effettivamente necessaria dei punti di misura può essere vista come indicatore per la misura della qualità e viene quindi emessa come ulteriore variabile di MEAFRAME .

NotaIl frame creato da MEAFRAME può essere trasformato con la funzione ADDFRAME in un altro frame della catena. Vedere esempio: Concatenamento di Frame "Verkettung mit ADDFRAME".

Per ulteriori informazioni sui parametri di ADDFRAME(FRAME, STRING) vedere /FB1/ Manuale delle funzioni di base; Assi, sistemi di coordinate, frame (K2), capitolo "Concatenamento di FRAME".

Codice di programma Commento

; Partprogram 1

DEF FRAME CORR_FRAME

Programmazione Commento

DEF REAL IDEAL_POINT[3,3] = SET(10.0,0.0,0.0, 0.0,10.0,0.0, 0.0,0.0,10.0)

DEF REAL MEAS_POINT[3,3] = SET (10.1,0.2,-0.2, -0.2,10.2,0.1, -0.2,0.2,9.8)

; Per la verifica

DEF REAL FIT_QUALITY = 0

DEF REAL ROT_FRAME_LIMIT = 5 ; Consente una torsione di max. 5 gradi della posizione del pezzo

DEF REAL FIT_QUALITY_LIMIT = 3 ; Consente una traslazione di max. 3 mm tra il triangolo ideale e quello misurato

DEF REAL SHOW_MCS_POS1[3]

DEF REAL SHOW_MCS_POS2[3]

DEF REAL SHOW_MCS_POS3[3]

Page 312: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni delle coordinate (FRAME) 5.6 Calcolo del frame in base a 3 punti di misura nello spazio (MEAFRAME)

Preparazione del lavoro312 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Codice di programma Commento

N100 G01 G90 F5000

N110 X0 Y0 Z0

N200 CORR_FRAME=MEAFRAME(IDEAL_POINT,MEAS_POINT,FIT_QUALITY)

N230 IF FIT_QUALITY < 0SETAL(65000)GOTOF NO_FRAMEENDIF

N240 IF FIT_QUALITY > FIT_QUALITY_LIMITSETAL(65010)GOTOF NO_FRAMEENDIF

N250 IF CORR_FRAME[X,RT] > ROT_FRAME_LIMIT ; Limitazione del 1° angolo RPY

SETAL(65020)GOTOF NO_FRAMEENDIF

N260 IF CORR_FRAME[Y,RT] > ROT_FRAME_LIMIT ; Limitazione del 2° angolo RPY

SETAL(65021)GOTOF NO_FRAMEENDIF

N270 IF CORR_FRAME[Z,RT] > ROT_FRAME_LIMIT ; Limitazione del 3° angolo RPY

SETAL(65022)GOTOF NO_FRAMEENDIF

N300 $P_IFRAME=CORR_FRAME ; Attivazione di un frame di campionatura con un frame impostabile

; Verifica del frame attraverso il posizionamento degli assi geometrici sui punti ideali

N400 X=IDEAL_POINT[0,0] Y=IDEAL_POINT[0,1] Z=IDEAL_POINT[0,2]

N410 SHOW_MCS_POS1[0]=$AA_IM[X]

N420 SHOW_MCS_POS1[1]=$AA_IM[Y]

N430 SHOW_MCS_POS1[2]=$AA_IM[Z]

N500 X=IDEAL_POINT[1,0] Y=IDEAL_POINT[1,1] Z=IDEAL_POINT[1,2]

N510 SHOW_MCS_POS2[0]=$AA_IM[X]

N520 SHOW_MCS_POS2[1]=$AA_IM[Y]

N530 SHOW_MCS_POS2[2]=$AA_IM[Z]

N600 X=IDEAL_POINT[2,0] Y=IDEAL_POINT[2,1] Z=IDEAL_POINT[2,2]

N610 SHOW_MCS_POS3[0]=$AA_IM[X]

N620 SHOW_MCS_POS3[1]=$AA_IM[Y]

N630 SHOW_MCS_POS3[2]=$AA_IM[Z]

N700 G500 ; Disattivazione del frame impostabile, in quanto sono preassegnati frame zero (nessun valore inserito).

Page 313: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni delle coordinate (FRAME)5.6 Calcolo del frame in base a 3 punti di misura nello spazio (MEAFRAME)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 313

Esempio di concatenamento di FrameConcatenamento di MEAFRAME per correzioni

La funzione MEAFRAME( ) fornisce un frame di correzione. Se questo frame di correzione viene concatenato con il frame impostabile $P_UIFR[1] che era attivo al richiamo della funzione, es. G54, si ottiene un frame impostabile per ulteriori calcoli del percorso oppure lavorazioni.

Concatenamento con ADDFRAME

Se questo frame di correzione deve avere effetto in un altro punto della catena dei frame oppure se sono attivi altri frame prima di quello impostabile, è possibile utilizzare la funzione ADDFRAME( ) per il concatenamento in uno dei frame base del canale oppure in un frame di sistema.

Nei frame non possono essere attivi:

• specularità con MIRROR

• fattore di scala con SCALE

I parametri di ingresso per i valori di riferimento ed i valori attuali sono le coordinate del pezzo. Nel sistema di base del controllo, queste coordinate devono essere sempre impostate in

• metrico oppure inch (G71/G70) e

• riferite al raggio (DIAMOF).

No_FRAME ; Disattivazione del frame impostabile, in quanto sono preassegnati frame zero (nessun valore inserito).

M0

M30

Codice di programma Commento

Page 314: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni delle coordinate (FRAME) 5.7 Frame NCU globali

Preparazione del lavoro314 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

5.7 Frame NCU globali

FunzioneIn ogni NCU i frame globali NCU esistono una sola volta per tutti i canali. I frame globali NCU possono essere scritti e letti da tutti i canali. L'attivazione dei frame globali NCU avviene nel rispettivo canale.

Con i frame globali si possono scalare e speculare gli assi canali e gli assi macchina con traslazioni.

Relazioni geometriche e concatenamenti di frame

Per i frame globali non esiste alcuna correlazione geometrica tra gli assi. Per questo motivo non possono essere eseguite rotazioni né programmazioni di identificatori di assi geometrici.

• Sui frame globali non è possibile applicare le rotazioni. La programmazione di una rotazione viene rifiutata con l’allarme: "18310 Canale %1 Blocco %2 Frame: rotazione non consentita“.

• È possibile il concatenamento di frame globali e frame specifici per canale. Il frame risultante contiene tutte le parti di frame incluse le rotazioni per tutti gli assi. L'assegnazione di un frame con parti di rotazione a un frame globale viene rifiutata con l'allarme "Frame: rotazione non consentita“.

Frame NCU globaliFrame base NCU globali $P_NCBFR[n]

È possibile progettare fino a 8 frame base NCU globali.

Contemporaneamente possono essere presenti frame di base specifici per canale.

I frame globali possono essere scritti e letti da tutti i canali di una NCU. Nella scrittura di frame globali l'utente deve fare attenzione alla coordinazione dei canali. Questo può avvenire ad esempio mediante marker di Wait (WAITMC).

Costruttore della macchina

Il numero di frame base globali viene progettato; vedere /FB1/ Manuale delle funzioni di base; Assi, sistemi di coordinate, frame (K2).

Frame globali NCU impostabili $P_UIFR[n]

Tutti i frame impostabili G500, G54...G599 possono essere progettati come frame globali NCU o specifici per canale.

Costruttore della macchina

Tutti i frame impostabili possono essere riprogettati in frame globali con l'ausilio di un dato macchina $MN_MM_NUM_GLOBAL_USER_FRAMES.

Come indicatore assi nelle istruzioni per frame si possono utilizzare degli identificatori di assi canale e degli identificatori di assi di macchina. La programmazione di identificatori di assi geometrici viene respinta con un allarme.

Page 315: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni delle coordinate (FRAME)5.7 Frame NCU globali

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 315

5.7.1 Frame specifici per canali ($P_CHBFR, $P_UBFR)

FunzioneI frame impostabili oppure i frame di base possono essere letti e scritti

• dal partprogram e

• tramite BTSS

sia dalla superficie operativa HMI Advanced che dal PLC.

La traslazione fine è possibile anche per i frame globali. La soppressione dei frame globali si verifica come per i frame specifici per canale tramite G53, G153, SUPA e G500.

Costruttore della macchina

Tramite il dato macchina DM28081 MM_NUM_BASE_FRAMES si può progettare il numero di frame di base nel canale. La configurazione standard è concepita in modo che vi sia almeno un frame di base per canale. Sono ammessi al massimo 8 frame di base per canale. Oltre agli 8 frame di base possono esservi anche 8 frame di base globali per l'NCU.

Frame specifici per un canale$P_CHBFR[n]

I frame di base si possono leggere e scrivere tramite la variabile di sistema $P_CHBFR[n] . In fase di scrittura di un frame di base, il frame di base generale non viene attivato finché non viene eseguita un'istruzione G500, G54...G599. La variabile funge prevalentemente da memoria per i processi di scrittura sul frame di base dall'HMI o dal PLC. Queste variabili frame vengono salvate tramite il salvataggio dati.

Primo frame di base nel canale

Una scrittura sulla variabile predefinita $P_UBFR non attiva contemporaneamente il frame di base con l'indice di campo 0; l'attivazione si verifica solo quando viene eseguita un'istruzione G500, G54...G599. La variabile può anche essere scritta e letta nel programma.

$P_UBFR

$P_UBFR è identico a $P_CHBFR[0]. Come default è sempre presente un frame base nel canale in modo che la variabile di sistema sia sempre compatibile con le versioni precedenti. Se non vi sono frame di base specifici, durante la scrittura o lettura viene emesso l'allarme "Frame: Istruzione non consentita”.

Page 316: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni delle coordinate (FRAME) 5.7 Frame NCU globali

Preparazione del lavoro316 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

5.7.2 Frame attivi nel canale

FunzioneI frame attivi nel canale vengono impostati con le relative variabili di sistema di questi frame. Questo vale anche per i frame di sistema. Attraverso queste variabili di sistema, nel partprogram è possibile leggere e scrivere il frame di sistema attuale.

Frame attivi attualmente nel canalePanoramica

$P_NCBFRAME[n] Frame di base globali NCU attuali

Gli elementi di campo del frame di base globale attuale possono essere letti e scritti tramite la variabile di sistema $P_NCBFRAME[n] . Il frame di base così ottenuto, viene incluso nel canale con il processo di scrittura.

Il frame modificato è attivo solo nel canale in cui è stato programmato. Se il frame deve essere modificato per tutti i canali di una NCU, occorre scrivere contemporaneamente $P_NCBFR[n] e $P_NCBFRAME[n]. Gli altri canali devono quindi solo attivare il frame, ad esempio con G54. Quando viene scritto un frame di base, viene ricalcolato il frame di base generale.

Frame di sistema attuali per: $P_PARTFRAME TCARR e PAROT$P_SETFRAME impostazione valore reale e sfioro$P_EXTFRAME Spostamento origine esterno$P_NCBFRAME[n] Frame di base globali NCU attuali$P_CHBFRAME[n] Frame di base attuali del canale$P_BFRAME 1. frame base attuale nel canale$P_ACTBFRAME Frame di base globale$P_CHBFRMASK e $P_NCBFRMASK Frame di base globale$P_IFRAME Frame impostabile attualeFrame di sistema attuali per: $P_TOOLFRAME TOROT e TOFRAME$P_WPFRAME Punti di riferimento del pezzo$P_TRAFRAME Trasformazioni$P_PFRAME Frame programmabile attualeFrame di sistema attuale per: $P_CYCFRAME CicliP_ACTFRAME Frame attuale globaleConcatenamento di frame Il frame attuale è formato dal frame di

base globale

Page 317: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni delle coordinate (FRAME)5.7 Frame NCU globali

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 317

$P_CHBFRAME[n] Frame canale attuali

Gli elementi di campo del frame di base canale attuale possono essere letti e scritti tramite la variabile di sistema $P_CHBFRAME[n] . Il frame di base così ottenuto viene calcolato nel canale insieme al processo di scrittura. Quando viene scritto un frame di base, viene ricalcolato il frame di base generale.

$P_BFRAME 1. frame base attuale nel canale

Con la variabile frame predefinita $P_BFRAME , nel partprogramm è possibile leggere e scrivere il frame di base attuale con l'indice di campo 0 che è valido nel canale. Il frame di base scritto viene subito calcolato.

$P_BFRAME è identico a $P_CHBFRAME[0]. La variabile di sistema, come default ha sempre un valore valido. Se non vi sono frame di base specifici, durante la scrittura o lettura viene emesso l'allarme "Frame: Istruzione non consentita”.

$P_ACTBFRAME Frame base globale

La variabili $P_ACTFRAME definisce il frame di base globale concatenato.. Questa variabile è di sola lettura.

$P_ACTFRAME corrisponde a

$P_NCBFRAME[0] : ... : $P_NCBFRAME[n] : $P_CHBFRAME[0] : ... : $P_CHBFRAME[n].

Page 318: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni delle coordinate (FRAME) 5.7 Frame NCU globali

Preparazione del lavoro318 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

$P_CHBFRMASK e $P_NCBFRMASK Frame base globali

Frame di base globaleTramite le variabili di sistema $P_CHBFRMASK e $P_NCBFRMASK l'utente può scegliere quali frame di base includere nel calcolo del frame di base "globale". Le variabili possono essere programmate solo nel programma e lette tramite l'interfaccia del pannello operativo (BTSS). Il valore delle variabili viene interpretato come maschera di bit e indica quale elemento di campo del frame di base di $P_ACTFRAME rientra nel calcolo.

Con $P_CHBFRMASK si può impostare quali frame di base specifici del canale, mentre con $P_NCBFRMASK, si definisce quali frame di base globali NCU devono essere calcolati.

Con la programmazione delle variabili vengono ricalcolati il frame di base ed il frame. Dopo un reset e nell'impostazione di base valgono i seguenti valori

$P_CHBFRMASK = $MC_CHBFRAME_RESET_MASK e

$P_NCBFRMASK = $MC_CHBFRAME_RESET_MASK.

ad es.

$P_NCBFRMASK = 'H81' ;$P_NCBFRAME[0] : $P_NCBFRAME[7]

$P_CHBFRMASK = 'H11' ;$P_CHBFRAME[0] : $P_CHBFRAME[4]

$P_IFRAME Frame impostabile attuale

Con la variabile frame predefinita $P_IFRAME , nel partprogramm è possibile leggere e scrivere il frame impostabile attuale che è valido nel canale. Il frame impostabile scritto viene subito incluso nel calcolo.

Nei frame impostabili globali NCU il frame modificato è attivo solo nel canale in cui il frame è stato programmato. Se il frame deve essere modificato per tutti i canali di una NCU, occorre descrivere contemporaneamente $P_UIFR[n] e $P_IFRAME . Gli altri canali devono quindi solo attivare il relativo frame, ad esempio con G54.

$P_PFRAME Frame programmabile attuale

$P_PFRAME PFRAME è il frame programmabile risultante dalla programmazione di TRANS/ATRANS, G58/G59, ROT/AROT, SCALE/ASCALE, MIRROR/AMIRROR o dall'assegnazione di CTRANS, CROT, CMIRROR, CSCALE al FRAME programmabile.

Variabile frame attuale programmabile che crea il riferimento fra il sistema di punti zero impostabile

• (ENS) e il

• sistema di coordinate del pezzo (SCP).

Page 319: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni delle coordinate (FRAME)5.7 Frame NCU globali

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 319

P_ACTFRAME Frame attuale globale

Il frame attuale globale risultante $P_ACTFRAME risulta dal concatenamento di tutti i frame di base, dal frame attuale impostabile e dal frame programmabile. Il frame attuale viene aggiornato ogni volta che si modifica una parte di frame.

$P_ACTFRAME corrisponde a

$P_PARTFRAME : $P_SETFRAME : $P_EXTFRAME : $P_ACTBFRAME : $P_IFRAME :

$P_TOOLFRAME : $P_WPFRAME : $P_TRAFRAME : $P_PFRAME : $P_CYCFRAME

Page 320: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni delle coordinate (FRAME) 5.7 Frame NCU globali

Preparazione del lavoro320 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Concatenamento di frameIl frame attuale è formato dal frame di base globale, dal frame impostabile, dal frame di sistema e dal frame programmabile in base al frame globale attuale descritto in precedenza.

Page 321: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Preparazione del lavoroManuale di programmazione 02/2011, 6FC5398-2BP40-1CA0 321

6Trasformazioni

6.1 Programmazione generale dei tipi di trasformazione

Funzione generalePer adattare il controllo a diverse cinematiche delle macchine esiste la possibilità di programmare la selezione delle trasformazioni con parametri adatti. Con questi parametri è possibile dichiarare conformemente alla trasformazione selezionata sia l'orientamento dell'utensile nello spazio, sia i movimenti di orientamento degli assi rotanti.

Nelle trasformazioni a tre, quattro e cinque assi le indicazioni delle posizioni programmate si riferiscono sempre alla punta dell'utensile, trascinato ortogonalmente alla superficie di lavorazione che si trova nello spazio. Le coordinate cartesiane vengono convertite dal sistema di coordinate di base al sistema di coordinate della macchina e si riferiscono agli assi geometrici. Esse descrivono il punto di lavorazione. Gli assi rotanti virtuali descrivono gli orientamenti dell'utensile nello spazio e vengono programmati con TRAORI.

Nella trasformazione cinematica possono essere programmate posizioni nel sistema di coordinate cartesiano. Il controllo trasforma i movimenti programmati con TRANSMIT, TRACYL e TRAANG del sistema di coordinate cartesiano in movimenti degli assi reali della macchina.

ProgrammazioneTrasformazioni a tre, quattro e cinque assi TRAORI

La trasformazione di orientamento viene attivata con il comando TRAORI e i tre parametri possibili per numero di trasformatori, vettore di orientamento e offset asse rotante.TRAORI(numero trasformatore, vettore di orientamento, offset asse rotante)

Trasformazioni cinematiche

Delle trasformazioni cinematiche fanno parte le trasformazioni dichiarate TRANSMIT(numero trasformatore)

TRACYL(diametro di lavorazione, numero trasformatore)

TRAANG(angolo dell'asse inclinato, numero trasformatore)

Disattivazione della trasformazione attiva

TRAFOOF consente di disattivare la trasformazione attualmente attiva.

Page 322: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.1 Programmazione generale dei tipi di trasformazione

Preparazione del lavoro322 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Trasformazione dell'orientamentoTrasformazioni a tre, quattro e cinque assi TRAORI

Per la lavorazione ottimizzata delle superfici tridimensionali nel campo di lavoro della macchina, oltre ai tre assi lineari X, Y e Z, le macchine utensili necessitano anche di assi supplementari. Gli assi supplementari descrivono l'orientamento nello spazio e verranno successivamente denominati assi di orientamento. Essi sono disponibili come assi rotanti nei quattro tipi di macchina con cinematica diversa.

1. Testina orientabile a due assi, p. es. testina utensile cardanica con un asse rotante parallelo ad un asse lineare nella tavola utensile fissa.

2. Tavola rotante a due assi, es. testina orientabile fissa con tavola rotante intorno a due assi.

3. Testina orientabile monoasse e tavola rotante monoasse, p. es. una testina orientabile rotante con utensile ruotato su tavola rotante intorno ad un asse.

4. Testina orientabile a due assi e tavola rotante monoasse, p. es. una testina utensile rotante intorno a un asse e una testina orientabile rotante con due utensili rotanti su sé stessi.

Le trasformazioni a 3 e 4 assi sono forme speciali della trasformazione a 5 assi e vengono programmati in modo analogo alle trasformazioni a 5 assi.

Con le sue funzioni, la "trasformazione a 3/4/5/6 assi" gestisce gli assi rotanti ordinati ad angolo retto nonché le trasformazioni per la testa di fresatura cardanica e, come qualsiasi altra trasformazione dell'orientamento, anche questa può essere attivata per questi quattro tipi di macchina con TRAORI. Nella trasformazione generica a 5/6 assi l'orientamento dell'utensile ha un ulteriore terzo grado di libertà nel quale, per qualsiasi direzione dell'utensile nello spazio, lo stesso può essere ruotato sul proprio asse.

Bibliografia: /FB3/ Manuale delle funzioni speciali; Trasformazione a 3 ... 5 assi (F2)

Posizione base, indipendente dalla cinematica, dell'orientamento dell'utensileORIRESET

Se è attiva una trasformazione di orientamento con TRAORI, è possibile definire con ORIRESET le posizioni base di fino a 3 assi di orientamento con i parametri opzionali A, B e C. L'assegnazione dei parametri programmati agli assi rotanti avviene secondo la sequenza definita dalla trasformazione degli assi di orientamento. La programmazione di ORIRESET(A, B, C) fa sì che gli assi di orientamento intraprendano un movimento lineare e sincrono dalla loro posizione temporanea alla posizione base definita.

Page 323: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni6.1 Programmazione generale dei tipi di trasformazione

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 323

Trasformazioni cinematiche TRANSMIT e TRACYL

Per le fresature su torni può essere programmata per la trasformazione dichiarata

1. una lavorazione sul lato frontale nel portautensile con TRANSMIT oppure

2. una lavorazione di una qualsiasi scanalatura su corpi cilindrici con TRACYL.

TRAANG

Se l'asse di incremento, p. es. per la rettifica tecnologica, deve poter essere posizionato anche inclinato, con TRAANG può essere programmato un angolo parametrizzabile per la trasformazione dichiarata.

Movimento cartesiano PTP

Alla trasformazione cinematica appartiene anche il "Movimento cartesiano PTP" con il quale si possono programmare fino a 8 diverse posizioni dello snodo STAT=. Le posizioni vengono programmate nel sistema di coordinate cartesiano; il movimento della macchina avviene in coordinate macchina.

Bibliografia: /FB2/ Manuale di guida alle funzioni, Funzioni di ampliamento; Trasformazione cinematica (M1)

Trasformazioni concatenateÈ possibile attivare in successione rispettivamente due trasformazioni. In questo modo le quote di movimento per gli assi della prima trasformazione, diventano i dati di ingresso per la seconda trasformazione concatenata.

Come prima trasformazione sono possibili:

• Trasformazione dell'orientamento TRAORI

• Trasformazione polare TRANSMIT

• Trasformazione cilindrica TRACYL

• Trasformazione per asse inclinato TRAANG

La seconda trasformazione deve essere del tipo "Asse inclinato TRAANG"

Page 324: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.1 Programmazione generale dei tipi di trasformazione

Preparazione del lavoro324 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

6.1.1 Movimenti di orientamento nelle trasformazioni

Movimenti di traslazione e movimenti di orientamentoI movimenti degli orientamenti programmabili dipendono principalmente dal tipo di macchina. Nella trasformazione a tre, quattro e cinque assi con TRAORI, gli assi rotanti o gli assi lineari orientabili descrivono i movimenti di orientamento dell'utensile.

Le variazioni delle posizioni degli assi rotanti coinvolti nella trasformazioni dell'orientamento comportano movimenti di compensazione degli altri assi della macchina. La posizione della punta dell'utensile rimane invariata.

A seconda dell'impiego, i movimenti di orientamento dell'utensile possono essere programmati con un identificatore di asse rotante A…, B…, C… degli assi virtuali indicando angoli di Eulero e RPY oppure vettori di direzione e vettori normalizzati alla superficie, vettori normalizzati per l'asse di rotazione di un cono oppure per l'orientamento intermedio su una superficie conica.

Nella trasformazione cinematica con TRANSMIT, TRACYL e TRAANG, il controllo trasforma i movimenti programmati del sistema di coordinate cartesiano in movimenti degli assi reali della macchina.

Cinematica di macchina durante la trasformazione a tre, quattro e cinque assi TRAORIPuò essere ruotato sia l'utensile, sia la tavola utensile con uno o due assi rotanti. È possibile anche una combinazione di rispettivamente una testina orientabile monoasse e una tavola rotante.

Figura 6-1

Page 325: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni6.1 Programmazione generale dei tipi di trasformazione

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 325

Trasformazioni generiche a 5/6 assi

Durante il richiamo della "trasformazione a tre, quattro e cinque/sei assi generica" è inoltre possibile trasmettere l'orientamento di base dell'utensile. Non valgono più le limitazioni relative alle direzioni degli assi rotanti. Se gli assi rotanti non si trovano esattamente in posizione ortogonale l'uno rispetto all'altro oppure se gli assi rotanti esistenti non sono esattamente paralleli agli assi lineari, la "trasformazione a cinque/sei assi generica" può fornire risultati migliori dell'orientamento dell'utensile.

Trasformazioni cinematiche TRANSMIT, TRACYL e TRAANGPer le fresature su torni o di un asse posizionabile inclinato per la rettifica, in base alla trasformazioni standard valgono le seguenti assegnazioni dell'asse:

Tipo di macchina Programmazione dell'orientamentoTrasformazione a tre assi, tipi di macchina 1 e 2

Programmazione dell'orientamento dell'utensile solo nel piano ortogonale all'asse rotante. Esistono due assi traslatori (assi lineari) e un asse rotante.

Trasformazione a quattro assi, tipi di macchina 1 e 2

Programmazione dell'orientamento dell'utensile solo nel piano ortogonale all'asse rotante. Esistono tre assi traslatori (assi lineari) e un asse rotante.

Trasformazione a cinque assi, tipi di macchina 3 Testina orientabile monoasse e tavola monoasse

Programmazione della trasformazione dell'orientamento Cinematica con tre assi lineari e due assi rotanti ortogonali. Gli assi rotanti sono paralleli a due dei tre assi lineari.. Il primo asse rotante viene mosso da due assi lineari cartesiani. Esso ruota il terzo asse lineare con l'utensile. Il secondo asse rotante fa ruotare il pezzo.

Tipo di macchina Programmazione della trasformazione dell'orientamentoTrasformazione generica a cinque assi, tipi di macchina 4 Testina orientabile a due assi con utensile rotante su se stesso e tavola monoasse

Programmazione della trasformazione dell'orientamento Cinematica con tre assi lineari e tre assi rotanti ortogonali. Gli assi rotanti sono paralleli a due dei tre assi lineari.. Il primo asse rotante viene mosso da due assi lineari cartesiani. Esso ruota il terzo asse lineare con l'utensile. Il secondo asse rotante fa ruotare il pezzo. L'orientamento base dell'utensile può essere programmato tramite una sua rotazione aggiuntiva su se stesso con l'angolo di rotazione THETA.

TRANSMIT Attivazione della trasformazione polareLavorazione frontale in direzione del bloccaggio del pezzo

un asse rotante,un asse di incremento ortogonale all'asse di rotazione,un asse longitudinale parallelo all'asse di rotazione

Page 326: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.1 Programmazione generale dei tipi di trasformazione

Preparazione del lavoro326 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Movimento cartesiano PTPIl movimento della macchina avviene nelle coordinate della macchina e viene programmato con:

Movimento PTP durante la trasformazione generica a 5/6 assi

Il movimento della macchina avviene in coordinate macchina e l'orientamento dell'utensile può essere programmato sia con posizioni di asse rotante, sia con vettori indipendenti dalla cinematica (angolo di Eulero o RPY) o con i vettori direzionali.

Sono possibili l'interpolazione dell'asse rotante, l'interpolazione vettoriale con interpolazione circolare ad ampio raggio o l'interpolazione del vettore di orientamento su una superficie conica.

Esempio di trasformazione a tre ... cinque assi per una testa di fresatura cardanicaLa macchina utensile ha almeno 5 assi dei quali

• Tre assi traslatori per movimenti rettilinei che muovono il punto di lavorazione in una posizione qualsiasi del campo di lavoro.

• Due assi rotanti orientabili disposti con un angolo progettabile (normalmente 45 gradi) che consentono all'utensile orientamenti nello spazio limitati ad un posizionamento di 45 gradi su una semisfera.

TRACYL Attivazione della trasformazione sulla superficie cilindricaLavorazione di un numero qualsiasi di cave sul corpo cilindrico

un asse rotante,un asse di incremento ortogonale all'asse di rotazione,un asse longitudinale parallelo all'asse di rotazione

TRAANG Attivazione della trasformazione per asse inclinatoLavorazione con asse di incremento inclinato

un asse rotante,un asse di incremento ortogonale con angolo parametrizzabile,un asse longitudinale parallelo all'asse di rotazione

TRAORI Attivazione della trasformazioneMovimento punto a punto PTP

Accostamento alla posizione nel sistema di coordinate cartesiano (MKS)

CP Movimento vettoriale degli assi cartesiani in (BKS)STAT La posizione dello snodo dipende dalla trasformazioneTU Angolo che devono compiere gli assi per effettuare il percorso

più breve

Page 327: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni6.1 Programmazione generale dei tipi di trasformazione

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 327

6.1.2 Panoramica della trasformazione dell'orientamento TRAORI

Possibili tipi di programmazione con TRAORI

Tipo di macchina Programmazione per la trasformazione attiva TRAORITipi di macchina 1, 2 o 3, testina orientabile a due assi o tavola a due assi o una combinazione di testina orientabile monoasse e tavola.

La successione degli assi di orientamento e la direzione di orientamento dell'utensile sono progettabili in funzione della macchina tramite i dati della macchina e in funzione della cinematica della macchina, oppure sono progettabili in funzione del pezzo con orientamento programmabile indipendentemente dalla cinematica della macchina. Le direzioni di rotazione degli assi di orientamento vengono programmate nel sistema di riferimento con: - ORIMKS sistema di riferimento = sistema di coordinate macchina - ORIWKS sistema di riferimento = sistema di coordinate macchina L'impostazione di base è ORIWKS.Programmazione degli assi di orientamento con: A, B, C delle posizioni degli assi macchina in maniera diretta A2, B2, C2 Programmazione degli angoli degli assi virtuali con - ORIEULER tramite angolo di Eulero (standard) - ORIRPY tramite angolo RPY - ORIVIRT1 tramite assi di orientamento virtuali 1a definizione - ORIVIRT2 tramite assi di orientamento virtuali 2a definizione con differenziazione del tipo di interpolazione:Interpolazione lineare - ORIAXES di assi di orientamento o assi macchina Interpolazione del cerchio estesa (interpolazione del vettore di orientamento)- ORIVECT di assi di orientamento Programmazione degli assi di orientamento tramite indicazione A3, B3, C3 dei componenti del vettore (normale alla direzione/superficie) Programmazione dell'orientamento utensile risultante A4, B4, C4 del vettore normale alla superficie all'inizio del blocco A5, B5, C5 del vettore normale alla superficie alla fine del blocco LEAD angolo d'anticipo per l'orientamento utensile TILT angolo laterale per l'orientamento utensile

Page 328: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.1 Programmazione generale dei tipi di trasformazione

Preparazione del lavoro328 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Interpolazione del vettore di orientamento su una superficie conica modifiche all'orientamento su una superficie conica situata in un punto a piacere nello spazio tramite interpolazione:- ORIPLANE nel piano (interpolazione del cerchio estesa) - ORICONCW su una superficie conica in senso orario - ORICONCCW su una superficie conica in senso antiorario A6, B6, C6 del vettore di direzione (asse rotante del cono) -OICONIO interpolazione su una superficie conica con: A7, B7, C7 vettori intermedi (orientamento iniziale e finale) oppure - ORICONTO su una superficie conica del raccordo tangenziale Modifiche dell'orientamento riferite ad un percorso con - ORICURVE impostazione del movimento di due punti di contatto tramite PO[XH]=(xe, x2, x3, x4, x5) polinomi di orientamento fino al 5° grado PO[YH]=(ye, y2, y3, y4, y5) polinomi di orientamento fino al 5° grado PO[ZH]=(ze, z2, z3, z4, z5) polinomi di orientamento fino al 5° grado- ORIPATHS spianamento del percorso di orientamento con A8, B8, C8 La fase di modifica dell'orientamento dell'utensile comprende: direzione e lunghezza del percorso dell'utensile durante il movimento di svincolo

Tipi di macchina 1 e 3

Altri tipi di macchina con rotazione supplementare dell'utensile attorno a sé stesso richiedono un terzo asse rotante

Trasformazione dell'orientamento, ad es. trasformazione generica a 6 assi. Rotazioni del vettore di orientamento.

Programmazione delle rotazioni dell'orientamento utensile con LEAD angolo d'anticipo relativo al vettore normale alla superficie PO[PHI] Programmazione di un polinomio fino al 5° gradoTILT angolo laterale rotazione intorno alla tangente del percorso (direzione Z) PO[PSI] Programmazione di un polinomio fino al 5° grado THETA angolo di rotazione (rotazione intorno alla direzione dell'utensile in Z) THETA= valore che viene raggiunto a fine blocco THETA=AC(...) commutazione all'impostazione in quote assolute nel blocco THETA=IC(...) commutazione nell'impostazione in quote incrementali nel blocco THETA=Θe Interpolazione dell'angolo programmato G90/G91 PO[THT]=(..) programmazione di un polinomio fino al 5° grado Programmazione del vettore di rotazione - ORIROTA rotazione assoluta - ORIROTR vettore di rotazione relativo - ORIROTT vettore di rotazione tangenziale

Orientamento rispetto al percorso per modifiche di orientamento relative alla traiettoria o rotazione del vettore di rotazione tangenzialmente alla traiettoria

Modifiche dell'orientamento relative al percorso con- ORIPATH orientamento dell'utensile riferito al percorso - ORIPATHS programmazione aggiuntiva del vettore di rotazione in caso di una piega nel percorso di orientamento - ORIROTC vettore di rotazione tangenziale, rotazione verso la tangente vettoriale

Page 329: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni6.2 Trasformazione a tre, quattro e cinque assi (TRAORI)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 329

6.2 Trasformazione a tre, quattro e cinque assi (TRAORI)

6.2.1 Relazioni generali della testa portautensili cardanica

FunzionePer avere condizioni di taglio ottimali nella lavorazione di superfici curve nello spazio, l'angolo di orientamento dell'utensile deve essere variabile.

Figura 6-2

Nei dati degli assi è definita la struttura di macchina con la quale è possibile effettuare questo tipo di lavorazione.

Page 330: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.2 Trasformazione a tre, quattro e cinque assi (TRAORI)

Preparazione del lavoro330 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Trasformazione a 5 assiTesta utensile cardanica

In questo caso, sono i tre assi lineari (X, Y, Z) e i due assi di orientamento (C, A) a determinare l'angolo di orientamento ed il punto di lavoro dell'utensile. Uno dei due assi di orientamento viene utilizzato come asse inclinato (qui nell'esempio A') - molto spesso con un angolo di 45°.

Negli esempi qui riportati la disposizione si riferisce ad una cinematica di macchina CA con testina utensile cardanica!.

Costruttore della macchina

La successione degli assi di orientamento e la direzione di orientamento dell'utensile possono essere stabilite in funzione della cinematica della macchina tramite dati macchina.

In questo esempio A' si trova sotto l'angolo φ verso l'asse X

Page 331: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni6.2 Trasformazione a tre, quattro e cinque assi (TRAORI)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 331

In generale valgono le seguenti relazioni possibili:

L'angolo l'asse φ può essere progettato tramite dati macchina nel campo da 0° ... +89°.

Con asse lineare orientabile

Si tratta di un allineamento tra utensili mobili e pezzi mobili. La cinematica si compone di tre assi lineari (X, Y, Z) e di due assi rotanti disposti ad angolo retto. Il primo asse rotante, ad esempio, viene mosso su di una slitta a croce da due assi lineari; l'utensile è disposto parallelamente e si trova sul terzo asse. Il secondo asse rotante fa ruotare il pezzo. Il terzo asse lineare (asse orientabile) si trova nel piano della slitta a croce.

La successione degli assi rotanti e la direzione di orientamento dell'utensile possono essere stabilite in funzione della cinematica della macchina tramite dati macchina.

Sono valide le seguenti correlazioni:

Per ulteriori descrizioni sulle sequenze degli assi configurabili per la direzione di orientamento dell'utensile vedere

Bibliografia: /FB3/ Manuale delle funzioni speciali; Trasformazioni a 3 ... 5 assi (F2), capitolo Testina di fresatura cardanica, "Parametrizzazione".

A' si trova sotto l'angolo φ verso l'asse XB' si trova sotto l'angolo φ verso l'asse YC' si trova sotto l'angolo φ verso l'asse Z

Assi: Sequenza degli assi:1. Asse rotante A A B B C C2. Asse rotante B C A C A B Asse lineare orientabile Z Y Z X Y X

Page 332: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.2 Trasformazione a tre, quattro e cinque assi (TRAORI)

Preparazione del lavoro332 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

6.2.2 Trasformazione a tre, quattro e cinque assi (TRAORI)

Funzione L'utente può progettare due o tre assi lineari e un asse rotante. Nelle trasformazioni si parte dal presupposto che l'asse rotante sia in posizione ortogonale rispetto al piano di orientamento.

L'orientamento dell'utensile può avvenire solo nel piano ortogonale all'asse rotante. La trasformazione supporta i tipi di macchina con utensile e pezzo in movimento.

La progettazione e la programmazione delle trasformazioni a 3 e 4 assi sono uguali a quelle delle trasformazioni a 5 assi.

Bibliografia:Manuale di guida alle funzioni, Funzioni speciali; Trasformazioni multiasse (F2)

SintassiTRAORI(<n>)

TRAORI(<n>,<X>,<Y>,<Z>,<A>,<B>)

TRAFOOF

Significato

TRAORI: Attiva la prima trasformazione di orientamento concordataTRAORI(<n>): Attiva la trasformazione di orientamento concordata con n<n>: numero della trasformazione

Valore: 1 o 2Esempio:TRAORI(1) attiva la trasformazione dell'orientamento 1

<X>,<Y>,<Z>: componente del vettore di orientamento al quale punta l'utensile.<A>,<B>: offsetg programmabile per gli assi rotantiTRAFOOF: Disattivazione della trasformazione

Page 333: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni6.2 Trasformazione a tre, quattro e cinque assi (TRAORI)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 333

Orientamento dell'utensile

A seconda della direzione di orientamente selezionata dell'utensile è necessario impostare nel programma NC il piano di lavoro attivo (G17, G18, G19) in modo che la correzione della lunghezza utensile agisca nel senso dell'orientamento utensile.

La trasformazione di orientamento è sempre diretta dalla punta dell'’utensile verso il portautensile.

Offset per gli assi di orientamento

Con l'attivazione della trasformazione di orientamento è possibile programmare un ulteriore offset per gli assi di orientamento.

Si possono tralasciare i parametri se viene rispettata la sequenza corretta della programmazione.

Esempio:

TRAORI(, , , ,A,B) ; se si deve immettere un unico offset.

In alternativa alla programmazione diretta, l'offset supplementare per gli assi di orientamento può anche essere rilevato automaticamente dallo spostamento origine momentaneamente attivo. L'acquisizione viene progettata tramite i dati macchina.

Esempi

NotaDopo l'attivazione della trasformazione i dati di posizione (X, Y, Z) si riferiscono sempre alla punta dell'utensile. La modifica delle posizioni degli assi rotanti interessati dalla trasformazione provoca dei movimenti di compensazione degli altri assi macchina tali da lasciare invariata la posizione della punta della punta dell'utensile.

TRAORI(1,0,0,1) ; l'orientamento di base dell'utensile punta in direzione Z

TRAORI(1,0,1,0) ; l'orientamento di base dell'utensile punta in direzione Z

TRAORI(1,0,1,1) ; l'orientamento di base dell'utensile punta in direzione Y/Z (corrisponde alla posizione -45°)

Page 334: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.2 Trasformazione a tre, quattro e cinque assi (TRAORI)

Preparazione del lavoro334 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

6.2.3 Varianti della programmazione dell'orientamento e della posizione base(ORIRESET)

Programmazione dell'orientamento dell'utensile con TRAORIIn combinazione con una trasformazione dell'orientamento programmabile TRAORI è possibile programmare tramite gli indicatori di asse rotanti A.., B.., C.., oltre agli assi lineari X, Y e Z, anche posizioni dell'asse o assi virtuali con angoli o componenti vettoriali. Per assi di orientamento e assi macchina sono possibili diversi tipi di interpolazione. Indipendentemente da quali polinomi di orientamento PO[angolo] e polinomi di asse PO[asse] sono attualmente attivi, possono essere programmati diversi tipi di polinomi come ad es. G1, G2, G3, CIP o POLY.

La modifica dell'orientamento dell'utensile può essere programmata anche tramite vettori di orientamento. In questo caso l'orientamento finale di ogni blocco può essere eseguito tramite programmazione diretta del vettore o tramite programmazione delle posizioni dell'asse rotante.

Posizione base dell'orientamento dell'utensile ORIRESETLa programmazione di ORIRESET(A, B, C) fa sì che gli assi di orientamento intraprendano un movimento lineare e sincrono dalla loro posizione temporanea alla posizione base definita.

Se per un asse non viene programmata alcuna posizione base, viene utilizzata la posizione definita a partire dal relativo dato macchina $MC_TRAFO5_ROT_AX_OFFSET_1/2. I frame eventualmente attivi degli assi rotanti non vengono considerati.

NotaVarianti della programmazione dell'orientamento per trasformazioni a tre ... cinque assiNella trasformazione a 3 .. 5 assi, le varianti

1. A, B, C indicazione diretta delle posizioni dell'asse della macchina2. A2, B2, C2 programmazione dell'angolo degli assi virtuali tramite angolo di Eulero o angolo RPY 3. A3 ,B3, C3 indicazione dei componenti vettoriali 4. LEAD, TILT indicazione dell'angolo di anticipo e dell'angolo laterale riferito al percorso e alla superficie 5. A4, B4, C4 e A5, B5, C5 vettore normale alla superficie all'inizio e alla fine del blocco 6. A6, B6, C6 e A7, B7, C7 interpolazione e vettore di orientamento su una superficie conica 7. A8, B8, C8 modifica dell'orientamento dell'utensile, direzione e lunghezza di percorso del movimento di svincolo

si escludono reciprocamente.

I valori con programmazione mista vengono impediti da messaggi di allarme.

Nota

Solo se è attiva una trasformazione dell'orientamento con TRAORI(...) è possibile programmare una posizione base dell'orientamento dell'utensile indipendentemente dalla cinematica con ORIRESET(...) senza che scatti l'allarme 14101.

Page 335: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni6.2 Trasformazione a tre, quattro e cinque assi (TRAORI)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 335

Esempi

Programmazione delle rotazioni LEAD, TILT e THETANella trasformazione a 3 ... 5 assi le rotazioni dell'orientamento dell'utensile vengono programmate con l'angolo d'anticipo LEAD e l'angolo laterale TILT.

In una trasformazione con terzo asse rotante sono consentite programmazioni supplementari di C2 (rotazioni del vettore di orientamento) sia per l'orientamento con componenti vettoriali, sia con indicazione dell'angolo LEAD, TILT.

Con un terzo asse rotante supplementare, la rotazione dell'utensile su se stesso può essere programmata con l'angolo di rotazione THETA.

6.2.4 Programmazione dell'orientamento utensile (A..., B..., C..., LEAD, TILT)

FunzionePer la programmazione dell'orientamento utensile esistono le seguenti possibilità:

1. Programmazione diretta del movimento degli assi rotanti. La variazione dell'orientamento avviene sempre nel sistema di coordinate base o di macchina. Gli assi di orientamento vengono mossi come assi sincroni.

2. Programmazione con angoli di Eulero o di RPY secondo la definizione dell'angolo tramite A2, B2, C2.

3. Programmazione del vettore direzionale tramite A3, B3, C3. Il vettore direzionale indica dalla punta dell'utensile in direzione del portautensile.

4. Programmazione del vettore normale alla superficie all'inizio del blocco con A4, B4, C4 e alla fine del blocco con A5, B5, C5 (fresatura frontale).

5. Programmazione tramite angolo d'anticipo LEAD e angolo laterale TILT

1. Esempio di cinematica di macchina CA (nomi dell'asse canale C, A)

ORIRESET(90, 45) ;C a 90 gradi, A a 45 gradi

ORIRESET(, 30) ;C su $MC_TRAFO5_ROT_AX_OFFSET_1/2[0], A a 30 gradi

ORIRESET( ) ;C su $MC_TRAFO5_ROT_AX_OFFSET_1/2[0],

;A su $MC_TRAFO5_ROT_AX_OFFSET_1/2[1]

2. Esempio di cinematica di macchina CAC (nomi dell'asse canale C, A, B)

ORIRESET(90, 45, 90) ;C a 90 gradi, A a 45 gradi, B a 90 gradi

ORIRESET( ) ;C su $MC_TRAFO5_ROT_AX_OFFSET_1/2[0],

;A su $MC_TRAFO5_ROT_AX_OFFSET_1/2[1],

;B su $MC_TRAFO5_ROT_AX_OFFSET_1/2[2]

Page 336: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.2 Trasformazione a tre, quattro e cinque assi (TRAORI)

Preparazione del lavoro336 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

6. Per la programmazione dell'asse di rotazione del cono come vettore normalizzato tramite A6, B6, C6 o dell'orientamento intermedio sulla superficie conica tramite A7, B7, C7, vedere il capitolo "Programmazione dell'orientamento lungo una superficie conica (ORIPLANE, ORICONxx)".

7. Per la programmazione della modifica di orientamento, direzione e lunghezza di percorso dell'utensile durante il movimento di svincolo tramite A8, B8, C8, vedere il capitolo "Livellamento del percorso di orientamento (ORIPATHS A8=, B8=, C8=)".

Definizione dell'orientamento dell'utensile tramite codice G

NotaIn tutti i casi la programmazione dell'orientamento è consentita solo se è stata attivata una trasformazione di orientamento.

Vantaggio: questi programmi sono utilizzabili con qualsiasi tipo di cinematica di macchina.

NotaCostruttore della macchinaTramite dati macchina è possibile commutare tra angoli di Eulero o RPY. Con opportune impostazioni dei dati macchina, una commutazione è possibile sia in funzione del codice G attivo del gruppo 50, sia indipendentemente da esso. Sono disponibili le seguenti possibilità d'impostazione:

1. Se entrambi i dati macchina per la definizione degli assi di orientamento e la definizione dell'angolo di orientamento tramite codice G sono impostati a zero: Gli angoli programmati con A2, B2, C2 vengono interpretati, a seconda del dato macchina definizione angolo della programmazione dell'orientamento, come angoli di Eulero o RPY.

2. Se il dato macchina per la definizione degli assi di orientamento tramite codice G è impostato a uno, la commutazione avviene in funzione del codice G attivo del gruppo 50: Gli angoli programmati con A2, B2, C2 vengono interpretati secondo uno dei codici G attivi ORIEULER, ORIRPY, ORIVIRT1, ORIVIRT2, ORIAXPOS e ORIPY2. I valori programmati con gli assi di orientamento vengono interpretati secondo il codice G attivo del gruppo 50 anche come angoli di orientamento.

3. Se il dato macchina per la definizione degli angoli di orientamento tramite codice G è impostato a uno e il dato macchina per la definizione degli assi di orientamento tramite codice G è impostato a zero, la commutazione avviene indipendentemente dal codice G attivo del gruppo 50:Gli angoli programmati con A2, B2, C2 vengono interpretati secondo uno dei codici G attivi ORIEULER, ORIRPY, ORIVIRT1, ORIVIRT2 ORIAXPOS e ORIPY2. I valori programmati con gli assi di orientamento vengono interpretati, indipendentemente dal codice G attivo del gruppo 50, sempre come posizioni di asse rotante.

Page 337: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni6.2 Trasformazione a tre, quattro e cinque assi (TRAORI)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 337

Programmazione

Parametro

G1 X Y Z A B C Programmazione del movimento degli assi di rotazione

G1 X Y Z A2= B2= C2= Programmazione con angoli di EuleroG1 X Y Z A3== B3== C3== Programmazione del vettore direzionaleG1 X Y Z A4== B4== C4== Programmazione del vettore normale alla

superficie a inizio bloccoG1 X Y Z A5== B5== C5== Programmazione del vettore normale alla

superficie a fine bloccoLEAD= Angolo di anticipo per la programmazione

dell'orientamento utensileTILT= Angolo laterale per la programmazione

dell'orientamento utensile

G.... Impostazione del tipo di movimento degli assi rotanti

X Y Z Impostazione degli assi lineari

A B C Impostazione delle posizioni macchina degli assi rotanti

A2 B2 C2 Programmazione angolare (angolo di Eulero o RPY) degli assi virtuali o di orientamento

A3 B3 C3 Impostazione dei componenti vettoriali, vettore direzionale

A4 B4 C4 Impostazione, es. per fresatura frontale, all'inizio del blocco delle componenti del vettore normale alla superficie

A5 B5 C5 Impostazione, es. per fresatura frontale, alla fine del blocco delle componenti del vettore normale alla superficie

LEAD Angolo relativo al vettore normale alla superficie nel piano determinato dalla tangente al percorso e dal vettore normale alla superficie

TILT Angolo nel piano, perpendicolare alla tangente al percorso relativamente al vettore normale alla superficie

Page 338: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.2 Trasformazione a tre, quattro e cinque assi (TRAORI)

Preparazione del lavoro338 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio di confronto senza e con trasformazione a 5 assi

DescrizioneSolitamente i programmi in 5 assi vengono generati da sistemi CAD/CAM e non impostati direttamente nel controllo numerico. Pertanto i seguenti chiarimenti si rivolgono essenzialmente ai programmatori di postprocessori.

Il tipo di programmazione dell'orientamento viene definito nel codice G, gruppo 50:

ORIEULER tramite angolo di Eulero ORIRPY tramite angolo RPY (successione di rotazione ZYX) ORIVIRT1 tramite assi di orientamento virtuali (definizione 1) ORIVIRT2 tramite assi di orientamento virtuali (definizione 2) ORIAXPOS tramite assi di orientamento virtuali con posizioni di asse rotante ORIPY2 tramite angolo RPY (successione di rotazione XYZ)

Costruttore della macchina

Tramite i dati macchina il costruttore della macchina può definire diverse varianti. Fare attenzione alle indicazioni del costruttore della macchina

Page 339: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni6.2 Trasformazione a tre, quattro e cinque assi (TRAORI)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 339

Programmazione con angoli di Eulero ORIEULERI valori programmati per l'orientamento con A2, B2, C2 vengono interpretati come angoli di Eulero (in gradi).

Il vettore di orientamento si ricava ruotando prima il vettore con A2 intorno all'asse Z, poi con B2 intorno al nuovo asse X ed infine con C2 intorno al nuovo asse Z.

In questo caso il valore di C2 (rotazione intorno al nuovo asse Z) è irrilevante e non va pertanto programmato.

Page 340: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.2 Trasformazione a tre, quattro e cinque assi (TRAORI)

Preparazione del lavoro340 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Programmazione con angoli RPY ORIRPYI valori programmati per l'orientamento con A2, B2, C2 vengono interpretati come angoli RPY (in gradi).

Costruttore della macchina

Nel caso di definizione dell'angolo con angolo di orientamento mediante angolo RPY vale per gli assi di orientamento $MC_ORI_DEF_WITH_G_CODE = 0

Il vettore di orientamento si ricava ruotando prima di C2 il vettore intorno all'asse Z, poi di B2 intorno al nuovo asse Y ed infine di A2 intorno al nuovo asse X.

Se il dato macchina per la definizione degli assi di orientamento tramite codice G è $MC_ORI_DEF_WITH_G_CODE = 1, vale ciò che segue: Il vettore di orientamento si ricava ruotando di A2 un vettore in direzione Z intorno all'asse Z, poi di B2 intorno al nuovo asse Y ed infine di C2 intorno al nuovo asse X.

NotaAl contrario della programmazione con angoli di Eulero, tutti e tre i valori hanno influenza sul vettore di orientamento.

Page 341: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni6.2 Trasformazione a tre, quattro e cinque assi (TRAORI)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 341

Programmazione del vettore direzionaleLe componenti del vettore direzionale vengono programmate con A3, B3, C3 . Il vettore va dalla punta alla base di fissaggio dell'utensile; la lunghezza del vettore è irrilevante.

Le componenti del vettore non programmate vengono interpretate come zero.

Programmazione dell'orientamento utensile con LEAD= e TILT=L'orientamento risultante dell'utensile viene ricavato da:

• Tangente al percorso

• Vettore normale alla superficie all'inizio del blocco con A4, B4, C4 e alla fine del blocco con A5, B6, C5

• Angolo d'anticipo LEAD nel piano determinato dalla tangente al percorso e dal vettore normale alla superficie

• Angolo laterale TILT alla fine del blocco in posizione ortogonale alla tangente vettoriale e relativo al vettore normale alla superficie

Comportamento in presenza di angoli interni (per correzione utensile 3D)

Se si accorcia il blocco su un angolo interno, l'orientamento utensile risultante viene ugualmente raggiunto a fine blocco.

Page 342: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.2 Trasformazione a tre, quattro e cinque assi (TRAORI)

Preparazione del lavoro342 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Definizione dell'orientamento utensile con LEAD= e TILT=

Figura 6-3

6.2.5 Fresatura frontale (fresatura 3D A4, B4, C4, A5, B5, C5)

FunzioneLa fresatura frontale viene impiegata per la lavorazione di superfici curve.

Per questo tipo di fresatura 3D è necessaria la descrizione riga per riga della traiettoria 3D sulla superficie del pezzo.

Page 343: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni6.2 Trasformazione a tre, quattro e cinque assi (TRAORI)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 343

Il calcolo viene effettuato normalmente con un CAM tenendo conto della forma e delle dimensioni dell'utensile. I blocchi NC calcolati vengono poi letti nel controllo numerico attraverso un postprocessore.

Programmazione della curvatura della traiettoriaDescrizione delle superfici

La descrizione della curvatura si effettua mediante vettori normali alla superficie con i seguenti componenti:

A4, B4, C4 vettore iniziale all'inizio del blocco

A5, B5, C5 vettore finale alla fine del blocco

Se in un blocco è presente solo il vettore iniziale, il vettore normale alla superficie resta costante per tutto il blocco. Se in un blocco è presente solo il vettore finale, viene effettuata un'interpolazione circolare grossolana verso il valore finale programmato facendo riferimento al vettore finale del blocco precedente.

Se sono programmati entrambi i vettori, viene effettuata un'interpolazione circolare tra ambedue le direzioni. In questo modo possono essere realizzati percorsi costanti e regolari.

Nella posizione di base i vettori normali alla superficie sono posizionati in direzione Z indipendentemente dal piano attivo G17 ... G19.

La lunghezza dei vettori è irrilevante.

I componenti di vettori non programmati vengono impostati a zero.

Se è attivo ORIWKS, vedere il capitolo "Riferimento degli assi di orientamento (ORIWKS, ORIMKS)" i vettori normali alla superficie si riferiscono al frame attivo e ruotano nel caso di rotazione del frame stesso.

Costruttore della macchina

Il vettore normale alla superficie deve essere perpendicolare alla tangente del profilo nell'ambito di un campo di valori impostabile tramite un dato macchina. In caso contrario viene emesso un allarme.

Page 344: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.2 Trasformazione a tre, quattro e cinque assi (TRAORI)

Preparazione del lavoro344 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

6.2.6 Riferimento degli assi di orientamento (ORIWKS, ORIMKS)

FunzioneNella programmazione dell'orientamento nel sistema di coordinate pezzo tramite

• angolo di Eulero, angolo RPY oppure

• vettore di orientamento

è possibile stabilire il percorso del movimento di rotazione tramite ORIMKS/ORIWKS.

SintassiORIMKS=...

ORIWKS=...

Significato

Con ORIMKS è possibile programmare i movimenti reali di macchina per evitare, ad esempio, collisioni con gli attrezzi o altri oggetti.

DescrizioneCon ORIMKS il movimento eseguito dall'utensile dipende dalla cinematica della macchina. Nella variazione dell'orientamento, con punta dell'utensile fissa nello spazio, avviene un'interpolazione lineare tra le posizioni degli assi rotanti.

Con ORIWKS il movimento dall'utensile non dipende dalla cinematica della macchina. Nella variazione dell'orientamento, con punta dell'utensile fissa nello spazio, l'utensile muove nel piano definito dai vettori di partenza e di arrivo.

NotaCostruttore della macchinaIl tipo di interpolazione per l'orientamento viene definito con il dato macchina:

MD21104 $MC_ORI_IPO_WITH_G_CODE

=FALSE: Il riferimento è dato dalle funzioni G ORIWKS e ORIMKS

=TRUE: Il riferimento è dato dalle funzioni G del gruppo 51 (ORIAXES, ORIVECT, ORIPLANE, ...)

ORIMKS Rotazione nel sistema di coordinate macchinaORIWKS Rotazione nel sistema di coordinate pezzo

NotaORIWKS rappresenta la posizione di default. Se per un programma a cinque assi non si conosce a priori su quale macchina esso debba funzionare, va scelta sempre la funzione ORIWKS. I movimenti che la macchina esegue realmente dipendono dalla cinematica della macchina stessa.

Page 345: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni6.2 Trasformazione a tre, quattro e cinque assi (TRAORI)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 345

Posizioni particolari

Costruttore della macchina

Per non sovraccaricare gli assi di macchina, la gestione della velocità riduce la velocità vettoriale in prossimità delle posizioni singolari.

Con i dati macchina$MC_TRAFO5_NON_POLE_LIMIT

$MC_TRAFO5_POLE_LIMIT

è possibile parametrizzare la trasformazione in modo che i movimenti di orientamento in prossimità del polo avvengano attraverso il polo stesso per consentire una lavorazione rapida.

A partire dalla versione SW 5.2 le posizioni singolari vengono elaborate solo con il dato macchina $MC_TRAFO5_POLE_LIMIT .

Bibliografia: /FB3/ Manuale delle funzioni speciali; Trasformazione a 3 ... 5 assi (F2), capitolo "Posizioni singolari e relativa gestione".

NotaORIWKSI movimenti di orientamento nel campo delle posizioni singolari della macchina a cinque assi richiedono ampi movimenti degli assi macchina. (ad esempio per una testa orientabile rotante con C come asse rotante ed A come asse di ribaltamento, tutte le posizioni con A=0 sono posizioni singolari).

Page 346: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.2 Trasformazione a tre, quattro e cinque assi (TRAORI)

Preparazione del lavoro346 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

6.2.7 Programmazione degli assi di orientamento (ORIAXES, ORIVECT, ORIEULER,ORIRPY, ORIRPY2, ORIVIRT1, ORIVIRT2)

FunzioneLa funzione degli assi di orientamento descrive l'orientamento dell'utensile nello spazio e viene ottenuta programmando l'offset per gli assi rotanti. Un ulteriore terzo grado di libertà può essere ottenuto ruotando ulteriormente l'utensile su sé stesso. Questo orientamento viene eseguito in una qualsiasi posizione nello spazio tramite un terzo asse rotante e richiede la trasformazione a sei assi. L'autorotazione dell'utensile su sé stesso viene definita in base al tipo di interpolazione dei vettori di rotazione con l'angolo di rotazione THETA, vedere il capitolo "Rotazioni dell'orientamento dell'utensile (ORIROTA/TR/TT, ORIROTC, THETA)".

ProgrammazioneGli assi di orientamento vengono programmati tramite gli identificatori di asse A2, B2, C2.

Per le variazioni di orientamento lungo una superficie conica che si trova nello spazio possono essere programmati altri offset asse rotante degli assi di orientamento, vedere il capitolo "Programmazione dell'orientamento lungo una superficie conica (ORIPLANE, ORICONxx).

Parametro

N... ORIAXES oppure ORIVECT N... G1 X Y Z A B C

oppureN... ORIPLANE

oppureN... ORIEULER oppure ORIRPY o ORIRPY2N... G1 X Y Z A2= B2= C2=

oppureN... ORIVIRT1 oppure ORIVIRT2 N... G1 X Y Z A3= B3= C3=

Interpolazione lineare oppure circolare

oppureInterpolazione di orientamento del pianooppureAngolo di orientamento, angolo di Eulero/RPYProgrammazione angolare di assi virtualioppureassi di orientamento virtuali definizione 1 o 2 programmazione del vettore direzionale

ORIAXES Interpolazione lineare degli assi macchina o degli assi di orientamento

ORIVECT Interpolazione del cerchio più grande (identico a ORIPLANE)

ORIMKS

ORIWKS

Rotazione nel sistema di coordinate macchina

Rotazione nel sistema di coordinate pezzo

Per la descrizione vedere il capitolo Rotazioni dell'orientamento utensile

Page 347: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni6.2 Trasformazione a tre, quattro e cinque assi (TRAORI)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 347

DescrizioneCostruttore della macchina

Con il dato macchina MD $MC_ORI_DEF_WITH_G_CODE viene stabilito come debba essere definito l'angolo A2, B2, C2 programmato:

La definizione ha luogo secondo il dato macchina MD $MC_ORIENTATION_IS_EULER (standard) oppure secondo il gruppo G 50 (ORIEULER, ORIRPY, ORIVIRT1, ORIVIRT2).

Con il dato macchina MD $MC_ORI_IPO_WITH_G_CODE viene stabilita l'interpolazione attiva: ORIWKS/ORIMKS oppure ORIAXES/ORIVECT.

Modo operativo JOG

In questo modo operativo gli angoli di orientamento vengono interpolati sempre in modo lineare. In caso di movimento continuo e incrementale mediante i tasti di movimento, può essere traslato un solo asse di orientamento. Tramite i volantini è possibile muovere contemporaneamente gli assi di orientamento.

Per il movimento manuale degli assi di orientamento è attivo l'override avanzamento specifico per canale oppure l'override del rapido nella sovrapposizione del rapido.

Con i seguenti dati macchina è possibile impostare separatamente la velocità:

$MC_JOG_VELO_RAPID_GEO

$MC_JOG_VELO_GEO

$MC_JOG_VELO_RAPID_ORI

$MC_JOG_VELO_ORI

A= B= C= Programmazione della posizione dell'asse di macchina

ORIEULER Programmazione dell'orientamento tramite angolo di Eulero

ORIRPY Programmazione dell'orientamento tramite angolo RPY. La successione di rotazione è XYZ, dove: A2 è l'angolo di rotazione intorno a X B2 è l'angolo di rotazione intorno a Y C2 è l'angolo di rotazione intorno a Z

ORIRPY2 Programmazione dell'orientamento tramite angolo RPY. La successione di rotazione è ZYX, dove: A2 è l'angolo di rotazione intorno a Z B2 è l'angolo di rotazione intorno a Y C2 è l'angolo di rotazione intorno a X

A2= B2= C2= Programmazione angolare di assi virtuali

ORIVIRT1

ORIVIRT2

Programmazione dell'orientamento tramite assi di orientamento virtuali

(definizione 1), definizione secondo DM $MC_ORIAX_TURN_TAB_1

(definizione 2), definizione secondo DM $MC_ORIAX_TURN_TAB_2

A3= B3= C3= Programmazione del vettore direzionale dell'asse direzionale

Page 348: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.2 Trasformazione a tre, quattro e cinque assi (TRAORI)

Preparazione del lavoro348 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

6.2.8 Programmazione dell'orientamento lungo una superficie conica (ORIPLANE,ORICONCW, ORICONCCW, ORICONTO, ORICONIO)

Funzione Con l'orientamento ampliato è possibile eseguire modifiche dell'orientamento lungo una superficie conica che si trova nello spazio. L'interpolazione del vettore di orientamento su una superficie conica viene eseguita con i comandi modali ORICONxx. Per l'interpolazione in un piano può essere programmato un orientamento finale con ORIPLANE. Generalmente l'orientamento iniziale viene definito con i blocchi precedenti.

Figura 6-4

NotaSINUMERIK 840D con "Pacchetto di trasformazione Handling"Attraverso la funzione "Procedura manuale cartesiana" è possibile impostare in modalità JOG la traslazione di assi geometrici nei sistemi di riferimento sistema di coordinate macchina (SCM), sistema di coordinate pezzo (SCP) e TKS.

Bibliografia:/FB2/ Manuale di guida alle funzioni, Funzioni di ampliamento; Trasformazione cinematica (M1)

Page 349: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni6.2 Trasformazione a tre, quattro e cinque assi (TRAORI)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 349

ProgrammazioneL'orientamento finale viene definito indicando la programmazione dell'angolo nell'angolo Eulero o nell'angolo RPY con A2, B2, C2 oppure programmando le posizioni dell'asse rotante con A, B, C. Per gli assi di orientamento lungo la superficie conica sono necessarie altre indicazioni di programmazione:

• Asse di rotazione del cono come vettore con A6, B6, C6

• Angolo di apertura PSI con l'identificatore NUT

• Orientamento intermedio nel cono con A7, B7, C7

NotaProgrammazione del vettore direzionale A6, B6, C6 per l'asse rotante del cono

La programmazione di un orientamento finale non è indispensabile. Se non è indicato un orientamento finale, viene interpolato un cono intero con 360 gradi.

Programmazione dell'angolo di apertura del cono con NUT=angolo

L'indicazione di un orientamento finale è indispensabile.

Un cono completo con 360 gradi non può essere interpolato in questo modo.

Programmazione dell'orientamento intermedio A7, B7, C7 nel cono

L'indicazione di un orientamento finale è indispensabile. La modifica dell'orientamento e la direzione di rotazione vengono definite in modo univoco con i tre vettori orientamento iniziale, finale e intermedio. Tutti i tre vettori devono essere diversi. Se l'orientamento intermedio programmato è parallelo all'orientamento iniziale o finale, viene eseguita un'interpolazione del cerchio estesa dell'orientamento nel piano determinato dal vettore iniziale e finale.

Interpolazione dell'orientamento ampliato su una superficie conicaN... ORICONCW oppure ORICONCCW N... A6= B6= C6= A3= B3= C3=

oppure

N... ORICONTO

N... G1 X Y Z A6= B6= C6=

oppureN... ORICONIO

N... G1 X Y Z A7= B7= C7=

N... PO[PHI]=(a2, a3, a4, a5)

N... PO[PSI]=(b2, b3, b4, b5)

Interpolazione su un cono con vettore direzionale in senso orario/antiorario del cono e orientamento finale oppureraccordo tangenziale e indicazione dell'orientamento finaleoppure indicazione dell'orientamento finale e di un orientamento intermedio nel cono conpolinomi per l'angolo di rotazione e polinomi per l'angolo di apertura

Page 350: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.2 Trasformazione a tre, quattro e cinque assi (TRAORI)

Preparazione del lavoro350 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Parametro

Esempio di diverse modifiche dell'orientamento

ORIPLANE Interpolazione nel piano (interpolazione circolare) ORICONCW Interpolazione su una superficie conica in senso orarioORICONCCW Interpolazione su una superficie conica in senso antiorarioORICONTO Interpolazione su una superficie conica con raccordo

tangenzialeA6= B6= C6= Programmazione dell'asse di rotazione del cono (vettore

normalizzato)NUT=angolo Angolo di apertura del cono in gradiNUT=+179 Angolo di movimento inferiore o uguale a 180 gradiNUT=-181 Angolo di movimento superiore o uguale a 180 gradiORICONIO Interpolazione su una superficie conicaA7= B7= C7= Orientamento intermedio (programmazione come vettore

normalizzato)PHI Angolo di rotazione dell'orientamento intorno all'asse

direzionale del conoPSI Angolo di apertura del conopolinomi possibili PO[PHI]=(a2, a3, a4, a5) PO[PSI]=(b2, b3, b4, b5)

Oltre ai rispettivi angolo possono essere programmati polinomi di max. 5° grado

N10 G1 X0 Y0 F5000

N20 TRAORI(1) ; Trasformazione orientamento 1.

N30 ORIVECT ; Interpolazione dell'orientamento utensile come vettore.

… ; Orientamento dell'utensile nel piano.

N40 ORIPLANE ; Selezione dell'interpolazione del cerchio estesa.

N50 A3=0 B3=0 C3=1

N60 A3=0 B3=1 C3=1 ; Orientamento nel piano Y/Z ruotato di 45 gradi; al termine del blocco viene raggiunto l'orientamento (0,1/√2,1/√2).

N70 ORICONCW ; Programmazione dell'orientamento sul cono:

N80 A6=0 B6=0 C6=1 A3=0 B3=0 C3=1 ; Il vettore di orientamento viene interpolato su una superficie conica con direzione (0,0,1) in senso orario fino all'orientamento (1/√2,0,1/√2); l'angolo di rotazione è in questo caso di 270 gradi.

N90 A6=0 B6=0 C6=1 ; L'orientamento utensile compie un giro completo sulla stessa superficie conica.

Page 351: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni6.2 Trasformazione a tre, quattro e cinque assi (TRAORI)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 351

DescrizioneSe si devono descrivere variazioni dell'orientamento su una superficie conica che si trova in uno spazio qualsiasi, si deve conoscere il vettore intorno al quale deve essere ruotato l'orientamento dell'utensile. Inoltre deve essere impostato l'orientamento iniziale e finale. L'orientamento iniziale risulta dal blocco precedente e l'orientamento finale deve essere programmato o definito da altre condizioni.

La programmazione nel piano ORIPLANE corrisponde a ORIVECT

La programmazione dell'interpolazione del cerchio estesa insieme ai polinomi dell'angolo corrisponde all'interpolazione lineare e del polinomio dei profili. L'orientamento degli utensili viene interpolato in un piano determinato dall'orientamento iniziale e finale. Se vengono programmati altri polinomi, il vettore di orientamento può essere invertito anche dal piano.

Programmazione di cerchi in un piano G2/G3, CIP e CT

L'orientamento ampliato corrisponde all'interpolazione di cerchi in un piano. Per le relative possibilità di programmazione di cerchi con indicazione del centro o indicazione del raggio come G2/G3, cerchio sul punto intermedio CIP e cerchi tangenziali CT vedere

Bibliografia: Manuale di programmazione, Nozioni di base, "Programmazione delle funzioni preparatorie".

Programmazione dell'orientamentoInterpolazione del vettore di orientamento su una superficie conica ORICONxx

Per l'interpolazione di orientamenti su una superficie conica possono essere selezionati quattro diversi tipi di interpolazione del gruppo codice G 51:

1. Interpolazione su un cono in senso orario ORICONCW con indicazione dell'orientamento finale e della direzione del cono o dell'angolo di apertura. Il vettore direzionale viene programmato con gli identificatori A6, B6, C6 e l'angolo di apertura del cono con l'identificatore NUT= campo di valori nell'intervallo 0 ... 180 gradi.

2. Interpolazione su un cono in senso antiorario ORICONCWW con indicazione dell'orientamento finale e della direzione del cono o dell'angolo di apertura. Il vettore direzionale viene programmato con gli identificatori A6, B6, C6 e l'angolo di apertura del cono con l'identificatore NUT= campo di valori nell'intervallo 0 ... 180 gradi.

3. Interpolazione su un cono ORICONIO con indicazione dell'orientamento finale e di un orientamento intermedio che viene programmato con gli identificatori A7, B7, C7.

4. Interpolazione su un cono ORICONTO con raccordo tangenziale e indicazione dell'orientamento finale. Il vettore direzionale viene programmato con gli identificatori A6, B6, C6.

Page 352: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.2 Trasformazione a tre, quattro e cinque assi (TRAORI)

Preparazione del lavoro352 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

6.2.9 Impostazione dell'orientamento di due punti di contatto (ORICURVE, PO[XH]=,PO[YH]=, PO[ZH]=)

FunzioneProgrammazione della modifica dell'orientamento tramite la seconda curva nello spazio ORICURVE

Oltre alla punta dell'utensile lungo una curva nello spazio, un'ulteriore possibilità per programmare modifiche dell'orientamento consiste nella programmazione del movimento di un secondo punto di contatto dell'utensile con ORICURVE. In questo modo le modifiche dell'orientamento dell'utensile possono essere definite in modo univoco come per la programmazione del vettore dell'utensile stesso.

Costruttore della macchina

Osservare le avvertenze del costrutture della macchina relative agli indentificatori degli assi impostabili tramite il dato macchina per la programmazione del secondo vettore di orientamento dell'utensile.

ProgrammazioneIn questo tipo di interpolazione è possibile programmare punti con G1 o polinomi con POLY per entrambe le curve nello spazio. Non sono consentiti cerchi ed evolventi. Inoltre è possibile attivare un'interpolazione Spline con BSPLINE e con la funzione "Raggruppamento di blocchi spline brevi".

Bibliografia:/FB1/ Manuale delle funzioni di base; Avanzamenti, arresto preciso, LookAhead (B1), capitolo: Raggruppamento di blocchi spline brevi

Gli altri tipi di spline ASPLINE e CSPLINE, nonché l'attivazione di un compressore con COMPON, COMPCURV o COMPCAD non sono consentiti.

Il movimento dei due punti di contatto dell'utensile può essere impostato durante la programmazione dei polinomi di orientamento per le coordinate fino a max. il 5° grado.

Interpolazione dell'orientamento ampliato con ulteriore curva nello spazio e polinomi per coordinateN... ORICURVE

N... PO[XH]=(xe, x2, x3, x4, x5)

N... PO[YH]=(ye, y2, y3, y4, y5)

N... PO[ZH]=(ze, z2, z3, z4, z5)

Indicazione del movimento del secondo punto di contatto dell'utensile e polinomi supplementari delle relative coordinate

Page 353: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni6.2 Trasformazione a tre, quattro e cinque assi (TRAORI)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 353

Parametro

ORICURVE Interpolazione dell'orientamento con preimpostazione del movimento di due punti di contatto dell'utensile

XH YH ZH Identificatori delle coordinate del secondo punto di contatto dell'utensile del profilo supplementare come curva nello spazio

Polinomi possibili PO[XH]=(xe, x2, x3, x4, x5) PO[YH]=(ye, y2, y3, y4, y5) PO[ZH]=(ze, z2, z3, z4, z5)

Oltre ai rispettivi punti finali, si possono inoltre programmare curve nello spazio con polinomi.

xe, ye, ze Punti finali della curva nello spazio

xi, yi, zi Coefficienti dei polinomi al massimo di 5° grado

NotaIdentificatori XH YH ZH per la programmazione di un secondo vettore di orientamentoGli identificatori devono essere selezionati in modo che non sussistano conflitti con altri identificatori degli assi lineari

assi X Y Z

e assi rotanti come

angolo Eulero o angolo RPY A2 B2 C2

vettori direzionali A3 B3 C3

vettori normali alla superficie A4 B4 C4 e A5 B5 C5

vettori di rotazione A6 B6 C6 e coordinate del punto intermedio A7 B7 C7

o altri parametri di interpolazione.

Page 354: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.3 Polinomi di orientamento (PO[angolo], PO[coordinate])

Preparazione del lavoro354 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

6.3 Polinomi di orientamento (PO[angolo], PO[coordinate])

FunzioneIndipendentemente da quale interpolazione di polinomio del gruppo codice G 1 è attualmente attiva, è possibile programmare due diversi tipi di polinomi di orientamento al massimo del 5° grado in una trasformazione a 3...5 assi.

1. Polinomi per angolo: angolo d'anticipo LEAD, angolo laterale TILT riferito al piano che viene determinato dall'orientamento iniziale e finale.

2. Polinomi per coordinate: XH, YH, ZH della seconda curva nello spazio per l'orientamento dell'utensile di un punto di riferimento sull'utensile.

In una trasformazione a sei assi, per l'orientamento dell'utensile è possibile inoltre programmare la rotazione del vettore di rotazione THT con polinomi al massimo fino al 5° grado per la rotazione dell'utensile stesso.

SintassiPolinomi di orientamento del tipo 1 per angolo

Polinomi di orientamento del tipo 2 per coordinate

In entrambi i casi è inoltre possibile programmare un polinomio per la rotazione nelle trasformazioni a sei assi con

del vettore di orientamento. Questo è possibile se è supportata la trasformazione di un vettore di rotazione con un offset programmabile e interpolabile tramite l'angolo di rotazione THETA.

N… PO[PHI]=(a2, a3, a4, a5)

N… PO[PSI]=(b2, b3, b4, b5)Trasformazioni a 3 ... 5 assi

Trasformazioni a 3 ... 5 assi

N… PO[XH]=(xe, x2, x3, x4, x5)

N… PO[YH]=(ye, y2, y3, y4, y5)

N… PO[ZH]=(ze, z2, z3, z4, z5)

Identificatori per le coordinate del secondo vettore di orientamento per l'orientamento dell'utensile

N… PO[THT]=(c2, c3, c4, c5)

oppureN… PO[THT]=(d2, d3, d4, d5)

interpolazione relativa del vettore della rotazione

interpolazione assoluta, relativa e tangenziale per la modifica dell'orientamento

Page 355: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni6.3 Polinomi di orientamento (PO[angolo], PO[coordinate])

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 355

Significato

DescrizioneI polinomi di orientamento non possono essere programmati

• se sono attive le interpolazioni spline ASPLINE, BSPLINE, CSPLINE. I polinomi del tipo1 per l'angolo di orientamento sono possibili per ogni tipo di interpolazione eccetto spline, vale a dire nelle interpolazioni lineari con rapido G00 o con avanzamento G01 nell'interpolazione del polinomi con POLY e nell'interpolazione del cerchio o evolvente con G02, G03, CIP, CT, INVCW e INCCCW . I polinomi del tipo 2 per le coordinate dell'orientamento sono invece possibili solo se è attiva l'interpolazione lineare con rapido G00 o con avanzamento G01 o l'interpolazione dei polinomi con POLY.

• se l'orientamento viene interpolato tramite interpolazione asse ORIAXES. In questo caso possono essere programmati direttamente polinomi con PO[A] e PO[B] per gli assi di orientamento A e B.

Polinomi di orientamento del tipo 1 con ORIVECT, ORIPLANE e ORICONxx

Nell'interpolazione del cerchio estesa e nell'interpolazione del cono con ORIVECT, ORIPLANE e ORICONxx sono possibili solo polinomi di orientamento del tipo 1.

Polinomi di orientamento del tipo 2 con ORICURVE

Se è attiva l'interpolazione con curva nello spazio supplementare ORICURVE, vengono interpolati i componenti cartesiani del vettore di orientamento e sono possibili solo polinomi di orientamento del tipo 2.

PO[PHI] Angolo nel piano fra orientamento iniziale e finalePO[PSI] Angolo che descrive l'inversione dell'orientamento dal piano tra l'orientamento

iniziale e quello finalePO[THT] Angolo di rotazione che descrive un codice G del gruppo 54 programmato con

THETA tramite la rotazione del vettore di rotazionePHI Anticipo angolare LEADPSI Angolo laterale TILTTHETA Rotazione intorno alla direzione dell'utensile in ZPO[XH] Coordinata X del punto di riferimento sull'utensilePO[YH] Coordinata Y del punto di riferimento sull'utensilePO[ZH] Coordinata Z del punto di riferimento sull'utensile

Page 356: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.4 Rotazioni dell'orientamento utensile (ORIROTA, ORIROTR, ORIROTT, ORIROTC, THETA)

Preparazione del lavoro356 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

6.4 Rotazioni dell'orientamento utensile (ORIROTA, ORIROTR, ORIROTT, ORIROTC, THETA)

Funzioni Se per determinati tipi di macchine con utensile in movimento deve essere modificabile anche l’orientamento dell’utensile, in ogni blocco è necessario programmare l’orientamento finale. In funzione della cinematica della macchina, è possibile programmare la direzione di orientamento degli assi di orientamento oppure il senso di rotazione del vettore di orientamento THETA. Per questi vettori di orientamento si possono programmare diverse tipologie di interpolazione:

• ORIROTA: Angolo di rotazione in un senso di rotazione preimpostato in modo assoluto.

• ORIROTR: Angolo di rotazione relativo per il piano fra orientamento iniziale e finale.

• ORIROTT: Angolo di rotazione riferito alla variazione del vettore di orientamento.

• ORIROTC: Angolo di rotazione tangenziale rispetto alla tangente vettoriale.

SintassiSolo se è attiva l’interpolazione ORIROTA l'angolo di rotazione oppure il vettore di rotazione possono essere programmati nei quattro modi seguenti:

1. direttamente le posizioni degli assi rotanti A, B, C

2. angolo di Eulero (in gradi) tramite A2, B2, C2

3. angolo RPY (in gradi) tramite A2, B2, C2

4. vettore direzionale tramite A3, B3, C3 (angolo di rotazione tramiteTHETA=<Valore>).

Se sono attivi ORIOTR oppure ORIOTT , l’angolo di rotazione può essere programmato solo direttamente THETA .

Una rotazione può essere programmata da sola in un blocco senza che avvenga una variazione dell’orientamento. ORIROTR e ORIROTT non hanno perciò alcun significato. In questo caso l’angolo di rotazione viene sempre interpretato riferito alla direzione assoluta (ORIROTA).

N... ORIROTA

N... ORIROTR

N... ORIROTT

N... ORIROTC

Definizione dell'interpolazione del vettore di rotazione

N... A3= B3= C3= THETA=valore Definizione della rotazione del vettore di orientamento

N... PO[THT]=(d2, d3, d4, d5) Interpolazione dell’angolo di rotazione con polinomio di 5. grado

Page 357: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni6.4 Rotazioni dell'orientamento utensile (ORIROTA, ORIROTR, ORIROTT, ORIROTC, THETA)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 357

Significato

Esempio di rotazioni degli orientamenti

Durante l'interpolazione del blocco N40 l'angolo di rotazione viene interpolato linearmente dal valore iniziale di 0 gradi al valore finale di 90 gradi. Nel blocco N50 l'angolo di rotazione varia da 90 gradi a 180 gradi in base alla parabola θ(u) = +90u2. In N60 può essere eseguita anche una rotazione senza che si verifichi una modifica dell'orientamento.

In N80 l'orientamento dell'utensile viene ruotato dalla direzione Y alla direzione X. La modifica dell'orientamento si trova quindi nel piano X–Y e il vettore di rotazione forma rispetto a questo piano un angolo di 30 gradi.

ORIROTA Angolo di rotazione in un senso di rotazione preimpostato in modo assoluto ORIROTR Angolo di rotazione relativo al piano fra orientamento iniziale e finaleORIROTT Angolo di rotazione come vettore di rotazione tangenziale per la modifica

dell'orientamentoORIROTC Angolo di rotazione come vettore di rotazione tangenziale rispetto alla

tangente vettorialeTHETA Rotazione del vettore di orientamentoTHETA=valore Angolo di rotazione in gradi che viene raggiunto a fine bloccoTHETA=Θe Angolo di rotazione con angolo finale Θe del vettore di rotazioneTHETA=AC(...) Commutazione all’impostazione in quote assolute nel bloccoTHETA=AC(...) Commutazione nell’impostazione in quote incrementali nel bloccoΘe L'angolo finale del vettore di rotazione è attivo sia assoluto con G90 che

relativo con G91 (impostazione incrementale delle quote)PO[THT]=(....)

Polinomio per l’angolo di rotazione

Codice di programma Commento

N10 TRAORI ; Attivazione trasformazione di orientamento

N20 G1 X0 Y0 Z0 F5000 ; Orientamento dell'utensile

N30 A3=0 B3=0 C3=1 THETA=0 ; In direzione Z con angolo di rotazione 0

N40 A3=1 B3=0 C3=0 THETA=90 ; In direzione X e rotazione di 90 gradi

N50 A3=0 B3=1 C3=0 PO[THT]=(180,90) ; Orientamento

N60 A3=0 B3=1 C3=0 THETA=IC(-90) ; In direzione Y e rotazione a 180 gradi

N70 ORIROTT ; Rimane costante e rotazione a 90 gradi

N80 A3=1 B3=0 C3=0 THETA=30 ; Angolo di rotazione relativo alla variazione dell'orientamento

; Vettore di rotazione nell'angolo di 30 gradi rispetto al piano X-Y

Page 358: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.4 Rotazioni dell'orientamento utensile (ORIROTA, ORIROTR, ORIROTT, ORIROTC, THETA)

Preparazione del lavoro358 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

DescrizioneORIROTA

L'angolo di rotazione THETA viene interpolato in funzione di una direzione assoluta stabilita nello spazio. La direzione di rotazione di base è definita nei dati macchina

ORIROTR

L'angolo di rotazione THETA viene considerato relativo al piano che si apre tra l’angolo di orientamento iniziale e finale.

ORIROTT

L'angolo di rotazione THETA viene considerato relativo alla variazione dell’orientamento. Per THETA=0 il vettore di rotazione viene interpolato in modo tangenziale alla variazione dell’orientamento e si differisce rispetto a ORIROTR, solo quando per l’orientamento è stato programmato almeno un polinomio per “l’angolo di rovesciamento PSI”. In questo modo ne deriva una variazione dell’orientamento che non avviene nel piano. Con un angolo di rotazione supplementare programmabile THETA il vettore di rotazione può essere quindi interpolato in modo che esso formi sempre un determinato valore rispetto alla variazione dell’orientamento.

ORIROTC

Il vettore direzionale viene interpolato in modo relativo rispetto alla tangente vettoriale con un offset programmabile con l'angolo THETA . Per l'angolo offset può essere programmato anche un polinomio PO[THT]=(c2, c3, c4, c5) di max. 5° grado.

Page 359: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni6.5 Orientamenti relativi al percorso

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 359

6.5 Orientamenti relativi al percorso

6.5.1 Tipi di orientamento relativi al percorso

FunzioniCon questa funzione ampliata l'orientamento relativo non viene ottenuto solo a fine blocco, ma sull'intero percorso. Viene trasformato l'orientamento ottenuto nel blocco precedente tramite interpolazione del cerchio estesa nell'orientamento finale programmato. In linea di principio esistono due possibilità di programmare l'orientamento desiderato relativo al percorso:

1. L'orientamento dell'utensile e la rotazione dell'utensile vengono interpolate relativamente al percorso con ORIPATH, ORPATHTS.

2. Il vettore di orientamento viene programmato e interpolato come di consueto. Con ORIROTC la rotazione del vettore di orientamento viene accostata in modo relativo alla tangente del percorso.

SintassiIl tipo di interpolazione dell'orientamento e della rotazione dell'utensile viene programmato con:

Una piega dell'orientamento causata da uno spigolo nell'andamento del percorso può essere livellata con ORIPATHS. La direzione e la lunghezza del percorso del movimento di svincolo viene programmato tramite il vettore con i componenti A8=X, B8=Y C8=Z .

Con ORIPATH/ORIPATHS possono essere programmati diversi riferimento alla tangente del percorso tramite i tre angoli

• LEAD= indicazione dell'angolo d'anticipo riferito al percorso e alla superficie

• TILT= indicazione dell'angolo laterale riferito al percorso e alla superficie

• THETA= Angolo di rotazione

per l'intero andamento del percorso. Per l'angolo di rotazione THETA possono essere programmati con PO[THT]=(...) ulteriori polinomi di max. 5° grado.

N... ORIPATH Orientamento relativo al percorsoN... ORIPATHS Orientamento relativo al percorso con

spianamento del percorso di orientamentoN... ORIROTC Interpolazione del vettore di rotazione relativo al

percorso

Page 360: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.5 Orientamenti relativi al percorso

Preparazione del lavoro360 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

SignificatoL'interpolazione dell'angolo LEAD e TILT può essere impostata in diversi modi tramite il dato macchina:

• Il riferimento programmato con LEAD e TILT del'orientamento dell'utensile viene mantenuto per l'intero blocco.

• Anticipo angolare LEAD: Rotazione intorno alla direzione in posizione ortogonale rispetto alla tangente e vettore normale TILT: Rotazione dell'orientamento intorno al vettore normale.

• Anticipo angolare LEAD: Rotazione intorno alla direzione in posizione ortogonale rispetto alla tangente e vettore normale angolo laterale TILT: Rotazione dell'orientamento intorno alla direzione della tangente del percorso.

• Angolo di rotazione THETA: Rotazione dell'utensile su sé stesso con un ulteriore terzo asse rotante come asse di orientamento per la trasformazione a 6 assi.

NotaCostruttore della macchinaFare attenzione alle indicazioni del costruttore della macchina Con i dati macchina e di setting progettabili è possibile eseguire ulteriori impostazioni per il tipo di orientamento relativo al percorso. Per ulteriori descrizioni vedere

Bibliografia:/FB3/ Manuale di guida alle funzioni, Funzioni speciali; Trasformazione a 3 ... 5 assi (F2), Capitolo "Orientamento"

NotaOrientamento relativo al percorso non consentito in combinazione con OSC, OSS, OSSE, OSD, OSTL'interpolazione dell'orientamento relativa al percorso ORIPATH o ORIPATHS e ORIOTC non può essere programmata in combinazione con uno spianamento del percorso di orientamento con uno dei codici G del gruppo 34. In questo caso OSOF deve essere attivo.

Page 361: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni6.5 Orientamenti relativi al percorso

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 361

6.5.2 Rotazione relativa al percorso dell'orientamento dell'utensile (ORIPATH,ORIPATHS, angolo di rotazione)

Funzione In una trasformazione a sei assi, per l'orientamento dell'utensile in una posizione qualsiasi nello spazio, anche l'utensile può essere ruotato su sé stesso con un terzo asse rotante. Per la rotazione relativa al percorso dell'orientamento dell'utensile con ORIPATH o ORIPATHS può essere programmata la rotazione suppelementare tramite l'angolo di rotazione THETA. In alternativa gli angoli LEAD e TILT possono essere programmati con un vettore che si trova nel piano in posizione ortogonale rispetto alla direzione dell'utensile.

Costruttore della macchina

Fare attenzione alle indicazioni del costruttore della macchina Con il dato macchina è possibile impostare diversamente l'interpolazione degli angoli LEAD e TILT.

SintassiRotazione dell'orientamento utensile e dell'utensile

Il tipo di orientamento dell'utensile relativo al percorso viene attivato con ORIPATH o ORIPATHS.

I valori dell'angolo a fine blocco vengono programmati con LEAD=valore, TILT=valore o THETA=valore. Oltre agli angoli costanti, per tutti e tre gli angoli possono essere programmati polinomi di max. 5° grado.

Durante la programmazione è possibile tralasciare i coefficienti del polinomi più alti che sono pari a zero. Esempio Con PO[PHI]=a2 si ottiene una parabola per l'angolo d'anticipo LEAD.

N... ORIPATH Attivazione del tipo di orientamento riferito al percorso

N... ORIPATHS Attivazione del tipo di orientamento riferito al percorso con spianamento del percorso di orientamento

Attivazione dei tre angoli possibili con effetto di rotazione:N... LEAD= Angolo per l'orientamento programmato relativo al

vettore normale alla superficieN... TILT= Angolo per l'orientamento programmato nel piano

in posizione ortogonale rispetto alla tangente del percorso relativo al vettore normale alla superficie

N... THETA= Angolo di rotazione relativo alla modifica dell'orientamento intorno alla direzione dell'utensile del terzo asse rotante

N... PO[PHI]=(a2, a3, a4, a5)

N... PO[PSI]=(b2, b3, b4, b5)

N... PO[THT]=(d2, d3, d4, d5)

Polinomio per l'angolo d'anticipo LEADPolinomio per l'angolo laterale TILTPolinomio per l'angolo di rotazione THETA

Page 362: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.5 Orientamenti relativi al percorso

Preparazione del lavoro362 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

SignificatoOrientamento dell'utensile relativo al percorso

6.5.3 Interpolazione relativa al percorso della rotazione dell'utensile (ORIROTC, THETA)

Funzioni Interpolazione con vettori di rotazione

Il vettore di rotazione può essere interpolato con la rotazione dell'utensile relativa alla tangente vettoriale programmata con ORIROTC anche con un offset programmabile mediante l'angolo di rotazione THETA. Per l'angolo di offset può essere programmato un polinomio di max. 5° grado con PO[THT].

Sintassi

Una rotazione può essere programmata da sola in un blocco senza che avvenga una variazione dell’orientamento.

ORIPATH Orientamento utensile riferito alla traiettoria ORIPATHS L'orientamento dell'utensile riferito alla piega nel percorso di orientamento viene

raddrizzatoLEAD Angolo relativo al vettore normale alla superficie nel piano determinato dalla

tangente al percorso e dal vettore normale alla superficieTILT Rotazione dell'orientamento intorno alla direzione Z o rotazione intorno alla

tangente del percorsoTHETA Rotazione intorno alla direzione dell'utensile verso ZPO[PHI] Polinomio dell'orientamento per l'angolo d'anticipo LEADPO[PSI] Polinomio dell'orientamento per l'angolo laterale TILTPO[THT] Polinomio dell'orientamento per l'angolo di rotazione THETA

NotaAngolo di rotazione THETAPer la rotazione dell'utensile su sé stesso con un terzo asse rotante come asse di orientamento è necessaria una trasformazione a 6 assi.

N... ORIROTC Controllo della rotazione dell'utensile relativa alla tangente vettoriale

N... A3= B3= C3= THETA=valore Definizione della rotazione del vettore di orientamento

N... A3= B3= C3= PO[THT]=(c2, c3, c4, c5)

Interpolazione dell'angolo di offset con un polinomio di max. 5° grado

Page 363: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni6.5 Orientamenti relativi al percorso

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 363

SignificatoInterpolazione relativa al percorso della rotazione dell'utensile nella trasformazione a sei assi

Direzione di orientamento dell'utensile per trasformazioni a tre ... cinque assi

La direzione di orientamento dell'utensile può essere programmata mediante l'angolo di Eulero, l'angolo RPY o il vettore direzionale, come nel caso di una trasformazione a tre ... cinque assi. Inoltre sono possibili modifiche dell'orientamento dell'utensile nello spazio tramite programmazione dell'interpolazione del cerchio estesa ORIVECT, dell'interpolazione lineare degli assi di orientamento ORIAXES, di tutte le interpolazioni su una superficie conica ORICONxx, nonché dell'interpolazione aggiuntiva della curva nello spazio con due punti di contatto dell'utensile ORICURVE.

ORIROTC Posizionamento del vettore di rotazione tangenziale rispetto alla tangente vettoriale

THETA=Valore Angolo di rotazione in gradi, che viene raggiunto alla fine del blocco

THETA=θe Angolo di rotazione con angolo finale Θe del vettore di rotazione

THETA=AC(...) Commutazione all'impostazione in quote assolute nel blocco

THETA=IC(…) Commutazione all'impostazione in quote incrementali nel blocco

PO[THT]=(c2, c3, c4, c5) Interpolazione dell'angolo di offset con un polinomio di 5° grado

NotaInterpolazione del vettore di rotazione ORIROTCSe anche la rotazione dell'utensile rispetto alla tangente vettoriale deve essere impostata nella direzione opposta all'orientamento dell'utensile, ciò può avvenire solo in una trasformazione a sei assi.

Con ORIROTC attivo

Il vettore di rotazione ORIROTA non può essere programmato. In caso di programmazione viene emesso l'ALLARME 14128 "Programmazione assoluta della rotazione utensile con ORIROTC attivo".

G.... Impostazione del tipo di movimento degli assi rotantiX Y Z Impostazione degli assi lineariORIAXES Interpolazione lineare degli assi macchina o degli assi di

orientamentoORIVECT Interpolazione del cerchio estesa (identico a ORIPLANE)ORIMKSORIWKS

Rotazione nel sistema di coordinate macchinaRotazione nel sistema di coordinate pezzo Per la descrizione vedere il capitolo Rotazioni dell'orientamento utensile

Page 364: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.5 Orientamenti relativi al percorso

Preparazione del lavoro364 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

6.5.4 Spianamento del percorso di orientamento (ORIPATHS A8=, B8=, C8=)

FunzioniNelle modifiche dell'orientamento con accelerazione costante sul profilo vanno evitate le interruzioni dei movimenti vettoriali, le quali possono verificarsi specialmente sugli angoli del profilo. La piega risultante nel percorso di orientamento può essere spianata inserendo un apposito blocco intermedio. La modifica dell'orientamento avviene quindi con accelerazione costante, se durante la modifica dell'orientamento è attivo anche ORIPATHS. In questa fase è possibile eseguire un movimento di svincolo dell'utensile.

A= B= C= Programmazione della posizione dell'asse di macchinaORIEULER Programmazione dell'orientamento tramite angolo di EuleroORIRPY Programmazione dell'orientamento tramite angolo RPYA2= B2= C2= Programmazione angolare di assi virtualiORIVIRT1 ORIVIRT2

Programmazione dell'orientamento tramite assi di orientamento virtuali(definizione 1), definizione secondo DM $MC_ORIAX_TURN_TAB_1(definizione 2), definizione secondo DM $MC_ORIAX_TURN_TAB_2

A3= B3= C3= Programmazione del vettore direzionale dell’asse direzionaleORIPLANE Interpolazione nel piano (interpolazione del cerchio estesa) ORICONCW Interpolazione su una superficie conica in senso orarioORICONCCW Interpolazione su una superficie conica in senso antiorarioORICONTO Interpolazione su una superficie conica con raccordo

tangenzialeA6= B6= C6= Programmazione dell’asse di rotazione del cono (vettore

normalizzato)NUT=angolo Angolo di apertura del cono in gradiNUT=+179 Angolo di posizionamento minore o uguale 180 gradiNUT=-181 Angolo di posizionamento maggiore o uguale 180 gradiORICONIO Interpolazione su una superficie conicaA7= B7= C7= Orientamento intermedio (programmazione come vettore

normalizzato)ORICURVEXH YH ZH ad es. con polinomi PO[XH]=(xe, x2, x3, x4, x5)

Interpolazione dell'orientamento con preimpostazione del movimento di due punti di contatto dell'utensile Oltre ai rispettivi punti finali, si possono programmare ulteriori polinomi di curve nello spazio.

NotaSe l'orientamento utensile con ORIAXES attivo viene interpolato tramite gli assi di orientamento, l'accostamento dell'angolo di rotazione viene raggiunto solo a fine blocco.

Page 365: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni6.5 Orientamenti relativi al percorso

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 365

Costruttore della macchina

Rispettare le indicazioni del costruttore della macchina sugli eventuali dati macchina e dati di setting predefiniti con i quali viene attivata questa funzione.

Il dato macchina consente di impostare come viene interpretato il vettore di svincolo:

1. nel sistema di coordinate dell'utensile la coordinata Z viene definita mediante la direzione utensile.

2. nel sistema di coordinate del pezzo la coordinata Z viene definita mediante il piano attivo.

Per ulteriori dettagli sulla funzione "Orientamento relativo al percorso" vedere Bibliografia: /FB3/ Manuale delle funzioni speciali; Trasformazione a 3 ... 5 assi (F2)

SintassiPer gli orientamenti utensile costanti riferiti all'intero percorso, su un angolo del profilo vanno effettuate ulteriori operazioni di programmazione. La direzione e la lunghezza del percorso di questo movimento vengono programmate tramite il vettore con i componenti A8=X, B8=Y, C8=Z: N... ORIPATHS A8=X B8=Y C8=Z

Significato

ORIPATHS Orientamento dell'utensile riferito al percorso, viene raddrizzata una piega durante l'orientamento.

A8= B8= C8= Componenti vettore per direzione e lunghezza del percorsoX, Y, Z Movimento di svincolo nella direzione dell'utensile

NotaProgrammazione del vettore direzionale A8, B8, C8

Se la lunghezza di questo vettore è uguale a zero non ha luogo alcun movimento di svincolo.

ORIPATHS

L'orientamento utensile riferito al percorso viene attivato con ORIPATHS. In caso contrario, l'orientamento viene commutato dall'orientamento iniziale a quello finale mediante interpolazione del cerchio estesa lineare.

Page 366: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.6 Compressione dell'orientamento (COMPON, COMPCURV, COMPCAD)

Preparazione del lavoro366 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

6.6 Compressione dell'orientamento (COMPON, COMPCURV, COMPCAD)

Funzione I programmi NC nei quali è attiva una trasformazione dell'orientamento (TRAORI) e sono programmati gli orientamenti utensili (di qualsiasi tipo) possono essere compressi rispettando le tolleranze preimpostate.

ProgrammazioneOrientamento dell'utensile

Se è attiva una trasformazione dell'orientamento (TRAORI), nelle macchine a 5 assi è possibile programmare l'orientamento dell'utensile come segue (indipendentemente dalla cinematica):

• Programmazione del vettore direzionale mediante:

A3=<...> B3=<...> C3=<...>• Programmazione dell'angolo di Eulero o dell'angolo RPY mediante:

A2=<...> B2=<...> C2=<...>

Rotazioni dell'utensile

Per le macchine a 6 assi è inoltre possibile programmare, oltre all'orientamento dell'utensile, anche la rotazione dell'utensile.

La programmazione dell'angolo di rotazione viene effettuata con:

THETA=<...>

Ved. " Rotazioni dell'orientamento utensile (ORIROTA, ORIROTR, ORIROTT, ORIROTC, THETA) [Pagina 356] ".

Formato base di un blocco NC comprimibile

Il formato base di un blocco NC comprimibile può quindi essere il seguente:

N... X=<...> Y=<...> Z=<...> A3=<...> B3=<...> C3=<...> THETA=<...> F=<...>

oppure

N... X=<...> Y=<...> Z=<...> A2=<...> B2=<...> C2=<...> THETA=<...> F=<...>

NotaI blocchi NC nei quali è programmata anche una rotazione possono essere compressi solo se l'angolo di rotazione varia in maniera lineare. Questo significa che per l'angolo di rotazione non può essere programmato con PO[THT]=(...) alcun polinomio.

Page 367: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni6.6 Compressione dell'orientamento (COMPON, COMPCURV, COMPCAD)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 367

Programmazione dell'orientamento utensile attraverso le posizioni dell'asse rotante

L'orientamento dell'utensile può essere indicato anche con le posizioni dell'asse rotante, ad es. nel formato:

N... X=<...> Y=<...> Z=<...> A=<...> B=<...> C=<...> THETA=<...> F=<...>

In questo caso, la compressione viene effettuata in due diversi modi, a seconda che sia eseguita o meno un'interpolazione del cerchio estesa. Se non ha luogo l'interpolazione del cerchio estesa, la variazione dell'orientamento compressa viene rappresentata nella maniera consueta attraverso polinomi assiali per gli assi rotanti.

Precisione del profilo

A seconda della modalità di compressione impostata (MD20482 $MC_COMPRESSOR_MODE), per gli assi geometrici e gli assi di orientamento diventano attive durante la compressione le tolleranze progettate specifiche per l'asse (MD33100 $MA_COMPRESS_POS_TOL) oppure le seguenti tolleranze specifiche per il canale, impostabili tramite dati di setting.

SD42475 $SC_COMPRESS_CONTUR_TOL (scostamento massimo dal profilo)

SD42476 $SC_COMPRESS_ORI_TOL (scostamento angolare massimo per l'orientamento utensile)

SD42477 $SC_COMPRESS_ORI_ROT_TOL (scostamento angolare massimo dell'angolo di rotazione dell'utensile) (solo per macchine a 6 assi)

Bibliografia:Manuale di guida alle funzioni, Funzioni di base; Trasformazione a 3 ... 5 assi (F2),Capitolo: "Compressione dell'orientamento"

Attivazione / Disattivazione

Le funzioni compressore vengono attivate attraverso i codici G modali COMPON, COMPCURV oppure COMPCAD.

La funzione compressore viene terminata con COMPOF.

Ved. " Compressione blocco NC (COMPON, COMPCURV, COMPCAD, COMPOF) [Pagina 260] ".

NotaI valori di posizione possono essere indicati direttamente (ad es. X90) oppure indirettamente mediante l'assegnazione di parametri (ad es. X=R1*(R2+R3)).

Page 368: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.6 Compressione dell'orientamento (COMPON, COMPCURV, COMPCAD)

Preparazione del lavoro368 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

EsempioNell'esempio che segue viene realizzata la compressione di un cerchio che viene accostato con un tratto poligonale. L’orientamento dell’utensile avviene sincrono ad una superficie conica. Sebbene le modifiche dell'orientamento programmate in successione avvengano in modo discontinuo, il compressore genera un andamento costante dell'orientamento.

NotaIl movimento per l'orientamento viene compresso solo con interpolazione del cerchio estesa attiva (ossia la modifica dell'orientamento utensile ha luogo nel piano esteso dall'orientamento iniziale a quello finale).

Un'interpolazione del cerchio estesa viene eseguita alle seguenti condizioni:

• MD21104 $MC_ORI_IPO_WITH_G_CODE = 0,ORIWKS è attivo el'orientamento è programmato tramite vettori (con A3, B3, C3 o A2, B2, C2).

• MD21104 $MC_ORI_IPO_WITH_G_CODE = 1 eORIVECT o ORIPLANE è attivo.L'orientamento dell'utensile può essere programmato o come vettore di direzione o con le posizioni dell'asse di rotazione. Se uno dei codici G ORICONxx oppure ORICURVE è attivo o se per gli angoli di orientamento (PO[PHI] e PO[PSI]) sono programmati polinomi, non viene eseguita alcuna interpolazione del cerchio estesa.

Programmazione Commento

DEF INT NUMERO=60

DEF REAL RADIUS=20

DEF INT COUNTER

DEF REAL ANGOLO

N10 G1 X0 Y0 F5000 G64

$SC_COMPRESS_CONTUR_TOL=0.05 ; Scostamento massimo dal profilo = 0.05 mm

$SC_COMPRESS_ORI_TOL=5 ; Scostamento massimo dall'orientamento = 5 gradi

TRAORI

COMPCURV

; Viene percorso un cerchio creato da poligoni. Quindi l'orientamento avviene su un cono intorno all'asse Z con un angolo di apertura di 45 gradi.

N100 X0 Y0 A3=0 B3=-1 C3=1

N110 FOR COUNTER=0 TO NUMERO

N120 WINKEL=360*COUNTER/NUMERO

N130 X=RADIUS*cos(WINKEL) Y=RADIUS*sin(WINKEL)

A3=sin(WINKEL) B3=-cos(WINKEL) C3=1

N140 ENDFOR

Page 369: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni6.7 Spianamento del percorso di orientamento (ORISON, ORISOF)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 369

6.7 Spianamento del percorso di orientamento (ORISON, ORISOF)

Funzione Con la funzione "Spianamento del percorso di orientamento (ORISON)" si possono livellare le variazioni di orientamento su più blocchi. Ciò permette di ottenere un andamento regolare dell'orientamento e del profilo.

PresuppostoLa funzione "Spianamento del percorso di orientamento (ORISON)" è unicamente disponibile nei sistemi con trasformazione a 5/6 assi.

Sintassi

Significato

Dati di settingIl livellamento del percorso di orientamento avviene rispettando:

• una tolleranza massima preimpostata (max. scostamento angolare dell'orientamento utensile in gradi)

e• un percorso di contornitura max. preimpostato.

Queste impostazioni sono definite dai dati di setting:

• SD42678 $SC_ORISON_TOL (tolleranza per lo spianamento del percorso di orientamento)

• SD42680 O$SC_ORISON_DIST (percorso di contornitura per lo spianamento del percorso di orientamento)

ORISON

...

ORISOF

ORISON: Spianamento del percorso di orientamento ONEfficacia: modale

ORISOF: Spianamento del percorso di orientamento OFFEfficacia: modale

Page 370: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.7 Spianamento del percorso di orientamento (ORISON, ORISOF)

Preparazione del lavoro370 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio

L'orientamento viene ruotato di 90 gradi nel piano XZ, passando da -45 a +45 gradi. In seguito al livellamento del percorso di orientamento quest'ultimo non raggiunge più i valori angolari massimi di -45 o +45 gradi.

Ulteriori informazioniNumero di blocchi

Lo spianamento del percorso di orientamento avviene tramite un numero di blocchi progettato e memorizzato nel dato macchina MD28590 $MC_MM_ORISON_BLOCKS.

Lunghezza massima del percorso blocchi

Il percorso di orientamento viene livellato solo nei blocchi il cui percorso è inferiore alla lunghezza massima del percorso blocchi progettata (MD20178 $MC_ORISON_BLOCK_PATH_LIMIT). I blocchi con percorsi superiori interrompono lo spianamento e vengono eseguiti come programmato.

Codice di programma Commento

...

TRAORI() ; Attivazione della trasformazione dell'orientamento.

ORISON ; Attivazione dello smorzamento dell'orientamento.

$SC_ORISON_TOL=1.0 ; Tolleranza dello smorzamento dell'orientamento = 1,0 gradi.

G91

X10 A3=1 B3=0 C3=1

X10 A3=–1 B3=0 C3=1

X10 A3=1 B3=0 C3=1

X10 A3=–1 B3=0 C3=1

X10 A3=1 B3=0 C3=1

X10 A3=–1 B3=0 C3=1

X10 A3=1 B3=0 C3=1

X10 A3=–1 B3=0 C3=1

X10 A3=1 B3=0 C3=1

X10 A3=–1 B3=0 C3=1

...

ORISOF ; Disattivazione dello smorzamento dell'orientamento.

...

NotaSe lo spianamento del percorso di orientamento con ORISON viene attivato senza che sia stata progettata una quantità sufficiente di memoria blocchi (MD28590 < 4), viene emesso un messaggio di allarme e la funzione non può essere eseguita.

Page 371: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni6.8 Trasformazione cinematica

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 371

6.8 Trasformazione cinematica

6.8.1 Fresatura su pezzi torniti (TRANSMIT)

Funzione La funzione TRANSMIT permette di eseguire:

• Lavorazione frontale su pezzi torniti e bloccati (fori, profili).

• Per la programmazione di queste lavorazioni può essere utilizzato un sistema di coordinate cartesiano.

• Il controllo numerico trasforma i movimenti programmati del sistema di coordinate cartesiano nei movimenti degli assi macchina reali (caso standard):

- Asse rotante- Asse di incremento perpendicolare all'asse rotante- Asse longitudinale parallelo all'asse di rotazione- Gli assi lineari sono ortogonali tra di loro.

• Lo spostamento del centro dell'utensile rispetto al centro di rotazione è consentito.

• La guida della velocità tiene conto delle limitazioni definite per i movimenti rotatori.

Figura 6-5

Page 372: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.8 Trasformazione cinematica

Preparazione del lavoro372 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Tipi di trasformazione TRANSMIT

Per le lavorazioni TRANSMIT si possono impostare due varianti:

• TRANSMIT come default con (TRAFO_TYPE_n = 256)

• TRANSMIT con asse Y lineare supplementare (TRAFO_TYPE_n = 257)

Il tipo di trasformazione ampliato 257 può essere utilizzato, ad esempio, per compensare correzioni del bloccaggio di un utensile con l'asse reale Y.

SintassiTRANSMIT o TRANSMIT(n)

TRAFOOF

Asse rotante

L'asse rotante non può essere programmato, in quanto viene occupato da un asse geometrico e quindi non è più programmabile direttamente come asse canale.

Significato

TRANSMIT: Attiva la prima funzione TRANSMIT definita. Questa funzione viene anche denominata Trasformazione polare.

TRANSMIT(n): Attiva la successiva funzione TRANSMIT concordata; n può essere al massimo 2 (TRANSMIT(1) corrisponde a TRANSMIT).

TRAFOOF: Disattiva una trasformazione attivaOFFN: Offset profilo normale: distanza della lavorazione frontale dal profilo

di riferimento programmato

NotaUna trasformazione TRANSMIT attiva viene anche disattivata quando nel rispettivo canale viene attivata una delle restanti trasformazioni (ad es. TRACYL, TRAANG, TRAORI).

Page 373: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni6.8 Trasformazione cinematica

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 373

Esempio

Codice di programma Commento

N10 T1 D1 G54 G17 G90 F5000 G94 ; Selezione utensile

N20 G0 X20 Z10 SPOS=45 ; Accostamento alla posizione di partenza

N30 TRANSMIT ; Attivazione funzione TRANSMIT

N40 ROT RPL=–45N50 ATRANS X–2 Y10

; Impostazione di un frame

N60 G1 X10 Y–10 G41 OFFN=1OFFN N70 X–10N80 Y10N90 X10N100 Y–10

; Sgrossatura quadra; sovrametallo 1 mm

N110 G0 Z20 G40 OFFN=0N120 T2 D1 X15 Y–15N130 Z10 G41

; Cambio utensile

N140 G1 X10 Y–10N150 X–10N160 Y10N170 X10N180 Y–10

; Finitura quadra

N190 Z20 G40N200 TRANSN210 TRAFOOF

; Disattivazione frame

N220 G0 X20 Z10 SPOS=45 ; Accostamento alla posizione di partenza

N230 M30

Page 374: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.8 Trasformazione cinematica

Preparazione del lavoro374 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

DescrizionePolo

Per l'attraversamento del polo esistono due possibilità:

• movimento del solo asse lineare

• movimento nel polo con rotazione dell’asse rotante e successivo proseguimento oltre il polo

La selezione avviene con i DM 24911 e 24951.

TRANSMIT con asse Y lineare supplementare (tipo di trasformazione 257):

Questa variante di trasformazione della trasformazione polare, in una macchina con un ulteriore asse lineare, sfrutta la ridondanza per eseguire una correzione utensile migliore. Per il secondo asse lineare vale quindi:

• un campo di lavoro inferiore e

• che il secondo asse lineare non può essere utilizzato per arrestare il partprogram.

Per il partprogram e l'assegnazione dei relativi assi nel SCN oppure SCM, sono necessarie determinate impostazioni dei dati macchina, vedere

Bibliografia

/FB2/ Manuale di guida alle funzioni, Funzioni di ampliamento; Trasformazioni cinematiche (M1)

Page 375: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni6.8 Trasformazione cinematica

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 375

6.8.2 Trasformazione della superficie esterna del cilindro (TRACYL)

Funzione La trasformazione di curve su una superficie cilindrica TRACYL permette di eseguire:

la lavorazione di

• cave longitudinali su corpi cilindrici,

• cave trasversali su corpi cilindrici,

• cave ad andamento libero su corpi cilindrici.

L'andamento delle cave viene programmato in riferimento alla superficie cilindrica.

Tipi di trasformazione TRACYL

La trasformazione curvilinea su una superficie cilindrica è disponibile in due varianti:

• TRACYL senza correzione della parete della cava: (TRAFO_TYPE_n=512)

• TRACYL con correzione della parete della cava: (TRAFO_TYPE_n=513)

• TRACYL con ulteriore asse lineare e correzione della parete della cava: (TRAFO_TYPE_n=514) La correzione della parete della cava viene parametrizzata con TRACYL tramite il terzo parametro.

Nella trasformazione curvilinea su una superficie cilindrica con correzione della cava, l'asse utilizzato per la correzione dovrebbe trovarsi a zero (y=0) in modo che la cava venga eseguita centrata sulla linea mediana programmata.

Page 376: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.8 Trasformazione cinematica

Preparazione del lavoro376 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Utilizzo dell'asse

I seguenti assi non possono essere utilizzati come assi di posizionamento o di pendolamento:

• l'asse geometrico in direzione periferica della superficie del cilindro (asse Y)

• l'asse lineare supplementare per correzione della cava (asse Z)

SintassiTRACYL(d) oppure TRACYL(d, n) oppure

per il tipo di trasformazione 514TRACYL(d, n, correzione della parete della cava)

TRAFOOF

Asse rotante

L'asse rotante non può essere programmato, in quanto viene occupato da un asse geometrico e quindi non è più programmabile direttamente come asse canale.

Significato

TRACYL (d) Attiva la prima delle funzioni TRACYL definite nei dati macchina del canale: il parametro d rappresenta il diametro di lavoro.

TRACYL (d, n) Attiva la n. funzione TRANSMIT definita nei dati macchina del canale; n può essere al massimo 2, TRACYL(d,1) corrisponde a TRACYL(d)

D Valore per il diametro di lavorazione. Il diametro di lavorazione rappresenta la distanza doppia tra la punta dell'utensile ed il centro di rotazione. Questo diametro deve essere sempre impostato e deve essere maggiore di 1.

n 2° parametro opzionale per il blocco dati TRACYL 1 (preselezionato) oppure 2.

Correzione parete cava 3° parametro opzionale il cui valore per TRACYL viene preselezionato dal Mode dei dati macchina.Campo di valori:0: Tipo di trasformazione 514 senza correzione della parete della cava come finora1: Tipo di trasformazione 514 con correzione della parete della cava

TRAFOOF Trasformazione off (SCB e SCM sono nuovamente identici).OFFN Offset profilo normale: distanza tra la superficie della cava ed il

profilo di riferimento programmato

NotaUna trasformazione TRACYL attiva viene anche disattivata quando nel rispettivo canale viene attivata una delle restanti trasformazioni (ad es. TRANSMIT, TRAANG, TRAORI).

Page 377: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni6.8 Trasformazione cinematica

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 377

Esempio: Definizione dell'utensileL'esempio seguente è adatto per verificare la parametrizzazione della trasformazione cilindrica TRACYL :

Codice di programma Commento

Parametri utensileNumero (DP)

Significato Nota

$TC_DP1[1,1]=120 Tipo di utensile Fresa

$TC_DP2[1,1]=0 Posizione di taglio Solo per utensili da tornio

Codice di programma Commento

Geometria Correzione lunghezza

$TC_DP3[1,1]=8. Vettore di correzione longitudinale

Calcolo in base al tipo

$TC_DP4[1,1]=9. ed al piano

$TC_DP5[1,1]=7.

Codice di programma Commento

Geometria Raggio

$TC_DP6[1,1]=6. Raggio raggio dell'utensile

$TC_DP7[1,1]=0 Larghezza della cava b per seghe per cave, raggio del raccordo per utensili di fresatura

$TC_DP8[1,1]=0 Spoglia k Solo per sega per cave

$TC_DP9[1,1]=0

$TC_DP10[1,1]=0

$TC_DP11[1,1]=0 Angolo per utensili conici di fresatura

Codice di programma Commento

Usura Correzione lunghezza e raggio

$TC_DP12[1,1]=0 I restanti parametri fino a $TC_DP24=0

Quota base/adattat.

Page 378: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.8 Trasformazione cinematica

Preparazione del lavoro378 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio: Lavorazione di una cava a forma di gancio

Attivazione della trasformazione su superficie cilindrica:

Lavorazione di una cava a forma di gancio:

Codice di programma Commento

N10 T1 D1 G54 G90 F5000 G94 ; Selezione dell'utensile, compensazione del bloccaggio

N20 SPOS=0N30 G0 X25 Y0 Z105 CC=200

; Accostamento alla posizione di partenza

N40 TRACYL (40) ; Attivazione della trasformazione curvilinea su ;superficie cilindrica

N50 G19 ; Selezione del piano

Codice di programma Commento

N60 G1 X20 ; Posizionamento dell'utensile alla base della cava

N70 OFFN=12 ; Definizione della distanza dalla parete della cava a 12 mm dalla mezzeria

N80 G1 Z100 G42 ; Accostamento alla parete destra della cava

N90 G1 Z50 ; Sezione della cava parallela all'asse del cilindro

N100 G1 Y10 ; Sezione della cava parallela alla circonferenza

N110 OFFN=4 G42 ; Accostamento alla parete sinistra della cava; definizione della distanza dalla parete della cava a 4 mm dalla mezzeria

N120 G1 Y70 ; Sezione della cava parallela alla circonferenza

N130 G1 Z100 ; Sezione della cava parallela all'asse del cilindro

N140 G1 Z105 G40 ; Allontanamento dalla parete della cava

Page 379: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni6.8 Trasformazione cinematica

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 379

DescrizioneSenza correzione della parete della cava (tipo di trasformazione 512):

il controllo numerico trasforma i movimenti programmati del sistema di coordinate cilindriche nei movimenti degli assi macchina reali:

• Asse rotante

• Asse di incremento perpendicolare all'asse rotante

• Asse longitudinale parallelo all'asse di rotazione

Gli assi lineari sono ortogonali tra di loro. L’asse di incremento interseca l’asse rotante.

Con correzione della parete della cava (tipo di trasformazione 513):

Per la cinematica vedere l'esempio precedente ma con un ulteriore asse longitudinale parallelo alla direzione della circonferenza

Gli assi lineari sono ortogonali tra di loro.

La guida della velocità tiene conto delle limitazioni definite per i movimenti rotatori.

N150 G1 X25 ; Svincolo

N160 TRAFOOF

N170 G0 X25 Y0 Z105 CC=200 ; Accostamento alla posizione di partenza

N180 M30

Codice di programma Commento

Page 380: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.8 Trasformazione cinematica

Preparazione del lavoro380 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Sezione trasversale della cava

Nella configurazione assiale 1, le cave longitudinali all’asse rotante sono limitate parallelamente solo quando la larghezza delle stesse corrisponde esattamente al raggio dell’utensile.

Le cave parallele alla circonferenza (cave trasversali), all’inizio ed alla fine non sono parallele.

Page 381: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni6.8 Trasformazione cinematica

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 381

Con ulteriore asse lineare e correzione della parete della cava (tipo di trasformazione 514):

Questa variante di trasformazione, in una macchina con un ulteriore asse lineare, sfrutta la ridondanza per eseguire una correzione utensile migliore. Per il secondo asse lineare vale quindi:

• un campo di lavoro inferiore e

• che il secondo asse lineare non può essere utilizzato per arrestare il partprogram.

Per il partprogram e l'assegnazione dei relativi assi nel SCN oppure SCM, sono necessarie determinate impostazioni dei dati macchina, vedere

Bibliografia

/FB2/ Manuale di guida alle funzioni, Funzioni di ampliamento; Trasformazioni cinematiche (M1)

Offset profilo normale OFFN (tipo di trasformazione 513)Per poter fresare cave con TRACYL , viene programmata

• nel partprogram la linea mediana della cava

• con OFFN la semi-cava.

OFFN diventa attivo solo con correzione raggio utensile attivata per evitare un danneggiamento della parete della cava). In seguito, OFFN dovrebbe essere >= al raggio utensile per escludere un danneggiamento della parete opposta della cava.

Page 382: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.8 Trasformazione cinematica

Preparazione del lavoro382 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Un partprogram per la fresatura di una cava, normalmente è composto dai seguenti passi:

1. selezione dell’utensile

2. selezione TRACYL

3. selezionare l’opportuna traslazione delle coordinate (FRAME)

4. posizionamento

5. programmare OFFN

6. attivare la CRU

7. blocco di accostamento (esecuzione della CRU e raggiungimento della cava)

8. profilo della linea mediana della cava

9. disattivare la CRU

10.blocco di svincolo (disattivazione della CRU e svincolo dalla cava)

11.Posizionamento12.TRAFOOF

13.selezionare nuovamente la traslazione delle coordinate originaria (FRAME)

Particolarità

• Attivazione della CRU:

La CRU non viene programmata rispetto alla superficie della cava ma in modo incrementale rispetto alla linea mediana della cava programmata. Per fare in modo che l’utensile avanzi sulla sinistra della cava, viene programmato G42 (invece di G41). Questo viene evitato se in OFFN si imposta la larghezza della cava con segno negativo.

• OFFN con TRACYL agisce in modo diverso da OFFN senza TRACYL. Siccome OFFN con CRU attiva viene considerato anche senza TRACYL , dopo TRAFOOF si dovrebbe settare nuovamente a zero OFFN .

• È consentita una variazione di OFFN all’interno del partprogram. In questo modo la linea mediana potrebbe essere spostata rispetto al centro (vedere figura).

• Guide di scorrimento:

Con TRACYL non viene realizzata la stessa cava per guide di scorrimento ,come se fosse realizzata con un utensile di diametro pari alla larghezza della cava stessa. Fondamentalmente, con un utensile cilindrico più piccolo, non è possibile realizzare la stessa geometria della cava eseguita con un utensile più grande. TRACYL minimizza l’errore. Per evitare problemi di precisione, il raggio dell’utensile dovrebbe essere solo leggermente inferiore alla metà della larghezza della cava.

NotaOFFN e CRUCon TRAFO_TYPE_n = 512 il valore di OFFN vale come sovrametallo per la CRU.

Con TRAFO_TYPE_n = 513 in OFFN viene programmata la metà della larghezza della cava. Lo svincolo dal profilo avviene con OFFN-CRU.

Page 383: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni6.8 Trasformazione cinematica

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 383

6.8.3 Asse inclinato (TRAANG)

Funzione

La funzione asse inclinato è stata realizzata per le rettifiche e consente le seguenti prestazioni:

• lavorazione con asse di incremento inclinato

• per la programmazione si può utilizzare un sistema di coordinate cartesiane.

• Il controllo numerico trasforma i movimenti programmati del sistema di coordinate cartesiano nei movimenti degli assi macchina reali (caso standard): asse di incremento inclinato.

SintassiTRAANG(α) oppure TRAANG(α, n) TRAFOOF

Significato

TRAANG( ) oppureTRAANG( ,n)

Attivazione della trasformazione con la parametrizzazione della selezione precedente.

TRAANG(α) Attivazione della prima trasformazione per asse inclinato dichiarata.TRAANG(α,n) Attivazione della n. trasformazione per asse inclinato dichiarata. n può

essere al max. 2. TRAANG(α,1) corrisponde a TRAANG(α).αA Angolo di inclinazione dell'asse

I valori possibili per α sono: -90 gradi < α < + 90 gradi

TRAFOOF Disattiva la trasformazionen Numero di trasformazioni dichiarate

Page 384: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.8 Trasformazione cinematica

Preparazione del lavoro384 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Angolo α tralasciato oppure zero

Se l'angolo α viene tralasciato (ad es. TRAANG(), TRAANG(,n)), la trasformazione viene attivata con la parametrizzazione della selezione precedente. Alla prima attivazione vale la preimpostazione dei dati macchina.

Un angolo α = 0 (ad es. TRAANG(0), TRAANG(0,n)) costituisce una parametrizzazione valida e non corrisponde più a tralasciare il parametro nelle versioni precedenti.

Esempio

-> da programmare in un blocco a sé stante

Codice di programma Commento

N10 G0 G90 Z0 MU=10 G54 F5000 ->-> G18 G64 T1 D1

; Selezione dell'utensile, compensazione del bloccaggio, selezione del piano

N20 TRAANG(45) ; Attivazione della trasformazione per asse inclinato

N30 G0 Z10 X5 ; Accostamento alla posizione di partenza

N40 WAITP(Z) ; Abilitazione dell'asse al pendolamento

N50 OSP[Z]=10 OSP2[Z]=5 OST1[Z]=–2 ->-> OST2[Z]=–2 FA[Z]=5000N60 OS[Z]=1N70 POS[X]=4.5 FA[X]=50N80 OS[Z]=0

; Pendolamento fino al raggiungimento della quota(per il pendolamento si rimanda al capitolo "Pendolamento")

N90 WAITP(Z) ; Abilitazione degli assi di pendolamento quali assi di posizionamento

N100 TRAFOOF ; Disattivazione della trasformazione

N110 G0 Z10 MU=10 ; Svincolo

N120 M30 ;

Page 385: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni6.8 Trasformazione cinematica

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 385

DescrizioneSono possibili le seguenti lavorazioni:

1. rettifica longitudinale

2. rettifica in piano

3. rettifica di un determinato profilo

4. Rettifica con mola obliqua

Costruttore della macchina

Tramite dati macchina vengono eseguite le seguenti impostazioni:

• l'angolo tra un asse macchina e l'asse inclinato,

• la posizione del punto zero utensile riferito all'origine del sistema di coordinate dichiarato per la funzione “Asse inclinato”,

• la riserva di velocità che viene mantenuta sull'asse parallelo per il movimento di compensazione,

• la riserva di accelerazione che viene mantenuta sull'asse parallelo per il movimento di compensazione.

Page 386: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.8 Trasformazione cinematica

Preparazione del lavoro386 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Configurazione dell'asse

Per poter programmare nel sistema di coordinate cartesiano, bisogna seganalare al controllo la relazione esistente tra il sistema di coordinate e gli assi macchina (MU, MZ) realmente esistenti:

• Denominazione degli assi geometrici

• Abbinamento degli assi geometrici agli assi canale

- caso generico (asse inclinato non attivo)- asse inclinato attivo

• Abbinamento degli assi canale al numero di asse macchina

• Codifica dei mandrini

• Assegnazione dei nomi degli assi macchina

Il procedimento, con eccezione di “Asse inclinato attivo”, corrisponde a quello della normale configurazione degli assi.

6.8.4 Programmazione dell’asse inclinato (G05, G07)

FunzioneNel funzionamento Jog, la mola può essere mossa in modo cartesiano oppure in direzione dell'asse inclinato (la visualizzazione resta cartesiana). Si muove solo il primo asse reale U, la visualizzazione dell'asse Z viene aggiornata.

Nel funzionamento Jog, le traslazioni REPOS devono essere eseguite in modo cartesiano.

Nel funzionamento Jog con "Movimento PTP" attivo viene sorvegliato il superamento del limite del campo di lavoro cartesiano e il relativo asse viene frenato in anticipo. Se il "Movimento PTP" non è attivo, l'asse può raggiungere esattamente il limite di lavoro.

Bibliografia

/FB2/ Manuale di guida alle funzioni, Funzioni di ampliamento; Trasformazione cinematica (M1)

SintassiG07

G05

Le istruzioni G07/G05 servono per semplificare la programmazione dell’asse inclinato. In questo modo si possono programmare e visualizzare posizioni nel sistema di coordinate cartesiano. La correzione utensile e lo spostamento origine vengono calcolate come cartesiane. Dopo aver programmato l'angolo per l'asse inclinato nel programma NC, si può raggiungere la posizione iniziale (G07) e in seguito eseguire completamente la troncatura inclinata (G05).

Page 387: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni6.8 Trasformazione cinematica

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 387

Significato

Esempio

G07 Accostamento alla posizione inizialeG05 Attivazione troncatura con mola inclinata

Programmazione Commento

N.. G18 ; Programmazione dell'angolo per l'asse inclinato

N50 G07 X70 Z40 F4000 ; Accostamento alla posizione iniziale

N60 G05 X70 F100 ; Troncatura inclinata

N70 ... ;

Page 388: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.9 Movimento cartesiano PTP

Preparazione del lavoro388 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

6.9 Movimento cartesiano PTP

Funzioni Con questa funzione è possibile programmare una posizione in un sistema di coordinate cartesiano, il movimento della macchina avviene però nel sistema di coordinate di macchina. La funzione può essere applicata ad esempio nel cambio di posizione dell'articolazione se il movimento passa attraverso una singolarità.

SintassiN... TRAORI

N... STAT='B10' TU='B100' PTP

N... CP

Movimento PTP durante la trasformazione generica a 5/6 assi

Se durante la trasformazione generica a 5/6 assi con PTP viene attivato un movimento punto a punto nel sistema di coordinate macchina (ORIMKS), è possibile programmare l'orientamento dell'utensile tanto con posizioni di asse rotanteN... G1 X Y Z A B C

quanto con vettori angolo di Eulero o RPY indipendenti dalla cinematica

N... ORIEULER oppure ORIRPY

N... G1 X Y Z A2 B2 C2

o con i vettori direzionaliN... G1 X Y Z A3 B3 C3

. Può essere attiva l'interpolazione dell'asse rotante, l'interpolazione vettoriale con interpolazione circolare ad ampio raggio ORIVECT o l'interpolazione del vettore di orientamento su una superficie conica ORICONxx.

Ambiguità dell'orientamento con i vettori

La programmazione dell'orientamento con vettori dà luogo a un'ambiguità nelle possibili posizioni di asse rotante. Le posizioni di asse rotante da raggiungere possono essere selezionate con la programmazione di STAT = <...>. Se

viene programmato STAT = 0 (corrisponde all'impostazione standard), vengono accostate le posizioni che distano meno dalle posizioni iniziali. Se

viene programmato STAT = 1, vengono accostate le posizioni che distano maggiormente dalle posizioni iniziali.

NotaLa funzione può essere applicata solo in collegamento ad una trasformazione attiva. Inoltre il "movimento PTP" è ammesso solo in collegamento con G0 e G1.

Page 389: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni6.9 Movimento cartesiano PTP

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 389

SignificatoI comandi PTP e CP hanno efficacia modale. CP costituisce l'impostazione standard.

Mentre la programmazione del valore STAT ha validità modale, la programmazione di TU = <...> agisce blocco per blocco.

Un'altra differenza è che la programmazione di un valore STAT ha effetto solo in presenza di interpolazione vettoriale, mentre la programmazione di TU viene valutata anche con l'interpolazione dell'asse rotante attiva.

Esempio

Figura 6-6

PTP Point to Point; (movimento da punto a punto)Il movimento viene eseguito come movimento di assi sincroni; l'asse più lento interessato al movimento è l'asse dominante per la velocità.

CP continuous path (movimento vettoriale)Il movimento viene eseguito come movimento vettoriale cartesiano.

STAT= Posizione dello snodo; il valore è in funzione della trasformazione.TU= l'informazione TURN è valida solo nel blocco. In questo modo è possibile

raggiungere univocamente l'angolo dell'asse tra -360 gradi e +360 gradi.

N10 G0 X0 Y-30 Z60 A-30 F10000 Posizione di partenza → Gomito in alto

N20 TRAORI(1) Trasformazione OnN30 X1000 Y0 Z400 A0

N40 X1000 Z500 A0 STAT='B10' TU='B100' PTP

Modifica dell'orientamento senza trasformazione→ Gomito in basso

N50 X1200 Z400 CP Trasformazione di nuovo attiva

Page 390: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.9 Movimento cartesiano PTP

Preparazione del lavoro390 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Movimento PTP durante la trasformazione generica a 5 assiPresupposti: l'esempio si basa su una cinematica CA ortogonale.

Selezione di una posizione di accostamento univoca degli assi rotanti:

Nel blocco N40 gli assi rotanti coprono, con la programmazione di STAT = 1, il percorso più lungo dal loro punto di partenza (C=90, A=90) al punto finale (C=270, A=–45), diversamente da come sarebbe con STAT = 0 ossia il percorso più breve verso il punto finale (C=90, A=45).

DescrizioneLa commutazione tra il movimento cartesiano e il movimento degli assi di macchina avviene con le istruzioni PTP e CP.

Movimento PTP durante la trasformazione generica a 5/6 assi

Durante il movimento PTP il TCP non resta generalmente stazionario, al contrario della trasformazione a 5/6 assi, nel caso in cui si modifichi solo l'orientamento. Le posizioni finali trasformate di tutti gli assi di trasformazione (3 assi lineari e fino a 3 assi rotanti) vengono accostate linearmente senza che, durante tale fase, la trasformazione sia ancora propriamente attiva.

Il movimento PTP viene disattivato dalla programmazione del codice G modale CP.

Le varie trasformazioni sono descritte nella documentazione: /FB3/ Manuale delle funzioni speciali; Pacchetto di trasformazione Handling (TE4).

Programmazione della posizione (STAT=)

Una posizione di macchina non è determinata in modo univoco solo dall'indicazione della posizione con coordinate cartesiane e dall'orientamento dell'utensile. A seconda di quale cinematica si tratta, esistono fino a 8 posizioni diverse o differenziante dell'articolazione. Tali posizioni sono quindi specifiche della trasformazione. Per poter convertire in modo univoco una posizione cartesiana nell'angolo dell'asse, è necessario che la posizione dell'articolazione venga indicata con il comando STAT= . Il comando "STAT" contiene un bit come valore binario per ognuna delle posizioni possibili.

N60 X1000 Z500 A20

N70 M30

Codice di programma Commento

TRAORI ; Trasformazione cinematica CA On

PTP ; Attivazione movimento PTP

N10 A3 = 0 B3 = 0 C3 = 1 ; Posizioni dell'asse rotante C = 0 A = 0

N20 A3 = 1 B3 = 0 C3 = 1 ; Posizioni dell'asse rotante C = 90 A = 45

N30 A3 = 1 B3 = 0 C3 = 0 ; Posizioni dell'asse rotante C = 90 A = 90

N40 A3 = 1 B3 = 0 C3 = 1 STAT = 1 ; Posizioni dell'asse rotante C = 270 A = -45

Page 391: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni6.9 Movimento cartesiano PTP

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 391

Per i bit delle posizioni da programmare con "STAT", vedere: /FB2/ Manuale di guida alle funzioni, Funzioni di ampliamento; Trasformazione cinematica (M1), capitolo "Movimento cartesiano PTP".

Programmazione dell'angolo dell'asse (TU=)

Per poter raggiungere in modo univoco l'angolo dell'asse < ±360 gradi, è necessario che questa informazione venga programmata con l'istruzione TU= ".

Gli assi si muovono lungo il percorso più breve:

• se per una posizione non viene programmato alcun TU

• se gli assi hanno un campo di posizionamento > ±360 gradi

Esempio:

La posizione di destinazione indicata nella figura può essere raggiunta in direzione negativa o positiva. Sotto l'indirizzo A1 viene programmata la direzione.

A1=225°, TU=bit 0, → direzione positiva

A1= − 135°, TU=Bit 1, → direzione negativa

Figura 6-7

Esempio di valutazione della variabile TU per la trasformazione generica a 5/6 assi e le posizioni di destinazione

Per ogni asse interessato alla trasformazione, la variabile TU contiene un bit che indica la direzione del movimento. L'assegnazione del bit TU corrisponde al livello asse canale degli assi rotanti. L'informazione TU viene valutata solo per gli assi rotanti possibili (fino a 3) interessati alla trasformazione:

Bit0: asse 1, bit TU = 0 : 0 gradi <= angolo asse rotante < 360 gradi

Bit1: asse 2, bit TU = 1: –360 gradi < angolo asse rotante < 0 gradi

La posizione iniziale di un asse rotante è C = 0; tramite la programmazione di C = 270, l'asse rotante si sposta sulla seguente posizione di destinazione:

C = 270: bit TU 0, senso di rotazione positivo

C = –90: bit TU 1, senso di rotazione negativo

Page 392: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.9 Movimento cartesiano PTP

Preparazione del lavoro392 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Ulteriore comportamentoCambio del modo operativo

La funzione "Movimento PTP cartesiano" è applicabile solo nei modi operativi AUTO e MDA. Nel cambio del modo operativo in JOG viene mantenuta l'impostazione corrente.

Se è impostato il codice G PTP , gli assi si posizionano nel sistema di coordinate di macchina. Se è impostato il codice G CP , gli assi si posizionano nel sistema di coordinate del pezzo.

Power On / RESET

Dopo Power On o dopo RESET l'impostazione dipende dal dato macchina $MC_GCODE_REST_VALUES[48]. L'impostazione standard è il tipo di movimento "CP" .

REPOS

Se durante il blocco di interruzione era impostata la funzione "Movimento PTP cartesiano", anche con PTP viene eseguito il riposizionamento.

Movimenti sovrapposti

La traslazione DRF o lo spostamento origine esterno sono supportati solo parzialmente nel posizionamento PTP cartesiano. Al passaggio da un movimento PTP ad uno CP non devono verificarsi sovrapposizioni nel sistema di coordinate di base.

Movimento raccordato tra CP e PTP

Con G641 si può eseguire un raccordo programmabile tra i blocchi.

La grandezza dell'area di raccordo è il percorso in mm o in pollici, a partire dal quale o fino al quale deve avvenire il passaggio di blocco. La grandezza deve essere indicata come segue:

• per blocchi G0 con ADISPOS

• per tutti gli altri comandi di movimento con ADIS

Il calcolo del percorso equivale a prendere in considerazione gli indirizzi F nei blocchi non G0. L'avanzamento viene mantenuto sugli assi specificati in FGROUP(...) .

Calcolo dell'avanzamento

Per il calcolo dei blocchi CP si utilizzano gli assi cartesiani del sistema di coordinate base.

Per i blocchi PTP si utilizzano gli assi corrispondenti del sistema di coordinate di macchina.

Page 393: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni6.9 Movimento cartesiano PTP

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 393

6.9.1 PTP con TRANSMIT

Funzioni Con PTP in TRASMIT si possono eseguire blocchi G0 e G1 ottimizzati come tempo. Invece di muovere linearmente gli assi del sistema di coordinate base (CP) vengono mossi linearmente gli assi macchina (PTP). In questo modo il comportamento degli assi macchina nei pressi del polo consente di raggiungere più rapidamente il punto di fine blocco.

Il partprogram viene comunque scritto nel sistema di coordinate cartesiano del pezzo e restano valide tutte le traslazioni di coordinate, rotazioni e programmazioni di frame. La rappresentazione della simulazione su HMI avviene comunque nel sistema di coordinate pezzo cartesiano.

SintassiN... TRANSMIT

N... PTPG0

N... G0 ...

...

N... G1 ...

Significato

TRANSMIT Attiva la prima funzione TRANSMIT definita(vedere capitolo "Fresature di pezzi in rotazione: TRANSMIT")

PTPG0 Point to Point G0 (movimento punto-punto automatico per ogni blocco in G0 dopodiché nuovamente CP)Siccome STAT e TU sono modali, resta sempra valido l'ultimo valore programmato.

PTP Point to Point; (movimento da punto a punto)Nel caso di TRANSMIT programmare in PTP significa che lo svincolo avviene in cartesiano con spirali di Archimede intorno al polo o dal polo. I movimenti risultanti degli utensili in questo caso sono decisamente diversi da quelli in CP e vengono rappresentati nei relativi esempi di programmazione.

STAT= Risoluzione dell'ambiguità relativa al polo.TU= TU nel caso di PTP con TRANSMIT non è rilevante

Page 394: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.9 Movimento cartesiano PTP

Preparazione del lavoro394 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio di aggiramento del polo con PTP e TRANSMIT

Figura 6-8

Codice di programma Commento

N001 G0 X30 Z0 F10000 T1 D1 G90 ; Misura assoluta posizione di partenza

N002 SPOS=0

N003 TRANSMIT ; Trasformazione TRANSMIT

N010 PTPG0 ; per ogni blocco G0 automaticamentePTP, quindi di nuovo CP

N020 G0 X30 Y20

N030 X-30 Y-20

N120 G1 X30 Y20

N110 X30 Y0

M30

Page 395: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni6.9 Movimento cartesiano PTP

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 395

Esempio di svincolo dal polo con PTP e TRANSMIT

Figura 6-9

DescrizionePTP e PTPG0

PTPG0 viene sorvegliato in tutte le trasformazioni che possono gestire il PTP . In tutti gli altri casi PTPG0 non è rilevante.

I blocchi G0 vengono eseguiti in modalità CP.

La scelta di PTP oppure PTPG0 avviene nel partprogram oppure disattivando CP nel dato macchina $MC_GCODE_RESET_VALUES[48].

Programmazione Commento

N001 G0 X90 Z0 F10000 T1 D1 G90 ; Posizione di partenza

N002 SPOS=0

N003 TRANSMIT ; Trasformazione TRANSMIT

N010 PTPG0 ; per ogni blocco G0 automaticamentePTP, quindi di nuovo CP

N020 G0 X90 Y60

N030 X-90 Y-60

N040 X-30 Y-20

N050 X10 Y0

N060 X0 Y0

N070 X-20 Y2

N170 G1 X0 Y0

N160 X10 Y0

N150 X-30 Y-20

M30

N070 X20 Y2

10

10

20

20-10-20-30

-10

-20

-30

N060 X0 Y0

N050 X10 Y0

PTP

CP30

30

Page 396: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.9 Movimento cartesiano PTP

Preparazione del lavoro396 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

PTP con TRACON:

PTP può essere utilizzato anche con TRACON se la prima trasformazione concatenata supporta il PTP .

Significato di STAT= e TU= con TRANSMIT

Se l'asse rotante deve ruotare di 180 gradi oppure il profilo con CP passa attraverso il polo, gli stessi possono essere comandati in senso orario o antiorario di -/+ 180 gradi in funzione del dato macchina $MC_TRANSMIT_POLE_SIDE_FIX_1/2 [48] . Allo stesso modo si può impostare se il movimento avviene attraverso il polo oppure intorno al polo.

CAUTELA

Condizioni marginaliNel caso dei movimenti degli utensili e delle collisioni valgono diverse condizioni marginali e determinate esclusioni di funzioni come:

con PTP non può essere attivata la correzione raggio utensile (CRU);

con PTPG0 ed una correzione raggio utensile attiva (CRU), il movimento avviene in CP ;

con PTP non è possibile un accostamento/svincolo dolce dal profilo (WAB);

con PTPG0 ed un accostamento/svincolo dal profilo, il movimento avviene in CP ;

con PTP non sono possibili cicli di sgrossatura (CONTPRON, CONTDCON);

con PTPG0 nei cicli di sgrossatura (CONTPRON, CONTDCON) il movimento avviene in CP ;

smussi (CHF, CHR) e raccordi (RND, RNDM) vengono ignorati;

il compressore non è consentito con PTP e viene automaticamente disattivato nei blocchi con PTP;

non è possibile modificare una sovrapposizione degli assi durante sezioni di programma in PTP;

con G643 avviene automaticamente una commutazione in "Movimento continuo con precisione assiale" G642 ;

con PTP attivo gli assi della trasformazione non possono essere contemporaneamente assi di posizionamento.

Bibliografia:

/FB2/ Manuale di guida alle funzioni, Funzioni di ampliamento; Trasformazione cinematica (M1), capitolo "Movimento cartesiano PTP"

Page 397: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni6.10 Condizioni marginali per l’attivazione di una trasformazione

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 397

6.10 Condizioni marginali per l’attivazione di una trasformazione

FunzioneLa selezione delle trasformazioni è possibile tramite partprogram oppure MDA. Attenzione:

• non venga inserito un blocco di movimento intermedio (smussi/raccordi).

• Una sequenza di blocchi Spline sia conclusa; in caso contrario viene emessa una segnalazione.

• La correzione utensile fine sia disattivata (FTOCOF); in caso contrario viene emessa una segnalazione.

• La correzione raggio utensile sia disattivata (G40); in caso contrario viene emessa una segnalazione.

• un correzione della lunghezza utensile viene assunta dal controllo nella trasformazione.

• Il Frame attivo prima della trasformazione viene disattivato dal controllo.

• una limitazione del campo di lavoro per gli assi coinvolti nella trasformazione, viene disattivata dal controllo (corrisponde a WALIMOF).

• la sorveglianza del settore di protezione viene disattivata.

• il funzionamento continuo e la raccordatura vengono interrotti.

• tutti gli assi impostati nel dato macchina, devono essere sincronizzati riferiti al blocco.

• gli assi scambiati devono essere riportati nella condizione originale; in caso contrario viene emessa una segnalazione.

• per gli assi dipendenti viene emessa una segnalazione.

Cambio dell'utensile

Il cambio utensile è possibile solo con la correzione raggio utensile disattivata.

Una commutazione della correzione lunghezza utensile e una attivazione/disattivazione della correzione raggio utensile non possono essere programmati nello stesso blocco.

Cambio di frame

Sono consentite tutte le istruzioni che si riferiscono solo al sistema di coordinate base, (FRAME, correzione raggio utensile). Una commutazione del Frame con G91 (quote incrementali), a differenza del caso con trasformazione non attiva, non viene gestito in modo particolare. L’incremento da eseguire viene considerato nel sistema di coordinate pezzo del nuovo Frame, indipendentemente da quale Frame era attivo nel blocco precedente.

Esclusioni

Gli assi coinvolti nella trasformazione non possono essere utilizzati:

• come assi di preset (allarme),

• per il movimento su riscontro fisso (allarme),

• per la ricerca del punto di riferimento (allarme),

Page 398: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.11 Disattivazione della trasformazione (TRAFOOF)

Preparazione del lavoro398 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

6.11 Disattivazione della trasformazione (TRAFOOF)

FunzioneCon l’istruzione TRAFOOFvengono disattivate tutte le trasformazioni e tutti i frame attivi.

SintassiTRAFOOF

Significato

NotaI Frame necessari successivamente, devono essere riattivati con una nuova programmazione.

Attenzione:

per la disattivazione della trasformazione valgono le stesse condizioni marginali valide per l'attivazione (vedere il capitolo ("Condizioni marginali per l'attivazione di una trasformazione")

TRAFOOF Comando per la disattivazione di tutte le trasformazioni e di tutti i frame attivi

Page 399: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni6.12 Trasformazioni concatenate (TRACON, TRAFOOF)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 399

6.12 Trasformazioni concatenate (TRACON, TRAFOOF)

Funzione Si possono attivare fino a due trasformazioni in successione (concatenate) cosicchè le quote di movimento per gli assi della prima trasformazione diventano i dati di ingresso per la seconda trasformazione concatenata. Le quote di movimento della seconda trasformazione hanno effetto sugli assi macchina.

Il concatenamento può comprendere fino a due trasformazioni.

Costruttore della macchina

Osservare le indicazioni del costruttore della macchina, per le eventuali trasformazioni predefinite nei dati macchina.

Le trasformazioni e le trasformazioni concatenate sono opzioni. Sulla disponibilità di determinate trasformazioni concatenate in certi controlli, osservare le indicazioni del catalogo attuale.

Applicazioni

• Rettifica di profili per i quali come linea superficiale è stato programmato uno sviluppo del cilindro (TRACYL) con una mola inclinata, ad es. rettifica di utensili.

• Lavorazione fine di un profilo non tondo con mola inclinata realizzato con TRANSMIT.

Sintassi

Significato

NotaUn utensile viene sempre abbinato alla prima trasformazione di un concatenamento. La trasformazione successiva si comporta quindi come se la lunghezza dell'utensile fosse uguale a zero. Per la prima trasformazione di un concatenamento sono attive solo le lunghezze base di un utensile impostate nei dati macchina (BASE_TOOL_).

TRACON(trf,par) Attivazione di una trasformazione concatenata. TRAFOOF

TRACON Attivazione della trasformazione concatenata. Una trasformazione precedentemente attiva, con TRACON() viene implicitamente disattivata.

TRAFOOF L'utlima trasformazione attivata (concatenata) viene disattivata.

Page 400: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Trasformazioni 6.12 Trasformazioni concatenate (TRACON, TRAFOOF)

Preparazione del lavoro400 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

PremessaLa seconda trasformazione deve essere del tipo "Asse inclinato" (TRAANG). Come prima trasformazione sono possibili:

• Trasformazioni di orientamento (TRAORI), compresa la testina di fresatura cardanica

• TRANSMIT

• TRACYL

• TRAANG

Per l’utilizzo delle istruzioni di attivazione di una trasformazione concatenata, è necessario che le singole trasformazioni da concatenare e la trasformazione concatenata da attivare, siano definite tramite dati macchina.

Le condizioni marginali ed i casi speciali riportati nelle singole descrizioni delle trasformazioni, devono essere rispettate anche nel caso di utilizzo in un concatenamento.

Per ulteriori informazioni sulla progettazione dei dati macchina delle trasformazioni, consultare:

/FB2/ Manuale di guida alle funzioni, Funzioni di ampliamento; Trasformazioni cinematiche (M1), e

/FB3/ Manuale delle funzioni speciali; Trasformazioni a 3 ... 5 assi (F2).

trf Numero della trasformazione concatenata: 0 oppure 1 per la prima/unica trasformazione concatenata. Se in questa posizione non viene programmato nulla, si ha lo stesso significato dell'introduzione del valore 0 oppure 1, cioè viene attivata la prima/unica trasformazione concatenata. 2 per la seconda trasformazione concatenata (valori diversi da 0 ... 2 provocano una segnalazione di allarme).

par Uno o più parametri separati da una virgola per le trasformazioni concatenate, che si aspettano un parametro, ad es. angolo dell'asse inclinato. Se non viene settato alcun parametro, vengono utilizzate le preimpostazioni oppure gli ultimi parametri utilizzati. Utilizzando le virgole, è necessario prestare attenzione che i parametri indicati vengano interpretati nella sequenza impostata, quando per i parametri precedenti devono essere valide le preimpostazioni. In particolare, prima della dichiarazione deve essere inserito almeno un parametro anche quando la dichiarazione di trf non è necessaria, ad esempio TRACON( , 3,.7).

Page 401: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Preparazione del lavoroManuale di programmazione 02/2011, 6FC5398-2BP40-1CA0 401

7Correzioni utensile

7.1 Memoria di correzione

FunzioniStruttura della memoria di correzione

Ogni campo di dati può essere richiamato con un numero T e D (eccetto i "numeri D piani") e contiene per l'utensile, oltre ai dati geometrici, anche altre informazioni, per es. il tipo di utensile.

Struttura piatta dei numeri D

La "struttura piatta dei numeri D" viene utilizzata quando la gestione utensili avviene al di fuori dell'NCK. In questo caso i numeri D vengono creati con i relativi blocchi di correzione utensile senza assegnazione a utensili.

Nel partprogram si può continuare a programmare T. Questo valore T non ha tuttavia alcun riferimento al numero D programmato.

Dati utente dei taglienti

Con un dato macchina è possibile configurare i dati utente dei taglienti. Prestare attenzione alle indicazioni del costruttore della macchina.

Parametri utensile

NotaSingoli valori nella memoria di correzioneI singoli valori della memoria di correzione (P1 ... P25) possono essere letti e scritti dal programma mediante variabili di sistema. Tutti i restanti parametri sono riservati.

I parametri utensile $TC_DP6 ... $TC_DP8, $TC_DP10 e $TC_DP11 nonché $TC_DP15 ... $TC_DP17, $TC_DP19 e $TC_DP20 hanno un significato diverso a seconda del tipo di utensile.1Vale anche con utensili per la fresatura frontale 3D. 2Per tipo di utensile sega per scanalare. 3Riservato: Non utilizzato da SINUMERIK 840D

Numero parametro utensile (DP) Significato delle variabili di sistema Osservazioni

$TC_DP1 Tipo di utensile Panoramica: vedere lista$TC_DP2 Posizione di taglio Solo per utensili da tornioGeometria Correzione lunghezza$TC_DP3 Lunghezza 1 Calcolo$TC_DP4 Lunghezza 2 Tipo e livello$TC_DP5 Lunghezza 3

Page 402: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile 7.1 Memoria di correzione

Preparazione del lavoro402 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Note

Per le dimensioni geometriche (ad es. lunghezza 1 oppure raggio) sono previsti più componenti da impostare. Essi vengono poi sommati in modo additivo ottenendo un'unica grandezza risultante (ad es. lunghezza totale 1, raggio totale).

Le correzioni non necessarie devono essere preimpostate a zero.

Geometria Raggio

$TC_DP61

$TC_DP62Raggio 1 / lunghezza 1diametro d

Ut. per fresatura/tornio/rettifica Sega per scanalare

$TC_DP61

$TC_DP62Lunghezza 2 / raggio agli spigoli frese conichelarghezza della cava b raggio agli spigoli

Utensili per fresatura sega per scanalare

$TC_DP81

$TC_DP82Raggio di arrotondamento 1 per utensili per fresaturasporgenza k

Utensili per fresatura sega per scanalare

$TC_DP91,3 Raggio di arrotondamento 2 riservato

$TC_DP101 Angolo 1 superficie frontale dell'utensile Utensili conici per fresatura

$TC_DP111 Angolo 2 asse longitudinale utensile Utensili conici per fresatura

Usura Correzione della lunghezza e del raggio$TC_DP12 Lunghezza 1$TC_DP13 Lunghezza 2$TC_DP14 Lunghezza 3

$TC_DP151

$TC_DP152Raggio 1 / lunghezza 1diametro d

Ut. per fresatura/tornio/rettifica sega per scanalare

$TC_DP161

$TC_DP163Lunghezza 2 / raggio agli spigoli frese coniche, larghezza della cava b raggio agli spigoli

Utensili per fresatura sega per scanalare

$TC_DP171

$TC_DP172Raggio di arrotondamento 1 per utensili per fresaturasporgenza k

Fresatura / 3D fresatura frontale 3D sega per scanalare

$TC_DP181,3 Raggio di arrotondamento 2 Riservato

$TC_DP191 Angolo 1 superficie frontale dell'utensile Utensili conici per fresatura

$TC_DP201 Angolo 2 asse longitudinale utensile Utensili conici per fresatura

Quota base/adattat. Correzioni di lunghezza$TC_DP21 Lunghezza 1$TC_DP22 Lunghezza 2$TC_DP23 Lunghezza 3Tecnologia$TC_DP24 Angolo libero Solo per utensili da tornio$TC_DP25 Riservato

Numero parametro utensile (DP) Significato delle variabili di sistema Osservazioni

Page 403: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile7.1 Memoria di correzione

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 403

Parametri utensile da $TC-DP1 a $TC-DP23 con utensili di contornitura

Valore base e valore di usura

Le grandezze risultanti sono di volta in volta la somma tra valore base e valore di usura (ad es. $TC_DP6 + $TC_DP15 per il raggio). Alla lunghezza utensile del primo taglio viene aggiunta la quota base ($TC_DP21 – $TC_DP23). Inoltre, su questa lunghezza utensile agiscono tutte le altre grandezze capaci di influenzare la lunghezza utensile effettiva anche nel caso di un utensile tradizionale (adattatore, portautensile orientabile, dati setting).

Angoli limite 1 e 2

Gli angoli limite 1 e 2 si riferiscono al vettore dal centro di taglio al punto di riferimento di taglio e vengono numerati in senso antiorario.

NotaI parametri utensile non riportati nella tabella, come ad es. $TC_DP7, non vengono valutati, ossia il loro contenuto non è significativo.

Numero parametro utensile (DP) Significato Taglio Dn Osservazioni

$TC_DP1 Tipo di utensile da 400 a 599$TC_DP2 Posizione di taglioGeometria Correzione lunghezza$TC_DP3 Lunghezza 1$TC_DP4 Lunghezza 2$TC_DP5 Lunghezza 3Geometria Raggio$TC_DP6 RaggioGeometria Angolo limite$TC_DP10 Angolo limite minimo$TC_DP11 Angolo limite massimoUsura Correzione della lunghezza e del

raggio$TC_DP12 Usura lunghezza 1$TC_DP13 Usura lunghezza 2$TC_DP14 Usura lunghezza 3$TC_DP15 Raggio di usuraUsura Angolo limite$TC_DP19 Usura, angolo limite minimo$TC_DP20 Usura, angolo limite massimoQuota base/adattat. Correzioni di lunghezza$TC_DP21 Lunghezza 1$TC_DP22 Lunghezza 2$TC_DP23 Lunghezza 3

Page 404: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile 7.2 Correzioni addizionali

Preparazione del lavoro404 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

7.2 Correzioni addizionali

7.2.1 Selezione di correzioni addizionali (DL)

FunzioneLe correzioni addizionali possono essere considerate come correzioni di processo programmabili nell'elaborazione. Si riferiscono ai dati di un tagliente e fanno quindi parte dei dati del tagliente dell'utensile.

I dati di una correzione addizionale vengono richiamati mediante un numero DL (DL: Location dependent; correzioni riferite al luogo di impiego) e immessi tramite la superficie operativa.

ApplicazioniAttraverso correzioni addizionali possono essere compensati errori di quota dipendenti dal luogo di impiego.

SintassiDL=<Numero>

Significato

DL Comando per l'attivazione di una correzione addizionale<Numero> Attraverso il parametro <Numero> viene immesso il blocco dati di

correzione utensile addizionale da attivare.

NotaLa determinazione del numero e dell'attivazione delle correzioni addizionali avviene mediante dati macchina ( →  Prestare attenzione alle indicazioni del costruttore della macchina!).

Page 405: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile7.2 Correzioni addizionali

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 405

EsempioLo stesso tagliente viene utilizzato per 2 sedi di cuscinetto:

Codice di programma Commento

N110 T7 D7 ; La torretta viene posizionata sul posto 7. D7 e DL=1 vengono attivati ed eseguiti nel blocco successivo.

N120 G0 X10 Z1

N130 G1 Z-6

N140 G0 DL=2 Z-14 ; Oltre a D7 viene attivato DL=2 ed eseguito nel blocco successivo.

N150 G1 Z-21

N160 G0 X200 Z200 ; Accostarsi al punto di cambio utensile.

...

Page 406: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile 7.2 Correzioni addizionali

Preparazione del lavoro406 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

7.2.2 Definizione dei valori di usura e di messa a punto ($TC_SCPxy[t,d],$TC_ECPxy[t,d])

FunzioneI valori di usura e di messa a punto possono essere letti e scritti tramite variabili di sistema. La logica si basa sulla logica delle corrispondenti variabili di sistema per utensili e taglienti.

Variabili di sistema

EsempioIl valore di usura della lunghezza 1 viene definito per il tagliente <d> dell'utensile <t> sul valore 1.0.

Parametri: $TC_DP3 (lunghezza 1, per utensili di tornitura)

Valori di usura: $TC_SCP13 fino a $TC_SCP63

Valori di messa a punto: $TC_ECP13 fino a $TC_ECP63

$TC_SCP43 [<t>,<d>] = 1.0

Variabile di sistema Significato$TC_SCPxy[<t>,<d>] Valori di usura assegnati tramite xy al rispettivo parametro

geometrico; x corrisponde al numero del valore di usura e y crea il riferimento al parametro geometrico.

$TC_ECPxy[<t>,<d>] Valori di messa a punto assegnati tramite xy al rispettivo parametro geometrico; x corrisponde al numero del valore di messa a punto e y crea il riferimento al parametro geometrico.

<t>: Numero T dell'utensile<d>: Numero D del tagliente dell'utensile

NotaI valori di usura e di messa a punto fissati vengono sommati ai parametri geometrici ed ai restanti parametri di correzione (numeri D).

Page 407: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile7.2 Correzioni addizionali

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 407

7.2.3 Cancellazione delle correzioni supplementari (DELDL)

FunzioneCon il comando DELDL vengono cancellate correzioni addizionali per il tagliente di un utensile (abilitazione di memoria). Vengono cancellati sia i valori di usura fissi sia i valori di messa a punto.

SintassiDELDL[<t>,<d>]DELDL[<t>]DELDL<Stato>=DELDL[<t>,<d>]

Significato

DELDL Comando per la cancellazione delle correzioni addizionali<t> Numero T dell'utensile<d> Numero D del tagliente dell'utensileDELDL[<t>,<d>] Vengono cancellate tutte le correzioni addizionali del tagliente <d>

dell'utensile <t>.DELDL[<t>] Vengono cancellate tutte le correzioni addizionali di tutti i taglienti

dell'utensile <t>.DELDL Vengono cancellate tutte le correzioni addizionali di tutti i taglienti di

tutti gli utensili dell'unità TO (per il canale in cui viene programmato il comando).

<Stato> Stato di cancellazioneValore: Significato:0 la cancellazione è stata eseguita con successo.- la cancellazione non è stata eseguita (se la

parametrizzazione descrive esattamente un tagliente) oppure la cancellazione non è avvenuta per intero (se la parametrizzazione descrive più taglienti).

NotaI valori di usura e di messa a punto di utensili attivi non possono essere cancellati (comportamento analogo alla cancellazione di correzioni D o di dati utensile).

Page 408: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile 7.3 Correzione utensile - casi speciali

Preparazione del lavoro408 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

7.3 Correzione utensile - casi speciali

FunzioneCon i dati di setting da SD42900 a SD42960 e possibile controllare la valutazione dei segni algebrici per la lunghezza dell'utensile e l'usura.

Questo vale anche per il comportamento dei componenti soggetti ad usura nella specularità di assi geometrici, nel cambio del piano di lavorazione e per la compensazione della temperatura in direzione dell'utensile.

Valori di usuraQuando in seguito si fa riferimento ai valori di usura, si intende sempre la somma dei valori di usura effettivi (da $TC_DP12 a $TC_DP20) e delle correzioni di somma con i valori di usura (da $SCPX3 a $SCPX11) e con i valori di messa a punto (da $ECPX3 a $ECPX11).

Per ulteriori informazioni sulle correzioni di somma vedere:Bibliografia:Manuale di guida alle funzioni, Gestione utensili

Dati di setting

BibliografiaManuale di guida alle funzioni, Funzioni di base; Correzione utensile (W1)

Dato di setting SignificatoSD42900 $SC_MIRROR_TOOL_LENGTH Specularità di componenti della lunghezza

utensile e componenti della quota base.SD42910 $SC_MIRROR_TOOL_WEAR Specularità di valori di usura dei componenti

della lunghezza utensile.SD42920 $SC_WEAR_SIGN_CUTPOS Valutazione del segno algebrico dei componenti

dell'usura in funzione della posizione del tagliente.

SD42930 $SC_WEAR_SIGN Inverte i segni delle quote di usura.SD42935 $SC_WEAR_TRANSFORM Trasformazione dei valori di usura.SD42940 $SC_TOOL_LENGTH_CONST Assegnazione dei componenti della lunghezza

utensile agli assi geometrici.SD42950 $SC_TOOL_LENGTH_TYPE Assegnazione dei componenti della lunghezza

utensile indipendentemente dal tipo di utensile.SD42960 $SC_TOOL_TEMP_COMP Valore di compensazione della temperatura in

direzione dell'utensile. È attivo anche quando è presente un orientamento dell’utensile.

Page 409: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile7.3 Correzione utensile - casi speciali

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 409

Ulteriori informazioniAttivazione dei dati di setting modificati

In caso di variazione dei dati di setting descritti, i nuovi valori dei componenti utensili diventano attivi non appena viene selezionato tagliente. Se è già attivo un utensile e occorre rendere attivi nuovi valori modificati dei dati di questo utensile, è necessario prima selezionare nuovamente l'utensile.

Altrettanto vale per il caso in cui la lunghezza utensile risultante vari in seguito alla modifica dello stato di specularità di un asse. Per rendere attivi i componenti della lunghezza utensile modificati, l'utensile deve essere riselezionato dopo il comando di specularità.

Portautensili orientabili e nuovi dati di setting

I dati di setting da SD42900 a SD42940 non agiscono sui componenti di un portautensili orientabile eventualmente attivo. Un utensile viene comunque sempre considerato con la sua lunghezza risultante totale (lunghezza utensile + usura + quota base) nel calcolo con un portautensili orientabile. Nel calcolo della lunghezza totale risultante vengono tenute in considerazione tutte le modifiche provocate dai dati operatore. Ciò significa che i vettori del portautensili orientabile sono indipendenti dal piano di lavorazione.

Altri casi applicativi

Può essere comodo utilizzare la funzionalità del portautensili orientabile se sulla macchina non è prevista fisicamente alcuna possibilità di ruotare gli utensili, ma questi ultimi sono installati in modo fisso con diversi orientamenti. La quotazione dell'utensile può essere effettuata in maniera uniforme in base ad un orientamento di base, mentre le quote rilevanti ai fini della lavorazione si ottengono tramite le rotazioni di un portautensili virtuale.

NotaSpesso, quando si utilizza un portautensili orientabile, è opportuno definire tutti gli utensili per un sistema di base non speculato, anche gli utensili che vengono usati solo per la lavorazione speculare. Nella lavorazione con assi speculati, il portautensili viene ruotato in modo che la posizione effettiva dell'utensile venga descritta correttamente. Tutti i componenti della lunghezza utensile hanno quindi automaticamente effetto nella direzione corretta, per cui non è necessario controllare la valutazione di singoli componenti mediante dati setting in funzione dello stato di specularità di singoli assi.

Page 410: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile 7.3 Correzione utensile - casi speciali

Preparazione del lavoro410 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

7.3.1 Specularità delle lunghezze utensili

FunzioneCon i dati di setting impostati SD42900 $SC_MIRROR_TOOL_LENGTH e SD42910 $SC_MIRROR_TOOL_WEAR diversi da zero, si può effettuare la specularità dei componenti della lunghezza utensile e dei componenti delle quote base con valori di usura degli assi relativi.

SD42900 $SC_MIRROR_TOOL_LENGTH

Dato di setting diverso da zero:

vengono speculati anche i componenti della lunghezza utensile ($TC_DP3, $TC_DP4 e $TC_DP5) e i componenti delle quote base ($TC_DP21, $TC_DP22 e $TC_DP23), i cui assi sono speculati, mediante inversione del segno.

I valori di usura non vengono speculati. Se questi valori devono essere speculati, è necessario impostare il dato di setting SD42910 $SC_MIRROR_TOOL_WEAR.

SD42910 $SC_MIRROR_TOOL_WEAR

Dato di setting diverso da zero:

Vengono speculati i valori di usura dei componenti della lunghezza utensile, i cui assi sono speculati, mediante inversione del segno.

Page 411: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile7.3 Correzione utensile - casi speciali

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 411

7.3.2 Valutazione dei segni dei componenti di usura

FunzioneSe i dati di setting SD42920 $SC_WEAR_SIGN_CUTPOS e SD42930 $SC_WEAR_SIGN sono impostati con valore diverso da zero, la valutazione del segno algebrico dei componenti di usura può essere invertita.

SD42920 $SC_WEAR_SIGN_CUTPOS

Dato di setting diverso da zero:

Per gli utensili con posizione del tagliente rilevante (utensili di tornitura e di rettifica – tipi di utensili 400), la valutazione del segno algebrico dei componenti di usura nel piano di lavorazione dipende dalla posizione del tagliente. Per i tipi di utensili senza posizione del tagliente rilevante questo dato setting non ha rilevanza.

Nella tabella seguente le quote sono contrassegnate con una X, il cui segno viene invertito mediante il dato di setting SD42920 (diverso da 0):

SD42930 $SC_WEAR_SIGN

Dato di setting diverso da zero:

Il segno di tutte le quote di usura viene invertito. Ciò ha effetto sia sulla lunghezza dell'utensile, sia su tutte le altre grandezze quali il raggio dell'utensile, il raggio di raccordo ecc.

Se viene immessa una quota d'usura positiva, l'utensile diventa "più corto" e "più sottile", vedi capitolo "Correzione utensile, Casi speciali", "Attivazione dei dati di setting modificati".

Posizione di taglio Lunghezza 1 Lunghezza 212 X3 X X4 X567 X8 X9

NotaLe valutazioni dei segni algebrici tramite SD42920 e SD42910 sono dipendenti l'una dall'altra. Se per esempio il segno di una quota viene modificato mediante i due dati operatore, il segno algebrico risultante resta invariato.

Page 412: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile 7.3 Correzione utensile - casi speciali

Preparazione del lavoro412 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

7.3.3 Sistema di coordinate della lavorazione attiva (TOWSTD, TOWMCS, TOWWCS,TOWBCS, TOWTCS, TOWKCS)

FunzioneA seconda della cinematica della macchina o della presenza o meno di un portautensili orientabile, i valori di usura misurati in un determinato sistema di coordinate vengono trasposti o trasformati nel sistema di coordinate appropriato.

Sistemi di coordinate della lavorazione attiva

Dai seguenti sistemi di coordinate possono sorgere offset della lunghezza utensile che includono la componente della lunghezza utensile usura tramite il rispettivo codice G del gruppo 56 in un utensile attivo.

• Sistema di coordinate macchina (SCM)

• Sistema di coordinate base (SCB)

• Sistema di coordinate pezzo (SCP)

• Sistema di coordinate utensile (TCS)

• Sistema di coordinate utensile della trasformazione cinematica (KCS)

SintassiTOWSTDTOWMCSTOWWCSTOWBCSTOWTCSTOWKCS

Significato

TOWSTD Valore di posizione base per le correzioni della lunghezza utensile e del valore di usura

TOWMCS Correzioni della lunghezza utensile nel SCMTOWWCS Correzioni della lunghezza utensile nel SCPTOWBCS Correzioni della lunghezza utensile nel SCBTOWTCS Correzione della lunghezza utensile sul punto di riferimento del

portautensili (portautensili orientabile)TOWKCS Correzione della lunghezza utensile della testa dell’utensile

(trasformazione cinematica)

Page 413: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile7.3 Correzione utensile - casi speciali

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 413

Ulteriori informazioniCaratteristiche

Nella seguente tabella sono elencati i più importanti criteri di distinzione:

TOWWCS , TOWBCS, TOWTCS: Il vettore di usura viene sommato al vettore dell’utensile.

Trasformazione lineare

La lunghezza dell’utensile nel SCM può essere definita in modo sensato soltanto se il SCM risulta dal SCB mediante una trasformazione lineare.

Trasformazione non lineare

Se, ad es. con TRANSMIT, è attiva una trasformazione non lineare, e se si indica il SCM come sistema di coordinate desiderato, viene utilizzato automaticamente il SCB.

Nessuna trasformazione cinematica e nessun portautensili orientabile

Se non è attiva né una trasformazione cinematica né un portautensili orientabile, tutti e quattro i sistemi di coordinate, fuorché SCP, coincidono. Quindi solo il SCP si differenzia dagli altri. Dato che devono essere valutate solo le lunghezze utensili, le traslazioni tra i sistemi di coordinate non hanno alcun significato.

Bibliografia:Per ulteriori informazioni sulla correzione utensile vedere:Manuale di guida alle funzioni, Funzioni di base; Correzione utensile (W1)

Codice G Valore di usura Portautensili attivo orientabileTOWSTD Valore della posizione di base;

lunghezza dell’utensileI valori di usura sono soggetti alla rotazione.

TOWMCS Valore di usura nel SCM. TOWMCS è identico a TOWSTD se non è attivo alcun portautensili orientabile.

Ruota soltanto il vettore della lunghezza utensile risultante senza considerazione dell'usura.

TOWWCS Nel SCP il valore di usura viene convertito al SCM.

Il vettore dell'utensile viene calcolato senza tener conto dell'usura come nel TOWMCS.

TOWBCS Nel SCB il valore di usura viene convertito al SCM.

Il vettore dell'utensile viene calcolato senza tener conto dell'usura come nel TOWMCS.

TOWTCS Nel sistema di coordinate utensile il valore di usura viene convertito al SCM.

Il vettore dell'utensile viene calcolato senza tener conto dell'usura come nel TOWMCS.

Page 414: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile 7.3 Correzione utensile - casi speciali

Preparazione del lavoro414 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Inclusione dei valori di usura

Il dato di setting SD42935 $SC_WEAR_TRANSFORM definisce quale delle tre componenti di usura:

• usura

• correzioni cumulative fini

• correzioni cumulative grossolane

di una rotazione sarà soggetto ad una trasformazione di adattamento o a un portautensili orientabile quando è attivo uno dei seguenti codici G:

• TOWSTD Posizione base

per le correzioni della lunghezza utensile• TOWMCS Valori di usura

nel sistema di coordinate macchina (SCM)• TOWWCS Valori di usura

nel sistema di coordinate pezzo (SCP)• TOWBCS Valori di usura (SCB)

nel sistema di coordinate di base• TOWTCS Valori di usura nel sistema di coordinate utensile sul portautensili (riferimento

portautensili T)

• TOWKCS Valori di usura nel sistema di coordinate della testa dell'utensile in caso di trasformazione cinematica

NotaNella valutazione delle singole componenti di usura (assegnazione agli assi geometrici, valutazione dei segni algebrici) influiscono:

• il piano attivo• la trasformazione di adattamento• i seguenti dati di setting:

– SD42910 $SC_MIRROW_TOOL_WEAR– SD42920 $SC_WEAR_SIGN_CUTPOS– SD42930 $SC_WEAR_SIGN– SD42940 $SC_TOOL_LENGTH_CONST– SD42950 $SC_TOOL_LENGTH_TYPE

Page 415: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile7.3 Correzione utensile - casi speciali

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 415

7.3.4 Lunghezza utensile e cambio del piano

FunzioneSe il dato di setting SD42940 $SC_TOOL_LENGTH_CONST è stato impostato diverso da zero, per gli utensili di tornitura e rettifica i componenti della lunghezza utensile quali la lunghezza, l'usura e le quote base possono essere assegnati, in caso di cambio del piano di lavorazione, agli assi geometrici.

SD42940 $SC_TOOL_LENGTH_CONST

Dato di setting diverso da zero:

L'assegnazione dei componenti della lunghezza utensile (lunghezza, usura e quota base) agli assi geometrici nel cambio del piano di lavorazione (G17 - G19) non viene modificata.

La tabella seguente mostra l'assegnazione dei componenti della lunghezza utensile agli assi geometrici per gli utensili di tornitura e di rettifica (tipi utensile da 400 a 599):

La tabella seguente mostra l'assegnazione dei componenti della lunghezza utensile agli assi geometrici per tutti gli altri utensili (tipi utensile < 400 o rispettivamente > 599):

Contenuto Lunghezza 1 Lunghezza 2 Lunghezza 317 Y X Z*) X Z Y19 Z Y X-17 X Y Z-18 Z X Y-19 Y Z X

*) Ogni valore diverso da 0, che non sia uguale a uno dei sei valori indicati, viene valutato come il valore 18.

Piano di lavorazione Lunghezza 1 Lunghezza 2 Lunghezza 3*) Z Y X18 Y X Z19 X Z Y-17 Z X Y-18 Y Z X-19 X Y Z

*) Ogni valore diverso da 0, che non sia uguale a uno dei sei valori indicati, viene valutato come il valore 17.

NotaNella rappresentazione nelle tabelle si parte dal presupposto che gli assi geometrici fino all'asse 3 vengano definiti con X, Y, Z. Per l'assegnazione di una correzione ad un asse non è determinante l'identificatore dell'asse, quanto piuttosto la sequenza degli assi.

Page 416: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile 7.4 Correzione utensile online (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF)

Preparazione del lavoro416 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

7.4 Correzione utensile online (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF)

Funzione Con la funzione attiva "Correzione utensile online" una correzione della lunghezza utensile derivante dalla lavorazione viene calcolata immediatamente per gli utensili di rettifica.

Un esempio applicativo è rappresentato dalla diamantatura CD in cui la mola viene diamantata parallelamente alla lavorazione:

La correzione lunghezza utensile può essere modificata dal canale di lavorazione o da un canale parallelo (canale di diamantatura).

Per la scrittura della correzione utensile online vengono utilizzate diverse funzioni a seconda del momento in cui avviene la diamantatura:

• Scrittura continua blocco-blocco (PUTFTOCF)

Con PUTFTOCF la diamantatura avviene contemporaneamente alla lavorazione.La correzione utensile viene variata continuamente nel canale di lavoro secondo una funzione polinomiale di 1°, 2° o 3° grado che deve essere definita in precedenza con FCTDEF.

PUTFTOCF agisce sempre blocco per blocco, cioè nel blocco di movimento successivo.• Scrittura continua modale: ID=1 DO FTOC (vedere "Correzione utensile on-line (FTOC)

[Pagina 600]")

• Scrittura discreta (PUTFTOC)

Con PUTFTOC la diamantatura avviene non contemporaneamente alla lavorazione da un canale parallelo. Il valore di correzione specificato con PUTFTOC diventa attivo immediatamente nel canale di destinazione.

NotaLa correzione utensile on-line può essere utilizzata solo per utensili di rettificatura.

Page 417: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile7.4 Correzione utensile online (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 417

SintassiAttivazione/disattivazione della correzione utensile online nel canale di destinazione:

Scrittura discreta della CUT online:

• Continua blocco-blocco:

• discreta:

Significato

FTOCON

...

FTOCOF

FCTDEF(<funzione>,<LLimit>,<ULimit>,<a0>,<a1>,<a2>,<a3>)

PUTFTOCF(<funzione>,<valore di riferimento>,<parametro UT>,<canale>,<mandrino>)

...

PUTFTOC(<valore correzione>,<parametro UT>,<canale>,<mandrino>)

...

FTOCON: Attivazione della CUT onlineFTOCON deve essere programmato nel canale in cui deve essere attivata la correzione utensile online.

FTOCOF: Interruzione della CUT onlineCon FTOCOF la correzione non viene eseguita: nei dati di correzione specifici per il taglio, l'intero valore scritto con PUTFTOC viene tuttavia corretto.Nota:Per disattivare definitivamente la CUT online, occorre che dopo FTOCOF avvenga ancora una selezione/deselezione dell'utensile (T...).

FCTDEF: Con FCTDEF viene definita la funzione polinomiale per PUTFTOCF.Parametri:<funzione>: Numero della funzione polinomiale

Tipo: INT<LLimit>: valore limite inferiore

Tipo: REAL<ULimit>: valore limite superiore

Tipo: REAL<a0> ... <a3>: Coefficienti della funzione polinomiale

Tipo: REAL

Page 418: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile 7.4 Correzione utensile online (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF)

Preparazione del lavoro418 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

PUTFTOCF: Richiamo della funzione "Scrittura CUT online continua blocco-blocco"Parametri:<funzione>: Numero della funzione polinomiale

Tipo: INTNota:Deve coincidere con il dato immesso per FCTDEF.

<valore di

riferimento>:Valore di riferimento variabile da cui viene ricavata la correzione (ad es. variazione del valore reale).Tipo: VAR REAL

<Parametro UT>: Numero del parametro di usura (lunghezza 1, 2 o 3) al quale va aggiunto il valore di correzione.Tipo: INT

<canale>: Numero del canale nel quale deve essere attivata la correzione utensile online.Tipo: INTNota:Occorre immettere un dato solo se la correzione non deve essere attivata nel canale attivo.

<mandrino>: Numero del mandrino nel quale deve essere attivata la correzione utensile online.Tipo: INTNota:Occorre immettere un dato solo se l'utensile da correggere non è quello attivo attualmente in uso ma una mola non attiva.

PUTFTOC: Richiamo della funzione "Scrittura CUT online discreta"Parametri:<valore_correzion

e>:Valore di correzione che deve essere aggiunto al parametro di usura.Tipo: REAL

<parametro_UT>: vedere PUTFTOCF<canale>: Numero del canale nel quale deve essere attivata

la correzione utensile online.Tipo: INT

<mandrino>: vedere PUTFTOCF

Page 419: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile7.4 Correzione utensile online (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 419

EsempioRettificatrice per superfici piane con:

• Y: asse di incremento per la mola

• V: asse di incremento per il rullo diamantatore

• Canale di lavorazione: canale 1 con gli assi X, Z, Y

• Canale di diamantatura: canale 2 con l'asse V

Dopo l'inizio della passata di rettificatura, su X100 la mola deve essere diamantata di 0,05. Il valore di diamantatura deve essere attivato per l'utensile di rettifica con "Scrittura CUT online continua".

Programma di lavorazione nel canale 1:

Codice di programma Commento

N110 G1 G18 F10 G90 ; Posizione base.

N120 T1 D1 ; Selezione dell'utensile attuale.

N130 S100 M3 X100 ; Mandrino on, Raggiungimento della posizione iniziale.

N140 INIT(2,"ABRICHT","S") ; Selezione del programma di diamantatura nel canale 2.

N150 START(2) ; Avvio del programma di diamantatura nel canale 2.

N160 X200 ; Raggiungimento della posizione finale.

N170 FTOCON ; Attivazione della correzione online.

N… G1 X100 ; Ulteriore elaborazione.

N… M30

Page 420: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile 7.4 Correzione utensile online (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF)

Preparazione del lavoro420 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Programma di diamantatura nel canale 2:

Ulteriori informazioniInformazioni generali sulla CUT (correz. utensile) on-line

Nella scrittura continua (per ogni clock IPO), dopo l'attivazione della funzione di valutazione ogni modifica viene memorizzata in modo additivo nella memoria di usura (allo scopo di evitare salti del valori di riferimento).

In ogni caso vale: la CUT on-line può avere effetto su ogni canale, per ogni mandrino e per la lunghezza 1, 2 oppure 3 dei parametri di usura.

L'abbinamento delle lunghezze agli assi geometrici avviene in funzione del piano di lavoro attuale.

L'abbinamento del mandrino all'utensile avviene tramite i dati utensile con GWPSON o TMON, a meno che non si tratti della mola attuale.

La correzione avviene sempre nel parametro di usura per il fianco attuale oppure per il fianco sinistro della mola nel caso di utensili non attivi.

Codice di programma Commento

N40 FCTDEF(1,–1000,1000,–$AA_IW[V],1) ; Definizione della funzione: Retta con incremento=1.

N50 PUTFTOCF(1,$AA_IW[V],3,1) ; Scrittura online correzione utensile in modo continuo: derivata dal movimento dell'asse V, la lunghezza 3 della mola attuale viene corretta nel canale 1.

N60 V–0.05 G1 F0.01 G91 ; Movimento di incremento per la diamantatura, PUTFTOCF è attivo solo in questo blocco.

N… M30

NotaSe la correzione è identica per più lati della mola, bisogna fare in modo, rispettando le norme relative al concatenamento, che i valori vengano assegnati automaticamente anche al secondo lato della mola.

Se vengono preimpostate delle correzioni online per un canale di lavorazione, i valori di usura per l'utensile attuale di questo canale non possono essere variati a partire dal programma di lavoro o attraverso manovre operative.

La correzione utensile online viene presa in considerazione anche per la velocità periferica costante della mola (VPM) e per la sorveglianza utensile (TMON) .

Page 421: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile7.5 Attivazione delle correzioni utensili 3D (CUT3DC..., CUT3DF...)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 421

7.5 Attivazione delle correzioni utensili 3D (CUT3DC..., CUT3DF...)

7.5.1 Attivazione delle correzioni utensile 3D (CUT3DC, CUT3DF, CUT3DFS, CUT3DFF,ISD)

Funzione Nel caso della correzione del raggio utensile per utensili cilindrici, viene tenuto in considerazione l'orientamento variabile

Per l'attivazione della correzione raggio utensile 3D valgono le stesse istruzioni di programmazione della correzione 2D. Con G41/G42 viene indicata la correzione destra/sinistra nella direzione di movimento. Il comportamento di accostamento è sempre NORM. La correzione del raggio utensile 3D ha effetto solo se è selezionata la trasformazione a 5 assi.

La correzione raggio utensile 3D viene denominata anche correzione 5D poiché in questo caso sono disponibili 5 gradi di libertà per la posizione dell'utensile nello spazio.

Differenza tra correzione raggio utensile 2 1/2D e 3D

Nella correzione raggio utensile 3D l'orientamento dell'utensile è variabile. Nella correzione del raggio utensile 2 1/2D il calcolo avviene solo per un utensile con orientamento costante.

SintassiCUT3DCCUT3DFSCUT3DFFCUT3DFISD=<Valore>

Page 422: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile 7.5 Attivazione delle correzioni utensili 3D (CUT3DC..., CUT3DF...)

Preparazione del lavoro422 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Significato

Condizioni marginali• G450/G451 e DISC

Sugli spigoli esterni viene sempre inserito un blocco circolare. G450/G451 non hanno alcun significato. Il comando DISC non viene valutato.

Esempio

CUT3DC Attivazione della correzione raggio 3D per la fresatura periferica

CUT3DFS Correzione utensile D per la fresatura frontale con orientamento costante. L'orientamento utensile è stabilito tramite G17 - G19 e non viene influenzato da frame.

CUT3DFF Correzione utensile D per la fresatura frontale con orientamento costante. L'orientamento utensile corrisponde all'orientamento stabilito tramite G17 - G19 ed eventualmente alla direzione ruotata attraverso un frame.

CUT3DF Correzione utensile D per fresatura frontale con orientamento variabile (solo con trasformazione a 5 assi attiva).

G40 X... Y... Z... Per la disattivazione: Blocco lineare G0/G1 con assi geometrici

ISD profondità di penetrazione

NotaI comandi hanno validità modale e sono nello stesso gruppo diCUT2D e CUT2DF. La disattivazione è effettiva solo con il successivo movimento nel piano di lavoro attuale. Questa condizione è sempre valida per G40 ed è indipendente dal comando CUT.

Con correzione raggio utensile 3D attiva sono consentiti blocchi intermedi. Valgono le impostazioni della correzione del raggio utensile 2 1/2D.

Codice di programma Commento

N10 A0 B0 X0 Y0 Z0 F5000

N20 T1 D1 ; Richiamo utensile, richiamo dei valori di correzione utensile.

N30 TRAORI(1) ; Selezione della trasformazione

N40 CUT3DC ; Selezione della correzione raggio utensile 3D

N50 G42 X10 Y10 ; Selezione della correzione raggio utensile

N60 X60

N70 …

Page 423: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile7.5 Attivazione delle correzioni utensili 3D (CUT3DC..., CUT3DF...)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 423

7.5.2 Correzione utensile 3D: fresatura periferica e frontale

Fresatura perifericaLa variante di fresatura periferica qui utilizzata viene realizzata preimpostando un profilo (linea guida) ed il relativo orientamento. Con questo tipo di lavorazione, sul percorso e sugli spigoli esterni la forma dell'utensile non è rilevante. È rilevante solo il raggio nel punto di intervento dell'utensile.

Fresatura frontalePer questo tipo di fresatura 3D è necessaria la descrizione riga per riga dei percorsi 3D sulla superficie del pezzo. Il calcolo viene effettuato normalmente con un CAM tenendo conto della forma e delle dimensioni dell'utensile. Il post-processore scrive nel partprogram, oltre ai blocchi NC, gli orientamenti dell'utensile (con trasformazione a 5 assi attiva) e il codice G per la correzione utensile 3D desiderata. Quindi il costruttore della macchina ha la possibilità di utilizzare utensili leggermente più piccoli rispetto all'utensile impiegato per il calcolo dei percorsi NC.

NotaLa funzione di Correzione raggio utensile 3D è limitata agli utensili cilindrici.

Page 424: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile 7.5 Attivazione delle correzioni utensili 3D (CUT3DC..., CUT3DF...)

Preparazione del lavoro424 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio:

I blocchi NC sono stati calcolati con una fresa da 10 mm. In questo caso, la lavorazione sarebbe possibile anche con un diametro della fresa di 9,9 mm, anche se successivamente si dovrà tener conto di un profilo di ruvidità modificato.

Page 425: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile7.5 Attivazione delle correzioni utensili 3D (CUT3DC..., CUT3DF...)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 425

7.5.3 Correzione utensile 3D: Forme dell'utensile e dati dell'utensile per fresatura frontale

Forme degli utensili per fresatura, dati utensileDi seguito sono riepilogati le forme dell'utensile e i valori limite dei dati dell'utensile possibili per la fresatura frontale. La forma dell'albero dell'utensile non viene tenuta in considerazione. I tipi di utensile 120 e 156 hanno effetto identico.

Se nel programma NC viene inserito un numero di tipo diverso da quello visualizzato nella figura, il sistema utilizza automaticamente il tipo di utensile 110 (fresa cilindrica per stampi). Se i valori impostati per i dati utensili superano il valore limite viene emesso un allarme.

Tipo di fresa N. del tipo R r aFresa cilindrica 110 > 0 - -Fresa a testa cilindrica 111 > 0 >R -Fresa a codolo, fresa a testa angolare 120, 130 > 0 - -Fresa a codolo, fresa a testa angolare con arrotondamento degli spigoli

121, 131 >r > 0 -

Fresa a tronco di cono 155 > 0 - > 0Fresa a tronco di cono con arrotondamento degli spigoli

156 > 0 > 0 > 0

Fresa per stampi conica 157 > 0 - > 0

R = raggio del codolo (raggio utensile)r = raggio d'angoloa = angolo tra l'asse longitudinale dell'utensile e l'estremità superiore della superficie toroidale- = non viene valutato

Page 426: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile 7.5 Attivazione delle correzioni utensili 3D (CUT3DC..., CUT3DF...)

Preparazione del lavoro426 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Correzione lunghezza utensile (CLU)

Come punto di riferimento per la correzione della lunghezza vale la punta utensile (punto di intersezione asse longitudinale/superficie).

Correzione utensile 3D, cambio utensile

Un nuovo utensile con dimensioni modificate (R, r, a) o una forma diversa può essere inserito solo con la programmazione di G41 o G42 (raccordo da G40 a G41 o G42, nuova programmazione di G41 o G42). Tutti gli altri dati dell'utensile, ad es. le lunghezze dell'utensile, continuano a non essere considerati da questa regola, in modo che tali utensili possano essere sostituiti anche senza nuovi G41 o G42.

7.5.4 Correzione utensile 3D: Correzione sulla traiettoria, curvatura della traiettoria,profondità di penetrazione (CUT3DC, ISD)

FunzioneCorrezione sulla traiettoria

Nel caso della fresatura frontale bisogna tener conto del fatto che il punto di contatto sulla superficie dell'utensile "salta", come in questo esempio nella lavorazione di una superficie convessa con utensile disposto verticalmente. L'esempio mostrato nella figura può essere considerato come un caso limite.

Dati dell'utensile Parametri utensileDimensioni dell'utensile Geometria usuraR $TC_DP6 $TC_DP15r $TC_DP7 $TC_DP16a $TC_DP11 $TC_DP20

Page 427: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile7.5 Attivazione delle correzioni utensili 3D (CUT3DC..., CUT3DF...)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 427

Il controllo sorveglia tale caso limite e riconosce gli spostamenti del punto di contatto sulla base della posizione dell'angolo tra l'utensile e il vettore normale alla superficie. In corrispondenza di questi punti il controllo inserisce un blocco con spostamento lineare in modo che il movimento possa essere eseguito correttamente.

Per calcolare i blocchi lineari vengono inseriti nei dati macchina i valori consentiti per l'angolo laterale. Se i valori limite consentiti per gli angoli vengono superati, il controllo emette un allarme.

Curvatura della traiettoria

La curvatura della traiettoria non viene sorvegliata. Anche in questo caso si raccomanda di impiegare solo quei tipi di utensile che consentono una lavorazione del profilo precisa.

Profondità di penetrazione (ISD)

La profondità di penetrazione ISD viene valutata solo per la correzione raggio utensile 3D attiva.

Con il comando di programma ISD (Insertion Depth) viene programmata la profondità di penetrazione dell'utensile durante la fresatura periferica. In questo modo è possibile modificare la posizione del punto di lavorazione sulla superficie laterale dell'utensile.

SintassiCorrezione utensile 3D, fresatura perifericaCUT3DCISD=<Valore>

Significato

CUT3DC Attivazione della correzione utensile 3D per la fresatura periferica, ad es. per la fresatura di tasche con pareti laterali inclinate.

ISD Con il comando ISD viene immessa la distanza (<Valore>) fra la punta della fresa (FS) e il punto ausiliario fresa (FH).

Page 428: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile 7.5 Attivazione delle correzioni utensili 3D (CUT3DC..., CUT3DF...)

Preparazione del lavoro428 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Punto ausiliario fresaIl punto ausiliario fresa (FH) si genera attraverso la proiezione del punto di lavorazione programmato sull'asse utensile.

Ulteriori informazioniFresatura di tasche con pareti inclinate per fresatura periferica con CUT3DC

Con questa correzione raggio utensile 3D viene compensata una differenza del raggio utensile mentre si incrementa in direzione della normale alla superficie da lavorare. Così il piano in cui si trova la superficie frontale della fresa resta invariato se la profondità di penetrazione ISD resta inalterata. Una fresa con, ad esempio, un raggio inferiore rispetto ad un utensile standard, non avrebbe raggiunto il fondo della tasca che rappresenta anche la superficie limite. Per un incremento automatico dell’utensile il controllo deve conoscere questa superficie limite. Per ulteriori informazioni vedere il capitolo "Fresatura periferica 3D con superfici limite“

Per ulteriori informazioni sulla sorveglianza anticollisione vedere:Bibliografia:Manuale di programmazione, Nozioni di base; Capitolo "Correzioni utensile".

Page 429: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile7.5 Attivazione delle correzioni utensili 3D (CUT3DC..., CUT3DF...)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 429

7.5.5 Correzione utensile 3D: Spigoli interni/Spigoli esterni e spostamento del punto diintersezione (G450/G451)

Funzione Spigoli interni/esterni

Gli spigoli interni ed esterni vanno trattati separatamente. La definizione di spigolo interno ed esterno dipende dall'orientamento dell'utensile.

Nella variazione dell'orientamento su uno spigolo può verificarsi che durante la lavorazione il tipo di spigolo venga modificato. In questo caso la lavorazione viene interrotta con un messaggio di errore.

SintassiG450G451

Significato

G450 Cerchio di raccordo (l'utensile aggira gli spigoli del pezzo su una traiettoria circolare)

G451 Punto di intersezione delle equidistanti (l'utensile esegue una lamatura sullo spigolo del pezzo)

Page 430: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile 7.5 Attivazione delle correzioni utensili 3D (CUT3DC..., CUT3DF...)

Preparazione del lavoro430 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Ulteriori informazioniPunto di intersezione per correzione 3D

Nella fresatura periferica 3D viene ora valutato sugli spigoli esterni il codice G G450/G451, ciò significa che il punto di intersezione delle curve di offset può essere raggiunto. Fino al SW 4 è stato sempre inserito un cerchio in corrispondenza degli spigoli esterni. Il comportamento sul punto di intersezione è particolarmente vantaggioso per programmi 3D tipicamente realizzati con CAD. Tali programmi sono spesso costituiti da brevi blocchi di rette (per approssimare curve piatte), per le quali i raccordi tra blocchi contigui sono quasi tangenziali.

Per la correzione del raggio utensile sul lato esterno del profilo fino ad ora venivano inseriti fondamentalmente dei cerchi per aggirare gli spigoli esterni. Dal momento che questi blocchi diventano molto brevi se i raccordi sono quasi tangenziali, ne conseguono interruzioni indesiderate della velocità.

In questi casi, analogamente alla correzione del raggio 2 ½ D vengono prolungate entrambe le curve interessate, il punto di intersezione di entrambe le curve prolungate viene raggiunto.

Le curve di offset dei due blocchi interessati vengono prolungate e il loro punto di intersezione viene determinato nel piano perpendicolarmente all'orientamento dell'utensile sullo spigolo. Se non esiste un punto di intersezione simile, lo spigolo viene trattato come in precedenza, vale a dire viene inserito un cerchio.

Per ulteriori informazioni sullo spostamento del punto di intersezione:Bibliografia:Manuale di guida alle funzioni, Funzioni speciali; Correzione del raggio utensile 3D (W5)

7.5.6 Correzione utensile 3D: Fresatura periferica 3D con superfici limite

Adattamenti della fresatura periferica 3D alle caratteristiche dei programmi CADI programmi NC generati dai sistemi CAD si avvicinano generalmente al percorso riferito al centro di un utensile standard con un numero elevato di brevi blocchi lineari. Per far sì che questi blocchi di più profili parziali creati in questo modo riproducano esattamente il profilo originale di partenza, è necessario effettuare nel partprogram determinati adattamenti.

Le importanti informazioni che sarebbero necessarie per una correzione ottimale ma che non sono più disponibili nel partprogram devono essere sostituite attraverso misure adeguate. Di seguito vengono illustrati i metodi comunemente utilizzati per risolvere i passaggi critici direttamente nel partprogram o calcolando il reale profilo (ad es. attraverso il posizionamento dell'utensile).

ApplicazioniOltre alle tipiche applicazioni, nelle quali invece dell'utensile standard è un utensile reale a descrivere il percorso riferito al centro, vengono trattati anche gli utensili cilindrici con correzione utensile 3D. In questo caso, il percorso programmato si riferisce al profilo sulla superficie di lavorazione. La superficie limite a questo scopo adeguata è indipendente dall'utensile. Con la correzione del raggio utensile tradizionale il raggio totale viene considerato per il calcolo dell'offset verticale sulla superficie limite.

Page 431: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile7.5 Attivazione delle correzioni utensili 3D (CUT3DC..., CUT3DF...)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 431

7.5.7 Correzione utensile 3D: Considerazione di una superficie limite (CUT3DCC,CUT3DCCD)

FunzioneFresatura periferica 3D con utensili reali

Nella fresatura periferica 3D con orientamento dell’utensile continuo o costante, viene programmata spesso la traiettoria rispetto al centro di un utensile normalizzato. Siccome nella pratica molto spesso non sono disponibili gli utensili standard adeguati, è possibile utilizzare un utensile che non si discosti troppo da quello previsto.

Con CUT3DCCD viene considerata una superficie limite per un utensile differenziale reale, che descriverebbe l'utensile normalizzato programmato. Il programma NC descrive il percorso riferito al centro dell'utensile normalizzato.

Con CUT3DCC utilizzando utensili cilindrici viene considerata una superficie limite che è stata raggiunta dall'utensile normalizzato programmato. Il programma NC descrive il profilo sulla superficie di lavorazione.

SintassiCUT3DCCDCUT3DCC

Significato

Utensili standard con arrotondamento degli spigoliL'arrotondamento degli spigoli con gli utensili standard viene definito con il parametro utensile $TC_DP7. Dal parametro utensile $TC_DP16 si ricava la differenza dell'arrotondamento dello spigolo dell'utensile reale rispetto all'utensile standard.

CUT3DCCD Attivazione della correzione utensile 3D per la fresatura periferica con superfici limite ed utensile differenziale sulla traiettoria del centro utensile: Posizionamento sulla superficie limite.

CUT3DCC Attivazione della correzione utensile 3D per la fresatura periferica con superfici limite e correzione raggio 3D: Profilo sulla superficie di lavorazione

NotaCorrezione raggio utensile con G41, G42Per la correzione raggio utensile con G41, G42 e CUT3DCCD oppure CUT3DCC attivi, si deve attivare l’opzione “Trasformazione dell’orientamento”.

Page 432: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile 7.5 Attivazione delle correzioni utensili 3D (CUT3DC..., CUT3DF...)

Preparazione del lavoro432 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

EsempioDimensioni di una fresa toroidale con raggio ridotto rispetto ad un utensile standard.

Ulteriori informazioniTraiettoria del centro utensile con posizionamento fino alla superficie limite CUT3DCCD

Se viene utilizzato un utensile che a confronto con l'utensile standard adeguato presenta un raggio inferiore, una fresa posizionata in direzione longitudinale viene portata avanti tanto da toccare nuovamente il fondo della tasca. In questo modo lo spigolo che viene costruito dalla superficie di lavorazione e dalla superficie limite viene rimosso in modo tale da ammettere l'utensile. Si tratta di una modalità di lavorazione mista della fresatura periferica e della fresatura frontale. Analogamente a un utensile con raggio limitato, un utensile con raggio superiore si posiziona rispettivamente nella direzione opposta.

Tipo di utensile R = raggio del codolo r = raggio dello spigolo

Utensile standard con arrotondamento degli spigoli

R = $TC_DP6 r = $TC_DP7

Utensile reale con arrotondamento degli spigoli:Tipi di utensile 121 e 131, fresa toroidale (fresa a codolo)

R' = $TC_DP6 + $TC_DP15 + OFFN r' = $TC_DP7 + $TC_DP16

In questo esempio sia $TC_DP15 + OFFN sia $TC_DP16 sono negativi.Il tipo di utensile ($TC_DP1) viene valutato.

Sono consentiti solo tipi di frese con codolo cilindrico (fresa cilindrica o a codolo) oppure frese toroidali (tipi 121 e 131) e al limite frese cilindriche per stampi (tipo 110).

Per questi tipi di frese consentiti, il raggio dello spigolo r è uguale al raggio del codolo R. Tutti gli altri tipi di utensili consentiti vengono interpretati come frese cilindriche ed un eventuale dimensione per l’arrotondamento dello spigolo non viene considerata.

Sono consentiti tutti i tipi di utensili di numeri da 1 a 399 ad eccezione dei numeri 111 e da 155 a 157.

Page 433: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile7.5 Attivazione delle correzioni utensili 3D (CUT3DC..., CUT3DF...)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 433

Rispetto a tutte le altre correzioni utensile del gruppo di codice G 22, un parametro utensile indicato per CUT3DCCD$TC_DP6 non ha alcun significato per il raggio utensile e non influenza la correzione risultante.

L'offset di correzione si ricava dalla somma di:

• valore di usura del raggio utensile (parametro utensile $TC_DP15)

• e di un offset utensile programmato per il calcolo dell'offset verticale rispetto alla superficie limite OFFN.

Non è possibile l'estrapolazione dal partprogram creato se la superficie da lavorare si trova a sinistra o a destra del percorso. Viene perciò presupposto un raggio positivo e un valore di usura negativo dell'utensile originale. Un valore di usura negativo descrive sempre un utensile con diametro ridotto.

Impiego di utensili cilindrici

Nell'impiego di utensili cilindrici un posizionamento è quindi necessario solo se la superficie di lavorazione e la superficie limite creano un angolo acuto (inferiore a 90 gradi). Se si utilizzano frese toroidali (cilindro con arrotondamento dello spigolo), è richiesto sia con gli angoli acuti che con gli angoli ottusi un posizionamento in direzione longitudinale dell'utensile.

Page 434: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile 7.5 Attivazione delle correzioni utensili 3D (CUT3DC..., CUT3DF...)

Preparazione del lavoro434 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Correzione raggio 3D con CUT3DCC, profilo sulla superficie di lavorazione

Se CUT3DCC è attiva con una fresa toroidale, il percorso programmato si riferisce a una fresa cilindrica fittizia dello stesso diametro. Il punto di riferimento del percorso risultante è rappresentato nella seguente figura in caso di impiego di una fresa toroidale.

È consentito che l'angolo fra la superficie di lavorazione e la superficie limite passi anche all'interno di un blocco da un angolo acuto a un angolo ottuso e viceversa.

Rispetto all'utensile standard, l'utensile reale impiegato più avere dimensioni maggiori o minori. In questo caso il raggio d'angolo risultante non può essere negativo e il segno algebrico del raggio d'angolo risultante deve essere mantenuto.

Con CUT3DCC il partprogram NC si riferisce al profilo sulla superficie di lavorazione. Qui viene considerato, come con la correzione del raggio utensile tradizionale, il raggio totale, che si ottiene dalla somma di:

• raggio utensile (parametro utensile $TC_DP6)

• valore di usura (parametro utensile $TC_DP15)

• e di un offset utensile programmato per il calcolo dell'offset verticale rispetto alla superficie limite OFFN.

La posizione della superficie limite viene determinata in base alla differenza fra i due valori:

• Dimensioni dell'utensile standard

• Raggio utensile (parametro UT $TC_DP6)

Page 435: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile7.6 Orientamento dell'utensile (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 435

7.6 Orientamento dell'utensile (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST)

Funzione Per orientamento dell'utensile si intende la posizione geometrica dell'utensile nello spazio. Con una macchina per la lavorazione a 5 assi, l'orientamento dell'utensile può essere definito mediante istruzioni nel programma.

I movimenti di raccordo dell'orientamento attivati con OSD e OST vengono formati in modo diverso a seconda del tipo di interpolazione per l'orientamento utensile.

Quando è attiva l'interpolazione vettoriale, l'andamento livellato dell'orientamento viene interpolato anche vettorialmente. Quando invece è attiva l'interpolazione dell'asse rotante, l'orientamento viene livellato direttamente tramite i movimenti dell'asse rotante.

ProgrammazioneProgrammazione della variazione dell'orientamento:

Una variazione dell'orientamento utensile può essere programmata con:

• programmazione diretta degli assi rotanti A, B, C (interpolazione asse rotante)

• Angolo di Eulero oppure angolo RPY

• Vettore direzionale (interpolazione vettoriale con indicazione di A3 o B3 o C3)

• LEAD/TILT (fresatura frontale)

Il sistema di coordinate di riferimento è il sistema di coordinate macchina (ORIMKS) oppure il sistema di coordinate pezzo attuale (ORIWKS).

Page 436: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile 7.6 Orientamento dell'utensile (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST)

Preparazione del lavoro436 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Programmazione dell'orientamento utensile:

Comando SignificatoORIC: Orientamento e movimento vettoriale paralleliORID: Orientamento e movimento vettoriale successiviOSOF: Nessuno smorzamento dell'orientamentoOSC: Orientamento costanteOSS: Smorzamento dell'orientamento solo all'inizio del bloccoOSSE: Smorzamento dell'orientamento all'inizio ed alla fine del bloccoORIS: La velocità di variazione dell'orientamento con smorzamento

dell'orientamento attiva in gradi per mm (vale per OSS und OSSE).OSD: Raccordo del movimento dell'orientamento con l'impostazione della

lunghezza di raccordo con il dato setting:SD42674 $SC_ORI_SMOOTH_DIST

OST: Raccordo del movimento di orientamento con l'impostazione della tolleranza d'angolo in gradi in caso di interpolazione vettoriale con il dato setting:SD42676 $SC_ORI_SMOOTH_TOLIn caso di interpolazione dell'asse rotante, la tolleranza impostata viene considerata lo scostamento massimo degli assi di orientamento.

NotaTutti i comandi per il raccordo di movimento dell'orientamento utensile (OSOF, OSC, OSS, OSSE, OSD e OST) sono raggruppati nel gruppo funzioni G 34. Hanno effetto modale, ovvero può essere attivo sempre solo uno di questi comandi.

Page 437: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile7.6 Orientamento dell'utensile (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 437

EsempiEsempio 1: ORIC

Se fra i blocchi di movimento N10 eN20sono programmati due o più blocchi con variazioni dell'orientamento (ad es. A2=... B2=... C2=...) e ORIC è attivo, il blocco circolare inserito viene suddiviso in questi blocchi intermedi in base alla somma delle variazioni angolari.

Codice di programma Commento

ORIC

N8 A2=… B2=… C2=…

N10 X… Y… Z…

N12 C2=… B2=…N14 C2=… B2=…

; Il blocco circolare che viene inserito sullo spigolo esterno si suddivide in N12 e N14, in base alla variazione dell'orientamento. Movimento circolare e variazione dell'orientamento vengono in questa occasione eseguiti parallelamente.

N20 X =…Y=… Z=… G1 F200

Page 438: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile 7.6 Orientamento dell'utensile (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST)

Preparazione del lavoro438 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio 2: ORID

Se ORID è attivo, tutti i blocchi vengono eseguiti fra i due blocchi di movimento alla fine del primo blocco di movimento. Il blocco circolare con orientamento costante viene eseguito subito prima del secondo blocco di movimento.

Codice di programma Commento

ORID

N8 A2=… B2=… C2=…

N10 X… Y… Z…

N12 A2=… B2=… C2=… ; Il blocco N12 e N14 viene eseguito alla fine di N10. Successivamente il blocco circolare viene spostato con l'orientamento attuale.

N14 M20 ; Funzioni ausiliarie ecc.

N20 X… Y… Z…

NotaPer il tipo di variazione dell'orientamento sullo spigolo esterno è determinante il comando di programma che risulta attivo nel primo blocco di movimento di uno spigolo esterno.

Senza variazione dell'orientamento: Se l'orientamento non viene modificato alla fine del blocco, la sezione trasversale dell'utensile è un cerchio che tocca entrambi i profili.

Page 439: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile7.6 Orientamento dell'utensile (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 439

Esempio 3: Variazione dell'orientamento su uno spigolo interno

Ulteriori informazioniComportamento sugli spigoli esterni

Su uno spigolo esterno viene sempre inserito un blocco circolare con il raggio della fresa.

Con i comandi di programma ORIC e ORID è possibile stabilire se le variazioni dell'orientamento che vengono programmate fra il blocco N1 e il blocco N2 vengono eseguite prima dell'inizio del blocco circolare inserito o contemporaneamente a questo.

Codice di programma

ORIC

N10 X …Y… Z… G1 F500

N12 X …Y… Z… A2=… B2=… C2=…

N15 X …Y… Z… A2=… B2=… C2=…

Page 440: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile 7.6 Orientamento dell'utensile (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST)

Preparazione del lavoro440 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Se è necessaria una variazione dell'orientamento su uno spigolo esterno, questa può avvenire sia parallelamente all'interpolazione che separatamente con il movimento vettoriale.

Con ORID vengono per prima cosa eseguiti i blocchi inseriti senza movimento vettoriale. Il blocco circolare viene sempre inserito prima del secondo blocco di movimento, attraverso il quale viene formato lo spigolo.

Se su uno spigolo esterno sono inseriti più blocchi di orientamento e ORIC è selezionato, il movimento circolare viene suddiviso su questi in base alle somme delle variazioni dell'orientamento dei singoli blocchi inseriti.

Raccordo dell'orientamento con OSD o OST

In caso di raccordo con G642 lo scostamento massimo per gli assi di profilo e gli assi di orientamento non può essere molto diverso. La tolleranza inferiore di entrambi determina la forma del movimento di raccordo o della tolleranza angolare, in modo da livellare in modo relativamente ampio il percorso di orientamento, senza dover accettare scostamenti superiori dal profilo.

Attivando OSD o OST è possibile, con una lunghezza di raccordo e una tolleranza d'angolo preimpostate, livellare "ampiamente" scostamenti molto ridotti del percorso di orientamento senza provocare gravi scostamenti dal profilo.

NotaA differenza del raccordo del profilo (e del percorso di orientamento) con G642 nel raccordo dell'orientamento con OSD o OST non viene formato un blocco a sé stante, bensì il movimento di raccordo viene inserito direttamente nei blocchi originali programmati.

Con OSD o OST non si possono raccordare passaggi di blocchi nei quali avviene un cambio del tipo di interpolazione per l'orientamento dell'utensile (vettore  →  asse rotante, asse rotante  →  vettore). Questi passaggi di blocco possono essere eventualmente raccordati con le funzioni di raccordatura tradizionali G641, G642 o G643.

Page 441: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile7.7 Assegnazione di un numero D libero, numero del tagliente

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 441

7.7 Assegnazione di un numero D libero, numero del tagliente

7.7.1 Assegnazione di un numero D libero, numero del tagliente (indirizzo CE)

Numero DI numeri D possono essere utilizzati come numeri di correttori. Inoltre con l’indirizzo CE si può indirizzare il numero del tagliente. Con la variabile di sistema $TC_DPCE è possibile rappresentare il numero del tagliente.

Preimpostazione: n. correttore == n. tagliente

Tramite i dati macchina vengono stabiliti il numero massimo dei numeri D (numero di taglienti) e il numero massimo di taglienti per utensile ( →  costruttore della macchina). I comandi che seguono hanno significato solo se è stato fissato un numero di taglienti massimo (MD18105) superiore al numero dei taglienti per utensile (MD18106). Tenere in considerazione i dati del costruttore della macchina.

BibliografiaManuale di guida alle funzioni, Funzioni di base; Correzione utensile (W1)

7.7.2 Assegnazione libera dei numeri D: Controllo dei numeri D (CHKDNO)

FunzioneCon il comando CKKDNO è possibile controllare se i numeri D disponibili sono stati impostati univocamente. I numeri D di tutti gli utensili definiti nell’ambito di un’unità TO, possono essere assegnati solo una volta. Gli utensili sostitutivi non vengono verificati.

Sintassistate=CHKDNO(Tno1,Tno2,Dno)

NotaOltre all'assegnazione relativa dei numeri D, gli stessi si possono impostare come "piani" oppure "assoluti" (1...32000) senza riferimento ad un numero T (nell'ambito della funzione "struttura del numero D piana").

Page 442: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile 7.7 Assegnazione di un numero D libero, numero del tagliente

Preparazione del lavoro442 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Significato

7.7.3 Assegnazione libera dei numeri D: Modifica dei nomi dei numeri D (GETDNO,SETDNO)

FunzioneI numeri D devono essere sempre definiti in modo univoco. Due differenti taglienti di un utensile non possono avere lo stesso numero D.

GETDNO

Questa istruzione fornisce un numero D di un determinato tagliente (ce) di un utensile con il numero T t. Se per il parametro indicato non esiste nessun numero D, viene settato d=0. Se il numero D non è valido, viene restituito un valore > 32000.

SETDNO

Con questa istruzione viene assegnato il valore d al numero D di un tagliente ce dell’utensile t. Con state viene restituito il risultato di questa istruzione (TRUE oppure FALSE). Se per il parametro indicato non esiste nessun blocco dati, viene restituito FALSE. Gli errori di sintassi generano un allarme. Il numero D non può essere settato a 0 in modo esplicito.

Sintassid = GETDNO (t,ce)

state = SETDNO (t,ce,d)

Significato

state =TRUE: i numeri D del settore verificato, sono stati assegnati in modo univoco.

=FALSE: avviene una collisione tra i numeri D oppure la parametrizzazione è errata. I parametri che provocano la collisione vengono assegnati Con Tno1, Tno2 e Dno. Questi dati possono essere analizzati nel partprogram.

CHKDNO(Tno1,Tno2) Vengono verificati tutti i numeri D dell’utensile indicato.CHKDNO(Tno1) Vengono verificati tutti i numeri D di Tno1 rispetto agli altri

utensili.CHKDNO Vengono verificati tutti i numeri D di tutti gli utensili rispetto agli

altri utensili.

d Numero D del tagliente dell'utensilet Numero T dell'utensilece Numero del tagliente (numero CE) dell’utensilestate Indica se il comando è stato eseguito senza errori (TRUE oppure FALSE).

Page 443: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile7.7 Assegnazione di un numero D libero, numero del tagliente

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 443

Esempio di ridenominazione di un numero D

In questo modo al tagliente CE=3 viene assegnato il nuovo valore D 17. Ora i dati di questo tagliente vengono interrogati tramite il numero D 17; sia con le variabili di sistema che da programmazione con l’indirizzo NC.

7.7.4 Assegnazione libera dei numeri D: Individuazione del numero T per il numero Dpreimpostato (GETACTTD)

FunzioneCon il comando GETACTTD si individua per un numero D‑assoluto il numero T corrispondente. Non avviene nessuna verifica dell’univocità. Se esistono più numeri D uguali all'interno di un'unità TO, viene visualizzato il numero T del primo utensile trovato. Se si utilizzano numeri D "piani" non ha senso impiegare il comando, poichè viene sempre visualizzato il valore "1" (nessun numero T nella gestione dati).

Sintassistatus=GETACTTD(Tnr,Dnr)

Significato

Programmazione Commento

$TC_DP2[1,2]=120 ;

$TC_DP3[1,2] = 5.5 ;

$TC_DPCE[1,2] = 3 ; Numero di taglienti CE

... ;

N10 def int NrDVecchio, NrDNuovo = 17 ;

N20 NrDVecchio = GETDNO(1,3) ;

N30 SETDNO(1,3,NrDNuovo) ;

Dnr Numero D per il quale deve essere ricercato il numero T.Tnr Numero T trovatostato Valore: Significato:

0 Il numero T è stato trovato. Tnr contiene il valore del numero T.-1 per il numero D indicato non esiste nessun numero T; Tnr=0.-2 il numero D non è assoluto. Tnr mantiene il valore del primo

utensile trovato, che contiene il numero D con il valore Dnr.-5 La funzione potrebbe per un diverso motivo non essere

eseguita.

Page 444: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile 7.7 Assegnazione di un numero D libero, numero del tagliente

Preparazione del lavoro444 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

7.7.5 Assegnazione libera dei numeri D: Impostazione non valida dei numeri D (DZERO)

FunzioneIl comando DZERO serve da supporto durante il riattrezzaggio. I blocchi dati di correzione contraddistinti in questo modo non vengono più verificati dal comando CHKDNO. Per renderli nuovamente accessibili, il numero D deve essere ancora impostato con SETDNO.

SintassiDZERO

Significato

DZERO Contraddistingue tutti i numeri D dell'unità TO come non validi.

Page 445: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile7.8 Cinematica del portautensile

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 445

7.8 Cinematica del portautensile

PremesseUn portautensile può orientare un utensile in tutte le posizioni possibili nello spazio solo se

• sono presenti due assi rotanti V1 e V2.

• i due assi rotanti si trovano in posizione ortogonale l’uno rispetto all’altro.

• l'asse longitudinale dell'utensile è ortogonale al secondo asse rotante V2.

Inoltre, per le macchine nelle quali devono essere impostabili tutti gli orientamenti possibili, è necessario che:

• l'orientamento utensile deve essere ortogonale al primo asse rotante V1.

FunzioneLa cinematica del portautensile con al massimo due assi rotanti v1 oppure v2viene definita attraverso le 17 variabili $TC_CARR1[m] ... $TC_CARR17[m] . La definizione del portautensile è composta:

• dalla distanza vettoriale del primo asse rotante rispetto al punto di riferimento del portautensile I1, dalla distanza vettoriale del primo rispetto al secondo asse rotante I2, dalla distanza vettoriale del secondo asse rotante rispetto al punto di riferimento dell’utensile I3.

• dei vettori direzionali di entrambi gli assi rotanti V1, V2.

• dagli angoli di rotazione α1, α2intorno ad entrambi gli assi. Gli angoli di rotazione vengono conteggiati osservando in direzione dei vettori degli assi rotanti, in senso orario positivo.

Page 446: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile 7.8 Cinematica del portautensile

Preparazione del lavoro446 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Per macchine con cinematica risolta (sia utensili che pezzi possono essere ruotati), le variabili di sistema vengono ampliate con le registrazioni

• $TC_CARR18[m] ... $TC_CARR23[m] .

Parametri

Funzione delle variabili di sistema per il portautensile orientabileIdentificazione Componente x Componente y Componente zl1 Vettore offset $TC_CARR1[m] $TC_CARR2[m] $TC_CARR3[m]

l2 Vettore offset $TC_CARR4[m] $TC_CARR5[m] $TC_CARR6[m]

v1 Asse rotante $TC_CARR7[m] $TC_CARR8[m] $TC_CARR9[m]

v2 Asse rotante $TC_CARR10[m] $TC_CARR11[m] $TC_CARR12[m]

α1 Angolo di rotazioneα2 Angolo di rotazione

$TC_CARR13[m]$TC_CARR14[m]

l3 Vettore offset $TC_CARR15[m] $TC_CARR16[m] $TC_CARR17[m]

Ampliamento delle variabili di sistema per il portautensile orientabileDenominazione Componente x Componente y Componente zl4 Vettore offset $TC_CARR18[m] $TC_CARR19[m] $TC_CARR20[m]

Identificatori degli assi rotanti v1e v2

Identificatori degli assi rotanti v1e v2 (default = 0)$TC_CARR21[m]$TC_CARR22[m]

Tipo di cinematicaToolPartMixed mode

$TC_CARR23[m]Tipo di cinematica T -> Tipo di cinematica P -> Tipo di cinematica M Solo l’utensile può essere ruotato (default)

Solo il pezzo può essere ruotato.

Pezzo e utensile possono essere ruotati

Identificatori degli assi rotanti v1e v2

Angolo in gradi degli assi rotanti v1e v2 assumendo la posizione base$TC_CARR21[m]$TC_CARR22[m]

Offset angolare degli assi rotanti v1e v2

Offset della dentatura Hirth in gradi degli assi rotanti v1e v2$TC_CARR26[m]$TC_CARR27[m]

Increm.angolarev1 asse rotantev2 asse rotante

Incremento della dentatura Hirth in gradi degli assi rotanti v1e v2$TC_CARR28[m]$TC_CARR29[m]

Posiz.minima asse rotante v1asse rotante v2

Limite software per la posizione minima degli assi rotanti v1e v2$TC_CARR30[m]$TC_CARR31[m]

Posiz.massima asse rotante v1asse rotante v2

Limite software per la posizione massima degli assi rotanti v1e v2$TC_CARR32[m]$TC_CARR33[m]

Page 447: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile7.8 Cinematica del portautensile

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 447

Nome del portautensile

Il portautensile può essere definito con il nome anziché con un numero. $TC_CARR34[m]

Utente:Nome asse 1Nome asse 2CodicePosizione

Utilizzo previsto nell’ambito dei cicli di misura dell’utente: $TC_CARR35[m]$TC_CARR36[m]$TC_CARR37[m]$TC_CARR38[m] $TC_CARR39[m] $TC_CARR40[m]

Traslazione fine

Parametro che può essere sommato ai valori nei parametri di base.

l1 Vettore di offset $TC_CARR41[m] $TC_CARR42[m] $TC_CARR43[m]

l2 Vettore di offset $TC_CARR44[m] $TC_CARR45[m] $TC_CARR46[m]

l3 Vettore di offset $TC_CARR55[m] $TC_CARR56[m] $TC_CARR57[m]

l4 Vettore di offset $TC_CARR58[m] $TC_CARR59[m] $TC_CARR60[m]

v1 Asse rotante $TC_CARR64[m]

v2 Asse rotante $TC_CARR65[m]

Ampliamento delle variabili di sistema per il portautensile orientabile

NotaChiarimenti sui parametriCon "m" viene indicato il numero del portautensile da definire.

$TC_CARR47 ... $TC_CARR54 e $TC_CARR61 ... $TC_CARR63 non sono definiti e tentando di leggerli o scriverli viene emesso un allarme.

I punti iniziali e finali dei vettori della distanza riferita agli assi, possono essere scelti liberamente. Gli angoli di rotazione α1, α2 intorno ad entrambi gli assi, vengono impostati a 0° nella posizione di riposo del portautensile. La cinematica di un portautensile, in questo modo, può essere definita liberamente.

Portautensili con solo uno o nessun asse rotante, possono essere definiti ad uno o ad entrambi gli assi rotanti settando a zero i vettori direzionali. Nel caso di un portautensile senza asse rotante, i vettori della distanza hanno l’effetto di correttori utensili supplementari i cui componenti non vengono influenzati durante la commutazione dei piani di lavoro (G17 ... G19)°.

Page 448: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile 7.8 Cinematica del portautensile

Preparazione del lavoro448 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Ampliamenti dei parametriParametri degli assi rotanti

Le variabili di sistema sono state ampliate con le registrazioni $TC_CARR24[m] ... $TC_CARR33[m] e vengono descritte come segue:

Parametri per l'utente

$TC_CARR34 ... $TC_CARR40 contengono parametri che sono a completa disposizione dell'utente e che fino alla versione SW 6.4 non vengono di regola ulteriormente valutati all'interno dell'NCK o non hanno significato.

Parametri della traslazione fine

$TC_CARR41 ... $TC_CARR65 contengono parametri della traslazione fine, che possono essere aggiunti ai valori nei parametri di base. Il valore di traslazione fine abbinato ad un parametro di base si ricava sommando il valore 40 al numero del parametro.

L'offset degli assi rotanti v1, v2

Variazione della posizione degli assi rotanti v1 oppure v2 nella posizione di base del portautensile orientabile.

Glioffset angolari/incrementi angolari degli assi rotanti v1, v2

Offset oppure incremento angolare della dentatura Hirth degli assi rotanti v1 e v2. L’angolo programmato o calcolato viene arrotondato al valore più vicino derivante dall’intero n da phi = s + n * d.

Posiz.minima e massima assi rotanti v1, v2

La posizione minima e massima dell'asse rotante Angolo limite (limite software) degli assi rotanti v1 e v2.

Page 449: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile7.8 Cinematica del portautensile

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 449

EsempioIl portautensile utilizzato nel seguente esempio viene definito completamente con una rotazione intorno all’asse Y.

Codice di programma Commento

N10 $TC_CARR8[1]=1 ; Definizione dei componenti Y del primo asse rotante del portautensili 1.

N20 $TC_DP1[1,1]= 120 ; Definizione di una fresa a codolo.

N30 $TC_DP3[1,1]=20 ; Definizione di una fresa a codolo con lunghezza 20 mm.

N40 $TC_DP6[1,1]=5 ; Definizione di una fresa a codolo con raggio 5 mm.

N50 ROT Y37 ; Definizione di frame con rotazione di 37° intorno all'asse Y.

N60 X0 Y0 Z0 F10000 ; Raggiungimento della posizione iniziale.

N70 G42 CUT2DF TCOFR TCARR=1 T1 D1 X10 ; Correzione del raggio, impostazione della correzione della lunghezza utensile nel frame ruotato, selezione portautensili 1, utensile 1.

N80 X40 ; Esecuzione della lavorazione con una rotazione di 37°.

N90 Y40

N100 X0

N110 Y0

N120 M30

Page 450: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile 7.8 Cinematica del portautensile

Preparazione del lavoro450 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Ulteriori informazioniCinematica risolta

Per le macchine con cinematica risolta (sia l'utensile sia il pezzo sono orientabili) le variabili di sistema sono state ampliate delle voci da $TC_CARR18[m] a $TC_CARR23[m] e sono state descritte come di seguito:

La tavola utensile girevole si compone:

• della distanza vettoriale del secondo asse rotante V2 rispetto al punto di riferimento di una tavola utensile orientabile I4 del terzo asse rotante.

Gli assi rotanti si compongono:

• di entrambi gli identificatori del canale per il riferimento agli assi rotanti V1e V2, alla cui posizione si accede eventualmente nella determinazione dell'orientamento del portautensili orientabile.

Il tipo di cinematica con uno dei valori T, P oppure M:

• tipo di cinematica T: solo l’utensile può essere ruotato.

• tipo di cinematica P: solo il pezzo può essere ruotato.

• tipo di cinematica M: utensile e pezzo possono essere entrambi ruotati.

Cancellazione dei dati del portautensile

Con $TC_CARR1[0]=0 i dati di tutti i blocchi dati dei portautensili vengono cancellati.

Al tipo di cinematica $TC_CARR23[T]=T deve essere assegnata una delle tre lettere maiuscole o minuscole consentite (T,P,M) e per questo motivo non deve essere cancellato.

Modifica dei dati del portautensile

Ognuno dei valori definiti può essere modificato assegnando un nuovo valore nel partprogram. Ogni altra lettera diversa da T, P oppure M, comporta l'emissione di un allarme al momento dell'attivazione del portautensile orientabile.

Lettura dei dati del portautensile

Ognuno dei valori definiti può essere letto assegnandolo ad una variabile nel partprogram.

Traslazioni fini

Un valore di traslazione fine non consentito viene rilevato soltanto quando viene attivato un portautensili orientabile che contiene un valore simile e contemporaneamente il dato di setting SD42974 $SC_TOCARR_FINE_CORRECTION è = TRUE.

La somma delle traslazioni fine consentite viene limitata ad un valore massimo tramite dati macchina.

Page 451: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile7.9 Correzione della lunghezza utensile per portautensili orientabili (TCARR, TCOABS, TCOFR, TCOFRX,

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 451

7.9 Correzione della lunghezza utensile per portautensili orientabili (TCARR, TCOABS, TCOFR, TCOFRX, TCOFRY, TCOFRZ)

Funzione Con la variazione dell'orientamento nello spazio dell'utensile variano anche i componenti della lunghezza utensile.

Dopo il riallestimento, per es. mediante impostazione manuale o cambio del portautensili con orientamento fisso nello spazio, occorre ricalcolare i componenti della lunghezza utensile. Questo avviene con i comandi di movimento TCOABS e TCOFR.

Per un portautensili orientabile di un frame attivo, quando si seleziona l'utensile con TCOFRZ, TCOFRY e TCOFRX può essere determinata la direzione nella quale deve puntare l'utensile.

SintassiTCARR=[<m>]TCOABSTCOFRTCOFRZTCOFRYTCOFRX

Page 452: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile 7.9 Correzione della lunghezza utensile per portautensili orientabili (TCARR, TCOABS, TCOFR, TCOFRX,

Preparazione del lavoro452 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Significato

Ulteriori informazioniCorrezione lunghezza utensile in base all'orientamento del portautensili (TCOABS)

TCOABS calcola la correzione lunghezza utensile a partire dagli angoli di orientamento attuali del portautensili, memorizzati nelle variabili di sistema $TC_CARR13 e $TC_CARR14.

Per la definizione della cinematica del portautensili con variabili di sistema, vedere " Cinematica del portautensile [Pagina 445] ".

Per ricalcolare la correzione lunghezza utensile in caso di cambio di frame, occorre selezionare nuovamente l'utensile.

Direzione dell’utensile dal frame attivo

Il portautensili orientabile può essere impostato in maniera tale che l'utensile si rivolga nelle seguenti direzioni:

• con TCOFR e TCOFRZ in direzione Z

• con TCOFRY in direzione Y

• con TCOFRX in direzione X

La commutazione fra TCOFR e TCOABS richiede un nuovo calcolo della correzione lunghezza utensile.

Richiesta portautensili (TCARR)

Con TCARR vengono richiesti con il numero del portautensili m i relativi dati geometrici (memoria di correzione).

Con m=0 si disattiva il portautensili attivo.

I dati geometrici del portautensili diventano attivi solo dopo che è stato richiamato un utensile. L'utensile selezionato resta attivo anche dopo il cambio di un portautensili.

I dati geometrici attuali del portautensili possono anche essere definiti nel partprogram mediante le corrispondenti variabili di sistema.

TCARR=[<m>]: Richiesta portautensili con il numero "m"TCOABS: Calcolo dei componenti della lunghezza utensile in base

all'orientamento attuale del portautensiliTCOFR: Determinazione componenti lunghezza utensile da orientamento del

frame attualeTCOFRZ: Portautensili orientabile dal frame attivo il cui utensile punta nella

direzione ZTCOFRY: Portautensili orientabile dal frame attivo il cui utensile punta nella

direzione Y.TCOFRX: Portautensili orientabile dal frame attivo il cui utensile punta nella

direzione X.

Page 453: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile7.9 Correzione della lunghezza utensile per portautensili orientabili (TCARR, TCOABS, TCOFR, TCOFRX,

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 453

Nuovo calcolo della correzione lunghezza utensile (TCOABS) con il cambio di frame

Per ricalcolare la correzione lunghezza utensile in caso di cambio di frame, occorre selezionare nuovamente l'utensile.

Nel calcolo della correzione lunghezza utensile vengono calcolati in un passo intermedio anche gli angoli di rotazione del portautensili. Dato che nei portautensili con due assi di rotazione esistono in genere due coppie di angoli di rotazione con cui è possibile adattare l'orientamento dell'utensile al frame attivo, è necessario che i valori degli angoli di rotazione memorizzati nelle variabili di sistema corrispondano perlomeno approssimativamente agli angoli di rotazione impostati meccanicamente.

Parametri di trasferimento dei cicli standard e dei cicli di misura

Per i parametri di trasferimento dei cicli standard e dei cicli di misura valgono dei campi di valori definiti.

Per i valori angolari il campo di lavoro è definito come segue:

• Rotazione intorno al 1° asse geometrico: -180 gradi fino a +180 gradi

• Rotazione intorno al 2° asse geometrico: -90 gradi fino a +90 gradi

• Rotazione intorno al 3° asse geometrico: -180 gradi fino a +180 gradi

Vedere il capitolo Frame, "Rotazione programmabile (ROT, AROT, RPL)".

NotaL'orientamento dell'utensile deve essere adattato manualmente al frame attivo.

NotaOrientamento dell'utensileIl controllo numerico non può controllare gli angoli di rotazione calcolati tramite l'orientamento dei frame per verificare la loro possibilità di impostazione sulla macchina.

Se gli assi di rotazione del portautensili sono disposti in modo che l'orientamento dell'utensile calcolato mediante l'orientamento dei frame non può essere raggiunto, viene emesso un allarme.

Non è ammessa la combinazione della correzione fine dell'utensile con le funzionalità di correzione lunghezza utensile per i portautensili mobili. Se si tenta di richiamare contemporaneamente le due funzioni, viene emessa una segnalazione di errore.

Con TOFRAME è possibile definire un frame in base alla direzione di orientamento del portautensili selezionato. Per maggiori informazioni vedere il capitolo "Frame"

In caso di trasformazione attiva dell'orientamento (trasformazione a 3, 4, 5 assi), è possibile selezionare un portautensili con orientamento che si discosta dalla posizione di zero senza che venga emesso un allarme.

NotaNel trasferire i valori angolari a un ciclo standard o a un ciclo di misura occorre considerare i seguenti aspetti:

I valori inferiori alla precisione di calcolo dell'NC vanno arrotondati a zero!

La precisione di calcolo dell'NC per le posizioni angolari è definita nel dato macchina:

MD10210 $MN_INT_INCR_PER_DEG

Page 454: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile 7.10 Correzione della lunghezza utensile on line (TOFFON, TOFFOF)

Preparazione del lavoro454 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

7.10 Correzione della lunghezza utensile on line (TOFFON, TOFFOF)

Funzione Con la variabile $AA_TOFF[<n>] si può eseguire una correzione tridimensionale in tempo reale sulla base delle tre dimensioni effettive dell'utensile.

Come indice <n> si utilizzano i tre identificativi degli assi di geometria. In questo modo il numero delle direzioni di correzione attive viene definito attraverso gli assi geometrici abilitati nello stesso momento.

Tutte le correzioni possono essere abilitate contemporaneamente.

La funzione di correzione online della lunghezza utensile è utilizzabile in questi casi:

• Trasformazione dell'orientamento TRAORI

• carrello portautensili orientabile TCARR

Sintassi

Per ulteriori delucidazioni sulla programmazione della correzione online di lunghezza utensile in azioni sincrone al movimento vedere "Correzione online della lunghezza utensile ($AA_TOFF) [Pagina 603]".

Significato

NotaLa correzione online della lunghezza utensile è un'opzione che va abilitata prima dell'uso. La funzione è utile solo se abbinata a una trasformazione dell'orientamento attiva o a carrello portautensili orientabile attivo.

TRAORI

TOFFON(<direzione di correzione>[,<valore offset>])

WHEN TRUE DO $AA_TOFF[<direzione di correzione>] ; Nelle azioni sincrone.

...

TOFFOF(<direzione di correzione>)

TOFFON: Attivazione della correzione online di lunghezza utensile<direzione di

correzione>:Direzione dell'utensile (X, Y, Z) in cui deve attivarsi la correzione online di lunghezza utensile.

<valore offset>: Quando si attiva la funzione, per la relativa direzione di correzione si può indicare un valore di offset che verrà subito eseguito.

TOFFOF: Reimpostazione della correzione online di lunghezza utensile I valori di correzione nella direzione specificata della correzione vengono rimessi a zero e viene attivato un arresto di predecodifica.

Page 455: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile7.10 Correzione della lunghezza utensile on line (TOFFON, TOFFOF)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 455

EsempiEsempio 1: selezione della correzione lunghezza utensile

Esempio 2: selezione della correzione lunghezza utensile

Codice di programma Commento

MD21190 $MC_TOFF_MODE =1MD21194 $MC_TOFF_VELO[0] =1000MD21196 $MC_TOFF_VELO[1] =1000MD21194 $MC_TOFF_VELO[2] =1000MD21196 $MC_TOFF_ACCEL[0] =1MD21196 $MC_TOFF_ACCEL[1] =1MD21196 $MC_TOFF_ACCEL[2] =1

; Vengono raggiunti i valori assoluti.

N5 DEF REAL XOFFSET

N10 TRAORI(1) ; Trasformazione On.

N20 TOFFON(Z) ; Attivazione della correzione online della lunghezza utensile? per la direzione utensile Z.

N30 WHEN TRUE DO $AA_TOFF[Z]=10 G4 F5 ; Per la direzione utensile Z viene interpolata una correzione della lunghezza utensile di 10.

...

N100 XOFFSET=$AA_TOFF_VAL[X] ; Assegnazione della correzione attuale in direzione X.

N120 TOFFON(X,-XOFFSET) G4 F5 ; Per la direzione utensile X, la correzione della lunghezza utensile viene nuovamente portata a 0.

Codice di programma Commento

N10 TRAORI(1) ; Trasformazione On.

N20 TOFFON(X) ; Attivazione della correzione online della lunghezza utensile per la direzione utensile X.

N30 WHEN TRUE DO $AA_TOFF[X]=10 G4 F5 ; Per la direzione utensile X viene interpolata una correzione della lunghezza utensile di 10.

...

N80 TOFFOF(X) ; L'offset di posizione della direzione utensile? X viene cancellato:...$AA_TOFF[X]=0Non viene spostato alcun asse.Per la posizione attuale nel SCP viene aggiunto l'offset di posizione relativamente all'orientamento attuale.

Page 456: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile 7.10 Correzione della lunghezza utensile on line (TOFFON, TOFFOF)

Preparazione del lavoro456 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Ulteriori informazioniPreparazione del blocco

Nella preparazione del blocco in fase di preelaborazione viene preso in considerazione l'offset attuale per la lunghezza utensile valido nel ciclo principale. Per poter sfruttare completamente la velocità max. consentita per gli assi, è necessario interrompere la preparazione del blocco con un arresto di predecodifica STOPRE mentre si predispone un offset per l'utensile.

L'offset per l'utensile nella fase di preelaborazione viene sempre considerato anche quando le correzioni delle lunghezze dell'utensile non vengono più modificate dopo l'avvio del programma oppure quando, dopo una modifica di queste correzioni, è stato elaborato un numero di blocchi superiore a quello accettato dal buffer IPO fra la fase di preelaborazione e il ciclo principale.

Variabile $AA_TOFF_PREP_DIFF

Il valore della differenza fra la correzione attuale attiva nell'interpolatore e la correzione che era attiva nella fase di preparazione del blocco può essere interrogato nella variabile $AA_TOFF_PREP_DIFF[<n>].

Impostazione dei dati macchina e dati setting

Per la correzione online della lunghezza utensile sono disponibili i seguenti dati di sistema:

• MD20610 $MC_ADD_MOVE_ACCEL_RESERVE (riserva di accelerazione per movimento sovrapposto)

• MD21190 $MC_TOFF_MODE

Il contenuto della variabile di sistema$AA_TOFF[<n>] è eseguito come valore assoluto o viene integrato.• MD21194 $MC_TOFF_VELO (velocità della correzione online di lunghezza utensile)

• MD21196 $MC_TOFF_ACCEL (accelerazione della correzione online di lunghezza utensile)

• Dato setting per la preimpostazione del valori limite: SD42970 $SC_TOFF_LIMIT (limite superiore della correzione di lunghezza utensile)

Bibliografia:Manuale di guida alle funzioni, Funzioni speciali; F2: Trasformazioni multiasse

Page 457: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile7.11 Modifica del dati dei taglienti con utensili orientabili (CUTMOD)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 457

7.11 Modifica del dati dei taglienti con utensili orientabili (CUTMOD)

FunzioneCon la funzione "Modifica dei dati dei taglienti con utensili orientabili" è possibile considerare i rapporti geometrici modificati, che risultano dalla rotazione degli utensili (prevalentemente utensili da tornio ma anche utensili per foratura e fresatura) relativa al pezzo lavorato, durante la correzione utensile.

Figura 7-1 Utensile orientabile con un tornio

La rotazione attuale dell'utensile viene quindi sempre rilevata da un portautensili orientabile attualmente attivo (vedere " Correzione della lunghezza utensile per portautensili orientabili (TCARR, TCOABS, TCOFR, TCOFRX, TCOFRY, TCOFRZ) [Pagina 451] ").

La funzione viene attivata con il comando CUTMOD.

SintassiCUTMOD=<Valore>

Page 458: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile 7.11 Modifica del dati dei taglienti con utensili orientabili (CUTMOD)

Preparazione del lavoro458 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Significato

CUTMOD Comando per l'attivazione della funzione "Modifica dei dati taglienti con utensili orientabili"

<Valore> Al comando CUTMOD possono essere assegnati i seguenti valori:0 La funzione è disattivata.

I valori forniti dalle variabili di sistema $P_AD... sono identici ai parametri utensile corrispondenti.

> 0 La funzione viene attivata se un portautensili orientabile con il numero indicato è attivo, vale a dire l'attivazione è collegata a un determinato portautensili orientabile.I valori forniti dalle variabili di sistema $P_AD... possono essere eventualmente modificati rispetto ai parametri utensile corrispondenti in base alla rotazione attiva.La disattivazione del portautensili orientabile identificato disattiva la funzione temporaneamente, l'attivazione di un altro portautensili orientabile la disattiva permanentemente. Nel primo caso la funzione viene perciò riattivata selezionando ancora lo stesso portautensili orientabile, nel secondo caso è necessaria una nuova attivazione, anche se in un secondo tempo il portautensili orientabile viene riattivato con il numero indicato.La funzione non viene influenzata dal reset.

-1 La funzione viene sempre attivata nel caso in cui un portautensili orientabile sia attivo.Durante il cambio del portautensili o durante la relativa disattivazione e una riattivazione successiva, CUTMOD non deve essere nuovamente impostato.

-2 La funzione viene sempre attivata nel caso in cui sia attivo un portautensili orientabile, il cui numero è identico a quello del portautensili orientabile attualmente attivo.Se non è attivo alcun portautensili orientabile, questo è equivalente a CUTMOD=0. Se un portautensili orientabile è attivo, questo è equivalente a quanto direttamente indicato per il numero portautensili attuale.

< -2 I valori inferiori a -2 vengono ignorati, vale a dire questo caso viene trattato come se CUTMOD non fosse programmato.Avvertenza:Questo campo dei valori non dovrebbe essere modificato, dato che è riservato per eventuali estensioni successive.

NotaSD42984 $SC_CUTDIRMODLa funzione attivabile attraverso il comando CUTMOD sostituisce la funzione attivabile tramite il dato di setting SD42984 $SC_CUTDIRMOD. Questa funzione continua tuttavia ad essere disponibile inalterata. Poichè non ha senso utilizzare parallelamente entrambe le funzioni, essa può essere attivata solo se CUTMOD è uguale a zero.

Page 459: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile7.11 Modifica del dati dei taglienti con utensili orientabili (CUTMOD)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 459

EsempioL'esempio che segue si riferisce a un utensile con la posizione del tagliente 3 e con un portautensili orientabile, che può ruotare l'utensile intorno all'asse B.

I valori numerici nei commenti indicano ogni volta le posizioni finali del blocco nelle coordinate macchina (SCM) nella sequenza X, Y, Z.

Codice di programma Commento

N10 $TC_DP1[1,1]=500

N20 $TC_DP2[1,1]=3 ; Posizione dei taglienti

N30 $TC_DP3[1,1]=12

N40 $TC_DP4[1,1]=1

N50 $TC_DP6[1,1]=6

N60 $TC_DP10[1,1]=110 ; Angolo supporto

N70 $TC_DP11[1,1]=3 ; Direzione di taglio

N80 $TC_DP24[1,1]=25 ; Angolo libero

N90 $TC_CARR7[2]=0 $TC_CARR8[2]=1 $TC_CARR9[2]=0 ; Asse B

N100 $TC_CARR10[2]=0 $TC_CARR11[2]=0 $TC_CARR12[2]=1 ; Asse C

N110 $TC_CARR13[2]=0

N120 $TC_CARR14[2]=0

N130 $TC_CARR21[2]=X

N140 $TC_CARR22[2]=X

N150 $TC_CARR23[2]="M"

N160 TCOABS CUTMOD=0

N170 G18 T1 D1 TCARR=2 X Y Z

N180 X0 Y0 Z0 F10000 ; 12.000 0.000 1.000

N190 $TC_CARR13[2]=30

N200 TCARR=2

N210 X0 Y0 Z0 ; 10.892 0.000 -5.134

N220 G42 Z–10 ; 8.696 0.000 –17.330

N230 Z–20 ; 8.696 0.000 –21.330

N240 X10 ; 12.696 0.000 –21.330

N250 G40 X20 Z0 ; 30.892 0.000 –5.134

N260 CUTMOD=2 X0 Y0 Z0 ; 8.696 0.000 –7.330

N270 G42 Z–10 ; 8.696 0.000 –17.330

N280 Z–20 ; 8.696 0.000 –21.330

N290 X10 ; 12.696 0.000 –21.330

N300 G40 X20 Z0 ; 28.696 0.000 –7.330

N310 M30

Page 460: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile 7.11 Modifica del dati dei taglienti con utensili orientabili (CUTMOD)

Preparazione del lavoro460 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Spiegazioni:

Nel blocco N180 viene per prima cosa attivato l'utensile con CUTMOD=0 e con il portautensili orientabile non ruotato. Poichè tutti i vettori di offset del portautensili orientabile sono pari a 0, viene raggiunta la posizione che corrisponde alle lunghezze utensile indicate in $TC_DP3[1,1] e $TC_DP4[1,1].

Nel blocco N200 il portautensili orientabile viene attivato con una rotazione di 30° intorno all'asse B. Poichè la posizione del tagliente non viene modificata a causa di CUTMOD=0, resta determinante il punto di taglio di riferimento precedente. Perciò nel blocco N210 viene raggiunta la posizione che mantiene il vecchio punto di taglio di riferimento nel punto zero (ciò significa che il vettore (1, 12) viene ruotato di 30° nel piano Z/X).

Nel blocco N260, a differenza del blocco N200, è attivo CUTMOD=2. A causa della rotazione del portautensili orientabile, viene utilizzata la posizione dei taglienti 8 modificata. Da ciò derivano anche posizioni asse differenti.

Nei blocchi N220 e N270 viene ogni volta attivata la correzione del raggio utensile (CRU). La differente posizione dei taglienti nelle due parti di programma non ha alcun influsso sulle posizioni finali dei blocchi in cui la CRU è attiva, le posizioni corrispondenti sono quindi identiche. Soltanto nei blocchi di disattivazione N260 e N300 le posizioni differenti dei taglienti hanno nuovamente effetto.

Ulteriori informazioniAttivazione dei dati dei taglienti modificati

La posizione dei taglienti modificata e il punto di taglio di riferimento modificato diventano immediatamente attivi al momento della programmazione anche per un utensile già attivo. Una riattivazione dell'utensile non è a questo scopo necessaria.

Influenza del piano di lavoro attivo

Per la definizione di posizione dei taglienti modificata, direzione di taglio e angolo supporto/angolo libero è determinante l'analisi dei taglienti nel piano ogni volta attivo (G17 - G19).

Se tuttavia il dato di setting SD42940 $SC_TOOL_LENGTH_CONST (cambio dei componenti della lunghezza utensile al cambio del piano) contiene un valore valido diverso da zero (più o meno 17, 18 o 19), tale contenuto definisce il piano in cui vengono analizzate le grandezze rilevanti.

Page 461: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile7.11 Modifica del dati dei taglienti con utensili orientabili (CUTMOD)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 461

Variabili di sistema

Sono disponibili le seguenti variabili di sistema:

Tutte le variabili di elaborazione principale ($AC_CUTMOD_ANG, $AC_CUTMOD e $AC_CUT_INV) possono essere lette nelle azioni sincrone. Un accesso in lettura dall'elaborazione genera uno stop dell'elaborazione.

Variabili di sistema Significato$P_CUTMOD_ANG / $AC_CUTMOD_ANG

Restituisce l'angolo (non arrotondato) nel piano di lavorazione attivo, che per la modifica dei dati dei taglienti (posizione dei taglienti, direzione di taglio, angolo libero e angolo supporto) era stato alla base delle funzioni attivate con CUTMOD e $SC_CUTDIRMOD.$P_CUTMOD_ANG si riferisce allo stato attualmente in corso, $AC_CUTMOD_ANG si riferisce al blocco di elaborazione principale corrente.

$P_CUTMOD / $AC_CUTMOD

Legge il valore attualmente valido che è stato programmato per ultimo con il comando CUTMOD (numero del portautensili, per il quale la modifica dei dati dei taglienti deve essere attivata).Se l'ultimo valore CUTMOD programmato è = -2 (attivazione con il portautensili orientabile attualmente attivo), in $P_CUTMOD non viene restituito il valore -2, ma il numero del portautensili orientabile attivo al momento della programmazione.$P_CUTMOD si riferisce allo stato attualmente in corso, $AC_CUTMOD si riferisce al blocco di elaborazione principale corrente.

$P_CUT_INV / $AC_CUT_INV

Restituisce il valore TRUE se l'utensile è ruotato in modo tale che la direzione di rotazione del mandrino debba essere invertita. A questo scopo è necessario soddisfare, nel blocco al quale si riferisce l'operazione di lettura interessata, le seguenti quattro condizioni:1. È attivo un utensile di tornitura o di rettifica

(tipi di utensili da 400 a 599 e / o SD42950 $SC_TOOL_LENGTH_TYPE = 2).

2. L'azione dei taglienti è stata attivata con il comando di linguaggio CUTMOD.

3. È attivo un portautensili orientabile che è stato contrassegnato con il valore numerico di CUTMOD.

4. Il portautensili orientabile ruota l'utensile intorno a un asse nel piano di lavorazione (generalmente l'asse C) in modo tale che la normale risultante del tagliente utensile sia ruotata rispetto alla posizione di partenza di più di 90° (generalmente 180°).

Se almeno una delle quattro condizioni menzionate non è soddisfatta, il contenuto delle variabili è FALSE. Per gli utensili la cui posizione dei taglienti non è definita, il valore delle variabili è sempre FALSE.$P_CUT_INV si riferisce allo stato attualmente in corso e $AC_CUT_INV si riferisce al blocco di elaborazione principale corrente.

Page 462: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Correzioni utensile 7.11 Modifica del dati dei taglienti con utensili orientabili (CUTMOD)

Preparazione del lavoro462 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Dati taglienti modificati:

Nel caso in cui sia attiva una rotazione utensile, i dati modificati vengono resi disponibili nelle variabili di sistema seguenti:

BibliografiaPer ulteriori informazioni sulla funzione "Modifica dei dati dei taglienti con utensili orientabili" vedere:

Manuale di guida alle funzioni, Funzioni di base; Correzione utensile (W1)

Variabile di sistema Significato$P_AD[2] Posizione dei taglienti$P_AD[10] Angolo supporto$P_AD[11] Direzione di taglio$P_AD[24] Angolo libero

NotaI dati sono quindi sempre modificati rispetto ai parametri utensile corrispondenti ($TC_DP2[..., ...] ecc.) se la funzione "Modifica dei dati dei taglienti con utensili orientabili" è stata attivata con il comando CUTMOD e se è attivo un portautensili orientabile che provoca una rotazione utensile.

Page 463: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Preparazione del lavoroManuale di programmazione 02/2011, 6FC5398-2BP40-1CA0 463

8Comportamento sulla traiettoria

8.1 Controllo tangenziale (TANG, TANGON, TANGOF, TLIFT, TANGDEL)

Funzione L’asse slave viene gestito a seguire in funzione della tangente alla traiettoria definita attraverso l’asse master. In questo modo un utensile viene orientato parallelamente al profilo. Con l'angolo programmato con l'istruzione TANGON, l'utensile può essere collocato in posizione relativa alla tangente.

ApplicazioneIl controllo tangenziale può essere ad es. utilizzato per:

• controllo tangenziale di un utensile rotativo per la roditura

• inseguimento dell'allineamento del pezzo per una sega a nastro (vedere la figura seguente)

• posizionamento di un utensile di diamantatura su una mola

• posizionamento di un diamante circolare per il taglio del vetro o per la lavorazione della carta

• posizionamento tangenziale del filo per la saldatura su 5 assi

Page 464: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria 8.1 Controllo tangenziale (TANG, TANGON, TANGOF, TLIFT, TANGDEL)

Preparazione del lavoro464 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

SintassiDefinizione dell'inseguimento tangenziale:TANG(<asse_slave>,<asse_master1>,<asse_master2>,<fattore_accoppiamento>,<KS>,<ott>)

Attivazione del controllo tangenziale:TANGON(<asse_slave>,<angolo>,<dist>,<tolleranza_angolare>)

Disattivazione del controllo tangenziale:TANGOF(<asse_slave>)

Attivazione della funzione "Inserimento di blocchi intermedi sugli spigoli del profilo":TLIFT(<asse_slave>)

L'istruzione TLIFT viene specificata, con riferimento alla disposizione degli assi, con TANG(…).

Disattivazione della funzione "Inserimento di blocchi intermedi sugli spigoli del profilo":

Ripetere l'istruzione TANG(...) senza farla seguire da TLIFT(<asse_slave>).

Cancellazione della definizione di un inseguimento tangenziale:TANGDEL(<asse_slave>)

Un inseguimento tangenziale definito dall'utente dovrà essere cancellato, in caso si presenti la necessità di definire un nuovo inseguimento tangenziale con lo stesso asse slave nella chiamata di preparazione TANG. La cancellazione è possibile solo se l'accoppiamento a TANGOF(asse_slave) è disattivato.

Significato

TANG: Istruzione preparatoria per la definizione di un inseguimento tangenziale

TANGON: Attivazione del controllo tangenziale per l'asse slave specificato

Page 465: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria8.1 Controllo tangenziale (TANG, TANGON, TANGOF, TLIFT, TANGDEL)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 465

TANGOF: Disattivazione del controllo tangenziale per l'asse slave specificato

TLIFT: Attivazione della funzione "Inserimento di blocchi intermedi sugli spigoli del profilo"

TANGDEL: Cancellazione della definizione di un inseguimento tangenziale

<asse_slave>: Asse slave: asse rotante supplementare in funzionamento a seguire tangenziale

<asse_master1>,<asse_

master2>:Assi master: assi di contornitura dai quali viene ricavata la tangente per il funzionamento a seguire

<fattore_accoppiament

o>:Fattore di accoppiamento: relazione tra la variazione angolare della tangente e l'asse a seguire Preimpostazione: 1Nota:Un fattore di accoppiamento di 1 non deve essere programmato in modo esplicito.

<KS>: Lettera di identificazione per il sistema di coordinate"B": Sistema di coordinate base (impostazione

predefinita)Nota:<KS> = "B" non deve essere programmato in modo esplicito.

"W": Sistema di coordinate pezzo (non disponibile)<ott>: Ottimizzazione

"S": Standard (preimpostazione)Nota:<ott> = "S" non deve essere programmato in modo esplicito.

"P": Adeguamento automatico della caratteristica di tempo dell'asse tangenziale e del profiloNota:Con <ott> = "P" si concorre ad osservare la dinamica dell'asse slave alla limitazione della velocità lineare dell'asse master. Questa impostazione va raccomandata soprattutto per l'impiego di trasformazioni cinematiche.

<angolo>: Angolo di offset dell'asse slave<dist>: Percorso di raccordo dell'asse slave (necessario per

<ott> = "P")<tolleranza_angolare>: Tolleranza angolare dell'asse slave (opzionale;

interpretazione solo con <ott> = "P")Nota:I parametri <dist> e <tolleranza_angolare> limitano in modo mirato l'errore tra l'asse a seguire e la tangente degli assi master.

Page 466: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria 8.1 Controllo tangenziale (TANG, TANGON, TANGOF, TLIFT, TANGDEL)

Preparazione del lavoro466 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

EsempiEsempio 1: definizione e attivazione dell'inseguimento tangenziale

Esempio 2: cambio del piano

Esempio 3: commutazione degli assi di geometria e TANGDEL

Non viene generato alcun allarme.

Codice di programma Commento

N10 TANG(C,X,Y,1,"B","P") ; Definizione di un inseguimento tangenziale: l'asse rotante C deve seguire gli assi di geometria X e Y.

N20 TANGON(C,90) ; L'asse C è asse slave. Esso viene tenuto a 90° rispetto alla tangente sul punto di lavoro degli assi di contornatura.

...

NotaProgrammazione semplificataTANG(C,X,Y,1,"B","P") si può programmare in modo semplificato come TANG(C,X,Y,,,"P").

Codice di programma Commento

N10 TANG(A,X,Y,1) ; 1ª definizione dell'inseguimento tangenziale.

N20 TANGON(A) ; Attivazione dell'accoppiamento.

N30 X10 Y20 ; Raggio

...

N80 TANGOF(A) ; Disattivazione del 1° accoppiamento.

N90 TANGDEL(A) ; Cancellazione della 1ª definizione.

...

TANG(A,X,Z) ; 2ª definizione dell'inseguimento tangenziale.

TANGON(A) ; Attivazione del nuovo accoppiamento.

...

N200 M30

Codice di programma Commento

N10 GEOAX(2,Y1) ; Y1 è l'asse di geometria 2.

N20 TANG(A,X,Y) ; 1ª definizione dell'inseguimento tangenziale.

N30 TANGON(A,90) ; Attivazione dell'inseguimento con Y1.

N40 G2 F8000 X0 Y0 I0 J50

N50 TANGOF(A) ; Disattivazione dell'inseguimento con Y1.

N60 TANGDEL(A) ; Cancellazione della 1ª definizione.

N70 GEOAX(2,Y2) ; Y2 è il nuovo asse di geometria 2.

N80 TANG(A,X,Y) ; 2ª definizione dell'inseguimento tangenziale.

N90 TANGON(A,90) ; Attivazione dell'inseguimento con Y2.

...

Page 467: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria8.1 Controllo tangenziale (TANG, TANGON, TANGOF, TLIFT, TANGDEL)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 467

Esempio 4: inseguimento tangenziale con ottimizzazione automatica

Y1 è l'asse di geometria 2.

Ulteriori informazioniDefinizione dell'asse slave e dell'asse master

La definizione di asse master e di asse slave avviene con TANG.

Un fattore di accoppiamento fornisce la relazione tra una variazione angolare della tangente e l'asse slave a seguire. Il suo valore, in genere, è 1 (preimpostazione di default).

Angolo limite tramite limitazione del campo di lavoro

Per movimenti pendolari la tangente ruota di 180° sui punti di inversione del percorso e l'orientamento dell'asse slave varia di conseguenza. Normalmente questo comportamento non è sensato: il movimento di ritorno deve essere eseguito con lo stesso angolo di offset negativo del movimento di andata:

Codice di programma Commento

...

N80 G0 C0

N100 F=50000

N110 G1 X1000 Y500

N120 TRAORI

N130 G642 ; Movimento raccordato entro il limite massimo consentito dello scostamento dal percorso.

N171 TRANS X50 Y50

N180 TANG(C,X,Y,1,,"P") ; Definizione inseguimento tangenziale con ottimizzazione automatica della velocità vettoriale.

N190 TANGON(C,0,5.0,2.0) ; Attivazione inseguimento tangenziale con ottimizzazione automatica: percorso di raccordo 5 mm, tolleranza angolare 2 gradi.

N210 G1 X1310 Y500

N215 G1 X1420 Y500

N220 G3 X1500 Y580 I=AC(1420) J=AC(580)

N230 G1 X1500 Y760

N240 G3 X1360 Y900 I=AC(1360) J=AC(760)

N250 G1 X1000 Y900

N280 TANGOF(C)

N290 TRAFOOF

N300 M02

Page 468: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria 8.1 Controllo tangenziale (TANG, TANGON, TANGOF, TLIFT, TANGDEL)

Preparazione del lavoro468 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

A questo scopo occorre limitare il campo di lavoro dell'asse slave (G25, G26). La limitazione del campo di lavoro deve essere attiva al momento dell'inversione del percorso (WALIMON). Se l'angolo di offset va oltre il limite del campo di lavoro, con un angolo di offset negativo si tenta di rimanere nel campo di lavoro consentito.

Inserimento di un blocco intermedio sugli spigoli del profilo (TLIFT)

Su uno spigolo del profilo la tangente, e di conseguenza la posizione di riferimento dell'asse trascinato, sono soggette a variazioni brusche e irregolari. L'asse tenta normalmente di assorbire tali variazioni con la velocità massima possibile, causando tuttavia su un tratto del profilo uno scostamento rispetto alla posizione tangenziale desiderata. Se questo scostamento per motivi tecnologici non è ammissibile, con l'istruzione TLIFT si può fare in modo che il controllore si arresti in corrispondenza dello spigolo e ruoti l'asse trascinato nella nuova direzione tangenziale mediante un blocco intermedio creato automaticamente.

La rotazione avviene con l’asse di contornitura programmato quando l’asse slave è stato mosso una volta come asse di contornitura. Con la funzione TFGREF[<asse>]=0.001 è possibile raggiungere qui la velocità massima dell'asse a seguire.

Se l’asse slave in precedenza non era mai stato mosso come asse di contornitura, esso viene gestito come asse di posizionamento. La velocità dipende quindi dall’impostazione dei dati macchina per la velocità di posizionamento.

La rotazione viene effettuata alla velocità massima dell'asse trascinato.

Page 469: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria8.1 Controllo tangenziale (TANG, TANGON, TANGOF, TLIFT, TANGDEL)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 469

Possibilità di ottimizzazione

Se l'ottimizzazione automatica è selezionata (<ott>="P") e per l'asse a seguire sono definiti i parametri percorso di raccordo (<dist>) e tolleranza angolare (<tolleranza_angolare>), durante l'inseguimento tangenziale verranno raccordati o livellati i salti di velocità dell'asse slave conseguenti ai gradini nel profilo dell’asse master. In questo modo l’asse slave viene gestito “in anticipo” (vedere diagramma) per ridurre il più possibile gli scostamenti.

Definizione della variazione dell'angolo

La variazione dell'angolo, a partire dalla quale viene inserito un blocco intermedio, viene definita tramite il dato macchina seguente:

MD37400 $MA_EPS_TLIFT_TANG_STEP (angolo tangenziale per rilevamento bordo)

Influenza sulle trasformazioni

La posizione di un asse trascinato può essere il valore di ingresso per una trasformazione.

Posizionamento esplicito dell'asse slave

Se un asse slave viene posizionato esplicitamente, il dato di posizione viene sommato algebricamente all'angolo di offset.

Sono ammesse tutte le impostazioni del percorso (movimenti degli assi di interpolazione e degli assi di posizionamento).

Stato dell'accoppiamento

Nel programma principale NC è possibile interrogare lo stato dell'accoppiamento con le variabili di sistema $AA_COUP_ACT[<asse>]:

Valore Significato0 Nessun accoppiamento attivo1,2,3 Funzionamento a seguire tangenziale attivo

Page 470: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria 8.2 Andamento dell'avanzamento (FNORM, FLIN, FCUB, FPO)

Preparazione del lavoro470 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

8.2 Andamento dell'avanzamento (FNORM, FLIN, FCUB, FPO)

FunzionePer impieghi sempre più flessibili dell'avanzamento, la programmazione viene ampliata con la caratteristica lineare e cubica secondo DIN 66025.

Le caratteristiche cubiche possono essere programmate o direttamente, o come spline interpolate. In questo modo è possibile programmare, a seconda della curvatura del pezzo in lavorazione, caratteristiche di velocità con variazione graduale continua.

Queste caratteristiche di velocità consentono variazioni di accelerazioni senza overshoot e quindi una finitura uniforme della superficie del pezzo.

SintassiF… FNORMF… FLINF… FCUBF=FPO(…,…,…)

Significato

Ottimizzazione dell'avanzamento con tratti di percorso curvilinei

Il polinomio di avanzamento F=FPO e la spline di avanzamento FCUB devono essere sempre utilizzati con la velocità di taglio costante CFC . In questo modo è possibile generare un profilo di avanzamento ed accelerazione continua.

FNORM Posizione base. Il valore di avanzamento viene specificato nei blocchi di percorso ed ha validità modale.

FLIN Profilo velocità vettoriale lineare: Il valore dell'avanzamento viene impostato linearmente dal valore attuale all'inizio del blocco fino alla fine dello stesso ed è valido poi come valore modale. Questo comportamento può essere combinato con G93 e G94.

FCUB Profilo velocità vettoriale cubico:I valori di F programmati con validità blocco-blocco vengono collegati tramite una spline, prendendo come riferimento il punto finale del blocco. La Spline inizia e finisce tangenzialmente all'impostazione dell'avanzamento precedente o successivo ed agisce con G93 e G94.Se in un blocco manca l'indirizzo F, viene utilizzato l'ultimo valore di F programmato.

F=FPO… Profilo velocità vettoriale tramite polinomi:L'indirizzo F identifica la caratteristica dell'avanzamento con polinomio dal valore attuale fino a fine blocco. Il valore finale vale pertanto come valore modale.

Page 471: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria8.2 Andamento dell'avanzamento (FNORM, FLIN, FCUB, FPO)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 471

Esempio: Profili di avanzamento diversiIn questo esempio vengono programmati e rappresentati graficamente diverse tipologie di profili di avanzamento.

Codice di programma Commento

N1 F1000 FNORM G1 X8 G91 G64 ; Profilo di avanzamento costante, impostazione in quote incrementali

N2 F2000 X7 ; Variazione discontinua della velocità di riferimento

N3 F=FPO(4000, 6000, -4000) ; Profilo di avanzamento tramite polinomio con avanzamento 4000 alla fine del blocco

N4 X6 ; L'avanzamento polinomio 4000 ha validità di valore modale

N5 F3000 FLIN X5 ; Profilo di avanzamento lineare

N6 F2000 X8 ; Profilo di avanzamento lineare

N7 X5 L'avanzamento lineare ha validità di valore modale

N8 F1000 FNORM X5 ; Profilo di avanzamento costante con variazione discontinua dell'accelerazione

N9 F1400 FCUB X8 ; Tutti i valori F seguenti, programmati blocco a blocco, vengono collegati a spline

N10 F2200 X6

N11 F3900 X7

N12 F4600 X7

N13 F4900 X5 ; Disattivazione del profilo di spline

N14 FNORM X5

N15 X20

Page 472: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria 8.2 Andamento dell'avanzamento (FNORM, FLIN, FCUB, FPO)

Preparazione del lavoro472 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

FNORML'indirizzo F indica l'avanzamento lineare come valore costante secondo DIN 66025.

Ulteriori indicazioni si possono trovare nel manuale di programmazione "Concetti fondamentali".

FLINLa caratteristica dell'avanzamento viene impostata dal valore di avanzamento attuale al valore di F programmata, linearmente fino alla fine del blocco.

Esempio:N30 F1400 FLIN X50

Page 473: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria8.2 Andamento dell'avanzamento (FNORM, FLIN, FCUB, FPO)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 473

FCUBL'avanzamento viene impostato con caratteristica cubica dal valore di avanzamento attuale al valore di F programmato fino a fine blocco. Il controllo numerico collega tramite spline tutti i valori di avanzamento programmati con validità blocco-blocco ed FCUB attiva. I valori di avanzamento, in questo caso, servono come punti di supporto per il calcolo dell'interpolazione spline.

Esempio:N50 F1400 FCUB X50

N60 F2000 X47

N70 F3800 X52

F=FPO(…,…,…)La caratteristica dell'avanzamento viene programmata direttamente con un polinomio. L'impostazione dei coefficienti polinomici avviene analogamente all'interpolazione polinomica.

Esempio:F=FPO(endfeed, quadf, cubf)

endfeed, quadf e cubf sono variabili definite in precedenza.

Con FCUB attiva, la spline collega tangenzialmente ad inizio e a fine blocco la caratteristica definita tramite FPO .

endfeed: avanzamento a fine bloccoquadf: coefficiente polinomico quadraticocubf: coefficiente polinomico cubico

Page 474: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria 8.2 Andamento dell'avanzamento (FNORM, FLIN, FCUB, FPO)

Preparazione del lavoro474 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Condizioni marginaliLe funzioni per la programmazione del movimento sul profilo sono valide indipendentemente dalla caratteristica dell'avanzamento programmata.

La caratteristica dell'avanzamento programmabile è sempre assoluta, indipendentemente da G90 oppure G91.

L’andamento dell’avanzamento FLIN e FCUB agisce con

G93 e G94.

FLIN e FCUB non agiscono con

G95, G96/G961 e G97/G971.

Compressore attivo COMPONCon compressore attivo COMPON , per la raccolta di più blocchi in un segmento spline vale quanto segue:

FNORM:

Per il segmento spline vale la word F dell'ultimo blocco di appartenenza.

FLIN:

Per il segmento spline vale la parola F dell'ultimo blocco di appartenenza. Il valore di F programmato vale fino al termine del segmento; l'accostamento viene poi effettuato linearmente.

FCUB:

La spline di avanzamento generata, rispetto ai punti finali programmati, ha uno scostamento max. pari al valore definito nel dato macchina C $MC_COMPRESS_VELO_TOL.

F=FPO(…,…,…)

Condizioni marginaliLe funzioni per la programmazione del movimento sul profilo sono valide indipendentemente dalla caratteristica dell'avanzamento programmata.

La caratteristica dell'avanzamento programmabile è sempre assoluta, indipendentemente da G90 oppure G91.

L’andamento dell’avanzamento FLIN e FCUB agisce con

G93 e G94.

FLIN e FCUB non agiscono con

G95, G96/G961 e G97/G971.

Compressore attivo COMPONCon compressore attivo COMPON , per la raccolta di più blocchi in un segmento spline vale quanto segue:

FNORM:

Per il segmento spline vale la word F dell'ultimo blocco di appartenenza.

FLIN:

Per il segmento spline vale la parola F dell'ultimo blocco di appartenenza. Il valore di F programmato vale fino al termine del segmento; l'accostamento viene poi effettuato linearmente.

FCUB:

La spline di avanzamento generata, rispetto ai punti finali programmati, ha uno scostamento max. pari al valore definito nel dato macchina C $MC_COMPRESS_VELO_TOL.

F=FPO(…,…,…)

Questi blocchi non vengono compressi.

Page 475: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria8.3 Esecuzione del programma con memoria di preelaborazione (STOPFIFO, STARTFIFO, FIFOCTRL,

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 475

8.3 Esecuzione del programma con memoria di preelaborazione (STOPFIFO, STARTFIFO, FIFOCTRL, STOPRE)

Funzione A seconda del tipo, il controllo numerico dispone di una determinata quantità di memoria di preelaborazione, che memorizza i blocchi preparati prima della loro esecuzione per poi emetterli come sequenze rapide di blocchi nel corso della produzione. In tal modo è possibile eseguire percorsi brevi a grande velocità. Se il tempo residuo del controllo lo permette, la memoria di preelaborazione viene normalmente riempita.

Identificazione della fase di lavorazione

La fase di lavorazione che deve essere memorizzata temporaneamente nella memoria di preelaborazione viene identificata nel partprogram all'inizio con STOPFIFO e alla fine con STARTFIFO. L'elaborazione dei blocchi preparati e memorizzati temporaneamente inizia solo dopo il comando STARTFIFO o quando la memoria di preelaborazione è piena.

Controllo automatico della memoria di preelaborazione

Il controllo automatico della memoria di preelaborazione viene richiamato con il comando FIFOCTRL. FIFOCTRL agisce in un primo tempo esattamente come STOPFIFO. Ad ogni programmazione si attende che la memoria di preelaborazione sia piena, quindi inizia la lavorazione. Diverso è invece il comportamento in caso di funzionamento a vuoto della memoria di preelaborazione: con FIFOCTRL, a partire da un livello di riempimento di 2/3 la velocità vettoriale viene ridotta progressivamente allo scopo di evitare un funzionamento a vuoto completo e una frenatura fino all'arresto.

Page 476: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria 8.3 Esecuzione del programma con memoria di preelaborazione (STOPFIFO, STARTFIFO, FIFOCTRL,

Preparazione del lavoro476 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Arresto dell'avanzamento

La preparazione e memorizzazione temporanea dei blocchi vengono interrotte se nel blocco è programmato il comando STOPRE. Il blocco successivo viene eseguito solo quando tutti i blocchi già preparati e memorizzati sono stati completamenti eseguiti. Il blocco precedente viene arrestato con arresto preciso (come G9).

Sintassi

Significato

Tabella 8-1 Identificazione della fase di lavorazione:

STOPFIFO

...

STARTFIFO

Tabella 8-2 Controllo automatico della memoria di preelaborazione:

...

FIFOCTRL

...

Tabella 8-3 Stop preelaborazione:

...

STOPRE

...

NotaI comandi STOPFIFO, STARTFIFO, FIFOCTRL e STOPRE devono essere programmati in un blocco a sé stante.

STOPFIFO: STOPFIFO identifica l'inizio di una fase di lavorazione che deve essere memorizzata temporaneamente nella memoria di preelaborazione. Con STOPFIFO la lavorazione viene interrotta e la memoria di preelaborazione viene riempita fino a quando:• viene riconosciuto STARTFIFO o STOPRE

oppure

• la memoria di preelaborazione è pienaoppure

• viene raggiunta la fine del programma.STARTFIFO: Con STARTFIFO inizia l'elaborazione rapida della fase di lavorazione;

parallelamente avviene il riempimento della memoria di preelaborazioneFIFOCTRL: Attivazione del controllo automatico della memoria di preelaborazioneSTOPRE: Stop preelaborazione

Page 477: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria8.3 Esecuzione del programma con memoria di preelaborazione (STOPFIFO, STARTFIFO, FIFOCTRL,

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 477

Esempio: Stop preelaborazione

NotaIl riempimento della memoria di preelaborazione non viene eseguito o viene interrotto se la fase di lavorazione contiene comandi che forzano un funzionamento non bufferizzato (ricerca del punto di riferimento, funzioni di misura, ...).

NotaNell'accesso ai dati di stato della macchina ($SA...), il controllo numerico genera un arresto interno della preelaborazione.

CAUTELA

Evitare di programmare STOPRE quando sono attive la correzione utensile e interpolazioni spline, altrimenti vengono interrotte sequenze connesse di blocchi.

Codice di programma Commento

...

N30 MEAW=1 G1 F1000 X100 Y100 Z50 ; Blocco di misura con tastatore di misura sul primo ingresso di misura ed interpolazione lineare.

N40 STOPRE ; Arresto preelaborazione.

...

Page 478: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria 8.4 Interruzioni condizionate delle sezioni di programma (DELAYFSTON, DELAYFSTOF)

Preparazione del lavoro478 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

8.4 Interruzioni condizionate delle sezioni di programma (DELAYFSTON, DELAYFSTOF)

Funzione Interruzioni condizionate di sezioni di programma vengono definite Settori Stop Delay, nell'ambito di determinate sezioni di programma non sono consentite interruzioni e nemmeno modifiche dell'avanzamento. In sostanza, le brevi fasi di programma che servono ad es. alla creazione di un filetto devono essere protette da quasi tutti gli eventi di stop. Un eventuale stop agisce solo al termine di questa sezione di programma.

SintassiDELAYFSTONDELAYFSTOF

Le istruzioni vengono programmate in una riga a sé stante del partprogram.

Entrambe le istruzioni sono solo consentite in un partprogram e non in azioni sincrone.

Significato

Esempio: Eventi di stopNel settore Stop Delay vengono ignorate le variazioni dell'avanzamento e dell'arresto dell'avanzamento. Tali variazioni sono attive soltanto dopo il settore Stop Delay.

Gli eventi di stop vengono distinti in:

DELAYFSTON Definizione dell'inizio di un settore nel quale deve avvenire uno stop "leggero" fino a quando non viene raggiunta la fine del settore Stop Delay.

DELAYFSTOF Definizione della fine di un settore Stop Delay

NotaCon il dato macchina MD11550 $MN_STOP_MODE_MASK Bit 0 = 0 (Default) viene definito implicitamente un settore Stop-Delay quando è attivo G331/G332 ed è programmato un movimento vettoriale o G4 .

eventi di stop “leggeri” Reazione: ritardataeventi di stop “duri” Reazione: immediata

Page 479: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria8.4 Interruzioni condizionate delle sezioni di programma (DELAYFSTON, DELAYFSTOF)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 479

Scelta di alcuni eventi di stop, che eseguono almeno uno stop di breve durata:

Descrizione delle reazioni

Per una sintesi di altre reazioni agli eventi che provocano lo stop, vedere:Bibliografia:Manuale di guida alle funzioni, Funzioni di base; BAG, canale, funzionamento del programma, (K1), Capitolo "Influenza ed effetto sugli eventi di stop".

Nome dell’evento Reazione Parametro di interruzioneRESET immediata NST: DB21,… DBX7.7 e DB11, … DBX20.7PROG_END Allarme 16954 Prog.NC: M30INTERRUPT ritardata NST: FC-9 e ASUP DB10, ... DBB1SINGLEBLOCKSTOP delayed Funzionamento in blocco singolo nel settore Stop Delay:

l’NC si arresta alla fine del 1° blocco al di fuori del settore Stop Delay.Nel blocco singolo, già prima che venga attivato il settore Stop Delay:NST: "NC-Stop a fine blocco" DB21, ... DBX7.2

STOPPROG delayed NST: DB21,… DBX7.3 e DB11, … DBX20.5PROG_STOP Allarme 16954 Prog.NC: M0 e M1WAITM Allarme 16954 Prog.NC: WAITMWAITE Allarme 16954 Prog.NC: WAITESTOP_ALARM immediata Allarme: progettazione allarme STOPBYALARMRETREAT_MOVE_THREAD Allarme 16954 Prog.NC: allarme 16954 con LFON

(Stop & Fastlift in G33 non possibile)WAITMC Allarme 16954 Prog.NC: WAITMCNEWCONF_PREP_STOP Allarme 16954 Prog.NC: NEWCONFSYSTEM_SHUTDOWN immediate System-Shutdown con 840DiESR delayed Funzione ampliata di arresto e svincoloEXT_ZERO_POINT delayed Spostamento origine esternoSTOPRUN Allarme 16955 BTSS: PI "_N_FINDST" STOPRUN

immediata (evento di stop “duro”) Stop immediato anche nel settore Stop Delay

ritardata (evento di stop “leggero”) Lo stop (anche breve) avviene solo dopo il settore Stop Delay.

Allarme 16954 Il programma viene interrotto in quanto nel settore di Stop Delay sono state utilizzate istruzioni non consentite.

Allarme 16955 Il programma viene proseguito, nel settore Stop Delay ha avuto luogo un’azione non consentita.

Allarme 16957 Il settore di programma (settore Stop Delay), riportato tra parentesi con DELAYFSTON e DELAYFSTOF, non ha potuto essere attivato. In questo modo ogni stop agisce immediatamente nel settore e non viene ritardato.

Page 480: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria 8.4 Interruzioni condizionate delle sezioni di programma (DELAYFSTON, DELAYFSTOF)

Preparazione del lavoro480 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio: Annidamento dei settori Stop Delay in due livelli di programma

Esempio: Estratto di programmaIn un loop viene ripetuto il seguente blocco di programma:

Dalla figura risulta chiaro che l'utente ha premuto lo "Stop" nel settore Stop Delay e l'NC inizia la procedura di frenata al di fuori del settore stesso, cioè nel blocco N100. In questo modo l’NC si arresta nel settore precedente a N100 .

Codice di programma Commento

N10010 DELAYFSTON() ; Blocchi con N10xxx livello di programma 1.

N10020 R1 = R1 + 1

N10030 G4 F1 ; Inizio del settore Stop Delay.

...

N10040 Sottoprogramma2

...

... ; Interpretazione del sottoprogramma 2.

N20010 DELAYFSTON() ; Senza effetto, inizio ripetuto, livello 2.

...

N20020 DELAYFSTOF() ; Senza effetto, fine nell'altro livello.

N20030 RET

N10050 DELAYFSTOF() ; Fine del settore Stop Delay nello stesso? livello.

...

N10060 R2 = R2 + 2

N10070 G4 F1 ; Fine del settore Stop Delay. Gli stop da ora hanno efficacia immediata.

Codice di programma Commento

...

N99 MY_LOOP:

N100 G0 Z200

N200 G0 X0 Z200

N300 DELAYFSTON()

N400 G33 Z5 K2 M3 S1000

Page 481: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria8.4 Interruzioni condizionate delle sezioni di programma (DELAYFSTON, DELAYFSTOF)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 481

Per dettagli sulla ricerca blocchi del tipo SERUPRO e gli avanzamenti relativi a G331/G332 durante la maschiatura senza utensile compensato vedere:Bibliografia:Manuale di guida alle funzioni, Funzioni di base; BAG, canale, funzionamento del programma (K1)Manuale di guida alle funzioni, Funzioni di base; Avanzamenti (V1)

Vantaggi del settore Stop DelayUna sezione di programma è stata elaborata senza interruzione di velocità.

Se l’utente interrompe il programma con RESET dopo averlo sospeso, il blocco di programma interrotto si trova dopo il settore protetto. Questo blocco di programma è adatto quindi come destinazione di ricerca per una successiva ricerca blocco.

Finché un settore Stop Delay viene elaborato, i seguenti assi dell’elaborazione principale non vengono arrestati:

• assi di comando e

• assi di posizionamento gestiti con POSA

L’istruzione di programma G4 è consentita nel settore Stop Delay tuttavia ci sono altre istruzioni non consentite che provocano un arresto temporaneo (es. WAITM).

G4 , come anche un movimento vettoriale, attiva il settore Stop Delay e mantiene quindi la sua efficacia.

Esempio: Interventi sull’avanzamento

Se l’override viene ridotto al 6% prima del settore Stop Delay, esso resta valido anche nel settore Stop Delay.

Se l’override viene ridotto dal 100% al 6% nel settore Stop Delay, quest’ultimo viene eseguito fino alla fine al 100% e successivamente il movimento prosegue al 6%.

Il blocco avanzamento non è efficace nel settore Stop Delay e viene attivato solo all’uscita del settore stesso.

Sovrapposizione/annidamento:Se due settori Stop Delay si sovrappongono, uno da un’istruzione di programma e l’altro dal dato macchina DM 11550: STOP_MODE_MASK, viene formato il settore Stop Delay più grande possibile.

N500 G33 Z0 X5 K3

N600 G0 X100

N700 DELAYFSTOF()

N800 GOTOB MY_LOOP

Codice di programma Commento

Page 482: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria 8.4 Interruzioni condizionate delle sezioni di programma (DELAYFSTON, DELAYFSTOF)

Preparazione del lavoro482 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

I seguenti punti regolano la correlazione delle istruzioni di programma DELAYFSTON e DELAYFSTOF con annidamenti e fine programma:

1. con la fine del sottoprogramma, nel quale è stato richiamato DELAYFSTON viene attivato implicitamente DELAYFSTOF .

2. DELAYFSTON Il settore Stop Delay non ha alcun effetto.

3. se il sottoprogramma 1 richiama il sottoprogramma 2 in un settore Stop-Delay, tutto il sottoprogramma 2 è un settore Stop Delay. in particolare DELAYFSTOF nel sottoprogramma 2 non ha alcun effetto.

Variabili di sistemaUn settore Stop Delay può essere riconosciuto nel partprogram con $P_DELAYFST . Se il bit 0 della variabile di sistema è settato a 1, l’elaborazione del partprogram in questo momento si trova in un settore Stop Delay.

Un settore Stop Delay può essere riconosciuto nelle azioni sincrone con $AC_DELAYFST . Se il bit 0 della variabile di sistema è settato a 1, l’elaborazione del partprogram in questo momento si trova in un settore Stop Delay.

CompatibilitàLa preimpostazione del dato macchinaDM 11550: STOP_MODE_MASK Bit 0 = 0 comporta implicitamente un settore Stop Delay quando vengono programmati codici G del gruppo G331/G332 oppure un movimento vettoriale o G4 .

Il bit 0 = 1 consente uno stop quando vengono programmati codici G del gruppo G331/G332 oppure un movimento vettoriale o G4 ((comportamento fino al SW 6). Per la definizione di un settore Stop Delay devono essere utilizzate le istruzioni DELAYFSTON/DELAYFSTOF .

NotaREPOSA è un fine sottoprogramma e DELAYFSTON viene in ogni caso disattivato.

Se si verifica un evento di stop “duro“ nel settore Stop Delay, quest’ultimo viene completamente disattivato! Se in questa sezione di programma si verifica un ulteriore (qualsiasi) stop, avviene un arresto immediato. Solo una nuova programmazione (nuovo DELAYFSTON) consente di riattivare un nuovo settore Stop Delay.

Se viene premuto il tasto di stop prima del settore Stop Delay e l’NCK deve entrare nel settore Stop Delay per frenare, allora l’NCK frena nel settore Stop Delay e lo stesso resta disattivato!

Se ad un settore Stop Delay si accede con override 0%, il settore Stop Delay non viene accettato!

Questo vale per tutti gli eventi di stop “dolci”.

Con STOPALL è possibile frenare nel settore Stop Delay. Con STOPALL vengono però attivati immediatamente tutti gli eventi di stop che finora erano stati ritardati.

Page 483: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria8.5 Inibire la zona di programma per SERUPRO (IPTRLOCK, IPTRUNLOCK)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 483

8.5 Inibire la zona di programma per SERUPRO (IPTRLOCK, IPTRUNLOCK)

FunzionePer determinate situazioni meccaniche complicate della macchina, è necessario impedire la ricerca blocco SERUPRO.

Con un puntatore di interruzione programmabile, si può impostare una possibilità di accesso in fase di “ricerca del punto di interruzione” prima della posizione senza possibilità di ricerca.

Si possono definire anche settori nel partprogram senza possibilità di ricerca nei quali l’NCK non può ancora rientrare. Con l'interruzione del programma, l'NCK si ricorda l'ultimo blocco elaborato che può essere ricercato tramite la superficie operativa dell'HMI.

SintassiIPTRLOCKIPTRUNLOCK

I comandi si trovano in un'unica riga di partprogram e consentono un puntatore di interruzione programmabile

Significato

Entrambe le istruzioni sono solo consentite in un partprogram e non in azioni sincrone.

IPTRLOCK Inizio della sezione di programma senza possibilità di ricercaIPTRUNLOCK Fine della sezione di programma senza possibilità di ricerca

Page 484: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria 8.5 Inibire la zona di programma per SERUPRO (IPTRLOCK, IPTRUNLOCK)

Preparazione del lavoro484 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

EsempioAnnidamenti di sezioni di programma senza possibilità di ricerca in due livelli di programma con IPTRUNLOCKimplicito. IPTRUNLOCK implicito nel sottoprogramma 1 conclude il settore senza possibilità di ricerca.

Una interruzione a 100 restituisce nuovamente il puntatore di interruzione.

Trovare e rilevare i settori senza possibilità di ricercaLe sezioni di programma senza possibilità di ricerca vengono identificate con le istruzioni IPTRLOCK e IPTRUNLOCK.

L’istruzione IPTRLOCK congela il puntatore di interruzione ad un blocco singolo (SBL1) eseguibile nel cicli di elaborazione principale. Questo blocco viene denominato di seguito come blocco di arresto. Se dopo IPTRLOCK si verifica un’interruzione del programma, tramite la superficie HMI si può ricercare il blocco di arresto citato in precedenza.

Ritornare nuovamente al blocco attualeIl puntatore di interruzione viene settato con IPTRUNLOCK sul punto di interruzione del blocco attuale per la successiva sezione di programma.

Dopo aver trovato una destinazione di ricerca, con lo stesso blocco di arresto si può ripetere una nuova destinazione di ricerca.

Un puntatore di interruzione editato dall’utilizzatore, deve essere eliminato dalla superficie operativa HMI.

Codice di programma Commento

N10010 IPTRLOCK()

N10020 R1 = R1 + 1

N10030 G4 F1 ; Blocco di interruzione che inizia la fase di programma senza possibilità di ricerca.

...

N10040 Sottoprogramma2

... ; Interpretazione del sottoprogramma 2.

N20010 IPTRLOCK () ; Senza effetto, inizio ripetuto.

...

N20020 IPTRUNLOCK () ; Senza effetto, fine nell'altro livello.

N20030 RET

...

N10060 R2 = R2 + 2

N10070 RET ; Fine della fase di programma senza possibilità di ricerca.

N100 G4 F2 ; Il programma principale viene? proseguito.

Page 485: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria8.5 Inibire la zona di programma per SERUPRO (IPTRLOCK, IPTRUNLOCK)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 485

Regole per gli annidamentiI seguenti punti regolano la correlazione delle istruzioni di programma IPTRLOCK e IPTRLOCK con annidamenti e fine programma:

1. con la fine del sottoprogramma, nel quale è stato richiamato IPTRLOCK viene attivato implicitamente IPTRUNLOCK .

2. IPTRLOCK non ha alcun effetto in un settore senza possibilità di ricerca.

3. Se il sottoprogramma1 richiama il sottoprogramma2 in un settore senza possibilità di ricerca, tutto il sottoprogramma2 resta senza possibilità di ricerca. in particolare, IPTRUNLOCK nel sottoprogramma 2 non ha alcun effetto.

Per ulteriori informazioni vedere /FB1/ Manuale delle funzioni di base; BAG, canale, funzionamento del programma (K1).

Variabile di sistemaUn settore senza possibilità di ricerca può essere riconosciuto nel partprogram con $P_IPTRLOCK .

Puntatore di interruzione automaticoLa funzione „puntatore di interruzione automatico” definisce automaticamente una tipologia di accoppiamento, definita precedentemente, come “senza possibilità di ricerca”. Tramite dato macchina, per

• cambio elettronico con EGON

• accoppiamento assiale tramite valore di riferimento LEADON

viene attivato il puntatore di interruzione automatico. Se i puntatori di interruzione programmato ed automatico attivabile tramite dato macchina si sovrappongono, allora il settore senza possibilità di ricerca, viene formato più grande possibile.

Page 486: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria 8.6 Riaccostamento al profilo (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR,

Preparazione del lavoro486 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

8.6 Riaccostamento al profilo (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN)

Funzione Se nel corso della lavorazione il programma viene interrotto e l'utensile staccato (per es. a causa della rottura dell'utensile o perché è necessaria una misura), è possibile il riaccostamento al profilo da programma su un punto scelto.

Il comando REPOS ha azione di ritorno al sottoprogramma (ad es. tramite M17). I blocchi successivi della routine di interrupt non vengono più eseguiti.

Per l'interruzione della sequenza di programma vedere anche la sezione "Programmazione NC flessibile", capitolo "Routine di interrupt" in questo manuale di programmazione.

SintassiREPOSA RMI DISPR=…REPOSA RMBREPOSA RMEREPOSA RMNREPOSL RMI DISPR=…REPOSL RMBREPOSL RMEREPOSL RMNREPOSQ RMI DISPR=… DISR=…REPOSQ RMB DISR=…REPOSQ RME DISR=…REPOSQA DISR=…REPOSH RMI DISPR=… DISR=…REPOSH RMB DISR=…REPOSH RME DISR=…REPOSHA DISR=…

Page 487: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria8.6 Riaccostamento al profilo (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR,

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 487

SignificatoPercorso di accostamento

Punto di riposizionamento

REPOSA Accostamento su una retta con tutti gli assiREPOSL Accostamento su una rettaREPOSQ DISR=… Accostamento con un quarto di cerchio con raggio DISRREPOSQA DISR=… Accostamento con tutti gli assi con un quarto di cerchio con

raggio DISRREPOSH DISR=… Accostamento su un semicerchio con diametro DISRREPOSHA DISR=… Accostamento con tutti gli assi con un semicerchio con raggio

DISR

RMI Accostamento al punto di interruzioneRMI DISPR=… Punto di ingresso a distanza DISPR in mm/inch prima del punto

di interruzione RMB Accostamento al punto di inizio bloccoRME Accostamento al punto di fine bloccoRME DISPR=… Accostamento al punto di fine blocco, con distanza DISPR dal

punto finaleRMN Accostamento al successivo punto vettorialeA0 B0 C0 Assi con cui deve avvenire l'accostamento

Page 488: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria 8.6 Riaccostamento al profilo (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR,

Preparazione del lavoro488 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio: Avvicinamento al punto di riaccostamento su una retta, REPOSA, REPOSLL'utensile si avvicina al punto di riaccostamento direttamente con una retta.

Con REPOSA vengono mossi automaticamente tutti gli assi. Con REPOSL è invece possibile impostare gli assi da muovere.

Esempio:REPOSL RMI DISPR=6 F400

oppureREPOSA RMI DISPR=6 F400

Page 489: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria8.6 Riaccostamento al profilo (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR,

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 489

Esempio: Avvicinamento al punto di riaccostamento in un quarto di cerchio, REPOSQ, REPOSQAL'utensile raggiunge il punto di riaccostamento compiendo un quarto di cerchio con raggio DISR=... Il controllo calcola automaticamente il punto intermedio necessario fra punto di inizio e punto di riaccostamento.

Esempio: REPOSQ RMI DISR=10 F400

Esempio: Accostamento all'utensile nel quarto di cerchio, REPOSH, REPOSHAL'utensile raggiunge il punto di riaccostamento compiendo un semicerchio con diametro DISR=.... Il controllo calcola automaticamente il punto intermedio necessario fra punto di inizio e punto di riaccostamento.

Esempio:REPOSH RMI DISR=20 F400

Page 490: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria 8.6 Riaccostamento al profilo (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR,

Preparazione del lavoro490 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Definizione del punto di riaccostamento (non per accostamento SERUPRO con RMN)In relazione al blocco NC in cui è stato interrotto il programma è possibile scegliere fra tre diversi punti di riaccostamento:

• RMI, punto di interruzione

• RMB, punto di inizio blocco o ultimo punto finale

• RME, punto di fine blocco

Con RMI DISPR=... oppure con RME DISPR=... si può definire un punto di riaccostamento posto prima del punto di interruzione o della fine blocco.

Con DISPR=... si può descrivere il percorso del profilo in mm/inch sul quale si trova il punto di riaccostamento prima del punto di interruzione o del punto finale. Questo punto, anche per valori più grandi, può trovarsi al massimo nel punto di inizio blocco.

Se non viene programmato unDISPR=..., vale DISPR=0 e quindi il punto di interruzione (per RMI) oppure il punto di fine blocco (perRME).

Page 491: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria8.6 Riaccostamento al profilo (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR,

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 491

Segno di DISPRIl segno di DISPR viene considerato. Se il segno è positivo, il comportamento è come in precedenza.

Se il segno è negativo, la ripresa avviene monte del punto di interruzione o con RMB a monte del punto di partenza.

La distanza tra punto di interruzione e punto di ripresa si ricava dal valore di DISPR. Questo punto può trovarsi al massimo sul punto di fine blocco anche per valori più alti.

Esempio applicativo:

Con un sensore si individua l'accostamento a una staffa di serraggio. Viene emesso un ASUP con cui si aggira la staffa di serraggio.

Infine, con DISPR negativo viene eseguito il riposizionamento a monte della staffa di serraggio e il programma viene proseguito.

Accostamento SERUPRO con RMNSe si verifica un’interruzione della lavorazione in un punto qualsiasi, con SERUPRO avviene l’accostamento al punto di interruzione con RMN per la via più breve per poter eseguire il percorso residuo. A questo scopo l’utilizzatore deve startare una procedura SERUPRO sul blocco di interruzione e posizionare gli assi in JOG prima della posizione danneggiata del blocco di destinazione.

NotaSERUPROPer SERUPRO RMI e RMB sono identici. RMN non si può utilizzare solo con SERUPRO ma in modo generico.

Page 492: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria 8.6 Riaccostamento al profilo (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR,

Preparazione del lavoro492 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Accostamento sul punto vettoriale successivo RMNNel punto di interpretazione di REPOSA dopo un’interruzione, il blocco di riaccostamento con RMN non viene ripetuto completamente ma viene solo eseguito il percorso residuo. Viene accostato il punto vettoriale successivo al blocco di interruzione.

Stato per il modo REPOS valido

Il modo REPOS valido del blocco interrotto può essere letto tramite azioni sincrone con la variabile di sistema $AC_REPOS_PATH_MODE .

0: Accostamento non definito

1 RMB: accostamento all’inizio

2 RMI: accostamento nel punto di interruzione

3 RME: accostamento al punto finale del blocco

4 RMN: accostamento al punto vettoriale successivo al blocco di interruzione.

Page 493: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria8.6 Riaccostamento al profilo (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR,

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 493

Accostamento con nuovo utensileSe l'esecuzione del programma è stata interrotta per la rottura di un utensile,

programmando il nuovo numero D il programma viene proseguito a partire dal punto di riaccostamento con i valori modificati della correzione utensile.

Se i valori della correzione utensile sono stati modificati può accadere che il punto di interruzione non possa più essere riaccostato. In questo caso viene riaccostato il punto del nuovo profilo che si trova il più vicino possibile al punto di interruzione (modificato eventualmente del valore DISPR).

Page 494: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria 8.6 Riaccostamento al profilo (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR,

Preparazione del lavoro494 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Accostamento al profiloIl movimento con cui l'utensile si riaccosta al profilo può essere programmato. Per gli indirizzi degli assi da muovere impostare il valore zero.

Con le istruzioni REPOSA, REPOSQA e REPOSHA vengono riposizionati automaticamente tutti gli assi. Non è necessario fare alcuna impostazione per gli assi.

Programmando REPOSL, REPOSQ e REPOSH gli assi geometrici si muovono automaticamente, anche senza impostazione nel comando. Tutti gli altri assi invece devono essere impostati nel comando.

Per i movimenti circolari REPOSH e REPOSQ vale quanto segue:

Il cerchio viene eseguito sul piano di lavoro impostato G17 ... G19 .

Se nel blocco di accostamento viene impostato il terzo asse geometrico (direzione incremento), il punto di riaccostamento viene raggiunto in forma elicoidale, nel caso in cui la posizione dell'utensile e la posizione programmata in direzione dell'incremento non coincidano.

Nei seguenti casi viene automaticamente

commutato in accostamento lineare REPOSL :

• non è stato impostato alcun valore per DISR .

• manca una direzione di accostamento definita (interruzione programma in un blocco privo di informazione di movimento).

• la direzione di accostamento è perpendicolare al piano di lavoro attuale.

Page 495: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria8.7 Influenza della gestione dei movimenti

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 495

8.7 Influenza della gestione dei movimenti

8.7.1 Correzione percentuale dello strappo (JERKLIM)

FunzioneCon il comando NC JERKLIM è possibile ridurre o aumentare lo strappo (JERK) massimo ammesso di un asse, impostato tramite dato macchina, per il movimento interpolato nelle sezioni critiche del programma.

PresuppostiDeve essere abilitato il modo di accelerazione SOFT.

EfficaciaLa funzione ha effetto:

• nel modo operativo AUTOMATICO

• solo sugli assi di interpolazione.

SintassiJERKLIM[<Asse>]=<Valore>

Significato

JERKLIM: Comando per la correzione dello strappo<asse>: Asse macchina il cui valore limite dello strappo deve essere adattato.<valore>: Valore percentuale di correzione, riferito al massimo strappo assiale

progettato per movimento interpolato (MD32431 $MA_MAX_AX_JERK).Campo dei valori: 1 ... 200Il valore 100 non ha nessun effetto sullo strappo.

NotaIl comportamento di JERKLIM alla fine del programma pezzo e di reset canale viene progettato con il bit 0 nel dato macchina MD32320 $MA_DYN_LIMIT_RESET_MASK:

• Bit 0 = 0:Il valore programmato per JERKLIM viene rimesso a zero con reset canale / M30 al 100%.

• Bit 0 = 1:Il valore programmato per JERKLIM resta invariato tramite reset canale / M30.

Page 496: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria 8.7 Influenza della gestione dei movimenti

Preparazione del lavoro496 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio

8.7.2 Correzione percentuale della velocità (VELOLIM)

Funzione Con il comando NC VELOLIM è possibile ridurre la massima velocità possibile di un asse/mandrino nel funzionamento asse o il max. numero di giri possibile in funzione dal rapporto di riduzione di un mandrino in modo di funzionamento mandrino (modo di comando velocità M3, M4, M5 e modo di posizionamento SPOS, SPOSA, M19) nelle sezioni critiche del programma, ad es. per ridurre le sollecitazioni meccaniche della macchina o migliorare la qualità di lavorazione.

EfficaciaLa funzione ha effetto:

• nel modo operativo AUTOMATICO

• sugli assi di interpolazione e di posizionamento

• sui mandrini in modo di funzionamento mandrino / asse.

SintassiVELOLIM[<asse/mandrino>]=<valore>

Codice di programma Commento

...

N60 JERKLIM[X]=75 ; La slitta in direzione X deve essere accelerata/rallentata solo con il 75% max. dello strappo consentito per l'asse.

...

Page 497: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria8.7 Influenza della gestione dei movimenti

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 497

Significato

VELOLIM: Comando per la correzione della velocità<asse/mandrino>: Asse di macchina o mandrino il cui valore limite di velocità o

numero di giri deve essere adattato.VELOLIM per mandriniTramite dato macchina (MD30455 $MA_MISC_FUNCTION_MASK, bit 6) è possibile impostare per la programmazione nel programma pezzo se VELOLIM debba agire indipendentemente dall'utilizzo attuale come mandrino o asse (bit 6 = 1) o essere programmabile separatamente per ciascun modo operativo (bit 6 = 0). Se si progetta un'azione separata, la selezione si effettua durante la programmazione tramite l'identificatore:• identificatore mandrino S<n> per i modi di funzionamento mandrino• identificatore asse, ad es. "C", per il modo di funzionamento asse

<valore>: Valore di correzione percentualeIl valore di correzione sui riferisce:• per gli assi / i mandrini in modalità asse (se MD30455 bit 6 = 0):

alla velocità dell'asse max. progettata (MD32000 $MA_MAX_AX_VELO);

• per i mandrini in modalità mandrino o asse (se MD30455 bit 6 = 1):

al numero massimo di giri della gamma attiva (MD35130 $MA_GEAR_STEP_MAX_VELO_LIMIT[<n>])

Campo dei valori: 1 ... 100Il valore 100 non ha influsso sulla velocità o il numero di giri.

NotaComportamento alla fine del programma pezzo e con reset canaleIl comportamento di VELOLIM alla fine del programma pezzo e di reset canale viene progettato con il bit 0 nel dato macchina MD32320 $MA_DYN_LIMIT_RESET_MASK:

• Bit 0 = 0:Il valore programmato per VELOLIM viene rimesso a zero con reset canale / M30 al 100%.

• Bit 0 = 1:Il valore programmato per VELOLIM resta invariato tramite reset canale / M30.

NotaVELOLIM per mandrini in azioni sincronePer la programmazione di VELOLIM in azioni sincrone non si distingue tra modo mandrino e modo asse. Indipendentemente dall'identificatore utilizzato per la programmazione, il numero di giri nel modo mandrino e la velocità nel modo asse vengono ugualmente limitati.

Page 498: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria 8.7 Influenza della gestione dei movimenti

Preparazione del lavoro498 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

DiagnosticaDiagnostica di VELOLIM nel modo mandrino

Una limitazione del numero di giri attivata da VELOLIM (minore del 100%) può essere riconosciuta nel modo mandrino tramite la lettura delle variabili di sistema $AC_SMAXVELO e $AC_SMAXVELO_INFO.

Nel caso di una limitazione, $AC_SMAXVELO fornisce il limite del numero di giri generato da VELOLIM. La variabile $AC_SMAXVELO_INFO restituisce in questo caso il valore "16" come codice della causa di limitazione VELOLIM.

EsempiEsempio 1: limitazione della velocità lineare asse di macchina

Esempio 2: limitazione del numero di giri mandrino

Dati di progettazione per il mandrino 1 (AX5):

Codice di programma Commento

...

N70 VELOLIM[X]=80 ; La slitta in direzione X deve essere spostata solo con max. l'80% della velocità consentita per l'asse.

...

Codice di programma Commento

N05 VELOLIM[S1]=90 ; Limitazione del numero massimo di giri del mandrino 1 al 90% di 1000 giri/min.

...

N50 VELOLIM[C]=45 ; Limitazione del numero di giri al 45% von 1000 giri/min, dove C è l'indicatore asse di S1.

...

MD35130 $MA_GEAR_STEP_MAX_VELO_LIMIT[1,AX5]=1000 ; Numero massimo di giri della gamma 1 = 1000 giri/min

MD30455 $MA_MISC_FUNCTION_MASK[AX5] = 64 ; Bit 6 = 1:La programmazione di VELOLIM agisce in comune per il modo mandrino e il modo asse, indipendentemente dall'identificatore programmato.

Page 499: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria8.7 Influenza della gestione dei movimenti

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 499

8.7.3 Esempio di programma per JERKLIM e VELOLIMIl seguente programma rappresenta un esempio di applicazione per la limitazione percentuale di strappo e velocità:

Codice di programma Commento

N1000 G0 X0 Y0 F10000 SOFT G64

N1100 G1 X20 RNDM=5 ACC[X]=20

ACC[Y]=30

N1200 G1 Y20 VELOLIM[X]=5 ; La slitta in direzione X deve essere spostata solo con max. il 5% della velocità consentita per l'asse.

JERKLIM[Y]=200 ; La slitta in direzione Y può essere accelerata/rallentata solo con max. il 200% dello strappo consentito per l'asse.

N1300 G1 X0 JERKLIM[X]=2 ; La slitta in direzione X deve essere accelerata/rallentata solo con max. il 2% dello strappo consentito per l'asse.

N1400 G1 Y0

M30

Page 500: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria 8.8 Tolleranza programmabile di profilo/orientamento (CTOL, OTOL, ATOL)

Preparazione del lavoro500 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

8.8 Tolleranza programmabile di profilo/orientamento (CTOL, OTOL, ATOL)

FunzioneCon i comandi CTOL, OTOL e ATOL è possibile adattare nel programma NC le tolleranze di lavorazione definite tramite dati macchina e dati setting per le funzioni del compressore (COMPON, COMPCURV, COMPCAD), i tipi di movimento raccordato G642, G643, G645, OST e lo spianamento dell'orientamento ORISON.

I valori programmati valgono fino alla successiva programmazione oppure finché non vengono cancellati mediante assegnazione di un valore negativo. Inoltre vengono cancellati con fine programma, reset di canale, BAG-reset, NCK-reset (avvio a caldo) e power on (avvio a freddo). Dopo la cancellazione valgono nuovamente i valori dei dati macchina e dei dati setting.

SintassiCTOL=<valore>OTOL=<valore>ATOL[<asse>]=<valore>

Significato

CTOL Comando per la programmazione della tolleranza del profiloCTOL è valido per:• tutte le funzioni del compressore• tutti i tipi di movimento raccordato tranne G641 e G644<valore>: Il valore per la tolleranza del profilo è un'indicazione di

lunghezza.Tipo: REALUnità: Inch/mm (a seconda dell'impostazione attuale

dell'indicazione di misura)OTOL Comando per la programmazione della tolleranza dell'orientamento

OTOL è valido per:• tutte le funzioni del compressore• Spianamento dell'orientamento ORISON• tutti i tipi di movimento raccordato tranne G641, G644, OSD<valore>: Il valore per la tolleranza dell'orientamento è un'indicazione di

angolo.Tipo: REALUnità: gradi

Page 501: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria8.8 Tolleranza programmabile di profilo/orientamento (CTOL, OTOL, ATOL)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 501

Condizioni marginaliFrane in scala

I frame in scala agiscono sulle tolleranze programmate esattamente come le posizioni assi, ovvero la tolleranza relativa resta uguale.

Esempio

ATOL Comando per la programmazione di una tolleranza specifica per asseATOL è valido per:• tutte le funzioni del compressore• Spianamento dell'orientamento ORISON• tutti i tipi di movimento raccordato tranne G641, G644, OSD<asse>: Nome dell'asse per il quale deve essere programmata una

tolleranza asse<valore>: Il valore per la tolleranza asse è un'indicazione di lunghezza o

di angolo a seconda del tipo di asse (lineare o rotante).Tipo: REALUnità: per assi lineari: Inch/mm (a seconda

dell'impostazione attuale dell'indicazione di misura)

per assi rotanti: gradi

NotaCTOL e OTOL hanno la priorità su ATOL.

Codice di programma Commento

COMPCAD G645 G1 F10000 ; Attivazione della funzione compressore COMPCAD.

X... Y... Z... ; Qui sono attivi i dati macchina e i dati setting.

X... Y... Z...

X... Y... Z...

CTOL=0.02 ; Da qui è attiva una tolleranza del profilo di 0,02 mm.

X... Y... Z...

X... Y... Z...

X... Y... Z...

ASCALE X0.25 Y0.25 Z0.25 ; Da qui è attiva una tolleranza del profilo di 0,005 mm.

X... Y... Z...

X... Y... Z...

X... Y... Z...

CTOL=–1 ; Da qui sono nuovamente attivi i dati macchina e i dati setting.

X... Y... Z...

X... Y... Z...

X... Y... Z...

Page 502: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria 8.8 Tolleranza programmabile di profilo/orientamento (CTOL, OTOL, ATOL)

Preparazione del lavoro502 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Ulteriori informazioniLettura dei valori di tolleranza

Per ulteriori applicazioni oppure per scopi di diagnostica, le tolleranze valide attualmente per le funzioni del compressore (COMPON, COMPCURV, COMPCAD), i tipi di movimento raccordato G642, G643, G645, OST e lo spianamento dell'orientamento ORISON possono essere letti tramite variabili di sistema indipendentemente dal tipo di realizzazione.

• In azioni sincrone o con stop di preelaborazione blocchi nel partprogram tramite le variabili di sistema:

$AC_CTOL Tolleranza del profilo che era attiva durante la preparazione del blocco attuale del ciclo principale.Nel caso in cui sia attiva una tolleranza del profilo, $AC_CTOL fornisce la radice della somma del quadrato delle tolleranze degli assi geometrici.

$AC_OTOL Tolleranza di orientamento che era attiva durante la preparazione del blocco attuale del ciclo principale.Nel caso in cui non sia attiva una tolleranza di orientamento, $AC_OTOL fornisce, durante una trasformazione di orientamento attiva, la radice della somma dei quadrati delle tolleranze degli assi di orientamento, altrimenti il valore "-1".

$AA_ATOL[<asse>] Tolleranza asse che era attiva durante la preparazione del blocco attuale del ciclo principale.Nel caso in cui sia attiva una tolleranza del profilo, $AA_ATOL[<asse_geometrico>] fornisce la tolleranza del profilo divisa per la radice del numero di assi geometrici.Nel caso in cui sia attiva una tolleranza di orientamento, $AA_ATOL[<asse_orientamento>] fornisce la tolleranza dell'orientamento divisa per la radice del numero di assi di orientamento.

NotaSe non sono stati programmati valori di tolleranza, le variabili $A non sono sufficientemente differenziate per distinguere le eventuali tolleranze diverse delle singole funzioni in quanto possono nominare un solo valore.

Tali casi possono verificarsi quando i dati macchina e i dati setting impostano tolleranze diverse per funzioni del compressore, movimento raccordato e spianamento dell'orientamento. Le variabili forniscono il valore maggiore che si produce nelle funzioni attive in quel momento.

Se ad esempio sono attivi una funzione del compressore con tolleranza di orientamento 0,1° e uno spianamento dell'orientamento ORISON con 1°, la variabile $AC_OTOL restituisce il valore "1". Se lo spianamento dell'orientamento viene disattivato, si legge solo il valore "0.1".

Page 503: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria8.8 Tolleranza programmabile di profilo/orientamento (CTOL, OTOL, ATOL)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 503

• Senza stop di preelaborazione blocchi nel programma pezzo tramite le variabili di sistema:

$P_CTOL Tolleranza del profilo programmata$P_OTOL Tolleranza di orientamento programmata$PA_ATOL Tolleranza asse programmata

NotaSe non sono programmati valori di tolleranza, le variabili $P restituiscono il valore "-1".

Page 504: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria 8.9 Tolleranze per i movimenti G0 (STOLF)

Preparazione del lavoro504 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

8.9 Tolleranze per i movimenti G0 (STOLF)

Fattore di tolleranza G0 I movimenti G0 (avanzamento rapido, movimenti di incremento) possono avvenire, a differenza delle lavorazioni su un pezzo, con ampio margine di tolleranza. Ciò presenta il vantaggio che per i movimenti G0 i tempi di percorrenza si accorciano.

L'impostazione delle tolleranze per i movimenti G0 avviene con la progettazione del fattore di tolleranza G0 (MD20560 $MC_G0_TOLERANCE_FACTOR).

Il fattore di tolleranza G0 si attiva solo se:

• una delle seguenti funzioni è attiva:

- funzioni compressore: COMPON, COMPCURV e COMPCAD- funzioni di raccordo: G642 e G645- movimento raccordato di orientamento: OST- livellamento dell'orientamento: ORISON- livellamento per orientamento relativo al percorso: ORIPATH

• si susseguono più ( ≥ 2) blocchi G0.

Con un singolo blocco G0 il fattore di tolleranza G0 non si attiva perché, durante la transizione da un movimento non G0 a un movimento G0 (e viceversa), è attiva fondamentalmente la "tolleranza minore" (tolleranza di lavorazione del pezzo).

Funzione Con la programmazione di STOLF nel programma pezzo, il fattore di tolleranza G0 progettato (MD20560) può venire temporaneamente sovrascritto. In questa circostanza il valore di MD20560 non viene modificato. Dopo un reset o la fine di un programma pezzo si riattiva il fattore di tolleranza progettato.

SintassiSTOLF=<fattore_tolleranza>

Significato

STOLF: Comando per la programmazione del fattore di tolleranza G0

<fattore_tolleranza>: Fattore di tolleranza G0Il fattore può essere sia maggiore di 1, sia minore di 1. Normalmente, tuttavia, per i movimenti G0 saranno impostabili tolleranze maggiori.Con STOLF=1.0 (corrisponde al valore predefinito progettato) per i movimenti G0 sono attive le stesse tolleranze dei movimenti non G0.

Page 505: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria8.9 Tolleranze per i movimenti G0 (STOLF)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 505

Variabili di sistemaIl fattore di tolleranza G0 attivo nel programma pezzo o nel blocco IPO attuale è leggibile tramite variabili di sistema.

• In azioni sincrone o con arresto di predecodifica nel programma pezzo tramite la variabile di sistema:

• Senza arresto di predecodifica nel programma pezzo tramite la variabile di sistema:

Se nel programma pezzo attivo nessun valore è programmato con STOLF, queste due variabili di sistema forniscono il valore impostato da MD20560 $MC_G0_TOLERANCE_FACTOR.

Se in un blocco non è attivo un avanzamento rapido (G0), queste variabili di sistema forniscono sempre il valore 1.

Esempio

$AC_STOLF Fattore di tolleranza G0 attivoFattore di tolleranza G0 che era attivo durante la preelaborazione del blocco attuale del ciclo principale.

$P_STOLF Fattore di tolleranza G0 programmato

Codice di programma Commento

COMPCAD G645 G1 F10000 ; Funzione compressore COMPCAD

X... Y... Z... ; Qui sono attivi i dati macchina e i dati setting.

X... Y... Z...

X... Y... Z...

G0 X... Y... Z...

G0 X... Y... Z... ; Qui è attivo il dato macchina $MC_G0_TOLERANCE_FACTOR (ad es. =3), dunque una tolleranza di raccordo di $MC_G0_TOLERANCE_FACTOR*$MA_COMPRESS_POS_TOL.

CTOL=0.02

STOLF=4

G1 X... Y... Z... ; Da qui è attiva una tolleranza del profilo di 0,02 mm.

X... Y... Z...

X... Y... Z...

G0 X... Y... Z...

X... Y... Z... ; Da qui è attivo un fattore di tolleranza G0 di 4, ossia una tolleranza del profilo di 0,08 mm.

Page 506: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Comportamento sulla traiettoria 8.9 Tolleranze per i movimenti G0 (STOLF)

Preparazione del lavoro506 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Page 507: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Preparazione del lavoroManuale di programmazione 02/2011, 6FC5398-2BP40-1CA0 507

9Accoppiamenti assi

9.1 Trascinamento (TRAILON, TRAILOF)

Funzione Quando un asse master definito muove, gli assi trascinati (= assi slave) ad esso abbinati si muovono sui percorsi derivati dall'asse master tenendo conto di un fattore di accoppiamento.

Asse master ed assi slave costituiscono insieme un gruppo di trascinamento.

Campi di impiego

• Movimento di un asse attraverso un asse simulato. L'asse master è un asse simulato mentre l'asse trascinato è un asse reale. In questo modo l'asse reale può essere mosso considerando il fattore di accoppiamento.

• Lavorazione sui due lati con 2 gruppi di trascinamento:

1. Asse master Y, asse trascinato V2. Asse master Z, asse trascinato W

SintassiTRAILON(<asse_slave>,<asse_master>,<fattore_accoppiamento>)TRAILOF(<asse_slave>,<asse_master>,<asse_master_2>)TRAILOF(<asse_slave>)

Page 508: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi 9.1 Trascinamento (TRAILON, TRAILOF)

Preparazione del lavoro508 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Significato

TRAILON Comando per l'inserzione e definizione di un gruppo di trascinamentoAttivazione: modale

<asse_slave> Parametro 1: Indicatore dell'asse slave Nota:Un asse trascinato può essere anche master di ulteriori assi trascinati. In questo modo è possibile formare diversi gruppi di trascinamento.

<asse_master> Parametro 2: Indicatore dell'asse master<fattore_accoppiamento>

Parametro 3: fattore di accoppiamentoIl fattore di accoppiamento indica il rapporto desiderato tra i percorsi dell'asse trascinato e dell'asse master:<fattore_accoppiamento> = percorso dell'asse trascinato / percorso dell'asse masterTipo: REALPreimpostazione: 1L'impostazione di un valore negativo comporta un movimento opposto per asse master ed asse trascinato. Se nella programmazione non viene indicato il fattore di accoppiamento, viene considerato automaticamente il fattore 1.

TRAILOF Comando per la disinserzione di un gruppo di trascinamento.Attivazione: modaleTRAILOF con 2 parametri disattiva soltanto l'accoppiamento all'asse master specificato:TRAILOF(<asse_slave>,<asse_master>)

Se un asse trascinato possiede 2 assi master, per la disattivazione dei due accoppiamenti può essere richiamato TRAILOF con 3 parametri:TRAILOF(<asse_slave>,<asse_master>,<asse_master_2>)

Lo stesso risultato si produce programmando TRAILOF senza definizione di un asse master:TRAILOF(<asse_slave>)

NotaIl trascinamento avviene sempre nel sistema di coordinate base (SCB).

Il numero dei gruppi di trascinamento attivabili contemporaneamente viene limitato solo dalle possibili combinazioni degli assi presenti nella macchina.

Page 509: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi9.1 Trascinamento (TRAILON, TRAILOF)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 509

EsempioIl pezzo deve essere lavorato su due lati con la configurazione di assi qui rappresentata. Vengono formati 2 gruppi di trascinamento.

Ulteriori informazioniTipi di asse

Un gruppo di trascinamento può essere composto da una combinazione qualsiasi di assi lineari e rotanti. Come asse master può essere definito anche un asse simulato.

Assi trascinati

Ad un asse trascinato possono essere assegnati al massimo 2 assi master. L'abbinamento avviene in diversi gruppi di trascinamento.

Un asse trascinato può essere programmato con tutti i comandi di movimento disponibili (G0, G1, G2, G3, …). Oltre ai percorsi definiti in forma indipendente, l'asse di trascinamento esegue i percorsi derivati dai suoi assi master con i relativi fattori di accoppiamento.

Codice di programma Commento

N100 TRAILON(V,Y) ; Attivazione del gruppo di trascinamento 1

N110 TRAILON(W,Z,–1) ; Attivazione del 2° gruppo di trascinamento. Fattore di accoppiamento negativo: l'asse trascinato si sposta ogni volta in direzione opposta come asse master.

N120 G0 Z10 ; Incremento dell'asse Z e W nella direzione dell'asse opposta.

N130 G0 Y20 ; Incremento dell'asse Y e V nella stessa direzione assiale.

N200 G1 Y22 V25 F200 ; Sovrapposizione di un movimento dipendente e indipendente dell'asse di trascinamento V.

TRAILOF(V,Y) ; Disattivazione del 1° gruppo di trascinamento.

TRAILOF(W,Z) ; Disattivazione del 2° gruppo di trascinamento.

Page 510: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi 9.1 Trascinamento (TRAILON, TRAILOF)

Preparazione del lavoro510 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Limitazione dinamica

La limitazione dinamica è in funzione del tipo di attivazione del gruppo di trascinamento:

• Attivazione nel programma pezzo

Se l'attivazione si verifica nel programma pezzo e tutti gli assi master sono attivi come assi di programma nel canale che si sta attivando, durante lo spostamento degli assi master la dinamica di tutti gli assi trascinati viene considerata in modo che nessun asse trascinato risulti sovraccaricato.

Se l'attivazione si verifica nel programma pezzo con assi master che non sono attivi come assi di programma nel canale che si sta attivando ($AA_TYP  ≠  1), durante lo spostamento degli assi master la dinamica degli assi trascinati non viene considerata. In questo modi si può verificare un sovraccarico per gli assi trascinati con una dinamica minore di quella richiesta per l'accoppiamento.

• Attivazione in azione sincrona

Se l'attivazione avviene in un'azione sincrona, durante lo spostamento degli assi master la dinamica degli assi trascinati non viene considerata. In questo modi si può verificare un sovraccarico per gli assi trascinati con una dinamica minore di quella richiesta per l'accoppiamento.

Stato dell'accoppiamento

Lo stato dell'accoppiamento di un asse può essere oggetto d'interrogazione con la variabile di sistema:

$AA_COUP_ACT[<asse>]

CAUTELA

Se viene attivato un gruppo di trascinamento

• in azioni sincrone• nel programma pezzo con assi master che non sono assi di programma nel canale

degli assi trascinati,ricade nella specifica responsabilità dell'utente / del costruttore della macchina di prevedere misure idonee ad evitare che i movimenti di spostamento dell'asse master provochino un sovraccarico degli assi trascinati.

Valore Significato0 Nessun accoppiamento attivo8 Trascinamento attivo

Page 511: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi9.2 Tabelle di curve (CTAB)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 511

9.2 Tabelle di curve (CTAB)

FunzioneTramite le tabelle delle curve è possibile programmare i rapporti di posizione e velocità fra due assi (asse master e slave). La definizione della tabella delle curve avviene nel programma pezzo.

ApplicazioneLe tabelle delle curve sostituiscono le camme meccaniche. la tabella costituisce la base per l'accoppiamento assiale al valore master, in quanto crea il rapporto funzionale fra asse master e asse slave: Il controllo, in base alla programmazione eseguita, calcola dalle posizioni reciproche dell'asse master e dell'asse slave un polinomio che corrisponde al profilo di camma.

Page 512: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi 9.2 Tabelle di curve (CTAB)

Preparazione del lavoro512 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

9.2.1 Definizione delle tabelle delle curve (CTABDEF, CATBEND)

Funzione Una tabella per una curva costituisce un partprogram o una sezione di partprogram, contrassegnato all'inizio con l'istruzione CTABDEF e alla fine dalla istruzione CTABEND .

All'interno di questa sezione di programma pezzo alle singole posizioni dell'asse master vengono assegnate, mediante istruzioni di movimento, posizioni ben determinate dell'asse slave, che servono come supporto per il calcolo di un tratto curvilineo sotto forma di un polinomio al massimo di 5° grado.

PresuppostiPer la definizione delle tabelle delle curve è necessario che la relativa programmazione MD riservi spazio di memoria ( → costruttore della macchina!).

SintassiCTABDEF(<asse_slave>,<asse_master>,<n>,<periodicità>[,<percorso_salvataggio>])...CTABEND

Page 513: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi9.2 Tabelle di curve (CTAB)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 513

Significato

EsempiEsempio 1: sezione di programma come definizione della tabella delle curve

Si intende impiegare una sezione inalterata di partprogram per la definizione di una tabella. Il comando di stop preelaborazione STOPRE che vi compare può restare e ridiventa attivo non appena la sezione di programma non viene più impiegata per la definizione della tabelle e CTABDEF e CTABEND sono state eliminate.

CTABDEF ( ) Inizio della definizione della tabella delle curveCTABEND Fine della definizione della tabella delle curve<asse_slave> Asse il cui movimento va calcolato tramite la tabella delle curve<asse_master> Asse che fornisce i valori master per il calcolo del movimento

dell'asse slave<n> Numero (ID) della tabella delle curve

Il numero assegnato a una tabella delle curve è univoco e indipendente dal percorso di salvataggio. Non possono trovarsi tabelle con lo stesso numero nella memoria NC statica e dinamica.

<periodicità> Periodicità delle tabelle0 La tabella non è periodica (viene eseguita una sola volta,

anche per gli assi rotanti)1 Tabella periodica riferita all'asse master2 Tabella periodica riferita all'asse master e all'asse slave

<percorso_salvataggio>

Definizione del percorso di salvataggio (opzionale)"SRAM" La tabella delle curve viene creata nella memoria NC

statica."DRAM" La tabella delle curve viene creata nella memoria NC

dinamico.Nota:se per questo parametro non è programmato un valore, viene utilizzato il percorso di salvataggio standard impostato con MD20905 $MC_CTAB_DEFAULT_MEMORY_TYPE.

NotaSovrascritturaUna tabella viene sovrascritta quando per la definizione ne viene impiegato il numero (<n>); (eccezione: la tabella delle curve è attiva in un accoppiamento assi o bloccata con CTABLOCK). Al momento della sovrascrittura non viene emessa alcuna segnalazione di avvertimento!

Codice di programma Commento

CTABDEF(Y,X,1,1) ; Definizione di una tabella di curve.

IF NOT ($P_CTABDEF)

Page 514: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi 9.2 Tabelle di curve (CTAB)

Preparazione del lavoro514 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio 2: Definizione di una tabella di curve non periodica

STOPRE

ENDIF

CTABEND

Codice di programma Commento

N100 CTABDEF(Y,X,3,0) ; Inizio della definizione di una tabella di curve non periodica con numero 3.

N110 X0 Y0 ; 1a istruzione di movimento, definisce i valori iniziali e il 1° punto di appoggio:valore master: 0; valore slave: 0

N120 X20 Y0 ; 2° punto di appoggio:valore master: 0…20, valore slave: valore iniziale...0

N130 X100 Y6 ; 3° punto di appoggio:valore master: 20…100, valore slave: 0…6

N140 X150 Y6 ; 4° punto di appoggio:valore master: 100…150, valore slave: 6…6

N150 X180 Y0 ; 5° punto di appoggio:valore master: 150…180, valore slave: 6…0

N200 CTABEND ; Fine della definizione. La tabella delle curve viene generata nella propria rappresentazione interna come polinomio di max. 5° grado. Il calcolo del tratto curvilineo con i punti di appoggio indicati dipende dal tipo di interpolazione con selezione modale (interpolazione circolare, lineare, spline). Viene ripristinato lo stato del programma pezzo prima dell'inizio della definizione.

Codice di programma Commento

Page 515: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi9.2 Tabelle di curve (CTAB)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 515

Esempio 3: definizione di una tabella di curve periodica

Definizione di una tabella periodica con numero 2, campo dei valori master da 0 a 360, movimento dell'asse slave da 0 a 45 e ritorno a 0:

Codice di programma Commento

N10 DEF REAL DEPPOS

N20 DEF REAL GRADIENT

N30 CTABDEF(Y,X,2,1) ; Inizio della definizione.

N40 G1 X=0 Y=0

N50 POLY

N60 PO[X]=(45.0)

N70 PO[X]=(90.0) PO[Y]=(45.0,135.0,-90)

N80 PO[X]=(270.0)

N90 PO[X]=(315.0) PO[Y]=(0.0,-135.0,90)

N100 PO[X]=(360.0)

N110 CTABEND ; Fine della definizione.

;Test della curva mediante accoppiamento di Y a X:

N120 G1 F1000 X0

N130 LEADON(Y,X,2)

N140 X360

N150 X0

N160 LEADOF(Y,X)

N170 DEPPOS=CTAB(75.0,2,GRADIENTE) ; Lettura della funzione tabellare con valore master 75.0.

N180 G0 X75 Y=DEPPOS ; Posizionamento di asse master ed asse slave.

;Dopo l'attivazione dell'accoppiamento non è più necessario sincronizzare l'asse slave.

N190 LEADON(Y,X,2)

N200 G1 X110 F1000

N210 LEADOF(Y,X)

N220 M30

Page 516: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi 9.2 Tabelle di curve (CTAB)

Preparazione del lavoro516 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Ulteriori informazioniValore iniziale e finale della tabella di curve

Quale valore iniziale, per il settore di definizione della tabelle, vale la prima impostazione di posizioni di assi raggruppati (la prima istruzione di movimento) all'interno della definizione della tabella di curve. Il valore finale del settore di definizione della tabella viene definito dall'ultima istruzione di movimento.

Linguaggio disponibile

All'interno della definizione della tabella è disponibile l'intero set di istruzioni NC.

Efficacia delle istruzioni modali

Tutte le istruzioni con effetto modale che vengono generate all'interno della definizione della tabella di curve perdono validità alla conclusione della definizione della tabella. Prima e dopo la definizione di una tabella, il partprogram in cui la definizione viene eseguita si trova nello stesso stato.

Assegnazioni ai parametri R

Le assegnazioni ai parametri R nell'ambito della definizione delle tabelle vengono azzerate dopo CTABEND.

Esempio:

NotaLe seguenti indicazioni non sono ammesse nella definizione della tabella delle curve:

• Stop preelaborazione• Salti nel movimento dell'asse master (per es. al cambio di trasformazioni)• Istruzioni di movimento solo per l'asse slave• L'inversione di movimento dell'asse master, cioè la posizione dell'asse master, deve

sempre essere univoca• Istruzione CTABDEF e CTABEND in diversi livelli di programma.

Codice di programma Commento

...

R10=5 R11=20 ; R10=5

...

CTABDEF

G1 X=10 Y=20 F1000

R10=R11+5 ; R10=25

X=R10

CTABEND

... ; R10=5

Page 517: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi9.2 Tabelle di curve (CTAB)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 517

Attivazione di ASPLINE, BSPLINE, CSPLINE

Se nell'ambito di una definizione della tabella delle curve viene attivata una CTABDEF ... CTABEND una ASPLINE, BSPLINE o CSPLINE, prima di questa attivazione spline deve essere programmato almeno un punto di partenza. E’ da evitare un’attivazione immediata dopo CTABDEF altrimenti la Spline dipende dalla posizione attuale dell’asse prima della definizione della tabella di curve.

Esempio:

Impiego ripetuto di tabelle di curve

Il rapporto funzionale di asse master ed asse slave calcolato tramite la tabella per una curva resta attivo con il numero di tabella selezionato anche dopo la fine del programma pezzo e dopo POWER OFF, sempre che la tabella stessa sia archiviata nella memoria NC statica (SRAM).

Una tabella creata nella memoria dinamica (DRAM) viene cancellata con POWER ON e deve essere eventualmente ricreata.

Una tabella di curve creata una volta può essere utilizzata a piacere per qualsiasi combinazione di asse master ed asse slave ed è indipendente dagli assi impiegati per la generazione della tabella stessa.

Sovrascrittura di tabelle per curve

Una tabella viene sovrascritta quando, definendo una nuova tabella, per la definizione ne viene impiegato il numero.

Eccezione: Una tabella di curve è attiva in un accoppiamento assi o bloccata CTABLOCK.

Definizione della tabella delle curve attiva?

Con la variabile di sistema $P_CTABDEF è possibile in qualsiasi momento apprendere mediante query dal programma pezzo se è attiva la definizione della tabella delle curve.

Codice di programma

...

CTABDEF(Y,X,1,0)

X0 Y0

ASPLINE

X=5 Y=10

X10 Y40

...

CTABEND

NotaQuando si sovrascrivono le tabelle delle curve non viene emessa una relativa segnalazione di avvertimento!

Page 518: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi 9.2 Tabelle di curve (CTAB)

Preparazione del lavoro518 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Revoca della definizione della tabella delle curve

Dopo aver estratto le istruzioni per la definizione della tabella di curve è possibile utilizzare nuovamente la sezione di programma pezzo come programma pezzo reale.

Caricamento di tabelle delle curve tramite l'"elaborazione dall'esterno"

Per l'elaborazione dall'esterno delle tabelle di curve è necessario definire la dimensione del buffer di caricamento (DRAM) con il DM D18360 $MN_MM_EXT_PROG_BUFFER_SIZE in modo che tutte le tabelle di curve definite possano essere create contemporaneamente nel buffer di caricamento. In caso contrario l’elaborazione del programma pezzo viene interrotta con un allarme.

Salti dell'asse slave

In base all'impostazione del dato macchina:MD20900 $MC_CTAB_ENABLE_NO_LEADMOTIONi salti dell'asse slave sono tollerabili se l'asse master non è in movimento.

9.2.2 Verifica della presenza di una tabella delle curve (CTABEXISTS)

FunzioneCon il comando CTABEXISTS è possibile verificare se sia presente un determinato numero di tabella delle curve nella memoria NC.

SintassiCTABEXISTS(<n>)

Significato

CTABEXISTS Verifica se la tabella delle curve con il numero <n> è presente nella memoria NC statica o dinamica0 La tabella non esiste 1 La tabella esiste

<n> Numero (ID) della tabella delle curve

Page 519: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi9.2 Tabelle di curve (CTAB)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 519

9.2.3 Eliminazione di tabelle delle curve (CTABDEL)

FunzioneCon CTABDEL si possono cancellare tabelle di curve.

SintassiCTABDEL(<n>)CTABDEL(<n>,<m>)CTABDEL(<n>,<m>,<percorso_salvataggio>)CTABDEL ()CTABDEL(,,<percorso_salvataggio>)

Significato

Se CTABDEL viene programmato senza indicazione della tabella delle curve da eliminare, sono eliminate tutte le tabelle delle curve o tutte le tabelle delle curve nella memoria specificata:

NotaQuesta funzione non può però cancellare tabelle di un accoppiamento assi attivo.

CTABDEL Comando per la cancellazione di azioni sincrone<n> Numero (ID) della tabella delle curve da eliminare

Per l'eliminazione di un intervallo di tabelle delle curve CTABDEL(<n>,<m>) si specifica con <n> il numero della prima tabella dell'intervallo stesso.

<m> Per l'eliminazione di un intervallo di tabelle delle curve CTABDEL(<n>,<m>) si specifica con <m> il numero dell'ultima tabella dell'intervallo stesso.<m> deve essere maggiore di <n>!

<percorso_salvataggio>

Definizione del percorso di salvataggio (opzionale)Con l'eliminazione senza indicazione del percorso le tabelle di curve specificate vengono eliminate nella memoria NC statica e dinamica.In caso di eliminazione con indicazione del percorso, delle tabelle di curve specificate vengono eliminate solo quelle contenute nella memoria specificata. Le rimanenti restano attive."SRAM" Eliminazione nella memoria NC statica"DRAM" Eliminazione nella memoria NC dinamica

CTABDEL () Elimina tutte le tabelle delle curve nella memoria NC statica e dinamica

CTABDEL(,,"SRAM") Elimina tutte le tabelle delle curve nella memoria NC staticaCTABDEL(,,"DRAM") Elimina tutte le tabelle delle curve nella memoria NC dinamica

Page 520: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi 9.2 Tabelle di curve (CTAB)

Preparazione del lavoro520 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

9.2.4 Inibizione dell'eliminazione e della sovrascrittura delle tabelle delle curve(CTABLOCK, CTABUNLOCK)

FunzioneLe tabelle delle curve possono essere protette impostando inibizioni delle cancellature e sovrascritture accidentali. Un'inibizione impostata può venire revocata in ogni momento.

SintassiImpostazione dell'inibizione:CTABLOCK(<n>)CTABLOCK(<n>,<m>)CTABLOCK(<n>,<m>,<percorso_salvataggio>)CTABLOCK()CTABLOCK(,,<percorso_salvataggio>)

Revoca dell'inibizione:CTABUNLOCK(<n>)CTABUNLOCK(<n>,<m>)CTABUNLOCK(<n>,<m>,<percorso_salvataggio>)CTABUNLOCK()CTABUNLOCK(,,<percorso_salvataggio>)

Significato

NotaSe durante le eliminazioni multiple CTABDEL(<n>,<m>) o CTABDEL() è attiva in un accoppiamento almeno una delle tabelle delle curve da eliminare, il comando di eliminazione non viene eseguito, ossia nessuna delle tabelle indirizzate delle curve viene eliminata.

CTABLOCK Comando per l'impostazione di un'inibizione di eliminazione/sovrascrittura

CTABUNLOCK Comando per la revoca di un'inibizione di eliminazione/sovrascritturaCTABUNLOCK sblocca le tabelle di curve bloccate con CTABLOCK. In presenza di un accoppiamento attivo le tabelle delle curve continuano a rimanere bloccate e non possono essere cancellate. Il blocco con CTABLOCK è revocato non appena l'inibizione viene rimossa dall'accoppiamento attivo con disattivazione dello stesso. In questo modo è possibile cancellare questa tabella. Non è necessario un altro richiamo di CTABUNLOCK.

<n> Numero (ID) della tabella delle curve da bloccare/sbloccarePer il blocco / lo sblocco di un intervallo di tabelle delle curve CTABLOCK(<n>,<m>)/CTABUNLOCK(<n>,<m>) si specifica con <n> il numero della prima tabella dell'intervallo stesso.

Page 521: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi9.2 Tabelle di curve (CTAB)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 521

Se CTABLOCK/CTABUNLOCK viene programmato senza indicazione della tabella delle curve da bloccare/sbloccare, sono bloccate/sbloccate tutte le tabelle delle curve o tutte le tabelle delle curve nella memoria specificata:

9.2.5 Tabelle delle curve: rilevamento delle proprietà delle tabelle (CTABID,CTABISLOCK, CTABMEMTYP, CTABPERIOD)

FunzioneCon questi comandi è possibile effettuare interrogazioni su proprietà importanti di una tabella delle curve (numero della tabella, stato di blocco, percorso di archiviazione, periodicità).

SintassiCTABID(<p>)CTABID(<p>,<percorso_salvataggio>)CTABISLOCK(<n>)CTABMEMTYP(<n>)TABPERIOD(<n>)

<m> Per il blocco / lo sblocco di un intervallo di tabelle delle curve CTABLOCK(<n>,<m>)/CTABUNLOCK(<n>,<m>) si specifica con <m> il numero dell'ultima tabella dell'intervallo stesso.<m> deve essere maggiore di <n>!

<percorso_salvataggio>

Definizione del percorso di salvataggio (opzionale)Con l'impostazione / la revoca di un blocco senza indicazione del percorso le tabelle di curve specificate vengono bloccate/sbloccate nella memoria NC statica e dinamica.In caso di impostazione / la revoca di un blocco con indicazione del percorso, delle tabelle di curve specificate vengono bloccate/sbloccate solo quelle contenute nella memoria specificata. Le restanti non vengono bloccate/sbloccate."SRAM" Impostazione/revoca di un blocco nella memoria NC

statica"DRAM" Impostazione/revoca di un blocco nella memoria NC

dinamica

CTABLOCK() Blocca tutte le tabelle delle curve nella memoria NC statica e dinamica

CTABLOCK(,,"SRAM") Blocca tutte le tabelle delle curve nella memoria NC staticaCTABLOCK(,,"DRAM") Blocca tutte le tabelle delle curve nella memoria NC dinamica

CTABUNLOCK() Sblocca tutte le tabelle delle curve nella memoria NC statica e dinamica

CTABUNLOCK(,,"SRAM") Sblocca tutte le tabelle delle curve nella memoria NC staticaCTABUNLOCK(,,"DRAM") Sblocca tutte le tabelle delle curve nella memoria NC

dinamica

Page 522: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi 9.2 Tabelle di curve (CTAB)

Preparazione del lavoro522 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Significato

CTABID Restituisce il numero della tabella che nella memoria specificata è registrato come tabella delle curve N. <p>.Esempio:CTABID(1,"SRAM") restituisce il numero della prima tabella delle curve nella memoria NC statica. La prima tabella delle curve corrisponde alla tabella delle curve con il numero di tabella più elevato.Nota:Se tra due richiami in successione CTABID viene modificata la sequenza delle tabelle delle curve nella memoria, ad es. eliminando delle tabelle delle curve con CTABDEL, CTABID(<p>,...) può restituire con lo stesso numero <p> un'altra tabella delle curve (diversa da prima).

CTABISLOCK Restituisce lo stato del blocco della tabella delle curve con il numero <n>:0 La tabella non è bloccata1 La tabella è bloccata da CTABLOCK2 La tabella è bloccata dall'accoppiamento attivo3 La tabella è bloccata da CTABLOCK e dall'accoppiamento

attivo-1 La tabella non esiste

CTABMEMTYP Restituisce lo stato del blocco della tabella delle curve con il numero <n>:0 Tabella nella memoria NC statica1 Tabella nella memoria NC dinamica-1 La tabella non esiste

CTABPERIOD Restituisce la periodicità della tabella delle curve con il numero <n>:0 Tabella non periodica1 La tabella è periodica nell'asse master2 La tabella è periodica nell'asse master e slave-1 La tabella non esiste

<p> Numero di registrazione nella memoria<n> Numero (ID) della tabella delle curve<percorso_salvataggio>

Definizione del percorso di salvataggio (opzionale)"SRAM" Memoria NC statica"DRAM" Memoria NC dinamicaNota:se per questo parametro non è programmato un valore, viene utilizzato il percorso di salvataggio standard impostato con MD20905 $MC_CTAB_DEFAULT_MEMORY_TYPE.

Page 523: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi9.2 Tabelle di curve (CTAB)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 523

9.2.6 Lettura dei valori delle tabelle delle curve (CTABTSV, CTABTEV, CTABTSP,CTABTEP, CTABSSV, CTABSEV, CTAB, CTABINV, CTABTMIN, CTABTMAX)

FunzioneÈ possibile leggere nel programma pezzo i seguenti valori delle tabelle delle curve:

• Valori degli assi slave e master all’inizio ed alla fine di una tabella di curve

• Valori degli assi slave all’inizio ed alla fine di un segmento di curve

• Valore dell'asse slave rispetto a un valore dell'asse master

• Valore dell'asse master rispetto a un valore dell'asse slave

• Valore minimo e massimo dell'asse slave

- nell'intero campo di definizione della tabella delle curve

oppure

- in un intervallo definito della tabella delle curve

SintassiCTABTSV(<n>,<gradiente>[,<asse_slave>])CTABTEV(<n>,<gradiente>[,<asse_slave>])CTABTSP(<n>,<gradiente>[,<asse_master>])CTABTEP(<n>,<gradiente>[,<asse_master>])CTABSSV(<valore_master>,<n>,<gradiente>[,<asse_slave>])CTABSEV(<valore_master>,<n>,<gradiente>[,<asse_slave>])CTAB(<valore_master>,<n>,<gradiente>[,<asse_slave>,<asse_master>]CTABINV(<valore_slave>,<valore_approx>,<n>,<gradiente>[,<asse_slave>,<asse_master>]CTABTMIN(<n>[,<asse_slave>])CTABTMAX(<n>[,<asse_slave>])CTABTMIN(<n>,<a>,<b>[,<asse_slave>,<asse_master>])CTABTMAX(<n>,<a>,<b>[,<asse_slave>,<asse_master>])

Significato

CTABTSV: Lettura del valore dell'asse slave all'inizio della tabella delle curve N. <n>

CTABTEV: Lettura del valore dell'asse slave alla fine della tabella delle curve N. <n>

CTABTSP: Lettura del valore dell'asse master all'inizio della tabella delle curve N. <n>

CTABTEP: Lettura del valore dell'asse master alla fine della tabella delle curve N. <n>

CTABSSV: Lettura del valore dell'asse slave all'inizio del segmento di curve appartenente al valore dell'asse master da definire (<valore_master>)

CTABSEV: Lettura del valore dell'asse slave alla fine del segmento di curve appartenente al valore dell'asse master da definire (<valore_master>)

Page 524: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi 9.2 Tabelle di curve (CTAB)

Preparazione del lavoro524 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

EsempiEsempio 1:

Determinazione dei valori degli assi slave e master all’inizio ed alla fine della tabella di curve nonché del valore minimo e massimo dell'asse slave nell'intero campo di definizione della tabella delle curve.

CTAB: Lettura del valore dell'asse slave rispetto al valore dell'asse master da definire (<valore_master>)

CTABINV: Lettura del valore dell'asse master rispetto al valore dell'asse slave da definire (<valore_slave>)

CTABTMIN: Determinazione del valore minimo dell'asse slave:• nell'intero campo di definizione della tabella delle curve

oppure

• in un intervallo definito <a> ... <b>CTABTMAX: Determinazione del valore massimo dell'asse slave:

• nell'intero campo di definizione della tabella delle curveoppure

• in un intervallo definito <a> ... <b><n>: Numero (ID) della tabella delle curve<gradiente>: Nel parametro <gradiente> il passo del filetto della funzione

delle tabelle delle curve viene restituito alla posizione rilavata<asse_slave>: Asse il cui movimento va calcolato tramite la tabella delle curve

(opzionale)<asse_master>: Asse che fornisce i valori master per il calcolo del movimento

dell'asse slave (opzionale)<valore_slave>: Valore dell'asse slave per la lettura del relativo valore dell'asse

master con CTABINV<valore_master>: Valore dell'asse master:

• per la lettura del relativo valore dell'asse slave con CTABoppure

• per la selezione del segmento di curve con CTABSSV/CTABSEV<valore_approx>: L'assegnazione di un valore dell'asse master a un valore dell'asse

slave con CTABINV non sempre deve essere univoca. CTABINV necessita pertanto come parametro di un valore approssimativo per il valore dell'asse master richiesto.

<a>: Limite inferiore dell'intervallo di valori master per CTABTMIN/CTABTMAX

<b>: Limite superiore dell'intervallo di valori master per CTABTMIN/CTABTMAX

Nota:L'intervallo di valori master <a> ... <b> deve rientrare nel campo di definizione della tabella delle curve.

Page 525: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi9.2 Tabelle di curve (CTAB)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 525

Esempio 2:

Determinazione dei valori degli assi slave all’inizio e alla fine del segmento di curve appartenente al valore dell'asse master X=30.

Codice di programma Commento

N10 DEF REAL STARTPOS

N20 DEF REAL ENDPOS

N30 DEF REAL STARTPARA

N40 DEF REAL ENDPARA

N50 DEF REAL MINVAL

N60 DEF REAL MAXVAL

N70 DEF REAL GRADIENTE

...

N100 CTABDEF(Y,X,1,0) ; Inizio della definizione della tabella

N110 X0 Y10 ; Posizione iniziale del 1° segmento di tabella

N120 X30 Y40 ; Posizione finale del 1° segmento di tabella = posizione iniziale del 2° segmento di tabella

N130 X60 Y5 ; Posizione finale del 2° segmento della tabella = ...

N140 X70 Y30

N150 X80 Y20

N160 CTABEND ; Fine della definizione della tabella.

...

N200 STARTPOS=CTABTSV(1,GRADIENT) ; Valore dell'asse slave all'inizio della tabella delle curve = 10

N210 ENDPOS=CTABTEV(1,GRADIENT) ; Valore dell'asse slave alla fine della tabella delle curve = 20

N220 STARTPARA=CTABTSP(1,GRADIENT) ; Valore dell'asse master all'inizio della tabella delle curve = 0

N230 ENDPARA=CTABTEP(1,GRADIENT) ; Valore dell'asse master alla fine della tabella delle curve = 80

N240 MINVAL=CTABTMIN(1) ; Valore minimo dell'asse slave per Y=5

N250 MAXVAL=CTABTMAX(1) ; Valore massimo dell'asse slave per Y=40

Codice di programma Commento

N10 DEF REAL STARTPOS

N20 DEF REAL ENDPOS

N30 DEF REAL GRADIENTE

...

N100 CTABDEF(Y,X,1,0) ; Inizio della definizione della tabella.

N110 X0 Y0 ; Posizione iniziale del 1° segmento di tabella

N120 X20 Y10 ; Posizione finale del 1° segmento di tabella = posizione iniziale del 2° segmento di tabella

N130 X40 Y40 Posizione finale del 2° segmento della tabella = ...

N140 X60 Y10

N150 X80 Y0

N160 CTABEND ; Fine della definizione della tabella.

...

N200 STARTPOS=CTABSSV(30.0,1,GRADIENT) ; Posizione iniziale Y nel 2° segmento = 10

N210 ENDPOS=CTABSEV(30.0,1,GRADIENT) ; Posizione finale Y nel 2° segmento = 40

Page 526: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi 9.2 Tabelle di curve (CTAB)

Preparazione del lavoro526 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Ulteriori informazioniUtilizzo nelle azioni sincrone

Tutti i comandi per la lettura dei valori delle tabelle delle curve possono essere utilizzati anche in azioni sincrone (vedere anche il capitolo "Azioni sincrone al movimento").

Per l'utilizzo dei comandi CTABINV, CTABTMIN e CTABTMAX occorre verificare che:

• all'atto dell'esecuzione siano disponibili sufficienti risorse NC

oppure• l'interrogazione relativa al numero dei segmenti della tabella di curve venga effettuata

prima del richiamo per poter eventualmente suddividere la relativa tabella

CTAB per tabelle di curve non periodiche

Se il <valore_master> specificato si trova al di fuori del campo di definizione, come valore slave viene emesso il limite superiore o inferiore:

Page 527: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi9.2 Tabelle di curve (CTAB)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 527

CTAB per tabelle di curve periodiche

Se il <valore_master> specificato si trova al di fuori del campo di definizione, viene valutato il valore master Modulo del campo di definizione e viene emesso il corrispondente valore slave:

Valore approssimativo per CTABINV

Il comando CTABINV necessita di un valore approssimativo per il valore master richiesto. CTABINV restituisce il valore master più vicino a quello approssimativo. Tale valore approssimativo può essere per esempio il valore master del clock di interpolazione precedente.

Passo della funzione delle tabelle delle curve

L'uscita del passo (<gradiente>) permette di calcolare la velocità dell'asse master o slave nella relativa posizione.

Definizione dell'asse master o slave

La definizione opzionale dell'asse master o slave è importante nel caso in cui questi due assi siano stati progettati in unità di lunghezza diverse.

CTABSSV, CTABSEV

Nei seguenti casi i comandi CTABSSV e CTABSEVnon sono adatti alle interrogazioni sui segmenti programmati:

• sono stati programmati cerchi o evolventi.

• sono attivi smussi o raccordi con CHF/RND.

• è attivo un movimento raccordato con G643.

• è attiva la compressione blocco NC con COMPON, COMPCURV, COMPCAD.

Page 528: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi 9.2 Tabelle di curve (CTAB)

Preparazione del lavoro528 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

9.2.7 Tabelle delle curve: verifica dell'utilizzo delle risorse (CTABNO, CTABNOMEM,CTABFNO, CTABSEGID, CTABSEG, CTABFSEG, CTABMSEG, CTABPOLID,CTABPOL, CTABFPOL, CTABMPOL)

FunzioneCon questi comandi il programmatore ha la possibilità di informarsi sullo stato attuale dell'assegnazione delle risorse per le tabelle delle curve, i segmenti di tabella e i polinomi.

SintassiCTABNOCTABNOMEM(<percorso_salvataggio>)CTABFNO(<percorso_salvataggio>)CTABSEGID(<n>,<percorso_salvataggio>)CTABSEG(<percorso_salvataggio>,<tipo_segmento>)CTABFSEG(<percorso_salvataggio>,<tipo_segmento>)CTABMSEG(<percorso_salvataggio>,<tipo_segmento>)CTABPOLID(<n>)CTABPOL(<percorso_salvataggio>)CTABFPOL(<percorso_salvataggio>)CTABMPOL(<percorso_salvataggio>)

Significato

CTABNO Determinazione del numero complessivo delle tabelle delle curve definite (nella memoria NC statica e dinamica)

CTABNOMEM Determinazione del numero di tabelle delle curve definite nel <percorso_salvataggio> specificato

CTABFNO Determinazione del numero di tabelle delle curve ancora possibili nel <percorso_salvataggio> specificato

CTABSEGID Determinazione del numero dei segmenti di curve del <tipo_segmento> specificato che vengono utilizzati dalla tabella delle curve con il numero <n>

CTABSEG Determinazione del numero dei segmenti di curve utilizzati del <tipo_segmento> specificato nel <percorso_salvataggio> specificato

CTABFSEG Determinazione del numero dei segmenti di curve ancora possibili del <tipo_segmento> specificato nel <percorso_salvataggio> specificato

CTABMSEG Determinazione del numero dei segmenti di curve massimi possibile del <tipo_segmento> specificato nel <percorso_salvataggio> specificato

CTABPOLID Determinazione del numero dei polinomi di curve utilizzati dalla tabella del curve con il numero <n>

Page 529: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi9.2 Tabelle di curve (CTAB)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 529

CTABPOL Determinazione del numero dei polinomi di curve utilizzati nel <percorso_salvataggio> specificato

CTABFPOL Determinazione del numero dei polinomi di curve ancora possibili nel <percorso_salvataggio> specificato

CTABMPOL Determinazione del numero dei polinomi di curve massimo possibile nel <percorso_salvataggio> specificato

<n> Numero (ID) della tabella delle curve<percorso_salvataggio>

Definizione del percorso di salvataggio (opzionale)"SRAM" Memoria NC statica"DRAM" Memoria NC dinamicaNota:se per questo parametro non è programmato un valore, viene utilizzato il percorso di salvataggio standard impostato con MD20905 $MC_CTAB_DEFAULT_MEMORY_TYPE.

<tipo_segmento> Definizione del tipo di segmento (opzionale)"L" Segmenti lineari"P" Segmenti polinomialiNota:se per questo parametro non è programmato alcun valore, viene emessa la somma dei segmenti lineari e polinomiali.

Page 530: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi 9.3 Accoppiamento assiale tramite valore master (LEADON, LEADOF)

Preparazione del lavoro530 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

9.3 Accoppiamento assiale tramite valore master (LEADON, LEADOF)

Funzione Con l'accoppiamento assiale al valore master un asse master ed un asse slave vengono mossi in maniera sincronizzata. La posizione dell'asse slave è sempre assegnata in modo univoco alla posizione dell'asse master, mediante una tabella o un polinomio da essa calcolato.

L'asse master è quello che fornisce i valori di ingresso per la tabella delle curve. Si definisce asse slave l'asse che acquisisce le posizioni calcolate tramite la tabella per curve.

Accoppiamento valore reale e di riferimento

Quali valori master dell'asse slave, cioè come valori di partenza per il rilevamento della posizione, si possono utilizzare:

• i valori reali di posizione dell'asse master: Accoppiamento al valore reale

• i valori di riferimento della posizione dell'asse master: Accoppiamento tramite riferimento

L'accoppiamento al valore master ha validità sempre nel sistema di coordinate di base.

Per la realizzazione delle tabelle di curve vedere la sezione “Tabelle di curve” in questo capitolo.Per l’accoppiamento al valore master, vedere /FB/, M3, Trascinamento e accoppiamento al valore master.

NotaQuesta funzione non è disponibile per SINUMERIK 828D!

Page 531: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi9.3 Accoppiamento assiale tramite valore master (LEADON, LEADOF)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 531

SintassiLEADON(asse S,asse M,n)LEADOF(asse S, asse M)

o disattivazione senza indicazione dell'asse master:LEADOF(asse S)

L'accoppiamento al valore master può essere attivato e disattivato sia dal partprogram che da azioni sincrone durante il movimento, vedere capitolo "Azioni sincrone al movimento").

Significato

Disattivazione dell'accoppiamento, LEADOF

Disattivando l'accoppiamento al valore master l'asse slave torna ad essere un normale asse di comando.

Accoppiamento assiale al valore master e diversi stati operativi, RESET

In funzione dell'impostazione eseguita nel dato macchina gli accoppiamenti al valore master vengono disattivati con RESET.

Esempio di accoppiamento al valore master da azioni sincroneIn un impianto di presse si intende sostituire un accoppiamento meccanico tradizionale fra un asse master (mazza) e gli assi di un sistema transfer costituito da assi di trasferimento e assi ausiliari con un sistema di accoppiamento elettronico.

L'esempio che segue è tratto da un impiego reale e dimostra come un sistema di accoppiamento meccanico viene sostituito con un sistema di accoppiamento elettronico. Le procedure di accoppiamento e di disaccoppiamento sono realizzate come azioni sincrone statiche.

L'asse master LW (mazza) comanda assi di trasferimento e assi ausiliari come assi slave definiti tramite tabella per curve.

Assi slave

X Asse di avanzamento o longitudinale YL Asse di chiusura o asse trasversale ZL Asse di sollevamento U Avanzamento lamiera, asse ausiliario V Testa orientabile, asse ausiliario W Ingrassaggio, asse ausiliario

LEADON Attivare l'accoppiamento al valore masterLEADOF Disattivare l'accoppiamento al valore masterAsse slave Asse slaveAsse master Asse mastern Numero della tabella$SA_LEAD_TYPE Commutazione tra accoppiamento al valore di riferimento e

accoppiamento al valore reale

Page 532: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi 9.3 Accoppiamento assiale tramite valore master (LEADON, LEADOF)

Preparazione del lavoro532 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Azioni

Le azioni presenti nelle azioni sincrone sono ad es.:

• Accoppiamento, LEADON (asse slave, asse master, numero delle tabelle)

• Disaccoppiamento, LEADOF (asse slave, asse master)

• Settare il valore reale, PRESETON (asse, valore)

• Settare marker, $AC_MARKER[i] = valore

• Tipo di accoppiamento: valore master reale/virtuale

• Raggiungimento delle posizioni asse, ?POS[asse]=valore

Condizioni

Come condizioni vengono valutati ingressi digitali veloci, variabili in tempo reale $AC_MARKER e confronti di posizione, combinati con l'operatore logico AND.

Commento

NotaNell'esempio seguente il cambio riga, i rientri e la scrittura in grassetto sono stati impiegati esclusivamente allo scopo di migliorare la lettura della programmazione. Per il controllo numerico tutto ciò che si trova sotto un numero di riga fa parte di una riga unica.

Codice di programma Commento

; Definisce tutte le azioni sincrone statiche.

; ****Ripristino marker

N2 $AC_MARKER[0]=0 $AC_MARKER[1]=0 $AC_MARKER[2]=0 $AC_MARKER[3]=0 $AC_MARKER[4]=0 $AC_MARKER[5]=0 $AC_MARKER[6]=0 $AC_MARKER[7]=0

; **** E1 0=>1 accoppiamento trasferimento ON

N10 IDS=1 EVERY ($A_IN[1]==1) AND ($A_IN[16]==1) AND ($AC_MARKER[0]==0)DO LEADON(X,LW,1) LEADON(YL,LW,2) LEADON(ZL,LW,3) $AC_MARKER[0]=1

; **** E1 0=>1 accoppiamento avanzamento lamiera ON

N20 IDS=11 EVERY ($A_IN[1]==1) AND ($A_IN[5]==0) AND ($AC_MARKER[5]==0)DO LEADON(U,LW,4) PRESETON(U,0) $AC_MARKER[5]=1

; **** E1 0->1 accoppiamento testa orientabile ON

N21 IDS=12 EVERY ($A_IN[1]==1) AND ($A_IN[5]==0) AND ($AC_MARKER[6]==0)DO LEADON(V,LW,4) PRESETON(V,0) $AC_MARKER[6]=1

; **** E1 0->1 accoppiamento ingrassaggio ON

N22 IDS=13 EVERY ($A_IN[1]==1) AND ($A_IN[5]==0) AND ($AC_MARKER[7]==0) DO LEADON(W,LW,4) PRESETON(W,0) $AC_MARKER[7]=1

; **** E2 0=>1 accoppiamento OFF

N30 IDS=3 EVERY ($A_IN[2]==1)DO LEADOF(X,LW) LEADOF(YL,LW) LEADOF(ZL,LW) LEADOF(U,LW) LEADOF(V,LW) LEADOF(W,LW) $AC_MARKER[0]=0 $AC_MARKER[1]=0 $AC_MARKER[3]=0 $AC_MARKER[4]=0 $AC_MARKER[5]=0 $AC_MARKER[6]=0 $AC_MARKER[7]=0

....

N110 G04 F01

N120 M30

Page 533: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi9.3 Accoppiamento assiale tramite valore master (LEADON, LEADOF)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 533

DescrizioneL'accoppiamento al valore master richiede la sincronizzazione di asse master ed asse slave. Tale sincronizzazione si può ottenere soltanto se l'asse slave al momento dell'attivazione dell'accoppiamento si trova all'interno del campo di tolleranza del tratto curvilineo che è stato calcolato mediante la tabella di curve.

Il campo di tolleranza per la posizione dell'asse slave viene definito con il dato macchina DM 37200: COUPLE_POS_POL_COARSE A_LEAD_TYPE .

Se l'asse slave al momento dell'attivazione dell'accoppiamento al valore master non si trova ancora nella posizione opportuna, la sincronizzazione viene eseguita automaticamente non appena il valore di posizione calcolato dell'asse slave si avvicina alla posizione reale di detto asse. L'asse slave viene mosso solo in direzione delle posizioni per esso calcolate. Nel corso della sincronizzazione l'asse slave viene mosso nella direzione definita dalla velocità di riferimento dell'asse slave (risultante dalla velocità dell'asse master e da CTAB).

Nessun sincronismo

Se al momento dell'attivazione dell'accoppiamento la posizione calcolata dell'asse slave non corrisponde alla posizione attuale dell'asse slave, il sincronismo non viene attivato

Page 534: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi 9.3 Accoppiamento assiale tramite valore master (LEADON, LEADOF)

Preparazione del lavoro534 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Accoppiamento al valore di riferimento e al valore reale

Rispetto all'accoppiamento al valore reale, l'accoppiamento al valore di riferimento offre una migliore marcia sincrona di asse master ed asse slave ed è quindi preimpostato come standard.

L'accoppiamento al valore di riferimento è possibile solo se asse slave ed asse master vengono interpolati dalla stessa NCU. In caso di asse master esterno l'asse slave può essere accoppiato all'asse master solo tramite valori reali.

Una commutazione è possibile con il dato di setting $SA_LEAD_TYPE .

La commutazione tra accoppiamento al valore di riferimento e accoppiamento al valore reale dovrebbe avvenire sempre ad asse slave fermo. Una nuova sincronizzazione dopo la commutazione viene eseguita solo in stato di fermo.

Esempio d'utilizzo

Nel caso la macchina sia sottoposta a forti vibrazioni non è possibile leggere senza errori i valori reali. Se per es. nel caso di presse è in funzione l'accoppiamento al valore reale, nei passi di lavoro con le più forti vibrazioni può rendersi quindi necessario commutare all'accoppiamento al valore di riferimento.

Simulazione del valore master in caso di accoppiamento al valore di riferimento

Mediante dato macchina è possibile separare l'interpolatore dell'asse master dal servo. In tal modo nel caso di accoppiamento al valore di riferimento è possibile generare valori di riferimento anche senza movimenti reali dell'asse master.

Page 535: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi9.3 Accoppiamento assiale tramite valore master (LEADON, LEADOF)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 535

Per il loro impiego, per es. in azioni sincrone, i valori master generati mediante accoppiamento al valore di riferimento possono essere letti nelle seguenti variabili:

Generazione dei valori master

I valori master possono essere generati a scelta in altri modi programmati dall'utente. I valori master generati in tal modo vengono scritti e letti nella variabile.

Per l'utilizzo di queste variabili il dato di setting $SA_LEAD_TYPE = 2 .

Stato dell'accoppiamento

Nel partprogram dell'NC è possibile informarsi sullo stato dell'accoppiamento mediante le seguenti variabili di sistema: $AA_COUP_ACT[asse]

0: Nessun accoppiamento attivo 16: Accoppiamento al valore master attivo

Stato della gestione con azioni sincrone

Le procedure di inserzione e di accoppiamento vengono gestite con variabili in tempo reale:$AC_MARKER[i] = n

gestito con:i Merker nr.n Valore di stato

- $AA_LEAD_P posizione master

- $AA_LEAD_V velocità master

- $AA_LEAD_SP posizione master

- $AA_LEAD_SV velocità master

Page 536: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi 9.4 Cambio elettronico (EG)

Preparazione del lavoro536 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

9.4 Cambio elettronico (EG)

FunzioneCon la funzione "Cambio elettronico" si può controllare il movimento di un asse slave secondo un blocco di movimento lineare in funzione di un massimo di cinque assi master. I rapporti che intercorrono tra gli assi master e l'asse slave sono definiti per ogni asse master dal fattore di accoppiamento.

La quota calcolata di movimento dell'asse slave è ottenuta sommando le singole quote di movimento degli assi master moltiplicate per i rispettivi fattori di accoppiamento. Nel caso di attivazione di un raggruppamento di assi EG si può indurre la sincronizzazione dell'asse slave su una posizione definita. Dal partprogram un raggruppamento di rapporti può essere:

• definito,

• attivato,

• disattivato,

• cancellato.

Il movimento dell’asse slave può essere avviato con i

• riferimenti degli assi master e anche

• con i valori reali degli assi master.

Come ampliamento si possono realizzare anche relazioni non lineari tra asse master e asse slave tramite tabelle di curve (vedere il capitolo Comportamento vettoriale). I cambi elettronici possono essere attivati in cascata, cioè l’asse slave del primo cambio elettronico può essere l’asse master per un secondo cambio elettronico.

9.4.1 Definizione del cambio elettronico (EGDEF)

Funzione Un raggruppamento assi EG viene stabilito indicando l'asse slave e da un minimo di uno a un massimo di cinque assi master con il rispettivo tipo di accoppiamento.

PremessaRequisito per una definizione del raggruppamento assi EG:

Per l'asse slave non deve essere ancora definito alcun accoppiamento assi (event. è possibile cancellare precedentemente un accoppiamento esistente con EGDEL).

Page 537: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi9.4 Cambio elettronico (EG)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 537

SintassiEGDEF(asse slave,asse master1,tipo di accoppiamento1,asse master2,tipo di accoppiamento2,...)

Significato

Esempio

EGDEF Definizione di un cambio elettronicoAsse slave Asse che viene influenzato dagli assi masterAsse master1,...,Asse master5

Assi che influenzano l'asse slave

Tipo di accoppiamento1,...,Tipo di accoppiamento5

Tipo di accoppiamentoIl tipo di accoppiamento non deve essere lo stesso per tutti gli assi master e pertanto deve essere indicato singolarmente per ogni asse master.Valore: Significato:0 L'asse slave viene influenzato dal valore reale

dell'asse master corrispondente.1 L'asse slave viene influenzato dal valore di riferimento

dell'asse master corrispondente.

NotaNella definizione del gruppo di accoppiamenti del cambio elettronico (EG) il fattore di accoppiamento viene preimpostato a zero.

NotaEGDEF provoca uno stop preelaborazione. La definizione di cambio con EGDEF si può anche utilizzare in modo invariato, se nei sistemi uno o più assi master sono legati all'asse slave tramite tabella di curve.

Codice di programma Commento

EGDEF(C,B,1,Z,1,Y,1) ; Definizione del raggruppamento assi EG. Gli assi master B, Z, Y influenzano l'asse slave C tramite il valore di riferimento.

Page 538: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi 9.4 Cambio elettronico (EG)

Preparazione del lavoro538 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

9.4.2 Attivazione del cambio elettronico (EGON, EGONSYN, EGONSYNE)

FunzionePer l'attivazione di un raggruppamento assi EG esistono 3 varianti.

SintassiVariante 1:

Il raggruppamento assi EG viene attivato selettivamente senza sincronizzazione con:EGON(asse slave,"Modo di cambio blocco",asse master1,Z1,N1,asse master2,Z2,N2,...,asse master5,Z5,N5)

Variante 2:

Il raggruppamento assi EG viene attivato selettivamente con sincronizzazione con:EGONSYN(asse slave,"Modo di cambio blocco",SynPos asse slave,[,asse master i,SynPos asse master i,Zi,Ni])

Variante 3:

Il raggruppamento assi EG viene attivato selettivamente con sincronizzazione e il modo di accostamento viene indicato con:EGONSYNE(asse slave,"Modo di cambio blocco",SynPos asse slave,Modo di accostamento[,asse master i,SynPos asse master i,Zi,Ni])

SignificatoVariante 1:

Possono essere programmati solo gli assi master che erano stati precedentemente specificati con EGDEF. Deve essere specificato almeno un asse master.

FA Asse slaveModo di cambio blocco

Si possono utilizzare i seguenti modi di accostamento:"NOC" Il cambio blocco avviene immediatamente"FINE" Il cambio blocco avviene con "Corsa

sincrona precisa""COARSE" Il cambio blocco avviene con "Corsa

sincrona approssimativa""IPOSTOP" Il cambio blocco avviene con la corsa

sincrona in direzione del valore di riferimento

LA1, ... LA5 Assi masterZ1, ... Z5 Numeratore per il fattore di accoppiamento iN1, ... N5 Denominatore per il fattore di accoppiamento i

Fattore di accoppiamento i = numeratore i / denominatore i

Page 539: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi9.4 Cambio elettronico (EG)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 539

Variante 2:

Possono essere programmati solo gli assi master che erano stati precedentemente specificati con EGDEF. Attraverso le "posizioni di sincronismo" programmate per l'asse slave (SynPosFA) e per gli assi master (SynPosLA) vengono definite le posizioni in cui il gruppo di accoppiamento è valido in modo sincrono. Se all'avviamento il cambio elettronico non si trova in stato sincrono, l'asse slave procede verso la posizione di sicnronismo definita.

Variante 3:

I parametri corrispondono a quelli della variante 2 con l'aggiunta di:

La variante 3 ha effetto solo sugli assi modulo slave che sono accoppiati agli assi modulo master. L'ottimizzazione del tempo tiene conto dei limiti di velocità dell'asse slave.

FA Asse slaveModo di cambio blocco Possono essere utilizzati i seguenti modi:

"NOC" Il cambio blocco avviene immediatamente

"FINE" Il cambio blocco avviene con "Corsa sincrona precisa"

"COARSE" Il cambio blocco avviene con "Corsa sincrona approssimativa"

"IPOSTOP" Il cambio blocco avviene con la corsa sincrona in direzione del valore di riferimento

[,asse master i,SynPos asse master i,Zi,Ni]

(Non scrivere le parentesi quadre)min. 1, max. 5 slave di:

asse master1, ... asse master 5 Assi masterSynPosLAi Posizione di sincronismo per l'asse master i.Z1, ... Z5 Numeratore per il fattore di accoppiamento iN1, ... N5 Denominatore per il fattore di accoppiamento i

Fattore di accoppiamento i = Numeratore i/Denominatore i

Modo di accostamento

Possono essere utilizzati i seguenti modi:"NTGT" successivo interspazio tra i denti, ottimizzato nel tempo"NTGP" successivo interspazio tra i denti, ottimizzato nel

percorso"ACN" posizionamento dell’asse rotante in direzione negativa

assoluta"ACP" posizionamento dell’asse rotante in direzione positiva

assoluta"DCT" Ottimizzazione dei tempi in base alla posizione di

sincronismo programmata"DCP" Ottimizzazione del percorso in base alla posizione di

sincronismo programmata

Page 540: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi 9.4 Cambio elettronico (EG)

Preparazione del lavoro540 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Ulteriori informazioniDescrizione delle varianti di attivazione

Variante 1:

Le posizioni degli assi master così come quelle dell’asse slave nell’istante dell’attivazione vengono memorizzate come "Posizioni sincrone". Le “Posizioni sincrone” possono essere lette con la variabile di sistema $AA_EG_SYN.

Variante 2:

Se gli assi modulo sono nel gruppo di accoppiamento, i loro valori di posizione vengono ridotti a modulo. Si garantisce così che venga raggiunta la posizione di sincronismo più vicina possibile (la cosiddetta sincronizzazione relativa: es. il successivo interspazio tra i denti). Se per l'asse slave non è stata data "Abilitazione sovrapposizione asse slave" segnale di interfaccia DB(30 +numero di asse), DBX 26 bit 4, non si attiva la funzione di posizione sincrona. Al contrario, il programma viene arrestato al blocco EGONSYN e viene dato l'allarme a cancellazione automatica 16771, finché non viene impostato il suddetto segnale.

Variante 3:

La distanza fra i denti (gradi) si ricava da: 360 * Zi/Ni. Nel caso in cui l'asse slave al momento del richiamo sia fermo, l'ottimizzazione del percorso influisce in modo analogo all'ottimizzazione del tempo.

Se l'asse slave è già in movimento, con NTGP indipendentemente dalla velocità attuale dell'asse slave, la sincronizzazione avviene nell'interspazio fra i denti successivo. Se l'asse slave è già in movimento, con NTGT in funzione della velocità attuale dell'asse slave, la sincronizzazione avviene nell'interspazio fra i denti successivo. Se necessario l'asse può anche essere frenato.

Tabelle delle curve

Se si utilizza una tabella di curve per l'asse master, allora:

Per indicazioni sull'uso delle tabelle di curve, per il collegamento in cascata dei cambi elettronici e la relativa sincronizzazione, vedere:Bibliografia:Manuale di guida alle funzioni, Funzioni speciali; Accoppiamenti asse e ESR (M3), Capitolo "Trascinamento, accoppiamento al valore master".

Ni il denominatore del fattore di accoppiamento per accoppiamenti lineari deve essere impostato a 0. (Il denominatore 0 sarebbe ammesso per accoppiamento lineari). Un denominatore nullo, per il controllo

Zi deve essere interpretato come numero della tabella di curve da utilizzare. La tabella di curve con il numero impostato deve essere già al momento dell’attivazione.

LAi L'indicazione dell'asse master corrisponde a quella dell'asse master con accoppiamento tramite fattore di accoppiamento (accoppiamento lineare).

Page 541: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi9.4 Cambio elettronico (EG)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 541

Comportamento del cambio elettronico con power on, RESET, cambio del modo operativo, ricerca blocco

• Dopo Power On nessun accoppiamento è attivo.

• Gli accoppiamenti attivi sono mantenuti anche dopo RESET e cambio del modo operativo.

• Nella ricerca blocco i comandi di commutazione, cancellazione, definizione del cambio elettronico non vengono eseguiti né cumulati, ma ignorati.

Variabili di sistema del cambio elettronico

Grazie alle variabili di sistema del cambio elettronico, il partprogram può rilevare gli stati attuali di un raggruppamento assi EG ed eventualmente reagire di conseguenza.

Le variabili di sistema del cambio elettronico sono contrassegnati come di seguito:

$AA_EG_ ...

oppure

$VA_EG_ ...

Bibliografia:Manuale delle variabili di sistema

9.4.3 Disattivazione del cambio elettronico (EGOFS, EGOFC)

FunzionePer la disattivazione di un raggruppamento assi EG attivo esistono 3 varianti.

ProgrammazioneVariante 1:

Variante 2:

Deve essere specificato almeno un asse master. L'influenza degli assi master specificati sull'asse slave viene disattivata in modo mirato. Il richiamo provoca uno stop preelaborazione. Se restano degli assi master ancora attivi, l'asse slave continua a muoversi

Sintassi SignificatoEGOFS(asse slave) Il cambio elettronico viene disattivato. L'asse slave viene

frenato fino all'arresto. Il richiamo provoca uno stop preelaborazione.

Sintassi SignificatoEGOFS(asse slave,asse master1,…,asse master5)

Questa parametrizzazione del comando permette di eliminare selettivamente l'influenza di singoli assi master sul movimento dell'asse slave.

Page 542: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi 9.4 Cambio elettronico (EG)

Preparazione del lavoro542 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

sotto la loro influenza. Una volta disattivati in questo modo tutti gli assi master, l'asse slave viene frenato fino all'arresto.

Variante 3:

9.4.4 Cancellazione della definizione di un cambio elettronico (EGDEL)

FunzioneUn raggruppamento asse EG deve essere disattivato prima che possa essere cancellata la relativa definizione.

Programmazione

9.4.5 Avanzamento del giro (G95) / Cambio elettronico (FPR)

FunzioniCon il comando FPR è possibile indicare anche l'asse slave di un cambio elettronico come asse determinante per l'avanzamento del giro. Per questo caso vale il seguente comportamento:

• l'avanzamento è in funzione della velocità di riferimento dell'asse slave del cambio elettronico.

• la velocità di riferimento viene calcolata a partire dalle velocità dei mandrini master e degli assi master a modulo (che non sono assi di contornatura) e dai fattori di accoppiamento assegnati.

• Le componenti di velocità di assi master lineari o non a modulo e i movimenti sovrapposti dell'asse slave non vengono considerati.

Sintassi SignificatoEGOFC(mandrino slave1)

Il cambio elettronico viene disattivato. Il mandrino slave continua a muoversi al numero di giri/alla velocità attuali al momento della disattivazione. Il richiamo provoca uno stop preelaborazione.

NotaQuesta variante è consentita solo per i mandrini.

Sintassi SignificatoEGDEL (asse slave) La definizione di accoppiamento del raggruppamento asse

viene cancellata. È nuovamente possibile, fino al raggiungimento del numero massimo di raggruppamenti assi attivati contemporaneamente, ridefinire altri raggruppamenti assi con EGDEF. Il richiamo provoca uno stop preelaborazione.

Page 543: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi9.5 Mandrino sincrono

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 543

9.5 Mandrino sincrono

FunzioneNel funzionamento sincrono sono coinvolti un mandrino master (LS) ed un mandrino slave (FS), che formano la cosiddetta coppia di mandrini sincroni. Con accoppiamento attivo (funzionamento sincrono) il mandrino slave segue i movimenti del mandrino master in funzione della relazione definita.

Le coppie di mandrini sincroni possono essere progettate per ogni macchina con l'ausilio di dati macchina specifici per canale oppure definite tramite il partprogram NC. Per ogni canale NC sono gestibili contemporaneamente fino a 2 coppie di mandrini sincroni.

Dal partprogram l'accoppiamento può essere

• definito o modificato

• attivato

• disattivato

• cancellato.

Inoltre a seconda della versione del software è possibile

• attendere la condizione di sincronismo in corso

• modificare il comportamento di cambio blocco

• selezionare il tipo di accoppiamento (del valore di riferimento o del valore attuale) oppure preimpostare la traslazione angolare tra mandrino master e mandrino slave

• applicare una programmazione precedente del mandrino slave al momento dell'attivazione dell'accoppiamento

• correggere uno scostamento della corsa sincrona misurato o già noto.

Page 544: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi 9.5 Mandrino sincrono

Preparazione del lavoro544 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

9.5.1 Mandrino sincrono: Programmazione (COUPDEF, COUPDEL, COUPON,COUPONC, COUPOF, COUPOFS, COUPRES, WAITC)

Funzione La funzione mandrino sincrono consente un movimento sincrono di due mandrini (mandrino slave FS e mandrino master LS), ad es. per il trasferimento al volo del pezzo.

Questa funzione offre le seguenti modalità:

• Sincronismo di velocità (nFS = n LS)

• Sincronismo di posizione (ϕFS = ϕLS)

• Sincronismo di posizione con traslazione angolare (ϕFS = ϕLS+ ∆ ϕ)

Page 545: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi9.5 Mandrino sincrono

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 545

La definizione di un rapporto di trasmissione diverso da 1 tra mandrino master e slave rende possibile anche una lavorazione poligonale (tornitura poligonale).

SintassiCOUPDEF(<FS>,<LS>,<ÜFS>,<ÜLS>,<cambio_blocco>,<tipo_accoppiamento>) COUPON(<FS>,<LS>,<POSFS>)COUPONC(<FS>,<LS>)COUPOF(<FS>,<LS>,<POSFS>,<POSLS>)COUPOFS(<FS>,<LS>)COUPOFS(<FS>,<LS>,<POSFS>)COUPRES(<FS>,<LS>)COUPDEL(<FS>,<LS>)WAITC(<FS>,<cambio_blocco>,<LS>,<cambio_blocco>)

Significato

NotaScrittura abbreviataPer le istruzioni COUPOF, COUPOFS, COUPRES e COUPDEL è possibile una scrittura abbreviata senza indicazione del mandrino master.

COUPDEF: Definizione/modifica, specifica dell'utente, dell'accoppiamentoCOUPON: Attivare l'accoppiamento. A partire dal numero di giri attuale, il

mandrino slave si sincronizza sul mandrino masterCOUPONC: Applicazione dell'accoppiamento all'attivazione con

programmazione precedente di M3 S... o M4 S.... Un numero di giri differenziale del mandrino slave viene applicato immediatamente.

COUPOF: Disattivare l'accoppiamento.• Con cambio di blocco immediato: COUPOF(<S2>,<S1>)

• Cambio blocco solo dopo il superamento di una o più posizioni di disattivazione <POSFS> o <POSLS>: COUPOF(<S2>,<S1>,<POSFS>) COUPOF(<S2>,<S1>,<POSFS>,<POSLS>)

Page 546: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi 9.5 Mandrino sincrono

Preparazione del lavoro546 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

COUPOFS: Disattivazione di un accoppiamento con arresto del mandrino slave.Cambio blocco quanto più rapidamente possibile con cambio blocco immediato:COUPOFS(<S2>,<S1>)

Cambio blocco solo dopo il superamento della posizione di disattivazione:COUPOFS(<S2>,<S1>,<POSFS>)

COUPRES: Ripristino dei parametri di accoppiamento ai dati macchina e ai dati setting progettati

COUPDEL: Cancellare l'accoppiamento definito dall'utenteWAITC: Attesa della condizione di sincronismo

(i NOC vengono rimossi su IPO in caso di cambio blocco)<FS>: Definizione del mandrino slave

Parametri opzionali:<LS>: Definizione del mandrino master

Indicazione con numero di mandrino: ad es. S2, S1<ÜFS>, <ÜLS>: Rapporto di trasmissione tra FS e LS

<ÜFS> = numeratore, <ÜLS> = denominatorePreimpostazione: <ÜFS> / <ÜLS> = 1.0 ; definizione del denominatore opzionale

<cambio_blocco>: Comportamento al cambio bloccoIl cambio blocco avviene:"NOC" Immediatamente"FINE" Al raggiungimento di "sincronismo fine" "COARSE" Al raggiungimento di "sincronismo

grossolano" "IPOSTOP" Al raggiungimento di IPOSTOP, cioè dopo il

movimento sincrono del riferimento (preimpostazione)

Il comportamento al cambio blocco ha validità modale.<tipo_accoppiam

ento>:Tipo di accoppiamento: accoppiamento tra FS (slave) ed LS (master) "DV" Accoppiamento tramite riferimento

(preimpostazione) "AV" Accoppiamento al valore reale "VV" Accoppiamento di velocità Il tipo di accoppiamento ha validità modale.

<POSFS>: Traslazione angolare tra mandrino master e mandrino slaveCampo dei valori: 0°… 359,999°

<POSFS>,<POSLS>: Posizioni di disattivazione di mandrino slave e master"Il cambio blocco viene abilitato dopo il superamento di POSFS, POSLS"

Campo dei valori: 0°… 359,999°

Page 547: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi9.5 Mandrino sincrono

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 547

EsempiEsempio 1: Lavorazione con mandrino master e mandrino slave

Esempio 2: programmazione di un numero di giri differenziale

Programmazione Commento

; Mandrino pilota = mandrino master = mandrino 1

; Mandrino slave = mandrino 2

N05 M3 S3000 M2=4 S2=500 ; Il mandrino master gira a 3000 giri/min,il mandrino slave a 500 giri/min

N10 COUPDEF(S2,S1,1,1,"NOC","Dv") ; Definizione dell'accoppiamento (può anche essere progettata).

...

N70 SPCON ; Acquisizione del mandrino master nella regolazione di posizione (accopp. valore di riferimento).

N75 SPCON(2) ; Acquisizione del mandrino slave nella regolazione di posizione.

N80 COUPON(S2,S1,45) ; Accoppiamento al volo su posizione di offset = 45 gradi.

...

N200 FA[S2]=100 ; Velocità di posizionamento = 100 gradi/min

N205 SPOS[2]=IC(-90) ; Spostamento di 90 gradi sovrapposto in direzione negativa.

N210 WAITC(S2,"Fine") ; Attesa del movimento sincrono "fine".

N212 G1 X... Y... F... ; Lavorazione

...

N215 SPOS[2]=IC(180) ; Spostamento di 180 gradi sovrapposto in direzione positiva.

N220 G4 S50 ; Tempo di attesa = 50 giri del mandrino master

N225 FA[S2]=0 ; Attivazione della velocità progettata (MD).

N230 SPOS[2]=IC(-7200) ; 20 rotazioni. Spostamento a velocità progettata in direzione negativa.

...

N350 COUPOF(S2,S1) ; Disaccoppiamento al volo, S=S2=3000

N355 SPOSA[2]=0 ; Arresto mandrino slave a zero gradi.

N360 G0 X0 Y0

N365 WAITS(2) ; Attesa del mandrino 2.

N370 M5 ; Arresto mandrino slave.

N375 M30

Programmazione Commento

; Mandrino pilota = mandrino master = mandrino 1

; Mandrino slave = mandrino 2

N01 M3 S500 ; Il mandrino master gira a 500 giri/min.

N02 M2=3 S2=300 ; Il mandrino slave gira a 300 giri/min.

...

N10 G4 F1 ; Tempo di sosta del mandrino master.

N15 COUPDEF (S2,S1,-1) ; Fattore di accoppiamento con rapporto di trasmissione -1:1

N20 COUPON (S2,S1) ; Attivazione accoppiamento. Il numero di giri del mandrino slave si ricava dal numero di giri del mandrino master e dal fattore di accoppiamento.

Page 548: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi 9.5 Mandrino sincrono

Preparazione del lavoro548 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio 3: Esempi di applicazione di un movimento per il numero di giri differenziale

1. Attivazione dell'accoppiamento in caso di programmazione precedente del mandrino slave con COUPON

2. Attivazione dell'accoppiamento in caso di programmazione precedente del mandrino slave con COUPONC

3. Attivazione dell'accoppiamento in caso di mandrino slave fermo con COUPON

4. Attivazione dell'accoppiamento in caso di mandrino slave fermo con COUPONC

...

N26 M2=3 S2=100 ; Programmazione di un numero di giri differenziale.

Programmazione Commento

Programmazione Commento

; Mandrino pilota = mandrino master = mandrino 1

; Mandrino slave = mandrino 2

N05 M3 S100 M2=3 S2=200 ; Il mandrino master gira a 100 giri/min, il mandrino slave a 200 giri/min.

N10 G4 F5 ; Tempo di attesa = 5 secondi del mandrino master

N15 COUPDEF(S2,S1,1) ; Il rapporto di trasmissione del mandrino slave con il mandrino master è 1,0 (preimpostazione).

N20 COUPON(S2,S1) ; Accoppiamento al volo su mandrino master.

N10 G4 F5 ; Il mandrino slave gira a 100 giri/min.

Programmazione Commento

; Mandrino pilota = mandrino master = mandrino 1

; Mandrino slave = mandrino 2

N05 M3 S100 M2=3 S2=200 ; Il mandrino master gira a 100 giri/min, il mandrino slave a 200 giri/min.

N10 G4 F5 ; Tempo di attesa = 5 secondi del mandrino master

N15 COUPDEF(S2,S1,1) ; Il rapporto di trasmissione del mandrino slave con il mandrino master è 1,0 (preimpostazione).

N20 COUPONC(S2,S1) ; Accoppiamento al volo su mandrino master e applicazione a S2 del numero di giri precedente.

N10 G4 F5 ; S2 gira a 100 giri/min + 200 giri/min = 300 giri/min

Programmazione Commento

; Mandrino pilota = mandrino master = mandrino 1

; Mandrino slave = mandrino 2

N05 SPOS=10 SPOS[2]=20 ; Mandrino slave S2 in modo di posizionamento.

N15 COUPDEF(S2,S1,1) ; Il rapporto di trasmissione del mandrino slave con il mandrino master è 1,0 (preimpostazione).

N20 COUPON(S2,S1) ; Accoppiamento al volo su mandrino master.

N10 G4 F1 ; L'accoppiamento viene concluso, S2 resta su 20 gradi.

Page 549: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi9.5 Mandrino sincrono

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 549

Ulteriori informazioniDefinizione della coppia di mandrini sincroni

Accoppiamento progettato:

Nell'accoppiamento programmato il mandrino master e il mandrino slave vengono definiti tramite dato macchina. I mandrini progettati non possono essere modificati nel programma pezzo. La parametrizzazione dell'accoppiamento può avvenire nel partprogram con COUPDEF (presupposto: nessuna protezione alla scrittura impostata).

Accoppiamento definito dall'utente:

Con COUPDEF è possibile ridefinire o modificare un accoppiamento nel partprogram. Se è già attivo un accoppiamento, questo deve essere prima annullato con COUPDEL prima della definizione di un nuovo accoppiamento.

Definizione di un accoppiamento: COUPDEF

Un accoppiamento viene definito in modo completo con:COUPDEF(<FS>,<LS>,<ÜFS>,<ÜLS>, comportamento cambio blocco, tipo di accoppiamento)

Mandrino slave (FS) e mandrino master (LS)

Con i nomi assi per il mandrino slave (FS) e il mandrino master (LS) l'accoppiamento viene determinato in modo univoco. I nomi assi devono essere programmati con ogni istruzione COUPDEF. Gli altri parametri di accoppiamento hanno effetto modale e devono essere programmati solo se vengono modificati.

Esempio:COUPDEF(S2,S1)

NotaFunzionamento di posizionamento o funzionamento assiSe prima dell'accoppiamento il mandrino slave si trova nel funzionamento di posizionamento o nel funzionamento assi, il mandrino slave si comporta allo stesso modo con COUPON(<FS>,<LS>) e COUPONC(<FS>,<LS>).

ATTENZIONEMandrino master e funzionamento asseSe il madrino master si trova prima della definizione dell'accoppiamento in funzionamento asse, anche dopo l'inserzione dell'accoppiamento è attivo il valore limite di velocità dal dato macchina:

MD32000 $MA_MAX_AX_VELO (max. velocità dell'asse)

Per evitare questo comportamento, prima della definizione dell'accoppiamento l'asse deve essere commutato nel modo di funzionamento mandrino (M3 S... o M4 S...).

Page 550: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi 9.5 Mandrino sincrono

Preparazione del lavoro550 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Rapporto di trasmissione ÜFS / ÜLS

Il rapporto di trasmissione viene indicato come rapporto del numero di giri tra mandrino slave (numeratore) e mandrino master (denominatore). Il numeratore deve essere programmato. Se non è programmato un denominatore, questo viene impostato = 1.0.

Esempio:

Mandrino slave S2 e mandrino master S1, rapporto di trasmissione = 1 / 4 = 0.25.COUPDEF(S2,S1,1.0, 4.0)

Comportamento di cambio blocco NOC, FINE, COARSE, IPOSTOP

Nella programmazione del comportamento di cambio blocco è possibile la seguente notazione abbreviata:

• "NO": immediatamente (impostazione predefinita)

• "FI": Al raggiungimento di "sincronismo fine"

• "CO": Al raggiungimento di "sincronismo grossolano"

• "IP": al raggiungimento di IPOSTOP, ovvero dopo il sincronismo del riferimento

Tipo di accoppiamento DV, AV

NotaIl rapporto di trasmissione può anche essere modificato ad accoppiamento inserito e con mandrini rotanti.

CAUTELA

Il tipo di accoppiamento può essere variato solo ad accoppiamento disinserito!

Page 551: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi9.5 Mandrino sincrono

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 551

Attivazione del sincronismo COUPON, POSFS

• Attivazione dell'accoppiamento con qualsiasi riferimento angolare tra LS e FS: - COUPON(S2,S1)

- COUPON(S2,S1,<POSFS>)

- COUPON(S2)

• Attivazione dell'accoppiamento con traslazione angolare <POSFS>

Per accoppiamenti sincroni alla posizione con pezzi profilati. <POSFS> si riferisce alla posizione 0° del mandrino master in direzione di rotazione positiva campo di valori <POSFS>: 0°… 359,999°- COUPON(S2,S1,30)

In questo modo la traslazione angolare può essere modificata anche quando l'accoppiamento è già attivo.

Posizionamento del mandrino slave

Quando l'accoppiamento dei mandrini sincroni è attivo, è possibile posizionare i mandrini slave nel campo ±180° anche indipendentemente dal movimento dei mandrini master.

Posizionamento SPOS

Il mandrino slave può essere interpolato con SPOS=....

Esempio:SPOS[2]=IC(-90)

Per maggiori informazioni su SPOS consultare:Bibliografia:Manuale di programmazione, Nozioni di base

Numero di giri differenza differenziale M3 S... o M4 S...

Un numero di giri differenziale è dato dalla sovrapposizione con segno di due sorgenti del numero di giri e viene riprogrammato per il mandrino slave ad es. con S<n>=... o M<n>=3, M<n>=4 nel funzionamento di comando del numero di giri durante un accoppiamento attivo del mandrino sincrono. Questa componente del numero di giri viene ricavata dal mandrino master tramite il fattore di accoppiamento e il mandrino slave viene aggiunto con il segno corretto.

NotaCon la direzione di rotazione M3 o M4 occorre riprogrammare anche il numero di giri S..., altrimenti la mancata programmazione viene segnalata con un allarme.

Per ulteriori informazioni sul numero di giri differenziale, consultare:Bibliografia:Manuale delle funzioni di ampliamento; Mandrino sincrono (S3)

Page 552: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi 9.5 Mandrino sincrono

Preparazione del lavoro552 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Numero di giri differenziale per COUPONC

Applicazione di un movimento al numero di giri differenziale

Tramite l'attivazione di un accoppiamento sincrono mandrini con COUPONC il numero di giri attualmente attivo del mandrino slave ( M3 S... o M4 S...) viene sovrapposto.

Limitazione della dinamica del mandrino master

La dinamica del mandrino master deve essere limitata in modo tale che in caso di sovrapposizione del mandrino slave i valori limite della dinamica non vengano superati.

Velocità, accelerazione: FA, ACC, OVRA, VELOLIMA

La velocità assiale e l'accelerazione di un mandrino slave possono essere programmate con:

• FA[SPI(S<n>)] o FA[S<n>] (velocità assiale)

• ACC[SPI(S<n>)] o ACC[S<n>] (accelerazione assiale)

• OVRA[SPI(S<n>)] o OVRA[S<n>] (override assiale)

• VELOLIMA[SPI(S<n>)] o VELOLIMA[S<n>] (incremento o riduzione della velocità assiale)

Con <n> = 1, 2, 3, ... (numero mandrino dei mandrini slave)

Bibliografia:Manuale di programmazione, Nozioni di base

NotaAbilitazione della sovrapposizioneUna sovrapposizione di un numero di giri mandrino ( M3 S... o M4 S...) tramite accoppiamento sincrono mandrini COUPONC diventa attiva solo se la sovrapposizione è abilitata.

NotaComponente di accelerazione JERKLIMA[S<n>]La programmazione di un superamento o di una riduzione velocità assiale non è attualmente attiva per i mandrini.

Per maggiori informazioni sulla progettazione della dinamica assiale consultare:Bibliografia:Manuale di guida alle funzioni, Funzioni di ampliamento; Assi rotanti (R2)

Page 553: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi9.5 Mandrino sincrono

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 553

Comportamento cambio blocco programmabile WAITC

Con WAITC è possibile impostare il comportamento del cambio blocco, ad es. dopo la modifica di parametri di accoppiamento o di processi di posizionamento, con diverse condizioni di sincronismo (grossolano, fine, IPOSTOP). Se non sono specificate condizioni di sincronismo, vale il comportamento di cambio blocco indicato nella definizione COUPDEF.

Esempio:

Attesa del raggiungimento della condizione di sincronismo secondo quanto specificato in COUPDEF

WAITC( )

Attesa del raggiungimento della condizione di sincronismo FINE per il mandrino slave S2 e COARSE per il mandrino slave S4:

WAITC(S2,"FINE",S4,"COARSE")

Disattivazione accoppiamento COUPOF

Con COUPOF è possibile impostare il comportamento di disattivazione dell'accoppiamento:

• Disattivazione dell'accoppiamento con cambio blocco immediato:

- COUPOF(S2,S1) (con indicazione del mandrino master)- COUPOF(S2) (senza indicazione del mandrino master)

• Disattivazione dell'accoppiamento dopo il superamento delle posizioni di disattivazione. Il cambio di blocco avviene dopo il superamento delle posizioni di disattivazione.

- COUPOF(S2,S1,150) (posizione di disattivazione FS: 150°)- COUPOF(S2,S1,150,30) (posizione di disattivazione FS: 150°, LS: 30°)

Disattivazione dell'accoppiamento con arresto del mandrino slave COUPOFS

Con COUPOFS è possibile impostare il comportamento di disattivazione dell'accoppiamento con arresto del mandrino slave:

• Disattivazione dell'accoppiamento con arresto del mandrino slave e cambio di blocco immediato:

- COUPOFS(S2,S1) (con indicazione del mandrino master)- COUPOFS(S2) (senza indicazione del mandrino master)

• Disattivazione dell'accoppiamento dopo il superamento delle posizioni di disattivazione con arresto del mandrino slave. Il cambio di blocco avviene dopo il superamento delle posizioni di disattivazione.

- COUPOFS(S2,S1,150) (posizione di disattivazione FS: 150°)

Cancellazione accoppiamenti COUPDEL

Con COUPDEL l'accoppiamento viene cancellato:

• COUPDEL(S2,S1) (con indicazione del mandrino master)

• COUPDEL(S2) (senza indicazione del mandrino master)

Page 554: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi 9.5 Mandrino sincrono

Preparazione del lavoro554 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Parametri di accoppiamento COUPRES

Con COUPRES vengono attivati i valori dell'accoppiamento parametrizzati nei dati macchina e nei dati di setting:

• COUPRES(S2,S1) (con indicazione del mandrino master)

• COUPRES(S2) (senza indicazione del mandrino master)

Variabili di sistema

Stato di accoppiamento attuale del mandrino slave

Lo stato di accoppiamento attuale di un mandrino slave si può leggere tramite la seguente variabile di sistema: $AA_COUP_ACT[<FS>]

Attuale traslazione angolare

L'offset angolare attuale di un mandrino slave rispetto al mandrino master si può leggere tramite la seguente variabile di sistema:

• $AA_COUP_OFFS[<FS>] (offset angolare sul lato del valore di riferimento)

• $VA_COUP_OFFS[<FS>] (offset angolare sul lato del valore reale)

Valore Significato0 nessun accoppiamento attivo4 accoppiamento tra mandrini sincroni attivoNota Gli altri valori della variabile di sistema si riferiscono al funzionamento come asseBibliografia:Libretto di descrizione parametri, Variabili di sistema

NotaSe in seguito ad una disattivazione con accoppiamento inserito e funzionamento a seguire, il regolatore viene ripristinato, l'offset di posizione non corrisponde più a quello programmato in origine. In questo caso è possibile leggere il valore di offset di posizione modificato e, se necessario, correggere il partprogram.

Page 555: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi9.6 Raggruppamento master-/slave (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 555

9.6 Raggruppamento master-/slave (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS)

Funzioni Prima della versione di SW 6.4 con l'accoppiamento Master/Slave si potevano accoppiare gli assi slave al relativo asse Master solo quando questi assi erano fermi.

L'ampliamento della versione di SW 6.5 consente l'accoppiamento e la separazione di mandrini in rotazione, comandati in velocità, e la progettazione dinamica.

Sintassi

SignificatoGeneralità

Ampliamento della progettazione dinamica

MASLON(Slv1,Slv2,..., )

MASLOF(Slv1,Slv2,..., )

MASLDEF(Slv1,Slv2,..., asse master) Ampliamento della progettazione dinamica

MASLDEL(Slv1,Slv2,..., ) Estensione per la progettazione dinamica

MASLOFS(Slv1, Slv2, ..., ) Estensione per il mandrino slave

NotaCon le istruzioni MASLOF/MASLOFS lo stop preelaborazione implicito non è più necessario. In mancanza dello stop preelaborazione le variabili di sistema $P per gli assi slave, fino a quando non avviene una nuova programmazione, non presentano valori aggiornati.

MASLON Attivazione di un accoppiamento temporaneo.MASLOF Interruzione di un accoppiamento attivo. Per i mandrini occorre

osservare gli ampliamenti.

MASLDEF Definizione/variazione dell'accoppiamento definito dall'utente tramite dati macchina oppure dal partprogram.

MASLOFS Interruzione dell'accoppiamento analoga a MASLOF e frenatura automatica del mandrino slave.

MASLDEL Interruzione di un raggruppamento asse master/slave e cancellazione della definizione del raggruppamento.

Slv1, Slv2, ... Assi slave che sono gestiti da un asse Master.Asse Master Asse che guida determinati assi slave in un raggruppamento

master/slave.

Page 556: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi 9.6 Raggruppamento master-/slave (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS)

Preparazione del lavoro556 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

EsempiEsempio 1: Progettazione dinamica di un accoppiamento master/slave

Progettazione dinamica di un accoppiamento master/slave da partprogram:

L'asse principale dopo una rotazione del container assi deve diventare un asse master.

EsempiEsempio 2: Accoppiamento al valore reale di un asse slave

Accoppiamento al valore reale di un asse slave sullo stesso valore dell'asse master attraverso PRESETON.

Con un accoppiamento master/slave permanente il valore reale deve essere modificato sull'asse SLAVE attraverso PRESETON.

Codice di programma Commento

MASLDEF(AUX,S3) ; Master S3 per AUX

MASLON(AUX) ; Accoppiamento On per AUX

M3=3 S3=4000 ; Senso di rotazione destrorso

MASLDEL(AUX) ; Cancellazione della progettazione e interruzione dell'accoppiamento

AXCTSWE(CT1) ; Rotazione del container

Codice di programma Commento

N37262 $MA_MS_COUPLING_ALWAYS_ACTIVE[AX2]=0 ; Disattivazione breve dell'accoppiamento permanente.

N37263 NEWCONF

N37264 STOPRE

MASLOF(Y1) ; Disaccoppiamento temporaneo.

N5 PRESETON(Y1,0,Z1,0,B1,0,C1,0,U1,0) ; Impostazione del valore reale degli assi slave non azzerati, dato che questi vengono attivati con Power On.

N37262 $MA_MS_COUPLING_ALWAYS_ACTIVE[AX2]=1 ; Attivazione dell'accoppiamento permanente.

N37263 NEWCONF

Page 557: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi9.6 Raggruppamento master-/slave (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 557

Esempio 3: Sequenza di accoppiamento Posizione 3/Container CT1

Per poter chiudere l'accoppiamento dopo la rotazione container con un altro mandrino si dovrà interrompere per prima cosa l'accoppiamento precedente, cancellare la progettazione e progettare il nuovo accoppiamento.

Situazione iniziale:

Dopo la rotazione di uno slot:

Bibliografia:

Manuale di guida alle funzioni, Funzioni di ampliamento; Vari pannelli operativi e NCU (B3), Capitolo: "Container assi"

Page 558: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Accoppiamenti assi 9.6 Raggruppamento master-/slave (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS)

Preparazione del lavoro558 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Ulteriori informazioniInformazioni generali

Estensione della progettazione dinamica

Comportamento di accoppiamento con i mandrini

Con i mandrini nella modalità di funzionamento con comando del numero di giri, il comportamento di accoppiamento di MASLON, MASLOF, MASLOFS e MASLDEL viene stabilito esplicitamente attraverso il dato macchina MD37263 $MA_MS_SPIND_COUPLING_MODE.

Nell'impostazione standard con MD37263 = 0 l'accoppiamento e l'interruzione degli assi slave avvengono esclusivamente nello stato di arresto degli assi interessati. MASLOFS corrisponde a MASLOF.

Con MD37263 = 1 l'istruzione di accoppiamento viene eseguita immediatamente e di conseguenza anche in movimento. L'accoppiamento viene immediatamente disattivato con MASLON e immediatamente interrotto con MASLOFS o MASLOF. I mandrini slave in rotazione fino a questo momento vengono automaticamente frenati con MASLOFS e mantengono con MASLOF i loro numeri di giri fino alla nuova programmazione del numero di giri.

MASLOF Con i mandrini nella modalità di funzionamento con comando del numero di giri questa istruzione viene eseguita in modo immediato. I mandrini slave in rotazione fino a questo momento mantengono il loro numero di giri fino alla nuova programmazione del numero di giri.

MASLDEF Definizione di un raggruppamento master/slave dal partprogram. Precedentemente la definizione veniva eseguita esclusivamente attraverso i dati macchina.

MASLDEL L'istruzione annulla l'assegnazione degli assi slave all'asse master e interrompe contemporaneamente, analogamente a MASLOF, l'accoppiamento.Le definizioni master/slave stabilite nei dati macchina continuano ad essere mantenute.

MASLOFS MASLOFS può essere dunque utilizzato per frenare automaticamente i mandrini slave in caso di interruzione dell'accoppiamento.Con gli assi e i mandrini nel funzionamento di posizionamento, l'accoppiamento viene terminato e interrotto solo in stato di arresto.

NotaPer l'asse slave, il valore reale può essere sincronizzato attraverso PRESETON sullo stesso valore dell'asse master. A questo scopo l'accoppiamento durevole master/slave deve essere disattivato brevemente per impostare il valore reale dell'asse slave non azzerato con Power On sul valore dell'asse master. Successivamente viene nuovamente creato l'accoppiamento durevole.

L'accoppiamento durevole slave/master viene attivato con l'impostazione del dato macchina MD37262 $MA_MS_COUPLING_ALWAYS_ACTIVE = 1 e non ha alcun effetto sui comandi di linguaggio dell'accoppiamento temporaneo.

Page 559: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Preparazione del lavoroManuale di programmazione 02/2011, 6FC5398-2BP40-1CA0 559

10Azioni sincrone al movimento

10.1 Nozioni di base

FunzioniLe azioni sincrone offrono la possibilità di eseguire azioni in modo sincrono rispetto ai blocchi di lavorazione.

Il momento di esecuzione delle azioni può essere definito tramite condizioni. Le condizioni vengono sorvegliate nel clock di interpolazione. Le azioni costituiscono quindi una reazione ad eventi in tempo reale, la loro esecuzione non è vincolata a limiti di blocco.

Un'azione sincrona contiene inoltre indicazioni sulla sua durata e sulla frequenza di interrogazione delle variabili di esecuzione programmate, quindi anche alla frequenza di esecuzione delle azioni da avviare. Un'azione sincrona può essere attivata una sola volta oppure ciclicamente (sempre in un clock di interpolazione).

Possibili applicazioni

• Ottimizzazione delle applicazioni critiche a livello di tempi di esecuzione (ad es. cambio utensile)

• Reazione rapida ad eventi esterni

• Programmazione di regolazioni AC

• Generazione di funzioni di sicurezza

• ....

Page 560: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.1 Nozioni di base

Preparazione del lavoro560 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

ProgrammazioneUn'azione sincrona si trova solo in un blocco e ha effetto a partire dal successivo blocco eseguibile di una funzione macchina (ad es., movimento di avanzamento con G0, G1, G2, G3).

Le azioni sincrone consistono in un massimo di 5 elementi di comando con diversi compiti:

Sintassi:DO <Azione1> <Azione2> …<PAROLA CHIAVE> <Condizione> DO <Azione1> <Azione2> …ID=<n> <PAROLA CHIAVE> <Condizione> DO <Azione1> <Azione2> …IDS=<n> <PAROLA CHIAVE> <Condizione> DO <Azione1> <Azione2> …

Significato:

DO Istruzione per l'attivazione dell'azione/delle azioni programmata/eVale solo a <Condizione> soddisfatta (fino a quando è programmata).→ Vedere " Azioni "

<Azione1><Azione2>…

Azione/i da avviareEsempi:• Assegnazione della variabile• Avvio del ciclo tecnologico

<PAROLA CHIAVE> Attraverso la parola chiave (WHEN, WHENEVER, FROM o EVERY) viene definita la verifica ciclica della <Condizione> di un'azione sincrona.→ Vedere " Verifica ciclica della condizione "

<Condizione> Logica dei collegamenti per le variabili di esecuzioneLa condizione viene provata nel clock IPO.

ID=<n>

oIDS=<n>

Numero identificativoCon il numero identificativo vengono stabiliti il campo di validità e la posizione all'interno della sequenza di lavorazione.→ Vedere " Campo di validità e sequenza di lavorazione "

Page 561: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.1 Nozioni di base

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 561

Coordinamento di azioni sincrone/cicli tecnologici

Per il coordinamento di azioni sincrone/cicli tecnologici sono disponibili i seguenti comandi:

Esempio

10.1.1 Campo di validità e sequenza di lavorazione (ID, IDS)

FunzioniCampo di validità

Il campo di validità di un'azione sincrona viene stabilito attraverso ID di riconoscimento o IDS:

Applicazioni

• Rettifica AC nel funzionamento JOG

• Logica combinatoria per Safety Integrated

• Funzioni di sorveglianza, reazioni agli stati di macchina in tutti i modi operativi

Comando SignificatoCANCEL(<n>) Cancellazione delle azioni sincrone

→ Vedere " Cancellazione dell'azione sincrona "LOCK(<n>) Blocco delle azioni sincroneUNLOCK(<n>) Abilitazione delle azioni sincroneRESET Reset del ciclo tecnologico

Relativamente a LOCK, UNLOCK e RESET:→  vedere " Blocco, sblocco, reset "

Codice di programma Commento

WHEN $AA_IW[Q1]>5 DO M172 H510 ; Se il valore reale dell'asse Q1 supera i 5 mm, vengono inviate all'interconnessione PLC le funzioni ausiliarie M172 e H510.

ID non modale: Azione sincrona con effetto blocco a blocco nel funzionamento automatico

ID: Azione sincrona modale in funzionamento automatico fino alla fine del programma

IDS: Azione sincrona statica, con validità modale in ogni modo operativo, anche attraverso la fine del programma

Page 562: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.1 Nozioni di base

Preparazione del lavoro562 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Sequenza operativa

Le azioni sincrone con validità modale e statica vengono elaborate in sequenza in base al loro numero ID o IDS (ID=<n> o IDS=<n>) nel clock di interpolazione.

Le azioni sincrone attive blocco per blocco (senza numero ID) vengono eseguite dopo l'esecuzione delle azioni sincrone modali, secondo l'ordine in cui sono state programmate.

Programmazione

NotaTramite le impostazioni dei dati macchina è possibile proteggere le azioni sincrone modali dalle modifiche o cancellazioni ( → Costruttore della macchina!).

Sintassi SignificatoID non modale L'azione sincrona è attiva solo nel funzionamento automatico. Vale

soltanto per il blocco successivo eseguibile (blocco con istruzioni di movimento o altra azione di macchina), è quindi attiva blocco-blocco.Esempio:WHEN $A_IN[3]==TRUE DO $A_OUTA[4]=10

ID=<n> ... L'azione sincrona agisce nei blocchi successivi in modo modale e può essere disattivata con CANCEL(<n>) oppure sovrascritta programmando una nuova azione sincrona con lo stesso ID.Le azioni sincrone attive nel blocco M30 ritardano la fine del programma.Le azioni sincrone ID sono attive solo nel funzionamento automatico.Campo di valori per <n>: 1 ... 255Esempio:ID=2 EVERY $A_IN[1]==1 DO POS[X]=0

IDS=<n> Le azioni sincrone statiche agiscono in modo modale in tutti i modi operativi. Restano attive anche dopo la fine del programma e possono essere attivate subito dopo il Power On con un ASUP. In questo modo è possibile attivare azioni che devono essere eseguite indipendentemente dal modo operativo selezionato nell'NC.Campo di valori per <n>: 1 ... 255Esempio:IDS=1 EVERY $A_IN[1]==1 DO POS[X]=100

Page 563: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.1 Nozioni di base

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 563

10.1.2 Verifica ciclica della condizione (WHEN, WHENEVER, FROM, EVERY)

FunzioniTramite una parola chiave viene definita la verifica ciclica della condizione di un'azione sincrona. Se non è programmata una parola chiave, ciascuna azione sincrona viene eseguita in un clock IPO.

Parole chiavi

Variabili di esecuzioneLe variabili impiegate vengono valutate nel clock di interpolazione. Le variabili di esecuzione nelle azioni sincrone non attivano gli stop preelaborazione.

Analisi:

Se un partprogram contiene delle variabili di esecuzione (ad es. un valore attuale, la posizione di un ingresso o di un'uscita digitali, ecc.), la preelaborazione viene arrestata fino a quando il blocco precedente è stato eseguito e sono stati emessi i valori delle variabili di esecuzione.

Nessuna parola chiave L'esecuzione dell'azione non è legata a nessuna condizione. L'azione viene eseguita ciclicamente in ogni clock di interpolazione.

WHEN La condizione viene interrogata ad ogni clock di interpolazione fino a quando non risulta soddisfatta, la relativa azione viene eseguita una sola volta.

WHENEVER La condizione viene verificata ciclicamente in ogni clock dell'interpolatore. Fintanto che la condizione risulta soddisfatta anche la relativa azione viene eseguita in ogni clock di interpolazione.

FROM La condizione viene verificata in ogni clock di interpolazione, fino a quando non risulta soddisfatta una volta. A partire da questo momento l'azione viene eseguita fintanto che è attiva l'azione sincrona, cioè anche nel caso in cui la condizione non risulti più soddisfatta.

EVERY La condizione viene interrogata in ogni clock di interpolazione. L'azione viene eseguita una volta quando è soddisfatta la condizione.Gestita su fronte:l'azione viene rieseguita quando la condizione passa da FALSE a TRUE.

Page 564: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.1 Nozioni di base

Preparazione del lavoro564 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

EsempiEsempio 1: Nessuna parola chiave

Esempio 2: WHENEVER

Esempio 3: EVERY

Ulteriori informazioniCondizione

La condizione rappresenta un'espressione logica formulabile liberamente mediante operatori booleani. Le espressioni booleane devono essere sempre scritte tra parentesi.

La condizione viene verificata in ogni clock di interpolazione.

Prima della condizione è possibile indicare un codice G. In questo modo è possibile ottenere che esistano delle impostazioni per la valorizzazione della condizione e l'azione/il ciclo tecnologico da eseguire indipendentemente dallo stato del partprogram attivo. Il disaccoppiamento, delle azioni sincrone dall'ambiente di programma, è necessario poiché le azioni sincrone devono eseguire le loro azioni in una condizione base definita in determinati momenti, quando sono soddisfatte le condizioni di attivazione.

Casi di impiego

Definizione dei sistemi di misura per la valutazione delle condizioni e l'azione mediante i codici G G70, G71, G700, G710.

Un codice G indicato per la condizione vale per la valutazione della condizione e per l'azione, se per quest'ultima non è indicato alcun codice G proprio.

Per ogni parte della condizione può essere programmato solo un codice G del gruppo di codici G.

Codice di programma Commento

DO $A_OUTA[1]=$AA_IN[X] ; Emissione del valore reale sull'uscita analogica.

Codice di programma Commento

WHENEVER $AA_IM[X] > 10.5*SIN(45) DO … ; Confronto con l'espressione calcolata nella preelaborazione.

WHENEVER $AA_IM[X] > $AA_IM[X1] DO … ; Confronto con un'altra variabile di esecuzione.

WHENEVER ($A_IN[1]==1) OR ($A_IN[3]==0) DO ... ; Due confronti concatenati fra loro.

Codice di programma Commento

ID=1 EVERY $AA_IM[B]>75 DO POS[U]=IC(10) FA[U]=900 ; Ogni volta che il valore reale dell'asse B del sistema di coordinate macchina supera il valore 75, l'asse U deve progredire con un avanzamento assiale pari a 10.

Page 565: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.1 Nozioni di base

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 565

Possibili condizioni

• Confronto tra variabili di esecuzione (ingressi/uscite analogici/digitali, ecc.)

• Collegamento booleano fra risultati di un confronto

• Calcolo di valori in tempo reale

• Tempo/distanza dall'inizio blocco

• Distanza dalla fine blocco

• Valori di misura, risultati di misura

• Valori servo

• Velocità, stato degli assi

10.1.3 Azioni (DO)

Funzioni Nelle azioni sincrone è possibile programmare una o più azioni. Tutte le azioni programmate in un blocco si attivano nello stesso clock di interpolazione.

SintassiDO <Azione1> <Azione2> ...

Significato

I codici G possono essere programmati in azioni sincrone per le azioni/cicli tecnologici. Per tutte le azioni nel blocco e i cicli tecnologici questo codice G indica eventualmente un codice G diverso da quello impostato per la condizione. Se i cicli tecnologici sono nella parte di azione, il codice G continua ad avere validità modale, anche una volta terminato il ciclo tecnologico, per tutte le azioni seguenti fino al successivo codice G.

Per ogni parte di azione può essere programmato un solo un codice G del gruppo di codici G (G70, G71, G700, G710).

Esempio: Azione sincrona con due azioni

DO Quando la condizione è soddisfatta viene eseguita l'azione o un ciclo tecnologico.

<Azione> Azione avviata quando la condizione è soddisfatta, ad es. assegnazione della variabile, attivazione dell'accoppiamento asse, impostazione delle uscite NCK, emissione delle funzioni M, S e H, preimpostazione del codice G programmato, ...

Codice di programma Commento

WHEN $AA_IM[Y]>=35.7 DO M135 $AC_PARAM=50 ; Se la condizione viene soddisfatta, M135 viene emessa al PLC e l'override viene settato al 50%.

Page 566: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.2 Operatori per condizioni e azioni

Preparazione del lavoro566 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

10.2 Operatori per condizioni e azioni

Esempio• Operazioni di base

Vale il calcolo „punto prima del trattino“, le espressioni in parentesi sono consentite. Gli operatori DIV e MOD sono ammessi anche per dati del tipo REAL

• Funzioni matematiche

Confronti (==, <>, <, >, <=, >=)

Nell'ambito delle condizioni è possibile confrontare variabili o espressioni parziali. Il risultato è sempre del tipo BOOL. Sono ammessi tutti gli operatori di confronto noti.?

operatori booleani (NOT, AND, OR, XOR)

Variabili, costanti oppure confronti possono essere collegati tra di loro con i già noti operatori booleani.

Operatori a bit (B_NOT, B_AND, B_OR, B_XOR)

?Sono possibili gli operatori a bit B_NOT, B_AND, B_OR, B_XOR.

Operazioni di base (+, -, *, /, DIV, MOD)

Le variabili di esecuzione possono essere collegate, tramite operazioni matematiche, tra di loro o con costanti.

Funzioni matematiche (SIN, COS, TAN, ASIN, ACOS, ABS, TRUNC, ROUND, LN, EXP, ATAN2, POT, SQRT, CTAB, CTABINV).

Alle variabili del tipo di dati REAL possono essere applicate funzioni matematiche.

Indicizzazione L'indicizzazione è possibile con espressioni di esecuzione.

Programmazione Commento

DO $AC_PARAM[3] = $A_INA[1]-$AA_IM[Z1] ; ;sottrazione di due

;variabili di esecuzione

WHENEVER $AA_IM[x2] < $AA_IM[x1]-1.9 DO $A_OUT[5] = 1

; ;sottrazione di una costante di variabili

DO $AC_PARAM[3] = $INA[1]-4*SIN(45.7 $P_EP[Y])*R4

;espressione costante da calcolare in anticipo

Programmazione Commento

DO $AC_PARAM[3] = COS($AC_PARAM[1]) ;

;

Page 567: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.2 Operatori per condizioni e azioni

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 567

• Espressioni in tempo reale

• Variabile di esecuzione indicizzata

Programmazione Commento

ID=1 WHENEVER ($AA_IM[Y]>30) AND ($AA_IM[Y]<40) DO $AA_OVR[S1]=80

; Selezione di una finestra di posizione

ID=67 DO $A_OUT[1]=$A_IN[2] XOR $AN_MARKER[1] ; Valutazione di 2 segnali booleani

ID=89 DO $A_OUT[4]=$A_IN[1] OR ($AA_IM[Y]>10) ; Emissione del risultato di un confronto

Programmazione Commento

WHEN…DO $AC_PARAM[$AC_MARKER[1]] = 3 ;

Non è ammesso ;

$AC_PARAM[1] = $P_EP[$AC_MARKER] ;

Page 568: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.3 Variabili di esecuzione per le azioni sincrone

Preparazione del lavoro568 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

10.3 Variabili di esecuzione per le azioni sincrone

10.3.1 Variabili di sistema

FunzioniCon l'ausilio di variabili di sistema è possibile leggere e scrivere i dati dell'NC. Le variabili di sistema si distinguono in variabili di preelaborazione e variabili di esecuzione. Le variabili di preelaborazione vengono eseguite sempre al momento della preelaborazione. Le variabili di esecuzione determinano il loro valore sempre in rapporto allo stato attuale dell'esecuzione principale.

DenominazioneIl nome delle variabili di sistema inizia generalmente con il carattere $:

Una seconda lettera descrive la possibilità di accedere alla variabile:

La seconda lettera viene generalmente utilizzata solo per le variabili di esecuzione. Le variabili di preelaborazione come ad es. $P_ vengono generalmente eseguite senza seconda lettera.

Al prefisso ($ seguito da una o due lettere) seguono sempre un carattere di sottolineatura (underscore) e il successivo nome di variabile (generalmente nella sua forma inglese o abbreviato).

Variabili di preelaborazione:$M... Dati macchina$S... Dati di setting, settori di protezione$T... Dati di gestione utensili$P... Valori programmati, dati di preelaborazione$C... Variabili di ciclo dei cicli di avvolgimento ISO$O... Dati opzionaliR ... Parametri R

Variabili di esecuzione:$$A... Dati di elaborazione attuali$$V... Dati servo$R... Parametri R

N... Valore globale NCK (di validità generale)C... Valore specifico per canaleA... Valore specifico per asse

Page 569: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.3 Variabili di esecuzione per le azioni sincrone

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 569

Tipi di datiLe variabili di esecuzione possono avere i seguenti tipi di dati:

Le variabili di preelaborazione possono inoltre avere i seguenti tipi di dati:

Campi delle variabiliLe variabili di sistema possono essere create come campi da 1 a 3 dimensioni.

Vengono supportati i seguenti tipi di dati: BOOL, CHAR, INT, REAL, STRING, AXIS

Il tipo di dati dell'indice può essere del tipo INT e AXIS, e questi possono essere ordinati a piacere.

Le variabili STRING possono essere create solo in modo bidimensionale.

Esempi di definizioni dei campi:DEF BOOL $AA_NEWVAR[x,y,2]DEF CHAR $AC_NEWVAR[2,2,2]DEF INT $AC_NEWVAR[2,10,3]DEF REAL $AA_VECTOR[x,y,z]DEF STRING $AC_NEWSTRING[3,3]DEF AXIS $AA_NEWAX[x,3,y]

INT Integer per i valori interi con segnoREAL Real per i numeri frazionari razionaliBOOL Boolean TRUE e FALSECHAR Carattere ASCIISTRING Stringa di caratteri alfanumericiAXIS Indirizzi d'asse e mandrini

FRAME Trasformazioni delle coordinate

NotaLa visualizzazione di variabili di sistema a 3 dimensioni è possibile in modo illimitato se esiste una variabile BTSS nelle variabili di sistema.

Page 570: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.3 Variabili di esecuzione per le azioni sincrone

Preparazione del lavoro570 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

10.3.2 Conversione implicita del tipo

FunzioneDurante le assegnazioni di valori e i trasferimenti di parametri è possibile assegnare o trasmettere variabili di diversi tipi di dati.

La conversione implicita del tipo attiva una conversione del tipo di valori.

Possibili conversioni di tipi

Spiegazioni

Risultati

a REAL INT BOOL CHAR STRING AXIS FRAMEda

REAL sì sì* sì1) – – – –

INT sì sì sì1) – – – –

BOOL sì sì sì – – – –

* Per la conversione da REAL a INT, un valore frazionario >=0.5 viene arrotondato alla cifra successiva, gli altri valori vengono arrotondati alla cifra precedente (vedere funzione ROUND). In caso di superamento dei valori viene attivato un allarme.

1) Un valore <> 0 corrisponde a TRUE, un valore == 0 corrisponde a FALSE

Conversione del tipo da REAL o INTEGER a BOOL

Risultato BOOL = TRUE se il valore di REAL o INTEGER è diverso da zeroRisultato BOOL = FALSE se il valore di REAL o INTEGER è uguale a zeroConversione del tipo da BOOL a REAL o INTEGER

Risultato REAL TRUE se il valore di BOOL = TRUE è (1)

Risultato INTEGER = TRUE se il valore di BOOL = TRUE è (1)

Conversione del tipo da BOOL a REAL o INTEGER

Risultato REAL FALSE se il valore di BOOL = FALSE è (0)

Risultato INTEGER = FALSE se il valore di BOOL = FALSE è (0)

Page 571: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.3 Variabili di esecuzione per le azioni sincrone

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 571

Esempi di conversioni implicita del tipo

10.3.3 Variabili GUD

Variabili GUD che supportano le azioni sincrone Oltre alle variabili di sistema specifiche si possono utilizzare nelle azioni sincrone anche le variabili utente globali predefinite (GUD di azione sincrona. Il numero di GUD di azione sincrona a disposizione dell'utente è parametrizzato in modo specifico per il tipo di dati e di accesso tramite i seguenti dati macchina:

• MD18660 $MM_NUM_SYNACT_GUD_REAL[<x>] = <numero>

• MD18661 $MM_NUM_SYNACT_GUD_INT[<x>] = <numero>

• MD18662 $MM_NUM_SYNACT_GUD_BOOL[<x>] = <numero>

• MD18663 $MM_NUM_SYNACT_GUD_AXIS[<x>] = <numero>

• MD18664 $MM_NUM_SYNACT_GUD_CHAR[<x>] = <numero>

• MD18665 $MM_NUM_SYNACT_GUD_STRING[<x>] = <numero>

Conversione del tipo da INTEGER a BOOL

$AC_MARKER[1] = 561

ID=1 WHEN $A_IN[1] == TRUE DO $A_OUT[0]=$AC_MARKER[1]

Conversione del tipo da REAL a BOOL

R401 = 100.542

WHEN $A_IN[0] == TRUE DO $A_OUT[2]=$R401

Conversione del tipo da BOOL a INTEGER

ID=1 WHEN $A_IN[2] == TRUE DO $AC_MARKER[4] = $A_OUT[1]]

Conversione del tipo da BOOL a REAL

R401 = 100.542

WHEN $A_IN[3] == TRUE DO $R10 = $A_OUT[3]

Page 572: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.3 Variabili di esecuzione per le azioni sincrone

Preparazione del lavoro572 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Tramite l'indice <x> si specifica il tipo di blocco (diritti di accesso), mentre tramite il valore <numero> si definiscono quanti devono essere i GUD di azione sincrona del tipo di dati in questione (REAL, INT, ...). nel rispettivo blocco dati viene creato quindi per ogni tipo di dati una variabile di campo unidimensionale con il seguente schema di nomi: SYG_<tipo di dati><diritto di accesso>[<indice>]:

CaratteristicheI GUD di azione sincrona hanno le seguenti caratteristiche:

• I GUD di azione sincrona possono essere letti e scritti in azioni sincrone e programmi pezzo / cicli

• Ai GUD di azione sincrona si può accedere tramite BTSS

• I GUD di azione sincrona vengono visualizzati sulla superficie operativa dell'HMI nel settore operativo "Parametri"

• I GUD di azione sincrona si possono utilizzare su HMI nel wizard, nella visualizzazione variabili e nel protocollo variabili

• La dimensione del campo per i GUD di azione sincrona di tipo STRING è fissata a 32 (31 caratteri + \0).

• Anche se non è stato creato manualmente un file di definizione per i dati utente globali (GUD), è possibile leggere nel rispettivo blocco GUD, a partire dall'HMI, i GUD di azione sincrona definiti tramite i dati macchina..

Indice <x>

Tipo di dati (MD18660 ... MD18665)

Blocco REAL INT BOOL AXIS CHAR STRING0 SGUD SYG_RS[ i ] SYG_IS[ i ] SYG_BS[ i ] SYG_AS[ i ] SYG_CS[ i ] SYG_SS[ i ]1 MGUD SYG_RM[ i ] SYG_IM[ i ] SYG_BM[ i ] SYG_AM[ i ] SYG_CM[ i ] SYG_SM[ i ]2 UGUD SYG_RU[ i ] SYG_IU[ i ] SYG_BU[ i ] SYG_AU[ i ] SYG_CU[ i ] SYG_SU[ i ]3 GUD4 SYG_R4[ i ] SYG_I4[ i ] SYG_B4[ i ] SYG_A4[ i ] SYG_C4[ i ] SYG_S4[ i ]4 GUD5 SYG_R5[ i ] SYG_I5[ i ] SYG_B5[ i ] SYG_A5[ i ] SYG_C5[ i ] SYG_S5[ i ]5 GUD6 SYG_R6[ i ] SYG_I6[ i ] SYG_B6[ i ] SYG_A6[ i ] SYG_C6[ i ] SYG_S6[ i ]6 GUD7 SYG_R7[ i ] SYG_I7[ i ] SYG_B7[ i ] SYG_A7[ i ] SYG_C7[ i ] SYG_S7[ i ]7 GUD8 SYG_R8[ i ] SYG_I8[ i ] SYG_B8[ i ] SYG_A8[ i ] SYG_C8[ i ] SYG_S8[ i ]8 GUD9 SYG_R9[ i ] SYG_I9[ i ] SYG_B9[ i ] SYG_A9[ i ] SYG_C9[ i ] SYG_S9[ i ]

con i = 0 ... (<numero> - 1) Blocco: _N_DEF_DIR/_N_ ... _DEF, ad es. per SGUD ⇒ _N_DEF_DIR/_N_SGUD_DEF

ATTENZIONELe variabili utente (GUD, PUD, LUD) possono essere definite con lo stesso nome del GUD di azione sincrona (DEF ... SYG_xy) solo se non vi sono GUD di azione sincrona parametrizzati con lo stesso nome (MD18660 - MD18665). I GUD definiti dall'utente non possono essere impiegati in azioni sincrone.

Page 573: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.3 Variabili di esecuzione per le azioni sincrone

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 573

Diritti di accessoI diritti di accesso definiti in un file di definizione GUD restano validi e si riferiscono solo alle variabili GUD definite in questo file di definizione GUD.

Comportamento in cancellazioneSe il contenuto di un determinato file di definizione GUD viene riattivato, per prima cosa il vecchio blocco dati GUD viene cancellato nel file system attivo. I GUD di azione sincrona progettati vengono ugualmente resettati. Questo processo è possibile anche tramite HMI nel settore operativo "Servizi" > "Definisci e attiva dati utente (GUD)".

10.3.4 Identificatore asse di default (NO_AXIS)

FunzioniAlle variabili o ai parametri del tipo AXIS non inizializzati con un valore è possibile assegnare degli identificatori asse di default definiti. Le variabili d'asse non definite vengono inizializzate con questo valore di default.

I nomi d'asse validi non inizializzati vengono rilevati nelle azioni sincrone mediante una richiesta della variabile "NO_AXIS". A questo identificatore asse non inizializzato viene assegnato l'identificatore asse di default progettato tramite un dato macchina.

Costruttore della macchina

Mediante i dati macchina è necessario definire e impostare almeno un identificatore asse esistente valido. Si possono tuttavia impostare anche tutti gli identificatori asse validi esistenti. Fare attenzione alle indicazioni del costruttore della macchina

SintassiPROC UP(AXIS PAR1=NO_AXIS, AXIS PAR2=NO_AXIS)IF PAR1 <>NO_AXIS...

NotaAlle nuove variabili create viene così automaticamente assegnato durante la definizione il valore registrato nel dato macchina per i nomi asse di default.

Per ulteriori informazioni su una definizione valida tramite dato macchina vedere:Bibliografia:/FBSY/ Manuale di guida alle funzioni, Azioni sincrone

Page 574: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.3 Variabili di esecuzione per le azioni sincrone

Preparazione del lavoro574 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Significato

Esempio: Definizione di variabili asse nel programma principale

10.3.5 Marker per azioni sincrone ($AC_MARKER[n])

FunzioniLa variabile di campo $AC_MARKER[n] può essere letta e scritta nelle azioni sincrone. Queste variabili possono risiedere nella memoria del file system attivo o passivo.

Variabile per azioni sincrone: Tipo di dati INT

Esempio di lettura/scrittura di variabili merker

PROC Definizione di un sottoprogrammaUP Nome di sottoprogramma per il rilevamentoPARn Parametro nNO_AXIS Inizializzazione del parametro formale con identificatore asse di

default

Codice di programma

DEF AXIS AXVAR

UP( , AXVAR)

$AC_MARKER[n] Merker/contatori specifici per canale del tipo di dati INTEGER

$MC_MM_NUM_AC_MARKER Dato macchina per l'impostazione del numero di merker specifici di canale per le azioni sincrone di movimento

n Indice di campo delle variabili 0-n

Codice di programma

WHEN ... DO $AC_MARKER[0] = 2

WHEN ... DO $AC_MARKER[0] = 3

WHENEVER $AC_MARKER[0] == 3 DO $AC_OVR=50

Page 575: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.3 Variabili di esecuzione per le azioni sincrone

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 575

10.3.6 Parametri per azioni sincrone ($AC_PARAM[n])

Funzioni I parametri di azioni sincrone $AC_PARAM[n] servono per i calcoli e come memoria intermedia in azioni sincrone. Queste variabili possono risiedere nella memoria del file system attivo o passivo.

Variabile per azioni sincrone: Tipo di dati REALTali parametri sono contenuti con lo stesso nome, una volta in ogni canale.

Esempio di parametri per azioni sincrone $AC_PARAM[n]

10.3.7 Parametri di calcolo ($R[n])

FunzioniQuesta variabile statica di campo serve per operazioni di calcolo nel partprogram e nelle azioni sincrone.

SintassiProgrammazione nel partprogram:REAL R[n]REAL Rn

Programmazione nelle azioni sincrone:REAL $R[n]REAL $Rn

$AC_PARAM[n] Variabile di calcolo per le azioni sincrone di movimento (REAL)

$MC_MM_NUM_AC_PARAM Dato macchina per l'impostazione del numero dei parametri per le azioni sincrone di movimento fino a 20000 max.

n Indice di campo del parametro 0n

Codice di programma

$AC_PARAM[0]=1.5

$AC_MARKER[0]=1

ID=1 WHEN $AA_IW[X]>100 DO $AC_PARAM[1]=$AA_IW[X]

ID=2 WHEN $AA_IW[X]>100 DO $AC_MARKER[1]=$AC_MARKER[2]

Page 576: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.3 Variabili di esecuzione per le azioni sincrone

Preparazione del lavoro576 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Parametri di calcoloL'uso di parametri di calcolo consente:

• la memorizzazione di valori che devono mantenere validità anche dopo la fine programma, Reset NC e Power On.

• La visualizzazione di valori memorizzati nella maschera di parametri R.

Esempi

10.3.8 Lettura/scrittura dei dati macchina NC e dei dati setting NC

FunzioniLa lettura e la scrittura di dati macchina e dati setting NC è anche possibile da azioni sincrone. Durante la lettura e scrittura di elementi di campo dei dati macchina è possibile omettere un indice durante la programmazione. Se ciò accade nel partprogram, durante la lettura viene letto il primo elemento di campo e durante la scrittura tutti gli elementi del campo sono descritti con il valore.

In questo caso, nelle azioni sincrone viene letto o scritto solo il primo elemento.

DefinizioneDM, DS con

$: lettura del valore al momento dell'interpretazione delle azioni sincrone

$$: lettura del valore nell'esecuzione principale

Codice di programma Commento

WHEN $AA_IM[X]>=40.5 DO $R10=$AA_MM[Y] ; Impiego di R10 nell'azione sincrona.

G01 X500 Y70 F1000

STOPRE ; Arresto dell'avanzamento

IF R10>20 ; Valutazione della variabile di calcolo.

Codice di programma

SYG_AS[2]=X

SYG_IS[1]=1

WHEN $AA_IM[SGY_AS[2]]>10 DO $R3=$AA_EG_DENOM[SYG_AS[1]], SYG_AS[2]]

WHEN $AA_IM[SGY_AS[2]]>12 DO $AA_SCTRACE[SYG_AS[2]]=1

SYG_AS[1]=X

SYG_IS[0]=1

WHEN $AA_IM[SGY_AS[1]]>10 DO $R3=$$MA_POSCTRL_GAIN[SYG_IS[0]],SYG_AS[1]]

WHEN $AA_IM[SGY_AS[1]]>10 DO $R3=$$MA_POSCTRL_GAIN[SYG_AS[1]]

WHEN $AA_IM[SGY_AS[1]]>15 DO $$MA_POSCTRL_GAIN[SYG_AS[0]], SYG_AS[1]]=$R3

Page 577: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.3 Variabili di esecuzione per le azioni sincrone

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 577

Lettura dei valori DM e DS al momento della preelaborazioneVengono indirizzati dall'azione sincrona con il carattere $ e valutati al momento della preelaborazione.

Lettura dei valori DM e DS al momento dell'esecuzioneVengono indirizzati dall'azione sincrona con il carattere $$ e valutati al momento dell'esecuzione.

Scrittura dei valori DM e DS al momento dell'esecuzioneil diritto di accesso attualmente impostato deve permettere anche l'accesso in scrittura. L'efficacia per tutti i dati macchina e i dati di setting è descritta nella Bibliografia: /LIS/, Liste (Volume 1).

I dati DM e DS da scrivere vanno indirizzati facendoli precedere dal prefisso $$.

Esempio

ID=2 WHENEVER $AA_IM[z]<$SA_OSCILL_REVERSE_POS2[Z]-6 DO $AA_OVR[X]=0

;In questo caso per il pendolamento viene richiamato il settore di inversione 2 considerato come costante

ID=1 WHENEVER $AA_IM[z]<$$SA_OSCILL_REVERSE_POS2[Z]-6 DO $AA_OVR[X]=0

;In questo caso si presuppone che la posizione di inversione possa essere modificata dalla superficie HMI durante la lavorazione.

Codice di programma Commento

ID=1 WHEN $AA_IW[X]>10 DO $$SN_SW_CAM_PLUS_POS_TAB_1[0]=20

; Modifica della posizione di commutazione delle camme SW. Nota: devono essere modificate 2-3 clock IPO prima del raggiungimento della posizione.

$$SN_SW_CAM_MINUS_POS_TAB_1[0]=30

Page 578: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.3 Variabili di esecuzione per le azioni sincrone

Preparazione del lavoro578 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

10.3.9 Variabili del timer ($AC_Timer[n])

Funzioni La variabile di sistema $AC_TIMER[n] consente di avviare azioni dopo periodi di attesa prestabiliti.

Variabile del timer: Tipo di dati REAL

Impostazione del timer

Il calcolo dell'esponente di una variabile del Timer viene avviato attraverso l'assegnazione del valore:$AC_TIMER[n] = value

Arresto del timer

Il calcolo dell'esponente di una variabile del Timer viene interrotto dall'assegnazione di un valore negativo:$AC_TIMER[n]=-1

Lettura del timer

Il valore in tempo attuale può essere letto con variabile timer attiva o ferma. Dopo l'arresto di una variabile timer assegnando -1, l'ultimo valore permane e può essere letto.

EsempioEmissione di un valore reale tramite uscita analogica 500 ms dopo il riconoscimento di un ingresso digitale:

$AC_TIMER[n] Timer specifico per canale del tipo di dati REALs Unità in secondin Indice della variabile Timer

n: Numero delle variabili di tempovalue: Valore iniziale (ad es. R "0")

Codice di programma Commento

WHEN $A_IN[1]==1 DO $AC_TIMER[1]=0 ; Reset e avvio del timerWHEN $AC_TIMER[1]>=0.5 DO $A_OUTA[3]=$AA_IM[X] $AC_TIMER[1]=-1

Page 579: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.3 Variabili di esecuzione per le azioni sincrone

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 579

10.3.10 Variabili FIFO ($AC_FIFO1[n] ... $AC_FIFO10[n])

FunzioniPer la memorizzazione di sequenze di dati correlate sono disponibili 10 variabili FIFO (memoria circolare). Tipo di dati: REAL

Utilizzo:

• misure cicliche

• Lavorazione a cicli

Su ciascun elemento l'accesso può avvenire in lettura e in scrittura.

Variabile FIFOIl numero delle variabili FIFO disponibili viene stabilito per il dato macchina MD28260 $MC_NUM_AC_FIFO.

Il numero dei valori scrivibili in una variabile FIFO viene definito attraverso il dato macchina MD28264 $MC_LEN_AC_FIFO. Tutte le variabili FIFO hanno la stessa lunghezza.

La somma di tutti gli elementi FIFO viene costruita solo se in MD28266 $MC_MODE_AC_FIFO è impostato Bit0.

Gli indici da 0 a 5 hanno un significato speciale:

Indice Significato0 Durante la

scrittura:Il nuovo valore viene memorizzato nel FIFO.

Durante la lettura: L'elemento depositato da più tempo viene letto e rimosso dal FIFO.

1 Accesso all'elemento depositato da più tempo2 Accesso all'elemento depositato da meno tempo3 Somma di tutti gli elementi FIFO4 Numero degli elementi disponibili nel FIFO

Su ciascun elemento del FIFO l'accesso può avvenire in lettura e in scrittura. Il reset delle variabili FIFO avviene resettando il numero degli elementi, es.per la prima variabile FIFO: $AC_FIFO1[4] = 0

5 Indice di scrittura attuale relativo all'inizio del FIFOda 6 a nmax Accesso all'elemento FIFO n-tes

Page 580: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.3 Variabili di esecuzione per le azioni sincrone

Preparazione del lavoro580 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio: Memoria circolareDurante l'esecuzione di una produzione viene utilizzato un nastro trasportatore per il trasporto dei prodotti con diverse lunghezze (a, b, c, d). Sul nastro trasportatore di lunghezza "I" vengono quindi trasportate contemporaneamente quantità diverse di prodotti, a seconda delle lunghezze dei prodotti in questione. Tenendo conto che la velocità di trasporto non cambia, occorre adattare il prelevamento dei prodotti dal nastro ai tempi variabili del loro arrivo.

Codice di programma Commento

DEF REAL ZWI=2.5 ; Distanza costante fra i prodotti applicati.

DEF REAL GESAMT=270 ; Distanza fra la posizione di misurazione della lunghezza e la posizione di prelievo.

EVERY $A_IN[1]==1 DO $AC_FIFO1[4]=0 ; All'inizio del processo resettare FIFO .

EVERY $A_IN[2]==1 DO $AC_TIMER[0]=0 ; Se un prodotto interrompe la barriera luminosa, avviare la misurazione temporale.

EVERY $A_IN[2]==0 DO $AC_FIFO1[0]=$AC_TIMER[0]*$AA_VACTM[B]

; Se la barriera luminosa è libera, calcolare la lunghezza del prodotto, attraverso il tempo misurato e la velocità del trasporto, dopodiché memorizzarla nel FIFO

EVERY $AC_FIFO1[3]+$AC_FIFO1[4]*ZWI>=GESAMT DO POS[Y]=-30 $R1=$AC_FIFO1[0]

; Non appena la somma di tutte le lunghezze prodotto e le distanze intermedie risulta maggiore/uguale alla distanza fra posizione di applicazione e posizione di prelievo, estrarre il prodotto nella posizione di prelievo dal nastro trasportatore, e leggere dal FIFO la relativa lunghezza.

Page 581: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.3 Variabili di esecuzione per le azioni sincrone

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 581

10.3.11 Informazioni sui tipi di blocco nell'interpolatore ($AC_BLOCKTYPE,$AC_BLOCKTYPEINFO, $AC_SPLITBLOCK)

FunzionePer le azioni sincrone sono disponibili le seguenti variabili di sistema che forniscono un’indicazione sul blocco attualmente in elaborazione:

• $AC_BLOCKTYPE

• $AC_BLOCKTYPEINFO

• $AC_SPLITBLOCK

Variabili Blocktype e Blocktypeinfo

$AC_BLOCKTYPE $AC_BLOCKTYPEINFOValore: Valore: 0 diverso da 0 T H Z E significato:Bloccooriginale

Blocco intermedio esecutore per blocco intermedio:

1 1 0 0 0 Blocco generato internamente, nessuna ulteriore indicazione

2 2 0 0 1 Smussi/raccordi: Retta2 2 0 0 2 Smussi/raccordi: Cerchio

3 3 0 0 1 WAB: accostamento con retta3 3 0 0 2 WAB: accostamento con quarto di cerchio3 3 0 0 3 WAB: accostamento con semicerchio

Correzione utensile:4 4 0 0 1 Blocco di accostamento dopo STOPRE4 4 0 0 2 Blocchi di collegamento nel caso di punto di

intersezione non trovato4 4 0 0 3 Cerchio a punti su spigoli interni

(solo con TRACYL)4 4 0 0 4 Cerchio di aggiramento (opp.sezione di cono)

sugli spigoli esterni4 4 0 0 5 Blocchi di accostamento con correzione

disattivata4 4 0 0 6 Blocchi di accostamento con CRU riattivata4 4 0 0 7 Suddivisione del blocco a causa di una curvatura

eccessiva4 4 0 0 8 Blocchi di compensazione con fresatura frontale

3D (vettore utensile || vettore della superficie)

Page 582: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.3 Variabili di esecuzione per le azioni sincrone

Preparazione del lavoro582 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Raccordatura tramite:5 5 0 0 1 G6415 5 0 0 2 G6425 5 0 0 3 G6435 5 0 0 4 G644

Blocco TLIFT con:6 6 0 0 1 Movimento lineare dell’asse tangenziale e senza

movimento di svincolo6 6 0 0 2 Movimento non lineare dell’asse tangenziale

(polinomio) e senza movimento di svincolo6 6 0 0 3 Movimento di svincolo, il movimento dell'asse

tangenziale e quello di svincolo vengono avviati contemporaneamente

6 6 0 0 4 Movimento di svincolo, l'asse tangenziale si avvia solo quando una determinata posizione di svincolo è stata raggiunta.

Suddivisione del percorso:7 7 0 0 1 suddivisione del percorso programmata senza

che siano attivi una punzonatura o roditura.7 7 0 0 2 suddivisione del percorso programmata con

punzonatura o roditura attivi7 7 0 0 3 suddivisione del percorso generata

automaticamente internamente

Cicli compilati:8 Applicazione ID ID dell’applicazione dei cicli compilati che ha

generato il blocco

T: Posizione delle migliaiaH: Posizione delle centinaia:Z: Posizione delle decine:E: Posizione delle unità

$AC_BLOCKTYPE $AC_BLOCKTYPEINFOValore: Valore: 0 diverso da 0 T H Z E significato:Bloccooriginale

Blocco intermedio esecutore per blocco intermedio:

Nota$AC_BLOCKTYPEINFO contiene sempre nella posizione delle migliaia (T) anche il valore per Blocktype, nel caso in cui sia presente un blocco intermedio. In $AC_BLOCKTYPE diverso da 0 non viene registrata la posizione delle migliaia.

Page 583: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.3 Variabili di esecuzione per le azioni sincrone

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 583

Esempio: Conteggio dei blocchi di raccordo

$AC_SPLITBLOCKValore: Significato:0 Blocco programmato immutato (un blocco generato dal compressore viene anche trattato

come blocco programmato)1 È presente un blocco generato internamente oppure un blocco originale accorciato3 È presente l’ultimo blocco di una catena di blocchi generati internamente oppure di blocchi

originali accorciati

Codice di programma Commento

$AC_MARKER[0]=0

$AC_MARKER[1]=0

$AC_MARKER[2]=0

...

; Definizione di azioni sincrone con cui vengono contati i blocchi di raccordo.

; Tutti i blocchi di raccordo vengono conteggiati in $AC_MARKER[0]:

ID=1 WHENEVER ($AC_TIMEC==0) AND ($AC_BLOCKTYPE==5) DO $AC_MARKER[0]=$AC_MARKER[0]+1

...

; Con G641 i blocchi di raccordo creati vengono conteggiati in $AC_MARKER[1]:

ID=2 WHENEVER ($AC_TIMEC==0) AND ($AC_BLOCKTYPEINFO==5001) DO $AC_MARKER[1]=$AC_MARKER[1]+1

; Con G642 i blocchi di raccordo creati vengono conteggiati in $AC_MARKER[2]:

ID=3 WHENEVER ($AC_TIMEC==0) AND ($AC_BLOCKTYPEINFO==5002) DO $AC_MARKER[2]=$AC_MARKER[2]+1

...

Page 584: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.4 Azioni nelle azioni sincrone

Preparazione del lavoro584 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

10.4 Azioni nelle azioni sincrone

10.4.1 Panoramica delle possibili azioni nelle azioni sincroneNelle azioni sincrone, le azioni sono costituite da assegnazioni di valori, chiamate di funzioni o parametri, parole chiave o cicli tecnologici. Gli operatori rendono possibili le esecuzioni complesse.

Le possibili applicazioni sono le seguenti:

• Calcoli di espressioni complesse nel clock IPO

• Movimenti asse e comandi mandrino

• Modifica e analisi online di dati di setting da azioni sincrone (ad es. emissione di posizioni e tempi di camme software al PLC o alla periferia NC)

• Emissione funzioni ausiliarie al PLC

• Configurazione di funzioni di sicurezza aggiuntive

• Impostazione di movimento sovrapposto, correzione utensile online e regolazione della distanza

• Esecuzione di azioni in tutti i modi operativi

• Influenzare le azioni sincrone dal PLC

• Esecuzione di cicli tecnologici

• Emissione di segnali digitali ed analogici

• Rilevamento delle prestazioni delle azioni sincrone nel clock dell'interpolatore e del tempo di calcolo del regolatore di posizione per valutare il fattore di utilizzo

• Possibilità di diagnosi nella superficie operativa

Azione sincrona DescrizioneDO $V…=DO $A...=

assegnazione (valori servo)assegnazione della variabile (variabile di esecuzione)

DO $AC…[n]=DO $AC_MARKER[n]=DO $AC_PARAM[n]=

Variabile di esecuzione specialeLettura o scrittura del marker di azioni sincroneLettura o scrittura dei parametri di azioni sincrone

DO $R[n]= Lettura o scrittura della variabile di calcoloDO $MD...=DO $$SD...=

Lettura del valore del dato macchina relativo all'istante di interpolazioneScrittura del valore del dato di setting nell'elaborazione principale

DO $AC_TIMER[n]=valore iniziale TimerDO $AC_FIFO1[n] …FIFO10[n]= Variabile FIFODO $AC_BLOCKTYPE=DO $AC_BLOCKTYPEINFO=DO $AC_SPLITBLOCK=

Interpretazione del blocco attuale (variabile di esecuzione)

DO M, S e H, ad es. M07 Emissione di funzioni ausiliarie M, S e H

Page 585: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.4 Azioni nelle azioni sincrone

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 585

DO RDISABLE Settare il blocco letturaDO STOPREOF Eliminare il blocco preelaborazioneDO DELDTG Cancellazione rapida del percorso residuo senza

arresto avanzamentoFTCDEF(polin., LL, UL , coeffic.)DO SYNFCT(polin., output, input)

Definizione di polinomiAttivazione di funzioni sincrone: Regolazione AC

DO FTOC Correzione utensile onlineDO G70/G71/G700/G710 Definizione del sistema di misura per funzioni di

posizionamento (indicazione delle quote in inch o metrica)

DO POS[Asse]= / DO MOV[Asse]=DO SPOS[Mandrino]=

Avvio/posizionamento/arresto assi di comandoAvvio/posizionamento/arresto mandrini

DO MOV[asse] = valore Avvio/arresto dei movimenti senza fine di un asse di comando

DO POS[asse]= FA [asse]= Avanzamento assiale FAID=1 ... DO POS[Asse]= FA [Asse]=ID=2 ... DO POS[Asse]=$AA_IM[Asse] FA [Asse]=

Posizionamenti da azioni sincrone

DO PRESETON (asse, valore) Impostazione valore reale (Preset da azioni sincrone)ID=1 EVERY $A_IN[1]=1 DO M3 S…ID=2 EVERY $A_IN[2]=1 DO SPOS=

Avvio/posizionamento/arresto mandrini

DO TRAILON(asse slave,asse master,fattore di accoppiamento)DO LEADON(asse slave,asse master,NRCTAB,OVW)

Attivare il trascinamentoAttivare l'accoppiamento al valore master (di riferimento)

DO MEAWA(Asse)=DO MEAC(Asse)=

Attivazione misura assialeAttivazione misura continua

DO [Campo n, m]=SET(Valore, Valore, ...)DO [Campo n, m]=REP(Valore, Valore, ...)

Inizializzazione di variabili di campo con liste di valoriInizializzazione di variabili di campo con uguale valore

DO SETM(n. marker)DO CLEARM(n. marker)

Impostazione di label di attesaCancellazione di label di attesa

DO SETAL(Nr.allarme) Impostazione allarmi dei cicli (funzione di sicurezza supplementare)

DO FXS[Asse]=DO FXST[Asse]=DO FXSW[Asse]=DO FOCON[Asse]=DO FOCOF[Asse]=

Attivazione dell'avanzamento su riscontro fissoModifica della coppia di serraggioModifica della finestra di sorveglianzaAttivazione dell'avanzamento con coppia/forza limitata (modale) FOCDisattivazione dell'avanzamento con coppia/forza limitata(l'efficacia dell'azione sincrona è riferita al blocco)

ID=2 EVERY $AC_BLOCKTYPE==0 DO $R1=$AC_TANEB Angolo tra la tangente vettoriale nel punto finale del blocco attuale e la tangente vettoriale nel punto finale del blocco successivo programmato

Azione sincrona Descrizione

Page 586: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.4 Azioni nelle azioni sincrone

Preparazione del lavoro586 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

10.4.2 Emissione di funzioni ausiliarie

FunzioneMomento dell'emissione

L'emissione delle funzioni ausiliarie avviene nell'azione sincrona direttamente al momento dell'emissione dell'azione. Il momento dell'emissione per le funzioni ausiliarie definito tramite dato macchina non è efficace.

Il momento dell'emissione si verifica quando la condizione è soddisfatta.

Esempio:

Attivazione del refrigerante in presenza di una posizione definita dell'asse:WHEN $AA_IM[X]>=15 DO M07 POS[X]=20 FA[X]=250

Parole chiave consentite in azioni sincrone attive blocco a blocco (senza ID modale)

Le funzioni ausiliarie nelle azioni sincrone con validità blocco a blocco (senza ID modale) possono essere programmate solo con le parole chiave WHEN o EVERY.

DO $AA_OVR=DO $AC_OVR=DO $AA_PLC_OVRDO $AC_PLC_OVRDO $AA_TOTAL_OVRDO $AC_TOTAL_OVR

Override assialeOverride avanzamentoOverride assiale preimpostato dal PLCOverride avanzamento preimpostato dal PLCOverride assiale risultanteOverride avanzamento risultante

$AN_IPO_ACT_LOAD=$AN_IPO_MAX_LOAD=$AN_IPO_MIN_LOAD=$AN_IPO_LOAD_PERCENT=$AN_SYNC_ACT_LOAD=

$AN_SYNC_MAX_LOAD=

$AN_SYNC_TO_IPO=

Tempo di calcolo IPO attualeTempo di calcolo IPO più lungoTempo di calcolo IPO più breveTempo di calcolo IPO attuale in relazione al clock IPOTempo di calcolo attuale per l'azione sincrona attraverso tutti i canaliTempo di calcolo più lungo per l'azione sincrona attraverso tutti i canaliQuota percentuale dell'intera azione sincrona

DO TECCYCLE Esecuzione di ciclo tecnologicoDO LOCK(n, n, ...)DO UNLOCK(n, n, ...)DO RESET(n, n, ...)

BloccoSbloccoRESET di un ciclo tecnologico

CANCEL(n, n, ...) Cancellazione di azioni sincrone modali con la designazione ID(S) nel partprogram

Azione sincrona Descrizione

Page 587: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.4 Azioni nelle azioni sincrone

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 587

Esempio

10.4.3 Impostazione del blocco lettura (RDISABLE)

FunzioniCon RDISABLE, se la condizione viene soddisfatta nel programma principale viene arrestata l'ulteriore elaborazione del blocco. Le azioni sincrone di movimento programmate vengono proseguite; continua anche la elaborazione dei blocchi successivi.

Alla fine di un blocco con RDISABLE viene attivato un arresto preciso, indipendentemente dal fatto che il blocco lettura sia attiva o meno. L'arresto preciso viene anche attivato quando il controllo si trova in funzionamento continuo (G64, G641 ... G645).

ApplicazioniCon RDISABLE è possibile avviare il programma nel clock di interpolazione, ad es. in base agli ingressi esterni.

Esempio

NotaLe seguenti funzioni ausiliarie non sono consentite nell'azione sincrona:

• M0, M1, M2, M17, M30: Arresto/fine del programma (M2, M17, M30 possibile con ciclo tecnologico)

• M6 oppure funzioni M impostate tramite dato macchina per il cambio utensile

Codice di programma Commento

WHEN $AA_IW[Q1]>5 DO M172 H510 ; Se il valore reale dell'asse Q1 supera 5 mm, emettere le funzioni ausiliarie M172 e H510 al PLC.

Codice di programma Commento

WHENEVER $A_INA[2]<7000 DO RDISABLE ; Se la tensione scende al di sotto di 7 V nell'ingresso 2, viene arrestato il proseguimento del programma (Ipotesi: il valore 1000 corrisponde a 1 V).

...

N10 G01 X10 ; Alla fine di N10 si attiva RDISABLE, se la condizione viene soddisfatta durante la sua lavorazione.

N20 Y20

...

Page 588: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.4 Azioni nelle azioni sincrone

Preparazione del lavoro588 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Condizioni marginali

Effetto di RDISABLE in caso di sostituzione asse

Se RDISABLE ha effetto su un blocco, nel quale viene eseguita anche una sostituzione asse, RDISABLE ha effetto anche sul blocco REPOSA attivato tramite la sostituzione asse.

Esempio di programma:

Mediante l'azione sincrona, l'asse X viene recuperato dal percorso, viene eseguito un REORG (REPOSA). La funzione RDISABLE ha effetto sulla procedura REPOSA. In questo modo solo l'asse X si sposta nella propria posizione, dopodiché in N115 si effettua lo spostamento in Y20.

Il REORG può essere evitato se si programma in N101 RELEASE(X) o WAITP(X), perchè in questo modo l'asse X viene abilitato per una procedura, ad es. come asse di comando:

10.4.4 Disattivazione stop preelaborazione (STOPREOF)

FunzioneSTOPREOF disattiva lo stop preelaborazione per il blocco successivo non appena la condizione è soddisfatta, nel caso di uno stop preelaborazione esplicitamente programmato con STOPRE o attivato implicitamente tramite un'azione sincrona attiva.

Codice di programma

N100 G0 G60 X300 Y300

N105 WHEN TRUE DO POS[X]=20 FA[X]=20000

N110 WHENEVER $AA_IM[X]<>20 DO RDISABLE

N115 G0 Y20

N120 Y-20

N125 M30

Codice di programma

N100 G0 G60 X300 Y300

N101 RELEASE(X)N105 WHEN TRUE DO POS[X]=20 FA[X]=20000

...

NotaSTOPREOF deve essere programmato con la parola chiave WHEN e blocco-blocco (senza numero ID).

Page 589: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.4 Azioni nelle azioni sincrone

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 589

EsempioDiramazione rapida del programma alla fine del blocco.

10.4.5 Cancellazione percorso residuo (DELDTG)

FunzioneIn relazione ad una condizione è anche possibile attivare la cancellazione del percorso residuo per il percorso e per gli assi indicati.

Sono a disposizione:

• la cancellazione del percorso residuo rapida, già preparata

• Cancellazione del percorso residuo senza preparazione

La cancellazione del percorso residuo con preparazione tramite DELDTG consente una reazione molto rapida all’evento di attivazione e viene utilizzata per applicazioni con criticità di tempo, es. quando

• il tempo tra la cancellazione del percorso residuo e lo start del blocco successivo deve essere molto breve.

• quando la condizione per la cancellazione del percorso residuo verrà soddisfatta con alta probabilità.

SintassiCancellazione del percorso residuo per la traiettoriaDO DELDTG

Cancellazione del percorso residuo assialeDO DELDTG(Asse1) DELDTG(Asse2) ...

Codice di programma Commento

WHEN $AC_DTEB<5 DO STOPREOF ; Se la distanza rispetto alla fine del blocco è ;inferiore a 5 mm, annullare il blocco avanzamento.

G01 X100 ; Al termine dell'esecuzione dell'interpolazione lineare, il blocco avanzamento viene annullato.

IF $A_INA[7]>500 GOTOF MARKE1=X100 ; Se sull'ingresso 7 viene superata la tensione ;di 5 V, saltare al label 1.

NotaL'identificatore dell'asse racchiuso tra parentesi di DELDTG è valido solo per un asse di posizionamento.

Page 590: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.4 Azioni nelle azioni sincrone

Preparazione del lavoro590 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio di cancellazione del percorso residuo per la traiettoria

Esempio di cancellazione rapida del percorso residuo assiale

Ulteriori informazioniAlla fine di un blocco di movimento, in cui è stato avviata una cancellazione del percorso residuo già preparata, viene attivato implicitamente anche lo stop preelaborazione.

Ciò significa che il funzionamento continuo o i movimenti dell'asse di posizionamento vengono interrotti o arrestati alla fine del blocco mediante la cancellazione rapida del percorso residuo.

Codice di programma Commento

WHEN $A_IN[1]==1 DO DELDTG

N100 G01 X100 Y100 F1000 ; Se è impostato l'ingresso, il movimento viene interrotto

N110 G01 X…

IF $AA_DELT>50…

Codice di programma Commento

Interruzione di un movimento di posizionamento:

ID=1 WHEN $A_IN[1]==1 DO MOV[V]=3 FA[V]=700 ; Avvio dell'asse

WHEN $A_IN[2]==1 DO DELDTG(V) ; Cancellazione del percorso residuo, l'arresto dell'asse avviene con MOV=0

Cancellazione del percorso residuo dipendente dalla tensione all'ingresso:

WHEN $A_INA[5]>8000 DO DELDTG(X1) ; Non appena all'ingresso 5 la tensione supera 8 V, viene cancellato il percorso residuo dell'asse X1. Il movimento interpolato prosegue.

POS[X1]=100 FA[X1]=10 G1 Z100 F1000

NotaCancellazione preparata del percorso residuo:

• non può essere impiegata quando è attiva la correzione del raggio utensile.• può essere programmata solo in azioni sincrone attive blocco per blocco (senza numero

ID).

Page 591: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.4 Azioni nelle azioni sincrone

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 591

10.4.6 Definizione dei polinomi (FCTDEF)

Funzione

Con FCTDEF possono essere definiti polinomi di 3. grado nella forma y=a0+a1x+a2x2+a3x3. Questi polinomi vengono utilizzati dalla correzione utensile online FTOC e dalla funzione di valutazione SYNFCT.

SintassiFCTDEF(n. polinomio,LLIMIT,ULIMIT,a0,a1,a2,a3)

Significato

Questi valori sono accessibili anche tramite variabile di sistema

N. polinomio Numero del polinomio di 3° gradoLLIMIT Limite inferiore del valore della funzioneULIMIT Limite superiore del valore della funzionea0, a1, a2, a3 Coefficienti del polinomio

$AC_FCTLL[n] Limite inferiore del valore della funzione$AC_FCTUL[n] Limite superiore del valore della funzione$AC_FCT0[n] a0

$AC_FCT1[n] a1

$AC_FCT2[n] a2

$AC_FCT3[n] a3

NotaScrittura di variabili di sistema

• Le variabili di sistema possono essere scritte anche da un partprogram o da un'azione sincronizzata. Scrivendole da un partprogram è necessario programmare STOPRE per garantire che la scrittura sia sincrona al blocco.

• Le variabili di sistema $AC_FCTLL[n], $AC_FCTUL[n], $AC_FCT0[n] bis $AC_FCTn[n] possono essere modificate anche da azioni sincrone

I coefficienti di polinomi e i limiti dei valori di funzione scritti da azioni sincrone sono attivi immediatamente.

Page 592: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.4 Azioni nelle azioni sincrone

Preparazione del lavoro592 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio di polinomio per sezione di rettaLa definizione del polinomio, con limite superiore 1000, limite inferiore -1000, sezione di ordinata a0=$AA_IM[X] e inclinazione della retta pari a 1, è la seguente:

FCTDEF(1, -1000,1000,$AA_IM[X],1)

Esempio di controllo della potenza del laserUno dei possibili impieghi della definizione di polinomi è il controllo della potenza del laser.

Controllo della potenza del laser significa: influenzare un'uscita analogica in funzione per es. della velocità vettoriale.

Page 593: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.4 Azioni nelle azioni sincrone

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 593

Codice di programma Commento

$AC_FCTLL[1]=0.2 ; Definizione dei coefficienti del polinomio

$AC_FCTUL[1]=0.5

$AC_FCT0[1]=0.35

$AC_FCT1[1]=1.5EX-5

STOPRE

ID=1 DO $AC_FCTUL[1]=$A_INA[2]*0.1 +0.35 ; Modifica online del limite superiore.

ID=2 DO SYNFCT(1,$A_OUTA[1],$AC_VACTW) ; In funzione della velocità vettoriale (impostata in $AC_VACTW) viene controllato il comando della potenza del laser tramite l'uscita analogica 1

NotaIl polinomio suddetto viene impiegato con SYNFCT.

Page 594: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.4 Azioni nelle azioni sincrone

Preparazione del lavoro594 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

10.4.7 Funzione sincrona (SYNFCT)

FunzioniSYNFCT calcola il valore di uscita di un polinomio di terzo grado ponderato con la variabile d'ingresso. Il risultato si trova nella variabile d'uscita e viene limitato in alto e in basso.

La funzione di valutazione viene impiegata

• nella regolazione AC (Controllo Adattativo),

• nel controllo della potenza del laser,

• per offset di posizione.

SintassiSYNFCT(N. di polinomio, uscita della variabile di esecuzione, ingresso variabile di esecuzione)

SignificatoCome variabili di uscita si possono selezionare le variabili che confluiscono

• con influenza additiva

• con influenza moltiplicativa

• come offset di posizione

• direttamente

nel processo di lavorazione.

DO SYNFCT Attivazione della funzione di elaborazioneN. polinomio Il polinomio definito con FCTDEF (vedere "Definizione

polinomi")Uscita della variabile di esecuzione

Scrittura della variabile di esecuzione

Ingresso della variabile di esecuzione

Lettura della variabile di esecuzione

Page 595: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.4 Azioni nelle azioni sincrone

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 595

Esempio di regolazione AC (additiva)Influenza additiva sull'avanzamento programmato

Si desidera regolare additivamente un avanzamento programmato mediante la corrente dell'asse X (asse di incremento):

l'avanzamento dovrà variare di +/- 100 mm/min, tenendo conto che la corrente di 5A sul punto di lavorazione varia di +/- 1A.

1. Definizione del polinomio

Definizione dei coefficienti

y = f(x) = a0 + a1x + a2x2 + a3x3

a1 = -100mm/1 min A

a0 = -(-100)*5 =500

a2 = a3 = 0 (nessun elemento quadratico o cubico)

Limite superiore = 100

Limite inferiore = -100

Ne consegue:FCTDEF(1,-100,100,500,-100,0,0)

2. Attivazione della regolazione ACID=1 DO SYNFCT(1,$AC_VC,$AA_LOAD[x])

;Leggere il carico attuale dell’asse (% max. corrente azionamento) con $AA_LOAD[x] , ;con il polinomio definito in precedenza calcolare la correzione dell’avanzamento vettoriale.

Page 596: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.4 Azioni nelle azioni sincrone

Preparazione del lavoro596 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio di regolazione AC (moltiplicativa)Influenza a carattere moltiplicativo dell'avanzamento programmato

Si desidera modificare in maniera moltiplicativa l'avanzamento programmato, senza però che l'avanzamento, a seconda del carico dell'azionamento, superi determinati limiti:

• Con carico dell'azionamento di 80% l'avanzamento deve arrestarsi: override = 0.

• Con carico dell'azionamento pari a 30% si può procedere con l'avanzamento programmato: Override = 100%.

La velocità dell’avanzamento può essere superata al massimo del 20%: Max. Override = 120%.

1. Definizione del polinomio

Determinazione dei coefficienti

y = f(x) = a0 + a1x + a2x2 + a3x3

a1 = -100%/(80-30)% = -2

a0 = 100 + (2*30) = 160

a2 = a3 = 0 (nessun elemento quadrato e cubico)

Limite superiore = 120

Limite inferiore = 0

Ne consegue:FCTDEF(2,0,120,160,-2,0,0)

2. Attivazione della regolazione ACID=1 DO SYNFCT(2,$AC_OVR,$AA_LOAD[x])

;Leggere il carico attuale dell’asse (% max. corrente azionamento) con $AA_LOAD[x] , ;con il polinomio definito in precedenza calcolare l'override dell’avanzamento

Page 597: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.4 Azioni nelle azioni sincrone

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 597

10.4.8 Regolazione della distanza con correzione limitata ($AA_OFF_MODE)

Funzione Il calcolo integrante dei valori di distanza viene effettuato con verifica del campo limite:

$AA_OFF_MODE = 1

NotaQuesta funzione non è disponibile per SINUMERIK 828D!

ATTENZIONEIl guadagno d'anello del circuito di regolazione sovrapposto dipende dall'impostazione del clock IPO.

Rimedio: Lettura e configurazione del dato macchina per il clock IPO.

NotaLimitazione della velocità dell'interpolatore sovrapposto attraverso MD32020 JOG_VELO con clock di interpolazione 12 ms.

Page 598: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.4 Azioni nelle azioni sincrone

Preparazione del lavoro598 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Formula per la velocità:

EsempioSottoprogramma "AON": Regolazione della distanza On

Sottoprogramma "AOFF": Regolazione della distanza Off

Programma principale "MAIN":

Codice di programma Commento

PROC AON

$AA_OFF_LIMIT[Z]=1 ; Definizione del valore limite.

FCTDEF(1, -10, +10, 0, 0.6, 0.12) ; Definizione del polinomio

ID=1 DO SYNFCT(1,$AA_OFF[Z],$A_INA[3]) ; Regolazione della distanza attiva.

ID=2 WHENEVER $AA_OFF_LIMIT[Z]<>0 DO $AA_OVR[X] = 0

; In caso di superamento del campo limite, bloccare l'asse X.

RET

ENDPROC

Codice di programma Commento

PROC AOFF

CANCEL(1) ; Cancellazione dell'azione sincrona regolazione della distanza

CANCEL(2) ; Cancellazione della verifica del campo limite

RET

ENDPROC

Codice di programma Commento

AON ; Regolazione della distanza On

...

G1 X100 F1000

AOFF ; Regolazione della distanza Off

M30

Page 599: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.4 Azioni nelle azioni sincrone

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 599

Ulteriori informazioniOffset di posizione nel sistema di coordinate di base

Con la variabile di sistema $AA_OFF[Asse] è possibile sovrapporre un movimento a ciascun asse nel canale. Essa è attiva come offset di posizione nel sistema di coordinate di base.

L'offset di posizione così programmato viene sovrapposto immediatamente all'asse in questione, indipendentemente dal fatto che il movimento dell'asse sia programmato o meno.

Limitazione dell'uscita della variabile di esecuzione:

È possibile limitare il valore da correggere in modo assoluto (uscita della variabile di esecuzione) al valore registrato nel dato di setting SD43350 $SA_AA_OFF_LIMIT.

Attraverso il dato macchina MD36750 $MA_AA_OFF_MODE, viene definito il tipo di sovrapposizione della distanza:

Con la variabile di sistema $AA_OFF_LIMIT[Asse], è possibile richiedere in funzione della direzione se il valore di correzione si trovi nel campo limite. Questa variabile di sistema può essere richiesta da azioni sincrone e, al raggiungimento di un valore limite, può ad esempio arrestare un asse o impostare un allarme.

Valore Significato0 Valutazione proporzionale1 Valutazione integrante

0: Valore di correzione al di fuori del campo limite.1 Limite del valore di correzione raggiunto in direzione positiva-1: Limite del valore di correzione raggiunto in direzione negativa

Page 600: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.4 Azioni nelle azioni sincrone

Preparazione del lavoro600 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

10.4.9 Correzione utensile on-line (FTOC)

Funzione FTOC consente movimenti sovrapposti per uno o più assi dopo un polinomio programmato con FCTDEF in funzione di un valore di riferimento, che ad es. può essere il valore reale di un asse.

Il coefficiente a0 della definizione della funzione FCTDEF(...) viene valutata con FTOC. Il limite superiore e inferiore dipende da a0.

Con FTOC è possibile anche programmare correzioni utensili online modali oppure regolazioni della distanza come azioni sincrone.

La funzione viene impiegata per l'esecuzione del pezzo e per la diamantatura della mola in uno stesso canale o in canali diversi (canale di lavorazione e canale di diamantatura).

Le condizioni generali e le definizioni per la diamantatura di mole valgono per FTOC in modo analogo alla correzione utensile online con PUTFTOCF (vedere "Correzione utensile online (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF) [Pagina 416]").

Sintassi

Significato

FCTDEF(<funzione>,<LLimit>,<ULimit>,<a0>,<a1>,<a2>,<a3>)

FTOC(<funzione>,<valore_riferimento>,<parametro_UT>,<canale>,<mandrino>)

...

FCTDEF: Con FCTDEF viene definita la funzione polinomiale per FTOC.Parametri:<funzione>: Numero della funzione polinomiale

Tipo: INTCampo dei valori: 1 ... 3

<LLimit>: valore limite inferioreTipo: REAL

<ULimit>: valore limite superioreTipo: REAL

<a0> ... <a3>: Coefficienti della funzione polinomialeTipo: REAL

Page 601: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.4 Azioni nelle azioni sincrone

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 601

DO FTOC: Esecuzione della funzione "Scrittura CUT online continua modale"Parametri:<funzione>: Numero della funzione polinomiale

Tipo: INTCampo dei valori: 1 ... 3Nota:Deve coincidere con il dato immesso per FCTDEF.

<valore di

riferimento>:Variabile di ciclo principale, per la quale deve essere calcolato un valore di funzione tramite la funzione polinomiale specificata con FCTDEF.Tipo: VAR REAL

<parametro_UT>: Numero del parametro di usura (lunghezza 1, 2 o 3) al quale va aggiunto il valore di correzione.Tipo: INT

<canale>: Numero del canale nel quale deve essere attivata la correzione utensile online.Tipo: INTNota:Occorre immettere un dato solo se la correzione non deve essere attivata nel canale attivo.

<mandrino>: Numero del mandrino nel quale deve essere attivata la correzione utensile online.Tipo: INTNota:Occorre immettere un dato solo se l'utensile da correggere non è quello attivo attualmente in uso ma una mola non attiva.

NotaNel canale di destinazione deve essere attivo FTOCON.

Page 602: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.4 Azioni nelle azioni sincrone

Preparazione del lavoro602 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

EsempioSi deve correggere la lunghezza della mola attiva che sta lavorando.

Codice di programma Commento

FCTDEF(1,-1000,1000,-$AA_IW[V],1) ; Definizione delle funzioni.

ID=1 DO FTOC(1,$AA_IW[V],3,1) ; Attivazione della correzione utensile online: Il valore reale dell'asse V è il valore di ingresso per il polinomio 1. Il risultato viene aggiunto nel canale 1 quale valore di correzione per la lunghezza 3 della mola attiva.

WAITM(1,1,2) ; Sincronizzazione con canale di elaborazione.

G1 V-0.05 F0.01 G91 ; Movimento di incremento per la diamantatura.

G1 V-0.05 F0.02

...

CANCEL(1) ; Disattivazione della correzione online.

...

Page 603: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.4 Azioni nelle azioni sincrone

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 603

10.4.10 Correzione online della lunghezza utensile ($AA_TOFF)

FunzioneCon la variabile $AA_TOFF[ ] si può eseguire una correzione tridimensionale in tempo reale sulla base delle tre dimensioni effettive dell'utensile.

Come indice si utilizzano i tre identificativi degli assi geometrici. In questo modo il numero delle direzioni di correzione attive viene definito attraverso gli assi geometrici abilitati nello stesso momento.

Tutte le correzioni possono essere abilitate contemporaneamente.

SintassiN... TRAORIN... TOFFON(X,<valore_offset>)N... WHEN TRUE DO $AA_TOFF[X]N... TOFFON(Y,<valore_offset>)N... WHEN TRUE DO $AA_TOFF[Y]N... TOFFON(Z,<valore_offset>)N... WHEN TRUE DO $AA_TOFF[Z]

Significato

TOFFON: Attivazione della correzione online di lunghezza utensileX, Y, Z : Orientamento dell'utensile in cui

deve attivarsi la correzione online di lunghezza utensile.

<valore_offset>: Quando si attiva la funzione, per la relativa direzione di correzione si può indicare un valore di offset che verrà subito eseguito.

TOFFOF: Reimpostazione della correzione online di lunghezza utensile I valori di correzione nella direzione specificata della correzione vengono rimessi a zero e viene attivato un arresto di predecodifica.

$AA_TOFF[X]=<valore>:$AA_TOFF[Y]=<valore>:$AA_TOFF[Z]=<valore>:

Sovrapposizione in direzione XSovrapposizione in direzione YSovrapposizione in direzione Z

Page 604: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.4 Azioni nelle azioni sincrone

Preparazione del lavoro604 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

EsempiEsempio 1: Selezione della correzione lunghezza utensile

Esempio 2: Disattivazione della correzione lunghezza utensile

Codice di programma Commento

N10 TRAORI(1) ; Trasformazione On.

N20 TOFFON(Z) ; Attivazione della correzione online della lunghezza utensile? per la direzione utensile Z.

N30 WHEN TRUE DO $AA_TOFF[Z]=10 G4 F5 ; Per la direzione utensile Z viene interpolata una correzione della lunghezza utensile di 10.

N40 TOFFON(X) ; Attivazione della correzione online della lunghezza utensile per la direzione utensile X.

N50 ID=1 DO $AA_TOFF[X]=$AA_IW[X2] G4 F5 ; Per la direzione utensile X viene eseguita una correzione a seconda della posizione dell'asse X2.

...

; Assegnazione della correzione attuale in direzione X. Per la direzione utensile X, la correzione della lunghezza utensile viene nuovamente portata a 0:

N100 XOFFSET=$AA_TOFF_VAL[X] N120 TOFFON(X,-XOFFSET) G4 F5

Codice di programma Commento

N10 TRAORI(1) ; Trasformazione On.

N20 TOFFON(X) ; Attivazione della correzione online della lunghezza utensile per la direzione utensile X.

N30 WHEN TRUE DO $AA_TOFF[X]=10 G4 F5 ; Per la direzione utensile X viene interpolata una correzione della lunghezza utensile di 10.

...

N80 TOFFOF(X) ; L'offset di posizione della direzione utensile X viene cancellato:...$AA_TOFF[X]=0Non viene spostato alcun asse.Per la posizione attuale nel SCP viene aggiunto l'offset di posizione relativamente all'orientamento attuale.

Page 605: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.4 Azioni nelle azioni sincrone

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 605

10.4.11 Movimenti di posizionamento

FunzioneGli assi possono essere posizionati da azioni sincrone anche in maniera del tutto asincrona rispetto al partprogram. La programmazione di assi di posizionamento da azioni sincrone è consigliata per sequenze cicliche dipendenti in maniera determinante da eventi. Gli assi programmati da azioni sincrone sono chiamati assi di comando.

Programmazione Bibliografia: /PG/ Manuale di programmazione, Concetti fondamentali, capitolo "Dati del percorso" /FBSY/ Descrizione delle funzioni, Azioni sincrone; "Avvio di assi di comando"

Parametri Il sistema di misura per ordini di posizionamento in azioni sincrone, viene definito con G70/G71/G700/G710 .

Mediante la programmazione di funzioni G nell'azione sincrona è possibile definire la valutazione inch/metrica per l'azione sincrona indipendentemente dal contesto del partprogram.

Page 606: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.4 Azioni nelle azioni sincrone

Preparazione del lavoro606 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

10.4.12 Posizionamento dell’asse (POS)

FunzioneContrariamente alla programmazione da partprogram, il movimento dell'asse di posizionamento non ha influenza sull'esecuzione del partprogram stesso.

SintassiPOS[asse]=valore

Significato

EsempiEsempio 1:

DO POS Start/posizionamento asse di comandoAsse Nome dell'asse che deve essere mossoValore Indicazione del valore da eseguire (in base al modo del

movimento)

Codice di programma Commento

ID=1 EVERY $AA_IM[B]>75 DO POS[U]=100 ; Movimento incrementale dell'asse U, in maniera dipendente dal modo, di 100 (inch/mm) oppure alla posizione 100 (inch/mm) dal punto di riferimento del controllo.

; Movimento dell'asse U nella misura del percorso calcolato dalla variabile di esecuzione:

ID=1 EVERY $AA_IM[B]>75 DO POS[U]=$AA_MW[V]-$AA_IM[W]+13.5

Page 607: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.4 Azioni nelle azioni sincrone

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 607

Esempio 2:

L'ambiente di programmazione influenza il percorso di posizionamentodell'asse di posizionamento (nessuna funzione G nella parte di azione dell'azione sincrona):

G71 nella parte di azione dell'azione sincrona determina il percorso di posizionamento dell'asse di posizionamento in modo univoco (metrico), indipendentemente dall'ambiente di programmazione:

Se il movimento dell'asse non viene avviato con l'inizio del blocco, l'override per l'asse può essere mantenuto su 0 da un'azione sincrona fino al momento iniziale desiderato.

Codice di programma Commento

N100 R1=0

N110 G0 X0 Z0

N120 WAITP(X)

N130 ID=1 WHENEVER $R==1 DO POS[X]=10

N140 R1=1

N150 G71 Z10 F10 ; Z=10 mm X=10 mm

N160 G70 Z10 F10 ; Z=254 mm X=254 mm

N170 G71 Z10 F10 ; Z=10 mm X=10 mm

N180 M30

Codice di programma Commento

N100 R1=0

N110 G0 X0 Z0

N120 WAITP(X)

N130 ID=1 WHENEVER $R==1 DO G71 POS[X]=10

N140 R1=1

N150 G71 Z10 F10 ; Z=10 mm X=10 mm

N160 G70 Z10 F10 ; Z=254 mm X=10 mm (X si posiziona sempre su 10 mm)

N170 G71 Z10 F10 ; Z=10 mm X=10 mm

N180 M30

Codice di programma Commento

WHENEVER $A_IN[1]==0 DO $AA_OVR[W]=0 G01 X10 Y25 F750 POS[W]=1500 FA=1000

; L'asse di posizionamento viene arrestato finché l'ingresso digitale 1 = 0.

Page 608: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.4 Azioni nelle azioni sincrone

Preparazione del lavoro608 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

10.4.13 Posizione nell'intervallo di riferimento predefinito (POSRANGE)

FunzioneCon la funzione POSRANGE( ) è possibile determinare se la posizione attuale di riferimento interpolata di un asse si trovi in una finestra attinente alla posizione di riferimento predefinita. I dati della posizione si possono riferire a sistemi di coordinate impostabili.

Nella richiesta della posizione reale di un asse modulo si tiene conto della correzione del modulo.

SintassiBOOL POSRANGE(asse, Refpos, Winlimit,[Coord])

Significato

Valore della funzionePosizione di riferimento attuale a seconda del dato di posizione nel sistema di coordinate predefinito

Nota

La funzione può essere richiamata solo dall'azione sincrona. Se la chiamata avviene dal partprogram, viene emesso l'allarme 14091 %1 blocco %2 Funzione non consentita, indice: %3 richiamato con l'indice 5.

BOOL POSRANGE La posizione attuale dell'asse di comando è nella finestra della posizione di riferimento predefinita.

AXIS <asse> Identificatore dell'asse macchina, asse canale o asse di geometria

REAL Refpos Posizione di riferimento nel sistema di coordinate CoordREAL Winlimit Valore che esprime il limite per la finestra di posizioneINT Coord Il sistema di coordinate macchina è attivo opzionalmente.

Sono possibili: 0 per SCM (sistema di coordinate macchina) 1 per SCB (sistema di coordinate di base) 2 per SOI (sistema di origine impostabile) 3 per SCP (sistema di coordinate pezzo)

Valore della funzione: TRUE

Valore della funzione: FALSE

se Refpos(Coord) - abs(Winlimit) ≤ Actpos(Coord) ≤ Refpos(Coord) + abs(Winlimit)altrimenti

Page 609: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.4 Azioni nelle azioni sincrone

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 609

10.4.14 Start/stop asse (MOV)

FunzioneCon MOV[asse]=valore è possibile attivare un asse di comando senza necessità di impostare una posizione finale. L'asse muove nella direzione programmata fino a quando un nuovo comando di movimento o di posizionamento non implica un nuovo movimento oppure fino a quando l'asse non viene arrestato con un comando di stop.

SintassiMOV[asse] = valore

Significato

Esempio

DO MOV Avvio del movimento dell'asse di comandoAsse Nome dell'asse che deve essere attivatoValore Comando di avvio/arresto del movimento

Il segno stabilisce la direzione di movimentoTipo di dati: INTEGER.

Valore >0 (generalmente +1)

Direzione positiva

Valore <0 (generalmente -1)

Direzione negativa

Valore ==0 Arrestare il movimento asse

NotaSe un asse di divisione viene arrestato con MOV[asse]=0, l'asse viene bloccato alla successiva posizione di divisione.

Codice di programma Commento

... DO MOV[U]=0 ; L'asse U viene arrestato

Page 610: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.4 Azioni nelle azioni sincrone

Preparazione del lavoro610 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

10.4.15 Scambio assi (RELEASE, GET)

FunzioniPer un cambio utensile possono venire richiesti i relativi assi di comando come azione sincrona con GET(asse). Il tipo di asse assegnato a questo canale e la relativa autorizzazione di interpolazione contemporanea possono essere oggetto di interrogazione tramite la variabile di sistema $AA_AXCHANGE_TYP. A seconda dello stato effettivo e del canale che possiede l'attuale autorizzazione di interpolazione di questo asse, sono possibili varie sequenze.

Se il cambio utensile è terminato, questo asse di comando può venire abilitato, quale azione sincrona con RELEASE(asse), per il canale.

Costruttore della macchina

L'asse interessato deve essere assegnato al canale tramite dati macchina. Fare attenzione alle indicazioni del costruttore della macchina.

SintassiGET(Asse[,asse{,...}]) richiesta asse

RELAESE(asse[,asse{,...}]) abilitazione asse

Significato

Esempio di esecuzione del programma per uno scambio assi di due canaliL'asse Z è conosciuto nel 1° canale e nel 2° canale.

Esecuzione del programma nel 1° canale:

DO RELEASE Abilitazione asse come asse neutroDO GET Prelievo asse per scambio assiAsse Nome dell'asse che deve essere avviato

Codice di programma Commento

WHEN TRUE DO RELEASE(Z) ; Asse Z diventa asse neutro

WHENEVER($AA_TYP[Z]==1) DO RDISABLE ; Blocco lettura finché asse Z è asse programma

N110 G4 F0.1

WHEN TRUE DO GET(Z) ; Asse Z diventa di nuovo asse programma NC

WHENEVER($AA_TYP[Z]<>1) DO RDISABLE ; Blocco lettura finché asse Z è asse programma

N120 G4 F0.1

WHEN TRUE DO RELEASE(Z) ; Asse Z diventa asse neutro

WHENEVER($AA_TYP[Z]==1) DO RDISABLE ; Blocco lettura finché asse Z è asse programma

Page 611: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.4 Azioni nelle azioni sincrone

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 611

Esecuzione del programma nel 2° canale:

Ulteriore esecuzione del programma nel 1° canale:

N130 G4 F0.1 ;

N140 START(2) ; Avvio 2° canale

Codice di programma Commento

WHEN TRUE DO GET(Z) ; ;prelievo asse Z nel 2° canale

WHENEVER($AA_TYP[Z]==0) DO RDISABLE ; ;blocco lettura finché l'asse Z è in un altro canale

N210 G4 F0.1

WHEN TRUE DO GET(Z) ; ;asse Z diventa asse programma NC

WHENEVER($AA_TYP[Z]<>1) DO RDISABLE ; ;blocco lettura finché asse Z è asse programma

N220 G4 F0.1

WHEN TRUE DO RELEASE(Z) ; ;asse Z nel 2° canale asse neutro

WHENEVER($AA_TYP[Z]==1) DO RDISABLE ; ;blocco lettura finché asse Z è asse programma

N230 G4 F0.1

N250 WAITM(10, 1, 2) ; Sincronizzazione con canale 1

Codice di programma Commento

N150 WAIM(10, 1, 2) ; Sincronizzazione con canale 2

WHEN TRUE DO GET(Z) ; Prelievo asse Z in questo canale

WHENEVER($AA_TYP[Z]==0) DO RDISABLE ; Blocco lettura finché asse Z in un altro canale

N160 G4 F0.1

N199 WAITE(2)

N999 M30 ; Attesa della fine del programma nel canale 2

Codice di programma Commento

Page 612: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.4 Azioni nelle azioni sincrone

Preparazione del lavoro612 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio di scambio assi nel ciclo tecnologicoL'asse U ($MA_AUTO_GET_TYPE=2) è conosciuto nel 1° canale e nel 2° canale e attualmente il canale 1 ha il diritto di interpolazione. Nel canale 2 viene avviato il seguente ciclo tecnologico:

La riga del movimento dell'asse di comando POS[U] viene eseguita solo se è stato prelevato l'asse U nel canale 2.

SequenzaL'asse richiesto al momento dell'attivazione dell'azione GET(asse) può essere letto in rapporto al tipo di asse per uno scambio di asse con la variabile di sistema ($AA_AXCHANGE_TYP[<asse>]):

• 0: asse assegnato al programma NC

• 1: asse assegnato al PLC o attivo come asse di comando o asse di pendolamento

• 2: un altro canale dispone del diritto di interpolazione

• 3: l'asse è un asse neutro

• 4: l'asse neutro è controllato dal PLC

• 5: un altro canale dispone del diritto di interpolazione, l'asse è richiesto per il programma NC

• 6: un altro canale dispone del diritto di interpolazione, l'asse è richiesto come asse neutro

• 7: asse del PLC o attivo come asse di comando o asse di pendolamento, l'asse è richiesto per il programma NC

• 8: asse del PLC o attivo come asse di comando o asse di pendolamento, l'asse è richiesto come asse neutro

Condizioni marginali

L'asse interessato deve essere assegnato al canale tramite dati macchina.

Un asse controllato esclusivamente dal PLC non può essere assegnato al programma NC.

Bibliografia: /FB2/ Manuale delle funzioni di ampliamento; assi di posizionamento (P2)

Codice di programma Commento

GET(U) ; Prelievo asse U nel canale

POS[U]=100 ; L'asse U deve essere spostato sulla posizione 100

Page 613: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.4 Azioni nelle azioni sincrone

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 613

Richiesta dell'asse da un altro canale con l'azione GETse al momento dell'attivazione dell'azione GET un altro canale ha l'autorizzazione di scrittura (autorizzazione di interpolazione) per l'asse ($AA_AXCHANGE_TYP[<asse>] == 2), l'asse viene richiesto da questo canale tramite scambio assi ($AA_AXCHANGE_TYP[<asse>]==6) e assegnato al canale richiesto non appena possibile.

L'asse assume quindi lo stato di asse neutro ($AA_AXCHANGE_TYP[<asse>]==3).

Non viene eseguita una riorganizzazione nel canale richiesto.

Assegnazione come programma NC asse con riorganizzazione:

Se già al momento dell'attivazione dell'azione GET l'asse è già stato richiesto come asse neutro ($AA_AXCHANGE_TYP[<asse>]==6), l'asse viene richiesto per il programma NC ($AA_AXCHANGE_TYP[<asse>]==5) e non appena possibile assegnato al programma NC del canale ($AA_AXCHANGE_TYP[<asse>]==0).

Asse già assegnato al canale richiestoAssegnazione come programma NC asse con riorganizzazione:

Se al momento dell'attivazione l'asse richiesto è già assegnato al canale richiesto, e nello stato asse neutro – non controllato dal PLC – ($AA_AXCHANGE_TYP[<asse>]==3), esso viene assegnato al programma NC ($AA_AXCHANGE_TYP[<asse>]==0).

L''asse nello stato asse neutro è controllato dal PLCSe l'asse nello stato asse neutro è controllato dal PLC ($AA_AXCHANGE_TYP[<asse>]==4), esso viene richiesto come asse neutro ($AA_AXCHANGE_TYP[<asse>] == 8), in base al bit 0 nel dato macchina DM 10722: AXCHANGE_MASK l'asse viene disabilitato per uno scambio assi automatico tra i canali (Bit 0 == 0). Questo corrisponde a ($AA_AXCHANGE_STAT[<asse>] == 1).

L'asse è attivo come asse di comando neutro o asse di pendolamento o assegnato al PLCSe l'asse è attivo come asse di comando o asse di pendolamento oppure assegnato per il movimento al PLC, asse PLC == asse di posizionamento simultaneo, ($AA_AXCHANGE_TYP[<asse>]==1), l'asse viene richiesto come asse neutro ($AA_AXCHANGE_TYP[<asse>] == 8), in base al bit 0 nel dato macchina DM 10722: AXCHANGE_MASK l'asse viene disabilitato per uno scambio assi automatico tra i canali (Bit 0 == 0). Questo corrisponde a ($AA_AXCHANGE_STAT[<asse>] == 1).

Una nuova azione GET richiede quindi l'asse per il programma NC ($AA_AXCHANGE_TYP[<asse>] diventa == 7).

Page 614: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.4 Azioni nelle azioni sincrone

Preparazione del lavoro614 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

L'asse è già assegnato al programma NCSe l'asse è già assegnato al programma NC del canale ($AA_AXCHANGE_TYP[<asse>]==0) o se è richiesta questa assegnazione, p. es. scambio assi attivato dal programma NC ($AA_AXCHANGE_TYP[<asse>]==5 o $AA_AXCHANGE_TYP[<asse>] == 7), non si verifica nessuna variazione di stato.

10.4.16 Avanzamento assiale (FA)

FunzioniL'avanzamento assiale per gli assi di comando ha effetto modale.

SintassiFA[<Asse>]=<Valore>

Esempio

10.4.17 Finecorsa SW

FunzioneLa limitazione del campo di lavoro programmata con G25/G26 viene tenuta in considerazione per gli assi di comando in relazione al dato setting $SA_WORKAREA_PLUS_ENABLE.

L'attivazione e la disattivazione della limitazione del campo di lavoro con le funzioni G WALIMON/WALIMOF in un partprogram non ha influenza sugli assi comando.

Codice di programma Commento

ID=1 EVERY $AA_IM[B]>75 DO POS[U]=100 FA[U]=990 ; Impostazione del valore di avanzamento

; Creazione del valore di avanzamento dalla variabile di esecuzione:

ID=1 EVERY $AA_IM[B]>75 DO POS[U]=100 FA[U]=$AA_VACTM[W]+100

Page 615: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.4 Azioni nelle azioni sincrone

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 615

10.4.18 Coordinamento assi

FunzioniGeneralmente un asse viene mosso da un partprogram oppure da un'azione sincrona come asse di posizionamento.

Se invece uno stesso asse deve essere mosso alternativamente dal partprogram come asse di contornitura o di posizionamento ed anche da azioni sincrone, avviene una trasmissione coordinata tra i due tipi di movimento.

Se l'asse di comando viene poi mosso da un partprogram si rende necessaria una riorganizzazione della preelaborazione. Ciò causa a sua volta un'interruzione dell'esecuzione del partprogram, similmente ad uno stop preelaborazione.

Esempio di movimento dell'asse X da partprogram e da azioni sincrone

Esempio di modifica del comando di movimento per lo stesso asse

Codice di programma Commento

N10 G01 X100 Y200 F1000 ; Asse X programmato nel partprogram

N20 ID=1 WHEN $A_IN[1]==1 DO

POS[X]=150 FA[X]=200

; Avvio del posizionamento dall'azione sincrona se è ;presente l'ingresso digitale

CANCEL(1) ; Disattivazione dell'azione sincrona

N100 G01 X240 Y200 F1000 ; X diventa asse vettoriale; prima del movimento viene attivato un tempo di attesa a causa del passaggio di controllo dell'asse, nel caso in cui l'ingresso digitale fosse l'ingresso 1 e X sia stato posizionato con azioni sincrone.

Codice di programma Commento

ID=1 EVERY $A_IN[1]>=1 DO POS[V]=100 FA[V]=560 ; Avvio del posizionamento dall'azione sincrona se l'ingresso digitale >= 1

ID=2 EVERY $A_IN[2]>=1 DO POS[V]=$AA_IM[V] FA[V]=790 ; L'asse muove quando viene settato il 2° ingresso, cioè la posizione finale e l'avanzamento per l'asse V vengono inseguite in caso di due azioni sincrone contemporaneamente attive con movimento in corso.

Page 616: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.4 Azioni nelle azioni sincrone

Preparazione del lavoro616 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

10.4.19 Impostazione del valore reale (PRESETON)

FunzioneL'esecuzione di PRESETON (asse, valore) non ha effetto sulla posizione attuale dell'asse, ma le assegna un nuovo valore.

PRESETON da azioni sincrone è possibile:

• per assi di assi rotanti con funzione modulo che sono stati attivati dal partprogram

• per tutti gli assi di comando che sono stati attivati dall'azione sincrona

SintassiDO PRESETON(Asse, Valore)

Significato

Limitazioni per assi

PRESETON non è possibile per gli assi che fanno parte di una trasformazione.

Lo stesso asse può essere mosso da un partprogram o da un'azione sincrona solo in momenti diversi, il che significa che, nella programmazione di un asse da un partprogram, possono verificarsi tempi di attesa, dipendenti da una precedente programmazione dello stesso asse in un'azione sincrona.

Se lo stesso asse viene impiegato alternativamente, avviene un trasferimento coordinato tra i due movimenti dell'asse. A questo scopo viene interrotta l'esecuzione del partprogram.

EsempioTraslazione del punto di riferimento del controllo di un asse

DO PRESETON Impostazione del valore reale in azioni sincroneAsse Asse il cui punto di riferimento del controllo deve essere

modificatoValore Valore del quale viene modificato il punto di riferimento del

controllo

Codice di programma Commento

WHEN $AA_IM[a] >= 89.5 DO PRESETON(a4,10.5) ; Spostamento del punto di riferimento del controllo dell'asse a di 10,5 unità di lunghezza (inch o mm) in direzione positiva dell'asse

Page 617: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.4 Azioni nelle azioni sincrone

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 617

10.4.20 Annillamento dell'abilitazione della rotazione container assi (AXCTSWEC)

FunzioneIl comando AXCTSWEC consente di annullare un'abilitazione già impartita per la rotazione del container assi. Il comando provoca uno stop preelaborazione con riorganizzazione (STOPRE).

EfficaciaAffinché nel canale sia possibile annullare l'abilitazione della rotazione container assi, devono essere soddisfatte le seguenti condizioni:

• Nel canale deve essere già stata data l'abilitazione della rotazione container assi:- AXCTSWE(<container assi>)

- $AC_AXCTSWA[<container assi>] == 1

• L'abilitazione della rotazione container assi non è ancora iniziata:- $AN_AXCTSWA[<container assi>] == 0

Come risposta per l'avvenuta eliminazione dell'abilitazione della rotazione container assi, viene resettata la variabile di sistema specifica del canale:$AC_AXCTSWA[<container assi>] == 0

Bibliografia:Per informazioni sulle variabili di sistema vedere "Container assi (AXCTSWE, AXCTSWED, AXCTSWEC) [Pagina 687]".

SintassiDO AXCTSWEC(<container assi>)

Significato

DO AXCTSWEC: Annullamento dell'abilitazione della rotazione container assi per il canale

<container assi>: Identificatore del container assiI possibili dati sono i seguenti:CT<numero container>: Alla combinazione di lettere CT

viene aggiunto il numero del container assi.Esempio: CT3

<nome container>: Nome individuale del container assi impostato con MD12750 $MN_AXCT_NAME_TAB.Esempio: A_CONT3

<nome_asse>: Nome di un asse container che è noto nel canale interessato.

Page 618: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.4 Azioni nelle azioni sincrone

Preparazione del lavoro618 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

EsempioEsempio di programma:

Ciclo tecnologico CTSWEC:

Codice di programma Commento

N100 Id=1 DO CTSWEC ; Per il ciclo tecnologico vedere oltre.

; init

NEXT:

N200 G0 X30 Z1

N210 G95 F.5

N220 M3 S1000

N230 G0 X25

N240 G1 Z-10

N250 G0 X30

N260 M5

N270 AXCTSWE(S1) ; Abilitazione della rotazione container assi tramite il mandrino container S1 noto nel canale.

N280 GOTO NEXT

Codice di programma Commento

CTSWEC PROC(_ex_CT="CT1" STRING _ex_CTsl_BITmask=1H LONG _ex_CT_SL_Number=1 _ex_WAIT_number_of_IPOs=1000) DISPLOF ICYCOF

DEFINE _ex_CT[3] ; nome container

DEFINE _ex_CTsl_BITmask ; bit slot

DEFINE _ex_CT_SL_Number LONG =1

DEFINE _ex_WAIT_number_of_IPOs INTEGER =1000

DEFINE _ex_number_of_IPOs $AC_MARKER[0]

N110 IF (($A_STOP_COND[0] OR $A_STOP_COND[1] OR $A_STOP_COND[2] OR $A_STOP_COND[3] OR $A_STOP_COND[4] OR $A_STOP_COND[5] OR $A_STOP_COND[6] OR $A_STOP_COND[7] OR $A_STOP_COND[8] OR $A_STOP_COND[9] OR $A_STOP_COND[10]) is true))

N120 _ex_number_of_IPOs=_ex_number_of_IPOs+1 ; Se una condizione di arresto è presente per oltre 1000 clock IPO

N130 IF _ex_number_of_IPOs >= _ex_WAIT_number_of_IPOs AND $AN_AXCTSWEC[_ex_CT] == _ex_CTsl_BITmask

; e l'abilitazione del proprio slot non è ancora avvenuta:

N140 AXCTSWEC ; annullare l'abilitazione.

; … ELSE ; attendere finché la condizione di arresto non si risolve da sé.

N150 ENDIF

N160 ELSE

N170 _ex_number_of_IPOs=0

N180 ENDIF

N190 RET

Page 619: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.4 Azioni nelle azioni sincrone

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 619

Condizioni marginali

Utilizzo di un container assi prima del richiamo di AXCTSWEC

Dato che l'elaborazione del programma non si arresta con AXCTSWE, nella programmazione dell'azione sincrona DO AXCTSWEC occorre tenere conto di quanto segue:

Esempio:

Dato che dopo il blocco N10 con l'abilitazione della rotazione container assi con il blocco N20 viene utilizzato un asse del container assi (AX_A) e questo utilizzo provoca l'attesa della fine della rotazione container assi, l'azione sincrona arriva nell'elaborazione principale solo insieme al blocco programma N30 ed è quindi senza effetto.

Rimedio:

Codice di programma Commento

N10 AXCTSWE(CT3) ; Abilitazione della rotazione container assi.

N20 AX_A10 ;;

AX_A = asse container.Si attende la fine della rotazione container assi: $AN_AXCTSWA[CT3]==0

WHEN <condizione> DO AXCTSWEC(AX_A) ; Annullamento dell'abilitazione. Nessun effetto!N30 G4 F1

Codice di programma Commento

N11 AXCTSWE(CT3) ; Abilitazione della rotazione container assi.

WHEN <condizione> DO AXCTSWEC(AX_A) ; Annullamento dell'abilitazione.

N21 ... ; Blocco NC eseguibile.

N31 AX_A10 ; Si attende la fine della rotazione container assi: $AN_AXCTSWA[CT3]==0

ATTENZIONESenza il blocco eseguibile N21 l'azione sincrona arriva nell'elaborazione principale solo dopo la fine della rotazione container assi con il successivo blocco di programma eseguibile N31 e quindi sarebbe senza effetto come nell'esempio precedente.

Page 620: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.4 Azioni nelle azioni sincrone

Preparazione del lavoro620 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

10.4.21 Movimenti del mandrino

FunzioniI mandrini possono essere posizionati da azioni sincrone del tutto indipendentementi dal partprogram. Questo tipo di programmazione è adatto per sequenze o processi ciclici che dipendono fortemente da eventi.

Se, a causa di due azioni sincrone attive contemporaneamente, per un mandrino vengono emessi comandi contraddittori, vale sempre l'ultimo comando in ordine in tempo.

Esempio di attivazione/arresto/posizionamento mandrino

Esempio di impostazione del senso di rotazione e del numero di giri/posizionamento del mandrino

Codice di programma Commento

ID=1 EVERY $A_IN[1]==1 DO M3 S1000 ; Impostazione del senso di rotazione e del numero di giri

ID=2 EVERY $A_IN[2]==1 DO SPOS=270 ; Posizionamento del mandrino

Codice di programma Commento

ID=1 EVERY $A_IN[1]==1 DO M3 S300 ; Impostazione del senso di rotazione e del numero di giri

ID=2 EVERY $A_IN[2]==1 DO M4 S500 ; Indicazione di un nuovo senso di rotazione e di un nuovo numero di giri

ID=3 EVERY $A_IN[3]==1 DO S1000 ; Indicazione di un nuovo numero di giri

ID=4 EVERY ($A_IN[4]==1) AND ($A_IN[1]==0) DO SPOS=0

; Posizionamento del mandrino

Page 621: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.4 Azioni nelle azioni sincrone

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 621

10.4.22 Trascinamento (TRAILON, TRAILOF)

FunzioniAl momento dell'attivazione dell'accoppiamento dall'azione sincrona può accadere che l'asse master sia in movimento. In questo caso la velocità dell'asse a seguire viene aumentata fino a raggiungere la velocità di riferimento. La posizione dell'asse master al momento della sincronizzazione delle diverse velocità viene presa come punto di partenza del trascinamento. La funzionalità del trascinamento viene descritta nel capitolo "Comportamento del movimento sul profilo".

SintassiAttivazione del trascinamentoDO TRAILON(asse a seguire, asse master, fattore di accoppiamento)

Disattivare il trascinamentoDO TRAILOF (Asse slave, Asse master, Asse master 2)

Significato

Attivazione del trascinamento asincrono:... DO TRAILON(FA, LA, Kf)

con: FA: Asse slaveLA: Asse masterKf: fattore di accoppiamento

Disattivazione del trascinamento asincrono:... DO TRAILOF(FA, LA, LA2)

... DO TRAILOF(FA)

con: FA: Asse slaveLA: Asse master, opzionaleLA2: asse master 2, opzionaleTutti gli accoppiamenti all'asse slave vengono disattivati.

Page 622: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.4 Azioni nelle azioni sincrone

Preparazione del lavoro622 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio

Esempio per evitare il conflitto con TRAILOFPer poter consentire nuovamente la gestione di un asse accoppiato come asse canale, deve essere prima richiamata la funzione TRAILOF . È necessario assicurarsi che TRAILOF sia stata eseguita prima che il canale richieda l'asse interessato. Non è questo il caso dell'esempio che segue…

N50 WHEN TRUE DO TRAILOF(Y,X)

N60 Y100

In questo caso l’asse non è stato svincolato in tempo utile in quanto l’azione sincrona attiva nel blocco, viene attivata con TRAILOF sincrono con N60 , vedere capitolo Azioni sincrone al movimento, "Struttura, concetti fondamentali". Per evitare situazioni di conflitto, si dove procedere

nel seguente modo…

N50 WHEN TRUE DO TRAILOF(Y,X)

N55 WAITP(Y)

N60 Y100

Codice di programma Commento

$A_IN[1]==0 DO TRAILON(Y,V,1) ; Attivazione del 1° gruppo di trascinamento se l'ingresso digitale è 1

$A_IN[2]==0 DO TRAILON(Z,W,-1) ; Attivazione del 2° gruppo di trascinamento

G0 Z10 ; Incremento dell'asse Z e W nella direzione dell'asse ;opposta

G0 Y20 ; Incremento dell'asse Y e V nella stessa direzione dell'asse

...

G1 Y22 V25 ; Sovrapposizione di un movimento dipendente e ;indipendente dell'asse di trascinamento "V"

...

TRAILOF(Y,V) ; Disattivazione del 1° gruppo di trascinamento

TRAILOF(Z,W) ; Disattivazione del 2° gruppo di trascinamento

Page 623: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.4 Azioni nelle azioni sincrone

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 623

10.4.23 Accoppiamento al valore master (LEADON, LEADOF)

FunzioneL'accoppiamento al valore master assiale può essere programmato nelle azioni sincrone senza limitazioni di nessun tipo. La variazione di una tabella di curve con accoppiamento attivo senza una precedente risincronizzazione, è possibile in modo opzionale solo nelle azioni sincrone.

SintassiAttivare l'accoppiamento al valore masterDO LEADON(asse slave, asse master, tabella di curve Nr., OVW)

Disattivare l'accoppiamento al valore masterDO LEADOF(asse a seguire, asse master, asse master 2)

Significato

NotaQuesta funzione non è disponibile per SINUMERIK 828D!

Attivazione dell'accoppiamento al valore master assiale:

...DO LEADON(FA, LA, NR, OVW)

con: FA: Asse slaveLA: Asse masterNR: Numero della tabella di curve memorizzataOVW: Consentire la sovrascrittura di una tabella già esistente con tabella di curve modificata

Disattivazione dell'accoppiamento al valore master assiale:

...DO LEADOF(FA, LA)

... DO LEADOF(FA)

con:FA: Asse slaveLA: Asse master, opzionale

forma abbreviata senza indicazione dell'asse master

Page 624: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.4 Azioni nelle azioni sincrone

Preparazione del lavoro624 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Attivazione dell'accesso tramite azioni sincrone RELEASE

Per attivare un asse da accoppiare per l'accesso tramite azioni sincrone, è necessario richiamare prima la funzione RELEASE per l'asse slave da accoppiare.

Esempio:RELEASE (XKAN)

ID=1 every SR1==1 to LEADON(CACH,XKAN,1)

OVW=0 (valore di default)

Ad un'accoppiamento esistente non è possibile trasmettere nessuna tabella di curve senza una nuova sincronizzazione. Una modifica della tabella di curve richiede prima una disattivazione dell'accoppiamento attivo e poi una successiva attivazione con il numero di tabella di curve modificata. Questo comporta una risincronizzazione dell'accoppiamento.

Modifica della tabella di curve con accoppiamento esistente tramite OVW=1

Con OVW=1 si può trasmettere una nuova tabella di curve ad un'accoppiamento esistente. Non avviene alcuna risincronizzazione. L'asse slave cerca di seguire il più rapidamente possibile i valori di posizione trasmessi dalla nuova tabella di curve.

Esempio di distacco al voloUn materiale estruso in continuazione deve essere tagliato a misura transitando sotto un dispositivo di taglio.

Asse X: asse su cui si muove il materiale estruso. SCPAsse X1: asse macchina del materiale estruso, SCM Asse Y: asse lungo il quale il dispositivo di taglio “muove sincronizzato” con il materiale

Si presume che l'avanzamento dell'accessorio separatore e il suo comando vengano controllati da PLC. Per stabilire il sincronismo tra il materiale e l'utensile di taglio si possono valutare i segnali dell'interfaccia PLC.

AzioniAttivazione dell’accoppiamento, LEADON Disattivazione dell'accoppiamento, LEADOF Impostazione del valore reale, PRESETON

Page 625: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.4 Azioni nelle azioni sincrone

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 625

Codice di programma Commento

N100 R3=1500 ; Lunghezza di un componente da separare

N200 R2=100000 R13=R2/300

N300 R4=100000

N400 R6=30 ; Posizione iniziale asse Y

N500 R1=1 ; Condizione di partenza per l'asse del nastro trasportatore

N600 LEADOF(Y,X) ; Cancellazione di un accoppiamento eventualmente presente

N700 CTABDEF(Y,X,1,0) ; Definizione della tabella

N800 X=30 Y=30 ; Coppie di valori

N900 X=R13 Y=R13

N1000 X=2*R13 Y=30

N1100 CTABEND ; Fine della definizione della tabella

N1200 PRESETON(X1,0) ; PRESET per l'inizio

N1300 Y=R6 G0 ; Posizione iniziale asse Y, l'asse è lineare

N1400 ID=1 WHENEVER $AA_IW[X]>$R3 DO PESETON(X1,0) ; PRESET dopo lunghezza R3, nuovo inizio dopo la separazione

N1500 RELEASE(Y)

N1800 ID=6 EVERY $AA_IM[X]<10 DO LEADON(Y,X,1) ; Accoppiamento di Y su X tramite la tabella 1 con X < 10

N1900 ID=10 EVERY $AA_IM[X]>$R3-30 DO EADOF(Y,X) ; Disaccoppiamento > 30 prima della lunghezza di separazione percorsa

N2000 WAITP(X)

N2100 ID=7 WHEN $R1==1 DO MOV[X]=1 FA[X]=$R4 ; Messa in movimento costante dell'asse della barra

N2200 M30

Page 626: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.4 Azioni nelle azioni sincrone

Preparazione del lavoro626 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

10.4.24 Misura (MEAWA, MEAC)

FunzioniAl contrario di quando viene impiegata in blocchi di movimento del partprogram, la funzione di misura nelle azioni sincrone può essere attivata e disattivata a piacere.

Per ulteriori informazioni sulle misure, vedere le istruzioni speciali per il percorso "Funzione di misura ampliata

SintassiMisura assiale senza cancellazione del percorso residuoMEAWA[Asse] = (Modo, Evento di trigger_1, ..._4)

Misura continua senza cancellazione del percorso residuo

MEAC[Asse] = (Modo, memoria di misura, Evento di trigger_1, ..._4))

Significato

Codice di programma

Commento

DO MEAWA ; Attivazione della misura assiale

DO MEAC ; Attivazione della misura continua

Asse ; Nome dell'asse per il quale avviene la misura

Modo ; Impostazione della decade

delle decine0: sistema di misura attivo

numero dei sistemi di misura (in base al modo)1: 1. sistema di misura2: 2. sistema di misura3: entrambi i sistemi di misura

Impostazione della decade delle

unità0: interruzione funzione di misura

fino a 4 diversi eventi di trigger attivabili1: contemporaneamente2: in sequenza3: come 2 ma senza sorveglianza dell'evento di trigger1 allo start

Evento di trigger_1 ... _4

; : fronte di salita del tastatore di misura 1-1: fronte di discesa del tastatore di misura 12: fronte di salita del tastatore di misura 2-2: fronte di discesa del tastatore di misura 2, opzionale

Memoria di misura

; Numero della memoria ad anello FIFO

Page 627: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.4 Azioni nelle azioni sincrone

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 627

10.4.25 Inizializzazione delle variabili di campo (SET, REP)

FunzioniNelle azioni sincrone è possibile inizializzare le variabili di campo o descriverle con determinati valori.

SintassiDO FELD[n,m]=SET(<Valore1>,<Valore2>,...)DO FELD[n,m]=REP(<Valore>)

Significato

Esempio

NotaSono possibili solo le variabili descrivibili nelle azioni sincrone. I dati macchina non sono pertanto inizializzabili. Le variabili d'asse non sono definibili con il valore NO_AXIS.

FELD[n,m] Indici di campo programmatiL'inizializzazione parte dall'indice di campo programmato. Nel caso dei campi bidimensionali viene prima incrementato il secondo indice; non viene invece elaborato per gli indici d'asse.

SET(<Valore1>,<Valore2>,...)

Inizializzazione con liste di valoriIl campo viene descritto con i parametri di SET dagli indici di campo programmati. Vengono assegnati tanti elementi di campo quanti valori sono stati programmati. Se i valori programmati superano gli elementi di campo rimanenti, viene generato un allarme.

REP(<Valore>) Inizializzazione con valori ugualiIl campo viene descritto ripetutamente con il parametro (<Valore>) di REP dagli indici di campo programmati fino alla fine del campo.

Codice di programma Commento

WHEN TRUE DO SYG_IS[0]=REP(0) ; Risultato:SYG_IS[0]=0SYG_IS[1]=3SYG_IS[2]=4SYG_IS[3]=5SYG_IS[4]=0

WHEN TRUE DO SYG_IS[1]=SET(3,4,5) ;

Page 628: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.4 Azioni nelle azioni sincrone

Preparazione del lavoro628 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

10.4.26 Impostazione/cancellazione di label di attesa (SETM, CLEARM)

FunzioniIn azioni sincrone è possibile impostare o cancellare label di attesa, per es. per coordinare fra loro i canali.

SintassiDO SETM(<n. marker>)DO CLEARM(<n. marker>)

Significato

SETM Comando per l'impostazione di label di attesa per il canaleIl comando SETM può essere scritto nel partprogram e nella parte di azione di un'azione sincrona. Esso imposta il label (<N. marker>) per il canale in cui si trova il comando.

CLEARM Comando per la cancellazione di label di attesa per il canaleIl comando CLEARM può essere scritto nel partprogram e nella parte di azione di un'azione sincrona. Esso cancella il label (<N. marker>) per il canale in cui si trova il comando.

<N. marker> Label di attesa

Page 629: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.4 Azioni nelle azioni sincrone

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 629

10.4.27 Reazioni agli errori (SETAL)

FunzioneAttraverso le azioni sincrone è possibile programmare le reazioni agli errori. Vengono interrogate le variabili di stato e attivate azioni corrispondenti.

Le possibili reazioni agli errori sono le seguenti:

• Arresto dell'asse (override=0)

• Impostazione dell'allarme

Con SETAL è possibile impostare allarmi di cicli da azioni sincrone.• settare un'uscita

• Tutte le azioni possibili nelle azioni sincrone

SintassiImpostazione dell'allarme ciclo:DO SETAL(<n_allarme>)

Significato

Esempio

SETAL Comando per l'impostazione di un allarme ciclo<n_allarme> Numero dell'allarme

Campo di allarme cicli per l'utente: 65000 … 69999

Codice di programma Commento

ID=67 WHENEVER ($AA_IM[X1]-$AA_IM[X2])<4.567 DO $AA_OVR[X2]=0 ; Se la distanza di sicurezza tra gli assi X1 e X2 è troppo piccola, arrestare l'asse X2.

ID=67 WHENEVER ($AA_IM[X1]-$AA_IM[X2])<4.567 DO SETAL(65000) ; Se la distanza di sicurezza tra gli assi X1 e X2 è troppo piccola, impostare l'allarme 65000.

Page 630: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.4 Azioni nelle azioni sincrone

Preparazione del lavoro630 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

10.4.28 Avanzamento su riscontro fisso (FXS, FXST, FXSW, FOCON, FOCOF)

FunzioneI comandi per la funzione "Avanzamento su riscontro fisso" vengono programmati in azioni sincrone/cicli tecnologici con i comandi dei partprogram FXS, FXST e FXSW.

L'attivazione può avvenire senza movimento, la coppia viene immediatamente limitata. Non appena l'asse si sposta in direzione del setpoint, si attiva la sorveglianza di riscontro fisso.

Avanzamento con coppia/forza limitata (FOC)

La funzione consente di modificare in qualunque momento, tramite azioni sincrone, la coppia/forza e può essere attivata in maniera modale o riferita al blocco.

SintassiFXS[<asse>]FXST[<asse>]FXSW[<asse>]FOCON[<asse>]FOCOF[<asse>]

Significato

FXS Selezione solo nei sistemi con azionamenti digitali (VSA, HSA, HLA)

FXST Modifica della coppia di serraggio FXSTFXSW Modifica della finestra di sorveglianza FXSWFOCON Attivazione della limitazione della coppia/forza con validità

modaleFOCOF Disattivazione della limitazione della coppia/forza<asse> Identificatore dell'asse

Sono consentiti:• Identificatore dell'asse geometrico• Identificatore dell'asse canale• Identificatore dell'asse macchina

NotaLa selezione può avvenire una sola volta.

Page 631: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.4 Azioni nelle azioni sincrone

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 631

EsempiEsempio 1: Avanzamento su riscontro fisso (FXS), attivato da un'azione sincrona

Esempio 2: Attivazione della limitazione della coppia/forza (FOC)

Codice di programma Commento

Asse Y: ; Azioni sincrone statiche

Attivazione:

N10 IDS=1 WHENEVER (($R1==1) AND $AA_FXS[y]==0)) D $R1=0 FXS[Y]=1 FXST[Y]=10 FA[Y]=200 POS[Y]=150

; Impostando $R1=1, per l'asse Y viene attivato FXS, la coppia attiva viene ridotta a 10% e viene avviato un movimento in direzione del riscontro fisso.

N11 IDS=2 WHENEVER ($AA_FXS[Y]==4) DO FXST[Y]=30 ; Non appena il riscontro fisso è stato riconosciuto ($AA_FXS[Y]==4), la coppia viene aumentata al 30%.

N12 IDS=3 WHENEVER ($AA_FXS[Y]==1) DO FXST[Y]=$R0 ; Una volta raggiunto il riscontro fisso, la coppia viene controllata in funzione di R0.

N13 IDS=4 WHENEVER (($R3==1) AND $AA_FXS[Y]==1)) DO FXS[Y]=0 FA[Y]=1000 POS[Y]=0

; Deselezione in funzione di R3 e ritorno.

N20 FXS[Y]=0 G0 G90 X0 Y0 ; Normale esecuzione del programma:

N30 RELEASE(Y) ; Abilitazione dell'asse Y per il movimento nell'azione sincrona.

N40 G1 F1000 X100 ; Movimento di un altro asse.

N50 ...

N60 GET(Y) ; Ripresa dell'asse Y nel gruppo di interpolazione

Codice di programma Commento

N10 FOCON[X] ; Attivazione modale della limitazione.

N20 X100 Y200 FXST[X]=15 ; X si muove con coppia ridotta (15%).

N30 FXST[X]=75 X20 ; Modifica della coppia al 75%, X si muove con questa coppia limitata.

N40 FOCOF[X] ; Disattivazione della limitazione della coppia.

Page 632: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.4 Azioni nelle azioni sincrone

Preparazione del lavoro632 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Ulteriori informazioniSelezione multipla

Se, a causa di una programmazione errata, la funzione viene nuovamente richiamata dopo l'attivazione (FXS[<Asse>]=1), viene attivato l'allarme seguente:

Allarme 20092 "Avanzamento su riscontro fisso ancora attivo"

Una programmazione che richieda nella condizione $AA_FXS[ ] oppure un proprio merker (in questo caso R1) evita un'attivazione multipla della funzione "Frammento del partprogram":

Azioni sincrone riferite al blocco

Attraverso la programmazione di un'azione sincrona riferita al blocco, è possibile attivare l'avanzamento su riscontro fisso durante un movimento di avviamento.

Esempio:

Azioni sincrone statiche e riferite al blocco

Nelle azioni sincrone statiche e riferite al blocco è possibile utilizzare gli stessi comandi FXS, FXST e FXSW della normale esecuzione del partprogram. I valori che vengono assegnati possono essere stati derivati da un calcolo.

10.4.29 Definizione dell'angolo della tangente vettoriale nella azioni sincrone

FunzioneLa variabile di sistema che può essere letta in azioni sincrone $AC_TANEB (Tangent ANgel at End of Block), rileva l’angolo tra la tangente vettoriale nel punto finale del blocco attuale e la tangente vettoriale nel punto iniziale del blocco successivo programmato.

Codice di programma

N10 R1=0

N20 IDS=1 WHENEVER ($R1==0 AND

$AA_IW[AX3] > 7) DO R1=1 FXST[AX1]=12

Codice di programma Commento

N10 G0 G90 X0 Y0

N20 WHEN $AA_IW[X] > 17 DO FXS[X]=1 ; Se X raggiunge una posizione superiore a 17 mm, viene attivato FXS.

N30 G1 F200 X100 Y110

Page 633: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.4 Azioni nelle azioni sincrone

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 633

ParametriL’angolo tangenziale viene sempre emesso positivo nel settore da 0.0 a 180.0 gradi. Se non è presente un blocco successivo nell'esecuzione principale, l'angolo viene emesso come -180.0 gradi.

La variabile di sistema $AC_TANEB non dovrebbe essere letta in blocchi che vengono generati dal sistema (blocchi intermedi). La variabile di sistema $AC_BLOCKTYPE viene utilizzata per distinguere se si tratta di un blocco programmato (blocco principale).

EsempioID=2 EVERY $AC_BLOCKTYPE==0 DO $SR1 = $AC_TANEB

10.4.30 Determinazione dell’override attuale

FunzioneOverride attuale

(Parte NC) può essere letta e scritta in azioni sincrone con le variabili di sistema:

$AA_OVR Override assiale

$AC_OVR Override vettoriale.

L'override impostato dal PLC viene messo a disposizione per la lettura da azioni sincrone nelle variabili di sistema:

$AA_PLC_OVR Override assiale

$AC_PLC_OVR Override vettoriale.

Override risultante

viene messo a disposizione per la lettura da azioni sincrone nelle variabili di sistema

$AA_TOTAL_OVR Override assiale

$AC_TOTAL_OVR Override vettoriale.

L’override risultante si ricava come:

$AA_OVR * $AA_PLC_OVR oppure

$AC_OVR * $AC_PLC_OVR

Page 634: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.4 Azioni nelle azioni sincrone

Preparazione del lavoro634 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

10.4.31 Rilevazione del sovraccarico tramite il fabbisogno di tempo delle azioni sincrone

FunzioniIn un ciclo di interpolazione, da parte dell’NC devono essere interpretate le azioni sincrone e calcolati i movimenti, etc. Con le variabili di sistema descritte in seguito, le azioni sincrone possono ricavare le informazioni sulle quote di tempo delle azioni sincrone nel clock di interpolazione e sul tempo di calcolo del regolatore di posizione.

SignificatoLe variabili contengono valori validi solo se il dato macchina $MN_IPO_MAX_LOAD è maggiore di 0. In caso contrario le variabili definiscono sempre, tanto per i sistemi SINUMERIK powerline quanto per quelli solution line, il tempo di calcolo netto, per il quale le interruzioni generate da HMI non vengono più considerate. Il tempo di calcolo netto risulta da:

• tempo dell’azione sincrona,

• tempo del regolatore di posizione e

• tempo di calcolo IPO residuo senza interruzioni provocate da HMI

Page 635: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.4 Azioni nelle azioni sincrone

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 635

Variabile per la segnalazione del sovraccarico:

Tramite il dato macchina $MN_IPO_MAX_LOAD viene impostato, a partire da quale tempo di calcolo IPO netto (in % del clock IPO) la variabile di sistema $AN_IPO_LOAD_LIMIT deve essere impostata su TRUE. Se il carico attuale ritorna al di sotto di questo limite, la variabile viene nuovamente settata a FALSE. Con il DM = 0, viene disattivata completamente la funzione di diagnostica.

Valutando $AN_IPO_LOAD_LIMIT l'utente può stabilire una propria strategia per evitare un overflow di livello.

Le variabili contengono sempre i valori del clock IPO precedente.$AN_IPO_ACT_LOAD Tempo di calcolo IPO attuale (incluse le azioni sincrone di tutti i

canali)$AN_IPO_MAX_LOAD Tempo di calcolo IPO massimo (incluse le azioni sincrone di

tutti i canali)$AN_IPO_MIN_LOAD Tempo di calcolo IPO minimo (incluse le azioni sincrone di tutti i

canali)$AN_IPO_LOAD_PERCENT

Tempo di calcolo IPO attuale in rapporto al clock IPO (%).

$AN_SYNC_ACT_LOAD Tempo di calcolo attuale per le azioni sincrone di tutti i canali$AN_SYNC_MAX_LOAD Tempo di calcolo massimo per le azioni sincrone di tutti i canali$AN_SYNC_TO_IPO Quota percentuale delle azioni sincrone globali sul tempo di

calcolo IPO globale (su tutti i canali)

$AC_SYNC_ACT_LOAD Tempo di calcolo attuale per le azioni sincrone del canale$AC_SYNC_MAX_LOAD Tempo di calcolo massimo per le azioni sincrone del canale$AC_SYNC_AVERAGE_LOAD

Tempo di calcolo medio per le azioni sincrone del canale

$AN_SERVO_ACT_LOAD Tempo di calcolo attuale del regolatore di posizione$AN_SERVO_MAX_LOAD Tempo di calcolo massimo del regolatore di posizione$AN_SERVO_MIN_LOAD Tempo di calcolo minimo del regolatore di posizione

Page 636: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.5 Cicli tecnologici

Preparazione del lavoro636 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

10.5 Cicli tecnologici

Funzione Come azione in azioni sincrone si possono richiamare anche dei programmi, che però vanno strutturati come funzioni che sono ammesse anche come azioni in azioni sincrone. I programmi così strutturati sono detti cicli tecnologici.

I cicli tecnologici vengono memorizzati nel controllo come sottoprogrammi.

In un canale si possono eseguire parallelamente diversi cicli tecnologici o azioni.

ProgrammazionePer la programmazione di cicli tecnologici valgono le seguenti regole:

• La fine del programma viene programmata con M02/M17/M30/RET.

• Entro un livello di programma tutte le azioni specificate in ICYCOF possono essere elaborate in un clock senza cicli di attesa.

• È possibile interrogare in successione fino a 8 cicli tecnologici per ciascuna azione sincrona.

• I cicli tecnologici sono possibili anche in azioni sincrone valide blocco a blocco.

• È possibile programmare sia costrutti di controllo IF, sia istruzioni di salto GOTO, GOTOF e GOTOB.

• Per blocchi con istruzioni DEF e DEFINE vale:

- Le istruzioni DEF e DEFINE vengono ignorate nei cicli tecnologici.- In presenza di una sintassi non corretta o incompleta, provocano un messaggio di

allarme.- Possono essere ignorate senza creazione della variabile e senza messaggio di

allarme.- Vengono completamente considerate con assegnazioni di valori come ciclo di

partprogram.

Assegnazione di parametriÈ possibile trasmettere parametri ai cicli tecnologici. Vengono considerati tanto i tipi di dati semplici, che vengono passati come parametri formali "Call by Value", quanto le impostazioni standard, che si attivano alla chiamata dei cicli tecnologici. Si tratta di:

• Valori standard programmati, se non è programmato alcun parametro di trasferimento.

• Parametri standard dotati di valori iniziali.

• Parametri attuali non inizializzati trasferiti con un valore standard.

Page 637: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.5 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 637

ProceduraI cicli tecnologici vengono startati non appena vengono soddisfatte le proprie condizioni. Ogni riga di un ciclo tecnologico viene elaborata in un clock IPO separato. Per assi di posizionamento, per l'esecuzione, sono necessari più clock IPO. Altre funzioni vengono eseguite in un solo clock. Nel ciclo tecnologico l'esecuzione dei blocchi avviene in maniera sequenziale.

Se in uno stesso clock di interpolazione vengono richiamate azioni che si escludono a vicenda, si attiva l'azione che l'azione sincrona richiama con il numero ID più alto.

EsempiEsempio 1: Con l'impostazione degli ingressi digitali vengono avviati i programmi asse

Programma principale:

Programma asse ASSE_X:

Codice di programma Commento

ID=1 EVERY $A_IN[1]==1 DO ASSE_X ; Se l'ingresso 1 è su 1, avvia il programma ASSE_X.

ID=2 EVERY $A_IN[2]==1 DO ASSE_Y ; Se l'ingresso 2 è su 1, avvia il programma ASSE_Y.

ID=3 EVERY $A_IN[3]==1 DO ASSE_Z ; Se l'ingresso 3 è su 1, avvia il programma ASSE_Z.

M30

Codice di programma

M100

POS[X]=100 FA[X]=300

M17

Page 638: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.5 Cicli tecnologici

Preparazione del lavoro638 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Programma asse ASSE_Y:

Programma asse ASSE_Z:

Esempio 2: Diverse sequenze di programmazione nel ciclo tecnologico

Entrambi i blocchi vengono ignorati senza allarme e senza creazione della variabile o della macro.

Entrambi i blocchi provocano l'allarme NC poiché la sintassi non è scritta in modo corretto.

Se l'asse XX2 non è noto, viene emesso l'allarme 12080. In caso contrario, il blocco viene ignorato senza allarme e senza creazione della variabile.

Il blocco N20 provoca sempre l'allarme 14500, dato che il 1° comando del programma non può essere seguito da un'istruzione di definizione.

Codice di programma

POS[Y]=10 FA[Y]=200

POS[Y]=-10

M17

Codice di programma

POS[Z]=90 FA[Z]=250

POS[Z]=-90

M17

Codice di programma

PROC CYCLE

N10 DEF REAL VALORE=12.3

N15 DEFINE ABC AS G01

Codice di programma

PROC CYCLE

N10 DEF REAL

N15 DEFINE ABC G01

Codice di programma

PROC CYCLE

N10 DEF AXIS ASSE1=XX2

Codice di programma

PROC CYCLE

N10 DEF AXIS ASSE1

N15 G01 X100 F1000

N20 DEF REAL VALORE1

Page 639: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.5 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 639

10.5.1 Variabile di contesto ($P_TECCYCLE)

Funzione Con l'ausilio della variabile $P_TECCYCLE è possibile suddividere i programmi in programmi di azione sincrona e programmi di preelaborazione. In questo modo si possono ottenere blocchi o sequenze di programma scritti in modo sintatticamente corretto, in alternativa anche come ciclo di partprogram.

Interpretazione della variabile di contestoLa variabile di sistema $P_TECCYCLE consente di controllare interpretazioni specifiche per contesto di parti del programma in cicli tecnologici:

EsempioSequenza di programma con interrogazione di $P_TECCYCLE nel ciclo tecnologico:

IF $P_TECCYCLE==TRUE

... ; Sequenza di programma per ciclo tecnologico nell'azione sincrona.

ELSE

... ; Sequenza di programma per ciclo di partprogram.

ENDIF

NotaUn blocco con sintassi di programma scorretta o non consentita e assegnazioni di valori sconosciute provoca, anche nel ciclo di partprogram, un messaggio di allarme.

Codice di programma Commento

PROC CYCLE

N10 DEF REAL VALORE1 ; Viene ignorato nel ciclo tecnologico.

N15 G01 X100 F1000

N20 IF $P_TECCYCLE==TRUE

... ; Sequenza di programma per ciclo tecnologico (senza variabile VALORE1).

N30 ELSE

... ; Sequenza di programma per ciclo di partprogram (variabile VALORE1 presente).

N40 ENDIF

Page 640: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.5 Cicli tecnologici

Preparazione del lavoro640 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

10.5.2 Parametri Call-by-Value

FunzioneI cicli tecnologici possono essere definiti con parametri Call-by-Value. Come parametri sono possibili i tipi semplici di dati, come INT, REAL, CHAR, STRING, AXIS e BOOL.

SintassiID=1 WHEN $AA_IW[X]>50 DO TEC(IVAL,RVAL,,SVAL,AVAL)

In caso di parametri attuali non inizializzati viene trasmesso un valore di default:ID=1 WHEN $AA_IW[X]>50 DO TEC(IVAL,RVAL,,SYG_SS[0],AVAL)

10.5.3 Inizializzazione dei parametri di default

FunzioniCon l'istruzione PROC, i parametri di default possono anche essere dotati di un valore iniziale.

SintassiAssegnazione dei parametri di default nel ciclo tecnologico:PROC TEC (INT IVAL=1, REAL RVAL=1.0, CHAR CVAL='A', STRING[10] SVAL="ABC", AXIS AVAL=X, BOOL BVAL=TRUE)

Se un parametro attuale è costituito da un parametro di default, il valore iniziale viene trasferito dall'istruzione PROC. Ciò vale sia nel partprogram, sia nelle azioni sincrone.

Esempio

NotaI parametri formali che vengono trasferiti a Call-by-Value non possono essere dei campi.

I parametri attuali possono essere costituiti anche da parametri di default (vedere"Inizializzazione dei parametri di default [Pagina 640]").

Codice di programma Commento

TEC (IVAL, RVAL, SVAL, AVAL) ; Per CVAL e BVAL vale il valore iniziale

Page 641: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.5 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 641

10.5.4 Controllo ed esecuzione di cicli tecnologici (ICYCOF, ICYCON)

FunzionePer il controllo dell'esecuzione temporale dei cicli tecnologici si utilizzano i comandi ICYCOF e ICYCON.

Con ICYCOF tutti i blocchi di un ciclo tecnologico vengono eseguiti in un unico clock di interpolazione. Tutte le azioni, la cui esecuzione richiede più clock, provocano con ICYCOF dei processi paralleli di elaborazione.

Applicazione

Con ICYCON i movimenti degli assi di comando possono avere come conseguenza che l'esecuzione di un ciclo tecnologico subisca un ritardo. Se si desidera evitarlo, con ICYCOF è possibile eseguire tutte le azioni senza tempi di attesa in clock di interpolazione.

SintassiPer l'esecuzione ciclica dei cicli di elaborazione vale:

ICYCON ogni blocco di un ciclo tecnologico viene eseguito secondo ICYCON in un clock IPO separato

ICYCOF tutti i blocchi seguenti di un ciclo tecnologico vengono eseguiti con ICYCOF in un unico clock IPO

Esempio di modalità di esecuzione ICYCOF

Nota

I due comandi ICYCON e ICYCOF agiscono solo all'interno del livello di programma. Nel partprogram questi due comandi vengono semplicemente ignorati (nessuna reazione).

Codice di programma Commento

clock IPO ; PROC TECHNOCYC

1. ; $R1=1

2.25 ; POS[X]=100

26. ; ICYCOF

26. ; $R1=2

26. ; $R2=$R1+1

26. ; POS[X]=110

26. ; $R3=3

26. ; RET

Page 642: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.5 Cicli tecnologici

Preparazione del lavoro642 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

10.5.5 Strutturazioni in cascata dei cicli tecnologici

FunzioniÈ possibile eseguire fino a 8 cicli tecnologici collegati in serie. In questo modo, in un'azione sincrona sono programmabili più cicli tecnologici.

SintassiID=1 WHEN $AA_IW[X]>50 DO TEC1($R1) TEC2 TEC3(X)

Sequenza operativa

I cicli tecnologici vengono eseguiti secondo la serie (in cascata) da sinistra a destra, conformemente alla programmazione sopra indicata. Se un ciclo viene eseguito nella modalità ICYCON, vengono ritardate tutte le elaborazioni successive. Viene emesso un allarme che interrompe tutte le azioni successive.

10.5.6 Cicli tecnologici in azioni sincrone blocco per blocco

FunzioneI cicli tecnologici sono possibili anche in azioni sincrone blocco per blocco.

Se il tempo di esecuzione di un ciclo tecnologico è maggiore del tempo di elaborazione del blocco relativo, il ciclo tecnologico viene interrotto al cambio blocco.

Nota

Un ciclo tecnologico non impedisce il cambio blocco.

Page 643: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.5 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 643

10.5.7 Costrutti di controllo (IF)

FunzioniPer le diramazioni nelle frequenza del flusso dei cicli tecnologici è possibile utilizzare costrutti di controllo IF nelle azioni sincrone.

SintassiIF <Condizione>

$R1=1

[ELSE] opzionale

$R1=0

ENDIF

10.5.8 Istruzioni di salto (GOTO, GOTOF, GOTOB)

FunzioniNei cicli tecnologici sono possibili le istruzioni di salto GOTO, GOTOF, GOTOB. Le label specificate devono essere presenti nel sottoprogramma affinché non venga emesso un allarme.

SintassiSalti incondizionali

GOTO label, numero di blocco

GOTOF label, numero di blocco

GOTOB label, numero di blocco

Nota

Le label e i numeri di blocco possono essere solo delle costanti.

Page 644: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.5 Cicli tecnologici

Preparazione del lavoro644 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Istruzioni di salto e destinazioni del salto

10.5.9 Blocco, sblocco, reset (LOCK, UNLOCK, RESET)

FunzioniL'esecuzione di un ciclo tecnologico può essere bloccata, nuovamente sbloccata oppure resettata attraverso un'altra azione sincrona modale.

SintassiLOCK(<n1>,<n2>,...)UNLOCK(<n1>,<n2>,...)RESET(<n1>,<n2>,...)

Significato

GOTO Salta prima in avanti e poi indietroGOTOF Salta in avantiGOTOB Salta indietroLabel: Label di saltoNumero di blocco Destinazione del salto: questo bloccoN100 Il numero di blocco è il blocco secondario:100 Il numero di blocco è il blocco principale

LOCK Comando per il blocco di azioni sincroneL'azione attiva viene interrotta.

UNLOCK Comando per lo sblocco di azioni sincroneRESET Comando per il reset di cicli tecnologici<n1>,<n2>,... Numeri identificativi delle azioni sincrone o dei cicli tecnologici che

devono essere bloccati, sbloccati o resettati.

Page 645: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.5 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 645

Blocco di azioni sincroneAzioni sincrone modali con numeri identificativi <n> = 1 ... 64 possono essere bloccate dal PLC. La condizione corrispondente non viene più valutata e l'esecuzione della funzione corrispondente viene bloccata nell'NCK.

Mediante un segnale all'interfaccia PLC è possibile bloccare tutte le azioni sincrone in blocco.

EsempiEsempio 1: Blocco delle azioni sincrone (LOCK)

Esempio 2: Sblocco delle azioni sincrone (UNLOCK)

Esempio 3: Interruzione del ciclo tecnologico (RESET)

NotaUn'azione sincrona programmata è attiva in modo standard e può essere protetta contro la lettura e la scrittura mediante un dato macchina.

Le azioni sincrone predefinite dal costruttore della macchina non devono poter essere modificate dal cliente finale.

Codice di programma

N100 ID=1 WHENEVER $A_IN[1]==1 DO M130

...

N200 ID=2 WHENEVER $A_IN[2]==1 DO LOCK(1)

Codice di programma

N100 ID=1 WHENEVER $A_IN[1]==1 DO M130

...

N200 ID=2 WHENEVER $A_IN[2]==1 DO LOCK(1)

...

N250 ID=3 WHENEVER $A_IN[3]==1 DO UNLOCK(1)

Codice di programma

N100 ID=1 WHENEVER $A_IN[1]==1 DO M130

...

N200 ID=2 WHENEVER $A_IN[2]==1 DO RESET(1)

Page 646: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.6 Cancellazione dell'azione sincrona (CANCEL)

Preparazione del lavoro646 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

10.6 Cancellazione dell'azione sincrona (CANCEL)

FunzioneCon il comando CANCEL si può interrompere un'azione sincrona modale o statica attiva dal partprogram.

Se un'azione sincrona viene interrotta mentre è ancora attivo il posizionamento, esso viene portato a termine. Se ciò non è desiderato, il movimento dell'asse può essere frenato con la cancellazione assiale del percorso residuo prima del comando CANCEL.

SintassiCANCEL(<n1>,<n2>,...)

Significato

EsempiEsempio 1: Interruzione di un'azione sincrona

Esempio 2: Cancellazione del percorso residuo prima dell'interruzione di un'azione sincrona

CANCEL: Comando per la cancellazione di azioni sincrone programmate<n1>,<n2>,...: Numeri di identificazione delle azioni sincrone da cancellare

Nota:Se non è specificato un numero di identificazione, verranno cancellate tutte le azioni sincrone modali/statiche.

Codice di programma Commento

N100 ID=2 WHENEVER $A_IN[1]==1 DO M130

...

N200 CANCEL(2) ; Cancella l'azione sincrona modale n° 2.

Codice di programma Commento

N100 ID=17 EVERY $A_IN[3]==1 DO POS[X]=15 FA[X]=1500 ; Avvio del movimento dell'asse di posizionamento.

...

N190 WHEN ... DO DELDTG(X) ; Conclusione del movimento dell'asse di posizionamento.

N200 CANCEL(17) ; Cancella l'azione sincrona modale n° 17.

Page 647: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.7 Comportamento di controllo in determinati stati operativi

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 647

10.7 Comportamento di controllo in determinati stati operativi

POWER ONCon POWER ON non sono normalmente attive azioni sincrone. Le azioni sincrone statiche possono essere attivate con un sottoprogramma asincrono (ASUP) avviato da PLC.

Cambio del modo operativoLe azioni sincrone attivate con la parola chiave IDS restano attive anche dopo un cambio del modo operativo. Tutte le altre azioni sincrone perdono validità al cambio del modo operativo (ad es. posizionamento asse) e ritornano attive dopo il riposizionamento e il ritorno al funzionamento automatico.

RESETCon RESET NC vengono terminate tutte le azioni sincrone attive blocco per blocco e modali. Le azioni sincrone statiche rimangono attive. Da esse si possono far partire nuove azioni. Se al RESET è attivo un movimento dell'asse di comando, lo stesso viene interrotto. Dopo RESET le azioni sincrone del tipo WHEN che sono state già eseguite non vengono più elaborate.

Comportamento dopo RESETAzione sincrona/ciclo tecnologico Modale/blocco-blocco Statica (IDS)

L'azione attiva viene interrotta, le azioni sincrone vengono cancellate

L'azione attiva viene interrotta, il ciclo tecnologico viene resettato

Asse/mandrino posizionatore

Il movimento viene interrotto. Il movimento viene interrotto.

Mandrino regolato in velocità

$MA_SPIND_ACTIVE_AFTER_RESET==1:Il mandrino rimane attivo $MA_SPIND_ACTIVE_AFTER_RESET==0: Il mandrino si arresta.

Accoppiamento del valore master

$MC_RESET_MODE_MASK, Bit13 == 1:L'accoppiamento del valore master resta attivo $MC_RESET_MODE_MASK, Bit13 == 0:l'accoppiamento del valore master viene disattivato

Misure Le misure attivate da azioni sincrone vengono interrotte.

Le misure attivate da azioni sincrone statiche vengono interrotte.

Page 648: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.7 Comportamento di controllo in determinati stati operativi

Preparazione del lavoro648 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

NC-StopStatiche Le azioni sincrone restano attive anche con NC-Stop. I movimenti attivati mediante azioni sincrone statiche non vengono interrotti. Azioni sincrone locali del programma appartenenti al blocco attivo mantengono la loro validità, mentre i movimenti da esse attivati vengono interrotti.

Fine programmaLa fine del programma e le azioni sincrone non si influenzano reciprocamente. Le azioni sincrone attive vengono proseguite anche dopo la fine del programma. Le azioni sincrone attive in un blocco M30 rimangono attive nel blocco M30; Se questo non è consentito, occorre interrompere l'azione sincrona prima della fine del programma con CANCEL.

Ricerca bloccoDurante la ricerca blocco le azioni sincrone vengono raggruppate e valutate con Start NC; le relative azioni vengono all'occorrenza avviate. Le azioni sincrone statiche sono attive anche durante la ricerca blocco. Se la ricerca blocco attivata con FCTDEF trova dei coefficienti di polinomi programmati, essi vengono attivati direttamente.

Comportamento dopo la fine programmaAzione sincrona/ciclo tecnologico

Modale / blocco per blocco→ vengono interrotti

Statici (IDS) → rimangono attivi

Asse/mandrino posizionatore

M30 viene ritardata fino a quando l'asse/il mandrino è fermo.

Il movimento prosegue.

Mandrino regolato in velocità

Fine programma:$MA_SPIND_ACTIVE_AFTER_RESET==1:Il mandrino rimane attivo$MA_SPIND_ACTIVE_AFTER_RESET==0:Il mandrino si arresta.Al cambio del modo operativo il mandrino resta attivo.

Il mandrino rimane attivo.

Accoppiamento del valore master

$MC_RESET_MODE_MASK, Bit13 == 1:L'accoppiamento del valore master resta attivo $MC_RESET_MODE_MASK, Bit13 == 0:l'accoppiamento del valore master viene disattivato

L'accoppiamento generato da azioni sincrone statiche rimane attivo.

Misure Le misure attivate da azioni sincrone vengono interrotte.

Le misure attivate da azioni sincrone statiche rimangono attive.

Page 649: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento10.7 Comportamento di controllo in determinati stati operativi

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 649

Interruzione del programma attraverso un sottoprogramma asincrono ASUPInizio ASUP:

Le azioni sincrone di movimento modali e statiche vengono mantenute e sono attive anche nel sottoprogramma asincrono.

Fine ASUP:

Se il sottoprogramma asincrono non viene proseguito con REPOS, le azioni sincrone di movimento modali e statiche che vi erano state modificate continuano ad essere attive nel programma principale.

Riposizionamento (REPOS)Dopo un riposizionamento (REPOS), le azioni sincrone attive nel blocco interrotto ritornano attive. Le azioni sincrone modali modificate dal sottoprogramma asincrono non sono invece attive durante l'elaborazione del blocco residuo successiva al comando REPOS.

I coefficienti del polinomio programmati con FCTDEF non vengono influenzati dai sottoprogrammi asincroni e dal comando REPOS. Indipendentemente da dove siano stati programmati, essi possono essere impiegati in qualunque momento nel sottoprogramma asincrono e nel programma principale, anche in seguito a REPOS.

Comportamento in caso di allarmiI movimenti di asse e mandrino avviati da azioni sincrone vengono frenati se è attivo un allarme con arresto del movimento. Tutte le altre azioni (ad es. impostazione di un'uscita) continuano ad essere eseguite.

Se un'azione sincrona provoca un allarme, l'elaborazione si interrompe e le sue successive azioni sincrone non vengono più eseguite. Se l'azione sincrona ha validità modale, non verrà più eseguita nel successivo clock di interpolazione. L'allarme viene quindi emesso una sola volta. Tutte le altre azioni sincrone continuano ad essere elaborate.

Gli allarmi che come reazione bloccano l'interprete hanno effetto solo dopo che sono stati elaborati i blocchi predecodificati.

Se un ciclo tecnologico genera un allarme con arresto del movimento, il ciclo stesso non viene più eseguito.

Page 650: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Azioni sincrone al movimento 10.7 Comportamento di controllo in determinati stati operativi

Preparazione del lavoro650 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Page 651: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Preparazione del lavoroManuale di programmazione 02/2011, 6FC5398-2BP40-1CA0 651

11Pendolamento

11.1 Pendolamento asincrono (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB)

FunzioneUn asse di pendolamento si muove tra i punti di inversione 1 e 2 con avanzamento preimpostato fino a che non viene disattivato il movimento di pendolamento.

Durante il movimento di pendolamento gli altri assi possono essere interpolati liberamente. Con un movimento di contornitura oppure con un asse di posizionamento è possibile ottenere un incremento continuo. Non esiste però alcuna relazione tra movimento di pendolamento e di incremento.

Caratteristiche del pendolamento asincrono

• Il pendolamento asincrono è attivo per un asse specifico anche in corrispondenza di fine blocco.

• Tramite il partprogram è garantito un inserimento sincrono al blocco del movimento di pendolamento.

• Non è possibile una interpolazione comune di più assi ed una sovrapposizione di tratti di pendolamento.

Programmazione

Durante l'esecuzione del programma NC è possibile inserire ed influenzare con i seguenti comandi il pendolamento asincrono direttamente dal partprogram.

I valori programmati, sincroni al blocco nell'elaborazione principale, vengono registrati nei corrispondenti dati setting e restano attivi fino alla successiva modifica.

SintassiOSP1[<asse>]=<valore> OSP2[<asse>]=<valore>OST1[<asse>]=<valore> OST2[<asse>]=<valore>FA[<asse>]=<valore>OSCTRL[<asse>]=(<opzione di set>,<opzione_reset>)OSNSC[<asse>]=<valore>OSE[<asse>]=<valore>OSB[<asse>]=<valore>OS[<asse>]=1OS[<asse>]=0

Page 652: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Pendolamento 11.1 Pendolamento asincrono (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB)

Preparazione del lavoro652 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Significato

<asse> Nome dell'asse di pendolamentoOS Attivazione/disattivazione del pendolamento

Valore: 1 Pendolamento ON0 Pendolamento OFF

OSP1 Definizione della posizione del punto di inversione 1OSP2 Definizione della posizione del punto di inversione 2

Nota:Se è attivo un movimento incrementale, la posizione viene calcolata in modo incrementale rispetto all'ultimo punto di inversione programmato nel programma NC.

OST1 Definizione del tempo di stazionamento nel punto di inversione 1 in [s]OST2 Definizione del tempo di stazionamento nel punto di inversione 2 in [s]

<valore>: -2 L'interpolazione prosegue senza attendere l'arresto preciso

-1 Attendere l'arresto preciso grossolano0 Attendere l'arresto preciso fine

>0 Attendere l'arresto preciso fine e poi attendere il tempo di stazionamento specificatoNota:L'unità per il tempo di stazionamento è identica a quella programmata con G4.

Page 653: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Pendolamento11.1 Pendolamento asincrono (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 653

FA Definizione della velocità di avanzamentoCome velocità di avanzamento vale quella definita per l'asse di posizionamento. Se non viene definita alcuna velocità di avanzamento vale il valore inserito nel dato macchina.

OSCTRL Definizione delle opzioni di set e resetI valori opzionali 0 - 3 codificano il comportamento sui punti di inversione durante la disinserzione. È possibile selezionare una delle varianti 0 - 3. Le restanti impostazioni sono combinabili all'occorrenza con la variante selezionata. Per indicare più opzioni, interporre il segno più (+).<valore>: 0 Alla disattivazione del pendolamento, arresto nel

successivo punto di inversione (preimpostazione)Nota:possibile solo mediante il reset dei valori 1 e 2.

1 Alla disattivazione del pendolamento, arresto nel punto di inversione 1

2 Alla disattivazione del pendolamento, arresto nel punto di inversione 2

3 Alla disattivazione del pendolamento non raggiungere alcun punto di inversione se non è stata programmata alcuna passata di spegnifiamma

4 Dopo lo spegnifiamma raggiungere la posizione finale8 Se il pendolamento viene interrotto con la cancellazione

del percorso residuo, eseguire la passata di spegnifiamma ed eventualmente raggiungere la posizione finale.

16 Se il pendolamento viene interrotto con la cancellazione del percorso residuo, raggiungere, come per la disattivazione, il relativo punto di inversione.

32 L'avanzamento modificato è attivo solo dopo il successivo punto di inversione

64 FA uguale a 0, FA = 0: sovrapposizione del movimento attivaFA uguale a 0, FA <> 0: sovrapposizione di velocità attiva

128 Per assi rotanti DC (percorso più breve)256 La passata di spegnifiamma viene eseguita come doppia

passata. (Standard) 1 = la passata di spegnifiamma viene eseguita come singola passata.

512 Dapprima accostamento alla posizione iniziale

Page 654: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Pendolamento 11.1 Pendolamento asincrono (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB)

Preparazione del lavoro654 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

EsempiEsempio 1: l'asse deve pendolare tra due punti di inversione

L'asse Z deve pendolare tra le posizioni 10 e 100. Il punto di inversione 1 deve essere raggiunto con arresto preciso fine, il punto di inversione 2 con arresto preciso grossolano. L'avanzamento per l'asse di pendolamento deve essere 250. Al termine della lavorazione si devono eseguire 3 passate di spegnifiamma e l'asse di pendolamento deve raggiungere la posizione finale 200. L'avanzamento per l'asse di incremento deve essere 1, la fine dell'incremento in direzione X va raggiunta alla posizione 15.

OSNSC Definizione del numero delle passate di spegnifiammaOSE Definizione della posizione finale (nell'SCP), da raggiungere dopo la

disinserzione del pendolamentoNota:Programmando OSE, per OSCTRL diventa implicitamente attiva l'opzione 4.

OSB Definizione della posizione iniziale (nell'SCP), da raggiungere prima dell'inserzione del pendolamentoLa posizione iniziale viene raggiunta prima del punto di inversione 1. Se la posizione iniziale coincide con la posizione di inversione 1, viene successivamente raggiunta la posizione di inversione 2. Al raggiungimento della posizione iniziale non si attiva un tempo di stazionamento, anche se la posizione iniziale coincide con la posizione di inversione 1; inizia invece l'attesa dell'arresto preciso fine. Se è impostata una condizione di arresto preciso, la stessa viene rispettata.Nota:per il raggiungimento della posizione iniziale, è necessario che nel dato setting SD43770 $SA_OSCILL_CTRL_MASK sia impostato il bit 9.

Codice di programma Commento

WAITP(X,Y,Z) ; Posizione iniziale.

G0 X100 Y100 Z100 ; Commutazione in funzionamento come asse di posizionamento.

WAITP(X,Z)

OSP1[Z]=10 OSP2[Z]=100 ; Punto di inversione 1, punto di inversione 2.

OSE[Z]=200 ; Posizione finale.

OST1[Z]=0 OST2[Z]=–1 ;;Tempo di arresto in U1: Arresto preciso fineTempo di arresto in U2: arresto preciso grossolano

FA[Z]=250 FA[X]=1 ; Avanzamento asse di pendolamento, avanzamento asse di incremento

OSCTRL[Z]=(4,0) ; Opzioni di set.

OSNSC[Z]=3 ; 3 passate di spegnifiamma.

OS[Z]=1 ; Avvio del pendolamento.

WHEN $A_IN[3]==TRUE DO DELDTG(X) ; Cancellazione del percorso residuo.

POS[X]=15 ; Posizione iniziale asse X

POS[X]=50 Posizione finale asse X.

Page 655: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Pendolamento11.1 Pendolamento asincrono (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 655

Esempio 2: pendolamento con modifica online della posizione di inversione

I dati di setting necessari per il pendolamento asincrono possono essere definiti nel partprogram.

Se i dati di setting vengono definiti direttamente nel partprogram, la variazione diventa attiva già in fase di preelaborazione. La sincronizzazione può essere ottenuta con uno stop preelaborazione (STOPRE).

Ulteriori informazioniAsse di pendolamento

Per l'asse di pendolamento vale quanto segue:

• ogni asse può essere utilizzato come asse di pendolamento.

• possono essere attivati contemporaneamente più assi di pendolamento (al massimo: numero degli assi di posizionamento).

• per l'asse di pendolamento è sempre attiva l'interpolazione lineare G1 indipendentemente dal comando G valido attualmente nel programma.

OS[Z]=0 ; Arresto del pendolamento.

M30

Codice di programma Commento

NotaLa sequenza di comandi OSP1[Z]=... ... OSNCS[Z]=... può essere programmata anche in un blocco.

Codice di programma Commento

$SA_OSCILL_REVERSE_POS1[Z]=-10

$SA_OSCILL_REVERSE_POS2[Z]=10

G0 X0 Z0

WAITP(Z)

ID=1 WHENEVER $AA_IM[Z] < $$AA_OSCILL_REVERSE_POS1[Z] DO $AA_OVR[X]=0ID=2 WHENEVER $AA_IM[Z] < $$AA_OSCILL_REVERSE_POS2[Z] DO $AA_OVR[X]=0

; Se il valore reale dell'asse di pendolamento ha superato il punto di inversione, l'asse di incremento viene arrestato.

OS[Z]=1 FA[X]=1000 POS[X]=40 ; Attivazione del pendolamento.

OS[Z]=0 ; Disattivazione del pendolamento.

M30

Page 656: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Pendolamento 11.1 Pendolamento asincrono (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB)

Preparazione del lavoro656 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

L'asse di pendolamento può:

• essere l'asse di ingresso per la trasformazione dinamica

• essere l'asse pilota per assi Gantry e di trascinamento

• essere mosso:

- senza limitazione dello strappo (BRISK)oppure

- con limitazione dello strappo (SOFT)oppure

- con caratteristica di accelerazione a pendenza variabile (come gli assi di posizionamento).

Punti di inversione pendolamento

Nella definizione delle posizioni di pendolamento bisogna verificare le traslazioni attuali:

• indicazioni assoluteOSP1[Z]=<valore>

posiz. punto di inversione = somma delle traslazioni + valore programmato• impostazioni incrementali

OSP1[Z]=IC(<valore>)

posiz. punto di inversione = punto di inversione 1 + valore programmato

Esempio:

WAITP

Se si deve pendolare con un asse geometrico, è indispensabile che esso sia abilitato al pendolamento con WAITP.

A pendolamento ultimato, con WAITP l'asse viene dichiarato nuovamente come asse di posizionamento e può essere utilizzato normalmente.

Pendolamento con azioni sincrone al movimento e tempi di stazionamento

Allo scadere dei tempi di sosta, nel pendolamento si verifica il cambio di asse interno (osservabile dai nuovi percorsi residui degli assi). Durante il cambo di asse viene verificata la funzione di disattivazione. Nella circostanza viene definita la funzione di disattivazione secondo le impostazioni nel controllo numerico per la sequenza di movimenti (OSCTRL). Questo comportamento temporale è influenzabile dall'override dell'avanzamento.In base alle circostanze è possibile eseguire ancora una passata di pendolamento prima che venga eseguita la passata di spegnifiamma o che sia stata raggiunta la posizione finale. Potrebbe sembrare, in questo caso, che sia cambiato il comportamento alla disinserzione. Tuttavia non è così.

Codice di programma

N10 OSP1[Z] = 100 OSP2[Z] = 110

...

...

N40 OSP1[Z] = IC(3)

Page 657: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Pendolamento11.2 Pendolamento controllato da azioni sincrone (OSCILL)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 657

11.2 Pendolamento controllato da azioni sincrone (OSCILL)

Funzione Con questo tipo di pendolamento il movimento di incremento è consentito solo nei punti di inversione oppure entro aree di inversione definite.

In funzione delle esigenze, il movimento di pendolamento durante l’incremento può

• proseguire oppure

• può essere arrestato finché l’incremento non è stato completamente eseguito.

Sintassi1. Definire i parametri per il pendolamento

2. Definizione delle azioni sincrone al movimento

3. Abbinare gli assi, definire l'incremento

Significato

Abbinamento degli assi, incrementoOSCILL[<asse di pendolamento>]=(<asse d'incremento 1>,<asse d'incremento 2>,<asse d'incremento 3>)POSP[asse d'incremento ]=(<pos.finale>,<lungh.parziale>,<modo>)

OSP1[<asse di pendolamento>]= posizione del punto di inversione 1OSP2[<asse di pendolamento>]= posizione del punto di inversione 2OST1[<asse di pendolamento>]= tempo di attesa nel punto di inversione 1, in

secondiOST2[<asse di pendolamento>]= tempo di attesa nel punto di inversione 2, in

secondiFA[<asse di pendolamento>]= Avanzamento dell'asse di pendolamentoOSCTRL[<asse di pendolamento>]= opzioni di set e resetOSNSC[<asse di pendolamento>]= Numero delle passate di spegnifiammaOSE[<asse di pendolamento>]= Posizione finaleWAITP(<asse di pendolamento>) consenso per l'asse di pendolamento

OSCILL: abbinare l'asse di incremento all'asse di pendolamentoPOSP: definizione della lunghezza totale e parziale (vedi capitolo Gestione file e

programmi)Posizione

finale:posizione finale dell'asse di incremento secondo la quale vengono eseguiti tutti gli incrementi parziali.

Lunghezza

parziale:dimensione incrementi parziali sul punto di inserz./campo di inversinversione

Modo: suddivisione dell'incremento totale in incrementi parziali= due tratti restanti di uguale dimensione (preimpostazione);= tutti gli incrementi parziali sono della stessa dimensione

Page 658: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Pendolamento 11.2 Pendolamento controllato da azioni sincrone (OSCILL)

Preparazione del lavoro658 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Azioni sincrone al movimento

EsempioNel punto di inversione 1 non deve avvenire alcun incremento. Sul punto di inversione 2 l'incremento deve avvenire già ad una distanza ii2, prima del punto di inversione stesso e l'asse di pendolamento sul punto di inversione non deve attendere il completamento dell'incremento parziale. L'asse Z è quello di pendolamento e l'asse X quello di incremento.

Figura 11-1

1. Parametri per il pendolamento

WHEN… … DO se..., esegui...WHENEVER … DO sempre se..., esegui...

Codice di programma Commento

DEF INT ii2 ; Definire la variabile per il campo di inversione 2

OSP1[Z]=10 OSP2[Z]=60 ; Definire i punti di inversione 1 e 2

OST1[Z]=0 OST2[Z]=0 ; Punto di inversione 1: Arresto preciso finePunto di inversione 2: Arresto preciso fine

FA[Z]=150 FA[X]=0.5 ; Avanzamento per l'asse di pendolamento Z, avanzamento per l'asse di incremento X

OSCTRL[Z]=(2+8+16,1) ; Disattivare il pendolamento nel punto di inversione 2; dopo lo spegnifiamma RWL raggiungere la posizione finale; dopo RWL raggiungere la relativa posizione di inversione

OSNC[Z]=3 ; Passate di spegnifiamma

OSE[Z]=70 ; Posizione finale = 70

ii2=2 ; Definizione del campo di inversione

WAITP(Z) ; Abilitazione al pendolamento per l'asse Z

Page 659: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Pendolamento11.2 Pendolamento controllato da azioni sincrone (OSCILL)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 659

2 . Azione sincrona al movimento

-> Deve essere programmato in un blocco a sè stante

3. Avvio del pendolamento

Codice di programma Commento

WHENEVER $AA_IM[Z]<$SA_OSCILL_REVERSE_POS2[Z] DO -> $AA_OVR[X]=0 $AC_MARKER[0]=0

; Ogni volta che la posizione attuale dell'asse di pendolamento Z nel SCM è inferiore all'inizio dell'area di inversione 2, imposta l'override assiale dell'asse di incremento X su 0% e il merker con indice 0 sul valore 0.

WHENEVER $AA_IM[Z]>=$SA_OSCILL_REVERSE_POS2[Z] DO $AA_OVR[Z]=0

; Ogni volta che la posizione attuale dell'asse di pendolamento Z nel SCM è maggiore uguale alla posizione di inversione 2, imposta l'override assiale dell'asse di pendolamento Z su 0%.

WHENEVER $AA_DTEPW[X] == 0 DO $AC_MARKER[0]=1

; Ogni volta che il percorso residuo dell'incremento parziale è uguale a 0, impostare il merker con indice 0 sul valore 1.

WHENEVER $AC_MARKER[0]==1 DO $AA_OVR[X]=0 $AA_OVR[Z]=100

; Ogni volta che il merker con l'indice 0 è uguale a 1, impostare l'override assiale dell'asse di incremento X su 0%. In questo modo viene impedito un incremento prematuro (l'asse di pendolamento Z non è ancora uscito dall'area di inversione 2, tuttavia l'asse ausiliario X è pronto per un nuovo incremento). Impostare nuovamente l'override assiale dell'asse di pendolamento dallo 0% (azione della 2ª azione sincrona) per un movimento al 100%.

Codice di programma Commento

OSCILL[Z]=(X) POSP[X]=(5,1,1) ; Avvio degli assiAll'asse di pendolamento Z viene abbinato l'asse X quale ;asse di incremento.L'asse X deve spostarsi fino alla posizione finale 5 in passi di 1.

M30 ; Fine programma

Page 660: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Pendolamento 11.2 Pendolamento controllato da azioni sincrone (OSCILL)

Preparazione del lavoro660 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Descrizione1. Definizione dei parametri del pendolamento

Prima del blocco di movimento contenente l'abbinamento tra asse di pendolamento ed asse di incremento, devono essere definiti i parametri di pendolamento (vedi "Pendolamento asincrono").

2. Definizione delle azioni sincrone al movimentoTramite le condizioni del sincronismo avviene: Annullo dell’incremento, finché l’asse di pendolamento non si trova all’interno di un settore di inversione (ii1, ii2) oppure in un punto di inversione (U1, U2). Arresto del movimento di pendolamento durante l'incremento sul punto di inversione. movimento di pendolamento al termine dell'incremento parziale. Definizione dell’avvio dell'incremento parziale successivo.

3. Abbinare l'asse di pendolamento e di incremento e definire l'incremento totale e parziale.

Definizione dei parametri di pendolamentoAbbinamento dell'asse di pendolamento e dell'asse di incremento: OSCILLOSCILL[Asse di pendolamento] = (Asse di incremento1, Asse di incremento2, Asse di incremento3)

Con l'istruzione OSCILL avviene l'abbinamento degli assi e lo start del pendolamento.

Ad un asse di pendolamento possono essere abbinati al massimo 3 assi di incremento.

Definizione degli incrementi: POSPPOSP[Asse di incremento] = (Endpos, Lunghezza parziale, Modo)

Con l'istruzione POSP viene comunicato al controllo numerico:

• l'incremento totale (tramite la posizione finale)

• la grandezza dei singoli incrementi parziali sui punti di inversione o nei campi di inversione

• il comportamento dell'incremento parziale al raggiungimento della posizione finale (tramite il modo)

NotaPrima dello start di un pendolamento è necessario definire le condizioni di sincronismo per la relazione tra gli assi.

modo = 0 Per i due ultimi incrementi parziali avviene una suddivisione del percorso residuo in due incrementi residui di pari grandezza (preimpostazione).

modo = 1 Tutti gli incrementi parziali sono della stessa grandezza. Essi vengono calcolati dall'incremento totale.

Page 661: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Pendolamento11.2 Pendolamento controllato da azioni sincrone (OSCILL)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 661

Definizione delle azioni sincrone al movimentoLe azioni sincrone riportate in seguito, vengono utilizzate in generale per il pendolamento.

Le soluzioni riportate a titolo di esempio possono essere utilizzate come base per la programmazione di movimenti di pendolamento specifici per l'utente.

Parole chiave

Funzioni

Con gli elementi di linguaggio, descritti dettagliatamente in seguito, è possibile realizzare le

seguenti funzioni:

1. incremento sul punto di inversione.

2. incremento nel campo di inversione.

3. incremento in entrambi i punti di inversione.

4. arresto del pendolamento sul punto di inversione.

5. riavviare il movimento di pendolamento.

6. non avviare anzitempo l'incremento parziale.

Per tutte le azioni sincrone qui rappresentate come esempio, valgono le seguenti ipotesi:

• punto d'inversione 1 < punto d'inversione 2

• Z = asse di pendolamento

• X = asse di incremento

NotaNei singoli casi specifici le condizioni sincrone possono essere programmate anche in altro modo.

WHEN … DO … se..., allora...WHENEVER … DO ogni volta che..., allora...

NotaPer ulteriori chiarimenti, vedere il capitolo Azioni sincrone al movimento.

Page 662: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Pendolamento 11.2 Pendolamento controllato da azioni sincrone (OSCILL)

Preparazione del lavoro662 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Abbinare l'asse di pendolamento e di incremento e definire l'incremento totale e parziale.Incremento nel campo di inversione

Il movimento di incremento deve iniziare nell'ambito di un campo di inversione prima che sia stato raggiunto il punto di inversione.

Queste azioni sincrone impediscono il movimento di incremento fino a che l'asse di pendolamento non è entrato nel settore di inversione.

Considerato quanto sopra si hanno le seguenti istruzioni:

Incremento sul punto di inversione

Finché l'asse di pendolamento non raggiunge il punto di inversione, non avviene nessun movimento dell'asse di incremento.

Tenendo conto dei presupposti dati (ved. sopra) si ottengono le seguenti istruzioni:

Campo di inversione 1:WHENEVER $AA_IM[Z]>$SA_OSCILL_RESERVE_POS1[Z]+ii1 DO $AA_OVR[X] = 0

Ogni volta che la posizione attuale dell'asse di pendolamento nel SCM è maggiore dell'area di inversione 1, imposta l'override assiale dell'asse di incremento su 0%.

Campo di inversione 2:WHENEVER $AA_IM[Z]<$SA_OSCILL_RESERVE_POS2[Z]+ii2 DO $AA_OVR[X] = 0

Ogni volta che la posizione attuale dell'asse di pendolamento nel SCM è inferiore all'inizio dell'area di inversione 2, imposta l'override assiale dell'asse di incremento su 0%.

Area di inversione 1:WHENEVER $AA_IM[Z]<>$SA_OSCILL_RESERVE_POS1[Z] DO $AA_OVR[X] = 0 → → $AA_OVR[Z] = 100

Ogni volta che la posizione attuale dell'asse di pendolamento Z nel SCM è maggiore o minore della posizione del punto di inversione 1, imposta l'override assiale dell'asse di incremento X su 0% e l'override assiale dell'asse di pendolamento Z su 100%.

Area di inversione 2:Per il punto di inversione 2:WHENEVER $AA_IM[Z]<>$SA_OSCILL_RESERVE_POS2[Z] DO $AA_OVR[X] = 0 → → $AA_OVR[Z] = 100

Ogni volta che la posizione attuale dell'asse di pendolamento Z nel SCM è maggiore o minore della posizione del punto di inversione 2, imposta l'override assiale dell'asse di incremento X su 0% e l'override assiale dell'asse di pendolamento Z su 100%.

Page 663: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Pendolamento11.2 Pendolamento controllato da azioni sincrone (OSCILL)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 663

Arresto del pendolamento sul punto di inversione.

L'asse di pendolamento viene arrestato sul punto di inversione e contemporaneamente inizia il movimento di incremento. Il movimento di pendolamento prosegue quando l'incremento è stato eseguito completamente.

Questa azione sincrona può essere utilizzata anche per avviare il movimento di incremento nel caso, in precedenza, esso sia stato interrotto da un'azione sincrona ancora attiva.

Tenendo conto dei presupposti dati (ved. sopra) si ottengono le seguenti istruzioni:

Valutazione Online del punto di inversione

Se nella parte destra del confronto è presente una variabile dell'elaborazione principale contraddistinta con $$ , entrambe le variabili vengono interpretate e confrontate reciprocamente in modo continuo nell'ambito del clock IPO.

Riavviare il movimento di pendolamento

Questa azione sincrona viene utilizzata per proseguire il movimento dell'asse di pendolamento una volta ultimato il movimento dell'incremento parziale.

Tenendo conto dei presupposti dati (ved. sopra) si ottengono le seguenti istruzioni:

Area di inversione 1:WHENEVER $SA_IM[Z]==$SA_OSCILL_RESERVE_POS1[Z] DO $AA_OVR[X] = 0 → → $AA_OVR[Z] = 100

Ogni volta che la posizione attuale dell'asse di pendolamento nel SCM è uguale alla posizione di inversione 1, imposta l'override assiale dell'asse di pendolamento su 0% e l'override assiale dell'asse di incremento su 100%.

Area di inversione 2:WHENEVER $SA_IM[Z]==$SA_OSCILL_RESERVE_POS2[Z] DO $AA_OVR[X] = 0 → → $AA_OVR[Z] = 100

Ogni volta che la posizione attuale dell'asse di pendolamento Z nel SCM è uguale alla posizione di inversione 2, imposta l'override assiale dell'asse di pendolamento X su 0% e l'override assiale dell'asse di incremento su 100%.

NotaPer ulteriori informazioni consultare il capitolo "Azioni sincrone al movimento".

WHENEVER $AA_DTEPW[X]==0 DO $AA_OVR[Z]= 100

Ogni volta che il percorso residuo per l'incremento parziale dell'asse di incremento X nel SCP è uguale a zero, imposta l'override assiale dell'asse di pendolamento su 100%.

Page 664: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Pendolamento 11.2 Pendolamento controllato da azioni sincrone (OSCILL)

Preparazione del lavoro664 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Successivo incremento parziale

Ad incremento avvenuto bisogna impedire una partenza anticipata del successivo incremento parziale.

A questo scopo viene utilizzato un merker specifico per canale ($AC_MARKER[indice]) che viene settato al termine dell'incremento parziale (percorso residuo parziale ≡ 0) e resettato all'abbandono del campo di inversione. Quindi, con l'azione sincrona, viene impedito il successivo movimento di incremento.

Supposto quanto sopra, prendendo come esempio il punto di inversione 1, si hanno le seguenti istruzioni:

1. Impostazione label (marker):WHENEVER $AA_DTEPW[X] == 0 DO $AC_MARKER[1]=1

Ogni volta che il percorso residuo per l'incremento parziale dell'asse di incremento X nel SCP è uguale a zero, imposta il merker con indice 1 su 1.

2. Cancellazione label (marker)WHENEVER $AA_IM[Z]<> $SA_OSCILL_RESERVE_POS1[Z] DO $AC_MARKER[1] = 0

Ogni volta che la posizione attuale dell'asse di pendolamento Z nel SCM è maggiore o minore della posizione del punto di inversione 1, imposta il merker 1 su 0.

3. Impedire l'incrementoWHENEVER $AC_MARKER[1]==1 DO $AA_OVR[X]=0

Ogni volta che il merker è uguale a 1, imposta l'override assiale dell'asse di incremento X su 0%.

Page 665: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Preparazione del lavoroManuale di programmazione 02/2011, 6FC5398-2BP40-1CA0 665

12Punzonatura e roditura

12.1 Attivazione, disattivazione

12.1.1 Attivazione o disattivazione di punzonatura e roditura (SPOF, SON, PON, SONS,PONS, PDELAYON, PDELAYOF, PUNCHACC)

FunzioneAttivazione/disattivazione della punzonatura o roditura

La funzione di punzonatura o roditura viene attivata con PON e SON. SPOF termina tutte le funzioni di punzonatura e roditura. I comandi con validità modale PON e SON si escludono reciprocamente, ossia PON disattiva SON e viceversa.

Punzonatura/roditura con premilastra

Le funzioni SONS e PONS attivano a loro volta le funzioni di punzonatura e roditura.

A differenza del comando del colpo, attiva con SON/PON a livello di interpolazione, con queste funzioni il controllo tecnico dei segnali dell'esecuzione del colpo avviene al livello del servoazionamento. Di conseguenza è possibile lavorare con più elevate frequenze dei colpi e quindi con prestazioni di punzonatura superiori.

Durante l'interpretazione dei segnali vengono bloccate tutte quelle funzioni che possono portare ad una variazione della posizione degli assi di roditura o di punzonatura (ad es. movimenti con il volantino, variazioni di frame da PLC, funzioni di misura).

Punzonatura con ritardo

PDELAYON provoca un'emissione ritardata del colpo di punzonatura. Il comando con validità modale ha funzione preparatoria e si trova quindi normalmente a monte di PON. Dopo PDELAYOF, solitamente si prosegue con la punzonatura.

Accelerazione in funzione del percorso

Con PUNCHACC è possibile specificare una caratteristica di accelerazione che, in base alla distanza tra i fori, definisce diverse accelerazioni .

Seconda interfaccia di punzonatura

Le macchine che alternativamente devono utilizzare una seconda interfaccia di punzonatura (seconda unità di punzonatura o un mezzo simile) possono venire commutate su una seconda coppia degli I/O digitali veloci del controllore (coppia di I/O). Per entrambe le interfacce di punzonatura è utilizzabile la completa funzionalità di punzonatura e roditura. La

NotaIl tempo di ritardo viene impostato nel dato setting SD42400 $SC_PUNCH_DWELLTIME.

Page 666: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Punzonatura e roditura 12.1 Attivazione, disattivazione

Preparazione del lavoro666 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

commutazione tra la prima e la seconda interfaccia di punzonatura avviene tramite i comandi SPIF1 e SPIF2.

SintassiPON G... X... Y... Z...SON G... X... Y... Z...SONS G... X... Y... Z...PONS G... X... Y... Z...PDELAYONPDELAYOFPUNCHACC(<Smin>,<Amin>,<Smax>,<Amax>)SPIF1/SPIF2SPOF

Significato

NotaPresupposto: tramite i dati macchina va definita una seconda coppia I/O per la funzionalità di punzonatura ( → vedere le indicazioni del costruttore della macchina).

PON Attivazione della punzonaturaSON Attivazione della rodituraPONS Attivazione della punzonatura con premilastraSONS Attivazione della roditura con premilastraSPOF Disattivazione della punzonatura/rodituraPDELAYON Attivazione della punzonatura con ritardoPDELAYOF Disattivazione della punzonatura con ritardoPUNCHACC Attivazione dell'accelerazione in funzione del percorso

Parametri:<Smin> Min.distanza fori<Amin> Accelerazione iniziale

<Amin> può essere maggiore di <Amax>.<Smax> Max.distanza fori<Amax> Accelerazione finale

<Amax> può essere maggiore di <Amin>.SPIF1 Attivazione della prima interfaccia di punzonatura

Il comando del colpo avviene tramite la prima coppia degli I/O veloci.SPIF2 Attivazione della seconda interfaccia di punzonatura

Il comando del colpo avviene tramite la seconda coppia degli I/O veloci.Nota:Dopo RESET o l'avviamento del controllo è sempre attiva la prima interfaccia di punzonatura. Se si utilizza solo un'interfaccia di punzonatura, la stessa non deve essere programmata.

Page 667: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Punzonatura e roditura12.1 Attivazione, disattivazione

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 667

EsempiEsempio 1: Attivazione della roditura

Esempio 2: Punzonatura con ritardo

Esempio 3: Punzonatura con due interfacce di punzonatura

Codice di programma Commento

...

N70 X50 SPOF ; Posizionamento senza esecuzione del colpo.

N80 X100 SON ; Attivazione della roditura, esecuzione di un colpo prima del movimento (X=50) e alla fine del movimento programmato (X=100).

...

Codice di programma Commento

...

N170 PDELAYON X100 SPOF ; Posizionamento senza esecuzione del colpo, attivazione dell'esecuzione del colpo ritardata.

N180 X800 PON ; Attivazione della punzonatura. Dopo il raggiungimento della posizione finale, il colpo di punzonatura viene emesso in modo ritardato.

N190 PDELAYOF X700 ; Disattivazione della punzonatura con ritardo, esecuzione normale del colpo alla fine del movimento programmato.

...

Codice di programma Commento

...

N170 SPIF1 X100 PON ; Alla fine del blocco avviene un'esecuzione del colpo sulla prima uscita veloce. Il segnale "colpo attivo" viene monitorato sul primo ingresso.

N180 X800 SPIF2 ; La seconda esecuzione del colpo avviene sulla seconda uscita veloce. Il segnale "colpo attivo" viene monitorato sul secondo ingresso.

N190 SPIF1 X700 ; Il comando del colpo per tutti gli altri colpi avviene con la prima interfaccia.

...

Page 668: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Punzonatura e roditura 12.1 Attivazione, disattivazione

Preparazione del lavoro668 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Ulteriori informazioniPunzonatura e roditura con premilastra (PONS/SONS)

La punzonatura e la roditura con premilastra non sono possibili in più canali contemporaneamente. PONS o SONS può essere attivato in un canale alla volta.

Accelerazione in funzione del percorso (PUNCHACC)

Esempio:PUNCHACC(2,50,10,100)

Distanze tra i fori inferiori a 2mm:Il movimento avviene con un'accelerazione pari al 50% dell'accelerazione max.

Distanze tra i fori da 2mm a 10mm:L'accelerazione aumenta in modo proporzionale alle distanze fino al 100%.

Distanze tra i fori superiori a 10mm:Movimento con accelerazione pari al 100%.

Esecuzione del primo colpo

L'esecuzione del primo colpo dopo l'attivazione della funzione avviene, per roditura e punzonatura, in tempi diversi:

• PON/PONS:

- Tutti i colpi – anche quello del primo blocco dopo l'attivazione – avvengono alla fine del blocco.

• SON/SONS:

- Il primo colpo dopo l'attivazione della roditura avviene già all'inizio del blocco.- Tutti i colpi successivi vengono eseguiti a fine blocco.

Page 669: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Punzonatura e roditura12.1 Attivazione, disattivazione

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 669

Punzonatura e roditura sul posto

L'esecuzione del colpo avviene esclusivamente se nel blocco è presente un'istruzione di movimento degli assi di punzonatura o roditura (assi del piano attivo).

Per eseguire comunque un colpo nello stesso punto, viene programmato un asse di punzonatura/roditura con spostamento 0.

Lavorazione con utensili orientabili

Utilizzo delle istruzioni M

Con l'ausilio della tecnica di macro è sempre possibile utilizzare funzioni M speciali in luogo delle istruzioni (compatibilità). Rispetto ai sistemi precedenti valgono le seguenti equivalenze:

Esempio di file macro:

Esempio di programma:

NotaPer impiegare utensili orientabili tangenzialmente alla traiettoria, si deve utilizzare il controllo tangenziale.

M20, M23 ≙ SPOF

M22 ≙ SON

M25 ≙ PON

M26 ≙ PDELAYON

Codice di programma Commento

DEFINE M25 AS PON ; Punzonatura On

DEFINE M125 AS PONS ; Punzonatura con premilastra On

DEFINE M22 AS SON ; Roditura On

DEFINE M122 AS SONS ; Roditura con premilastra On

DEFINE M26 AS PDELAYON ; Punzonatura con ritardo On

DEFINE M20 AS SPOF ; Punzonatura, roditura Off

DEFINE M23 AS SPOF ; Punzonatura, roditura Off

Codice di programma Commento

...

N100 X100 M20 ; Posizionamento senza esecuzione del colpo.

N110 X120 M22 ; Attivazione della roditura, prima e dopo movimento esecuzione del colpo.

N120 X150 Y150 M25 ; Attivazione punzonatura, esecuzione del colpo alla fine del movimento.

...

Page 670: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Punzonatura e roditura 12.2 Preparazione automatica del percorso

Preparazione del lavoro670 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

12.2 Preparazione automatica del percorso

FunzioniSuddivisione in tratti di percorso

Con punzonatura o roditura attive, sia SPP sia SPN provocano una suddivisione del percorso complessivo programmato per gli assi di contornitura in una quantità di tratti di percorso di uguale lunghezza (suddivisione equidistante del percorso). Internamente, ciascun tratto di percorso corrisponde a un blocco.

Numero di colpi

Durante la punzonatura, il primo colpo ha luogo sul punto finale del primo tratto di percorso, mentre durante la roditura sul punto iniziale del primo tratto di percorso. Attraverso il percorso complessivo si ottengono quindi le seguenti cifre:

Punzonatura: Numero di colpi = numero di tratti di percorso

Roditura: Numero di colpi = numero di tratti di percorso + 1

Funzioni ausiliarie

Le funzioni ausiliarie vengono eseguite nel primo dei blocchi creati.

SintassiSPP=

SPN=

Significato

SPP Lunghezza del tratto di percorso (intervallo massimo tra i colpi); validità modale

SPN Numero dei tratti di percorso per blocco; validità blocco a blocco

Page 671: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Punzonatura e roditura12.2 Preparazione automatica del percorso

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 671

Esempio 1I tratti di roditura programmati devono essere suddivisi automaticamente in tratti di percorso di uguale grandezza.

Codice di programma Commento

N100 G90 X130 Y75 F60 SPOF ; Posizionamento sul punto iniziale 1

N110 G91 Y125 SPP=4 SON ; Roditura On; lunghezza massima del tratto di percorso per suddivisione automatica del percorso: 4 mm

N120 G90 Y250 SPOF ; Roditura Off; posizionamento sul punto iniziale 2

N130 X365 SON ; Roditura On; lunghezza massima del tratto di percorso per suddivisione automatica del percorso: 4 mm

N140 X525 SPOF ; Roditura Off; posizionamento sul punto iniziale 3

N150 X210 Y75 SPP=3 SON ; Roditura On; lunghezza massima del tratto di percorso per suddivisione automatica del percorso: 3 mm

N160 X525 SPOF ; Roditura Off; posizionamento sul punto iniziale 4

N170 G02 X-62.5 Y62.5 I J62.5 SPP=3 SON ; Roditura On; lunghezza massima del tratto di percorso per suddivisione automatica del percorso: 3 mm

N180 G00 G90 Y300 SPOF ; Roditura Off

Page 672: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Punzonatura e roditura 12.2 Preparazione automatica del percorso

Preparazione del lavoro672 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio 2Per le singole serie di fori deve essere effettuata una suddivisione automatica del percorso. Per la suddivisione viene indicata sempre la lunghezza massima del tratto di percorso (valore SPP).

Codice di programma Commento

N100 G90 X75 Y75 F60 PON ; Posizionamento sul punto iniziale 1; punzonatura di foro singolo On

N110 G91 Y125 SPP=25 ; Lunghezza massima del tratto di percorso per la suddivisione automatica del percorso: 25 mm

N120 G90 X150 SPOF ; Punzonatura Off; posizionamento sul punto iniziale 2

N130 X375 SPP=45 PON ; Punzonatura On; lunghezza massima del tratto di percorso per suddivisione automatica del percorso: 45 mm

N140 X275 Y160 SPOF ; Punzonatura Off; posizionamento sul punto iniziale 3

N150 X150 Y75 SPP=40 PON ; Punzonatura On; al posto della lunghezza programmata del tratto di percorso di ;40 mm viene utilizzata la lunghezza calcolata per il tratto di percorso di37,79 mm.

N160 G00 Y300 SPOF ; Punzonatura Off; posizionamento

Page 673: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Punzonatura e roditura12.2 Preparazione automatica del percorso

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 673

12.2.1 Suddivisione del percorso per assi di contornitura

Lunghezza del tratto di percorso SPPCon SPP si imposta la distanza massima tra i colpi e quindi la lunghezza massima dei tratti di percorso nei quali deve essere suddiviso il tratto totale. La disattivazione del comando avviene con SPOF oppure SPP=0.

Esempio:

N10 SON X0 Y0

N20 SPP=2 X10

Il tratto totale di 10 mm viene suddiviso in 5 tratti di percorso, ognuno da 2 mm (SPP=2.

Esempio:N10 G1 G91 SON X10 Y10

N20 SPP=3.5 X15 Y15

Con un tratto totale di 15 mm e una lunghezza dei tratti di percorso di 3,5 mm, si ricava un quoziente non intero (4.28). Di conseguenza, il valore di SPP verrà ridotto fino ad ottenere un quoziente intero. In questo caso risulta una lunghezza dei tratti di percorso di 3 mm.

NotaLa suddivisione del percorso con SPP avviene sempre in modo equidistante: tutti i tratti di percorso hanno la stessa lunghezza. Ne consegue che la lunghezza del tratto di percorso (valore di SPP), è valida solamente se il quoziente derivante dal tratto totale e da SPP è un numero intero. Se questo non si verifica, la lunghezza del tratto di percorso viene ridotta internamente per far sì che il quoziente risulti intero.

Page 674: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Punzonatura e roditura 12.2 Preparazione automatica del percorso

Preparazione del lavoro674 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Numero dei tratti di percorso SPNCon SPN si definisce il numero dei tratti di percorso che devono essere ricavati dal tratto totale. La lunghezza dei tratti di percorso viene calcolata automaticamente. Poichè SPN ha un azione blocco a blocco, deve prima essere attivata la punzonatura o la roditura con PON oppure SON .

SPP e SPN nello stesso bloccoProgrammando nello stesso blocco la lunghezza dei tratti di percorso (SPP) ed il numero dei tratti di percorso (SPN), nel blocco in questione ha validità SPN, nei blocchi successivi SPP. Se SPP è già stato programmato prima di SPN , dopo il blocco con SPN esso diventa nuovamente attivo.

NotaSe nel controllo sono presenti le tecnologie di punzonatura/roditura, la programmazione della suddivisione automatica del percorso è attivabile con SPN o SPP anche indipendentemente da queste tecnologie.

Page 675: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Punzonatura e roditura12.2 Preparazione automatica del percorso

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 675

12.2.2 Suddivisione del percorso per singoli assiSe oltre ad assi di contornitura, vengono definiti come assi di punzonatura/roditura anche assi singoli, questi ultimi possono sottostare alla suddivisione automatica del percorso.

Comportamento degli assi singoli con SPPLa lunghezza programmata dei tratti di percorso (SPP) si riferisce sempre agli assi di contornitura. Perciò il valore SPP è ignorato in un blocco nel quale, oltre al movimento del singolo asse e al valore SPP, non è programmato alcun asse di contornitura.

Se in un blocco vengono programmati assi singoli e di contornitura, il comportamento dell'asse singolo dipende dall'impostazione del relativo dato macchina.

1. Impostazione standard

Il percorso dell'asse singolo viene suddiviso in modo uniforme tra i blocchi intermedi generati tramite SPP.

Esempio:N10 G1 SON X10 A0

N20 SPP=3 X25 A100

Conseguentemente ai tratti di percorso di 3 mm e considerando il tratto totale dell'asse X (asse di contornitura) di 15 mm, vengono generati 5 blocchi.

L'asse A di conseguenza ruota di 20° in ogni blocco.

Page 676: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Punzonatura e roditura 12.2 Preparazione automatica del percorso

Preparazione del lavoro676 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

1. Asse singolo senza suddivisione del percorso

L'asse singolo compie il suo percorso totale nel primo dei blocchi generati.2. Suddivisione del percorso diversa

Il comportamento dell'asse singolo dipende dalla interpolazione degli assi di contornitura:• Interpolazione circolare: suddivisione del percorso

• Interpolazione lineare: nessuna suddivisione

Comportamento con SPNIl numero dei tratti di percorso programmati ha validità anche se non viene programmato contemporaneamente un asse di contornitura.

Premessa: l'asse singolo è stato definito come asse di punzonatura/roditura.

Page 677: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Preparazione del lavoroManuale di programmazione 02/2011, 6FC5398-2BP40-1CA0 677

13Rettifiche

13.1 Sorveglianza utensili per rettifica nel partprogram (TMON, TMOF)

FunzioneCon il comando TMON è possibile attivare per gli utensili di rettifica (tipo 400 - 499) la sorveglianza della geometria e dei giri nel partprogram NC. La sorveglianza resta attiva fino a che non viene disattivata nel partprogram attraverso il comando TMOF.

PremessaI parametri utensile per rettifica da $TC_TPG1 a $TC_TPG9 devono essere impostati.

SintassiTMON(<Nr. T>)TMOF(<Nr. T>)

Significato

NotaOsservare le indicazioni del costruttore della macchina!

TMON Comando per l'attivazione della sorveglianza utensili per rettificaTMOF Comando per la disattivazione della sorveglianza utensili per rettifica<Nr. T> Indicazione del numero T

Nota:Necessario solo se l'utensile con questo numero T non è attivo.

TMOF(0) disattivare la sorveglianza per tutti gli utensili

Page 678: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Rettifiche 13.1 Sorveglianza utensili per rettifica nel partprogram (TMON, TMOF)

Preparazione del lavoro678 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Ulteriori informazioniParametri utensile per rettifica

Bibliografia:Manuale di guida alle funzioni, Funzioni di base; Correzione utensile (W1)

Attivazione della sorveglianza utensili tramite la selezione utensile

A seconda del dato macchina è possibile attivare la sorveglianza utensile per gli utensili di rettifica (tipo 400...499) implicitamente con la scelta dell'utensile.

Per lo stesso mandrino può essere attiva una sola sorveglianza alla volta.

Sorveglianza della geometria

Vengono sorvegliati il raggio e larghezza attuali della mola.

La sorveglianza del riferimento di velocità, rispetto al valore limite dei giri, avviene ciclicamente in base all'override mandrino.

Il valore limite dei giri è il valore più basso risultante dal confronto tra il numero di giri max. e il numero di giri calcolati sulla base della VPM max. e del raggio mola attuale.

Lavorazione senza l'impiego di numeri T e D

Per il dato macchina possono essere impostati un numero T standard e un numero D standard

che non devono essere più programmati e che diventano efficaci dopo Power On/Reset.

Esempio: Lavorazione con la stessa mola.

Tramite il dato macchina è possibile impostare che l'utensile attivo venga mantenuto anche dopo il reset (vedere " Assegnazione di un numero D libero, numero del tagliente (indirizzo CE) [Pagina 441] ").

Parametro Significato Tipo di dati$TC_TPG1 Numero del mandrino INT$TC_TPG2 Norma di concatenamento

I parametri vengono mantenuti automaticamente identici per il lato sinistro e destro della mola.

INT

$TC_TPG3 Raggio minimo della mola REAL$TC_TPG4 Larghezza minima della mola REAL$TC_TPG5 Larghezza attuale della mola REAL$TC_TPG6 Numero di giri massimo REAL$TC_TPG7 Velocità periferica massima REAL$TC_TPG8 Angolo della mola obliqua REAL$TC_TPG9 Numero dei parametri per il calcolo del raggio INT

Page 679: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Preparazione del lavoroManuale di programmazione 02/2011, 6FC5398-2BP40-1CA0 679

14Ulteriori funzioni

14.1 Funzioni per gli assi (AXNAME, AX, SPI, AXTOSPI, ISAXIS, AXSTRING, MODAXVAL)

FunzioniAXNAME viene utilizzato ad esempio nella stesura di cicli generici quando il nome degli assi non è noto.

AX viene utilizzato per la programmazione indiretta di assi geometrici e assi sincroni. L'identificatore asse viene dunque memorizzato in una variabile del tipo AXIS o viene restituito da un comando come AXNAME o SPI.

SPI viene utilizzato quando si programmano funzioni di assi per un mandrino, ad es. un mandrino sincrono.

AXTOSPI viene utilizzato per convertire un identificatore asse in un indice mandrino (funzione di inversione inSPI).

AXSTRING viene utilizzato per convertire un identificatore asse (tipo di dati AXIS) in una stringa (funzione di inversione in AXNAME).

ISAXIS viene utilizzato in cicli a validità generale per garantire che un determinato asse geometrico sia presente e che quindi un successivo richiamo con $P_AXNX non venga interrotto con un messaggio di errore.

MODAXVAL viene utilizzato per rilevare la posizione modulo con gli assi rotanti modulo.

SintassiAXNAME("String")AX[AXNAME("String")]SPI(n)

AXTOSPI(A) o AXTOSPI(B) o AXTOSPI(C)AXSTRING( SPI(n) )ISAXIS(<Numero asse geometrico>)<Posizione modulo>=MODAXVAL(<Asse>,<Posizione asse>)

Page 680: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni 14.1 Funzioni per gli assi (AXNAME, AX, SPI, AXTOSPI, ISAXIS, AXSTRING, MODAXVAL)

Preparazione del lavoro680 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Significato

EsempiEsempio 1: AXNAME, AX, ISAXIS

AXNAME Converte una stringa in ingresso in indicatore dell'asse; la stringa in ingresso deve contenere un nome valido di asse.

AX Indicatore assi variabileSPI Converte il numero del mandrino in identificatore assi; il parametro di

trasmissione deve contenere un numero di mandrino valido.n Numero del mandrinoAXTOSPI Trasforma un identificatore asse in un indice di mandrino del tipo

Integer. AXTOSPI corrisponde alla funzione di conversione in SPI.X, Y, Z Identificatore asse del tipo AXIS come variabile o costanteAXSTRING Viene emessa la stringa con il numero di mandrino assegnato.ISAXIS Verifica se l'asse geometrico indicato esiste.MODAXVAL Rileva la posizione modulo con gli assi rotanti modulo; questa

corrisponde al resto del modulo riferito alla sezione modulo parametrizzata (nell'impostazione standard va da 0 a 360 gradi; tramite MD30340 MODULO_RANGE_START e MD30330 $MA_MODULO_RANGE è possibile modificare l'inizio e le dimensioni della sezione modulo).

NotaEstensioni SPILa funzione asse SPI(n) è utilizzabile anche per leggere e scrivere componenti di frame. In questo modo si possono ad es. scrivere dei frame con la sintassi $P_PFRAME[SPI(1),TR]=2.22.

Con l'ulteriore programmazione della posizione asse tramite l'indirizzo AX[SPI(1)] = <posizione asse> è possibile comandare un asse. Il presupposto necessario è che il mandrino si trovi nel funzionamento di posizionamento o nel funzionamento assi.

Codice di programma Commento

OVRA[AXNAME("Asse radiale")]=10 ; Override per l'asse radiale

AX[AXNAME("Asse radiale")]=50.2 ; Posizione finale per l'asse radiale

OVRA[SPI(1)]=70 ; Override per il mandrino 1

AX[SPI(1)]=180 ; Posizione finale per il mandrino 1

IF ISAXIS(1)==FALSE GOTOF CONTINUA ; L'ascissa è presente?

AX[$P_AXN1]=100 ; Spostamento ascissa

CONTINUA:

Page 681: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni14.1 Funzioni per gli assi (AXNAME, AX, SPI, AXTOSPI, ISAXIS, AXSTRING, MODAXVAL)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 681

Esempio 2: AXSTRING

Nella programmazione di AXSTRING[SPI(n)] l'indice asse al quale è assegnato il mandrino non viene più emesso come numero del mandrino, ma come String "Sn".

Esempio 3: MODAXVAL

La posizione modulo dell'asse rotante modulo A deve essere rilevata.

Il valore di uscita per il calcolo corrisponde alla posizione asse 372.55.

La sezione modulo parametrizzata va da 0 a 360 gradi:

MD30340 MODULO_RANGE_START = 0

MD30330 $MA_MODULO_RANGE = 360

Esempio 4: MODAXVAL

Se l'identificatore asse programmato non si riferisce a un asse rotante modulo, il valore da commutare (<posizione asse>) viene restituito non modificato.

Codice di programma Commento

AXSTRING[SPI(2)] ; Viene emessa la stringa "S2".

Codice di programma Commento

R10=MODAXVAL(A,372.55) ; Posizione modulo calcolata R10 = 12.55.

Codice di programma Commento

R11=MODAXVAL(X,372.55) ; X è l'asse lineare; R11 = 372.55.

Page 682: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni 14.2 Assi geometrici commutabili (GEOAX)

Preparazione del lavoro682 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

14.2 Assi geometrici commutabili (GEOAX)

FunzioniCon la funzione "Assi geometrici commutabili", il raggruppamento di assi geometrici configurato tramite dati macchina può essere modificato dal partprogram. Un asse canale definito come asse supplementare sincrono può sostituire qualsiasi asse geometrico.

SintassiGEOAX(<n>,<asse canale>,<n>,<asse canale>,<n>,<asse canale>)GEOAX()

Significato

GEOAX(...) Comando per la commutazione degli assi geometriciNota:GEOAX()senza immissione del parametro richiama la configurazione di base degli assi geometrici.

<n> Con questo parametro viene indicato il numero dell'asse geometrico cui deve essere assegnato l'asse canale di seguito indicato.Campo dei valori: 1, 2 oppure 3Nota:Con <n>=0 è possibile rimuovere senza sostituire l'asse canale indicato di seguito dal raggruppamento di assi geometrici.

<asse canale> Con questo parametro viene indicato il nome dell'asse canale che deve essere inserito nel raggruppamento di assi geometrici.

Page 683: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni14.2 Assi geometrici commutabili (GEOAX)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 683

EsempiEsempio 1: Attivazione di due assi in sostituzione dell'asse geometrico

Una slitta portautensile può essere spostata attraverso gli assi canale X1, Y1, Z1, Z2:

Gli assi geometrici sono progettati in modo tale che dopo l'attivazione Z1 è momentaneamente attivato come terzo asse geometrico nei nomi degli assi geometrici "Z" e crea insieme a X1 e Y1 il raggruppamento di assi geometrici.

Nel partprogram devono essere impiegati solo gli assi Z1 e Z2 come sostituzione dell'asse geometrico Z.

Esempio 2: Commutazione degli assi geometrici con 6 assi canale

Un macchina possiede 6 assi canale con i nomi XX, YY, ZZ, U, V, W.

L'impostazione di base della configurazione asse geometrico tramite dati macchina è:

asse canale XX = 1° asse geometrico (asse X)

asse canale YY = 2° asse geometrico (asse Y)

asse canale ZZ = 3° asse geometrico (asse Z)

Codice di programma Commento

...

N100 GEOAX(3,Z2) ; L'asse canale Z2 assume la funzione di terzo asse geometrico (Z).

N110 G1 ...

N120 GEOAX(3,Z1) ; L'asse canale Z1 assume la funzione di terzo asse geometrico.

...

Page 684: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni 14.2 Assi geometrici commutabili (GEOAX)

Preparazione del lavoro684 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Codice di programma Commento

N10 GEOAX() ; La configurazione di base degli assi geometrici è attiva.

N20 G0 X0 Y0 Z0 U0 V0 W0 ; Tutti gli assi in rapido su posizione 0.

N30 GEOAX(1,U,2,V,3,W) ; L'asse canale U diventa il primo (X), V il secondo (Y) e W il terzo asse geometrico (Z).

N40 GEOAX(1,XX,3,ZZ) ; L'asse canale XX diventa il primo (X), ZZ il terzo asse geometrico (Z). L'asse canale V resta il secondo asse geometrico (Y).

N50 G17 G2 X20 I10 F1000 ; Cerchio completo nel piano X/Y. Gli assi canale XX e V si spostano.

N60 GEOAX(2,W) ; L'asse canale W diventa il secondo asse geometrico (Y).

N80 G17 G2 X20 I10 F1000 ; Cerchio completo nel piano X/Y. Si muovono gli assi canale XX e W

N90 GEOAX() ; Ripristino della posizione di riposo.

N100 GEOAX(1,U,2,V,3,W) ; L'asse canale U diventa il primo (X), V il secondo (Y) e W il terzo asse geometrico (Z).

N110 G1 X10 Y10 Z10 XX=25 ; Gli assi canale U, V, W si spostano ogni volta nella posizione 10. XX come asse supplementare si sposta nella posizione 25.

N120 GEOAX(0,V) ; V viene escluso dal raggruppamento assi geometrici. U e W sono ancora primo (X) e terzo asse geometrico (Z). Il secondo asse geometrico (Y) resta non assegnato.

N130 GEOAX(1,U,2,V,3,W) ; L'asse canale U continua ad essere primo (X), V diventa secondo (Y), W continua ad essere il terzo asse geometrico (Z).

N140 GEOAX(3,V) ; V diventa il secondo asse geometrico (Z), mentre W viene sovrascritto e quindi escluso dal raggruppamento di assi geometrici. Il secondo asse geometrico (Y) continua ad essere non assegnato come in precedenza.

NotaConfigurazione dell'asseL'abbinamento fra gli assi geometrici, gli assi supplementari, gli assi canale e gli assi macchina, così come la definizione dei nomi dei singoli tipi di asse viene effettuata tramite i seguenti dati macchina:

MD20050 $MC_AXCONF_GEOAX_ASIGN_TAB (abbinamento dell'asse geometrico

all'asse canale)

MD20060 $MC_AXCONF_GEOAX_NAME_TAB (nome asse geometrico nel canale)

MD20070 $MC_AXCONF_MACHAX_USED (numero asse macchina valido nel canale)

MD20080 $MC_AXCONF_CHANAX_NAME_TAB (nome asse canale nel canale)

MD10000 $MN_AXCONF_MACHAX_NAME_TAB (nome asse macchina)

MD35000 $MA_SPIND_ASSIGN_TO_MACHAX (abbinamento del mandrino all'asse macchina)

Bibliografia:Manuale di guida alle funzioni, Funzioni di base; Assi, sistemi di coordinate frame (K2)

Page 685: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni14.2 Assi geometrici commutabili (GEOAX)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 685

Restrizioni• La commutazione degli assi geometrici non è possibile con:

- Trasformazione attiva- Interpolazione spline attiva- Correzione raggio utensile attiva- Correzione fine utensile attiva

• Se l’asse geometrico e l’asse canale fanno riferimento allo stesso nome, non è possibile la commutazione del rispettivo asse geometrico.

• Nessuno degli assi coinvolti nella commutazione deve essere coinvolto in un'azione che può continuare oltre i limiti di blocco, come è ad esempio possibile con gli assi di posizionamento del tipo A o con gli assi slave.

• Con l'istruzione GEOAX gli assi geometrici possono essere sostituiti solo al momento dell'attivazione (quindi non ne possono essere definiti di nuovi).

• Uno scambio assi con GEOAX durante la preparazione della tabelle dei profili (CONTPRON, CONTDCON) provoca un allarme.

Condizioni generaliStato dell'asse dopo la sostituzione

Un asse sostituito attraverso la commutazione nel raggruppamento assi geometrici è programmabile come asse supplementare dopo il processo di commutazione tramite il proprio nome asse canale.

Frame, settori di protezione, limitazioni del campo di lavoro

Con la commutazione degli assi geometrici tutti i frame, i settori di protezione e le limitazioni del campo di lavoro vengono cancellati.

Coordinate polari

Una sostituzione degli assi geometrici con GEOAX imposta analogamente a un cambio del piano con G17-G19 le coordinate polari modali sul valore 0.

DRF, NPV

Un'eventuale traslazione del volantino (DRF) o uno spostamento origine esterno (NPV) restano attivi dopo la commutazione.

Page 686: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni 14.2 Assi geometrici commutabili (GEOAX)

Preparazione del lavoro686 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Configurazione di base degli assi geometrici

L'istruzione GEOAX() richiama la configurazione di base del raggruppamento di assi geometrici.

Dopo POWER ON e con la commutazione nel modo operativo "Spostamento del punto di riferimento" viene ripristinata automaticamente la configurazione di base.

Correzione lunghezza utensile (CLU)

Una correzione lunghezza utensile attiva è attiva anche dopo il processo di commutazione. Assume tuttavia per gli assi geometrici recentemente registrati o di cui è stata sostituita la posizione il valore di non ancora eseguita. Con il primo comando di movimento, per questi assi geometrici il tratto di percorso risultante consiste conformemente a ciò nella somma della correzione della lunghezza utensile e del tratto di percorso programmato.

Gli assi geometrici che durante una commutazione mantengono la propria posizione nel raggruppamento asse conservano anche il proprio stato relativo alla correzione lunghezza utensile.

Configurazione asse geometrico con trasformazione attiva

La configurazione asse geometrico valida in una trasformazione attiva (stabilita tramite i dati macchina) non è modificabile attraverso la funzione "Assi geometrici commutabili".

Se sussiste la necessità di modificare la configurazione asse geometrico in correlazione con le trasformazioni, ciò è possibile solo attraverso un'ulteriore trasformazione.

Una configurazione asse geometrico modificata tramite GEOAX viene cancellata attraverso l'attivazione di una trasformazione.

Se le impostazioni dei dati macchina per la trasformazione e per la commutazione degli assi geometrici si contraddicono hanno priorità le impostazioni nella trasformazione.

Esempio:

Una trasformazione dovrebbe essere attiva. In base ai dati macchina la trasformazione deve essere mantenuta con un RESET, e contemporaneamente con un RESET deve essere creata la configurazione di base degli assi geometrici. In questo caso viene mantenuta la configurazione asse geometrico che è stata impostata con la trasformazione.

Page 687: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni14.3 Container assi (AXCTSWE, AXCTSWED, AXCTSWEC)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 687

14.3 Container assi (AXCTSWE, AXCTSWED, AXCTSWEC)

Funzione Nelle macchine a tavola rotante e nelle macchine multimandrino gli assi portapezzo si spostano da un'unità di lavorazione all'altra. Poiché le unità di lavoro dipendono da differenti canali NCU, al cambio di una stazione/posizione gli assi portapezzo devono essere dinamicamente riassociati al corrispondente canale NCU. I container assi servono a questo scopo.

In un determinato istante nell'unità di lavorazione locale è sempre attivo un solo asse di bloccaggio del pezzo/un mandrino. Il container assi raggruppa le possibilità di connessione con tutti i mandrini/assi di bloccaggio. Di queste possibilità sempre una sola è attiva per l'unità di lavorazione.

Il cambio degli assi utilizzabili definiti tramite un container assi avviene attraverso la traslazione delle voci nel container assi ("rotazione del container assi") su un gradino percentuale impostabile tramite dato di setting (numero di slot).

L'abilitazione della rotazione container assi può essere programmata nel programma pezzo o nell'azione sincrona con i comandi AXCTSWE o AXCTSWED. La rotazione viene eseguita non appena vengono date le abilitazioni di tutti i canali che hanno degli assi in questo container assi.

L'annullamento dell'abilitazione della rotazione container assi può essere programmato nel programma pezzo o nell'azione sincrona con il comando AXCTSWEC (per la programmazione in azioni sincrone vedere anche "Annillamento dell'abilitazione della rotazione container assi (AXCTSWEC) [Pagina 617]".

SintassiAXCTSWE(<container assi>)AXCTSWED(<Container assi>)AXCTSWEC(<container assi>)

Page 688: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni 14.3 Container assi (AXCTSWE, AXCTSWED, AXCTSWEC)

Preparazione del lavoro688 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Significato

AXCTSWE: Richiesta di rotazione di un container assiL'elaborazione del programma non si interrompe con AXCTSWE. Se nel controllo si ricevono le abilitazioni di tutti i canali per gli assi del container, la rotazione del container avviene con il gradino percentuale specifico per il container registrato nel SD41700 $SN_AXCT_SWWIDTH[<Numero container>].

AXCTSWED: Richiesta di rotazione di un container assi con azione esclusiva del canale attivoNotaVariante di comando speciale per la semplificazione della messa in servizio del programma pezzo o dell'azione sincrona.NotaIl comportamento di altri canali che hanno assi nel container assi interessato può essere impostato tramite il seguente dato macchina:MD12760 $MN_ AXCT_FUNCTION_MASK, Bit 0

AXCTSWEC: Annullamento dell'abilitazione della rotazione container assiNotaL'abilitazione della rotazione container assi può essere annullata solo se la rotazione non è ancora iniziata:$AN_AXCTSWA[<container assi>] == 0Per la variabile di sistema vedere "Container assi (AXCTSWE, AXCTSWED, AXCTSWEC) [Pagina 687]"

<container assi>: Identificatore del container assiI possibili dati sono i seguenti:CT<numero container>: Alla combinazione di lettere CT

viene aggiunto il numero del container assi.Esempio: CT3

<nome container>: Nome individuale del container assi impostato con MD12750 $MN_AXCT_NAME_TAB.Esempio: A_CONT3

<nome_asse>: Nome di un asse container che è noto nel canale interessato.

Page 689: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni14.3 Container assi (AXCTSWE, AXCTSWED, AXCTSWEC)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 689

Condizioni marginali

Utilizzo di un container assi prima del richiamo di AXCTSWEC

Dato che l'elaborazione del programma non si arresta con AXCTSWE, nella programmazione dell'azione sincrona DO AXCTSWEC occorre tenere conto di quanto segue:

Esempio:

Dato che dopo il blocco N10 con l'abilitazione della rotazione container assi con il blocco N20 viene utilizzato un asse del container assi (AX_A) e questo utilizzo provoca l'attesa della fine della rotazione container assi, l'azione sincrona arriva nell'elaborazione principale solo insieme al blocco programma N30 ed è quindi senza effetto.

Rimedio:

Vedere ancheContainer assi (AXCTSWE, AXCTSWED, AXCTSWEC) Container assi (AXCTSWE, AXCTSWED, AXCTSWEC) [Pagina 687]

Ulteriori informazioni

Container assi

Attraverso il container assi è possibile assegnare:

• assi locali e/o

• Assi link

Codice di programma Commento

N10 AXCTSWE(CT3) ; Abilitazione della rotazione container assi.

N20 AX_A10 ;;

AX_A = asse container.Si attende la fine della rotazione container assi: $AN_AXCTSWA[CT3]==0

WHEN <condizione> DO AXCTSWEC(AX_A) ; Annullamento dell'abilitazione. Nessun effetto!N30 G4 F1

Codice di programma Commento

N11 AXCTSWE(CT3) ; Abilitazione della rotazione container assi.

WHEN <condizione> DO AXCTSWEC(AX_A) ; Annullamento dell'abilitazione

N21 ... ; Blocco NC eseguibile.

N31 AX_A10 ; Si attende la fine della rotazione container assi: $AN_AXCTSWA[CT3]==0

ATTENZIONESenza il blocco eseguibile N21 l'azione sincrona arriva nell'elaborazione principale solo dopo la fine della rotazione container assi con il successivo blocco di programma eseguibile N31 e quindi sarebbe senza effetto come nell'esempio precedente.

Page 690: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni 14.3 Container assi (AXCTSWE, AXCTSWED, AXCTSWEC)

Preparazione del lavoro690 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

I container assi con assi di collegamento sono una risorsa operativa valida per ogni NCU (NCU globale), che viene coordinata dal controllo numerico. Sono possibili anche i container assi in cui vengono gestiti esclusivamente gli assi locali.

Bibliografia:Per indicazioni dettagliate per la progettazione dei container assi vedere:Manuale di guida alle funzioni Funzioni di ampliamento; B3: Più pannelli operatore su più NCU, Sistemi decentrati

Criteri di abilitazione

AXCTSWE( )

Con il comando AXCTSWE si dà l'abilitazione della rotazione container assi specifica per canale. Se tutti i canali che hanno assi nel container hanno dato l'abilitazione, la rotazione viene eseguita.

La rotazione del container assi avviene con il gradino percentuale impostato nel dato di setting:

SD41700 $SN_AXCT_SWWIDTH[<container assi>]

Il seguente esempio

Esempio:

Dopo la rotazione del container assi intorno al gradino percentuale 1, l'asse canale Z è assegnato invece dell'asse AX1 a NCU1 e l'asse AX5 a NCU1.

Immagine logicadegli assi macchina

[0] Asse macchina locale 2

[1] Asse macchina locale 3

[5] Container assi 1 registrazione 1 (slot 1)

Nomedell'asse canale

Container assi 1:prima della rotazione

Container assi 1:dopo la rotazione

Rotazione container assi, gradino percentuale 1

N. nell'immagine logica degli assi macchina

X

Y

Z

S1

1

2

6

7

AX2

AX3

CT1_SL1

NC1_AX1Slot 1

NC2_AX2

NC2_AX1

NC1_AX5

...

...

...

...

...

...

NC1_AX1

NC2_AX2

NC2_AX1

NC1_AX5

AXCTSWE(CT1)

...

...

...

...

Slot 2

Slot 3

Slot 4

Slot 5

Slot 6

Slot 7

Slot 1

Slot 2

Slot 3

Slot 4

Slot 5

Slot 6

Slot 7

Page 691: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni14.3 Container assi (AXCTSWE, AXCTSWED, AXCTSWEC)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 691

AXCTSWED( )

Il comando AXCTSWED consente di semplificare la messa in servizio del programma pezzo o dell'azione sincrona. La rotazione del container assi avviene immediatamente con l'esecuzione del comando AXCTSWED. Le abilitazioni degli altri canali che hanno assi nel container assi non sono necessarie. Affinché la rotazione del container assi abilitata venga eseguita, determinati canali devono trovarsi nello stato reset. La scelta dei canali che devono essere tenuti in considerazione avviene tramite il seguente dato macchina:

La rotazione del container assi avviene con il gradino percentuale impostato nel dato di setting:

SD41700 $SN_AXCT_SWWIDTH[<container assi>]

Efficacia

La nuova assegnazione assi successiva a una rotazione del container assi riguarda tutte le NCU i cui canali rimandano, attraverso l'immagine logica della macchina, al container assi ruotato.

Diagnostica

Lo stato attuale di un container assi può essere letto nei programmi pezzo e nelle azioni sincrone tramite le seguenti variabili di sistema:

MD12760 $MN_ AXCT_FUNCTION_MASKBit Valore Significato0 0 In caso di rotazione del container assi diretta (AXCTSWED) tutti gli altri canali devono

trovarsi nello stato reset.1 In caso di rotazione del container assi diretta (AXCTSWED), devono trovarsi nello

stato reset solo i canali che hanno il diritto di interpolazione su assi del container assi.

Variabile di sistema Tipo Descrizione$AC_AXCTSWA[<container assi>] BOOL Stato del container assi specifico del canale

1 Il canale ha abilitato la rotazione del container assi per il container assi specificato. La rotazione non è ancora stata eseguita.

0 La rotazione del container assi è stata eseguita.$AN_AXCTSWA[<container assi>] BOOL Stato del container assi specifico dell'NCU

1 Tutti i canali dell'NCU hanno abilitato la rotazione del container assi. La rotazione viene eseguita.

0 Non tutti i canali dell'NCU hanno ancora abilitato la rotazione del container assi. La rotazione non viene eseguita.

$AN_AXCTSWE[<container assi>] INT Stato della rotazione del container assi specifico dello slotLa variabile di sistema fornisce lo stato dello slot del container assi a bit. Ogni bit corrisponde a uno slot.1 Lo slot è abilitato per la rotazione.0 Lo slot non è abilitato per la rotazione.

Page 692: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni 14.3 Container assi (AXCTSWE, AXCTSWED, AXCTSWEC)

Preparazione del lavoro692 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Annullamento dell'abilitazione della rotazione container assi (AXCTSWEC)

Se necessario, l'abilitazione del canale attuale per la rotazione del container assi può essere annullata:

• tramite programmazione di AXCTSWEC nel programma pezzo;

• tramite azione sincrona (vedere "Annillamento dell'abilitazione della rotazione container assi (AXCTSWEC) [Pagina 617]").

Perché la funzione diventi attiva, devono essere soddisfatte le seguenti condizioni:

• Il canale attuale deve avere già dato l'abilitazione alla rotazione del container assi, ossia per questo canale la variabile di sistema $AC_AXCTSWA[<n>] è = 1.

• La rotazione del container assi non è ancora iniziata, il che significa che la variabile di sistema $AN_AXCTSWA[<n>] è = 0.

Dopo l'esecuzione del comando AXCTSWEC, la variabile di sistema $AC_AXCTSWA[<n>] in questo canale assume il valore "0".

Rotazione del container assi con GET/GETD implicito

Durante l'abilitazione di una rotazione container assi vengono assegnati al canale tutti gli assi del container assegnati al canale tramite GET o GETD. L'indicazione degli assi è di nuovo consentita solo dopo la rotazione del container assi.

$AN_AXCTAS[<container assi>] INT Numero di slot su cui il container assi è stato attualmente commutato.Valore di inizializzazione dopo POWER ON: 0Campo di valori: 0 ... numero massimo di slot occupati nel

container assi - 1

Variabile di sistema Tipo Descrizione

NotaQuesto comportamento può essere impostato tramite dati macchina. Rispettare le indicazioni fornite dal costruttore della macchina.

NotaLa rotazione del container assi con GET/GETD implicito non può essere impiegata per un asse che si trova nello stato elaborazione principale asse (ad es. per un asse PLC), in quanto questo asse dovrebbe uscire da questo stato per la rotazione del container assi.

Page 693: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni14.4 Attesa di posizione asse valida (WAITENC)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 693

14.4 Attesa di posizione asse valida (WAITENC)

FunzioneCon il comando di linguaggio WAITENC è possibile attendere nel programma NC finché per gli assi progettati con MD34800 $MA_WAIT_ENC_VALID = 1 non sono disponibili posizioni d'asse sincronizzate o ripristinate.

Nello stato di attesa può avvenire un'interruzione, ad es. per effetto dell'avvio di un sottoprogramma asincrono o di un cambio del modo operativo in JOG. Con la prosecuzione del programma, lo stato di attesa può essere nuovamente assunto.

SintassiWAITENC può essere programmato nella sezione di programma di qualsiasi programma NC.

La programmazione deve avvenire in un blocco a sé stante:

EsempioWAITENC viene ad es. utilizzato nel programma applicativo comandato da evento.../_N_CMA_DIR/_N_PROG_EVENT_SPF, come illustra il seguente esempio di applicazione.

NotaLo stato di attesa viene visualizzato nella superficie operativa dallo stato di arresto "Attesa del sistema di misura".

...

WAITENC

...

Page 694: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni 14.4 Attesa di posizione asse valida (WAITENC)

Preparazione del lavoro694 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio di applicazione:svincolo dell'utensile dopo POWER OFF con trasformazione dell'orientamento

Una lavorazione con orientamento dell'utensile è stata interrotta da una caduta di tensione.Al successivo avviamento viene richiamato il programma applicativo comandato da evento .../_N_CMA_DIR/_N_PROG_EVENT_SPF.

Nel programma applicativo comandato da evento si attendono con WAITENC le posizioni asse sincronizzate o ripristinate, per poi poter calcolare un frame che allinei il sistema di coordinate pezzo secondo l'orientamento dell'utensile.

Successivamente l'utensile può essere svincolato, in modo JOG mediante un movimento di svincolo, in direzione dell'asse utensile.

Codice di programma Commento

...

IF $P_PROG_EVENT == 4 ; Avviamento.

IF $P_TRAFO <> 0 ; La trasformazione è stata selezionata.

WAITENC ; Attesa di posizioni asse valide degli assi di orientamento.

TOROTZ ; Rotazione dell'asse Z del sistema di coordinate pezzo in direzione dell'asse utensile.

ENDIF

M17

ENDIF

...

Page 695: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni14.5 Verifica del set di istruzioni del linguaggio NC presente (STRINGIS)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 695

14.5 Verifica del set di istruzioni del linguaggio NC presente (STRINGIS)

Funzione Con la funzione STRINGIS(...) è possibile verificare se la stringa specificata è disponibile come elemento del linguaggio di programmazione NC nel set di istruzioni attuale.

DefinizioneINT STRINGIS(STRING <nome>)

SintassiSTRINGIS(<nome>)

Significato

Elementi del linguaggio di programmazione NC

È possibile verificare i seguenti elementi del linguaggio di programmazione NC:

• Codici G di tutti i gruppi di funzioni G esistenti, ad es. G0, INVCW, POLY, ROT, KONT, SOFT, CUT2D, CDON, RMB, SPATH

• Indirizzi DIN o NC, ad es. ADIS, RNDM, SPN, SR, MEAS

• Funzioni, ad es. TANG(...) o GETMDACT

• Procedure, ad es. SBLOF.

• Parole chiave, ad es. ACN, DEFINE o SETMS

• Dati di sistema, ad es. dati macchina $M... , dati setting $S... o dati opzionali $O...

• Variabili di sistema $A... , $V... , $P...

• Parametri di calcolo R...

• Nomi di cicli attivi

• Variabili GUD e LUD

• Nomi di macro

• Nomi di label

STRINGIS: Funzione con valore di ritorno<nome>: Nome dell'elemento da verificare del linguaggio di programmazione NCValore di ritorno: Il formato del valore di ritorno è yxx (decimale).

Page 696: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni 14.5 Verifica del set di istruzioni del linguaggio NC presente (STRINGIS)

Preparazione del lavoro696 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Valore di ritorno

Il valore di ritorno è rilevante solo nelle prime 3 cifre decimali. Il formato del valore di ritorno è yxx, dove y = informazione base e xx = informazione dettagliata.

Valore di ritorno Significato000 La stringa ’name’ non è conosciuta nel presente sistema 1)

100 La stringa ’name’ è un elemento del linguaggio di programmazione NC ma attualmente non è programmabile (opzione/funzione sono inattive)

2xx La stringa ’name’ è un elemento programmabile del linguaggio di programmazione NC (opzione/funzione sono attive) Le informazioni dettagliate xx contengono ulteriori ragguagli sul tipo di elemento:xx Significato01 Indirizzo DIN o indirizzo NC 2)

02 Codice G (ad es. G04, INVCW)

03 Funzione con valore di ritorno04 Funzione senza valore di ritorno05 Parola chiave (ad es. DEFINE)

06 Dati macchina ($M...), dati setting ($S...) o dati opzionali ($O...)

07 Parametri di sistema, ad es. variabile di sistema ($...) o parametro di calcolo (R...)

08 Ciclo (il ciclo deve essere caricato nell'NCK e i programmi ciclici devono essere attivi 3) )09 Variabile GUD (la variabile GUD deve essere specificata nel file delle definizioni GUD, inoltre

occorre l'attivazione delle variabili GUD)10 Nome della macro (la macro deve essere specificata nel file delle definizioni, inoltre occorre

l'attivazione delle macro) 4)

11 Variabile LUD del programma pezzo attuale12 Codice G ISO (la modalità di lingua ISO deve essere attiva)

400 La stringa ’name’ è un indirizzo NC non riconosciuto come xx == 01 o xx == 10 e non G né R 2)

y00 Nessuna assegnazione specifica possibile1) In funzione del controllore è, in determinate circostanze, solo un sottoinsieme dei comandi di linguaggio NC di Siemens, ad es. SINUMERIK 802D sl. Su questi controllori viene restituito il valore 0 per quelle stringhe che sono in linea di principio comandi di linguaggio NC di Siemens. Questo comportamento può essere modificato tramite MD10711 $MN_NC_LANGUAGE_CONFIGURATION. Con MD10711 = 1, per i comandi di linguaggio NC di Siemens viene sempre restituito il valore 100.2) Gli indirizzi NC sono le seguenti lettere: A, B, C, E, I, J, K, Q, U, V, W, X, Y, Z. Questi indirizzi NC possono anche essere programmati con ampliamento dell'indirizzo. L'ampliamento dell'indirizzo può essere specificato durante la verifica con STRINGIS. Esempio: 201 == STRINGIS("A1"). Le lettere D, F, H, L, M, N, O, P, S, T sono indirizzi NC o funzioni ausiliarie che nel loro uso sono definite dall'utente. Per queste lettere viene sempre restituito il valore 400. Esempio: 400 == STRINGIS( "D" ). Questi indirizzi NC non possono essere specificati con ampliamento dell'indirizzo durante la verifica con STRINGIS. Esempio: 000 == STRINGIS("M02"), ma 400 == STRINGIS("M").3) Non è possibile verificare con il comando STRINGIS i nomi dei parametri del ciclo.4) Gli indirizzi definiti come macro, ad es. G, H, M e L, vengono identificati come macro.

Page 697: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni14.5 Verifica del set di istruzioni del linguaggio NC presente (STRINGIS)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 697

Esempi

Negli esempi che seguono si assume che gli elementi del linguaggio NC indicati come stringa, se non particolarmente annotati, siano in linea di principio programmabili nel controllore.

1. La stringa "T" è definita come funzione ausiliaria:400 == STRINGIS("T")000 == STRINGIS ("T3")

2. La stringa "X" è definita come asse:201 == STRINGIS("X")201 == STRINGIS("X1")

3. La stringa "A2" è definita come indirizzo NC con estensione:201 == STRINGIS("A")201 == STRINGIS("A2")

4. La stringa "INVCW" è definita come codice G nominato:202 == STRINGIS("INVCW")

5. La stringa "$MC_GCODE_RESET_VALUES" è definita come dato macchina:206 == STRINGIS("$MC_GCODE_RESET_VALUES")

6. La stringa "GETMDACT" è una funzione di linguaggio NC:203 == STRINGIS("GETMDACT ")

7. La stringa "DEFINE" è una parola chiave:205 == STRINGIS("DEFINE")

8. La stringa "$TC_DP3" è un parametro di sistema (componente di lunghezza utensile):207 == STRINGIS("$TC_DP3")

9. La stringa "$TC_TP4" è un parametro di sistema (dimensione utensile):207 == STRINGIS("$TC_TP4")

10.La stringa "$TC_MPP4" è un parametro di sistema (stato del posto magazzino):

- La gestione del magazzino utensili è attiva: 207 == STRINGIS("$TC_MPP4") ;- La gestione del magazzino utensili non è attiva: 000 == STRINGIS("$TC_MPP4")

Vedere anche al paragrafo: Gestione del magazzino utensili.11.La stringa "MACHINERY_NAME" è definita come variabile GUD:

209 == STRINGIS("MACHINERY_NAME")

12.La stringa "LONGMACRO" è definita come macro:210 == STRINGIS("LONGMACRO")

13.La stringa "MYVAR" è definita come variabile LUD:211 == STRINGIS("MYVAR")

14.La stringa "XYZ" non è un comando conosciuto nell'NCK, è una variabile GUD o un nome di macro o di ciclo:000 == STRINGIS("XYZ")

Page 698: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni 14.5 Verifica del set di istruzioni del linguaggio NC presente (STRINGIS)

Preparazione del lavoro698 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Gestione del magazzino utensili

Se la funzione Gestione del magazzino utensili non è attiva, STRINGIS fornisce per i parametri di sistema della gestione del magazzino utensili, indipendentemente dal dato macchina

• MD10711 $MN_NC_LANGUAGE_CONFIGURATION,

sempre il valore 000.

Modalità ISO

Se la funzione "Modalità ISO" è attiva:

• MD18800 $MN_MM_EXTERN_LANGUAGE (attivazione di linguaggi NC esterni)

• MD10880 $MN_ MM_EXTERN_CNC_SYSTEM (sistema di controllo da adattare)

STRINGIS verifica la stringa specificata anzitutto come codice G di SINUMERIK. Se la stringa non è in codice G di SINUMERIK, se ne verifica la conformità al codice G ISO.

Le commutazioni programmate (G290 (modalità SINUMERIK), G291 (modalità ISO)) non hanno effetto su STRINGIS.

EsempioI dati macchina rilevanti per la funzione STRINGIS(...) hanno i seguenti valori:

• MD10711 $MN_NC_LANGUAGE_CONFIGURATION = 2 (vengono considerati noti solo i comandi di linguaggio NC le cui opzioni sono impostate)

• MD19410 $ON_TRAFO_TYPE_MASK = 'H0' (opzione: trasformazioni)

• MD10700 $MN_PREPROCESSING_LEVEL='H43' (preelaborazione per i cicli attiva)

Il seguente programma d'esempio viene eseguito senza messaggio di errore:

Codice di programma Commento

N1 R1=STRINGIS("TRACYL") ;;;

R1 == 0, poiché TRACYL, a causa della mancanza dell'opzione di trasformazione, viene rilevato come "sconosciuto"

N2 IF STRINGIS("TRACYL") == 204 ;

N3 TRACYL(1,2,3) ; N3 viene saltato

N4 ELSE

N5 G00 ; e invece eseguito N5

N6 ENDIF

N7 M30

Page 699: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni14.6 Richiamo della funzione ISVAR e lettura dei dati macchina indice dell'array

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 699

14.6 Richiamo della funzione ISVAR e lettura dei dati macchina indice dell'array

FunzioniL'istruzione ISVAR è una funzione nell'ambito del linguaggio NC con un:

• Valore della funzione del tipo BOOL

• Parametro di trasferimento del tipo STRING

L'istruzione ISVAR restituisce TRUE quando il parametro di trasferimento contiene una variabile nota all'NC (dato macchina, dato setting, variabile di sistema, variabili generiche ad esempio GUD).

SintassiISVAR(<identificatore di variabile>)ISVAR(<identificatore>,[<valore>,<valore>])

Significato

VerificheIn relazione al parametro di trasferimento vengono eseguite queste verifiche:

• è presente l’identificatore

• si tratta di un campo mono o bidimensionale

• è consentito un indice Array

La funzione verrà confermata con TRUE solo se tutti questi controlli hanno avuto esito positivo. Nel caso in cui una sola condizione non venga soddisfatta oppure ci sia un errore di sintassi, la funzione verrà confermata con FALSE. Le variabili assiali vengono accettate come indici per i nomi degli assi ma non è prevista un'ulteriore verifica.

Ampliamento: lettura dell'array dei dati macchina e dati setting senza indice.

Se manca l'indice dei dati macchina generici e specifici per canale l'allarme 12400 "Canale % 1 Blocco % 2 Campo % 3 Elemento non esistente" non viene più emesso.

Inoltre per i dati macchina specifici per canale deve essere programmato almeno l'indice dell'asse. In caso contrario viene emesso l'allarme 12400.

<identificatore di variabile>

Il parametro di trasferimento del tipo String può essere senza dimensioni, a una dimensione o a due dimensioni.

<identificatore> Identificativo con una delle variabili note all'NC con o senza indice di array come dato macchina, dato setting, variabile di sistema o variabile generica. Ampliamento:per i dati macchina generici e specifici per canale, il primo elemento dell'array viene letto anche se manca l'indice

<valore> Valore della funzione del tipo BOOL

Page 700: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni 14.6 Richiamo della funzione ISVAR e lettura dei dati macchina indice dell'array

Preparazione del lavoro700 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempio: Richiamo della funzione ISVAR

Esempio: Lettura dei dati macchina array con e senza indiceIl primo elemento viene letto conR1=$MC_EXTERN_GCODE_RESET_VALUES

questo corrisponde al precedenteR1=$MC_EXTERN_GCODE_RESET_VALUES[0]

oppure viene letto il primo elementoR1=$MA_POSTCTRL_GAIN[X1]

questo corrisponde al precedenteR1=$MA_POSTCTRL_GAIN[0, X1]

Nelle azioni sincrone il primo elemento viene anche letto conWHEN TRUE DO $R1 = $MC_EXTERN_GCODE_RESET_VALUES

questo corrisponde al precedenteWHEN TRUE DO $R1 = $MC_EXTERN_GCODE_RESET_VALUES[0]

e finora con l'allarme 12400 non veniva letto.

L'allarme 12400 viene comunque emesso conR1=$MA_POSTCTRL_GAIN

Codice di programma Commento

DEF INT VAR1

DEF BOOL IS_VAR=FALSE ; Il parametro di trasferimento è una variabile generale

N10 IS_VAR=ISVAR("VAR1") ; IS_VAR sarà in questo caso TRUE

DEF REAL VARARRAY[10,10]

DEF BOOL IS_VAR=FALSE ; diverse varianti di sintassi

N20 IS_VAR=ISVAR("VARARRAY[,]") ; IS_VAR è TRUE con un array bidimensionale

N30 IS_VAR=ISVAR("VARARRAY") ; IS_VAR è TRUE, esiste la variabile

N40 IS_VAR=ISVAR("VARARRAY[8,11]") ; IS_VAR è FALSE, l'indice array non è consentito

N50 IS_VAR=ISVAR("VARARRAY[8,8") ; IS_VAR è FALSE, errore di sintassi per "]" mancante

N60 IS_VAR=ISVAR("VARARRAY[,8]") ; IS_VAR è TRUE, l'indice array è consentito

N70 IS_VAR=ISVAR("VARARRAY[8,]") ; IS_VAR è TRUE

DEF BOOL IS_VAR=FALSE ; Il parametro di trasferimento è un dato macchina

N100 IS_VAR=ISVAR("$MC_GCODE_RESET_VALUES[1]" ; IS_VAR è TRUE

DEF BOOL IS_VAR=FALSE ; Il parametro di trasferimento è una variabile di sistema

N10 IS_VAR=ISVAR("$P_EP") ; IS_VAR sarà in questo caso TRUE

N10 IS_VAR=ISVAR("$P_EP[X]") ; IS_VAR sarà in questo caso TRUE

Page 701: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni14.7 Apprendimento delle curve di compensazione (QECLRNON, QECLRNOF)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 701

14.7 Apprendimento delle curve di compensazione (QECLRNON, QECLRNOF)

FunzioniLa compensazione dell'errore del quadrante (QFK)) riduce gli errori sul profilo derivanti da non linearità meccaniche quando si inverte il movimento (ad es. attrito, giochi,) o torsione. I dati di compensazione ottimali possono essere adattati dal controllo numerico nella fase di apprendimento grazie ad una rete neuronale per determinare automaticamente la curva di compensazione. L'apprendimento può avvenire contemporaneamente in max. 4 assi.

SintassiQECLRNON

QECLRNOF

Attivazione processo di apprendimento: QECLRNON

Il vero e proprio processo di apprendimento viene attivato nel programma NC con il comando QECLRNON attraverso indicazione degli assi:

QECLRNON (X1, Y1, Z1, Q)

Solo se il comando è attivo vengono modificate le linee guida.

Disattivazione apprendimento: QECLRNOF

Una volta conclusi i movimenti di apprendimento degli assi desiderati, il processo di apprendimento viene disattivato con QECLRNOF per tutti gli assi contemporaneamente.

Page 702: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni 14.7 Apprendimento delle curve di compensazione (QECLRNON, QECLRNOF)

Preparazione del lavoro702 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Significato

DescrizioneI movimenti degli assi necessari per l'apprendimento vengono generati con l'ausilio di un programma NC. In esso sono disponibili i movimenti di apprendimento in forma di un ciclo di apprendimento.

Primo apprendimento

Per il primo apprendimento in fase di messa in servizio sono contenuti nel dischetto del programma base PLC esempi di programmi NC per l'apprendimento dei movimenti e per la definizione delle variabili di sistema per la QFK:

Apprendimento successivo

Una ottimizzazione successiva di una curva già esistente è possibile con "Apprendimenti successivi". Vengono utilizzati i dati già esistenti nella memoria utente. Per gli apprendimenti successivi vengono adattati i programmi NC di esempio alle proprie esigenze.

I parametri del ciclo di apprendimento (ad esempio QECLRN.SPF) se necessario, vanno modificati per gli "Apprendimenti successivi":

• settare "Modo apprendimento" = 1

• ridurre eventualmente il "Numero dei cicli di apprendimento"

• disattivare eventualmente "Apprendimento per stadi" e definire i relativi limiti del settore.

QECLRNON (Asse 1,…4) Attivazione della funzione "Apprendimento della compensazione dell'errore sul quadrante"

QECLRNO Disattivazione della funzione "Apprendimento della compensazione dell'errore sul quadrante"

QECLRN.SPF Ciclo di apprendimentoQECDAT.MPF Programma NC modello per l'assegnazione delle variabili di

sistema e per la parametrizzazione del ciclo di apprendimentoQECTEST.MPF Programma NC modello per test forma del cerchio

Page 703: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni14.8 Richiamo interattivo della finestra dal partprogram (MMC)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 703

14.8 Richiamo interattivo della finestra dal partprogram (MMC)

FunzioniCon il comando MMC si possono visualizzare dal partprogram sull'interfaccia HMI delle finestre di dialogo interattive definite dall'utente (maschere interattive).

La struttura delle finestre di dialogo si definisce con una progettazione esclusivamente testuale (file COM nella directory cicli), il software di sistema HMI resta invariato.

Le finestre interattive definite dall'utente non si possono richiamare contemporaneamente in canali diversi.

SintassiMMC(CYCLES,PICTURE_ON,T_SK.COM,BILD,MGUD.DEF,BILD_3.AWB,TEST_1,A1","S")

Significato

BibliografiaPer indicazioni dettagliate sulla programmazione del comando MMC (incl. esempi di programmazione) vedere il Manuale per la messa in servizio.

MMC Dal partprogram richiamare in modo interattivo la maschera di dialogo sull'HMI.

CYCLES Settore operativo nel quale vengono eseguiti i dialoghi utente progettati.

PICTURE_ONoPICTURE_OFF

Istruzione: selezione/deselezione maschera

T_SK.COM File Com: Nome del file per le maschere interattive (cicli utente). Nel file si definisce la struttura delle maschere. Nella maschera di dialogo si possono visualizzare variabili utente e/o testi di commento.

MASCHERA Nome della maschera di dialogo: le singole maschere vengono selezionate attraverso il relativo nome.

MGUD.DEF File di definizione dei dati utente, al quale si accede per la lettura/scrittura di variabili.

MASCHERA_3.AWB File di graficaTEST_1 Tempo di visualizzazione o variabile di confermaA1 Variabili di testo...","S" Modo di conferma: sincrono, conferma con il softkey "OK"

Page 704: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni 14.9 Tempo di esecuzione del programma / Contapezzi

Preparazione del lavoro704 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

14.9 Tempo di esecuzione del programma / Contapezzi

14.9.1 Tempo di esecuzione del programma / Contapezzi (panoramica)A supporto dell'operatore della macchina utensile vengono fornite informazioni relative al tempo di esecuzione del programma e al numero dei pezzi.

Queste informazioni possono essere elaborate come variabili di sistema nel programma NC e/o PLC. Contemporaneamente queste informazioni sono disponibili per la visualizzazione sulla superficie operativa.

Page 705: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni14.9 Tempo di esecuzione del programma / Contapezzi

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 705

14.9.2 Tempo di esecuzione del programma

Funzione La funzione "Tempo di esecuzione del programma" consente di disporre di un timer NC interno per il controllo dei processi tecnologici che possono essere letti tramite variabili di sistema specifiche di NC e del canale nel partprogram e nelle azioni sincrone.

Il trigger per la misura runtime ($AC_PROG_NET_TIME_TRIGGER) è l'unica variabile di sistema scrivibile della funzione e serve per la misura selettiva di sezioni di programma. Ciò significa che attraverso la descrizione del trigger nel programma NC può essere attivata e nuovamente disattivata la misurazione temporale.

Variabile di sistema Significato Attività

specifica di NC$AN_SETUP_TIME Tempo a partire dall'ultimo avviamento del controllo

con valori predefiniti ("avviamento a freddo") in minutiViene reimpostato automaticamente su "0" a ciascun avviamento del controllo con valori predefiniti.

• sempre attiva

$AN_POWERON_TIME Valore di tempo a partire dall'ultimo avviamento normale del PLC ("avvio a caldo") in minutiViene reimpostato automaticamente su "0" a ciascun avviamento normale del controllore.

Specifica del canale$AC_OPERATING_TIME Tempo di esecuzione totale in secondi dei programmi

NC nel modo operativo AutomaticoIl valore viene reimpostato automaticamente su "0" a ciascun avviamento del controllore.

• Attivazione tramite MD27860

• solo modo operativo AUTOMATICO$AC_CYCLE_TIME Tempo di elaborazione in secondi del programma NC

selezionatoIl valore viene reimpostato automaticamente su "0" all'avvio di un nuovo programma NC.

$AC_CUTTING_TIME Tempo di lavorazione in secondi Si misura il tempo di esecuzione degli assi di interpolazione (almeno uno è attivo) senza rapido attivo in tutti i programmi NC tra NC-Start e fine programma / NC-Reset. La misura viene interrotta se è attivo il tempo di sosta.Il valore viene reimpostato automaticamente su "0" a ciascun avviamento del controllo con valori predefiniti.

Page 706: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni 14.9 Tempo di esecuzione del programma / Contapezzi

Preparazione del lavoro706 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

$AC_ACT_PROG_NET_TIME Tempo di elaborazione netto attuale in secondi del programma NC correnteViene reimpostato automaticamente su "0" all'avvio di un programma NC.

• sempre attiva• solo modo

operativo AUTOMATICO

$AC_OLD_PROG_NET_TIME Tempo di esecuzione netto del programma terminato già corretto con M30 in secondi

$AC_OLD_PROG_NET_TIME_COUNT Variazioni in $AC_OLD_PROG_NET_TIMEDopo POWER ON $AC_OLD_PROG_NET_TIME_COUNT è impostato su "0".$AC_OLD_PROG_NET_TIME_COUNT viene successivamente sempre aumentato se il controllo ha nuovamente scritto $AC_OLD_PROG_NET_TIME.

$AC_PROG_NET_TIME_TRIGGER Trigger per la misurazione temporale: • solo modo operativo AUTOMATICO

0 Stato neutraleIl trigger non è attivo.

1 FineTermina la misurazione e copia il valore da $AC_ACT_PROG_NET_TIME in $AC_OLD_PROG_NET_TIME. $AC_ACT_PROG_NET_TIME viene impostato su "0" e quindi continua a essere eseguito.

2 AvvioAvvia la misura e imposta $AC_ACT_PROG_NET_TIME su "0". $AC_OLD_PROG_NET_TIME non viene modificato.

3 StopInterrompe la misura. Non modifica $AC_OLD_PROG_NET_TIME e mantiene $AC_ACT_PROG_NET_TIME costante fino alla prosecuzione.

4 ContinuaProsecuzione della misura, vale a dire che una misura precedentemente interrotta viene nuovamente ripresa. $AC_ACT_PROG_NET_TIME continua ad essere eseguito. $AC_OLD_PROG_NET_TIME non viene modificato.

Attraverso POWER ON tutte le variabili di sistema vengono reimpostate su "0"!Bibliografia:Una descrizione dettagliata delle variabili di sistema elencate si trova nel:Manuale di guida alle funzioni Funzioni di base; BAG, canale, funzionamento del programma, comportamento di reset (K1), capitolo: Tempo di esecuzione del programma

Variabile di sistema Significato Attività

Page 707: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni14.9 Tempo di esecuzione del programma / Contapezzi

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 707

Condizioni marginali• Ricerca blocco

Con la ricerca blocco non vengono rilevati i tempi di esecuzione programma.• REPOS

La durata di un'operazione REPOS viene ascritta al tempo di lavorazione attuale ($AC_ACT_PROG_NET_TIME).

NotaCostruttore della macchinaL'inserzione del timer attivabile avviene tramite il dato macchina MD27860 $MC_PROCESSTIMER_MODE.

Il comportamento delle misurazioni temporali attive con determinate funzioni (ad es. GOTOS, Override = 0%, avanzamento per ciclo di prova attivo, test del programma, ASUP, PROG_EVENT, …) viene configurato tramite i dati macchina MD27850 $MC_PROG_NET_TIMER_MODE e MD27860 $MC_PROCESSTIMER_MODE.

Bibliografia:Manuale di guida alle funzioni Funzioni di base; BAG, canale, funzionamento del programma, comportamento di reset (K1), capitolo: Tempo di esecuzione del programma

NotaTempo residuo per un pezzoSei si producono in successione dei pezzi uguali, è possibile rilevare dai valori del timer:

• il tempo di lavorazione per l'ultimo pezzo prodotto (vedere $AC_OLD_PROG_NET_TIME)e

• il tempo di lavorazione attuale (vedere $AC_ACT_PROG_NET_TIME)il tempo residuo per un pezzo.

Il tempo residuo viene inoltre visualizzato per il tempo di lavorazione attuale sull'interfaccia utente.

ATTENZIONEUtilizzo di STOPRELe variabili di sistema $AC_OLD_PROG_NET_TIME e $AC_OLD_PROG_NET_TIME_COUNT non creano nessuno stop preelaborazione implicito. Durante l'utilizzo nel partprogram non è quindi problematico il fatto che il valore delle variabili di sistema provenga dalla precedente esecuzione del programma. Se tuttavia il trigger viene scritto molto frequentemente per la misurazione temporale ($AC_PROG_NET_TIME_TRIGGER) e $AC_OLD_PROG_NET_TIME varia di conseguenza con elevata frequenza, dovrebbe essere utilizzato nel partprogram un STOPRE esplicito.

Page 708: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni 14.9 Tempo di esecuzione del programma / Contapezzi

Preparazione del lavoro708 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

EsempiEsempio 1: Misurazione della durata di "mySubProgrammA"

Dopo che il programma ha elaborato la riga N80, il tempo netto di "mySubProgrammA" è impostato su $AC_OLD_PROG_NET_TIME.

Il valore di $AC_OLD_PROG_NET_TIME:

• continua ad essere mantenuto al di là di M30.

• viene aggiornato dopo ciascuna operazione di rettifica.

Esempio 2: Misurazione della durata di "mySubProgrammA" e "mySubProgrammC"

Codice di programma

...

N50 DO $AC_PROG_NET_TIME_TRIGGER=2

N60 FOR ii= 0 TO 300

N70 mySubProgrammA

N80 DO $AC_PROG_NET_TIME_TRIGGER=1

N95 ENDFOR

N97 mySubProgrammB

N98 M30

Codice di programma

...

N10 DO $AC_PROG_NET_TIME_TRIGGER=2

N20 mySubProgrammA

N30 DO $AC_PROG_NET_TIME_TRIGGER=3

N40 mySubProgrammB

N50 DO $AC_PROG_NET_TIME_TRIGGER=4

N60 mySubProgrammC

N70 DO $AC_PROG_NET_TIME_TRIGGER=1

N80 mySubProgrammD

N90 M30

Page 709: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni14.9 Tempo di esecuzione del programma / Contapezzi

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 709

14.9.3 Funzione di conteggio dei pezzi

FunzioneLa funzione "contapezzi" rende disponibili diversi contatori, utilizzabili particolarmente per il conteggio interno al controllo dei pezzi.

I contatori esistono come variabili di sistema specifiche per canale con accesso in scrittura e lettura nel campo di valori da 0 a 999 999 999.

BibliografiaPer ulteriori informazioni sulla funzione "contapezzi", consultare:

• Manuale di guida alle funzioni, Funzioni di base; BAG; canale, funzionamento del programma, comportamento di reset (K1), capitolo: Contapezzi

Variabile di sistema Significato$AC_REQUIRED_PARTS Numero dei pezzi da produrre (contapezzi di riferimento)

In questo contatore si può definire il numero di pezzi al cui raggiungimento viene azzerato il numero attuale di pezzi ($AC_ACTUAL_PARTS).

$AC_TOTAL_PARTS Numero dei pezzi complessivamente prodotti (numero reale totale dei pezzi)Questo contatore registra il numero di tutti i pezzi prodotti dal momento di inizio. Il valore viene reimpostato automaticamente su "0" solo all'avviamento del controllo con valori predefiniti.

$AC_ACTUAL_PARTS Numero dei pezzi prodotti (numero reale dei pezzi)In questo contatore si registra il numero di tutti i pezzi prodotti dal momento di inizio. Al raggiungimento del numero di riferimento di pezzi ($AC_REQUIRED_PARTS) il contatore viene automaticamente azzerato (a condizione che $AC_REQUIRED_PARTS > 0).

$AC_SPECIAL_PARTS Numero dei pezzi contati dall'utenteQuesto contatore permette all'utente di eseguire un conteggio dei pezzi definito in base a criteri personali. Può essere definita un'emissione di allarme al raggiungimento del numero di riferimento di pezzi ($AC_REQUIRED_PARTS). L'azzeramento di questo contatore deve essere effettuato dall'utente stesso.

NotaTutti i contapezzi vengono azzerati a ogni avvio del controllore con valori predefiniti e possono essere letti/scritti indipendentemente dalla loro attivazione.

NotaCon i dati macchina specifici di canale si può influire sull'attivazione dei contatori, sull'istante di azzeramento e sull'algoritmo di conteggio.

NotaContapezzi con funzione M definita dall'utenteTramite i dati macchina è possibile impostare che gli impulsi di conteggio per i diversi contapezzi vengano attivati, invece che dalla fine programma M2/M30, da funzioni M definite dall'utente.

Page 710: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni 14.10 Emissione su un dispositivo/file esterno (EXTOPEN, WRITE, EXTCLOSE)

Preparazione del lavoro710 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

14.10 Emissione su un dispositivo/file esterno (EXTOPEN, WRITE, EXTCLOSE)

Funzione Questa funzione consente di scrivere dati da un programma pezzo a un dispositivo esterno/un file esterno, ad esempio allo scopo di eseguire il protocollo di dati di produzione o di controllare unità aggiuntive di un controllo numerico.

L'emissione su un dispositivo/file esterno avviene in tre fasi:

1. Apertura del dispositivo/file esterno

Con il comando EXTOPEN si apre il dispositivo/file esterno per il canale a scopi di scrittura. 2. Scrittura dei dati

La data di emissione può essere preparata con le funzioni di stringa del linguaggio NC ("Operazioni su stringhe [Pagina 75]"), ad es. SPRINT. La scrittura avviene tramite il comando WRITE.

3. Chiusura del dispositivo/file esterno

Con il comando EXTCLOSE o al raggiungimento della fine programma (M30), oltre che al reset del canale, il dispositivo/file esterno occupato nel canale viene nuovamente abilitato.

DisponibilitàLa funzione è disponibile:

• solo nei programmi pezzo (non nelle azioni sincrone);

• parallelamente in tutti i canali di elaborazione dell'NCK per tutti i dispositivi di uscita (progettati) disponibili.

Per ogni dispositivo di uscita, al momento dell'apertura è possibile impostare se il dispositivo può essere utilizzato esclusivamente da un canale oppure in maniera condivisa (modalità "shared") da tutti i canali che vogliono emettere su di esso.

Sintassi

NotaIn un programma pezzo/canale può essere occupato anche più di un dispositivo/file esterno.

DEF INT <errore>

DEF STRING[<n>] <emissione>

EXTOPEN(<errore>,"<dispositivo_esterno>",<modalità_elaborazione>,<modalità_utilizzo>,<modalità_scrittura>)

<emissione>="dati emissione"

WRITE(<errore>,"<dispositivo_esterno>",<emissione>)

EXTCLOSE(<errore>,"<dispositivo_esterno>")

Page 711: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni14.10 Emissione su un dispositivo/file esterno (EXTOPEN, WRITE, EXTCLOSE)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 711

SignificatoEXTOPEN: Comando per l'apertura di un dispositivo/file esterno

<errore>: Parametro 1: Variabile per la restituzione del valore dell'erroreIn base al valore dell'errore è possibile analizzare la riuscita dell'operazione nel programma e proseguire di conseguenza.Tipo: INTValori: 0 nessun errore

1 impossibile aprire il dispositivo esterno

2 dispositivo esterno non progettato

3 dispositivo esterno progettato con percorso non valido

4 nessun diritto di accesso per il dispositivo esterno

5 Modalità di utilizzo: dispositivo esterno già occupato in modo "esclusivo"

6 Modalità di utilizzo: dispositivo esterno già occupato in modo "shared"

7 dimensioni file maggiori di LOCAL_DRIVE_MAX_FILESIZE

8 numero massimo di dispositivi esterni superato

9 Opzione per LOCAL_DRIVE non impostata

11 interfaccia V.24 già occupata dalla funzione EasyMessage (solo 828D)

12 Modalità di scrittura: dato in contraddizione con extdev.ini

16 percorso esterno programmato non valido

22 dispositivo esterno non montato

Page 712: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni 14.10 Emissione su un dispositivo/file esterno (EXTOPEN, WRITE, EXTCLOSE)

Preparazione del lavoro712 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

<dispositivo_esterno>: Parametro 2: Identificativo simbolico per il dispositivo/file esterno da aprireTipo: STRINGL'identificativo simbolico è costituito da:1. il nome logico del dispositivo2. eventualmente seguito da un percorso file (aggiunto con "/").Sono definiti i seguenti nomi logici di dispositivi:"LOCAL_DRIVE": scheda CompactFlash

locale (predefinito)"CYC_DRIVE": indicazione di unità

riservata all'utilizzo in cicli SIEMENS (predefinito)

"/dev/ext/1",..."/dev/ext/9":

Unità di rete disponibiliNota:è necessaria la progettazione nel file extdev.ini!

"/dev/cyc/1", "/dev/cyc/2":

indicazioni di unità riservate all'utilizzo in cicli SIEMENSNota:è necessaria la progettazione nel file extdev.ini!

"/dev/v24": Interfaccia V.24Nota:è necessaria la progettazione nel file extdev.ini!

Percorso file:• Per "LOCAL_DRIVE" e "CYC_DRIVE" deve

essere specificato un percorso file , ad es.:"LOCAL_DRIVE/my_dir/my_file.txt"

• Tramite la progettazione i nomi logici di dispositivi "/dev/ext/1...9" e "/dev/cyc/1...2" possono:– già rimandare a un file, dopodiché deve

essere solo specificato il nome logico del dispositivo, ad es.:"/dev/ext/4"

– oppure rimandare a una directory, nel qual caso deve essere specificato un percorso file, ad es.:"/dev/ext/5/my_dir/my_file.txt"

• Per "/dev/v24" non può essere aggiunto un percorso file.

Page 713: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni14.10 Emissione su un dispositivo/file esterno (EXTOPEN, WRITE, EXTCLOSE)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 713

Nota:Per i nomi logici di dispositivo "/dev/ext/1...9", "/dev/v24" e "/dev/cyc/1...2" non si fa distinzione tra maiuscole e minuscole, mentre nell'indicazione del percorso di un file questa distinzione è rilevante. Per "LOCAL_DRIVE" e "CYC_DRIVE" sono ammesse solo le lettere maiuscole.

<modalità_elaborazione>: Parametro 3: Modalità di elaborazione per i comandi WRITE su questo dispositivo/fileTipo: STRINGValori: "SYN": Scrittura sincrona

L'esecuzione del programma viene interrotta finché non è conclusa l'operazione di scrittura.La conclusione corretta della scrittura sincrona può essere verificata analizzando la variabile di errore del comando WRITE.

"ASYN": Scrittura asincronaL'esecuzione del programma non viene interrotta dal comando WRITE.Nota:In questa modalità la variabile di errore del comando WRITE non è significativa e ha sempre il valore 0 (nessun errore). In questa modalità non vi è la certezza che il comando WRITE sia stato eseguito correttamente.

<modalità_utilizzo>: Parametro 4: Modalità di utilizzo per questo dispositivo/fileTipo: STRINGValori: "SHARED": Il dispositivo/file viene

richiesto in modalità "Shared". Altri canali possono utilizzare il dispositivo, ovvero aprirlo in questa stessa modalità.

"EXCL": Il dispositivo/file viene utilizzato in esclusiva nel canale, nessun altro canale può utilizzare il dispositivo.

Page 714: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni 14.10 Emissione su un dispositivo/file esterno (EXTOPEN, WRITE, EXTCLOSE)

Preparazione del lavoro714 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

<modalità_scrittura>: Parametro 5: Modalità di scrittura per i comandi WRITE su questo dispositivo/file (opzionale)Tipo: STRINGValori: "APP": Aggiungi

Il contenuto del file resta invariato, i richiami di scrittura si aggiungono alla fine.

"OVR": SovrascriviIl contenuto del file viene cancellato e sostituito dai successivi richiami di scrittura.

Nota:Con questo parametro la modalità di scrittura progettata nel file extdev.ini non può essere sovrascritta. In caso di conflitto la chiamata EXTOPEN viene tacitata con errore.

WRITE: Comando per la scrittura dei dati di uscitaPer la descrizione vedere "Scrittura del file (WRITE) [Pagina 140]"!

EXTCLOSE: Comando per la chiusura di un dispositivo/file esterno aperto<errore>: Parametro 1: Variabile per la restituzione del valore dell'errore

Tipo: INTValori: 0 nessun errore

16 percorso esterno programmato non valido

21 Errore nella scrittura del dispositivo esterno

<dispositivo_est

erno>:

Parametro 2: Identificativo simbolico per il dispositivo/file esterno da chiuderePer la descrizione vedere EXTOPEN!Nota:L'identificativo deve essere identico a quello specificato nel comando EXTOPEN.

Page 715: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni14.10 Emissione su un dispositivo/file esterno (EXTOPEN, WRITE, EXTCLOSE)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 715

Esempio

Ulteriori informazioni

Influenza sul funzionamento continuo

I comandi EXTOPEN, WRITE e EXTCLOSE provocano uno stop preelaborazione e interrompono così il funzionamento continuo.

Comportamento in caso di ricerca blocco

Durante la "Ricerca blocco con calcolo", WRITE non provoca alcuna emissione. I comandi EXTOPEN e EXTCLOSE vengono comunque raccolti e, dopo che la destinazione di ricerca è stata raggiunta, attivati con NC-Start. I seguenti comandi WRITE trovano quindi un ambiente identico a quello della normale elaborazione di programma.

Nella ricerca blocco con calcolo in modalità "Test di programma" (SERUPRO), i comandi EXTOPEN, WRITE e EXTCLOSE vengono eseguiti come nella normale elaborazione di programma.

Comportamento con reset

Con la fine del programma pezzo e il reset dei canali, tutti i dispositivi esterni/file aperti nel canale vengono chiusi.

Codice di programma

N10 DEF INT RESULT

N20 DEF BOOL EXTDEVICE

N30 DEF STRING[80] AUSGABE

N40 DEF INT PHASE

N50 EXTOPEN(RESULT,"LOCAL_DRIVE/my_file.txt","SYN","SHARED")

N60 IF RESULT > 0

N70 MSG("Errore per EXTOPEN:" << RESULT)

N80 ELSE

N90 EXTDEVICE=TRUE

N100 ENDIF

N200 PHASE=4

N210 IF EXTDEVICE

N220 AUSGABE=SPRINT("Fase finale: %D",PHASE)

N230 WRITE(RESULT,"LOCAL_DRIVE/my_file.txt",AUSGABE)

N240 ENDIF

Page 716: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni 14.10 Emissione su un dispositivo/file esterno (EXTOPEN, WRITE, EXTCLOSE)

Preparazione del lavoro716 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Dispositivi esterni disponibili

Come dispositivi/file esterni possono essere disponibili:

• File sulla scheda CompactFlash

Per scheda CompactFlash locale si intende la memoria a cui si rimanda dall'HMI con l'identificativo simbolico LOCAL_DRIVE. Per SINUMERIK 840D sl si tratta dell'unità locale, per SINUMERIK 828D della scheda CompactFlash utente.

• File su un'unità di rete

• Interfaccia V.24

Progettazione

La progettazione dei dispositivi esterni da utilizzare avviene nel file /oem/sinumerik/nck/extdev.ini o /user/sinumerik/nck/extdev.ini. Se entrambi i file sono presenti, hanno la priorità le voci nell'area User. Il file può essere aggiornato nel settore operativo MESSA IN SERVIZIO in DATI DI SISTEMA/Scheda CF.

Nella sezione [ExternalDevices] del file extdev.ini sono definiti/enumerati i dispositivi esterni da utilizzare. Come dispositivi possono essere specificati un dispositivo seriale (/dev/v24) e fino a un massimo di nove file o directory (/dev/ext/1…9). La notazione per la definizione è Linux. Le righe che iniziano con ";" sono commenti e vengono ignorate.

Ad eccezione di /dev/v24, i dispositivi possono essere definiti come percorso di directory (con "/" finale aggiunta) oppure come percorso di file (quindi con percorso interamente qualificato aggiunto, con un nome file alla fine, senza "/" finale). Se un dispositivo con percorso di directory viene utilizzato nel programma pezzo, deve essere anche specificato un nome file (percorso).

Tranne che per /dev/v24, la definizione di un dispositivo avviene con le tre informazioni separate da una virgola per "server", "percorso" e "modo di scrittura" opzionale.

Per i file e le directory è possibile specificare se il file deve essere sovrascritto dopo l'apertura ("O" = Overwrite) oppure se le uscite devono essere aggiunte al file ("A" = Append) (l'impostazione è attiva per tutti i file della directory). Il valore standard è "A". Un file/una directory non esistente viene creata ex novo al momento dell'apertura.

NotaNel SINUMERIK 840D sl l'emissione sul dispositivo LOCAL_DRIVE richiede l'opzione "xxx MB supplementari di memoria utente HMI sulla scheda CF della NCU". Per SINUMERIK 828D deve essere presente una scheda CompactFlash utente, non è richiesta alcuna opzione.

NotaPer l'emissione sull'interfaccia V.24, nel SINUMERIK 840D sl deve essere presente il modulo opzionale NCU interfaccia RS232. Per SINUMERIK 828D l'emissione avviene sull'interfaccia V.24 integrata (requisito: MD51233 $MNS_ENABLE_GSM_MODEM = 0).

NotaPer l'utilizzo di LOCAL_DRIVE e CYC_DRIVE non è necessaria alcuna progettazione nel file extdev.ini. I due dispositivi sono sempre disponibili finché l'opzione corrispondente è impostata oppure finché la scheda CompactFlash è presente.

Page 717: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni14.10 Emissione su un dispositivo/file esterno (EXTOPEN, WRITE, EXTCLOSE)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 717

Per il dispositivo interfaccia V.24 vengono specificate solo le impostazioni per baudrate, bit di dati, bit di stop, parità, protocollo ed eventualmente fine, in questo ordine.

Per i file creati/salvati in LOCAL_DRIVE, viene impostata una dimensione dei file massima in byte (che è valida per tutti i file) tramite il dato LOCAL_DRIVE_MAX_FILESIZE. La dimensione del file viene verificata al momento dell'esecuzione di un comando EXTOPEN in modalità Append. In opzione è possibile definire la modalità di scrittura ("O" = Overwrite, "A" = Append) tramite il dato LOCAL_DRIVE_FILE_MODE. Il valore standard è "A".

NotaUn modello di copia per il file di progettazione extdev.ini è disponibile nella directory /siemens/sinumerik/nck.

NotaLe modifiche al file extdev.ini hanno effetto subito dopo un riavvio/avviamento dell'NCK.

NotaDispositivi USBPer SINUMERIK 828D si può anche definire "usb" (senza indicazione della partizione!) come destinazione di uno dei dispositivi per un dispositivo USB frontale. Il dispositivo in USB può essere interrogato dal programma pezzo solo tramite un identificativo simbolico "/dev/ext/x".

Per SINUMERIK 840D sl, come dispositivi USB possono essere progettate solo interfacce USB di una TCU collegate in modo statico. La progettazione avviene con SERVER:/PATH come specifica del "server" nel senso di cui sopra, dove SERVER è il nome della TCU e /PATH definisce l'interfaccia USB. Le interfacce USB di una TCU vengono interrogate con "dev0-0", "dev0-1", "dev1-0". L'indicazione del percorso inizia sempre con "/partizione". La partizione può essere specificata dal numero di partizione a due cifre o dal nome della partizione ed eventualmente allungata con un percorso file fino a ottenere l'indicazione desiderata, quindi ad es.:

/dev/ext/8 = "TCU4:/dev0-0, /01/, A"

/dev/ext/8 = "TCU4:/dev0-0, /01/mydir.dir/"

/dev/ext/8 = "TCU4:/dev0-0, /myfirstpartition/Mydir.dir/myfile.txt, O"

Page 718: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni 14.10 Emissione su un dispositivo/file esterno (EXTOPEN, WRITE, EXTCLOSE)

Preparazione del lavoro718 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esempi:

[ExternalDevices]

; riga di commento

; example for V24

; /dev/v24 = "9600, 8, 1, none, rts [, etx]"

; examples for network drives

; /dev/ext/1 = "//[USERNAME[/DOMAIN][%PASSWORD]@]SERVER/SHARE/, /, A"

; /dev/ext/2 = "//[USERNAME[/DOMAIN][%PASSWORD]@]SERVER/SHARE, /myfile.txt, O"

; /dev/ext/3 = "//[USERNAME[/DOMAIN][%PASSWORD]@]SERVER/SHARE, /mydir/, A"

; /dev/ext/4 = "SERVER:/dev0-0, /01/, A"

; …

; SINUMERIK 828 only (USB)

; /dev/ext/9 = "usb, / [ , O]"

; default: numero_partizione = 1

; SIEMENS only

; /dev/cyc/1= "//[USERNAME[/DOMAIN][%PASSWORD]@]SERVER/SHARE, /mydir/, A"

; /dev/cyc/2= "//[USERNAME[/DOMAIN][%PASSWORD]@]SERVER/SHARE/mydir, /, A"

LOCAL_DRIVE_MAX_FILESIZE = 50000

LOCAL_DRIVE_FILE_MODE = "O"

Page 719: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni14.10 Emissione su un dispositivo/file esterno (EXTOPEN, WRITE, EXTCLOSE)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 719

Effetto del parametro EXTOPEN <modalità_scrittura>

Specificando la modalità di scrittura sia nella progettazione nel file extdev.ini, sia nella chiamata EXTOPEN, possono verificarsi dei conflitti di diritti, che vengono eventualmente tacitati con errore nella chiamata EXTOPEN:

LOCAL_DRIVE: attributi file

I file creati con EXTOPEN su LOCAL_DRIVE ricevono i seguenti attributi file:

Numero massimo di dispositivi esterni aperti

Su tutti i canali NC possono essere aperti contemporaneamente max. 10 dispositivi di uscita. Esistono inoltre due ingressi riservati per cicli Siemens.

Per questi dispositivi possono essere attivi contemporaneamente max. 5 job.

Valore da extdev.iniValore del parametro EXTOPEN

"OVR" "APP" -"O" O Errore O"A" Errore A A- O A A

Descrizione:O: La modalità "Sovrascrivi" è attiva. A: La modalità "Aggiungi" è attiva.Errore: La chiamata EXTOPEN viene tacitata con errore.

• Proprietario: "user" diritto di scrittura/lettura impostato• Gruppo: "operator" diritto di scrittura/lettura impostato

Page 720: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni 14.11 Allarme (SETAL)

Preparazione del lavoro720 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

14.11 Allarme (SETAL)

Funzione In un programma NC possono essere impostati gli allarmi. Tali allarmi vengono visualizzati sulla superficie operativa in un campo apposito. Ad un allarme è collegata una reazione del controllo numerico che varia in funzione della categoria dell'allarme stesso.

Bibliografia:Per ulteriori informazioni sulle reazioni agli allarmi vedere il Manuale per la messa in servizio.

SintassiSETAL(<numero_allarme>[,<stringa>])

Significato

SETAL: Parola chiave per la programmazione di un allarme.SETAL deve essere programmato in un proprio blocco NC.

<numero_allarme>: Variabile del tipo INT. Contiene il numero di allarme.Il campo dei numeri di allarme utilizzabili è compreso tra 60000 e 69999. I numeri compresi tra 60000 e 64999 sono riservati ai cicli SIEMENS e i numeri tra 65000 e 69999 sono a disposizione dell'utente.

<stringa>: Durante la programmazione degli allarmi dei cicli utente può essere indicata anche una sequenza di caratteri con un massimo di 4 parametri. In questi parametri possono essere definiti testi utente variabili.Sono tuttavia disponibili anche i seguenti parametri predefiniti:Parametro Significato%1 numero del canale%2 Numero del blocco, label%3 Indice di testo per allarmi dei cicli%4 Ulteriori parametri di allarme

Page 721: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni14.11 Allarme (SETAL)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 721

Esempio

NotaI testi degli allarmi devono essere progettati nella superficie operativa.

NotaSe un'emissione di allarme deve avvenire nella lingua attiva sulla superficie operativa, l'utente necessita di informazioni sulla lingua impostata attualmente sull'HMI. Queste informazioni possono essere richieste nel programma pezzo e in azioni sincrone tramite la variabile di sistema $AN_LANGUAGE_ON_HMI (vedere "Linguaggio attuale nell'HMI [Pagina 903]").

Codice di programma Commento

...

N100 SETAL (65000) ; Impostazione dell'allarme n. 65000

...

Page 722: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni 14.12 Arresto ampliato e svincolo autarchico dell'azionamento (ESR)

Preparazione del lavoro722 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

14.12 Arresto ampliato e svincolo autarchico dell'azionamento (ESR)

14.12.1 Progettazione dell'arresto autarchico dell'azionamento (ESRS)

Funzione La funzione ESRS(...) consente di progettare i parametri dell'azionamento per l'"arresto" della funzione ESR autarchico dell'azionamento.

SintassiESRS(<asse_1>,<tempo_arresto_1>[,...,<asse_n>,<tempo_arresto_n>])

Significato

BibliografiaManuale di guida alle funzioni, Funzioni speciali; Arresto ampliato e svincolo (R3), ESR autarchico dell'azionamento

ESRS(...): Funzione per la scrittura dei parametri dell'azionamento per la funzione ESR "Arresto". La funzione: • deve essere presente da sola nel blocco• provoca uno stop preelaborazione• non può essere utilizzata in azioni sincrone

<asse_1>,...,

<asse_n>:

Asse per il quale deve essere progettato l'arresto autarchico dell'azionamento. Nell'azionamento viene scritto il parametro dell'azionamento p0888 (configurazione) per questo asse:p0888 = 1Tipo: AXISCampo di valori: Identificatore dell'asse canale

<tempo_arresto_1>,...,

<tempo_arresto_n>:

Intervallo di tempo nel quale l'azionamento prosegue il movimento costante con il valore di numero di giri attuale dopo la comparsa dell'errore.Nell'azionamento viene scritto il parametro dell'azionamento p0892 (intervallo di tempo) per l'asse specificato: p0892 = <tempo_arresto>Unità: sTipo: REALCampo di valori: 0.00 - 20.00

In una chiamata di funzione possono essere programmati max. 5 assi; n = 5

Page 723: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni14.12 Arresto ampliato e svincolo autarchico dell'azionamento (ESR)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 723

14.12.2 Progettazione dello svincolo autarchico dell'azionamento (ESRR)

Funzione La funzione ESRR(...) consente di progettare i parametri dell'azionamento per lo "svincolo" della funzione ESR autarchico dell'azionamento.

SintassiESRR(<asse_1>,<tempo_svincolo_1>,<velocità_svincolo_1>[,...,<asse_n>,<percorso_svincolo_n>,<velocità_svincolo_n>])

Significato

ESRR(...): Funzione per la scrittura dei parametri dell'azionamento per la funzione ESR "Svincolo". La funzione: • deve essere presente da sola nel blocco• provoca uno stop preelaborazione• non può essere utilizzata in azioni sincrone

<asse_1>,...,

<asse_n>:

Asse per il quale deve essere progettato lo svincolo autarchico dell'azionamento.Nell'azionamento viene scritto il parametro dell'azionamento p0888 (configurazione) per questo asse:p0888 = 2Tipo: AXISCampo di valori: Identificatore dell'asse canale

<percorso_svincolo_1>,...,

<percorso_svincolo_n>:

Il percorso di svincolo viene convertito in un numero di giri di svincolo per l'azionamento. Il valore viene scritto nel parametro dell'azionamento p0893 (numero di giri) per l'asse specificato:p0893 = (<percorso_svincolo_n> convertito in numero di giri di svincolo)Unità: mm/min, inch/min, gradi/min (a seconda

dell'unità dell'asse)Tipo: REALCampo di valori: MIN - MAX

Page 724: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Ulteriori funzioni 14.12 Arresto ampliato e svincolo autarchico dell'azionamento (ESR)

Preparazione del lavoro724 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

BibliografiaManuale di guida alle funzioni, Funzioni speciali; Arresto ampliato e svincolo (R3), ESR autarchico dell'azionamento

<velocità_svincolo_1>,...,<velocità_

svincolo_n>:

La velocità di svincolo viene convertita in un intervallo di tempo per l'azionamento. Il valore viene scritto nel parametro dell'azionamento p0892 (intervallo di tempo) per l'asse specificato: p0892 = <percorso_svincolo_n> / <velocità_svincolo_n>Unità: mm/min, inch/min, gradi/min (a seconda

dell'unità dell'asse)Tipo: REALCampo di valori: 0.00 - MAX

In una chiamata di funzione possono essere programmati max. 5 assi; n = 5

Page 725: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Preparazione del lavoroManuale di programmazione 02/2011, 6FC5398-2BP40-1CA0 725

15Programmi di sgrossatura personalizzati

15.1 Funzioni di supporto per l'asportazione

FunzioniPer l'asportazione sono disponibili per l'operatore cicli di lavorazione finiti. Inoltre l'operatore ha la possibilità di creare propri programmi di asportazione con le funzioni successivamente riportate:

• Creazione della tabella dei profili (CONTPRON)

• Creazione della tabella dei profili codificata (CONTDCON)

• Disattivazione della preparazione del profilo (EXECUTE)

• Individuazione del punto di intersezione fra due elementi del profilo (INTERSEC)

(solo per le tabelle che erano state create attraverso CONTPRON).• Esecuzione blocco a blocco di elementi del profilo di una tabella (EXECTAB)

(solo per le tabelle che erano state create attraverso CONTPRON).• Calcolo dei dati del cerchio (CALCDAT)

PremessePrima del richiamo delle funzioni CONTPRON e CONTDCON è necessario:

• raggiungere un punto iniziale che consente una lavorazione senza collisioni.

• disattivare la correzione raggio di taglio con G40.

NotaIn questo modo queste funzioni possono essere utilizzate non solo per l'asportazione ma anche universalmente.

Page 726: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmi di sgrossatura personalizzati 15.2 Creazione della tabella dei profili (CONTPRON)

Preparazione del lavoro726 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

15.2 Creazione della tabella dei profili (CONTPRON)

FunzioniCon il comando CONTPRON viene attivata la preparazione del profilo. I blocchi NC di seguito richiamati non vengono lavorati ma suddivisi in singoli movimenti e memorizzati nella tabella dei profili. Ogni elemento del profilo corrisponde ad una riga nel campo bidimensionale della tabella del profilo. Il numero determinato delle passate sottosquadra viene restituito.

SintassiAttivazione della preparazione del profilo:CONTPRON(<tabella dei profili>,<tipo di lavorazione>,<taglio in sottoquadro>,<direzione di lavorazione>)

Disattivazione della lavorazione del profilo e ritorno alla modalità di lavorazione normale:EXECUTE(<ERRORE>)

Vedere " Disattivazione preparazione del profilo (EXECUTE) "

Significato

CONTPRON Comando per l'attivazione della lavorazione del profilo per la creazione di una tabella dei profili

<tabella dei profili> Nome della tabella dei profili<tipo di lavorazione> Parametri per il tipo di lavorazione

Tipo: CHARValore: "G" tornitura cilindrica: Lavorazione

interna"L" tornitura cilindrica: Lavorazione

esterna"N" tornitura radiale: Lavorazione

interna"P" tornitura radiale: Lavorazione

esterna<taglio in sottoquadro> Variabile risultato per il numero di elementi taglio in

sottoquadro emessiTipo: INT

<direzione di lavorazione> Parametri per la direzione di lavorazioneTipo: INTValore: 0 Preparazione del profilo in avanti

(valore standard)1 Lavorazione del profilo in entrambe

le direzioni

Page 727: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmi di sgrossatura personalizzati15.2 Creazione della tabella dei profili (CONTPRON)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 727

Esempio 1Creazione di una tabella dei profili con:

• Nome "KTAB"

• massimo 30 elementi del profilo (cerchio, retta)

• una variabile per il numero di elementi taglio in sottoquadro emessi

• una variabile per messaggi di errore

Programma NC:

Codice di programma Commento

N10 DEF REAL KTAB[30,11] ; Tabella dei profili con nome KTAB e max 30 elementi del profilo, il valore del parametro 11 (numero di colonne della tabella) è una grandezza fissa.

N20 DEF INT NR_ELEM_OMBRA ; Variabile per il numero degli elementi taglio in sottoquadro con nome ANZHINT.

N30 DEF INT ERRORE ; Variabile per la risposta di errore (0=nessun errore, 1=errore).

N40 G18

N50 CONTPRON(KTAB,"G",ANZHINT) ; Attivazione della preparazione del profilo.

N60 G1 X150 Z20N70 X110 Z30N80 X50 RND=15N90 Z70N100 X40 Z85N110 X30 Z90N120 X0

; da N60 a N120: Descrizione del profilo

N130 EXECUTE(ERRORE) ; Fine della compilazione della tabella dei profili, commutazione sul funzionamento normale del programma.

N140 … ; Ulteriore elaborazione della tabella.

Page 728: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmi di sgrossatura personalizzati 15.2 Creazione della tabella dei profili (CONTPRON)

Preparazione del lavoro728 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Tabella dei profili KTAB:

Significato dei contenuti delle colonne:

Indice analiticoRiga

Colonna

(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10)7 7 11 0 0 20 150 0 82.40535663 0 00 2 11 20 150 30 110 -1111 104.0362435 0 01 3 11 30 110 30 65 0 90 0 02 4 13 30 65 45 50 0 180 45 653 5 11 45 50 70 50 0 0 0 04 6 11 70 50 85 40 0 146.3099325 0 05 7 11 85 40 90 30 0 116.5650512 0 06 0 11 90 30 90 0 0 90 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0

(0) Puntatore all’elemento di profilo successivo (al numero di riga dello stesso)(1) puntatore all’elemento di profilo precedente(2) Codifica del modo del profilo per il movimento

Valori possibili per X = abc

a = 102 G90 = 0 G91 = 1

b = 101 G70 = 0 G71 = 1

c = 100 G0 = 0 G1 = 1 G2 = 2 G3 = 3

(3), (4) Punto iniziale degli elementi del profilo(3) = ascisse, (4) = ordinate nel piano attuale

(5), (6) Punto finale degli elementi del profilo(5) = ascisse, (6) = ordinate nel piano attuale

(7) Indicatore max./min. identifica la massima e la minima locale nel profilo(8) Valore massimo tra l’elemento del profilo e le ascisse (per lavorazione

longitudinale) oppure le ordinate (per lavorazione radiale). L’angolo dipende dal tipo di lavorazione programmato.

(9), (10) Coordinate del centro dell’elemento del profilo quando si tratta di un cerchio.(9) = ascisse, (10) = ordinate

Page 729: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmi di sgrossatura personalizzati15.2 Creazione della tabella dei profili (CONTPRON)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 729

Esempio 2Creazione di una tabella dei profili con

• Nome KTAB

• massimo 92 elementi del profilo (cerchio, retta)

• Modo operativo: Tornitura cilindrica, lavorazione esterna

• Lavorazione in avanti e indietro

Programma NC:

Codice di programma Commento

N10 DEF REAL KTAB[92,11] ; Tabella dei profili con nome KTAB e con max. 92 elementi del profilo;?il valore del parametro 11 è una grandezza fissa.

N20 DEF CHAR BT="L" ; Modo operativo per CONTPRON: Tornitura cilindrica, lavorazione esterna

N30 DEF INT HE=0 ; Numero di elementi taglio in sottoquadro=0

N40 DEF INT MODE=1 ; Lavorazione in avanti e indietro

N50 DEF INT ERR=0 ; Risposta di errore

...

N100 G18 X100 Z100 F1000

N105 CONTPRON(KTAB,BT,HE,MODE) ; Attivazione della preparazione del profilo.

N110 G1 G90 Z20 X20N120 X45N130 Z0N140 G2 Z-15 X30 K=AC(-15) I=AC(45)N150 G1 Z-30N160 X80N170 Z-40

N180 EXECUTE(ERR) ; Fine della compilazione della tabella dei profili, commutazione sul funzionamento normale del programma.

...

Page 730: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmi di sgrossatura personalizzati 15.2 Creazione della tabella dei profili (CONTPRON)

Preparazione del lavoro730 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Tabella dei profili KTAB:

Al termine della preparazione il profilo è a disposizione in entrambe le direzioni.

Descrizione del contenuto delle colonne e note relative alle righe 0, 1, 6, 8, 83, 85 e 91

Valgono le descrizioni del contenuto delle colonne riportate nell'esempio 1.

Sempre nella riga 0 della tabella:

1) Precedente: la riga n contiene la fine profilo in avanti

2) Successivo: la riga n è la fine della tabella del profilo in avanti

Una volta all'interno degli elementi di profilo in avanti:

3) Precedente: inizio del profilo (in avanti)

4) Successivo: fine del profilo (in avanti)

Sempre sulla riga di fine della tabella del profilo (in avanti) +1:

5) Precedente: numero dei sottosquadri in avanti

6) Successivo: numero dei sottosquadri all'indietro

Una volta all'interno degli elementi di profilo all'indietro:

7) Successivo: fine del profilo (all'indietro)

8) Precedente: inizio del profilo (all'indietro)

Indice analitico

Colonna

Riga (0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10)0 61) 72) 11 100 100 20 20 0 45 0 0

1 03) 2 11 20 20 20 45 -3 90 0 0

2 1 3 11 20 45 0 45 0 0 0 03 2 4 12 0 45 -15 30 5 90 -15 454 3 5 11 -15 30 -30 30 0 0 0 05 4 7 11 -30 30 -30 45 -1111 90 0 06 7 04) 11 -30 80 -40 80 0 0 0 0

7 5 6 11 -30 45 -30 80 0 90 0 08 15) 26) 0 0 0 0 0 0 0 0 0

...83 84 07) 11 20 45 20 80 0 90 0 0

84 90 83 11 20 20 20 45 -1111 90 0 085 08) 86 11 -40 80 -30 80 0 0 0 0

86 85 87 11 -30 80 -30 30 88 90 0 087 86 88 11 -30 30 -15 30 0 0 0 088 87 89 13 -15 30 0 45 -90 90 -15 4589 88 90 11 0 45 20 45 0 0 0 090 89 84 11 20 45 20 20 84 90 0 091 839) 8510) 11 20 20 100 100 0 45 0 0

Page 731: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmi di sgrossatura personalizzati15.2 Creazione della tabella dei profili (CONTPRON)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 731

Sempre nell'ultima riga della tabella:

9) Precedente: la riga n è l'inizio della tabella del profilo (all'indietro)

10) Successivo: la riga n contiene l'inizio del profilo (all'indietro)

Ulteriori informazioniComandi di movimento consentiti, sistema di coordinate

Per la programmazione del profilo sono consentite le seguenti istruzioni G:

• Gruppo G 1: G0, G1, G2, G3

Inoltre sono possibili:

• arrotondamento e smusso

• Programmazione circolare tramite CIP e CT

Le funzioni di spline, polinomio e filetto conducono a errori.

Le modifiche del sistema di coordinate attraverso l'attivazione di un frame non sono consentite fra CONTPRON e EXECUTE. La stessa cosa vale per un passaggio da G70 a G71 o da G700 a G710.

Una sostituzione degli assi geometrici con GEOAX durante la preparazione della tabella dei profili provoca un allarme.

Elementi taglio in sottoquadro

La descrizione del profilo dei singoli elementi con taglio in ombra può avvenire in un sottoprogramma o con blocchi singoli.

Sgrossatura indipendente dalla direzione del profilo programmata

La preparazione del profilo con CONTPRON è stata ampliata in modo tale che dopo aver richiamato la tabella dei profili è disponibile indipendentemente dalla direzione programmata.

Page 732: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmi di sgrossatura personalizzati 15.3 Creazione della tabella dei profili codificata (CONTDCON)

Preparazione del lavoro732 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

15.3 Creazione della tabella dei profili codificata (CONTDCON)

Funzioni Nella preparazione del profilo attivata con CONTDCON i blocchi NC di seguito richiamati vengono archiviati in modo codificato preferibilmente nella memoria in una tabella dei profili a 6 colonne. Ogni elemento del profilo corrisponde ad una riga della tabella. Conoscendo le regole di codifica indicate di seguito, è possibile, ad es, creare programmi in codice DIN per i cicli partendo dalle righe delle tabelle. Nella riga della tabella con il numero 0 vengono memorizzati i dati del punto di partenza.

SintassiAttivazione della preparazione del profilo:CONTDCON(<tabella dei profili>,<direzione di lavorazione>)

Disattivazione della lavorazione del profilo e ritorno alla modalità di lavorazione normale:EXECUTE(<ERRORE>)

Vedere " Disattivazione preparazione del profilo (EXECUTE) "

Significato

CONTDCON Comando per l'attivazione della lavorazione del profilo per la creazione di una tabella dei profili codificata

<tabella dei profili> Nome della tabella dei profili<direzione di lavorazione> Parametri per la direzione di lavorazione

Tipo: INTValore: 0 Preparazione del profilo in base alla

sequenza dei blocchi di profilo (valore standard)

1 non ammesso

NotaI codici G ammessi per CONTDCON nella parte di programma da inserire nella tabella sono più completi della funzione CONTPRON. Vengono inoltre memorizzati per ciascun pezzo del profilo avanzamenti e tipo di avanzamento.

Page 733: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmi di sgrossatura personalizzati15.3 Creazione della tabella dei profili codificata (CONTDCON)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 733

EsempioCreazione di una tabella dei profili con:

• Nome "KTAB"

• Elementi del profilo (cerchi, rette)

• Modo operativo: Rotazione

• Direzione di lavorazione: In avanti

Programma NC:

Codice di programma Commento

N10 DEF REAL KTAB[9,6] ; Tabella dei profili con nome KTAB e 9 righe della tabella. Queste consentono 8 blocchi di profilo. Il valore del parametro 6 (numero di colonne nella tabella) è una grandezza fissa.

N20 DEF INT MODE = 0 ; Una variabile per la direzione di lavorazione. Valore standard 0: solo nella direzione programmata del profilo.

N30 DEF INT ERROR = 0 ; Una variabile per la risposta di errore.

...

N100 G18 G64 G90 G94 G710

N101 G1 Z100 X100 F1000

N105 CONTDCON (KTAB, MODE) ; Richiamo della preparazione del profilo (MODE può essere omesso).

N110 G1 Z20 X20 F200N120 G9 X45 F300N130 Z0 F400

; Descrizione del profilo.

N140 G2 Z-15 X30 K=AC(-15) I=AC(45)F100

N150 G64 Z-30 F600N160 X80 F700N170 Z-40 F800

N180 EXECUTE(ERROR) ; Fine della compilazione della tabella dei profili, commutazione sul funzionamento normale del programma.

...

Page 734: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmi di sgrossatura personalizzati 15.3 Creazione della tabella dei profili codificata (CONTDCON)

Preparazione del lavoro734 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Tabella dei profili KTAB:

Significato dei contenuti delle colonne:

Indice colonne0 1 2 3 4 5

Indice righe Modo del profilo

Punto finaledelle ascisse

Punto finaledelle ordinate

Centrodelle ascisse

Centrodelle ordinate

Avanzamento

0 30 100 100 0 0 71 11031 20 20 0 0 2002 111031 20 45 0 0 3003 11031 0 45 0 0 4004 11032 -15 30 -15 45 1005 11031 -30 30 0 0 6006 11031 -30 80 0 0 7007 11031 -40 80 0 0 8008 0 0 0 0 0 0

Riga 0: Codifica per il punto iniziale:

Colonna 0: 100 (pos.unità): G0 = 0

101 (posizione delle decine): G70 = 0, G71 = 1, G700 = 2, G710 = 3Colonna 1: Punto iniziale delle ascisseColonna 2: Punto iniziale delle ordinateColonna 3-4: 0Colonna 5: Indice di riga dell’ultimo tratto di profilo nella tabella

Righe 1-n: Registrazioni dei tratti di profiloColonna 0: 100 (pos.unità): G0 = 0, G1 = 1, G2 = 2, G3 = 3

101 (posizione delle decine): G70 = 0, G71 = 1, G700 = 2, G710 = 3

102 (pos.centinaia): G90 = 0, G91 = 1

103 (pos.migliaia): G93 = 0, G94 = 1, G95 = 2, G96 = 3

104 (pos.decine di migliaia): G60 = 0, G44 = 1, G641 = 2, G642 = 3

105 (pos.centinaia di migliaia): G9 = 1Colonna 1: Punto finale delle ascisseColonna 2: Punto finale delle ordinateColonna 3: Centro delle ascisse con interpolazione circolareColonna 4: Centro delle ordinate con interpolazione circolareColonna 5: Avanzamento

Page 735: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmi di sgrossatura personalizzati15.3 Creazione della tabella dei profili codificata (CONTDCON)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 735

Ulteriori informazioniComandi di movimento consentiti, sistema di coordinate

Per la programmazione del profilo sono consentiti i seguenti gruppi G e comandi G:

Inoltre sono possibili:

• arrotondamento e smusso

• Programmazione circolare tramite CIP e CT

Le funzioni di spline, polinomio e filetto conducono a errori.

Le modifiche del sistema di coordinate attraverso l'attivazione di un frame non sono consentite fra CONTDCON e EXECUTE. La stessa cosa vale per un passaggio da G70 a G71 o da G700 a G710.

Una sostituzione degli assi geometrici con GEOAX durante la preparazione della tabella dei profili provoca un allarme.

Direzione di lavorazione

La tabella dei profili creata con CONTDCON è prevista per l'asportazione nella direzione programmata del profilo.

Gruppo G 1: G0, G1, G2, G3Gruppo-G 10: G60, G64, G641, G642Gruppo-G 11: G9

Gruppo-G 13: G70, G71, G700, G710Gruppo-G 14: G90, G91Gruppo-G 15: G93, G94, G95, G96, G961

Page 736: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmi di sgrossatura personalizzati 15.4 Individuazione del punto di intersezione fra due elementi del profilo (INTERSEC)

Preparazione del lavoro736 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

15.4 Individuazione del punto di intersezione fra due elementi del profilo (INTERSEC)

Funzioni INTERSEC rileva il punto di intersezione di due elementi del profilo normalizzati provenienti da tabelle dei profili create con CONTPRON.

Sintassi<Stato>=INTERSEC(<tabella dei profili_1>[<elemento del profilo_1>],<tabella dei profili_2>[<elemento di profilo_2>],<punto di intersezione>,<tipo di lavorazione>)

Significato

INTERSEC Parola chiave per il calcolo del punto di intersezione di due elementi del profilo provenienti dalle tabelle dei profili create con CONTPRON

<stato> Variabile per lo stato del punto di intersezioneTipo: BOOLValore: TRUE Punto di intersezione trovato

FALSE punto di intersezione non trovato<tabella dei profili_1>

Nome della prima tabella dei profili

<elemento del profilo_1>

Numero dell'elemento del profilo della prima tabella dei profili

<tabella dei profili_2>

Nome della seconda tabella dei profili

<elemento del profilo_2>

Numero dell'elemento del profilo della seconda tabella dei profili

<punto di intersezione>

Coordinate del punto di interfaccia nel piano attivo (G17 / G18 / G19)Tipo: REAL

<tipo di lavorazione> Parametri per il tipo di lavorazioneTipo: INTValore: 0 Calcolo del punto di intersezione nel piano

attivo con il parametro 2 (valore standard)

1 Calcolo del punto di intersezione indipendente dal piano assegnato

NotaPrestare attenzione affinché le variabili vengano definite prima della relativa applicazione.

Page 737: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmi di sgrossatura personalizzati15.4 Individuazione del punto di intersezione fra due elementi del profilo (INTERSEC)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 737

Il trasferimento dei profili richiede il rispetto dei valori definiti con CONTPRON:

EsempioDeterminare il punto di intersezione dell'elemento di profilo 3 della tabella TABNAME1 con l'elemento di profilo 7 della tabella TABNAME2. Le coordinate del punto di intersezione nel piano attivo vengono memorizzate nelle variabili ISCOORD (elemento 1 = ascissa, elemento 2 = ordinata). Se non esiste alcun punto di intersezione, si ha un salto a KEINSCH (nessun punto di intersezione trovato).

Parametro Significato2 Codifica della modalità del profilo per il movimento3 Ascisse del punto iniziale del profilo4 Ordinata del punto iniziale del profilo5 Ascisse del punto finale del profilo6 Ordinata del punto finale del profilo9 Coordinate del centro per l'ascissa (solo in caso di profilo circolare)10 Coordinate del centro per l'ordinata (solo in caso di profilo circolare)

Codice di programma Commento

DEF REAL TABNAME1[12,11] ; Tabella dei profili 1

DEF REAL TABNAME2[10,11] ; Tabella dei profili 2

DEF REAL ISCOORD [2] ; Variabile per le coordinate del punto di intersezione.

DEF BOOL ISPOINT ; Variabile per lo stato del punto di intersezione.

DEF INT MODE ; Variabile per il tipo di lavorazione.

MODE=1 ; Calcolo indipendente dal piano attivo.

N10 ISPOINT=INTERSEC(TABNAME1[3],TABNAME2[7],ISCOORD,MODE) ; Richiamo del punto di intersezione degli elementi del profilo.

N20 IF ISPOINT==FALSE GOTOF NO_INTERS ; Salto a KEINSCH.

Page 738: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmi di sgrossatura personalizzati 15.5 Esecuzione blocco a blocco di elementi del profilo di una tabella (EXECTAB)

Preparazione del lavoro738 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

15.5 Esecuzione blocco a blocco di elementi del profilo di una tabella (EXECTAB)

FunzioniCon il comando EXECTAB possono essere eseguiti blocco a blocco gli elementi del profilo di una tabella, che ad es. sono stati creati con il comando CONTPRON.

SintassiEXECTAB(<tabella dei profili>[<elemento del profilo>])

Significato

EsempioGli elementi del profilo da 0 a 2 della tabella KTAB devono essere eseguiti blocco a blocco.

EXECTAB Comando per l'esecuzione di un elemento del profilo<tabella dei profili> Nome della tabella dei profili<elemento del profilo> Numero dell'elemento del profilo

Codice di programma Commento

N10 EXECTAB(KTAB[0]) ; Spostamento dell'elemento 0 della tabella KTAB.

N20 EXECTAB(KTAB[1]) ; Spostamento dell'elemento 1 della tabella KTAB.

N30 EXECTAB(KTAB[2]) ; Spostamento dell'elemento 2 della tabella KTAB.

Page 739: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmi di sgrossatura personalizzati15.6 Calcolo dei dati del cerchio (CALCDAT)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 739

15.6 Calcolo dei dati del cerchio (CALCDAT)

FunzioniCon il comando CALCDAT è possibile calcolare a partire da tre o quattro punti noti del cerchio il raggio e le coordinate del centro del cerchio. I punti impostati devono essere differenti tra di loro. Con 4 punti non giacenti esattamente sullo stesso cerchio, viene calcolato un valore medio sia per il centro che per il raggio.

Sintassi<stato>=CALCDAT(<punti del cerchio>[<numero>,<tipo>],<numero>,<risultato>)

Significato

CALCDAT Comando per il calcolo del raggio e coordinate del centro di un cerchio da 3 o 4 punti

<stato> Variabile per lo stato di calcolo del cerchioTipo: BOOLValore: TRUE I punti indicati si trovano su un cerchio.

FALSE I punti indicati non si trovano su un cerchio.

<punti del cerchio>[]

Variabile per l'indicazione dei punti del cerchiocon i parametri:<numero> Numero dei punti del cerchio (3 o 4)<tipo> Tipo dell'indicazione delle coordinate,

ad es. per le coordinate a 2 punti<numero> Parametri per il numero dei punti utilizzati per il calcolo (3 o 4)<risultato>[3] Variabile per il risultato:

Indicazione delle coordinate del centro del cerchio e del raggio0 Coordinata del centro del cerchio: Valore delle ascisse1 Coordinata del centro del cerchio: Valore delle ordinate 2 Raggio

NotaPrestare attenzione affinché le variabili vengano definite prima della relativa applicazione.

Page 740: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmi di sgrossatura personalizzati 15.6 Calcolo dei dati del cerchio (CALCDAT)

Preparazione del lavoro740 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

EsempioÈ necessario calcolare a partire da tre punti se questi si trovano su una sezione di cerchio.

Codice di programma Commento

N10 DEF REAL PKT[3,2]=(20,50,50,40,65,20) ; Variabile per l'indicazione dei punti del cerchio

N20 DEF REAL ERG[3] ; Variabile per il risultato

N30 DEF BOOL STATUS ; Variabile di stato

N40 STATUS=CALCDAT(PKT,3,ERG) ; Richiamo dei dati del cerchio rilevati.

N50 IF STATUS == FALSE GOTOF ERROR ; Salto all'errore

Page 741: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmi di sgrossatura personalizzati15.7 Disattivazione della preparazione del profilo (EXECUTE)

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 741

15.7 Disattivazione della preparazione del profilo (EXECUTE)

FunzioniCon il comando EXECUTE viene attivata la preparazione del profilo e contemporaneamente questa viene riportata nel modo di lavorazione normale.

SintassiEXECUTE(<ERRORE>)

Significato

Esempio

EXECUTE Comando per l'interruzione della preparazione del profilo<ERRORE> Variabile per la risposta di errore

Tipo: INTIl valore delle variabili indica se il profilo può essere preparato senza errori:0 errore1 nessun errore

Codice di programma

...

N30 CONTPRON(...)

N40 G1 X... Z...

...

N100 EXECUTE(...)

...

Page 742: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmi di sgrossatura personalizzati 15.7 Disattivazione della preparazione del profilo (EXECUTE)

Preparazione del lavoro742 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Page 743: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Preparazione del lavoroManuale di programmazione 02/2011, 6FC5398-2BP40-1CA0 743

16Programmazione esterna di cicli

16.1 Cicli tecnologici

16.1.1 Premessa

ContenutoQuesto capitolo contiene informazioni sui cicli tecnologici a partire dalla versione 2.6 per la creazione di programmi NC esterni.

StrutturaLa documentazione è strutturata come segue:

• Programmazione

Nome del ciclo e sequenza delle chiamate dei parametri di trasmissione• Parametri

Tabella per la spiegazione dei singoli parametri

Descrizione dei parametriLa tabella contiene i nomi dei parametri utilizzati internamente, la spiegazione del significato e il campo dei valori possibile. Descrive inoltre le interdipendenze tra i parametri. La colonna che rimanda al parametro nella maschera consente di ritrovare i valori programmati nel controllo numerico in caso di ricompilazione di chiamate di cicli generate esternamente.

Parametri "solo per la superficie"

Nella tabella i parametri sono contrassegnati con "solo per la superficie". Questi non sono rilevanti per il funzionamento del ciclo. Sono necessari solo per ricompilare completamente le chiamate di ciclo. Se non sono programmati, il ciclo può essere comunque ricompilato, i campi vengono quindi contrassegnati con colori diversi e devono essere compilati nella maschera.

Parametro "riservato"

I parametri contrassegnati con "riservato" devono essere programmati con il valore 0 o virgola vuota in modo tale che l'assegnazione dei parametri di chiamata seguenti corrisponda ai parametri di ciclo interni. Eccezione: per i parametri di stringa valore "" o virgola vuota.

Page 744: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro744 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

CompatibilitàI cicli tecnologici a partire dalla versione 2.6 rappresentano uno sviluppo dei pacchetti di cicli per SINUMERIK 840D sl fino a GIV 1.5 (cicli fino alla versione 7.5). I programmi NC con chiamate di ciclo di queste versioni SW precedenti continuano ad essere eseguibili.

La maggior parte dei cicli è stata ampliata con nuovi parametri di trasmissione oppure è stato esteso il campo di valori dei parametri esistenti, allo scopo di poter programmare nuove funzioni (come ad es. il parametro _VARI, molto utilizzato per il tipo di lavorazione).

Nella presente documentazione il concetto di "compatibilità" rimanda a valori di immissione che non erano programmati in precedenza. Se i valori vengono immessi in modo conforme, il ciclo viene eseguito dal punto di vista funzionale come fino alla versione 7.5.

Ripetizione di cicli su matrici di posizioniI cicli di foratura e fresatura possono essere ripetuti su matrici di posizioni (richiami modali). Prima del ciclo va quindi scritto MCALL nella stessa riga, ad es. MCALL CYCLE83(...).

NotaSe determinati parametri di trasmissione (come ad es. _VARI, _GMODE, _DMODE, _AMODE) sono programmati indirettamente come parametri, la maschera di immissione viene aperta al momento della ricompilazione, ma non può essere salvata perché per alcuni campi di selezione non esiste un'assegnazione univoca.

Page 745: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 745

16.1.2 Foratura, centratura - CYCLE81

Programmazione CYCLE81(REAL RTP, REAL RFP, REAL SDIS, REAL DP, REAL DPR, REAL _DTB, INT _GMODE, INT _DMODE, INT _AMODE)

Parametri

N.Maschera param.

Param. interno Spiegazione

1 RP RTP Piano di svincolo (ass)2 Z0 RFP Punto di riferimento (ass)3 SC _SDIS Distanza di sicurezza (additiva rispetto al punto di riferimento, da indicare senza segno)4 Z1/? _DP Profondità di foratura (ass)/Diametro del centraggio (ass), vedere _GMODE5 Z1 -DPR Profondità di foratura (incr)6 DT _DTB Tempo di sosta sulla profondità finale di foratura, vedere _AMODE7 _GMODE Modalità geometrica (valutazione dei valori geometrici programmati)

UNITÀ: riservatoDECINE: Centraggio riferito alla profondità/al diametro

0 = compatibilità, profondità1 = diametro

8 _DMODE Modo displayUNITÀ: piano di lavorazione G17/G18/G19

0 = compatibilità, resta attivo il piano attivo prima del richiamo del ciclo1 = G17 (attivo solo nel ciclo)2 = G18 (attivo solo nel ciclo)3 = G19 (attivo solo nel ciclo)

9 _AMODE Modo alternativoUNITÀ: Profondità di foratura Z1 (ass/incr)

0 = compatibilità, dalla programmazione DP/DPR1 = incrementale2 = assoluto

DECINE: tempo di sosta sulla profondità finale di foratura DT in secondi/giri0 = compatibilità, dal segno di DTB (> 0 secondi o < 0 giri)1 = in secondi2 = in giri

Page 746: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro746 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

16.1.3 Foratura, svasatura - CYCLE82

Programmazione CYCLE82(REAL RTP, REAL RFP, REAL SDIS, REAL DP, REAL DPR, REAL DTB, INT _GMODE, INT _DMODE, INT _AMODE)

Parametri

N.Maschera param.

Param. interno Spiegazione

1 RP RTP Piano di svincolo (ass)2 Z0 RFP Punto di riferimento (ass)3 SC SDIS Distanza di sicurezza (additiva rispetto al punto di riferimento, da indicare senza segno)4 Z1 DP Profondità di foratura (ass), vedere _AMODE5 Z1 DPR Profondità di foratura (incr), vedere _AMODE6 DT DTB Tempo di sosta sulla profondità finale di foratura, vedere _AMODE7 _GMODE Modalità geometrica (valutazione dei valori geometrici programmati)

UNITÀ: riservatoDECINE: Profondità di foratura riferita a punta/codolo

0 = compatibilità, punta1 = codolo

8 _DMODE Modo displayUNITÀ: piano di lavorazione G17/G18/G19

0 = compatibilità, resta attivo il piano attivo prima del richiamo del ciclo1 = G17 (attivo solo nel ciclo)2 = G18 (attivo solo nel ciclo)3 = G19 (attivo solo nel ciclo)

9 _AMODE Modo alternativoUNITÀ: Profondità di foratura Z1 (ass/incr)

0 = compatibilità dalla programmazione DP/DPR1 = incrementale2 = assoluto

DECINE: tempo di sosta DT sulla profondità finale di foratura in secondi/giri0 = compatibilità, dal segno di DT (> 0 secondi/< 0 giri)1 = in secondi2 = in giri

Page 747: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 747

16.1.4 Alesatura - CYCLE85

Programmazione CYCLE85(REAL RTP, REAL RFP, REAL SDIS, REAL DP, REAL DPR, REAL DTB, REAL FFR, REAL RFF, INT _GMODE, INT _DMODE, INT _AMODE)

Parametri

N.Maschera param.

Param. interno Spiegazione

1 RP RTP Piano di svincolo (ass)2 Z0 RFP Punto di riferimento (ass)3 SC SDIS Distanza di sicurezza (additiva rispetto al punto di riferimento, da indicare senza segno)4 Z1 DP Profondità di foratura (ass), vedere _AMODE5 Z1 DPR Profondità di foratura (incr), vedere _AMODE6 DT DTB Tempo di sosta sulla profondità finale di foratura, vedere _AMODE7 F FFR Avanzamento8 FR RFF Avanzamento di svincolo9 _GMODE riservato10 _DMODE Modo display

UNITÀ: piano di lavorazione G17/G18/G190 = compatibilità, resta attivo il piano attivo prima del richiamo del ciclo1 = G17 (attivo solo nel ciclo)2 = G18 (attivo solo nel ciclo)3 = G19 (attivo solo nel ciclo)

11 _AMODE Modo alternativo (foratura)UNITÀ: Profondità di foratura Z1 (ass/incr)

0 = compatibilità, dalla programmazione DP/DPR1 = incrementale2 = assoluto

DECINE: tempo di sosta DT sulla profondità finale di foratura in secondi/giri0 = compatibilità, dal segno di DT (> 0 secondi o < 0 giri)1 = in secondi2 = in giri

Page 748: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro748 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

16.1.5 Foratura profonda - CYCLE83

Programmazione CYCLE83(REAL RTP, REAL RFP, REAL SDIS, REAL DP, REAL DPR, REAL FDEP, REAL FDPR, REAL _DAM, REAL DTB, REAL DTS, REAL FRF, INT VARI, INT _AXN, REAL _MDEP, REAL _VRT, REAL _DTD, REAL _DIS1, INT _GMODE, INT _DMODE, INT _AMODE)

Parametri

N.Maschera param.

Param. interno Spiegazione

1 RP RTP Piano di svincolo (ass)2 Z0 RFP Punto di riferimento (ass)3 SC SDIS Distanza di sicurezza (additiva rispetto al punto di riferimento, da indicare senza segno)4 Z1 DP Profondità finale di foratura (ass), vedere _AMODE5 Z1 DPR Profondità finale di foratura (incr), vedere _AMODE 6 D FDEP 1. Profondità di foratura (ass), vedere _AMODE7 D FDPR 1. Profondità di foratura (incr), vedere _AMODE8 DF _DAM Valore/percentuale per ogni altro incremento (valore di degressione/percentuale), vedere

_AMODE 9 DTB DTB Tempo di sosta sulla profondità di foratura, vedere _AMODE 10 DTS DTS Tempo di sosta al punto iniziale (solo per scarico trucioli), vedere _AMODE11 FD1 FRF Percentuale per l'avanzamento al primo incremento, vedere _AMODE12 VARI Tipo di lavorazione

UNITÀ: Rottura trucioli / Asportazione trucioli0 = rottura trucioli1 = scarico trucioli

13 _AXN Asse utensile:0 = 3. Asse geometrico1 = 1. Asse geometrico2 = 2. Asse geometrico> 2 = 3. Asse geometrico

14 V1 _MDEP Incremento minimo (solo per percentuale di degressione)15 V2 _VRT Quota di svincolo dopo ogni lavorazione (solo per rottura trucioli)

> 0 = valore di svincolo variabile0 = valore standard 1 mm

16 DT _DTD Tempo di sosta sulla profondità finale di foratura, vedere _AMODE17 V3 _DIS1 Distanza di arresto anticipato (solo per scarico trucioli), vedere _AMODE

Page 749: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 749

18 _GMODE Modalità geometrica (valutazione dei valori geometrici programmati)UNITÀ: riservatoDECINE: profondità di foratura riferita a punta/codolo

0 = punta1 = codolo

19 _DMODE Modo displayUNITÀ: piano di lavorazione G17/G18/G19

0 = compatibilità, resta attivo il piano attivo prima del richiamo del ciclo1 = G17 (attivo solo nel ciclo)2 = G18 (attivo solo nel ciclo)3 = G19 (attivo solo nel ciclo)

20 _AMODE Modo alternativoUNITÀ: Profondità di foratura = profondità finale di foratura Z1 (ass/incr)

0 = compatibilità, dalla programmazione DP/DPR1 = incrementale2 = assoluto

DECINE: tempo di sosta sulla profondità di foratura DTB in secondi/giri0 = compatibilità dal segno di DTB (> 0 secondi o < 0 giri)1 = in secondi2 = in giri

CENTINAIA: tempo di sosta nel punto iniziale di DTS in secondi/giri0 = compatibilità dal segno di DTS (> 0 secondi o < 0 giri)1 = in secondi2 = in giri

MIGLIAIA: tempo di sosta sulla profondità finale di foratura DT in secondi/giri0 = compatibilità dal segno di _DTD (> 0 secondi o < 0 giri)1 = in secondi2 = in giri

DECINE DI MIGLIAIA: 1. profondità di foratura D (ass/incr)0 = compatibilità, dalla programmazione FDEP/FDPR1 = incrementale2 = assoluto

CENTINAIA DI MIGLIAIA: valore/percentuale DAM per ogni altro incremento (degressione)0 = compatibilità, dal segno di DAM (> 0 valore o < 0 fattore da 0.001 a 1.0)1 = valore2 = percentuale (da 0.001 a 100 %)

UNMILIONE: distanza di arresto anticipato V3 automatica/manuale0 = compatibilità dal segno di _DIS1 (= 0 automatico o > 0 manuale)1 = automatico (viene calcolato nel ciclo)2 = manuale (valore programmato)

DIECIMILIONI: fattore di avanzamento per il primo incremento FRF come fattore/percentuale0 = compatibilità, come fattore (da 0.001 a 1.0, FRF = 0 significa 100%)1 = percentuale (da 0.001 a 999,999 %)

N.Maschera param.

Param. interno Spiegazione

Page 750: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro750 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

16.1.6 Svasatura - CYCLE86

Programmazione CYCLE86(REAL RTP, REAL RFP, REAL SDIS, REAL DP, REAL DPR, REAL DTB, INT SDIR, REAL RPA, REAL RPO, REAL RPAP, REAL POSS, INT _GMODE, INT _DMODE, INT _AMODE)

Parametri

N.Maschera param.

Param. interno Spiegazione

1 RP RTP Piano di svincolo (ass)2 Z0 RFP Punto di riferimento (ass)3 SC SDIS Distanza di sicurezza (additiva rispetto al punto di riferimento, da indicare senza segno)4 Z1 DP Profondità di foratura (ass), vedere _AMODE5 Z1 DPR Profondità di foratura (incr), vedere _AMODE6 DT DTB Tempo di sosta sulla profondità finale di foratura, vedere _AMODE7 DIR SDIR Senso di rotazione del mandrino

3 = M34 = M4

8 DX RPA Quota distacco in direzione X9 DY RPO Quota distacco in direzione Y10 DZ RPAP Quota distacco in direzione Z11 SPOS POSS Posizione del mandrino per il distacco (per arresto orientato del mandrino, in gradi)12 _GMODE Modalità geometrica

UNITÀ: modo di distacco0 = distacco, compatibilità1 = nessun distacco

13 _DMODE Modo displayUNITÀ: piano di lavorazione G17/G18/G19

0 = compatibilità, resta attivo il piano attivo prima del richiamo del ciclo1 = G17 (attivo solo nel ciclo)2 = G18 (attivo solo nel ciclo)3 = G19 (attivo solo nel ciclo)

14 _AMODE Modo alternativoUNITÀ: Profondità di foratura Z1 (ass/incr)

0 = compatibilità, dalla programmazione DP/DPR 1 = incrementale2 = assoluto

DECINE: tempo di sosta sulla profondità finale di foratura DT in secondi/giri0 = compatibilità, dal segno di DT (> 0 secondi o < 0 giri)1 = in secondi 2 = in giri

Page 751: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 751

16.1.7 Maschiatura senza utensile compensato - CYCLE84

Programmazione CYCLE84(REAL RTP, REAL RFP, REAL SDIS, REAL DP, REAL DPR, REAL DTB, INT SDAC, REAL MPIT, REAL PIT, REAL POSS, REAL SST, REAL SST1, INT _AXN, INT _PITA, INT _TECHNO, INT _VARI, REAL _DAM, REAL _VRT, STRING[15] _PITM, STRING[5] _PTAB, STRING[20] _PTABA, INT _GMODE, INT _DMODE, INT _AMODE)

Parametri

N.Maschera param.

Param. interno Spiegazione

1 RP RTP Piano di svincolo (ass)2 Z0 RFP Punto di riferimento (ass)3 SC SDIS Distanza di sicurezza (additiva rispetto al punto di riferimento, da indicare senza segno)4 Z1 DP Profondità di foratura = profondità finale di foratura (ass), vedere _AMODE5 Z1 DPR Profondità di foratura = profondità finale di foratura (incr), vedere _AMODE6 DT DTB Tempo di sosta sulla profondità di foratura in secondi7 SDE SDAC Rotazione dopo il termine del ciclo8 MPIT Dimensione del filetto solo per "ISO metrico" (il passo viene calcolato internamente durante

il runtime)9 P PIT Passo del filetto come valore, per l'unità di misura vedere _PITA10 αS1) POSS Posizione del mandrino per arresto orientato del mandrino

11 S SST Giri del mandrino per maschiatura12 SR SST1 Giri mandrino per svincolo13 _AXN Asse di foratura:

0 = 3. Asse geometrico1 = 1. Asse geometrico2 = 2. Asse geometrico≥ 3 = 3. Asse geometrico

14 _PITA Unità di misura del passo del filetto 0 = passo in mm 1 = passo in mm 2 = passo in TPI 3 = passo in pollici 4 = MODULO

(valutazione PIT e MPIT)- valutazione MPIT/PIT- valutazione PIT- valutazione PIT (principi del filetto per pollice)- valutazione PIT- valutazione PIT

Page 752: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro752 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

15 _TECNO Tecnologia1)

UNITÀ: Comportamento all'arresto preciso0 = comportamento arresto preciso attivo come prima del richiamo del ciclo1 = arresto preciso G6012 = arresto preciso G6023 = arresto preciso G603

DECINE: Precomando0 = con/senza precomando attivo come prima del richiamo del ciclo1 = con precomando FFWON2 = senza precomando FFWOF

CENTINAIA: accelerazione0 = SOFT/BRISK/DRIVE attivo come prima del richiamo del ciclo1 = con limitazione dello strappo SOFT2 = senza limitazione dello strappo BRISK3 = accelerazione ridotta DRIVE

MIGLIAIA: MCALL funzionamento mandrino0 = con MCALL riattivare il funzionamento mandrino1 = con MCALL restare in regolazione posizione

16 _VARI Tipo di lavorazione:UNITÀ:

0 = 1 passata1 = rottura trucioli (maschiatura profonda)2 = scarico trucioli (maschiatura profonda)

MIGLIAIA: Modo ISO/SIEMENS per maschera di immissione non rilevante1 = richiamo da compatibilità ISO0 = richiamo da contesto SIEMENS

17 D _DAM Penetrazione massima (solo per scarico o rottura dei trucioli)18 V2 _VRT Quota di svincolo dopo ogni lavorazione (solo per rottura trucioli), vedere _AMODE19 _PITM Stringa come merker per impostazione del passo del filetto2)

20 _PTAB Stringa per tabella dei filetti ("", "ISO", "BSW", "BSP", "UNC")2)

21 _PTABA Stringa per selezione nella tabella dei filetti (ad es. "M 10", "M 12", ...)2)

22 _GMODE Modalità geometrica (valutazione dei valori geometrici programmati)UNITÀ: riservatoDECINE: riservato

N.Maschera param.

Param. interno Spiegazione

Page 753: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 753

23 _DMODE Modo displayUNITÀ: piano di lavorazione G17/G18/G19

0 = compatibilità, resta attivo il piano attivo prima del richiamo del ciclo1 = G17 (attivo solo nel ciclo)2 = G18 (attivo solo nel ciclo)3 = G19 (attivo solo nel ciclo)

DECINE: riservatoCENTINAIA: riservatoMIGLIAIA: modo di compatibilità (solo per maschera di immissione per ricompilazione), se MD 52216 bit0 = 11)

0 = i parametri tecnologici sono visualizzati (compatibilità): i parametri TECHNO sono attivi 1 = i parametri tecnologici non sono visualizzati: è attiva la tecnologia "programmata come prima del richiamo del ciclo"

24 _AMODE Modo alternativo UNITÀ: Profondità di foratura = profondità finale di foratura Z1 (ass/incr)

0 = compatibilità, dalla programmazione DP/DPR1 = incrementale2 = assoluto

DECINE: riservatoCENTINAIA: riservatoMIGLIAIA: Direzione di rotazione filetto destra/sinistra

0 = compatibilità, dal segno PIT/MPIT1 = destra2 = sinistra

DECINE DI MIGLIAIA: riservatoCENTINAIA DI MIGLIAIA: riservatoUNMILIONE: valore di svincolo dopo ogni lavorazione V2 manuale/automatico

0 = compatibilità, da programmazione _VRT (> 0 valore variabile o ≤ 0 valore standard 1 mm/0.0394 pollici)1 = automatico (valore standard 1mm/0.0394 pollici)2 = manuale (come programmato in V2)

1) I campi della tecnologia possono essere nascosti a seconda del dato di setting SD52216 $MCS_FUNCTION_MASK_DRILL2) I parametri 19, 20 e 21 sono utilizzati solo per la scelta del filetto nelle tabelle dei filetti della maschera di immissione. Non è possibile accedere alle tabelle dei filetti mediante definizione del ciclo durante il runtime di un ciclo.

N.Maschera param.

Param. interno Spiegazione

Page 754: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro754 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

16.1.8 Maschiatura con utensile compensato - CYCLE840

Programmazione CYCLE840(REAL RTP, REAL RFP, REAL SDIS, REAL DP, REAL DPR, REAL DTB, INT SDR, INT SDAC, INT ENC, REAL MPIT, REAL PIT, INT _AXN, INT _PITA, INT _TECHNO, STRING[15] _PITM, STRING[5] _PTAB, STRING[20] _PTABA, INT _GMODE, INT _DMODE, INT _AMODE)

Parametri

N.Maschera param.

Param. interno Spiegazione

1 RP RTP Piano di svincolo (ass)2 Z0 RFP Punto di riferimento (ass)3 SC SDIS Distanza di sicurezza (additiva rispetto al punto di riferimento, da indicare senza segno)4 Z1 DP Profondità di foratura (ass), vedere _AMODE5 Z1 DPR Profondità di foratura (incr), vedere _AMODE6 DT DTB Tempo di sosta sulla profondità di foratura/sulla distanza di sicurezza dopo lo svincolo in

secondi, vedere ENC7 SDR Senso di rotazione per lo svincolo8 SDE SDAC Rotazione dopo il termine del ciclo9 ENC Maschiatura con encoder del mandrino (G33)/Maschiatura senza encoder del mandrino

(G63)0 = con encoder del mandrino20 = con encoder del mandrino

11 = senza encoder del mandrino1 = senza encoder del mandrino

- Passo da MPIT/PIT - senza DT- Passo da MPIT/PIT - con DT dopo svincolo su distanza di sicurezza- Passo da MPIT/PIT - con DT su profondità di foratura- Passo da avanzamento programmato - con DT su profondità di foratura (avanzamento = numero di giri · passo)

10 MPIT Dimensione del filetto solo per "ISO metrico" (il passo viene calcolato internamente durante il runtime) Campo di valori: da 3 a 48 (per M3 fino a M48), in alternativa a PIT

11 PIT Passo del filetto come valore, per l'unità di misura vedere _PITA)Campo di valori: > 0, in alternativa a MPIT

12 _AXN Asse di foratura:0 = 3. Asse geometrico1 = 1. Asse geometrico2 = 2. Asse geometrico≥ 3 = 3. Asse geometrico

13 _PITA Unità di misura del passo del filetto (valutazione PIT e MPIT)0 = passo in mm1 = passo in mm2 = passo in TPI3 = passo in pollici4 = MODULO

- valutazione MPIT/PIT- valutazione PIT- valutazione PIT (principi del filetto per pollice)- valutazione PIT- valutazione PIT

Page 755: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 755

14 _TECNO Tecnologia1)

UNITÀ: Comportamento all'arresto preciso0 = arresto preciso attivo come prima del richiamo del ciclo1 = arresto preciso G6012 = arresto preciso G6023 = arresto preciso G603

DECINE: Precomando0 = con/senza precomando attivo come prima del richiamo del ciclo1 = con precomando FFWON2 = senza precomando FFWOF

15 _PITM Stringa come merker per impostazione del passo del filetto2)

16 _PTAB Stringa per tabella dei filetti ("", "ISO", "BSW", "BSP", "UNC")2)

17 _PTABA Stringa per selezione nella tabella dei filetti (ad es. "M 10", "M 12", ...)2)

18 _GMODE riservato 19 _DMODE Modo display

UNITÀ: piano di lavorazione G17/G18/G190 = compatibilità, resta attivo il piano attivo prima del richiamo del ciclo1 = G17 (attivo solo nel ciclo)2 = G18 (attivo solo nel ciclo)3 = G19 (attivo solo nel ciclo)

DECINE: riservatoCENTINAIA: riservatoMIGLIAIA: modo di compatibilità (solo per maschera di immissione per ricompilazione), se MD 52216 bit0 = 11)

0 = i parametri tecnologici sono visualizzati (compatibilità): i parametri TECHNO sono attivi 1 = i parametri tecnologici non sono visualizzati: è attiva la tecnologia "programmata come prima del richiamo del ciclo"

20 _AMODE Modo alternativoUNITÀ: Profondità di foratura Z1 (ass/incr)

0 = compatibilità, dalla programmazione DP/DPR 1 = incrementale2 = assoluto

1) I campi della tecnologia possono essere nascosti a seconda del dato di setting SD52216 MCS_FUNCTION_MASK_DRILL2) I parametri 15, 16 e 17 sono utilizzati solo per la scelta del filetto nelle tabelle dei filetti della maschera di immissione. Non è possibile accedere alle tabelle dei filetti mediante definizione del ciclo durante il runtime di un ciclo.

N.Maschera param.

Param. interno Spiegazione

Page 756: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro756 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

16.1.9 Fresatura-foratura di filetti - CYCLE78

Programmazione CYCLE78(REAL _RTP, REAL _RFP, REAL _SDIS, REAL _DP, REAL _ADPR, REAL _FDPR, REAL _LDPR, REAL _DIAM, REAL _PIT, INT _PITA, REAL _DAM, REAL _MDEP, INT _VARI, INT _CDIR, REAL _GE, REAL _FFD, REAL _FRDP, REAL _FFR, REAL _FFP2, INT _FFA, STRING[15] _PITM, STRING[20] _PTAB, STRING[20] _PTABA, INT _GMODE, INT _DMODE, INT _AMODE)

Parametri

N. Maschera param.

Param. interno Spiegazione

1 RP _RTP Piano di svincolo (ass)2 Z0 _RFP Punto di riferimento dell'asse utensile (ass)3 SC _SDIS Distanza di sicurezza (additiva rispetto al punto di riferimento, da indicare senza segno)4 Z1 _DP Profondità finale di foratura (ass/incr), vedere _AMODE5 _ADPR Profondità di centratura con avanzamento di foratura ridotto (incr), con VARI DECINE DI

MIGLIAIA attivo6 D _FDPR Profondità di passata massima (incr)

D ≥ Z1 ⇒ un incremento sulla profondità finale di foraturaD < Z1 ⇒ ciclo di foratura profonda con più incrementi e scarico trucioli

7 ZR _LDPR Profondità di foratura residua nella foratura passante (incr), con avanzamento FR8 ? -_DIAM Diametro nominale del filetto9 P _PIT Passo del filetto come valore numerico10 _PITA Interpretazione del passo di filettatura P

1 = passo in mm/giro2 = passo in principi/pollice3 = passo in pollici/giro4 = passo come MODULO

11 DF _DAM Valore/percentuale per ogni altro incremento (degressione), vedere _AMODE 12 V1 _MDEP Incremento minimo (incr), attivo solo con degressione13 _VARI Tipo di lavorazione

UNITÀ: riservatoDECINE:

0 = nessuno scarico trucioli prima della fresatura filetti (attivo solo su profondità finale di foratura)1 = scarico trucioli prima della fresatura filetti (attivo solo su profondità finale di foratura)

CENTINAIA: 0 = filettatura destrorsa1 = filettatura sinistrorsa

MIGLIAIA: 0 = nessuna profondità di foratura residua con avanzamento di foratura FR 1 = profondità di foratura residua con avanzamento di foratura FR

DECINE DI MIGLIAIA:0 = nessuna centratura con avanzamento ridotto1 = centratura con avanzamento ridottoAvanzamento di centratura = 0.3 F1 se F1< 0.15 mm/giroAvanzamento di centratura = 0.1 mm/giro se F1 ≥ 0.15 mm/giro

Page 757: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 757

14 _CDIR Direzione di fresatura0 = marcia concorde1 = marcia discorde4 = discorde + concorde (combinazione sgrossatura e finitura)

15 Z2 _GE Valore di svincolo prima della fresatura di filetti (incr)16 F1 _FFD Avanzamento di foratura (mm/min o in/min oppure mm/giro)17 FR _FRDP Avanzamento di foratura per profondità di foratura residua (mm/min o mm/giro)18 F2 -FFR Avanzamento per fresatura filetti (mm/min o mm/dente)19 FS _FFP2 Avanzamento di finitura per CDIR=4 (mm/min o mm/dente)20 _FFA Valutazione avanzamenti

UNITÀ: Avanzamento di foratura F1DECINE: avanzamento di foratura per profondità di foratura residua FRCENTINAIA: avanzamento per fresatura filetti F2MIGLIAIA: avanzamento di finitura FS

21 _PITM Stringa come merker per impostazione del passo del filetto (solo per la superficie)1)

22 _PTAB Stringa per tabella dei filetti ("", "ISO", "BSW", "BSP", "UNC") (solo per la superficie)1)

23 _PTABA Stringa per selezione nella tabella dei filetti (ad es. "M 10", "M 12", ...) (solo per la superficie) 1)

24 _GMODE Modalità geometrica, riservato25 _DMODE Modo display

UNITÀ: piano di lavorazione G17/18/190 = compatibilità, resta attivo il piano attivo prima del richiamo del ciclo1 = G17 (attivo solo nel ciclo)2 = G18 (attivo solo nel ciclo)3 = G19 (attivo solo nel ciclo)

26 _AMODE Modo alternativoUNITÀ: Profondità di foratura = profondità finale di foratura Z1 ass/incr

0 = assoluto1 = incrementale

DECINE: valore/percentuale DF per ogni altro incremento (degressione)0 = valore1 = percentuale (da 0.001 a 100 %)

N. Maschera param.

Param. interno Spiegazione

Nota1) I parametri 21, 22 e 23 sono utilizzati solo per la scelta del filetto nelle tabelle dei filetti della maschera di immissione. Non è possibile accedere alle tabelle dei filetti mediante definizione del ciclo durante il runtime di un ciclo.

Page 758: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro758 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

16.1.10 Posizioni a piacere - CYCLE802

Programmazione CYCLE802(INT _XA, INT _YA, REAL _X0, REAL _Y0, REAL _X1, REAL _Y1, REAL _X2, REAL _Y2, REAL _X3, REAL _Y3, REAL _X4, REAL _Y4, REAL _X5, REAL _Y5, REAL _X6, REAL _Y6, REAL _X7, REAL _Y7, REAL _X8, REAL _Y8, INT _VARI, INT _UMODE, INT _DMODE)

Parametri

N.Maschera param.

Parametrointerno

Spiegazione

1 _XA Alternativa per tutte le posizioni X (valore decimale a 9 cifre)Numero di posizioni: 876543210 (la posizione corrisponde alla posizione di foratura Xn)Valore della posizione:1 = assoluto (prima posizione programmata sempre in modo assoluto!)2 = incrementale

2 _YA Alternativa per tutte le posizioni Y (valore decimale a 9 cifre)Numero di posizioni: 876543210 (la posizione corrisponde alla posizione di foratura Yn)Valore della posizione:1 = posizione immessa (ass)2 = posizione immessa (incr)

3 X0 _X0 1. Posizione X4 Y0 _Y0 1. Posizione Y5 X1 _X1 2. Posizione X6 Y1 _Y1 2. Posizione Y7 X2 _X2 3. Posizione X8 Y2 _Y2 3. Posizione Y9 X3 _X3 4. Posizione X10 Y3 _Y3 4. Posizione Y11 X4 _X4 5. Posizione X12 Y4 _Y4 5. Posizione Y13 X5 _X5 6. Posizione X14 Y5 _Y5 6. Posizione Y15 X6 _X6 7. Posizione X16 Y6 _Y6 7. Posizione Y17 X7 _X7 8. Posizione X18 Y7 _Y7 8. Posizione Y19 X8 _X8 9. Posizione X20 Y8 _Y8 9. Posizione Y21 _VARI riservato

Page 759: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 759

22 _UMODE riservato23 _DMODE Modo display

UNITÀ: piano di lavorazione G17/18/190 = compatibilità, resta attivo il piano attivo prima del richiamo del ciclo1 = G17 (attivo solo nel ciclo)2 = G18 (attivo solo nel ciclo)3 = G19 (attivo solo nel ciclo)

N.Maschera param.

Parametrointerno

Spiegazione

NotaLe posizioni non necessarie dei parametri da X1/Y1 a X8/Y8 possono essere omesse.

I valori alternativi per _XA e _YA devono essere comunque immessi per tutte le 9 posizioni.

Page 760: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro760 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

16.1.11 Serie di fori - HOLES1

Programmazione HOLES1(REAL SPCA, REAL SPCO, REAL STA1, REAL FDIS, REAL DBH, INT NUM, INT _VARI, INT _UMODE, STRING[200] _HIDE, INT _NSP, INT _DMODE)

Parametri

N.Maschera param.

Parametrointerno

Spiegazione

1 X0 SPCA Punto di riferimento per serie di fori nel 1° asse (ass)2 Y0 SPCO Punto di riferimento per serie di fori nel 2° asse (ass)3 α0 STA1 Angolo di rotazione di base (angolo verso il 1° asse)4 L0 FDIS Distanza del 1° foro dal punto di riferimento5 L DBH Distanza tra i fori6 N NUM Numero dei fori7 _VARI riservato8 _UMODE riservato9 _HIDE Posizioni disabilitate

• max. 198 caratteri• Indicazione dei numeri di posizione progressivi, ad es. "1,3" (le posizioni 1 e 3 non

vengono eseguite)10 _NSP riservato11 _DMODE Modo display

UNITÀ: piano di lavorazione G17/18/190 = compatibilità, resta attivo il piano attivo prima del richiamo del ciclo1 = G17 (attivo solo nel ciclo)2 = G18 (attivo solo nel ciclo)3 = G19 (attivo solo nel ciclo)

Page 761: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 761

16.1.12 Reticolo o cornice - CYCLE801

Programmazione CYCLE801(REAL _SPCA, REAL _SPCO, REAL _STA, REAL _DIS1, REAL _DIS2, INT _NUM1, INT _NUM2, INT _VARI, INT _UMODE, REAL _ANG1, REAL _ANG2, STRING[200] _HIDE, INT _NSP, INT _DMODE)

Parametri

N.Maschera param.

Parametrointerno

Spiegazione

1 X0 _SPCA Punto di riferimento per matrice di posizioni (reticolo/cornice) nel 1° asse (ass)2 Y0 _SPCO Punto di riferimento per matrice di posizioni (reticolo/cornice) nel 2° asse (ass)3 α0 _STA Angolo di rotazione di base (angolo verso il 1° asse)

< 0 = rotazione in senso orario> 0 = rotazione in senso antiorario

4 L1 _DIS1 Distanza delle colonne (distanza di posizione 1° asse, da indicare senza segno)5 L2 _DIS2 Distanza delle righe (distanza di posizione 2° asse, da indicare senza segno)6 N1 _NUM1 Numero di colonne7 N2 _NUM2 Numero di righe8 _VARI Tipo di lavorazione

UNITÀ: Matrice di posizioni0 = reticolo1 = cornice

DECINE: riservatoCENTINAIA: riservato

9 _UMODE riservato10 αX _ANG1 Angolo di taglio rispetto al 1° asse (posizione obliqua delle righe riferita al 1° asse)

< 0 = misura in senso orario (da 0 a -90 gradi)> 0 = misura in senso antiorario (da 0 a 90 gradi)

11 αY _ANG2 Angolo di taglio rispetto al 2° asse (posizione obliqua delle colonne riferita al 2° asse)< 0 = misura in senso orario (da 0 a -90 gradi)> 0 = misura in senso antiorario (da 0 a 90 gradi)

12 _HIDE Posizioni disabilitate• max. 198 caratteri• Indicazione dei numeri di posizione progressivi, ad es. "1,3" (le posizioni 1 e 3 non

vengono eseguite)13 _NSP riservato14 _DMODE Modo display

UNITÀ: piano di lavorazione G17/18/190 = compatibilità, resta attivo il piano attivo prima del richiamo del ciclo1 = G17 (attivo solo nel ciclo)2 = G18 (attivo solo nel ciclo)3 = G19 (attivo solo nel ciclo)

Page 762: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro762 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

16.1.13 Cerchio di fori - HOLES2

Programmazione HOLES2(REAL CPA, REAL CPO, REAL RAD, REAL STA1, REAL INDA, INT NUM, INT _VARI, INT _UMODE, STRING[200] _HIDE, INT _NSP, INT _DMODE)

Parametri

N.Maschera param.

Parametrointerno

Spiegazione

1 X0 CPA Centro per cerchio di fori nel 1° asse (ass)2 Y0 CPO Centro per cerchio di fori nel 2° asse (ass)3 R RAD Raggio del cerchio di fori4 α0 STA1 Angolo iniziale5 α1 INDA Angolo di incremento (solo per arco di cerchio)

< 0 = senso orario> 0 = senso antiorario

6 N NUM Numero di posizioni7 _VARI Tipo di lavorazione

UNITÀ: riservatoDECINE: Tipo di posizionamento

0 = accostamento lineare alla posizione1 = accostamento alla posizione su percorso circolare

CENTINAIA: : riservatoMIGLIAIA: matrice di cerchi

0 = modo di compatibilità, quando INDA = 0 cerchio completo, quando INDA <> 0 cerchio parziale)1 = cerchio completo2 = cerchio parziale

8 _UMODE riservato9 _HIDE Posizioni disabilitate

• max. 198 caratteri• Indicazione dei numeri di posizione progressivi, ad es. "1,3" (le posizioni 1 e 3 non

vengono eseguite)10 _NSP riservato11 _DMODE Modo display

UNITÀ: piano di lavorazione G17/18/190 = compatibilità, resta attivo il piano attivo prima del richiamo del ciclo1 = G17 (attivo solo nel ciclo)2 = G18 (attivo solo nel ciclo)3 = G19 (attivo solo nel ciclo)

Page 763: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 763

16.1.14 Fresatura a spianare - CYCLE61

Programmazione CYCLE61(REAL _RTP, REAL _RFP, REAL _SDIS, REAL _DP, REAL _PA, REAL _PO, REAL _LENG, REAL _WID, REAL _MID, REAL _MIDA, REAL _FALD, REAL _FFP1, INT _VARI, INT _LIM, INT _DMODE, INT _AMODE)

Parametri

N.Maschera param.

Param. interno Spiegazione

1 RP _RTP Piano di svincolo (ass)2 Z0 _RFP Punto di riferimento dell'asse utensile, altezza pezzo grezzo (ass)3 SC _SDIS Distanza di sicurezza (additiva rispetto al punto di riferimento, da indicare senza segno)4 Z1 _DP Altezza pezzo finito (ass/incr), vedere _AMODE5 X0 _PA Vertice 1 nel 1° asse (ass)6 Y0 _PO Vertice 2 nel 1° asse (ass)7 X1 _LENG Vertice 2 nel 1° asse (ass/incr), vedere _AMODE8 Y1 _WID Vertice 2 nel 2° asse (ass/incr), vedere _AMODE9 DZ _MID Incremento di penetrazione massimo10 DXY _MIDA Incremento massimo nel piano (unità, vedere _AMODE)11 UZ _FALD Sovrametallo di finitura in profondità12 F _FFP1 Avanzamento di lavorazione13 _VARI Tipo di lavorazione

UNITÀ: Lavorazione1 = sgrossatura2 = finitura

DECINE: Direzione di lavorazione1 = parallelamente al 1° asse, una direzione2 = parallelamente al 2° asse, una direzione3 = parallelamente al 1° asse, direzione variabile4 = parallelamente al 2° asse, direzione variabile

Page 764: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro764 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

14 _LIM DelimitazioniUNITÀ: delimitazione 1° asse meno

0 = no1 = sì

DECINE: delimitazione 1° asse più0 = no1 = sì

CENTINAIA: delimitazione 2 asse meno0 = no1 = sì

MIGLIAIA: delimitazione 2 asse più0 = no1 = sì

15 _DMODE Modo displayUNITÀ: piano di lavorazione G17/18/19

0 = compatibilità, resta attivo il piano attivo prima del richiamo del ciclo1 = G17 (attivo solo nel ciclo)2 = G18 (attivo solo nel ciclo)3 = G19 (attivo solo nel ciclo)

16 _AMODE Modo alternativoUNITÀ: Profondità finale (_DP)

0 = assoluta1 = incrementale

DECINE: Unità per incremento nel piano (_MIDA)0 = mm1 = % del diametro dell'utensile

CENTINAIA: riservatoMIGLIAIA: lunghezza della superficie

0 = incrementale1 = assoluta

DECINE DI MIGLIAIA: larghezza della superficie0 = incrementale1 = assoluta

N.Maschera param.

Param. interno Spiegazione

Page 765: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 765

16.1.15 Fresatura tasca rettangolare - POCKET3

Programmazione POCKET3(REAL _RTP, REAL _RFP, REAL _SDIS, REAL _DP, REAL _LENG, REAL _WID, REAL _CRAD, REAL _PA, REAL _PO, REAL _STA, REAL _MID, REAL _FAL, REAL _FALD, REAL _FFP1, REAL _FFD, INT _CDIR, INT _VARI, REAL _MIDA, REAL _AP1, REAL _AP2, REAL _AD, REAL _RAD1, REAL _DP1, INT _UMODE, REAL _FS, REAL _ZFS, INT _GMODE, INT _DMODE, INT _AMODE)

Parametri

N.Maschera param.

Param. interno Spiegazione

1 RP _RTP Piano di svincolo (ass)2 Z0 _RFP Punto di riferimento dell'asse utensile (ass)3 SC _SDIS Distanza di sicurezza (additiva rispetto al punto di riferimento, da indicare senza segno)4 Z1 _DP Profondità della tasca (ass/incr), vedere _AMODE)5 L _LENG Lunghezza della tasca (incr, da indicare con segno)6 W _WID Larghezza della tasca (incr, da indicare con segno)7 RP _CRAD Raggio angolare della tasca 8 X0 _PA Punto di riferimento, 1° asse (ass)9 YO _PO Punto di riferimento, 2° asse (ass)10 α0 _STA Angolo di rotazione, angolo tra asse della lunghezza (L) e 1° asse11 DZ _MID Incremento di penetrazione massimo12 UXY _FAL Sovrametallo di finitura sul piano13 UZ _FALD Sovrametallo di finitura in profondità14 F _FFP1 Avanzamento nel piano15 FZ _FFD Avanzamento per l'incremento in profondità16 _CDIR Direzione di fresatura:

0 = marcia concorde1 = marcia discorde

17 _VARI Tipo di lavorazioneUNITÀ:

1 = sgrossatura 2 = finitura4 = finitura parete laterale5 = smussatura

DECINE: 0 = preforato, incremento con G01 = perpendicolare, incremento con G12 = elicoidale3 = pendolamento sull'asse longitudinale della tasca

CENTINAIA: riservato

Page 766: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro766 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

18 DXY _MIDA Incremento massimo nel piano, unità, vedere _AMODE19 L1 _AP1 Lunghezza della prelavorazione (incr)20 W1 _AP2 Larghezza della prelavorazione (incr)21 AZ _AD Profondità della prelavorazione (incr)22 ER _RAD1 Raggio del percorso elicoidale nel tuffo elicoidale

EW Angolo di tuffo max. per movimento di pendolamento23 EP _DP1 Passo elicoidale nel tuffo elicoidale24 _UMODE riservato25 FS _FS Larghezza smusso (incr)26 ZFS _ZFS Profondità di penetrazione (punta dell'utensile) nella smussatura (ass/incr), vedere

_AMODE27 _GMODE Modalità geometrica

UNITÀ: riservatoDECINE: riservatoCENTINAIA: Selezione lavorazione/solo calcolo del punto di partenza

0 = modo di compatibilità 1 = lavorazione normale

MIGLIAIA: Quotazione su centro/spigolo 0 = modo di compatibilità1 = quotazione su centro2 = quotazione su vertice, posizione tasca +LENG/+WID3 = quotazione su vertice, posizione tasca -LENG/+WID4 = quotazione su vertice, posizione tasca +LENG/-WID5 = quotazione su vertice, posizione tasca -LENG/-WID

DECINE DI MIGLIAIA: Lavorazione completa/ripassatura0 = modo di compatibilità (eseguire _AP1, _AP2 e _AD come finora)1 = lavorazione completa2 = ripassatura

28 _DMODE Modo displayUNITÀ: piano di lavorazione G17/G18/G19

0 = compatibilità, resta attivo il piano attivo prima del richiamo del ciclo1 = G17 (attivo solo nel ciclo)2 = G18 (attivo solo nel ciclo)3 = G19 (attivo solo nel ciclo)

DECINE: Tipo di avanzamento: Gruppo G (G94/G95) per avanzamento superficiale e in profondità

0 = modo di compatibilità1 = codice G come prima del richiamo del ciclo. G94/G95 uguale per avanzamento superficiale e in profondità

N.Maschera param.

Param. interno Spiegazione

Page 767: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 767

29 _AMODE Modo alternativoUNITÀ: profondità della tasca (Z1)

0 = assoluta (modo di compatibilità)1 = incrementale

DECINE: unità per incremento nel piano (DXY)0 = mm1 = % del diametro dell'utensile

CENTINAIA: Profondità di penetrazione nella smussatura (ZFS)0 = assoluta1 = incrementale

N.Maschera param.

Param. interno Spiegazione

Page 768: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro768 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

16.1.16 Fresatura di una tasca circolare - POCKET4

Programmazione POCKET4(REAL _RTP, REAL _RFP, REAL _SDIS, REAL _DP, REAL _CDIAM, REAL _PA, REAL _PO, REAL _MID, REAL _FAL, REAL _FALD, REAL _FFP1, REAL _FFD, INT _CDIR, INT _VARI, REAL _MIDA, REAL _AP1, REAL _AD, REAL _RAD1, REAL _DP1, INT _UMODE, REAL _FS, REAL _ZFS, INT _GMODE, INT _DMODE, INT _AMODE)

Parametri

N.Maschera param.

Param. interno Spiegazione

1 RP _RTP Piano di svincolo (ass)2 Z0 _RFP Punto di riferimento dell'asse utensile (ass)3 SC _SDIS Distanza di sicurezza (additiva rispetto al punto di riferimento, da indicare senza segno)4 Z1 _DP Profondità della tasca (ass/incr), vedere _AMODE5 ∅ _DIAM Diametro della tasca o raggio della tasca, vedere _DMODE6 X0 _PA Punto di riferimento 1° asse (ass)7 Y0 _PO Punto di riferimento 2° asse (ass)8 DZ _MID Incremento di penetrazione massimo, vedere _VARI = modo piano

Incremento di penetrazione massimo, vedere _VARI = elicoidale

9 UXY _FAL Sovrametallo di finitura sul piano10 UZ _FALD Sovrametallo di finitura in profondità11 F _FFP1 Avanzamento per la lavorazione del piano 12 FZ _FFD Avanzamento per l'incremento in profondità13 _CDIR Direzione di fresatura

0 = marcia concorde1 = marcia discorde

14 _VARI Tipo di lavorazioneUNITÀ:

1 = sgrossatura 2 = finitura4 = finitura parete laterale5 = smussatura

DECINE: Tipo di incremento (sgrossatura e finitura)0 = preforato, incremento con G0 (la tasca è prelavorata)1 = perpendicolare, incremento con G12 = elicoidale

CENTINAIA: riservatoMIGLIAIA:

0 = modo piano1 = elicoidale

15 DXY _MIDA Incremento massimo nel piano, vedere _AMODE, 0 = 0,8 · diametro utensile

Page 769: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 769

16 ∅ _AP1 Diametro/raggio della prelavorazione (incr)17 AZ _AD Profondità della prelavorazione (incr)18 ER _RAD1 Raggio del percorso elicoidale nel tuffo elicoidale19 EP _DP1 Passo elicoidale nel tuffo su percorso elicoidale20 _UMODE riservato21 FS _FS Larghezza smusso (incr)22 ZFS _ZFS Profondità di penetrazione (punta dell'utensile) nella smussatura (ass/incr), vedere

_AMODE23 _GMODE Modalità geometrica

UNITÀ: riservatoDECINE: riservatoCENTINAIA: lavorazione/calcolo del punto di partenza

0 = modo di compatibilità1 = lavorazione normale

MIGLIAIA: riservato DECINE DI MIGLIAIA: lavorazione completa/ripassatura

0 = modo di compatibilità (eseguire _AP1 e _AD come finora)1 = lavorazione completa2 = ripassatura

24 _DMODE Modo displayUNITÀ: piano di lavorazione G17/18/19

0 = compatibilità, resta attivo il piano attivo prima del richiamo del ciclo1 = G17 (attivo solo nel ciclo)2 = G18 (attivo solo nel ciclo)3 = G19 (attivo solo nel ciclo)

DECINE: Tipo di avanzamento: Gruppo G (G94/G95) per avanzamento superficiale e in profondità

0 = modo di compatibilità1 = codice G come prima del richiamo del ciclo. G94/G95 uguale per avanzamento superficiale e in profondità

CENTINAIA:0 = modo di compatibilità (inserire _CDIAM/_AP1 come raggio)1 = inserire _CDIAM/_AP1 come raggio

25 _AMODE Modo alternativoUNITÀ: profondità della tasca (Z1)

0 = assoluta (modo di compatibilità)1 = incrementale

DECINE: unità per larghezza di incremento (DXY)0 = mm1 = % del diametro dell'utensile

CENTINAIA: Profondità di penetrazione nella smussatura (ZFS)0 = assoluta1 = incrementale

N.Maschera param.

Param. interno Spiegazione

Page 770: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro770 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

16.1.17 Fresatura di perni rettangolari - CYCLE76

Programmazione CYCLE76(REAL _RTP, REAL _RFP, REAL _SDIS, REAL _DP, REAL _DPR, REAL _LENG, REAL _WID, REAL _CRAD, REAL _PA, REAL _PO, REAL _STA, REAL _MID, REAL _FAL, REAL _FALD, REAL _FFP1, REAL _FFD, INT _CDIR, INT _VARI, REAL _AP1, REAL _AP2, REAL _FS, REAL _ZFS, INT _GMODE, INT _DMODE, INT _AMODE)

Parametri

N.Maschera param.

Param. interno Spiegazione

1 RP _RTP Piano di svincolo (ass)2 Z0 _RFP Punto di riferimento dell'asse utensile (ass)3 SC _SDIS Distanza di sicurezza (additiva rispetto al punto di riferimento, da indicare senza segno)4 Z1 _DP Profondità del perno (ass)5 _DPR Profondità del perno (incr), riferita a Z0 (da indicare senza segno)6 L _LENG Lunghezza del perno, vedere _GMODE (da indicare senza segno)7 W _WID Larghezza del perno, vedere _GMODE (da indicare senza segno)8 R _CRAD Raggio dell'angolo del perno (da indicare senza segno)9 X0 _PA Punto di riferimento perno, 1° asse del piano (ass)10 Y0 _PO Punto di riferimento perno, 2° asse del piano (ass)11 α0 _STA Angolo di rotazione, angolo tra asse della lunghezza (L) e 1° asse del piano12 DZ _MID Incremento di profondità massimo (incr, da indicare senza segno)13 UXY _FAL Sovrametallo di finitura nel piano (incr), sovrametallo sul profilo del bordo14 UZ _FALD Profondità sovrametallo di finitura (incr), sovrametallo sul fondo (da indicare senza segno)15 FX _FFP1 Avanzamento sul profilo16 FZ _FFD Avanzamento per l'incremento in profondità17 _CDIR Direzione di fresatura (da indicare senza segno)

UNITÀ:0 = marcia concorde1 = marcia discorde

18 _VARI LavorazioneUNITÀ:

1 = sgrossatura 2 = finitura5 = smussatura

19 L1 _AP1 Lunghezza del perno grezzo20 W1 _AP2 Larghezza del perno grezzo21 FS _FS Larghezza smusso (incr)

Page 771: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 771

22 ZFS _ZFS Profondità di penetrazione (punta dell'utensile) nella smussatura (ass, incr), vedere _AMODE

23 _GMODE Modalità per valutazione dei valori geometrici programmatiUNITÀ: riservatoDECINE: riservatoCENTINAIA: Selezione lavorazione o solo calcolo del punto di partenza

0 = modo di compatibilità1 = lavorazione normale

MIGLIAIA: Quotazione del perno su centro o spigolo0 = modo di compatibilità 1 = quotazione su centro2 = quotazione su vertice, perno +L +W3 = quotazione su vertice, perno -L +W4 = quotazione su vertice, perno +L -W5 = quotazione su vertice, perno -L -W

DECINE DI MIGLIAIA: lavorazione completa o ripassatura0 = modo di compatibilità1 = lavorazione completa2 = ripassatura

24 _DMODE Modo displayUNITÀ: piano di lavorazione G17/G18/G19

0 = compatibilità, resta attivo il piano attivo prima del richiamo del ciclo1 = G17 (attivo solo nel ciclo)2 = G18 (attivo solo nel ciclo)3 = G19 (attivo solo nel ciclo)

25 _AMODE Modo alternativo UNITÀ: profondità finale Z1 (ass/incr)

0 = compatibilità1 = Z1 (incr)2 = Z1 (ass)

DECINE: riservatoCENTINAIA: profondità di penetrazione nella smussatura ZFS

0 = ZFS (ass)1 = ZFS (incr)

N.Maschera param.

Param. interno Spiegazione

Page 772: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro772 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

16.1.18 Fresatura di perni circolari - CYCLE77

Programmazione CYCLE77(REAL _RTP, REAL _RFP, REAL _SDIS, REAL _DP, REAL _DPR, REAL _CDIAM, REAL _PA, REAL _PO, REAL _MID, REAL _FAL, REAL _FALD, REAL _FFP1, REAL _FFD, INT _CDIR, INT _VARI, REAL _AP1, REAL _FS, REAL _ZFS, INT _GMODE, INT _DMODE, INT _AMODE)

Parametri

N.Maschera param.

Param. interno Spiegazione

1 RP _RTP Piano di svincolo (ass)2 Z0 _RFP Punto di riferimento dell'asse utensile (ass)3 SC _SDIS Distanza di sicurezza (additiva rispetto al punto di riferimento, da indicare senza segno)4 Z1 _DP Profondità del perno (ass)5 _DPR Profondità del perno (incr), riferita a Z0 (da indicare senza segno)6 ∅ _CDIAM Diametro del perno (da indicare senza segno)7 X0 _PA Punto di riferimento perno, 1° asse del piano (ass)8 Y0 _PO Punto di riferimento perno, 2° asse del piano (ass)9 DZ _MID Incremento di profondità massimo (incr, da indicare senza segno)10 UXY _FAL Sovrametallo di finitura nel piano (incr), sovrametallo sul profilo del bordo11 UZ _FALD Profondità sovrametallo di finitura (incr), sovrametallo sul fondo (da indicare senza segno)12 FX _FFP1 Avanzamento sul profilo13 FZ _FFD Avanzamento per l'incremento in profondità14 _CDIR Direzione di fresatura (da indicare senza segno)

UNITÀ:0 = marcia concorde1 = marcia discorde

15 _VARI LavorazioneUNITÀ:

1 = sgrossatura fino a sovrametallo di finitura2 = finitura (sovrametallo X/Y/Z = 0)5 = smussatura

16 ∅ 1 _AP1 Diametro del perno grezzo17 FS _FS Larghezza smusso (incr)18 ZFS _ZFS Profondità di penetrazione (punta dell'utensile) nella smussatura (ass/incr), vedere

_AMODE

Page 773: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 773

19 _GMODE Modalità per valutazione dei valori geometrici programmatiUNITÀ: riservatoDECINE: riservatoCENTINAIA: selezione lavorazione/solo calcolo del punto di partenza

0 = modo di compatibilità1 = lavorazione normale

MIGLIAIA: riservatoDECINE DI MIGLIAIA: lavorazione completa/ripassatura

0 = modo di compatibilità (eseguire _AP1 come finora)1 = lavorazione completa2 = ripassatura

20 _DMODE Modo displayUNITÀ: piano di lavorazione G17/G18/G19

0 = compatibilità, resta attivo il piano attivo prima del richiamo del ciclo1 = G17 (attivo solo nel ciclo)2 = G18 (attivo solo nel ciclo)3 = G19 (attivo solo nel ciclo)

21 _AMODE Modo alternativo UNITÀ: profondità finale Z1 (ass/incr)

0 = compatibilità1 = Z1 (incr)2 = Z1 (ass)

DECINE: riservatoCENTINAIA: profondità di penetrazione nella smussatura ZFS

0 = ZFS (ass)1 = ZFS (incr)

N.Maschera param.

Param. interno Spiegazione

Page 774: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro774 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

16.1.19 Poligono - CYCLE79

Programmazione CYCLE79(REAL _RTP, REAL _RFP, REAL _SDIS, REAL _DP, INT _NUM, REAL _SWL, REAL _PA, REAL _PO, REAL _STA, REAL _RC, REAL _AP1, REAL _MIDA, REAL _MID, REAL _FAL, REAL _FALD, REAL _FFP1, INT _CDIR, INT _VARI, REAL _FS, REAL _ZFS, INT _GMODE, INT _DMODE, INT _AMODE)

Parametri

N.Maschera param.

Param. interno Spiegazione

1 RP _RTP Piano di svincolo (ass)2 Z0 _RFP Punto di riferimento dell'asse utensile (ass)3 SC _SDIS Distanza di sicurezza (additiva rispetto al punto di riferimento, da indicare senza segno)4 Z1 _DP Profondità poligonale (ass/incr), vedere _AMODE5 N _NUM Numero degli spigoli (1...n)6 SW/L _SWL Apertura di chiave o lunghezza spigolo (a seconda di _VARI)

("SW" per apertura di chiave, "L" per lunghezza spigolo) Apertura di chiave solo per numero pari di spigoli e spigolo unico

7 X0 _PA Punto di riferimento perno, 1° asse (ass)8 Y0 _PO Punto di riferimento perno, 2° asse (ass)9 α0 _STA Angolo di rotazione del centro spigolo rispetto al 1° asse (asse X)10 R1/FS1 _RC Raccordo dello spigolo con _NUM > 2 (raggio/smusso, vedere _AMODE) (incr, da indicare

senza segno)("R1" per raggio, "FS1" per smusso)

11 ∅ _AP1 Diametro grezzo del perno 12 DXY _MIDA Larghezza di incremento massima (unità, vedere _AMODE)13 DZ _MID Incremento di penetrazione massimo 14 UXY _FAL Sovrametallo di finitura sul piano 15 UZ _FALD Sovrametallo di finitura in profondità 16 F _FFP1 Avanzamento di lavorazione17 _CDIR Direzione di fresatura

0 = marcia concorde1 = marcia discorde

Page 775: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 775

18 _VARI Tipo di lavorazioneUNITÀ: Lavorazione

1 = sgrossatura 2 = finitura 3 = finitura parete laterale5 = smussatura

DECINE: Apertura di chiave o lunghezza spigolo0 = apertura di chiave1 = lunghezza spigolo

19 FS _FS Larghezza smusso (incr)20 ZFS _ZFS Profondità di penetrazione (punta dell'utensile) nella smussatura (ass/incr), vedere

_AMODE)21 _GMODE Modalità geometrica

UNITÀ: riservatoDECINE: riservatoCENTINAIA: lavorazione/calcolo del punto di partenza

1 = lavorazione normale22 _DMODE Modo display

UNITÀ: piano di lavorazione G17/G18/G190 = compatibilità, resta attivo il piano attivo prima del richiamo del ciclo1 = G17 (attivo solo nel ciclo)2 = G18 (attivo solo nel ciclo)3 = G19 (attivo solo nel ciclo)

23 _AMODE Modo alternativo UNITÀ: Profondità finale (_DP)

0 = assoluto1 = incrementale

DECINE: Unità per incremento nel piano (_MIDA)0 = mm1 = % del diametro dell'utensile

CENTINAIA: profondità di penetrazione nella smussatura (_ZFS)0 = assoluto1 = incrementale

MIGLIAIA: Raccordo dello spigolo (_RC)0 = raggio1 = smusso

N.Maschera param.

Param. interno Spiegazione

Page 776: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro776 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

16.1.20 Cava longitudinale - SLOT1

Programmazione SLOT1 (REAL RTP, REAL RFP, REAL SDIS, REAL _DP, REAL _DPR, INT NUM, REAL LENG, REAL WID, REAL _CPA, REAL _CPO, REAL RAD, REAL STA1, REAL INDA, REAL FFD, REAL FFP1, REAL _MID, INT CDIR, REAL _FAL, INT VARI, REAL _MIDF, REAL FFP2, REAL SSF, REAL _FALD, REAL _STA2, REAL _DP1, INT _UMODE, REAL _FS, REAL _ZFS, INT _GMODE, INT _DMODE, INT _AMODE)

Parametri

N.Maschera param.

Param. interno Spiegazione

1 RP RTP Piano di svincolo (ass)2 Z0 RFP Punto di riferimento dell'asse utensile (ass)3 SC SDIS Distanza di sicurezza (additiva rispetto al punto di riferimento, da indicare senza segno)4 Z1 _DP Profondità della cava (ass)5 _DPR Profondità della cava (incr), riferita a Z0 (da indicare senza segno)6 NUM Numero di cave = 17 L LENG Lunghezza della cava8 W WID Larghezza della cava9 X0 _CPA Punto di riferimento, 1° asse del piano10 Y0 _CPO Punto di riferimento, 2° asse del piano11 _RAD riservato 12 α STA1 Angolo di rotazione13 INDA riservato 14 FZ FFD Avanzamento per l'incremento in profondità15 F FFP1 Avanzamento16 DZ _MID Incremento di penetrazione massimo17 CDIR Direzione di fresatura

0 = marcia concorde1 = marcia discorde

18 UXY _FAL Sovrametallo di finitura nel piano o nel bordo della cava

Page 777: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 777

19 VARI Tipo di lavorazioneUNITÀ:

0 = riservato1 = sgrossatura2 = finitura4 = finitura del bordo (solo lavorazione del bordo)5 = smussatura

DECINE: accostamento0 = preforato, incremento con G0 (la cava è prelavorata)1 = perpendicolare, incremento con G12 = elicoidale3 = con pendolamenti

CENTINAIA: riservato20 DZF MIDF riservato21 FF FFP2 riservato22 SF SSF riservato23 UZ _FALD Sovrametallo di finitura in profondità24 ER _STA2 Raggio del percorso elicoidale nel tuffo elicoidale

EW Angolo di tuffo max. per movimento di pendolamento25 EP _DP1 Profondità di penetrazione per giro in elicoide26 _UMODE riservato27 FS _FS Larghezza dello smusso (incr) per smussatura28 ZFS _ZFS Profondità di penetrazione (punta dell'utensile) nella smussatura (ass/incr), vedere

_AMODE)29 _GMODE Modalità geometrica

UNITÀ: riservatoDECINE: riservatoCENTINAIA: Selezione lavorazione o solo calcolo del punto di partenza

1 = lavorazione normaleMIGLIAIA: Quotazione punto di riferimento, posizione della cava

0 = centro1 = a sinistra nell'interno +L2 = a destra nell'interno -L3 = bordo sinistro +L4 = bordo destro -L

N.Maschera param.

Param. interno Spiegazione

Page 778: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro778 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

30 _DMODE Modo displayUNITÀ: piano di lavorazione G17/18/19

0 = compatibilità, resta attivo il piano attivo prima del richiamo del ciclo1 = G17 (attivo solo nel ciclo)2 = G18 (attivo solo nel ciclo)3 = G19 (attivo solo nel ciclo)

DECINE: riservatoCENTINAIA: riservatoMIGLIAIA: Identificativo versione SW

1 = ampliamento delle funzioni SLOT131 _AMODE Modo alternativo

UNITÀ: profondità finale Z1 (ass/incr)0 = compatibilità1 = Z1 (incr)2 = Z1 (ass)

DECINE: riservatoCENTINAIA: profondità di penetrazione nella smussatura ZFS

0 = ZFS (ass)1 = ZFS (incr)

N.Maschera param.

Param. interno Spiegazione

NotaIl ciclo è dotato di nuove funzioni rispetto alle versioni SW precedenti. Ciò implica che determinati parametri non sono più visualizzati nella maschera di immissione (NUM, RAD, INDA). Più cave su una matrice di posizioni possono essere programmate tramite "MCALL" e richiamo della matrice di posizioni desiderata, ad es. HOLES2.

Page 779: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 779

16.1.21 Cava circolare - SLOT2

Programmazione

SLOT2(REAL RTP, REAL RFP, REAL SDIS, REAL _DP, REAL _DPR, INT NUM, REAL AFSL, REAL WID, REAL _CPA, REAL _CPO, REAL RAD, REAL STA1, REAL INDA, REAL FFD, REAL FFP1, REAL _MID, INT CDIR, REAL _FAL, INT VARI, REAL _MIDF, REAL FFP2, REAL SSF, REAL _FFCP, INT _UMODE, REAL _FS, REAL _ZFS, INT _GMODE, INT _DMODE, INT _AMODE)

Parametri

N. Maschera param.

Param. interno Spiegazione

1 RP RTP Piano di svincolo (ass)2 Z0 RFP Punto di riferimento dell'asse utensile (ass)3 SC SDIS Distanza di sicurezza (additiva rispetto al punto di riferimento, da indicare senza segno)4 Z1 _DP Profondità della cava (ass)5 _DPR Profondità della cava (incr), riferita a Z0 (da indicare senza segno)6 N NUM Numero delle cave7 α1 AFSL Angolo di apertura della cava8 W WID Larghezza della cava9 X0 _CPA Punto di riferimento = centro della circonferenza, 1º asse del piano10 Y0 _CPO Punto di riferimento = centro della circonferenza, 2º asse del piano11 R RAD Raggio del cerchio12 α0 STA1 Angolo iniziale13 α2 INDA Angolo di incremento14 FZ FFD Avanzamento per l'incremento in profondità15 F FFP1 Avanzamento16 DZ _MID Incremento di penetrazione massimo17 CDIR Direzione di fresatura

0 = marcia concorde1 = marcia discorde

18 UXY _FAL Sovrametallo di finitura nel piano o nel bordo della cava

Page 780: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro780 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

19 VARI Tipo di lavorazioneUNITÀ:

0 = lavorazione completa1 = sgrossatura2 = finitura3 = finitura parete laterale5 = smussatura

DECINE:0 = posizionamento intermedio con retta G01 = posizionamento intermedio su percorso circolare

CENTINAIA: riservatoMIGLIAIA:

0 = modo di compatibilità, quando INDA = 0 cerchio completo, quando INDA <> 0 cerchio parziale)1 = cerchio completo2 = cerchio parziale

20 DZF _MIDF riservato21 FFP2 riservato22 SSF riservato23 FF _FFCP riservato24 _UMODE riservato25 FS _FS Larghezza smusso (incr)26 ZFS _ZFS Profondità di penetrazione (punta dell'utensile) nella smussatura (ass/incr), vedere

_AMODE)27 _GMODE Modalità geometrica

UNITÀ: riservatoDECINE: riservatoCENTINAIA: Selezione lavorazione o solo calcolo del punto di partenza

0 = modo di compatibilità1 = lavorazione normale

N. Maschera param.

Param. interno Spiegazione

Page 781: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 781

28 _DMODE Modo displayUNITÀ: piano di lavorazione G17/18/19

0 = compatibilità, resta attivo il piano attivo prima del richiamo del ciclo1 = G17 (attivo solo nel ciclo)2 = G18 (attivo solo nel ciclo)3 = G19 (attivo solo nel ciclo)

DECINE: riservatoCENTINAIA: riservatoMIGLIAIA: Identificativo versione SW

1 = funzioni SLOT2 a partire da SW 2.529 _AMODE Modo alternativo

UNITÀ: profondità finale Z1 (ass/incr)0 = compatibilità1 = Z1 (incr)2 = Z1 (ass)

DECINE: riservatoCENTINAIA: profondità di penetrazione nella smussatura ZFS

0 = ZFS (ass)1 = ZFS (incr)

N. Maschera param.

Param. interno Spiegazione

Page 782: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro782 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

16.1.22 Fresatura di cava aperta - CYCLE899

Programmazione CYCLE899(REAL _RTP, REAL _RFP, REAL _SDIS, REAL _DP, REAL _LENG, REAL _WID, REAL _PA, REAL _PO, REAL _STA, REAL _MID, REAL _MIDA, REAL _FAL, REAL _FALD, REAL _FFP1, INT _CDIR, INT _VARI, INT _GMODE, INT _DMODE, INT _AMODE, INT _UMODE, REAL _FS, REAL _ZFS)

Parametri

N.Maschera param.

Param. interno Spiegazione

1 RP _RTP Piano di svincolo (ass)2 Z0 _RFP Punto di riferimento dell'asse utensile (ass)3 SC _SDIS Distanza di sicurezza (additiva rispetto al punto di riferimento, da indicare senza segno)4 Z1 _DP Profondità della cava (ass/incr), vedere _AMODE5 L _LENG Lunghezza della cava (incr)6 W _WID Larghezza della cava (incr)7 X0 _PA Punto di riferimento/posizione di partenza 1° asse (ass)8 Y0 _PO Punto di riferimento/posizione di partenza 2° asse (ass)9 α0 _STA Angolo di rotazione rispetto al 1° asse10 DZ _MID Profondità di incremento massima (incr.), solo per fresatura trocoidale11 DXY _MIDA Incremento massimo nel piano, vedere _AMODE12 UXY _FAL Sovrametallo di finitura sul piano 13 UZ _FALD Sovrametallo di finitura in profondità 14 F _FFP1 Avanzamento 15 _CDIR Direzione di fresatura

UNITÀ:0 = marcia concorde1 = marcia discorde4 = alternativamente

Page 783: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 783

16 _VARI LavorazioneUNITÀ:

1 = sgrossatura2 = finitura3 = finitura del fondo4 = finitura parete laterale5 = pre-finitura6 = smussatura

DECINE: riservatoCENTINAIA: riservatoMIGLIAIA:

1 = fresatura trocoidale2 = fresatura a tuffo

17 _GMODE Valutazione dei valori geometriciUNITÀ: riservatoDECINE: riservatoCENTINAIA: selezione lavorazione/solo calcolo del punto di partenza

1 = lavorazione normaleMIGLIAIA: Quotazione su centro/spigolo

0 = quotazione su centro1 = quotazione su spigolo "a sinistra" (direzione "-" del 1° asse) 2 = quotazione su spigolo "a destra" (direzione "+" del 1° asse)

18 _DMODE Modo displayUNITÀ: piano di lavorazione G17/G18/G19

0 = compatibilità, resta attivo il piano attivo prima del richiamo del ciclo1 = G17 (attivo solo nel ciclo)2 = G18 (attivo solo nel ciclo)3 = G19 (attivo solo nel ciclo)

19 _AMODE Modo alternativo UNITÀ: profondità della cava Z1

0 = assoluto 1 = incrementale

DECINE: unità per incremento nel piano (_MIDA) DXY0 = mm1 = % del diametro dell'utensile

CENTINAIA: profondità di penetrazione nella smussatura ZFS0 = assoluto1 = incrementale

20 _UMODE riservato21 FS _FS Larghezza smusso (incr)22 ZFS _ZFS Profondità di penetrazione (punta dell'utensile) nella smussatura (ass/incr), vedere

_AMODE)

N.Maschera param.

Param. interno Spiegazione

Page 784: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro784 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

16.1.23 Asola - LONGHOLE

Programmazione LONGHOLE(REAL RTP,REAL RFP,REAL SDIS,REAL _DP,REAL _DPR,INT NUM,REAL LENG,REAL _CPA,REAL _CPO,REAL RAD,REAL STA1,REAL INDA,REAL FFD,REAL FFP1,REAL MID,INT _VARI,INT _UMODE,INT _GMODE,INT _DMODE,INT _AMODE)

Parametri

N.Maschera param.

Parametrointerno

Spiegazione

1 RP RTP Piano di svincolo (ass)2 Z0 _RFP Punto di riferimento dell'asse utensile (ass)3 SC SDIS Distanza di sicurezza (additiva rispetto al punto di riferimento, da indicare senza segno)4 Z1 _DP Profondità dell'asola (ass)5 _DPR Profondità dell'asola (incr), riferita a Z0 (da indicare senza segno)6 NUM Numero di asole = 17 L LENG Lunghezza dell'asola8 X0 _CPA Punto di riferimento, 1° asse del piano9 Y0 _CPO Punto di riferimento, 2° asse del piano10 RAD riservato11 α0 STA1 Angolo di rotazione12 INDA riservato 13 FZ FFD Avanzamento per l'incremento in profondità14 F FFP1 Avanzamento15 DZ MID Incremento di penetrazione massimo16 _VARI Tipo di lavorazione

UNITÀ: Tipo di incremento1 = perpendicolare con G13 = con pendolamenti

CENTINAIA: riservato17 _UMODE riservato

Page 785: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 785

18 _GMODE Modalità geometricaUNITÀ: riservatoDECINE: riservatoCENTINAIA selezione lavorazione o solo calcolo del punto di partenza

0 = modo di compatibilità1 = lavorazione normale

MIGLIAIA: Quotazione punto di riferimento, posizione della cava0 = centro1 = a sinistra nell'interno +L2 = a destra nell'interno -L3 = bordo sinistro +L4 = bordo destro -L

19 _DMODE Modo display UNITÀ: piano di lavorazione G17/18/19

0 = compatibilità, resta attivo il piano attivo prima del richiamo del ciclo1 = G17 (attivo solo nel ciclo)2 = G18 (attivo solo nel ciclo)3 = G19 (attivo solo nel ciclo)

DECINE: tipo di avanzamento: Gruppo G (G94/G95) per avanzamento superficiale e in profondità

0 = modo di compatibilità1 = codice G come prima del richiamo del ciclo. G94/G95 uguale per avanzamento superficiale e in profondità

CENTINAIA: riservatoMIGLIAIA: Identificativo versione SW

1 = ampliamento delle funzioni LONGHOLE (quotazione punto di riferimento)20 _AMODE Modo alternativo

UNITÀ: profondità finale Z1 (ass/incr)0 = compatibilità1 = Z1 (incr)2 = Z1 (ass)

N.Maschera param.

Parametrointerno

Spiegazione

NotaIl ciclo è dotato di nuove funzioni rispetto alle versioni SW precedenti. Ciò implica che determinati parametri non sono più visualizzati nella maschera di immissione (NUM, RAD, INDA). Più cave su una matrice di posizioni possono essere programmate tramite "MCALL" e richiamo della matrice di posizioni desiderata, ad es. HOLES2.

Page 786: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro786 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

16.1.24 Filettatura con fresa - CYCLE70

Programmazione CYCLE70(REAL _RTP, REAL _RFP, REAL _SDIS, REAL _DP, REAL _DIATH, REAL _H1, REAL _FAL, REAL _PIT, INT _NT, REAL _MID, REAL _FFR, INT _TYPTH, REAL _PA, REAL _PO, REAL _NSP, INT _VARI, INT _PITA, STRING[15] _PITM, STRING[20] _PTAB, STRING[20] _PTABA, INT _GMODE, INT _DMODE, INT _AMODE)

Parametri

N.Maschera param.

Param. interno Spiegazione

1 RP _RTP Piano di svincolo (ass)2 Z0 _RFP Punto di riferimento dell'asse utensile (ass)3 SC _SDIS Distanza di sicurezza (additiva rispetto al punto di riferimento, da indicare senza segno)4 Z1 _DP Lunghezza del filetto (ass/incr), vedere _AMODE

Tenere conto dello svincolo sul fondo del foro (minimo mezzo passo)5 ∅ _DIATH Diametro nominale del filetto6 H1 _H1 Profondità del filetto7 U _FAL Sovrametallo di finitura8 P _PIT Passo del filetto (selezione _PITA: mm, pollici, MODULO, principi/pollice)9 NT _NT Numero di denti sulla piastra di taglio

Lunghezza utensile sempre riferita al dente inferiore!10 DXY _MID Incremento massimo per ogni taglio

_MID > _H1: tutto con un taglio11 F _FFR Avanzamento di fresatura12 _TYPTH Tipo di filetto

0 = filetto interno1 = filetto esterno

13 X0 _PA Centro del cerchio, 1° asse (ass)14 Y0 _PO Centro del cerchio, 2° asse (ass)15 αS _NSP Angolo di partenza filetto a più principi

Page 787: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 787

16 _VARI Tipo di lavorazioneUNITÀ:

1 = sgrossatura 2 = finitura

DECINE:1 = lavorazione dall'alto verso il basso2 = lavorazione dal basso verso l'alto

CENTINAIA:0 = filettatura destrorsa1 = filettatura sinistrorsa

17 _PITA Valutazione del passo del filetto0 = modo di compatibilità1 = passo in mm2 = passo in principi per pollice (TPI)3 = passo in pollici4 = passo come MODULO

18 _PITM Stringa come merker per impostazione del passo del filetto (solo per la superficie)19 _RTAB Stringa per tabella dei filetti ("", "ISO", "BSW", "BSP", "UNC") (solo per la superficie)20 _PTABA Stringa per selezione nella tabella dei filetti (ad es. "M 10", "M 12", ...) (solo per la

superficie)21 _GMODE Modalità geometrica

UNITÀ: riservatoDECINE: riservatoCENTINAIA: lavorazione/calcolo del punto di partenza

0 = modo di compatibilità1 = lavorazione normale

22 _DMODE Modo displayUNITÀ: piano di lavorazione G17/18/19

0 = compatibilità, resta attivo il piano attivo prima del richiamo del ciclo1 = G17 (attivo solo nel ciclo)2 = G18 (attivo solo nel ciclo)3 = G19 (attivo solo nel ciclo)

23 _AMODE Modo alternativoUNITÀ: Lunghezza del filetto (_DP)

0 = assoluto1 = incrementale

N.Maschera param.

Param. interno Spiegazione

Page 788: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro788 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

16.1.25 Ciclo di incisione - CYCLE60

Programmazione CYCLE60(STRING[200] _TEXT, REAL _RTP, REAL _RFP, REAL _SDIS, REAL _DP, REAL _DPR, REAL _PA, REAL _PO, REAL _STA, REAL _CP1, REAL _CP2, REAL _WID, REAL _DF, REAL _FFD, REAL _FFP1, INT _VARI, INT _CODEP, INT _UMODE, INT _GMODE, INT _DMODE, INT _AMODE)

Parametri

N.Maschera param.

Param. interno Spiegazione

1 _TEXT Testo da incidere (al massimo 100 caratteri)2 RP _RTP Piano di svincolo (ass)3 Z0 _RFP Punto di riferimento dell'asse utensile (ass)4 SC _SDIS Distanza di sicurezza (addizionale rispetto al piano di riferimento, senza segno)5 Z1 _DP Profondità (ass), vedere _AMODE6 Z1 _DPR Profondità (incr), vedere _AMODE7 X0 _PA Punto di riferimento, 1° asse del piano (ass) - ortogonale, vedere _VARI

R Punto di riferimento, lunghezza (raggio) - polare, vedere _VARI8 Y0 _PO Punto di riferimento, 2° asse del piano (ass) - ortogonale, vedere _VARI

α0 Punto di riferimento, angolo riferito al 1° asse - polare, vedere _VARI 9 α1 _STA Direzione del testo, angolo della riga di testo riferito al 1° asse), vedere _VARI 10 XM _CP1 Centro del cerchio di testo, 1° asse del piano (ass) - ortogonale, vedere _VARI

LM Centro del cerchio di testo, lunghezza (raggio) riferita a WNP - polare, vedere _VARI 11 YM _CP2 : Centro del cerchio di testo, 2° asse del piano (ass) - ortogonale, vedere _VARI

αM Centro del cerchio di testo, angolo riferito al 1° asse - polare, vedere _VARI12 W _WID Altezza caratteri (da indicare senza segno)13 DX1

DX2

_DF Distanza caratteri / larghezza totale, vedere _VARI

α2 Angolo di apertura, vedere _VARI14 FZ _FFD Avanzamento di incremento profondità, vedere _DMODE 15 F _FFP1 Avanzamento per la lavorazione del piano

Page 789: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 789

16 _VARI Lavorazione (allineamento e punto di riferimento del testo dell'incisione))UNITÀ: Punto di riferimento

0: ortogonale1: polare

DECINE: Allineamento del testo 0: testo su una linea1: testo su un arco di cerchio in alto2: testo su un arco di cerchio in basso

CENTINAIA: riservatoMIGLIAIA: : punto di riferimento del testo orizzontale

0: a sinistra1: al centro2: a destra

DECINE DI MIGLIAIA: punto di riferimento del testo verticale 0: in basso1: al centro2: in alto

CENTINAIA DI MIGLIAIA: lunghezza del testo 0: distanza dei caratteri1: larghezza complessiva del testo (solo per testo lineare)2: angolo di apertura (solo per testo su un arco di cerchio)

MILIONE: centro del cerchio 0: ortogonale (cartesiano)1: polare

DIECIMILIONI: Scrittura a specchio0 = compatibilità 1 = scrittura a specchio ON 2 = scrittura a specchio OFF

17 _CODEP Numero della pagina di codice per la scritta (attualmente solo 1252)18 _UMODE riservato19 _GMODE Modalità per valutazione dei valori geometrici programmati

UNITÀ: riservatoDECINE: riservatoCENTINAIA: selezione lavorazione/solo calcolo del punto di partenza

0 = modo di compatibilità1 = lavorazione normale

N.Maschera param.

Param. interno Spiegazione

Page 790: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro790 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

20 _DMODE Modo displayUNITÀ: piano di lavorazione G17/18/19

0 = compatibilità, resta attivo il piano attivo prima del richiamo del ciclo1 = G172 = G183 = G19

DECINE: tipo di avanzamento: Gruppo G (G94/G95) per avanzamento superficiale e in profondità

0 = modo di compatibilità1 = codice G come prima del richiamo del ciclo. G94/G95 uguale per avanzamento superficiale e in profondità

21 _AMODE Modo alternativoUNITÀ: profondità finale (_DP,_DPR)

0 = compatibilità1 = incrementale (_DPR)2 = assoluta (_DP)

N.Maschera param.

Param. interno Spiegazione

Page 791: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 791

16.1.26 Richiamo profilo - CYCLE62

Programmazione CYCLE62(STRING[140] _KNAME, INT _TYPE, STRING[32] _LAB1, STRING[32] _LAB2)

Parametri

N.Maschera param.

Param. interno Spiegazione

1 PRG/CON

_KNAME Nome del profilo o nome del sottoprogramma, non deve essere programmato con _TYPE = 2

2 _TYPE Definizione dell'impostazione del profilo0 = sottoprogramma1 = nome del profilo 2 = etichette 3 = etichette nel sottoprogramma

3 LAB1 _LAB1 Etichetta 1, inizio del profilo4 LAB2 _LAB2 Etichetta 2, fine del profilo

Page 792: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro792 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

16.1.27 Fresatura continua - CYCLE72

Programmazione CYCLE72(STRING[141] _KNAME, REAL _RTP, REAL _RFP, REAL _SDIS, REAL _DP, REAL _MID, REAL _FAL, REAL _FALD, REAL _FFP1, REAL _FFD, INT _VARI, INT _RL, INT _AS1, REAL __LP1, REAL _FF3, INT _AS2, REAL _LP2, INT _UMODE, REAL _FS, REAL _ZFS, INT _GMODE, INT _DMODE, INT _AMODE)

Parametri

N.Maschera param.

Param. interno Spiegazione

1 _KNAME Nome del sottoprogramma del profilo2 RP _RTP Piano di svincolo (ass)3 Z0 _RFP Punto di riferimento dell'asse utensile (ass)4 SC _SDIS Distanza di sicurezza (additiva rispetto al punto di riferimento, da indicare senza segno)5 Z1 _DP Punto finale, profondità finale (ass/incr), vedere _AMODE6 DZ _MID Incremento di profondità massimo (incr, da indicare senza segno)7 UXY _FAL Sovrametallo di finitura nel piano (incr), sovrametallo sul profilo del bordo8 UZ _FALD Profondità sovrametallo di finitura (incr), sovrametallo sul fondo (da indicare senza segno)9 FX _FFP1 Avanzamento sul profilo10 FZ _FFD Avanzamento per l'incremento di penetrazione (o incremento spaziale)11 _VARI Tipo di lavorazione

UNITÀ: Lavorazione1 = sgrossatura 2 = finitura5 = smussatura

DECINE:0 = percorsi intermedi con G01 = percorsi intermedi con G1

CENTINAIA:0 = svincolo alla fine del profilo fino al punto di riferimento1 = svincolo alla fine del profilo fino al punto di riferimento +_SDIS2 = svincolo alla fine del profilo intorno a _SDIS3 = nessuno svincolo alla fine del profilo, il punto di partenza successivo viene accostato con avanzamento del profilo

MIGLIAIA: riservatoDECINE DI MIGLIAIA:

0 = lavorazione del profilo in avanti1 = lavorazione del profilo indietroLimitazioni per lavorazione indietro:• max. 170 elementi del profilo (inclusi smussi o arrotondamenti)• vengono valutati solo i valori nel piano (X/Y) e F

Page 793: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 793

12 _RL Direzione di lavorazione40 = al centro del profilo (G40, accostamento e svincolo: retta o perpendicolare)41 = a sinistra del profilo (G41, accostamento e svincolo: retta o cerchio)42 = a destra del profilo (G42, accostamento e svincolo: retta o cerchio)

13 _AS1 Movimento di accostamento al profiloUNITÀ:

1 = retta2 = quarto di cerchio3 = semicerchio4 = accostamento e svincolo morbido

DECINE:0 = ultimo movimento, nel piano1 = ultimo movimento, nello spazio

14 L1 _LP1 Percorso di accostamento, o raggio di accostamento (incr, da indicare senza segno)15 FZ _FF3 Avanzamento per percorsi intermedi (G94/G95 come sul profilo)16 _AS2 Movimento di svincolo dal profilo (solo per accostamento/svincolo perpendicolare)

UNITÀ:1 = retta2 = quarto di cerchio3 = semicerchio

DECINE:0 = ultimo movimento, nel piano1 = ultimo movimento, nello spazio

17 L2 _LP2 Percorso di svincolo, o raggio di svincolo (incr, da indicare senza segno)18 _UMODE riservato19 FS _FS Larghezza smusso (incr)20 ZFS _ZFS Profondità di penetrazione (punta dell'utensile) nella smussatura (ass/incr), vedere

_AMODE21 _GMODE Modalità per valutazione dei valori geometrici programmati

UNITÀ: riservatoDECINE: riservatoCENTINAIA: selezione lavorazione/solo calcolo del punto di partenza

0 = modo di compatibilità1 = lavorazione normale

N.Maschera param.

Param. interno Spiegazione

Page 794: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro794 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

22 _DMODE Modo displayUNITÀ: piano di lavorazione G17/G18/G19

0 = compatibilità, resta attivo il piano attivo prima del richiamo del ciclo1 = G17 (attivo solo nel ciclo)2 = G18 (attivo solo nel ciclo)3 = G19 (attivo solo nel ciclo)

DECINE: tipo di avanzamento: Gruppo G (G94/G95) per avanzamento superficiale e in profondità

0 = modo di compatibilità1 = codice G come prima del richiamo del ciclo. G94/G95 uguale per avanzamento superficiale e in profondità

MIGLIAIA:0 = modo di compatibilità: Il nome del profilo si trova in _KNAME1 = il nome del profilo viene programmato in CYCLE62 e trasferito in _SC_CONT_NAME

23 _AMODE Modo alternativo UNITÀ: punto finale Z1 (_DP)

0 = assoluto (modo di compatibilità)1 = incrementale

DECINE: unità per incremento nel piano 0 = mm, pollici1 = riservato

CENTINAIA: profondità di penetrazione nella smussatura (_ZFS)0 = assoluto1 = incrementale

N.Maschera param.

Param. interno Spiegazione

NotaSe i seguenti parametri di trasferimento sono programmati in modo indiretto (come parametri), la maschera di immissione non viene ricompilata:_VARI, _RL, _AS1, _AS2, _UMODE, _GMODE, _DMODE. _AMODE

Page 795: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 795

16.1.28 Preforatura profilo della tasca - CYCLE64

Programmazione CYCLE64(STRING[100] _PRG, INT _VARI, REAL _RP, REAL _Z0, REAL _SC, REAL _Z1, REAL _F, REAL _DXY, REAL _UXY, REAL _UZ, INT _CDIR, STRING[20] _TR, INT _DR, INT _UMODE, INT _GMODE, INT _DMODE, INT _AMODE)

Parametri

N.Maschera param.

Param. interno Spiegazione

1 PRG _PRG Nome programma di foratura/centratura2 _VARI Tipo di lavorazione

UNITÀ: riservatoDECINE: riservatoCENTINAIA: riservatoMIGLIAIA: modo di distacco

0 = distacco su piano di svincolo1 = distacco su punto di riferimento + distanza di sicurezza

3 RP _RP Piano di svincolo (ass)4 Z0 _Z0 Punto di riferimento (ass)5 SC _SC Distanza di sicurezza (additiva rispetto al punto di riferimento, da indicare senza segno)6 Z1 _Z1 Profondità di foratura/centratura, (vedere _AMODE UNITÀ)7 F _F Avanzamento foratura /centratura8 DXY _DXY Incremento sul piano - unità, (vedere AMODE DECINE)9 UXY _UXY Sovrametallo di finitura sul piano10 UZ _UZ Sovrametallo di finitura in profondità11 _CDIR Direzione di fresatura

0 = marcia concorde1 = marcia discorde

12 TR _TR Nome dell'utensile di riferimento 13 DR _DR Utensile di riferimento numero D 14 _UMODE riservato15 _GMODE Modalità per valutazione dei valori geometrici programmati

UNITÀ: riservatoDECINE: riservatoCENTINAIA: selezione lavorazione/solo calcolo del punto di partenza

0 = lavorazione normale (modo di compatibilità non necessario)1 = lavorazione normale 2 = riservato

Page 796: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro796 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

25 _DMODE Modo displayUNITÀ: piano di lavorazione G17/18/19

0 = compatibilità, resta attivo il piano attivo prima del richiamo del ciclo1 = G17 (attivo solo nel ciclo)2 = G18 (attivo solo nel ciclo)3 = G19 (attivo solo nel ciclo)

DECINE: modalità tecnologica)1 = preforatura2 = centratura

26 _AMODE Modo alternativoUNITÀ: profondità di foratura/centratura Z1

0 = assoluto (modo di compatibilità)1 = incrementale

DECINE: : unità per incremento nel piano (_DXY)0 = mm1 = % del diametro dell'utensile

N.Maschera param.

Param. interno Spiegazione

Page 797: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 797

16.1.29 Fresatura profilo della tasca - CYCLE63

Programmazione CYCLE63(STRING[100] _PRG, INT _VARI, REAL _RP, REAL _Z0, REAL _SC, REAL _Z1, REAL _F, REAL _FZ, REAL _DXY, REAL _DZ, REAL _UXY, REAL _UZ, INT _CDIR, REAL _XS, REAL _YS, REAL _ER, REAL _EP, REAL _EW, REAL _FS, REAL _ZFS, STRING[20] _TR, INT _DR, INT _UMODE, INT _GMODE, INT _DMODE, INT _AMODE)

Parametri

N.Maschera param.

Param. interno Spiegazione

1 PRG _PRG Nome programma di brocciatura2 _VARI Tipo di lavorazione

UNITÀ: lavorazione tecnologica1 = sgrossatura3 = finitura del fondo4 = finitura parete laterale5 = smussatura

DECINE: tipo di incremento0 = penetrazione centrale1 = penetrazione elicoidale2 = penetrazione con pendolamenti

CENTINAIA: riservatoMIGLIAIA: modo di distacco

0 = distacco su piano di svincolo1 = distacco su punto di riferimento + distanza di sicurezza

DECINE DI MIGLIAIA: punto di partenza per sgrossatura e finitura del fondo0 = automatico1 = manuale

3 RP _RP Piano di svincolo (ass)4 Z0 _Z0 Punto di riferimento dell'asse utensile (ass)5 SC _SC Distanza di sicurezza (additiva rispetto al punto di riferimento, da indicare senza segno)6 Z1 _Z1 Profondità di foratura, (vedere _AMODE UNITÀ)7 F _F Avanzamento nel piano durante la sgrossatura/finitura8 FZ _FZ Avanzamento per l'incremento in profondità9 DXY _DXY Incremento sul piano - unità, (vedere AMODE DECINE)10 DZ _DZ Avanzamento in profondità11 UXY _UXY Sovrametallo di finitura sul piano12 UZ _UZ Sovrametallo di finitura in profondità13 _CDIR Direzione di fresatura

0 = marcia concorde1 = marcia discorde

Page 798: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro798 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

14 XS _XS Punto di partenza X, assoluto15 YS _YS Punto di partenza Y, assoluto16 ER _ER Penetrazione elicoidale: Raggio17 EP _EP Penetrazione elicoidale: Passo18 EW _EW Penetrazione con pendolamento: Angolo massimo di tuffo19 FS _FS Larghezza dello smusso (incr) per smussatura20 ZFS _ZFS Profondità di penetrazione punta dell'utensile nella smussatura, (vedere AMODE

CENTINAIA)21 TR _TR Nome dell'utensile di riferimento nella lavorazione del materiale residuo22 DR _DR Utensile di riferimento numero D nella lavorazione del materiale residuo23 _UMODE riservato24 _GMODE Modalità per valutazione dei valori geometrici programmati

UNITÀ: riservatoDECINE: riservatoCENTINAIA: selezione lavorazione/solo calcolo del punto di partenza

0 = lavorazione normale (modo di compatibilità non necessario)1 = lavorazione normale 2 = riservato

25 _DMODE Modo displayUNITÀ: piano di lavorazione G17/18/19

0 = compatibilità, resta attivo il piano attivo prima del richiamo del ciclo1 = G17 (attivo solo nel ciclo)2 = G18 (attivo solo nel ciclo)3 = G19 (attivo solo nel ciclo)

DECINE: riservatoCENTINAIA: modalità tecnologica

1 = tasca2 = perno

MIGLIAIA: lavorazione del materiale residuo0 = no1 = sì

26 _AMODE Modo alternativoUNITÀ: profondità finale Z1

0 = assoluto (modo di compatibilità)1 = incrementale

DECINE: unità per incremento nel piano (_DXY)0 = mm1 = % del diametro dell'utensile

CENTINAIA: profondità di penetrazione nella smussatura (_ZFS)0 = assoluto1 = incrementale

N.Maschera param.

Param. interno Spiegazione

Page 799: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 799

16.1.30 Sgrossatura - CYCLE951

Programmazione CYCLE951(REAL _SPD, REAL _SPL, REAL _EPD, REAL _EPL, REAL _ZPD, REAL _ZPL, INT _LAGE, REAL _MID, REAL _FALX, REAL _FALZ, INT _VARI, REAL _RF1, REAL _RF2, REAL _RF3, REAL _SDIS, REAL _FF1, INT _NR, INT _DMODE, INT _AMODE)

Parametri

N.Maschera param.

Param. interno Spiegazione

1 X0 _SPD Punto di riferimento (ass, sempre diametro)2 Z0 _SPL Punto di riferimento (ass)3 X1 _EPD Punto finale4 Z1 _EPL Punto finale5 XM

α1α2

_ZPD Punto intermedio, vedere _DMODE (DECINE)

6 ZM

α1α2

_ZPL Punto intermedio, vedere _DMODE (DECINE)

7 Posizione

_LAGE Posizione dello spigolo di sgrossatura0 = esterno/posteriore1 = esterno/anteriore2 = interno/posteriore3 = interno/anteriore

8 D _MID Incremento di penetrazione massimo nella penetrazione9 UX _FALX Sovrametallo di finitura in X10 UZ _FALZ Sovrametallo di finitura in Z

Page 800: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro800 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

11 _VARI Tipo di lavorazioneUNITÀ: direzione di asportazione (longitudinale o radiale) nel sistema di coordinate

1 = longitudinale2 = radiale

DECINE: 1 = sgrossatura fino a sovrametallo di finitura2 = finitura

CENTINAIA:0 = con asportazione delle creste sul profilo, senza spigoli residui1 = senza asportazione delle creste sul profilo

MIGLIAIA:0 = con raggio/smusso sullo spigolo 21 = con scarico sullo spigolo 2

DECINE DI MIGLIAIA:0 = arresto dopo la lavorazione1 = ritorno alla posizione di partenza

12 R1/FS1 _RF1 Raggio di arrotondamento o larghezza dello smusso 1, vedere _AMODE (DECINE DI MIGLIAIA)

13 R2/FS2 _RF2 Raggio di arrotondamento o larghezza dello smusso 2, vedere _AMODE (CENTINAIA DI MIGLIAIA)

14 R3/FS3 _RF3 Raggio di arrotondamento o larghezza dello smusso 3, vedere _AMODE (UN MILIONE)15 SC _SDIS Distanza di sicurezza16 F _FF1 Avanzamento per sgrossatura/finitura17 _NR Identificativo del tipo di sgrossatura (corrisponde ai softkey verticali per la scelta della

forma):0 = sgrossatura 1, spigolo di 90 gradi senza smussi/arrotondamenti1 = sgrossatura 2, spigolo di 90 gradi con smussi/arrotondamenti2 = sgrossatura 3, spigolo a piacere con smussi/arrotondamenti

18 _DMODE Modo displayUNITÀ: piano di lavorazione G17/G18/G19

0 = compatibilità, resta attivo il piano attivo prima del richiamo del ciclo1 = G17 (attivo solo nel ciclo)2 = G18 (attivo solo nel ciclo)3 = G19 (attivo solo nel ciclo)

DECINE: Forma di immissione _ZPD/_ZPL0 = Xm/Zm1 = Xm/α12 = Xm/α23 = α1/Zm4 = α2/Zm5 = α1/α2

N.Maschera param.

Param. interno Spiegazione

Page 801: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 801

21 _AMODE Modo alternativo UNITÀ: punto intermedio in X

0 = assoluto, valore dell'asse radiale nel diametro1 = incrementale, valore dell'asse radiale nel raggio

DECINE: punto intermedio in Z0 = assoluto1 = incrementale

CENTINAIA: punto finale in X0 = assoluto, valore dell'asse radiale nel diametro1 = incrementale, valore dell'asse radiale nel raggio

MIGLIAIA: punto di arrivo in Z0 = assoluto1 = incrementale

DECINE DI MIGLIAIA: raggio/smusso 10 = raggio1 = smusso

CENTINAIA DI MIGLIAIA: raggio/smusso 20 = raggio1 = smusso

UNMILIONE: raggio/smusso 30 = raggio1 = smusso

N.Maschera param.

Param. interno Spiegazione

Page 802: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro802 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

16.1.31 Gola - CYCLE930

Programmazione CYCLE930(REAL _SPD, REAL _SPL, REAL _WIDG, REAL _WIDG2, REAL _DIAG, REAL _DIAG2, REAL _STA, REAL _ANG1, REAL _ANG2, REAL _RCO1, REAL _RCI1, REAL _RCI2, REAL _RCO2, REAL _FAL, REAL _IDEP1, REAL _SDIS, INT _VARI, INT _DN, INT _NUM, REAL _DBH, REAL _FF1, INT _NR, REAL _FALX, REAL _FALZ, INT _DMODE, INT _AMODE)

Parametri

N.Maschera param.

Param. interno Spiegazione

1 X0 _SPD Punto di riferimento nell'asse radiale (sempre diametro)2 Z0 _SPL Punto di riferimento nell'asse longitudinale3 B1 _WIDG Larghezza della gola in basso4 B2 _WIDG2 Larghezza della gola in alto (solo per la superficie)5 T1 _DIAG Profondità della gola nel punto di riferimento,

per ass e lavorazione longitudinale = diametro, altrimenti incr6 T2 _DIAG2 Profondità della gola di fronte al punto di riferimento (solo per la superficie)

per ass e lavorazione longitudinale = diametro, altrimenti incr 7 α0 _STA Angolo dell'inclinata (-180 ≤ _STA ≤ 180)8 α1 _ANG1 Angolo del fianco 1 (0 ≤ _ANG1 < 90) sul lato della gola determinato con il punto di

riferimento9 α2 _ANG2 Angolo del fianco 2 (0 ≤ _ANG2 < 90) di fronte al punto di riferimento10 R1/FS1 _RCO1 Raggio di arrotondamento o larghezza dello smusso 1, esternamente sul punto di

riferimento11 R2/FS2 _RCI1 Raggio di arrotondamento o larghezza dello smusso 2, internamente sul punto di

riferimento12 R3/FS3 _RCI2 Raggio di arrotondamento o larghezza dello smusso 3, internamente di fronte al punto di

riferimento13 R4/FS4 _RCO2 Raggio di arrotondamento o larghezza dello smusso 4, esternamente di fronte al punto di

riferimento14 U _FAL Sovrametallo di finitura in X e Z, vedere _VARI (DECINE DI MIGLIAIA) (da inserire senza

segno)15 D _IDEP1 Incremento di profondità massimo nella penetrazione (da impostare senza segno)

0 = 1. Taglio direttamente sull'intera profondità> 0 = 1. taglio _IDEP1, 2° taglio 2 · _IDEP1 ecc.

16 SC _SDIS Distanza di sicurezza (da impostare senza segno)

Page 803: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 803

17 _VARI Tipo di lavorazioneUNITÀ: riservatoDECINE: lavorazione tecnologica

1 = sgrossatura2 = finitura3 = sgrossatura e finitura

CENTINAIA: posizione longitudinale/radiale esterno/interno +Z/+Z oppure +X/-X1 = longitudinale/esterno +Z 2 = radiale/interno -X3 = longitudinale/interno +Z 4 = radiale/interno +X5 = longitudinale/esterno -Z 6 = radiale/esterno -X7 = longitudinale/interno -Z 8 = radiale/esterno +X

MIGLIAIA: posizione punto di riferimento0 = punto di riferimento in alto1 = punto di riferimento in basso

DECINE DI MIGLIAIA: definizione come per l'effetto del sovrametallo di finitura0 = sovrametallo di finitura U parallelo al profilo1 = sovrametalli di finitura UX e UZ separati

18 _DN Numero D per 2° tagliente dell'utensile> 0 = numero D per correzione utensile del 2° tagliente del'utensile per gole0 = 2° tagliente non programmato

19 N _NUM Numero di gole (0 = 1 gola)20 DP _DBH Distanza tra le gole (necessario solo se _NUM > 1)21 F _FF1 Avanzamento22 _NR Identificativo della forma di gola, corrisponde ai softkey verticali per la scelta della forma

0 = fianchi di 90° senza smussi/arrotondamenti1 = fianchi obliqui con smussi/arrotondamenti (senza α0)2 = come 1, ma su cono (con α0)

23 UX _FALX Sovrametallo di finitura nell'asse X, vedere _VARI (DECINE DI MIGLIAIA) (da inserire senza segno)

24 UZ _FALZ Sovrametallo di finitura nell'asse Z, vedere _VARI (DECINE DI MIGLIAIA) (da inserire senza segno)

25 _DMODE Modo displayUNITÀ: piano di lavorazione G17/G18/G19

0 = compatibilità, resta attivo il piano attivo prima del richiamo del ciclo1 = G17 (attivo solo nel ciclo)2 = G18 (attivo solo nel ciclo)3 = G19 (attivo solo nel ciclo)

N.Maschera param.

Param. interno Spiegazione

Page 804: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro804 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

26 _AMODE Modo alternativo UNITÀ: quotazione della profondità (solo per la superficie)

0 = sul punto di riferimento1 = di fronte al punto di riferimento

DECINE: profondità0 = assoluto1 = incrementale

CENTINAIA: quotazione della larghezza (solo per la superficie)0 = sul diametro esterno (in alto)1 = sul diametro interno (in basso)

MIGLIAIA: raggio/smusso 1 (_RCO1)0 = raggio1 = smusso

DECINE DI MIGLIAIA: raggio/smusso 2 (_RCI1)0 = raggio1 = smussoCENTINAIA DI MIGLIAIA: raggio/smusso 3 (_RCI2)

0 = raggio1 = smussoMILIONESIMA POSIZIONE: raggio/smusso 4 (_RCO2)

0 = raggio1 = smusso

N.Maschera param.

Param. interno Spiegazione

Page 805: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 805

16.1.32 Forme di scarico - CYCLE940Il ciclo CYCLE940 consente di programmare vari scarichi. Questi scarichi si distinguono talvolta considerevolmente dal punto di vista della programmazione.

Le altre colonne della tabella mostrano i parametri necessari per ogni forma di scarico. Esse corrispondono ai softkey di selezione verticali nella maschera dei cicli:

• E: Scarico forma E

• F: Scarico forma F

• A-D: Scarico filetto DIN (forme A-D)

• T: Scarico filetto (definizione libera della forma)

Programmazione CYCLE940(REAL _SPD, REAL _SPL, CHAR _FORM, INT _LAGE, REAL _SDIS, REAL _FFP,INT _VARI, REAL _EPD, REAL _EPL, REAL _R1, REAL _R2, REAL _STA, REAL _VRT, REAL _MID, REAL _FAL, REAL _FALX, REAL _FALZ, INT _PITI, STRING[5] _PTAB, STRING[20] _PTABA, INT _DMODE, INT _AMODE)

Parametri

N.Maschera param.

Param. interno Progr. per forma

Spiegazione

E F A-D: T

1 X0 _SPD x x x x Punto di riferimento nell'asse radiale (sempre diametro)2 Z0 _SPL x x x x Punto di riferimento asse longitudinale (ass)3 FORM _FORM x x x x Forma dello scarico (in lettere maiuscole, ad es. "T")

Scelta della tabella da cui devono essere presi i valori dello scarico A = esterno, riferimento DIN76, A = normaleB = esterno, riferimento DIN76, B = breveC = interno, riferimento DIN76, C = normaleD = interno, riferimento DIN76, D = breveE = riferimento DIN509F = riferimento DIN509T = forma libera

4 LAGE _LAGE x x x x Posizione dello scarico (parallela a Z)0 = esterno +Z: \____|1 = esterno -Z: |____/2 = interno +Z: /-----|3 = interno -Z: |-----\

5 SC _SDIS x x x x Distanza di sicurezza (incr.)6 F _FFP x x x x Avanzamento di lavorazione (mm/giro)

Page 806: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro806 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

7 _VARI - - x x Tipo di lavorazioneUNITÀ: Lavorazione1 = sgrossatura2 = finitura3 = sgrossatura + finituraDECINE: strategia di lavorazione0 = parallela al profilo1 = longitudinale

Gli scarichi delle forme E e F sono sempre lavorati in una passata come per la finitura8 X1 _EPD x x - - Sovrametallo X (ass/incr), vedere _AMODE)

- - - x Profondità dello scarico (ass/incr), vedere _AMODE9 Z1 _EPL - x - - Sovrametallo Z

- - - x Larghezza dello scarico (ass/incr), vedere _AMODE10 R1 _R1 - - - x Raggio di arrotondamento sulle inclinate11 R2 _R2 - - - x Raggio di arrotondamento nello spigolo12 α _STA - - x x Angolo di tuffo13 VX _VRT x x - - Tratto radiale X (ass/incr), vedere _AMODE

- - x x Tratto radiale X nella finitura, (ass/incr), vedere _AMODE14 D _MID - - x x Incremento di profondità 15 U _FAL - - x x Sovrametallo di finitura parallelo al profilo, vedere _AMODE16 UX _FALX - - x x Sovrametallo di finitura X17 UZ _FALZ - - x x Sovrametallo di finitura Z18 P _PITI - - x - Scelta del passo, forma A-D, corrisponde a M1 ... M68

0 = 0.201 = 0.252 = 0.303 = 0.354 = 0.405 = 0.45

6 = 0.507 = 0.608 = 0.709 = 0.7510 = 0.8011 = 1.00

12 = 1.2513 = 1.5014 = 1.7515 = 2.0016 = 2.5017 = 3.00

18 = 3.5019 = 4.0020 = 4.5021 = 5.0022 = 5.5023 = 6.00

x x - - Scelta di raggio/profondità, forma E, F0 = 0.6 · 0.31 = 1.0 · 0.42 = 1.0 · 0.23 = 1.6 ··0.3

4 = 2.5 · 0.45 = 4.0 · 0.56 = 0.4 · 0.27 = 0.6 · 0.2

8 = 0.1 · 0.19 = 0.2 ··0.1

19 _PTAB Stringa per tabella dei filetti ("", "ISO", "BSW", "BSP", "UNC")(solo per la superficie)

20 _PTABA Stringa per selezione nella tabella dei filetti (ad es. "M 10", "M 12", ...)(solo per la superficie)

N.Maschera param.

Param. interno Progr. per forma

Spiegazione

Page 807: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 807

21 _DMODE Modo displayx x x x UNITÀ: piano di lavorazione G17/18/19

0 = compatibilità, resta attivo il piano attivo prima del richiamo del ciclo1 = G17 (attivo solo nel ciclo)2 = G18 (attivo solo nel ciclo)3 = G19 (attivo solo nel ciclo)

22 _AMODE Modo alternativox x - x UNITÀ: Parametro _EPD sovrametallo X o profondità dello scarico

0 = assoluto (sempre diametro)1 = incrementale

x x - x DECINE: Parametro _EPL sovrametallo Z o larghezza dello scarico0 = assoluto1 = incrementale

x x x x CENTINAIA: Parametro _VRT tratto radiale X0 = assoluto (sempre diametro)1 = incrementale

- - x x MIGLIAIA: Sovrametallo di finitura0 = sovrametallo di finitura parallelo al profilo (_FAL) = sovrametallo di finitura separato (_FALX/_FALZ)

N.Maschera param.

Param. interno Progr. per forma

Spiegazione

Page 808: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro808 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

16.1.33 Filettatura - CYCLE99

Programmazione CYCLE99(REAL _SPL, REAL _SPD, REAL _FPL, REAL _FPD, REAL _APP, REAL _ROP, REAL _TDEP, REAL _FAL, REAL _IANG, REAL _NSP, INT _NRC, INT _NID, REAL _PIT, INT _VARI, INT _NUMTH, REAL _SDIS, REAL _MID, REAL _GDEP, REAL _PIT1, REAL _FDEP, INT _GST, INT _GUD, REAL _IFLANK, INT _PITA, STRING[15] _PITM, STRING[20] _PTAB, STRING[20] _PTABA, INT _DMODE, INT _AMODE)

Parametri

N.Maschera param.

Param. interno Spiegazione

1 Z0 _SPL Punto di riferimento (ass)2 X0 _SPD Punto di riferimento (ass, sempre diametro)3 Z1 _FPL Punto finale, vedere _AMODE (UNITÀ)4 X1 _FPD Punto finale, vedere _AMODE (DECINE)5 LW/LW2 _APP Entrata del filetto, vedere _AMODE (CENTINAIA) oppure

Entrata del filetto = uscita del filetto, vedere _AMODE (CENTINAIA)6 LR _ROP Uscita del filetto7 H1 _TDEP Profondità del filetto8 U _FAL Sovrametallo di finitura in X e Z9 DP -_IANG Inclinata di incremento come distanza o angolo, vedere _AMODE (MIGLIAIA)

αP > 0 = incremento sul fianco positivo< 0 = incremento sul fianco negativo0 = incremento centrale

10 α0 _NSP Traslazione angolare iniziale (attiva solo per "a un principio")11 ND _NRC Numero di passate di sgrossatura, in combinazione con _VARI (DECINE DI MIGLIAIA)12 NN _NID Quantità di tagli a vuoto13 P _PIT Passo del filetto come valore, vedere _PITA

Page 809: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 809

14 _VARI Tipo di lavorazioneUNITÀ: tecnologia

1 = filetto esterno con incremento lineare2 = filetto interno con incremento lineare3 = filetto esterno con incremento degressivo, la sezione del truciolo rimane costante4 = filetto interno con incremento degressivo, la sezione del truciolo rimane costante

DECINE: riservatoCENTINAIA: tipo di incremento

1 = incremento unilaterale2 = incremento variabile

MIGLIAIA: riservatoDECINE DI MIGLIAIA: Incremento di penetrazione alternativo

0 = impostazione del numero di passate di sgrossatura (_NRC)1 = impostazione del valore per il 1° incremento (_MID)

CENTINAIA DI MIGLIAIA: Tipo di lavorazione1 = sgrossatura2 = finitura3 = sgrossatura e finitura

UNMILIONE: sequenza di lavorazione per filettature a più principi0 = sequenza dei principi crescente1 = sequenza dei principi contrapposti

15 N _NUMTH Numero principi di filettatura16 VR _SDIS Distanza di svincolo, incr17 D1 _MID Prima profondità di incremento, vedere _VARI (DECINE DI MIGLIAIA)18 DA _GDEP Profondità di cambio principio

0 = non tenere conto della profondità di cambio principio> 0 = tenere conto della profondità di cambio principio

19 G _PIT1 Variazione del passo per giro0 = il passo del filetto è costante (G33)> 0 = il passo del filetto aumenta (G34)< 0 = il passo del filetto diminuisce (G35)

20 _FDEP Profondità di penetrazione (da indicare senza segno)21 N1 _GST Principio iniziale N1 = 1...N, vedere _AMODE (CENTINAIA DI MIGLIAIA)22 _GUD riservato23 _IFLANK Inclinata di incremento come larghezza (solo per la superficie)24 _PITA Unità di misura del passo del filetto (valutazione PIT e/o MPIT)

0 = passo in mm - valutazione MPIT/PIT1 = passo in mm - valutazione PIT2 = passo in TPI - valutazione PIT (principi del filetto per pollice)3 = passo in pollici - valutazione PIT4 = MODULO - valutazione PIT

N.Maschera param.

Param. interno Spiegazione

Page 810: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro810 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

25 _PITM Stringa come merker per impostazione del passo del filetto (solo per la superficie)1)

26 _PTAB Stringa per tabella dei filetti (solo per la superficie)1)

27 _PTABA Stringa per selezione nella tabella dei filetti (solo per la superficie)1)

28 _DMODE Modo displayUNITÀ: piano di lavorazione G17/G18/G19

0 = compatibilità, resta attivo il piano attivo prima del richiamo del ciclo1 = G17 (attivo solo nel ciclo)2 = G18 (attivo solo nel ciclo)3 = G19, attivo solo nel ciclo)

DECINE: tipo di filettatura0 = filettatura longitudinale1 = filettatura radiale2 = filettatura conica

29 _AMODE Modo alternativo UNITÀ: lunghezza della filettatura in Z

0 = assoluto1 = incrementale

DECINE: lunghezza della filettatura in X0 = assoluto, valore dell'asse radiale nel diametro1 = incrementale, valore dell'asse radiale nel raggio2 = α

CENTINAIA: Valutazione del percorso di ingresso/accostamento _APP0 = entrata del filetto _APP1 = entrata del filetto = uscita del filetto _APP = -_ROP2 = impostazione del percorso di accostamento della filettatura _APP = -_APP

MIGLIAIA: selezione inclinata di incremento come angolo o larghezza0 = angolo di incremento _IANG1 = inclinata di incremento _IFLANK

DECINE DI MIGLIAIA: a un solo principio/a più principi0 = a un solo principio (con traslazione angolare iniziale _NSP)1 = a più principi

CENTINAIA DI MIGLIAIA principio iniziale _GST0 = lavorazione completa1 = iniziare la lavorazione da questo principio2 = lavorare solo questo principio

N.Maschera param.

Param. interno Spiegazione

Nota1) I parametri _PITM, _PTAB e _PTABA sono utilizzati solo per la scelta del filetto nelle tabelle dei filetti della maschera di immissione.

Non è possibile accedere alle tabelle dei filetti mediante definizione del ciclo durante il runtime di un ciclo.

Page 811: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 811

16.1.34 Serie di filetti - CYCLE98

Programmazione CYCLE98(REAL _PO1, REAL _DM1, REAL _PO2, REAL _DM2, REAL _PO3, REAL _DM3, REAL _PO4, REAL _DM4, REAL APP, REAL ROP, REAL TDEP, REAL FAL, REAL _IANG, REAL NSP, INT NRC, INT NID, REAL _PP1, REAL _PP2, REAL _PP3, INT _VARI, INT _NUMTH, REAL _VRT, REAL _MID, REAL _GDEP, REAL _IFLANK, INT _PITA, STRING[15] _PITM1, STRING[15] _PITM2, STRING[15] _PITM3, INT _DMODE,INT _AMODE)

Parametri

N. Maschera param.

Param. interno Spiegazione

1 Z0 _PO1 Punto di riferimento in Z (ass)2 X1 _DM1 Punto di riferimento in X (ass), nel diametro3 Z1 _PO2 Punto intermedio 1 in Z (ass/incr), vedere _AMODE (UNITÀ)4 X1 _DM2 Punto intermedio 1 in X (ass/incr), vedere _AMODE (DECINE) oppure

X1α Inclinata filetto 1 (da -90° a 90°) abs sempre diametro, incr sempre raggio

5 Z2 _PO3 Punto intermedio 2 in Z (ass/incr), vedere _AMODE (CENTINAIA)6 X2 _DM3 Punto intermedio 2 in X (ass/incr), vedere _AMODE (MIGLIAIA) oppure

X2α Inclinata filetto 2 (da -90° a 90°) abs sempre diametro, incr sempre raggio

7 Z3 _PO4 Punto finale in Z (ass/incr), vedere _AMODE (DECINE DI MIGLIAIA)8 X3 _DM4 Punto finale in X (ass/incr), vedere _AMODE (CENTINAIA DI MIGLIAIA)

X3α Inclinata filetto 3 (da -90° a 90°) abs sempre diametro, incr sempre raggio

9 LW APP Entrata del filetto (incr, da indicare con segno)10 LR ROP Uscita del filetto (incr, da indicare con segno)11 H1 TDEP Profondità del filetto (incr, da indicare con segno)12 U FAL Sovrametallo di finitura in X e Z13 DP _IANG Inclinata di incremento come distanza o angolo, vedere _AMODE (MILIONE)

αP L'inclinata di incremento agisce in base all'impostazione del parametro _VARI (CENTINAIA).Definizione per _VARI_CENTINAIA = 0 - modo di compatibilità:> 0 = incremento lungo il fianco su un fianco 0 = incremento perpendicolare nel filetto> 0 = incremento lungo il fianco con fianchi alternatiDefinizione per _VARI_CENTINAIA<>0:> 0 = incremento sul fianco positivo 0 = incremento centrale< 0 = incremento sul fianco negativo

14 α0 NSP Traslazione angolare iniziale per il 1° principio del filetto 15 NRC Numero di passate di sgrossatura, vedere _VARI (DECINE DI MIGLIAIA)

Page 812: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro812 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

16 NN NID Quantità di tagli a vuoto17 P0 _PP1 Passo del filetto prima sezione di filetto, vedere _PITA18 P1 _PP2 Passo del filetto seconda sezione di filetto, vedere _PITA19 P2 _PP3 Passo del filetto terza sezione di filetto, vedere _PITA20 _VARI Lavorazione

UNITÀ: tecnologia1 = filetto esterno con incremento lineare2 = filetto interno con incremento lineare3 = filetto esterno con incremento degressivo, la sezione del truciolo rimane costante4 = filetto interno con incremento degressivo, la sezione del truciolo rimane costante

DECINE: riservatoCENTINAIA: tipo di incremento

0 = modo di compatibilità per _IANG1 = incremento unilaterale2 = incremento variabile

MIGLIAIA: riservatoDECINE DI MIGLIAIA: Incremento di penetrazione alternativo

0 = compatibilità, impostazione del numero di passate di sgrossatura (_NRC)1 = impostazione del valore per il 1° incremento (_MID)

CENTINAIA DI MIGLIAIA: Tipo di lavorazione0 = compatibilità (sgrossatura e finitura)1 = sgrossatura2 = finitura3 = sgrossatura e finitura

UNMILIONE: sequenza di lavorazione per filettature a più principi0 = sequenza dei principi crescente1 = sequenza dei principi contrapposti

21 N _NUMTH Numero principi di filettatura22 _VRT Distanza di svincolo (incr.)

0 = internamente viene utilizzato un percorso di svincolo di 1 mm indipendentemente dal sistema di misura pollici/metrico> 0 = percorso di svincolo

23 D1 _MID primo incremento, vedere _VARI (DECINE DI MIGLIAIA)24 DA _GDEP Profondità di cambio principio (attiva solo per "a più principi")

0 = non tenere conto della profondità di cambio principio> 0 = tenere conto della profondità di cambio principio

25 _IFLANK Inclinata di incremento come larghezza (solo per la superficie)26 _PITA Valutazione del passo del filetto

0 = modo di compatibilità per passo del filetto Valutazione da _PP1 a _PP3 come finora in base al sistema attivo metrico/pollici1 = passo in mm 2 = passo in TPI (principi del filetto per pollice) 3 = passo in pollici 4 = MODULO

N. Maschera param.

Param. interno Spiegazione

Page 813: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 813

27 _PITM1 Stringa come merker per impostazione del passo del filetto (solo per la superficie) 28 _PITM2 Stringa come merker per impostazione del passo del filetto (solo per la superficie)29 _PITM3 Stringa come merker per impostazione del passo del filetto (solo per la superficie)30 _DMODE Modo display

UNITÀ: piano di lavorazione G17/18/190 = compatibilità, resta attivo il piano attivo prima del richiamo del ciclo1 = G17 (attivo solo nel ciclo)2 = G18 (attivo solo nel ciclo)3 = G19 (attivo solo nel ciclo)

31 _AMODE Modo alternativoUNITÀ: 1. punto intermedio in Z (Z1)

0 = assoluto1 = incrementale

DECINE: 1. punto intermedio in X (X1)0 = assoluto1 = incrementale2 = α

CENTINAIA: 2. punto intermedio in Z (Z2)0 = assoluto1 = incrementale

MIGLIAIA: 2. punto intermedio in X (X2)0 = assoluto1 = incrementale2 = α

DECINE DI MIGLIAIA: punto finale in Z (Z3)0 = assoluto1 = incrementale

CENTINAIA DI MIGLIAIA: punto finale in X (X3)0 = assoluto1 = incrementale2 = α

UNMILIONE: selezione inclinata di incremento come angolo o larghezza0 = angolo di incremento _IANG1 = inclinata di incremento _IFLANK

DIECIMILIONI: a un solo principio/a più principi0 = modo di compatibilità (viene valutato l'angolo di partenza _NSP)1 = a un solo principio (con traslazione angolare iniziale _NSP)2 = a più principi

N. Maschera param.

Param. interno Spiegazione

Page 814: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro814 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

16.1.35 Troncatura - CYCLE92

Programmazione CYCLE92(REAL _SPD, REAL _SPL, REAL _DIAG1, REAL _DIAG2, REAL _RC, REAL _SDIS, REAL _SV1, REAL _SV2, INT _SDAC, REAL _FF1, REAL _FF2, REAL _SS2, REAL _DIAGM, INT _VARI, INT _DN, INT _DMODE, INT _AMODE)

Parametri

N.Maschera param.

Param. interno Spiegazione

1 X0 _SPD Punto di riferimento (ass, sempre diametro)2 Y0 _SPL Punto di riferimento (ass)3 X1 _DIAG1 Profondità per riduzione del numero di giri, vedere _AMODE (UNITÀ)4 X2 _DIAG2 Profondità finale, vedere _AMODE (DECINE)5 R/FS _RC Raggio di arrotondamento o larghezza dello smusso, vedere _AMODE (MIGLIAIA)6 SC _SDIS Distanza di sicurezza (additiva rispetto al punto di riferimento, da indicare senza segno)7 S _SV1 Numero di giri del mandrino costante, vedere _AMODE (DECINE DI MIGLIAIA)

V Velocità di taglio costante8 SV _SV2 Numero di giri massimo con velocità di taglio costante9 DIR _SDAC Senso di rotazione del mandrino

3 = per M34 = per M4

10 F _FF1 Avanzamento fino a a profondità per riduzione del numero di giri11 FR _FF2 Avanzamento ridotto fino a profondità finale12 SR _SS2 Numero di giri ridotto fino a profondità finale13 XM _DIAGM Raggiungere profondità dispositivo di raccolta pezzi (ass, sempre diametro)14 _VARI Tipo di lavorazione

UNITÀ: Svincolo0 = svincolo su _SPD+_SDIS1 = nessuno svincolo alla fine

DECINE: dispositivo di raccolta pezzi0 = no, nessuna esecuzione del comando M1 = sì, richiamo di CUST_TECHCYC(101)- estrarre cassetto, CUST_TECHCYC(102)- chiudere cassetto

15 _DN Numero D per 2° tagliente dell'utensile, se non programmato ⇒ D+120 _DMODE Modo display

UNITÀ: piano di lavorazione G17/G18/G190 = compatibilità, resta attivo il piano attivo prima del richiamo del ciclo1 = G17 (attivo solo nel ciclo)2 = G18 (attivo solo nel ciclo)3 = G19 (attivo solo nel ciclo)

Page 815: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 815

21 _AMODE Modo alternativo UNITÀ: profondità per riduzione del numero di giri (_DIAG1)

0 = assoluto, valore dell'asse radiale nel diametro1 = incrementale, valore dell'asse radiale nel raggio

DECINE: profondità finale (_DIAG2)0 = assoluto, valore dell'asse radiale nel diametro1 = incrementale, valore dell'asse radiale nel raggio

CENTINAIA: riservatoMIGLIAIA: raggio/smusso (_RC)

0 = raggio1 = smusso

DECINE DI MIGLIAIA: numero di giri del mandrino/velocità di taglio (_SV1)0 = numero di giri del mandrino costante1 = velocità di taglio costante

N.Maschera param.

Param. interno Spiegazione

Page 816: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro816 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

16.1.36 Troncatura del profilo - CYCLE952

Programmazione CYCLE952(STRING[100] _PRG, STRING[100] _CON, STRING[100] _CONR, INT _VARI, REAL _F, REAL _FR, REAL _RP, REAL _D, REAL _DX, REAL _DZ, REAL _UX, REAL _UZ, REAL _U, REAL _U1, INT _BL, REAL _XD, REAL _ZD, REAL _XA, REAL _ZA, REAL _XB, REAL _ZB, REAL _XDA, REAL _XDB, INT _N, REAL _DP, REAL _DI, REAL _SC, INT _DN, INT _GMODE, INT _DMODE, INT _AMODE)

Parametri

N. Maschera param.

Param. interno Spiegazione

1 PRG _PRG Nome programma di sgrossatura2 CON _CON Nome del programma da cui viene letto il profilo del pezzo grezzo aggiornato (in caso di

lavorazione residua)3 CONR _CONR Nome del programma in cui viene scritto il profilo del pezzo grezzo aggiornato (vedere

_AMODE DECINE DI MIGLIAIA)

Page 817: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 817

4 _VARI Tipo di lavorazioneUNITÀ: tipo di sgrossatura

1 = longitudinale2 = radiale3 = parallela al profilo

DECINE: lavorazione tecnologica, (vedere _GMODE CENTINAIA)1 = sgrossatura 2 = finitura3 = lavorazione completa

CENTINAIA: Direzione di lavorazione1 = direzione di lavorazione X-2 = direzione di lavorazione X+3 = direzione di lavorazione Z-4 = direzione di lavorazione Z+

MIGLIAIA: direzione di incremento1 = esterna X-2 = interna X+3 = frontale Z-4 = posteriore Z+

DECINE DI MIGLIAIA: definizione come per l'effetto del sovrametallo di finitura0 = sovrametalli di finitura UX e UZ separati1 = sovrametallo di finitura U parallelo al profilo

CENTINAIA DI MIGLIAIA: asportazione delle creste0 = compatibilità, asportazione delle creste automatica1 = con asportazione delle creste sul profilo2 = senza asportazione delle creste3 = asportazione delle creste automatica

UNMILIONE: tagli in sottosquadro0 = la posizione non viene valutata in caso di troncatura, troncatura di materiale residuo e troncatura, troncatura di materiale residuo1 = lavorazione di tagli in sottosquadro2 = nessuna lavorazione di tagli in sottosquadro

DIECIMILIONI: dietro/prima del centro di rotazione0 = lavorazione prima del centro di rotazione1 = riservato

5 F _F Avanzamento per sgrossatura/finituraFZ Avanzamento ascissa tornitura con troncatura

6 FR _FR Avanzamento per il tuffo nei tagli in sottosquadro nella sgrossatura FX Avanzamento ordinata tornitura con troncatura

7 RP _RP Piano di svincolo nella lavorazione interna (ass, sempre diametro)8 D _D Incremento sgrossatura, (vedere _AMODE UNITÀ)9 DX _DX Incremento X (vedere _AMODE UNITÀ)

N. Maschera param.

Param. interno Spiegazione

Page 818: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro818 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

10 DZ _DZ Incremento Z (vedere _AMODE UNITÀ)11 UX _UX Sovrametallo di finitura X, (vedere _VARI DECINE DI MIGLIAIA)12 UZ _UZ Sovrametallo di finitura Z (vedere _VARI DECINE DI MIGLIAIA)13 U _U Sovrametallo di finitura parallelo al profilo (vedere _VARI DECINE DI MIGLIAIA) 14 U1 _U1 Sovrametallo di finitura aggiuntivo nella finitura (vedere _AMODE MIGLIAIA)15 BL _BL Definizione del pezzo grezzo

1 = cilindro con sovrametallo2 = sovrametallo su profilo del pezzo finito3 = viene indicato il profilo del pezzo grezzo

16 XD _XD Definizione del pezzo grezzo X (vedere _AMODE CENTINAIA DI MIGLIAIA)17 ZD _ZD Definizione del pezzo grezzo Z (vedere _AMODE UNMILIONE)18 XA _XA Limite 1 X (ass., sempre diametro)19 ZA _ZA Limite 1 Z (ass)20 XB _XB Limite 2 X (vedere _AMODE DIECI MILIONI)21 ZB _ZB Limite 2 z (vedere _AMODE CENTO MILIONI)22 XDA _XDA Limite di troncatura 1 nel tuffo sul lato frontale (ass, sempre diametro)23 XDB _XDB Limite di troncatura 2 nel tuffo sul lato frontale (ass, sempre diametro)24 N _N Numero delle gole25 DP _DP Distanza delle gole

Gola longitudinale: parallela all'asse ZGola piana: parallela all'asse X

26 DI _DI Distanza per interruzione dell'avanzamento0 = nessuna interruzione0 > con interruzione

27 SC _SC Distanza di sicurezza per aggirare gli ostacoli, incrementale28 D2 _DN Numero D per 2° tagliente dell'utensile, se non programmato ==> D+1

N. Maschera param.

Param. interno Spiegazione

Page 819: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 819

29 _GMODE Modalità geometrica (valutazione dei valori geometrici programmati)UNITÀ: riservatoDECINE: riservatoCENTINAIA: selezione lavorazione/solo calcolo del punto di partenza

0 = lavorazione normale (modo di compatibilità non necessario)1 = lavorazione normale2 = calcolare la posizione di partenza - nessuna lavorazione (solo per il richiamo da ShopMill/ShopTurn)

MIGLIAIA: delimitazione0 = no1 = sì

DECINE DI MIGLIAIA: immettere il limite 1 X0 = no 1 = sì

CENTINAIA DI MIGLIAIA: immettere il limite 2 X0 = no 1 = sì

UNMILIONE: immettere il limite 1 Z0 = no 1 = sì

DIECIMILIONI: immettere il limite 2 Z0 = no1 = sì

30 _DMODE Modo displayUNITÀ: piano di lavorazione G17/18/19

0 = compatibilità, resta attivo il piano attivo prima del richiamo del ciclo1 = G17 (attivo solo nel ciclo)2 = G18 (attivo solo nel ciclo)3 = G19 (attivo solo nel ciclo)

DECINE: modalità tecnologica1 = sgrossatura del profilo2 = troncatura del profilo3 = tornitura con troncatura

CENTINAIA: lavorazione del materiale residuo 0 = no1 = sì

N. Maschera param.

Param. interno Spiegazione

Page 820: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro820 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

31 _AMODE Modo alternativo UNITÀ: selezione incremento

0 = incremento DX e DZ per tipo di sgrossatura parallelo al profilo1 = incremento D

DECINE: strategia di incremento0 = profondità di taglio variabile (90 ... 100 %)1 = profondità di taglio costante

CENTINAIA: suddivisione dei tagli0 = uniforme1 = suddivisi sugli spigoli

MIGLIAIA: selezione sovrametallo sul profilo U1, finitura doppia 0 = no1 = sì

DECINE DI MIGLIAIA: aggiornamento selezione pezzo grezzo0 = no1 = sì

CENTINAIA DI MIGLIAIA: selezione sovrametallo su pezzo grezzo XD0 = assoluto, valore dell'asse radiale nel diametro1 = incrementale, valore dell'asse radiale nel raggio

UNMILIONE: selezione sovrametallo su pezzo grezzo ZD0 = assoluto1 = incrementale

DIECIMILIONI: selezione limite 2 XB0 = assoluto, valore dell'asse radiale nel diametro 1 = incrementale, valore dell'asse radiale nel raggio

CENTO MILIONI: selezione limite 2 ZB0 = assoluto 1 = incrementale

N. Maschera param.

Param. interno Spiegazione

Page 821: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 821

16.1.37 Orientamento - CYCLE800

Programmazione

CYCLE800(INT _FR, STRING[32] _TC, INT _ST, INT _MODE, REAL _X0, REAL _Y0, REAL _Z0, REAL _A, REAL _B, REAL _C, REAL _X1, REAL _Y1, REAL _Z1, INT _DIR, REAL _FR_I , INT _DMODE)

Parametri

N. Maschera param.

Param. interno Spiegazione

1 _FR Modalità svincolo:0 = nessuno svincolo1 = svincolo asse macchina Z2 = svincolo asse macchina Z e quindi XY3 = riservato4 = svincolo nella direzione utensile max.5 = svincolo nella direzione utensile incrementale

2 _TC Nome del blocco dati di orientamento:"" (nessun nome) se esiste un solo blocco dati di orientamento"0" deselezione del blocco dati di orientamento (eliminazione dei frame di orientamento)

3 _ST Stato delle trasformazioniUNITÀ:

0 = Nuovo, il piano di orientamento viene cancellato e ricalcolato con i parametri attuali 1 = Additivo, il piano di orientamento viene impostato in modo attivo sul piano di orientamento attivo

DECINE: Funzionamento a seguire punta utensile sì/no (attivo solo se la funzione è impostata nella MIS ORIENTAMENTO)

0 = Nessun funzionamento a seguire punta utensile1 = Funzionamento a seguire punta utensile (TRAORI)

CENTINAIA: Inclinazione/allineamento utensile (la funzione viene visualizzata nella maschera di immissione ORIENTAMENTO utensile)

0 = Nessuna inclinazione utensile1 = Inclinazione utensile (preferibilmente fresa a raggio)2 = Allineamento utensile da tornio (se la cinematica asse B per la tecnologia di tornitura è impostata nella MIS Orientamento)3 = Allineamento utensile per fresatura (se la cinematica asse B per la tecnologia di tornitura è impostata nella MIS Orientamento)9 = riservato

MIGLIAIA: parametro interno Orientamento in JOG DECINE DI MIGLIAIA: vedere il parametro Direzione_DIR

0 = Orientamento "sì"

1 = Orientamento "no", direzione "meno"3)

2 = Orientamento "no", direzione "più"3)

CENTINAIA DI MIGLIAIA: vedere il parametro Direzione_DIR 0 = compatibilità

1 = selezione della direzione "meno" ottimizzata4)

2 = selezione della direzione "più" ottimizzata4)

Page 822: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro822 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

4 _MODE 5) Modalità di orientamento: Valutazione dell'angolo di orientamento e della sequenza di orientamento (codificata a bit!)

Bit: 7 60 0: Angolo di orientamento per asse -> vedere i parametri _A, _B, _C

0 1: Angolo nello spazio -> vedere i parametri _A, _B1)

1 0: Angolo di proiezione -> vedere i parametri _A, _B, _C 1)

1 1: Modo orientamento diretto asse rotante -> vedere i parametri _A, _B1)

Bit: 5 4 3 2 1 0 (irrilevanti per angoli nello spazio!) x x x x 0 1 x x x x 1 0 x x x x 1 1 x x 0 1 x x x x 1 0 x x x x 1 1 x x 0 1 x x x x 1 0 x x x x 1 1 x x x x

1ª rotazione_A intorno a X1ª rotazione_A intorno a Y1ª rotazione_A intorno a Z2ª rotazione_B intorno a X2ª rotazione_B intorno a Y2ª rotazione_B intorno a Z3ª rotazione_C intorno a X3ª rotazione_C intorno a Y3ª rotazione_C intorno a Z

5 X0 _X0 Punto di riferimento X prima della rotazione6 Y0 _Y0 Punto di riferimento Y prima della rotazione7 Z0 _Z0 Punto di riferimento Z prima della rotazione8 X(A) _A 1. Rotazione secondo l'impostazione nel parametro _MODE9 Y(B) _B 2ª rotazione secondo l'impostazione nel parametro _MODE10 Z(C) _C 3ª rotazione secondo l'impostazione nel parametro _MODE11 X1 _X1 Punto di riferimento X dopo la rotazione12 Y1 _Y1 Punto di riferimento Y dopo la rotazione13 Z1 _Z1 Punto di riferimento Z dopo la rotazione14 - oppure + _DIR Attivazione del movimento di traslazione degli assi rotanti (impostazione predefinita = -

1!):

-1 = posizionamento su un valore inferiore dell'asse rotante 1 o 22)

+1 = posizionamento su un valore superiore dell'asse rotante 1 o 22)

0 = orientamento no (solo calcolo del frame di orientamento) 1) 3)

15 FR _FR_I Valore di svincolo (incr) in direzione dell'utensile incrementale16 _DMODE Modo display

UNITÀ: piano di lavorazione G17/G18/G190 = compatibilità, resta attivo il piano attivo prima del richiamo del ciclo1 = G17 (attivo solo nel ciclo)2 = G18 (attivo solo nel ciclo)3 = G19 (attivo solo nel ciclo)

N. Maschera param.

Param. interno Spiegazione

Page 823: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 823

NotaSe i seguenti parametri di trasferimento sono programmati in modo indiretto (come parametri), la maschera di immissione non viene ricompilata: _FR, _ST, _TC, _MODE, _DIR

1) Opzione se la funzione è impostata nella MIS ORIENTAMENTO.

2) Opzione possibile se nella MIS ORIENTAMENTO il riferimento di direzione è impostato sull'asse rotante 1 o 2.

Nessun campo di selezione se il riferimento di direzione è impostato a no

3) L'opzione Orientamento "no" può essere nascosta SD 55221 bit 0

Orientamento "no" direzione "meno" corrisponde a _DIR = 0 e a _ST DECINE DI MIGLIAIA = 1

Orientamento "no" direzione "più" corrisponde a _DIR = 0 e a _ST DECINE DI MIGLIAIA = 2

4) La selezione della direzione dell'asse rotante 1 o 2 avviene anche se l'asse rotante si trova in posizione polare (valore di posizione uguale a zero) con il riferimento di direzione.

5) Esempio di codifica: rotazione specifica per asse, sequenza di rotazione ZYX

binario: 00011011; decimale: 27

Gli identificatori assi XYZ corrispondono agli assi geometrici del canale NC. Le rotazioni intorno agli assi XYZ possono essere eseguite singolarmente. Ad esempio, la sequenza di rotazione intorno a ZXZ non è consentita in un richiamo del CYCLE800

Page 824: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro824 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

16.1.38 High Speed Settings - CYCLE832

Programmazione CYCLE832(_TOL, _TOLM, _V832)

Parametri

NotaIl CYCLE832 non esonera il costruttore della macchina dall'effettuare le necessarie misure di ottimizzazione al momento della messa in servizio della macchina. Tali misure riguardano l'ottimizzazione degli assi interessati nella lavorazione e le impostazioni dell'NCU (precomando, limitazione dello strappo, ecc.).

N.Maschera param.

Param. interno Spiegazione

1 TOL _TOL Tolleranza2 _TOLM Tecnologia

UNITÀ:0 = deselezione1 = finitura (Finish)2 = prefinitura (Semifinish)3 = sgrossatura (Rough)

3 _V832 Versione CYCLE832UNITÀ:

0 = fino a SW 7.51 = da HMI sl SW 2.6

NotaSe si deseleziona CYCLE832, il parametro Tolleranza deve essere impostato a zero.

Esempio: CYCLE832(0,0,1)

La sintassi CYCLE832() è consentita anche per la deselezione CYCLE832.

Page 825: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli16.1 Cicli tecnologici

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 825

16.1.39 Asportazione del truciolo ad alta velocità (HSC) - CYCLE_HSC

Programmazione CYCLE_HSC(_Mode, _TOL, _RTOL)

Parametri

Esempio

N.Maschera param.

Param. interno Spiegazione

1 _MODE Tipo di lavorazione (tecnologia)Il parametro tipo di lavorazione viene trasferito a CYCLE_HSC come stringa in testo in chiaro (sono consentite lettere maiuscole e minuscole)."FINISH" = Finitura"SEMIFINISH" = Prefinitura"ROUGH" = Sgrossatura"OFF" o "DESELECT" = Deselezione CYCLE_HSC

2 _TOL TolleranzaLa tolleranza corrisponde alla tolleranza degli assi di geometria.

3 _RTOL Tolleranza di coassialitàLa tolleranza di coassialità viene trasferita all'NC con il comando OTOL=_RTOL. OTOL è attivo solo con la trasformazione di orientamento attiva (TRAORI).

NotaCYCLE_HSC richiama internamente il CYCLE832 (High Speed Settings).

NotaSe si deseleziona CYCLE_HSC, non devono essere specificati altri parametri.

Esempio: CYCLE_HSC("OFF")

Codice di programma Commento

G710

TRAORI

CYCLE_HSC("FINISH",0.01,3) ; Tipo di lavorazione FINISH con 0,01 mm di tolleranza degli assi di geometria e 3 gradi di tolleranza di coassialità.

Page 826: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Programmazione esterna di cicli 16.1 Cicli tecnologici

Preparazione del lavoro826 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Page 827: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Preparazione del lavoroManuale di programmazione 02/2011, 6FC5398-2BP40-1CA0 827

17Tabelle

17.1 Istruzioni

Legenda: 1) Operatività dell'istruzione:

m modales blocco a blocco

2) Rimando al documento che contiene la descrizione dettagliata dell'istruzione:PGsl Manuale di programmazione, Nozioni di basePGAsl Manuale di programmazione, Preparazione del lavoroBNMsl Manuale di programmazione, Cicli di misuraBHDsl Manuale d'uso TornituraBHFsl Manuale d'uso FresaturaFB1 ( ) Manuale di guida alle funzioni, Funzioni di base (con la sigla alfanumerica della relativa descrizione

delle funzioni tra parentesi)FB2 ( ) Manuale di guida alle funzioni, Funzioni di ampliamento (con la sigla alfanumerica della relativa

descrizione delle funzioni tra parentesi)FB3 ( ) Manuale di guida alle funzioni, Funzioni speciali (con la sigla alfanumerica della relativa descrizione

delle funzioni tra parentesi)FBSIsl Manuale di guida alle funzioni, Safety IntegratedFBSY Manuale di guida alle funzioni, Azioni sincroneFBW Manuale di guida alle funzioni, Gestione utensili

3) Impostazione standard a inizio programma (nello stato di fornitura del controllo numerico, salvo diversa programmazione).

Istruzione Significato W 1) Per una descrizione, vedere 2)

: Numero di blocco principale NC, fine etichetta di salto, operatore di concatenamento

PGAslFunzioni di calcolo [Pagina 64] 

* Operatore per moltiplicazione PGAslFunzioni di calcolo [Pagina 64] 

+ Operatore per addizione PGAslFunzioni di calcolo [Pagina 64] 

- Operatore per sottrazione PGAslFunzioni di calcolo [Pagina 64] 

< Operatore di confronto, minore di PGAslFunzioni di calcolo [Pagina 64] 

<< Operatore di concatenamento per stringhe

PGAslFunzioni di calcolo [Pagina 64] 

Page 828: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle 17.1 Istruzioni

Preparazione del lavoro828 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

<= Operatore di confronto, minore di o uguale a

PGAslFunzioni di calcolo [Pagina 64] 

= Operatore di assegnazione PGAslFunzioni di calcolo [Pagina 64] 

>= Operatore di confronto, maggiore di PGAslFunzioni di calcolo [Pagina 64] 

/ Operatore per divisione PGAslFunzioni di calcolo [Pagina 64] 

/0……/7

Il blocco viene escluso (1° livello escludibile)Il blocco viene escluso (8° livello escludibile)

PGsl 

A Nome degli assi m/s PGAslProgrammazione dell'orientamento utensile (A..., B..., C..., LEAD, TILT) [Pagina 335] 

A2 Orientamento utensile: Angolo RPY o di Eulero

s PGAslProgrammazione dell'orientamento utensile (A..., B..., C..., LEAD, TILT) [Pagina 335]

A3 Orientamento utensile: Componente vettoriale, direzionale/normale alla superficie

s PGAslProgrammazione dell'orientamento utensile (A..., B..., C..., LEAD, TILT) [Pagina 335] 

A4 Orientamento utensile: Vettore normale alla superficie per l'inizio blocco

s PGAslFresatura frontale (fresatura 3D A4, B4, C4, A5, B5, C5) [Pagina 342] 

A5 Orientamento utensile: vettore normale alla superficie per la fine blocco

s PGAslFresatura frontale (fresatura 3D A4, B4, C4, A5, B5, C5) [Pagina 342] 

ABS Valore assoluto (entità) PGAslFunzioni di calcolo [Pagina 64] 

AC Quote assolute di coordinate/posizioni s PGsl

ACC Influsso dell'accelerazione assiale attuale

m PGsl 

ACCLIMA Influsso dell'accelerazione assiale attuale massima

m PGsl 

ACN Quota assoluta per assi rotanti, raggiungimento posizione in direzione negativa

s PGsl

ACOS Arco-coseno(funzione trigonometrica)

PGAslFunzioni di calcolo [Pagina 64] 

ACP Quota assoluta per assi rotanti, raggiungimento posizione in direzione positiva

s PGsl

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 829: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle17.1 Istruzioni

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 829

ACTBLOCNO Output del numero di blocco attuale di un blocco di allarme, anche se la "soppressione della visualizzazione del blocco attuale" (DISPLOF) è attiva!

PGAslDisattivazione della visualizzazione del blocco attuale (DISPLOF, DISPLON, ACTBLOCNO) [Pagina 179] 

ADDFRAME Inclusione ed eventuale attivazione di un frame misurato

PGAsl, FB1(K2)Calcolo del frame in base a 3 punti di misura nello spazio (MEAFRAME) [Pagina 310] 

ADIS Distanza di raccordo per funzioni vettoriali G1, G2, G3, ...

m PGsl 

ADISPOS Distanza di raccordo per rapido G0 m PGsl 

ADISPOSA Grandezza della finestra di tolleranza per IPOBRKA

m PGAslCriterio programmabile di fine movimento (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA) [Pagina 286] 

ALF Angolo di svincolo rapido m PGAslSvincolo rapido dal profilo (SETINT LIFTFAST, ALF) [Pagina 126] 

AMIRROR Specularità programmabile s PGsl 

AND AND logico PGAslOperazioni logiche e di confronto [Pagina 67] 

ANG Angolo del tratto di profilo s PGsl 

AP angolo polare m/s PGsl 

APR Lettura/visualizzazione della protezione d'accesso

PGAslAttributo: diritti di accesso (APR, APW, APRP, APWP, APRB, APWB) [Pagina 41] 

APRB Lettura dell'autorizzazione di accesso, BTSS

PGAslAttributo: diritti di accesso (APR, APW, APRP, APWP, APRB, APWB) [Pagina 41]

APRP Lettura dell'autorizzazione di accesso, programma pezzo

PGAslAttributo: diritti di accesso (APR, APW, APRP, APWP, APRB, APWB) [Pagina 41]

APW Scrittura della protezione d'accesso PGAslAttributo: diritti di accesso (APR, APW, APRP, APWP, APRB, APWB) [Pagina 41] 

APWB Scrittura dell'autorizzazione di accesso, BTSS

PGAslAttributo: diritti di accesso (APR, APW, APRP, APWP, APRB, APWB) [Pagina 41]

APWP Scrittura dell'autorizzazione di accesso, programma pezzo

PGAslAttributo: diritti di accesso (APR, APW, APRP, APWP, APRB, APWB) [Pagina 41]

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 830: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle 17.1 Istruzioni

Preparazione del lavoro830 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

APX Definizione della protezione d'accesso per l'esecuzione dell'elemento del linguaggio specificato

PGAslRidefinizione delle variabili di sistema, variabili utente e istruzioni NC (REDEF) [Pagina 31] 

AR angolo di apertura m/s PGsl 

AROT Rotazione programmabile s PGsl 

AROTS Rotazioni frame programmabili con angoli nello spazio

s PGsl 

AS Definizione macro PGAslTecnica delle macro (DEFINE ... AS) [Pagina 216] 

ASCALE Scala programmabile s PGsl 

ASIN Funzione di calcolo, arcoseno PGAslFunzioni di calcolo [Pagina 64] 

ASPLINE Spline Akima m PGAslInterpolazione spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) [Pagina 246] 

ATAN2 Arco-tangente 2 PGAslFunzioni di calcolo [Pagina 64] 

ATOL Tolleranza specifica per asse per le funzioni compressore, smorzamento dell'orientamento e tipi di movimento raccordato

PGAslTolleranza programmabile di profilo/orientamento (CTOL, OTOL, ATOL) [Pagina 500]

ATRANS Traslazione additiva programmabile s PGsl

AX Indicatore asse variabile m/s PGAslFunzioni per gli assi (AXNAME, AX, SPI, AXTOSPI, ISAXIS, AXSTRING, MODAXVAL) [Pagina 679] 

AXCTSWE Rotazione del contenitore d'assi PGAslContainer assi (AXCTSWE, AXCTSWED, AXCTSWEC) [Pagina 687] 

AXCTSWEC Annullamento dell'abilitazione della rotazione container assi

PGAslContainer assi (AXCTSWE, AXCTSWED, AXCTSWEC) [Pagina 687]

AXCTSWED Rotazione container assi (variante di comando per la messa in servizio!)

PGAslContainer assi (AXCTSWE, AXCTSWED, AXCTSWEC) [Pagina 687] 

AXIS Identificatore dell'asse, indirizzo dell'asse

PGAslDefinizione di variabili utente (DEF) [Pagina 25] 

AXNAME Converte la stringa di ingresso in identificatore dell'asse

PGAslFunzioni per gli assi (AXNAME, AX, SPI, AXTOSPI, ISAXIS, AXSTRING, MODAXVAL) [Pagina 679] 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 831: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle17.1 Istruzioni

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 831

AXSTRING Converte la stringa in numero del mandrino

PGAslFunzioni per gli assi (AXNAME, AX, SPI, AXTOSPI, ISAXIS, AXSTRING, MODAXVAL) [Pagina 679] 

AXTOCHAN Richiesta di un asse per un determinato canale. È possibile dal programma NC e dalla sincronizzazione.

PGAslSpostamento di un asse in un altro canale (AXTOCHAN) [Pagina 137]

AXTOSPI Converte l'identificatore dell'asse in un indice mandrino

PGAslFunzioni per gli assi (AXNAME, AX, SPI, AXTOSPI, ISAXIS, AXSTRING, MODAXVAL) [Pagina 679] 

B Nome degli assi m/s PGAslProgrammazione dell'orientamento utensile (A..., B..., C..., LEAD, TILT) [Pagina 335] 

B2 Orientamento utensile: Angolo RPY o di Eulero

s PGAslProgrammazione dell'orientamento utensile (A..., B..., C..., LEAD, TILT) [Pagina 335] 

B3 Orientamento utensile: Componente vettoriale, direzionale/normale alla superficie

s PGAslProgrammazione dell'orientamento utensile (A..., B..., C..., LEAD, TILT) [Pagina 335] 

B4 Orientamento utensile: Vettore normale alla superficie per l'inizio blocco

s PGAslFresatura frontale (fresatura 3D A4, B4, C4, A5, B5, C5) [Pagina 342] 

B5 Orientamento utensile: Vettore normale alla superficie per la fine blocco

s PGAslFresatura frontale (fresatura 3D A4, B4, C4, A5, B5, C5) [Pagina 342] 

B_AND AND a bit PGAslOperazioni logiche e di confronto [Pagina 67] 

B_OR OR a bit PGAslOperazioni logiche e di confronto [Pagina 67] 

B_NOT Negazione a bit PGAslOperazioni logiche e di confronto [Pagina 67] 

B_XOR OR esclusivo a bit PGAslOperazioni logiche e di confronto [Pagina 67] 

BAUTO Definizione della prima sezione spline attraverso i 3 punti successivi

m PGAslInterpolazione spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) [Pagina 246] 

BLOCK Definisce assieme alla parola chiave TO la sezione di programma da elaborare in un sottoprogramma indiretto

PGAslRichiamo indiretto del sottoprogramma con indicazione della parte di programma da eseguire (CALL BLOCK ... TO ...) [Pagina 202] 

BLSYNC L'elaborazione della routine di interrupt deve iniziare con il successivo cambio blocco

PGAslAssegnazione e avvio di routine di interrupt (SETINT, PRIO, BLSYNC) [Pagina 122] 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 832: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle 17.1 Istruzioni

Preparazione del lavoro832 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

BNAT 3) Passaggio naturale al primo blocco Spline

m PGAslInterpolazione spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) [Pagina 246] 

BOOL Tipo di dati: Valori logici TRUE/FALSE oppure 1/0

PGAslDefinizione di variabili utente (DEF) [Pagina 25] 

BOUND Controlla che il valore rientri nel campo di valori definito. In caso di uguaglianza viene restituito il valore di prova.

PGAslMinimo, massimo e campo delle variabili (MINVAL, MAXVAL e BOUND) [Pagina 71] 

BRISK 3) Accelerazione vettoriale a gradino m PGsl 

BRISKA Attivazione accelerazione vettoriale a gradini per gli assi programmati

PGsl 

BSPLINE B-Spline m PGAslInterpolazione spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) [Pagina 246] 

BTAN Passaggio tangenziale al primo blocco Spline

m PGAslInterpolazione spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) [Pagina 246] 

C Nome degli assi m/s PGAslProgrammazione dell'orientamento utensile (A..., B..., C..., LEAD, TILT) [Pagina 335] 

C2 Orientamento utensile: Angolo RPY o di Eulero

s PGAslProgrammazione dell'orientamento utensile (A..., B..., C..., LEAD, TILT) [Pagina 335] 

C3 Orientamento utensile: Componente vettoriale, direzionale/normale alla superficie

s PGAslProgrammazione dell'orientamento utensile (A..., B..., C..., LEAD, TILT) [Pagina 335] 

C4 Orientamento utensile: Vettore normale alla superficie per l'inizio blocco

s PGAslFresatura frontale (fresatura 3D A4, B4, C4, A5, B5, C5) [Pagina 342] 

C5 Orientamento utensile: Vettore normale alla superficie per la fine blocco

s PGAslFresatura frontale (fresatura 3D A4, B4, C4, A5, B5, C5) [Pagina 342] 

CAC Accostamento assoluto a una posizione PGAslRaggiungimento di posizioni codificate (CAC, CIC, CDC, CACP, CACN) [Pagina 245] 

CACN Il valore riportato nella tabella viene raggiunto in modo assoluto in direzione negativa

PGAslRaggiungimento di posizioni codificate (CAC, CIC, CDC, CACP, CACN) [Pagina 245] 

CACP Il valore riportato nella tabella viene raggiunto in modo assoluto in direzione positiva

PGAslRaggiungimento di posizioni codificate (CAC, CIC, CDC, CACP, CACN) [Pagina 245] 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 833: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle17.1 Istruzioni

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 833

CALCDAT Raggio e centro di un cerchio calcolati da 3 o 4 punti

PGAslCalcolo dei dati del cerchio (CALCDAT) [Pagina 739] 

CALCPOSI Verifica del superamento del settore di protezione, limitazione del campo di lavoro e finecorsa software

PGAslVerifica del superamento del settore di protezione, limitazione del campo di lavoro e finecorsa software (CALCPOSI) [Pagina 237] 

CALL Richiamo indiretto di sottoprogrammi PGAslRichiamo indiretto di sottoprogramma (CALL) [Pagina 201] 

CALLPATH Ampliamento del percorso di ricerca programmabile in un richiamo di sottoprogramma

PGAslEstensione del percorso di ricerca nei richiami di sottoprogrammi (CALLPATH) [Pagina 206] 

CANCEL Interruzione di un'azione sincrona modale

PGAslCancellazione dell'azione sincrona (CANCEL) [Pagina 646] 

CASE Diramazione condizionata PGAslDiramazione del programma(CASE ... OF ... DEFAULT ...) [Pagina 97] 

CDC Accostamento diretto a una posizione PGAslRaggiungimento di posizioni codificate (CAC, CIC, CDC, CACP, CACN) [Pagina 245] 

CDOF 3) Sorveglianza anticollisione OFF m PGsl 

CDOF2 Sorveglianza anticollisione OFF, con fresatura periferica 3D

m PGsl 

CDON Sorveglianza anticollisione ON m PGsl 

CFC 3) Avanzamento costante sul profilo m PGsl 

CFIN Avanzamento costante solo per curvatura interna, non per curvatura esterna

m PGsl 

CFINE Assegnazione della traslazione fine a una variabile FRAME

PGAslTraslazione grossolana e fine (CFINE, CTRANS) [Pagina 305] 

CFTCP Avanzamento costante nel punto di riferimento del tagliente utensile, percorso riferito al centro

m PGsl 

CHAN Specifica del campo di validità dei dati PGAslDefinizione di variabili utente (DEF) [Pagina 25] 

CHANDATA Impostare numero di canale per accessi ai dati del canale

PGAslMemoria di lavoro (CHANDATA, COMPLETE, INITIAL) [Pagina 224] 

CHAR Tipo di dati: carattere ASCII PGAslDefinizione di variabili utente (DEF) [Pagina 25] 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 834: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle 17.1 Istruzioni

Preparazione del lavoro834 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

CHECKSUM Forma il checksum su un campo come STRING di lunghezza predefinita

PGAslCalcolo del checksum mediante un campo (CHECKSUM) [Pagina 158] 

CHF Smusso;valore = lunghezza dello smusso

s PGsl 

CHKDM Controllo di univocità in un magazzino FBWCHKDNO Prova di univocità dei numeri D PGAsl

Assegnazione libera dei numeri D: Controllo dei numeri D (CHKDNO) [Pagina 441] 

CHR Smusso;valore = lunghezza dello smusso nella direzione di movimento

PGsl 

CIC Accostamento incrementale a una posizione

PGAslRaggiungimento di posizioni codificate (CAC, CIC, CDC, CACP, CACN) [Pagina 245] 

CIP interpolazione circolare tramite punto intermedio

m PGsl 

CLEARM Ripristino di una o più label per la coordinazione dei canali

PGAslCoordinamento dei programmi (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM) [Pagina 115] 

CLRINT Disattivazione Interrupt PGAslCancellazione dell'assegnazione di una routine di interrupt (CLRINT) [Pagina 125] 

CMIRROR specularità rispetto a un asse delle coordinate

PGAslFunzioni di calcolo [Pagina 64]

COARSEA Fine movimento al raggiungimento di "Arresto preciso"

m PGAslCriterio programmabile di fine movimento (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA) [Pagina 286] 

COMPCAD Compressore ON: Qualità superficiale ottimizzata per programmi CAD

m PGAslCompressione blocco NC (COMPON, COMPCURV, COMPCAD, COMPOF) [Pagina 260] 

COMPCURV Compressore ON: polinomi a curvatura continua

m PGAslCompressione blocco NC (COMPON, COMPCURV, COMPCAD, COMPOF) [Pagina 260] 

COMPLETE Istruzione di controllo per lettura e scrittura dei dati

PGAslMemoria di lavoro (CHANDATA, COMPLETE, INITIAL) [Pagina 224]

COMPOF 3) Compressore OFF m PGAslCompressione blocco NC (COMPON, COMPCURV, COMPCAD, COMPOF) [Pagina 260] 

COMPON Compressore ON PGAslCompressione blocco NC (COMPON, COMPCURV, COMPCAD, COMPOF) [Pagina 260] 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 835: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle17.1 Istruzioni

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 835

CONTDCON Codifica del profilo sotto forma di tabella ON

PGAslCreazione della tabella dei profili codificata (CONTDCON) [Pagina 732] 

CONTPRON Attivazione elaborazione dei punti di riferimento

PGAslCreazione della tabella dei profili (CONTPRON) [Pagina 726] 

CORROF Vengono disattivati tutti i movimenti attivi sovrapposti.

PGsl 

COS Coseno(funzione trigonometrica)

PGAslFunzioni di calcolo [Pagina 64] 

COUPDEF Definizione raggruppamento ELG / raggruppamento mandrini sincroni

PGAslMandrino sincrono: Programmazione (COUPDEF, COUPDEL, COUPON, COUPONC, COUPOF, COUPOFS, COUPRES, WAITC) [Pagina 544] 

COUPDEL Cancellazione raggruppamento ELG PGAslMandrino sincrono: Programmazione (COUPDEF, COUPDEL, COUPON, COUPONC, COUPOF, COUPOFS, COUPRES, WAITC) [Pagina 544] 

COUPOF Raggruppamento ELG / coppia di mandrini sincroni ON

PGAslMandrino sincrono: Programmazione (COUPDEF, COUPDEL, COUPON, COUPONC, COUPOF, COUPOFS, COUPRES, WAITC) [Pagina 544] 

COUPOFS Disattivazione raggruppamento ELG/coppia mandrini sincroni con arresto del mandrino slave

PGAslMandrino sincrono: Programmazione (COUPDEF, COUPDEL, COUPON, COUPONC, COUPOF, COUPOFS, COUPRES, WAITC) [Pagina 544] 

COUPON Raggruppamento ELG / coppia di mandrini sincroni ON

PGAslMandrino sincrono: Programmazione (COUPDEF, COUPDEL, COUPON, COUPONC, COUPOF, COUPOFS, COUPRES, WAITC) [Pagina 544] 

COUPONC Attivazione gruppo ELG / coppia mandrini sincroni con programmazione precedente

PGAslMandrino sincrono: Programmazione (COUPDEF, COUPDEL, COUPON, COUPONC, COUPOF, COUPOFS, COUPRES, WAITC) [Pagina 544] 

COUPRES Reset raggruppamento ELG PGAslMandrino sincrono: Programmazione (COUPDEF, COUPDEL, COUPON, COUPONC, COUPOF, COUPOFS, COUPRES, WAITC) [Pagina 544] 

CP Movimento interpolato m PGAslMovimento cartesiano PTP [Pagina 388] 

CPRECOF 3) Precisione programmabile del profilo OFF

m PGsl 

CPRECON Precisione programmabile del profilo ON m PGsl 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 836: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle 17.1 Istruzioni

Preparazione del lavoro836 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

CPROT Settore di protezione specifico per canale ON/OFF

PGAslAttivazione/disattivazione dei settori di protezione (CPROT, NPROT) [Pagina 233] 

CPROTDEF Definizione di un settore di protezione specifico del canale

PGAslDefinizione dei settori di protezione (CPROTDEF, NPROTDEF) [Pagina 229] 

CR raggio del cerchio s PGsl 

CROT Rotazione del sistema di coordinate attuale

PGAslFunzioni di calcolo [Pagina 64] 

CROTS Rotazioni programmabili dei frame con angoli nello spazio (rotazione negli assi indicati)

s PGsl 

CRPL Rotazione frame in un piano qualsiasi FB1(K2)CSCALE Fattore di scala per più assi PGAsl

Funzioni di calcolo [Pagina 64] CSPLINE Spline cubico m PGAsl

Interpolazione spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) [Pagina 246] 

CT cerchio con passaggio tangenziale m PGsl 

CTAB Calcola la posizione dell'asse slave in base alla posizione dell'asse master nella tabella di curve

PGAslLettura dei valori delle tabelle delle curve (CTABTSV, CTABTEV, CTABTSP, CTABTEP, CTABSSV, CTABSEV, CTAB, CTABINV, CTABTMIN, CTABTMAX) [Pagina 523] 

CTABDEF Definizione della tabella ON PGAslDefinizione delle tabelle delle curve (CTABDEF, CATBEND) [Pagina 512] 

CTABDEL Cancellare tabella per curve PGAslEliminazione di tabelle delle curve (CTABDEL) [Pagina 519] 

CTABEND Definizione della tabella OFF PGAslDefinizione delle tabelle delle curve (CTABDEF, CATBEND) [Pagina 512] 

CTABEXISTS Verifica la tabella di curve con il numero n

PGAslVerifica della presenza di una tabella delle curve (CTABEXISTS) [Pagina 518] 

CTABFNO Numero di tabelle delle curve ancora possibili in memoria

PGAslTabelle delle curve: verifica dell'utilizzo delle risorse (CTABNO, CTABNOMEM, CTABFNO, CTABSEGID, CTABSEG, CTABFSEG, CTABMSEG, CTABPOLID, CTABPOL, CTABFPOL, CTABMPOL) [Pagina 528] 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 837: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle17.1 Istruzioni

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 837

CTABFPOL Numero di polinomi ancora possibili in memoria

PGAslTabelle delle curve: verifica dell'utilizzo delle risorse (CTABNO, CTABNOMEM, CTABFNO, CTABSEGID, CTABSEG, CTABFSEG, CTABMSEG, CTABPOLID, CTABPOL, CTABFPOL, CTABMPOL) [Pagina 528] 

CTABFSEG Numero dei segmenti di curve ancora possibili in memoria

PGAslTabelle delle curve: verifica dell'utilizzo delle risorse (CTABNO, CTABNOMEM, CTABFNO, CTABSEGID, CTABSEG, CTABFSEG, CTABMSEG, CTABPOLID, CTABPOL, CTABFPOL, CTABMPOL) [Pagina 528] 

CTABID Fornisce il numero di tabella della tabella di curve n

PGAslTabelle delle curve: rilevamento delle proprietà delle tabelle (CTABID, CTABISLOCK, CTABMEMTYP, CTABPERIOD) [Pagina 521] 

CTABINV Calcola la posizione dell'asse master in base alla posizione dell'asse slave nella tabella di curve

PGAslLettura dei valori delle tabelle delle curve (CTABTSV, CTABTEV, CTABTSP, CTABTEP, CTABSSV, CTABSEV, CTAB, CTABINV, CTABTMIN, CTABTMAX) [Pagina 523] 

CTABISLOCK Restituisce lo stato del blocco della tabelle curve con il numero n

PGAslTabelle delle curve: rilevamento delle proprietà delle tabelle (CTABID, CTABISLOCK, CTABMEMTYP, CTABPERIOD) [Pagina 521] 

CTABLOCK Blocco cancellazione e sovrascrittura PGAslInibizione dell'eliminazione e della sovrascrittura delle tabelle delle curve (CTABLOCK, CTABUNLOCK) [Pagina 520] 

CTABMEMTYP Restituisce la memoria nella quale è stata creata la tabella di curve con il numero n.

PGAslTabelle delle curve: rilevamento delle proprietà delle tabelle (CTABID, CTABISLOCK, CTABMEMTYP, CTABPERIOD) [Pagina 521] 

CTABMPOL Numero max. di polinomi ancora possibili in memoria

PGAslTabelle delle curve: verifica dell'utilizzo delle risorse (CTABNO, CTABNOMEM, CTABFNO, CTABSEGID, CTABSEG, CTABFSEG, CTABMSEG, CTABPOLID, CTABPOL, CTABFPOL, CTABMPOL) [Pagina 528] 

CTABMSEG Numero max. di segmenti di curve ancora possibili in memoria

PGAslTabelle delle curve: verifica dell'utilizzo delle risorse (CTABNO, CTABNOMEM, CTABFNO, CTABSEGID, CTABSEG, CTABFSEG, CTABMSEG, CTABPOLID, CTABPOL, CTABFPOL, CTABMPOL) [Pagina 528] 

CTABNO Numero delle tabelle di curve definite in memoria SRAM o DRAM

FB3(M3)

CTABNOMEM Numero delle tabelle di curve definite in memoria SRAM o DRAM

PGAslTabelle delle curve: verifica dell'utilizzo delle risorse (CTABNO, CTABNOMEM, CTABFNO, CTABSEGID, CTABSEG, CTABFSEG, CTABMSEG, CTABPOLID, CTABPOL, CTABFPOL, CTABMPOL) [Pagina 528] 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 838: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle 17.1 Istruzioni

Preparazione del lavoro838 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

CTABPERIOD Restituisce la periodicità della tabelle di curve con il numero n

PGAslTabelle delle curve: rilevamento delle proprietà delle tabelle (CTABID, CTABISLOCK, CTABMEMTYP, CTABPERIOD) [Pagina 521] 

CTABPOL Numero max. di polinomi già utilizzati in memoria

PGAslTabelle delle curve: verifica dell'utilizzo delle risorse (CTABNO, CTABNOMEM, CTABFNO, CTABSEGID, CTABSEG, CTABFSEG, CTABMSEG, CTABPOLID, CTABPOL, CTABFPOL, CTABMPOL) [Pagina 528] 

CTABPOLID Numero dei polinomi di curve utilizzati dalla tabella di curve con il numero n

PGAslTabelle delle curve: verifica dell'utilizzo delle risorse (CTABNO, CTABNOMEM, CTABFNO, CTABSEGID, CTABSEG, CTABFSEG, CTABMSEG, CTABPOLID, CTABPOL, CTABFPOL, CTABMPOL) [Pagina 528] 

CTABSEG Numero dei segmenti di curve già utilizzati in memoria

PGAslTabelle delle curve: verifica dell'utilizzo delle risorse (CTABNO, CTABNOMEM, CTABFNO, CTABSEGID, CTABSEG, CTABFSEG, CTABMSEG, CTABPOLID, CTABPOL, CTABFPOL, CTABMPOL) [Pagina 528] 

CTABSEGID Numero dei segmenti di curve utilizzati dalla tabella di curve con il numero n

PGAslTabelle delle curve: verifica dell'utilizzo delle risorse (CTABNO, CTABNOMEM, CTABFNO, CTABSEGID, CTABSEG, CTABFSEG, CTABMSEG, CTABPOLID, CTABPOL, CTABFPOL, CTABMPOL) [Pagina 528] 

CTABSEV Restituisce il valore finale dell'asse slave di un segmento della tabella di curve

PGAslLettura dei valori delle tabelle delle curve (CTABTSV, CTABTEV, CTABTSP, CTABTEP, CTABSSV, CTABSEV, CTAB, CTABINV, CTABTMIN, CTABTMAX) [Pagina 523] 

CTABSSV Restituisce il valore iniziale dell'asse slave di un segmento della tabella di curve

PGAslLettura dei valori delle tabelle delle curve (CTABTSV, CTABTEV, CTABTSP, CTABTEP, CTABSSV, CTABSEV, CTAB, CTABINV, CTABTMIN, CTABTMAX) [Pagina 523] 

CTABTEP Restituisce il valore dell'asse master alla fine della tabella di curve

PGAslLettura dei valori delle tabelle delle curve (CTABTSV, CTABTEV, CTABTSP, CTABTEP, CTABSSV, CTABSEV, CTAB, CTABINV, CTABTMIN, CTABTMAX) [Pagina 523] 

CTABTEV Restituisce il valore dell'asse slave alla fine della tabella di curve

PGAslLettura dei valori delle tabelle delle curve (CTABTSV, CTABTEV, CTABTSP, CTABTEP, CTABSSV, CTABSEV, CTAB, CTABINV, CTABTMIN, CTABTMAX) [Pagina 523] 

CTABTMAX Restituisce il valore massimo dell'asse slave della tabella di curve

PGAslLettura dei valori delle tabelle delle curve (CTABTSV, CTABTEV, CTABTSP, CTABTEP, CTABSSV, CTABSEV, CTAB, CTABINV, CTABTMIN, CTABTMAX) [Pagina 523] 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 839: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle17.1 Istruzioni

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 839

CTABTMIN Restituisce il valore minimo dell'asse slave della tabella di curve

PGAslLettura dei valori delle tabelle delle curve (CTABTSV, CTABTEV, CTABTSP, CTABTEP, CTABSSV, CTABSEV, CTAB, CTABINV, CTABTMIN, CTABTMAX) [Pagina 523] 

CTABTSP Restituisce il valore dell'asse master all'inizio della tabella di curve

PGAslLettura dei valori delle tabelle delle curve (CTABTSV, CTABTEV, CTABTSP, CTABTEP, CTABSSV, CTABSEV, CTAB, CTABINV, CTABTMIN, CTABTMAX) [Pagina 523] 

CTABTSV Restituisce il valore dell'asse slave all'inizio della tabella di curve

PGAslLettura dei valori delle tabelle delle curve (CTABTSV, CTABTEV, CTABTSP, CTABTEP, CTABSSV, CTABSEV, CTAB, CTABINV, CTABTMIN, CTABTMAX) [Pagina 523] 

CTABUNLOCK Rimozione del blocco di cancellazione e sovrascrittura

PGAslInibizione dell'eliminazione e della sovrascrittura delle tabelle delle curve (CTABLOCK, CTABUNLOCK) [Pagina 520] 

CTOL Tolleranza del profilo per funzioni compressore, spianamento dell'orientamento e tipi di movimento raccordato

PGAslTolleranza programmabile di profilo/orientamento (CTOL, OTOL, ATOL) [Pagina 500]

CTRANS Spostamento origine per più assi PGAslTraslazione grossolana e fine (CFINE, CTRANS) [Pagina 305] 

CUT2D 3) Correzione utensile 2D m PGsl 

CUT2DF Correzione utensile 2D La correzione utensile è attiva rispetto al frame attuale (piano inclinato).

m PGsl 

CUT3DC Correzione utensile 3D, fresatura periferica

m PGAslAttivazione delle correzioni utensili 3D (CUT3DC..., CUT3DF...) [Pagina 421] 

CUT3DCC Correzione utensile 3D, fresatura periferica con superfici di limitazione

m PGAslCorrezione utensile 3D: Considerazione di una superficie limite (CUT3DCC, CUT3DCCD) [Pagina 431] 

CUT3DCCD Correzione utensile 3D, fresatura periferica con superfici di limitazione e utensile differenziale

m PGAslCorrezione utensile 3D: Considerazione di una superficie limite (CUT3DCC, CUT3DCCD) [Pagina 431] 

CUT3DF Correzione utensile 3D, fresatura frontale

m PGAslAttivazione delle correzioni utensili 3D (CUT3DC..., CUT3DF...) [Pagina 421] 

CUT3DFF Correzione utensile 3D, fresatura frontale con orientamento utensile costante dipendente dal frame attivo

m PGAslAttivazione delle correzioni utensili 3D (CUT3DC..., CUT3DF...) [Pagina 421] 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 840: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle 17.1 Istruzioni

Preparazione del lavoro840 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

CUT3DFS Correzione utensile 3D, fresatura frontale con orientamento utensile costante indipendente dal frame attivo

m PGAslAttivazione delle correzioni utensili 3D (CUT3DC..., CUT3DF...) [Pagina 421] 

CUTCONOF 3) Correzione raggio costante OFF m PGsl 

CUTCONON Correzione raggio costante ON m PGsl 

CUTMOD Attivazione della funzione "Modifica dei dati di correzione con utensili orientabili"

PGAslModifica del dati dei taglienti con utensili orientabili (CUTMOD) [Pagina 457] 

CYCLE60 Ciclo tecnologico:ciclo incisione

PGAslCiclo di incisione - CYCLE60 [Pagina 788]

CYCLE61 Ciclo tecnologico:fresatura a spianare

PGAslFresatura a spianare - CYCLE61 [Pagina 763]

CYCLE62 Ciclo tecnologico:richiamo profilo

PGAslRichiamo profilo - CYCLE62 [Pagina 791]

CYCLE63 Ciclo tecnologico:fresatura profilo della tasca

PGAslFresatura profilo della tasca - CYCLE63 [Pagina 797]

CYCLE64 Ciclo tecnologico:preforatura profilo della tasca

PGAslPreforatura profilo della tasca - CYCLE64 [Pagina 795]

CYCLE70 Ciclo tecnologico:fresatura di filetti

PGAslFilettatura con fresa - CYCLE70 [Pagina 786]

CYCLE72 Ciclo tecnologico:fresatura continua

PGAslFresatura continua - CYCLE72 [Pagina 792]

CYCLE76 Ciclo tecnologico:fresatura perno rettangolare

PGAslFresatura di perni rettangolari - CYCLE76 [Pagina 770]

CYCLE77 Ciclo tecnologico:fresatura perno circolare

PGAslFresatura di perni circolari - CYCLE77 [Pagina 772]

CYCLE78 Ciclo tecnologico:foratura e fresatura di filetti

PGAslFresatura-foratura di filetti - CYCLE78 [Pagina 756]

CYCLE79 Ciclo tecnologico:poligono

PGAslPoligono - CYCLE79 [Pagina 774]

CYCLE81 Ciclo tecnologico:foratura, centratura

PGAslForatura, centratura - CYCLE81 [Pagina 745]

CYCLE82 Ciclo tecnologico:foratura, svasatura

PGAslForatura, svasatura - CYCLE82 [Pagina 746]

CYCLE83 Ciclo tecnologico:foratura profonda

PGAslForatura profonda - CYCLE83 [Pagina 748]

CYCLE84 Ciclo tecnologico:maschiatura senza utensile compensato

PGAslMaschiatura senza utensile compensato - CYCLE84 [Pagina 751]

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 841: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle17.1 Istruzioni

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 841

CYCLE85 Ciclo tecnologico:alesatura

PGAslAlesatura - CYCLE85 [Pagina 747]

CYCLE86 Ciclo tecnologico:mandrinatura

PGAslSvasatura - CYCLE86 [Pagina 750]

CYCLE92 Ciclo tecnologico:troncatura

PGAslTroncatura - CYCLE92 [Pagina 814]

CYCLE98 Ciclo tecnologico:serie di filetti

PGAslSerie di filetti - CYCLE98 [Pagina 811]

CYCLE99 Ciclo tecnologico:filettatura

PGAslFilettatura - CYCLE99 [Pagina 808]

CYCLE800 Ciclo tecnologico:orientamento

PGAslOrientamento - CYCLE800 [Pagina 821]

CYCLE801 Ciclo tecnologico:reticolo o cornice

PGAslReticolo o cornice - CYCLE801 [Pagina 761]

CYCLE802 Ciclo tecnologico:posizioni a piacere

PGAslPosizioni a piacere - CYCLE802 [Pagina 758]

CYCLE832 Ciclo tecnologico:High Speed Settings

PGAslHigh Speed Settings - CYCLE832 [Pagina 824]

CYCLE840 Ciclo tecnologico:maschiatura con utensile compensato

PGAslMaschiatura con utensile compensato - CYCLE840 [Pagina 754]

CYCLE899 Ciclo tecnologico:fresatura di cava aperta

PGAslFresatura di cava aperta - CYCLE899 [Pagina 782]

CYCLE930 Ciclo tecnologico:gola

PGAslGola - CYCLE930 [Pagina 802]

CYCLE940 Ciclo tecnologico:forme di scarico

PGAslForme di scarico - CYCLE940 [Pagina 805]

CYCLE951 Ciclo tecnologico:sgrossatura

PGAslSgrossatura - CYCLE951 [Pagina 799]

CYCLE952 Ciclo tecnologico:troncatura del profilo

PGAslTroncatura del profilo - CYCLE952 [Pagina 816]

CYCLE_HSC Ciclo tecnologico:asportazione trucioli ad alta velocità

PGAslAsportazione del truciolo ad alta velocità (HSC) - CYCLE_HSC [Pagina 825]

Istruzione Significato W 1) Per una descrizione, vedere 2)

Istruzione Significato W 1) Per una descrizione, vedere 2)

D Numero di correzione utensile PGsl 

D0 Con D0 le correzioni per l'utensile sono inattive

PGsl 

DAC Programmazione del diametro assoluta, specifica per asse e blocco-blocco

s PGsl 

Page 842: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle 17.1 Istruzioni

Preparazione del lavoro842 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

DC Quota assoluta per assi rotanti, accostamento diretto alla posizione

s PGsl 

DEF Definizione delle variabili PGAslDefinizione di variabili utente (DEF) [Pagina 25] 

DEFINE Parola chiave per definizioni macro PGAslTecnica delle macro (DEFINE ... AS) [Pagina 216] 

DEFAULT Diramazione in CASE PGAslDiramazione del programma(CASE ... OF ... DEFAULT ...) [Pagina 97] 

DELAYFSTON Definizione dell'inizio di un settore Stop Delay

m PGAslDiramazione del programma(CASE ... OF ... DEFAULT ...) [Pagina 97] 

DELAYFSTOF Definizione della fine di un settore Stop Delay

m PGAslInterruzioni condizionate delle sezioni di programma (DELAYFSTON, DELAYFSTOF) [Pagina 478] 

DELDL Cancellazione delle correzioni additive PGAslCancellazione delle correzioni supplementari (DELDL) [Pagina 407] 

DELDTG Cancellazione del percorso residuo PGAslCancellazione percorso residuo (DELDTG) [Pagina 589] 

DELETE Cancellazione del file indicato. Il nome del file si può indicare con il percorso e l'identificatore del file.

PGAslCancellazione del file (DELETE) [Pagina 146] 

DELTOOLENV Cancellazione del set di dati per la cancellazione degli ambienti utensile

FB1(W1)

DIACYCOFA Programmazione modale del diametro specifica per asse: OFF nei cicli

m FB1(P1)

DIAM90 Programmazione del diametro per G90, programmazione del raggio per G91

m PGAsl 

DIAM90A Programmazione modale del diametro specifica per asse per G90 e AC, programmazione del raggio per G91 e IC

m PGsl 

DIAMCHAN Acquisizione di tutti gli assi dagli MD delle funzioni degli assi nello stato del canale della programmazione del diametro

PGsl 

DIAMCHANA Acquisizione dello stato del canale della programmazione del diametro

PGsl 

DIAMCYCOF Programmazione del diametro specifica del canale: OFF nei cicli

m FB1(P1)

DIAMOF 3) Programmazione diametrale: OFFImpostazione di base, vedere costruttore della macchina

m PGsl 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 843: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle17.1 Istruzioni

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 843

DIAMOFA Programmazione del diametro modale specifica dell'asse: OFF Impostazione di base, vedere costruttore della macchina

m PGsl 

DIAMON Programmazione diametrale: ON m PGsl 

DIAMONA Programmazione del diametro modale specifica dell'asse: ON Attivazione, vedere costruttore della macchina

m PGsl 

DIC Programmazione del diametro relativa, specifica per asse e blocco-blocco

s PGsl 

DILF Percorso di svincolo (lunghezza) m PGsl 

DISABLE Interrupt OFF PGAslDisattivazione/riattivazione dell'assegnazione di una routine di interrupt (DISABLE, ENABLE) [Pagina 124] 

DISC Sopraelevazione cerchio di raccordo correzione raggio utensile

m PGsl 

DISCL Distanza del punto finale del movimento di incremento rapido dal piano di lavorazione

PGsl 

DISPLOF Escludere la visualizzazione del blocco attuale

PGAslDisattivazione della visualizzazione del blocco attuale (DISPLOF, DISPLON, ACTBLOCNO) [Pagina 179] 

DISPLON Rimozione della soppressione della visualizzazione del blocco attuale

PGAslDisattivazione della visualizzazione del blocco attuale (DISPLOF, DISPLON, ACTBLOCNO) [Pagina 179] 

DISPR Differenza del profilo di riposizionamento

s PGAslRiaccostamento al profilo (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN) [Pagina 486] 

DISR Distanza di riposizionamento s PGAslRiaccostamento al profilo (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN) [Pagina 486] 

DITE Percorso di svincolo in filettatura m PGsl 

DITS Percorso di accostamento in filettatura m PGsl 

DIV Divisione Intero PGAslFunzioni di calcolo [Pagina 64] 

DL Selezionare la correzione utensile additiva dipendente dalla posizione (DL, correzione di messa a punto totale)

m PGAslSelezione di correzioni addizionali (DL) [Pagina 404] 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 844: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle 17.1 Istruzioni

Preparazione del lavoro844 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

DO Parola chiave per azione sincrona, attiva l'azione se la condizione è soddisfatta

PGAslAzioni (DO) [Pagina 565] 

DRFOF Disattivazione delle traslazioni con volantino (DRF)

m PGsl 

DRIVE Accelerazione vettoriale in funzione della velocità

m PGsl 

DRIVEA Attivare la caratteristica di accelerazione a due inclinazioni per gli assi programmati

PGsl 

DYNFINISH Dinamica per microfinitura m PGsl 

DYNNORM Dinamica normale m PGsl 

DYNPOS Dinamica per funzionamento di posizionamento, maschiatura

m PGsl 

DYNROUGH Dinamica per sgrossatura m PGsl 

DYNSEMIFIN Dinamica per la finitura m PGsl 

DZERO Contraddistingue tutti i numeri D dell’unità TO come non validi

PGAslAssegnazione libera dei numeri D: Impostazione non valida dei numeri D (DZERO) [Pagina 444] 

EAUTO Definizione dell'ultimo settore Spline tramite gli ultimi 3 punti

m PGAslInterpolazione spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) [Pagina 246] 

EGDEF Definizione di un cambio elettronico PGAslDefinizione del cambio elettronico (EGDEF) [Pagina 536] 

EGDEL Cancellazione della definizione di accoppiamento per l'asse slave

PGAslCancellazione della definizione di un cambio elettronico (EGDEL) [Pagina 542] 

EGOFC Disattivazione continua del cambio elettronico

PGAslDisattivazione del cambio elettronico (EGOFS, EGOFC) [Pagina 541] 

EGOFS Disattivazione selettiva del cambio elettronico

PGAslDisattivazione del cambio elettronico (EGOFS, EGOFC) [Pagina 541] 

EGON Attivazione cambio elettronico PGAslDisattivazione del cambio elettronico (EGOFS, EGOFC) [Pagina 541] 

EGONSYN Attivazione cambio elettronico PGAslDisattivazione del cambio elettronico (EGOFS, EGOFC) [Pagina 541] 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 845: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle17.1 Istruzioni

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 845

EGONSYNE Attivazione cambio elettronico, con impostazione del modo di accostamento

PGAslDisattivazione del cambio elettronico (EGOFS, EGOFC) [Pagina 541] 

ELSE Diramazione del programma, se non è soddisfatta la condizione IF

PGAslLoop di programma con alternativa (IF, ELSE, ENDIF) [Pagina 107] 

ENABLE Interrupt ON PGAslDisattivazione/riattivazione dell'assegnazione di una routine di interrupt (DISABLE, ENABLE) [Pagina 124] 

ENAT 3) Raccordo curvilineo naturale al successivo blocco di movimento

m PGAslInterpolazione spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) [Pagina 246] 

ENDFOR Riga di fine del loop di conteggio FOR PGAslLoop con conteggio (FOR ... TO ..., ENDFOR) [Pagina 110] 

ENDIF Riga di fine della diramazione IF PGAslLoop di programma con alternativa (IF, ELSE, ENDIF) [Pagina 107] 

ENDLABEL Endlabel per ripetizioni del programma pezzo tramite REPEAT

PGAsl, FB1(K1)Ripetizione di una parte di programma (REPEAT, REPEATB, ENDLABEL, P) [Pagina 99] 

ENDLOOP Riga di fine del loop di programma senza fine LOOP

PGAslLoop di programma permanente (LOOP, ENDLOOP) [Pagina 109] 

ENDPROC Riga di fine di un programma con riga iniziale PROC

ENDWHILE Riga di fine del loop WHILE PGAslLoop di programma con condizione all'inizio del loop (WHILE, ENDWHILE) [Pagina 112] 

ESRR Parametrizzazione nell'azionamento dello svincolo ESR autarchico dell'azionamento

PGAslProgettazione dello svincolo autarchico dell'azionamento (ESRR) [Pagina 723]

ESRS Parametrizzazione nell'azionamento dell'arresto ESR autarchico dell'azionamento

PGAslProgettazione dell'arresto autarchico dell'azionamento (ESRS) [Pagina 722]

ETAN Raccordo curvilineo tangenziale al successivo blocco di movimento all’inizio della Spline

m PGAslInterpolazione spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) [Pagina 246] 

EVERY Esecuzione dell'azione sincrona se la condizione passa da FALSE a TRUE

PGAslVerifica ciclica della condizione (WHEN, WHENEVER, FROM, EVERY) [Pagina 563] 

EX Parola chiave per l'assegnazione dei valori in scrittura esponenziale

PGAslVariabili utente predefinite: Parametri di calcolo (R) [Pagina 21] 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 846: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle 17.1 Istruzioni

Preparazione del lavoro846 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

EXECSTRING Trasmissione di una variabile String con la riga di programma pezzo da eseguire

PGAslProgrammazione indiretta di righe di partprogram (EXECSTRING) [Pagina 63] 

EXECTAB Elaborare un elemento dalla tabella dei movimenti

PGAslProgrammazione indiretta di righe di partprogram (EXECSTRING) [Pagina 63] 

EXECUTE Esecuzione programma ON PGAslDisattivazione della preparazione del profilo (EXECUTE) [Pagina 741] 

EXP Funzione esponenziale ex PGAslFunzioni di calcolo [Pagina 64] 

EXTCALL Esecuzione di un sottoprogramma esterno

PGAslEsecuzione di un sottoprogramma esterno (EXTCALL) [Pagina 208] 

EXTCLOSE Chiusura di un dispositivo/file esterno aperto per la scrittura

PGAslEmissione su un dispositivo/file esterno (EXTOPEN, WRITE, EXTCLOSE) [Pagina 710]

EXTERN Comunicazione di un sottoprogramma con trasferimento dei parametri

PGAslRichiamo del sottoprogramma senza assegnazione di parametri [Pagina 193] 

EXTOPEN Apertura di un dispositivo/file esterno per il canale per la scrittura

PGAslEmissione su un dispositivo/file esterno (EXTOPEN, WRITE, EXTCLOSE) [Pagina 710]

F Valore avanzamento (in combinazione con G4, con F viene programmato anche il tempo di sosta)

PGsl 

FA Avanzamento assiale m PGsl 

FAD Avanzamento di incremento per accostamento e svincolo morbido

PGsl 

FALSE Costante logica: falso PGAslDefinizione di variabili utente (DEF) [Pagina 25] 

FB Avanzamento blocco a blocco PGsl 

FCTDEF Definizione funzione polinomiale PGAslCorrezione utensile online (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF) [Pagina 416] 

FCUB Avanzamento modificabile dopo Spline cubica

m PGAslAndamento dell'avanzamento (FNORM, FLIN, FCUB, FPO) [Pagina 470] 

FD Avanzamento vettoriale per sovrapposizione del volantino

s PGsl 

FDA Avanzamento assiale per sovrapposizione da volantino

s PGsl 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 847: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle17.1 Istruzioni

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 847

FENDNORM Rallentamento d'angolo OFF m PGAslRiduzione dell'avanzamento con rallentamento sugli spigoli (FENDNORM, G62, G621) [Pagina 285] 

FFWOF 3) Precomando OFF m PGsl 

FFWON Precomando ON m PGsl 

FGREF Raggio di riferimento con assi rotanti o fattori di riferimento di traiettoria negli assi di orientamento (interpolazione vettoriale)

m PGsl 

FGROUP Definizione dell'asse (o degli assi) con avanzamento tangenziale

PGsl 

FI Parametro per l'accesso ai dati del Frame: Traslazione fine

PGAslLeggere e modificare le componenti frame (TR, FI, RT, SC, MI) [Pagina 301] 

FIFOCTRL Controllo del buffer di preelaborazione m PGAslEsecuzione del programma con memoria di preelaborazione (STOPFIFO, STARTFIFO, FIFOCTRL, STOPRE) [Pagina 475]

FILEDATE Fornisce la data dell'ultimo accesso in scrittura al file

PGAslLettura delle informazioni sul file (FILEDATE, FILETIME, FILESIZE, FILESTAT, FILEINFO) [Pagina 154] 

FILEINFO Fornisce la somma di FILEDATE, FILESIZE, FILESTAT e FILETIME

PGAslLettura delle informazioni sul file (FILEDATE, FILETIME, FILESIZE, FILESTAT, FILEINFO) [Pagina 154] 

FILESIZE Fornisce le dimensioni attuali del file PGAslLettura delle informazioni sul file (FILEDATE, FILETIME, FILESIZE, FILESTAT, FILEINFO) [Pagina 154] 

FILESTAT Fornisce lo stato del file per i diritti di lettura, scrittura, esecuzione, visualizzazione, cancellazione (rwxsd)

PGAslLettura delle informazioni sul file (FILEDATE, FILETIME, FILESIZE, FILESTAT, FILEINFO) [Pagina 154] 

FILETIME Fornisce l'ora dell'ultimo accesso in scrittura al file

PGAslLettura delle informazioni sul file (FILEDATE, FILETIME, FILESIZE, FILESTAT, FILEINFO) [Pagina 154] 

FINEA Fine movimento al raggiungimento di "arresto di precisione fine"

m PGAslCriterio programmabile di fine movimento (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA) [Pagina 286] 

FL Velocità limite per gli assi sincroni m PGsl 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 848: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle 17.1 Istruzioni

Preparazione del lavoro848 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

FLIN avanzamento modificabile in modo lineare

m PGAslAndamento dell'avanzamento (FNORM, FLIN, FCUB, FPO) [Pagina 470] 

FMA Avanzamento multiplo assiale m PGsl 

FNORM 3) avanzamento normale secondo DIN66025

m PGAslAndamento dell'avanzamento (FNORM, FLIN, FCUB, FPO) [Pagina 470] 

FOCOF Disattivazione avanzamento con coppia/forza limitata

m PGAslAvanzamento su riscontro fisso (FXS, FXST, FXSW, FOCON, FOCOF) [Pagina 630] 

FOCON Attivazione avanzamento con coppia/forza limitata

m PGAslAvanzamento su riscontro fisso (FXS, FXST, FXSW, FOCON, FOCOF) [Pagina 630] 

FOR Loop di conteggio con numero fisso di ripetizioni

PGAslLoop con conteggio (FOR ... TO ..., ENDFOR) [Pagina 110] 

FP Punto fisso: Numero del punto fisso da raggiungere

s PGsl 

FPO Caratteristica dell'avanzamento programmata con un polinomio

PGAslAndamento dell'avanzamento (FNORM, FLIN, FCUB, FPO) [Pagina 470] 

FPR Identificazione asse rotante PGsl 

FPRAOF Disattivazione avanzamento per giro PGsl 

FPRAON Attivazione avanzamento per giro PGsl 

FRAME Tipo di dati per la definizione dei sistemi di coordinate

PGAslDefinizione di nuovi frame (DEF FRAME) [Pagina 304] 

FRC Avanzamento per raggio e smusso s PGsl 

FRCM Avanzamento per raggio e smusso modale

m PGsl 

FROM L'azione viene eseguita quando la condizione è soddisfatta e fintanto che è attiva l'azione sincrona

PGAslVerifica ciclica della condizione (WHEN, WHENEVER, FROM, EVERY) [Pagina 563] 

FTOC Modificare correzione fine dell'utensile PGAslCorrezione utensile on-line (FTOC) [Pagina 600] 

FTOCOF 3) Correzione utensile precisa attiva online OFF

m PGAslCorrezione utensile online (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF) [Pagina 416] 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 849: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle17.1 Istruzioni

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 849

FTOCON Correzione utensile precisa attiva online ON

m PGAslCorrezione utensile online (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF) [Pagina 416] 

FXS Movimento su riscontro fisso ON m PGsl 

FXST Limite di coppia per posizionamento su riscontro fisso

m PGsl 

FXSW Finestra di sorveglianza per posizionamento su riscontro fisso

PGsl 

FZ Avanzamento dente m PGsl

Istruzione Significato W 1) Per una descrizione, vedere 2)

Istruzione Significato W 1) Per una descrizione, vedere 2)

G0 Interpolazione lineare in rapido (movimento rapido)

m PGsl 

G1 3) Interpolazione lineare con avanzamento (interpolazione lineare)

m PGsl 

G2 Interpolazione circolare in senso orario m PGsl 

G3 Interpolazione circolare in senso antiorario

m PGsl 

G4 Tempo di sosta, determinato s PGsl 

G5 Rettifica con mola obliqua s PGAslAsse inclinato (TRAANG) [Pagina 383] 

G7 Movimento di compensazione nella rettifica con mola obliqua

s PGAslAsse inclinato (TRAANG) [Pagina 383] 

G9 Arresto preciso - riduzione velocità s PGsl 

G17 3) Scelta del piano di lavoro X/Y m PGsl 

G18 Scelta del piano di lavoro Z/X m PGsl 

G19 Scelta del piano di lavoro Y/Z m PGsl 

G25 Limitazione inferiore del campo di lavoro

s PGsl 

G26 Limitazione superiore del campo di lavoro

s PGsl 

G33 Filettatura con passo costante m PGsl 

G34 Filettatura con passo crescente linearmente

m PGsl 

Page 850: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle 17.1 Istruzioni

Preparazione del lavoro850 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

G35 Filettatura con passo decrescente linearmente

m PGsl 

G40 3) Correzione raggio utensile OFF m PGsl 

G41 Correzione raggio utensile a sinistra del profilo

m PGsl 

G42 Correzione raggio utensile a destra del profilo

m PGsl 

G53 Soppressione dello spostamento origine attuale (blocco per blocco)

s PGsl 

G54 1° spostamento origine impostabile m PGsl 

G55 2. Spostamento origine impostabile m PGsl 

G56 3. Spostamento origine impostabile m PGsl 

G57 4. Spostamento origine impostabile m PGsl 

G58 (840D sl) Spostamento origine programmabile assiale assoluto, traslazione grossolana

s PGsl 

G58 (828D) 5. Spostamento origine impostabile m PGsl 

G59 (840D sl) Spostamento origine programmabile assiale addizionale, traslazione fine

s PGsl 

G59 (828D) 6. Spostamento origine impostabile m PGsl 

G60 3) Arresto preciso - riduzione velocità m PGsl 

G62 Rallentamento d'angolo sugli spigoli interni con correzione raggio utensile attiva (G41, G42)

m PGAslRiduzione dell'avanzamento con rallentamento sugli spigoli (FENDNORM, G62, G621) [Pagina 285] 

G63 Maschiatura con compensatore s PGsl 

G64 Funzionamento continuo m PGsl 

G70 Quote in pollici per indicazioni geometriche (lunghezze)

m PGsl 

G71 3) Quote metriche per indicazioni geometriche (lunghezze)

m PGsl 

G74 Ricerca punto di riferimento s PGsl 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 851: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle17.1 Istruzioni

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 851

G75 Accostamento a un punto fisso s PGsl 

G90 3) Quota assoluta m/s PGsl 

G91 Indicazione in quote incrementali m/s PGsl 

G93 Avanzamento inversamente proporzionale al tempo 1/min

m PGsl 

G94 3) Avanzamento lineare F in mm/min oppure pollici/min e gradi/min

m PGsl 

G95 Avanzamento al giro F al mm/giro oppure pollici/giro

m PGsl 

G96 Velocità di taglio costante (come per G95) ON

m PGsl 

G97 Velocità di taglio costante (come per G95) OFF

m PGsl 

G110 Programmazione del polo relativo all'ultima posizione programmata

s PGsl 

G111 Programmazione dei poli relativamente al punto zero del sistema di coordinate del pezzo attuale

s PGsl 

G112 Programmazione del polo relativa all'ultimo polo valido

s PGsl 

G140 3) Direzione accostamento WAB definita da G41/G42

m PGsl 

G141 Direzione accostamento WAB a sinistra del profilo

m PGsl 

G142 Direzione accostamento WAB a destra del profilo

m PGsl 

G143 Direzione accostamento WAB dipendente dalla tangente

m PGsl 

G147 Accostamento tangenziale con retta s PGsl 

G148 Distacco tangenziale con retta s PGsl 

G153 Soppressione di frame attuali inclusi frame di base

s PGsl 

G247 Accostamento tangenziale con quarto di cerchio

s PGsl 

G248 Distacco tangenziale con quarto di cerchio

s PGsl 

G290 Commutazione sul modo SINUMERIK ON

m FBW

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 852: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle 17.1 Istruzioni

Preparazione del lavoro852 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

G291 Commutazione sul modo ISO2/3 ON m FBWG331 Maschiatura senza utensile

compensato, passo positivo, rotazione destrorsa

m PGsl 

G332 Maschiatura senza utensile compensato, passo negativo, rotazione sinistrorsa

m PGsl 

G340 3) Blocco di accostamento spaziale (in profondità e nel piano contemporaneamente (elicoide))

m PGsl 

G341 Prima incremento nell'asse verticale (z), quindi accostamento nel piano

m PGsl 

G347 Accostamento tangenziale con semicerchio

s PGsl 

G348 Distacco tangenziale con semicerchio s PGsl 

G450 3) Cerchio di raccordo m PGsl 

G451 Punto di intersezione delle equidistanti m PGsl 

G460 3) Attivazione della sorveglianza collisioni per il blocco di accostamento e svincolo

m PGsl 

G461 Inserimento di un cerchio nel blocco di correzione del raggio utensile

m PGsl 

G462 Inserimento di una retta nel blocco di correzione del raggio utensile

m PGsl 

G500 3) Disattivazione di tutti i frame impostabili , frame di base attivi

m PGsl 

G505 ... G599 5 ... 99. Spostamento origine impostabile

m PGsl 

G601 3) Cambio blocco con arresto preciso fine m PGsl 

G602 Passaggio di blocco ad arresto preciso grossolano

m PGsl 

G603 Passaggio di blocco a fine blocco IPO m PGsl 

G621 Rallentamento d'angolo su tutti gli spigoli

m PGAslRiduzione dell'avanzamento con rallentamento sugli spigoli (FENDNORM, G62, G621) [Pagina 285] 

G641 Funzionamento continuo raccordato in base al criterio del percorso (= distanza di raccordo programmabile)

m PGsl 

G642 Funzionamento continuo raccordato con rispetto di tolleranze definite

m PGsl 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 853: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle17.1 Istruzioni

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 853

G643 funzionamento continuo raccordato con rispetto di tolleranze definite (interno al blocco)

m PGsl 

G644 funzionamento continuo raccordato con la massima dinamica possibile

m PGsl 

G645 funzionamento continuo con raccordo di angoli e raccordi di blocco tangenziali con rispetto di tolleranze definite

m PGsl

G700 Quote in pollici per indicazioni geometriche e tecnologiche (lunghezza, avanzamento)

m PGsl  

G710 3) Quote metriche per indicazioni geometriche e tecnologiche (lunghezza, avanzamento)

m PGsl 

G751 Accostamento al punto fisso tramite un punto intermedio

s PGsl

G810 3), ..., G819

Gruppo G riservato per utente OEM PGAslFunzioni speciali per l’utente OEM (OMA1 ... OMA5, OEMIPO1, OEMIPO2, G810 ... G829) [Pagina 284] 

G820 3), ..., G829

Gruppo G riservato per utente OEM PGAslFunzioni speciali per l’utente OEM (OMA1 ... OMA5, OEMIPO1, OEMIPO2, G810 ... G829) [Pagina 284] 

G931 Impostazione avanzamento tramite tempo di esecuzione

m

G942 Congelare l'avanzamento lineare e la velocità di taglio costante oppure dei giri del mandrino

m

G952 Congelare l'avanzamento al giro e la velocità di taglio costante oppure dei giri del mandrino

m

G961 Velocità di taglio costante e avanzamento lineare

m PGsl 

G962 Avanzamento lineare oppure avanzamento al giro e velocità di taglio costante

m PGsl 

G971 Congelare i giri del mandrino e avanzamento lineare

m PGsl 

G972 Congelare l'avanzamento lineare oppure l'avanzamento al giro e i giri del mandrino costanti

m PGsl 

G973 Avanzamento al giro senza limitazione della velocità del mandrino

m PGsl 

GEOAX Assegnare nuovi assi canale agli assi geometrici 1 - 3

PGAslAssi geometrici commutabili (GEOAX) [Pagina 682] 

GET Scambio asse abilitato tra canali PGAslScambio assi, scambio mandrini (RELEASE, GET, GETD) [Pagina 132] 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 854: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle 17.1 Istruzioni

Preparazione del lavoro854 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

GETACTT Determina l'utensile attivo da un gruppo di utensili con lo stesso nome

FBW

GETACTTD Determina per un numero D assoluto il rispettivo numero T

PGAslAssegnazione libera dei numeri D: Individuazione del numero T per il numero D preimpostato (GETACTTD) [Pagina 443] 

GETD Scambio asse diretto tra canali PGAslScambio assi, scambio mandrini (RELEASE, GET, GETD) [Pagina 132] 

GETDNO Fornisce il numero D del tagliente (CE) di un utensile (T)

PGAslAssegnazione libera dei numeri D: Modifica dei nomi dei numeri D (GETDNO, SETDNO) [Pagina 442]

GETEXET Lettura del numero T sostituito FBWGETFREELOC Ricerca di un posto libero nei magazzini

per un determinato utensileFBW

GETSELT Restituire il numero T selezionato FBWGETT Determinare il numero della T per un

nome di utensileFBW

GETTCOR Lettura lunghezze utensile o componenti lunghezze utensile

FB1(W1)

GETTENV Lettura numeri T, D e DL FB1(W1)GOTO Istruzione di salto prima in avanti e poi

indietro (direzione prima verso la fine e poi verso l'inizio del programma)

PGAslSalti nel programma su etichette di salto (GOTOB, GOTOF, GOTO, GOTOC) [Pagina 94] 

GOTOB Istruzione di salto indietro (direzione inizio programma)

PGAslSalti nel programma su etichette di salto (GOTOB, GOTOF, GOTO, GOTOC) [Pagina 94] 

GOTOC Come GOTO , ma soppressione dell'allarme 14080 "Destinazione di salto non trovata"

PGAslSalti nel programma su etichette di salto (GOTOB, GOTOF, GOTO, GOTOC) [Pagina 94] 

GOTOF Istruzione di salto in avanti (direzione fine programma)

PGAslSalti nel programma su etichette di salto (GOTOB, GOTOF, GOTO, GOTOC) [Pagina 94] 

GOTOS Salto all'inizio del programma PGAslRitorno all'inizio del programma (GOTOS) [Pagina 93] 

GP Parola chiave per la programmazione indiretta di attributi di posizione

PGAslProgrammazione indiretta di attributi di posizione (GP) [Pagina 60] 

GWPSOF Disattivare la velocità periferica costante della mola (VPM)

s PGsl 

GWPSON Attivare la velocità periferica costante della mola (VPM)

s PGsl 

H... Emissione funzioni ausiliarie al PLC PGsl/FB1(H2) 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 855: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle17.1 Istruzioni

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 855

HOLES1 Ciclo tecnologico:serie di fori

PGAslSerie di fori - HOLES1 [Pagina 760]

HOLES2 Ciclo tecnologico:cerchio di fori

PGAslCerchio di fori - HOLES2 [Pagina 762]

I Parametri di interpolazione s PGsl 

I1 Coordinata punto intermedio s PGsl 

IC Impostazione delle quote incrementale s PGsl 

ICYCOF Elaborazione di tutti i blocchi di un ciclo tecnologico dopo ICYCOF in un clock IPO

PGAslControllo ed esecuzione di cicli tecnologici (ICYCOF, ICYCON) [Pagina 641] 

ICYCON Elaborazione di ogni blocco di un ciclo tecnologico dopo ICYCON in un clock IPO separato

PGAslControllo ed esecuzione di cicli tecnologici (ICYCOF, ICYCON) [Pagina 641] 

ID Identificazione per le azioni sincrone modali

m PGAslCampo di validità e sequenza di lavorazione (ID, IDS) [Pagina 561] 

IDS Identificazione per le azioni sincrone modali statiche

PGAslCampo di validità e sequenza di lavorazione (ID, IDS) [Pagina 561] 

IF Introduzione di un salto condizionato nel programma pezzo / ciclo tecnologico

PGAslLoop di programma con alternativa (IF, ELSE, ENDIF) [Pagina 107] 

INDICE Determinazione di indice di un carattere nella stringa di ingresso

PGAslRicerca carattere/stringa all'interno di una stringa (INDEX, RINDEX, MINDEX, MATCH) [Pagina 81] 

INIPO Inizializzazione delle variabili al PowerOn

PGAslDefinizione di variabili utente (DEF) [Pagina 25]

INIRE Inizializzazione delle variabili al Reset PGAslDefinizione di variabili utente (DEF) [Pagina 25]

INICF Inizializzazione delle variabili con NewConfig

PGAslDefinizione di variabili utente (DEF) [Pagina 25]

INIT Scelta di un determinato programma NC per l'elaborazione in un determinato canale:

PGAslCoordinamento dei programmi (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM) [Pagina 115] 

INITIAL Generazione di un file INI- in tutti i settori

PGAslMemoria di lavoro (CHANDATA, COMPLETE, INITIAL) [Pagina 224] 

INT Tipo di dati: Valore intero con segno PGAslDefinizione di variabili utente (DEF) [Pagina 25] 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 856: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle 17.1 Istruzioni

Preparazione del lavoro856 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

INTERSEC Calcolo del punto di intersezione fra due elementi del profilo

PGAslIndividuazione del punto di intersezione fra due elementi del profilo (INTERSEC) [Pagina 736] 

INVCCW Movimento su evolvente, in senso antiorario

m PGsl 

INVCW Movimento su evolvente, in senso orario

m PGsl 

INVFRAME Calcolo del frame inverso a partire da un frame

FB1(K2)

IP Parametro di interpolazione variabile PGAslProgrammazione indiretta [Pagina 56] 

IPOBRKA Criterio di spostamento sul punto di attivazione della rampa di frenatura

m PGAslCriterio programmabile di fine movimento (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA) [Pagina 286] 

IPOENDA Fine dello spostamento al raggiungimento di "Stop IPO"

m PGAslCriterio programmabile di fine movimento (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA) [Pagina 286] 

IPTRLOCK Congelare l'inizio della sezione di programma senza possibilità di ricerca sul successivo blocco di funzioni macchina.

m PGAslInibire la zona di programma per SERUPRO (IPTRLOCK, IPTRUNLOCK) [Pagina 483] 

IPTRUNLOCK Impostare la fine della sezione di programma senza possibilità di ricerca sul blocco attuale come punto di interruzione.

m PGAslInibire la zona di programma per SERUPRO (IPTRLOCK, IPTRUNLOCK) [Pagina 483] 

ISAXIS Verificare se l'asse geometrico 1 indicato come parametro è disponibile

PGAslFunzioni per gli assi (AXNAME, AX, SPI, AXTOSPI, ISAXIS, AXSTRING, MODAXVAL) [Pagina 679] 

ISD Profondità di penetrazione m PGAslAttivazione delle correzioni utensile 3D (CUT3DC, CUT3DF, CUT3DFS, CUT3DFF, ISD) [Pagina 421] 

ISFILE Verifica se un file è presente nella memoria utente dell'NCK.

PGAslVerifica della presenza di un file (ISFILE) [Pagina 152] 

ISNUMBER Verifica se la stringa in ingresso può essere convertita in un numero

PGAslConversione di tipi da STRING (NUMBER, ISNUMBER, AXNAME) [Pagina 77] 

ISOCALL Richiamo indiretto di un programma scritto in linguaggio ISO

PGAslRichiamo indiretto di un programma programmato in linguaggio ISO (ISOCALL) [Pagina 203] 

ISVAR Verifica se il parametro di trasferimento contiene una variabile nota all'NC

PGAslRichiamo della funzione ISVAR e lettura dei dati macchina indice dell'array [Pagina 699] 

J Parametri di interpolazione s PGsl 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 857: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle17.1 Istruzioni

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 857

J1 Coordinata punto intermedio s PGsl 

JERKA Attiva il comportamento all'accelerazione degli assi programmati impostato mediante i dati macchina

JERKLIM Riduzione o sopraelevazione dello strappo massimo assiale

m PGAslCorrezione percentuale dello strappo (JERKLIM) [Pagina 495] 

JERKLIMA Riduzione o sopraelevazione dello strappo massimo assiale

m PGsl 

K Parametri di interpolazione s PGsl 

K1 Coordinata punto intermedio s PGsl 

KONT Aggiramento del profilo in caso di correzione utensile

m PGsl 

KONTC Accostamento/svincolo con polinomio a curvatura continua

m PGsl 

KONTT Accostamento/svincolo con polinomio a tangente continua

m PGsl 

L Numero di sottoprogramma s PGAslRichiamo del sottoprogramma senza assegnazione di parametri [Pagina 193] 

LEAD Angolo di anticipo1. Orientamento dell'utensile2. Polinomi di orientamento

m PGAslProgrammazione dell'orientamento utensile (A..., B..., C..., LEAD, TILT) [Pagina 335] 

LEADOF Accoppiamento al valore master OFF PGAslAccoppiamento assiale tramite valore master (LEADON, LEADOF) [Pagina 530] 

LEADON Accoppiamento al valore master ON PGAslAccoppiamento assiale tramite valore master (LEADON, LEADOF) [Pagina 530] 

LENTOAX Fornisce informazioni sull'assegnazione delle lunghezze utensili L1, L2 e L3 dell'utensile attivo ad ascissa, ordinata e applicata

FB1(W1)

LFOF 3) Svincolo rapido per filettatura OFF m PGsl 

LFON Svincolo rapido per filettatura ON m PGsl 

LFPOS Svincolo dell'asse dichiarato con POLFMASK o POLFMLIN sulla posizione assoluta dell'asse programmata con POLF.

m PGsl 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 858: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle 17.1 Istruzioni

Preparazione del lavoro858 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

LFTXT Il piano del movimento di svincolo rapido viene determinato dalla tangente al profilo e dalla direzione attuale dell'utensile

m PGsl 

LFWP Il piano del movimento di svincolo rapido viene determinato dal piano di lavoro attuale (G17/G18/G19)

m PGsl 

LIFTFAST Svincolo rapido PGslSvincolo rapido dal profilo (SETINT LIFTFAST, ALF) [Pagina 126]

LIMS Limitazione dei giriper G96/G961 e G97

m PGsl 

LLI Limite inferiore delle variabili PGAslAttributo: valori limite (LLI, ULI) [Pagina 37]

LN Logaritmo naturale PGAslFunzioni di calcolo [Pagina 64] 

LOCK Bloccare azione sincrona con ID(arresto ciclo tecnologico)

PGAslBlocco, sblocco, reset (LOCK, UNLOCK, RESET) [Pagina 644] 

LONGHOLE Ciclo tecnologico:asola

PGAslAsola - LONGHOLE [Pagina 784]

LOOP Introduzione di un loop senza fine PGAslLoop di programma permanente (LOOP, ENDLOOP) [Pagina 109] 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Istruzione Significato W 1) Per una descrizione, vedere 2)

M0 Arresto programmato PGsl 

M1 Arresto opzionale PGsl 

M2 fine programma principale con reset all'inizio del programma

PGsl 

M3 Rotazione destrorsa del mandrino PGsl 

M4 Rotazione sinistrorsa del mandrino PGsl 

M5 Arresto mandrino PGsl 

M6 Cambio utensile PGsl 

M17 Fine sottoprogramma PGsl 

M19 Posizionamento mandrino sulla posizione registrata in SD43240

PGsl 

Page 859: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle17.1 Istruzioni

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 859

M30 fine programma, come M2 PGsl 

M40 cambio gamma automatico PGsl 

M41 ... M45 Gamma 1 ... 5 PGsl 

M70 Commutazione al funzionamento assi PGsl 

MASLDEF Definisce una configurazione master/slave

PGAslRaggruppamento master-/slave (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS) [Pagina 555] 

MASLDEL Interrompe un collegamento master/slave e cancella la definizione di collegamento

PGAslRaggruppamento master-/slave (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS) [Pagina 555] 

MASLOF Disinserzione di un accoppiamento temporaneo

PGAslRaggruppamento master-/slave (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS) [Pagina 555] 

MASLOFS Disabilitazione di un accoppiamento temporaneo con arresto automatico dell'asse slave

PGAslRaggruppamento master-/slave (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS) [Pagina 555] 

MASLON Inserzione di un accoppiamento temporaneo

PGAslRaggruppamento master-/slave (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS) [Pagina 555] 

MATCH Ricerca di una stringa nella stringa PGAslRicerca carattere/stringa all'interno di una stringa (INDEX, RINDEX, MINDEX, MATCH) [Pagina 81] 

MAXVAL Valore maggiore di due variabili (funzione aritmetica)

PGAslMinimo, massimo e campo delle variabili (MINVAL, MAXVAL e BOUND) [Pagina 71] 

MCALL Richiamo sottoprogramma modale PGAslRichiamo sottoprogramma modale (MCALL) [Pagina 199] 

MEAC Misura continua senza cancellazione del percorso residuo

s PGAslFunzione di misura ampliata (MEASA, MEAWA, MEAC) (opzione) [Pagina 275] 

MEAFRAME Calcolo del frame da punti di misura PGAslCalcolo del frame in base a 3 punti di misura nello spazio (MEAFRAME) [Pagina 310] 

MEAS Misurazione con tasto a commutazione s PGAslMisura con tastatore a commutazione (MEAS, MEAW) [Pagina 272] 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 860: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle 17.1 Istruzioni

Preparazione del lavoro860 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

MEASA Misura con cancellazione del percorso residuo

s PGAslFunzione di misura ampliata (MEASA, MEAWA, MEAC) (opzione) [Pagina 275] 

MEASURE Metodo di calcolo per la misura pezzo e utensile

FB2(M5)Misura con tastatore a commutazione (MEAS, MEAW) [Pagina 272] 

MEAW Misurazione con tasto a commutazione senza cancellazione del percorso residuo

s PGAslMisura con tastatore a commutazione (MEAS, MEAW) [Pagina 272] 

MEAWA Misura senza cancellazione del percorso residuo

s PGAslFunzione di misura ampliata (MEASA, MEAWA, MEAC) (opzione) [Pagina 275] 

MI Accesso ai dati del Frame: Specularità PGAslLeggere e modificare le componenti frame (TR, FI, RT, SC, MI) [Pagina 301] 

MINDEX Determinazione di indice di un carattere nella stringa di ingresso

PGAslRicerca carattere/stringa all'interno di una stringa (INDEX, RINDEX, MINDEX, MATCH) [Pagina 81] 

MINVAL Valore minore di due variabili (funzione aritmetica)

PGAslMinimo, massimo e campo delle variabili (MINVAL, MAXVAL e BOUND) [Pagina 71] 

MIRROR Specularità programmabile s PGAsl 

MMC Dal programma pezzo richiamare in modo interattivo la finestra di dialogo sull'HMI

PGAslRichiamo interattivo della finestra dal partprogram (MMC) [Pagina 703] 

MOD Divisione modulo PGAslFunzioni di calcolo [Pagina 64] 

MODAXVAL Rilevamento della posizione modulo di un asse rotante modulo

PGAslFunzioni per gli assi (AXNAME, AX, SPI, AXTOSPI, ISAXIS, AXSTRING, MODAXVAL) [Pagina 679] 

MOV Avvio asse di posizionamento PGAslStart/stop asse (MOV) [Pagina 609] 

MSG Messaggi programmabili m PGsl 

MVTOOL Istruzione per il movimento di un utensile

FBW

N Numero di blocco secondario NC PGsl 

NCK Specifica del campo di validità dei dati PGAslDefinizione di variabili utente (DEF) [Pagina 25] 

NEWCONF Trasferimento dati macchina modificati (corrisponde a "attivazione di un dato macchina")

PGAslAttivazione dei dati macchina (NEWCONF) [Pagina 139] 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 861: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle17.1 Istruzioni

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 861

NEWT Creazione di un nuovo utensile PGAslLeggere e modificare le componenti frame (TR, FI, RT, SC, MI) [Pagina 301] 

NORM 3) Impostazione normale nel punto di partenza, punto di arrivo nella correzione utensile

m PGsl 

NOT NOT logico (negazione) PGAslOperazioni logiche e di confronto [Pagina 67] 

NPROT Settore di protezione specifico per la macchina ON/OFF

PGAslAttivazione/disattivazione dei settori di protezione (CPROT, NPROT) [Pagina 233]

NPROTDEF Definizione di un settore di protezione specifico della macchina

PGAslDefinizione dei settori di protezione (CPROTDEF, NPROTDEF) [Pagina 229]

NUMBER Convertire la stringa di ingresso in numero

PGAslConversione di tipi da STRING (NUMBER, ISNUMBER, AXNAME) [Pagina 77]

OEMIPO1 Interpolazione OEM 1 m PGAslFunzioni speciali per l’utente OEM (OMA1 ... OMA5, OEMIPO1, OEMIPO2, G810 ... G829) [Pagina 284]

OEMIPO2 Interpolazione OEM 2 m PGAslFunzioni speciali per l’utente OEM (OMA1 ... OMA5, OEMIPO1, OEMIPO2, G810 ... G829) [Pagina 284]

OF Parola chiave nella diramazione CASE PGAslDiramazione del programma(CASE ... OF ... DEFAULT ...) [Pagina 97]

OFFN Sovrametallo rispetto al profilo programmato

m PGsl

OMA1 Indirizzo OEM 1 mOMA2 Indirizzo OEM 2 mOMA3 Indirizzo OEM 3 mOMA4 Indirizzo OEM 4 mOMA5 Indirizzo OEM 5 mOR Operatore logico, combinazione in OR PGAsl

Operazioni logiche e di confronto [Pagina 67]

ORIAXES Interpolazione lineare degli assi macchina o degli assi di orientamento

m PGAslProgrammazione degli assi di orientamento (ORIAXES, ORIVECT, ORIEULER, ORIRPY, ORIRPY2, ORIVIRT1, ORIVIRT2) [Pagina 346] 

ORIAXPOS Angolo di orientamento tramite assi di orientamento virtuali con posizioni dell'asse rotante

m

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 862: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle 17.1 Istruzioni

Preparazione del lavoro862 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

ORIC 3) le modifiche di orientamento negli spigoli esterni vengono sovrapposti al blocco circolare da inserire

m PGAslOrientamento dell'utensile (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST) [Pagina 435] 

ORICONCCW Interpolazione su una superficie circolare in senso antiorario

m PGAsl/FB3(F3)Programmazione dell'orientamento lungo una superficie conica (ORIPLANE, ORICONCW, ORICONCCW, ORICONTO, ORICONIO) [Pagina 348] 

ORICONCW Interpolazione su una superficie circolare in senso orario

m PGAsl/FB3(F4)Programmazione dell'orientamento lungo una superficie conica (ORIPLANE, ORICONCW, ORICONCCW, ORICONTO, ORICONIO) [Pagina 348]

ORICONIO Interpolazione su una superficie circolare con indicazione di un orientamento intermedio

m PGAsl/FB3(F4)Programmazione dell'orientamento lungo una superficie conica (ORIPLANE, ORICONCW, ORICONCCW, ORICONTO, ORICONIO) [Pagina 348] 

ORICONTO Interpolazione su una superficie esterna circolare con raccordo tangenziale(indicazione dell'orientamento finale)

m PGAsl/FB3(F5)Programmazione dell'orientamento lungo una superficie conica (ORIPLANE, ORICONCW, ORICONCCW, ORICONTO, ORICONIO) [Pagina 348] 

ORICURVE Interpolazione dell'orientamento con preimpostazione del movimento di due punti di contatto dell'utensile

m PGAsl/FB3(F6)Impostazione dell'orientamento di due punti di contatto (ORICURVE, PO[XH]=, PO[YH]=, PO[ZH]=) [Pagina 352] 

ORID le modifiche dell'orientamento vengono eseguite prima del blocco circolare

m PGAslOrientamento dell'utensile (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST) [Pagina 435] 

ORIEULER Angolo di orientamento tramite angolo di Eulero

m PGAslProgrammazione degli assi di orientamento (ORIAXES, ORIVECT, ORIEULER, ORIRPY, ORIRPY2, ORIVIRT1, ORIVIRT2) [Pagina 346]

ORIMKS Orientamento utensile nel sistema di coordinate macchina

m PGAslRiferimento degli assi di orientamento (ORIWKS, ORIMKS) [Pagina 344] 

ORIPATH Orientamento utensile riferito alla traiettoria

m PGAslRotazione relativa al percorso dell'orientamento dell'utensile (ORIPATH, ORIPATHS, angolo di rotazione) [Pagina 361] 

ORIPATHS Orientamento dell'utensile riferito al percorso, viene raddrizzata una piega durante l'orientamento

m PGAslRotazione relativa al percorso dell'orientamento dell'utensile (ORIPATH, ORIPATHS, angolo di rotazione) [Pagina 361] 

ORIPLANE Interpolazione in un piano(corrisponde a ORIVECT)interpolazione cerchio massimo

m PGAslProgrammazione dell'orientamento lungo una superficie conica (ORIPLANE, ORICONCW, ORICONCCW, ORICONTO, ORICONIO) [Pagina 348] 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 863: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle17.1 Istruzioni

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 863

ORIRESET Impostazione di base dell'orientamento utensile con max. 3 assi di orientamento

PGAslVarianti della programmazione dell'orientamento e della posizione base (ORIRESET) [Pagina 334] 

ORIROTA Angolo di rotazione in un senso di rotazione preimpostato in modo assoluto

m PGAslRotazioni dell'orientamento utensile (ORIROTA, ORIROTR, ORIROTT, ORIROTC, THETA) [Pagina 356] 

ORIROTC Vettore di rotazione tangenziale rispetto alla tangente vettoriale

m PGAslRotazioni dell'orientamento utensile (ORIROTA, ORIROTR, ORIROTT, ORIROTC, THETA) [Pagina 356] 

ORIROTR Angolo di rotazione relativo al piano fra orientamento iniziale e finale

m PGAslRotazioni dell'orientamento utensile (ORIROTA, ORIROTR, ORIROTT, ORIROTC, THETA) [Pagina 356] 

ORIROTT Angolo di rotazione riferito alla variazione del vettore di orientamento

m PGAslRotazioni dell'orientamento utensile (ORIROTA, ORIROTR, ORIROTT, ORIROTC, THETA) [Pagina 356] 

ORIRPY Angolo di orientamento mediante angolo RPY (XYZ)

m PGAslProgrammazione degli assi di orientamento (ORIAXES, ORIVECT, ORIEULER, ORIRPY, ORIRPY2, ORIVIRT1, ORIVIRT2) [Pagina 346] 

ORIRPY2 Angolo di orientamento mediante angolo RPY (ZYX)

m PGAslProgrammazione degli assi di orientamento (ORIAXES, ORIVECT, ORIEULER, ORIRPY, ORIRPY2, ORIVIRT1, ORIVIRT2) [Pagina 346] 

ORIS Variazione dell'orientamento m PGAslOrientamento dell'utensile (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST) [Pagina 435] 

ORISOF 3) Spianamento del percorso di orientamento OFF

m PGAslSpianamento del percorso di orientamento (ORISON, ORISOF) [Pagina 369]

ORISON Spianamento del percorso di orientamento ON

m PGAslSpianamento del percorso di orientamento (ORISON, ORISOF) [Pagina 369]

ORIVECT Interpolazione del cerchio estesa (identico a ORIPLANE)

m PGAslProgrammazione degli assi di orientamento (ORIAXES, ORIVECT, ORIEULER, ORIRPY, ORIRPY2, ORIVIRT1, ORIVIRT2) [Pagina 346] 

ORIVIRT1 Angolo di orientamento tramite assi di orientamento virtuali (definizione 1)

m PGAslProgrammazione degli assi di orientamento (ORIAXES, ORIVECT, ORIEULER, ORIRPY, ORIRPY2, ORIVIRT1, ORIVIRT2) [Pagina 346] 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 864: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle 17.1 Istruzioni

Preparazione del lavoro864 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

ORIVIRT2 Angolo di orientamento tramite assi di orientamento virtuali (definizione 1)

m PGAslProgrammazione degli assi di orientamento (ORIAXES, ORIVECT, ORIEULER, ORIRPY, ORIRPY2, ORIVIRT1, ORIVIRT2) [Pagina 346] 

ORIWKS 3) Orientamento utensile nel sistema di coordinate pezzo

m PGAslRiferimento degli assi di orientamento (ORIWKS, ORIMKS) [Pagina 344] 

OS Pendolamento on/off PGAslPendolamento asincrono (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB) [Pagina 651] 

OSB Pendolamento: Punto di partenza m FB2(P5)OSC Livellamento costante dell'orientamento

utensilem PGAsl

Orientamento dell'utensile (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST) [Pagina 435] 

OSCILL Axis: 1 - 3 di incremento m PGAslPendolamento controllato da azioni sincrone (OSCILL) [Pagina 657] 

OSCTRL Opzione pendolamento m PGAslPendolamento asincrono (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB) [Pagina 651] 

OSD Raccordare il movimento dell'orientamento utensile impostando la lunghezza di raccordo con SD

m PGAslOrientamento dell'utensile (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST) [Pagina 435] 

OSE Punto di arrivo del pendolamento m PGAslPendolamento asincrono (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB) [Pagina 651] 

OSNSC Pendolamento: Numero passate spegnifiamma

m PGAslPendolamento asincrono (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB) [Pagina 651] 

OSOF 3) Livellamento orientamento utensile OFF

m PGAslPendolamento asincrono (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB) [Pagina 651] 

OSP1 Pendolamento: punto di inversione sinistro

m PGAslPendolamento asincrono (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB) [Pagina 651] 

OSP2 Pendolamento punto di inversione destro

m PGAslPendolamento asincrono (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB) [Pagina 651] 

OSS Livellamento dell'orientamento utensile a fine blocco

m PGAslOrientamento dell'utensile (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST) [Pagina 435] 

OSSE Livellamento dell'orientamento utensile a inizio e fine blocco

m PGAslOrientamento dell'utensile (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST) [Pagina 435] 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 865: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle17.1 Istruzioni

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 865

OST Raccordo dell'orientamento utensile mediante impostazione della tolleranza angolare in gradi con DS (scostamento massimo dal valore programmato del percorso di orientamento)

m PGAslOrientamento dell'utensile (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST) [Pagina 435] 

OST1 Pendolamento: Punto di arresto nel punto di inversione sinistro

m PGAslPendolamento asincrono (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB) [Pagina 651] 

OST2 Pendolamento: Punto di arresto nel punto di inversione destro

m PGAslPendolamento asincrono (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB) [Pagina 651] 

OTOL Tolleranza di orientamento per funzioni compressore, spianamento dell'orientamento e tipi di movimento raccordato

PGAslTolleranza programmabile di profilo/orientamento (CTOL, OTOL, ATOL) [Pagina 500]

OVR Correzione giri m PGAsl 

OVRA Correzione giri assiale m PGAsl 

OVRRAP Correzione del rapido m PGAsl 

P Numero di esecuzioni del sottoprogramma

PGAslNumero di ripetizioni del programma (P) [Pagina 197] 

PAROT Allestimento del sistema di coordinate pezzo sul pezzo

m PGsl 

PAROTOF Disattivazione rotazione frame riferita al pezzo

m PGsl 

PCALL Richiamo di sottoprogrammi con indicazione assoluta del percorso e trasferimento dei parametri

PGAslRichiamo sottoprogramma con indicazione del percorso e parametri (PCALL) [Pagina 205] 

PDELAYOF Punzonatura con ritardo OFF m PGAslAttivazione o disattivazione di punzonatura e roditura (SPOF, SON, PON, SONS, PONS, PDELAYON, PDELAYOF, PUNCHACC) [Pagina 665] 

PDELAYON 3) Punzonatura con ritardo ON m PGAslAttivazione o disattivazione di punzonatura e roditura (SPOF, SON, PON, SONS, PONS, PDELAYON, PDELAYOF, PUNCHACC) [Pagina 665] 

PHU Unità fisica di una variabile PGAslDefinizione di variabili utente (DEF) [Pagina 25]

PL 1. B-Spline: Distanza nodo2. interpolazione polinomiale: lunghezza dell'intervallo parametri nell'interpolazione polinomiale

s PGAsl1. Interpolazione spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) [Pagina 246]2. Interpolazione polinomica (POLY, POLYPATH, PO, PL) [Pagina 263]

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 866: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle 17.1 Istruzioni

Preparazione del lavoro866 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

PM al minuto PGsl 

PO Coefficiente polinomiale nell'interpolazione polinomiale

s PGAslInterpolazione polinomica (POLY, POLYPATH, PO, PL) [Pagina 263] 

POCKET3 Ciclo tecnologico:fresatura tasca rettangolare

PGAslFresatura tasca rettangolare - POCKET3 [Pagina 765]

POCKET4 Ciclo tecnologico:fresatura tasca circolare

PGAslFresatura di una tasca circolare - POCKET4 [Pagina 768]

POLF Posizione di svincolo LIFTFAST m PGsl/PGAsl 

POLFA Avvio della posizione di svincolo per assi singoli con $AA_ESR_TRIGGER

m PGsl 

POLFMASK Abilitazione degli assi per lo svincolo senza relazione tra gli assi stessi

m PGsl 

POLFMLIN Abilitazione degli assi per lo svincolo con relazione lineare tra gli assi stessi

m PGsl 

POLY Interpolazione polinomiale m PGAslInterpolazione polinomica (POLY, POLYPATH, PO, PL) [Pagina 263] 

POLYPATH Interpolazione polinomiale selezionabile per i gruppi di assi AXIS o VECT

m PGAslInterpolazione polinomica (POLY, POLYPATH, PO, PL) [Pagina 263] 

PON Punzonatura ON m PGAslAttivazione o disattivazione di punzonatura e roditura (SPOF, SON, PON, SONS, PONS, PDELAYON, PDELAYOF, PUNCHACC) [Pagina 665] 

PONS Punzonatura ON nel clock IPO m PGAslAttivazione o disattivazione di punzonatura e roditura (SPOF, SON, PON, SONS, PONS, PDELAYON, PDELAYOF, PUNCHACC) [Pagina 665] 

POS Posizionamento asse PGsl 

POSA Posizionamento asse con condizionamento di fine blocco

PGsl 

POSM Posizionamento magazzino FBWPOSP Posizionamento a passi

(pendolamento)PGsl 

POSRANGE Determinare se la posizione attuale di riferimento interpolata di un asse si trova in una finestra attinente alla posizione di riferimento predefinita

PGAslPosizione nell'intervallo di riferimento predefinito (POSRANGE) [Pagina 608] 

POT Quadrato (funzione aritmetica)

PGAslFunzioni di calcolo [Pagina 64] 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 867: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle17.1 Istruzioni

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 867

PR Per giro PGsl 

PREPRO Identificazione di sottoprogrammi con preparazione

PGAslIdentificazione di sottoprogrammi con preparazione (PREPRO) [Pagina 183] 

PRESETON Impostazione valore reale per assi programmati

PGAslTraslazione del preset (PRESETON) [Pagina 308] 

PRIO Parola chiave per impostare la priorità nel trattamento degli interrupt

PGAslAssegnazione e avvio di routine di interrupt (SETINT, PRIO, BLSYNC) [Pagina 122] 

PROC Prima istruzione di un programma PGAslRichiamo sottoprogramma con indicazione del percorso e parametri (PCALL) [Pagina 205] 

PTP Movimento da punto a punto m PGAslMovimento cartesiano PTP [Pagina 388] 

PTPG0 Movimento da punto a punto solo con G0, altrimenti CP

m PGAslPTP con TRANSMIT [Pagina 393] 

PUNCHACC Accelerazione in funzione del percorso nella roditura

PGAslAttivazione o disattivazione di punzonatura e roditura (SPOF, SON, PON, SONS, PONS, PDELAYON, PDELAYOF, PUNCHACC) [Pagina 665] 

PUTFTOC Correzione utensile fine per diamantatura parallela

PGAslCorrezione utensile online (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF) [Pagina 416] 

PUTFTOCF Correzione utensile fine in base ad una funzione stabilita con FCTDEF per diamantatura parallela

PGAslCorrezione utensile online (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF) [Pagina 416] 

PW B-Spline, punto peso s PGAslInterpolazione spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) [Pagina 246] 

QECLRNOF Apprendimento compensazione di errori del quadrante OFF

PGAslApprendimento delle curve di compensazione (QECLRNON, QECLRNOF) [Pagina 701] 

QECLRNON Apprendimento della compensazione dell'errore del quadrante ON

PGAslApprendimento delle curve di compensazione (QECLRNON, QECLRNOF) [Pagina 701] 

QU Emissione funzione (ausiliaria) supplementare veloce

PGsl 

R... Parametri di calcolo anche sotto forma di indicatore dell'asse impostabile e con estensione numerica

PGAslVariabili utente predefinite: Parametri di calcolo (R) [Pagina 21] 

RAC Programmazione del raggio assoluta, specifica per asse e blocco-blocco

s PGsl 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 868: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle 17.1 Istruzioni

Preparazione del lavoro868 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

RDISABLE Blocco lettura PGAslImpostazione del blocco lettura (RDISABLE) [Pagina 587] 

READ Legge una o più righe dal file indicato e memorizza le informazioni nel campo

PGAslLettura di righe nel file (READ) [Pagina 148] 

REAL Tipo di dati: Variabile a virgola mobile con segno (numeri reali)

PGAslDefinizione di variabili utente (DEF) [Pagina 25] 

REDEF Impostazione per dati macchina, elementi del linguaggio NC e variabili di sistema, con indicazione dei gruppi di utenti in cui vengono visualizzati

PGAslRidefinizione delle variabili di sistema, variabili utente e istruzioni NC (REDEF) [Pagina 31] 

RELEASE Abilitare gli assi macchina allo scambio assi

PGAslScambio assi, scambio mandrini (RELEASE, GET, GETD) [Pagina 132] 

REP Parola chiave per l'inizializzazione di tutti gli elementi di un campo con lo stesso valore

PGAslDefinizione e inizializzazione delle variabili di campo (DEF, SET, REP) [Pagina 47] 

REPEAT Ripetizione di un loop di programma PGAslRipetizione di una parte di programma (REPEAT, REPEATB, ENDLABEL, P) [Pagina 99] 

REPEATB Ripetizione di una riga di programma PGAslRipetizione di una parte di programma (REPEAT, REPEATB, ENDLABEL, P) [Pagina 99] 

REPOSA Riaccostamento al profilo lineare con tutti gli assi

s PGAslRiaccostamento al profilo (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN) [Pagina 486] 

REPOSH Riaccostamento al profilo con semicerchio

s PGAslRiaccostamento al profilo (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN) [Pagina 486] 

REPOSHA Riaccostamento al profilo con tutti gli assi; assi geometrici in semicerchio

s PGAslRiaccostamento al profilo (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN) [Pagina 486] 

REPOSL Riaccostamento al profilo lineare s PGAslRiaccostamento al profilo (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN) [Pagina 486] 

REPOSQ Riaccostamento al profilo in un quarto di cerchio

s PGAslRiaccostamento al profilo (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN) [Pagina 486] 

REPOSQA Riaccostamento al profilo lineare con tutti gli assi; assi geometrici in un quarto di cerchio

s PGAslRiaccostamento al profilo (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN) [Pagina 486] 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 869: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle17.1 Istruzioni

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 869

RESET Resettare ciclo tecnologico PGAslBlocco, sblocco, reset (LOCK, UNLOCK, RESET) [Pagina 644] 

RESETMON Istruzione per l'attivazione del valore di riferimento

FBW

RET Fine sottoprogramma PGAslRitorno al sottoprogramma parametrizzabile (RET ...) [Pagina 186] 

RIC Programmazione del raggio relativa, specifica per asse e blocco-blocco

s PGslScambio assi, scambio mandrini (RELEASE, GET, GETD) [Pagina 132] 

RINDEX Determinazione di indice di un carattere nella stringa di ingresso

PGAslRicerca carattere/stringa all'interno di una stringa (INDEX, RINDEX, MINDEX, MATCH) [Pagina 81] 

RMB Riaccostamento al punto di partenza del blocco

m PGAslRiaccostamento al profilo (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN) [Pagina 486] 

RME Riaccostamento al punto di arrivo del blocco

m PGAslRiaccostamento al profilo (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN) [Pagina 486] 

RMI 3) Riaccostamento al punto di interruzione m PGAslRiaccostamento al profilo (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN) [Pagina 486] 

RMN Riaccostamento al punto del percorso più vicino

m PGAslRiaccostamento al profilo (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN) [Pagina 486] 

RND Raccordo spigoli s PGsl 

RNDM Arrotondamento modale m PGsl 

ROT Rotazione programmabile s PGsl 

ROTS Rotazioni frame programmabili con angoli solidi

s PGsl 

ROUND Arrotondare le cifre decimali PGAslFunzioni di calcolo [Pagina 64] 

ROUNDUP Arrotondamento del valore di immissione

PGAslArrotondamento (ROUNDUP) [Pagina 160] 

RP Raggio polare m/s PGsl 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 870: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle 17.1 Istruzioni

Preparazione del lavoro870 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

RPL Rotazione nel piano s PGsl 

RT Parametro per l'accesso ai dati del Frame: Rotazione

PGAslLeggere e modificare le componenti frame (TR, FI, RT, SC, MI) [Pagina 301] 

RTLIOF G0 senza interpolazione lineare (interpolazione ad asse singolo)

m PGsl 

RTLION G0 con interpolazione lineare m PGsl 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Istruzione Significato W 1) Per una descrizione, vedere 2)

S Giri del mandrino oppure (per G4, G96/G961 altro significato)

m/s PGsl 

SAVE Attributo per salvare informazioni in richiami di sottoprogrammi

PGAslSalvataggio delle funzioni G modali (SAVE) [Pagina 172] 

SBLOF Soppressione blocco singolo PGAslSoppressione esecuzione blocco singolo (SBLOF, SBLON): [Pagina 173] 

SBLON Soppressione blocco singolo PGAslSoppressione esecuzione blocco singolo (SBLOF, SBLON): [Pagina 173] 

SC Parametro per l'accesso ai dati del Frame: Fattore di scala

PGAslLeggere e modificare le componenti frame (TR, FI, RT, SC, MI) [Pagina 301] 

SCALE Scala programmabile s PGsl 

SCC Assegnazione selettiva di un asse radiale a G96/G961/G962. Possono essere identificatori dell'asse gli assi geometrici, di canale o di macchina.

PGsl 

SCPARA Programmazione blocco parametri servo

PGAslBlocco parametri servo programmabile (SCPARA) [Pagina 289] 

SD Grado della Spline: s PGAslInterpolazione spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) [Pagina 246] 

SEFORM Istruzione di strutturazione nell'editor Step per generare la visualizzazione dei passi per HMI Advanced

PGAslIstruzione di strutturazione nell'editor Step (SEFORM) [Pagina 227] 

SET Parola chiave per l'inizializzazione di tutti gli elementi di un campo con i valori elencati

PGAslDefinizione e inizializzazione delle variabili di campo (DEF, SET, REP) [Pagina 47] 

Page 871: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle17.1 Istruzioni

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 871

SETAL Impostazione dell'allarme PGAslAllarme (SETAL) [Pagina 720] 

SETDNO Assegnazione del numero D del tagliente (CE) di un utensile (T)

PGAslAssegnazione libera dei numeri D: Modifica dei nomi dei numeri D (GETDNO, SETDNO) [Pagina 442] 

SETINT Determinazione della routine di interrupt che deve essere attivata se un ingresso NCK è in attesa

PGAslAssegnazione e avvio di routine di interrupt (SETINT, PRIO, BLSYNC) [Pagina 122] 

SETM Impostazione di marker nel proprio canale

PGAslCoordinamento dei programmi (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM) [Pagina 115]

SETMS ritorno al mandrino master definito nel dato macchina

 

SETMS (n) Mandrino n deve fungere da mandrino master

PGsl 

SETMTH Impostazione del numero portautensile master

FBW

SETPIECE Verificare il numero di pezzi per tutti gli utensili abbinati al mandrino

FBW

SETTA Impostare attivo l'utensile del gruppo di usura

FBW

SETTCOR Modifica dei componenti utensili tenendo conto di tutte le condizioni limite

FB1(W1)

SETTIA Impostare inattivo l'utensile del gruppo di usura

FBW

SF Traslazione del punto di partenza per la filettatura

m PGsl 

SIN Seno (funzione trigonometrica) PGAslFunzioni di calcolo [Pagina 64] 

SIRELAY Attivazione delle funzioni di sicurezza parametrizzate con SIRELIN, SIRELOUT e SIRELTIME

FBSIsl

SIRELIN Inizializzazione delle grandezze d'ingresso del blocco funzionale

FBSIsl

SIRELOUT Inizializzazione delle grandezze d'uscita del blocco funzionale

FBSIsl

SIRELTIME Inizializzazione del timer del blocco funzionale

FBSIsl

SLOT1 Ciclo tecnologico:cava longitudinale

PGAslCava longitudinale - SLOT1 [Pagina 776]

SLOT2 Ciclo tecnologico:cava circolare

PGAslCava circolare - SLOT2 [Pagina 779]

SOFT Accelerazione vettoriale con antistress m PGsl 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 872: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle 17.1 Istruzioni

Preparazione del lavoro872 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

SOFTA inserire l'accelerazione con funzione antistress per gli assi programmati

PGsl 

SON Roditura ON m PGAslAttivazione o disattivazione di punzonatura e roditura (SPOF, SON, PON, SONS, PONS, PDELAYON, PDELAYOF, PUNCHACC) [Pagina 665] 

SONS Roditura ON nel clock IPO m PGAslAttivazione o disattivazione di punzonatura e roditura (SPOF, SON, PON, SONS, PONS, PDELAYON, PDELAYOF, PUNCHACC) [Pagina 665] 

SPATH 3) Il riferimento di percorso per gli assi FGROUP è la lunghezza dell'arco

m PGAslRiferimento vettoriale impostabile, (SPATH, UPATH) [Pagina 269] 

SPCOF Commutazione mandrino master opp. mandrino/i da regolazione in posizione a regolazione in velocità

m PGsl 

SPCON Commutazione mandrino master opp. mandrino/i da regolazione in velocità a regolazione in posizione

m PGAsl 

SPI Converte il numero di mandrino in identificatore asse

PGAslFunzioni per gli assi (AXNAME, AX, SPI, AXTOSPI, ISAXIS, AXSTRING, MODAXVAL) [Pagina 679] 

SPIF1 3) Ingressi/uscite NCK veloci per punzonatura/roditura byte 1

m FB2(N4)

SPIF2 Ingressi/uscite NCK veloci per punzonatura/roditura byte 2

m FB2(N4)

SPLINEPATH Definizione del raggruppamento Spline PGAslRaggruppamento spline (SPLINEPATH) [Pagina 258] 

SPN Numero dei tratti di percorso per blocco s PGAslPreparazione automatica del percorso [Pagina 670] 

SPOF 3) Tranciatura OFF,punzonatura, roditura OFF

m PGAslAttivazione o disattivazione di punzonatura e roditura (SPOF, SON, PON, SONS, PONS, PDELAYON, PDELAYOF, PUNCHACC) [Pagina 665] 

SPOS Posizione del mandrino m PGsl 

SPOSA Posizione del mandrino oltre limiti di blocco

m PGsl 

SPP Lunghezza di un tratto di percorso m PGAslPreparazione automatica del percorso [Pagina 670] 

SPRINT Restituisce una stringa di ingresso formattata

PGAslFormattazione di una stringa (SPRINT) [Pagina 84]

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 873: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle17.1 Istruzioni

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 873

SQRT Radice quadrata(funzione aritmetica)(square root)

PGAslFunzioni di calcolo [Pagina 64] 

SR Percorso di svincolo con pendolamento per azione sincrona

s PGsl 

SRA Percorso di svincolo con pendolamento per ingresso esterno assiale per azione sincrona

m PGsl 

ST Tempo di spegnifiamma per pendolamento per azione sincrona

s PGsl 

STA Tempo di spegnifiamma per pendolamento assiale per azione sincrona

m PGsl 

START Avvio dei programmi selezionati in più canali contemporaneamente, dal programma in corso

PGAslCoordinamento dei programmi (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM) [Pagina 115] 

STARTFIFO 3) Elaborazione; parallelamente riempimento della memoria di preelaborazione

m PGAslEsecuzione del programma con memoria di preelaborazione (STOPFIFO, STARTFIFO, FIFOCTRL, STOPRE) [Pagina 475] 

STAT Posizione dei giunti s PGAslMovimento cartesiano PTP [Pagina 388] 

STOLF Fattore di tolleranza G0 m PGAslTolleranze per i movimenti G0 (STOLF) [Pagina 504]

STOPFIFO Arresto dell'elaborazione; riempimento della memoria di preelaborazione fino al riconoscimento di STARTFIFO, memoria di preelaborazione piena oppure fine programma

m PGAslEsecuzione del programma con memoria di preelaborazione (STOPFIFO, STARTFIFO, FIFOCTRL, STOPRE) [Pagina 475] 

STOPRE Stop preelaborazione fino ad esecuzione avvenuta di tutti i blocchi preelaborati dell'esecuzione principale

PGAslEsecuzione del programma con memoria di preelaborazione (STOPFIFO, STARTFIFO, FIFOCTRL, STOPRE) [Pagina 475] 

STOPREOF Eliminare il blocco preelaborazione PGAslDisattivazione stop preelaborazione (STOPREOF) [Pagina 588] 

STRING Tipo di dati: Stringa di caratteri PGAslDefinizione di variabili utente (DEF) [Pagina 25] 

STRINGFELD Selezione di un singolo carattere del campo Stringa programmato Campo stringa

PGAslSelezione di una singola stringa (STRINGVAR, STRINGFELD) [Pagina 83] 

STRINGIS Verifica il set di istruzioni del linguaggio NC e in particolare per questo comando i nomi dei cicli NC, le variabili utente, le macro e i nomi di label, per accertarsi che questi esistano, siano validi, definiti o attivi.

PGAslVerifica del set di istruzioni del linguaggio NC presente (STRINGIS) [Pagina 695] 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 874: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle 17.1 Istruzioni

Preparazione del lavoro874 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

STRINGVAR Selezione di un singolo carattere del campo stringa programmato

PGAslSelezione di una singola stringa (STRINGVAR, STRINGFELD) [Pagina 83] 

STRLEN Determinazione lunghezza di una stringa

PGAslDeterminazione della lunghezza di una stringa (STRLEN) [Pagina 80] 

SUBSTR Determinazione di indice di un carattere nella stringa di ingresso

PGAslSelezione di una stringa parziale (SUBSTR) [Pagina 82] 

SUPA Soppressione dello spostamento origine attuale, incluse le traslazioni programmate, i frame di sistema, le traslazioni DRF, lo spostamento origine esterno e movimento sovrapposto

s PGsl 

SVC Velocità di taglio utensile m PGsl

SYNFCT Valutazione di un polinomio in funzione di una condizione nell'azione sincrona al movimento

PGAslFunzione sincrona (SYNFCT) [Pagina 594] 

SYNR La lettura della variabile avviene in modo sincrono, ovvero al momento dell'elaborazione

PGAslDefinizione di variabili utente (DEF) [Pagina 25] 

SYNRW La lettura e la scrittura della variabile avvengono in modo sincrono, ovvero al momento dell'elaborazione

PGAslDefinizione di variabili utente (DEF) [Pagina 25] 

SYNW La scrittura della variabile avviene in modo sincrono, ovvero al momento dell'elaborazione

PGAslDefinizione di variabili utente (DEF) [Pagina 25] 

T Richiamo utensile (cambio solo se definito nel dato macchina, altrimenti è necessario il comando M6)

PGsl 

TAN Tangente (funzione trigonometrica) PGAslFunzioni di calcolo [Pagina 64] 

TANG Definizione del gruppo d'assi Inseguimento tangenziale

PGAslControllo tangenziale (TANG, TANGON, TANGOF, TLIFT, TANGDEL) [Pagina 463] 

TANGDEL Cancellazione della definizione del gruppo d'assi Inseguimento tangenziale

PGAslControllo tangenziale (TANG, TANGON, TANGOF, TLIFT, TANGDEL) [Pagina 463] 

TANGOF Inseguimento tangenziale OFF PGAslControllo tangenziale (TANG, TANGON, TANGOF, TLIFT, TANGDEL) [Pagina 463] 

TANGON Inseguimento tangenziale ON PGAslControllo tangenziale (TANG, TANGON, TANGOF, TLIFT, TANGDEL) [Pagina 463] 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 875: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle17.1 Istruzioni

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 875

TCA(828D: _TCA)

Selezione utensile / cambio utensile indipendente dallo stato dell'utensile

FBW

TCARR Richiedere portautensile (numero "m") PGAslCorrezione della lunghezza utensile per portautensili orientabili (TCARR, TCOABS, TCOFR, TCOFRX, TCOFRY, TCOFRZ) [Pagina 451] 

TCI Sostituzione utensile da memoria intermedia al magazzino

FBW

TCOABS 3) Determinazione componenti della lunghezza utensile dall'orientamento utensile attuale

m PGAslCorrezione della lunghezza utensile per portautensili orientabili (TCARR, TCOABS, TCOFR, TCOFRX, TCOFRY, TCOFRZ) [Pagina 451] 

TCOFR Determinazione componenti lunghezza utensile da orientamento del frame attuale

m PGAslCorrezione della lunghezza utensile per portautensili orientabili (TCARR, TCOABS, TCOFR, TCOFRX, TCOFRY, TCOFRZ) [Pagina 451] 

TCOFRX Nella scelta di un utensile definizione dell'orientamento utensile di un frame attivo , utensile nella direzione di X

m PGAslCorrezione della lunghezza utensile per portautensili orientabili (TCARR, TCOABS, TCOFR, TCOFRX, TCOFRY, TCOFRZ) [Pagina 451] 

TCOFRY Nella scelta di un utensile definizione dell'orientamento utensile di un frame attivo, utensile nella direzione di Y

m PGAslCorrezione della lunghezza utensile per portautensili orientabili (TCARR, TCOABS, TCOFR, TCOFRX, TCOFRY, TCOFRZ) [Pagina 451] 

TCOFRZ Nella scelta di un utensile definizione dell'orientamento utensile di un frame attivo , utensile nella direzione di Z

m PGAslCorrezione della lunghezza utensile per portautensili orientabili (TCARR, TCOABS, TCOFR, TCOFRX, TCOFRY, TCOFRZ) [Pagina 451] 

THETA Angolo di rotazione s PGAslRotazioni dell'orientamento utensile (ORIROTA, ORIROTR, ORIROTT, ORIROTC, THETA) [Pagina 356]

TILT Angolo laterale m PGAslProgrammazione dell'orientamento utensile (A..., B..., C..., LEAD, TILT) [Pagina 335] 

TLIFT Per il controllo tangenziale, inserimento blocco intermedio sugli spigoli del profilo

PGAslControllo tangenziale (TANG, TANGON, TANGOF, TLIFT, TANGDEL) [Pagina 463]

TMOF Disattivazione della sorveglianza utensile

PGAslSorveglianza utensili per rettifica nel partprogram (TMON, TMOF) [Pagina 677] 

TMON Selezione sorveglianza utensili PGAslSorveglianza utensili per rettifica nel partprogram (TMON, TMOF) [Pagina 677] 

TO Definisce il valore finale in un loop di conteggio FOR

PGAslLoop con conteggio (FOR ... TO ..., ENDFOR) [Pagina 110] 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 876: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle 17.1 Istruzioni

Preparazione del lavoro876 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

TOFF Offset della lunghezza utensile in direzione del componente della lunghezza utensile, che agisce parallelamente all'asse geometrico specificato nell'indice.

m PGsl 

TOFFL Offset della lunghezza utensile in direzione del componente della lunghezza utensile L1, L2 o L3

m PGsl 

TOFFOF Resettare la correzione della lunghezza utensile on line

PGAslCorrezione della lunghezza utensile on line (TOFFON, TOFFOF) [Pagina 454] 

TOFFON Attivazione correzione online della lunghezza utensile

PGAslCorrezione della lunghezza utensile on line (TOFFON, TOFFOF) [Pagina 454] 

TOFFR Offset del raggio utensile m PGsl 

TOFRAME Allineamento dell'asse Z dell'SCP mediante rotazione frame parallelamente all'orientamento utensile

m PGsl 

TOFRAMEX Allineamento dell'asse X dell'SCP mediante rotazione frame parallelamente all'orientamento utensile

m PGsl 

TOFRAMEY Allineamento dell'asse Y dell'SCP mediante rotazione frame parallelamente all'orientamento utensile

m PGsl 

TOFRAMEZ come TOFRAME m PGsl 

TOLOWER Convertire tutte le lettere della stringa di ingresso in lettere minuscole

PGAslConversione in lettere minuscole/maiuscole (TOLOWER, TOUPPER) [Pagina 79] 

TOOLENV Salvataggio di tutti gli stati attuali rilevanti ai fini della valutazione dei dati utensili memorizzati

FB1(W1)

TOROT Allineamento dell'asse Z dell'SCP mediante rotazione frame parallelamente all'orientamento utensile

m PGsl 

TOROTOF Rotazioni frame in direzione dell'utensile OFF

m PGsl 

TOROTX Allineamento dell'asse X dell'SCP mediante rotazione frame parallelamente all'orientamento utensile

m PGsl 

TOROTY Allineamento dell'asse Y dell'SCP mediante rotazione frame parallelamente all'orientamento utensile

m PGsl 

TOROTZ come TOROT m PGsl 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 877: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle17.1 Istruzioni

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 877

TOUPPER Convertire tutte le lettere della stringa di ingresso in lettere maiuscole

PGAslConversione in lettere minuscole/maiuscole (TOLOWER, TOUPPER) [Pagina 79] 

TOWBCS Valori di usura nel sistema di coordinate base (SCB)

m PGAslSistema di coordinate della lavorazione attiva (TOWSTD, TOWMCS, TOWWCS, TOWBCS, TOWTCS, TOWKCS) [Pagina 412] 

TOWKCS Valori di usura nel sistema di coordinate della testa dell'utensile con trasformazione cinetica (differisce dal SCM per la rotazione dell'utensile)

m PGAslSistema di coordinate della lavorazione attiva (TOWSTD, TOWMCS, TOWWCS, TOWBCS, TOWTCS, TOWKCS) [Pagina 412] 

TOWMCS Valori di usura nel sistema di coordinate della macchina (SCM)

m PGAslSistema di coordinate della lavorazione attiva (TOWSTD, TOWMCS, TOWWCS, TOWBCS, TOWTCS, TOWKCS) [Pagina 412] 

TOWSTD Valore di posizione base per le correzioni della lunghezza utensile

m PGAslSistema di coordinate della lavorazione attiva (TOWSTD, TOWMCS, TOWWCS, TOWBCS, TOWTCS, TOWKCS) [Pagina 412] 

TOWTCS Valori di usura nel sistema di coordinate utensile (punto di riferimento del portautensili T nel suo punto di innesto)

m PGAslSistema di coordinate della lavorazione attiva (TOWSTD, TOWMCS, TOWWCS, TOWBCS, TOWTCS, TOWKCS) [Pagina 412] 

TOWWCS Valori di usura nel sistema di coordinate del pezzo (SCP)

m PGAslSistema di coordinate della lavorazione attiva (TOWSTD, TOWMCS, TOWWCS, TOWBCS, TOWTCS, TOWKCS) [Pagina 412] 

TR Componente di traslazione di una variabile Frame

PGAslLeggere e modificare le componenti frame (TR, FI, RT, SC, MI) [Pagina 301] 

TRAANG Trasformazione per asse inclinato PGAslAsse inclinato (TRAANG) [Pagina 383] 

TRACON Trasformazione concatenata PGAslTrasformazioni concatenate (TRACON, TRAFOOF) [Pagina 399] 

TRACYL Cilindro: trasformazione superficie del cilindro

PGAslTrasformazione della superficie esterna del cilindro (TRACYL) [Pagina 375] 

TRAFOOF Disattivazione delle trasformazioni attive nel canale

PGAslTrasformazioni concatenate (TRACON, TRAFOOF) [Pagina 399] 

TRAILOF Trascinamento asincrono asse OFF PGAslTrascinamento (TRAILON, TRAILOF) [Pagina 507] 

TRAILON Trascinamento asincrono asse ON PGAslTrascinamento (TRAILON, TRAILOF) [Pagina 507] 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 878: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle 17.1 Istruzioni

Preparazione del lavoro878 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

TRANS Traslazione programmabile s PGsl 

TRANSMIT Trasformazione polare (lavorazione della superficie frontale)

PGAslFresatura su pezzi torniti (TRANSMIT) [Pagina 371] 

TRAORI Trasformazione a 4, 5 assi, trasformazione generica

PGAslTrasformazione a tre, quattro e cinque assi (TRAORI) [Pagina 332] 

TRUE Costante logica: vero PGAslDefinizione di variabili utente (DEF) [Pagina 25] 

TRUNC Esclusione delle cifre decimali PGAslCorrettore di precisione in caso di errori di confronto (TRUNC) [Pagina 69] 

TU Angolo asse s PGAslMovimento cartesiano PTP [Pagina 388] 

TURN Numero di spire per l'interpolazione elicoidale

s PGsl 

ULI Limite superiore delle variabili PGAslAttributo: valori limite (LLI, ULI) [Pagina 37]

UNLOCK Abilitare azione sincrona con ID (continuare ciclo tecnologico)

PGAslBlocco, sblocco, reset (LOCK, UNLOCK, RESET) [Pagina 644] 

UNTIL Condizione per la conclusione di un loop REPEAT

PGAslLoop di programma con condizione all'inizio del loop (WHILE, ENDWHILE) [Pagina 112] 

UPATH Il riferimento di percorso per gli assi FGROUP è il parametro della curva

m PGAslRiferimento vettoriale impostabile, (SPATH, UPATH) [Pagina 269] 

VAR Parola chiave: tipo di trasferimento dei parametri

PGAslRichiamo del sottoprogramma con assegnazione di parametri (EXTERN) [Pagina 195] 

VELOLIM Riduzione della velocità massima assiale

m PGAslCorrezione percentuale della velocità (VELOLIM) [Pagina 496] 

VELOLIMA Riduzione o sopraelevazione della velocità massima assiale dell'asse slave

m PGsl 

WAITC Attesa finché non è soddisfatto il criterio di cambio blocco di accoppiamento per gli assi/mandrini

PGAslCoordinamento dei programmi (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM) [Pagina 115] 

WAITE Attesa della fine del programma in un altro canale.

PGAslCoordinamento dei programmi (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM) [Pagina 115] 

WAITENC Attesa delle posizioni d'asse sincronizzate o ripristinate

PGAslAttesa di posizione asse valida (WAITENC) [Pagina 693]

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 879: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle17.1 Istruzioni

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 879

WAITM Attesa del marker nel canale specificato; terminare il blocco precedente con arresto preciso.

PGAslCoordinamento dei programmi (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM) [Pagina 115] 

WAITMC Attesa del marker nel canale indicato; arresto preciso solo se gli altri canali non hanno ancora raggiunto il marker.

PGAslCoordinamento dei programmi (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM) [Pagina 115] 

WAITP Attesa raggiungimento posizione finale mandrino

PGsl 

WAITS Attesa raggiungimento posizione mandrino

PGsl 

WALCS0 Limitazione del campo di lavoro WKS selezionata

m PGsl 

WALCS1 Gruppo di limitazione 1 del campo di lavoro WKS attivo

m PGsl 

WALCS2 Gruppo di limitazione 2 del campo di lavoro WKS attivo

m PGsl 

WALCS3 Gruppo di limitazione 3 del campo di lavoro WKS attivo

m PGsl 

WALCS4 Gruppo di limitazione 4 del campo di lavoro WKS attivo

m PGsl 

WALCS5 Gruppo di limitazione 5 del campo di lavoro WKS attivo

m PGsl 

WALCS6 Gruppo di limitazione 6 del campo di lavoro WKS attivo

m PGsl 

WALCS7 Gruppo di limitazione 7 del campo di lavoro WKS attivo

m PGsl 

WALCS8 Gruppo di limitazione 8 del campo di lavoro WKS attivo

m PGsl 

WALCS9 Gruppo di limitazione 9 del campo di lavoro WKS attivo

m PGsl 

WALCS10 Gruppo di limitazione 10 del campo di lavoro WKS attivo

m PGsl 

WALIMOF Limitazione campo di lavoro SCB OFF m PGsl 

WALIMON 3) Limitazione campo di lavoro SCB ON m PGsl 

WHEN L'azione viene eseguita ciclicamente quando la condizione è soddisfatta.

PGAslVerifica ciclica della condizione (WHEN, WHENEVER, FROM, EVERY) [Pagina 563] 

WHENEVER L'azione viene eseguita quando la condizione è soddisfatta.

PGAslVerifica ciclica della condizione (WHEN, WHENEVER, FROM, EVERY) [Pagina 563] 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 880: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle 17.1 Istruzioni

Preparazione del lavoro880 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

WHILE Inizio del loop di programma WHILE PGAslLoop di programma con condizione all'inizio del loop (WHILE, ENDWHILE) [Pagina 112] 

WRITE Scrivere testo nel file system. Inserisce un blocco alla fine del file indicato.

PGAslScrittura del file (WRITE) [Pagina 140]

WRTPR Ritarda l'ordine di lavorazione senza interrompere il funzionamento continuo

PGAsl

X Nome degli assi m/s PGsl 

XOR OR logico esclusivo PGAslOperazioni logiche e di confronto [Pagina 67] 

Y Nome degli assi m/s PGsl 

Z Nome degli assi m/s PGsl 

Istruzione Significato W 1) Per una descrizione, vedere 2)

Page 881: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle17.2 Istruzioni: Disponibilità per SINUMERIK 828D

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 881

17.2 Istruzioni: Disponibilità per SINUMERIK 828D

IstruzioneVariante di controllo 828D

PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2basic T basic M Tornitura Fresatura Tornitura Fresatura

: ● ● ● ● ● ●* ● ● ● ● ● ●+ ● ● ● ● ● ●- ● ● ● ● ● ●< ● ● ● ● ● ●<< ● ● ● ● ● ●<= ● ● ● ● ● ●= ● ● ● ● ● ●>= ● ● ● ● ● ●/ ● ● ● ● ● ●/0……/7

○A ● ● ● ● ● ●A2 - - - - - -A3 - - - - - -A4 - - - - - -A5 - - - - - -ABS ● ● ● ● ● ●AC ● ● ● ● ● ●ACC ● ● ● ● ● ●ACCLIMA ● ● ● ● ● ●ACN ● ● ● ● ● ●ACOS ● ● ● ● ● ●ACP ● ● ● ● ● ●ACTBLOCNO ● ● ● ● ● ●ADDFRAME ● ● ● ● ● ●ADIS ● ● ● ● ● ●ADISPOS ● ● ● ● ● ●ADISPOSA ● ● ● ● ● ●ALF ● ● ● ● ● ●AMIRROR ● ● ● ● ● ●AND ● ● ● ● ● ●ANG ● ● ● ● ● ●AP ● ● ● ● ● ●APR ● ● ● ● ● ●APRB ● ● ● ● ● ●

Page 882: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle 17.2 Istruzioni: Disponibilità per SINUMERIK 828D

Preparazione del lavoro882 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

APRP ● ● ● ● ● ●APW ● ● ● ● ● ●APWB ● ● ● ● ● ●APWP ● ● ● ● ● ●APX ● ● ● ● ● ●AR ● ● ● ● ● ●AROT ● ● ● ● ● ●AROTS ● ● ● ● ● ●AS ● ● ● ● ● ●ASCALE ● ● ● ● ● ●ASIN ● ● ● ● ● ●ASPLINE - ○ - ○ - ○ATAN2 ● ● ● ● ● ●ATOL - ● - ● - ●ATRANS ● ● ● ● ● ●AX ● ● ● ● ● ●AXCTSWE - - - - - -AXCTSWEC - - - - - -AXCTSWED - - - - - -AXIS ● ● ● ● ● ●AXNAME ● ● ● ● ● ●AXSTRING ● ● ● ● ● ●AXTOCHAN ● ● ● ● ● ●AXTOSPI ● ● ● ● ● ●B ● ● ● ● ● ●B2 - - - - - -B3 - - - - - -B4 - - - - - -B5 - - - - - -B_AND ● ● ● ● ● ●B_OR ● ● ● ● ● ●B_NOT ● ● ● ● ● ●B_XOR ● ● ● ● ● ●BAUTO - ○ - ○ - ○BLOCK ● ● ● ● ● ●BLSYNC ● ● ● ● ● ●BNAT - ○ - ○ - ○BOOL ● ● ● ● ● ●BOUND ● ● ● ● ● ●

IstruzioneVariante di controllo 828D

PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2basic T basic M Tornitura Fresatura Tornitura Fresatura

Page 883: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle17.2 Istruzioni: Disponibilità per SINUMERIK 828D

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 883

BRISK ● ● ● ● ● ●BRISKA ● ● ● ● ● ●BSPLINE - ○ - ○ - ○BTAN - ○ - ○ - ○C ● ● ● ● ● ●C2 - - - - - -C3 - - - - - -C4 - - - - - -C5 - - - - - -CAC ● ● ● ● ● ●CACN ● ● ● ● ● ●CACP ● ● ● ● ● ●CALCDAT ● ● ● ● ● ●CALCPOSI ● ● ● ● ● ●CALL ● ● ● ● ● ●CALLPATH ● ● ● ● ● ●CANCEL ● ● ● ● ● ●CASE ● ● ● ● ● ●CDC ● ● ● ● ● ●CDOF ● ● ● ● ● ●CDOF2 ● ● ● ● ● ●CDON ● ● ● ● ● ●CFC ● ● ● ● ● ●CFIN ● ● ● ● ● ●CFINE ● ● ● ● ● ●CFTCP ● ● ● ● ● ●CHAN ● ● ● ● ● ●CHANDATA ● ● ● ● ● ●CHAR ● ● ● ● ● ●CHECKSUM ● ● ● ● ● ●CHF ● ● ● ● ● ●CHKDM ● ● ● ● ● ●CHKDNO ● ● ● ● ● ●CHR ● ● ● ● ● ●CIC ● ● ● ● ● ●CIP ● ● ● ● ● ●CLEARM - - - - - -CLRINT ● ● ● ● ● ●CMIRROR ● ● ● ● ● ●

IstruzioneVariante di controllo 828D

PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2basic T basic M Tornitura Fresatura Tornitura Fresatura

Page 884: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle 17.2 Istruzioni: Disponibilità per SINUMERIK 828D

Preparazione del lavoro884 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

COARSEA ● ● ● ● ● ●COMPCAD - ○ - ○ - ○COMPCURV - ○ - ○ - ○COMPLETE ● ● ● ● ● ●COMPOF - ○ - ○ - ○COMPON - ○ - ○ - ○CONTDCON ● ● ● ● ● ●CONTPRON ● ● ● ● ● ●CORROF ● ● ● ● ● ●COS ● ● ● ● ● ●COUPDEF ○ - ○ - ○ -COUPDEL ○ - ○ - ○ -COUPOF ○ - ○ - ○ -COUPOFS ○ - ○ - ○ -COUPON ○ - ○ - ○ -COUPONC ○ - ○ - ○ -COUPRES ○ - ○ - ○ -CP ● ● ● ● ● ●CPRECOF ● ● ● ● ● ●CPRECON ● ● ● ● ● ●CPROT ● ● ● ● ● ●CPROTDEF ● ● ● ● ● ●CR ● ● ● ● ● ●CROT ● ● ● ● ● ●CROTS ● ● ● ● ● ●CRPL ● ● ● ● ● ●CSCALE ● ● ● ● ● ●CSPLINE - ○ - ○ - ○CT ● ● ● ● ● ●CTAB - - - - - -CTABDEF - - - - - -CTABDEL - - - - - -CTABEND - - - - - -CTABEXISTS - - - - - -CTABFNO - - - - - -CTABFPOL - - - - - -CTABFSEG - - - - - -CTABID - - - - - -CTABINV - - - - - -

IstruzioneVariante di controllo 828D

PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2basic T basic M Tornitura Fresatura Tornitura Fresatura

Page 885: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle17.2 Istruzioni: Disponibilità per SINUMERIK 828D

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 885

CTABISLOCK - - - - - -CTABLOCK - - - - - -CTABMEMTYP - - - - - -CTABMPOL - - - - - -CTABMSEG - - - - - -CTABNO - - - - - -CTABNOMEM - - - - - -CTABPERIOD - - - - - -CTABPOL - - - - - -CTABPOLID - - - - - -CTABSEG - - - - - -CTABSEGID - - - - - -CTABSEV - - - - - -CTABSSV - - - - - -CTABTEP - - - - - -CTABTEV - - - - - -CTABTMAX - - - - - -CTABTMIN - - - - - -CTABTSP - - - - - -CTABTSV - - - - - -CTABUNLOCK - - - - - -CTOL - ○ - ○ - ○CTRANS ● ● ● ● ● ●CUT2D ● ● ● ● ● ●CUT2DF ● ● ● ● ● ●CUT3DC - - - - - -CUT3DCC - - - - - -CUT3DCCD - - - - - -CUT3DF - - - - - -CUT3DFF - - - - - -CUT3DFS - - - - - -CUTCONOF ● ● ● ● ● ●CUTCONON ● ● ● ● ● ●CUTMOD ● ● ● ● ● ●CYCLE... ● ● ● ● ● ●D ● ● ● ● ● ●D0 ● ● ● ● ● ●DAC ● ● ● ● ● ●DC ● ● ● ● ● ●

IstruzioneVariante di controllo 828D

PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2basic T basic M Tornitura Fresatura Tornitura Fresatura

Page 886: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle 17.2 Istruzioni: Disponibilità per SINUMERIK 828D

Preparazione del lavoro886 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

DEF ● ● ● ● ● ●DEFINE ● ● ● ● ● ●DEFAULT ● ● ● ● ● ●DELAYFSTON ● ● ● ● ● ●DELAYFSTOF ● ● ● ● ● ●DELDL ● ● ● ● ● ●DELDTG ● ● ● ● ● ●DELETE ● ● ● ● ● ●DELTOOLENV ● ● ● ● ● ●DIACYCOFA ● ● ● ● ● ●DIAM90 ● ● ● ● ● ●DIAM90A ● ● ● ● ● ●DIAMCHAN ● ● ● ● ● ●DIAMCHANA ● ● ● ● ● ●DIAMCYCOF ● ● ● ● ● ●DIAMOF ● ● ● ● ● ●DIAMOFA ● ● ● ● ● ●DIAMON ● ● ● ● ● ●DIAMONA ● ● ● ● ● ●DIC ● ● ● ● ● ●DILF ● ● ● ● ● ●DISABLE ● ● ● ● ● ●DISC ● ● ● ● ● ●DISCL ● ● ● ● ● ●DISPLOF ● ● ● ● ● ●DISPLON ● ● ● ● ● ●DISPR ● ● ● ● ● ●DISR ● ● ● ● ● ●DITE ● ● ● ● ● ●DITS ● ● ● ● ● ●DIV ● ● ● ● ● ●DL - - - - - -DO ● ● ● ● ● ●DRFOF ● ● ● ● ● ●DRIVE ● ● ● ● ● ●DRIVEA ● ● ● ● ● ●DYNFINISH ● ● ● ● ● ●DYNNORM ● ● ● ● ● ●DYNPOS ● ● ● ● ● ●

IstruzioneVariante di controllo 828D

PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2basic T basic M Tornitura Fresatura Tornitura Fresatura

Page 887: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle17.2 Istruzioni: Disponibilità per SINUMERIK 828D

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 887

DYNROUGH ● ● ● ● ● ●DYNSEMIFIN ● ● ● ● ● ●DZERO ● ● ● ● ● ●EAUTO - ○ - ○ - ○EGDEF - - - - - -EGDEL - - - - - -EGOFC - - - - - -EGOFS - - - - - -EGON - - - - - -EGONSYN - - - - - -EGONSYNE - - - - - -ELSE ● ● ● ● ● ●ENABLE ● ● ● ● ● ●ENAT - ○ - ○ - ○ENDFOR ● ● ● ● ● ●ENDIF ● ● ● ● ● ●ENDLABEL ● ● ● ● ● ●ENDLOOP ● ● ● ● ● ●ENDPROC ● ● ● ● ● ●ENDWHILE ● ● ● ● ● ●ESRR ● ● ● ● ● ●ESRS ● ● ● ● ● ●ETAN - ○ - ○ - ○EVERY ● ● ● ● ● ●EX ● ● ● ● ● ●EXECSTRING ● ● ● ● ● ●EXECTAB ● ● ● ● ● ●EXECUTE ● ● ● ● ● ●EXP ● ● ● ● ● ●EXTCALL ● ● ● ● ● ●EXTCLOSE ● ● ● ● ● ●EXTERN ● ● ● ● ● ●EXTOPEN ● ● ● ● ● ●F ● ● ● ● ● ●FA ● ● ● ● ● ●FAD ● ● ● ● ● ●FALSE ● ● ● ● ● ●FB ● ● ● ● ● ●FCTDEF - - - - - -

IstruzioneVariante di controllo 828D

PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2basic T basic M Tornitura Fresatura Tornitura Fresatura

Page 888: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle 17.2 Istruzioni: Disponibilità per SINUMERIK 828D

Preparazione del lavoro888 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

FCUB ● ● ● ● ● ●FD ● ● ● ● ● ●FDA ● ● ● ● ● ●FENDNORM ● ● ● ● ● ●FFWOF ● ● ● ● ● ●FFWON ● ● ● ● ● ●FGREF ● ● ● ● ● ●FGROUP ● ● ● ● ● ●FI ● ● ● ● ● ●FIFOCTRL ● ● ● ● ● ●FILEDATE ● ● ● ● ● ●FILEINFO ● ● ● ● ● ●FILESIZE ● ● ● ● ● ●FILESTAT ● ● ● ● ● ●FILETIME ● ● ● ● ● ●FINEA ● ● ● ● ● ●FL ● ● ● ● ● ●FLIN ● ● ● ● ● ●FMA - - - - - -FNORM ● ● ● ● ● ●FOCOF ○ - ○ - ○ -FOCON ○ - ○ - ○ -FOR ● ● ● ● ● ●FP ● ● ● ● ● ●FPO - - - - - -FPR ● ● ● ● ● ●FPRAOF ● ● ● ● ● ●FPRAON ● ● ● ● ● ●FRAME ● ● ● ● ● ●FRC ● ● ● ● ● ●FRCM ● ● ● ● ● ●FROM ● ● ● ● ● ●FTOC ● ● ● ● ● ●FTOCOF ● ● ● ● ● ●FTOCON ● ● ● ● ● ●FXS ● ● ● ● ● ●FXST ● ● ● ● ● ●FXSW ● ● ● ● ● ●FZ ● ● ● ● ● ●

IstruzioneVariante di controllo 828D

PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2basic T basic M Tornitura Fresatura Tornitura Fresatura

Page 889: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle17.2 Istruzioni: Disponibilità per SINUMERIK 828D

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 889

G0 ● ● ● ● ● ●G1 ● ● ● ● ● ●G2 ● ● ● ● ● ●G3 ● ● ● ● ● ●G4 ● ● ● ● ● ●G5 ● ● ● ● ● ●G7 ● ● ● ● ● ●G9 ● ● ● ● ● ●G17 ● ● ● ● ● ●G18 ● ● ● ● ● ●G19 ● ● ● ● ● ●G25 ● ● ● ● ● ●G26 ● ● ● ● ● ●G33 ● ● ● ● ● ●G34 ● ● ● ● ● ●G35 ● ● ● ● ● ●G40 ● ● ● ● ● ●G41 ● ● ● ● ● ●G42 ● ● ● ● ● ●G53 ● ● ● ● ● ●G54 ● ● ● ● ● ●G55 ● ● ● ● ● ●G56 ● ● ● ● ● ●G57 ● ● ● ● ● ●G58 ● ● ● ● ● ●G59 ● ● ● ● ● ●G60 ● ● ● ● ● ●G62 ● ● ● ● ● ●G63 ● ● ● ● ● ●G64 ● ● ● ● ● ●G70 ● ● ● ● ● ●G71 ● ● ● ● ● ●G74 ● ● ● ● ● ●G75 ● ● ● ● ● ●G90 ● ● ● ● ● ●G91 ● ● ● ● ● ●G93 ● ● ● ● ● ●G94 ● ● ● ● ● ●G95 ● ● ● ● ● ●

IstruzioneVariante di controllo 828D

PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2basic T basic M Tornitura Fresatura Tornitura Fresatura

Page 890: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle 17.2 Istruzioni: Disponibilità per SINUMERIK 828D

Preparazione del lavoro890 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

G96 ● ● ● ● ● ●G97 ● ● ● ● ● ●G110 ● ● ● ● ● ●G111 ● ● ● ● ● ●G112 ● ● ● ● ● ●G140 ● ● ● ● ● ●G141 ● ● ● ● ● ●G142 ● ● ● ● ● ●G143 ● ● ● ● ● ●G147 ● ● ● ● ● ●G148 ● ● ● ● ● ●G153 ● ● ● ● ● ●G247 ● ● ● ● ● ●G248 ● ● ● ● ● ●G290 ● ● ● ● ● ●G291 ● ● ● ● ● ●G331 ● ● ● ● ● ●G332 ● ● ● ● ● ●G340 ● ● ● ● ● ●G341 ● ● ● ● ● ●G347 ● ● ● ● ● ●G348 ● ● ● ● ● ●G450 ● ● ● ● ● ●G451 ● ● ● ● ● ●G460 ● ● ● ● ● ●G461 ● ● ● ● ● ●G462 ● ● ● ● ● ●G500 ● ● ● ● ● ●G505 ... G599 ● ● ● ● ● ●G601 ● ● ● ● ● ●G602 ● ● ● ● ● ●G603 ● ● ● ● ● ●G621 ● ● ● ● ● ●G641 ● ● ● ● ● ●G642 ● ● ● ● ● ●G643 ● ● ● ● ● ●G644 ● ● ● ● ● ●G645 ● ● ● ● ● ●G700 ● ● ● ● ● ●

IstruzioneVariante di controllo 828D

PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2basic T basic M Tornitura Fresatura Tornitura Fresatura

Page 891: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle17.2 Istruzioni: Disponibilità per SINUMERIK 828D

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 891

G710 ● ● ● ● ● ●G751 ● ● ● ● ● ●G810 ... G819 - - - - - -G820 ... G829 - - - - - -G931 ● ● ● ● ● ●G942 ● ● ● ● ● ●G952 ● ● ● ● ● ●G961 ● ● ● ● ● ●G962 ● ● ● ● ● ●G971 ● ● ● ● ● ●G972 ● ● ● ● ● ●G973 ● ● ● ● ● ●GEOAX ● ● ● ● ● ●GET ● ● ● ● ● ●GETACTT ● ● ● ● ● ●GETACTTD ● ● ● ● ● ●GETD ● ● ● ● ● ●GETDNO ● ● ● ● ● ●GETEXET ● ● ● ● ● ●GETFREELOC ● ● ● ● ● ●GETSELT ● ● ● ● ● ●GETT ● ● ● ● ● ●GETTCOR ● ● ● ● ● ●GETTENV ● ● ● ● ● ●GOTO ● ● ● ● ● ●GOTOB ● ● ● ● ● ●GOTOC ● ● ● ● ● ●GOTOF ● ● ● ● ● ●GOTOS ● ● ● ● ● ●GP ● ● ● ● ● ●GWPSOF ● ● ● ● ● ●GWPSON ● ● ● ● ● ●H... ● ● ● ● ● ●HOLES1 ● ● ● ● ● ●HOLES2 ● ● ● ● ● ●I ● ● ● ● ● ●I1 ● ● ● ● ● ●IC ● ● ● ● ● ●ICYCOF ● ● ● ● ● ●

IstruzioneVariante di controllo 828D

PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2basic T basic M Tornitura Fresatura Tornitura Fresatura

Page 892: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle 17.2 Istruzioni: Disponibilità per SINUMERIK 828D

Preparazione del lavoro892 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

ICYCON ● ● ● ● ● ●ID ● ● ● ● ● ●IDS ● ● ● ● ● ●IF ● ● ● ● ● ●INDEX ● ● ● ● ● ●INIPO ● ● ● ● ● ●INIRE ● ● ● ● ● ●INICF ● ● ● ● ● ●INIT - - - - - -INITIAL ● ● ● ● ● ●INT ● ● ● ● ● ●INTERSEC ● ● ● ● ● ●INVCCW - - - - - -INVCW - - - - - -INVFRAME ● ● ● ● ● ●IP ● ● ● ● ● ●IPOBRKA ● ● ● ● ● ●IPOENDA ● ● ● ● ● ●IPTRLOCK ● ● ● ● ● ●IPTRUNLOCK ● ● ● ● ● ●ISAXIS ● ● ● ● ● ●ISD - - - - - -ISFILE ● ● ● ● ● ●ISNUMBER ● ● ● ● ● ●ISOCALL ● ● ● ● ● ●ISVAR ● ● ● ● ● ●J ● ● ● ● ● ●J1 ● ● ● ● ● ●JERKA ● ● ● ● ● ●JERKLIM ● ● ● ● ● ●JERKLIMA ● ● ● ● ● ●K ● ● ● ● ● ●K1 ● ● ● ● ● ●KONT ● ● ● ● ● ●KONTC ● ● ● ● ● ●KONTT ● ● ● ● ● ●L ● ● ● ● ● ●

IstruzioneVariante di controllo 828D

PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2basic T basic M Tornitura Fresatura Tornitura Fresatura

Page 893: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle17.2 Istruzioni: Disponibilità per SINUMERIK 828D

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 893

LEADOrientamento dell'utensilePolinomio d'orientamento

-

-

-

-

-

-

-

-

-

-

-

-

LEADOF - - - - - -LEADON - - - - - -LENTOAX ● ● ● ● ● ●LFOF ● ● ● ● ● ●LFON ● ● ● ● ● ●LFPOS ● ● ● ● ● ●LFTXT ● ● ● ● ● ●LFWP ● ● ● ● ● ●LIFTFAST ● ● ● ● ● ●LIMS ● ● ● ● ● ●LLI ● ● ● ● ● ●LN ● ● ● ● ● ●LOCK ● ● ● ● ● ●LONGHOLE - - - - - -LOOP ● ● ● ● ● ●M0 ● ● ● ● ● ●M1 ● ● ● ● ● ●M2 ● ● ● ● ● ●M3 ● ● ● ● ● ●M4 ● ● ● ● ● ●M5 ● ● ● ● ● ●M6 ● ● ● ● ● ●M17 ● ● ● ● ● ●M19 ● ● ● ● ● ●M30 ● ● ● ● ● ●M40 ● ● ● ● ● ●M41 ... M45 ● ● ● ● ● ●M70 ● ● ● ● ● ●MASLDEF ● ● ● ● ● ●MASLDEL ● ● ● ● ● ●MASLOF ● ● ● ● ● ●MASLOFS ● ● ● ● ● ●MASLON ● ● ● ● ● ●MATCH ● ● ● ● ● ●MAXVAL ● ● ● ● ● ●

IstruzioneVariante di controllo 828D

PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2basic T basic M Tornitura Fresatura Tornitura Fresatura

Page 894: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle 17.2 Istruzioni: Disponibilità per SINUMERIK 828D

Preparazione del lavoro894 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

MCALL ● ● ● ● ● ●MEAC - - - - - -MEAFRAME ● ● ● ● ● ●MEAS ● ● ● ● ● ●MEASA - - - - - -MEASURE ● ● ● ● ● ●MEAW ● ● ● ● ● ●MEAWA - - - - - -MI ● ● ● ● ● ●MINDEX ● ● ● ● ● ●MINVAL ● ● ● ● ● ●MIRROR ● ● ● ● ● ●MMC ● ● ● ● ● ●MOD ● ● ● ● ● ●MODAXVAL ● ● ● ● ● ●MOV ● ● ● ● ● ●MSG ● ● ● ● ● ●MVTOOL ● ● ● ● ● ●N ● ● ● ● ● ●NCK ● ● ● ● ● ●NEWCONF ● ● ● ● ● ●NEWT ● ● ● ● ● ●NORM ● ● ● ● ● ●NOT ● ● ● ● ● ●NPROT ● ● ● ● ● ●NPROTDEF ● ● ● ● ● ●NUMBER ● ● ● ● ● ●OEMIPO1 - - - - - -OEMIPO2 - - - - - -OF ● ● ● ● ● ●OFFN ● ● ● ● ● ●OMA1 - - - - - -OMA2 - - - - - -OMA3 - - - - - -OMA4 - - - - - -OMA5 - - - - - -OR ● ● ● ● ● ●ORIAXES - - - - - -ORIAXPOS - - - - - -

IstruzioneVariante di controllo 828D

PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2basic T basic M Tornitura Fresatura Tornitura Fresatura

Page 895: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle17.2 Istruzioni: Disponibilità per SINUMERIK 828D

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 895

ORIC - - - - - -ORICONCCW - - - - - -ORICONCW - - - - - -ORICONIO - - - - - -ORICONTO - - - - - -ORICURVE - - - - - -ORID - - - - - -ORIEULER - - - - - -ORIMKS - - - - - -ORIPATH - - - - - -ORIPATHS - - - - - -ORIPLANE - - - - - -ORIRESET - - - - - -ORIROTA - - - - - -ORIROTC - - - - - -ORIROTR - - - - - -ORIROTT - - - - - -ORIRPY - - - - - -ORIRPY2 - - - - - -ORIS - - - - - -ORISOF - - - - - -ORISON - - - - - -ORIVECT - - - - - -ORIVIRT1 - - - - - -ORIVIRT2 - - - - - -ORIWKS - - - - - -OS - - - - - -OSB - - - - - -OSC - - - - - -OSCILL - - - - - -OSCTRL - - - - - -OSD - - - - - -OSE - - - - - -OSNSC - - - - - -OSOF - - - - - -OSP1 - - - - - -OSP2 - - - - - -OSS - - - - - -OSSE - - - - - -

IstruzioneVariante di controllo 828D

PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2basic T basic M Tornitura Fresatura Tornitura Fresatura

Page 896: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle 17.2 Istruzioni: Disponibilità per SINUMERIK 828D

Preparazione del lavoro896 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

OST - - - - - -OST1 - - - - - -OST2 - - - - - -OTOL - ● - ● - ●OVR ● ● ● ● ● ●OVRA ● ● ● ● ● ●OVRRAP ● ● ● ● ● ●P ● ● ● ● ● ●PAROT ● ● ● ● ● ●PAROTOF ● ● ● ● ● ●PCALL ● ● ● ● ● ●PDELAYOF - - - - - -PDELAYON - - - - - -PHU ● ● ● ● ● ●PL -

-

-

-

-

-

-

-

-PM ● ● ● ● ● ●PO - - - - - -POCKET3 ● ● ● ● ● ●POCKET4 ● ● ● ● ● ●POLF ● ● ● ● ● ●POLFA ● ● ● ● ● ●POLFMASK ● ● ● ● ● ●POLFMLIN ● ● ● ● ● ●POLY - - - - - -POLYPATH - - - - - -PON - - - - - -PONS - - - - - -POS ● ● ● ● ● ●POSA ● ● ● ● ● ●POSM ● ● ● ● ● ●POSP ● ● ● ● ● ●POSRANGE ● ● ● ● ● ●POT ● ● ● ● ● ●PR ● ● ● ● ● ●PREPRO ● ● ● ● ● ●PRESETON ● ● ● ● ● ●PRIO ● ● ● ● ● ●

IstruzioneVariante di controllo 828D

PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2basic T basic M Tornitura Fresatura Tornitura Fresatura

Page 897: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle17.2 Istruzioni: Disponibilità per SINUMERIK 828D

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 897

PROC ● ● ● ● ● ●PTP ● ● ● ● ● ●PTPG0 ● ● ● ● ● ●PUNCHACC - - - - - -PUTFTOC ● ● ● ● ● ●PUTFTOCF ● ● ● ● ● ●PW - ○ - ○ - ○QECLRNOF ● ● ● ● ● ●QECLRNON ● ● ● ● ● ●QU ● ● ● ● ● ●R... ● ● ● ● ● ●RAC ● ● ● ● ● ●RDISABLE ● ● ● ● ● ●READ ● ● ● ● ● ●REAL ● ● ● ● ● ●REDEF ● ● ● ● ● ●RELEASE ● ● ● ● ● ●REP ● ● ● ● ● ●REPEAT ● ● ● ● ● ●REPEATB ● ● ● ● ● ●REPOSA ● ● ● ● ● ●REPOSH ● ● ● ● ● ●REPOSHA ● ● ● ● ● ●REPOSL ● ● ● ● ● ●REPOSQ ● ● ● ● ● ●REPOSQA ● ● ● ● ● ●RESET ● ● ● ● ● ●RESETMON ● ● ● ● ● ●RET ● ● ● ● ● ●RIC ● ● ● ● ● ●RINDEX ● ● ● ● ● ●RMB ● ● ● ● ● ●RME ● ● ● ● ● ●RMI ● ● ● ● ● ●RMN ● ● ● ● ● ●RND ● ● ● ● ● ●RNDM ● ● ● ● ● ●ROT ● ● ● ● ● ●ROTS ● ● ● ● ● ●

IstruzioneVariante di controllo 828D

PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2basic T basic M Tornitura Fresatura Tornitura Fresatura

Page 898: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle 17.2 Istruzioni: Disponibilità per SINUMERIK 828D

Preparazione del lavoro898 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

ROUND ● ● ● ● ● ●ROUNDUP ● ● ● ● ● ●RP ● ● ● ● ● ●RPL ● ● ● ● ● ●RT ● ● ● ● ● ●RTLIOF ● ● ● ● ● ●RTLION ● ● ● ● ● ●S ● ● ● ● ● ●SAVE ● ● ● ● ● ●SBLOF ● ● ● ● ● ●SBLON ● ● ● ● ● ●SC ● ● ● ● ● ●SCALE ● ● ● ● ● ●SCC ● ● ● ● ● ●SCPARA ● ● ● ● ● ●SD - ○ - ○ - ○SEFORM ● ● ● ● ● ●SET ● ● ● ● ● ●SETAL ● ● ● ● ● ●SETDNO ● ● ● ● ● ●SETINT ● ● ● ● ● ●SETM - - - - - -SETMS ● ● ● ● ● ●SETMS (n) ● ● ● ● ● ●SETMTH ● ● ● ● ● ●SETPIECE ● ● ● ● ● ●SETTA ● ● ● ● ● ●SETTCOR ● ● ● ● ● ●SETTIA ● ● ● ● ● ●SF ● ● ● ● ● ●SIN ● ● ● ● ● ●SIRELAY - - - - - -SIRELIN - - - - - -SIRELOUT - - - - - -SIRELTIME - - - - - -SLOT1 ● ● ● ● ● ●SLOT2 ● ● ● ● ● ●SOFT ● ● ● ● ● ●SOFTA ● ● ● ● ● ●

IstruzioneVariante di controllo 828D

PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2basic T basic M Tornitura Fresatura Tornitura Fresatura

Page 899: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle17.2 Istruzioni: Disponibilità per SINUMERIK 828D

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 899

SON - - - - - -SONS - - - - - -SPATH ● ● ● ● ● ●SPCOF ● ● ● ● ● ●SPCON ● ● ● ● ● ●SPI ● ● ● ● ● ●SPIF1 - - - - - -SPIF2 - - - - - -SPLINEPATH - ○ - ○ - ○SPN - - - - - -SPOF - - - - - -SPOS ● ● ● ● ● ●SPOSA ● ● ● ● ● ●SPP - - - - - -SPRINT ● ● ● ● ● ●SQRT ● ● ● ● ● ●SR - - - - - -SRA - - - - - -ST - - - - - -STA - - - - - -START - - - - - -STARTFIFO ● ● ● ● ● ●STAT ● ● ● ● ● ●STOLF - - - - - -STOPFIFO ● ● ● ● ● ●STOPRE ● ● ● ● ● ●STOPREOF ● ● ● ● ● ●STRING ● ● ● ● ● ●STRINGFELD ● ● ● ● ● ●STRINGIS ● ● ● ● ● ●STRINGVAR - - - - - -STRLEN ● ● ● ● ● ●SUBSTR ● ● ● ● ● ●SUPA ● ● ● ● ● ●SVC ● ● ● ● ● ●SYNFCT ● ● ● ● ● ●SYNR ● ● ● ● ● ●SYNRW ● ● ● ● ● ●SYNW ● ● ● ● ● ●

IstruzioneVariante di controllo 828D

PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2basic T basic M Tornitura Fresatura Tornitura Fresatura

Page 900: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle 17.2 Istruzioni: Disponibilità per SINUMERIK 828D

Preparazione del lavoro900 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

T ● ● ● ● ● ●TAN ● ● ● ● ● ●TANG - - - - - -TANGDEL - - - - - -TANGOF - - - - - -TANGON - - - - - -TCA(828D: _TCA) ● ● ● ● ● ●TCARR - ● - ● - ●TCI ● ● ● ● ● ●TCOABS - ● - ● - ●TCOFR - ● - ● - ●TCOFRX - ● - ● - ●TCOFRY - ● - ● - ●TCOFRZ - ● - ● - ●THETA - - - - - -TILT - - - - - -TLIFT - - - - - -TMOF ● ● ● ● ● ●TMON ● ● ● ● ● ●TO ● ● ● ● ● ●TOFF ● ● ● ● ● ●TOFFL ● ● ● ● ● ●TOFFOF ● ● ● ● ● ●TOFFON ● ● ● ● ● ●TOFFR ● ● ● ● ● ●TOFRAME ● ● ● ● ● ●TOFRAMEX ● ● ● ● ● ●TOFRAMEY ● ● ● ● ● ●TOFRAMEZ ● ● ● ● ● ●TOLOWER ● ● ● ● ● ●TOOLENV ● ● ● ● ● ●TOROT ● ● ● ● ● ●TOROTOF ● ● ● ● ● ●TOROTX ● ● ● ● ● ●TOROTY ● ● ● ● ● ●TOROTZ ● ● ● ● ● ●TOUPPER ● ● ● ● ● ●TOWBCS - ● - ● - ●

IstruzioneVariante di controllo 828D

PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2basic T basic M Tornitura Fresatura Tornitura Fresatura

Page 901: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle17.2 Istruzioni: Disponibilità per SINUMERIK 828D

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 901

TOWKCS - ● - ● - ●TOWMCS - ● - ● - ●TOWSTD - ● - ● - ●TOWTCS - ● - ● - ●TOWWCS - ● - ● - ●TR ● ● ● ● ● ●TRAANG - - - - ○ -TRACON - - - - ○ -TRACYL ○ ○ ○ ○ ○ ○TRAFOOF ● ● ● ● ● ●TRAILOF ● ● ● ● ● ●TRAILON ● ● ● ● ● ●TRANS ● ● ● ● ● ●TRANSMIT ○ ○ ○ ○ ○ ○TRAORI - ● - ● - ●TRUE ● ● ● ● ● ●TRUNC ● ● ● ● ● ●TU ● ● ● ● ● ●TURN ● ● ● ● ● ●ULI ● ● ● ● ● ●UNLOCK ● ● ● ● ● ●UNTIL ● ● ● ● ● ●UPATH ● ● ● ● ● ●VAR ● ● ● ● ● ●VELOLIM ● ● ● ● ● ●VELOLIMA ● ● ● ● ● ●WAITC - - - - ○ -WAITE - - - - - -WAITENC - - - - - -WAITM - - - - - -WAITMC - - - - - -WAITP ● ● ● ● ● ●WAITS ● ● ● ● ● ●WALCS0 ● ● ● ● ● ●WALCS1 ● ● ● ● ● ●WALCS2 ● ● ● ● ● ●WALCS3 ● ● ● ● ● ●WALCS4 ● ● ● ● ● ●WALCS5 ● ● ● ● ● ●

IstruzioneVariante di controllo 828D

PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2basic T basic M Tornitura Fresatura Tornitura Fresatura

Page 902: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle 17.2 Istruzioni: Disponibilità per SINUMERIK 828D

Preparazione del lavoro902 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

WALCS6 ● ● ● ● ● ●WALCS7 ● ● ● ● ● ●WALCS8 ● ● ● ● ● ●WALCS9 ● ● ● ● ● ●WALCS10 ● ● ● ● ● ●WALIMOF ● ● ● ● ● ●WALIMON ● ● ● ● ● ●WHEN ● ● ● ● ● ●WHENEVER ● ● ● ● ● ●WHILE ● ● ● ● ● ●WRITE ● ● ● ● ● ●WRTPR ● ● ● ● ● ●X ● ● ● ● ● ●XOR ● ● ● ● ● ●Y ● ● ● ● ● ●Z ● ● ● ● ● ●

IstruzioneVariante di controllo 828D

PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2basic T basic M Tornitura Fresatura Tornitura Fresatura

● Standard○ Opzione- Non disponibile

Page 903: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle17.3 Linguaggio attuale nell'HMI

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 903

17.3 Linguaggio attuale nell'HMILa tabella che segue contiene tutti i linguaggi disponibili sulla superficie operativa.

Il linguaggio attualmente impostato è richiedibile nel programma pezzo e in azioni sincrone tramite la seguente variabile di sistema:

$AN_LANGUAGE_ON_HMI = <valore>

<valore> Linguaggio Codice linguaggio1 Tedesco (Germania) DEU2 Francese FRA3 Inglese (Regno Unito) ENG4 Spagnolo ESP6 Italiano ITA7 Olandese NLD8 Cinese (semplificato) CHS9 Svedese SVE18 Ungherese HUN19 Finlandese FIN28 Ceco CSY50 Portoghese (brasiliano) PTB53 Polacco PLK55 Danese DAN57 Russo RUS68 Slovacco SKY72 Rumeno ROM80 Cinese (tradizionale) CHT85 Coreano KOR87 Giapponese JPN89 Turco TRK

NotaUn aggiornamento di $AN_LANGUAGE_ON_HMI avviene:

• dopo l'avviamento del sistema;• dopo il reset dell'NCK e/o del PLC;• dopo la commutazione su un altro NCK nell'ambito di M2N;• dopo la commutazione del linguaggio sull'HMI.

Page 904: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Tabelle 17.3 Linguaggio attuale nell'HMI

Preparazione del lavoro904 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Page 905: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Preparazione del lavoroManuale di programmazione 02/2011, 6FC5398-2BP40-1CA0 905

AAppendice

A.1 Elenco delle abbreviazioniA UscitaAS Sistema d'automazioneASCII American Standard Code for Information Interchange: Codice standard americano

per lo scambio di informazioniASIC Application Specific Integrated Circuit: circuito integrato per applicazione specificaASUP Sottoprogramma asincronoAV Preparazione del lavoroAWL Lista istruzioniBA Modo operativoBAG Gruppi di modi operativiBB Pronto al funzionamentoBuB, B&B Servizio e supervisioneBCD Binary Coded Decimals: numeri decimali codificati in codice binarioBHG Tastiera operativa manualeBIN File binari (Binary Files)BIOS Basic Input Output SystemBKS Sistema di coordinate baseBOF Superficie operativaBT Pannello operatoreBTSS Interfaccia pannello operatoreCAD Computer-Aided Design: progettazione supportata da computerCAM Computer-Aided Manufacturing: produzione supportata da computerCNC Computerized Numerical Control: Controllo numerico computerizzatoCOM CommunicationCP Processore di comunicazioneCPU Central Processing Unit: unità di elaborazione centraleCR Carriage ReturnCRT Cathode Ray Tube: tubo catodicoCSB Central Service Board: scheda PLCCTS Clear To Send: messaggio di pronto per invio con interfacce dati serialiCUTCOM Cutter radius compensation: Correzione raggio utensileDAU DAC (convertitore analogico-digitale)DB Blocco dati nel PLCDBB Byte nel blocco dati nel PLCDBW Parola nel blocco dati nel PLCDBX Bit nel blocco dati nel PLC

Page 906: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Appendice A.1 Elenco delle abbreviazioni

Preparazione del lavoro906 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

DC Direct Control: movimento dell’asse rotante verso la posizione assoluta nell'ambito di un giro attraverso il percorso più breve

DCD Carrier DetectDDE Dynamic Data Exchange: scambio dati automaticoDEE Terminale per datiDIN Norme industriali tedescheDIO Data Input/Output: visualizzazione trasmissione datiDIR Directory: DirectoryDLL Dynamic Link LibraryDOE Apparecchio per la trasmissione di datiDOS Disk Operating SystemDPM Dual Port Memory: memoria a doppio accessoDPR Dual-Port-RAM: memoria di scrittura/lettura a doppio accessoDRAM Dynamic Random Access Memory: memoria di scrittura/lettura dinamicaDRF Differential Resolver Function: funzione resolver differenziale (volantino)DRY Dry Run: Avanzamento per ciclo di provaDSB Decoding Single Block: decodifica blocco singoloDW Parola datiE IngressoI/O Input/OutputCodice EIA Codice speciale per nastro perforato, il numero di fori per carattere è sempre dispariENC Encoder: trasduttore del valore realeEPROM Erasable Programmable Read Only Memory (memoria di lettura cancellabile e

programmabile elettricamente)ERROR Error from printerFB Blocco funzionaleFBS Schermo piattoFC Function Call: blocco funzionale (nel PLC)FDB Banca dati dei prodottiFDD Floppy Disk Drive: unità a dischettiFEPROM Flash-EPROM: memoria di lettura e scritturaFIFO First in First Out: memoria che lavora senza indicazione dell'indirizzo e nella quale i

dati vengono letti nella stessa sequenza in cui sono stati salvati.FIPO Interpolatore fineFM Modulo funzionaleFPU Floating Point Unit: unità a virgola mobileFRA Blocco frameFRAME Set di dati (cumulativi)FRK Correzione raggio (CRF)FST Feed Stop: stop avanzamentoFUP Schema funzionale (metodo di programmazione per il PLC)GP Programma baseGUD Global User Data: Dati utente globali

Page 907: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

AppendiceA.1 Elenco delle abbreviazioni

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 907

HD Hard Disk: Disco rigidoHEX Acronimo per valore esadecimaleHiFu Funzione ausiliariaHMI Human Machine Interface: funzionalità del SINUMERIK per operatività,

programmazione e simulazione.HMS Sistema di misura ad alta risoluzioneHSA Azionamento mandrino principaleHW HardwareIBN Messa in servizioIF Abilitazione impulsi per il modulo di azionamentoIK (GD) Comunicazione implicita (dati globali)IKA Interpolative Compensation: Compensazione interpolatoriaIM Interface-Modul: scheda d'interfacciaIMR Interface-Modul Receive: scheda d’interfaccia per la ricezioneIMS Interface-Modul Send: scheda d’interfaccia per la trasmissioneINC Increment: Quota incrementaleINI Initializing Data: Dati di inizializzazioneIPO InterpolatoreISA International Standard ArchitectureISO International Standard OrganizationCodice ISO Codice speciale per nastro perforato, il numero di fori per carattere è sempre pariJOG Jogging: messa a puntoK1 .. K4 Canale da 1 a 4K-Bus Bus di comunicazioneKD Rotazione delle coordinateKOP Schema a contatti (metodo di programmazione per il PLC)Kv Fattore di guadagno dell'anello

KÜ Rapporto di trasmissione

LCD Liquid Crystal Display: display a cristalli liquidiLED Light-Emitting Diode: indicatore a diodi luminosiLF Line FeedLMS Sistema di misura della posizioneLR Regolatore di posizioneLUD Local User DataMB MegabyteMD Dati macchinaMDA Manual Data Automatic: immissione manualeMK Circuito di misuraSCM Sistema di coordinate macchinaMLFB Numero di ordinazione del materialeMPF Main Program File: programma pezzo NC (programma principale)MPI Multi Point Interface: interfaccia multipoint

Page 908: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Appendice A.1 Elenco delle abbreviazioni

Preparazione del lavoro908 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

MS- Microsoft (produttore del software)MSTT Pulsantiera di macchinaNC Numerical Control: controllo numericoNCK Numerical Control Kernel: nucleo numerico con preparazione blocco, campo di

posizionamento, ecc.NCU Numerical Control Unit: unità hardware dell’NCKNRK Denominazione del sistema operativo dell’NCKNST Segnale di interfacciaNURBS Non Uniform Rational B-SplineNV Spostamento origineOB Blocco organizzativo (nel PLC)OEM Original Equipment Manufacturer: costruttore i cui prodotti vengono venduti con il

nome di altre societàOP Operation Panel: pannello operativoOPI Operation Panel Interface: interfaccia pannello operativoOPT Options: opzioniOSI Open Systems Interconnection: Standard per la comunicazione fra computerP-Bus Bus di periferiaPC Personal ComputerPCIN Nome del SW per lo scambio dati con il controllo numericoPCMCIA Personal Computer Memory Card International Association: standard per le schede di

memoria ad innestoPCU PC Unit: PC-Box (unità di calcolo)PG Console de programmationPLC Programmable Logic Control: controllore programmabilePOS ...di posizionamentoRAM Random Access Memory: memoria programmabile per lettura e scritturaREF Funzione di ricerca del punto di riferimentoREPOS Funzione di riposizionamentoRISC Reduced Instruction Set Computer: tipo di processore con set di istruzioni ridotto e

esecuzione rapida del comandoROV Rapid Override: ovveride del rapidoRPA R-Parameter Active: area di memoria nell'NCK

per R NCK per numeri di parametri RRPY Roll Pitch Yaw: rotazione di un sistema di coordinateRTS Request To Send: attivazione del dispositivo di trasmissione, segnale di comando

dalle interfacce dati serialiSBL Single Block: Blocco singoloSD Dati di settingSDB Blocco dati di sistemaSEA Setting Data Active: identificatore (tipo di file) per dati di settingSFB Blocco funzionale di sistemaSFC System Function Call: richiamo di funzione per sistema

Page 909: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

AppendiceA.1 Elenco delle abbreviazioni

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 909

SK SoftkeySKP Skip: esclusione bloccoSM Motore passo-passoSPF Sub Program File: SottoprogrammaSPS Controllore programmabile (PLC)SRAM Memoria statica (tamponata)SRK Correzione raggio tagliente (CRT)SSFK Compensazione errore passo vite (CEPV)SSI Serial Synchron Interface: interfaccia seriale sincronaSW SoftwareSYF System Files: file di sistemaTEA Testing Data Active: codice per i dati macchinaTO Tool Offset: Correzione utensileTOA Tool Offset Active: identificatore (tipo di file) per correzioni utensileTRANSMIT Transform Milling into Turning: commutazione di coordinate nei torni per lavorazione

di fresaturaUFR User Frame: Spostamento origineUP SottoprogrammaVSA Azionamento assiV.24 Interfaccia seriale (definizione dei collegamenti di scambio tra DEE e DÜE)SCP Sistema di coordinate pezzoWKZ UtensileWLK Correzione lunghezza utensile (CLU)WOP Programmazione di officinaWPD Work Piece Directory: Directory dei pezziWRK Correzione del raggio utensile (CRU)WZK Correzione utensileWZW Cambio utensileZOA Zero Offset Active: identificatore (tipo di file) per i dati di spostamento del punto zeroµC Microcontrollore

Page 910: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Appendice A.2 Panoramica della documentazione

Preparazione del lavoro910 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

A.2 Panoramica della documentazione

Page 911: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

AppendiceA.2 Panoramica della documentazione

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 911

Page 912: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Appendice A.2 Panoramica della documentazione

Preparazione del lavoro912 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Page 913: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Preparazione del lavoroManuale di programmazione 02/2011, 6FC5398-2BP40-1CA0 913

Glossaire

Accelerazione con antistress meccanicoPer realizzare un comportamento di accelerazione ottimale sulla macchina rendendo più docili i movimenti, è possibile differenziare nel programma di lavoro tra accelerazione a gradino e accelerazione con variazione continua (senza stress).

Accostamento di un punto fissoLe macchine utensili possono raggiungere dei punti fissi, come punti di cambio utensile, punti di carico, punti di cambio, ecc. Le coordinate di questi punti vengono inserite nel controllo numerico. Il controllo numerico muove gli assi interessati, possibilmente in →  rapido.

AllarmiTutti → gli allarmi e messaggi vengono visualizzati in chiaro sul pannello operatore con data e ora e con il corrispondente simbolo che rappresenta il criterio di tacitazione. La visualizzazione di allarmi e messaggi avviene separatamente.

1. Allarmi e messaggi nel programma pezzo

Allarmi e messaggi della macchina possono essere visualizzati con testo in chiaro direttamente dal programma pezzo.

2. Allarmi e messaggi da PLC

Allarmi e messaggi della macchina possono essere visualizzati con testo in chiaro attraverso il programma PLC. Per fare questo non sono necessari ulteriori pacchetti di blocchi funzionali.

ArchiviazioneTrasferire i file e/o le directory su un dispositivo di backup esterno.

Arresto orientato del mandrinoArresto del mandrino portapezzo in una posizione angolare preimpostata, ad. es. per poter eseguire una lavorazione supplementare in una determinata posizione.

Arresto precisoSe si programma l'istruzione di arresto preciso, la posizione indicata nel blocco viene raggiunta con precisione ed eventualmente molto lentamente. Per ridurre i tempi di accostamento, vengono definite le →   soglie di arresto preciso per rapido e avanzamento.

Page 914: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Glossaire

Preparazione del lavoro914 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Asse baseAsse il cui valore programmato o valore reale viene preso in considerazione per il calcolo di un valore di compensazione.

Asse CAsse che gestisce il movimento rotativo e il posizionamento utilizzando il mandrino portapezzo.

Asse di comandoL'asse di comando è l'asse →  Gantry che è disponibile dalla vista dell'operatore e del programmatore e che di conseguenza è influenzabile come un normale asse NC.

Asse di compensazioneAsse il cui valore richiesto o reale viene modificato dal valore di compensazione.

Asse di posizionamentoAsse che esegue un movimento ausiliario della macchina utensile (ad es. magazzino utensili, trasporto pallet). Gli assi di posizionamento sono assi che non interpolano con gli →  assi interpolanti.

Asse geometricoGli assi geometrici servono a descrivere un settore bi- o tridimensionale nel sistema di coordinate del pezzo.

Asse lineareGli assi lineari sono tutti quegli assi di lavoro del →  canale gestiti dall' →  interpolatore in modo tale che partano, accelerino, si arrestino e raggiungano il punto di arrivo contemporaneamente.

L'asse lineare è un asse che, a differenza di un asse rotante, descrive una retta.

Asse lineareGli assi lineari sono tutti quegli assi di lavoro del →  canale gestiti dall' →  interpolatore in modo tale che partano, accelerino, si arrestino e raggiungano il punto di arrivo contemporaneamente.

L'asse lineare è un asse che, a differenza di un asse rotante, descrive una retta.

Page 915: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Glossaire

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 915

Asse rotanteGli assi rotanti provocano una rotazione del pezzo o dell’utensile in una posizione angolare predefinita.

Gli assi rotanti eseguono una rotazione del pezzo o dell’utensile in una posizione angolare corrispondente al reticolo di divisione. Una volta raggiunta una determinata divisione, l’asse rotante è “in posizione”.

Asse rotanteGli assi rotanti provocano una rotazione del pezzo o dell’utensile in una posizione angolare predefinita.

Gli assi rotanti eseguono una rotazione del pezzo o dell’utensile in una posizione angolare corrispondente al reticolo di divisione. Una volta raggiunta una determinata divisione, l’asse rotante è “in posizione”.

Asse sincronoL'asse sincrono è l'asse →  Gantry la cui posizione di riferimento è sempre derivata dal movimento dell' →  asse di comando e viene quindi traslata in modo sincrono. Dalla vista dell'operatore e del programmatore l'asse sincrono "non è disponibile".

AssiIn base alla loro funzione, gli assi CNC vengono suddivisi in:

• Assi: assi di interpolazione lineari

• assi ausiliari: assi di posizionamento e assi ausiliari non interpolanti con avanzamenti specifici. Gli assi ausiliari non partecipano alla lavorazione vera e propria, per es. navetta utensili, magazzino utensili.

Assi macchinaAssi fisicamente esistenti sulla macchina utensile.

Assi sincroniPer compiere il loro percorso gli assi sincroni necessitano dello stesso tempo degli assi geometrici per il percorso di contornitura.

AutomaticoModo operativo del controllo numerico (funzionamento continuo secondo DIN): Modo operativo per i sistemi NC, nel quale un →   programma pezzo viene selezionato ed elaborato in modo continuo.

Page 916: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Glossaire

Preparazione del lavoro916 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Avanzamento reciproco nel tempoIn SINUMERIK 840D è possibile programmare, invece della velocità di avanzamento per il movimento degli assi, il tempo necessario per il percorso di contornitura di un blocco (G93).

Avanzamento vettorialeL'avanzamento vettoriale agisce sugli → assi lineari. Esso rappresenta la somma geometrica degli avanzamenti dei vari →  assi geometrici interessati.

AzionamentoL'azionamento è l'unità del CNC che esegue la regolazione del numero di giri e della coppia sulla base delle indicazioni dell'NC.

Azioni sincrone1. Emissione di funzioni ausiliarie

Durante la lavorazione del pezzo, dal programma CNC è possibile emettere al PLC funzioni tecnologiche ( →  funzioni ausiliarie). Con queste funzioni ausiliarie vengono comandati, ad esempio, dispositivi supplementari della macchina utensile, quali la contropunta, le pinze, l'autocentrante, etc.

2. Emissione veloce di funzioni ausiliarie

Per funzioni di comando a reazione rapida è possibile minimizzare i tempi di conferma delle →  funzioni ausiliarie evitando così arresti indesiderati del processo di lavorazione.

Batteria tamponeLa batteria tampone assicura che il →  programma utente memorizzato nella →  CPU sia salvato anche in caso di interruzione di corrente e che i settori dati definiti, marker, temporizzatori ed i contatori vengano mantenuti in modo retentivo.

Blocchi intermediI movimenti con →  correzione utensile selezionata (G41/G42) possono essere interrotti da un numero limitato di blocchi intermedi (blocchi senza movimenti degli assi nel piano di correzione), il che non impedisce che la correzione utensile possa ancora essere calcolata correttamente. Il numero ammesso di blocchi intermedi che vengono letti anticipatamente dal controllo numerico può essere impostato mediante parametri di sistema.

BloccoPer blocchi si intendono tutti i file necessari per la stesura e l'elaborazione del programma.

Page 917: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Glossaire

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 917

Blocco dati1. Unità di dati del →  PLC, alla quale possono accedere i programmi →  HIGHSTEP.

2. Unità dati del →  CN: i blocchi dati contengono definizioni per dati utente globali. I dati possono essere inizializzati direttamente durante la definizione.

Blocco di programmaI blocchi di programma contengono i programmi principali e i sottoprogrammi dei → programmi pezzo.

Blocco di programma pezzoSezione di →  programma pezzo delimitato da Line Feed. Si distinguono →  blocchi principali e →  blocchi secondari.

Blocco principaleBlocco contrassegnato con ":" che contiene tutte le informazioni necessarie per poter avviare il ciclo di lavorazione in un →  programma pezzo

Blocco secondarioBlocco che inizia con "N" contenente le informazioni necessarie per un passo di lavoro, ad es. un valore di posizione.

BootCaricamento del sistema operativo dopo Power On.

Campo di lavoroSpazio tridimensionale nel quale la punta dell'utensile può spostarsi in relazione alla struttura della macchina utensile. Vedere →  Zona di protezione.

Campo di posizionamentoIl massimo campo di posizionamento degli assi lineari è ± 9 decadi. Il valore assoluto dipende dalla risoluzione di impostazione e di regolazione della posizione e dal sistema di impostazione (in pollici o metrico) prescelti.

Campo di protezioneSpazio tridimensionale all’interno del →  campo di lavoro, nel quale non deve entrare la punta dell’utensile.

Page 918: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Glossaire

Preparazione del lavoro918 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

CanaleUn canale si contraddistingue per il fatto che consente di elaborare un →  programma pezzo indipendentemente da altri canali. Un canale controlla esclusivamente gli assi e i mandrini ad esso assegnati. L'elaborazione di programmi pezzo su diversi canali può essere coordinata tramite →  sincronizzazione.

Canale di lavorazioneCon una struttura a canali, grazie all'esecuzione di movimenti paralleli, ad es. movimento di un portale di carico contemporaneamente alla lavorazione, è possibile ridurre i tempi morti. Un canale va considerato come un CNC indipendente fornito di decodifica, preparazione del blocco e interpolazione autonome.

Cancellazione totaleNella cancellazione totale vengono cancellate le seguenti memorie della →  CPU:

• →  Memoria di lavoro

• l’area di scrittura/lettura della →  memoria di caricamento

• →  Memoria di sistema

• →  Memoria di backup

Cavo di collegamentoI cavi di collegamento sono cavi a 2 conduttori, preconfezionati o realizzati dall'utente, dotati di 2 connettori. Questi cavi di collegamento collegano la →  CPU mediante →  l'interfaccia multipoint (MPI) con un →  PG o con altre CPU.

Chiave di programmazioneCaratteri e stringhe di caratteri che hanno un significato definito nel linguaggio di programmazione del →  programma pezzo.

CicliSottoprogrammi protetti per l'esecuzione di sequenze di lavorazione ripetitive sul →  pezzo.

Cicli standardPer compiti di lavorazione ripetitivi sono disponibili dei cicli standard:

• per la tecnologia di foratura/fresatura

• per la tecnologia tornitura

Nel settore operativo "Programma" sotto il menu "Supporto per cicli" vengono elencati i cicli disponibili. Dopo la selezione del ciclo di lavoro desiderato vengono visualizzati in chiaro i parametri necessari per la definizione dei valori.

Page 919: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Glossaire

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 919

CNCVedere →  NC

COMComponente del controllo numerico preposto all'esecuzione e al coordinamento della comunicazione.

Compensazione dei giochiCompensazione del gioco meccanico della macchina, per es. gioco di inversione nelle viti a ricircolo di sfere. Per ogni asse la compensazione del gioco può essere immessa separatamente.

Compensazione dell'errore sul quadranteEventuali errori di profilo sui cambi del quadrante derivanti dalla variabilità dei rapporti di attrito delle guide che possono essere eliminati con la compensazione dell’errore sul quadrante. La parametrizzazione della compensazione dell’errore sul quadrante avviene con un test di prova della circolarità.

Compensazione errore passo viteCompensazione di inesattezze meccaniche di una vite a ricircolo di sfere utilizzata come asse attraverso il controllo numerico in base a valori di correzione precedentemente definiti.

Compensazione interpolatoriaCon la compensazione interpolatoria è possibile compensare gli errori di produzione compensazione errore passo vite e compensazione errore sistema di misura (CEPV, CESM).

Controllore programmabile (PLC)I controllori programmabili (PLC) sono apparecchiatura in grado di elaborare un programma applicativo memorizzato nel loro interno. La forma costruttiva e il cablaggio dell’apparecchiatura non dipendono quindi dalla sua funzione. Il controllore programmabile ha la stessa struttura di un computer; è costituito da CPU (unità centrale) con memoria, unità di ingresso e di uscita e sistema di bus interno. La periferia e il linguaggio di programmazione sono orientati alle esigenze della tecnica di controllo.

Coordinate polariSistema di coordinate che definisce la posizione di un punto in un piano tramite la distanza dal punto zero e l’angolo compreso tra il vettore raggio e uno degli assi definiti.

Page 920: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Glossaire

Preparazione del lavoro920 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Correzione raggio tagliente (CRT)Nella programmazione di un profilo viene considerato un utensile a punta. Siccome questo nella pratica non è realizzabile, nel controllo numerico viene impostato il raggio di curvatura dell’utensile che viene considerato durante la lavorazione. Il profilo che viene creato è equidistante a quello programmato in funzione del raggio utensile.

Correzione raggio utensilePer poter programmare direttamente il →  profilo del pezzo desiderato, il controllo numerico, in considerazione del raggio dell'utensile utilizzato, deve calcolare ed eseguire un profilo equidistante da quello programmato (G41/G42).

Correzione utensileNel calcolo del percorso vengono considerate le misure dell'utensile.

CPUCentral Processing Unit, vedere →  Controllore a memoria programmabile

C-SplineIl C-Spline è lo spline più noto e maggiormente utilizzato. I passaggi ai punti di appoggio sono costanti dal punto di vista della tangente e della curvatura. Vengono utilizzati polinomi di terzo grado.

CurvaturaLa curvatura k di un profilo è l'inverso del raggio r del cerchio tangente ad un punto del profilo (cerchio osculatore) (k = 1/r).

Dati settingDati che trasmettono al controllo numerico NC le caratteristiche della macchina utensile nel modo definito dal software di sistema.

Definizione delle variabiliLa definizione di una variabile implica la definizione di un tipo di dati e del nome della variabile stessa. Quest'ultimo consente di interrogare il valore della variabile.

Diagnostica1. Settore operativo del controllo numerico

2. Il controllo numerico possiede sia un programma di autodiagnostica sia test utili per il service: Visualizzazioni di stato, allarme e service

Page 921: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Glossaire

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 921

DRFDifferential Resolver Function: Funzione NC che, in concomitanza con un volantino elettronico, genera uno spostamento origine incrementale in funzionamento automatico.

EditorL'editor consente la stesura, la modifica, l'ampliamento, la composizione e l'inserimento di programmi/testi/blocchi di programma.

Editor di testiVedere →  Editor

Fattore di scalaComponente di un →  frame che determina asse per asse delle variazioni di scala.

Finecorsa softwareI finecorsa software limitano il campo di posizionamento di un asse ed evitano che le slitte raggiungano i finecorsa hardware. Per ogni asse sono definibili 2 coppie di valori attivabili separatamente da →  PLC.

FrameUn frame rappresenta una prescrizione di calcolo che trasforma un sistema di coordinate cartesiano in un altro sistema cartesiano. Un frame contiene i componenti →  spostamento origine, →  rotazione, →  fattore di scala, →  specularità.

Frame programmabiliCon i →  frame programmabili è possibile definire in modo dinamico, in base all'elaborazione del programma pezzo, nuovi punti di partenza del sistema di coordinate. Si fa distinzione tra definizione assoluta di un nuovo frame e definizione additiva rispetto ad un determinato punto di partenza.

Funzionamento continuoObiettivo del funzionamento continuo è evitare grosse frenature degli →  assi lineari ai limiti del blocco del programma pezzo ed eseguire passaggi al blocco successivo con una velocità vettoriale quanto più possibile uniforme.

Funzioni ausiliarieLe funzioni ausiliarie consentono di trasmettere al →   PLC dei →   parametri del →   programma pezzo che provocano reazioni definite dal costruttore della macchina.

Page 922: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Glossaire

Preparazione del lavoro922 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Funzioni di sicurezzaIl controllo numerico dispone di sorveglianze permanentemente attive che riconoscono tempestivamente eventuali errori verificatisi nel →  CNC, nell’interfaccia ( →  PLC) e a bordo macchina in modo tale da evitare danni gravi al pezzo, all’utensile o alla macchina. In caso di errore viene interrotta la lavorazione e vengono arrestati gli azionamenti, viene inoltre memorizzata la causa dell’errore e visualizzato l’allarme. Contemporaneamente viene segnalato al PLC che è presente un allarme CNC.

GeometriaDescrizione di un →   pezzo nel →  sistema di coordinate del pezzo.

Gestione del programma pezzoLa gestione dei programmi pezzo può essere organizzata in base ai →  pezzi. L'estensione della memoria utente determina la quantità dei programmi e dati da gestire. Ogni file (programma e dati) può essere provvisto di un nome composto da max. 24 caratteri alfanumerici.

Gestione della velocitàPer poter ottenere una velocità accettabile anche con movimenti molto brevi, è possibile attivare per ogni blocco la preelaborazione anticipata di più blocchi ( →   Look Ahead).

Giri limiteVelocità massima/minima (del mandrino): è possibile limitare la velocità massima di un mandrino predefinendo i dati macchina, il →  PLC o →  i dati di setting.

Gruppi di modi operativiGli assi e i mandrini raggruppati tecnologicamente possono essere riuniti in un gruppo di modi operativi (BAG). Assi e mandrini di un gruppo di modi operativi possono essere gestiti da uno o più →  canali. Ai canali di un BAG è abbinato sempre lo stesso →  modo operativo.

HIGHSTEPRiepilogo delle possibilità di programmazione per i →  PLC del sistema AS300/AS400.

IdentificatoreSecondo DIN 66025 le parole vengono integrate con indicatori (nomi) per variabili (variabili di calcolo, variabili di sistema, variabili utente), per sottoprogrammi, per parole chiave e parole con più lettere di indirizzamento. Queste integrazioni sono concettualmente analoghe alle parole nella struttura del blocco. Gli indicatori devono essere univoci. Lo stesso indicatori non può essere utilizzato per oggetti differenti.

Page 923: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Glossaire

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 923

Impostazione metrica e in pollici delle quoteNel programma di lavorazione, le quote e i valori di passo si possono programmare in pollici. Indipendentemente dal tipo di impostazione programmabile (G70/G71), il controllo numerico viene impostato su un sistema di base.

Indicatore asseSecondo DIN 66217, gli assi vengono contrassegnati con X, Y, Z in un →   sistema di coordinate ortogonale destrorso.

Gli →   assi rotanti intorno a X, Y, Z sono contrassegnati con A, B e C. Gli assi supplementari paralleli agli assi fondamentali possono essere contrassegnati con altre lettere di indirizzamento.

IndirizzoL'indirizzo è un identificatore per un determinato operando o per un settore dello stesso, ad es. un ingresso, un'uscita ecc.

Indirizzo assiVedere →  Indicatori assi

Ingressi/uscite digitali velociTramite gli ingressi digitali si possono avviare, ad esempio, delle routine di programma CNC veloci (routine di interrupt). Tramite le uscite digitali CNC è possibile attivare delle funzioni di comando gestite da programma (SINUMERIK 840D).

Interfaccia seriale V.24Per l'immissione/emissione dei dati è disponibile una interfaccia seriale V.24 (RS232) sulla PCU 20, sulla PCU 50/70 sono disponibili due interfacce V.24. Con queste interfacce è possibile caricare e salvare sia i programmi di lavorazione sia i dati del costruttore e dell’utente.

InterpolatoreUnità logica dell' →  NCK che, in funzione dei dati delle posizioni di destinazione nel programma pezzo, determina i valori intermedi per i movimenti dei singoli assi.

Interpolazione circolareL' →  utensile deve muoversi tra punti definiti del profilo con un determinato avanzamento su un arco di cerchio e contemporaneamente lavorare il pezzo.

Page 924: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Glossaire

Preparazione del lavoro924 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Interpolazione elicoidaleL'interpolazione elicoidale è particolarmente adatta per la realizzazione di filettature interne o esterne con frese sagomate e per la fresatura di cave di lubrificazione.

L’elica si compone di due movimenti combinati:

• movimento circolare in un piano

• ed un movimento lineare ortogonale a questo piano

Interpolazione lineareL'utensile viene posizionato sul punto finale con un percorso rettilineo e contemporaneamente viene lavorato il pezzo.

Interpolazione polinomialeCon l'interpolazione polinomiale è possibile generare i più svariati andamenti di curve come funzioni rettilinee, paraboliche o esponenziali (SINUMERIK 840D).

Interpolazione SplineCon l’interpolazione Spline il controllo numerico può generare un profilo curvilineo liscio partendo soltanto da pochi punti di appoggio preimpostati.

Interruttore a chiaveL’interruttore a chiave sul →  pannello di comando della macchina ha 4 posizioni con funzioni assegnate dal sistema operativo del controllo numerico. L’interruttore a chiave è dotato di tre chiavi con colori diversi che possono essere estratte nelle posizioni definite.

Intersezione preliminareSi ha già il cambio blocco quando il percorso di contornitura si avvicina alla posizione finale di un delta predefinito.

JOGModo operativo del controllo numerico (funzionamento di messa a punto): nel modo operativo JOG è possibile effettuare la messa a punto della macchina. I singoli assi e mandrini possono essere mossi tramite i tasti direzionali nel funzionamento ad impulsi. Ulteriori funzioni del modo operativo JOG sono la →  Ricerca del punto di riferimento, il →  Repos e il →  Preset (preimpostazione del valore reale).

KÜRapporto di trasmissione

Page 925: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Glossaire

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 925

KVFattore di amplificazione dell'anello di posizione (guadagno); grandezza tecnica di un anello di regolazione

Lavorazione su piani inclinatiLavorazioni di foratura e fresatura sulle superfici del pezzo non parallele al sistema di coordinate della macchina possono essere eseguite confortevolmente con l'ausilio della funzione "Lavorazione su piani inclinati".

Limitazione del campo di lavoroCon la limitazione del campo di lavoro si può limitare il campo di posizionamento degli assi in aggiunta alla limitazione dei finecorsa. Per ogni asse è ammessa una coppia di valori per la definizione del campo di lavoro protetto.

Limitazione programmabile del campo di lavoroLimitazione del campo di movimento dell’utensile in uno spazio definito da limitazioni programmate.

Linguaggio evoluto CNCIl linguaggio evoluto offre: →  Variabili definite dall'utente, →  Variabili di sistema, →  Tecnica macro.

Livello di programmaUn programma pezzo avviato nel canale viene eseguito come →  programma principale nel livello di programma 0 (livello del programma principale). Ogni programma pezzo richiamato nel programma principale viene eseguito come →  sottoprogramma in un proprio livello di programma 1 ... n.

Look AheadGrazie alla funzione Look Ahead , tramite un numero parametrizzabile di blocchi di movimento "pre-elaborati", si ottiene una velocità di lavorazione ottimale.

Maschiatura senza utensile compensatoQuesta funzione consente di eseguire maschiature senza utensile compensato. Con il movimento di interpolazione del mandrino come asse rotante e dell'asse di foratura, vengono eseguite filettature esattamente fino alla profondità di foratura finale, ad es. filettatura cieca (presupposto: funzionamento del mandrino come asse).

Page 926: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Glossaire

Preparazione del lavoro926 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

MassaPer massa si intende l'insieme di tutte le parti inattive di un'apparecchiatura elettrica collegate tra loro che non possono assumere tensioni pericolose al contatto neppure in caso di guasto.

MDAModo operativo del controllo numerico: Manual Data Automatic. Nel modo operativo MDA si possono impostare singoli blocchi di programmi o sequenze di blocchi senza alcun riferimento a un programma principale o sottoprogramma, che al termine possono essere eseguiti con il tasto Start-NC.

Memoria di caricamentoNella CPU 314 del →  PLC, la memoria di caricamento corrisponde alla →  memoria di lavoro.

Memoria di correzioneSettore di dati del controllo numerico nel quale vengono inseriti i dati di correzione utensile.

Memoria di lavoroLa memoria di lavoro è una memoria RAM contenuta nella →  CPU, nella quale il processore accede al programma utente durante l'elaborazione.

Memoria di programma PLCSINUMERIK 840D: nella memoria utente del PLC vengono inseriti il programma utente PLC ed i dati utente insieme al programma base PLC.

Memoria di sistemaLa memoria di sistema è una memoria nella CPU nella quale vengono memorizzati i seguenti dati:

• dati necessari per il sistema operativo

• gli operandi tempi, contatori, indicatori

Memoria utenteTutti i programmi e i dati come programmi pezzo, sottoprogrammi, commenti, correzioni utensile, spostamenti origine/frame e dati utente di canale e programma possono essere memorizzati nella memoria utente CNC comune.

Page 927: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Glossaire

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 927

MessaggiTutti i messaggi programmati nel programma pezzo e gli →  allarmi riconosciuti dal sistema vengono visualizzati come testo in chiaro sul pannello operatore con data, ora e simbolo relativo per il criterio di tacitazione. La visualizzazione di allarmi e messaggi avviene separatamente.

Modo operativoConcetto esecutivo del funzionamento di un controllo numerico SINUMERIK. Sono definiti i modi operativi →  Jog, →  MDA, →  Automatico.

NCNumerical Control: il controllo numerico NC comprendente tutti i componenti per la gestione di una macchina utensile: →  NCK, →  PLC, HMI, →  COM.

NCKNumerical Control Kernel: Componente del controllo numerico NC che elabora i → programmi pezzo e che sostanzialmente coordina i movimenti della macchina utensile.

Nome degli assiVedere →  Indicatori assi

NRKNumeric Robotic Kernel (sistema operativo dell' →  NCK)

NURBSIl controllo del movimento e l'interpolazione vettoriale interni al controllo vengono eseguiti sulla base di NURBS (Non Uniform Rational B-Splines). In questo modo internamente al controllo SINUMERIK 840D è disponibile un avanzamento univoco per tutti i tipi di interpolazione.

OEMPer i costruttori di macchine che vogliono progettare una propria superficie operativa, oppure inserire funzioni tecnologiche nel controllo numerico, sono previsti degli spazi liberi per soluzioni individuali (applicazioni OEM) per il SINUMERIK 840D.

Notaper i controlli SINUMERIK 840D sarebbe più corretto utilizzare il termine controllo CNC: Computerized Numerical Control.

Page 928: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Glossaire

Preparazione del lavoro928 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

OverridePossibilità di accesso manuale o programmabile che consente all'utente di intervenire sugli avanzamenti o sui giri programmati per adattarli a un determinato pezzo o materiale.

Override avanzamentoLa velocità programmata viene corretta in funzione della preimpostazione della velocità attuale sul →  pannello di comando della macchina o dal PLC (0-200%). La velocità di avanzamento può essere corretta anche nel programma di lavorazione con un fattore percentuale programmabile (1-200%).

Parametri RParametro di calcolo che può essere definito e interrogato nel programma dal programmatore del →  programma pezzo per qualsiasi scopo.

Parola datiUn'unità dati lunga due byte nell'ambito di un →  blocco dati.

Parole chiaveParole con scrittura definita che hanno un significato definito nel linguaggio di programmazione del →  programma pezzo.

PezzoParte che deve essere approntata/lavorata dalla macchina utensile.

Pezzo grezzoParticolare con cui si inizia la lavorazione di un pezzo.

PLCProgrammable Logic Control: →  Controllore programmabile (PLC). Componente del →  NC: interfaccia per l’elaborazione della logica di controllo della macchina utensile

Precomando, dinamicoLe imprecisioni del →  profilo dovute a errori di inseguimento possono essere pressoché eliminate grazie al precomando dinamico in funzione dell’accelerazione. In questo modo è possibile ottenere una straordinaria precisione di lavorazione anche ad alte →  velocità vettoriali. Il precomando può essere selezionato ed escluso mediante il →  programma pezzo in modo specifico per asse.

Page 929: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Glossaire

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 929

ProfiloProfilo del →  pezzo

Profilo del pezzoProfilo di riferimento del →  pezzo da creare / eseguire.

Profilo finitoProfilo del pezzo finito. Vedere →  Pezzo grezzo.

Programma per il trasferimento dei dati PCINPCIN è un programma ausiliario per la trasmissione e la ricezione dei dati utente CNC tramite l'interfaccia seriale, ad es. programmi pezzo, correzioni utensili, ecc. Il programma PCIN funziona in MS-DOS su PC industriali standard.

Programma pezzoSequenza di istruzioni inviate al controllo numerico che insieme determinano l'esecuzione di un determinato →  pezzo. Anche una determinata lavorazione su un determinato →  pezzo grezzo.

Programma principaleIl termine "programma principale" è legato all'epoca in cui i programmi pezzo erano suddivisi in programmi principali e → sottoprogrammi. Oggi questa rigida suddivisione non esiste più con l'attuale linguaggio NC SINUMERIK. In linea di principio, ogni programma pezzo può essere selezionato e avviato nel canale. Viene quindi eseguito nel →  livello di programma 0 (livello del programma principale). Nel programma principale possono essere richiamati ulteriori programmi pezzo o →  cicli come sottoprogrammi

Programma utenteI programmi utente per i sistemi di automazione S7-300 vengono approntati con il linguaggio di programmazione STEP 7. Il programma utente ha una struttura modulare ed è costituito da singoli blocchi.

I tipi di blocchi fondamentali sono:

• Blocchi codice

Questi blocchi contengono i comandi STEP7.• Blocchi dati

Questi blocchi contengono costanti e variabili per il programma STEP7.

Page 930: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Glossaire

Preparazione del lavoro930 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Programmazione del PLCIl PLC viene programmato con il software STEP 7. Il software di programmazione STEP 7 si basa sul sistema operativo standard WINDOWS e contiene le funzioni della programmazione di STEP 5 con ulteriori sviluppi innovativi.

Pulsantiera di macchinaPannello è possibile della macchina utensile con gli elementi operativi tasti, selettore rotativo, etc. ed inoltre semplici elementi di visualizzazione come LED. Essa consente di comandare direttamente la macchina utensile tramite il PLC.

Punto di riferimentoPunto della macchina utensile al quale fanno riferimento i trasduttori di misura degli →  assi di macchina.

Punto fisso della macchinaPunto della macchina utensile definito in modo univoco, ad es. punto di riferimento delle macchine.

Punto zero macchinaPunto fisso della macchina utensile al quale si lasciano ricondurre tutti i trasduttori di misura (derivati).

Punto zero pezzoIl punto zero del pezzo rappresenta il punto iniziale del →  sistema di coordinate pezzo e viene definito mediante distanze dal →  punto zero della macchina.

Quota assolutaIndicazione della posizione finale di un movimento dell'asse con una quota riferita al punto zero del sistema di coordinate momentaneamente attivo. Vedere →  Quota incrementale.

Quota incrementaleIndicazione della lunghezza di movimento tramite un valore incrementale (quota incrementale). Il valore incrementale può essere inserito come →  dato di setting o selezionato tramite i rispettivi tasti 10, 100, 1000, 10000.

Quote incrementaliIndicazione della posizione di arrivo di un movimento dell'asse con l'entità del percorso e la direzione rispetto a un punto già raggiunto. Vedere →  Quote assolute.

Page 931: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Glossaire

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 931

RapidoLa velocità di movimento più elevata di un asse. Essa viene utilizzata, ad esempio, quando l'utensile da una posizione di riposo viene accostato al →  profilo del pezzo o quando viene allontanato dallo stesso. La velocità in rapido viene impostata in modo specifico per la macchina tramite il dato macchina.

ReteUna rete è un collegamento di più S7-300 ed altri terminali, per es. un PG, mediante →  cavi di collegamento. Tramite la rete avviene lo scambio di dati tra le unità collegate.

Ricerca bloccoPer il test di programmi pezzo oppure dopo un'interruzione della lavorazione, con la funzione "Ricerca blocco" è possibile scegliere una qualsiasi posizione del programma pezzo, dalla quale deve partire o proseguire la lavorazione.

RotazioneComponente di un →  frame che definisce una rotazione del sistema di coordinate attorno a un determinato angolo.

Routine di interruptLe routine di interrupt sono →  sottoprogrammi speciali che possono essere avviati mediante eventi (segnali esterni) dal processo di lavorazione. Un blocco del programma pezzo in corso di elaborazione viene interrotto e la posizione di interruzione degli assi viene memorizzata automaticamente.

Settore TOAIl settore TOA include tutti i dati dell'utensile e del magazzino. Di norma il settore, per quanto riguarda la portata dei dati, coincide con il settore →  Canale. Tuttavia con i dati macchina è possibile determinare che più canali si dividano una →  unità TOA, in modo tale che i canali abbiano a disposizione dei dati di gestione utensili comuni.

SincronizzazioneIstruzioni nei →  programmi pezzo per il coordinamento dell’elaborazione nei vari →  canali in determinati punti dell’elaborazione.

Sistema di coordinateVedere →  Sistema di coordinate macchina →  Sistema di coordinate pezzo

Page 932: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Glossaire

Preparazione del lavoro932 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Sistema di coordinate baseSistema di coordinate cartesiane che viene adattato con una trasformazione al sistema di coordinate macchina.

Nel →  programma pezzo il programmatore utilizza i nomi degli assi del sistema di coordinate base. Se non è attiva alcuna →  trasformazione, esso è parallelo al →  sistema di coordinate macchina. La differenza tra i due è rintracciabile negli →  indicatori assi.

Sistema di coordinate macchinaSistema di coordinate riferito agli assi della macchina utensile.

Sistema di coordinate pezzoIl sistema di coordinate pezzo (SCP) ha il suo punto iniziale nel →  punto zero del pezzo. Tutte le quote e le direzioni programmate nel sistema di coordinate pezzo si riferiscono a questo sistema di coordinate.

Sistema di misura in polliciSistema di misura nel quale le distanze vengono definite in "pollici" o in sottomultipli di esso.

Sistema di misura metricoSistema di unità normalizzato: per le lunghezze, ad es. mm (millimetri), m (metri).

SoftkeyTasto la cui funzione è rappresentata in un campo del video che si adatta dinamicamente alla situazione operativa attuale. I tasti funzione di libero impiego (softkey) vengono abbinati via software a determinate funzioni.

Soglia di arresto precisoQuando tutti gli assi lineari hanno raggiunto la soglia di arresto preciso, il controllo numerico considera raggiunta la posizione di arrivo con esattezza. Si verifica quindi il passaggio al blocco successivo del →   programma pezzo.

Sorveglianza del profiloCome grandezza per la fedeltà del profilo, viene sorvegliato l'errore di inseguimento nell'ambito di una tolleranza impostabile. Un errore di inseguimento superiore al limite consentito può dipendere, p. es., da un sovraccarico degli azionamenti. In questo caso viene attivato un allarme che arresta gli assi.

Page 933: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Glossaire

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 933

SottoprogrammaIl termine "sottoprogramma" è legato all'epoca in cui i programmi pezzo erano suddivisi in → programmi principali e sottoprogrammi. Oggi questa rigida suddivisione non esiste più con l'attuale linguaggio NC SINUMERIK. In linea di principio, ogni programma pezzo oppure ogni →  ciclo può essere richiamato nell'ambito di un altro programma pezzo come sottoprogramma. In questo caso, esso viene eseguito nel →  livello di programma (x+1) (livello di sottoprogramma (x+1)) successivo.

Sottoprogramma asincronoProgramma pezzo che può essere avviato in modo asincrono (indipendente) rispetto allo stato attuale del programma tramite un segnale di interrupt (ad es. segnale "Ingresso veloce NC").

SpecularitàCon la specularità vengono invertiti i segni dei valori delle coordinate di un profilo rispetto ad un asse. Analogamente, nel contempo è possibile speculare più assi.

Spostamento originePreimpostazione di un nuovo punto di riferimento per un sistema di coordinate con riferimento al punto zero attuale e ad un →  frame.

1. Impostabile

SINUMERIK 840D: per ogni asse CNC è disponibile un numero progettabile di spostamenti origine impostabili. Gli spostamenti origine attivabili con funzioni G sono attivi alternativamente.

2. Esterno

Oltre a tutti gli spostamenti che definiscono la posizione del punto zero, può essere sovrapposto uno spostamento origine tramite volantino (traslazione DRF) o dal PLC.

3. Programmabile

Con l'istruzione TRANS è possibile programmare spostamenti origine per tutti gli assi lineari e di posizionamento.

Spostamento origine esternoSpostamento origine preimpostato da →  PLC.

Superficie operativaLa superficie operativa (BOF) è il supporto di visualizzazione di un controllo CNC sotto forma di schermo. Essa è dotata di softkey orizzontali e verticali.

Page 934: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Glossaire

Preparazione del lavoro934 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Svincolo rapido dal profiloCon l’intervento di un interrupt tramite il programma di lavoro del CNC può essere attivato un movimento che consente uno svincolo rapido dell’utensile dal profilo del pezzo in lavorazione. Inoltre può essere parametrizzato sia l’angolo di svincolo sia l'entità del percorso. Dopo lo svincolo rapido si può eseguire una routine di interrupt (SINUMERIK 840D).

Svincolo utensile orientatoRETTOOL: in caso di interruzione della lavorazione (ad es. in caso di rottura dell'utensile) con un comando del programma è possibile svincolare l'utensile di un percorso definito con un orientamento preimpostabile.

Tabella di compensazioneTabella con punti di appoggio. Fornisce per le posizioni prescelte dell'asse base i valori di compensazione dell'asse di compensazione.

Tecnica delle macroRaggruppamento di singole istruzioni sotto un unico indicatore. Nel programma l'indicatore rappresenta il numero di istruzioni raggruppate.

TrasformazioneSpostamento addizionale o assoluto del punto zero di un asse.

Unità di periferiaLe unità di periferia rappresentano il collegamento tra la CPU e il processo.

Unità di periferia sono:

• →  unità di ingresso/uscita digitali

• →  unità di ingresso/uscita analogiche

• → unità di simulazione

Unità TOAOgni →  settore TOA può contenere più unità TOA. Il numero di unità TOA possibili è limitato dal numero massimo di →  canali attivi. Un'unità TOA comprende esattamente un modulo di dati dell'utensile e un modulo di dati del magazzino. Inoltre può contenere anche un modulo di dati del supporto utensile (opzionale).

UtensileParte attiva della macchina utensile preposta alla lavorazione (ad es. utensile di tornitura, fresa, punta a forare, raggio LASER...).

Page 935: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Glossaire

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 935

Valore di compensazioneDifferenza tra la posizione dell'asse misurata dal trasduttore e la posizione dell'asse programmata.

Variabile di sistemaVariabile esistente di un →  programma pezzo senza definizione da parte del programmatore. Viene definita da un tipo di dati e dal nome della variabile che inizia con il carattere $. Vedere →  Variabili definite dall’utente.

Variabili definite dall'utentePer qualsiasi impiego nel →   programma pezzo o nel blocco dati (dati utente globali), gli utenti possono concordare delle variabili definite in maniera personalizzata. Una definizione contiene un'indicazione sul tipo di dati e sul nome della variabile. Vedere →  Variabili di sistema.

VelocitàVelocità nella trasmissione dati (bit/s).

Velocità vettorialeLa massima velocità programmabile dipende dalla risoluzione di impostazione. Con una risoluzione di 0,1 mm, ad esempio, la massima velocità vettoriale programmabile è di 1000 mm/min.

WinSCPWinSCP è un programma Open Source gratuitamente disponibile per Windows che serve al trasferimento dei dati.

Page 936: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Glossaire

Preparazione del lavoro936 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Page 937: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Preparazione del lavoroManuale di programmazione 02/2011 937

Indice analitico

Symbols, 67, 73, 78* (Funzione di calcolo), 64/ (Funzione di calcolo), 64+ (Funzione di calcolo), 64=(b2, b3, b4, b5), 348=(xe, x2, x3, x4, x5), 352=(ye, y2, y3, y4, y5), 352=(ze, z2, z3, z4, z5), 352=(a2, a3, a4, a5), 348== (Operatore di confronto), 67> (Operatore di confronto), 67>= (Operatore di confronto), 67$AA_ATOL, 502$AA_COUP_ACT, 469, 510, 535$AA_LEAD_SP, 535$AA_LEAD_SV, 535$AC_ACT_PROG_NET_TIME, 706$AC_ACTUAL_PARTS, 709$AC_AXCTSWA, 691$AC_AXCTSWE, 691$AC_BLOCKTYPE, 581$AC_BLOCKTYPEINFO, 581$AC_CTOL, 502$AC_CUT_INV, 461$AC_CUTMOD, 461$AC_CUTMOD_ANG, 461$AC_CUTTING_TIME, 705$AC_CYCLE_TIME, 705$AC_FIFO1, 579$AC_MARKER, 574$AC_OLD_PROG_NET_TIME, 706$AC_OLD_PROG_NET_TIME_COUNT, 706$AC_OPERATING_TIME, 705$AC_OTOL, 502$AC_PARAM, 575$AC_PROG_NET_TIME_TRIGGER, 706$AC_REQUIRED_PARTS, 709$AC_SMAXVELO, 498$AC_SMAXVELO_INFO, 498$AC_SPECIAL_PARTS, 709$AC_SPLITBLOCK, 581$AC_STOLF, 505$AC_TIMER, 578$AC_TOTAL_PARTS, 709$AN_AXCTAS, 692$AN_AXCTSWA, 691

$AN_LANGUAGE_ON_HMI, 903$AN_POWERON_TIME, 705$AN_SETUP_TIME, 705$MC_COMPESS_VELO_TOL, 474$P_AD, 462$P_CTOL, 503$P_CUT_INV, 461$P_CUTMOD, 461$P_CUTMOD_ANG, 461$P_OTOL, 503$P_SIM, 284$P_STOLF, 505$P_SUBPAR, 167$P_TECCYCLE, 639$PA_ATOL, 503$R, 575$Rn, 575$SA_LEAD_TYPE, 534, 535$SC_PA_ACTIV_IMMED, 236$SN_PA_ACTIV_IMMED, 236$TC_CARR1...14, 445$TC_DP1, 401$TC_DP10, 402$TC_DP11, 402$TC_DP12, 402$TC_DP13, 402$TC_DP14, 402$TC_DP15, 402$TC_DP16, 402$TC_DP17, 402$TC_DP18, 402$TC_DP19, 402$TC_DP2, 401$TC_DP20, 402$TC_DP21, 402$TC_DP22, 402$TC_DP23, 402$TC_DP24, 402$TC_DP25, 402$TC_DP3, 401$TC_DP4, 401$TC_DP5, 401$TC_DP6, 402$TC_DP7, 402$TC_DP8, 402$TC_DP9, 402$TC_ECPxy, 406$TC_SCPxy, 406

Page 938: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Indice analitico

Preparazione del lavoro938 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

$TC_TPG1 ... 9, 677, 678

Numerics1. frame base attuale nel canale, 317

Aa, 383A1, A2, 445A2, 335A3, 335A4, 335, 343A5, 335, 343A6, 348A7, 348ABS, 64ACC, 549Accoppiamento, 463Accoppiamento al valore reale, 546Accoppiamento assiale al valore master, 530Accoppiamento del valore master

Accoppiamento al valore di riferimento e al valore reale, 534Accoppiamento valore reale e di riferimento, 530da azioni sincrone statiche, 531Sincronizzazione asse master e asse slave, 533

Accoppiamento di velocità, 546Accoppiamento tramite riferimento, 546Accostamento sul punto vettoriale successivo, 492ACOS, 64ACTBLOCNO, 179ACTFRAME, 293ADISPOSA, 286Alesatura - CYCLE85, 747ALF, 126, 128Allarme, 720

Comportamento con azioni sincrone, 649Numero di allarme, 720

Allarmi per cicli, 720AND, 67Angoli di rotazione 1, 2, 445Angolo di anticipo, 337Angolo di rotazione, 357Angolo finale, 357Angolo laterale, 337angolo tangente vettoriale, 632Apprendimento delle curve di compensazione, 701APR, 41APRB, 41

APRP, 41APW, 41APWB, 41APWP, 41Array, 47arrotondamento, 160AS, 216ASIN, 64Asola - LONGHOLE, 784ASPLINE, 246A-Spline, 253Asportazione, 725Asportazione del truciolo ad alta velocità – CYCLE_HSC, 825Asse

Acquisizione diretta, 132Asse inclinato (TRAANG), 383Bloccaggio, 687dati utente locali, 689Sostituzione, 132Trascinamento, 509

Asse geometricoCommutazione, 682

Asse inclinato, TRAANG, 326asse M, 530Asse master, 463, 530asse S, 530Asse slave, 463, 530Assi di collegamento, 689Assi di comando, 605Assi di orientamento, 335, 344, 346Assi FGROUP, 269Assi geometrici commutabili, 682Assi rotanti

Vettori della distanza l1, l2, 445Vettori direzionali V1, V2, 445

assialeAvanzamento, 614

ASUP, 120ATAN2, 64ATOL, 500Attributi di posizione

Programmazione indiretta, 60Attrito, 701attuale

Override, 633AV, 544Avanzamento assiale, 614AX, 679AXCTSWE, 687AXCTSWEC, 687AXCTSWED, 687

Page 939: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 939

Indice analitico

AXIS, 25AXNAME, 77AXNOME, 679AXSTRING, 679AXTOCHAN, 137AXTOSPI, 679Azione sincrona

Annulla, 646Azione, 565Campo di validità, 561Cancellazione, 646Condizione, 563Elementi di comando, 560posizionamento asse, 606Sintassi, 560

Azioni sincronePanoramica delle azioni, 584variabile di esecuzione, 568Variabili di preelaborazione, 568

BB_AND, 67B_NOT, 67B_OR, 67B_XOR, 67B2, 335B3, 335B4, 335, 343B5, 335, 343B6, 348B7, 348BAUTO, 246BFRAME, 293Blocco di arresto, 484blocco lettura, 587Blocco parametri servo

Criterio programmabile, 289Blocco singolo

Soppressione, 173BLOCK, 202BLSYNC, 122BNAT, 246BOOL, 25BOUND, 71BSPLINE, 246B-Spline, 254BTAN, 246

CC2, 335C3, 335C4, 335, 343C5, 335, 343C6, 348C7, 348CAC, 245CACN, 245CACP, 245CALCDAT, 739Calcolo del frame

MEAFRAME, 310CALL, 201CALLPATH, 206, 223Cambio di stazione/posizione, 687Cambio elettronico, 536Campo

Elemento, 47CANCEL, 646Cancellazione del percorso residuo, 280, 589Cancellazione del percorso residuo con preparazione, 589Carattere 0, 75CASE, 97Cava circolare - SLOT2, 779Cava longitudinale - SLOT1, 776CDC, 245Centratura - CYCLE81, 745CFINE, 305CHAN, 25CHANDATA, 224CHAR, 25CHECKSUM, 158CHKDNO, 441CIC, 245Cicli

Parametrizzazione dei cicli utente, 212Cicli SIEMENS, 720Cicli tecnologici, 636

controllo dell'esecuzione ciclica, ICYCOF, 641Costrutti di controllo IF, 643in azioni sincrone blocco per blocco, 642Istruzioni di salto GOTOP, GOTOF, GOTOB, 643Parametri di default con valori iniziali, 640Salti incondizionali, 643strutturazioni in cascata, 642

Ciclo di incisione - CYCLE60, 788cinematica risolta, 446CLEARM, 115, 628CLRINT, 125CMIRROR, 64, 298

Page 940: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Indice analitico

Preparazione del lavoro940 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

COARSE, 544COARSEA, 286Codice G

Programmazione indiretta, 59Coefficiente del polinomio, 264Comandi di programmazione

Lista, 827Comando tangenziale, 463COMCAD, 260COMPCAD, 366COMPCURV, 260, 366Compensazione dell'errore sul quadrante

Apprendimento successivo, 702Attivazione processo di apprendimento, 701Disattivazione del processo di apprendimento, 701

COMPLETE, 224COMPOF, 260, 366COMPON, 260, 366, 474Componente frame

FI, 301MI, 301SC, 301TR, 301

Componente frame RT, 301Compressore, 260Compressore blocco NC, 260Concatenamento

di stringhe, 78concatenate

Trasformazioni, 399Condizioni marginali per le trasformazioni, 397Container assi, 687CONTDCON, 732CONTPRON, 726Controllo

Strutture, 106Controllo della potenza del laser, 592Coordinamento assi, 615Coordinamento dei programmi

Nomi dei canali, 117Numeri di canale, 117

Correzione online della lunghezza utensile, 454, 603Correzione raggio utensile

Fresatura periferica 3D senza superfici limite, 430Rallentamento sugli spigoli, 285

Correzione raggio utensile 3D, 421Cerchio di raccordo, 429Fresatura frontale, 423Fresatura periferica, 423Punto di intersezione 3D delle equidistanti, 429Spigoli interni/spigoli esterni, 429

Correzione utensile

Memoria di correzione, 401Online, 416, 600Sistema di coordinate per i valori di usura, 412

Correzione utensile 3D, 425Andamento punto di intersezione, 430Correzione sulla traiettoria, 426Curvatura della traiettoria, 427Fresatura periferica

con superfici limite, 431Orientamento dell'utensile, 435Profondità di penetrazione, 427

COS, 64COUPDEF, 544COUPDEL, 544COUPOF, 544COUPOFS, 544COUPON, 544COUPONC, 544COUPRES, 544CP, 388CPROT, 233CPROTDEF, 229CROT, 64, 298CSCALE, 64, 298CSPLINE, 246C-Spline, 255CT, 687CTAB, 523CTABDEF, 512CTABDEL, 519CTABEND, 512CTABEXISTS, 518CTABFNO, 528CTABFPOL, 528CTABFSEG, 528CTABID, 521CTABINV, 523CTABISLOCK, 521CTABLOCK, 520CTABMEMTYP, 521CTABMPOL, 528CTABMSEG, 528CTABNO, 528CTABNOMEM, 528CTABPERIOD, 521CTABPOL, 528CTABPOLID, 528CTABSEG, 528CTABSEGID, 528CTABSEV, 523CTABSSV, 523CTABTEP, 523

Page 941: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 941

Indice analitico

CTABTEV, 523CTABTMAX, 523CTABTMIN, 523CTABTSP, 523CTABTSV, 523CTABUNLOCK, 520CTOL, 500CTRANS, 64, 298, 305CUT3DC, 421, 426CUT3DCC, 431CUT3DCCD, 431CUT3DF, 421CUT3DFF, 421CUT3DFS, 421CUTMOD, 457CYCLE_HSC, 825CYCLE60, 788CYCLE61, 763CYCLE62, 791CYCLE63, 797CYCLE64, 795CYCLE70, 786CYCLE72, 792CYCLE76, 770CYCLE77, 772CYCLE78, 756CYCLE79, 774CYCLE800, 821CYCLE801, 761CYCLE802, 758CYCLE81, 745CYCLE82, 746CYCLE83, 748CYCLE832, 824CYCLE84, 751CYCLE840, 754CYCLE85, 747CYCLE86, 750CYCLE899, 782CYCLE92, 814CYCLE930, 802CYCLE940, 805CYCLE951, 799CYCLE952, 816CYCLE98, 811CYCLE99, 808

Ddati del cerchio

calcolo, 739DEF, 25, 47, 636

DEFAULT, 97DEFINE, 636DEFINE ... AS, 216Definizione dei campi, 47Definizione del polinomio, 591Definizione del valore di setup, 406DELAYFSTOF, 478DELAYFSTON, 478DELDL, 407DELDTG, 589DELETE, 146di fine movimento

Criterio programmabile, 286di orientamento

Assi, 349Interpolazione, 350

DISABLE, 124DISPLOF, 179DISPLON, 179Disponibilità

Sistema, 5DISPR, 486DIV, 64DL, 404DO, 565DV, 544

EEAUTO, 246EG

Cambio elettronico, 536EGDEF, 536EGDEL, 542EGOFC, 541EGOFS, 541EGON, 538EGONSYN, 538EGONSYNE, 538Elemento del profilo

esecuzione, 738ELSE, 107Emissione

su dispositivo/file esterno, 710ENABLE, 124ENAT, 246ENDFOR, 110ENDIF, 107ENDLABEL, 99ENDLOOP, 109ENDPROC, 598ENDWHILE, 112

Page 942: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Indice analitico

Preparazione del lavoro942 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Esecuzione dei colpi, 668ESRR, 723ESRS, 722ETAN, 246Evento trigger

Durante la misura, 279EVERY, 563EXECSTRING, 63EXECTAB, 738EXECUTE, 229, 741EXP, 64EXTCALL, 208EXTCLOSE, 710EXTERN, 195EXTOPEN, 710

FF10, 229F3, 701FA, 544, 614FALSE, 25Fattore di accoppiamento, 507Fattore di tolleranza G0, 504FCTDEF, 416, 591FCUB, 470FENDNORM, 285FIFOCTRL, 475File

Informazioni, 154FILEDATE, 154FILEINFO, 154FILESIZE, 154FILESTAT, 154FILETIME, 154Filettatura - CYCLE99, 808Filettatura con fresa - CYCLE70, 786FINE, 544FINEA, 286Finecorsa SW, 614FLIN, 470FNORM, 470FOCOF, 630FOCON, 630FOR, 110Foratura - CYCLE82, 746Foratura profonda - CYCLE83, 748Forme della fresa, 425FPO, 470FPR, 542FRAME, 25Frame

assegnazione, 303Catene di frame, 303Concatenamento di frame, 320richiamo, 302

Frame attuale globale, 319Frame base NCU globali, 314Frame di base attuali del canale, 317Frame di base globale, 317, 318Frame di base globali NCU attuali, 316Frame di sistema attuali, 316Frame globali NCU impostabili, 314Frame impostabile attuale, 318Frame programmabile attuale, 318Frame specifici per un canale, 315Fresa

-punta (FS), 428-punto ausiliario (FH), 428

Fresatura a spianare - CYCLE61, 763Fresatura continua - CYCLE72, 792Fresatura di cava aperta - CYCLE77, 782Fresatura frontale, 421, 423Fresatura frontale 3D, 342

Curvatura vettoriale tramite vettori norrmali alla superficie, 343

Fresatura periferica, 422, 423Fresatura periferica (3D)

con superfici limite, 431Fresatura periferica 3D con superfici limite, 430Fresatura-foratura di filetti - CYCLE78, 756FROM, 563FTOC, 600FTOCOF, 416FTOCON, 416Funzione di interpretazione, 594Funzione di misura ampliata, 388Funzioni ausiliarie, 586, 670Funzioni OEM, 284FXS, 630FXST, 630FXSW, 630

GG05, 387G07, 387G40, 421G450, 429G451, 429G62, 285G621, 285G810 ... G819, 284G820 ... G829, 284

Page 943: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 943

Indice analitico

GEOAX, 682GET, 132GET automatico, 135GETACTTD, 443GETD, 132GETDNO, 442Giochi, 701Gola - CYCLE930, 802GOTO, 94GOTOB, 94GOTOC, 94GOTOF, 94GOTOS, 93GP, 60GUD, 25, 220

HHigh Speed Settings – CYCLE832, 824HOLES1, 760HOLES2, 762

II1,I2, 445ICYCOF, 641ICYCON, 641ID, 561identificatore asse di default, 573IDS, 561IF, 94, 107IFRAME, 293II1,II2, 660Impostazione del valore reale, 616Incremento

-asse, 658-movimento, 663

indicazione del percorsoassoluta, 115relativo, 116

INDICE, 81Indice di campo, 50Indirizzi

Programmazione indiretta, 56Indirizzi OEM, 284INICF, 25INIPO, 25INIRE, 25INIT, 115INITIAL, 224INITIAL_INI, 224

Inizializzazionedi campi, 47di variabili di campo, 627

INT, 25Interpolazione del vettore di rotazione, 356, 363Interpolazione di orientamento, 364Interpolazione polinomica

Polinomio denominatore, 267interpolazione polinomica, 263INTERSEC, 736Inversione

iniziale, 657IPOBRKA, 286IPOENDA, 286IPOSTOP, 544IPTRLOCK, 483IPTRUNLOCK, 483ISAXIS, 679ISD, 421, 426ISFILE, 152ISNUMBER, 77ISOCALL, 203Istruzione di salto

CASE, 97Istruzioni

Lista, 827ISVAR, 699

JJERKLIM, 495

KKS, 463

LL..., 193Label, 99Label di attesa, 628LEAD, 335LEADOF, 530LIFTFAST, 126Livellamento

del percorso di orientamento, 369LLI, 37LLIMIT, 591LN, 64LOCK, 644LONGHOLE, 784

Page 944: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Indice analitico

Preparazione del lavoro944 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

LOOP, 109Loop con conteggio, 110Loop di programma

Loop con conteggio, 110Loop finale, 109Loop IF, 107Loop REPEAT, 113Loop WHILE, 112

Loop permanente, 109LUD, 25

MM, 447$TC_CARR18, 446, 450M17, 184M30, 184Macro, 216mandata

Memoria, 475mandrini sincroni

mandrini sincroni, 543Mandrino

Sostituzione, 132Mandrino sincrono

di mandrini sincroni, 549Rapporto di trasmissione kÜ, 550

mandrino sincrono, 543Maschiatura con utensile compensato - CYCLE840, 754Maschiatura senza utensile compensato - CYCLE84, 751MASLDEF, 555MASLDEL, 555MASLOF, 555MASLOFS, 555MASLON, 555MATCH, 81Matrice di posizione Cerchio - HOLES2, 762Matrice di posizioni Linea - HOLES1, 760Matrice di posizioni reticolo/cornice - CYCLE801, 761MAXVAL, 71MCALL, 199MD20800, 184MD37400, 469MEAC, 275MEAFRAME, 310, 314MEAS, 272MEASA, 275MEAW, 272MEAWA, 275Memoria

di lavoro, 224

Memoria dei programmi, 219Preelaborazione, 475

Memoria dei programmi, 219Directory standard, 220Tipi di file, 220

Memoria di correzione, 401Memoria di lavoro, 224

Settori dati, 224MINDEX, 81MINVAL, 71MIRROR, 293Misura, 626MMC, 703MOD, 64MODAXVAL, 679Modo operativo

Durante la misura, 280MOV, 609Movimenti del mandrino, 620Movimenti di posizionamento, 605Movimento asse singolo, 675Movimento cartesiano PTP, 326Movimento di pendolamento

Campo di inversione, 660Incremento sul punto di inversione, 662Punto di inversione, 660Soppressione dell’incremento, 660

MPF, 220, 701MU, 385MZ, 385

NNCK, 25NEWCONF, 139NOC, 544NOT, 67NPROT, 233NPROTDEF, 229NUMBER, 77Numeri D

Rinomina, 442verificare, 441

Numero Dliberamente assegnabile, 441

Numero dell'inserto, 441Numero identificativo, 561NUT=angolo, 348

Page 945: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 945

Indice analitico

OOEMIPO1/2, 284OFFN, 371, 375Offset angolari/incrementi angolari degli assi rotanti, 448Offset degli assi rotanti, 448Offset profilo normale OFFN, 381OMA1 ... OMA5, 284Operatori di confronto, 67Operatori logici, 67OR, 67ORIAXES, 346, 362ORIC, 435ORICONCCW, 348, 362ORICONCW, 348, 362ORICONIO, 348, 362ORICONTO, 348, 362ORICURVE, 352, 362ORID, 435Orientamento – CYCLE800, 821Orientamento dell'utensile, 435Orientamento relativo al percorso

, 361Inserimento di blocchi intermedi, 365Rotazione del vettore di orientamento, 362Rotazione dell'orientamento utensile, 362

ORIEULER, 346, 362ORIMKS, 344, 346ORIPATH, 361ORIPATHS, 361, 364ORIPLANE, 348, 362ORIRESET(A, B, C), 334ORIROTA, 356ORIROTC, 356, 362ORIROTR, 356ORIROTT, 356ORIRPY, 346, 362ORIRPY2, 346ORIS, 435ORISOF, 369ORISON, 369ORIVECT, 346, 362ORIVIRT1, 346, 362ORIVIRT2, 346, 362ORIWKS, 344, 346OS, 651OSB, 651OSC, 435OSCILL, 657, 660OSCTRL, 651OSD, 435OSE, 651

OSNSC, 651OSOF, 435OSP1, 651OSP2, 651OSS, 435OSSE, 435OST, 435OST1, 651OST2, 651OTOL, 500OVRA, 549

PP..., 197Panoramica

frame attivi nel canale, 316Parametri

Assegnazione durante il richiamo del sottoprogramma, 195Attuali, 165Formali, 165Trasferimento durante il richiamo del sottoprogramma, 166Utensile, 401

Parametri Call-by-ValuePer cicli tecnologici, 640

Parametri di calcoloNumero n, 21, 23

Parametri di calcolo (R), 21, 23Parametri per azioni sincrone, 575Parametri R, 575PCALL, 205PDELAYOF, 665PDELAYON, 665Pendolamento

Asincrono, 651gestione del pendolamento da azioni sincrone, 657Incremento parziale, 660Pendolamento asincrono, 651Pendolamento sincrono, 657

Pendolamento asincrono, 651Pendolamento sincrono

Abbinamento dell'asse di pendolamento e dell'asse di incremento, 660Analisi, clock IPO, 663Arresto sul punto di inversione, 663Azioni sincrone, 661Definizione degli incrementi, 660Incremento nel campo di inversione, 662Movimento di incremento, 662Successivo incremento parziale, 664

Page 946: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Indice analitico

Preparazione del lavoro946 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Percorso di ricercain caso di richiamo di un sottoprogramma, 164per il richiamo di un sottoprogramma, 222Percorso di ricerca programmabile, 206

Perno circolare - CYCLE77, 772Perno rettangolare - CYCLE76, 770Pezzo

Contatore, 709Directory, 221Directory principale, 220

PFRAME, 293PHI, 348, 355PO, 348, 355, 361PHU, 38PL, 246, 263PO, 263POCKET3, 765POCKET4, 768Poligono - CYCLE79, 774Polinomio denominatore, 267POLY, 263POLYPATH, 263PON, 674PONS, 665Portautensili, 451

Cancellazione/modifica/lettura dei dati, 450-Cinematica, 445Orientabile, 451

Portautensili orientabili, 445Numero del portautensili, 447Variabili di sistema, 446

POS, 606POSFS, 544posizionamento asse

posizione di riferimento impostabile, 608Posizione base dell'orientamento dell'utensile ORIRESET, 334Posizione di disattivazione, 553Posizione minima/massima dell’asse rotante, 448Posizioni a piacere - CYCLE802, 758Posizioni singolari, 345POSP, 657POSRANGE, 608POT, 64Preforatura profilo della tasca - CYCLE63, 797Preforatura profilo della tasca - CYCLE64, 795Preparazione del profilo

Risposta di errore, 741PREPRO, 183PRESETON, 308, 616Primo frame di base nel canale, 315PRIO, 122, 126

PRLOC, 25PROC, 169Profilo

-codifica, 732-preparazione, 726Riaccostamento, 486-tabella, 726, 732

Profondità di annidamentodi strutture di controllo, 106

Profondità di penetrazione, 427Profondità di penetrazione (ISD), 421Programma

di inizializzazione, 224Diramazione, 97Memoria, 221Ripetizione, 197Salti, 94Tempi di esecuzione, 705

Programma di inizializzazione, 224Programmazione dell'orientamento, 347, 364Programmazione dell’asse inclinato

G05, G07, 386Programmazione delle rotazioni del vettore di orientamento tramite THETA, 356Programmazione indiretta, 60

di codici G, 59di indirizzi, 56

ProtezioneSettori, 229

PO, 348, 355, 361PSI, 348, 355PTP, 388, 393PTP con TRANSMIT, 393PTPG0, 393PUD, 25PUNCHACC, 665Puntatore di interruzione automatico, 485Punzonatura, 665, 670PUTFTOC, 416PUTFTOCF, 416PW, 246

QQECDAT, 701QECLRN, 701QECLRNOF, 701QECLRNON, 701QECTEST, 701QFK, 701

Page 947: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 947

Indice analitico

RR..., 21, 23Raggruppamento di trascinamento, 507Raggruppamento spline, 258Rallentamento d'angolo su tutti gli spigoli, 285Rallentamento sugli spigoli interni, 285RDISABLE, 587READ, 148REAL, 25REDEF, 31Refpos, 608Regolazione AC, moltiplicativa, 596Regolazione AC,addizionale, 595Regolazione della distanza, 597RELEASE, 132REP, 47, 627REPEAT, 99, 113REPEATB, 99REPOS, 120REPOSA, 486REPOSH, 486REPOSHA, 486REPOSL, 486REPOSQ, 486REPOSQA, 486RESET, 644RET, 185, 186Riaccostamento al profilo

Accostamento con nuovo utensile, 493Punto di riposizionamento, 490

Richiamo profilo - CYCLE62, 791Richiamo sottoprogramma con indicazione del percorso e parametri, 205Richiamo sottoprogramma modale, 199Riferimento angolare, 551Riferimento vettoriale

Impostabile, 269Rilevazione del sovraccarico, 634RINDEX, 81Ripetizione di una parte di programma

con programmazione indiretta CALL, 202Riscontro fisso, 630risolta

Cinematica, 450risultante

Override, 633RMB, 486RME, 486RMI, 486RMN, 486Roditura, 665, 670rotazioni dell'utensile, 361

ROUND, 64ROUNDUP, 160routine di conversione, 570Routine di interrupt, 120

Assegnazione e avvio, 122Cancellazione, 125Direzione di movimento programmabile, 127, 128Disattivazione/attivazione, 124Movimento di svincolo, 128Nuova assegnazione, 123Salvataggio delle funzioni G modali, 121Svincolo rapido dal profilo, 126

RuntimeFunzionamento delle strutture di controllo, 107

SS1, S2, 544Salto

all'inizio del programma, 93Condizione, 95Destinazione, 94Etichetta, 95, 99Istruzione, 94

SAVE, 172SBLOF, 173SBLON, 173Scambio assi, 137

Impostazione variabile del comportamento, 136Premesse, 134richiedere e abilitare tramite azioni sincrone, 610

scambio assiAbilitazione asse, 135Accettazione asse, 135senza sincronizzazione, 134senza stop preelaborazione, 136

Scarico - CYCLE940, 805SCPARA, 289SD, 246SD41700, 688SD42475, 367SD42476, 367SD42477, 367SD42678, 369SD42680, 369SD42900, 410SD42910, 410SD42920, 411SD42930, 411SD42935, 414SD42940, 415, 460SD42984, 458

Page 948: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Indice analitico

Preparazione del lavoro948 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

SEFORM, 227Selezione di un singolo carattere, 83Serie di filetti - CYCLE98, 811SET, 47, 627SETAL, 629, 720SETDNO, 442SETINT, 122SETM, 115, 628Sezione di programma

Ripetizione, 99Sgrossatura - CYCLE951, 799Simulazione, 284Simulazione del valore master, 534SIN, 64Sincronismo

fine, 546grossolano, 546

Sincronismo di posizione, 544Sistema

Disponibilità funzionale, 5SLOT1, 776SLOT2, 779SON, 665, 673, 674SONS, 665Sottoprogramma, 161

Nome, 162Percorso di ricerca programmabile, 206Richiamo con assegnazione di parametri, 195Richiamo senza assegnazione di parametri, 193Richiamo, indiretto, 201Richiamo, modale, 199Ripetizione, 197Ritorno, parametrizzabile, 186

SPATH, 269SPF, 220, 701SPI, 679Spianamento del percorso di orientamento, 362, 365SPIF1, 665SPIF2, 665Spline

Interpolazione, 246Tipi, 253

SPLINEPATH, 258SPN, 670SPOF, 665SPOS, 544spostamento origine (SO)

PRESETON, 308Spostamento origine esterno, 307

Spostamento origine esterno, 307SPP, 670SPRINT, 84

SQRT, 64START, 115Start/stop asse, 609STARTFIFO, 475STAT, 388, 393Stato del tastatore di misura, 282Stato dell'accoppiamento, 510, 535Stato dell'ordine di misura, 282STOLF, 504Stop preelaborazione, 588STOPFIFO, 475STOPRE, 475STOPREOF, 588Strappo

Correzione, 495STRING, 25String

Formattazione, 84Operazioni, 75

StringaConcatenamento, 78Lunghezza, 80

STRINGIS, 695STRINGVAR, 83STRLEN, 80SUBSTR, 82Suddivisione automatica del percorso, 670suddivisione del percorso, 674Suddivisione del percorso per assi di contornitura, 673Svasatura - CYCLE86, 750Svincolo rapido dal profilo, 126SYNFCT, 594SYNR, 25SYNRW, 25SYNW, 25

TTAN, 64TANG, 463TANGDEL, 463TANGOF, 463TANGON, 463Tasca circolare - POCKET4, 768Tasca rettangolare - POCKET3, 765TCARR, 451TCOABS, 451TCOFR, 451TCOFRX, 451TCOFRY, 451TCOFRZ, 451Tempo di elaborazione, 705

Page 949: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Preparazione del lavoroManuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0 949

Indice analitico

Tempo necessarioAzioni sincrone, 634

Tempo residuoper un pezzo, 707

THETA, 355, 356PO, 355, 361TILT, 335Tipi di trasformazione

Funzione generale, 321Tipo di accoppiamento, 546Tipo di cinematica, 450tipo di cinematica M, 450tipo di cinematica P, 450tipo di cinematica T, 450TLIFT, 463TMOF, 677TMON, 677TOFFOF, 454, 603TOFFON, 454, 603Tolleranza

con G0, 504TOLOWER, 79Torsione, 701TOUPPER, 79TOWBCS, 412TOWKCS, 412TOWMCS, 412TOWSTD, 412TOWTCS, 412TOWWCS, 412TRAANG, 383TRACON, 399TRACYL, 375, 381TRAFOOF, 398TRAILOF, 507TRAILON, 507TRANSMIT, 371, 374, 393TRAORI, 329, 332Trascinamento, 507, 621

Limitazione dinamica, 510Trasformazione

Asse inclinato, 383Trasformazione a 5 assi

Programmazione del vettore direzionale, 341Programmazione dell'orientamento utensile con LEAD e TILT, 341

Trasformazione a cinque assiProgrammazione con angoli di Eulero, 339Programmazione con angoli RPY, 340Programmazione della curvatura vettoriale nei vettori normali alla superficie, 342Programmazione tramite LEAD/TILT, 335

Trasformazione cinematica TRANSMIT, TRACYL e TRAANG, 325Trasformazione con asse lineare orientabile, 331Trasformazione curvilinea di una superficie cilindrica, 375

Offset profilo normale OFFN, 381Trasformazione dell'orientamento TRAORI

Cinematica di macchina, 324Movimenti di traslazione e movimenti di orientamento, 324Programmazione dell'orientamento, 334Trasformazione generica a 5/6 assi, 325Varianti della programmazione dell'orientamento, 334

Trasformazione polare, 325Trasformazione su superficie cilindrica, 326Trasformazione TRACYL, 376Trasformazione TRANSMIT, 372Trasformazioni

Posizione base, indipendente dalla cinematica, dell'orientamento dell'utensile, 322Trasformazione a tre, quattro e cinque assi TRAORI, 322Trasformazione dell'orientamento, 322Trasformazioni a tre assi, trasformazioni a quattro assi, 332trasformazioni cinematiche, 323Trasformazioni concatenate, 323

Traslazione del preset, 308Traslazione fine, 305Traslazione grossolana, 305Tratti di percorso, 670Tratto di percorso, 670Troncatura - CYCLE92, 814Troncatura del profilo - CYCLE952, 816Trovare e rilevare i settori senza possibilità di ricerca, 484TRUE, 25TRUNC, 64TU, 388, 393

UU1,U2, 660ULI, 37ULIMIT, 591UNLOCK, 644UNTIL, 113UPATH, 269Utensile

Correzione della lunghezza, 451Correzione raggio, 408

Page 950: SINUMERIK 840D sl / 828D 5 Preparazione del lavoro 6 7 8 9 ... · meno impegnative le programmazioni per il tecnico. Disponibilità degli elementi di linguaggio NC descritti Tutti

Indice analitico

Preparazione del lavoro950 Manuale di programmazione, 02/2011, 6FC5398-2BP40-1CA0

Correzioni, addizionali, 404Memoria di correzione, 401Orientamento con cambio di frame, 453Orientamento, spianamento, 369Parametri, 401sorveglianza, per rettifica, 677

VV1,V2, 445Valore di usura, 406Valore master

Accoppiamento, 623VAR, 170Variabile FIFO, 579Variabile frame

Assegnazione alle istruzioni G G54 ... G599, 297Spostamenti origine G54 … G599, 296Variabile frame predefinita, 293, 302

Variabile timer, 578Variabili

Conversione di tipi, 74, 76definite dall'utente, 25Definizione, 25Nome, 27, 31Tipo, 25

Variabili di sistema, 568Variabili frame, 291

Assegnazione di valori, 298Definizione di nuovi frame, 304Richiamo di trasformazioni delle coordinate, 291

Variabili GUDSupporto azioni sincrone, 571

Variabili merker, 574VELOLIM, 496Visualizzazione blocco, 203

Soppressione, 179

WWAIT, 115WAITC, 544WAITE, 115WAITENC, 693WAITM, 115WAITMC, 115WHEN, 563WHEN-DO, 661WHENEVER, 563WHENEVER-DO, 661WHILE, 112

Winlimit, 608WRITE, 140, 710

Xxe, ye, ze, 352PO, 352, 355XH YH ZH, 352xi, yi, zi, 352XOR, 67

YPO, 352, 355

ZPO, 352, 355