Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

Bus Assignment

指定したバス要素への新しい値の代入

  • ライブラリ:
  • Simulink / Signal Routing

    HDL Coder / Signal Routing

  • Bus Assignment block

説明

Bus Assignment ブロックは、入力信号の値を選択したバス要素に割り当てます。バス要素を選択してその要素をバスに再構築する Bus Selector ブロックと Bus Creator ブロックを追加せずに、Bus Assignment ブロックを使用してバス要素の値を変更します。Bus Assignment ブロックを使用すると、バスの更新が簡略化され、サブシステムや参照モデルなどの個別のコンポーネントで発生する処理が反映されます。

Bus Assignment ブロックは、バス入力端子に接続されたバスの指定要素に、割り当て入力端子に接続された要素を割り当てます。このブロックは、これらの要素に割り当て済みであった要素を置き換えます。バスの構成には影響せず、要素本体の値のみが変更されます。置き換えられない信号は、置き換えられた他の要素からの影響を受けません。

値を代入する要素は非バス信号でもバス (バス配列を含む) でもかまいません。新しい値は、元のバスの要素の属性に一致しなければなりません。

既定では、Simulink®Bus Assignment ブロックの破損した選択内容を修復します。これは、上流のバス階層の変更が原因です。Simulink は、モデルが変更されたことを強調する警告を発します。Simulink がこのような修復を自動的には行わないようにするには、次を行います。

  1. Simulink ツールストリップの [モデル化] タブで、[モデル設定] をクリックします。

  2. [診断][接続性] ペインに移動します。

  3. [バス選択を修復] コンフィギュレーション パラメーターを [修復不要のエラー] に設定します。

制限

  • Bus Assignment ブロックではメッセージはサポートされません。

  • Bus Assignment ブロックはバス配列内のバスを置換できません。代わりに、Assignment ブロックを使用してください。詳細については、バス配列への値の割り当てを参照してください。

  • Bus Assignment ブロックはバス配列内のバスの要素を置換できません。Bus Assignment ブロックで変更するバスのインデックスを選択するには、Selector ブロックを使用します。次に、選択したバスと Bus Assignment ブロックを一緒に使用します。

端子

入力

すべて展開する

入力バーチャル バスまたは非バーチャル バスは、バス オブジェクト、固定小数点データ型、列挙データ型を含む Simulink でサポートされる任意のデータ型の実数値または複素数値の要素をもつことができます。バスにはバス配列を含めることもできます。

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

[割り当てられる要素] リスト内の各要素は割り当て端子を受け取ります。この端子に対応するバス要素は端子ラベルで示されます。signal1 という名前の要素の端子ラベルは [:= signal1] です。

バス要素に代入する信号を対応する割り当て端子に接続します。割り当て端子に接続される信号は、対応するバス要素と同じ構造、データ型、サンプル時間をもたなければなりません。1 つ以上の要素のサンプル時間を変更するには、Rate Transition ブロックを使用します。詳細については、非バーチャル バスのサンプル時間の変更を参照してください。

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

出力

すべて展開する

出力バーチャル バスまたは非バーチャル バスには、選択した要素の割り当てられたバス要素の値と、その他の要素の変更されなかったバス要素の値が含まれます。

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

パラメーター

すべて展開する

このプロパティは読み取り専用です。

入力バス内の要素を選択して操作します。

要素名の横にある矢印は、要素が入れ子にされたバスであることを示します。入れ子にされたバス内の要素を表示するには、この矢印をクリックします。

1 つ以上の要素を選択した状態で、次をクリックします。

  • 検索 — 選択した要素のソースを検出します。Simulink はその要素ソースを含んでいるシステムを開き、強調表示します。

  • 選択 — 選択した要素を、値が代入される要素のリストに追加します。詳細については、割り当てられる要素を参照してください。

入力バスに修正を反映させるには、[更新] をクリックしてリストを更新します。

プログラムでの使用

ブロック パラメーター: InputSignals
型: cell 配列 | cell 配列の cell 配列
値: 入力バス要素の名前
既定の設定: なし

入力要素の長いリストをフィルター処理するために使用する検索用語を指定します。検索用語は引用符で囲まないでください。フィルターは部分的な文字列検索を行います。

検索用語を指定するための正規表現の使用など、フィルター処理オプションにアクセスするには、[名前でフィルター] ボックスの右にある [フィルター処理オプションを表示する] ボタン をクリックします。

要素名をフィルター処理するための MATLAB® 正規表現の使用を有効にします。たとえば、[名前でフィルター] ボックスに「t$」と入力すると、要素名が小文字の t で終了するすべての要素およびその直接の親が表示されます。詳細については、正規表現を参照してください。

依存関係

このパラメーターにアクセスするには、[名前でフィルター] ボックスの右にある [フィルター処理オプションを表示する] ボタン をクリックします。

既定では、入力要素のリスト内の要素は階層ツリーで表示されます。フィルター処理された要素を、ドット表記を使用してバスの階層構造を反映するフラット リストに表示するには、このパラメーターを選択します。

依存関係

このパラメーターにアクセスするには、[名前でフィルター] ボックスの右にある [フィルター処理オプションを表示する] ボタン をクリックします。

このブロックには、このリストの要素ごとに割り当て端子があります。端子ラベルには、対応する要素の名前が含まれます。

要素の割り当て端子を追加するには、次を行います。

  1. [バス内の要素] リストから 1 つ以上の要素を選択します。

    [バス内の要素] リストから複数の要素を選択すると、それらを選択する順序によって [割り当てられる要素] リスト内の順序が設定されます。

  2. オプションで、[割り当てられる要素] リスト内で要素が表示される場所を指定します。追加した要素が表示される上の要素を選択します。要素を選択しない場合、追加された要素はリストの末尾に表示されます。

  3. [選択] をクリックします。

割り当て端子の順序を変更するには、リスト内の 1 つの要素または複数の連続要素を選択してから、[上] または [下] をクリックします。要素の順序を変更しても、端子との接続は維持されます。

割り当て端子を削除するには、リスト内の対応する要素を選択し、[削除] をクリックします。

リスト内の要素が入力バスにない場合、要素名は 3 つの疑問符 (???) で始まります。指定した名前の要素を含めるか、リストから要素を削除するには、入力バスを変更します。

プログラムでの使用

ブロック パラメーター: AssignedSignals
型: 文字ベクトル | string スカラー
値: 要素名のコンマ区切りリスト
既定の設定: なし

ブロックの特性

データ型

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

直達

はい

多次元信号

はい

可変サイズの信号

はい

ゼロクロッシング検出

いいえ

拡張機能

PLC コード生成
Simulink® PLC Coder™ を使用して構造化テキスト コードを生成します。

バージョン履歴

R2006a より前に導入