CAPITOLO 1 Introduzione
2
nel processo di realizzazione. Si deve infatti intervenire in maniera
sistematica sul processo produttivo del software, e in generale sulla
progettazione dell’intero sistema hardware-software, per avere una
procedura di specifica che tenga conto delle esigenze proprie della
progettazione dell’azionamento elettrico. Viene così a crearsi l’esigenza di
affiancare una nuova disciplina, quale è l’ingegneria del software, a quelle
tradizionali dell’ingegneria.
In realtà il “problema del software” non fa altro che accentuare le
problematiche presenti nella progettazione e nello sviluppo di un
azionamento elettrico e del relativo controllo. Il coinvolgimento di più
figure professionali quali progettisti di sistema, progettisti di controllo e
progettisti hardware e software ha sempre comportato problemi di
interdisciplinarietà, rendendo problematico costruire un rapporto privo di
incomprensioni fra le varie parti data la loro così diversa estrazione [8].
Un altro problema è costituito dal continuo variare del personale
nelle aziende che rallenta la formazione di una memoria aziendale a meno
che non si ricorra a metodi standardizzati.
Riassumendo, è necessaria la presenza di almeno tre diverse figure
professionali: ingegnere del controllo, esperto di modellistica e
simulazione, ingegnere del software. Il problema è quindi quello di
realizzare un linguaggio comune tra le figure, così da garantire la necessaria
coerenza nel corso dello sviluppo del progetto e l'interscambio di
informazioni. Un modo per oltrepassare le presenti limitazioni è quello di
agire direttamente sulle fasi prelimari del progetto attraverso l'uso di metodi
formali nello sviluppo del software per l'automazione: la creazione di un
ambiente integrato, con funzioni standardizzate, operazioni agevolate
CAPITOLO 1 Introduzione
3
dall’utilizzo di una grafica semplice e intuitiva e facilitazioni nella
generazione di documentazione consentirebbe di superare i problemi
dovuti all’interdisciplinarietà e di ridurre i tempi di apprendimento del
personale [1].
Il principale ostacolo alla diffusione di metodi formali è dovuto, oltre
che alla limitata esperienza degli specialisti, alle peculiarità proprie dei
sistemi coinvolti nell'automazione industriale. Infatti nei sistemi di
controllo si possono evidenziare due parti principali, ovvero il controllore
(il software di controllo) ed il controllato (l'impianto), caratterizzate da un
comportamento tempo continuo, nel caso dell'impianto, e tempo discreto,
nel caso del controllore (figura 1). Questi sistemi sono classificati come
ibridi. Le difficoltà nascono nel modellare ed analizzare formalmente
componenti radicalmente diversi, per i quali può essere difficile sia
definire che analizzare modelli formali eterogenei [6].
1 Una possibile soluzione: INFORMA
Figura 1: struttura di un sistema di controllo a microprocessore.
CAPITOLO 1 Introduzione
4
Il progetto INFORMA
1
(Integrated Formal Approaches for Embedded
Real-Time Systems) ha come scopo di superare le limitazioni dovute ai
metodi e approcci correnti, seguendo una strada segnata dai seguenti passi
fondamentali:
• Integrazione degli standard e dispositivi per la definizione del
ciclo di sviluppo, dai requisiti base alla generazione di codici.
• Sviluppo delle capacità per la modellizzazione di diversi
componenti e diverse fasi di progettazione (es.: componenti
analogici, controllori real-time, diagnosi e automazione
industriale).
• Sviluppo dei metodi considerati aggiungendo nuove
potenzialità (es: definizione di una semantica dinamica per
ISO-PLC) e capacità avanzate (es.: animazione e generazione
di codici).
• Verifica delle capacità introducendo funzioni di test e
agevolazioni per il debugging.
I principali risultati attendibili sono quelli di ottenere un ambiente
integrato (INFORMA) in grado di risolvere i problemi legati all'uso di
metodi formali per la progettazione dei componenti software coniugando
una notazione molto diffusa nell'ambito dell'automazione industriale
(Functional Block Diagram (FBD) nello standard IEC 1131-3
2
) con un
modello formale sperimentato a lungo per la specifica di sistemi software
1
Vedere capitolo 5.
2
Vedere capitolo 4.
CAPITOLO 1 Introduzione
5
(reti di Petri ad alto livello temporizzate (HLTPN)) [9]. Il metodo risolve i
problemi eterogenei di vari componenti in tempo reale critico (hard real-
time) e componenti con vincoli temporali non critici (soft real-time).
L'ambiente INFORMA integra diverse applicazioni dedicate allo
sviluppo dei vari componenti, suddivisi secondo lo schema di figura 2. Le
applicazioni coinvolte sono Simulink
(analisi e simulazione dei
componenti tempo-continui), VDM
++3
(animazioni e analisi dei
componenti tempo-reale senza limiti temporali critici), l'editor ISO-PLC
(definizione dei componenti tempo-reale con limiti temporali critici), e
Cabernet
4
(sviluppo delle reti di Petri HLTPN). La base comune per tutte
le applicazioni è costituita da Matlab
(vedere capitolo 5).
3
VDM
++
(Vienna Development Method) è satato progettato per definire una specifica formale per sistemi object
oriented con eventi concorrenti a tempo-reale.
4
Cabernet è un software realizzato dal Dipartimento di Elettronica ed Informazione per l’analisi di reti di Petri.
CAPITOLO 1 Introduzione
6
Scopo della Tesi è accrescere la portata delle Norme IEC 1131-3
nell'ambito della progettazione di regolatori digitali per azionamenti al fine
di progettare e realizzare un ambiente di specifica. Tale ambiente è stato
quindi visto come parte integrante del progetto INFORMA.
L'applicazione, in grado di sfruttare le potenzialità offerte dal
linguaggio a blocchi funzionali (FBD) nel rispetto delle norme IEC 1131-
3, denominata INFORMA ISO-PLC Toolbox, è stata sviluppata con
MATLAB
5 ed è correttamente funzionante sotto l’aspetto della
semantica. In altre parole è possibile programmare secondo le regole del
linguaggio specificato: disegnare blocchi, realizzare collegamenti, creare
strutture modulari, attingere a librerie predefinite, ecc. La parte che
riguarda le operazioni matematiche e logiche, svolte in concreto dai
blocchi, verrà realizzata con Cabernet sfruttando le potenzialità offerte
dalle reti di Petri con funzioni temporali (HLTPN), e sono tuttora oggetto
Figura 2: la struttura di INFORMA.
CAPITOLO 1 Introduzione
7
di studio da parte del Dipartimento di Elettronica e Informazione e del
Dipartimento di Elettrotecnica del Politecnico di Milano.
2 Struttura della Tesi
Nel secondo capitolo vengono elencati gli aspetti principali del
rapporto fra azionamento elettrico e software, evidenziando le relative
problematiche e le possibili soluzioni. Nel terzo capitolo vengono riportati
due esempi di configuratori software presenti sul mercato, utili per avere
una migliore visione delle funzionalità offerte da questo genere di
prodotto. Nel quarto capitolo viene evidenziato il ruolo fondamentale che
assume la normativa IEC 1131, ed in particolare le Norme IEC 1131-3 sui
linguaggi di programmazione dei PLC. Il quinto capitolo spiega
dettagliatamente il progetto INFORMA e gli obiettivi in esso prefissati,
grazie anche al supporto diretto offerto da due grandi aziende del settore.
Il quinto capitolo spiega nel dettaglio il progetto INFORMA. Nel sesto
capitolo viene spiegato come è stato costruito l’editor ISO-PLC e le
funzioni attive in esso incorporate, nel capitolo successivo viene riportato
un esempio pratico di utilizzo dell’editor per il controllo di una macchina
CC a magneti permanenti. Nell’ultimo capitolo vengono riassunte le
conclusioni del lavoro.
8
Capitolo 2
IL SOFTWARE E GLI AZIONAMENTI
L’introduzione delle nuove tecnologie non ha permesso di realizzare
in breve tempo degli azionamenti completamente digitali La problematica,
che maggiormente ha condizionato l’affermarsi nel tempo degli
azionamenti digitali, è costituita dai vincoli di tipo temporale imposti
dall’esecuzione del software.
Infatti osservando la struttura di controllo di un azionamento
elettrico (figura 3) si può notare l’insieme di anelli di controllo nidificati,
costituiti, all’interno verso l’esterno, dalla regolazione di corrente o coppia,
la regolazione di velocità e l’eventuale regolazione di posizione.
I diversi anelli impongono diversi vincoli temporali, che richiedono
REGOLATORE
POSIZIONE
REGOLATORE
VELOCITÀ
REGOLATORE
CORRENTE
CONVERTITORE
DI POTENZA
MOTORE
1/S
Velocità
Corrente
Sistema tempo-discreto Sistema tempo-continuo
Rif.
Figura 3: Schema di controllo di un azionamento elettrico.
CAPITOLO 2 Il software e gli azionamenti
9
soluzioni specifiche. I vincoli temporali diventano più critici andando
dall’esterno verso l’interno. È quindi più difficile gestire il controllo degli
anelli più interni, ed in particolare dell’anello di corrente, che presenta
vincoli temporali molto stretti, che possono essere rispettati solo con
processori ad elevata velocità e software particolarmente ottimizzato.
Spesso, i problemi vengono risolti utilizzando più processori con
caratteristiche diverse.
Più in generale, osservando la struttura di un azionamento elettrico
(figura 4), è possibile evidenziare, per ogni componente, le principali
funzionalità e analizzarne le caratteristiche e criticità, in funzione di una
loro implementazione in un controllo di tipo digitale [7].
I componenti software essenziali di un azionamento elettrico sono:
Figura 4: il sistema azionamento.
Protezioni
Convertitore
n°1
Convertitore
n°2
Attuatore
Regolatore
Interfaccia utente
Segnali di comando
Rete elettrica
Misure
Segnali di retroazione
Alimentatore
CAPITOLO 2 Il software e gli azionamenti
10
• i filtri;
• l’osservatore;
• il regolatore di posizione e di velocità;
• il regolatore di corrente;
• il modulatore.
1 I filtri
Il passaggio dal filtraggio analogico a quello digitale permette di
elaborare le grandezze in ingresso tramite funzioni e procedure non
consentite dalle strutture tradizionali.
I problemi di questa funzione sono legati alla dinamica della
grandezza filtrata, che influisce sulle modalità di campionamento e sulle
caratteristiche del filtro stesso (banda passante, banda di transizione e
banda oscura).
2 L'osservatore
Si tratta di un blocco non necessariamente presente nella
regolazione degli azionamenti, ma che sta assumendo un ruolo sempre
più determinante nelle architetture più moderne. La funzionalità di
questo blocco è quello di ricostruire integralmente lo stato del sistema,
rendendo accessibili anche variabili di stato altrimenti non misurabili.
Nel nostro caso si possono evidenziare due situazioni differenti:
CAPITOLO 2 Il software e gli azionamenti
11
• la grandezza non è misurabile perché non è stato
intenzionalmente inserito un opportuno sensore. Si tratta
tipicamente del caso dei cosiddetti azionamenti sensorless,
termine con cui si indicano gli azionamenti in cui non è
presente un sensore di velocità;
• la grandezza non è misurabile per effettive difficoltà di
realizzazione del sensore stesso. Caso tipico è dato dalla
misura del flusso magnetico nel traferro di macchina,
fondamentale per la realizzazione di controlli ad alte
prestazioni per motori asincroni, ma difficilmente realizzabile
per via diretta.
Entrambe queste situazioni possono essere affrontate con le stesse
strutture algoritmiche.
Soluzioni basate su semplici osservatori, in cui si ricavano solo le
variabili di stato non note del sistema soffrono, nel settore degli
azionamenti, di grossi limiti legati alla variabilità notevole dei parametri
che caratterizzano il modello matematico della macchina elettrica. È
però possibile sfruttare la misura dell'errore generato dal confronto
diretto fra le variabili ricostruite e quelle reali, per costruire soluzioni più
complesse (es. osservatore di Luenberger (figura 5)) in grado di
mantenere ottime prestazioni, anche a fronte di variazioni parametriche
[20], [22].
Accanto a queste soluzioni che si possono definire tradizionali, si
stanno affacciando nuove proposte legate a tecnologie emergenti e in
particolare: reti neurali, funzioni fuzzy o addirittura soluzioni neuro-fuzzy.
CAPITOLO 2 Il software e gli azionamenti
12
In questo ambito le criticità temporali si fanno soprattutto sentire nel
caso in cui l'osservatore sia chiamato a ricostruire anche il flusso
magnetico.
3 Regolatori di posizione e velocità
Questi regolatori sono stati i primi a beneficiare della nuova
tecnologia e quindi a scontrarsi con le nuove problematiche tipiche
dell'ambito digitale.
Equazioni di stato:
x'=Ax+Bu
y=Cx
La matrice G serve per accoppiare
l’osservatore al sistema.
x
∧
rappresenta il vettore dei valori
ricostruiti di x..
Figura 5: esempio di osservatore di
Luenberger.
CAPITOLO 2 Il software e gli azionamenti
13
Essendo il livello di regolazione meno critico dal punto di vista
temporale, tali regolatori costituiscono anche il campo tipico di
applicazione sperimentale delle nuove tecnologie (come la realizzazione di
regolatori fuzzy di velocità o posizione).
4 Regolatori di corrente
Si tratta del settore più particolare, in conseguenza dello stretto
legame tra la regolazione e il controllo diretto delle variabili elettriche. Per
questa ragione accanto a soluzioni più tradizionali (come i regolatori PI
digitali di corrente) si sono avuti in passato e si hanno tuttora varie
soluzioni che escono dalla tradizione controllistica classica. Un esempio in
tal senso può essere fornito dalla realizzazione di regolatori basati sulla
teoria dei sistemi a struttura variabile (sliding mode control) che ha
riscontrato e continua a riscuotere molto successo nell'ambito degli
azionamenti elettrici.
Le criticità temporali hanno comunque costituito e tuttora
costituiscono uno dei vincoli principali nelle scelte di progetto dei
regolatori di corrente, vista la dinamica estremamente elevata delle
variabili elettriche. Solo con l'avvento dei moderni DSP (Digital Signal
Processor) è divenuto possibile pensare all'applicazione di routine di
regolazione che andassero al di là della semplice azione proporzionale
integrale che per anni ha costituito praticamente l'unica azione possibile in
tecnologia digitale.
CAPITOLO 2 Il software e gli azionamenti
14
5 Modulatori
Si tratta tipicamente dello stadio finale della regolazione degli
azionamenti che allo stato attuale sta diventando sempre meno demandata
alla progettazione puramente software. Questa nuova tendenza è legata
fondamentalmente a due fattori:
• da una parte in alcune soluzioni di controllo il modulatore,
inteso come la funzione in grado di far passare dai riferimenti di
tensione al controllo diretto delle valvole, tende a essere
contenuta all'interno della regolazione di corrente stessa. Si
pensi a tutti i casi in cui si parla di controllo diretto intendendo
le soluzioni di controllo in cui la regolazione di corrente
fornisce come sua uscita primaria gli istanti di commutazione;
• dall'altra, la disponibilità di circuiti integrati programmabili ad
alta integrazione consente di realizzare complesse funzioni
attraverso logiche integrate modificando il progetto del
regolatore da puro progetto software a progetto integrato HW -
SW.
6 Funzioni ausiliarie
Il software che governa l’azionamento non si limita alla regolazione
della macchina elettrica: vengono infatti svolte altre funzioni
(monitoraggio, rete di azionamenti, protezioni), le quali rendono completo
il sistema e consentono un elevato grado di elasticità e quindi una più
CAPITOLO 2 Il software e gli azionamenti
15
facile integrabilità all’interno del sistema automazione. Tipicamente queste
funzioni non sono rigidamente vincolate al tempo (tranne le protezioni), e
ciò ha permesso l’introduzione di software dedicato a queste applicazioni,
in grado di arrivare all’autocodifica attraverso un’operazione di
“configuazione software” e cioè di composizione di blocchi elementari
predefiniti.
La possibilità di programmare per via grafica rende questi prodotti
più facili nell’uso e assicura una maggiore produttività in termini di codice.
7 Conclusioni
Si può facilmente prevedere che la diffusione degli azionamenti
elettrici digitali subirà nei prossimi anni un notevole aumento, grazie
soprattutto ai grandi sviluppi che si stanno avendo nel campo della
microelettronica, sarà quindi possibile risolvere i problemi legati agli
aspetti temporali, precedentemente descritti.
Risulterà dunque fondamentale, per un’azienda produttrice di
azionamenti o di sistemi di controllo, avere i mezzi adatti per la gestione e
la progettazione di questi sistemi, ovvero prodotti software completi, in
grado di supportare il progettista nella realizzazione del sistema
azionamento lungo tutto il ciclo di sviluppo, dalla fase iniziale di
progettazione a quella finale della generazione del codice.
La proliferazione di configuratori software per l’automazione ha
subito negli ultimi anni un notevole aumento: difficilmente però si
possono trovare prodotti completi, cioè in grado di fornire un unico
ambiente di lavoro per l’integrazione di più strumenti dedicati alle diverse