Main Content

send

Übertragen einer Meldung oder eines Ereignisses

Beschreibung

Beispiel

send(message_name) sendet eine lokale Meldung oder eine Ausgangsmeldung.

Beispiel

send(event_name) sendet ein lokales Ereignis oder ein Ausgangsereignis.

Beispiel

send(local_event_name,state_name) überträgt ein lokales Ereignis an state_name und an alle untergeordneten Zustände in der Hierarchie.

Beispiel

send(state_name.local_event_name) überträgt ein lokales Ereignis an seinen übergeordneten Zustand state_name und an alle untergeordneten Zustände in der Hierarchie.

Beispiele

alle erweitern

Senden Sie eine lokale Meldung oder eine Ausgangsmeldung M mit einem Datenwert von 3.

M.data = 3;
send(M);

Stateflow chart that uses the send operator in a state.

Senden Sie das Ausgangsereignis E.

send(E);

Stateflow chart that uses the send operator in a state.

Senden Sie ein lokales Ereignis E_one an den Zustand B und alle ihm untergeordneten Zustände.

send(E_one,B);

Stateflow chart that uses a directed event broadcast to synchronize the substates of two parallel (AND) states.

Senden Sie ein lokales Ereignis E_one an den übergeordneten Zustand B und alle ihm untergeordneten Zustände.

send(B.E_one);

Stateflow chart that uses a directed event broadcast to synchronize the substates of two parallel (AND) states. The broadcast uses the qualified event name B.E_one.

Tipps

  • Falls ein Diagramm eine Meldung sendet, die die Kapazität der empfangenden Warteschlange überschreitet, kommt es zu einem Überlauf der Warteschlange. Das Ergebnis des Warteschlangenüberlaufs hängt von der Art der empfangenden Warteschlange ab.

    • Falls es in einer internen Warteschlange zu einem Überlauf kommt, verwirft das Stateflow®-Diagramm die neue Meldung. Sie können den Grad der Diagnosemaßnahmen steuern, indem Sie die Eigenschaft Queue Overflow Diagnostic für die Meldung einstellen. Siehe Queue Overflow Diagnostic.

    • Falls es in einer externen Warteschlange zu einem Überlauf kommt, verwirft der Queue (Simulink)-Block abhängig von seiner Konfiguration entweder die neue Meldung oder er überschreibt die älteste Meldung in der Warteschlange. Siehe Overwrite the oldest element if queue is full (Simulink). Ein Überlauf in einer externen Warteschlange führt immer zu einer Warnung.

  • Vermeiden Sie die Verwendung ungerichteter lokaler Ereignisübertragungen. Ungerichtete lokale Ereignisübertragungen können zu unerwünschtem rekursiven Verhalten in Ihrem Diagramm führen. Senden Sie lokale Ereignisse stattdessen mit Hilfe von gerichteten Übertragungen. Weitere Informationen finden Sie unter Broadcast Local Events to Synchronize Parallel States.

  • Verwenden Sie den send-Operator, um Ereignisse an den Schedule Editor zu senden. Mit dem Schedule Editor können Sie die Ausführung von aperiodischen Partitionen planen. Weitere Informationen zur Verwendung des send-Operators in Verbindung mit dem Schedule Editor finden Sie unter Events in Schedule Editor (Simulink).

Versionsverlauf

Eingeführt vor R2006a