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

• Sistemi tempo varianti


• I segnali
• Sottosistemi
Università
• Maschere di Pisa Dipartimento di
•Sistemi
Accelerator Elettrici e Automazione
• Comandi Matlab
• Le S-Function

2 Luca Sani Laboratorio informatico


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

Sistemi tempo varianti


Simulink permette di simulare sistemi dinamici i cui
parametri sono variabili nel tempo. Si utilizzano i blocchi
Clock e Transportation Delay.

Il blocco Clock (libreria

Università di Pisa Dipartimento di


Sources)
l’istante
rende
corrente
disponibile
della

Sistemi Elettrici e Automazione


simulazione.

Il blocco Transportation Delay


(libreria Continuous) permette
di simulare un ritardo
temporale: l’uscita è il segnale
d’ingresso ritardato di un
tempo specificato.

3 Luca Sani Laboratorio informatico


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

Sistemi tempo varianti

Si considera il seguente esempio

x ( t ) + x ( t ) = x ( t − 0.5 ) + t sin ( x ( t ) ) x ( 0 ) = 0.2

Università di Pisa Dipartimento di


La dipendenza esplicita dal tempo è ottenuta
Sistemi Elettrici e Automazione
considerando il tempo come un ulteriore ingresso del
sistema.
Si riporta nella forma adatta alla simulazione:

x ( t ) = − x ( t ) + x ( t − 0.5 ) + t sin ( x ( t ) )

4 Luca Sani Laboratorio informatico


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

Sistemi tempo varianti


Si costruisce il modello Simulink associato

x ( t ) = − x ( t ) + x ( t − 0.5 ) + t sin ( x ( t ) )

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

5 Luca Sani Laboratorio informatico


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

Sistemi tempo varianti


Si eseguono i vari collegamenti, si modifica il nodo sommatore, si
assegna la condizione iniziale all’integratore e il valore del ritardo
temporale.

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

6 Luca Sani Laboratorio informatico


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

Sistemi tempo varianti


Si accettano i parametri di simulazione di default.

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

7 Luca Sani Laboratorio informatico


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

I Segnali
I segnali in Simulink sono flussi di valori che rappresentano l’output di
un blocco quando il modello è simulato.
E’ utile pensare che i segnali viaggino lungo le linee che collegano i
blocchi in uno schema.
Università di Pisa Dipartimento di
Da sottolineare che queste linee rappresentano dei collegamenti logici
e non fisici (cioè indicano quali ingressi e quali uscite dei vari blocchi
Sistemi Elettrici e Automazione
sono connessi e la propagazione dei segnali è istantanea).

8 Luca Sani Laboratorio informatico


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

I Segnali
Negli esempi fino ad adesso esaminati tutti i blocchi considerati erano
caratterizzati da un ingresso e da un’uscita. In altri termini le quantità
in ingresso ed in uscita dei singoli blocchi erano degli scalari.
Questa scelta non è sempre perseguibile né ottimale.

Università di Pisa Dipartimento di


E’ possibile costruire schemi Simulink di tipo multivariabile,
caratterizzati dal fatto che i blocchi possono avere più di un ingresso
Sistemi Elettrici e Automazione
e di un’uscita.
Gli schemi multivariabili possono essere realizzati sia utilizzando
blocchi caratterizzati da più punti di entrata o di uscita, sia blocchi in
cui l’unico punto di ingresso (uscita) fisico corrisponde a n-ingressi
(uscite) logiche.
Questo permette di ridurre al minimo il numero di collegamenti
necessari per la costruzione dello schema e di conseguenza permette
di aumentare la chiarezza degli schemi stessi

9 Luca Sani Laboratorio informatico


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

I Segnali
E’ possibile ottenere un segnale multivariabile a partire da n segnali
scalari utilizzando il blocco Mux (Signal Routing)

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

Come parametro del Mux occorre specificare il numero di ingressi

10 Luca Sani Laboratorio informatico


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

I Segnali
E’ possibile evidenziare nello schema i segnali multivariabili (sono
rappresentati in grassetto) e le dimensioni dei canali scegliendo
rispettivamente l’opzione Wide Nonscalar Lines e Signal Dimensions
nel menu Format

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-
6 aprile 2006
2006 11
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

I Segnali
Il blocco Mux può combinare anche segnali vettoriali. In questo caso
il parametro è un vettore la cui dimensione corrisponde al numero di
canali di ingresso; ogni elemento specifica le dimensioni del
corrispondente segnale di ingresso.

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-
6 aprile 2006
2006 12
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

I Segnali
Il blocco Mux consente di ridurre il numero delle linee in uno
schema. Si rende necessario ad esempio in ingresso ad un blocco
funzione (Fcn). Questo infatti è l’unico modo per utilizzare più
ingressi e implementare funzioni a più variabili.

Università di Pisa Dipartimento di


L’ingresso u al Fcn
Sistemi Elettrici e Automazione
è adesso un
vettore. I singoli
segnali sono
rappresentati dalla
variabile u seguita
dall’indice racchiuso
tra parentesi
quadre.

13 Luca Sani Laboratorio informatico


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

I Segnali
E’ possibile scomporre un segnale multivariabile utilizzando il blocco
Demux (Signal Routing)

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

Come parametro del Mux occorre specificare il numero di segnali di


uscita. Se questo è uno scalare deve essere uguale alle dimensioni
del segnale di ingresso, mentre in uscita tutti i segnali sono scalari.

14 Luca Sani Laboratorio informatico


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

I Segnali
E’ possibile riorganizzare i segnali di uscita come segnali
multivariabili; in questo caso il parametro deve essere un vettore le
cui dimensioni sono il numero di segnali e il valore di ogni elemento
rappresenta le dimensioni del corrispondente segnale.

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

15 Luca Sani Laboratorio informatico


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

I Segnali Wireless
In presenza di schemi complessi tracciando tutte le linee necessarie al
collegamento dei vari blocchi si potrebbero venire a creare veri e
propri grovigli di fili tali da rendere praticamente incomprensibile lo
schema. Simulink mette a disposizione i blocchi From e Goto che
consentono di realizzare collegamenti wireless.
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-
6 aprile 2006
2006 16
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

I Segnali Wireless
Ad ogni blocco Goto è associata un’etichetta (vedi esempio Label).
Introducendo in uno o più blocchi From si crea un collegamento
wireless tale per cui tutti i segnali che entrano nel Goto escono dai
From.

Nel blocco Goto è necessario specificare


Università di Pisa Dipartimento di
l’ambito di visibilità delle etichette

Sistemi Elettrici e Automazione


Global: il Goto è accessibile da qualunque
punto dello schema
Local: il Goto è accessibile solo all’interno
del sottosistema in cui è collocato.
Scoped: è accessibile all’interno del
sottosistema e in tutti quelli inferiori.

17 Luca Sani Laboratorio informatico


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

Comportamento dei blocchi in presenza di


segnali multivariabili

Molti blocchi Simulink accettano ingressi di tipo vettoriale.


Simulink adatta in modo dinamico i parametri alle dimensioni del

Università
segnale di ingresso.
di Pisa Dipartimento di
A secondo della situazione si parla di espansione scalare degli input o
Sistemi Elettrici e Automazione
dei parametri.

18 Luca Sani Laboratorio informatico


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

Espansione Scalare degli Input


Nel caso che in ingresso ad un blocco si abbia un segnale scalare e
un segnale multivariabile, Matlab espande il segnale scalare in modo
da ottenere un segnale multivariabile delle stesse dimensioni
dell’altro segnale di ingresso.

Università di Pisa Dipartimento di


Esempio:
si ha un nodo sommatore i cui ingressi sono un segnale scalare e
uno Sistemi Elettrici
vettoriale di dimensione e Automazione
3. Quello scalare è trasformato in uno
vettoriale di dimensione 3 costituito da tre segnali identici.

19 Luca Sani Laboratorio informatico


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

Espansione Scalare dei Parametri


Nel caso che in ingresso ad un blocco si abbia un segnale vettoriale e i
parametri del blocco siano scalari, Matlab esegue un’espansione dei
parametri, applica cioè la stessa funzione ad ogni canale del segnale
di ingresso.
Esempio
Università di Pisa Dipartimento di
Si ha un guadagno con in ingresso un segnale vettoriale di
Sistemi Elettrici e Automazione
dimensione 3. Matlab applica lo stesso guadagno ad ogni canale

20 Luca Sani Laboratorio informatico


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

Espansione Scalare dei Parametri


Esempio
Si ha un integratore con in ingresso un segnale vettoriale di
dimensione 3. Matlab calcola separatamente l’integrale di ogni segnale
di ingresso.

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-
6 aprile 2006
2006 21
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

Blocchi con Parametri Multidimensionali


In quasi tutti i blocchi Simulink è possibile inserire dei vettori nei
campi parametri. In questo modo è possibile implementare n funzioni
differenti (con l’obbligo che la dimensione delle condizioni vettoriali sia
pari alla dimensione dell’ingresso).

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-
6 aprile 2006
2006 22
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

Creazione di un Sottosistema
La leggibilità e la chiarezza di uno schema si riduce quando il numero
di blocchi presenti diviene elevato.
E’ sempre possibile scomporre un sistema complesso in
n-sottosistemi più semplici.
Università di Pisa Dipartimento di
Sistemi Elettrici e Automazione
Questo permette di:
• aumentare la chiarezza,
• una messa a punto più efficace, potendo testare separatamente ed
indipendentemente la validità e la correttezza dei singoli componenti
e, solo in un secondo momento, la validità dello schema nel suo
complesso.

23 Luca Sani Laboratorio informatico


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

Creazione di un Sottosistema
Simulink permette di organizzare uno schema in modo gerarchico.
Permette cioè di raggruppare parte del modello in un unico blocco
detto sottosistema (Subsystem).
Questo diviene nuovo blocco Simulink che può essere utilizzato per
Università di Pisa Dipartimento di
costruire nuovi schemi.
Un Sistemi Elettrici
sottosistema può contenere e Automazione
a sua volta altri sottosistemi
realizzando così un’organizzazione gerarchica dello schema su un
numero arbitrale di livelli.

24 Luca Sani Laboratorio informatico


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

Creazione di un Sottosistema

I passi per creare un sottosistema sono:


• selezionare tutti i blocchi che interessa raggruppare (la selezione
multipla si realizza con il mouse, tenendo premuto il tasto sinistro e
muovendo il cursore in modo da creare l’area che contiene tutti i
Università di Pisa Dipartimento di
blocchi, oppure tenendo premuto il tasto Shift e selezionando con il
mouse i singoli blocchi).
Sistemi
• selezionare Elettrici
l’opzione e Automazione
Create Subsystem dal menu Edit (o la
combinazione CTRL-G)
• Al posto dei blocchi selezionati comparirà un unico blocco il cui
nome di default è Subsystem.

25 Luca Sani Laboratorio informatico


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

Creazione di un Sottosistema
Si riprende il modello del riscaldamento di un’abitazione. Si selezionano
i vari elementi che costituiscono il modello termico della casa.

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-
6 aprile 2006
2006 26
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

Creazione di un Sottosistema
Si seleziona l’opzione Create Subsystem

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

27 Luca Sani Laboratorio informatico


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

Creazione di un Sottosistema
Simulink sostituisce i blocchi selezionati con un nuovo blocco
denominato Subsystem

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-
6 aprile 2006
2006 28
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

Creazione di un Sottosistema
Il nuovo blocco presenta un numero di ingressi e di uscite tali da
mantenere le connessioni con gli oggetti esterni al sottosistema. In
particolare:
• Il numero di ingressi è pari al numero di segnali provenienti dai

Università di Pisa Dipartimento


blocchi esterni rivolti ai blocchi interni al sottosistema.
di
Nel caso in esame si hanno i segnali provenienti dal termostato e
dallaSistemi Elettrici e Automazione
temperatura esterna.
• Il numero di uscite è pari al numero di segnali provenienti dai
blocchi interni al sottosistema e rivolti a blocchi esterni.
Nel caso in esame si ha il segnale temperatura casa collegato allo
scope e all’anello di controllo.

29 Luca Sani Laboratorio informatico


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

Creazione di un Sottosistema
Se si seleziona il blocco creato e si clicca due volte il tasto sinistro
del mouse si apre una nuova finestra che contiene:
• la parte del modello raggruppata

Università di Pisa Dipartimento di


• ogni segnale di ingresso
è indicato da un blocco
Sistemi Elettrici e Automazione
Inport (In)

• ogni segnale di uscita è


indicato da un blocco
Outport (Out)

30 Luca Sani Laboratorio informatico


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

Creazione di un Sottosistema

Simulink numera in modo progressivo i blocchi di ingresso e di uscita.


L’ordine degli ingressi sul lato sinistro dell’icona del blocco (dall’alto
verso il basso) coincide con l’ordine delle porte di input presenti nel
Università di Pisa Dipartimento di
sottosistema: ossia la porta identificata con In1 è il primo ingresso in
alto e così via.
Sistemi
Analogo Elettrici
discorso per e Automazione
la corrispondenza tra le porte di uscita e le
uscite del sottosistema.
Se nel sottosistema si aggiunge un blocco Outport (Inport) questo
viene numerato in modo automatico e si aggiunge un’uscita
(ingresso) all’icona del sottosistema.

31 Luca Sani Laboratorio informatico


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

Creazione di un Sottosistema
Per una migliore comprensione del blocco si possono rinominare i
blocchi Inport e Outport. Le nuove etichette compaiono nell’icona del
blocco.

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

32 Luca Sani Laboratorio informatico


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

Creazione di una Maschera

I sottosistemi realizzati presentano alcuni inconvenienti:


• hanno un aspetto grafico standard e possono essere riconosciuti
solo grazie al loro nome;

Università di Pisa Dipartimento di


• non è prevista alcuna spiegazione sul loro funzionamento;

Sistemi Elettrici e Automazione


• risulta difficile assegnare i valori ai vari parametri dei blocchi interni.

Per superare questa difficoltà è possibile mascherare il sottosistema


tramite l’operazione di mask.

33 Luca Sani Laboratorio informatico


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

Creazione di una Maschera

L’operazione di mask non riguarda solo gli aspetti grafici del


sottosistema, ma coinvolge anche le modalità di gestione delle
variabili.
Creando un mask tutte le variabili utilizzate all’interno del
Università di Pisa Dipartimento di
sottosistema vengono mascherate, cioè non sono più accessibili
dall’esterno del sottosistema e l’unico modo per assegnare i valori è
Sistemi Elettrici e Automazione
quello di utilizzare i parametri del blocco definiti tramite il Mask
Editor.

Si crea una maschera selezionando il blocco e poi scegliendo


l’opzione Mask subsystem.

34 Luca Sani Laboratorio informatico


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

Creazione di una Maschera


Compare la finestra del Mask Editor

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-
6 aprile 2006
2006 35
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

Creazione di una Maschera


Pagina Icon: consente di specificare l’aspetto grafico del blocco.
Icon frame: specifica se visualizzare il rettangolo contornante il
blocco.
Icon trasparency: specifica se il disegno deve coprire o no il nome
delle porte
Università di Pisa Dipartimento di
Icon rotation: specifica se l’orientazione del disegno deve cambiare
Sistemi Elettrici e Automazione
in presenza di rotazioni del blocco
Drawing coordinates: specifica il sistema di coordinate per il disegno.

larghezza, altezza
max(X), max(Y) (1,1) del blocco

Autoscale Normalized Pixel

min(X), min(Y) (0,0) (0,0)

36 Luca Sani Laboratorio informatico


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

Creazione di una Maschera


Pagina Icon
All’interno del blocco è possibile inserire:
• Testo con i comandi text e disp
Sintassi
Università di Pisa Dipartimento di
text(x, y, text)

Sistemi Elettrici e Automazione


disp(text)
in questo caso il testo è centrato nell’icona
• Etichette da associare alle porte del blocco comando port_label
Sintassi
port_label(port_type, port_number, label)
Esempio:
port_label(‘input’, 2, ‘velocità’)
37 Luca Sani Laboratorio informatico
Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-
6 aprile 2006
2006 37
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

Creazione di una Maschera


Pagina Icon
All’interno del blocco è possibile inserire:
• Disegni tramite il comando plot

Università di Pisa Dipartimento di


la sintassi è la stessa dell’analogo comando Matlab, non sono però
ammessi i modificatori che specificano il tipo e il colore delle linee.
Sistemi
• Immagini Elettrici
con il comando image e Automazione
Sintassi
image(imread(file))
Esempio:
image(imread('icon.tif'))

38 Luca Sani Laboratorio informatico


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

Creazione di una Maschera


Pagina Icon
All’interno del blocco è possibile inserire:
• Funzioni di trasferimento con i comandi dpoly e droots
mostrano rispettivamente, la funzione di trasferimento e la sua
Università di Pisa Dipartimento di
rappresentazione in termini di poli e zeri.

Sistemi
Sintassi
Elettrici
dploy(numeratore, denominatore)
e Automazione
droots(zeri, poli, guadagno statico)
I parametri sono dati come vettori
Nel campo Drawing commands è possibile inserire più comandi. E’
possibile far riferimento solo a variabili definite nel campo
Initialization. Se si inserisce un comando errato Simulink mostrerà la
stringa ??? all’interno del blocco.
39 Luca Sani Laboratorio informatico
Luca Sani perDSEA
l’ingegneria elettrica
Università di Pisa 3 ° Et n A.A. 2005-
6 aprile 2006
2006 39
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

Creazione di una Maschera


Pagina Parameters
Consente di definire i parametri del blocco, il legame tra questi e i
parametri presenti nel sottosistema.

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

40 Luca Sani Laboratorio informatico


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

Creazione di una Maschera


Pagina Parameters
Per ogni parametro che apparirà nella finestra dei parametri del blocco
occorre specificare:
Prompt: specifica l’etichetta del campo

Università di Pisa Dipartimento di


Variable: il nome della variabile nella quale memorizzare il valore
Control type: specifica il tipo di campo parametri. Le possibilità sono
Edit, Sistemi Elettrici e Automazione
Checkbox e Popup

I comandi a lato consentono di inserire, cancellare e ordinare i


parametri della maschera

Nel campo Initialization commands è possibile specificare le variabili


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

Creazione di una Maschera


Pagina Initialization
E’ possibile specificare le variabili locali che ad esempio possono
essere utilizzate sia per il disegno dell’icona del blocco che per la
definizione dei parametri dei blocchi che formano il sottosistema.

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

42 Luca Sani Laboratorio informatico


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

Creazione di una Maschera


Pagina Documentation
Consente di documentare il funzionamento del blocco

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

43 Luca Sani Laboratorio informatico


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

Creazione di una Maschera


Pagina Documentation
Consente di documentare il funzionamento del blocco definendo:
• Mask type: permette di specificare il tipo di blocco
• Block description: è la sintetica descrizione del blocco che compare
Università di Pisa Dipartimento di
nella parte alta della finestra dei parametri.

Sistemi Elettrici e Automazione


• Block help: è il testo che compare (in formato html) quando si
preme il tasto Help

44 Luca Sani Laboratorio informatico


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

Creazione di una Maschera


Esempio: si vuol realizzare una maschera al sottosistema casa

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

45 Luca Sani Laboratorio informatico


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

Creazione di una Maschera


Nel campo drawing si inserisce la seguente stringa:
plot(0,0,100,100,[20,80,80,20,20],[20,20,70,70,20],[15,50,85,15],[70,90
,70,70],[42,42,29,29],[20,44,44,20],[52,68,68,52,52],[55,55,44,44,55])

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

46 Luca Sani Laboratorio informatico


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

Creazione di una Maschera


Premendo il comando Apply l’aspetto del blocco è diventato il seguente

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

47 Luca Sani Laboratorio informatico


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

Creazione di una Maschera


Si rientra nel sottosistema e si sostituiscono i valori numerici dei
parametri con delle variabili

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

48 Luca Sani Laboratorio informatico


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

Creazione di una Maschera


Si crea la finestra dei parametri
Si seleziona il blocco e l’opzione Edit Mask nel menu Edit. In questo
modo ricompare l’Edit Mask

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

49 Luca Sani Laboratorio informatico


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

Creazione di una Maschera


Nella pagina Parameters si inseriscono le due variabili C e Req
come campi edit. Per fare ciò occorre premere il tasto Add e poi
compilare i vari campi

Università di Pisa Dipartimento di


Sistemi
Add
Elettrici e Automazione

50 Luca Sani Laboratorio informatico


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

Creazione di una Maschera


Una volta premuto Apply o Ok, se si ritorna al modello Simulink e si
clicca sul blocco casa, compare la finestra parametri, in cui è possibile
assegnare i valori

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-
6 aprile 2006
2006 51
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

Creazione di una Maschera


Si può ritornare nel Mask Editor per completare la maschera
inserendo alcuni commenti come help

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-
6 aprile 2006
2006 52
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

Creazione di una Maschera


Adesso la maschera parametri si presenta nel seguente modo:

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-
6 aprile 2006
2006 53
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

Creazione di una Maschera


Da questo momento il sottosistema è “mascherato” e non è più
direttamente visibile.
Per poter accedervi occorre selezionare il blocco e scegliere l’opzione
Under Mask nel menu Edit

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

54 Luca Sani Laboratorio informatico


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

Il Simulink Accelerator
Nel caso di modelli Simulink complessi i tempi di simulazione possono
essere molto lunghi. Simulink mette a disposizione un tool, chiamato
Accelerator, che consente di ridurre drasticamente i tempi di
simulazione.

Università di Pisa Dipartimento di


A partire dal modello Simulink costruito in modo grafico, Simulink crea
prima un file in linguaggio C e successivamente un eseguibile (Mex
Sistemi Elettrici e Automazione
file).
Con questa soluzione il tempo di simulazione si può ridurre
mediamente a un decimo del tempo impiegato con il file interpretato.

55 Luca Sani Laboratorio informatico


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

Il Simulink Accelerator

Le operazioni da eseguire per creare un file Simulink compilato sono:


• Installazione del Simulink Performance Tool
• Definizione del compilatore C da utilizzare

Università di Pisa Dipartimento di


Dal rompt dei comandi occorre digitare

Sistemi
>> mex –setup
Elettrici e Automazione
Matlab chiede se si vuol vedere l’elenco dei compilatori C installati nel
PC e successivamente di sceglierne uno.
Matlab mette a disposizione un compilatore denominato Lcc

56 Luca Sani Laboratorio informatico


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

Il Simulink Accelerator

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-
6 aprile 2006
2006 57
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

Il Simulink Accelerator

• Nel menu Simulation selezionare l’opzione Accelerator

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

58 Luca Sani Laboratorio informatico


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

Il Simulink Accelerator

Avviando la simulazione del modello Simulink esegue le seguenti


operazioni:
• crea un file C corrispondente al modello Simulink

Università di Pisa Dipartimento


• compila il file e crea un eseguibile (Mex file)
• lancia la simulazione
di
TutteSistemi Elettrici
le volte che viene modificatoelo Automazione
schema Simulink si ripete la
procedura di creazione del file Mex.

59 Luca Sani Laboratorio informatico


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

I comandi Matlab

E’ possibile gestire un modello Simulink anche da prompt dei


comandi di Matlab.

Università di
Simulazione di un modello
Pisa Dipartimento
Per eseguire una simulazione si può utilizzare la funzione sim.
di
Sistemi Elettrici e Automazione
Sitassi
[t, x, y]=sim(‘model’, tfinal, options, ut)
dove
t, x e y sono rispettivamente il vettore degli istanti di simulazione e le
matrici dei corrispondenti valori degli stati e delle uscite del modello.
model è il nome del file che contiene il modello da simulare.

60 Luca Sani Laboratorio informatico


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

I comandi Matlab

Se tfinal è un vettore di due elementi il primo valore è l’istante iniziale


per la simulazione e il secondo è quello finale. Se è un vettore
composto da più di due elementi il primo e l’ultimo sono gli istanti di
start e stop, quelli intermedi sono gli istanti in cui valutare il modello.
Università di Pisa Dipartimento di
Il parametro Options viene generato dalla funzione simset e consente
Sistemi Elettrici e Automazione
di specificare i parametri e il modello di integrazione.
La variabile ut consente di specificare i valori assunti dagli ingressi.
Se al posto di un parametro si introduce la matrice vuota [] per la
simulazione verranno utilizzati i valori specificati all’interno del
modello.

61 Luca Sani Laboratorio informatico


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

I comandi Matlab
Osservazione
Gli ingressi e le uscite del sistema sono esclusivamente quelle
connesse ai blocchi Inport e Outport (la presenza di un generatore
non è considerata equivalente ad un ingresso, ma viene interpretata

Università di Pisa Dipartimento di


come un elemento integrato nello schema).

Sistemi Elettrici e Automazione


Esempio

62 Luca Sani Laboratorio informatico


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

I comandi Matlab

Visualizzazione dei risultati


Con la funzione simplot è possibile visualizzare i risultati di una
simulazione con l’aspetto che ricorda quello di uno scope all’interno
di una finestra Matlab.
Università
Sintassi di Pisa Dipartimento di
Sistemi Elettrici e Automazione
simplot(data)

dove
data è la variabile associata ad un blocco di Output, ad esempio un
To Workspace o un blocco Scope in cui è stato abilitato il salvataggio
delle variabili (Data history).

63 Luca Sani Laboratorio informatico


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

I comandi Matlab

Esempio

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

64 Luca Sani Laboratorio informatico


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

S-Function
Quando è necessario simulare un sistema o una particolare funzione
definita dall’utente, è possibile ricorrere alle S-Function.

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-
6 aprile 2006
2006 65
Laboratorio informatico per l’ingegneria elettrica Ingegneria Elettrica III° Anno

S-Function

Per definire il comportamento di una S-Funcion, si utilizza un M-file


al quale la S-Function stessa viene associata. Un modello di questo
file (template) è “Matlabroot\toolbox\simulink\blocks1sfuntmpl.m”
Questo file è suddiviso in 5 sezioni:
Università di Pisa Dipartimento di
• inizializzazione

Sistemi
•calcolo delle uscite Elettrici e Automazione
• aggiornamento degli stati discreti
• calcolo delle derivate
• fine della simulazione

66 Luca Sani Laboratorio informatico


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

S-Function

Una volta copiato il file modello e rinominato con il nome del S-


Function inclusa nel modello Simulink, è sufficiente modificare
opportunamente le sezioni per ottenere il comportamento voluto.
Università di Pisa Dipartimento di
Sistemi Elettrici e Automazione

67 Luca Sani Laboratorio informatico


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

S-Function: inizializzazione

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

68 Luca Sani Laboratorio informatico


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

S-Function: inizializzazione

L’inizializzazione di una S-Function consiste nello specificare il numero


di ingressi, delle uscite, degli stati continui e discreti, degli ingressi
che si riversano direttamente sulle uscite e del numero dei passi di
campionamento.
Università di Pisa Dipartimento di
Sistemi Elettrici e Automazione

69 Luca Sani Laboratorio informatico


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

S-Function: aggiornamento degli stati e delle


uscite

Università di Pisa Dipartimento di


Sistemi Elettrici e Automazione

70 Luca Sani Laboratorio informatico


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

S-Function: aggiornamento degli stati e delle


uscite

La possibilità di implementare qualsiasi legge di aggiornamento dello


stato, permette di ottenere ogni forma di comportamento dalla S-
Function.
Università di Pisa Dipartimento di
In questo esempio è stato implementato il sistema SISO di ordine 1:

Sistemi Elettrici e Automazione


dX = -3X + u
Y=X
Dove X è lo stato,
dX è la derivata dello stato
u è l’ingresso
Y è l’uscita

71 Luca Sani Laboratorio informatico


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

S-Function: aggiornamento degli stati e delle


uscite

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-
6 aprile 2006
2006 72

Potrebbero piacerti anche