Cerca nel sito per parola chiave

rapporti - Deliverable

Il partizionamento e la distribuzione delle funzioni di automazione specificate in ASFA

rapporti - Deliverable

Il partizionamento e la distribuzione delle funzioni di automazione specificate in ASFA

Recently updated on Aprile 7th, 2021 at 12:09 pm

L’ambiente ASFA (Ambiente per lo Sviluppo delle Funzioni Applicative) sviluppato da ENEL RICERCA e ora di proprietà CESI, nasce dall’esigenza di avere un tool di sviluppo per la definizione, descrizione, implementazione e validazione delle funzioni d’automazione d’impianto. Sviluppato inizialmente nell’ambito dell’automazione delle stazioni elettriche ad alta tensione, è stato, nel corso degli anni, fruttuosamente utilizzato anche per altre applicazioni (si veda [EN1997]). Caratteristica fondamentale di ASFA è la possibilità di specificare un automatismo per piani descrittivi successivi; partendo cioè da una visione generica sarà possibile considerare livelli di dettaglio sempre maggiori, in cui una funzionalità complessa viene scomposta via via in funzioni sempre più semplici. Altro aspetto non meno rilevante è quello di operare una sistematica organizzazione del progetto funzionale che, partendo dalla descrizione strutturale delle funzioni d’automazione, permetta di ricavare le informazioni necessarie all’implementazione, ossia in sostanza alla “realizzazione” di quella stessa descrizione. In questo senso, la specifica prodotta, oltre che rappresentare una documentazione formale del progetto, può essere tradotta in un programma applicativo, eseguibile nello stesso ambiente di sviluppo a scopo simulativo, oppure su processori target per l’automazione d’impianto. Nonostante i vantaggi evidenziati, la mancanza di un ambiente di esecuzione in grado di utilizzare architetture multiprocessore e di funzionare in un ambiente di calcolo distribuito, che permetta cioè la realizzazione di automatismi distribuiti per il comando e controllo di impianti, costituisce un limite all’utilizzo di ASFA. Infatti, l’attuale trend tecnologico spinge all’utilizzo di target di mercato basati su architetture HW standard: PLC, PC industriali, ecc. ed all’utilizzo di sistemi distribuiti multi-processore che consentano la distribuzione delle funzioni di automazione relative alle unità funzionali dell’impianto e di ridurre i costi migliorando nel contempo le prestazioni e l’affidabilità. Per rispondere a queste esigenze é stato avviato un progetto per la messa a punto di tecniche per la traduzione delle specifiche ASFA in un linguaggio che eliminasse i vincoli dell’ambiente d’esecuzione e contemporaneamente permettesse la suddivisione del codice di un’applicazione in più parti, eseguibili come processi concorrenti in un ambiente mono e multi processore. L’attività si è articolata in due fasi: • la definizione delle tecniche di partizionamento degli automi di una rete in processi concorrenti • la definizione di un modello e l’analisi di un metodo per la distribuzione dei processi su un’architettura multiprocessore. Questo documento, che estende i risultati presentati in [SPEC00], considera l’aspetto relativo alla distribuzione delle funzioni su più processi e/o processori e si articola in due sezioni .

1.1 Obiettivi raggiunti Lo studio qui presentato identifica i metodi per il partizionamento del codice prodotto in più processi e per la loro distribuzione su più processori. Inoltre definisce un algoritmo per ottimizzare il partizionamento degli automi in processi, rispettando la gerarchia della rete ASFA, il flusso corretto dei dati e tenendo conto dei pesi computazionali delle varie attività. L’utente, in base alla sua conoscenza della topologia della rete e della distribuzione degli elementi che compongono l’impianto, ha la possibilità di specificare un insieme di vincoli ulteriori per il partizionamento degli automi della rete e la distribuzione dei processi ottenuti quali ad esempio: incompatibilità, atomicità e allocazione fissa a particolari processori, ecc. Sulla base di questo studio è stata realizzata una versione prototipale di uno strumento per l’aggregazione degli automi in processi. La correttezza delle allocazioni proposte dallo strumento è stata verificata utilizzando sia una semplice applicazione di test (che pianifica i movimenti di una benna) che un sistema di automazione complesso (ASAT). I risultati ottenuti potranno avere una ricaduta importante nel ciclo di vita di un sistema d’automazione e in particolare nell’ambito del progetto e il benchmarking di sistemi di automazione distribuiti, consentendo di: • allocare le funzioni di automazione su un’architettura intrinsecamente distribuita, esigenza sempre più diffusa nelle società elettriche (ad esempio nelle funzioni di telecontrollo, di comando/controllo distribuito, …), • soddisfare i requisiti di performance pur con l’utilizzo di componenti di mercato di basso costo (come ad esempio reti di PC industriali). 1.2 Struttura del documento Nel capitolo 2 viene introdotto il problema della suddivisione del codice di un automatismo in più parti in grado di funzionare come processi concorrenti in un ambiente di calcolo distribuito. Il capitolo 3, introduce i meccanismi di partizionamento delle funzioni di automazione specificate in ASFA su più processi: dopo aver introdotto le peculiarità delle applicazioni di comando controllo specificate in ASFA, vengono definiti i criteri di partizionamento delle reti ASFA e le tecniche che consentono di partizionare una rete ASFA su più processi. Il papitolo 4 introduce il problema della distribuzione di una specifica partizionata su più proessori: a questo scopo vengono presentati i meccanismi base per il controllo di un’applicazione di automazione e un modello per la distribuzione delle applicazioni ASFA. Per finire vengono introdotti i requisiti del supporto esecutivo distribuito.

Infine, l’Annesso A riporta uno studio, condotto nell’ambito di un contratto di ricerca svolto in collaborazione con il Politecnico di Milano, relativo al problema del partizionamento e della distribuzione di funzioni ASFA.

Progetti

Commenti