Hauptinhalt

Die Übersetzung dieser Seite ist veraltet. Klicken Sie hier, um die neueste Version auf Englisch zu sehen.

at

Ausführung des Diagramms bei der Übertragung des Ereignisses oder zu einem bestimmten Zeitpunkt

Beschreibung

at(n,E) gibt true zurück, wenn das Ereignis E genau n Mal eingetreten ist, seit der zugehörige Zustand aktiv wurde. Anderenfalls gibt der Operator false zurück.

Beispiel

at(n,tick) gibt true zurück, wenn das Diagramm genau n Mal aufgewacht ist, seit der zugehörige Zustand aktiv 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.

Beispiel

at(n,sec) gibt true zurück, wenn genau n Sekunden vergangen sind, seit der zugehörige Zustand aktiv wurde. Anderenfalls gibt der Operator false zurück.

Geben Sie bei eigenständigen Diagrammen in MATLAB® für n einen Wert größer gleich 0.001 ein. 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 Typ entry des zugeordneten Zustands und dessen untergeordneten Zuständen ausgeführt hat. Wenn Sie n als Ausdruck angeben, dessen Wert sich während der Ausführung des Diagramms ändert, passt das Diagramm nicht die Zeitverzögerung des timer-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.

Hinweis

Diese Syntax wird in MATLAB nur für eigenständige Diagramme unterstützt. Für Diagramme in Simulink-Modellen verwenden Sie stattdessen den Operator after. Weitere Informationen finden Sie unter Vermeiden der Verwendung von at für die absolute zeitliche Logik in Diagrammen in Simulink-Modellen.

Beispiel

Beispiele

alle erweitern

Anzeige einer Statusmeldung, wenn das Diagramm die dritte Übertragung des Ereignisses E verarbeitet, nachdem der Status aktiv wurde.

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

Stateflow chart that uses the at operator in a state.

Übergang aus dem assoziierten Status, wenn das Diagramm die fünfte Übertragung des Ereignisses E verarbeitet, nachdem der Status aktiviert wurde.

at(5,E)

Stateflow chart that uses the at operator in a transition.

Übergang aus dem assoziierten Zustand, wenn der Zustand für genau fünf Übertragungen des Ereignisses E aktiv war.

Geben Sie bei Diagrammen in einem Simulink-Modell Folgendes ein:

[at(5,E)]

Stateflow chart that uses the at operator in a transition.

Die bedingte Notation für temporale Logikoperatoren wird in eigenständigen Diagrammen in MATLAB nicht unterstützt.

Übergang aus dem assoziierten Zustand, wenn das Diagramm zum siebten Mal seit Aktivierung des Zustands aufwacht, aber nur, wenn die Variable temp größer als 98,6 ist.

at(7,tick)[temp > 98.6]

Stateflow chart that uses the at operator in a transition.

Setzen Sie die Variable temp auf HIGH, wenn der Zustand genau 12,3 Sekunden lang aktiv war.

Geben Sie bei eigenständigen Diagrammen in MATLAB Folgendes ein:

on at(12.3,sec):
   temp = HIGH;

Stateflow chart that uses the at operator in a state.

Die Verwendung von every als Operator für Absolutzeit-basierte temporale Logik wird bei Diagrammen in Simulink-Modellen nicht unterstützt.

Tipps

  • Sie können die Schlüsselwörter 'tick' und 'sec' in Anführungszeichen setzen. Zum Beispiel ist at(5,'tick') äquivalent zu at(5,tick).

  • Das Stateflow-Diagramm setzt den vom Operator at verwendeten Zähler immer dann zurück, wenn der zugeordnete Zustand erneut aktiviert wird.

  • 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.

Versionsverlauf

Eingeführt in R2014b