メインコンテンツ

再利用のためのバス プロパティの定義

バスを使用すると、ブロック線図内のラインの複雑度や煩雑さが軽減され、インターフェイスの段階的な変更が容易になります。"バーチャル バス" は、タイ ラップで結束されるワイヤーのバンドルに似ています。"非バーチャル バス" は C コードの構造体に似ています。バスの再利用可能な仕様を作成するには、"バス オブジェクト" を使用します。バス オブジェクトを使用して、バスとその要素のプロパティが検証されます。複数のブロック、オブジェクト、およびモデル コンポーネントで同じバス オブジェクトを指定できます。

バス オブジェクトでは、それが格納する信号の値とは異なる、バスのアーキテクチャ上のプロパティのみが指定されます。たとえば、バス オブジェクトではバス内の要素の数、それらの要素の順序、要素の入れ子構造の有無とその方法、および構成要素の信号のデータ型は指定できますが、信号値は指定できません。

バス オブジェクトは、C における構造体定義に似ています。つまり、バス オブジェクトは、バスのメンバーを定義しますが、バスは作成しません。バス オブジェクトはケーブル コネクタにも似ています。コネクタはピンとそれらの構成を定義し、接続可能なワイヤのタイプを制御します。同様に、バス オブジェクトは関連付けられたバスに必要な信号の構成とプロパティを定義します。

バス オブジェクトは、バーチャル バスではオプションですが、非バーチャル バスでは必須です。バーチャル バスと非バーチャル バスの詳細については、合成インターフェイスのガイドラインを参照してください。

参照サブシステムや参照モデルなどの再利用可能なコンポーネントのインターフェイスでバス プロパティを定義するには、In Bus Element ブロックおよび Out Bus Element ブロックを使用します。詳細については、Define Bus Properties at Component Interfacesを参照してください。

バス オブジェクトを使用するかどうかの判定

バス プロパティは、個別に指定するか、バス オブジェクトで指定できます。バス オブジェクトを使用するモデルをシミュレーションするには、プロジェクト、データ ディクショナリ、モデル コールバック、またはその他の手法を使用して、バス オブジェクトを読み込む必要があります。

モデル化要件に応じて、バス プロパティを定義する方法は異なることがあります。

モデル化要件仕様のソース
サブシステムまたはモデル インターフェイスでバスの階層およびプロパティを割り当てる、あるいは検証する。

1 つ以上の In Bus Element ブロックまたは Out Bus Element ブロックを使用します。オプションで、Simulink.Bus オブジェクトを使用します。

モデルの最上位レベルにある Inport ブロックおよび Outport ブロックには、Simulink.Bus オブジェクトが必要です。

複数のブロック、サブシステム、またはモデルにおけるバスの階層およびプロパティを割り当てる、あるいは検証する。

Simulink.Bus オブジェクトを使用します。

サブシステムやモデルなどのコンポーネント間のインターフェイスで整合性を確保する。

Simulink.Bus オブジェクトを使用します。

モデル コンポーネントの端子が相互に直接接続されている場合、それらの端子には同じまたは等価のバス オブジェクトを指定します。インターフェイスの両側で、同じ階層およびプロパティをもつバス オブジェクトを指定することで、コンポーネント間のインターフェイスで整合性が確保されます。インターフェイス設計の詳細については、Simulink コンポーネントのインターフェイスの定義とデータの管理を参照してください。

Bus Creator ブロックでバスを作成する場合に厳密なデータ型指定を適用する。

Simulink.Bus オブジェクトを使用し、次の設定を適用します。

  • [出力データ型] ブロック パラメーターを Simulink.Bus オブジェクトに設定します。

  • [要素名] ブロック パラメーターを [出力データ型から] に設定します。

  • [要素名の不一致] コンフィギュレーション パラメーターを [エラー] に設定します。このコンフィギュレーション パラメーターは、入力要素名がバス オブジェクト内の対応する名前に一致しているかをチェックします。

ブロックでどの入力バスが伝播されるかに関係なく、Switch ブロックまたは Multiport Switch ブロックの出力バスで整合性の取れた要素名が使用されるようにする。

Simulink.Bus オブジェクトを使用し、次の設定を適用します。

  • [出力データ型] ブロック パラメーターを Simulink.Bus オブジェクトに設定します。

  • [要素名の不一致] コンフィギュレーション パラメーターを [エラー] に設定します。このコンフィギュレーション パラメーターは、入力要素名がバス オブジェクト内の対応する名前に一致しているかをチェックします。

次のいずれかのモデリング構成を使用する:

  • 非バーチャル バス

  • バス配列

  • バス入力または出力を含む Stateflow® チャート

  • 外部コードとの S-Function またはレガシ コード ツール インターフェイス

  • バス入力またはバス出力を含む MATLAB Function ブロックおよび MATLAB System ブロック

Simulink.Bus オブジェクトを使用します。

モデルとバスの生成コード間の対応関係をトレースする。

Simulink.Bus オブジェクトで定義された非バーチャル バスを使用します。

非バーチャル バスに対して生成されたコードは、構造を生成します。非バーチャル バスにより、いくつかのバスの複数のコピーが生成される場合があります。

バス オブジェクトは、非バーチャル バスを定義している場合にのみ生成コードに含まれます。バーチャル バスを定義しているバス オブジェクトの場合、バス オブジェクトではなく、バス オブジェクトが指定しているプロパティが生成コードに含まれます。

詳細については、非バーチャル バスの作成を参照してください。

Simscape™ の接続を保持する厳格なインターフェイス仕様を設計し、接続の名前およびタイプを制限する。

Simulink.ConnectionBus オブジェクトを使用します。

詳細については、接続を保持する厳格なインターフェイス仕様の設計 (Simscape)を参照してください。

次のステップ

バス オブジェクトがモデリング要件に対応している場合は、次のステップに従います。

In Bus Element ブロックまたは Out Bus Element ブロックがモデリング要件に対応している場合は、Define Bus Properties at Component Interfacesを参照してください。

参考

ブロック

オブジェクト

モデル設定

トピック