Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

バスを使用したサブシステム インターフェイスとモデル インターフェイスの簡略化

バスを使用すると、In Bus Element ブロックと Out Bus Element ブロックを含むサブシステム インターフェイスとモデル インターフェイスを簡略化できます。これらのブロックは以下を行います。

  • ブロック線図における信号線の複雑さと煩雑さを低減する。

  • インターフェイスの段階的な変更を容易にする。

  • 使用ポイントに近い要素にアクセスできるようにする。

入力用の Inport ブロックと Bus Selector ブロックおよび出力用の Outport ブロックと Bus Creator ブロックを使用する代わりに、これらのブロックを使用できます。たとえば、このモデルは、InportBus SelectorBus Creator および Outport ブロックを使用します。

Bus Selector and Bus Creator blocks modify the input bus.

この等価モデルは In Bus Element ブロックと Out Bus Element ブロックを使用します。

In Bus Element and Out Bus Element blocks make the block diagram easier to parse.

ヒント

インターフェイスのバーチャル バスについては、In Bus Element ブロックと Out Bus Element ブロックを参照してください。これらのブロックはマルチレート バーチャル バスをサポートしますが、Inport ブロックと Outport ブロックとは異なり、Simulink.Bus オブジェクトは必要ありません。

サブシステム インターフェイスでのバスの使用

Simulink® は、In Bus Element ブロックと Out Bus Element ブロックを使用するための、サブシステム インターフェイスの更新に役立つことがあります。操作バーから次の手順を実行します。

これらの操作はモデル インターフェイスで実行できません。モデル インターフェイスでのバスの詳細については、モデル インターフェイスでのバスの使用を参照してください。

信号名およびログなどの追加の指定が行われている信号線とブロックに対しても、これらの操作は実行できません。追加の指定により、競合が発生する可能性があります。

次の例では、操作バーを使用してサブシステム インターフェイスを更新する方法を示します。このモデル例はシンプルですが、バスは、多くの信号を結合する場合に最も役立ちます。

サブシステムのバス インターフェイスの簡略化

この例では、In Bus Element ブロックと Out Bus Element ブロックを使用するために Inport ブロック、Bus Selector ブロック、Bus Creator ブロックと Outport ブロックを使用するインターフェイスを変換する方法を示します。

Bus Selector ブロックと Bus Creator ブロックを使用して入力バス階層を変更するサブシステムを含むモデル例を開いてシミュレーションします。サブシステムは、入力と出力に Inport ブロックと Outport ブロックを使用します。

サブシステムを開きます。

Inport ブロックと Bus Selector ブロックを In Bus Element ブロックに変換するには、次の手順を実行します。

  1. Inport ブロックに直接接続する Bus Selector ブロックをクリックします。

  2. 省略記号の上で一時停止すると表示される操作バーで、[バス端子] をクリックします。

同様に In Bus Element ブロックと Bus Selector ブロックを変換できます。

Outport ブロックと Bus Creator ブロックを Out Bus Element ブロックに変換するには、次の手順を実行します。

  1. Outport ブロックに分岐せずに直接接続する Bus Creator ブロックをクリックします。

  2. 省略記号の上で一時停止すると表示される操作バーで、[バス端子] をクリックします。

同様に Out Bus Element ブロックと Bus Creator ブロックを変換できます。

結果のモデルによりライン ルーティングが簡略化され、インターフェイスの段階的な変更が容易になり、使用ポイントに近いバス要素へのアクセスが許可されます。

ブロック ラベルをダブルクリックしてそれらを編集して、バスとその要素の名前を変更できます。

同じ入れ子のバスまたはバス端子の要素を容易に特定するには、ブロックの色を指定します。

  1. In Bus Element ブロックまたは Out Bus Element ブロックをダブルクリックして、関連する端子のダイアログ ボックスを開きます。

  2. 要素または一番上のバスを選択します。

  3. [色の設定] ドロップダウン メニューを使用して背景色を指定します。

複数のサブシステム端子を 1 つの端子に結合

この例では、複数の端子とそれらの接続された信号を 1 つの端子とバスに変換することで、サブシステムのインターフェイスを簡略化する 3 つの方法について説明します。

複数の入力端子と出力端子をもつ 2 つのサブシステムを含むモデル例を開きます。

2 つのサブシステム間の信号線を囲む選択ボックスをドラッグします。表示された操作バーから [バスの作成] をクリックします。

Simulink は、変換元のサブシステムと変換先のサブシステムの Inport ブロックと Outport ブロックを In Bus Element ブロックと Out Bus Element ブロックに置き換えます。

ソース ブロックと最初のサブシステム間の信号線を囲む選択ボックスをドラッグします。表示された操作バーから [バスの作成] をクリックします。

Simulink は、最初のサブシステムの前に Bus Creator ブロックを追加し、最初のサブシステム内の Inport ブロックを In Bus Element ブロックに置き換えます。

2 番目のサブシステムと Scope ブロック間の信号線を囲む選択ボックスをドラッグします。表示された操作バーから [バスの作成] をクリックします。

Simulink は、2 番目のサブシステム内の Outport ブロックを Out Bus Element ブロックに置き換え、Bus Selector ブロックを 2 番目のサブシステムの前に追加します。

結果のモデルは、サブシステム インターフェイスでバーチャル バスを使用します。

モデル インターフェイスでのバスの使用

Model ブロックのバス入力は、参照モデルで想定されるバスと一致しなければなりません。

参照モデルへの入力または参照モデルからの出力としてバスを使用する場合、以下の制限があります。

  • 可変サイズの信号要素を含めることができるのは、非バーチャル バスのみ。

  • コード生成では、非バーチャル バスを使用しているとき、または C++ クラス インターフェイスに [既定] スタイルを使用しているときにのみ、参照モデルの C++ クラス インターフェイスの [I/O 引数 step メソッド] スタイルを設定できる。

  • コード生成で、参照モデルに関数プロトタイプの制御を構成できるのは、非バーチャル バスを使用しているときのみ。

参考

|

関連するトピック