コンポーネント インターフェイスでのバス プロパティの指定
この例では、バス要素の端子を使用してモデル インターフェイスでバス プロパティを指定する方法を示します。Simulink.Bus オブジェクトを使用する場合と使用しない場合の両方について説明します。
モデル例を開く
IterativeCounter プロジェクトを開くには、例を開きます。プロジェクトの起動時に CounterSystem モデルが開きます。
ライン スタイルを更新するには、モデルを更新します。Simulink® ツールストリップの [モデル化] タブで [モデルの更新] をクリックします。ライン スタイルを使用してバスを視覚的に識別できます。

Model ブロックは CounterAlgorithm という名前のモデルを参照しています。参照モデルは次の 2 つの入力を受け取ります。
BatchData— カウンターのデータと飽和制限を提供するバス配列。この配列にはDataという名前の非バーチャル バスが 2 つ含まれています。それらの非バーチャル バスのそれぞれに、Pulseという名前の信号とLimitsという名前の非バーチャル バスが含まれています。Controls— インクリメントを変更する信号、カウンターをリセットする信号、およびカウンターのオフセットを定義する信号を提供するバーチャル バス。
参照モデルと親モデルの間のインターフェイスに互換性がなければなりません。データ型などの指定が一致していなければならず、参照モデルで使用されている要素を親モデルから使用できなければなりません。
バス配列の作成
バス配列を作成するために、CounterSystem モデルでは Vector Concatenate ブロックを使用しています。
非バーチャル バスの作成には、CounterSystem モデルでは、Simulink.Bus オブジェクトを指定する Bus Creator ブロックを使用しています。非バーチャル バスは Simulink.Bus オブジェクトで定義されていなければなりません。BusTypes.sldd という名前のデータ ディクショナリで Simulink.Bus オブジェクトがモデルに提供されています。
DataBus— 配列バス内のDataという名前の非バーチャル バスを定義するSimulink.BusオブジェクトLimitsBus—Dataという名前の非バーチャル バス内のLimitsという名前の非バーチャル バスを定義するSimulink.Busオブジェクト
バス オブジェクトとその使用方法を表示するには、型エディターを使用します。Simulink ツールストリップの [モデル化] タブの [設計] ギャラリーで、[型エディター] をクリックします。バス オブジェクトが使用されているブロックを強調表示するには、型エディターでバス オブジェクトを選択します。たとえば、DataBus を選択します。このバス オブジェクトは 2 つの Bus Creator ブロックと Model ブロックで使用されています。

バス オブジェクトによるバス インターフェイスの指定
CounterAlgorithm モデルの BatchData というラベルが付いた In Bus Element ブロックはバス配列を受け取ります。

このインターフェイスを定義するために、BatchData という名前の端子で以下が指定されています。
データ型は
Bus: DataBusバスの仮想性は
nonvirtual次元は
[2 1]
この指定を表示するには、プロパティ インスペクターを開きます。その後、BatchData というラベルが付いた In Bus Element ブロックを選択します。バス オブジェクトで階層内のバス要素が指定されています。

バーチャル バスの作成
バーチャル バスを作成するために、CounterSystem モデルでは Out Bus Element ブロックを含むサブシステムを使用しています。Controls というラベルが付いた各 Out Bus Element ブロックがバスの要素に対応します。

信号属性によるバス インターフェイスの指定
CounterSystem モデルのサブシステムでは、バーチャル バスの作成と定義の両方を Controls という名前の端子で行います。
このインターフェイスを定義するために、Controls という名前の端子で以下が指定されています。
int32データ型のIncrementという名前のバス要素booleanデータ型のResetという名前のバス要素Offsetという名前のバス要素
この指定を表示するには、プロパティ インスペクターを開きます。その後、Out Bus Element ブロックを選択します。たとえば、Controls.Increment というラベルが付いたブロックを選択します。

CounterAlgorithm モデルの Controls というラベルが付いた In Bus Element ブロックはバーチャル バスを受け取ります。

このインターフェイスを定義するために、Controls という名前の端子で以下が指定されています。
int32データ型のIncrementという名前のバス要素booleanデータ型のResetという名前のバス要素
この端子で指定されているのは、入力バスの要素のサブセットです。このサブセットは、参照モデルで使用されている要素のみを表します。Offset という名前のバス要素は参照モデルで使用されていません。
この指定を表示するには、プロパティ インスペクターを開きます。その後、Controls というラベルが付いた In Bus Element ブロックを選択します。

インターフェイス要素の使用方法の表示
コンポーネントのインターフェイスを検証するには、コンポーネント インターフェイス ビューを使用します。
Simulink ツールストリップの [モデル化] タブの [設計] ギャラリーで [インターフェイス ビュー] を選択します。
コンポーネントの境界にある端子を選択します。
[使用法の表示] をクリックします。
別の要素の使用方法をトレースするには、プロパティ インスペクターで要素を選択します。
オプションで、階層をナビゲートして他のコンポーネント内の要素の使用方法を表示します。

用途
このモデルの階層構造のシミュレーション データを記録して読み込むには、Load Data to Represent Nonvirtual Bus Input from Model Hierarchyを参照してください。
このモデルの階層構造のデータを指定の時間間隔でのみ記録するには、ログ間隔を参照してください。
このモデルの階層構造を使用したシミュレーションの入力および出力としてビッグ データを検討するには、ビッグ データの取り扱いを参照してください。
CounterAlgorithmという名前のモデルの知的所有権を隠すには、保護モデルの機能を参照してください。