01 Il Processo — Trattamento Acque Potabili
Un impianto di potabilizzazione trasforma acqua grezza (da sorgente, lago o falda) in acqua conforme al D.Lgs. 31/2001, recepimento della Direttiva europea 98/83/CE. Il processo si articola in quattro stadi sequenziali, ciascuno con propri parametri critici da monitorare e controllare in continuo: qualità dell'acqua, portate, dosaggi chimici e stato degli equipaggiamenti.
Le variabili di processo monitorate in continuo dal sistema SCADA includono:
- Portata: misuratori elettromagnetici a ogni stazione di pompaggio (±0.3% FS)
- Torbidità: sensori nefelometrici in uscita dai filtri — target < 1 NTU
- pH: elettrodi combinati in ingresso, post-coagulazione e distribuzione — target 6.5–8.5
- Cloro residuo: analizzatori amperometrici in uscita — target 0.2–0.5 mg/L
- Conducibilità, temperatura e pressione su tutti i tratti principali
Il dosaggio di cloro è il parametro più critico per la sicurezza: in difetto si rischia contaminazione microbiologica, in eccesso si formano trialometani (THM) cancerogeni. Il controllo in feedback sul cloro residuo è il loop più importante dell'intero impianto.
02 Architettura del Sistema
2.1 Piramide ISA-95
Il sistema segue la classica architettura ISA-95 su tre livelli. Il principio guida è il fail-safe locale: ogni PLC di sezione opera in autonomia completa anche in assenza di connettività con il livello SCADA, garantendo la continuità del processo.
2.2 Stack Software
03 Programmazione PLC — IEC 61131-3
Il software PLC è strutturato in modo modulare: ogni componente fisico (pompa, valvola, dosatore, filtro) corrisponde a un Function Block (FB) riutilizzabile con interfaccia standardizzata. Le logiche di sicurezza e interblocco sono in Ladder Diagram (LD); i loop di controllo, le sequenze e i calcoli analitici sono in Structured Text (ST).
Il loop di controllo del cloro residuo — il più critico — è implementato in ST con PID anti-windup a clamping condizionale:
// PID Dosaggio Cl₂ — Structured Text (IEC 61131-3) // Campionamento: Ts = 500 ms (limite analizzatore amperometrico) error := Cl2_setpoint - Cl2_residuo_misurato; // Anti-windup: clamping condizionale // Integra solo se la pompa non è satura O se l'errore riduce il windup IF NOT (pump_saturated AND error * integral > 0) THEN integral := integral + Ki * error * Ts; END_IF; output := Kp * error + integral - Kd * (error - prev_error) / Ts; output := LIMIT(pump_min, output, pump_max); pump_speed_ref := output; prev_error := error;
La struttura fail-safe impone che in caso di perdita della comunicazione con lo SCADA, ogni PLC continui ad eseguire il suo programma locale con i parametri di riferimento nominali. Il sistema SCADA ha diritto di scrittura sui setpoint, ma non è in the control loop critico.
04 Interfaccia HMI — Ignition 8.x
La piattaforma scelta è Ignition 8.x (Inductive Automation) per la sua architettura web-based, scalabilità illimitata dei tag e piena conformità ISA. Le schermate sono organizzate in una gerarchia navigabile con drill-down contestuale.
Le schermate sviluppate coprono:
- Overview P&ID: vista animata dell'intero impianto con stato valvole, pompe e flusso acqua
- Stazione di pompaggio: portate, pressioni, ore di marcia, velocità inverter, curva pompa vs. punto di lavoro
- Sezione chimica: trend dosaggi, livelli serbatoi reagenti, calcolo consumo specifico g/m³
- Qualità acqua: trend storico parametri analitici, bande di conformità normativa, report automatici
- Filtri: ciclo filtrazione/backwash, contropressione, perdita di carico, previsione pulizia
- Energy dashboard: consumo per sezione, costo specifico €/m³, efficienza pompe (curva η)
05 Gestione Allarmi — ISA-18.2
Il sistema di allarmi è progettato secondo la norma ISA-18.2. Ogni allarme è documentato in un Alarm Rationalization Record che ne definisce causa, effetto, priorità, soglia e azione attesa dell'operatore. L'obiettivo è evitare l'alarm flooding che compromette la sicurezza dell'impianto.
Target ISA-18.2: < 1 allarme/operatore/10 min in condizioni normali; < 10 allarmi/operatore/10 min in condizioni disturbate. Al di sopra di questi limiti si parla di alarm flood, che può portare l'operatore a ignorare allarmi critici.
| Tag | Descrizione | Soglia | Priorità | Azione automatica |
|---|---|---|---|---|
| AI-301 | Cloro residuo basso | < 0.15 mg/L | CRITICAL | Aumento dosaggio + notifica |
| AI-302 | Torbidità uscita alta | > 1.0 NTU | CRITICAL | Bypass + backwash forzato |
| PI-101 | Pressione pompa bassa | < 1.5 bar | WARNING | Avvio pompa di riserva |
| LI-501 | Serbatoio Cl₂ basso | < 15 % | WARNING | Ordine rifornimento automatico |
| AI-101 | pH fuori range | < 6.5 o > 8.5 | CRITICAL | Stop distribuzione + correzione pH |
| DI-200 | Guasto comunicazione PLC | Timeout > 5 s | INFO | Fallback a controllo locale |
06 Protocolli di Comunicazione
07 Cybersecurity — IEC 62443
Gli impianti idrici sono infrastrutture critiche ai sensi della Direttiva NIS2. Il progetto implementa i principi della norma IEC 62443 per la sicurezza dei sistemi di controllo industriale, con un target di Security Level SL-2: protezione da attaccanti con risorse medie e motivazione elevata.
- Segmentazione di rete: rete OT fisicamente separata dalla rete IT tramite DMZ con firewall industriale. Nessun accesso diretto da internet alla rete di campo.
- Defense in depth: whitelist applicativa sui PLC, patch management programmato, rilevamento anomalie con Claroty/Nozomi.
- Gestione accessi RBAC: quattro ruoli (operatore, ingegnere di processo, manutentore, amministratore) con log immutabile di tutte le azioni.
- Backup e ripristino: backup automatico di programmi PLC e configurazioni SCADA. RTO < 4 ore in caso di incidente.
Il Security Level SL-2 (IEC 62443-3-3) è il livello minimo raccomandato per infrastrutture idriche critiche. Il rispetto di questo livello è diventato un requisito cogente in molti paesi europei dopo le estensioni della Direttiva NIS2 al settore idrico.
08 Risultati e KPI di Progetto
| KPI | Target | Risultato | Note |
|---|---|---|---|
| Disponibilità sistema SCADA | > 99.5 % | 99.7 % | Hot standby server |
| Allarmi / operatore / 10 min | < 1 (normale) | 0.6 | ISA-18.2 compliant |
| Qualità acqua distribuita | 100 % conforme | 100 % | D.Lgs. 31/2001 |
| Latenza loop di controllo | < 100 ms | ~35 ms | OPC-UA ottimizzato |
| Riduzione consumi chimici | > 10 % | 14 % | PID adattivo Cl₂ |
| Riduzione consumo energetico | > 8 % | 11 % | Inverter + scheduling pompe |
| MTTR (rilevato → riparato) | < 4 ore | 2.1 ore | Diagnostica HART |
L'integrazione SCADA con diagnostica HART e controllo adattivo ha ridotto simultaneamente i costi operativi (−14% chimici, −11% energia) e il rischio di non conformità normativa. Il ROI stimato è di 18–24 mesi su un impianto reale di medie dimensioni.
09 Download — File di Progetto
Il progetto è sviluppato in collaborazione con Samuele Galbiati. I file sorgente comprendono i programmi PLC in TIA Portal, la configurazione Ignition SCADA e la documentazione tecnica completa. I file sono disponibili nel repository GitHub del progetto.