データ ストアのログ記録
ローカル データ ストア値とグローバル データ ストア値のログ記録
シミュレーションのすべてのステップについて、ローカルまたはグローバルのデータ ストア データ変数の値のログを作成することができます。データ ストア ログの一般的な使用方法には 以下の 2 つがあります。
モデルのデバッグ – すべてのデータ ストアの書き込み順序を表示できます。
モデル変更の確認 – ログに記録されたデータに基づき、結果を比較する基準を設定してモデル変更の影響を調べることができます。
グローバル データ ストアのログ記録の例については、複数のモデルに対するデータ ストアの使用を参照してください。
データ ストアのログ作成でサポートされるデータ型、次元、実数/複素数
ログには、次のデータ型を使用しているデータ ストアを記録できます。
すべての組み込みデータ型
列挙データ型
固定小数点データ型
ログには、どのような次元または実数/複素数のデータ ストアでも記録できます。
データ ストアのログ記録の制限事項
モデルにおいてデータ ストアのログ記録機能を使用する場合は、次の制限事項があります。
データ ストア メモリのデータのログを作成するには、次の手順に従います。
ノーマル モードで最上位モデルをシミュレートします。
ローカル データ ストアの場合は、Data Store Memory ブロックを含むモデルがモデル参照のノーマル モードでなければなりません。
データ ストア メモリに書き込む参照モデル内の任意のブロックは、モデル参照のノーマル モードで実行しなければなりません。
バスを含め、カスタム データ型を使用しているデータ ストアのログを作成することはできません。
Data Store Memory ブロックを使用したデータ ストアのログの作成
Data Store Memory ブロックを使用して作成したローカル データ ストアのログを作成するには、以下のようにします。
モデルで、モデル データ エディターを開きます。[モデル化] タブで、[モデル データ エディター] をクリックします。
[データ ストア] タブで、[ビューの変更] ドロップダウン リストを
[インストルメンテーション]
に設定します。データ テーブルで、ターゲット データ ストアの [ログ データ] 列のチェック ボックスをオンにします。
ターゲット データ ストアがテーブルに表示されない場合は、[スコープの変更] ボタンをクリックして、現在のシステムのサブシステムで定義されているデータ ストアを表示します。
オプションで、ログに記録するデータ点の最大数など、ログの他の特性を設定するには、プロパティ インスペクター ([モデル化] タブの [設計] の下で [プロパティ インスペクター] をクリック) を開きます。プロパティ インスペクターを使用してブロック ダイアログ ボックスを開き、[ログ] タブを調べます。
[モデル コンフィギュレーション パラメーター] 、 [データのインポート/エクスポート] 、 [データ ストア] パラメーターで、データ ストアのログ記録を有効にします。
モデルのシミュレーションを実行します。
Data Store Memory ブロックのログ記録アイコン
モデルのログ記録を有効にし、ローカル データ ストアのログ記録を構成すると、Data Store Memory ブロックに青いアイコンが表示されます。モデルのログ記録を有効にしない場合、アイコンはグレーです。
Simulink.Signal
オブジェクトを使用したデータ ストアのログの作成
Simulink.Signal
オブジェクトを使用すると、ローカルおよびグローバルなデータ ストアを作成できます。詳細については、信号オブジェクトを使用したデータ ストアを参照してください。
Simulink.Signal
オブジェクトを使用して作成したデータ ストアのログを作成するには、次の手順に従います。
信号オブジェクトを使用したデータ ストアの説明に従い、データ ストアにアクセスする必要のあるすべてのコンポーネントが認識するワークスペースに
Simulink.Signal
オブジェクトを作成します。データ ストアから読み込む Data Store Read ブロックとデータ ストアに書き込む Data Store Write ブロックの [データ ストア名] ブロック パラメーターに
Simulink.Signal
オブジェクトの名前を使用します。MATLAB® コマンド ラインで
DataLogging
(Simulink.Signal
のLoggingInfo
プロパティ) を1
に指定します。たとえば、データ ストアの作成に
DataStoreSignalObject
というSimulink.Signal
オブジェクトを使用する場合は、次のコマンドを使用します。DataStoreSignalObject.LoggingInfo.DataLogging = 1
オプションで、
Simulink.Signal
オブジェクトの次のLoggingInfo
のプロパティを使用して、ログに記録するデータの量の制限を指定します。Decimation
、LimitDataPoints
およびMaxPoints
。[モデル コンフィギュレーション パラメーター] 、 [データのインポート/エクスポート] 、 [データ ストア] パラメーターで、データ ストアのログ記録を有効にします。
モデルのシミュレーションを実行します。
データ ストアのログ データへのアクセス
次の Simulink® クラスは、データ ストアのログ データを表し、そのデータにアクセスするためのメソッドが含まれています。
クラス | 説明 |
---|---|
Simulink.SimulationData.BlockPath | すべて指定された Simulink ブロック パスを表します。すべてのモデル参照階層の取得に使用します。 |
Simulink.SimulationData.Dataset | ログに記録されたデータ要素を格納し、検索機能を提供します。単一オブジェクト内での Simulink.SimulationData.Element オブジェクトのグループ化に使用します。 |
Simulink.SimulationData.DataStoreMemory | シミュレーション中にデータ ストアのログ情報を格納 |
Dataset 以外の形式でログに記録されたデータを変換することもできます。詳細については、Dataset 形式へのデータの変換を参照してください。
データ ストア データの表示
コマンド ラインからデータ ストアのログ データを閲覧するには、ベース ワークスペースで出力データセットを表示します。データ ストアのログ データセットの既定変数は dsmout
です。
データ ストアのログ データを表示するには、複数のモデルに対するデータ ストアの使用を参照してください。
データ ストア ログ データの要素へのアクセス
Name
プロパティまたは BlockType
プロパティに基づいてデータ ストアのログ データ内の要素を検出するには、Simulink.SimulationData.Dataset
クラスの getElement
メソッドを使用します。以下に例を示します。
dsmout.getElement('RefSignalVal') ans = Simulink.SimulationData.DataStoreMemory Package: Simulink.SimulationData Properties: Name: 'RefSignalVal' Blockpath: [1x1 Simulink.SimulationData.BlockPath] Scope: 'local' DSMWriterBlockPaths: [1x2 Simulinkl.SimulationData.BlockPath] DSMWriters: [101x1 uint32] Values: [101x1 timeseries]
インデックス別に要素にアクセスするには、Simulink.SimulationData.Dataset.getElement
メソッドを使用します。
参考
Simulink.SimulationData.Dataset
| Simulink.SimulationData.BlockPath
| Simulink.SimulationData.DataStoreMemory