Contenuto principale

before

Eseguire il grafico prima della trasmissione dell'evento o prima di un tempo specificato

Descrizione

before(n,E) restituisce true se l'evento E si è verificato meno di n volte da quando lo stato associato è diventato attivo. Altrimenti, l'operatore restituisce false.

esempio

before(n,tick) restituisce true se il grafico si è attivato meno di n volte da quando lo stato associato è diventato attivo. Altrimenti, l'operatore restituisce false.

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

esempio

before(n,time_unit) restituisce true se sono trascorse meno di n unità di tempo da quando lo stato associato è diventato attivo. Altrimenti, l'operatore restituisce false.

Specificare time_unit come secondi (sec), millisecondi (msec) o microsecondi (usec). Se si specifica n come espressione, il grafico regola il ritardo temporale al variare del valore dell'espressione durante la simulazione.

esempio

Nota

L'operatore logico temporale before è supportato solo nei grafici Stateflow nei modelli di Simulink.

Esempi

espandi tutto

Visualizzazione di un messaggio di stato quando il grafico elabora la prima e la seconda trasmissione dell'evento E dopo che lo stato è diventato attivo.

on before(3,E):
   disp("ON");

Stateflow chart that uses the before operator in a state.

Transizione fuori dallo stato associato quando il grafico elabora una trasmissione dell'evento E, ma solo se lo stato è rimasto attivo per meno di cinque trasmissioni di E.

before(5,E)

Stateflow chart that uses the before operator in a transition.

Transizione dallo stato associato se lo stato è rimasto attivo per meno di cinque trasmissioni dell'evento E.

[before(5,E)]

Stateflow chart that uses the before operator in a transition.

Transizione dallo stato associato quando il grafico si attiva, ma solo nel caso in cui la variabile temp è maggiore di 98,6 e il grafico si è attivato meno di sette volte da quando lo stato è diventato attivo.

before(7,tick)[temp > 98.6]

Stateflow chart that uses the before operator in a transition.

Impostazione della variabile temp su MED ogni volta che il grafico si attiva, ma solo se lo stato associato è rimasto attivo per meno di 12,3 secondi.

on before(12.3,sec):
   temp = MED;

Stateflow chart that uses the before operator in a state.

Suggerimenti

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

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

Cronologia versioni

Introdotto in R2014b