after
Ausführen des Diagramms nach der Übertragung eines Ereignisses oder nach einer bestimmten Zeit
Beschreibung
after( gibt n,E)true zurück, wenn das Ereignis E seit der Aktivierung des zugeordneten Zustands mindestens n-mal eingetreten ist. Anderenfalls gibt der Operator false zurück.
after( gibt n,tick)true zurück, wenn das Diagramm seit der Aktivierung des zugeordneten Zustands mindestens n-mal aufgerufen wurde. Anderenfalls gibt der Operator false zurück.
Das implizite Ereignis tick wird nicht unterstützt, wenn ein Stateflow®-Diagramm in einem Simulink®-Modell über Eingangsereignisse verfügt.
after( gibt n,time_unit)true zurück, wenn seit der Aktivierung des zugeordneten Zustands mindestens n Zeiteinheiten verstrichen sind. Anderenfalls gibt der Operator false zurück.
Geben Sie bei Diagrammen in einem Simulink-Modell time_unit in Sekunden (sec), Millisekunden (msec) oder Mikrosekunden (usec) an. Wenn Sie n als Ausdruck angeben, passt das Diagramm die Zeitverzögerung an, während sich der Wert des Ausdrucks im Laufe der Simulation ändert.
Geben Sie bei eigenständigen Diagrammen in MATLAB® n mit einem Wert größer als oder gleich 0.001 und time_unit in Sekunden (sec) an. Der Operator erzeugt ein MATLAB timer-Objekt, das ein implizites Ereignis zum Aktivieren des Diagramms erzeugt. MATLAB timer-Objekte sind auf eine Genauigkeit von 1 Millisekunde begrenzt. Weitere Informationen finden Sie unter Events in Standalone Charts.
Das
timer-Objekt wird erzeugt, wenn das Diagramm die Aktionen vom Typentrydes zugeordneten Zustands und dessen untergeordneten Zuständen ausgeführt hat. Wenn Sienals Ausdruck angeben, dessen Wert sich während der Ausführung des Diagramms ändert, passt das Diagramm nicht die Zeitverzögerung destimer-Objekts an.Das
timer-Objekt beginnt am Ende des Diagrammschritts mit der Ausführung, wenn der zugeordnete Zustand aktiv wird. Dieser Schritt kann die Ausführung weiterer paralleler Zustände im Diagramm umfassen.Wenn das Diagramm zum Zeitpunkt eines vom
timer-Objekt ausgehenden impliziten Ereignisses gerade einen anderen Vorgang bearbeitet, wird das Ereignis in die Warteschlange gestellt. Nachdem der aktuelle Schritt abgeschlossen ist, verarbeitet das Diagramm das Ereignis.Wenn der mit dem zeitlichen Logikoperator verbundene Zustand inaktiv wird, bevor das Diagramm das implizite Ereignis verarbeitet, wird das Diagramm durch das Ereignis nicht aufgerufen.
Beispiele
Tipps
Sie können Anführungszeichen für die Schlüsselwörter
'tick','sec','msec'und'usec'verwenden. Zum Beispiel istafter(5,'tick')äquivalent zuafter(5,tick).Das Stateflow-Diagramm setzt den vom Operator
afterverwendeten Zähler immer dann zurück, wenn der zugeordnete Zustand erneut aktiviert wird.Das Timing für temporale Logikoperatoren der Absolutzeit hängt vom Typ des Stateflow-Diagramms ab:
Diagramme in einem Simulink-Modell definieren die temporale Logik der Absolutzeit in Bezug auf die Simulationszeit.
Eigenständige Diagramme in MATLAB definieren die temporale Logik der Absolutzeit in Bezug auf die Istzeit, die auf eine Genauigkeit von 1 Millisekunde begrenzt ist.
Die Differenz im Timing kann das Verhalten eines Diagramms beeinflussen. Angenommen, dieses Diagramm führt beispielsweise die Aktion vom Typ
duringdes ZustandsAaus.
In einem Simulink-Modell wird der Funktionsaufruf von
fin einem einzigen Zeitschritt ausgeführt und hat keinen Einfluss auf die Simulationszeit. Der Übergang von ZustandAzu ZustandBerfolgt zum ersten Mal, wenn das Diagramm aufgerufen wird und ZustandAmindesten 2 Sekunden lang aktiv ist. Der von der Aktion vom Typentryin ZustandBangezeigte Wert hängt ausschließlich von der vom Simulink-Solver verwendeten Schrittgröße ab.In einem eigenständigen Diagramm kann der Funktionsaufruf von
fmehrere Sekunden Istzeit dauern. Sollte der Aufruf länger als zwei Sekunden dauern, stellt das Diagramm das mit dem Operatorafterverbundene implizite Ereignis in die Warteschlange. Der Übergang von ZustandAzu ZustandBerfolgt, wenn die Funktionffertig ausgeführt ist. Der von der Aktion vom Typentryin ZustandBangezeigte Wert hängt von der Zeit ab, die der Funktionsaufruf vonfbenötigt.
Versionsverlauf
Eingeführt in R2014b




