Documentazione RTIndustry IIoT

Guida completa all'installazione, configurazione e utilizzo della piattaforma.

Panoramica

RTIndustry IIoT è una piattaforma Industrial IoT per il monitoraggio in tempo reale di macchine CNC, PLC, macchinari e linee di produzione. Si installa direttamente sul PC collegato alla macchina e fornisce dashboard, gestione ordini di lavoro e calcolo OEE automatico.

Componenti del Sistema

Componente Descrizione
RTIndustry IIoT Applicazione locale installata su ogni postazione. Si collega alla macchina CNC/PLC e mostra i dati su dashboard web.
Site Manager Server centralizzato per gestire licenze, monitorare installazioni e raccogliere telemetria da tutte le macchine.
System Tray Applicazione nella barra di sistema Windows per avviare/fermare il servizio e accedere alla dashboard.

Protocolli Supportati

Protocollo Macchine Note
OPC UA PLC Siemens, Beckhoff, Alleantia, B&R e qualsiasi con server OPC UA Porta default: 4840
Modbus TCP PLC e dispositivi industriali con Modbus TCP Porta default: 502
FANUC FOCAS CNC FANUC (serie 0i, 15i, 16i, 30i, ecc.) Tramite fanuc.exe + librerie FOCAS
Heidenhain DNC CNC Heidenhain TNC Tramite HeidenhainService.exe via COM

Requisiti di Sistema

RTIndustry IIoT (per macchina)

Site Manager (server centralizzato)

Installazione

Nota
L'installer è un eseguibile Windows generato con Inno Setup 6. Richiede privilegi di amministratore.
1

Avvia l'installer

Esegui RTIndustry-IIoT-Setup-4.1.0.exe come amministratore. Seleziona la lingua (italiano/inglese) e la directory di installazione.

2

Seleziona i componenti

I componenti disponibili sono:

  • RTIndustry IIoT (obbligatorio) — l'applicazione principale
  • MySQL Server 8.0 — database locale (consigliato)
  • 7-Zip — archiviatore (opzionale)
  • Notepad++ — editor di testo (opzionale)
  • MySQL Workbench — gestione database (opzionale)
3

Configura il tipo di macchina

Seleziona il protocollo di comunicazione per la tua macchina:

  • OPC UA — per PLC con server OPC UA (Siemens, Beckhoff, Alleantia, ecc.)
  • FANUC FOCAS — per CNC FANUC
  • Heidenhain DNC — per CNC Heidenhain
  • Modbus TCP — per PLC con protocollo Modbus
HMI Operatore RTIndustry
4

Inserisci l'IP della macchina

Inserisci l'indirizzo IP del PLC o CNC a cui collegarsi (es. 192.168.1.100).

5

Nome cliente e chiave di licenza

Inserisci un nome identificativo per l'installazione (es. ACME_SpA) e la chiave di licenza fornita dal rivenditore. La chiave è opzionale — senza chiave, il sistema parte con un trial locale di 30 giorni.

6

Dati di contatto e Site Manager

Inserisci i dati di contatto (email, referente, telefono, codice reseller) e l'URL del Site Manager. Questi campi sono opzionali — il sistema funziona anche completamente offline.

7

Credenziali servizio Windows

Inserisci le credenziali dell'account Windows che eseguira' il servizio. Necessarie per accedere a cartelle di rete e aprire Explorer.

Importante
L'account deve avere permessi di lettura/scrittura sulle cartelle di rete utilizzate per Part Programs e documenti macchina.
8

Installazione automatica

L'installer esegue automaticamente:

  1. Installazione Node.js (se non presente)
  2. npm install delle dipendenze
  3. Installazione dipendenze UIBuilder
  4. Cifratura dei flussi (encrypt-flow.js)
  5. Importazione database MySQL (se MySQL installato)
  6. Registrazione servizio Windows via nssm
  7. Configurazione permessi NTFS
  8. Avvio del servizio

Questo processo può richiedere 10-15 minuti per il download delle dipendenze npm.

Primo Avvio

Dopo l'installazione, il servizio RTIndustry si avvia automaticamente. Verifica lo stato tramite l'icona nella system tray (barra di sistema).

Accesso alla Dashboard

Interfaccia URL Descrizione
Landing Page https://localhost:1880/ Pagina iniziale con navigazione
Kanban / HMI https://localhost:1880/kanban/ Interfaccia operatore principale
Dashboard https://localhost:1880/ui Dashboard Node-RED con configurazione
Editor https://localhost:1880/admin Solo in modalità sviluppo (admin/admin)
Certificato HTTPS
RTIndustry usa certificati HTTPS self-signed. Il browser mostrerà un avviso di sicurezza al primo accesso. Clicca su "Avanzate" → "Procedi" per continuare.

Connessione Macchina

La connessione alla macchina viene configurata durante l'installazione. Per modificarla successivamente, accedere alla dashboard /ui e trovare la sezione Configuration.

OPC UA

L'endpoint OPC UA viene impostato nel formato opc.tcp://IP:4840. Per modificare:

  1. Aprire la dashboard https://localhost:1880/ui
  2. Nella sezione Configuration, modificare il campo OpcuaEndpoint
  3. Premere CONNECT

Modbus TCP

L'endpoint Modbus viene impostato come IP:502. La pipeline Modbus legge automaticamente i registri configurati e li converte nei formati appropriati (String, Number, Boolean).

FANUC FOCAS

La connessione FANUC utilizza l'eseguibile fanuc.exe con l'IP della macchina come parametro. Il percorso completo viene costruito automaticamente.

Heidenhain DNC

La connessione Heidenhain utilizza HeidenhainService.exe con IP, porta (default 19000) e tipo CNC (default TNC6XX).

Database MySQL

RTIndustry utilizza MySQL per persistere gli ordini di lavoro, lo storico produzioni e le configurazioni.

Configurazione

I parametri di connessione si impostano dalla dashboard /ui, sezione Configuration:

Parametro Default Descrizione
Host127.0.0.1Indirizzo del server MySQL
Port3306Porta MySQL
DatabasehmiNome del database
UserrootUtente MySQL
PasswordRTIndustry@2025!Password MySQL
Auto-configurazione
Al primo avvio, i campi vengono auto-popolati dai valori salvati nel contesto globale. Se MySQL è installato localmente con i valori di default, la connessione si stabilisce automaticamente.

Variabili OPC UA

RTIndustry legge 11 variabili dal PLC/CNC. I namespace address (es. ns=2;s=G_96_200053) vengono configurati dalla dashboard e salvati nel contesto globale.

Variabile Tipo Descrizione
actualFeedRateVarDoubleVelocità di avanzamento attuale
overrideSpeedVarDoubleOverride velocità mandrino (%)
rapidOverrideVarDoubleOverride rapido (%)
programNameVarStringNome programma in esecuzione
machineStatusVarStringStato macchina (RUNNING, IDLE, ecc.)
modeVarStringModalità (Auto, Manual, MDI)
counterVarDoubleContatore pezzi
counterEnergyVarDoubleContatore energia (Wh)
alarmNameVarStringNome allarme attivo
toolNumberVarDoubleNumero utensile corrente
alarmStatusVarBooleanStato allarme (true/false)

Turni di Lavoro

I turni determinano quando le metriche OEE vengono azzerate e un nuovo periodo inizia. Configurazione di default:

TurnoInizioFine
Turno 108:0016:00
Turno 216:0008:00

I turni sono modificabili dalla dashboard /ui, sezione Configuration.

Cartelle di Rete

RTIndustry utilizza tre directory per la gestione documenti:

DirectoryDefaultUso
WOAttachments{installDir}\WOAttachmentsAllegati ordini di lavoro
WOPartPrograms{installDir}\WOPartProgramsProgrammi pezzo (NC, ISO)
WOMachineDocuments{installDir}\WOMachineDocumentsDocumentazione macchina

Queste directory possono essere sostituite con percorsi di rete (es. \\server\share\WOAttachments) dalla dashboard. Il servizio Windows deve avere permessi di lettura/scrittura sulla share di rete.

Dashboard (/ui)

La dashboard classica Node-RED (https://localhost:1880/ui) contiene le pagine di configurazione e il pannello Multiple READ che mostra lo stato della connessione e i valori letti dalla macchina.

Sezioni principali

Kanban & HMI (/kanban/)

Il Kanban è l'interfaccia principale per gli operatori. Si accede da https://localhost:1880/kanban/ o dal collegamento sul desktop.

Kanban Board

La board mostra tre colonne:

Per creare un nuovo ordine, clicca il pulsante +. Per spostare un ordine, trascinalo nella colonna desiderata.

HMI Operatore

Cliccando su un ordine in lavorazione si apre l'HMI a schermo intero con:

Suggerimento
Premendo PLAY su un ordine, tutti gli altri ordini in lavorazione vengono automaticamente messi in pausa. Un solo ordine può essere attivo alla volta.

Navigazione tra Dashboard

Dalla Kanban Board, 6 bottoni floating in basso a destra danno accesso diretto a tutte le pagine di analisi: Telemetria, Tabella WO, Storico/Report, Energy, Allarmi e Configurazione.

All'interno di ogni pagina, tre bottoni fissi in basso permettono di navigare senza tornare alla board:

BottonePosizioneAzione
← Freccia sinistraBasso a sinistraPagina precedente nella sequenza
HomeBasso al centroTorna alla Kanban Board
Freccia destra →Basso a destraPagina successiva nella sequenza

La sequenza completa è:

Kanban ← Telemetry → OEE → Energy → Report → Alarms → Table → Kanban

La pagina Settings (Configurazione) è accessibile dalla board ma non fa parte della sequenza circolare, avendo solo il bottone indietro e home verso la Kanban Board.

OEE (/kanban/ → OEE)

La pagina OEE mostra i tre componenti dell'Overall Equipment Effectiveness:

ComponenteFormulaDescrizione
Disponibilità Running / (Running + Paused + Maint. + Fault) Quanto tempo la macchina è produttiva
Efficienza (Tempo Target x Quantità) / Tempo Effettivo Velocità rispetto al target
Qualità Pezzi Buoni / Pezzi Totali Percentuale di pezzi conformi
OEE Disponibilità x Efficienza x Qualità Efficienza complessiva dell'impianto

I valori sono calcolati automaticamente dai dati macchina e mostrati sia per il turno corrente che come totale.

Telemetria (/kanban/ → Telemetry)

La pagina Telemetria mostra i dati tecnici della macchina in tempo reale:

Energy Dashboard (/kanban/ → Energy)

La pagina Energy Dashboard fornisce un monitoraggio energetico completo, con una sezione real-time e una sezione storica. La potenza istantanea è calcolata come derivata del contatore energia (dE/dt).

Sezione Real-time

Sezione Storica

Configurazione
Il costo per kWh è configurabile nella pagina Settings (sezione "Costo Energia"). Il valore predefinito è 0.25 €/kWh. La pagina Energy è accessibile anche senza licenza attiva.

Tabella Analitica (/kanban/ → Table)

La tabella mostra tutti gli ordini di lavoro con metriche di performance. Ogni riga è espandibile per mostrare il dettaglio completo:

Storico e Report (/kanban/ → Report)

La pagina Storico permette di analizzare i dati di produzione su periodi selezionabili, con KPI aggregati, grafici di trend e dettaglio degli ordini completati.

Funzionalità principali

Nota
I dati vengono recuperati da MySQL con un pattern request-response (diverso dal push in tempo reale delle altre pagine). La pagina è accessibile anche senza licenza attiva. Per il manuale completo, consulta la sezione Storico e Report nel Manuale Kanban.

Storico Allarmi (/kanban/ → Alarms)

La pagina Storico Allarmi permette di analizzare in dettaglio gli eventi di allarme della macchina su periodi selezionabili, con KPI aggregati, trend giornalieri, distribuzione per turno e dettaglio dei singoli eventi.

KPI e metriche

Grafici e analisi

Tabelle dettaglio

Nota
Gli eventi allarme vengono catturati automaticamente quando lo stato macchina esce da ALLARMED, con soglia minima di 5 secondi per filtrare il rumore del polling. La pagina è accessibile anche senza licenza attiva.

Configurazione Macchina (/kanban/ → Settings)

La pagina Settings permette di configurare le variabili di comunicazione con la macchina, i mapping degli stati e il collegamento al Site Manager — tutto da interfaccia web, senza modificare file di configurazione.

Sezioni

Accessibilità
La pagina Settings è accessibile anche durante il periodo di prova e senza licenza attiva, per permettere la configurazione iniziale del sistema.

Test Connessione (/kanban/ → Settings)

La sezione Test Connessione, posizionata in cima alla pagina Settings, permette di verificare lo stato della comunicazione con la macchina CNC/PLC senza uscire dall'interfaccia di configurazione.

Informazioni visualizzate

Tabella valori live

La tabella mostra tutte le 11 variabili monitorate con:

ColonnaDescrizione
StatoIcona: verde (valore OK), giallo (null), grigio (non configurata)
VariabileNome descrittivo (Machine Status, Feed Rate, ecc.)
IndirizzoPath OPC UA / Modbus configurato
Valore AttualeUltimo valore letto dalla macchina

Come funziona

Premendo il pulsante Aggiorna, il sistema legge i dati dal contesto globale di Node-RED (aggiornato ogni 10 secondi dal ciclo di lettura e ogni 60 secondi dal ping). Non viene effettuata una connessione OPC UA on-demand — i dati sono quelli dell'ultimo ciclo di polling.

Contatore Energia (Modbus TCP)

La sezione Contatore Energia, posizionata sotto il Test Connessione, permette di configurare un lettore Modbus TCP dedicato per il contatore energetico. Questa lettura è indipendente dal protocollo CNC (OPC UA, FANUC, Heidenhain) e rimane sempre attiva.

Suggerimento
Utilizzare il Test Connessione dopo aver modificato le variabili macchina per verificare che i nuovi indirizzi OPC UA / Modbus restituiscano valori corretti. Se una variabile mostra "null", controllare che il path sia corretto e che il server OPC UA sia raggiungibile.

Simulazione

RTIndustry include una modalità simulazione che genera dati fittizi senza bisogno di una macchina reale. Utile per demo, test e formazione.

Attivazione

  1. Apri la dashboard https://localhost:1880/ui
  2. Nella sezione Multiple READ, scorri in fondo
  3. Attiva lo switch Simulation

Quando attiva, la simulazione genera valori casuali per tutte le variabili macchina (status, contatore pezzi, energia, allarmi).

Nota
La simulazione disattiva automaticamente la lettura dal PLC/CNC reale. Disattivala prima di collegare una macchina.

Site Manager: Installazione Server

Prerequisiti

Installazione

# Clona o copia i file del Site Manager
cd C:\rtindustry_site_manager

# Installa dipendenze
npm install

# Crea il database
mysql -u root -p < sql/001_schema.sql

# Configura le variabili d'ambiente
# Copia .env.example in .env e modifica i valori
copy .env.example .env

# Avvia
npm start

Variabili d'ambiente (.env)

VariabileDefaultDescrizione
PORT3000Porta HTTP
DB_HOST127.0.0.1Host MySQL
DB_PORT3306Porta MySQL
DB_USERrootUtente MySQL
DB_PASSWORDRTIndustry@2025!Password MySQL
DB_NAMErtindustry_licensesNome database
JWT_SECRET(da personalizzare)Segreto per token JWT
JWT_EXPIRES_IN24hDurata token
ADMIN_USERadminUsername admin iniziale
ADMIN_PASSWORDadminPassword admin iniziale
Sicurezza
In produzione, cambia JWT_SECRET, ADMIN_PASSWORD e DB_PASSWORD con valori sicuri. Configura HTTPS tramite reverse proxy (nginx/Apache).

Site Manager: Gestione Licenze

Le licenze controllano l'autorizzazione di ogni installazione RTIndustry.

Trial locale (30 giorni)

Ogni nuova installazione funziona automaticamente per 30 giorni senza bisogno di una chiave di licenza né di connessione al Site Manager. Il periodo di prova parte dalla data di installazione e offre accesso completo a tutte le funzionalità.

Se il Site Manager è configurato, il sistema tenta un auto-provisioning: richiede automaticamente una licenza trial al server. Se il server non è raggiungibile, il trial locale garantisce comunque il funzionamento.

Creare una licenza

  1. Accedi al Site Manager (http://server:3000)
  2. Vai alla sezione Licenze
  3. Clicca Nuova Licenza
  4. Compila: nome cliente, tipo macchina, scadenza (opzionale), reseller (opzionale)
  5. La chiave XXXX-XXXX-XXXX-XXXX viene generata automaticamente
  6. Copia la chiave e forniscila al cliente per l'installazione

Grace period offline

Se il Site Manager non è raggiungibile:

Stati licenza

StatoDescrizione
ActiveLicenza valida, l'installazione può funzionare
ExpiredLicenza scaduta (aggiornata automaticamente)
SuspendedSospesa manualmente dall'admin
RevokedRevocata permanentemente

Site Manager: Monitoraggio

Ogni installazione RTIndustry invia heartbeat periodici al Site Manager. Se un dispositivo non invia heartbeat per più di 5 minuti, viene marcato come offline. Se un dispositivo resta offline per oltre 7 giorni, viene classificato come irraggiungibile e genera un alert automatico nel log eventi.

Dashboard

La dashboard del Site Manager mostra cards statistiche cliccabili (licenze attive, installazioni online/offline, eventi recenti). Cliccando su una card si naviga alla sezione corrispondente con il filtro pre-impostato. Una card dedicata segnala le installazioni irraggiungibili da oltre 7 giorni. L'interfaccia è completamente responsive con menu hamburger su dispositivi mobili.

Dati raccolti per ogni heartbeat

Dettaglio installazione

Cliccando su un'installazione si visualizzano:

Site Manager: Utenti & Ruoli

RuoloPermessi
Admin Accesso completo: licenze, installazioni, utenti, eventi. Puo' assegnare licenze ai reseller.
Reseller Vede solo le licenze e installazioni assegnate a lui. Non gestisce utenti.
Viewer Sola lettura su tutto. Non può modificare nulla.

Cifratura Flussi

I flussi Node-RED contengono tutta la logica di business. RTIndustry li cifra con AES-256 usando una chiave derivata dall'hardware della macchina (MAC address, hostname, Windows Product ID).

Come funziona

Ri-cifratura dopo modifiche

# Dopo aver modificato i flussi in modalità sviluppo:
node encrypt-flow.js

# (opzionale) Elimina i file in chiaro:
del flows.json
del flows_cred.json

# Riavvia in produzione
set NR_PRODUCTION=true
# oppure riavvia il servizio Windows

Servizio Windows

RTIndustry viene eseguito come servizio Windows tramite nssm (Non-Sucking Service Manager).

Gestione del servizio

# Stato
nssm status NodeRED

# Avvio / Stop / Riavvio
nssm start NodeRED
nssm stop NodeRED
nssm restart NodeRED

# Oppure dalla System Tray: click destro > Start/Stop/Restart

Modalità produzione vs. sviluppo

# Produzione (editor disabilitato, flussi cifrati)
set NR_PRODUCTION=true
node-red --userDir "C:\RTIndustry-IIoT" --settings "C:\RTIndustry-IIoT\settings.js"

# Sviluppo (editor attivo, flussi in chiaro)
set NR_PRODUCTION=false
node-red --userDir "C:\RTIndustry-IIoT" --settings "C:\RTIndustry-IIoT\settings.js"

System Tray

L'icona RTIndustry nella barra di sistema fornisce accesso rapido al servizio e alla dashboard.

Menu contestuale (click destro)

Doppio click sull'icona apre direttamente il Kanban nel browser.

Risoluzione Problemi

Il servizio non si avvia

Dashboard non raggiungibile

Connessione alla macchina fallita

MySQL non si connette

Simulazione non visibile

Dati non aggiornati / valori vecchi