Main Content

send

メッセージまたはイベントをブロードキャストする

説明

send(message_name) は、ローカル メッセージまたは出力メッセージを送信します。

send(event_name) は、ローカル イベントまたは出力イベントを送信します。

send(local_event_name,state_name) は、state_name と階層内のそのステートの子に対してローカル イベントをブロードキャストします。

send(state_name.local_event_name) は、親ステート state_name と、階層内のそのステートの子に対してローカル イベントをブロードキャストします。

すべて展開する

ローカル メッセージまたは出力メッセージ M を、データ値 3 で送信します。

M.data = 3;
send(M);

Stateflow chart that uses the send operator in a state.

出力イベント E を送信します。

send(E);

Stateflow chart that uses the send operator in a state.

ローカル イベント E_one を、ステート B およびそのサブステートに送信します。

send(E_one,B);

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

ローカル イベント E_one を、その親ステート B およびそのサブステートに送信します。

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.

ヒント

  • チャートが受信側キューの容量を超えるメッセージを送信した場合、キューのオーバーフローが発生します。キューのオーバーフローによる結果は受信側キューのタイプによって異なります。

    • 内部キューでオーバーフローが発生した場合、Stateflow® チャートは新しいメッセージを除外します。メッセージの [キュー オーバーフローの診断] プロパティを設定することで、診断アクションのレベルを制御できます。キュー オーバーフローの診断を参照してください。

    • 外部キューでオーバーフローが発生した場合、Queue (Simulink) ブロックは、ブロックの構成に応じて、新しいメッセージを除外するか、キューの一番古いメッセージを上書きします。Overwrite the oldest element if queue is full (Simulink)を参照してください。外部キューのオーバーフローでは、常に警告が発行されます。

  • 指示のないローカル イベント ブロードキャストは使用しないでください。指示のないローカル イベント ブロードキャストを使用すると、チャート内で不要な再帰的動作が発生する場合があります。代わりに、指示のあるブロードキャストを使用してローカル イベントを送信してください。詳細については、ローカル イベントをブロードキャストしてパラレル ステートを同期を参照してください。

  • スケジュール エディターにイベントを送信するには send 演算子を使用します。スケジュール エディターを使用すると、非周期的分割の実行をスケジュールできます。スケジュール エディターでの send 演算子の使用については、Events in Schedule Editor (Simulink)を参照してください。

バージョン履歴

R2006a より前に導入