Clock
Visualizzare e fornire il tempo di simulazione
Librerie:
Simulink /
Sources
Descrizione
Il blocco Clock genera il tempo di simulazione attuale per ogni passaggio della simulazione. Questo blocco è utile per altri blocchi che necessitano del tempo di simulazione.
Quando in un sistema discreto occorre l’ora attuale, utilizzare il blocco Digital Clock.
Esempi
Calcolo e visualizzazione della grandezza dei passi di una simulazione utilizzando i blocchi Memory e Clock
Questo esempio mostra come utilizzare i blocchi Memory e Clock per calcolare e visualizzare la grandezza dei passi in una simulazione. Il blocco Sum sottrae il tempo del passo temporale precedente, generato dal blocco Memory, dal tempo attuale generato dal blocco Clock.
Poiché l'opzione Inherit sample time (Eredita tempo di campionamento) non è selezionata per il blocco Memory, il tempo di campionamento del blocco dipende dal tipo di risolutore per la simulazione del modello. In questo caso, il modello utilizza un risolutore a passo fisso. Pertanto, il tempo di campionamento del blocco Memory corrisponde alla grandezza del passo del risolutore, ossia 1.
Se si sostituisce il blocco Memory con un blocco Unit Delay, si ottengono gli stessi risultati. Il blocco Unit Delay eredita un tempo di campionamento discreto pari a 1.
Esempi approfonditi
Pendolo inverso con animazione
Questo esempio mostra come utilizzare Simulink® per modellare e animare un sistema a pendolo inverso. Un pendolo inverso ha il centro di massa al di sopra del proprio punto di rotazione. Per mantenere stabilmente questa posizione, il sistema implementa una logica di controllo per spostare il punto di rotazione sotto il centro di massa quando il pendolo inizia a cadere. Il pendolo inverso è un classico problema di dinamica utilizzato per testare le strategie di controllo.
Rilevamento accurato dello zero-crossing
Questo esempio mostra come funzionano gli zero-crossing all’interno di Simulink®. In questo modello, tre onde sinusoidali traslate sono introdotte in un blocco a valore assoluto e in un blocco di saturazione. Esattamente a t = 5, l’output del blocco switch passa dal blocco a valore assoluto a quello di saturazione. Gli zero-crossing in Simulink rileveranno automaticamente e in modo esatto il momento in cui il blocco switch cambia il proprio output e il risolutore andrà al momento esatto in cui l’evento si verifica. Ciò è visibile esaminando l'output in scope.
Porte
Output
Port_1 — Tempo di campionamento
scalare
Tempo di campionamento, specificato come il tempo di simulazione attuale per ogni passaggio temporale della simulazione.
Tipi di dati: double
Parametri
Visualizzare il tempo — Visualizzare il tempo di simulazione sull’icona di blocco
off
(predefinito) | on
Selezionare questa casella per visualizzare il tempo di simulazione come parte dell’icona di blocco Clock. Deselezionando questa casella, il tempo di simulazione non appare sull’icona di blocco.
Utilizzo programmatico
Parametro dei blocchi: DisplayTime
|
Tipo: vettore di caratteri |
Valori: 'off' | 'on' |
Impostazione predefinita: 'off'
|
Decimazione — Intervallo al quale aggiornare l’icona di blocco
10
(predefinito) | numero intero positivo
Specificare l’intervallo al quale Simulink® aggiorna l’icona dell’orologio come numero intero positivo.
Supponiamo che la decimazione sia 1000. Per un tempo di integrazione fisso di 1 millisecondo, l’icona dell’orologio aggiorna a 1 secondo, 2 secondi e così via.
Dipendenze
Per visualizzare il tempo di simulazione sull’icona di blocco, è necessario selezionare la casella Display time.
Utilizzo programmatico
Parametro dei blocchi: Decimation
|
Tipo: vettore di caratteri |
Valore: scalare |
Impostazione predefinita: '10'
|
Caratteristiche del blocco
Tipi di dati: |
|
Passaggio diretto |
|
Segnali multidimensionali |
|
Segnali di dimensioni variabili |
|
Rilevamento zero-crossing |
|
Funzionalità estese
Generazione di codice C/C++
Genera codice C e C++ con Simulink® Coder™.
Non consigliata per il codice di produzione. Si ricollega ai limiti delle risorse e alle restrizioni sulla velocità e la memoria spesso riscontrati nei sistemi embedded. Il codice generato è in grado di contenere allocazione dinamica e liberazione di memoria, ricorsione, ulteriore overhead della memoria e tempi di esecuzione molto diversi. Sebbene il codice sia valido dal punto di vista funzionale e generalmente accettabile in ambienti ricchi di risorse, i target embedded più piccoli spesso non sono in grado di supportare tale codice. Di solito, i blocchi si evolvono in modo da essere adatti per il codice di produzione. Quindi, i blocchi adatti per il codice di produzione restano tali.
Cronologia versioni
Introduzione prima di R2006a
Comando MATLAB
Hai fatto clic su un collegamento che corrisponde a questo comando MATLAB:
Esegui il comando inserendolo nella finestra di comando MATLAB. I browser web non supportano i comandi MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)