Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

In Bus Element

外部端子から入力を選択

  • In Bus Element block

ライブラリ:
Simulink / Ports & Subsystems
Simulink / Sources
HDL Coder / Ports & Subsystems
HDL Coder / Sources

In Bus Element ブロックの代替構成:
Bus Element In

説明

In Bus Element ブロックは、バス、信号、またはメッセージを受け取る外部端子からの入力を選択します。

端子がバスを受け取った場合、In Bus Element ブロックは、Inport ブロックと Bus Selector ブロックの機能を組み合わせます。バスから複数の要素を選択するには、複数の In Bus Element ブロックを使用します。同じ端子に対応するすべての In Bus Element ブロックは、ダイアログ ボックスを共有します。

多くのバス要素で構成されるバスを含むインターフェイスに対し、In Bus Element ブロックは次を行います。

  • ブロック線図における信号線の複雑さと煩雑さを低減する。

  • インターフェイスに対する段階的な変更を容易にする。

  • 使用ポイントに近いバス要素へのアクセスを許可して、Bus Selector および Goto ブロック構成の使用を回避する。

In Bus Element ブロックを使用するようにインターフェイスを変換するには、バス要素端子を使用したサブシステム インターフェイスとモデル インターフェイスの簡略化を参照してください。

In Bus Element ブロックではメッセージと信号の要素を出力として混在させることはサポートされていません。

すべて展開する

モデル コンポーネントでは、各入力バス要素端子は 1 つ以上の In Bus Element ブロックで表されます。

CreateInputBusElementPort という名前のモデル例を開きます。

入力バス要素端子を追加する方法は、モデル コンポーネントとその親のいずれで作業しているのかによって異なります。

現在開いているサブシステムまたはモデルに入力バス要素端子を追加するには、サブシステムまたはモデルの最上位レベルに In Bus Element ブロックを追加します。たとえば、キャンバスをダブルクリックし、ブロック名の入力を開始します。その後、In Bus Element ブロックを選択します。

現在のコンポーネント内の Subsystem ブロックまたは Model ブロックに入力バス要素端子を追加するには、ブロックの端をクリックして [入力バス端子の作成] を選択します。たとえば、入力バス要素端子を Subsystem ブロックに追加します。

サブシステムを開くには、Subsystem ブロックをダブルクリックします。

サブシステムには、Subsystem ブロック上に作成した入力端子に対応する既定の In Bus Element ブロックが含まれています。ブロック ラベルでは、端子名 (InBus) とバス要素 (signal1) の 2 つの対話型のテキスト フィールドに既定値が使用されます。

モデル コンポーネント内から別の入力バス要素端子を作成するには、"Ctrl" キーを押したまま既存の In Bus Element ブロックを新しい場所にドラッグします。ポインターを放したら [新規端子の作成] をクリックします。

一意の端子名をもつ In Bus Element ブロックが表示されます。

この例では、新しい端子の名前は InBus1 です。

端子名を編集するには、ブロック ラベルの端子名をクリックします。次に、新しい名前を入力します。

あるいは、[端子名] ブロック パラメーターを端子の目的の名前に設定します。

複数のブロックが同じ端子に関連付けられている場合、その端子の名前を変更すると、その端子を共有するすべてのブロックが新しい端子の名前を反映するように更新されます。

バス要素端子への入力は、バス、信号、またはメッセージです。入力バスの要素を選択する代わりに、In Bus Element ブロックを介して入力全体を渡すには、ブロック ラベルから要素を表す部分を削除します。

SelectTopLevelInput モデルを開いてコンパイルします。モデルをコンパイルするには、Simulink ツールストリップの [モデル化] タブで、[モデルの更新] または [実行] をクリックします。モデルをコンパイルするとライン スタイルが更新されます。このライン スタイルは、バスを視覚的に識別するのに使用できます。

Subsystem ブロックには、InBus および Constant という名前のバス要素端子が含まれています。端子の 1 つはバスに接続されています。もう一方の端子は信号に接続されています。

サブシステムを開きます。このサブシステムには、端子ごとに 1 つの In Bus Element ブロックが含まれています。

上の In Bus Element ブロックは、InBus という名前の端子からの chirp という名前の要素を選択します。

下の In Bus Element ブロックは、Constant という名前の端子からの入力全体を選択します。入力全体は定数信号です。

InBus という名前の端子からの入力全体を選択するために、ブロック ラベルから 2 番目のテキスト フィールドを削除します。たとえば、chirp をクリックしてテキスト フィールドを編集します。

次に、chirp を削除します。変更をコミットするために、キャンバス上の他の場所をクリックします。

モデルをコンパイルして、ライン スタイルを更新します。

In Bus Element ブロックは、入力全体をサブシステムに渡します。この場合、入力全体は端子の最上位バスです。

In Bus Element ブロックからの入力全体を選択すると、ライン ラベルを伝播できます。Simulink ツールストリップの [デバッグ] タブで、[情報のオーバーレイ] をクリックします。次に、[伝播された信号ラベル] を選択します。

In Bus Element ブロックは、nonconstant という名前のバスおよび constant という名前の信号をサブシステムに渡します。

In Bus Element ブロックを使用して最上位バスを参照モデルに渡すには、In Bus Element ブロックを使用して以下のいずれかのアクションを実行する必要があります。

  • Simulink.Bus オブジェクトでバスを定義する。

  • 別の In Bus Element ブロックを使用するか使用せずに、バスのリーフ要素を 1 つ以上指定する。

サブシステムの入力バス要素端子の要素を選択するには、選択する要素ごとに In Bus Element ブロックを使用します。

SelectInputBusElements という名前のモデル例を開いてコンパイルします。モデルをコンパイルするには、Simulink ツールストリップの [モデル化] タブで、[モデルの更新] または [実行] をクリックします。モデルをコンパイルするとライン スタイルが更新されます。このライン スタイルは、バスを視覚的に識別するのに使用できます。

Bus Creator ブロックは、nonconstant という名前の入れ子にされたバスと constant という名前の信号の 2 つの要素を含むバーチャル バスを作成します。nonconstant バスには sinechirp という名前の 2 つの信号が含まれます。最上位バスは Subsystem ブロックの入力端子に接続します。

サブシステムを開くには、Subsystem ブロックをダブルクリックします。

サブシステムには、入力端子に対応する In Bus Element ブロックが含まれています。ブロック ラベルは、ブロックが入力端子から constant という名前の信号を選択することを示しています。

ブロックで選択される要素を変更するには、ブロック ラベルの 2 番目のテキスト フィールドを編集します。2 番目のテキスト フィールドが空の場合は、メニューに、端子の要素が以前に選択された要素と共に表示されます。

入力要素のリストが長い場合は、選択する要素の名前の入力を開始して要素のリストをフィルター処理します。

この例では、「chirp」と入力します。

リストに、入力したテキストがオプションとして表示されます。ただし、最上位入力バスに chirp という名前の信号は含まれていません。nonconstant という名前の入れ子にされたバスには、chirp という名前の信号が含まれています。そのため、nonconstant.chirp という名前のオプションを選択します。ラベル内の各ドットは、入力バス階層内にあるバスの名前の後に続きます。

プロパティ インスペクターを開きます。その後、In Bus Element ブロックを選択します。あるいは、ブロックをダブルクリックしてダイアログ ボックスを開きます。

ブロックで選択されている要素が強調表示されます。In Bus Element ブロックで選択されていない要素は、グレーのイタリックで表記されます。

他の入力要素のブロックを追加するには、要素名をクリックするか、"Ctrl" キーを押したまま複数の要素名をクリックします。その後、[選択した信号のブロックを追加します] をクリックします。

対応する In Bus Element ブロックがブロック線図に表示されます。

複数の In Bus Element ブロックで同じ要素を選択できます。たとえば、constant という名前の要素を選択する別のブロックを追加します。

重複するブロックが強調表示されます。

インターフェイスの入力バス要素端子の要素を指定するには、次の方法があります。

  • ブロック線図にブロックを追加して要素をインターフェイスに追加するかブロックを追加せずに要素をインターフェイスに追加する。

  • Simulink.Bus オブジェクトでバス階層を定義する。

メモ

バス要素端子の入力バスのデータ型として Simulink.Bus オブジェクトを指定するには、In Bus Element ブロックではバスまたはバスの要素を選択する必要があります。

この例では、Simulink.Bus オブジェクトを使用せずにインターフェイスの入力バス要素端子を定義する方法を示します。

空のモデルまたはサブシステムに、In Bus Element ブロックを追加します。

Default In Bus Element block

プロパティ インスペクターを開きます。その後、In Bus Element ブロックを選択します。あるいは、ブロックをダブルクリックしてダイアログ ボックスを開きます。

ブロックを使用して端子に要素を追加するには、新しい要素を含める要素を選択します。次に、Add element をクリックします。

Pointer paused on Add element button

前に選択した要素の下に新しい要素が入れ子になります。ブロック線図に、新しい要素を選択しているブロックが表示されます。

A second In Bus Element block is labeled InBus.signal2.

ブロックを使用せずに要素を追加するには、プロパティ インスペクターまたはダイアログ ボックスで、新しい要素を含める要素を選択します。その後、Add element ボタンの矢印をクリックし、[ブロックなしの要素の追加] を選択します。

Pointer paused on Add element without block button

プロパティ インスペクターまたはダイアログ ボックスで、前に選択した要素の下に新しい要素が入れ子になります。ブロック線図は変わりません。

InBus with a new element named signal1 nested under signal2

ブロックを追加せずに要素を追加することで、1 つの In Bus Element ブロックだけを使用し、Simulink.Bus オブジェクトなしで、バス階層全体を定義できます。

オプション:

  • ブロックあり、またはなしでさらに要素を追加します。

  • 要素の名前をダブルクリックして新しい名前を入力することで、要素の名前を変更します。

  • 要素を新しい場所にドラッグして要素を並べ替えます。

  • 要素の名前の上にマウスをポイントし、表示された鉛筆ボタン をクリックして、要素のプロパティを指定します。詳細については、属性を参照してください。

Bus hierarchy with renamed elements and nondefault element properties

インターフェイスの要素のプロパティを定義すると、再利用のためにファイルを作成する際に役立ちます。参照サブシステムまたはモデルでサポートされる入力は、インターフェイスの定義によって決定されます。入力バスの階層およびプロパティは対応する端子における定義に一致している必要があります。

ブロックなしで要素を追加してから、In Bus Element ブロックでそれらの要素を選択することを決定するとします。入力要素のブロックを追加するには、要素名をクリックするか、Ctrl キーを押したまま複数の要素名をクリックします。次に、Add blocks for selected signals をクリックします。

Pointer paused on Add blocks for selected signals button

対応する In Bus Element ブロックがブロック線図に表示されます。

In Bus Element ブロックは、対応する入力端子で使用可能でない要素を求めることがあります。

無効な要素およびそうした要素を選択するすべての In Bus Element ブロックを削除するには、プロパティ インスペクターまたはダイアログ ボックスで以下のようにします。

  1. 削除する無効な要素を選択します。

    サブシステム インターフェイスでは、要素が入力バス内で使用可能でない場合、要素名は赤色です。要素名の上にマウスをポイントすると、ツールヒントで要素が入力バスにないことが示されます。

  2. Remove selected elements をクリックします。

たとえば、InBus という名前のバスを受け取るサブシステム インターフェイスがあるとします。pulse という名前の要素が入力バスから削除されました。ただし、少なくとも 1 つの In Bus Element ブロックでその要素が選択されています。

Three elements appear under InBus. The selected element, pulse, is red and italicized.

無効な要素を選択しているブロックを削除するには、その要素名をクリックします。次に、Remove selected elements をクリックします。

Pointer paused on Remove selected elements

この操作により、無効な要素と対応するブロックが削除されます。

An unconnected line where the block was removed

サブシステムの入力端子で使用可能な要素を選択してから Remove selected elements をクリックすると、その要素を選択しているすべての In Bus Element ブロックが削除されます。その要素は、入力バスの一部であるため、リストには入ったままです。

複数の In Bus Element ブロックで同じ要素が選択されている場合は、いずれかのブロックを選択すると、同じ要素を選択している他のブロックが強調表示されます。

ModelingControllerStandalone モデルを開きます。

sensor.x1 というラベルの In Bus Element ブロックの 1 つを選択します。

sensor.x1 というラベルのもう一方の In Bus Element ブロックがブロック線図で強調表示され、そのブロックが選択されている In Bus Element ブロックの重複であることが示されます。

入力端子から sensor.x1 を選択する In Bus Element ブロックを、2 つを超えて使用する複雑なコントローラー モデルがあるとします。

ブロック線図が複雑な場合に重複するブロックを見つけるには、ブロックを選択し、省略記号をポイントして、操作バーで [関連するブロック] をクリックします。

選択したブロックに複数のブロックが対応している場合は、関連するブロックのリストが開きます。関連するブロックのリストはテキスト ボックスに検索語を入力してフィルター処理できます。リストで関連するブロックをクリックすると、ブロック線図でそのブロックが選択されます。

コンパクトなラベルとブロックの色を使用して、In Bus Element ブロックと Out Bus Element ブロックの外観をカスタマイズします。

BusElementPortBlocks という名前のモデル例を開きます。

このモデルには次が含まれます。

  • Inbuspulse という名前の 2 つの一意のバス要素端子を表す In Bus Element ブロック

  • OutBus という名前のバス要素端子を表す Out Bus Element ブロック

ブロック ラベルのサイズを小さくするには、リーフ要素名のみを表示します。In Bus Element ブロックまたは Out Bus Element ブロックを選択し、省略記号をポイントして、操作バーで [コンパクトな表記法] をクリックします。

ブロック線図内のすべての In Bus Element ブロックと Out Bus Element ブロックに、リーフ要素名のみを使用する短縮ブロック ラベルが表示されます。

完全なブロック ラベルを表示するには、操作バーで [展開された表記法] をクリックします。この例では、コンパクトなブロック ラベルのままにします。

ブロックの色は、ブロック ラベルがコンパクトな場合に一意の端子を区別するのに役立ちます。

プロパティ インスペクターを開きます。その後、InBus という名前の端子に対応する In Bus Element ブロックを選択します。たとえば、constant というラベルが付いたブロックを選択します。あるいは、ブロックをダブルクリックしてダイアログ ボックスを開きます。

プロパティ インスペクターまたはダイアログ ボックスで、InBus を選択します。次に、[色の設定] をクリックしてメニューから色を選択します。

端子に関連するブロックで選択した色が使用されます。

nonconstant という名前の入れ子にされたバスまたはその要素を選択しているブロックを特定するには、nonconstant を選択します。次に、[色の設定] をクリックしてメニューから別の色を選択します。

入れ子にされたバスに関連するブロックで選択した色が使用されます。

端子

出力

すべて展開する

親サブシステムまたはモデルの対応する外部入力端子からバス、信号またはメッセージを選択します。

バス要素は選択できますが、バス配列の要素は選択できません。

データ型: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | string | Boolean | fixed point | enumerated | bus
複素数のサポート: あり

パラメーター

すべて展開する

ブロック、対応する端子、および端子の要素のパラメーターを対話的に編集するには、ブロックをダブルクリックするか、プロパティ インスペクターを開いてブロックを選択します。

他のブロックまたは端子でまだ使用されていない端子名を指定します。名前は親 Subsystem ブロックまたは Model ブロックに表示されます。名前は、ブロックの横にも表示されます。複数のブロックが同じ端子にアクセスできます。

プログラムでの使用

ブロック パラメーターの値をプログラムで設定するには、関数 set_param を使用します。

パラメーター: PortName
値: 'InBus' (既定値) | port name in quotes
データ型: char | string

例: set_param('mymodel/Subsystem1/PortBlock','PortName','myBus')

ブロックに対応する端子が親 Subsystem または Model ブロックに現れる順序を指定します。

  • 別の端子を作成するブロックを追加する場合、端子番号は次に利用可能な番号になります。

  • ある端子に関連付けられているすべてのブロックを削除すると、その端子が削除されます。どの番号も省略されることなく連番になるように、その他の端子の番号を付け直します。

  • 端子の数を超える端子番号を指定すると、その番号の端子と、その番号まで連番になる他の端子が作成されます。

プログラムでの使用

ブロック パラメーターの値をプログラムで設定するには、関数 set_param を使用します。

パラメーター: Port
値: '1' (既定値) | real integer in quotes
データ型: char | string

例: set_param('mymodel/Subsystem1/PortBlock','Port','5')

ブロックの背景色を指定します。これを指定すると、選択した要素に関連付けられているブロック、または要素を選択していない場合は、端子に関連付けられているすべてのブロックの色が設定されます。

プログラムでの使用

ブロック パラメーターの値をプログラムで設定するには、関数 set_param を使用します。

パラメーター: BackgroundColor
値: 'black' (既定値) | 'white | 'red' | 'green' | 'blue' | 'cyan' | 'magenta' | 'yellow' | 'gray' | 'lightBlue' | 'orange' | 'darkGreen' | '[r,g,b]' where r, g, and b, are the red, green, blue values of the color in the range 0.0 to 1.0

例: set_param('mymodel/Subsystem1/PortBlock','BackgroundColor','magenta')

バス要素の長いリストをフィルター処理するために使用する検索用語を指定します。検索用語は引用符で囲まないでください。フィルターは部分的な文字列検索を行い、正規表現をサポートします。正規表現文字をリテラルとして使用するには、エスケープ文字 (\) を含めます。たとえば、疑問符を使用するには、sig\?1 と入力します。

属性

データ型などの属性を指定するには、バス、信号またはメッセージの名前で一時停止します。次に、表示される鉛筆ボタン をクリックします。

Pencil button next to bus name

これらは、属性を指定するとバス、信号またはメッセージの名前の横に表示されます。属性の概要をクリックして、バス、信号またはメッセージの属性を編集します。

Attribute summaries next to bus and bus element names

バス、信号、またはメッセージのデータ型は継承されるか、直接指定されるか、Simulink.NumericType オブジェクトなどのデータ型オブジェクトとして表現されます。

次のいずれかのオプションを指定できます。

  • 継承したデータ型

  • 組み込みの Simulink® データ型 — たとえば、[single][uint8] を指定します。Simulink でサポートされているデータ型を参照してください。

  • 固定小数点データ型 — 関数 fixdt を使用します。たとえば、[fixdt(1,16,0)] を指定します。

  • 列挙データ型 — Enum: が前に付いた型名を使用します。たとえば、[Enum: myEnumType] を指定します。

  • バス データ型 — Bus: が前に付いた Simulink.Bus オブジェクトの名前を使用します。たとえば、[Bus: myBusObject] を指定します。

  • 値の型 — ValueType: が前に付いた Simulink.ValueType オブジェクトの名前を使用します。たとえば、[ValueType: windVelocity] を指定します。

  • カスタムのデータ型 — 型を指定する MATLAB 式を使用します。たとえば、DataTypeMode プロパティが 'Fixed-point: unspecified scaling' 以外の値に設定されている Simulink.NumericType オブジェクトを指定できます。

Simulink.ValueType オブジェクトをデータ型として指定する場合、要素の一部のパラメーターは無視されます。たとえば、[最小値][最大値]、および [単位] のパラメーターは無視されます。Simulink.ValueType オブジェクトの対応するプロパティが使用されます。たとえば、要素の [単位]ft/s に設定したとします。要素の [データ型]ValueType オブジェクトが指定されており、その要素の単位として m/s が使用されている場合、要素は ft/s ではなく m/s を使用します。

Simulink.Bus オブジェクトをデータ型として指定する場合、要素の一部のパラメーターは既定値にリセットされます。たとえば、[最小値][最大値]、および [単位] のパラメーターはリセットされます。代わりに、Simulink.Bus オブジェクトの Simulink.BusElement オブジェクトの対応するプロパティが使用されます。

ヒント

Simulink.Bus オブジェクトまたは Simulink.Bus オブジェクト データ型をもつ Simulink.ValueType オブジェクトを使用してバスを指定すると、プロパティ インスペクターとブロック ダイアログ ボックスには、対応する Simulink.BusElement オブジェクトで定義された要素が表示されます。

プログラムでの使用

要素の属性値をプログラムで設定するには、関数 set_param を使用して、要素を要素のラベルが付いたモデル コンポーネントのブロック パスとして指定します。

パラメーター: OutDataTypeStr
値: 'Inherit: auto' (既定値) | 'double' | 'single' | 'half' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'boolean' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | 'string' | 'Enum: <class name>' | 'Bus: <object name>' | 'ValueType: <object name>' | '<data type expression>'

例: set_param('mymodel/Subsystem1/myBus.signal1','OutDataTypeStr','int32')

バスの仮想性を継承するか、バスをバーチャルまたは非バーチャルとして定義するかを指定します。詳細については、合成インターフェイスのガイドラインを参照してください。

このパラメーターは、ブロックがバスの仮想性を継承または定義するかを決定します。ブロックがバスの仮想性を定義し、入力バスの仮想性が一致しない場合、モデルをコンパイルするとエラーが発生します。

依存関係

このパラメーターを有効にするには、[データ型]Simulink.Bus オブジェクトに関連付けられなければなりません。たとえば、[データ型]Simulink.Bus オブジェクトや Simulink.Bus オブジェクトがデータ型として指定された Simulink.ValueType オブジェクトに設定します。

プログラムでの使用

要素の属性値をプログラムで設定するには、関数 set_param を使用して、要素を要素のラベルが付いたモデル コンポーネントのブロック パスとして指定します。

パラメーター: BusVirtuality
値: 'inherit' (既定値) | 'virtual' | 'nonvirtual'

例: set_param('mymodel/Subsystem1/myBus.nestedBus','BusVirtuality','nonvirtual')

入力要素のデータ モードを指定します。

  • 継承 — 入力要素はデータ モードを継承します。

  • 信号 — 入力要素は信号、または信号を含むバスでなければなりません。

  • メッセージ — 入力要素はメッセージ、またはメッセージを含むバスでなければなりません。

メッセージまたはバスのデータ モードとして [メッセージ] を選択すると、メッセージまたはバスの横にエンベロープ ボタンが表示されます。エンベロープ ボタンを使用して、カスタムのキュー プロパティを指定します。

ヒント

バス内のメッセージごとに異なるカスタムのキュー プロパティを指定するには、バスではなく各メッセージの [データ モード] パラメーターを設定します。

依存関係

このパラメーターを有効にするには、ブロックがモデルの最上位レベルでなければなりません。

プログラムでの使用

要素の属性値をプログラムで設定するには、関数 set_param を使用して、要素を要素のラベルが付いたモデル コンポーネントのブロック パスとして指定します。

パラメーター: DataMode
値: 'inherit' (既定値) | 'signal' | 'message'

例: set_param('mymodel/InBus','DataMode','signal')

信号の次元を指定します。

  • -1 — 信号はどのような次元ももつことができます。

  • N — 信号はサイズ N のベクトルでなければなりません。

  • [R C] — この信号は、RC 列の行列でなければなりません。

依存関係

  • [データ型]Simulink.Bus オブジェクトが指定されている場合、このパラメーターは 1 に設定されます。Simulink.Bus オブジェクトの Simulink.BusElement オブジェクトで指定されている次元が使用されます。

  • [データ型]Simulink.ValueType オブジェクトが指定されている場合、このパラメーターの値は無視されます。代わりに、Simulink.ValueType オブジェクトで指定されている次元が使用されます。

プログラムでの使用

要素の属性値をプログラムで設定するには、関数 set_param を使用して、要素を要素のラベルが付いたモデル コンポーネントのブロック パスとして指定します。

パラメーター: PortDimensions
値: '-1' (既定値) | integer in quotes | 1-by-2 vector of integers in quotes
データ型: char | string

例: set_param('mymodel/Subsystem1/myBus.signal1','PortDimensions','[1 3]')

許可される信号の型を指定します。

  • 継承 — 可変サイズの信号と固定サイズの信号が許可されます。

  • 可変 — 可変サイズの信号のみが許可されます。

  • 固定 — 固定サイズの信号のみが許可されます。可変サイズの信号は許可されません。

この信号が可変サイズの場合、[次元] パラメーターは信号の最大次元を指定します。

依存関係

  • [データ型]Simulink.Bus オブジェクトが指定されている場合、このパラメーターは [継承] に設定されます。Simulink.Bus オブジェクトの Simulink.BusElement オブジェクトで指定されている次元モードが使用されます。

  • [データ型]Simulink.ValueType オブジェクトが指定されている場合、このパラメーターの値は無視されます。代わりに、Simulink.ValueType オブジェクトで指定されている次元モードが使用されます。

プログラムでの使用

要素の属性値をプログラムで設定するには、関数 set_param を使用して、要素を要素のラベルが付いたモデル コンポーネントのブロック パスとして指定します。

パラメーター: VarSizeSig
値: 'Inherit' (既定値) | 'No' | 'Yes'

例: set_param('mymodel/Subsystem1/myBus.signal1','VarSizeSig','No')

信号の物理単位を指定します。サポートされている単位のリストについては、MATLAB コマンド ウィンドウで「showunitslist」と入力します。

依存関係

  • [データ型]Simulink.Bus オブジェクトが指定されている場合、このパラメーターは [継承] に設定されます。Simulink.Bus オブジェクトの Simulink.BusElement オブジェクトで指定されている単位が使用されます。

  • [データ型]Simulink.ValueType オブジェクトが指定されている場合、このパラメーターの値は無視されます。代わりに、Simulink.ValueType オブジェクトで指定されている単位が使用されます。

プログラムでの使用

要素の属性値をプログラムで設定するには、関数 set_param を使用して、要素を要素のラベルが付いたモデル コンポーネントのブロック パスとして指定します。

パラメーター: Unit
値: 'inherit' (既定値) | unit supported by Simulink software in quotes
データ型: char | string

例: set_param('mymodel/Subsystem1/myBus.signal1','Unit','m/s')

信号の数値型を指定します。信号の数値型を選択するには [自動] を選択します。それ以外の場合は、実数または複素信号型を選択します。

依存関係

  • [データ型]Simulink.Bus オブジェクトが指定されている場合、このパラメーターは [自動] に設定されます。Simulink.Bus オブジェクトの Simulink.BusElement オブジェクトで指定されている実数/複素数が使用されます。

  • [データ型]Simulink.ValueType オブジェクトが指定されている場合、このパラメーターの値は無視されます。代わりに、Simulink.ValueType オブジェクトで指定されている実数/複素数が使用されます。

プログラムでの使用

要素の属性値をプログラムで設定するには、関数 set_param を使用して、要素を要素のラベルが付いたモデル コンポーネントのブロック パスとして指定します。

パラメーター: SignalType
値: 'auto' (既定値) | 'real' | 'complex'

例: set_param('mymodel/Subsystem1/myBus.signal1','SignalType','real')

ソフトウェアでチェックする範囲の下限値。

この数値は有限の実数で double のスカラー値でなければなりません。

ソフトウェアは、以下を行う際にこの値を使用します。

  • シミュレーション範囲のチェック。詳細については、信号範囲の指定を参照してください。

  • 固定小数点データ型の自動スケーリング

  • モデルから生成するコードの最適化。この最適化により、アルゴリズム コードが削除され、SIL やエクスターナル モードなどの一部のシミュレーション モードの結果に影響を与えることがあります。詳細については、Optimize using the specified minimum and maximum values (Embedded Coder)を参照してください。

依存関係

  • [データ型]Simulink.Bus オブジェクトが指定されている場合、このパラメーターは [] に設定されます。Simulink.Bus オブジェクトの Simulink.BusElement オブジェクトで指定されている最小値が使用されます。

  • [データ型]Simulink.ValueType オブジェクトが指定されている場合、このパラメーターの値は無視されます。代わりに、Simulink.ValueType オブジェクトで指定されている最小値が使用されます。

プログラムでの使用

要素の属性値をプログラムで設定するには、関数 set_param を使用して、要素を要素のラベルが付いたモデル コンポーネントのブロック パスとして指定します。

パラメーター: OutMin
値: '[]' (既定値) | scalar in quotes
データ型: char | string

例: set_param('mymodel/Subsystem1/myBus.signal1','OutMin','0')

ソフトウェアでチェックする範囲の上限値。

この数値は有限の実数で double のスカラー値でなければなりません。

ソフトウェアは、以下を行う際にこの値を使用します。

  • シミュレーション範囲のチェック。詳細については、信号範囲の指定を参照してください。

  • 固定小数点データ型の自動スケーリング

  • モデルから生成するコードの最適化。この最適化により、アルゴリズム コードが削除され、SIL やエクスターナル モードなどの一部のシミュレーション モードの結果に影響を与えることがあります。詳細については、Optimize using the specified minimum and maximum values (Embedded Coder)を参照してください。

依存関係

  • [データ型]Simulink.Bus オブジェクトが指定されている場合、このパラメーターは [] に設定されます。Simulink.Bus オブジェクトの Simulink.BusElement オブジェクトで指定されている最大値が使用されます。

  • [データ型]Simulink.ValueType オブジェクトが指定されている場合、このパラメーターの値は無視されます。代わりに、Simulink.ValueType オブジェクトで指定されている最大値が使用されます。

プログラムでの使用

要素の属性値をプログラムで設定するには、関数 set_param を使用して、要素を要素のラベルが付いたモデル コンポーネントのブロック パスとして指定します。

パラメーター: OutMax
値: '[]' (既定値) | scalar in quotes
データ型: char | string

例: set_param('mymodel/Subsystem1/myBus.signal1','OutMax','2')

この説明を使用して、バス、信号、またはメッセージに関する情報 (使用場所など) を記述します。この情報は、処理に影響を与えません。

依存関係

  • [データ型]Simulink.Bus オブジェクトが指定されている場合、このパラメーターは '' (空) に設定されます。Simulink.Bus オブジェクトで指定されている説明が使用されます。

  • [データ型]Simulink.ValueType オブジェクトが指定されている場合、このパラメーターの値は無視されます。代わりに、Simulink.ValueType オブジェクトで指定されている説明が使用されます。

プログラムでの使用

要素の属性値をプログラムで設定するには、関数 set_param を使用して、要素を要素のラベルが付いたモデル コンポーネントのブロック パスとして指定します。

パラメーター: Description
値: '' (既定値) | description in quotes
データ型: char | string

例: set_param('mymodel/Subsystem1/myBus.signal1','Description','This signal is used by...')

実行の属性

サンプル時間などの実行の属性を指定するには、バス、信号またはメッセージの名前でポイントします。次に、[実行属性の指定] をクリックします。

Mouse pointer paused on Specify execution attributes button next to bus name.

サンプル時間のヒット間の離散間隔を指定するか、連続 (0) や継承 (-1) など、別のタイプのサンプル時間を指定します。その他のオプションについては、サンプル時間のタイプを参照してください。

既定では、信号はサンプル時間を継承します。

プログラムでの使用

要素の属性値をプログラムで設定するには、関数 set_param を使用して、要素を要素のラベルが付いたモデル コンポーネントのブロック パスとして指定します。

パラメーター: SampleTime
値: '-1' (既定値) | scalar in quotes
データ型: char | string

例: set_param('mymodel/Subsystem1/InBus.signal1','SampleTime','2')

レートベースのシステムでは、最上位モデルまたはモデル参照インターフェイスの入力端子について、端子へのデータの流れに応じて 1 つ以上のモデル分割の実行をトリガーするように構成できます。端子に関連付けられたイベント トリガーがパラメーターに格納されます。それぞれのイベント トリガーで、トリガーするスケジュール イベントの名前に入力イベントをマッピングします。スケジュール イベントに応じて実行する分割と実行の優先順位をモデルのスケジュールで指定します。

次の表は、構成できるイベント トリガーをまとめたものです。入力端子に対して、入力イベントごとに 1 つのイベント トリガーを構成できます。

入力イベント入力イベントの説明イベント トリガー オブジェクト
入力の書き込み入力端子の値が更新されます。simulink.event.InputWrite
タイムアウトした入力の書き込み指定した時間の間は入力端子の値が更新されません。simulink.event.InputWriteTimeout
失われた入力の書き込み入力端子の値の更新によって未処理のデータが上書きされます。simulink.event.InputWriteLost

モデルのスケジュールを構成するには、スケジュール エディターを使用します。

バス端子で入力イベントを構成する場合、イベント トリガーを指定する場所はバスの仮想性によって決まります。

  • バーチャル バスの場合、イベント トリガーはバスのリーフ要素で指定します。バーチャル バス自体で入力イベントを指定することはサポートされていません。

  • 非バーチャル バスの場合、イベント トリガーはバスで指定します。非バーチャル バスの要素で入力イベントを指定することはサポートされていません。

In Bus Element ブロックは、イベント トリガーをもつ各要素を選択する必要があります。

依存関係

このパラメーターを有効にするには、ブロックがモデルの最上位レベルでなければなりません。

プログラムでの使用

ブロック パラメーターの値をプログラムで設定するには、関数 set_param を使用します。

要素の属性値をプログラムで設定するには、関数 set_param を使用して、要素を要素のラベルが付いたモデル コンポーネントのブロック パスとして指定します。

パラメーター: EventTriggers
値: [] (既定値) | 1-by-1 cell array | 2-by-1 cell array | 3-by-1 cell array

例: set_param('mymodel/PortBlock','EventTriggers',{inputWrite,writeTimeout,writeLost})

例: set_param('mymodel/InBus.signal1','EventTriggers',{inputWrite,writeTimeout,writeLost})

キューの属性

キューの属性は、ブロックがモデルの最上位レベルにあり、[データ モード] パラメーターを [メッセージ] に設定している場合にのみ表示されます。

キューの属性を指定するには、バスまたはメッセージの名前の横にあるエンベロープ ボタン Use default queue attributes をクリックします。

Envelope button next to bus name

このパラメーターを使用して、既定またはカスタムいずれかのキュー仕様を選択します。

既定のキューのプロパティを使用するには、このパラメーターを選択したままにします。この例では、各メッセージ バス要素に、容量 1 の LIFO 上書きキューが自動的に挿入されます。

カスタム仕様を使用するには、このパラメーターをオフにして、キューのプロパティを設定します。キューの属性は、コンポーネントの外部に配置されているストレージ ブロックがない場合に適用できます。

詳細については、Specify Queue Properties for Message Interfaceを参照してください。

依存関係

このパラメーターを要素に対して有効にするには、要素の [データ モード][メッセージ] に設定します。

プログラムでの使用

要素の属性値をプログラムで設定するには、関数 set_param を使用して、要素を要素のラベルが付いたモデル コンポーネントのブロック パスとして指定します。

パラメーター: MessageQueueUseDefaultAttributes
値: 'on' (既定値) | 'off'

例: set_param('mymodel/InBus.message1','MessageQueueUseDefaultAttributes','off')

キューで保存できるメッセージ要素の数を指定します。

依存関係

このパラメーターを要素に対して有効にするには、要素の [データ モード][メッセージ] に設定します。

プログラムでの使用

要素の属性値をプログラムで設定するには、関数 set_param を使用して、要素を要素のラベルが付いたモデル コンポーネントのブロック パスとして指定します。

パラメーター: MessageQueueCapacity
値: '1' (既定値) | scalar in quotes
データ型: char | string

例: set_param('mymodel/InBus.message1','MessageQueueCapacity','10')

以下のいずれかのキュー タイプを選択します。

  • FIFO — 先入れ先出し

  • LIFO — 後入れ先出し

依存関係

このパラメーターを要素に対して有効にするには、要素の [データ モード][メッセージ] に設定します。

プログラムでの使用

要素の属性値をプログラムで設定するには、関数 set_param を使用して、要素を要素のラベルが付いたモデル コンポーネントのブロック パスとして指定します。

パラメーター: MessageQueueType
値: 'LIFO' (既定値) | 'FIFO'

例: set_param('mymodel/InBus.message1','MessageQueueType','FIFO')

このパラメーターを選択し、2 つのキュー上書きポリシーの間での選択を行います。

  • このパラメーターを選択すると、キューが満杯の場合に受信メッセージ要素が最も古いメッセージを上書きします。

  • このパラメーターをオフにすると、キューが満杯の場合にブロックは新しいメッセージを受け取りません。

依存関係

このパラメーターを要素に対して有効にするには、要素の [データ モード][メッセージ] に設定します。

プログラムでの使用

要素の属性値をプログラムで設定するには、関数 set_param を使用して、要素を要素のラベルが付いたモデル コンポーネントのブロック パスとして指定します。

パラメーター: MessageQueueOverwriting
値: 'on' (既定値) | 'off'

例: set_param('mymodel/InBus.message1','MessageQueueOverwriting','off')

ブロックの特性

データ型

Boolean | bus | double | enumerated | fixed point | half | integer | single | string

直達

いいえ

多次元信号

はい

可変サイズの信号

はい

ゼロクロッシング検出

いいえ

代替構成

すべて展開する

Bus Element In ブロックは In Bus Element ブロックと名前のみ異なります。

ライブラリ:
Simulink / Signal Routing
HDL Coder / Signal Routing

拡張機能

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。

バージョン履歴

R2017a で導入

すべて展開する