Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

Data Store Write

データ ストアへデータの書き込み

  • Data Store Write block

ライブラリ:
Simulink / Signal Routing

説明

Data Store Write ブロックは、入力値を名前付きデータ ストアにコピーします。Data Store Write ブロックによって書き込み操作が行われるたびに、データ ストアまたは選択した部分が上書きされ、以前の内容が置き換えられます。

このブロックが書き込むデータ ストアは、データ ストアを定義する Data Store Memory ブロックまたは信号オブジェクトの位置によって決まります。詳細はデータ ストアと「Data Store Memory」を参照してください。データ ストアのサイズは、データ ストアを定義し初期化する信号オブジェクトまたは Data Store Memory ブロックによって設定されます。そのデータ ストアに書き込む各 Data Store Write ブロックは、データ ストアのデータ量まで書き込むことができます。

複数の Data Store Write ブロックを同じデータ ストアに書き込むことができます。ただし、2 つの Data Store Write ブロックが同じシミュレーション ステップ中に同じデータ ストアへの書き込みを試みた場合、結果は予期しないものになります。

データ ストアから正しい結果を得るためには、データ ストアの読み取りと書き込みが、所定の順序で行われる必要があります。詳細はデータ ストア アクセスの順序データ ストア診断を参照してください。

シミュレーションのすべてのステップについて、ローカルまたはグローバルのデータ ストア データ変数の値のログを作成することができます。詳細については、データ ストアのログ記録を参照してください。

Data Store Read ブロック、Data Store Write ブロックまたは Data Store Memory ブロックを選択して、それに関連するブロックを強調表示できます。開いているブロック線図または新しいタブに関連するブロックを表示するには、選択後に表示される省略記号で一時停止します。その後、操作バーから [関連するブロック] Related Blocks button を選択します。選択したブロックに複数のブロックが対応している場合は、関連するブロックのリストが開きます。関連するブロックのリストはテキスト ボックスに検索語を入力してフィルター処理できます。関連するブロックをリストから選択すると、関連するブロックが表示された開いているブロック線図または新しいタブにウィンドウのフォーカスが移ります。

[次元] パラメーターの値が Inf に設定されている Data Store Memory ブロックに Data Store Write ブロックが書き込む場合、[要素の代入] タブはサポートされていません。言い換えれば、データ ストアは非有界の可変サイズの信号を受け入れるように設定されます。

端子

入力

すべて展開する

指定されたデータ ストアに書き込む値。Data Store Write ブロックは、実数信号または複素信号を受け入れます。

Data Store Write ブロックでバス配列を使用できます。バス配列の定義と使用方法の詳細は、非バーチャル バスのバス配列へのグループ化を参照してください。

関連付けられているデータ ストアにバスのサブセットまたは行列要素を割り当てるには、[要素の代入] ペインを使用します。Data Store Write ブロックのアイコンは指定した要素を反映します。詳細については、特定のバスおよび Matrix 要素へのアクセスを参照してください。

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

対応するデータ ストア サブ要素の代入用のインデックスを指定する外部端子。

依存関係

外部のインデックス端子を有効にするには、[要素の代入] タブで、[インデックスの有効化] を選択します。次に、[インデックス オプション] テーブルの N 番目の行で、[インデックス オプション][インデックス ベクトル (端子)] または [開始インデックス (端子)] に設定します。

データ型: int8 | int16 | int32 | uint8 | uint16

パラメーター

すべて展開する

パラメーター

このブロックがデータを書き込むデータ ストアの名前を指定します。隣接するリストは、モデル内で Data Store Write ブロックと同じレベルか、それ以上のレベルにある Data Store Memory ブロックの名前を提供します。このリストには、ベース ワークスペースとモデル ワークスペースにあるすべての Simulink.Signal オブジェクトも含まれます。名前を変更するには、リストから名前を選択するか、編集フィールドに名前を直接入力します。

このブロックを含んでいるモデルのコンパイル時に、Simulink® はこのブロックをもつモデルの上位レベルで、指定されたデータ ストア名をもつ Data Store Memory ブロックを検索します。Simulink がそのようなブロックを見つけられない場合、モデル ワークスペースと MATLAB® ワークスペースで同じ名前をもつ Simulink.Signal オブジェクトを検索します。信号オブジェクトが見つかると、Simulink は、モデルのルート レベルで非表示の Data Store Memory ブロックを作成します。このブロックは、信号オブジェクトによって指定されたプロパティをもち、初期値がゼロの配列に設定されています。この配列の次元は、信号オブジェクトの Dimensions プロパティから継承されます。

Simulink は Data Store Memory ブロックも信号オブジェクトも検索できない場合、コンパイルを停止して、エラーを表示します。検索パスの詳細は、記号の解釈を参照してください。

プログラムでの使用

ブロック パラメーター: DataStoreName
: 文字ベクトル
: データ ストア名
既定の設定: 'A'

この パラメーター は読み取り専用です。

このフィールドには、このブロックが書き込むデータ ストアを初期化した Data Store Memory ブロックがリストされます。

この パラメーター は読み取り専用です。

このフィールドには、このブロックと同じデータ ストア名をもち、同じシステム (またはサブシステム) あるいはモデルの階層構造内でそれより下にあるサブシステム内のすべての Data Store Read ブロックへのパスがリストされます。このリスト内のエントリをクリックすると、モデル内の対応するブロックが強調表示されます。

ブロックがデータ ストアに書き込むタイミングを制御するサンプル時間。-1 という値は、サンプル時間が継承されることを示します。詳細については、サンプル時間の指定を参照してください。

プログラムでの使用

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

要素の代入

関連付けられているデータ ストアの要素のリスト。配列のデータ ストアの場合、データ ストア全体を読み取ることも、データ ストア全体の 1 つ以上の要素を割り当てることもできます。バス データ型のデータ ストアの場合、ツリーを展開してバス要素を表示し、選択できます。このリストは、各要素の最大次元を小かっこ内に表示します。

[インデックスの有効化] が選択されていない場合、要素を 1 つ選択してから、次のいずれかの方法を使用します。

  • [選択 >>] をクリックして [選択された要素] リストにその要素およびそのすべてのサブ要素を表示します。

  • [代入する要素の指定] エディット ボックスを使用して、書き込みのために選択するサブ要素を指定します。次に、[選択 >>] をクリックします。

複数の要素を選択するには、要素ごとに上記の手順を繰り返します。

または、[インデックスの有効化] を選択してから単一の要素を選択し、[インデックス オプション] パラメーターを使用して動的にサブ要素を指定できます。

表示を更新して、変更をデータ ストアで使用される配列またはバスに反映させるには、[更新] をクリックします。

依存関係

このセクションのプロンプト ([配列内の要素] または [バス内信号]) は、データ ストア内のデータ型に依存します。

プログラムでの使用

ブロック パラメーター: DataStoreElements
: 文字ベクトル
: 要素の # 区切りリスト (コマンド ラインを使用した指定を参照)
既定の設定: ''

MATLAB 式を入力して、書き込む特定の要素を定義してから、[選択>>] をクリックして [代入された要素] テーブルにその要素を追加します。繰り返して、追加の要素を選択します。

たとえば、最大次元 [3,5] がある DSM という名前のデータ ストアに対して、エディット ボックス内で DSM(2,4)DSM([1 3],2) などの式を入力できます。特定のバスおよび Matrix 要素へのアクセスを参照してください。

要素の選択を適用するには、[OK] または [適用] をクリックします。

依存関係

[代入する要素の指定] エディット ボックスは、[インデックスの有効化] が選択されていない場合にのみ表示されます。

プログラムでの使用

ブロック パラメーター: DataStoreElements
: 文字ベクトル
: 要素の # 区切りリスト (コマンド ラインを使用した指定を参照)
既定の設定: ''

代入のために選択する要素。Data Store Write ブロックのアイコンには、指定する各要素の入力端子が表示されます。

リスト内のバス要素または行列要素の順序を変更するには、リスト内の要素を選択して [上] または [下] をクリックします。リスト内の要素の順序を変更すると、端子の順序も変更されます。要素を削除するには、[削除] をクリックします。

依存関係

[代入された要素] テーブルは、[インデックスの有効化] が選択されていない場合にのみ表示されます。

プログラムでの使用

ブロック パラメーター: DataStoreElements
: 文字ベクトル
: 要素の # 区切りリスト (コマンド ラインを使用した指定を参照)
既定の設定: ''

このパラメーターを選択して、Assignment ブロックで使用されるものと同様のインデックスを有効化します。それにより、1 つ以上のインデックスの入力端子を使用し、ブロック ダイアログを使用してインデックスを指定することにより、書き込むサブ要素のインデックスを動的に指定できます。このパラメーターが選択されている場合、Data Store Write ブロックはデータ ストアの単一の要素 (つまり、1 つのバス内の単一信号) にのみ書き込むことができます。動的インデックス付けを使用してデータ ストアの複数の要素に書き込むには、複数の Data Store Write ブロックを使用します。

Assignment ブロックスタイルのインデックス付けを無効にするには、このパラメーターの選択を解除します。書き込む複数のデータ ストア要素を選択できますが、書き込むサブ要素はブロック ダイアログを使用した場合にのみ指定できます。

メモ

関連付けられたデータ ストアに単一のスカラー要素のみが含まれている場合は、[インデックスの有効化] を選択しないでください。

プログラムでの使用

ブロック パラメーター: EnableIndexing
: 文字ベクトル
: 'off' | 'on'
既定の設定: 'off'

選択したデータ ストア要素の次元数。この数は明示的に示さなければなりません。

依存関係

このパラメーターは、[インデックスの有効化] が選択されている場合にのみ有効になります。

プログラムでの使用

ブロック パラメーター: NumberOfDimensions
: 文字ベクトル
: positive integer
既定の設定: '1'

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

依存関係

このパラメーターは、[インデックスの有効化] が選択されている場合にのみ有効になります。

プログラムでの使用

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

次元単位で、選択したデータ ストア要素のサブ要素をインデックス付けする方法を定義します。リストから以下を選択します。

メニュー項目アクション
すべて選択

[インデックス] 列が無効になります。すべてのサブ要素が代入されます。

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

[インデックス] 列が有効になります。値を代入するサブ要素のインデックスを含むベクトルを入力します。

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

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

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

[インデックス] 列が有効になります。値を代入するサブ要素範囲の開始インデックスを入力します。範囲のサイズは入力データ信号の関連する次元のサイズから継承されます。

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

[インデックス] 列が無効になります。関連するインデックス端子は、値を代入する要素範囲の開始インデックスを定義します。範囲のサイズは入力データ信号の関連する次元のサイズから継承されます。

[インデックス] 列が関連付けられて表示されます。

依存関係

このパラメーターは、[インデックスの有効化] が選択されている場合にのみ有効になります。

プログラムでの使用

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

[インデックス オプション][インデックス ベクトル (ダイアログ)] の場合は、書き込む各サブ要素のインデックスを含むベクトルを入力します。

[インデックス オプション][開始インデックス (ダイアログ)] の場合は、書き込むサブ要素範囲の開始インデックスを入力します。

依存関係

このパラメーターは、[インデックスの有効化] が選択されていて、次元の [インデックス オプション][インデックス ベクトル (ダイアログ)] または [開始インデックス (ダイアログ)] である場合にのみ有効になります。

プログラムでの使用

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

ブロックの特性

データ型

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

直達

いいえ

多次元信号

はい

可変サイズの信号

いいえ

ゼロクロッシング検出

いいえ

拡張機能

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

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

バージョン履歴

R2006a より前に導入