Contenuto principale

La traduzione di questa pagina non è aggiornata. Fai clic qui per vedere l'ultima versione in inglese.

Creare un modello semplice

È possibile usare Simulink® per modellare un sistema e poi simularne il comportamento dinamico. Le tecniche di base utilizzate in questo tutorial per creare un modello semplice sono le stesse che si usano per i modelli più complessi. Questo esempio simula il movimento semplificato di un'automobile. Di solito un'automobile è in movimento fintanto che viene premuto il pedale dell'acceleratore. Dopo che il pedale viene rilasciato, l'auto rallenta e si ferma.

Un blocco Simulink è l'elemento del modello che definisce una relazione matematica tra i suoi input e output. Per creare questo semplice modello, sono necessari quattro blocchi Simulink.

Nome del bloccoScopo del bloccoScopo del modello
Pulse GeneratorGenerare un segnale di input per il modelloRappresentare il pedale dell'acceleratore
GainMoltiplicare il segnale di input per un valore costanteCalcolare in che modo la pressione sull'acceleratore influisce sull'accelerazione dell'auto
Second-Order IntegratorIntegrare due volte il segnale di inputOttenere la posizione dall'accelerazione
OutportDesignare un segnale come output del modelloDesignare la posizione come output del modello

A Simulink model with Pulse Generator, Gain, Second-Order Integrator block, and two Outport blocks.

La simulazione di questo modello integra due volte un breve impulso per ricreare una rampa. L'impulso di input rappresenta una pressione sul pedale dell'acceleratore: 1 quando il pedale è premuto e 0 quando non lo è. La rampa di output rappresenta la distanza crescente dal punto di partenza.

Aprire un nuovo modello

Utilizzare Simulink Editor per costruire i modelli.

  1. Avviare MATLAB®. Dalla barra degli strumenti di MATLAB, fare clic sul pulsante Simulink .

    The Simulink start page shows two tabs, New and Examples. The New tab is selected and shows a list of templates you can open.

  2. Fare clic sul modello Blank Model.

    Si apre l'editor di Simulink.

    Per evitare l'ombra, l'Editor di Simulink controlla i modelli e i file caricati sul percorso e crea un modello con il nome successivo disponibile untitled, untitled1, untitled2 e così via.

    Empty Simulink Editor

  3. Dalla scheda Simulation, selezionare Save > Save as. Nella casella di testo File name, inserire un nome per il modello, ad esempio simple_model. Fare clic su Save. Il modello viene salvato con l'estensione del file .slx.

Aprire il browser delle librerie di Simulink

Simulink fornisce un insieme di librerie di blocchi che sono organizzate per funzionalità nel Library Browser. Queste librerie si trovano nella maggior parte dei workflow:

  • Continui: blocchi di sistemi con stati continui

  • Discreti: blocchi di sistemi con stati discreti

  • Operazioni matematiche: blocchi che implementano equazioni algebriche e logiche

  • Sink: blocchi che memorizzano e mostrano i segnali che si collegano a loro

  • Sorgenti: blocchi che generano i valori dei segnali che guidano il modello

Per aprire il browser delle librerie, sulla barra degli strumenti di Simulink, nella scheda Simulation, fare clic su Library Browser.

Library Browser

Per sfogliare le librerie di blocchi, nella struttura ad albero delle librerie, espandere una categoria e poi un'area funzionale.

Per cercare tutte le librerie dii blocchi disponibili, inserire un termine di ricerca.

Ad esempio, trovare il blocco Pulse Generator. Nella finestra di ricerca, inserire pulse, quindi premere Invio. Il software cerca nelle librerie i blocchi con pulse nel nome o nella descrizione e poi li mostra nella scheda Search Results del browser delle librerie.

Suggerimento

È possibile ritornare a sfogliare la struttura ad albero delle librerie facendo clic su Library Tab.

The Simulink Library Browser displays the results for the search term pulse, which include Pulse Generator and Continuous Pulse Generator blocks.

Ottenere informazioni dettagliate su un blocco. Nella scheda Search Results, fare clic con il tasto destro del mouse sul blocco Pulse Generator, quindi selezionare Help for the Pulse Generator block. Si apre la documentazione e viene visualizzata la pagina relativa al blocco.

Solitamente i blocchi contengono numerosi parametri. Per la maggior parte dei blocchi, è possibile accedere ai parametri del blocco facendo doppio clic sul blocco.

Aggiunta di blocchi al modello

Per iniziare a costruire il modello, si aggiungono blocchi all'area di disegno del modello. È possibile aggiungere blocchi utilizzando il browser delle librerie o il menu di inserimento rapido.

  1. Si inizia aggiungendo un blocco Pulse Generator dal browser delle librerie.

    Dalla libreria Sorgenti, trascinare il blocco Pulse Generator nell'Editor di Simulink. Un blocco Pulse Generator con un valore predefinito di 1 per il parametro Amplitude (Ampiezza) viene aggiunto al modello.

    The Pulse Generator block with a default value of 1 for the Amplitude parameter.

    I valori dei parametri persistono per tutta la durata della simulazione.

  2. Aggiungere un blocco Outport utilizzando il menu di inserimento rapido.

    Double-click anywhere in the model canvas. In the quick insert menu that appears, enter out. A list of blocks appears. Verify that the Outport block from the Simulink library is selected. Check the library name listed under the block name and the block description in the details pane to the right of the search results.

    Suggerimento

    Per nascondere il pannello dei dettagli, fare clic sulla freccia . Per visualizzare il pannello dei dettagli, fare nuovamente clic sulla freccia.

    Quick insert menu with the keyword "out" displayed in the search text box

    Aggiungere il blocco Outport al modello premendo Enter (Invio).

    Per ulteriori informazioni sul menu di inserimento rapido, vedere Add Blocks to Models Using Quick Insert Menu.

  3. Aggiungere questi blocchi al modello utilizzando il browser delle librerie o il menu di inserimento rapido.

    BloccoLibreriaParametro
    GainSimulink/Operazioni matematiche

    Gain: 2

    Second-Order IntegratorSimulink/Continui

    Condizione iniziale: 0

    Aggiungere un secondo blocco Outport copiando quello esistente e incollandolo in un altro punto usando i tasti di scelta rapida.

    Ora il modello possiede tutti i blocchi necessari.

  4. Disporre i blocchi facendo clic su ogni blocco e trascinandolo. Per ridimensionare un blocco, trascinarne un angolo.

    Arranged blocks from left to right.

Collegare i blocchi

Collegare i blocchi creando delle linee tra le porte di output e quelle di input. Quindi, salvare il modello.

  • Collegare la porta di output del blocco Pulse Generator alla porta di input del blocco Gain.

  • Collegare la porta di output del blocco Gain alla porta di input del blocco Second-Order Integrator.

  • Collegare i due output del blocco Second-Order Integrator ai due blocchi Outport.

Ad esempio, per collegare il blocco Pulse Generator al blocco Gain:

  1. Fare clic sulla porta di output a destra del blocco Pulse Generator.

    La porta di output e tutte le porte di input che possono essere collegate sono indicate dal simbolo di una freccia blu port hint symbol.

  2. Per vedere la spunta del collegamento, puntare il simbolo della freccia port hint symbol.

  3. Fare clic sulla spunta per collegare i blocchi con una linea e una freccia che indica la direzione del flusso del segnale.

Questa animazione mostra come collegare i blocchi nel modello.

An animation shows how to connect the Pulse Generator block to the Gain block.

Eseguire una simulazione

Specificare il tempo di arresto della simulazione. Quindi, simulare il modello.

  1. Nella scheda Simulation, impostare il tempo di arresto della simulazione. Sulla barra degli strumenti di Simulink, nella scheda Simulation, inserire il valore nel campo Stop Time.

    Simulation stop time is displayed on the Simulation tab of the toolstrip

    Il tempo di arresto predefinito di 10.0 è appropriato per questo modello. Questo valore di tempo non ha unità. L'unità di tempo in una simulazione di Simulink dipende da come sono costruite le equazioni. Questo esempio simula il movimento semplificato di un'automobile per 10 secondi ma, altri modelli, potrebbero avere unità di tempo di millisecondi o di anni.

  2. Per simulare il modello, fare clic su Run .

Visualizzazione dei dati di simulazione

Per visualizzare i risultati della simulazione in Simulation Data Inspector, fare clic su Data Inspector .

Per tracciare i dati in Simulation Data Inspector, selezionare i segnali dalla tabella sulla sinistra. Ad esempio, per tracciare la posizione dell'automobile, selezionare il segnale denominato Out1:1.

The Simulation Data Inspector shows the position of the car in a time plot.

Perfezionare il modello

Modificare i parametri dei blocchi

Questo esempio modella un sensore di prossimità basato su un modello di movimento esistente, moving_car.

In questo scenario, un sensore digitale misura la distanza tra l'automobile e un ostacolo a 10 m di distanza. Il modello emette la misura del sensore e la posizione dell'automobile, prendendo in considerazione queste condizioni:

  • L'automobile si ferma bruscamente quando raggiunge l'ostacolo.

  • Nel mondo fisico, un sensore misura la distanza in modo impreciso, causando errori numerici casuali.

  • Un sensore digitale funziona a intervalli di tempo fissi.

Aprire il modello moving_car.

open_system("moving_car.slx");

È necessario innanzitutto modellare l'arresto brusco quando l'automobile raggiunge la posizione 10. Il blocco Integrator, Second-Order possiede un parametro apposito.

  1. Fare doppio clic sul blocco Integrator, Second-Order. Appare la finestra di dialogo Parametri dei blocchi.

  2. Selezionare Limite x e inserire 10 per Limite superiore x. Il colore di sfondo del parametro cambia per indicare una modifica che non viene applicata al modello. Fare clic su OK per applicare le modifiche e chiudere la finestra di dialogo.

Aggiungere nuovi blocchi e collegamenti

Modificare il modello per aggiungere un sensore che misuri la distanza dall'ostacolo. Se necessario, espandere la finestra per inserire i nuovi blocchi.

  • Per trovare la distanza tra il veicolo e la posizione dell'ostacolo, aggiungere un blocco Constant dalla libreria Sources e impostare il valore del blocco su 10. Per trovare la distanza tra la posizione dell'ostacolo e la posizione del veicolo, aggiungere il blocco Subtract della libreria Math Operations.

  • Per simulare le misurazioni imperfette di un sensore reale, aggiungere rumore al modello utilizzando il blocco Band-Limited White Noise della libreria Sources. Fare doppio clic sul blocco per impostare il parametro Noise power su 0.001. Aggiungere il rumore alla misurazione della distanza utilizzando un blocco Add della libreria Math Operations.

  • In Simulink, il campionamento di un segnale a un dato intervallo richiede un sample and hold. Aggiungere il blocco Zero-Order Hold della libreria Discrete. Quindi, fare doppio clic sul blocco per modificare il parametro Sample Time su 0.1.

  • Per registrare l'output del sensore, collegare il blocco Zero-Order Hold a un altro blocco Outport.

Collegare i nuovi blocchi. L'output del blocco Second-Order Integrator è già collegato a un'altra porta. Per creare una diramazione in quel segnale, fare clic con il tasto sinistro del mouse sul segnale per evidenziare le potenziali porte di collegamento e fare clic sulla porta appropriata.

The original model connected to a sensor to measure the distance between the car and an obstacle.

Annotare i segnali

Aggiungere i nomi dei segnali al modello.

  1. Fare doppio clic sul segnale e digitare il nome del segnale.

    A highlighted signal is labeled pedal position

  2. Per terminare, fare clic al di fuori della casella di testo.

  3. Ripetere questi passaggi per aggiungere i nomi come illustrato.

    Model with named signals. The signal between Pulse Generator block and the Gain block is named pedal position. The signal between the Gain block and the Integrator, Second-Order block is named acceleration. The signal between the Subtract block and the Add block is named actual distance. The signal between the Zero-Order Hold block and the Outport block is named measured distance. The signal between the first output port of the Integrator, Second-Order block and the first Outport block is named position. The signal between the second output port of the Integrator, Second-Order block and the second Outport block is named velocity.

Visualizzazione di segnali multipli

Confrontare il segnale actual distance con il segnale measured distance. Il segnale measured distance viene registrato come output. Per registrare il segnale actual distance, è possibile contrassegnarlo per la registrazione del segnale.

  1. Selezionare il segnale nel modello.

  2. Nella scheda Simulation, fare clic su Log Signals.

Un badge di registrazione indica che il segnale è contrassegnato per la registrazione.

Simulare il modello. Per visualizzare i risultati della simulazione in Simulation Data Inspector, fare clic su Data Inspector . Selezionare i segnali actual distance e measured distance per tracciare entrambi i segnali sullo stesso grafico temporale.

The Simulation Data Inspector shows the actual distance and the measured distance values.

Il grafico mostra che la misurazione può discostarsi dal valore effettivo fino a 0,3 m. Queste informazioni sono utili quando si progettano le feature di sicurezza, ad esempio un allarme di collisione.

Visualizzazione dei segnali su grafici secondari separati

È inoltre possibile analizzare i risultati visualizzando i segnali su grafici secondari separati. Ad esempio, è possibile aggiungere grafici secondari per i segnali pedal position e velocity per visualizzare la relazione tra la posizione del pedale, la velocità dell'automobile e la distanza tra l'automobile e l'ostacolo.

Nel modello, fare clic con il tasto destro del mouse sul segnale pedal position e selezionare Log Selected signals per contrassegnare il segnale pedal position per la registrazione del segnale. Quindi, eseguire la simulazione del modello.

In Simulation Data Inspector, fare clic su Visualizations (Visualizzazioni) e layout . Quindi, creare un layout 3×1 specificando il numero di righe e colonne nella griglia.

The Visualizations and layouts menu. In the Grid section, the number of rows is specified as 3 and the number of columns is specified as one.

Aggiungere il segnale velocity al grafico secondario centrale e il segnale pedal position al grafico secondario inferiore. Per aggiungere un segnale a un grafico secondario, selezionare il grafico interessato, quindi il segnale dalla tabella dei segnali.

The Simulation Data Inspector with three vertically aligned subplots. The top subplot shows the actual and measured distance of the car from the obstacle. The middle subplot shows the velocity. The bottom subplot shows the gas pedal position.

Visualizzando i dati su tre grafici secondari è possibile vedere come la pressione sul pedale dell'acceleratore influisca sulla velocità dell'automobile e sulla distanza della stessa dall'ostacolo. Per scoprire ulteriormente questo punto, è possibile modificare il comportamento del pedale dell'acceleratore regolando i parametri del blocco Pulse Generator. Per aprire la finestra di dialogo Block Parameters (Parametri del blocco) del blocco Pulse Generator, fare doppio clic sul blocco stesso. Ad esempio, impostando Period su 5 e Pulse Width su 20, il modello preme il pedale dell'acceleratore due volte per un secondo.

Simulare il modello. In Simulation Data Inspector, premere la barra spaziatrice per adattare i segnali alla visualizzazione.

The Simulation Data Inspector with three vertically aligned subplots with data from a simulation that models pressing the gas pedal for one second twice. The top subplot shows the actual and measured distance of the car from the obstacle. The middle subplot shows the velocity. The bottom subplot shows the gas pedal position.

In Simulation Data Inspector è possibile esaminare ulteriormente i dati personalizzando il grafico e l'aspetto dei segnali, eseguendo lo zoom e la panoramica, nonché aggiungendo cursori dati. Per ulteriori informazioni, vedere Create Plots Using the Simulation Data Inspector.

Vedi anche

Blocchi

Strumenti

Argomenti