Quello della sicurezza è senza dubbio un problema che riveste un’importanza sempre maggiore. Un numero crescente di sciatori e ciclisti indossa l’elmetto protettivo e anche le più piccole stazioni di saldatura dispongono di un sistema di aspirazione, mentre il logo TüV inizia a fare capolino sui più svariati prodotti. È indubbio che tutti i prodotti debbano essere sicuri ma per molti sviluppatori embedded ciò significa un contenitore che disponga di un fusibile, non abbia superfici attive esposte e risulti conforme agli standard che riguardano le emissioni Emi/Emc. La valutazione delle implicazioni legate alla sicurezza dei dispositivi embedded sono state prese in considerazione solamente in relazione a quelle applicazioni in cui eventuali guasti avrebbero provocato danni molto gravi, come nel caso degli impianti nucleari, dei sistemi medicali o degli aeroplani. Molto spesso lo sviluppatore ha potuto lasciare tutte le “preoccupazioni” inerenti alla sicurezza a coloro che sono preposti all’assemblaggio del sistema o dell’apparecchiatura finale. Questo scenario è comunque iniziato lentamente a mutare.
Nel 2000 IEC ha rilasciato lo standard di sicurezza internazionale 61508. Questo insieme di specifiche di natura generale, dal titolo: “Functional safety of electrical/electronic/programmable electronic safety-related systems” da allora è stato utilizzato come base per lo sviluppo di una serie di standard relativi alla sicurezza più specifici, come ad esempio gli standard EN ISO 13849 e EN/IEC62061 destinati ai costruttori di macchinari industriali. Lo standard di sicurezza EN954-1, rilasciato nel 1996, era stato concepito per sistemi meccanici molto semplici e in pratica definiva solo le categorie per le applicazioni di sicurezza, mentre gli standard più recenti sono molto più specifici e richiedono un’analisi dei livelli di integrità della sicurezza del sistema. I macchinari industriali sono sta progettati per svolgere una determinata funzione su base continuativa e nel modo più rapido possibile. All’aumentare della complessità, la tipologia di macchinari si è evoluta. Quando sono stati introdotti per la prima volta, macchinari di questo tipo hanno garantito un notevole incremento in termini di produttività, ma al giorno d’oggi l’utilizzatori richiedono sistemi contraddistinti da un elevato livello di flessibilità ed efficienza. Macchinari di questo tipo, benché più complessi e costosi da realizzare, sono più efficienti dal punto di vista energetico, più semplici da gestire e caratterizzati da una maggiore economicità di funzionamento – valutato sull’intero arco della vita operativa. Un’apparecchiatura flessibile è più facilmente adattabile alla gestione di una tipologia differente di produzione e permette l’adozione di modalità che si rivelano più economiche per affrontare in maniera efficace eventuali malfunzionamenti e condizioni di pericolo: infatti la riduzione dei tempi di fermo macchina e del numero di prodotti danneggiati o difettosi si traduce in un risparmio dell’ordine di migliaia di euro.
Nel caso dei sistemi più datati, il concetto di sicurezza era relativamente semplice: in presenza di una situazione di pericolo veniva scollegata l’alimentazione dal circuito di pilotaggio dell’apparato. Un’operazione di questo tipo richiedeva un certo intervallo di tempo prima che il sistema si arrestasse, limitando di fatto la sicurezza intrinseca. Nei sistemi di concezione più moderna è invece possibile prevedere modalità di funzionamento specifiche o risposte di tipo “attivo” all’insorgere di problemi di sicurezza, garantendo da un lato una reazione più rapida ed efficace e minimizzando dall’altro i danni al prodotto, al macchinario stesso e il tempo di fermo macchina.
Conformità agli standard
Vista la complessità degli odierni apparati industriali, l’obiettivo di garantire un elevato grado di sicurezza può essere conseguito solamente mediante l’introduzione del sistema di sicurezza nell’apparato stesso. Ciò consente agli sviluppatori di sistema di programmare risposte dotate di un certo grado di “intelligenza” in presenza di condizioni di pericolo. In ogni caso ogni dispositivo deve avere un modulo dedicato alla sicurezza. Tali moduli comunicano attraverso una rete industriale utilizzando pacchetti “sicuri”, permettendo in tal modo la realizzazione di un sistema di sicurezza veloce, flessibile ed esteso all’intera apparecchiatura. I benefici per l’utente finale sono evidenti, anche se è necessario disporre di versioni economiche di componenti industriali (come Plc, drive e via dicendo) che integrano funzionalità di sicurezza. Perché l’introduzione di un prodotto sia coronata dal successo commerciale, il prodotto stesso deve ricevere l’approvazione da parte di un ente preposto alla certificazione della sicurezza, come ad esempio TüV. Al fine di ricevere questa certificazione gli sviluppatori devono dimostrare che il prodotto in oggetto risulti conforme agli standard di sicurezza pertinenti e produrre un calcolo relativo alla probabilità di guasto del dispositivo. Questo calcolo delle probabilità rappresenta il principale problema in quanto esso comprende sia la probabilità dei guasti dei componenti all’interno del dispositivo sia su base individuale sia a livello di sistema. Lo sviluppatore, inoltre, ha l’onere di dimostrare l’adeguatezza al processo di sviluppo utilizzato (adottando il classico modello di sviluppo a V) e la conformità di tutti i tool utilizzati per la progettazione del sistema. Le sole operazioni di raccolta e di confronto di questi dati sono difficili da effettuare e richiedono molto tempo, senza dimenticare che parecchie delle informazioni relative all’affidabilità e alla qualità non sono disponibili dai produttori sia dei dispositivi sia dei tool. Ciò comporta un allungamento dei tempi di sviluppo e una limitazione del tipo di componenti e tool che è possibile utilizzare in fase di progetto.
Un data package per la sicurezza
Recentemente Altera ha annunciato l’introduzione di un data package (ovvero un insieme di documenti) per la sicurezza sia per i propri Fpga sia per il flusso dei tool di sviluppo. Ciò consente agli sviluppatori di sfruttare le caratteristiche di flessibilità in fase di progettazione tipiche degli Fpga per realizzare prodotti in maniera più flessibile ed economica, nonché di ridurre i tempi di sviluppo in quanto non risultano più necessarie la raccolta e la verifica dei dati di qualità/affidabilità richiesti per l’approvazione (sia dei dispositivi che del tool flow). Gli Fpga possono essere impiegati per integrare numerosi dispositivi digitali (come ad esempio microcontrollori, Dsp e circuiti Assp per la connessione in rete) in un unico dispositivo, con conseguente riduzione dei costi, dei consumi e delle dimensioni del sistema finale. In un tipico sistema la parte relativa alla sicurezza è realizzata sotto forma di due controllori di sicurezza – una ridondanza richiesta per garantire la protezione contro possibili guasti del sistema di sicurezza. Mediante il confronto delle uscite di ciascun controllore di sicurezza, ogni possibile malfunzionamento del controllore sarà rilevato e il sistema potrà eseguire l’operazione di arresto in maniera sicura. Il secondo controllore di sicurezza potrebbe essere implementato in un altro Fpga o in un microcontrollore. Ciascun componente del sistema di sicurezza – processori, dispositivi di memoria, sorgenti di clock e protocolli di comunicazione - deve essere progettato in modo da garantire lo svolgimento del proprio compito, anche se in modo limitato, anche in presenza di un guasto. La verifica a livello di memoria viene solitamente eseguita facendo girare appositi test (ad esempio Galpat) sul processore: un’operazione di questo tipo richiede l’utilizzo di numerose risorse del processore e ciò può comportare una drastica riduzione della capacità di quest’ultimo di far girare il software applicativo. Il Safety Package di Altera prevede anche un blocco IP di diagnostica (sviluppato e documentato in conformità alle specifiche di TüV) che permette di verificare su base continua malfunzionamenti della memoria, precisione della temporizzazione del clock ed errori soft che potrebbero verificarsi nell’Fpga. Si tratta di collaudi dei quali lo sviluppatore non preoccuparsi – in termini sia di realizzazione sia di documentazione - per ottenere l’approvazione da parte di TüV, con notevoli risparmi in termini di tempo e di denaro. Le direttive EN ISO 13849-1 e EN/IEC62061 dovevano entrare in vigore alla fine del 2009 ma gli sviluppatori hanno incontrato parecchie difficoltà per riuscire a rispettare questo termine: si tratta di un chiaro indizio delle difficoltà incontrate dagli sviluppatori per ottenere l’approvazione di prodotti certificati in materia di sicurezza. È altresì verosimile che anche nel resto del mondo vengano adottate normative di sicurezza uguali (o perlomeno simili) per i macchinari industriali. Fortunatamente per gli sviluppatori europei è stato deciso di posticipare di due anni l’entrata in vigore effettiva delle normative, che comunque alla scadenza di questo termine dovranno essere ottemperate.
Alcuni produttori intravedono in ciò un’opportunità: grazie alla possibilità di introdurre sul mercato prodotti competitivi dal punto di vista dei prezzi prima dei loro concorrenti, si troveranno in una posizione privilegiata per incrementare il loro business. Le caratteristiche di flessibilità e di integrazione degli Fpga di Altera abbinate ai vantaggi, in termini di time-to-market, offerti dal nuovo Safety Package sono gli ingredienti necessari per aumentare la competitività e iniziare a minare il dominio degli attuali leader del mercato dell’automazione industriale.