Laboratorio informatico per l ingegneria elettrica

Documenti analoghi
Automazione dei Sistemi Industriali

Matlab e Simulink per i sistemi di controllo

Fondamenti di di A utomatica Automatica Prof. Bruno Picasso Introduzione all all uso di di S imulink Simulink

INTRODUZIONE A SIMULINK

Introduzione a Matlab e Simulink

Motivazioni: problema di analisi. Introduzione a Matlab e Simulink. Dove trovare altre informazioni? A cosa serve questa presentazione

Laboratorio di MATLAB

Esercitazioni di Tecnologie per l Automazione. Introduzione a Matlab e Simulink

Laboratorio di Matlab

CONTROLLI AUTOMATICI Ingegneria Meccatronica

Introduzione al Simulink

INTRODUZIONE A SIMULINK

MATLAB-SIMULINK. Simulink. Simulazione di un filtro passabasso RC. Ing. Alessandro Pisano.

L Ambiente di Sviluppo SIMULINK

Simulink. Introduzione a Simulink Esempio sull analisi di sistemi dinamici lineari con il Control System Toolbox e Simulink v. file.m e.

WebDisk. TeamPortal - WebDisk

Simulazione di sistemi non lineari Introduzione a Stateflow

Manuale d uso MOTEC. Pagina 1 di 15

SPAC Automazione 2019

DISPENSA ACCESS (OFFICE 2010 BETA)

Simulink & grafica. Motore in corrente continua. Sottosistemi (subsystems) Maschere (mask)

14Ex-Cap11.qxd :20 Pagina Le macro

Fondamenti di Informatica

Windows. La prima realizzazione di un ambiente grafico si deve alla Apple (1984) per il suo Macintosh. La gestione dei file conserva la logica del DOS

Corso di Access. Prerequisiti. Modulo L2 A (Access) Le query

Università degli Studi di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Corso di Circuiti Integrati Anno Accademico 2016/2017

3.5.1 PREPARAZ1ONE I documenti che si possono creare con la stampa unione sono: lettere, messaggi di posta elettronica, o etichette.

DEFINIZIONI SMART E RELATIVE ESERCITAZIONI. MODULO 4 Realizzazione di semplici presentazioni multimediali

USO DELLA TASTIERA E DEL MOUSE

Gestione della configurazione Input/Output PLC Cosa c'è di nuovo?

USO DELLA TASTIERA E DEL MOUSE

Fondamenti di Informatica A. A. 2017/18

L INTERFACCIA GRAFICA DI EXCEL

Esercitazione di Elettronica Per la Telematica. Trasmettitore BPSK

CIRCUIT MAKER. Il laboratorio Virtuale di Elettronica. Utilità: Progettazione di circuiti. Esecuzione di simulazioni

Capitolo 2. Figura 21. Inserimento dati

WPCustPad Utility per la personalizzazione di WEBpatente 4.2 offline.

5.10 [5.00.1H / 21] FORNITORI PLUS: Riporto note e totali nel controllo fatture

MANUALE di MOVIE MAKER

SISTEMI DI CONTROLLO Ingegneria Meccanica e Ingegneria del Veicolo

Introduzione e strumenti

Componenti VBA per Applicazioni su Database

MANUALE per la GESTIONE dei BANNER della HOME PAGE. SITI OAR e AT di tipo 1 VAI ALL INDICE DEI CONTENUTI

4 COMBINARE RILIEVI. Aprire la directory dei file teddy.art nella directory esempi

Manuale utente Volta Control

SIMULINK MATLAB E SIMULINK. Model-Based and System-Based Design MATLAB SIMULINK. Altri prodotti:

Figura 1 - Finestra Tabella

Maschere. Consentono di visualizzare e gestire in modo diverso i dati contenuti nelle tabelle Creazione di una maschera

1. NOZIONI DI BASE. 1.1 Introduzione

Formazione a Supporto dell Inserimento Lavorativo. Elementi di Word avanzato. Docente Franchini Gloria

Utilizzo delle Maschere in Microsoft Access

Lezione 6- Reliazzare le connessioni

SPAC Start Impianti 18 Creazione di un Blocco (componente) e Blocco Cartiglio

Modulo 4 Esercitazione Nr 2 Office 2007

Microsoft Office 2007

Capitolo 4: Tabelle. y(x) = x 3 ì 2x. Capitolo 4: Tabelle 67. Nota: le tabelle non sono disponibili nel modo di rappresentazione grafica 3D.

Introduzione al DEV C++

Lab 01 Introduzione a Codelite

Capitolo Tavola e grafico

PowerPoint passo dopo passo (step by step) Step 1 Avvia PowerPoint. Step 2 Scegli il Layout. Step 3 Crea la prima diapositiva

DEFINIZIONI SMART E RELATIVE ESERCITAZIONI

COSTRUZIONE DI UN APPLICAZIONE

DMX LIGHTPLAYER Introduzione...2 Libreria DMX...3 Programmazione dei canali...7 Creazione di uno show...11

2.4. Creare ed operare con le query

Sistemi Informatici per il supporto alle decisioni Modulo 1. Database: concetti introduttivi

A.A. 2018/2019. Fondamenti di Programmazione in MATLAB FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

3 CREAZIONE DI RILIEVI

PRIMI PASSI CON UN DATABASE

I Quaderni di LAPSUS n 3 f. CmapTools PASSO A PASSO: aggiungere risorse

SPAC Automazione 2019 Creazione di un Blocco componente (Madre/Elemento), Riferimento di Registrazione e Blocco Cartiglio con Custom Blk Suite

DATA-DIRECT. Manuale Utente. Versione 1.0. Copyright ArtWare Tutti i diritti riservati

Simulink è l ambiente di programmazione grafico associato al MATLAB.

Cultura Tecnologica di Progetto

Gestione contabile Sommario

5. Modalità operative per creare maschere personalizzate

Gestione del testo. Dreamweaver e il testo. Richiamare la pagina

Presentazione con PowerPoint

LE MASCHERE CORSO ACCESS PARTE V

L ambiente Simulink Simulink è un software utile per modellare, simulare ed analizzare sistemi dinamici complessi.

Selezionare e spostare le icone

MDG Enpals Spettacolo MANUALE D USO E INSTALLAZIONE

Per creare il modello si scriva simulin nella finestra di comando MATLAB. Apparirà il Browser della Libreria Simulink.

Le classi in java. Un semplice programma java, formato da una sola classe, assume la seguente struttura:

IDE DevC

1) Matlab e simulazione. 2) Esempi di utilizzo. Mauro De Sanctis corso di Informazione e Codifica Università di Roma Tor Vergata

WPCustPad 1.1 Utility per la personalizzazione di WEBpatente e WEBpatentino AM offline.

Excel avanzato. Certificazione Microsoft. Excel: le basi. 1.1 Excel: le basi NUMBER TITLE

Interfaccia grafica SPTool di Matlab per

Help Piano Report. Indice. di gestione dei testi in Piano Report S.T.A.DATA srl

Seguendo questo tutorial imparerai come aggiungere le azioni al tuo SWiSH Movie. Questo tutorial è salvato come "Actions.swi" nel menu File Samples.

Coordinate Relative/Assolute, Nomi, Collegamenti

A.A. 2018/2019. Introduzione ad AlgoBuild FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

Presentazione con PowerPoint

UnivAQ - Corso ECDL - Elaborazione Testi Maria Maddalena Fornari

Matlab: Script e Funzioni

Strumenti di office automation. Coordinatore scientifico: Prof. Avv. Giuseppe Russo

Introduzione al MATLAB c Parte 2

La Back Office Console consente di costruire lo scheletro degli schema.

Transcript:

Laboratorio informatico per l ingegneria elettrica Luca Sani Dipartimento di Università di Pisa tel. 050 2217364 email luca.sani@dsea.unipi.it

Sommario Sistemi tempo varianti I segnali Sottosistemi Maschere Accelerator Comandi Matlab Le S-Function 2 2

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 Sources) rende disponibile l istante corrente della 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 3

Sistemi tempo varianti Si considera il seguente esempio ( ) + ( ) = ( ) + ( ) x t x t x t t x t 0.5 sin ( ) x ( 0) = 0.2 La dipendenza esplicita dal tempo è ottenuta considerando il tempo come un ulteriore ingresso del sistema. Si riporta nella forma adatta alla simulazione: ( ) = ( ) + ( ) + ( ) x t x t x t t x t 0.5 sin ( ) 4 4

Sistemi tempo varianti Si costruisce il modello Simulink associato ( ) = ( ) + ( ) + ( ) x t x t x t t x t 0.5 sin ( ) 5 5

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. 6 6

Sistemi tempo varianti Si accettano i parametri di simulazione di default. 7 7

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. Da sottolineare che queste linee rappresentano dei collegamenti logici e non Sistemi fisici (cioè indicano Elettrici quali ingressi e Automazione e quali uscite dei vari blocchi sono connessi e la propagazione dei segnali è istantanea). 8 8

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. E possibile costruire schemi Simulink di tipo multivariabile, caratterizzati dal fatto che i blocchi possono avere più di un ingresso 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 9

I Segnali E possibile ottenere un segnale multivariabile a partire da n segnali scalari utilizzando il blocco Mux (Signal Routing) Come parametro del Mux occorre specificare il numero di ingressi 10 10

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 11 11

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. 12 12

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. L ingresso u al Fcn è adesso un vettore. I singoli segnali sono rappresentati dalla variabile u seguita dall indice racchiuso tra parentesi quadre. 13 13

I Segnali E possibile scomporre un segnale multivariabile utilizzando il blocco Demux (Signal Routing) 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 14

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. 15 15

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. 16 16

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 l ambito di visibilità delle etichette 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 17

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 segnale di ingresso. A secondo della situazione si parla di espansione scalare degli input o dei parametri. 18 18

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. Esempio: si ha un nodo sommatore i cui ingressi sono un segnale scalare e uno vettoriale di dimensione 3. Quello scalare è trasformato in uno vettoriale di dimensione 3 costituito da tre segnali identici. 19 19

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 Espansione Scalare dei Parametri Si ha un guadagno con in ingresso un segnale vettoriale di dimensione 3. Matlab applica lo stesso guadagno ad ogni canale 20 20

Esempio Espansione Scalare dei Parametri Si ha un integratore con in ingresso un segnale vettoriale di dimensione 3. Matlab calcola separatamente l integrale di ogni segnale di ingresso. 21 21

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). 22 22

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. 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 23

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 Università diviene nuovo di blocco Pisa Simulink Dipartimento che può essere utilizzato di per costruire nuovi schemi. Un sottosistema può contenere a sua volta altri sottosistemi realizzando così un organizzazione gerarchica dello schema su un numero arbitrale di livelli. 24 24

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 blocchi, Università oppure tenendo di premuto Pisa il tasto Dipartimento Shift e selezionando con di il mouse i singoli blocchi). selezionare l opzione 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 25

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. 26 26

Creazione di un Sottosistema Si seleziona l opzione Create Subsystem 27 27

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

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 blocchi esterni rivolti ai blocchi interni al sottosistema. Nel caso in esame si hanno i segnali provenienti dal termostato e dalla 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 29

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à ogni segnale di ingresso di Pisa Dipartimento di è indicato da un blocco Inport (In) ogni segnale di uscita è indicato da un blocco Outport (Out) 30 30

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 sottosistema: Università ossia la di porta Pisa identificata Dipartimento con In1 è il primo ingresso di in alto e così via. Analogo discorso per 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 31

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. 32 32

Creazione di una Maschera I sottosistemi realizzati presentano alcuni inconvenienti: hanno un aspetto grafico standard e possono essere riconosciuti solo grazie al loro nome; non è prevista alcuna spiegazione sul loro funzionamento; 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 33

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 sottosistema vengono mascherate, cioè non sono più accessibili dall esterno del sottosistema e l unico modo per assegnare i valori è 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 34

Creazione di una Maschera Compare la finestra del Mask Editor 35 35

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 Icon rotation: specifica se l orientazione del disegno deve cambiare in presenza di rotazioni del blocco Drawing coordinates: specifica il sistema di coordinate per il disegno. max(x), max(y) (1,1) larghezza, altezza del blocco Autoscale Normalized Pixel 36 min(x), min(y) (0,0) (0,0) 36

Creazione di una Maschera Pagina Icon All interno del blocco è possibile inserire: Testo con i comandi text e disp Sintassi text(x, y, text) 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 37

Creazione di una Maschera Pagina Icon All interno del blocco è possibile inserire: Disegni tramite il comando plot la sintassi è la stessa dell analogo comando Matlab, non sono però ammessi i modificatori che specificano il tipo e il colore delle linee. Immagini con il comando image Sintassi image(imread(file)) Esempio: image(imread('icon.tif')) 38 38

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 rappresentazione in termini di poli e zeri. Sintassi 39 dploy(numeratore, denominatore) 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

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

Pagina Parameters Creazione di una Maschera Per ogni parametro che apparirà nella finestra dei parametri del blocco occorre specificare: Prompt: specifica l etichetta del campo Variable: il nome della variabile nella quale memorizzare il valore Control type: specifica il tipo di campo parametri. Le possibilità sono Edit, 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 41

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. 42 42

Pagina Documentation Creazione di una Maschera Consente di documentare il funzionamento del blocco 43 43

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 nella parte alta della finestra dei parametri. Block help: è il testo che compare (in formato html) quando si preme il tasto Help 44 44

Creazione di una Maschera Esempio: si vuol realizzare una maschera al sottosistema casa 45 45

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]) 46 46

Creazione di una Maschera Premendo il comando Apply l aspetto del blocco è diventato il seguente 47 47

Creazione di una Maschera Si rientra nel sottosistema e si sostituiscono i valori numerici dei parametri con delle variabili 48 48

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 49 49

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 Add 50 50

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 51 51

Creazione di una Maschera Si può ritornare nel Mask Editor per completare la maschera inserendo alcuni commenti come help 52 52

Creazione di una Maschera Adesso la maschera parametri si presenta nel seguente modo: 53 53

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 54 54

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. A partire dal modello Simulink costruito in modo grafico, Simulink crea prima un file in linguaggio C e successivamente un eseguibile (Mex file). Con questa soluzione il tempo di simulazione si può ridurre mediamente a un decimo del tempo impiegato con il file interpretato. 55 55

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 Dal rompt dei comandi occorre digitare >> mex setup 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 56

Il Simulink Accelerator 57 57

Il Simulink Accelerator Nel menu Simulation selezionare l opzione Accelerator 58 58

Il Simulink Accelerator Avviando la simulazione del modello Simulink esegue le seguenti operazioni: crea un file C corrispondente al modello Simulink compila il file e crea un eseguibile (Mex file) lancia la simulazione Tutte le volte che viene modificato lo schema Simulink si ripete la procedura di creazione del file Mex. 59 59

I comandi Matlab E possibile gestire un modello Simulink anche da prompt dei comandi di Matlab. Simulazione di un modello Per eseguire una simulazione si può utilizzare la funzione sim. 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 60

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. Il parametro Options viene generato dalla funzione simset e consente 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 61

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 come un elemento integrato nello schema). Esempio 62 62

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. Sintassi 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 63

I comandi Matlab Esempio 64 64

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

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: inizializzazione calcolo delle uscite aggiornamento degli stati discreti calcolo delle derivate fine della simulazione 66 66

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. 67 67

S-Function: inizializzazione 68 68

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. 69 69

S-Function: aggiornamento degli stati e delle uscite 70 70

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. In questo esempio è stato implementato il sistema SISO di ordine 1: dx = -3X + u Y = X Dove X è lo stato, dx è la derivata dello stato u è l ingresso Y è l uscita 71 71

S-Function: aggiornamento degli stati e delle uscite 72 72