Main Content

Diagrammi a blocchi di Simulink

Simulink® è un ambiente grafico di modellazione e simulazione per sistemi dinamici. È possibile creare diagrammi a blocchi, dove i blocchi rappresentano parti di un sistema. Un blocco può rappresentare un componente fisico, un piccolo sistema o una funzione. Una relazione input/output caratterizza completamente un blocco. Si considerino i seguenti esempi:

  • Un rubinetto riempie un secchio. L'acqua entra nel secchio con una determinata portata e il secchio diventa più pesante. Un blocco può rappresentare il secchio, con la portata come input e il suo peso come output.

  • Viene usato un megafono per amplificare la portata della propria voce. Il suono prodotto a un'estremità del megafono viene amplificato all'altra estremità. Il blocco rappresenta il megafono, con l'onda sonora originale come input e l'onda sonora come viene percepita come output.

  • Un carrello viene spinto e si muove. Il blocco rappresenta il carrello, la forza che si applica è l'input e la posizione del carrello è l'output.

La definizione di un blocco è completa solo con la definizione dei suoi input e output, poiché con ciò viene definito l'obiettivo del modello. Ad esempio, la velocità del carrello può essere una scelta naturale come output se l'obiettivo della modellazione non coinvolge la sua posizione.

Simulink fornisce librerie di blocchi, ovvero collezioni di blocchi raggruppati per funzionalità. Ad esempio, per modellare un megafono che moltiplica il suo input con una costante, si usa un blocco Gain della libreria Math Operations.

Gain block

Un'onda sonora entra nel megafono come input e una versione più forte della stessa onda ne esce come output.

I segni > denotano gli input e gli output di un blocco, che sono collegabili ad altri blocchi.

Sine waves appear to the right and to the left of a Gain block with a value of 2.

È possibile collegare i blocchi ad altri blocchi per formare sistemi e rappresentare funzionalità più complesse. Ad esempio, un lettore audio trasforma un file digitale in suono. Una rappresentazione digitale viene letta dalla memoria, viene interpretata matematicamente e poi trasformata in suono fisico. Il software che elabora il file digitale per calcolare la forma d'onda del suono può essere un blocco; l'altoparlante che prende la forma d'onda e la trasforma in suono può essere un altro blocco. Un componente che genera l'input è un altro blocco.

Per modellare l'input dell'onda sinusoidale al megafono in Simulink, includere una sorgente Sine Wave.

A Sine Wave block connects to a Gain block.

La funzione principale di Simulink è quella di simulare il comportamento dei componenti del sistema nel tempo. Nella sua forma più semplice, questa attività comporta il possesso di un orologio, la determinazione dell'ordine in cui i blocchi devono essere simulati e la propagazione degli output calcolati nel diagramma a blocchi al blocco successivo. Si consideri il megafono. A ogni passaggio temporale, Simulink deve calcolare il valore dell'onda sinusoidale, propagarla al megafono e poi calcolare il valore del suo output.

The time t=1. Sine waves appear to the left and right of a Gain block with a value of 2. The portion of the sine wave that has been traversed when the simulation time reaches t=1 is highlighted in blue.

A ogni passaggio temporale, ogni blocco calcola i suoi output dai suoi input. Una volta che tutti i segnali di un diagramma sono calcolati in un dato passaggio temporale, Simulink determina il passaggio temporale successivo (in base alla configurazione del modello e agli algoritmi del risolutore numerico) e fa avanzare l'orologio della simulazione. Quindi ogni blocco calcola il suo output per questo nuovo passaggio temporale.

The time is t=2. The portion of the sine wave that has been traversed when the simulation time reaches t=2 is highlighted in blue.

Nelle simulazioni, il tempo procede diversamente rispetto a un orologio reale. Ogni passaggio temporale richiede tanto tempo quanto ne serve per terminare i calcoli a esso relativi, sia che rappresenti una frazione di secondo sia che rappresenti qualche anno.

Spesso, l'effetto dell'input di un componente sul suo output non è immediato. Ad esempio, l'accensione di un calorifero non comporta un cambiamento istantaneo della temperatura. Piuttosto, questa azione fornisce l'input a un'equazione differenziale. Anche la cronologia della temperatura (uno stato) costituisce un fattore. Quando la simulazione richiede la risoluzione di un'equazione differenziale o alle differenze, Simulink impiega memoria e risolutori numerici per calcolare i valori di stato del passaggio temporale.

Simulink gestisce i dati in tre categorie:

  • Segnali: input e output del blocco, calcolati durante la simulazione

  • Stati: valori interni, che rappresentano la dinamica del blocco, calcolati durante la simulazione

  • Parametri: valori che influenzano il comportamento di un blocco, controllati dall'utente

A ogni passaggio temporale, Simulink calcola nuovi valori per i segnali e gli stati. Al contrario, si specificano i parametri quando si costruisce il modello e talvolta li si può modificare mentre la simulazione è in corso.

Argomenti complementari