Main Content

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. I risultati vengono visualizzati in una finestra Scope. L'impulso di input rappresenta una pressione del pedale dell'acceleratore: 1 quando il pedale viene premuto e 0 quando non lo è. La rampa di output rappresenta la distanza crescente dal punto di partenza.

Aprire un nuovo modello

Utilizzare l'editor di Simulink per costruire i propri modelli.

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

    The Simulink start page has two tabs, New and Examples, from which you can open a new template or an example.

  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, organizzate per funzionalità nel browser delle librerie. Le librerie seguenti 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 e selezionare Help for the Pulse Generator block. Si apre il browser della Guida e viene visualizzata la pagina relativa al blocco.

Solitamente i blocchi contengono numerosi parametri. È possibile accedere a tutti i parametri di un blocco facendoci doppio clic con il mouse.

Aggiungere blocchi a un modello

Per iniziare a costruire il modello, sfogliare la libreria e aggiungere i blocchi.

  1. Dalla libreria Sources, trascinare il blocco Pulse Generator nell'editor di Simulink. Nel proprio modello compare una copia del blocco Pulse Generator con una casella di testo del valore del parametro di Amplitude. Inserire 1.

    The Pulse Generator block with a value of 1 entered in the text box prompt to specify the Amplitude parameter.

    I valori dei parametri vengono mantenuti durante tutta la simulazione.

  2. Aggiungere questi blocchi al modello utilizzando lo stesso approccio.

    BloccoLibreriaParametro
    GainSimulink/Math Operations

    Gain: 2

    Second-Order IntegratorSimulink/Continuous

    Condizione iniziale: 0

    OutportSimulink/Sinks

    Numero di porta: 1

    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.

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

  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.

    Five unconnected blocks include, from left to right, a Pulse Generator block, a Gain block, a Second Order Integrator block, and two Outport blocks. The output port of the Pulse Generator block and the input ports of the other blocks display blue chevron port hint symbols.

  2. Puntare su port hint symbol per visualizzare la spunta del collegamento.

    A connection cue is displayed between the Pulse Generator block and the Gain block.

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

    An arrow represents the connection between the Pulse Generator block and the Gain block.

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

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

  5. Salvare il modello. Nella scheda Simulation, fare clic su Save.

    All the blocks are connected.

Aggiungere lo strumento di Visualizzazione dei segnali

Per visualizzare i risultati della simulazione, collegare il primo output a uno strumento di Signal Viewer.

Fare clic sul segnale. Nella scheda Simulation sotto Prepare, fare clic su Add Viewer. Selezionare Scope. Compare l'icona dello strumento di visualizzazione sul segnale e si apre una finestra Scope.

A viewer icon appears on the signal between the Second-Order Integrator block and Outport block for output 1.

È possibile aprire Scope in qualsiasi momento facendo doppio clic sull'icona relativa.

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 Simulink dipende da come sono costruite le equazioni. Questo esempio simula il movimento semplificato di un'automobile per 10 secondi. Altri modelli potrebbero avere unità di tempo di millisecondi o di anni.

  2. Per eseguire la simulazione, fare clic su Run .

La simulazione viene eseguita e produce l'output nello strumento di visualizzazione dello scope.

A scope viewer shows the output of the simulation.

Perfezionare il modello

Modificare i parametri dei blocchi

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

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.

Per iniziare, aprire il modello moving_car. Alla riga di comando MATLAB, inserire:

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

Aggiungere un sensore che misura la distanza dall'ostacolo.

  1. Modificare il modello. Se necessario, espandere la finestra per inserire i nuovi blocchi.

    • Trovare la distanza effettiva. Per trovare la distanza tra la posizione dell'ostacolo e la posizione del veicolo, aggiungere il blocco Subtract della libreria Math Operations. Aggiungere anche il blocco Constant della libreria Sources per impostare il valore costante di 10 per la posizione dell'ostacolo.

    • Modellare la misurazione imperfetta che è tipica di un sensore reale. Generare un rumore usando il blocco Band-Limited White Noise della libreria Sources. Impostare il parametro Noise power su 0.001. Aggiungere il rumore alla misurazione utilizzando un blocco Add della libreria Math Operations.

    • Modellare un sensore digitale che si attiva ogni 0,1 secondi. 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. Dopo aver aggiunto il blocco al modello, modificare il parametro Sample Time a 0.1.

    • Aggiungere un'altra Outport da collegare all'output del sensore. Mantenere il valore predefinito del parametro Port number.

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

    With the signal between the Second-Order Integrator block and the Outport block selected, the software suggests connecting the signal line to the minus input port of the Subtract block.

Annotare i segnali

Aggiungere i nomi dei segnali al modello.

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

    Highlighted signal is called 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 called pedal position. The signal between the Gain block and the Integrator, Second-Order block is called acceleration. The signal between two Subtract blocks is called actual distance. The signal between the Zero-Order Hold block and the Outport block is called measured distance.

Confrontare segnali multipli

Confrontare il segnale actual distance con il segnale measured distance.

  1. Creare e collegare un Scope Viewer al segnale actual distance. Fare clic con il tasto destro del mouse sul segnale e selezionare Create & Connect Viewer > Simulink > Scope. Il nome del segnale compare nel titolo dello strumento di visualizzazione.

  2. Aggiungere il segnale measured distance allo stesso strumento di visualizzazione. Fare clic con il tasto destro del mouse sul segnale e selezionare Connect to Viewer > Scope1. Assicurarsi di essere collegati allo strumento di visualizzazione che è stato creato nel passaggio precedente.

    Window after right clicking a signal. Scope 1 is selected.

  3. Simulare il modello. Lo strumento di visualizzazione dello scope mostra i due segnali, actual distance in giallo e measured distance in blu.

    The scope viewer shows the actual distance and the measured distance values.

  4. Ingrandire il grafico per osservare l'effetto del rumore e del campionamento. Fare clic su Zoom. Fare clic con il tasto sinistro del mouse e trascinare un riquadro intorno all'area che si desidera osservare più da vicino.

    A rectangular box in the scope viewer window shows the region selected to zoom.

    In base alle esigenze, è ripetere l'operazione per osservare i dettagli.

    The zoomed region in the scope viewer

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

Vedi anche

Blocchi

Argomenti complementari