Indice

RosettaCNC - Industria 4.0

Gentile Cliente,
Grazie per aver acquistato questo prodotto. RosettaCNC Board è progettato e prodotto secondo standard elevati per conferire prestazioni di alta qualità, facilità di utilizzo e di installazione. In caso di difficoltà durante l'installazione o l'utilizzo del prodotto, si consiglia di consultare in prima istanza le istruzioni e le informazioni riportate nel sito RosettaCNC.

Serve assistenza ?
Scrivete nel Forum oppure inviate una email a support@rosettacnc.com. Il team di sviluppo di RosettaCNC sarà lieto di rispondervi in tempi brevi.


Documento: MDU_ROSETTACNC_INDUSTRIA4.0
Descrizione: Plugin per l'Industria 4.0
Link: https://wiki.rosettacnc.com/doku.php/software/mdurosettacncindustria4.0
Release documento Descrizione Note Data
1.0 Prima release documento / 18/04/2019

I diritti d'autore di questo manuale sono riservati. Nessuna parte di questo documento, può essere copiata o riprodotta in qualsiasi forma senza la preventiva autorizzazione scritta. RosettaCNC Motion® non presenta assicurazioni o garanzie sui contenuti e specificatamente declina ogni responsabilità inerente alle garanzie di idoneità per qualsiasi scopo particolare. Le informazioni in questo documento sono soggette a modifica senza preavviso. RosettaCNC Motion® non si assume alcuna responsabilità per qualsiasi errore che può apparire in questo documento. RosettaCNC Motion® è un marchio registrato.

Panoramica

Industria 4.0

Per rispondere alle normative richieste dall'industria 4.0, la macchina utensile deve avere le seguenti caratteristiche:

Industria 4.0 per Rosetta

Per soddisfare i requisiti dell'industria 4.0 è stato sviluppato un software dedicato per RosettaCNC, chiamato Gateway. Questo software va installato nel PC di controllo macchina e fornisce le seguenti funzionalità:

Tipicamente, il cliente attrezzato con un software di gestione della produzione (tipo MES) vorrà programmare il proprio software in modo da aprire connessioni OPCUA e FTP con il Gateway per sfruttarne le funzionalità, permettendo così il monitoraggio e l'interazione da remoto con la macchina. In assenza di un software di gestione della produzione, o nel caso si voglia evitare una complessa integrazione, il Team RosettaCNC mette a disposizione un software apposito, chiamato Widget, che realizza autonomamente delle connessioni OPCUA e FTP con il Gateway, realizzando così i requisiti minimi necessari per l'Industria 4.0.

Materiale

Gateway Widget

Il PC di controllo macchina è connesso alla Board e ospita il software RosettaCNC per il controllo delle lavorazioni. Su questo PC dovremo installare il Gateway, che fornirà i servizi di industria 4.0. Sul PC del responsabile di produzione andrà invece installato il software consumatore dei servizi, che si connetterà al Gateway e ne sfrutterà le funzionalità, permettendo il monitoraggio e l'interazione da remoto con la macchina. Nel nostro caso si tratta del Widget, oppure di un software esistente di gestione della produzione che sia stato opportunamente programmato.

I software possono essere scaricati ai seguenti link:

Ricordiamoci che il Gateway va installato sullo stesso PC che ospita il software di controllo macchina, mentre il Widget può essere installato liberamente su un qualunque altro PC connesso alla stessa rete locale. È inoltre possibile avere più copie del Widget su computer diversi: il Gateway, infatti, è predisposto per accettare un numero arbitrario di connessioni remote.

Guida Gateway

Una volta avviato, il Gateway funziona in background. Possiamo trovare la sua icona nella sezione dei programmi in background di Windows. Per accedere alla pagina di configurazione clicchiamo sull'icona col pulsante destro, quindi selezioniamo Settings. Verrà visualizzata una finestra con più schede.

Scheda Main

In questa scheda vengono definite le credenziali di accesso alla pagina dei settings. Più precisamente:

Scheda Board

In questa scheda vengono raccolte le informazioni sulla nostra Board Rosetta. Facciamo attenzione agli ultimi due campi:

Se la connessione con Rosetta ha successo, nel Board Status dovremmo leggere Connected, mentre i campi successivi dovrebbero mostrare alcuni dettagli aggiuntivi sulla Rosetta collegata.

Scheda OPCUA

In questa scheda vengono raccolte le informazioni sul server OPCUA che permette di accedere alla variabili della Board. Più precisamente:

Scheda FTP

Questa scheda raccoglie le informazioni sul server FTP che permette di accedere ai file di log di Rosetta. Più precisamente:

Scheda Log

Questa scheda raccoglie i parametri che regolano la produzione dei file di log. Più precisamente:

I contenuti dei file di log vengono precisati nell'Appendice A.

Scheda Notifications

Questa scheda raccoglie le informazioni sulle notifiche via email. Più precisamente:

Le voci successive contengono le credenziali del server mittente delle email. I valori di default si riferiscono a un server messo a disposizione dal Team RosettaCNC, che può essere usato liberamente. Possiamo ripristinare questi valori in qualunque momento usando il tasto Load Default. Se invece vogliamo usare un server privato dobbiamo compilare i seguenti dati:

Alcune note sull'uso di server SMTP:

Testare il server OPCUA

Il server OPCUA implementato dal Gateway rende accessibili gran parte delle variabili della Board Rosetta. Questi contenuti sono esplorabili attraverso un qualunque client OPCUA. Suggeriamo per esempio di provare il software gratuito UaExpert, scaricabile da Unified Automation. Le operazioni da eseguire sono le seguenti:

Riportiamo gli identificativi di alcune variabili, a titolo di esempio:

Variabili relative al programma in esecuzione

Id Nome Tipo Descrizione
ns=1;s=CNC.Program.Name Program.Name Stringa Il nome del programma GCode in esecuzione
ns=1;s=CNC.Program.ActLineNumber Program.ActLineNumber Intero La linea del programma GCode in esecuzione
ns=1;s=CNC.Program.EstimatedDuration Program.EstimatedDuration Reale La durata stimata in millisecondi dell'attuale programma GCode
ns=1;s=CNC.Program.StartTime Program.StartTime Data L'UTC DateTime (Data e Ora in Coordinated Universal Time) di quando è stato avviato il programma corrente
ns=1;s=CNC.Program.Completed Program.Completed Booleano Impostata a vero quando Rosetta entra nello stato IDLE se l'ultimo programma è stato completato correttamente

Variabili generali

Id Nome Tipo Descrizione
ns=1;s=CNC.State State Intero Lo stato della macchina (0: Init, 1: Init Fieldbus, 2: Alarm, 3: Idle, 4: Homing, 5: Jog, 6: Run, 7: Pause, 8:Limit, 9: Measuring tool offset, 10: Scan 3D, 11: Safety Idle, 12: Change Tool, 13: Safety, 14: Waiting Main Power)
ns=1;s=CNC.ActFeedrate ActFeedrate Reale La velocità di movimento attuale in mm/min
ns=1;s=CNC.ActSpeed ActSpeed Reale La velocità di rotazione attuale del mandrino in rpm

Per avere informazioni su altre variabili, o per aggiungere variabili non ancora presenti, chiedere al Team RosettaCNC.

Testare il server FTP

Il server FTP implementato dal Gateway rende accessibile la cartella di root indicata nella scheda FTP. Questa cartella è esplorabile attraverso qualunque client FTP. Suggeriamo per esempio di provare il software gratuito FileZilla, scaricabile da FileZilla Project. Le operazioni da eseguire sono le seguenti:

Guida Widget

Il Gateway implementa un server OPCUA e un server FTP che permettono l'interazione con la Board Rosetta da parte di client terzi. Il cliente attrezzato con un software di gestione della produzione (tipo MES) ha la possibilità di programmare il proprio software in modo da aprire connessioni con il Gateway e realizzare questa interazione. Nel caso non ci sia questa possibilità, il Team Rosetta CNC mette a disposizione il Widget: si tratta di software dedicato che si connette al Gateway e realizza un insieme minimo di interazioni per realizzare l'industria 4.0.

Una volta avviato, il Widget esibisce una pagina minima di informazioni e comandi eseguibili. Prima di tutto dobbiamo impostare la connessione con il Gateway. Per fare questo ci serve l'indirizzo IP del PC lo ospita. Ecco le operazioni da eseguire:

Una volta connesso, il Widget mette a disposizione le seguenti funzioni:

Appendice A: Specifiche file di log

Eventi

I file di log hanno il compito di raccogliere gli eventi in cui viene coinvolta la macchina. Si tratta di file con estensione CSV in cui ogni riga riporta i dati di un evento specifico. Vengono registrati i seguenti tipi di eventi:

Evento Codice Tipo Significato
CNC_DISCONNECTED 1 warning Disconnessione dalla Board
CNC_STATE_CHANGE 2 info Cambio di stato
CNC_PROGRAM_STARTED 3 info Programma: Avvio / Ripresa (pulsante premuto)
CNC_PROGRAM_PAUSED 4 info Programma: Pausa (pulsante premuto)
CNC_PROGRAM_CONTINUE 5 info Programma: Continua (pulsante premuto)
CNC_PROGRAM_FINISHED 6 info Programma completato
CNC_PROGRAM_ABORTED 7 warning Programma stoppato a causa di errori
CNC_PROGRAM_ABORTED_BY_USER 8 warning Programma: Stop (pulsante premuto)
CNC_ALARM 9 warning Nuovo allarme

Parametri

Ogni evento è accompagnato da alcuni parametri aggiuntivi specifici, fino a un massimo di quattro.

Evento Parametro 1 Parametro 2 Parametro 3 Parametro 4
CNC_DISCONNECTED
CNC_STATE_CHANGE Nuovo stato
CNC_PROGRAM_STARTED Nome programma Durata stimata
CNC_PROGRAM_PAUSED Nome programma
CNC_PROGRAM_CONTINUE Nome programma
CNC_PROGRAM_FINISHED Nome programma
CNC_PROGRAM_ABORTED Nome programma Codice allarme Info allarme 1 Info allarme 2
CNC_PROGRAM_ABORTED_BY_USER Nome programma
CNC_ALARM Codice allarme Info allarme 1 Info allarme 2

Il nuovo stato indica il codice numerico del nuovo stato macchina, è può essere uno tra i seguenti:

Codice Stato
-1 INVALID
0 INIT
1 INIT_FIELDBUS
2 ALARM
3 IDLE
4 HOMING
5 JOG
6 RUN
7 PAUSE
8 LIMIT
9 MEASURING_TOOL_OFFSET
10 SCAN_3D
11 SAFETY_JOG
12 CHANGE_TOOL
13 SM_SAFETY
14 SM_WAIT_MAIN_POWER
15 SM_RETRACT

Il nome programma indica il nome del file GCode attualmente in esecuzione, per esempio my_work.ngc. La durata stimata viene espressa nella forma hh:mm:ss e indica il tempo stimato per completare il programma attualmente caricato. Il codice allarme indica il codice numerico del nuovo allarme, e a seconda della situazione può essere accompagnato da due variabili informative aggiuntive info allarme 1 e info allarme 2. Per esempio nella terna 85:0:12 il codice 85 corrisponde ad un errore di probing, mentre la variabile informativa 12 indica la riga del programma GCode in cui è avvenuto l'errore. Per una lista dei possibili codici allarme si rimanda alla Wiki Rosetta.

Stampa

Ciascuna riga del file di log contiene i dati di un singolo evento, distribuiti lungo le colonne secondo il seguente schema:

Colonna Contenuto
1 Data e ora
2 Tipo evento
3 Codice evento
4 Nome evento
5 Parametro 1
6 Parametro 2
7 Parametro 3
8 Parametro 4
9 Descrizione riassuntiva

Un esempio di file di log è in seguente:

Data e ora              ; Tipo    ; Codice ; Nome                ; Parametro 1 ; Parametro 2 ; Parametro 3 ; Parametro 4 ; Descrizione
04-03-2022 15:28:46.265 ; info    ; 2      ; CNC_STATE_CHANGE    ; 0           ;             ;             ;             ; Machine state INIT
04-03-2022 15:28:46.287 ; info    ; 2      ; CNC_STATE_CHANGE    ; 3           ;             ;             ;             ; Machine state IDLE
04-03-2022 15:42:17.492 ; info    ; 2      ; CNC_STATE_CHANGE    ; 6           ;             ;             ;             ; Machine state RUN
04-03-2022 15:42:17.563 ; info    ; 3      ; CNC_PROGRAM_STARTED ; my_work.ngc ; 00:14:52    ;             ;             ; Machine state RUN, program name my_work.ngc estimated duration 00:14:52.
04-03-2022 15:45:21.745 ; info    ; 2      ; CNC_STATE_CHANGE    ; 2           ;             ;             ;             ; Machine state ALARM
04-03-2022 15:45:21.826 ; warning ; 7      ; CNC_PROGRAM_ABORTED ; my_work.ngc ; 85          ; 0           ; 76          ; Machine state ALARM, Program my_work.ngc execution aborted due to Alarm code 85:0:76.

Appendice B: Aziende senza MES

Alcune aziende non utilizzano programmi di gestione della produzione (tipo MES), nonostante ciò desiderano gestire al meglio la propria produzione. In questi casi le aziende chiedono direttamente ai costruttori della macchina utensile se possono proporre loro un programma per gestire la produzione, oppure in seconda battuta si rivolgono ad una software house esterna. Questa tipologia di programma generalmente ha una struttura base comune, su cui vengono costruite alcune pagine personalizzate in base allo specifico settore e alla tipologia di macchina. Per esempio :

I costruttori delle macchine utensili si muovono così nella direzione di fornire al propri clienti un software specifico, aiutando i propri clienti a gestire meglio la propria produzione e creando un valore aggiunto alle proprie macchine e altresì realizzando un fatturato aggiuntivo per l'azienda. La fornitura del software di aiuto alla gestione della produzione potrebbe costituire anche un fidelizzazione per l'acquisto di altri macchinari dallo stesso produttore del macchinario CNC, in quanto l'acquirente non dovrà spendere nuovamente per il software di aiuto alla gestione della produzione. Questi programmi aggiuntivi di gestione della produzione creano quindi:

Per la realizzazione di un software di gestione della produzione, il costruttore della macchina utensile può incaricare una software house dedicata, oppure chiedere al Team RosettaCNC. In qualsiasi caso, c'è la necessità che il costruttore della macchina analizzi le specificità del settore nel quale andrà poi ad operare la CNC e generi delle specifiche tecniche indispensabili per la generazione del software.