ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

Assignment

指定された信号要素に値を代入

  • ライブラリ:
  • Simulink / Math Operations

    HDL Coder / Math Operations

説明

Assignment ブロックは指定された信号要素に値を代入します。値を代入する要素のインデックスを指定するには、ブロック ダイアログ ボックスにインデックスを入力するか、ソースまたは外部のインデックス ソースをブロックに接続します。U のブロック データ端子の信号は、Y に代入する値を指定します。ブロックは指定された Y の要素をデータ信号の要素と置き換えます。

[出力の次元数] パラメーターに入力した値に基づいて、インデックス オプションの表が表示されます。この表の各行は、[出力の次元数] の各出力次元に対応しています。各次元に処理信号の要素を定義します。ベクトルは 1 次元信号として、行列は 2 次元信号として指定します。外部のインデックス端子を有効にするには、表の対応する行で [インデックス オプション][インデックス ベクトル (端子)] に設定します。

たとえば、1 ベースのインデックス モードで 5 次元信号を使用します。Assignment ブロック ダイアログの表は、各行が各次元に対応するように変わります。各次元を以下のエントリとして定義する場合の例を示します。

インデックス オプションインデックス
1すべて割り当てる 
2インデックス ベクトル (ダイアログ)[1 3 5]
3開始インデックス (ダイアログ)4
4開始インデックス (端子) 
5インデックス ベクトル (端子) 

代入する値は Y(1:end,[1 3 5],4:3+size(U,3),Idx4:Idx4+size(U,4)-1,Idx5)=U になります。ここで、Idx4Idx5 はそれぞれ 4 次元と 5 次元の入力端子です。

ノーマル モードで Assignment ブロックを使用するときは、ブロックがモデルによって明示的に初期化されない場合でも Simulink® はブロック出力を 0 に初期化します。アクセラレータ モードでは、Simulink はモデルを S-Function に変換します。これにはコード生成が含まれます。生成されたコードではブロック出力の暗黙的な初期化は行われない可能性があります。このような場合はモデル出力を明示的に初期化しなければなりません。

Assignment ブロックを使用して、ベクトル、行列、多次元信号に値を代入できます。

バス配列を Assignment ブロックへの入力信号として使用できます。

条件付きサブシステムでの Assignment ブロック

Assignment ブロックを条件付きサブシステム ブロックに配置すると、多くの場合に信号バッファーが挿入される場合があります。また、部分書き込みによって Assignment ブロックから信号をマージすると、エラーが発生する可能性があります。

しかし、条件付きサブシステムの Outport ブロックについて [出力端子がバーチャルであることを確認] チェック ボックスをオンにすると、そのようなケースに対応できます。つまり、Assignment ブロックを使用した配列への部分書き込みが可能になります。

端子

入力

すべて展開する

出力信号の初期化信号。要素に別の値が割り当てられていない場合、出力要素の値はこの入力信号値と一致します。

データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | fixed point | Boolean | enumerated | bus

指定したときに出力要素に割り当てられた値。

データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | fixed point | Boolean | enumerated | bus

対応する出力要素の割り当てのインデックスを指定する外部端子。

依存関係

外部のインデックス端子を有効にするには、[インデックス オプション] 表の対応する行の [インデックス オプション][インデックス ベクトル (端子)] または [開始インデックス (端子)] に設定します。

データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | fixed point | enumerated

出力

すべて展開する

指定された要素の値が割り当てられている出力信号。

データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | fixed point | enumerated | bus

パラメーター

すべて展開する

出力信号の次元数を入力します。

コマンド ライン情報

パラメーター: NumberOfDimensions
型: 文字ベクトル
値: integer
既定の設定: '1'

インデックス モードを選択します。[1 ベース] を選択した場合、インデックス 1 は入力ベクトルの最初の要素を指定します。[0 ベース] を選択した場合、インデックス 0 は入力ベクトルの最初の要素を指定します。

コマンド ライン情報

パラメーター: IndexMode
型: 文字ベクトル
値: 'Zero-based' | 'One-based'
既定の設定: 'One-based'

次元単位で信号の要素のインデックス付けの方法を定義します。リストから以下を選択します。

メニュー項目アクション
すべて割り当てる

これは既定の設定です。すべての要素が代入されます。

インデックス ベクトル (ダイアログ)

[インデックス] 列が有効になります。要素のインデックスを入力します。

インデックス ベクトル (端子)

[インデックス] 列が無効になります。インデックス端子は、要素のインデックスを定義します。

開始インデックス (ダイアログ)

[インデックス] 列が有効になります。値に代入する要素範囲の開始インデックスを入力します。

開始インデックス (端子)

[インデックス] 列が無効になります。インデックス端子は、値を代入する要素範囲の開始インデックスを定義します。

テーブル内の次元に [インデックス ベクトル (端子)] または [開始インデックス (端子)] を選択すると、[出力 (Y) の初期化] パラメーターの次のいずれかの値を指定できます。

  • 入力端子 <Y0> を使用して初期化する

  • テーブルの各次元に対するサイズを指定

そうでない場合は、Y0 は常に出力端子 Y を初期化します。

[インデックス] 列と [出力サイズ] 列は、関連付けられて表示されます。

コマンド ライン情報

パラメーター: IndexOptionArray
型: 文字ベクトル
値: 'Assign all' | 'Index vector (dialog)' | 'Index option (port)' | 'Starting index (dialog)' | 'Starting index (port)'
既定の設定: 'Index vector (dialog)'

[インデックス オプション][インデックス ベクトル (ダイアログ)] の場合は、対象となる各要素のインデックスを入力します。

[インデックス オプション][開始インデックス (ダイアログ)] の場合は、選択した要素の範囲の開始インデックスを入力します。開始点からの要素の数は、U の次元サイズによって決まります。

コマンド ライン情報

パラメーター: IndexParamArray
型: 文字ベクトル
値: cell 配列
既定の設定: '{ }'

ブロックの出力信号のサイズを入力します。

依存関係

この列を有効にするには、[出力 (Y) の初期化] パラメーター用に [テーブルの各次元に対するサイズを指定] を選択します。

コマンド ライン情報

パラメーター: OutputSizeArray
型: 文字ベクトル
値: cell 配列
既定の設定: '{ }'

出力信号の初期化方法を指定します。

  • 入力端子 <Y0> を使用して初期化する – 入力端子 Y0 の信号が出力を初期化します。

  • テーブルの各次元に対するサイズを指定[出力サイズ] パラメーターにブロックの出力信号のサイズを指定します。出力に代入されていない要素がある場合、それらの要素の値は未定義です。

依存関係

[インデックス オプション][インデックス ベクトル (端子)] または [開始インデックス (端子)] に設定すると有効になります。

コマンド ライン情報

パラメーター: OutputInitialize
型: 文字ベクトル
値: 'Initialize using input port <Y0>' | 'Specify size for each dimension in table'
既定の設定: 'Initialize using input port <Y0>'

割り当てられない出力要素がある場合に、警告またはエラーを生成するかどうかを指定します。オプションは次のとおりです。

  • エラー — Simulink ソフトウェアでシミュレーションが終了し、エラーが表示されます。

  • 警告 — Simulink ソフトウェアで警告が表示され、シミュレーションは続行されます。

  • なし — Simulink ソフトウェアではいかなるアクションも実行されません。

コマンド ライン情報

パラメーター: DiagnosticForDimensions
型: 文字ベクトル
値: 'Error' | 'Warning' | 'None'
既定の設定: 'None'

サンプル時間を -1 以外の値で指定します。詳細については、サンプル時間の指定を参照してください。

依存関係

このパラメーターは、明示的に -1 以外の値に設定されていない限り表示されません。詳細は、サンプル時間が推奨されないブロックを参照してください。

プログラムでの使用

ブロック パラメーター: SampleTime
型: 文字ベクトル
値: スカラー
既定の設定: '-1'

ブロックの特性

データ型

Boolean | double | enumerated | fixed point | integer | single

直接フィードスルー

はい

多次元信号

はい

可変サイズの信号

はい

ゼロクロッシング検出

いいえ

拡張機能

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

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

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

R2006a より前に導入