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)
- OS: Windows 10/11 (64-bit) oppure Windows Server 2019+
- CPU: Intel/AMD 64-bit, 2+ core consigliati
- RAM: Minimo 2 GB, consigliati 4 GB
- Disco: 500 MB per l'installazione + spazio per database
- Rete: Collegamento Ethernet al PLC/CNC
- Node.js: 18+ LTS (installato automaticamente dall'installer)
- MySQL: 8.x (opzionale, installato dall'installer)
- Browser: Chrome, Edge o Firefox aggiornato (per accesso alla dashboard)
Site Manager (server centralizzato)
- OS: Linux (consigliato), Windows o macOS
- Node.js: 18+ LTS
- MySQL: 8.x
- RAM: Minimo 1 GB
- Rete: IP raggiungibile dalle installazioni (pubblico o VPN)
Installazione
Avvia l'installer
Esegui RTIndustry-IIoT-Setup-4.1.0.exe come amministratore. Seleziona la lingua (italiano/inglese) e la directory di installazione.
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)
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
Inserisci l'IP della macchina
Inserisci l'indirizzo IP del PLC o CNC a cui collegarsi (es. 192.168.1.100).
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.
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.
Credenziali servizio Windows
Inserisci le credenziali dell'account Windows che eseguira' il servizio. Necessarie per accedere a cartelle di rete e aprire Explorer.
Installazione automatica
L'installer esegue automaticamente:
- Installazione Node.js (se non presente)
npm installdelle dipendenze- Installazione dipendenze UIBuilder
- Cifratura dei flussi (
encrypt-flow.js) - Importazione database MySQL (se MySQL installato)
- Registrazione servizio Windows via nssm
- Configurazione permessi NTFS
- 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) |
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:
- Aprire la dashboard
https://localhost:1880/ui - Nella sezione Configuration, modificare il campo OpcuaEndpoint
- 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 |
|---|---|---|
| Host | 127.0.0.1 | Indirizzo del server MySQL |
| Port | 3306 | Porta MySQL |
| Database | hmi | Nome del database |
| User | root | Utente MySQL |
| Password | RTIndustry@2025! | Password MySQL |
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 |
|---|---|---|
| actualFeedRateVar | Double | Velocità di avanzamento attuale |
| overrideSpeedVar | Double | Override velocità mandrino (%) |
| rapidOverrideVar | Double | Override rapido (%) |
| programNameVar | String | Nome programma in esecuzione |
| machineStatusVar | String | Stato macchina (RUNNING, IDLE, ecc.) |
| modeVar | String | Modalità (Auto, Manual, MDI) |
| counterVar | Double | Contatore pezzi |
| counterEnergyVar | Double | Contatore energia (Wh) |
| alarmNameVar | String | Nome allarme attivo |
| toolNumberVar | Double | Numero utensile corrente |
| alarmStatusVar | Boolean | Stato allarme (true/false) |
Turni di Lavoro
I turni determinano quando le metriche OEE vengono azzerate e un nuovo periodo inizia. Configurazione di default:
| Turno | Inizio | Fine |
|---|---|---|
| Turno 1 | 08:00 | 16:00 |
| Turno 2 | 16:00 | 08:00 |
I turni sono modificabili dalla dashboard /ui, sezione Configuration.
Cartelle di Rete
RTIndustry utilizza tre directory per la gestione documenti:
| Directory | Default | Uso |
|---|---|---|
| WOAttachments | {installDir}\WOAttachments | Allegati ordini di lavoro |
| WOPartPrograms | {installDir}\WOPartPrograms | Programmi pezzo (NC, ISO) |
| WOMachineDocuments | {installDir}\WOMachineDocuments | Documentazione 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
- Multiple READ — Valori letti in tempo reale dal PLC/CNC
- Configuration — Endpoint, database, variabili, turni, cartelle
- Connect — Pulsante per ricollegarsi alla macchina
- Simulation — Switch per attivare la simulazione (vedi sotto)
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:
- Requested — Ordini di lavoro in attesa
- In Progress — Ordini in lavorazione (max 1 attivo alla volta)
- Done — Ordini completati
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:
- Intestazione: ID ordine, scadenza, cliente, tempo ciclo target
- Progresso produzione: gauge radiale con pezzi buoni/totali
- Contatori: pezzi buoni (+/-) e scarti (+/-) con bottoni manuali
- Stato macchina: programma in esecuzione, invio programma a macchina
- Grafico tempi: breakdown a torta degli 8 stati macchina
- Pulsanti controllo: PLAY, PAUSE, STOP, DONE, SETUP, FAULT, MAINTENANCE, CLEANING, REWORK
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:
| Bottone | Posizione | Azione |
|---|---|---|
| ← Freccia sinistra | Basso a sinistra | Pagina precedente nella sequenza |
| Home | Basso al centro | Torna alla Kanban Board |
| Freccia destra → | Basso a destra | Pagina 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:
| Componente | Formula | Descrizione |
|---|---|---|
| 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:
- Gauge: Feed Rate, Speed Override, Rapid Override (0-100%)
- Grafico energia: Consumo energetico (Wh) con trend temporale
- Stato macchina: Programma, utensile, contatore, modalità
- Metriche totali/turno: Tempo disponibilità, pezzi attesi/prodotti/scartati, running time, energia
- Storico stati: Grafico a barre impilate (7 giorni e turno corrente)
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
- Potenza attuale (kW): calcolata dalla derivata del contatore energia, aggiornata ogni secondo
- Energia turno (kWh): consumo energetico del turno corrente
- Wh/pezzo: rapporto energia/pezzi prodotti nel turno
- Costo turno (€): calcolato con il costo per kWh configurabile in Settings
- Grafico potenza: line chart rolling 60 minuti (~3600 punti)
- Energia per stato: donut chart con breakdown Running/Idle/Paused/ecc.
- Picco potenza: valore massimo registrato con orario
- Consumo medio: media della potenza nel periodo visualizzato
Sezione Storica
- Filtri: bottoni rapidi (Oggi, 7gg, 30gg, 90gg), date picker, filtro turno
- 4 KPI: energia totale (kWh), costo totale (€), media giornaliera (kWh/gg), Wh/pezzo medio
- Consumo giornaliero: bar chart con energia in kWh per giorno
- Trend Wh/pezzo: line chart con efficienza energetica giornaliera
- Export CSV: esportazione dati giornalieri con separatore
;per Excel
Tabella Analitica (/kanban/ → Table)
La tabella mostra tutti gli ordini di lavoro con metriche di performance. Ogni riga è espandibile per mostrare il dettaglio completo:
- Tempo ciclo medio, migliore, peggiore
- Deviazione dal target (secondi)
- Breakdown MWT: Running, Paused, Stopped, Alarm, Maintenance, Cleaning, Setup, Rework
- Energia target vs. consumata, risparmio energetico %
- Trend di deviazione
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
- Filtri periodo: bottoni rapidi (Oggi, 7gg, 30gg, 90gg), date picker personalizzate e filtro per turno
- 4 KPI cards: OEE medio %, Pezzi prodotti, Scarti (con %), Energia totale (Wh)
- Grafico OEE: andamento giornaliero dell'OEE nel periodo selezionato
- Distribuzione tempi: barre impilate 100% con breakdown Running/Pausa/Idle/Allarme/Manutenzione/Setup
- Energia vs Produzione: grafico misto (barre pezzi + linea Wh/pezzo) con doppio asse Y
- Tabella WO completati: dettaglio ordini con tempo ciclo, energia/pezzo, risparmio energetico, date
- Export CSV: esportazione tabella con separatore
;e codifica UTF-8 BOM per Excel
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
- Tempo Allarme Totale — Somma delle durate di tutti gli allarmi nel periodo (ore/minuti)
- Giorni con Allarmi — Numero di giornate con almeno un evento allarme sul totale del periodo
- % Tempo in Allarme — Percentuale del tempo macchina trascorso in stato allarme (colore dinamico: verde <5%, giallo <15%, rosso ≥15%)
- Media Giornaliera — Tempo medio di allarme per giorno lavorativo
Grafici e analisi
- Trend giornaliero: grafico a barre con il tempo di allarme per giorno (minuti) e linea media annotata
- Allarme vs Produzione: grafico misto con percentuale allarme (barre) e pezzi prodotti (linea), per correlare downtime e produttività
- Distribuzione per Turno: grafico donut con la ripartizione del tempo di allarme tra i turni
Tabelle dettaglio
- Dettaglio giornaliero: tabella con paginazione e ordinamento, valori sopra media evidenziati in rosso
- Dettaglio Eventi Allarme: singoli eventi dalla tabella
alarm_events, con timestamp inizio/fine, durata e nome allarme. Durate superiori a 5 minuti evidenziate in rosso. Paginazione a 20 elementi per pagina - Export CSV: esportazione dati con separatore
;e codifica UTF-8 BOM per compatibilità Excel
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
- Connessione Site Manager — URL del server Site Manager per licenze e telemetria
- Variabili Macchina — 11 campi OPC UA/Modbus (stato macchina, modo operativo, feed rate, override, contatore pezzi, energia, ecc.)
- Mapping Status — Tabella dinamica per mappare i valori raw del PLC agli 8 stati normalizzati (RUNNING, PAUSED, IDLE, SETUP, FAULT, MAINTENANCE, CLEANING, REWORK)
- Mapping Modo Operativo — Tabella dinamica per mappare i valori raw alle modalità operative (AUTOMATIC, MDI, JOG, ecc.)
- Costo Energia — Costo per kWh in euro per il calcolo dei costi energetici nella dashboard Energy
- Contapezzi — Toggle per contare i pezzi dal passaggio allo stato FINISHED
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
- Stato connessione — Indicatore ONLINE (verde) / OFFLINE (rosso) basato sul ping periodico alla macchina
- Endpoint — URL OPC UA attuale (es.
opc.tcp://192.168.1.100:4840) - Ultimo contatto — Data e ora dell'ultima comunicazione riuscita
- Variabili configurate — Conteggio delle variabili mappate (es. 8 / 11)
Tabella valori live
La tabella mostra tutte le 11 variabili monitorate con:
| Colonna | Descrizione |
|---|---|
| Stato | Icona: verde (valore OK), giallo (null), grigio (non configurata) |
| Variabile | Nome descrittivo (Machine Status, Feed Rate, ecc.) |
| Indirizzo | Path OPC UA / Modbus configurato |
| Valore Attuale | Ultimo 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.
- Configurazione: indirizzo IP, porta TCP, Unit ID, registro Modbus, numero registri, function code (Holding/Input), fattore di scala
- Test: pulsante per verificare la connessione e leggere il valore attuale dal contatore
- Integrazione: il valore letto sovrascrive automaticamente la variabile
counterEnergynell'aggregazione dati
Simulazione
RTIndustry include una modalità simulazione che genera dati fittizi senza bisogno di una macchina reale. Utile per demo, test e formazione.
Attivazione
- Apri la dashboard
https://localhost:1880/ui - Nella sezione Multiple READ, scorri in fondo
- Attiva lo switch Simulation
Quando attiva, la simulazione genera valori casuali per tutte le variabili macchina (status, contatore pezzi, energia, allarmi).
Site Manager: Installazione Server
Prerequisiti
- Node.js 18+ LTS
- MySQL 8.x con database
rtindustry_licenses
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)
| Variabile | Default | Descrizione |
|---|---|---|
| PORT | 3000 | Porta HTTP |
| DB_HOST | 127.0.0.1 | Host MySQL |
| DB_PORT | 3306 | Porta MySQL |
| DB_USER | root | Utente MySQL |
| DB_PASSWORD | RTIndustry@2025! | Password MySQL |
| DB_NAME | rtindustry_licenses | Nome database |
| JWT_SECRET | (da personalizzare) | Segreto per token JWT |
| JWT_EXPIRES_IN | 24h | Durata token |
| ADMIN_USER | admin | Username admin iniziale |
| ADMIN_PASSWORD | admin | Password admin iniziale |
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
- Accedi al Site Manager (
http://server:3000) - Vai alla sezione Licenze
- Clicca Nuova Licenza
- Compila: nome cliente, tipo macchina, scadenza (opzionale), reseller (opzionale)
- La chiave
XXXX-XXXX-XXXX-XXXXviene generata automaticamente - Copia la chiave e forniscila al cliente per l'installazione
Grace period offline
Se il Site Manager non è raggiungibile:
- Con chiave di licenza: l'installazione continua a funzionare per 7 giorni dall'ultima validazione riuscita (o dalla data di installazione se non c'è' mai stata una validazione)
- Senza chiave di licenza: trial locale di 30 giorni dalla data di installazione
Stati licenza
| Stato | Descrizione |
|---|---|
| Active | Licenza valida, l'installazione può funzionare |
| Expired | Licenza scaduta (aggiornata automaticamente) |
| Suspended | Sospesa manualmente dall'admin |
| Revoked | Revocata 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
- Stato macchina (on/off, running/stopped)
- Pezzi prodotti (contatore cumulativo)
- Energia consumata (kWh)
- Uptime (minuti)
- Errori cumulativi
- Utilizzo CPU (%) e memoria (MB)
Dettaglio installazione
Cliccando su un'installazione si visualizzano:
- Metadati: hostname, IP, OS, versione software, fingerprint hardware
- Ultimi 20 heartbeat con timestamp e metriche
- Ultimi 20 eventi (attivazioni, errori, offline, ecc.)
Site Manager: Utenti & Ruoli
| Ruolo | Permessi |
|---|---|
| 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
- La chiave viene generata tramite PBKDF2 (100.000 iterazioni) e non viene mai salvata su disco
- I file cifrati (
flows.enc,flows_cred.enc) sono legati alla macchina — non funzionano su un altro PC - In modalità produzione, Node-RED legge
flows.enc; in sviluppo, leggeflows.json
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.
- Pallino verde: servizio in esecuzione
- Pallino giallo: avvio in corso
- Pallino rosso: servizio fermo
Menu contestuale (click destro)
- Stato servizio (informativo)
- Start / Stop / Restart Service
- Apri Kanban (browser)
- Apri Dashboard (browser)
- Mostra Log
- Disinstalla
Doppio click sull'icona apre direttamente il Kanban nel browser.
Risoluzione Problemi
Il servizio non si avvia
- Verifica che Node.js sia installato:
node --version - Verifica le dipendenze:
cd C:\RTIndustry-IIoT && npm install - Controlla i log:
nssm status NodeREDe il filetray_error.log - Verifica permessi NTFS sulla directory di installazione
Dashboard non raggiungibile
- Verifica che il servizio sia in esecuzione (pallino verde nella tray)
- Prova
https://localhost:1880/— nota l'HTTPS - Se il browser mostra errore certificato, clicca Avanzate → Procedi
- Verifica che la porta 1880 non sia occupata:
netstat -an | findstr 1880
Connessione alla macchina fallita
- Verifica che l'IP della macchina sia raggiungibile:
ping 192.168.1.100 - Verifica la porta (4840 per OPC UA, 502 per Modbus)
- Per OPC UA: verifica che il server OPC UA sia attivo sul PLC
- Per FANUC: verifica che la libreria FOCAS sia configurata correttamente
- Per Heidenhain: verifica che il DNC sia abilitato sul CNC
MySQL non si connette
- Verifica che il servizio MySQL sia in esecuzione
- Controlla credenziali nella dashboard
/ui→ Configuration - Verifica che il database
hmiesista:mysql -u root -p -e "SHOW DATABASES" - Se appena installato, il database viene importato automaticamente dall'installer
Simulazione non visibile
- La simulazione si attiva dalla dashboard
/ui, sezione Multiple READ, in fondo alla pagina - Se non appare, prova a svuotare la cache del browser (
Ctrl+Shift+R) - In produzione, assicurati che i flussi siano stati ri-cifrati dopo l'aggiunta della simulazione
Dati non aggiornati / valori vecchi
- Verifica la connessione alla macchina nella sezione Multiple READ
- Riavvia il servizio dalla System Tray
- Se il contesto globale (
global.json) è corrotto, il sistema lo ripristina automaticamente daglobal_copy.json