メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

Adapter ブロックを使用したアーキテクチャのメッセージ接続のマージ

この例では、Adapterブロックを使用して System Composer™ アーキテクチャ モデルの複数のメッセージ接続をマージする方法を説明します。

モデルを開きます。

systemcomposer.openModel('mSysArchMessageMerge');

このモデルでは、3 つのコンポーネントの間でメッセージベースの通信が構成されています。2 つの送信コンポーネント SAC1 および SAC2 がメッセージを作成し、受信コンポーネント SAC3 に送信します。

  • Simulink® 動作モデル mBottomupMsg1 にリンクされた SAC1 コンポーネントは、値が 1 のメッセージを 0.1 サンプル時間間隔ごとに生成します。

  • Simulink 動作モデル mBottomupMsg2 にリンクされた SAC2 コンポーネントは、値が 8 のメッセージを 0.2 サンプル時間間隔ごとに生成します。

  • Simulink 動作モデル mBottomupMsg3 にリンクされた SAC3 コンポーネントは、0.5 サンプル時間間隔ごとに、レートベースの Subsystem ブロックを使用してマージされたメッセージを受信します。

先入れ先出し (FIFO) キューがコンポーネント間のメッセージ バッファーとして機能します。

The output connections for the SAC1 component and SAC2 component are merged using an Adapter block to the input connection to the SAC3 component.

AdapterブロックをダブルクリックするとInterface Adapterダイアログ ボックスを表示できます。インターフェイス変換の選択が Merge であることを確認します。マッピングは無効になっています。

The Interface Adapter dialog box shows the Apply interface conversion choice Merge.

モデルをシミュレートし、Simulink 動作によって生成された送信コンポーネント SAC1 および SAC2 からのメッセージを単一の送信先である受信コンポーネント SAC3 にマージします。

sim('mSysArchMessageMerge');

シミュレーション データ インスペクターを起動すると、3 つのメッセージが同じ図にまとめて表示されます。

Simulink.sdi.view

The Simulation Data Inspector shows when messages are sent and received for different components in the architecture model as simulation continues.

参考

| | |

トピック