POST PROCESSOR: COSA SONO E A COSA SERVONO

Come sempre parto dalle premesse.

Premessa uno, gli esperti della materia passino dritti: questo scritto è dedicato ai neofiti  della materia e a chi, più in generale, sa per sommi capi di cosa si tratta ma vuole qualche basica informazione in più. Premessa due, quanto scrivo è sempre frutto di mie considerazioni personali e dunque non si tratta di verità assolute (o non necessariamente). Premessa tre, non sono per nulla esperto della materia, so il minimo sindacale per svolgere il mio lavoro.

Fatte le doverose premesse, partiamo con le ovvietà: che cosa si intende per post processor? (o post processore, per dirla all'italiana, o postp - contrazione del nome esteso)

Si tratta di un "traduttore" in grado di scrivere (processare) un determinato percorso utensile (calcolato con apposito software Cam) in un linguaggio compatibile con la macchina cnc in cui si intende eseguire il percorso utensile stesso. La "catena" di lavoro è raffigurata nell'immagine di cui sotto:001 POSTP

Ogni macchina utensile ha un "linguaggio" proprio: esistono diversi controlli numerici sul mercato (sono i "cervelli" delle macchine utensili cnc) ed ognuno ha un proprio linguaggio di programmazione. Tra i vari controlli numerici (l'acronimo cnc significa appunto computerized numerical control) esistono poi molte similitudini nel modo di programmazione in quanto, secondo la teoria, dovrebbe esistere un linguaggio ISO parlato da tutte le macchine e con medesimi codici: tale condizione è vera solo in minima parte.

Se è infatti vero che il G83 rappresenta il foro a passo in tutti i controlli numerici con base di programmazione iso (Fanuc, Mitsubishi e relative declinazioni ma anche Selca, Fidia, Ecs etc ), è altrettanto vero che la sintassi che va inserita dopo il G83 è spesso "personalizzata" in base alle esigenze del Costruttore (o, in certi casi, dell'Utilizzatore). Lo stesso linguaggio iso poi è stato evoluto e personalizzato da taluni Costruttori (vedasi Okuma, per esempio) con sintassi propria, quindi compatibile solo su macchine del medesimo costruttore.

Esistono, infine, linguaggi di programmazione che non utilizzano per niente la base iso, vedasi Heidenhain o Roeders e, in buona parte, Siemens.

Quindi, in maniera molto spiccia, possiamo dire che ogni tipo di controllo numerico ha una propria programmazione, in alcuni casi similare ad altri, in altri totalmente diversa.

Oltre a quanto sopra, esistono versioni di controllo numerico del medesimo costruttore diverse tra loro (e quindi con funzioni diverse) e ogni controllo ha spesso più modi per attivare la stessa funzione (vedasi il posizionamento spaziale G68.2 con tutte le sue declinazioni).

Ultimo, ma non per importanza, il costruttore della macchina utensile, quando configura il controllo numerico sulla macchina stessa, può decidere di utilizzare funzioni diverse e di attivarle con codici diversi (quindi capita spesso di avere a che fare con macchine "gemelle" ma con programmazione non del tutto compatibile).

Tutto questo discorso per arrivare a dire che è molto difficile avere uno standard di programmazione che permetta di far funzionare lo stesso programma nc (il percorso utensile menzionato sopra, quando viene "trasformato" in linguaggio macchina viene chiamato appunto programma nc) su più macchine. Quindi, in sintesi, ogni modello di macchina utensile ha la necessità di avere il proprio post processor. Esistono delle eccezioni, ad esempio le Hermle sono praticamente tutte uguali (con Heidenhain); in quest'ultimo caso (ma anche in tutti gli altri) subentra però un'altra variabile: le preferenze dell'Operatore macchina. Ogni operatore infatti predilige "sfumature" che possono rendere la stessa identica lavorazione nella stessa identica macchina programmata da due Operatori diversi molto diversa nel linguaggio di programmazione: volendo fare qualche esempio, alcuni prediligono attivare l'utensile tramite il nome, altri tramite il numero (alcuni controlli numerici supportano entrambe le tipologie di chiamata utensile). Poi, alcuni vogliono usare la compensazione utensile da tabella macchina, altri come valore di usura direttamente nel programma nc. Non entriamo neppure nella questione svincoli ed avvicinamenti al pezzo. In tutti questi casi, comunque, non esiste un giusto ed uno sbagliato: esiste un pezzo fatto, in un modo o nell'altro, l'importante è il risultato.

Il problema, e che riguarda l'oggetto della discussione, è appunto l'impossibiltà di avere un database standard di post processor con il quale far andare tutte le macchine del mercato e soddisfare tutte le esigenze dei Clienti: per ogni caso, in pratica, si parte dall'anno zero (al massimo dall'anno uno o due). Anche qui ci sono delle eccezioni, e si trovano spesso nelle macchine a fresare a 3 assi, ma appunto sono eccezioni; la personalizzazione del linguaggio di programmazione, seppur piccola, viene richiesta da praticamente tutti gli Utenti.

Esiste anche un'altra tipologia di problemi, che possiamo definire politica (perchè di tecnico spesso ha molto poco), e che rende quasi funambolesca la compilazione del post processor. Mi limito ad indicare qui sotto alcune richieste "tipiche" di questa branca del mio lavoro:

-scrittura di meno blocchi di programmazione possibile;

-utilizzo delle ripetizioni;

-emulazione del sistema di programmazione conversazionale;

-utilizzo forzato di archi di cerchio elicoidali;

-utilizzo di correzione e compensazione anche in lavorazioni in cui non è possibile;

-programmazione di lavorazioni 5 assi continue su macchine 4+1 o 3+2;

-forature profonde gestite per punti con varie ed eventuali;

-testine angolari o utensili motorizzati diagonali;

Come detto, il più delle volte sono solo richieste "fantasiose" che poi (per esperienza) quasi mai verranno utilizzate (pur essendo costate ore ed ore di lavoro per "inventare" una possibile soluzione di programmazione e di postprocessing).

Ultimo problema "non tecnico" che intendo elencare, infine, è la collaborazione con il costruttore della macchina utensile: per parecchie macchine, soprattutto quelle complesse (vedasi macchine a fresare a 5-6 assi, centri di torniofresatura multitasking, macchine 4 assi palletizzate) è necessario interfacciarsi con un tecnico programmatore del costruttore macchina, allo scopo di ottenere le indicazioni e le informazioni utili a comprendere quali funzioni compilare nel post processor (i manuali di programmazione da soli non sono quasi mai sufficienti). In questo senso la mia esperienza è positiva in alcuni casi, in  altri va dal mediocre al disastroso. Il riscontro migliore lo si trova presso quei Costruttori che hanno nel proprio carnet macchine programmabili  praticamente solo da cam e che lavorano in areali di forme complesse (stampi, aerospace, automotive eccetera): in questi casi di norma si parla la stessa lingua, ci si capisce facilmente e con pochi contatti si risolvono le problematiche. In tutti gli altri casi la faccenda si complica un pò e, nei casi peggiori, diventa una via crucis nella quale consumare dosi massicce di tranquillina, sopportando di aver a che fare con persone a cui dai fastidio a priori e che non hanno alcun rispetto del lavoro che svolgi.

TIPOLOGIE POST PROCESSOR E SISTEMI DI POST PROCESSING

Come detto, il post processore si occupa della traduzione in linguaggio macchina del lavoro del software cam e, per tale motivo, rappresenta l'anello di congiunzione tra software di programmazione e macchina utensile. Tale post processor può essere utilizzato nel Cam stesso oppure essere in versione stand alone; il primo caso rappresenta la quasi normalità, il secondo l'eccezionalità (del quale parlerò tra qualche istante).

Tutte (quasi...) le software house che sviluppano cam hanno la possibilità di fornire i post processor ai loro Clienti, sia in maniera unilaterale (il sistema di post processing è "chiuso" e pertanto può essere compilato e personalizzato solo dal personale tecnico della software house) sia in maniera totalmente libera (il post processor può essere modificato e compilato da chiunque abbia accesso alla stazione cam, a patto di avere le competenze ovviamente).

Il postp poi può essere usato all'interno del cam come fosse un processo "integrato" (in pratica, nel progetto cam vengono abilitate  solo le funzioni supportate dal post processore) in modo da rendere coerente alla macchina utensile il tipo di programmazione che si sta adottando, oppure può essere un processo a valle e totalmente slegato dal progetto cam (il programmatore cam può decidere all'ultimo momento quale postp abilitare per la scrittura del programma nc, se avrà usato nel progetto funzioni non previste dal postp dovrà intervenire a posteriori). Vale la pena ricordare, infine, che questo tipo di postp è specifico per un determinato software cam (in pratica, ogni soluzione cam ha il proprio sistema di post processing specifico e non compatibile con altri). A riguardo di questo, poco sopra menzionavo i post processori stand alone: seppur marginali rispetto i post processori "diretti", rappresentano comunque una categoria importante e, per certi versi, anche teoricamente interessante.

002 POSTP

In breve, il processo di scrittura programma nc non avviene direttamente tramite il cam ma avviene per mezzo di una utility aggiuntiva (tipicamente di altra software house) che si occupa esclusivamente di questo processo (in casi particolari anche della simulazione macchina). Questa applicazione è "neutra" e può interagire (sulla carta) con qualsiasi software cam; questa peculiarità è possibile in quanto è stato sviluppato nel tempo un linguaggio che si chiama APT (o APT CL), acronimo che dovrebbe significare Automatically Programmed Tools (la normativa di riferimento è la ANSI NCITS 37-1999, chi vuole cerchi in rete le specifiche). Questo linguaggio APT viene utilizzato dal cam per scrivere un file intermedio che verrà poi riletto e ritradotto dal post processor stand alone.

I motivi che portano ad utilizzare questa tipologia di post processore possono essere:

-varie soluzioni cam in Azienda che però utilizzano un unico post processor;

-post processor molto specifico e sviluppato da personale altamente specializzato in quella nicchia;

-scelta della software house cam di non fornire i post processori.

003 POSTP         

Qui sopra un esempio di sintassi APT CL. A mio modesto parere siamo ancora lontani dal poter parlare di standard univoco per tutte le software house: al momento, infatti, ho potuto provare solo 4 APT di altrettante software house ma, comunque, nessuno dei 4 aveva sintassi totalmente uguale ad un altro.

CARATTERISTICHE ESSENZIALI DI UN POST PROCESSOR

Un post processore deve soddisfare vari requisiti, alcuni obbligatori altri a discrezione del Cliente. Deve essere in grado di compilare correttamente le rototraslazioni spaziali (che è poi la parte generalmente più complessa) e deve essere in grado di processare tutte le informazioni necessarie alle moderne tecniche di lavorazione. Nel tempo deve garantire la ripetibilità della scrittura del programma nc con gli standard richiesti ed appurati in fase di collaudo: non capita così raramente infatti che, dopo alcuni mesi di utilizzo, subentri una variabile mai considerata prima che scatena una circostanza di scrittura pericolosa (...o peggio...) per la macchina utensile.

Anche se può sembrare anacronistico, deve essere in grado di utilizzare quanti più cicli fissi e funzionalità di programmazione "intelligente" (archi, spirali elicoidali, funzioni di salto, ripetizioni, sottoprogrammi) vantaggiosa per un utilizzo e riutilizzo facile del programma nc (ripartenze, riesecuzioni parziali per correzioni etc); qualcuno pensa infatti che un post processore debba scrivere "solo" blocchi di coordinate cartesiane ma non è assolutamente così  (che poi in giro ci sia qualcuno che lavora ancora così è un dato di fatto, il tempo farà selezione).

Deve, infine, replicare fedelmente ed esattamente quanto visibile nel progetto cam; capita infatti che la programmazione finale si discosti da quanto visibile nel progetto cam (soprattutto su svincoli e/o su forature).

ROTAZIONI E ROTOTRASLAZIONI NELLO SPAZIO

I post processori complessi sono, come detto in precedenza, quelli che prevedono uno o più assi rotativi; finchè si rimane sugli assi lineari le "regole" sono semplici e normalmente non causano grossi problemi ma quando subentrano anche le rotazioni la faccenda si complica velocemente. A titolo di esempio possiamo citare i centri di lavoro a 5 assi (sia continui che posizionati) i centri di fresatura a 4 assi orizzontali e i centri di torniofresatura multitasking a 5 assi (a livello accademico in realtà quest'ultime sono comunque classificate macchine a 4 assi, ma si tratta solo di una precisazione filosofica, i problemi di compilazione rimangono...).

La definizione e la direzione degli assi rotativi e lineare risponde a regole matematiche non sindacabili, quindi ogni Costruttore rispetta le medesime condizioni, nella foto si può vedere una terna cartesiana in cui vengono indicati i nomi di tutti gli assi e le direzioni positive:

IMG 20220410 110833

I problemi per chi fa il mio mestiere sono legati alla sintassi per attivare la rotazione spaziale del piano di lavoro e/o la rotazione fisica degli assi. Ci sono infatti quelle che vengono definite convenzioni di Eulero e che fissano le regole matematiche per istruire una rotazione nello spazio con ordine di rotazione e tutto il resto. Se non ho contato male, tali convenzioni sono 24 e dunque il primo compito del compilatore di post processor è quello di capire quale di queste convenzioni viene utilizzata dalla macchina. Diciamo comunque che le più diffuse ed utilizzate (almeno, nel nostro paese) sono tre: XYZ Statico, ZXZrotazionale, XYZrotazionale (citate nell'ordine in cui generalmente le incontro). Per fare degli esempi, Heidenhain utilizza la prima, Fanuc la seconda, i multitasking Fanuc ed Okuma la terza. Difficilmente queste indicazioni si trovano nel manuale di programmazione (eccezione per alcuni manuali Fanuc) quindi ci si arriva o per deduzione o per esperienza pregressa o per indicazione del tecnico programmatore del costruttore macchina.

Queste convenzioni di Eulero poi determinano il modo nel quale va istruito il piano di lavoro inclinato per una determinata lavorazione, vedasi immagine:

004 POSTP

 

Il piano principale corrisponde all'azzeramento del pezzo in macchina utensile, il piano inclinato invece determina l'orientamento necessario per fare la lavorazione (in questo caso il foro marroncino).

Le principali funzioni per l'attivazione e la gestione del piano di lavoro inclinato sono:

-Plane Spatial (Heidenhain);

-Cycle800 (Siemens);

-G68.2 (P1 P2 P3) per tutti gli Iso (Fanuc, Mitsubishi e declinazioni varie quali Mazak, Mori Seiki);

-Cs ON (Fagor);

-G21 (Fidia);

-G254 (Haas);

-G751 (Selca);

-ROTZERO (Roeders);

-Call OO88 / G127 (Okuma).

Il più difficile da mettere a punto a livello di sintassi è il Cycle800 di Siemens, il più “variegato” per funzioni e differenze tra le stesse è il G68.2. Va inoltre precisato che in Heidenhain esistono vari tipi di plane e non solo lo spatial (ma quest’ultimo è di gran lunga il più utilizzato).

Quanto finora descritto riguarda esclusivamente le lavorazioni “posizionate” (ossia con gli assi rotativi che si posizionano nello spazio ad inizio lavorazione per orientare l’utensile e poi non si muovono più durante tutto il ciclo di lavoro). Per le lavorazioni con assi continui invece si utilizza quello che viene definito modulo rtcp (tcmp o tcp) e che permette alla punta dell’utensile di rimanere ferma nello stesso punto dello spazio nonostante il movimento continuo degli assi rotativi. Anche qui, per abilitare tale modulo ci sono funzioni specifiche per ogni singolo controllo numerico. Per citarne alcune ricordo G43.4 (Fanuc, Mitsubishi, Mazak), M128-Tcp Function (Heidenhain), Traori (Siemens), G52 (Okuma), G96 (Fidia), G749 (Selca), TCORRON-RT (Roeders). Ci sono parecchi software cam, tuttavia, che sono in grado di processare percorsi 5 assi continui senza che la macchina utensile abbia il modulo rtcp (bisogna accettare alcuni compromessi, ma mi è già capitato di lavorare in questo modo).

008 POSTP

 Qui sopra in immagine stile degli angoli di Eulero, con le quattro tipologie possibili.

 

Concludo questo argomento con una menzione ai torniofresa con asse B: partendo dal presupposto che a livello matematico rispecchiano le macchine a fresare a 5 assi, hanno tuttavia varie funzioni specifiche rispetto al contesto operativo: ad esempio, c’è distinzione tra lavorazioni assiali e radiali, con codici abilitativi e funzioni specifici per l’uno o l’altro contesto. Hanno anche funzioni specifiche per le lavorazioni polari (vedasi la funzione G12.1, per esempio) che permette di trasformare le coordinate lineari Y in coordinate rotative C. Infine, sempre a titolo di menzione, va ricordato che c’è molta differenza di programmazione tra mandrino principale e contromandrino (quasi tutte le macchine hanno la direzione dell’asse Z invertita tra i due mandrini).

 

CICLI FISSI

 

Per ciclo fisso si intende la programmazione di un determinato lavoro a mezzo di una “maschera” in cui inserire i valori della lavorazione che si intende realizzare: a livello di post processor, le lavorazioni che si programmano sempre per cicli fissi sono le forature (non ha senso programmare le forature per blocchi di coordinate, a meno che il controllo numerico sia privo della programmazione per cicli o si debbano gestire le complesse forature profonde con gestione di imbocco ed intersezioni – per questa casistica non esiste un ciclo fisso). Tutti i post processor sono in grado di supportare questo tipo di cicli fissi, alcuni inoltre possono supportare i cicli fissi per le gole e le torniture (chiaramente riferendomi a post processor specifici per la torniofresatura). Tramite l’utilizzo di personalizzazioni e/o variabili si possono inoltre inserire cicli tasca circolare, cicli di barenatura etc etc.

PROGRAMMAZIONE CON MAIN + SUB

Alcuni controlli numerici hanno la necessità di essere programmati con il metodo “programma principale e sottoprogrammi” (in inglese main & sub); ad esempio Roeders ma anche tutte quelle macchine che hanno una memoria programmi esterna al controllo numerico (quindi il main sarà direttamente caricato nella memoria del controllo mentre i sottoprogrammi esecutivi saranno nella memoria esterna). Per utilizzare questa tecnica è necessario un post processore che divida in due la programmazione e che sia in grado di “smistare” i vari comandi (ad esempio la gestione dell’utensile nel main mentre la gestione della rototraslazione nel sub).

Qui in immagine un esempio di programma principale che richiama due sottoprogrammi (evidenziati in giallo):

005 POSTP

 

SVINCOLI DI AVVICINAMENTO O DI FINE LAVORAZIONE

Purtroppo quasi tutti gli Utenti richiedono una determinata procedura di svincolo di avvicinamento e di allontanamento dal pezzo, spesso anche con variabili e complessità eventuali. Questo tipo di situazione non appartiene al progetto cam ma viene scritta direttamente dal post processor, pertanto non è gestibile in fase di programmazione lavorazione. Dopo aver dato ampia disponibilità ai miei Clienti, da un po’ di tempo ho scelto di non dare più la possibilità ai Clienti stessi di “scegliere” come deve gestire gli svincoli il post processor ma di seguire una procedura fissa e che deve rispecchiare più possibile la simulazione visibile nel progetto cam. I motivi penso siano facilmente intuibili.

 

MACCHINE CON PIU’ DI 5 ASSI

 

Nella meccanica di asportazione esistono macchine che possono arrivare ad avere anche 8-9 assi; bisogna tuttavia ricordare che la lavorazione di asportazione avverrà utilizzando esclusivamente fino a 5 assi. Una macchina utensile infatti può avere degli assi aggiuntivi rispetto il classico X-Y-Z+2rotativi: è il caso di assi collineari (tipo il W) all’asse mandrino. Questo tipo di asse però viene messo in posizione prima di iniziare la lavorazione e ritratto alla fine della lavorazione stessa. Quindi non si tratta di un vero e proprio movimento di lavoro. Il più delle volte inoltre viene controllato richiamando una macro a bordo macchina.

In immagine è visibile una simulazione con asse W in tre posizioni diverse e con relativo comando nel programma nc. Come detto non si tratta di un vero asse di lavoro.

006 POSTP

La stessa situazione si può trovare in macchine a montante mobile con assi lineari aggiuntivi: è il caso della macchina in immagine qui sotto, in cui è montata una tavola girevole (Asse C, non visibile nello schema assi) che a sua volta è montata su una slitta che fa da asse V. Questo asse è collineare all'asse Y.

007 POSTP

 

In pratica, dunque, tutti i post processor sono in grado di controllare fino a 5 assi continui di lavoro: tutti gli altri assi sono controllabili solo per il loro posizionamento iniziale e finale.

Per macchine con tre assi rotativi (nell'immagine precedente la macchina ha asse A e asse B in testa con in più Asse C in tavola) di solito si fa quello che viene definito "scambio post": due post processori per la medesima macchina, uno in grado di governare lavorazioni con asse B e C, l'altro con asse A e B. In pratica l'operatore cam (o comunque chi processa il programma nc) deve abilitare manualmente il post processor di interesse per la corretta scrittura delle rotazioni e posizioni spaziali, in base a come è stato deciso di eseguire la lavorazione (l'asse escluso rimarrà statico).

Questo nella pratica ma, almeno nella teoria, è possibile in alcuni casi programmare tutti e tre gli assi rotativi simultaneamente. L'esigenza nasce dall'incapacità di lavorare sulle 5 facce del pezzo in macchine a montante mobile; con asse C si governa la tavola girevole che quindi "presenta" le varie facce dell'ipotetico cubo da lavorare all'asse utensile mentre con asse A si riesce a lavorare la faccia fronte macchina, mantenendo l'asse Y il più retratto possibile (notoriamente il punto debole di questo tipo di macchine). Come dicevo, nella teoria si può pensare di ricorrere a questo tipo di post processor, che sarà giocoforza complesso da compilare e da testare. E che, a mio parere, presenta ancora molti punti oscuri. Per quello che riguarda la mia esperienza personale, sto portando avanti "a tempo perso" lo sviluppo di due post processor di cui uno a 6 assi (3 lineari e 3 rotativi) ed uno a 7 assi (4 lineari e 3 rotativi), entrambi per controllo Heidenhain:  il settimo asse (V) è solo di posizionamento iniziale ma tutti gli altri sono in grado di lavorare in movimento simultaneo. Vedremo come andrà a finire.

COMPENSAZIONE, CORREZIONE, PROGRAMMAZIONE VETTORIALE, NORMALE ED ALTRO

Per quanto riguarda la compensazione raggio utensile, deve essere supportata in tutte le lavorazioni 2D (tasche, contorniture, profilature, forature) ma, almeno nei cam e nei post processori più avanzati, deve essere possibile gestirla almeno in parte anche nelle lavorazioni tridimensionali di forma libera; è il caso del DR di Heidenhain, applicabile nelle lavorazioni tridimensionali pur accettando il compromesso della direzione di compensazione non normale alla superficie in lavoro ma radiale rispetto l'utensile. Con lo stesso meccanismo si può utilizzare il comando G10 ed "emulare" ciò che fa il DR anche in tutti gli altri controlli (a patto che sia stato previsto dal costruttore macchina).

Esiste tuttavia la compensazione tridimensionale, supportata da alcuni controlli numerici, che però richiede un tipo di programmazione diversa; inanzitutto le posizioni rotazionali non sono più comandate da blocchi di coordinate A-B-C ma da vettori I-J-K (quindi si parla di programmazione vettoriale). Poi, per sapere esattamente in quale direzione utensile deve correggere la posizione di lavoro, il controllo ha bisogno delle normali di contatto delle superfici da lavorare quindi ci saranno dei blocchi di programmazione con valori NX NY NZ. Qui in immagine un esempio di programmazione normale in linguaggio Roeders:

009 POSTP

 

Mentre in quest'altra immagine un esempio di programmazione sia normale che vettoriale Heidenhain:

010 POSTP

 

In entrambi i casi si potrà applicare la compensazione tridimensionale del raggio utensile (più verosimilmente, dell'usura) per "allargare o stringere" la lavorazione direttamente in macchina e senza dover ricalcolare il percorso utensile in cam. Questo tipo di programmazione a mio avviso rappresenta il punto di arrivo per ogni fresatore-camista di forme complesse e, ritengo, diventerà sempre più importante una volta che le Aziende sapranno che esiste: c'è ancora infatti molta disconoscenza in tal ambito tanto che qualche software house  "fa finta" furbamente di aver introdotto questo tipo di programmazione come novità recente quando, nella realtà, esiste da quel pezzo e nei software cam che utilizzo è presente da che io ho memoria.

011 POSTP

 

In immagine si vede un utensile che deve lavorare coricato di 45° rispetto la normale delle superfici coinvolte. In verde il percorso (quindi coordinate X, Y, Z) in bianco invece la direzione dei vettori (quindi I J K). In color mattore sono visibili le normali di contatto che permetteranno la scrittura dei blocchi  NX NY NZ. L'eventuale compensazione avverrà nelle direzioni color mattore.

Attualmente tutti i postp Heidenhain che faccio per Powermill hanno questa sintassi di default, per quanto riguarda invece Featurecam sto iniziando ad elaborarla in questo periodo. Nei controlli su base ISO è leggermente più complesso determinare le istruzioni normali ed inoltre va utilizzato il G43.5 e non più il G43.4; ho fatto due prove su altrettante macchine ma necessito del supporto di qualche programmatore per riuscire a stilare una sintassi convincente e definitiva.

GESTIONE DEL PROBING (misura tridimensionale del pezzo tramite sonda)

Oramai tutte le software house offrono la possibilità di "tastare" con la sonda il pezzo sia durante che dopo la lavorazione, in modo da stabilire ripassi o scarti del pezzo stesso. Per il probing tridimensionale serve una sintassi complessa che utilizza movimenti vettoriali e variabili varie. Compilare un post processore in questo ambito è materia molto complessa e che richiede conoscenze multiple. Discorso diverso se invece si intendono richiamare i cicli fissi di misurazione 2,5D (diametro foro, quote tasca etc): in questo caso la gestione della misurazione è semplice, semmai sarà complessa la sintassi per gli interrogativi (scarto o ripasso del pezzo in base al responso misure).

In immagine un esempio di programmazione probing tridimensionale in linguaggio Heidenhain:

012 POSTP

 

GESTIONE E SCRITTURA DATI PER RACCOLTA INFORMAZIONI (PER GESTIONALE AZIENDALE)

Una cosa che mi viene chiesta sempre più spesso è fare in modo che il post processore utilizzi le funzioni "print" dei vari controlli numerici. Questo permette di raccogliere molte informazioni del lavoro svolto, tra cui i tempi reali di lavoro, i programmi già eseguiti, la commessa in corso eccetera. Come detto, tutti i controlli numerici hanno variabili, stati, espressioni e funzioni di scrittura files esterni che permettono di andare incontro a queste esigenze.

COLLAUDO PRESSO CLIENTE CON PROVE MACCHINA

In passato offrivo come opzione la giornata di collaudo, attualmente la considero obbligatoria: affidando il test postp direttamente all’Utilizzatore si corre il rischio di incappare in problematiche di varia natura: a distanza non ci si capisce mai a fondo, possono nascere anche dei malintesi, ed inoltre l’utilizzatore difficilmente farà tutte le prove necessarie. Emergeranno i problemi nei mesi o anni successivi, man mano che si manifestano le varie condizioni di utilizzo. Quindi ritengo un obbligo svolgere questo tipo di attività, realizzando un pezzo test con quante più condizioni significative possibili, in modo da verificare le rototraslazioni nello spazio, i cicli fissi, la compensazione, eccetera.

RESPONSABILITA’

C’è sempre una dose di rischio nel compilare un postp: un comando errato, uno svincolo con quote sbagliate, una condizione non considerata e manifestatasi dopo coincidenza di N variabili. Sarebbe opportuno dunque poter stipulare una polizza assicurativa estremamente specifica. Per chi fa il mio mestiere ciò non è possibile: secondo le compagnie assicurative alle quali mi sono rivolto (praticamente tutte le principali) solo una software house può stipulare una polizza di questo tipo. Per quello che mi riguarda, dunque, l’unica copertura che posso fornire è l’rc professionale (che però è una polizza generica e non ad hoc per l’oggetto di questo scritto).

CONCLUSIONI

"Fare post processor è facile", mi disse qualcuno. Sarà, ma io non sono di questo avviso. Inoltre c’è la credenza popolare secondo la quale chi fa il mio mestiere rivende lo stesso post processore N° volte (fatto una volta, venduto 10) perché “tanto le macchine son tutte uguali”. Mi sento di smentire questa credenza. A conti fatti, preferirei fare dell’altro visti i livelli di responsabilità che comporta compilare postp; devo tuttavia ammettere che è un lavoro appassionante e che mi sta dando la possibilità di imparare parecchie cose su macchine che prima non conoscevo. C’è anche modo di sviluppare nuovi metodi di programmazione (programmi e sottoprogrammi con condizioni variabili di esecuzione, salti condizionati, parametri variabili): questo mi permette di proporre ai Clienti evoluzioni e miglioramenti di post processori realizzati in passato. Nella speranza di non causar malanni…

013 POSTP

 

 

 

 

CICLO FISSO s.r.l.
Sede Operativa:
Via Leonardo Da Vinci 118 - Cavezzo MO

Sede Legale:
Via Gambisa 74 - 41019 Soliera MO

This email address is being protected from spambots. You need JavaScript enabled to view it. - P.IVA 04072020367 - REA MO-440734
©2023
Ciclo Fisso s.r.l. - Design by ADVERA