メインコンテンツ

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 という名前のモデルを開きます。

Example model that contains an atomic subsystem

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

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

Quick-insert menu displaying top search result for "in bus"

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

Action bar button for Create in bus port

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

Subsystem containing a default In Bus Element block

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

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

Menu with New Port selected

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

In Bus Element blocks labeled InBus.signal1 and InBus1.signal1

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

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

In Bus Element block labeled ControlBus.signal1 with cursor after ControlBus

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

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

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

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

Model with subsystem that receives a bus and a signal

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

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

Subsystem with In Bus Element blocks labeled InBus.chirp and Constant

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

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

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

In Bus Element block labeled InBus.chirp with cursor after chirp

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

In Bus Element block labeled InBus instead of InBus.chirp

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

Output of In Bus Element block labeled InBus is a bus

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

信号ラベルを伝播するには、Simulink ツールストリップの [デバッグ] タブで [情報のオーバーレイ] をクリックします。次に、[伝播された信号ラベル] を選択します。

Bus with propagated signal label <nonconstant> and signal with propagated signal label <constant>

伝播された名前は、In Bus Element ブロックが nonconstant という名前のバスおよび constant という名前の信号をサブシステムに渡すことを示しています。

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

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

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

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

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

Example model SelectInputBusElements

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

サブシステムを開くには、Subsystem ブロックをダブルクリックします。サブシステムには、入力端子に対応する In Bus Element ブロックが含まれています。

In Bus Element block labeled InBus.constant

ブロック ラベルは、ブロックが入力端子から constant という名前の信号を選択することを示しています。

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

In Bus Element block with list of available bus elements

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

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

Menu with two options: chirp and nonconstant.chirp

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

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

Bus hierarchy with chirp selected

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

他の入力要素のブロックを追加するには、要素名をクリックするか、"Ctrl" キーを押したまま複数の要素名をクリックします。次に、Add blocks for selected elements をクリックします。

Bus hierarchy with sine and constant selected

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

Subsystem with three In Bus Element blocks

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

Two In Bus Element blocks labeled InBus.constant

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

In Bus Element ブロックを他のブロックに接続します。信号ラベルを伝播するには、Simulink ツールストリップの [デバッグ] タブで [情報のオーバーレイ] をクリックします。次に、[伝播された信号ラベル] を選択します。

Three In Bus Element blocks with propagated labels for their output signal lines

選択した要素の名前が In Bus Element ブロックで伝播されます。たとえば、InBus.nonconstant.chirp というラベルの In Bus Element ブロックは <chirp> という名前を出力信号に伝播します。

バス要素端子のバスの要素を指定するには、次の方法があります。

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

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

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

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

Default In Bus Element block

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

ブロックを使用せずに端子に要素を追加するには、新しい要素を含める要素を選択します。たとえば、InBus を選択します。その後、Add element ボタンの矢印をクリックし、[ブロックなしの要素の追加] を選択します。

Pointer paused on Add element without block button

前に選択した要素の下に新しい要素が入れ子になります。ブロック線図は変わりません。

InBus with a new element named signal2

In Bus Element ブロックで直接表現された要素でないことを示すために、要素名がグレーのイタリックで表記されます。

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

オプション:

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

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

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

  • 要素のプロパティを指定します。

Bus hierarchy with renamed elements and nondefault element properties

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

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

Pointer paused on Add blocks for selected elements button

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

In Bus Element blocks labeled InBus.NestedBus.Chirp and InBus.NestedBus.Sine

同じ要素を表す 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 という名前のモデルを開きます。

Model with duplicate In Bus Element blocks

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

Two highlighted In Bus Element blocks labeled sensor.x1

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

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

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

Pointer paused on Related Blocks button in action bar for In Bus Element block

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

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

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

In Bus Element and Out Bus Element blocks that use expanded notation for their labels, such as InBus.nonconstant.sine

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

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

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

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

Pointer paused on Compact Notation button for In Bus Element block

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

In Bus Element and Out Bus Element blocks that use compact notation for their labels, such as sine

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

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

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

プロパティ インスペクターまたはダイアログ ボックスで、InBus を選択します。次に、Set color of blocks associated with selected elements をクリックし、標準の色を選択するかカスタムの色を指定します。この例では、シアンを選択します。

Pointer paused on cyan

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

Three cyan In Bus Element blocks that correspond to the InBus port

nonconstant という名前の入れ子にされたバスまたはその要素を選択しているブロックを特定するには、nonconstant を選択します。次に、Set color of blocks associated with selected elements をクリックし、標準の色を選択するかカスタムの色を指定します。この例では、マゼンタを選択します。

Pointer paused on magenta

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

Two magenta In Bus Element blocks that select elements from nonconstant

拡張例

端子

出力

すべて展開する

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

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

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

パラメーター

すべて展開する

In Bus Element ブロックに関連付けられた要素を編集するには、Simulink® エディターでブロック ラベルを編集します。

端子、信号、実行、およびメッセージの属性を編集するには、プロパティ インスペクターを使用します。Simulink ツールストリップから、[シミュレーション] タブの [準備] ギャラリーで [プロパティ インスペクター] を選択します。

ブロック ラベル

システム内の別のブロックまたは端子でまだ使用されていない端子名を指定します。名前は親 Subsystem ブロックまたは Model ブロックに表示されます。

端子名を Simulink エディターで変更するには、ブロック ラベルの最初のテキスト フィールドを編集します。

Default In Bus Element block with InBus highlighted in block label

複数のブロックが同じ端子にアクセスできます。

プログラムでの使用

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

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

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

端子で親システムからバスを受け取る場合に、バスから選択する要素をオプションで指定します。

ブロックで選択される要素を指定するには、Simulink エディターでブロック ラベルの 2 番目のテキスト フィールドを編集します。

In Bus Element block with signal1 highlighted in block label

要素を指定する方法は、バス階層における要素の位置によって異なります。

  • 入力バスの最上位にある要素の場合、要素の名前を指定します。たとえば、constant のようになります。

  • 入れ子にされたバスにある要素の場合、入れ子のバス、中間の入れ子のバス、およびリーフ信号の名前をドットで区切って指定します。たとえば、sinusoidal.sine のようになります。この要素のパスに最上位のバスは含まれません。

複数のブロックで同じ要素にアクセスできます。

最上位の信号、メッセージ、またはバスを選択するには、ブロック ラベルの 2 番目のテキスト フィールドからテキストを削除します。

プログラムでの使用

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

パラメーター: Element
値: "signal1" (既定値) | element path in quotes

例: set_param("mymodel/Subsystem1/PortBlock",Element="constant")

例: set_param("mymodel/Subsystem1/PortBlock",Element="sinusoidal.sine")

[端子] タブ

タブを表示するかどうかを切り替えるには、Show attributes or Hide attributes をクリックします。

端子名の詳細については、[端子名] を参照してください。

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

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

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

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

プログラムでの使用

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

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

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

[信号] タブ

タブを表示するかどうかを切り替えるには、Show attributes or Hide attributes をクリックします。

属性を指定すると、対応するバス、信号、またはメッセージの名前の横に小かっこ付きで表示されます。指定されている属性全体を表示するには、属性の概要をクリックします。

Pointer paused on attribute summary next to bus name

R2025a より前: データ型などの属性を指定するには、バス、信号またはメッセージの名前で一時停止します。次に、Specify attributes をクリックします。あるいは、使用可能な場合は属性の概要をクリックします。

バス、信号、またはメッセージのデータ型は継承されるか、直接指定されるか、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 オブジェクトで定義された要素が表示されます。

  • 型エディターを使用して Simulink.Bus オブジェクトを作成するには、Open Type Editor をクリックします。

依存関係

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

プログラムでの使用

要素の属性値をプログラムで設定するには、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 in quotes

例: set_param("mymodel/myBus.signal1",OutDataTypeStr="int32")

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

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

依存関係

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

プログラムでの使用

要素の属性値をプログラムで設定するには、set_param 関数を使用します。モデルの名前かサブシステム ブロックのパス、スラッシュ、および端子の名前かバス要素のパスとして要素を指定します。バス要素端子の場合、最上位のバスからターゲットの要素までの階層をバス要素のパスとして指定します。階層の各名前はドットで区切ります。

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

例: set_param("mymodel/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/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/myBus.signal1",Unit="m/s")

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

依存関係

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

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

プログラムでの使用

要素の属性値をプログラムで設定するには、set_param 関数を使用します。モデルの名前かサブシステム ブロックのパス、スラッシュ、および端子の名前かバス要素のパスとして要素を指定します。バス要素端子の場合、最上位のバスからターゲットの要素までの階層をバス要素のパスとして指定します。階層の各名前はドットで区切ります。

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

例: set_param("mymodel/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...")

[実行] タブ

タブを表示するかどうかを切り替えるには、Show attributes or Hide attributes をクリックします。

属性を指定すると、対応するバス、信号、またはメッセージの名前の横に小かっこ付きで表示されます。指定されている属性を表示するには、Specify execution attributes をクリックします。

Pointer paused on Specify execution attributes button next to bus name

R2025a より前: 実行の属性を指定するには、バス、信号、またはメッセージの名前をポイントします。次に、Specify execution attributes をクリックします。

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

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

プログラムでの使用

要素の属性値をプログラムで設定するには、set_param 関数を使用します。モデルの名前かサブシステム ブロックのパス、スラッシュ、および端子の名前かバス要素のパスとして要素を指定します。バス要素端子の場合、最上位のバスからターゲットの要素までの階層をバス要素のパスとして指定します。階層の各名前はドットで区切ります。

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

例: set_param("mymodel/Subsystem1/myBus.signal1",SampleTime="0.01")

R2022b 以降

端子に関連付けられたイベント トリガーが [イベント] パラメーターに格納されます。"イベント トリガー" は、モデル内の特定の場所における実行時のアクティビティに基づくスケジュール イベントを作成します。スケジュール イベントに応じて実行する分割と実行の優先順位をモデルのスケジュールで指定します。モデルのスケジュールを構成するには、スケジュール エディターを使用します。

次の表は、ルートレベルの入力端子で構成できるイベント トリガーをまとめたものです。それぞれのイベント トリガーで、トリガーするスケジュール イベントの名前に、端子へのデータの流れに関連する "入力イベント" をマッピングします。入力端子に対して、入力イベントごとに 1 つのイベント トリガーを構成できます。

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

バス端子のイベント トリガー

バス端子でイベント トリガーを構成する場合、イベント トリガーを指定する場所はバスの仮想性に基づいて決めます。

  • バーチャル バス — バスのリーフ要素でイベント トリガーを指定します。バーチャル バス自体ではイベント トリガーはサポートされません。

  • 非バーチャル バス — バスでイベント トリガーを指定します。非バーチャル バスの要素ではイベント トリガーはサポートされません。

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

依存関係

このパラメーターは次の場合に有効になります。

  • 端子はレートベース モデルのルートレベルの入力端子でなければなりません。

  • 端子で非バーチャル バスを読み込む場合は、階層ツリーでバスを選択します。非バーチャル バスの要素ではイベント トリガーはサポートされません。

プログラムでの使用

要素の属性値をプログラムで設定するには、set_param 関数を使用します。モデルの名前、スラッシュ、および端子の名前かバス要素のパスとして要素を指定します。バス要素端子の場合、最上位のバスからターゲットの要素までの階層をバス要素のパスとして指定します。階層の各名前はドットで区切ります。

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

例: set_param("mymodel/InBusNonvirtual",EventTriggers={inputWrite,writeTimeout,writeLost}) specifies event triggers for the nonvirtual bus named InBusNonvirtual.

例: set_param("mymodel/InBus.signal1",EventTriggers={inputWrite,writeTimeout,writeLost}) specifies event triggers for a leaf element named signal1 of the virtual bus named InBus.

キューの属性

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

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

Pointer paused on Use default queue attributes 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

ヒント

  • 端子が受け取るバスに多数のバス要素がある場合は、[フィルター] ボックスに検索用語を入力して、表示されるバス要素にフィルターを適用します。検索用語は引用符で囲まないでください。フィルターは部分的な文字列検索を行い、正規表現をサポートします。正規表現では、入力要素がパターンと一致するかどうかに基づいてフィルターが適用されます。たとえば、名前が小文字の t で終わるすべての要素を表示するには、[フィルター] ボックスに「t$」と入力します。詳細については、正規表現を参照してください。

  • In Bus Element ブロックの背景色を変更するには、Set color of blocks associated with selected elements をクリックし、標準の色を選択するかカスタムの色を指定します。あるいは、BackgroundColor ブロック プロパティを使用します。詳細については、プログラムによるブロックのパラメーターとプロパティの指定を参照してください。

拡張機能

すべて展開する

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

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

バージョン履歴

R2017a で導入

すべて展開する