ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

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

In Bus Element ブロックと Out Bus Element ブロックを使用すると、バス信号をサブシステムに対する入力および出力として簡単かつ柔軟に使用できます。In Bus Element ブロックは、Bus Selector ブロックと結合された Inport ブロックと等価です。Out Bus Element ブロックは、Bus Creator ブロックと結合された Outport ブロックと等価です。

Bus Creator ブロックと Bus Selector ブロックの使用

このモデルは、InportBus SelectorBus Creator および Outport ブロックを使用します。

簡略化されたアプローチの使用

以下は、バス要素端子ブロックを使用してインターフェイスを簡素化する等価のモデルを示しています。

サブシステム インターフェイスでバスを扱うには、In Bus Element ブロックと Out Bus Element ブロックの使用を検討してください。このバス要素端子ブロックの組み合わせにより、以下が実現されます。

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

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

  • 使用ポイントに近いバス要素へのアクセスを許可する。

    • 入力の場合は、重複する Inport ブロックと Bus SelectorGoto および From ブロックを含む構成は避けてください。

    • 出力では、重複する GotoFrom および Bus Creator ブロックを含む構成は避けてください。

ヒント

InportBus SelectorBus Creator および Outport ブロックを使用するサブシステム インターフェイスをリファクタリングして、In Bus Element ブロックと Out Bus Element ブロックを使用するには、Simulink® エディターのアクション バーを使用します。詳細については、バス要素端子を使用するためのモデルの変換を参照してください。

バス要素端子

簡素化されたインターフェイスでは、バス要素端子を作成します。In Bus Element ブロックを使用して、サブシステムにフィードされるバス信号から要素を選択します。サブシステムをフィードする非バス信号 (バス配列の信号を含む) の場合、In Bus Element ブロックはサブシステム内で使用する入力信号の値を通過 (信号が選択されていない場合) します。

Out Bus Element ブロックを使用して、サブシステム信号をバーチャル バスに結合し、サブシステムから出力します。

バーチャル バスではバス要素端子ブロックを使用できます。非バーチャル バス信号、バス配列の信号、非バス信号の場合、以下の制限が適用されます。

  • バス配列の信号と非バス信号の場合、バス要素端子ブロックは、信号の個々の要素を選択するのではなく、信号全体のみを通過できます。

  • Out Bus Element ブロックは、サブシステムからバーチャル バス信号を出力します。

In Bus Element ブロックはブロック タイプ Inport です。Out Bus Element ブロックはブロック タイプ Outport です。バス要素端子ブロックは継承されたワークフローをサポートします。バス要素端子ブロックの [ブロック パラメーター] ダイアログ ボックスを使用して、データ型や次元などのバス要素属性を指定することはできません。

同じサブシステムで、バス要素端子ブロックと、Inport および Outport ブロックの組み合わせを使用できます。ただし、モデルの可読性を改善するためには、サブシステム全体でバス要素端子ブロックを使用してサブシステムのバス インターフェイスを定義します。

メモ

バス要素端子ブロックを含むモデルを R2017a よりも前の Simulink バージョンに保存すると、Simulink はモデルを変換して、必要に応じて Bus Selector ブロックと Bus Creator ブロックを含むサブシステムを使用します。

バス要素端子の作成

新しいサブシステムでは、バス要素端子を作成するために、サブシステム入力信号を選択する In Bus Element ブロックと、サブシステムのバーチャル バス出力信号を作成する Out Bus Element ブロックを追加します。バス要素端子を追加するワークフローを示す例については、In Bus Element のドキュメンテーションを参照してください。

メモ

In Bus Element ブロックには、それが表示される Simulink ライブラリに応じて、2 つの異なる名前があります。両方のブロックの機能は同じです。

  • Sources ライブラリと Ports & Subsystems ライブラリ — In Bus Element

  • Signal Routing ライブラリ — Bus Element In

Out Bus Element ブロックには、それが表示される Simulink ライブラリに応じて、2 つの異なる名前があります。両方のブロックの機能は同じです。

  • Sinks ライブラリと Ports & Subsystems ライブラリ — Out Bus Element

  • Signal Routing ライブラリ — Bus Element Out

In Bus Element ブロックの追加

以下の方法で In Bus Element ブロックを追加できます。

  • ライブラリ ブラウザーからブロックをドラッグします。この操作により、端子が追加されるか、同じ名前の端子がある場合は新しい要素が追加されます。

  • クイック挿入を使用します。この操作で端子が追加されます。

  • 既存のブロックからブロックをコピーします。ブロックをコピーして貼り付けるか、ブロックを右クリックしてドラッグします。右クリック アプローチを使用する場合、同じ端子を新しいブロックの元のブロックとして使用するか、サブシステム端子を追加するかを指定します。

  • [ブロック パラメーター] ダイアログ ボックスの入力信号のリストで信号を選択し、 をクリックします。

ヒント

信号を選択する前に、バス入力信号がサブシステムの入力端子に接続されているか確認します。

入力端子から信号を選択するには、次のいずれかの方法を使用します。入力バス信号から複数の信号を選択するには、選択した信号ごとに複数の In Bus Element ブロックを作成します。

  • [ブロック パラメーター] ダイアログ ボックスを使用して、この端子に接続されているバス内の信号から選択します。黒でリストされている信号は既に選択され、サブシステムで使用されています。グレーの信号は使用可能ですが、まだ使用されていません。赤の信号は、入力バス信号では使用できません。たとえば、信号 a と b が既に選択され、信号 c が選択でき、信号 d は使用できないとします。

    信号を選択した後、 をクリックします。

  • Simulink エディターで、ブロック アイコンのテキストの要素部分を編集します。端子が既にサブシステムの外で接続されている場合、利用可能な信号のリストから選択できます。たとえば、In Bus Element 端子ブロックの右クリック コピーを実行し、既存の端子を使用した場合、テキストをクリックすると、選択された要素を変更できます。

    b (ブロック アイコン テキストの要素部分) を削除すると、選択できる信号のリストが表示されます。

信号全体を通過させるには、ブロック アイコン テキストの要素セクションを空のままにします。

[ブロック パラメーター] ダイアログ ボックスの [色の設定] オプションを使用して、バス要素端子ブロックの背景色を指定できます。この操作により、選択した要素に関連付けられているブロックの色が設定されます。要素を選択しない場合はすべてのブロックに設定されます。[ブロック パラメーター] ダイアログ ボックスを使って端子の名前を変更できます。

Out Bus Element ブロックの追加

サブシステムから複数の信号をバス信号として出力するには、バスに含める各信号に 1 つずつ、複数の Out Bus Element ブロックを作成します。以下の方法で Out Bus Element ブロックを追加できます。

  • ライブラリ ブラウザーからブロックをドラッグします。この操作により、端子が追加されるか、同じ名前の端子がある場合は新しい要素が追加されます。

  • クイック挿入を使用します。この操作で端子が追加されます。

  • 既存のブロックからブロックをコピーします。ブロックをコピーして貼り付けるか、ブロックを右クリックしてドラッグします。右クリック アプローチを使用する場合は、新しいブロックに元のブロックと同じ端子を使用するか、サブシステム端子を追加するかを指定します。

  • [ブロック パラメーター] ダイアログ ボックスで、 をクリックします。信号名を変更するには、ツリー ビューまたはブロック線図で信号名をダブルクリックするか、アイコン テキストを編集します。

Out Bus Element ブロックで信号 A を作成する場合は、同じ端子の別の Out Bus Element ブロックで信号 A (または信号 A の子) を要素として指定することはできません。

サブバスを追加するには、[ブロック パラメーター] ダイアログ ボックスで をクリックします。選択した要素に関連付けられているブロックを削除するには、 をクリックします。

[ブロック パラメーター] ダイアログ ボックスの信号のリストで信号をドラッグ アンド ドロップし、バス要素を並べ替えることができます。

[ブロック パラメーター] ダイアログ ボックスの [色の設定] オプションを使用して、バス要素端子ブロックの背景色を指定できます。この操作により、選択した要素に関連付けられているブロックの色が設定されます。要素を選択しない場合はすべてのブロックに設定されます。

バス要素端子を使用するためのモデルの変換

InportBus SelectorBus Creator および Outport ブロックを使用するサブシステム インターフェイスをリファクタリングして、In Bus Element ブロックと Out Bus Element ブロックを使用できます。変換操作は、信号線またはブロックに、信号のログなどの追加仕様がない場合にのみサポートされます。次のようにして実行できます。

  • サブシステム内の Inport ブロックと Bus Selector ブロックを In Bus Element ブロックに変換する。

  • サブシステム内の Outport ブロックと Bus Creator ブロックを Out Bus Element ブロックに変換する。

  • サブシステムの入力インターフェイスまたは出力インターフェイスを変換してバス要素端子ブロックを使用する。

モデルを変換してバス要素端子を使用する方法を示す例については、slexBusExample を参照してください。

サブシステムの Bus Selector ブロックの変換

Bus Selector ブロックを使用するサブシステムを変換して、代わりに In Bus Element ブロックを使用できます。

  1. Inport ブロックに接続されている Bus Selector ブロックをクリックします。

  2. アクション バーで、[Bus Element Port] を選択します。

    変換したサブシステムでは、In Bus Element ブロックが使用されます。

Bus Selector ブロックの複数の階層に対して同様の変換を実行できます。

  1. Inport ブロックに接続されている Bus Selector ブロックで変換を実行します。

  2. 2 番目の Bus Selector ブロックを変換します。

    メモ

    Bus Creator ブロック出力信号に分岐がある場合、この操作は実行できません。

サブシステムの Bus Creator ブロックの変換

Bus Creator ブロックを使用するサブシステムを変換して、代わりに Out Bus Element ブロックを使用できます。

  1. Outport ブロックに接続されている Bus Creator ブロックをクリックします。

  2. アクション バーで、[Bus Element Port] を選択します。

    変換したサブシステムでは、Out Bus Element ブロックが使用されます。

Bus Creator ブロックの複数の階層に対して同様の変換を実行できます。

  1. Outport ブロックに接続されている Bus Creator ブロックで変換を実行します。

  2. 2 番目の Bus Creator ブロックを変換します。

サブシステムの入力インターフェイスおよび出力インターフェイスの変換

サブシステム間の信号を変換して、In Bus Element ブロックと Out Bus Element ブロックを使用できます。

メモ

バス要素端子を使用する既存のサブシステムの入力と出力の変換によって、バーチャル バスが作成されます。モデルが、非バーチャル バス、バス配列、またはスカラーである元の信号のタイプに依存している場合は、次のいずれかのオプションを選択します。

  • 変換は実行しない。

  • 新しく作成されたバーチャル バスでモデルが適切に動作するようにモデルを変更する。

  1. 2 つのサブシステムを接続する信号のマーキー選択を実行します。

  2. 操作バーから、[バスの作成] を選択します。

    この変換で、変換元のサブシステムに Out Bus Element ブロック、変換先のサブシステムに In Bus Element ブロックが作成されます。

    変換されたモデルには、サブシステム間にバス信号が 1 つあり、BasicSrc サブシステムと BasicDst サブシステムではそれぞれ In Bus Element ブロックと Out Bus Element ブロックが使用されます。

サブシステムの入力が別のサブシステムに直接接続されていない場合、サブシステムの入力を変換できます。サブシステム入力を変換すると、Simulink では Bus Creator ブロックが挿入されて接続が維持され、サブシステムでは In Bus Element ブロックが使用されます。

  1. サブシステムの入力信号のマーキー選択を実行します。

  2. 操作バーから、[バスの作成] を選択します。

変換したモデルでは、サブシステム入力に Bus Creator ブロックが使用され、サブシステム出力に Bus Selector ブロックが使用されます。変換したサブシステム (Subsystem3) には In Bus Element ブロックと Out Bus Element ブロックが含まれます。

参考

ブロック

関連するトピック