Main Content

万博1manbetx仿真软件。总线オブジェクトデータ型でのバスプロパティの指定

バスは万博1manbetx仿真软件。Busオブジェクトと関連付けることができます。このオブジェクトは、バスを検証するために Simulink®が使用するプロパティを指定します。Busオブジェクトは、バーチャル バスではオプションですが、非バーチャル バスでは必須です。

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

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

万博1manbetx仿真软件。Bus オブジェクト ワークフロー

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

万博1manbetx仿真软件。Bus オブジェクトを使用するかどうかの判定

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

  • 非バーチャル バス

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

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

Busオブジェクトは、複数のブロックと関連付けることができます。一部のブロックでは、ブロックにバス入力またはバス出力がある場合、Busオブジェクトの指定が必要です。詳細については、バス対応ブロックを参照してください。

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

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

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

モデルとバスの生成コード間の対応関係のトレースを容易にするには、非バーチャル バスを使用します。非バーチャル バスに対して生成されたコードは、構造を生成します。非バーチャル バスにより、いくつかのバスの複数のコピーが生成される場合があります。

万博1manbetx仿真软件。Bus オブジェクトの管理方法の決定

Busオブジェクトは次の場所に保存できます。

  • データ ディクショナリ

  • 関数

  • MAT ファイル

  • データベース ファイルまたはその他の外部ファイル

Busオブジェクトを保存しない場合、そのBusオブジェクトを使用するモデルを再度開くときに、Busオブジェクトを再作成しなければなりません。

Busオブジェクトのストレージの場所によって、メリットも異なります。

場所 使用法に関する注意事項

データ ディクショナリ

大きなモデルのコンポーネント化に使用します。

ベース ワークスペースからデータ ディクショナリに保存する場合は、Busオブジェクトだけでなく、モデルで使用するすべての変数を取得します。

データ ディクショナリに保存する前に、データ ディクショナリに移行する前の考慮事項を参照してください。

関数

トレーサビリティとモデルの差別化に MATLAB®を使用する場合に使用します。

MAT ファイル

より高速なBusオブジェクトの保存と読み込みのために使用します。

データベース ファイルまたはその他の外部ファイル

バス インターフェイス情報と外部データ ソースに保存された設計ドキュメントの比較に使用します。

万博1manbetx仿真软件。Bus オブジェクトの作成と指定

Busオブジェクトを対話的に作成または編集するために、バス エディターまたはモデル エクスプローラーを使用します。これらのツールで作成されたBusオブジェクトは最初にベース ワークスペースまたはデータ ディクショナリに保存されます。バス階層を可視化してインポートやエクスポートなどの機能にアクセスするには、バス エディターを使用します。更新するオブジェクトのタイプが複数ある場合、モデル エクスプローラーを使用します。モデル エクスプローラーでは、万博1manbetx仿真软件。Parameterオブジェクトなど、追加のタイプのオブジェクトを更新できます。

Busオブジェクトをプログラムで作成および編集するには、プログラムによるバス オブジェクトの作成を参照します。Busオブジェクトは最初にベース ワークスペース、データ ディクショナリ、または関数のいずれかに保存されます。

Busオブジェクトを作成し、その属性を指定したら、オブジェクトが提供するバス定義を使用する必要のあるブロックにそれを関連付けることができます。ブロックをバスに関連付けるには、[ブロック パラメーター] ダイアログ ボックスで、[出力データ型]または[データ型][バス: ]に設定し、Busオブジェクト名で置き換えます。

Busオブジェクトの定義前または定義後のいずれかに、ブロックのデータ型としてBusオブジェクトを指定できます。ただし、モデルをシミュレートする前に、Busオブジェクトと対応するバスに、同じ数のバス要素が同じ順序で含まれていなければなりません。また、Busオブジェクトおよび対応するバス内の各要素が同じデータ型と次元をもたなければなりません。

モデルの開発中に、バスを変更してBusオブジェクトと一致させるか,Busオブジェクトを変更してバスと一致させることができます。

Busオブジェクトを変更しない場合は、次を実行できます。

  • バスの変更に一致するBusオブジェクトを作成し、変更されたバスが接続されるブロックに対して新しいBusオブジェクトを使用する。

  • バスの変更を元に戻して、バスが関連付けられているBusオブジェクトと引き続き一致するようにする。

万博1manbetx仿真软件。Bus オブジェクトの保存

ベース ワークスペースに保存されているBusオブジェクトを保存するには、ベース ワークスペースの内容を保存するどの MATLAB 方法でも使用できます。ただし、結果のファイルには、Busオブジェクトだけでなく、ベース ワークスペース内のすべての内容が含まれます。

Busオブジェクトはさまざまな場所に保存できます。

場所 ファイルの作成方法 ファイルの内容

データ ディクショナリ

Simulink データ ディクショナリを使用するモデルの移行を参照してください。 モデルで使用されるBusオブジェクトとその他のベース ワークスペース変数

関数

関数バス エディターまたは万博1manbetx仿真软件。Bus.saveを使用します。 Busオブジェクト

MAT ファイル

バス エディターを使用します。 Busオブジェクト

データベース ファイルまたはその他の外部ファイル

C コード構造体 (struct) 定義で、関数万博1manbetx仿真软件。importExternalCTypes、スクリプトまたは Database Toolbox™ 機能を使用します。シミュレーション用に既存のアルゴリズム C コードを統合する準備 (レガシ コード ツールを使用するなど) のため、構造型に従って信号またはパラメーター データをパッケージ化できます。

Busオブジェクト

保存されたBusオブジェクトを変更する場合は、それらのオブジェクトを再度保存して変更を維持しなければなりません。

万博1manbetx仿真软件。Bus オブジェクトからモデルへのマッピング

モデルのシミュレーションを実行する前に、モデルが使用するすべてのBusオブジェクトをモデルが使用するベース ワークスペースまたはデータ ディクショナリに読み込まなければなりません。モデルにおける自動化と整合性を確保するためには、Busオブジェクトからモデルへのマッピングが重要です。

  • モデルが必要とするすべてのBusオブジェクトを特定することで、モデルを実行する前にそれらのオブジェクトを確実に読み込むことができます。

  • Busオブジェクトを使用するすべてのモデルを特定することで、Busオブジェクトの変更がBusオブジェクトを使用するモデルにおける予期しない変化の原因にならないことを確認できます。

モデルの実行前に必要なBusオブジェクトの読み込みを行うには、次を検討してください。

  • プロジェクト — プロジェクトを開くタイミングで実行されるファイルを設定すると、Busオブジェクトを定義するファイルが自動的に読み込みまたは実行されます。詳細については、プロジェクト管理を参照してください。

  • データ ディクショナリ — 1 つ以上のモデルの変数をもつBusオブジェクトおよびその他のオブジェクトを格納します。

    モデル間でBusオブジェクトを共有するには、各モデルをディクショナリにリンクし、共通の参照ディクショナリを作成してオブジェクトを格納します。例については、参照ディクショナリを使用したディクショナリ データの分割を参照してください。

  • データベース — マッピング情報をデータベースなどの外部データ ソースで取得します。

  • モデル コールバック —PreLoadFcnなどのモデル コールバックを使用して、Busオブジェクトを定義するファイルを読み込みまたは実行します。詳細については、モデル コールバックを参照してください。

    モデルで少数のBusオブジェクトしか使用しない場合は、ファイルを読み込むのではなく、Busオブジェクトのコードをコールバックに直接コピーすることを検討してください。たとえば、ex_bus_tutorial_nonvirtualモデルを開いて、コールバックを調べます。

開いているモデルでBusオブジェクトが使用されている場所を確認するには、特定の変数を使用するブロックの検索を参照してください。

ヒント

厳密な標準の命名規則を使用すると、Busオブジェクトの使用をマッピングするのに役立ちます。たとえば,アクチュエータ制御関数に必要なモデルおよびデータについて考えます。モデルの名前をActuatorとし、入力端子にActuator_bus_in、出力端子にActuator_bus_outという名前をそれぞれ付けると、Busオブジェクトとモデル間の接続が明確になります。

ただこの方法では、あるモデルからの出力が直接別のモデルに送られる場合、問題が発生することがあります。その場合、命名に不一致があるとエラーになります。

参考

ツール

オブジェクト

関連するトピック