ドキュメンテーション

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

バス オブジェクトを使用する状況

バスにはバス オブジェクトが関連付けられています。このオブジェクトは、Simulink® がバス信号の検証に使用するプロパティを提供します。バス オブジェクトは、バーチャル バスではオプションですが、非バーチャル バスでは必須です。

バス オブジェクトでは、それが格納する信号の値とは異なり、バスのアーキテクチャ上のプロパティのみが指定されます。たとえば、バス オブジェクトではバス内の要素の数、それらの要素の順序、要素の入れ子構造の有無とその方法、および構成要素の信号のデータ型は指定できますが、信号値は指定できません。バス オブジェクトは、C における構造定義に似ています。つまり、バス オブジェクトは、バスのメンバーを定義しますが、バスは作成しません。バス オブジェクトについてもう 1 つ考慮する点は、ケーブル コネクタと似ているということです。コネクタはすべてのピンとそれらの構成を定義し、接続可能なワイヤのタイプを制御します。同様に、バス オブジェクトは関連付けられたバスに必要な信号の構成とプロパティを定義します。

バス オブジェクトは、ベース ワークスペースなどの場所に格納できるクラス Simulink.Bus のインスタンスです。このオブジェクトは、バスの構造、および入れ子、データ型、サイズなどその要素のプロパティを定義します。

バス オブジェクトは、バス要素の順序付けられた階層のルートの役割を果たします。バス要素は、Simulink.BusElement クラスのインスタンスです。各要素は、名前、データ型、次元など、バス内の 1 つの信号のプロパティを完全に指定します。バス オブジェクトに格納された要素の順序により、バス内の信号の順序が決まります。バス オブジェクトは、構成要素の信号によって定義されずに、継承に依存するプロパティも指定できます。

バス オブジェクトの作成と管理には、バス エディターによるバス オブジェクトの作成の説明に従い Simulink バス エディターを使用するか、プログラムによるバス オブジェクトの作成の説明に従い Simulink API を使用することができます。バス オブジェクトを作成し、その属性を指定したら、オブジェクトが提供するバス定義を使用する必要のあるブロックにそれを関連付けることができます。

バス オブジェクトを MATLAB® コードまたは MAT ファイルとして保存できます。

バス オブジェクトの使用が必要な場合

以下のモデリング構成ではバス オブジェクトを使用しなければなりません。

  • モデル参照の境界を越える非バーチャル バス

  • バスを入力または出力する MATLAB Function ブロックまたは Stateflow® チャート

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

バス オブジェクトをオプションで使用する場合

Bus Creator ブロック パラメーターを使用してバス信号のプロパティを指定した場合、そのバスからの下流のすべてのブロックが同じプロパティを継承します。

Bus Creator ブロック パラメーターを使用してバーチャル バスを定義し、制限されたエラー チェックを実行できます。バスでエラー チェックを実行するには、バス オブジェクトをそのバスに関連付けます。バス オブジェクトを使用してバス信号のエラーをチェックすることは、再利用可能で共有可能なモデル コンポーネントを作成する際に重要です。

モデルとバスの生成コード間の対応関係のトレースを容易にするには、非バーチャル バスを使用します。非バーチャル バスの生成コードで構造体が生成されますが、一部のバス信号の複数のコピーが生じる可能性もあります。

ブロックでのバス オブジェクトの使用

バス オブジェクトは、複数のブロックと関連付けることができます。一部のブロックでは、ブロックにバス入力またはバス出力がある場合、バス オブジェクトの指定が必要です。バス オブジェクトがブロックによって信号の出力を管理する場合、信号は、オブジェクトによって指定されたとおりのプロパティをもつバスです。バス オブジェクトがブロックによって信号の入力を管理する場合、信号は、オブジェクトによって指定されたとおりのプロパティをもつバスでなければなりません。誤差があるとエラーが発生します。

ブロックをバスに関連付けるには、[ブロック パラメーター] ダイアログ ボックスで、[データ型][Bus: <object name>] に設定し、<object name> をバス オブジェクト名で置き換えます。

ライブラリ内にあるサブシステムに、バス オブジェクトを使用するブロックが含まれる場合、そのブロックのすべてのインスタンスがバス オブジェクトの仕様と一致しなければなりません。

メモ

バス オブジェクトのデータ型をもつブロックにバス データの最小値と最大値を設定しないでください。Simulink はこれらの設定を無視します。代わりに、データ型として指定したバス オブジェクトのバス要素の最小値と最大値を設定してください。値は有限の実数で double のスカラー値にする必要があります。

バス要素の [最小値] および [最大値] プロパティの詳細については、Simulink.BusElement を参照してください。

バス オブジェクトのワークフロー

モデルでバス オブジェクトを使用するには、次のタスクを実行します。多くの場合は対話形式で行います。

  1. バス オブジェクトの使用を必要とする場所を確認します。

  2. バス オブジェクトを使用する 1 つ以上のモデルで使用されるバス オブジェクトを追跡するための、バス オブジェクトの管理方法を決定します。

  3. バス オブジェクトを MATLAB ベース ワークスペース内に作成します。

  4. バス オブジェクトをベース ワークスペースから MATLAB コード ファイルまたは MAT ファイルにエクスポートします。

  5. バス オブジェクトをファイルからそのバス オブジェクトを使用するモデルにインポートします。

参考

ブロック

クラス

関連するトピック