メインコンテンツ

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

記録

ワークスペース、ファイル、またはその両方のデータを表示およびログ記録する

R2021a 以降

  • Record block

ライブラリ:
Simulink / Sinks

記録 ブロックの代替構成:
XY Graph

説明

Record ブロックまたは XY Graph ブロックを使用し、データをワークスペース、ファイル、またはワークスペースとファイルの両方に記録します。データのログをファイルに記録する場合、記録先として MAT ファイル、MLDATX ファイル、Excel® ファイル、または Parquet ファイル (R2025a 以降)を選択できます。Record ブロックに接続された信号は、常にシミュレーション データ インスペクターにログが記録されます。シミュレーション後にデータを保存する必要があると判断した場合、Record ブロックのデータをワークスペースまたはサポートされる任意のファイル タイプ (Parquet ファイルを除く) にエクスポートできます。

Record ブロックを使用して、接続された信号を可視化することもできます。Record ブロックに接続された信号のデータを表示するには、ブロックをダブルクリックします。[実行] ボタンなどのシミュレーション コントロールにアクセスできると同時に、Record ブロック内のデータが表示されます。

既定の設定では、Record ブロックは接続されたすべての信号をスパークライン プロットに表示します。接続された信号 1 つに対して 1 本のスパークラインが追加されます。スパークラインで表示域が一杯になったら、スクロールバーを使用することで信号のプロットを続行できます。

A model opened to view data logged by a Record block with the block parameters visible in the Property Inspector

可視化の作成

Record ブロックは、シミュレーション データ インスペクターで利用可能なほとんどの可視化をサポートしています。データに別の可視化を使用することが望ましい場合、[レイアウト] オプションとプロット タイプ セレクター (既定のラベル名 [スパークライン]) を使用することでプロット レイアウトとプロット タイプを変更できます。サブプロットのレイアウトを選択するには、[レイアウト] リストを使用します。サブプロットのプロット タイプを変更するには、サブプロットを選択し、プロット タイプ セレクターから目的のプロット タイプを選択します。

詳細については、Log Data to the Workspace and a File Using the Record Blockを参照してください。各可視化タイプの使用方法を示す例については、以下を参照してください。

制限

  • Record ブロックは、シミュレーション データ インスペクターで利用可能な配列の可視化をサポートしていません。

  • Record ブロックは可変サイズの信号を含む多次元信号データのログ記録をサポートしていますが、多次元データの可視化はサポートしていません。Record ブロックを使用して多次元信号のデータを可視化するには、多次元のサンプル値をもつ信号を、それぞれがスカラーのサンプル値をもつ"チャネル" と呼ばれる一連の信号に変換します。詳細については、Analyze Multidimensional Signal Dataを参照してください。

  • R2025a において: ライブ ストリーミングは、エクスターナル モードの XY プロットではサポートされていません。

端子

入力

すべて展開する

記録する信号です。Record ブロックに端子を追加するには、ラインをブロックの端にドラッグするか、[端子] パラメーターを使用します。

Record ブロックは可変サイズの信号のログ記録をサポートしていますが、可変サイズの信号の可視化はサポートしていません。

XY Graph ブロックは、XY プロット上の 2 つの入力端子に接続されているデータを可視化する Record ブロックの代替の構成です。1 番目の入力端子は XY プロットの x データを提供し、2 番目の入力端子は y データを提供します。

ヒント

  • フレームベースのデータのログを記録するには、フレームベースの信号を受け取る各端子に [入力処理] パラメーターを指定します。

  • 非スカラー信号を XY Graph ブロックの入力端子に接続する場合は、XY プロットの x および y データを提供する非スカラー信号のチャネルまたは要素を手動で設定しなければなりません。

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

パラメーター

すべて展開する

ブロック パラメーターを対話形式で編集するには、プロパティ インスペクターを使用します。Simulink® ツールストリップから、[シミュレーション] タブの [準備] ギャラリーで [プロパティ インスペクター] を選択します。

メイン

入力端子の数。1 以上 100 以下の整数として指定します。

XY Graph ブロックは、XY プロット上の 2 つの入力端子に接続されているデータを可視化する Record ブロックの代替の構成です。XY Graph ブロックで、1 番目の入力端子は x データを提供し、2 番目の入力端子は y データを提供します。

プログラムでの使用

ブロック パラメーターの値をプログラムで設定するには、関数 set_param を使用します。

パラメーター: NumPorts
値: 1 (既定値) | integer in the range [1, 100]
データ型: integer

例: set_param("myModel/Record","NumPorts",2)

R2025a 以降

ログ データの有効なサンプル レートを削減する間引き係数を指定します。間引き係数 n に対して、Record ブロックは n 個ごとにサンプル値をログに記録します。たとえば、[間引き] 値を 2 に指定すると、Record ブロックはデータ点を 1 つおきにログに記録します。

シミュレーション時にログに記録されるサンプルを制御する方法の詳細については、ログに記録する信号値の指定を参照してください。

プログラムでの使用

ブロック パラメーターの値をプログラムで設定するには、関数 set_param を使用します。

パラメーター: Decimation
値: "1" (既定値) | positive integer in quotes
データ型: character vector | string

例: set_param("myModel/Record","Decimation","2")

R2025a 以降

シミュレーションの最後の時点からのデータのみを保存または解析する場合は、ログに記録するサンプルの数をゼロより大きい正の整数として指定します。既定では、Record ブロックはシミュレーション全体のデータをログに記録し、[直近のデータ点数に制限] パラメーターの値は inf です。

ログに記録するデータを最後の n 個の信号値に制限するとメモリ割り当てに直接影響します。このパラメーターを指定すると、シミュレーション中に生成されるタイム ステップではなく、指定した値に基づいて事前にメモリが割り当てられます。このため、ログを記録するタイム ステップの数が不確定である場合は [直近のデータ点数に制限] パラメーターは推奨されません。

シミュレーション時にログに記録されるサンプルを制御する方法の詳細については、ログに記録する信号値の指定を参照してください。

プログラムでの使用

ブロック パラメーターの値をプログラムで設定するには、関数 set_param を使用します。

パラメーター: MaxDataPoints
値: "inf" (既定値) | positive integer in quotes
データ型: character vector | string

例: set_param("myModel/Record","MaxDataPoints","20")

[端子の選択] および [入力処理] パラメーターを併せて使用して、端子の入力処理モードを指定します。入力処理モードにより、Record ブロックが行列データをどのように解釈するかが決まります。

  • サンプルベース — 行列の各要素が個別のチャネルです。

  • フレームベース — 行列の各列が個別のチャネルです。

フレームベースの入力処理を使用するには、信号が離散サンプル時間をもち、サンプル値が固定次元の非スカラーでなければなりません。

既定の設定では、各端子は入力信号をサンプルベースとして処理します。

端子の入力処理モードを変更するには、以下を行います。

  1. [端子の選択] パラメーターを使用して端子番号を選択します。

  2. [入力処理] パラメーターを使用して入力処理モードを選択します。

プログラムでの使用

ブロック パラメーターの値をプログラムで設定するには、関数 set_param を使用します。

FrameSettings パラメーターをブロック端子の数と同じ数の要素をもつ行ベクトルとして指定することにより、各端子の入力処理モードをプログラムで指定します。要素インデックスはブロックの端子番号に対応します。端子にフレームベースの入力処理を使用するには 1 を指定し、サンプルベースの処理を使用するには 0 を指定します。

パラメーター: FrameSettings
値: false (既定値) | 1-by-n row vector of logical values, where n is equal to the number of ports
データ型: logical array

例: set_param("myModel/Record","FrameSettings",[true,false,true])

[端子の選択] および [入力処理] パラメーターを併せて使用して、端子の入力処理モードを指定します。入力処理モードにより、Record ブロックが行列データをどのように解釈するかが決まります。

  • サンプルベース — 行列の各要素が個別のチャネルです。

  • フレームベース — 行列の各列が個別のチャネルです。

フレームベースの入力処理を使用するには、信号が離散サンプル時間をもち、サンプル値が固定次元の非スカラーでなければなりません。

既定の設定では、各端子は入力信号をサンプルベースとして処理します。

端子の入力処理モードを変更するには、以下を行います。

  1. [端子の選択] パラメーターを使用して端子番号を選択します。

  2. [入力処理] パラメーターを使用して入力処理モードを選択します。

プログラムでの使用

ブロック パラメーターの値をプログラムで設定するには、関数 set_param を使用します。

FrameSettings パラメーターをブロック端子の数と同じ数の要素をもつ行ベクトルとして指定することにより、各端子の入力処理モードをプログラムで指定します。要素インデックスはブロックの端子番号に対応します。端子にフレームベースの入力処理を使用するには 1 を指定し、サンプルベースの処理を使用するには 0 を指定します。

パラメーター: FrameSettings
値: false (既定値) | 1-by-n row vector of logical values, where n is equal to the number of ports
データ型: logical array

例: set_param("myModel/Record","FrameSettings"[true,false,true])

記録

ワークスペースにログを記録するオプションです。既定では、Record ブロックはデータのログをシミュレーション データ インスペクターのみに記録します。Record ブロックに接続された信号のログ データを Simulink.SimulationData.Dataset オブジェクトの MATLAB® ワークスペースに記録するには、[ワークスペースへ記録] を選択します。

[ワークスペース変数名] パラメーターを使用して、ログに記録される Record ブロック データを含む Dataset オブジェクトの名前を指定します。

ヒント

  • ログ データをワークスペースに記録する場合、データのアクセス方法はモデル コンフィギュレーションによって変わります。既定の設定では、モデルはすべてのログ データを Simulink.SimulationOutput オブジェクトとして単一の出力変数内に含めます。Record ブロック データにアクセスするには、関数 get を使用するか、Record ブロックのワークスペース変数名とドットを使用します。[単一のシミュレーション出力] オプションが無効になっている場合、ログ データはワークスペースの別々の変数に表示され、Record ブロックのデータには直接アクセスします。

  • [ログ間隔] コンフィギュレーション パラメーターを使用して指定されたログ間隔は、Record ブロックを使用してワークスペースに記録されたデータに適用されます。

  • 1 つの Record ブロックを使用して、データのログをシミュレーション データ インスペクター、ワークスペース、およびファイルに記録します。

プログラムでの使用

ブロック パラメーターの値をプログラムで設定するには、関数 set_param を使用します。

パラメーター: RecordToWorkspace
値: "off" (既定値) | "on" | false or 0 | true or 1

例: set_param("myModel/Record","RecordToWorkspace","on")

ログに記録されるブロック データを含むワークスペース変数の名前です。

依存関係

このパラメーターを有効にするには、[ワークスペースへ記録] パラメーターを選択します。

プログラムでの使用

ブロック パラメーターの値をプログラムで設定するには、関数 set_param を使用します。

パラメーター: VariableName
値: "recordout" (既定値) | valid MATLAB variable name
データ型: character vector | string

例: set_param("myModel/Record","VariableName","RecordedData")

ファイルへログを記録するオプションです。既定では、Record ブロックはデータのログをシミュレーション データ インスペクターのみに記録します。Record ブロックに接続された信号のログ データをファイルに記録するには、[ファイルへ記録] を選択します。

ヒント

  • [ファイル名] パラメーターを使用してファイルの名前を指定します。

  • [ファイル タイプ] パラメーターを使用してログ データを MLDATX ファイル、MAT ファイル、Excel ファイル、または Parquet ファイル (R2025a 以降)のどれに記録するか指定します。

  • [ファイルの場所] パラメーターを使用してファイルのパスを指定します。

  • [ログ間隔] コンフィギュレーション パラメーターを使用して指定されたログ間隔は、Record ブロックを使用してファイルに記録されたデータに適用されません。

プログラムでの使用

ブロック パラメーターの値をプログラムで設定するには、関数 set_param を使用します。

パラメーター: RecordToFile
値: "off" (既定値) | "on" | false or 0 | true or 1

例: set_param("myModel/Record","RecordToFile","on")

ログ データを含むファイルの名前です。名前にファイルの拡張子を含める必要はありません。名前にファイルの拡張子を含める場合は、指定した [ファイル タイプ] に対して有効な拡張子が使用されていることを確認してください。

ヒント

  • ある実行から次の実行にログ記録するファイルの名前と場所を変更しない場合、Record ブロックはファイルに含まれる以前のデータを上書きします。

  • 作業ディレクトリ以外の場所にファイルを保存するには、[ファイルの場所] パラメーターを使用して、ファイル保存先ディレクトリのパスを指定します。

依存関係

このパラメーターを有効にするには、[ファイルへ記録] パラメーターを選択します。

プログラムでの使用

ブロック パラメーターの値をプログラムで設定するには、関数 set_param を使用します。

[ファイル名][ファイル タイプ]、および [ファイルの場所] パラメーターを指定します。set_param に渡す名前には必要なファイル タイプの拡張子を含めます。現在の作業ディレクトリ以外の場所にファイルを保存するには、ファイル名および拡張子を含むパスを指定します。

パラメーター: FileName
値: "recording.mldatx" (既定値) | valid filename
データ型: character vector | string

例: set_param("myModel/Record","FileName","myRecording.mldatx")

[ファイル タイプ] パラメーターを使用してログ データを MLDATX ファイル、MAT ファイル、Excel ファイル、または Parquet ファイル (R2025a 以降)のどれに記録するか指定します。

ヒント

  • ログ データを Excel ファイルに記録する場合、データはMicrosoft Excel のインポート、エクスポート、ログ形式で説明する形式で記録されます。

  • Excel ファイルにログ データを記録する場合、時間列を共有するかどうかを [時間] パラメーターを使用して指定できるほか、ログに記録する信号属性を [属性] パラメーターを使用して指定できます。

依存関係

このパラメーターを有効にするには、[ファイルへ記録] を選択します。

プログラムでの使用

ブロック パラメーターの値をプログラムで設定するには、関数 set_param を使用します。

FileName パラメーターは、[ファイル名][ファイル タイプ][ファイルの場所] パラメーターを指定するために使用します。set_param に渡す名前には必要なファイル タイプの拡張子を含めます。現在の作業ディレクトリ以外の場所にファイルを保存するには、ファイル名および拡張子を含むパスを指定します。

パラメーター: FileName
値: "recording.mldatx" (既定値) | valid filename
データ型: character vector | string

例: set_param("myModel/Record","FileName","myRecording.parquet")

作業ディレクトリ以外の場所にファイルを保存する場合に、ログ データを含むファイルの保存場所を指定するには、[ファイルの場所] パラメーターを使用します。指定するディレクトリへの書き込み権限があることを確認してください。

依存関係

このパラメーターを有効にするには、[ファイルへ記録] を選択します。

プログラムでの使用

ブロック パラメーターの値をプログラムで設定するには、関数 set_param を使用します。

FileName パラメーターは、[ファイル名][ファイル タイプ][ファイルの場所] パラメーターを指定するために使用します。set_param に渡す名前には必要なファイル タイプの拡張子を含めます。現在の作業ディレクトリ以外の場所にファイルを保存するには、ファイル名および拡張子を含むパスを指定します。

パラメーター: FileName
値: "recording.mldatx" (既定値) | valid filename
データ型: character vector | string

例: set_param("myModel/Record","FileName","myRecording.mldatx")

Record ブロックのデータのログを Excel ファイルまたは Parquet ファイル (R2025a 以降)に記録する場合に信号の時間データのログを記録する方法を指定します。

  • Shared Time Columns — 複数の信号間で時間データが同一の場合、ログ ファイル内の信号は単一の時間列を共有します。Record ブロックが独自の時間データをもつ信号のデータのログを記録している場合、ログ ファイルに複数の時間列が引き続き含まれることがあります。

  • Individual Time Columns — 各ログ信号は、ログ ファイル内で常に独自の時間列をもちます。

依存関係

このパラメーターを有効にするには、[ファイルへ記録] を選択し、[ファイル タイプ][*.xlsx] または [*.parquet] (R2025a 以降) に指定します。

プログラムでの使用

ブロック パラメーターの値をプログラムで設定するには、関数 set_param を使用します。

プログラムによる [時間] パラメーターの設定は Parquet ファイルでのみサポートされています。

パラメーター: SharedTimeColumn
値: "on" (既定値) | "off"

例: set_param("myModel/Record","SharedTimeColumn", "off")

ログ データを Excel ファイルに記録する場合、ログ ファイルに含める 1 つ以上の信号属性オプションを選択します。選択した信号属性は、Microsoft Excel のインポート、エクスポート、ログ形式で説明する形式に従って、最初のデータ点の上の信号列に表示されます。

依存関係

このパラメーターを有効にするには、[ファイルへ記録] を選択し、[ファイル タイプ][*.xlsx] に指定します。

R2025a 以降

次のオプションのいずれかとして圧縮を指定します。

  • 最速 (snappy) — 保存速度は圧縮しないファイルと同等で、ファイル サイズはそれよりも小さい

  • サイズと速度を平衡化 (gzip) — ファイル サイズと保存速度のバランスが図られる

  • コンパクト (brotli) — ファイル サイズは最も小さく、保存速度は最も遅い

  • なし (非圧縮) — ファイル サイズは最も大きく、保存速度は最も速い

依存関係

このパラメーターを有効にするには、[ファイルへ記録] を選択し、[ファイル タイプ][*.parquet] に指定します。

プログラムでの使用

ブロック パラメーターの値をプログラムで設定するには、関数 set_param を使用します。

パラメーター: ParquetCompression
値: "fastest" (既定値) | "balanced" | "compact" | "none"

例: set_param("myModel/Record","ParquetCompression","balanced")

R2025a 以降

ログに記録されたすべてのメタデータを含む JSON サイドカーを生成するには、このパラメーターを選択します。

依存関係

このパラメーターを有効にするには、[ファイルへ記録] を選択し、[ファイル タイプ][*.parquet] に指定します。

プログラムでの使用

ブロック パラメーターの値をプログラムで設定するには、関数 set_param を使用します。

パラメーター: ParquetMetaData
値: "on" (既定値) | "off"

例: set_param("myModel/Record","ParquetMetaData","off")

R2025a 以降

Parquet ファイル内の行グループを指定します。

  • Row Group Height — グループあたりの行数を指定します。

  • Row Group Size (MB) — 行グループのサイズをメガバイト単位で指定します。

依存関係

このパラメーターを有効にするには、[ファイルへ記録] を選択し、[ファイル タイプ][*.parquet] に指定します。

プログラムでの使用

ブロック パラメーターの値をプログラムで設定するには、関数 set_param を使用します。

パラメーター: ParquetRowGroupPolicy
値: "height" (既定値) | "sizeinmb"

例: set_param("myModel/Record","ParquetRowGroupPolicy","sizeinmb")

R2025a 以降

各行グループの行数を指定するには、[行グループのポリシー] パラメーターを Row Group Height に設定します。次に、[行グループのポリシーの値] パラメーターを使用して、1 から 67,108,864 の間の値を選択して、各グループの行数を定義します。既定では、値は auto であり、512 MB を超えない、可能な限り大きい行グループが作成されます。

各行グループのサイズを指定するには、[行グループのポリシー] パラメーターを Row Group Size (MB) に設定します。次に、[行グループのポリシーの値] パラメーターを使用して、最大 1 GB までの行グループのデータ サイズをメガバイト単位で設定します。

依存関係

このパラメーターを有効にするには、[ファイルへ記録] を選択し、[ファイル タイプ][*.parquet] に指定します。

プログラムでの使用

ブロック パラメーターの値をプログラムで設定するには、関数 set_param を使用します。

パラメーター: ParquetRowGroupHeight
値: "auto" (既定値) | integer in the range [1, 67108864] in quotes
データ型: character vector | string

例: set_param("myModel/Record","ParquetRowGroupPolicy","height","ParquetRowGroupHeight","5000")

パラメーター: ParquetRowGroupSize
値: "512" (既定値) | positive number in the range (0, 1000] in quotes
データ型: character vector | string

例: set_param("myModel/Record","ParquetRowGroupPolicy","sizeinmb","ParquetRowGroupsize","450")

ブロックの特性

データ型

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

直達

いいえ

多次元信号

はい

可変サイズの信号

はい

ゼロクロッシング検出

いいえ

代替構成

すべて展開する

Simulink Sinks ライブラリ内の XY Graph ブロックは、XY プロット上の 2 つの入力信号を可視化する Record ブロックの代替の構成です。1 番目の入力端子は XY プロットの x データを提供します。2 番目の入力端子は y データを提供します。

XY Graph ブロックは、非スカラー入力のデータのログ記録と可視化をサポートします。ただし、XY の可視化は多次元データをサポートしません。非スカラー信号を XY Graph ブロックに接続する場合は、XY プロットの x および y データを提供する非スカラー信号のチャネルまたは要素を手動で設定しなければなりません。

ライブラリ:
Simulink / Sinks
HDL Coder / Sinks

ヒント

  • Record ブロックを新しいウィンドウで開くには、ブロックを右クリックし、[新規ウィンドウで開く] を選択します。

  • Record ブロックを新しいタブで開くには、ブロックを右クリックし、[新しいタブで開く] を選択します。

拡張機能

すべて展開する

バージョン履歴

R2021a で導入

すべて展開する