Sei sulla pagina 1di 72

Laboratorio informatico per

l’ingegneria
Università elettrica di
di Pisa Dipartimento
Sistemi Elettrici e Automazione
Luca Sani

Dipartimento di Sistemi Elettrici e Automazione


Università di Pisa
tel. 050 2217364
email luca.sani@dsea.unipi.it
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

Sommario
• Power System Blockset
• StateFlow

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

2 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 2
Power System Blockset
Università di Pisa Dipartimento di
Sistemi Elettrici e Automazione
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

Il Power System Blockset


Si tratta di una libreria in ambiente Simulink per la simulazione di:
• circuiti elettrici lineari,
• circuiti di elettronica potenza

Università
• macchine elettriche
di
• azionamenti elettrici
Pisa Dipartimento di
Sistemi Elettrici e Automazione

4 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 4
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

Il Power System Blockset


Simulink permette di simulare il comportamento di un qualunque
sistema dinamico descritto da equazioni differenziali (o alle
differenze), e quindi anche un circuito elettrico o un azionamento,
una volta che sono state formulate le equazioni.

Università di
Il vantaggio del Power Pisa
System BlocksetDipartimento
è che è possibile definire,di
uno schema Simulink, la descrizione topologica del circuito o
in

Sistemi(come
dell’azionamento Elettrici
nel caso di e Automazione
simulatori specifici come PSpice).
In questo modo Simulink diventa anche per il settore elettrico un
utile strumento di supporto alla progettazione o alla didattica.

5 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 5
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

Il Power System Blockset


Il Power System Blockset opera nel seguente modo
Libreria Simulink
Disegno del circuito

Libreria Powerlib

Università di Pisa Dipartimento di


Start simulazione

Sistemi Elettrici e Automazione Power2sys


Verifica topologica della rete
Estrazione dei parametri

Circ2ss
Calcola le equazioni diff. Trova il modello
Che descrivono la rete Simulink corrispondente

Start simulazione
Simulink

6 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 6
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

Il Power System Blockset

Il Power System Blockse si presenta come una libreria di oggetti


(chiamata Powerlib) con cui è possibile costruire il circuito
elettrico.

Università
Sullo stesso schemadi Pisa
possono Dipartimento
coesistere di
sia elementi della Powerlib
che di Simulink permettendo quindi la realizzazione di schemi misti
in Sistemi Elettrici
parte con elementi e
di cui è data laAutomazione
descrizione topologica e in
parte con equazioni differenziali.

7 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 7
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

La libreria dei componenti


Il Power System Blockset si avvia dalla libreria di Simulink,
oppure dal prompt dei comandi di Matlab con il comando
Powerlib.
Racchiude 7 diverse categorie di elementi:

Università
• Generatori di Pisa Dipartimento di
Sistemi Elettrici
• Elementi circuitali
• Interruttori elettronici
e Automazione
• Macchine
• Apparecchi di misura
• Azionamenti e linee

8 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 8
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

PSB Electrical Sources


La libreria Electrical Sources contiene i generatori elettrici sia monofasi
che trifasi indipendenti.
Mette a disposizione anche un generatore controllato di tensione (o di
corrente) da Simulink, il quale converte un segnale di tipo Simulink in
Università di Pisa Dipartimento di
un equivalente sorgente di tensione (o di corrente)

Sistemi Elettrici e Automazione

9 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 9
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

PSB Elements
La libreria Elements contiene gli elementi circuitali, i modelli delle linee,
degli interruttori e i trasformatori con diverse connessioni interne

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

10 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 10
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

PSB Power Electronics


La libreria Power Electronics contiene gli interruttori elettroni con cui
realizzare i convertitori e un ponte raddrizzatore universale a topologia
variabile

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

11 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 11
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

PSB Machines
La libreria Machines contiene i modelli delle principali macchine
elettriche rotanti.

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

12 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 12
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

PSB Measurements

La libreria Measurements contiene i


dispositivi per realizzare le misure di
correnti, tensioni e impedenze (in
funzione della frequenza)
Università di Pisa Dipartimento di
Sistemi Elettrici e Automazione

13 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 13
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

PSB Application Libraries


La libreria Application libraries contiene librerie aggiuntive con gli
schemi completi delle principali topologie di azionamenti sia per le
macchine in corrente continua che asincrone trifasi.

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

14 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 14
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

PSB Esempio 1
Si vuole analizzare il comportamento del seguente circuito

C = 5 μF

Ia
Università di Pisa Dipartimento di
Serie R = 20 Ω, L = 5 mH

Sistemi Elettrici e Automazione


Va
R = 10 Ω R = 10 Ω

Va= 5sin(2*pi*50) Serie


Ia = 2sin(2*pi*50+30°) R = 10 Ω
C = 12 pF

15 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 15
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

PSB Esempio 1
Dalla finestra Powerlib si selezione l’opzione menù
File->New->Model. Si apre una finestra Simulink in cui è possibile
costruire il circuito.

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

16 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 16
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

PSB Esempio 1
Dalle librerie Electrical Sources e Elements si prelevano i vari elementi.
Si aggiungono anche due elementi per la misura delle tensioni e delle
correnti.

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

17 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 17
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

PSB Esempio 1
Si particolarizzano le varie impedenze. Se una componente è posto a
zero, nell’icona sparisce il simbolo. Si realizzano le connessioni e si
inseriscono gli elementi di misura.

L’amperometro è messo
in serie. La corrente
Università di Pisa Dipartimento di
viene convertita in un
segnale di tipo Simulink

Sistemi Elettrici e Automazione

Il voltmetro è
messo in
18 Luca Sani Laboratorio informatico
Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006
parallelo. 18
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

PSB Esempio 1
Per definire il tipo di analisi si aggiunge il blocco powergui (nella libreria
Powerlib). Per default è viene eseguita l’analisi nel dominio continuo e
l’icona del powergui è Continuous

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

19 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 19
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

PSB Esempio 1
Avviando la simulazione si può osservare l’andamento della corrente e
tensione selezionata

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

20 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 20
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

PSB Esempio 1
Con il powergui si può selezionare l’analisi di tipo fasoriale.

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

21 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 21
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

PSB Esempio 1
Per gli strumenti occorre specificare quale grandezza del fasore si vuol
misurare.

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

22 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 22
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

PSB Esempio 1
Sempre con il powergui è possibile visualizzare i valori di regime delle varie
grandezza

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

23 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 23
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

PSB Esempio 1
Sempre con il powergui è possibile visualizzare (impostare) i valori iniziali delle
tensioni e correnti con cui è avviata la simulazione

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

24 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 24
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

PSB Esempio 1
Per ridurre il numero di fili si può utilizzare lo strumento Multimeter (libreria
Measurements). Per i vari elementi occorre selezionare le grandezze che si
vogliono visualizzare con tale strumento

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

25 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 25
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

PSB Esempio 1
Si apre il multimeter e si selezionano le grandezze che si vogliono esaminare e in
quale ordine saranno visualizzate.

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

26 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 26
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

PSB Esempio 1
Si può collegare uno scope (A) all’uscita del multimeter, oppure selezionare Plot
selected measurements in modo che al termine della simulazione si apra lo
scope con i segnali selezionati (B)

(B)

Università di Pisa Dipartimento di (A)


Sistemi Elettrici e Automazione

27 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 27
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

PSB Esempio 2
Si considera il caso di un carico da 10 ohm alimentato con un raddrizzatore trifase.
La corrente è filtrata con un’induttanza da 200 mH (file raddrizzatore_trifase.mdl)

Per poter analizzare le


grandezze interne al
diodo è selezionata
l’apposita opzione

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

28 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 28
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

PSB Esempio 2
Si può osservare il fenomeno della
commutazione quando due diodi sono in
conduzione contemporaneamente

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

29 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 29
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

PSB Esempio 3
Si considera il caso un raddrizzatore a ponte a diodi realizzato in due modi
diversi (file raddrizzatore_a_ponte.mdl)

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

30 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 30
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

PSB Esempio 3

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

31 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 31
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

PSB Esempio 4
Si considera un convertitore switching DC-DC di tipo Buck realizzato con
un GTO. Per la tensione di uscita vale la relazione (file buckconv.mdl).

Vmedia _ carico = D ⋅ Vin D = duty cycle D = Ton / T

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

Si trova nella Powerlib->Extras->Measurements


32 Luca Sani Laboratorio informatico
Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 32
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

PSB Esempio 4
Con un D = 0.6 si ha V media carico = 200*0.6 = 120 V

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

33 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 33
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

PSB Esempio 5
Si considera un azionamento in corrente continua con controllo in cascata di
velocità. Motore a eccitazione costante. Chopper di tipo Buck (file
motoreDC.mdl)

Parte di controllo
Università di Pisa Dipartimento di
Sistemi Elettrici e Automazione

Parte di potenza

34 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 34
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

PSB Esempio 5

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

35 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 35
StateFlow
Università di Pisa Dipartimento di
Sistemi Elettrici e Automazione
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

Lo StateFlow
E’ uno strumento di progetto e sviluppo di sistemi di supervisione
all’interno di Simulink.
Usando StateFlow si può:
• creare in modo grafico sistemi basati sulla teoria delle macchine a
Università di Pisa Dipartimento di
stati;

Sistemi
• sviluppare Elettrici
sistemi di supervisione; e Automazione
• simulare il comportamento di un PLC.

E’ uno strumento estremamente semplice da utilizzare. Permette di


rappresentare in modo conciso il comportamento di sistemi complessi,
usando la teoria delle macchine a stati, la notazione dei diagrammi di
flusso e i diagrammi stati-transizioni.

37 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 37
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

Lo StateFlow
La macchina a stati
E’ la rappresentazione di un sistema reattivo (guidato da eventi).
In una situazione di questo tipo, il sistema passa da uno stato all’altro
se la transizione (condizione di passaggio) è vera.
Università di Pisa Dipartimento di
Sistemi Elettrici
Stato A
e Automazione
condizione

Stato B

38 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 38
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

StateFlow - gli elementi

Un blocco realizzato con StateFlow non è altro che una


rappresentazione grafica di una macchina a stati i cui elementi sono:
• gli stati

Università di Pisa Dipartimento di


• le transizioni
• i nodi di giunzione
Sistemi
• le callbacks
Elettrici e Automazione
• le connessioni di input e output con Simulink

39 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 39
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

StateFlow – Gli stati


Uno stato è una precisa condizione di funzionamento. Può essere:
• Superstato (se contiene altri stati)
• Substato (se è contenuto in un superstato)
• Semplice (se non è nè un superstato, nè un substato)

Università
Stato Adi Pisa Dipartimento di Stato C Superstato

Sistemi ElettriciStato
e Automazione
Semplice
B
Substato

Stato D
Substato

Si possono avere diversi livelli gerarchici e quindi uno stato può essere
contemporaneamente un substato e un superstato. Se uno stato è attivo
significa che il sistema si trova in quella condizione di funzionamento.
40 Luca Sani Laboratorio informatico
Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 40
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

StateFlow – Decomposizione Or-And


Un superstato al suo interno può contenere stati con modalità di
funzionamento di tipo OR oppure And.
Decomposizione OR: può essere attivo solo un substato alla volta.
Decomposizione AND: sono attivi contemporaneamente tutti i substati.

Università OR di Pisa Dipartimento


AND di
Sistemi
Stato C Elettrici e Stato
Automazione
Superstato
C Superstato

Stato B Stato B
Substato Substato

Stato D Stato D
Substato Substato

41 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 41
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

StateFlow – Transizione
La transizione si rappresenta con una freccia che parte da uno stato
(sorgente) ad un altro (destinatario) e specifica la condizione che si
deve verificare per disattivare lo stato sorgente e attivare quello
destinatario.

Università di Pisa Dipartimento di


Da sottolineare che si può verificare la transizione, solo se lo stato
sorgente è attivo.

Sistemi Elettrici e Automazione


Transizione
Stato A Stato B

42 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 42
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

StateFlow – Transizione di default


In una decomposizione di tipo OR occorre specificare quando il
superstato è attivo e quale dei vari substati deve essere attivato.

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione
Transizione di Default

Transizione
Stato A Stato B

43 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 43
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

StateFlow – Transizione con memoria


In una decomposizione di tipo OR può essere richiesto che quando il
superstato viene riattivato, non sia attivato lo stato di default, ma lo
stato che era attivo quando il superstato è stato disattivato. Occorre,
allora, inserire nel superstato una cella di memoria in cui sia
memorizzato l’ultimo stato attivo.
Università di Pisa Dipartimento di
Sistemi Elettrici e Automazione
Transizione di Default

Transizione
Stato A Stato B

Memoria

44 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 44
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

StateFlow – I nodi di giunzione


Un nodo di giunzione permette di rappresentare differenti possibili
percorsi di transizioni per una stessa transizione in base al valore di
una specifica variabile, cioè lo stato di arrivo può essere diverso a
seconda del valore di questa variabile.

Università di Pisa
Cond_1
Dipartimento di
Sistemi Elettrici e Automazione
Stato B

Stato A Giunzione

Stato C
Cond_2

45 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 45
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

StateFlow – Esempi I

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione
Per default è attivo il superstato S e all’interno di questo lo stato D. Se
avviene l’evento c si passa nello stato A. Se è attivo S e avviene l’evento
e si passa in B. Se è attivo allo stato B e avviene l’evento d si passa allo
stato S.

46 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 46
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

StateFlow – Esempi II

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

Per default è attivo lo stato A. Se avviene l’evento e1 o e2 si passa nel


superstato B. Se si è verificato l’evento e1 è attivo lo stato B1, oppure,
se si è verificato l’evento e2, viene attivato lo stato B2.

47 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 47
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

StateFlow – Esempi III

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

Quando il superstato Counting è attivato il substato che viene attivato


dipende dal valore della variabile select.

48 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 48
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

StateFlow – Esempi IV

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

Per default è attivo lo stato Off. Con l’evento Switch_on si attiva il


superstato On e lo stato Waiting. Se è attivo questo ultimo e si verifica
l’evento Selection_made, in base al valore della variabile select si attiva
uno degli stati tra Orange, Cola, Rootbeer o Lemon. Se è attivo On e si
verifica Switch_off si passa allo stato Off.
49 Luca Sani Laboratorio informatico
Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 49
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

StateFlow – Esempi V

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

Per default è attivo lo stato Power_off. Se si ha l’evento switch_on si


attiva l’evento Power_on e la prima volta lo stato Low. Le volte
successive si attiverà l’ultimo stato attivo.

50 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 50
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

La libreria StateFlow
Nella libreria di Simulink è presente il blocco StateFlow

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

51 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 51
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

Creazione di un diagramma StateFlow


Aprendo il blocco Chart si entra nell’ambiente di sviluppo di StateFlow

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

52 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 52
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

Come inserire uno stato


Si seleziona l’apposita icona sulla barra e poi con il mouse si posiziona lo
stato a cui si può assegnare un nome e definire le callbacks.

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

53 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 53
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

StateFlow – Label dello stato


La Label dello stato viene riportata nell’angolo in alto a sinistra. Ha una
struttura del seguente tipo:

nome stato/

Università di Pisa
entry: azione eseguita quando Dipartimento di
lo stato si attiva

Sistemi
during: Elettrici
azione eseguita mentre lo stato e Automazione
è attivo

exit: azione eseguita quando lo stato si disattiva

on nome evento: azione eseguita mentre lo stato è attivo e


si verifica l’evento specificato

54 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 54
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

StateFlow - Superstato
Per creare un superstato è sufficiente inserire uno stato nel diagramma
e poi con il mouse ingrandirlo in modo da permettere di inserire al suo
interno altri stati.

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

55 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 55
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

StateFlow – Decomposizione And/Or


Quando si crea un superstato per default la decomposizione è di tipo OR.
Per modificarla si seleziona lo stato e poi menu tasto destro del mouse->
Decomposition si seleziona la scelta.

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

56 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 56
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

StateFlow - Transizione
Per creare una transizione è sufficiente selezionare lo stato di partenza
e poi tenere premuto il tasto sinistro del mouse fino ad arrivare allo
stato di arrivo. Successivamente si può editare la condizione di
transizione.

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

57 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 57
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

StateFlow – Label della transizione


La Label associata alla transizione è riportata lungo la curva. Ha una
struttura del seguente tipo:

event[condition]{condition_action}/transition_action

Università di Pisa Dipartimento di


event: è l’evento associato alla transizione che si deve verificare
per avere il passaggio da uno stato all’altro. Può essere
Sistemi
omesso.
Elettrici e Automazione
[condition]: è una condizione booleana che deve essere vera
affichè avvenga la transizione

{condition_action}: è l’azione che viene eseguita durante la


transizione.

/transition_action: è l’azione che viene eseguita se la transizione


è avvenuta

58 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 58
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

StateFlow – Label della transizione


Esempio

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

59 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 59
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

StateFlow - Stato default- Giunzione


Memoria
Per creare uno stato di default, un blocco memoria e una giunzione è
sufficiente selezionare le rispettive icone nella barra e poi collocare gli
oggetti con il mouse.

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

60 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 60
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

StateFlow - Variabile di input da Simulink


Un dato (o evento) di input da Simulink si crea dal menu Add->Data-
>Input from Simulink. E’ una variabile globale all’interno di Chart.

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

61 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 61
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

StateFlow - Variabile di Output da Simulink


Un dato (o evento) di output a Simulink si crea dal menu Add->Data-
>Output to Simulink. E’ una variabile globale all’interno di Chart.

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

62 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 62
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

StateFlow – Costanti e variabili


E’ possibile definire costanti e variabili in un Chart dal menu Add-> Data.
Dalla scheda relativa si può definire l’area di visibilità dell’oggetto.

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

63 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 63
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

StateFlow – Evento
E’ possibile definire un Evento. Si tratta sostanzialmente di una variabile
di tipo booleano (vero o falso). Si definisce a partire dal menu Add-
>Event e può essere locale (definito all’interno di un superstato) oppure
può essere di input o output da Simulink.

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

Se l’evento è locale, in uno stato diverso è identificato con la sintassi:


nome_stato_di_definizione.nome_evento
64 Luca Sani Laboratorio informatico
Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 64
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

StateFlow – Esplore
E’ possibile visualizzare la struttura del flowchar e delle variabili e degli
eventi definiti con l’explorer dello StateFlow che si attiva con il menu
Tool

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

65 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 65
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

StateFlow – Esempio
Dati due pistoni pneumatici, si vuol realizzare la seguente sequenza
ciclica di movimenti:
Stato_1 Stato_2 Stato_3 Stato_4

A+
Pistone A

Università di Pisa Dipartimento di


A-

Sistemi Elettrici e Automazione


B+
Pistone B

B-

- +
A (B) - : pistone A (B) in posizione iniziale
A (B) + : pistone A (B) in posizione finale
camera anteriore
Sono evidenti 4 diversi stati di funzionamento.
camera posteriore
66 Luca Sani Laboratorio informatico
Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 66
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

StateFlow – Esempio
• Stato 1
Pistone A in movimento in avanti e Pistone B a riposo con stelo
dentro
• Stato 2
Pistone A a riposo con stelo fuori e Pistone B in movimento in avanti
Università di Pisa Dipartimento di
• Stato 3

Sistemi Elettrici e Automazione


Pistone A in movimento indietro e Pistone B a riposo con stelo fuori
• Stato 4
Pistone A a riposo con stelo dentro e Pistone B in movimento
indietro

A questi si aggiungono due ulteriori stati

• Impianto spento
• Impianto acceso
67 Luca Sani Laboratorio informatico
Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 67
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

StateFlow – Esempio
Ogni pistone si modellizza con un sistema del primo ordine con f.d.t:

y( s ) 1
P (s) = =
u( s ) 1+ s

Università di Pisa
L’uscita y(s) è la posizione del pistone:
Dipartimento di
y(s) =Sistemi
0 pistone conElettrici e Automazione
stelo completamente dentro
y(1) = 1 pistone con stelo completamente fuori

L’ingresso u(s) è il comando dell’aria:


u(s) = 0 aria nella camera anteriore; movimento dello stelo indietro
u(s) = 1 aria nella camera posteriore; movimento dello stelo in avanti

68 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 68
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

StateFlow – Esempio

Con lo StateFlow si può schematizzare la logica di controllo dei


pistoni e quindi simulare il comportamento di un PLC.
Le variabili di input da Simulink sono:
Universitàè ladiy(s)Pisa
Pos_Pistone_A del pistone Dipartimento
A di
Sistemi Elettrici e Automazione
Pos_Pistone_B è la y(s) del pistone B
Inter_On_Off comando di impianto spento (0) o acceso (1)

Le variabili di uscita a Simulink sono:


cmd_Pistone_A è la u(s) del pistone A
cmd_Pistone_B è la u(s) del pistone B

69 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 69
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

StateFlow – Esempio
Lo StateFlow si compone dei seguenti stati:
• impianto_off (è quello di default)
• impianto_on (è un superstato con decomposizione OR)

Università di Pisa Dipartimento


al suo interno si hanno i seguenti stati:
• stato_1 (default)
di
Sistemi Elettrici e Automazione
• stato_2
• stato_3
• stato_4
Il superstato deve avere memoria perché quando si riaccende la
sequenza deve ripartire dalla posizione corrente dei pistoni.

70 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 70
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

StateFlow – Esempio
In base alle considerazioni viste in precedenza lo StateFlow si presenta
come in figura

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

71 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 71
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

StateFlow – Esempio
Lo schema Simulink completo è

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

72 Luca Sani Laboratorio informatico


Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-2006
27 aprile 2006 72

Potrebbero piacerti anche