Contenuto principale

temporalCount

Numero di eventi, esecuzioni di grafici o tempo trascorso da quando lo stato è diventato attivo

Descrizione

temporalCount(E) restituisce il numero di occorrenze dell'evento E da quando lo stato associato è diventato attivo.

esempio

temporalCount(tick) restituisce il numero di volte in cui il grafico si è attivato da quando lo stato associato è diventato attivo.

L'evento implicito tick non è supportato quando un grafico Stateflow® in un modello di Simulink® presenta eventi di input.

esempio

temporalCount(time_unit) restituisce la durata di tempo trascorsa da quando lo stato associato è diventato attivo. Specificare time_unit come secondi (sec), millisecondi (msec) o microsecondi (usec).

esempio

Nota

I grafici autonomi Stateflow in MATLAB® supportano l'utilizzo di temporalCount solo come operatore logico temporale a tempo assoluto.

Esempi

espandi tutto

Accedere agli elementi successivi dell'array M ogni volta che il grafico elabora una trasmissione dell'evento E.

Nei grafici in un modello di Simulink, inserire:

on E:
   y = M(temporalCount(E));

Stateflow chart that uses the temporalCount operator in a state.

L'utilizzo di temporalCount come operatore logico temporale basato su eventi non è supportato nei grafici autonomi in MATLAB.

Memorizzare il valore dei dati di input u negli elementi successivi dell'array M.

Nei grafici in un modello di Simulink, inserire:

en,du:
   M(temporalCount(tick)+1) = u;

Stateflow chart that uses the temporalCount operator in a state.

L'utilizzo di temporalCount come operatore logico temporale basato su eventi non è supportato nei grafici autonomi in MATLAB.

Memorizzare il numero di millisecondi da quando lo stato è diventato attivo.

en,du:
   y = temporalCount(msec);

Stateflow chart that uses the temporalCount operator in a state.

Suggerimenti

  • È possibile utilizzare le virgolette per racchiudere le parole chiave 'tick', 'sec', 'msec' e 'usec'. Ad esempio, temporalCount('tick') equivale a temporalCount(tick).

  • Il grafico Stateflow azzera il contatore utilizzato dall'operatore temporalCount ogni volta che lo stato associato si riattiva.

  • La tempistica degli operatori logici temporali a tempo assoluto dipende dal tipo di grafico Stateflow:

    • I grafici in un modello di Simulink definiscono la logica temporale in termini di tempo di simulazione.

    • I grafici autonomi in MATLAB definiscono la logica temporale in termini di wall time.

    La differenza di tempistica può influire sul comportamento di un grafico. Ad esempio, si supponga che questo grafico stia eseguendo l'azione entry dello stato A.

    Stateflow chart with one state. The entry action in state A calls a function f and stores the elapsed time in y.

    • In un modello di Simulink, la chiamata di funzione a f viene eseguita in un singolo passo temporale e non contribuisce al tempo di simulazione. Dopo aver chiamato la funzione f, il grafico assegna un valore di zero a y.

    • In un grafico autonomo, la chiamata di funzione f può richiedere diversi secondi di wall time per essere completata. Dopo aver chiamato la funzione f, il grafico assegna il tempo diverso da zero trascorso da quando lo stato A è diventato attivo su y.

Cronologia versioni

Introdotto in R2008a