Temporizzazione nei modelli di interfaccia hardware
Tempo di simulazione
Quando i blocchi del modello Simulink® devono interfacciarsi con dispositivi hardware, è necessario considerare il tempo di esecuzione della simulazione in tempo reale rispetto al tempo di simulazione, nonché la frequenza e il numero di volte in cui i blocchi di interfaccia hardware vengono eseguiti durante la simulazione. Solitamente, le velocità di comunicazione dell'hardware sono relative al tempo reale o all'ora "dell'orologio a muro". È possibile regolare la durata di una simulazione, la frequenza di esecuzione dei blocchi e il ritmo della simulazione per adattarli ai requisiti hardware. Questo argomento tratta i concetti di base relativi alla temporizzazione nei modelli di interfaccia hardware, utilizzando intervalli fissi per l'esecuzione blocco.
Una simulazione ha una durata definita da un'ora di inizio e un'ora di fine. La durata predefinita è di 10 unità di tempo di simulazione (o secondi simulati). Questi secondi di simulazione non sono necessariamente equivalenti ai secondi reali misurati da un orologio a muro.
Per regolare la durata del modello, aprire la finestra di dialogo Parametri di configurazione del modello. Nella barra degli strumenti Simulink, sulla schedaModeling, fare clic su Model Settings. Nel pannello di sinistra, selezionare Solver. Le impostazioni Start time e Stop time definiscono la durata. Nella maggior parte dei casi, Start time dovrebbe essere 0.0, e puoi impostare Stop time in modo che rifletta la durata desiderata per la simulazione.
Durante l'esecuzione della simulazione, la temporizzazione per l'esecuzione blocco viene effettuata tramite una serie di intervalli di tempo. Con un'impostazione per un risolutore automatico con dimensioni del passo temporale fisse, durante la compilazione Simulink calcola la frequenza del passo temporale per adattarsi alle impostazioni dei parametri Sample time di tutti i blocchi nel modello. Ad esempio, se tutti i blocchi temporizzati nel modello hanno un'impostazione del tempo di campionamento pari a 0,01 o a un suo multiplo, allora un passo temporale di 0,01 funziona per l'intero modello.
Tempo di campionamento Blocco
Per i modelli che interagiscono con dispositivi hardware, potrebbe essere preferibile utilizzare intervalli di tempo fissi con una frequenza specificata. Ad esempio, potrebbe essere necessaria una risoluzione al millisecondo per controllare la relazione temporale tra i blocchi. Impostare le opzioni di temporizzazione come segue:
Start time:
0.0Stop time:
10.0Type:
Fixed-stepSolver:
discreteFixed-step size:
0.001
L'immagine mostra la finestra di dialogo con queste impostazioni.

In questo modello, un blocco con un'impostazione predefinita Sample time di 0.01 viene eseguito ogni dieci passi temporali, ovvero 1001 volte in una simulazione di 10 secondi. Un altro blocco che deve essere eseguito al doppio della velocità dovrebbe avere Sample time impostato su 0.005.
Nota
Nella maggior parte dei casi, è possibile lasciare l'impostazione Fixed-step size su auto, consentendo a Simulink di calcolare il tempo di campionamento fondamentale appropriato in base a tutte le impostazioni del blocco.
Poiché la durata della simulazione è di 10 secondi simulati e il periodo Sample time del blocco è di 0,01 secondi simulati, tale blocco viene eseguito 1001 volte in una simulazione completa (inclusi il primo e l'ultimo passaggio). La simulazione viene eseguita alla massima velocità consentita dai suoi blocchi, e quelle 1001 esecuzioni potrebbero richiedere un tempo significativamente inferiore a 10 secondi di tempo effettivo. La simulazione in tempo reale è quindi determinata dalla velocità con cui il sistema riesce a eseguire i blocchi del modello per il numero di iterazioni richiesto. Spesso lo scopo della simulazione è quello di modellare un comportamento in un modo che richieda meno tempo rispetto a una situazione reale. In questi casi, la sequenza e la ripetizione dell'esecuzione dei blocco sono importanti, mentre l'effettiva durata nel mondo reale potrebbe non esserlo.
Simulazione del modello di andatura
Potrebbe essere necessario che un modello interagisca con un dispositivo hardware ripetendo una determinata operazione a intervalli fissi di tempo reale. Ad esempio, un blocco potrebbe leggere ripetutamente i dati da un termometro o inviare segnali di attivazione a un generatore di segnali esterno per emettere un treno di impulsi.
Impostando il blocco Sample time su 0.1 si controlla la velocità di esecuzione blocco solo durante la simulazione. Per correlare il tempo di simulazione al tempo reale, è possibile utilizzare la funzione di controllo del ritmo di simulazione per rallentare la simulazione e farla funzionare alla stessa velocità del tempo reale. Per accedere alla finestra di dialogo Opzioni di ritmo della simulazione, nella barra degli strumenti Simulink, sulla schedaSimulation, fare clic sulla freccia del pulsante Run e quindi selezionare Simulation Pacing.
Per regolare il ritmo della simulazione, selezionare Enable pacing to slow down simulation. Per impostazione predefinita, il rapporto tra tempo di simulazione e tempo reale è 1, il che significa che la simulazione di un modello per un secondo di tempo di simulazione ha una durata approssimativamente pari a un secondo di tempo reale.

Con questa impostazione di ritmo, un blocco Sample time di 0.1 equivale approssimativamente a 0,1 secondi di tempo reale, con conseguenti dieci esecuzioni blocco al secondo. Quindi un blocco che genera un impulso di output del dispositivo ogni 0,1 secondi di simulazione, ora genera 10 impulsi per secondo di tempo reale.
Per informazioni sui casi che richiedono un cronometraggio più preciso rispetto al tempo effettivo, vedere Real-Time Simulation and Testing.
Vedi anche
Strumenti
- Simulation Pacing Options (Simulink)
Argomenti
- Che cos'è un tempo di campionamento? (Simulink)