In Bus Element
外部端子から入力を選択

ライブラリ:
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 ブロックは、入力全体をサブシステムに渡します。この場合、入力全体は端子の最上位バスです。
信号ラベルを伝播するには、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
バスには sine
と chirp
という名前の 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
という名前の要素を選択する別のブロックを追加します。
重複するブロックが強調表示されます。
In Bus Element ブロックを他のブロックに接続します。信号ラベルを伝播するには、Simulink ツールストリップの [デバッグ] タブで [情報のオーバーレイ] をクリックします。次に、[伝播された信号ラベル] を選択します。
選択した要素の名前が In Bus Element ブロックで伝播されます。たとえば、InBus.nonconstant.chirp
というラベルの In Bus Element ブロックは <chirp>
という名前を出力信号に伝播します。
バス要素端子のバスの要素を指定するには、次の方法があります。
ブロック線図にブロックを追加して要素をインターフェイスに追加するかブロックを追加せずに要素をインターフェイスに追加する。
Simulink.Bus
オブジェクトでバス階層を定義する。
この例では、Simulink.Bus
オブジェクトを使用せずに入力バス要素端子のバスを定義する方法を示します。
空のモデルまたはサブシステムに、In Bus Element ブロックを追加します。
プロパティ インスペクターを開きます。その後、In Bus Element ブロックを選択します。あるいは、ブロックをダブルクリックしてダイアログ ボックスを開きます。
ブロックを使用せずに端子に要素を追加するには、新しい要素を含める要素を選択します。たとえば、InBus
を選択します。その後、 ボタンの矢印をクリックし、[ブロックなしの要素の追加] を選択します。
前に選択した要素の下に新しい要素が入れ子になります。ブロック線図は変わりません。
In Bus Element ブロックで直接表現された要素でないことを示すために、要素名がグレーのイタリックで表記されます。
ブロックを追加せずに要素を追加することで、1 つの In Bus Element ブロックだけを使用し、Simulink.Bus
オブジェクトなしで、バス階層全体を定義できます。
オプション:
ブロックあり、またはなしでさらに要素を追加します。
要素の名前をダブルクリックして新しい名前を入力することで、要素の名前を変更します。
要素を新しい場所にドラッグして要素を並べ替えます。
要素のプロパティを指定します。
インターフェイスの要素のプロパティを定義すると、再利用のためにファイルを作成する際に役立ちます。参照サブシステムまたはモデルでサポートされる入力は、インターフェイスの定義によって決定されます。入力バスの階層およびプロパティは対応する端子における定義に一致している必要があります。
ブロックなしで要素を追加してから、それらの要素を In Bus Element ブロックで選択することにしたとします。入力要素のブロックを追加するには、要素名をクリックするか、Ctrl キーを押したまま複数の要素名をクリックします。次に、 をクリックします。たとえば、
Chirp
と Sine
のブロックを追加します。
対応する In Bus Element ブロックがブロック線図に表示されます。
同じ要素を表す In Bus Element ブロックを複数追加できます。
In Bus Element ブロックは、対応する入力端子で使用可能でない要素を求めることがあります。
無効な要素およびそうした要素を選択するすべての In Bus Element ブロックを削除するには、プロパティ インスペクターまたはダイアログ ボックスで以下のようにします。
削除する無効な要素を選択します。
サブシステム インターフェイスでは、要素が入力バス内で使用可能でない場合、要素名は赤色です。要素名の上にマウスをポイントすると、ツールヒントで要素が入力バスにないことが示されます。
をクリックします。
たとえば、InBus
という名前のバスを受け取るサブシステム インターフェイスがあるとします。pulse
という名前の要素が入力バスから削除されました。ただし、少なくとも 1 つの In Bus Element ブロックでその要素が選択されています。
無効な要素を選択しているブロックを削除するには、その要素名をクリックします。次に、 をクリックします。
この操作により、無効な要素と対応するブロックが削除されます。
サブシステムの入力端子で使用可能な要素を選択してから をクリックすると、その要素を選択しているすべての 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
という名前のモデルを開きます。
このモデルには次が含まれます。
InBus
とpulse
という名前の 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
を選択します。次に、 をクリックし、標準の色を選択するかカスタムの色を指定します。この例では、マゼンタを選択します。
入れ子にされたバスに関連するブロックで選択した色が使用されます。
拡張例
Simulink Bus Capabilities
Work with buses in components, simplify component interfaces, and streamline common bus workflows.
Programmatically Create Bus Element Ports
Add blocks for bus element ports and specify element attributes using MATLAB® functions.
Use Model-Based Design to Build a Battery Management System
Build a battery management system using a workflow that highlights the best practices and tools for collaborative design.
端子
出力
親サブシステムまたはモデルの対応する外部入力端子からバス、信号またはメッセージを選択します。
バス要素は選択できますが、バス配列の要素は選択できません。
データ型: 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 エディターで変更するには、ブロック ラベルの最初のテキスト フィールドを編集します。
複数のブロックが同じ端子にアクセスできます。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param
を使用します。
パラメーター: | PortName |
値: | "InBus" (既定値) | port name in quotes |
データ型: | char | string |
例: set_param("mymodel/Subsystem1/PortBlock",PortName="myBus")
端子で親システムからバスを受け取る場合に、バスから選択する要素をオプションで指定します。
ブロックで選択される要素を指定するには、Simulink エディターでブロック ラベルの 2 番目のテキスト フィールドを編集します。
要素を指定する方法は、バス階層における要素の位置によって異なります。
入力バスの最上位にある要素の場合、要素の名前を指定します。たとえば、
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")
[端子] タブ
タブを表示するかどうかを切り替えるには、 をクリックします。
端子名の詳細については、[端子名] を参照してください。
ブロックに対応する端子が親 Subsystem または Model ブロックに現れる順序を指定します。
別の端子を作成するブロックを追加する場合、端子番号は次に利用可能な番号になります。
ある端子に関連付けられているすべてのブロックを削除すると、その端子が削除されます。どの番号も省略されることなく連番になるように、その他の端子の番号を付け直します。
端子の数を超える端子番号を指定すると、その番号の端子と、その番号まで連番になる他の端子が作成されます。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param
を使用します。
パラメーター: | Port |
値: | "1" (既定値) | real integer in quotes |
データ型: | char | string |
例: set_param("mymodel/Subsystem1/PortBlock",Port="5")
[信号] タブ
タブを表示するかどうかを切り替えるには、 をクリックします。
属性を指定すると、対応するバス、信号、またはメッセージの名前の横に小かっこ付きで表示されます。指定されている属性全体を表示するには、属性の概要をクリックします。
R2025a より前: データ型などの属性を指定するには、バス、信号またはメッセージの名前で一時停止します。次に、 をクリックします。あるいは、使用可能な場合は属性の概要をクリックします。
バス、信号、またはメッセージのデータ型は継承されるか、直接指定されるか、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
オブジェクトを作成するには、をクリックします。
依存関係
バス要素端子のバスのデータ型として 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]
— この信号は、R
行C
列の行列でなければなりません。
依存関係
[データ型] で
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...")
[実行] タブ
タブを表示するかどうかを切り替えるには、 をクリックします。
属性を指定すると、対応するバス、信号、またはメッセージの名前の横に小かっこ付きで表示されます。指定されている属性を表示するには、 をクリックします。
R2025a より前: 実行の属性を指定するには、バス、信号、またはメッセージの名前をポイントします。次に、 をクリックします。
サンプル時間のヒット間の離散間隔を指定するか、連続 (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
.
キューの属性
キューの属性は、ブロックがモデルの最上位レベルにあり、[データ モード] パラメーターを [メッセージ]
に設定している場合にのみ表示されます。
キューの属性を指定するには、バスまたはメッセージの名前の横にある をクリックします。
このパラメーターを使用して、既定またはカスタムいずれかのキュー仕様を選択します。
既定のキューのプロパティを使用するには、このパラメーターを選択したままにします。この例では、各メッセージ バス要素に、容量 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")
ブロックの特性
データ型 |
|
直達 |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|
代替構成
Bus Element In ブロックは In Bus Element ブロックと名前のみ異なります。
ライブラリ:
Simulink /
Signal Routing
HDL Coder /
Signal Routing
ヒント
端子が受け取るバスに多数のバス要素がある場合は、[フィルター] ボックスに検索用語を入力して、表示されるバス要素にフィルターを適用します。検索用語は引用符で囲まないでください。フィルターは部分的な文字列検索を行い、正規表現をサポートします。正規表現では、入力要素がパターンと一致するかどうかに基づいてフィルターが適用されます。たとえば、名前が小文字の
t
で終わるすべての要素を表示するには、[フィルター] ボックスに「t$
」と入力します。詳細については、正規表現を参照してください。In Bus Element ブロックの背景色を変更するには、
をクリックし、標準の色を選択するかカスタムの色を指定します。あるいは、
BackgroundColor
ブロック プロパティを使用します。詳細については、プログラムによるブロックのパラメーターとプロパティの指定を参照してください。
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
このブロックは、HDL コードを生成するサブシステムでブロックを使用する際のサブシステム バス インターフェイスを簡略化するために使用できますが、ハードウェア実装には含まれません。
HDL コード生成でのバスの使用の詳細についてはバス (HDL Coder)およびバスを使用したモデルの可読性の向上および HDL コードの生成 (HDL Coder)を参照してください。
このブロックは、Simulink.ValueType
オブジェクトのコード生成をサポートしています。値のタイプの詳細については、Specify Common Set of Signal Properties as Value Typeを参照してください。
このブロックは、HDL コード生成で次のデータ型をサポートします。
入力端子 | 次元 | 固定小数点 | 浮動小数点 | 組み込み整数 | boolean | 複素信号 |
---|---|---|---|---|---|---|
Port_1 | スカラー ベクトル 行列 | あり | half single double | あり | あり | あり |
固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。
バージョン履歴
R2017a で導入端子、信号、および実行の属性をより簡単に指定できるようになりました。
端子、信号、および実行の属性の表示を切り替えるには、
をクリックします。端子、信号、および実行の属性はタブに表示されるようになりました。以前のリリースでバス、信号、またはメッセージの名前をポイントすると表示されるボタンは、
ボタンに置き換えられました。
実行の属性を指定すると、対応するバス、信号、またはメッセージの名前の横に小かっこ付きで表示されるようになりました。指定されている属性を表示するには、
をクリックします。
端子名を編集するには、最上位のバス、信号、またはメッセージの名前をダブルクリックします。あるいは、[端子] タブで [端子名] を指定します。
ブロックの色を変更するには、
をクリックし、標準の色を選択するかカスタムの色を指定します。
型エディターを使用して
Simulink.Bus
オブジェクトを作成するには、[信号] タブでをクリックします。
[次元モード] の英語 UI が [Dims mode] から [Dimensions mode] になりました。
In Bus Element ブロックから要素名を伝播できるようになりました。たとえば、InBus.nonconstant.chirp
というラベルの In Bus Element ブロックの場合、伝播される名前は chirp
です。
詳細については、信号ラベル伝播を参照してください。
Ctrl キーを押しながら In Bus Element ブロックを新しい場所にドラッグするときのオプションがより明確になりました。
新規端子 — 端子を作成します。
新規要素 — 端子に要素を追加します。
複製 — In Bus Element ブロックの複製を作成します。
以前のリリースでは、オプションは 2 つでした。
新規端子の作成 — 端子を作成します。
既存端子の使用 — In Bus Element ブロックの複製を作成します。
次の操作で一貫して端子が作成されるようになりました。
キャンバスをダブルクリックします。その後、
In Bus Element
の入力を開始し、メニューからブロックを選択します。In Bus Element ブロックをコピーして貼り付けます。
以前のリリースでは、これらの操作により、端子の作成、端子への要素の追加、ブロックの複製のいずれかが行われていました。
サブシステム インターフェイスとモデル インターフェイスの両方で、各要素を表す In Bus Element ブロックまたはバス階層を定義する Simulink.Bus
オブジェクトなしで入力バスの要素を指定できます。以前は、この機能をサポートしているのは、モデル インターフェイスにおける In Bus Element ブロックのみでした。
要素を追加するには、 ボタンの矢印をクリックします。その後、[ブロックなしの要素の追加] を選択します。
プロパティ インスペクターで In Bus Element ブロックと Out Bus Element ブロックがサポートされます。
In Bus Element ブロックと Out Bus Element ブロックの警告およびエラー メッセージがブロック線図内の対応するブロックにリンクされるようになったため、警告またはエラーの原因を迅速に見つけることができます。以前のリリースでは、警告およびエラー メッセージは非表示のブロックを参照し、リンクは提供されません。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)