Main Content

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

Data Store Read

データ ストアからデータの読み取り

  • Data Store Read block

ライブラリ:
Simulink / Signal Routing

説明

Data Store Read ブロックは、名前付きデータ ストアのデータまたは選択した部分を出力にコピーします。1 つを超える Data Store Read ブロックを同じデータ ストアから読み取ることができます。

データが読み取られるデータ ストアは、データ ストアを定義した Data Store Memory ブロックまたは信号オブジェクトの位置によって決まります。詳細はデータ ストアと「Data Store Memory」を参照してください。

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

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

[次元] パラメーターの値が Inf に設定されている Data Store Memory ブロックから Data Store Read ブロックが読み取る場合、[要素の選択] タブはサポートされていません。言い換えれば、Data Store Read ブロックはデータ ストアから非有界の可変サイズの信号を読み取ります。

端子

入力

すべて展開する

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

依存関係

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

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

出力

すべて展開する

指定されたデータ ストアの値。データ ストア内と同じデータ型と次元数をもつ出力です。ブロックは、実数値信号と複素数値信号の両方をサポートします。データ ストア全体を出力するか、選択された要素のみを出力するかを選択できます。

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

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

パラメーター

すべて展開する

パラメーター

このブロックがデータを読み取るデータ ストアの名前を指定します。隣接するリストは、モデル内で Data Store Read ブロックと同じレベルか、それ以上のレベルにある 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 Write ブロックへのパスがリストされます。このリスト内のエントリをクリックすると、モデル内の対応するブロックが強調表示されます。

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

プログラムでの使用

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

要素の選択

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

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

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

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

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

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

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

依存関係

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

プログラムでの使用

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

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

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

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

依存関係

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

プログラムでの使用

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

データ ストアから選択した要素。Data Store Read ブロックのアイコンには、指定した各要素の出力端子が表示されます。

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

依存関係

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

プログラムでの使用

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

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

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

メモ

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

プログラムでの使用

ブロック パラメーター: 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 配列
既定の設定: '{ }'

[インデックス オプション][開始インデックス (ダイアログ)] または [開始インデックス (端子)] の場合は、読み取るサブ要素範囲のサイズを入力します。

依存関係

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

プログラムでの使用

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

ブロックの特性

データ型

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

直達

いいえ

多次元信号

はい

可変サイズの信号

いいえ

ゼロクロッシング検出

いいえ

拡張機能

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

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

バージョン履歴

R2006a より前に導入