vai al contenuto della pagina vai al menu di navigazione
 

Architetture computazionali per la supervisione e il controllo di macchine automatiche

Pattern di ausilio alla progettazione della logica di controllo di macchine automatiche, volti a migliorare la qualità, la produttività e la riusabilità del software.

Il team dispone di competenze su architetture software integrate ed aperte, in grado di supportare la realizzazione delle funzionalità trasversali che qualunque sistema di controllo di macchine automatiche è chiamato ad espletare. Dal punto di vista applicativo tali competenze possono fornire un contributo decisivo per ridurre i tempi di sviluppo di nuovi sistemi, favorendo nel contempo l'intercambiabilità di progettisti e piattaforme computazionali in scenari affini.

 

Indubbiamente, il successo di una macchina automatica, dal punto di vista funzionale e prestazionale, discende primariamente dalle scelte progettuali operate in sede di definizione della sua struttura meccanica. Tuttavia, dagli stessi punti di vista, senz’altro fondamentale è anche il ruolo svolto dal sistema di elaborazione preposto al controllo della macchina, essendo sempre più ampio e rilevante lo spettro dei compiti ad esso affidati. Oltre alle attività inerenti l’automazione dei cicli di lavorazione della macchina, altre funzionalità complementari ma non meno importanti che tale sistema è tipicamente chiamato ad espletare riguardano la possibilità di:

  • emulare il comportamento di tradizionali organi meccanici, quali camme e riduttori, consentendo non soltanto una drastica semplificazione costruttiva della macchina stessa, ma anche la sua automatica predisposizione, peraltro in tempi nulli, a fronte di mutate condizioni di lavoro (cambio formato);
  • adattare dinamicamente strategie e parametri di controllo in relazione a differenziate esigenze produttive, garantendo in ogni condizione di funzionamento il pieno sfruttamento delle potenzialità operative della macchina;
  • conseguire un’elevata qualità del prodotto finito attraverso una capillare verifica della correttezza delle lavorazioni su di esso effettuate, prevenendo nel contempo lavorazioni disutili e spreco di materie prime;
  • indirizzare l’operatore addetto alla conduzione della macchina nell’intraprendere in maniera tempestiva e puntuale le azioni volte a stabilire o a ripristinare le condizioni ottimali di funzionamento, sollevandolo parimenti da interventi pericolosi o quantomeno onerosi;
  • gestire in tempo reale informazioni di diagnostica e dati di produzione, a supporto delle attività di manutenzione della macchina, di gestione delle materie prime e dei prodotti finiti, di organizzazione e pianificazione della produzione.


Se, in generale, la progettazione del sistema di controllo dal punto di vista della architettura hardware tuttora può ispirarsi al principio “buy, plug & play”, traendo proficuamente vantaggio dalla disponibilità sul mercato di risorse tecnologicamente avanzate, con spiccate caratteristiche di modularità, espandibilità e diretta compatibilità con il campo, più problematico ed eterogeneo risulta il processo di sviluppo, realizzazione e manutenzione del software. Diverse possono esserne le motivazioni, fra le quali: l’inapplicabilità di modelli computazionali evoluti, essendo le piattaforme PLC-based normalmente utilizzate per il controllo di macchine automatiche non adatte in maniera nativa a supportare la naturale strutturazione di una applicazione in termini di processi concorrenti ed opportunamente cooperanti;la non sistematica applicabilità di consolidati principi e metodi propri dell’ingegneria del software in conseguenza della limitata capacità espressiva dei linguaggi di programmazione utilizzabili; la scarsa disponibilità di componenti “off-the-shelf” e di infrastrutture tecnologiche, tipicamente confinata al dominio del “motion control”, dell’interconnessione di dispositivi tramite bus di campo, dell’interazione uomo-macchina; la carenza nell’ambito della letteratura tecnico-scientifica di significative proposte in merito ad un possibile framework di riferimento e a design pattern specifici del dominio applicativo, che possano rivestire il ruolo di “standard de facto” o quantomeno fungere da linee guida nella progettazione del software per il controllo di macchine automatiche.


Al di là delle attuali limitazioni tecnologiche e delle oggettive difficoltà che la progettazione di un sistema indubbiamente complesso comporta, altri fattori in generale concorrono ad estendere in maniera indesiderata i tempi, e conseguentemente i costi, di sviluppo e manutenzione del software. Tra questi: il ruolo ancillare spesso attribuito all’attività svolta dai progettisti software tende ad avvallare la realizzazione non tanto di sistemi caratterizzati da una solida e flessibile struttura, quanto piuttosto di prototipi “rapidamente operativi” che possano fungere da veicolo per la verifica sperimentale delle prestazioni effettivamente conseguibili con le macchine dal punto di vista meccanico; le fondamenta delle soluzioni prototipali, già spesso precarie all’origine, raramente sono poi di fatto oggetto di un processo di consolidamento, ma, al contrario, subiscono nel tempo ulteriori perturbazioni imputabili agli inevitabili aggiornamenti derivanti dalla personalizzazione di funzionalità esistenti o dall’integrazione di nuove funzionalità richieste dai clienti; i pressanti impegni di lavoro quotidiano, l’esigenza di rispettare spesso stringenti scadenze temporali, non solo rendono inattuabile l’auspicabile “brain storming” e scambio di esperienze significative tra i progettisti software, ma spesso possono indurli ad operare scelte mirate al soddisfacimento di obiettivi realizzativi specifici, precludendo l’adozione di un approccio organico e di più ampio respiro finalizzato all’individuazione di soluzioni direttamente riutilizzabili in macchine contraddistinte da funzionalità similari;


In tale contesto si inquadra il programma di ricerca. finalizzato allo sviluppo e alla sperimentazione di innovativi approcci metodologici per la progettazione del software di controllo di macchine automatiche. Due sono gli obiettivi primari: da un lato, l’identificazione di modelli di riferimento e di infrastrutture di generale applicabilità, dall’altro la realizzazione di una libreria di componenti general-purpose in grado di supportare i progettisti nel loro articolato, multidisciplinare e complesso lavoro, attraverso un processo fondato su solide basi metodologiche piuttosto che guidato dall’intuizione o dall’esperienza. Al riguardo, la definizione di un’architettura software quanto più possibile “machine-independent & platform-independent”, in grado di supportare la strutturazione e la realizzazione delle funzionalità trasversali che qualunque sistema di controllo di macchine automatiche è chiamato ad espletare, aperta a possibili integrazioni finalizzate al soddisfacimento di specifiche esigenze applicative, ampiamente riusabile attraverso semplice configurazione piuttosto che sviluppo di codice ad hoc, rappresenta l’elemento chiave per ridurre drasticamente i tempi di progettazione di nuovi sistemi e nel contempo favorire l’intercambiabilità dei progettisti, oltre che delle piattaforme computazionali, in scenari affini.

Contatti

Prof. Dario Croccolo

Direttore CIRI MAM

Viale Risorgimento, 2

40136 - Bologna