Main Content

To File

データをファイルに書き込み

  • To File block

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

説明

To File ブロックは入力信号データを MAT ファイルに書き込みます。ブロックは出力ファイルにインクリメンタルに書き込むため、シミュレーション中のメモリのオーバーヘッドは最小になります。シミュレーションを開始したときに出力ファイルが存在すると、ブロックはそのファイルを上書きします。ファイルは、シミュレーションを一時停止したとき、またはシミュレーションが完了したときに自動的に閉じられます。シミュレーションが正常終了しなかった場合は、To File ブロックは異常終了した時点までに記録されたデータを保存します。

To File ブロックのアイコンは、出力ファイル名を示します。

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

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

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

ブロック パラメーターは保存したデータ量の制御も行います。間引きおよびサンプル時間を参照してください。

シミュレーションの一時停止

シミュレーションを一時停止した後に、To File ブロックがログを書き込んでいるファイルは変更しないでください。たとえば、そのようなファイルを MATLAB® save コマンドで保存しないでください。それらのファイルを変更すると、シミュレーションを再開したときにエラーが発生するおそれがあります。一時停止後にファイルを変更する場合は、変更するファイルをコピーして、コピーしたファイルに対して作業を行うようにしてください。

シミュレーション ステッパーを使用して停止した場合、To File ブロックが停止時点までのシミュレーション データをキャプチャします。ステップを戻すと、To File データ ファイルには、最後の出力から元に戻った時間より後のすべてのシミュレーション データが含まれなくなります。

すべて展開する

To File ブロックは信号データを MAT ファイルに書き込みます。

たとえば、モデル SineToFile をシミュレートします。モデルには、Sine Wave ブロックからの信号データを SineWave という名前の MAT ファイルに変数名 sineSig を使用してログ記録するように構成された To File ブロックが含まれています。

The SineToFile model

制限

To File ブロックが参照モデル内に存在する場合は、そのモデルは、単一インスタンス モデルでなければなりません。そのようなモデルの 1 つのインスタンスのみがモデルの階層内に存在可能です。詳細については、モデルの再利用を参照してください。

端子

入力

すべて展開する

ファイルに格納する信号。各サンプルは、タイムスタンプと関連するデータ値で構成されています。データは配列形式または MATLAB timeseries 形式で表されます。To File ブロックは、語長が 32 ビットを超える固定小数点データを除いて、Simulink® ソフトウェアがサポートする任意のデータ型の実数または複素信号データを受け入れます。

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

パラメーター

すべて展開する

出力を格納する MAT ファイルのパスまたはファイル名を指定します。UNIX® システムでは、ホーム フォルダーを示すチルダ (~) 文字でパス名を始めることができます。ファイル名でパスの情報が指定されない場合、Simulink ソフトウェアは MATLAB 作業フォルダーにファイルを格納します (作業フォルダーを判定するには、MATLAB コマンド ラインで「pwd」と入力します)。ファイルが存在する場合、Simulink ソフトウェアはそのファイルを上書きします。

プログラムでの使用

ブロック パラメーター: FileName
型: 文字ベクトル
値: MAT ファイルのパスまたは名前
既定の設定: 'untitled.mat'

ファイルに含まれる行列の名前を指定します。

プログラムでの使用

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

To File ブロックがデータの書き込みに使用するデータ形式を指定します。

ベクトル、double、非複素数の信号に対してのみ、[配列] 形式を使用します。

[時系列] 形式では、To File ブロックによって次の操作が行われます。

  • データを MATLAB timeseries オブジェクトに書き込みます。

  • 多次元、実数または複素数の出力値の書き込みをサポートします。

  • 任意の組み込みデータ型の出力値 (Boolean、列挙型 (enum)、最大 32 ビットの語長の固定小数点データなど) の書き込みをサポートします。

  • バーチャルまたは非バーチャルのバス入力信号に対して、バス階層に一致する MATLAB 構造体を作成します。構造体の各リーフは MATLAB timeseries オブジェクトです。

[配列] 形式では、To File ブロックによって次の操作が行われます。

  • データを複数の行が含まれている行列に書き込みます。行列は以下の形式をとります。

    [t1t2tfinalu11u12u1finalun1un2unfinal]

    Simulink ソフトウェアは、1 列を各データ サンプルの行列に書き込みます。列の最初の要素には、タイムスタンプが含まれています。列の残りには、対応する出力値のデータが含まれます。

  • 1 次元、double、非複素のデータの書き込みをサポートします。

From File ブロックは、To File ブロックによって書き込まれたデータを変更や特別な準備なしで、任意の形式 (Timeseries または Array) で利用することができます。

From Workspace ブロックは、Array 形式のデータを読み取ることができ、To File ブロックによって書き込まれたデータの転置が必要です。要求される形式を提供するには、MATLAB コマンドを使ってデータを MAT ファイルから読み込んで、転置します。

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

シミュレーション モード時系列配列
ノーマルサポートありサポートあり
アクセラレータサポートありサポートあり
ラピッド アクセラレータサポートありサポートあり
ソフトウェアインザループ (SIL) サポートなしMAT ファイルのログが有効になっている場合にサポート
プロセッサインザループ (PIL)サポートなしMAT ファイルのログが有効になっていて利用可能な場合にサポート
エクスターナルサポートなしMAT ファイルのログが有効になっている場合にサポート
RSim ターゲットサポートありMAT ファイルのログが有効になっている場合にサポート

プログラムでの使用

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

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

プログラムでの使用

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

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

プログラムでの使用

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

ブロックの特性

データ型

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

直達

いいえ

多次元信号

はい

可変サイズの信号

いいえ

ゼロクロッシング検出

いいえ

a 32 ビットまでの固定小数点データ型をサポートします。

ヒント

  • 多くのタイム ステップを含む長いシミュレーションで多数の信号のログを記録するときに MATLAB でメモリの問題が発生する場合は、永続ストレージへのログを検討してください。永続ストレージにログを記録すると、Dataset 形式のログ データが MAT ファイルに保存されます。永続ストレージへのログと比較した場合、To File ブロックを信号に接続すると、以下のようになります。

    • 個々の信号に接続された複数の To File ブロックをもつモデルを煩雑化する可能性がある信号単位のアプローチになる。

    • 1 つの MAT ファイルが使用される永続ストレージへのログとは対象的に、To File ブロックごとに異なる MAT ファイルが作成される。

    詳細については、永続ストレージへのデータの記録を参照してください。

  • リアルタイムでデータの圧縮のオーバーヘッドを回避するために、To File ブロックは、未圧縮の Version 7.3 MAT ファイルに書き込みます。MAT ファイル内のデータを圧縮するには、MATLAB でファイルを読み込んで保存します。再度保存されたファイルは、Save コマンドが MAT ファイル内のデータを圧縮するため、To File ブロックが作成した元の MAT ファイルよりもサイズが小さくなります。

拡張機能

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

バージョン履歴

R2006a より前に導入