このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
Bus Selector
入力バスから要素を選択する
ライブラリ:
Simulink /
Commonly Used Blocks
Simulink /
Signal Routing
HDL Coder /
Signal Routing
説明
Bus Selector ブロックは、入力バス階層から名前で選択した要素を抽出します。このブロックは、選択した要素を個別に、または新しいバーチャル バスに出力できます。ブロックが、選択した要素を個別に出力した場合、選択した各要素は出力端子に対応します。ブロックが新しいバーチャル バスを出力した場合、ブロックには、選択した各要素が含まれるバーチャル バスの 1 つの出力端子があります。
複数の要素がバス階層内の異なる場所で同じ名前をもつことができますが、各要素は、Bus Selector ブロックで使用される一意の完全修飾名をもちます。たとえば、最上位のバスと入れ子にされたバスが chirp
という名前の要素をもつことができます。最上位バスの要素の完全修飾名は chirp
です。入れ子にされたバスの要素の完全修飾名は nestedbus.chirp
です。ここで、nestedbus
は入れ子にされたバスの名前です。
ヒント
サブシステムおよびモデル インターフェイスのバスについては、Bus Selector ブロックをもつ Inport ブロックの代わりに In Bus Element ブロックを使用します。In Bus Element ブロックは次のことを行います。
ブロック線図における線の複雑さと煩雑さを低減する。
インターフェイスに対する段階的な変更を容易にする。
使用ポイントに近いバス要素へのアクセスを許可して、Bus Selector および Goto ブロック構成の使用を回避する。
例
バスからの要素の選択
Bus Selector ブロックを使用することで、バスから名前で要素を抽出できます。
BusElementSelection
という名前のモデル例を開いてコンパイルします。モデルをコンパイルするには、Simulink ツールストリップの [モデル化] タブで、[モデルの更新] または [実行] をクリックします。モデルをコンパイルするとライン スタイルが更新されます。このライン スタイルは、バスを視覚的に識別するのに使用できます。
Bus Creator ブロックはソース信号からバス階層を作成します。
Bus Creator
という名前の Bus Creator ブロックは、sine
およびchirp
という名前の信号をsinusoidal
という名前のバスにグループ化します。Bus Creator1
という名前の Bus Creator ブロックは、pulse
およびsaw
という名前の信号をnonsinusoidal
という名前のバスにグループ化します。Bus Creator2
という名前の Bus Creator ブロックは、2 つのバスおよびconstant
という名前の信号をsources
という名前のバスにグループ化します。
Bus Selector ブロックは sources
という名前のバスを入力として受け取り、chirp
という名前の信号を出力として返します。
この例では、Bus Selector ブロックの出力は Out Bus Element ブロックに接続されます。2 つの Out Bus Element ブロックは未接続のままです。
出力端子を Bus Selector ブロックに追加するために、Bus Selector ブロックの出力の端をクリックします。
選択する要素の名前 (たとえば、nonsinusoidal
) を入力していきます。
矢印キーを使用して nonsinusoidal
という名前の要素を選択します。次に、Enter キーを押します。あるいは、メニューで要素名をクリックします。
新しい端子を Out Bus Element ブロックに接続します。オプションとして、モデルをコンパイルして、選択したバスのバス ライン スタイルを表示します。
Bus Selector ブロックの新しい出力端子にブロックを接続するには、ブロックの未接続の入力端子を Bus Selector ブロックの出力の端にドラッグします。
たとえば、残りの Out Bus Element ブロックの入力端子を Bus Selector ブロックの出力の端にドラッグします。
選択する要素の名前 (たとえば、saw
) を入力していきます。
矢印キーを使用して nonsinusoidal.saw
という名前の要素を選択します。次に、Enter キーを押します。あるいは、メニューで要素名をクリックします。
この例では、要素の完全修飾名は nonsinusoidal.saw
です。これは、saw
という名前の信号は nonsinusoidal
という名前の入れ子にされたバス内にあるためです。
この例ではブロック線図で入力バスから要素を選択する方法を示していますが、Bus Selector ブロックをダブルクリックし、開いたダイアログ ボックスで出力要素を選択することもできます。
端子
入力
Port_1 — 入力バーチャル バスまたは非バーチャル バス
バス
入力バーチャル バスまたは非バーチャル バスには、選択した要素が含まれます。
バスの配列では、Selector ブロックを使用して、Bus Selector ブロックと共に使用するバスを選択します。
データ型: single
| double
| half
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| string
| Boolean
| fixed point
| enumerated
| bus
複素数のサポート: あり
出力
Port_1 — 入力バスの選択した要素
スカラー | ベクトル | 行列 | 配列 | バス
既定では、ブロックは、選択した要素のそれぞれを、対応するバス要素名でラベル付けされた個別の出力端子から出力します。
[バーチャル バスとして出力] パラメーターが選択されていると、ブロックは選択した要素を、バーチャル バスにグループ化された 1 つの端子から出力します。
データ型: single
| double
| half
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| string
| Boolean
| fixed point
| enumerated
| bus
複素数のサポート: あり
パラメーター
Bus Selector ブロック パラメーターを対話形式で編集するには、ブロックをダブルクリックします。
既定では、ダイアログ ボックスが垂直方向のレイアウトで開き、選択した要素がバス内の要素のリストの下に示されます。バス内の要素と選択した出力要素を横に並べて表示するには、 をクリックします。
バス内の要素 — 入力バス内の要素のリスト
要素名のリスト
この パラメーター は読み取り専用です。
バス内の要素のリストには、入れ子にされたバスの要素など、ブロックに入るすべての要素が含まれます。要素の横にある矢印は、入力要素がバスであることを示します。矢印をクリックすると、そのバスの内容を表示できます。
正規表現を使用して、または使用せずに、名前でバス内の要素をフィルター処理するには、[フィルター] ボックスに検索用語を入力します。検索用語は引用符で囲まないでください。オプションとして、 をクリックして、フィルター処理された結果をフラット リストとして表示します。フラット リストでは、ドット表記を使用してバス階層が反映されます。既定では、フィルター処理された結果は階層ツリーで表示されます。
ブロックに入る要素のソースを強調表示するには、リスト内の要素を選択します。次に、 をクリックします。
ブロックに入る要素のリストを更新するには、 をクリックします。たとえば、ダイアログ ボックスが開いている間に要素名を変更した場合に、このボタンをクリックします。
ヒント
選択した出力要素の横に緑のチェック マーク アイコンが表示されます。
選択した出力要素の上にマウスをポイントすると、Bus Selector ブロックでその要素が選択された回数が小かっこ内に表示されます。
正規表現では、入力要素がパターンと一致するかどうかに基づいてフィルター処理されます。たとえば、[フィルター] ボックスに「
t$
」と入力すると、要素名が小文字のt
で終了するすべての要素が表示されます。詳細については、正規表現を参照してください。
プログラムでの使用
ブロック パラメーターの値をプログラムで取得するには、関数 get_param
を使用します。
パラメーター: | InputSignals |
値: | cell array of element names |
例: get_param(gcb,'InputSignals')
選択した要素 — 入力バスから選択した出力要素
要素名のリスト
選択した要素のリストには、ブロックから出るすべての要素が含まれます。リストでは、各要素の完全修飾名が使用されます。
Simulink® エディターでは、[バーチャル バスとして出力] がオフのとき、端子をブロックに追加して入力バスから要素を選択します。
Bus Selector ブロックの出力の端をクリックします。あるいは、ブロックがバスを受け取り、すべての出力端子が他の端子に接続されている場合は、Bus Selector ブロックの出力の端の近くに新しい線を描画します。
選択する要素を指定します。
[ブロック パラメーター] ダイアログ ボックスでは、要素を [選択した要素] リストに追加して入力バスから要素を選択します。
[バス内の要素] リストで、ブロック出力に追加する 1 つ以上の要素を選択します。
[バス内の要素] リストから複数の要素を選択すると、それらを選択する順序によって [選択した要素] リストに追加したときの順序が設定されます。
オプションとして、[選択した要素] リストで、下に要素を追加する要素を選択します。要素を選択しなかった場合、要素はリストの末尾に追加されます。
ダイアログ ボックスのレイアウトに応じて、 または をクリックします。
出力要素の順序を変更するには、[選択した要素] リスト内の要素を別の位置にドラッグします。要素の順序を変更しても、端子との接続は維持されます。
ブロック出力から要素を削除するには、[選択した要素] リストから削除する要素を選択します。次に、 をクリックします。
リスト内の要素が入力バスにない場合、要素名は赤色です。要素名の上にマウスをポイントすると、ツールヒントで要素が入力バスにないことが示されます。選択した要素のリストからその要素を削除するか、指定した名前の要素を含むように入力バスを変更します。
制限
再帰限界値を超えないように、選択する要素の数は Bus Selector ブロックごとに 500 個未満にします。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param
を使用します。
パラメーター: | OutputSignals |
値: | 'signal1,signal2' (既定値) | comma-separated list of element names in quotes |
データ型: | char | string |
例: set_param(gcb,'OutputSignals','constant,sine')
バーチャル バスとして出力 — 選択した要素をバーチャル バスとして出力するオプション
オフ
(既定値) | オン
既定では、ブロックは、選択した要素のそれぞれを、対応するバス要素名でラベル付けされた個別の出力端子から出力します。選択した要素をバーチャル バスにグループ化された 1 つの端子から出力するには、 を選択します。
出力を非バーチャル バスに変換するには、Bus Selector ブロックの後に Signal Conversion ブロックを挿入します。Signal Conversion ブロックの [出力] パラメーターを [非バーチャル バス]
に設定し、[データ型] を Simulink.Bus
オブジェクトに設定します。
[選択した要素] リストに 1 つの要素のみが含まれているときに を選択した場合、その要素はバス内にラップされません。たとえば、要素がバスである場合、出力要素はそのバスです。要素がバスではない場合、出力要素はバスではありません。
依存関係
このパラメーターを使用するには、ブロック出力にメッセージが含まれていてはなりません。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param
を使用します。
パラメーター: | OutputAsBus |
値: | 'off' (既定値) | 'on' |
例: set_param(gcb,'OutputAsBus','on')
ブロックの特性
データ型 |
|
直達 |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|
ヒント
既定では、ダイアログ ボックスが垂直方向のレイアウトで開き、選択した要素がバス内の要素のリストの下に示されます。バス内の要素と選択した出力要素を横に並べて表示するには、 をクリックします。
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
実際のデータ型、または機能のサポートは、ブロックの実装に依存します。
HDL コード生成
HDL Coder™ を使用して FPGA 設計および ASIC 設計のための VHDL、Verilog および SystemVerilog のコードを生成します。
HDL Coder™ には、HDL の実装および合成されたロジックに影響する追加のコンフィギュレーション オプションがあります。
HDL コード生成でのバスの使用の詳細についてはバス (HDL Coder)およびバス信号を使用したモデルの可読性の向上および HDL コードの生成 (HDL Coder)を参照してください。
このブロックには 1 つの既定の HDL アーキテクチャがあります。
ConstrainedOutputPipeline | 既存の遅延を設計内で移動することによって出力に配置するレジスタの数。分散型パイプラインではこれらのレジスタは再分散されません。既定の設定は |
InputPipeline | 生成されたコードに挿入する入力パイプライン ステージ数。分散型パイプラインと制約付き出力パイプラインでは、これらのレジスタを移動できます。既定の設定は |
OutputPipeline | 生成されたコードに挿入する出力パイプライン ステージ数。分散型パイプラインと制約付き出力パイプラインでは、これらのレジスタを移動できます。既定の設定は |
PLC コード生成
Simulink® PLC Coder™ を使用して構造化テキスト コードを生成します。
固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。
実際のデータ型、または機能のサポートは、ブロックの実装に依存します。
バージョン履歴
R2006a より前に導入R2023b: 効率化されたダイアログ ボックス設計
Bus Selector ブロックのダイアログ ボックスには、追加の機能をもつ効率化された設計が含まれています。
[バス内の要素] リストで、選択した出力要素の横に緑のチェック マーク アイコンが表示されます。
[バス内の要素] リストで、選択した出力要素の上にマウスをポイントすると、Bus Selector ブロックでその要素が選択された回数が小かっこ内に表示されます。
フィルター処理において既定で正規表現がサポートされています。
垂直方向と水平方向のレイアウトを切り替えることができます。
以前の機能は保持されています。
既定では、ダイアログ ボックスが垂直方向のレイアウトで開き、選択した要素がバス内の要素のリストの下に示されます。バス内の要素と選択した出力要素を横に並べて表示するには、 をクリックします。
水平方向のレイアウトでは、以前の Bus Selector ブロックのダイアログ ボックス設計がより忠実に再現されます。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)