ドキュメンテーション

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

To Workspace

データをワークスペースに書き込み

  • ライブラリ:
  • Simulink / Sinks

    HDL Coder / Sinks

説明

To Workspace ブロックは入力信号データをワークスペースに書き込みます。シミュレーション中、ブロックは内部バッファーにデータを書き込みます。シミュレーションを一時停止したり、シミュレーションが完了すると、そのデータはワークスペースに書き込まれます。シミュレーションが一時停止または停止するまで、データは利用できません。

一般的に、To Workspace ブロックはデータを MATLAB® ベース ワークスペースに書き込みます。MATLAB 関数の sim コマンドの場合、To Workspace ブロックはデータを MATLAB ベース ワークスペースではなく呼び出し関数のワークスペースに送信します。ログに記録されたデータをベース ワークスペースに送信するには、関数で assignin コマンドを使用します。

function myfunc
    a = sim('mTest','SimulationMode','normal');
    b = a.get('simout')
    assignin('base','b',b);
end

To Workspace ブロック アイコンは、データが書き込まれる変数名を表示します。

保存されるデータ量の制御

[コンフィギュレーション パラメーター][データのインポート/エクスポート][ログ間隔] パラメーターでデータのログ間隔を指定した場合、To Workspace ブロックは間隔外のデータを記録しません。たとえば、間隔が空 ([]) の場合、ブロックはデータをログに記録しません。ブロックは、ログに記録したデータを [単一のシミュレーション出力] パラメーターで指定した変数に保存します。

可変ステップ ソルバーの場合、To Workspace ブロックに利用できるデータ量を制御するには、[コンフィギュレーション パラメーター][データのインポート/エクスポート][追加パラメーター][出力オプション] パラメーターを使用します。たとえば、複数のシミュレーションに対して同一の時点でデータを書き込む場合は、Produce specified output only オプションを選択します。

ブロック パラメーターは保存したデータ量の制御も行います。データ点の制限, Limit data points to lastデータ点の制限Limit data points to last間引き, Decimation間引きDecimation、およびサンプル時間, Sample timeサンプル時間Sample timeを参照してください。

MAT ファイルへのログ記録

[コンフィギュレーション パラメーター][MAT ファイルのログ] パラメーターを有効にすると、To Workspace ブロックはそのデータを MAT ファイルに記録します。このパラメーターの詳細については、MAT ファイルのログ (Simulink Coder)を参照してください。

端子

入力

すべて展開する

入力信号から作成されたワークスペース データ。To Workspace ブロックは、固定小数点型や列挙データ型など、Simulink® がサポートするすべてのデータ型の実数入力または複素数入力、およびバス オブジェクトを保存できます。

既定の設定では、To Workspace ブロックは入力信号をサンプルベースとして扱います。To Workspace ブロックで入力信号をフレームベースとして扱うには、次のように設定します。

  1. [保存形式][配列] または [構造体] に設定

  2. [2 次元信号の保存形式][2 次元配列 (最初の次元と連結)] に設定

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

パラメーター

すべて展開する

保存されたデータの変数名を指定します。

プログラムでの使用

ブロック パラメーター: VariableName
型: 文字ベクトル
値: 文字ベクトル
既定の設定: 'simout'

保存される入力サンプルの最大数を指定します。シミュレーションで指定された最大値以上にデータ点が生成された場合、シミュレーションは最後に生成されたサンプルだけを保存します。既定値では、ブロックはすべてのデータを書き込みます。

プログラムでの使用

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

データをブロックが実行される n 回ごとに書き込む間引き係数 n を指定します。既定値では、ブロックはデータをタイム ステップごとに書き込みます。

プログラムでの使用

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

シミュレーションの出力をワークスペースに保存する形式を指定します。

既定の [timeseries] 形式では、非バス信号を MATLAB timeseries オブジェクトとして、バス信号を MATLAB timeseries オブジェクトの構造体として保存します。

[配列] 形式では入力を N 次元配列として保存します。ここで、N は入力信号の次元数よりも 1 大きい数値です。たとえば、入力信号がベクトルである場合、結果のワークスペース配列は 2 次元になります。入力信号が行列である場合、配列は 3 次元になります。Simulink がサンプルを配列に格納する方法は、入力信号がスカラー、ベクトルまたは行列のいずれであるかによって異なります。

  • 入力信号がスカラーまたはベクトルの場合、各入力サンプルは配列の行として出力されます。出力配列の名前が simout であるとします。すると、simout(1,:) は最初のサンプルに対応し、simout(2,:) は 2 番目のサンプルに対応するなどのようになります。

  • 入力信号が行列の場合は、時間が 3 番目の次元に対応します。simout が結果のワークスペース配列の名前であることをもう一度思い出してください。simout(:,:,1) は、最初のサンプル点での入力信号の値です。simout(:,:,2) は、2 番目のサンプル点での入力信号の値です。

[構造体] 形式は、次の 3 つのフィールドから構成されます。

  • time — この形式の空のフィールド。

  • signals — 次の 3 つのフィールドをもつ構造体。valuesdimensions および labelvalues フィールドは、信号値の配列です。dimensions フィールドは、対応する信号の次元を指定します。label フィールドは、入力ラインのラベルです。

  • blockName — To Workspace ブロックの名前。

[時間付き構造体] 形式は、シミュレーション時間ヒットのベクトルを時間フィールドが含んでいること以外は、[構造体] と同じです。

[配列] または [構造体] を選択した場合、[2 次元信号の保存形式] パラメーターが表示されます。

From Workspace ブロックで直接 To Workspace ブロック出力を読み取るには、[timeseries] または [時間付き構造体] 形式のいずれかを使用します。From Workspace ブロックは、前のシミュレーションで保存された To Workspace ブロックから、サンプルベースのデータを読み取ることができます。詳細については、信号読み込みの手法の比較を参照してください。

次の表は、各シミュレーション モードでサポートされる [保存形式] の値をまとめたものです。

シミュレーション モード時系列配列構造体時間を含む構造体
ノーマルサポートありサポートあり
アクセラレータサポートあり参照モデルではなく最上位モデルでのみサポート
ラピッド アクセラレータサポートなし参照モデルではなく最上位モデルでのみサポート
ソフトウェアインザループ (SIL) サポートなしMAT ファイルのログが有効になっている場合に参照モデルではなく最上位モデルでのみサポート
プロセッサインザループ (PIL)サポートなしMAT ファイルのログが有効になっていて利用可能な場合に参照モデルではなく最上位モデルでのみサポート
エクスターナルサポートなし参照モデルではなく最上位モデルでのみサポート
Simulink Coder™ ターゲットサポートなしMAT ファイルのログが有効になっている場合に参照モデルではなく最上位モデルでのみサポート

プログラムでの使用

ブロック パラメーター: SaveFormat
型: 文字ベクトル
値: 'Timeseries' | 'Structure with Time' | 'Structure' | 'Array'
既定の設定: 'Timeseries'

2 次元信号をワークスペースに保存する形式として次のいずれかを指定します。

  • 3 次元配列 (3 番目の次元に沿って連結) (既定の設定)

    この設定はサンプルベースの信号に適しています。データは 3 番目の次元に沿って連結されます。たとえば、2 行 4 列の 10 個のサンプルの入力行列は 2 x 4 x 10 の配列として格納されます。

  • 2 次元配列 (最初の次元に沿って連結)

    この設定はフレームベースの信号に適しています。データは最初の次元に沿って連結されます。たとえば、2 行 4 列の 10 個のサンプルの入力行列は 20 行 4 列の配列として格納されます。

[保存形式][配列] または [構造体] に設定されている場合、出力の次元は入力次元と [2 次元信号の保存形式] パラメーターの設定で決まります。次の表は、さまざまな条件下での出力次元をまとめています。この表で、K は [データ点の制限] パラメーターの値を表しています。

入力信号次元2 次元信号の保存形式 ...信号からワークスペースへの出力次元

M 行 N 列の行列

2 次元配列 (最初の次元に沿って連結)

K 行 N 列の行列。

[データ点の制限] パラメーターを inf に設定した場合、K はシミュレーションの終わりまでに各列で取得されたサンプルの合計数を表します。この設定は、入力フレーム サイズ (M) とブロックによって取得された M 行 N 列の入力の合計数を乗算した値と等価になります。

M 行 N 列の行列

3 次元配列 (3 番目の次元と連結)

M x N x K の配列。

[データ点の制限] パラメーターを inf に設定した場合、K はシミュレーションの終わりまでに取得された M 行 N 列の入力の合計数を表します。

長さ N の方向性をもたないベクトル

任意の設定

K 行 N 列の行列

N 次元配列 (N > 2)

任意の設定

N + 1 次元の配列。ここで、最後の次元のサイズは K と等しくなります。[データ点の制限] パラメーターを inf に設定した場合、K はシミュレーションの終わりまでに取得された M 行 N 列の入力の合計数を表します。

依存関係

[2 次元信号の保存形式] パラメーターを有効にするには、[保存形式][配列] または [構造体] に設定します。

プログラムでの使用

ブロック パラメーター: Save2DSignal
型: 文字ベクトル
: '2-D array (concatenate along first dimension)' | '3-D array (concatenate along third dimension)'
既定の設定: '3-D array (concatenate along third dimension)'

既定の設定では、To Workspace ブロックは固定小数点データを Fixed-Point Designer™ の fi オブジェクトとして MATLAB ワークスペースに記録します。このパラメーターをクリアすると、Simulink ソフトウェアは固定小数点データをワークスペースに double としてログ記録します。

プログラムでの使用

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

データ点を収集するサンプリング周期とオフセットを指定します。このパラメーターは、タイム ステップの間隔が一定でない可変ステップ ソルバーを使用する場合に役立ちます。既定値では、ブロックは駆動ブロックからサンプル時間を継承します。サンプル時間の指定を参照してください。

プログラムでの使用

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

ブロックの特性

データ型

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

直接フィードスルー

いいえ

多次元信号

はい

可変サイズの信号

はい

ゼロクロッシング検出

いいえ

ヒント

後処理をより簡単にするために、このブロックで保存されたデータを [データセット] 形式に変換できます。この変換は、[データセット] 形式を使用できる他の記録されたデータと一緒にこのデータを後処理する場合に役立ちます (たとえば、ログが作成された状態)。Dataset 形式へのログ データの変換を参照してください。また、可変サイズの信号例外を使用して信号のログを使用することもできます。

拡張機能

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

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

R2006a より前に導入