Vai al contenuto

Costruire sistemi di automazione industriale resilienti e sicuri

Building Resilient and Secure Industrial Automation Systems

Dal controllo incentrato sui PLC all'automazione definita dal software

L'automazione industriale sta superando il modello tradizionale basato su PLC dedicati, microcontrollori e macchine a funzione fissa. I sistemi moderni combinano sempre più il controllo basato su PLC con MPU e SoC ad alte prestazioni per gestire HMI, visione artificiale, analisi edge, connettività, gemelli digitali e carichi di lavoro di IA.

Questa evoluzione non rende obsolete le architetture di controllo tradizionali. Al contrario, crea un'architettura a livelli in cui i PLC possono continuare a gestire il controllo deterministico a livello di campo, mentre piattaforme di calcolo ad alte prestazioni eseguono funzioni di supervisione, analisi, visualizzazione e IA.

Dal punto di vista ingegneristico, la questione importante non consiste semplicemente nell'aggiungere capacità di calcolo. La vera sfida è garantire che questi carichi di lavoro aggiuntivi non possano compromettere la temporizzazione, la disponibilità o l'integrità delle funzioni di controllo consolidate.

La Physical AI introduce una nuova sfida per l'automazione

L'introduzione della Physical AI rende l'architettura del sistema più complessa, perché le informazioni generate dall'IA possono influenzare le apparecchiature fisiche e le decisioni operative.

Un modello di IA può identificare una condizione anomala della macchina, rilevare un'anomalia visiva, supportare un'ispezione predittiva o individuare una condizione relativa all'operatore. Tuttavia, il risultato di un'inferenza dell'IA è solo una parte della catena di automazione completa.

Il sistema deve comunque acquisire le informazioni dai sensori, eseguire il modello di IA, convalidare il contesto operativo, applicare politiche di controllo predefinite e comunicare la condizione risultante all'applicazione o all'operatore appropriato.

A mio avviso, l'IA industriale dovrebbe quindi essere considerata un carico di lavoro di supporto alle decisioni o di risposta controllata, piuttosto che un livello di intelligenza isolato. La piattaforma di automazione circostante determina se le informazioni generate dall'IA possono essere elaborate e utilizzate entro i limiti temporali e di sicurezza richiesti.

I carichi di lavoro a criticità mista richiedono un vero isolamento

I moderni processori multicore consentono di consolidare funzioni che in precedenza richiedevano piattaforme hardware separate. Oggi un singolo sistema informatico può ospitare il controllo hard real-time, i servizi HMI, le reti, la diagnostica, la registrazione degli eventi, la visione artificiale, l'analisi dei dati e l'inferenza dell'IA.

Questi carichi di lavoro non hanno requisiti identici.

Un'attività di controllo hard real-time può avere una scadenza di esecuzione rigorosa. Un'HMI può tollerare caratteristiche temporali diverse, mentre un processo di inferenza dell'IA può richiedere notevoli risorse della CPU. Anche i servizi di rete introducono percorsi di comunicazione esterni che non dovrebbero avere accesso illimitato alle risorse critiche.

Di conseguenza, collocare semplicemente più applicazioni su un processore multicore non crea automaticamente un'architettura resiliente.

L'ambiente operativo deve fornire meccanismi per la separazione temporale, la protezione della memoria, il controllo delle risorse e il contenimento dei guasti.

Il consolidamento hardware non equivale alla resilienza

Il consolidamento hardware può ridurre il numero di piattaforme di elaborazione, semplificare il cablaggio e aumentare l'integrazione. Tuttavia, crea anche un potenziale punto comune di guasto.

Se carichi di lavoro non correlati condividono lo stesso processore e lo stesso ambiente operativo, un driver difettoso, un'applicazione fuori controllo, un errore di memoria o un servizio compromesso potrebbero influire sulle altre funzioni, a meno che l'architettura software non stabilisca confini adeguati.

Questa è una delle considerazioni più importanti nella modernizzazione dell'automazione legacy.

L'obiettivo non dovrebbe essere semplicemente collocare più funzioni su un numero inferiore di processori. L'obiettivo è consolidare i carichi di lavoro senza creare dipendenze inaccettabili tra loro.

Il sistema operativo diventa un livello di applicazione delle regole

In un'architettura di automazione definita dal software, il sistema operativo non è più semplicemente una piattaforma sulla quale vengono eseguite le applicazioni.

Determina come vengono pianificati i processi, come viene protetta la memoria, come si accede alle risorse hardware e come i singoli servizi interagiscono tra loro. Questi meccanismi influenzano direttamente la capacità del sistema di continuare a funzionare quando un singolo componente si guasta.

Un'architettura resiliente dovrebbe quindi essere in grado di isolare un servizio guasto e, quando la progettazione del sistema lo consente, ripristinarlo senza riavviare le applicazioni non correlate.

Questo approccio è particolarmente rilevante per i sistemi industriali, nei quali il riavvio completo del sistema può interrompere le operazioni di controllo, visualizzazione, comunicazione o produzione.

Perché l'architettura a microkernel è importante

Un sistema operativo monolitico convenzionale colloca generalmente numerosi servizi, driver, filesystem e componenti di rete all'interno di un ambiente kernel altamente privilegiato.

Un microkernel adotta un approccio architetturale diverso. Mantiene nel kernel un insieme più ridotto di funzioni fondamentali, consentendo al contempo a numerosi driver, stack di protocolli, filesystem e servizi di sistema di essere eseguiti come processi separati in spazi di indirizzamento protetti.

Per l'automazione industriale, questa architettura può offrire diverse proprietà utili:

  • Contenimento dei guasti: un driver o un servizio difettoso può essere isolato dai processi non correlati.
  • Ripristino controllato: i singoli servizi possono essere riavviati senza dover necessariamente riavviare l'intero sistema.
  • Riduzione del codice privilegiato: un numero minore di componenti deve operare con i privilegi di sistema più elevati.
  • Isolamento della memoria: gli spazi di indirizzamento protetti aiutano a impedire che un'applicazione interferisca direttamente con un'altra.
  • Supporto per criticità miste: le attività di controllo in tempo reale possono coesistere con carichi di lavoro HMI, di rete, di analisi e di IA.
  • Manutenzione durante il ciclo di vita: i servizi modulari possono semplificare la manutenzione e gli aggiornamenti a livello di componente.

Un microkernel non elimina i difetti del software né le vulnerabilità di cybersecurity. Il suo valore risiede nella definizione di confini architetturali in grado di limitare le conseguenze di singoli guasti o compromissioni.

Il determinismo in tempo reale rimane un requisito fondamentale

La modernizzazione industriale non dovrebbe consentire che i requisiti dell'IA e dell'elaborazione ad alte prestazioni mettano in secondo piano i requisiti del controllo deterministico.

Per le applicazioni di controllo, la questione non riguarda semplicemente la potenza di elaborazione disponibile. Il sistema deve inoltre garantire un comportamento di scheduling prevedibile e caratteristiche di risposta delimitate per le funzioni con requisiti temporali definiti.

Ciò è particolarmente importante quando i carichi di lavoro di IA o analisi consumano risorse di calcolo significative.

A mio avviso, pertanto, l'architettura pratica non consiste nella «sostituzione del controllo con l'IA», bensì nel funzionamento del controllo deterministico accanto a un'intelligenza di livello superiore, entro limiti di risorse controllati.

La cybersecurity deve estendersi a tutto il ciclo di vita del prodotto

L'isolamento tecnico è solo una parte della cyber-resilienza.

I produttori industriali hanno inoltre bisogno di processi per identificare i componenti software, monitorare le vulnerabilità, convalidare gli aggiornamenti, controllare la distribuzione del software e mantenere i prodotti per tutta la loro vita operativa.

La serie ISA/IEC 62443 fornisce un framework orientato al ciclo di vita, specificamente rilevante per i sistemi di automazione e controllo industriale. Altri standard, tra cui ISO/SAE 21434, dimostrano come una gestione strutturata dei rischi di cybersecurity possa estendersi dallo sviluppo fino all'esercizio, alla manutenzione e alla dismissione.

Anche il Cyber Resilience Act europeo accresce l'importanza della gestione della cybersecurity durante l'intero ciclo di vita dei prodotti che rientrano nel suo ambito di applicazione.

Per i produttori di apparecchiature industriali, ciò significa che la cybersecurity non può essere ragionevolmente considerata un'attività di certificazione da svolgere nella fase finale. La composizione del software, la risposta alle vulnerabilità, i meccanismi di aggiornamento, la gestione dei fornitori e la manutenzione del prodotto devono essere presi in considerazione durante lo sviluppo del sistema.

L'architettura di sicurezza deve supportare il ripristino, non solo la prevenzione

Le discussioni tradizionali sulla cybersicurezza si concentrano spesso sulla prevenzione degli accessi non autorizzati. La resilienza industriale richiede una prospettiva più ampia.

Un componente compromesso o difettoso può comunque verificarsi nonostante i controlli preventivi. L'architettura deve quindi limitare la capacità del componente di influire sulle funzioni critiche e fornire un percorso di ripristino definito.

Questo definisce tre obiettivi ingegneristici complementari:

  1. Prevenire comportamenti non autorizzati o non intenzionali.
  2. Contenere i guasti e i componenti compromessi.
  3. Ripristinare i servizi interessati mantenendo operative le funzioni non interessate.

Per l'automazione industriale, questa combinazione è più pratica che affidarsi esclusivamente alla prevenzione.

QNX come piattaforma di base in tempo reale

QNX fornisce un'architettura di sistema operativo basata su microkernel hard real-time, destinata a sistemi in cui sono importanti un'esecuzione prevedibile, l'isolamento dei processi e un accesso controllato alle risorse.

All'interno di un'architettura di automazione industriale, QNX può fornire l'ambiente di esecuzione di base per applicazioni, driver, stack di protocolli e filesystem operanti in spazi di indirizzamento protetti. La pianificazione basata sulle priorità può supportare carichi di lavoro con requisiti temporali differenti.

Questa architettura può integrare il controllo basato su PLC anziché sostituirlo.

Un sistema pratico può mantenere i PLC per il controllo consolidato a livello di campo, utilizzando al contempo piattaforme di calcolo basate su MPU o SoC, con un sistema operativo in tempo reale, per HMI, visione artificiale, connettività, analisi, funzioni di supervisione e carichi di lavoro correlati all'IA.

Un'architettura pratica per la modernizzazione industriale

Un moderno sistema industriale può quindi essere considerato come un insieme di livelli cooperanti:

  • Livello di campo: sensori, attuatori, azionamenti e altre apparecchiature fisiche.
  • Livello di controllo: PLC e controller che eseguono automazione deterministica.
  • Livello di calcolo: piattaforme MPU/SoC che forniscono capacità di elaborazione aggiuntiva.
  • Livello di intelligenza: visione artificiale, analisi, inferenza dell'IA e altri carichi di lavoro computazionali.
  • Livello di supervisione: HMI, diagnostica, gestione degli eventi e applicazioni operative.
  • Livello di connettività: reti industriali e servizi di comunicazione esterni.
  • Livello software di base: sistema operativo in tempo reale, isolamento, pianificazione, gestione delle risorse e meccanismi di ripristino.

Il requisito ingegneristico fondamentale è definire i confini tra questi livelli, anziché trattare l'intero ambiente informatico come un unico spazio applicativo indifferenziato.

La modernizzazione dovrebbe preservare gli investimenti esistenti nel controllo

Le apparecchiature industriali spesso restano operative per molti anni. Sostituire un controllo basato su PLC consolidato semplicemente perché sono disponibili nuove capacità di calcolo non è sempre giustificato dal punto di vista tecnico o economico.

Una strategia di modernizzazione più pratica consiste nel preservare le funzioni di controllo collaudate, aggiungendo risorse di calcolo intorno ad esse.

Le piattaforme basate su MPU e SoC possono fornire la capacità di elaborazione richiesta da HMI, IA, analisi, visualizzazione e connettività moderne, mentre i PLC esistenti continuano a eseguire un controllo deterministico.

Questo approccio consente ai produttori di introdurre nuove funzionalità senza alterare inutilmente le architetture di controllo consolidate.

La mia prospettiva ingegneristica: la resilienza nasce dall'architettura

La lezione più importante di questa transizione è che la resilienza non può essere aggiunta dopo che il sistema è già stato consolidato.

Quando controllo, rete, HMI, analisi e IA condividono le risorse di calcolo, i meccanismi di isolamento e ripristino devono far parte dell'architettura originale.

Un processore potente non crea da solo un sistema di automazione resiliente. Analogamente, un modello di IA non rende intelligente un sistema di automazione se la piattaforma circostante non è in grado di acquisire dati, eseguire il modello, convalidarne l'output, applicare policy predefinite e rispondere entro i limiti operativi richiesti.

La prossima generazione dell'automazione industriale dipenderà quindi non solo da prestazioni di calcolo superiori, ma da quanto efficacemente l'architettura software controlla l'interazione tra i carichi di lavoro.

Conclusione

L'automazione industriale sta entrando in un'architettura in cui PLC, processori ad alte prestazioni, IA, connettività e funzioni definite dal software operano sempre più insieme.

Ciò crea notevoli opportunità di modernizzazione, ma introduce anche nuove dipendenze e modalità di guasto.

Un'architettura resiliente deve combinare esecuzione deterministica, isolamento dei processi, protezione della memoria, accesso controllato alle risorse, contenimento dei guasti, gestione del ciclo di vita della cybersicurezza e meccanismi di ripristino definiti.

I sistemi operativi real-time basati su microkernel, come QNX, rappresentano un approccio architetturale a questi requisiti. Utilizzate insieme alle tecnologie PLC e ai controller esistenti, queste piattaforme possono fornire la base software necessaria per integrare carichi di lavoro informatici moderni, mantenendo al contempo confini ben definiti intorno alle funzioni di automazione critiche.

Sviluppare sistemi di automazione industriale resilienti e sicuri