matlab e simulink - · pdf file2 3 caratteristiche generali dell’ambiente di lavoro...
TRANSCRIPT
1
SIMULINK
Model-Based and System-BasedDesign
2
MATLAB E SIMULINKMATLAB
SIMULINK
Real TimeWorkshop
Blocksets (elaborazione numerica dei segnali (DSP),Telecomunicazioni, sistemi di potenza etc..)
StateFlowAltri prodotti:
2
3
Caratteristiche generali dell’ambiente di lavoro Simulink
Simulink è un ambiente per la modellizzazione, l’analisi, e la simulazione di sistemi dinamici.Supporta la simulazione di sistemi lineari, e/o non lineari, che operano con segnali continui e/o discreti di tipo tempo continuo e/o tempo discreto.Simulink fornisce una interfaccia grafica che consente di definire e di costruire il modello mediante il suo diagramma a blocchi. I blocchi vengono trasportati e spostati sul piano di lavoro mediante il mouse.Simulink include un elevato numero di librerie che contengono molti blocchi predefiniti in grado di svolgere operazioni (più o meno elementari) sui segnali.Simulink consente di costruire modelli gerarchici.Simulink si integra completamente con MATLAB.
4
Per utilizzare SIMULINK occorre far partire prima MATLAB. Si può:
1) Digitare simulink al prompt di MATLAB:>> simulink <invio>
2) oppure cliccare sull’icona di simulink nella barra degli strumenti di MATLAB
Starting Simulink
3
5
Simulink Library Browser
Questa è la schermata iniziale su
piattaforma Windows
Nuovomodello
Apri modellogià esistente
(Finestra delle librerie)
6
Finestra di lavoro
Nuovo modello
Operazioni di Base con SimulinkCreazione di un nuovo modelloModifica di un modello già esistentePossibilità di inserire i comandi sulla Command Window di MATLAB
4
7
Caratteristiche della finestra in cui viene creato il modello
Fai partire lasimulazione
Area diLavoro
Mostrale libreriedi Simulink
Toolbar
Status bar
8
a) Si copiano i blocchi (sottosistemi) necessari per creare ilmodello di calcolo desiderato all’interno dell’area di lavoro
b) Si connettono graficamente i singoli blocchi con archi orientati
d) Si fa partire la simulazione e si analizzano i risultati
Blocchi specificicreati dall’utente
Blocchi disponibili nellenumerose librerie di Simulink
L’operazione di copiatura viene effettuata trascinando ilblocco desiderato dalla libreria nell’area di lavoro con il mouse
La creazione dell’arco che unisce un blocco ad un altro viene effettuata con il mouse
c) Si impostano i parametri del simulatore
Creare un Modello Simulink
5
9
Libreria blocchi
non lineariLibrerie diSimulink
Libreria dellesorgenti
Generatore diimpulsi
Elenco delle librerie di Simulink
10
Esempio di creazione di un semplice modello con Simulink
Problema: si desidera • visualizzare un segnale (una funzione) sinusoidale con
assegnato periodo• si vuole calcolare e visualizzare contemporaneamente anche il
segnale (la funzione) ottenuto integrando il segnale sinusoidale generato.
Soluzione del problema con SimulinkRicerca dei blocchi di interesse all’interno delle librerie di SimulinkTrasporto dei blocchi nell’area di lavoroConnessione dei singoli blocchi all’interno dell’area di lavoroImpostazione dei parametri di simulazione (es. Periodo della sinusoide, istante di partenza e di fine della simulazione etc..) Visualizzazione dei risultati e analisi
6
11
Sorgente di segnale sinusoidalea) Per selezionare il blocco cliccare sopra
con il mouseb) Trascinare il blocco nell’area di lavoro
Estrazione dei blocchi necessari dalle librerie Simulink
12
(MUX) Prende due (o più) segnali e limette su una sola
linea di uscita
(Scope) visualizza l’andamentodei segnali nel tempo – blocco di tipo “sink” (pozzo)
Esegue l’operazione di integrazione sul segnale in ingresso (input port) e
restituisce l’integrale del segnale di ingresso segnale sulla porta in uscita
(output port)
Blocchi posti sul piano di lavoro
7
13
Si posiziona il cursore delmouse su una porta
di un blocco di interesse.Il cursore cambia forma.
Si tiene premuto il pulsantesinistro del mouse e si sposta
Il cursore verso la porta di ingresso del blocco successivo.
Si rilascia il bottone delmouse e si ottiene la linea
di connessione mostrata in figura.
Su questa linea di connessione tra i due blocchi viaggia il segnale
Connessione dei singoli blocchi
14
Si posiziona il puntatoredel mouse sulla linea
di connessione dalla qualesi intende prelevare il segnale
Si tiene premuto il tasto<CTRL>, si spinge il pulsante del mouse e si trasporta il puntatore del mouse sulla
porta di ingresso del blocco desiderato
Si rilascia il tasto <CTRL>e il tasto del mouse e si
ottiene la linea di connessionedesiderata.
Prelievo di un segnale su una linea di connessione
8
15
Una volta terminate le connessioni si ottiene lo schema in figura.
Completamento delle connessioni
16Per ora si usano i valori preimpostati di tutti i blocchi
(es. il blocco che genera la sinusoide.)
Istante di inizio e durata
della simulazione
Impostazione dei parametri della simulazione
Caratteristiche del risolutore
di ODE
Opzioni sulla variabile d’uscita
9
17
Il blocco visualizzatore (scope) consente di
visualizzare contemporaneamente entrambi i segnali in
uscita dal blocco multiplatore (MUX)
Visualizzazione e analisi dei risultati ottenuti
18
I blocchi possono operare con segnali campionati reali o complessi
All’inizio della simulazione Simulink analizza i tipi di dati con i quali i singoli blocchi lavoreranno e verifica se tutti i blocchi supportano
il tipo di dati dei segnali posti al loro ingresso.I segnali in ingresso e in uscita da un blocco
possono essere scalari e/o vettoriali
Descrizione più dettagliata di alcune funzioni di Simulink - 1
10
19
a) Spostamento di un blocco all’interno dell’area di lavoro: si seleziona il blocco con il mouse e lo si “trascina” nella posizione deisderata – Simulink provvederà ad aggiustare le connessioni.
b) Duplicazione di un blocco all’interno dell’area di lavoro: selezionare il blocco desiderato – usare la combinazione di tasti <CRTL>+<C>. Spostare il blocco duplicato nella posizione desiderata.
c) Cancellazione di un blocco nell’area di lavoro: selezionare il blocco e premere il tasto <DEL>.
d) Rotazione di un blocco:
Editing sui singoli blocchi – 1
20
e) Ridimensionamento di un blocco: si seleziona il blocco con il mouse e si posiziona il puntatore del mouse su uno dei vertici contrassegnati del blocco. Si sposta il cursore del mouse tenendo il tasto premuto. La dimensione del blocco cambia. Rilasciando il pulsante del mouse si fissa la dimensione desiderata.
f) Cambiamento del nome di un blocco: si clicca con il mouse sul campo relativo al nome del blocco. Si seleziona tutto il nome del blocco e si scrive il nuovo nome.
I sistemi creati possono essere salvati in un file e riutilizzati successivamente
Editing sui singoli blocchi – 2
11
21
Esempio: generatore di segnale sinusoidale
Selezionando il blocco con il mouse e cliccando due volte consecutive si entra nella finestra dei parametri (maschera) delblocco.
Impostazione dei parametri di simulazione di un blocco
22
Esempio: visualizzatore
Zoom nelle direzioni x e y
Zoom nella direzione x
Zoom nella direzione y
Autoscala
Proprietà
Impostazione dei parametri di simulazione di un blocco
12
23
Esempio: saturazione
Impostazione dei parametri di simulazione di un blocco
24
Esempio: generazione di numeri casuali
Impostazione dei parametri di simulazione di un blocco
13
25
Esempio: blocco addizionatore
Impostazione dei parametri di simulazione di un blocco
26
Si consideri il semplice sistema in figura
Memorizza il segnale di uscita in una
variabile disponibile in MATLAB.
Seleziono con il mouse questo sottoinsieme di blocchi
Simulink sostituisce l’insieme dei due blocchi con un solo blocco
simoutTo Workspace
simout
To WorkspaceSubsystem
In Out
Creazione di Sottosistemi
14
27
Problema: conversione da gradi Celsius a Fahrenheit
L’equazione di conversione è
Copio i blocchi necessari dalle librerie nell’area di
lavoro
Creo le connessioni
Faccio partire la simulazione e osservo i risultati
Nota: il blocco di segnale “rampa” genera (tutti) i valori di temperatura Celsius che deve essere convertita in Faherenheit
3259
+= CF TT
Modellizzazione di Equazioni
28
Equazione considerata:
il generatore di segnale può generare molti tipi di segnale
NOTA: Le condizioni iniziali del sistema vengono specificate impostando opportunamente i parametri all’interno dei singoli blocchi.
x’ x
-2x
u
)()(2)( tutxtx +−=′
Modellizzazione di una Equazione Differenziale -1
15
29
Assumendo che il generatore di segnale produca un segnale u(t) del tipo onda quadra, il segnale x(t) (soluzione della equazionedifferenziale) visualizzato è come in Figura.
Modellizzazione di una Equazione Differenziale -2
30
Si entra nella finestra dei parametri di simulazione selezionando nel menu <<Simulation>> la voce <<Parameters>>.
Impostazione dei Parametri di una Simulazione - 1
16
31
La prima finestra di dialogo riguarda il metodo con cui Simulink cerca la soluzione al problema, ossia i RISOLUTORI (SOLVERS)
In questa finestra si può:a) Impostare il tempo di inizio e di
fine di una simulazione (default: da 0 a 10 s)
b) Scegliere il metodo di risoluzione del sistema (risolutori a passo fisso o a passo variabile ad esempio)
c) Impostare le opzioni su tale metodo di risoluzione
d) Impostare le opzioni sulla variabile di uscita
Impostazione dei Parametri di una Simulazione - 2
32
Impostazione dei parametri di una simulazione - 3Simulink DIALOGA con MATLAB !!!!!
I risultati ottenuti dalla simulazione possono essere memorizzati direttamente come variabili MATLAB (nel WORKSPACE)
Simulink può assumere come condizioni iniziali dello stato del sistema (complessivo) direttamente da variabili MATLAB
17
33
Impostazione dei parametri di una simulazione - 4E’ possibile emettere degli avvisi a seguito di errori e/o
inconsistenze che possono verificarsi durante la simulazione (es. divisione per zero, overflow, sottosistemi non connessi etc...)
Messaggi di due tipi: di avviso – non interrompono la simulazionedi errore – interrompono la simulazione
34
Modello di programmazione con Simulink
Generazione segnali in ingresso
Elaborazione
Analisi dei risultati in uscita
Libreria delle sorgentidi segnale
Librerie delle funzioni di Simulink
Librerie per la visualizzazione e memorizzazione dei dati di
uscita
18
35
Librerie di SIMULINK – 1- Sorgenti di segnale
36
Qualche dettaglio su alcune sorgenti di segnale
Time values A vector of monotonically increasing time values. Output values A vector of output values. Each corresponds tothe time value in the same column.
19
37
Librerie di SIMULINK – 2 – Visualizzazione dati di uscita
38
Qualche dettaglio sulla visualizzazione e memorizzazione dei dati
20
39
Librerie di SIMULINK – 3 – Funzioni di simulink
40
Librerie di SIMULINK – 4 – Funzioni di simulink
21
41
Qualche dettaglio sulla libreria delle FUNZIONI di Simulink
42
Librerie di SIMULINK – 5 – Funzioni di simulink
22
43
Librerie di SIMULINK – 6 – Funzioni di simulink
44
Qualche dettaglio sulla libreria delle FUNZIONI di Simulink
MUX
DEMUX
Vettore
24
47
Esercizi
Simulazione di equazioni
a) Implementare i sistemi che realizzano la conversione da gradi Celsius a Fahrenheit e viceversa.
b) Implementare i sistemi che realizzano le seguenti equazioni differenziali:
)()(2)( tutxtx +−=′
)()(sin)( tutxtx =+′′
Graficare l’andamento di x(t) assumendo che u(t) sia:a) un segnale a onda quadra con periodo e ampiezza assegnate.b) un segnale sinusoidale con frequenza e ampiezza assegnate.
(vedi lezioni)
)()()( tutxtx =+′′