ドキュメンテーション

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

モデル参照インターフェイスにおけるバス

バーチャル バス要素の入力を選択するには、In Bus Element ブロックを使用できます。バーチャル バス出力を作成するには、Out Bus Element ブロックを使用できます。

非バーチャル バスについては、InportOutport ブロックを使用しなければなりません。

ルートレベルの Inport ブロックにおけるバスの使用

Inport ブロックから参照モデルへバスを渡すには、Inport ブロックの [ブロック パラメーター] ダイアログ ボックスで、次のようにします。

  • [データ型] パラメーターを [Bus: <object name>] に設定します。

  • <object name>Inport ブロックが生成するバスを定義するバス オブジェクトの名前に置き換えます。

ルートレベルの Inport ブロックはバーチャル バスを非バーチャル バスに変換します。非バーチャル バス入力のすべての信号で同じサンプル時間を使用しなければなりません。詳細については、バス信号サンプル時間の指定を参照してください。

ルートレベルの Inport ブロックにデータをインポートする方法の詳細については、ルート レベルの入力端子へのバス データの読み込みを参照してください。

ルートレベルの Outport ブロックにおけるバスの使用

ルートレベルの Outport ブロックはバーチャル バスを非バーチャル バスに変換します。非バーチャル バス入力のすべての信号で同じサンプル時間を使用しなければなりません。詳細については、バス信号サンプル時間の指定を参照してください。

モデルのルート レベルの Outport ブロックは、バスのすべての要素が同じデータ型をもつ場合に限り、バーチャル バスを受け取ることができます。Outport ブロックは、バスを自動的にバスと同じ要素数をもつベクトルに変換し、そのベクトルを出力します。

ルートレベルの Outport ブロックの入力として混在するデータ型が含まれるバス信号を使用するには、Outport ブロックの [ブロック パラメーター] ダイアログ ボックスで、以下を実行します。

  • [データ型][Bus: <object name>] に設定します。

  • <object name>Outport ブロックが生成するバスを定義するバス オブジェクトの名前に置き換えます。

モデル階層で、最上位モデルにあるバス信号がバーチャルである場合、信号は非バーチャルに変換されます (バスの変換を参照)。バスを参照モデルへの入力または参照モデルからの出力として使用する方法の詳細については、モデル参照の境界を越えるバス データを参照してください。

Atomic Subsystem 非バーチャル Inport ブロックにおけるバスの使用

既定の設定では、Inport ブロックはバーチャル ブロックで、そのためバスを入力として受け取ります。ただし、以下の両方の条件に該当する場合、Inport ブロックは非バーチャルになります。

  • Inport ブロックが Atomic Subsystem 内にある場合。

  • (信号がバスの場合に) 信号またはその要素が Subsystem の出力に直接接続される場合。

バーチャル ブロックと非バーチャル ブロックの違いについては、非バーチャル ブロックとバーチャル ブロックを参照してください。

Inport ブロックは、次の条件のどちらかが真のときはバスを受け取ることができます。

  • バスのすべての要素がベクトルに変換される場合 (すべての要素が同じデータ型でなければならない)。

  • バスが非バーチャルバスである場合。

バス要素のデータ型が異なる場合、モデルをシミュレートしようとすると、シミュレーションが停止し、エラー メッセージが生成されます。Inport ブロックと Outport ブロックの間に Signal Conversion ブロックを挿入すると、モデルのセマンティクスを変更せずにこの条件違反を回避できます。

たとえば、Atomic Subsystem を含む次のモデルはシミュレーションしません。

サブシステムでは、nonvirtual というラベルが付けられた Inport ブロックは、Atomic Subsystem 内にあるため非バーチャルで、バス要素のいずれか (a というラベル付き) がサブシステムの出力に直接接続されます。

さらに、サブシステムの入力に接続されたバス (bus1) は、異なるデータ型の要素をもちます。その結果、このモデルはシミュレートできません。

サブシステムの出力への直接接続を切断するには、非バーチャル Inport ブロックの後に、Signal Conversion ブロックを挿入します。Signal Conversion ブロックの [出力] パラメーターを [信号のコピー] に設定します。Signal Conversion ブロックを挿入すると、モデルのシミュレーションを実行できるようになります。

参考

ブロック

関連するトピック