Le macro in RosettaCNC
Aspetti generali
Il sistema RosettaCNC è stato implementato da un potente linguaggio per la scrittura delle macro prendendo spunto da quello Macro-B di FANUC e del quale ne sono state estese parti, sia in sintassi sia in semantica, al fine di semplificarlo e renderlo più funzionale. Tale scelta ha permesso di utilizzare il linguaggio di programmazione già utilizzato ed interpretato dai sistemi CNC e che racchiude le proprietà del linguaggio in G-Code.
Panoramica tipologie di macro nel sistema RosettaCNC
In RosettaCNC esistono varie tipologie di macro e nello specifico:
- di sistema;
- interne al programma principale;
- esterne richiamabili dal programma principale o da altre macro;
- che implementano la funzionalità di comandi G base del sistema;
- di servizio/supporto alle funzionalità fornite dal software di controllo;
- che implementano nuovi comandi G, estendendo il linguaggio G base;
- che implementano nuovi comandi M, estendendo il linguaggio G base;
- richiamabili da ingresso digitale o pulsante sulla barra degli strumenti.
Nota sull’Editor e visualizzazione delle macro
Le macro, ad eccezione di quelle interne al programma principale, sono costituite da file di testo in formato ANSI, per cui accertarsi di non utilizzare l’editor testo impostato su formato UNICODE o similari.
Per editare le macro si consiglia di utilizzare di un buon editor di testo molto potente, per esempio Notepad++ .
Mentre da questo link si può scaricare la descrizione del linguaggio G-Code da usare con Notepad++ per avere un corretto Syntax – Highlighing delle macro.
Basterà salvare il file come gcode.xml ed importarlo nel gestore di linguaggi di Notepad++ per avere una visione migliore del codice macro.
Per la comparazione delle differenze tra diverse versioni della stessa macro posso consigliare l’uso di WinMerge, un programma di comparazione gratuito e facilmente installabile.
Le macro si possono leggere, ma non modificare, anche mentre si è nel software di controllo di RosettaCNC aprendo il pannello “Gestione Macro“, richiamabile da menu “Funzioni->Gestione macro” o tramite l’apposita icona sulla barra utensili superiore.
Estensioni
Le macro hanno estensione “.ngc“, per le macro in chiaro leggibili e modificabili da chiunque, oppure estensione “.ngx“ per le macro criptate solo richiamabili.
Dove sono memorizzate le macro di RosettaCNC
Le macro sono memorizzate nella cartella “\macros” della machina in uso, ogni machina avrà le sue macro di customizzazione della CNC.
Per accedere alla directory contenente le macro in Windows (da esplora risorse) richiamare il menu “File -> Apri la cartella Macros” si aprirà la cartella di Windows contenente tutte le macro di quella machina:
Invece nel software di controllo di RosettaCNC è possibile dare un veloce sguardo al codice di una macro tramite il pannello “Gestione Macro“, richiamabile tramite il menu “Funzioni->Gestione macro” o tramite l’apposita icona sulla barra utensili superiore se abilitata:
Dal pannello “Gestione macro” non è possibile la modifica delle macro, per farlo si deve usare un editor di testo esterno, ma permette velocemente di valutarne il codice, di rilevare la linea che genera errore durante la sua esecuzione e permette inoltre la criptazione di una macro dal chiaro.Le macro su file possono essere modificate in qualsiasi momento, è preferibile non modificare mentre la macchina sta lavorando per ovvi motivi di sicurezza.
Macro di sistema
Le macro di sistema in RosettaCNC sono macro speciali eseguite automaticamente dalla CNC in fasi specifiche dell’esecuzione del programma in G-Code.
Macro si sistema: start.ngc
La macro start.ngc viene eseguita automaticamente sempre prima di eseguire:
- un programma G-Code tramite il comando START;
- una macro associata ad un ingresso digitale;
- una macro associata ad un bottone della barra utensili superiore;
- il programma introdotto nel pannello MDI.
Lo scopo della macro start.ngc è quello di effettuare una serie di controlli ed impostazioni di default prima di eseguire il codice reale caricato dall’operatore.
La macro può essere usata per:
- impostare i valori come l’unità di misura metrico (G21) o imperiale (G20);
- definire le coordinate di I e J negli archi sono relative (G91.1) o assolute (G90.1);
- per attivare una WCS di default (es: G54 per la WCS1);
- impostare la modalità di lavorazione continua con raccordi (G64), la exact-path (G61) o la exact-stop (G61.1)
- eseguire una procedura di riscaldamento mandrino;
- impostare un feed di partenza ecc,
Non vi resta che aprire il file start.ngc e vedere quanto già proposto di default nel pacchetto installazione.
Macro di sistema: restart.ngc
La macro contiene il codice per la ripartenza “da riga” e riprendere una lavorazione dopo un comando di STOP.
Il comando di STOP, se programmato nei parametri di setup scheda, rialza la Z ad una altezza programmata, spegne nebulizzatore, refrigerante, mandrino e mette la CNC in stato di STOP.
In questa fase sono consentiti i movimenti in JOG da tutte le risorse, ovvero da tastiera, dai pulsanti su schermo, da ingressi digitali o volantino.
La ripartenza si effettua col tasto RESUME sul software di controllo o tramite l’attivazione dell’ingresso digitale con assegnata la funzione di RESUME, la CNC esegue prima la macro restart.ngc, e si riporta in sicurezza sul punto di fermata, ripristina lo stato di M7, M8 e M3 e riprende dal punto interrotto.
Durante la ripresa da STOP la macro di sistema start.ngc non verrà chiamata ma la sequenza sarà: RESUME -> macro restart.ngc -> programma dal punto interrotto.
Come per la start.ngc, durante l’installazione del software di controllo, viene messa a disposizione una macro restart.ngc di base che potrà essere configurata tramite appositi parametri in testa al codice macro oppure modificata per essere adattata alle proprie esigenze.