Main Content

データ ストアのログ記録

ローカル データ ストア値とグローバル データ ストア値のログ記録

シミュレーションのすべてのステップについて、ローカルまたはグローバルのデータ ストア データ変数の値のログを作成することができます。データ ストア ログの一般的な使用方法には 以下の 2 つがあります。

  • モデルのデバッグ – すべてのデータ ストアの書き込み順序を表示できます。

  • モデル変更の確認 – ログに記録されたデータに基づき、結果を比較する基準を設定してモデル変更の影響を調べることができます。

グローバル データ ストアのログ記録の例については、複数のモデルに対するデータ ストアの使用を参照してください。

データ ストアのログ作成でサポートされるデータ型、次元、実数/複素数

ログには、次のデータ型を使用しているデータ ストアを記録できます。

  • すべての組み込みデータ型

  • 列挙データ型

  • 固定小数点データ型

ログには、どのような次元または実数/複素数のデータ ストアでも記録できます。

データ ストアのログ記録の制限事項

モデルにおいてデータ ストアのログ記録機能を使用する場合は、次の制限事項があります。

  • データ ストア メモリのデータのログを作成するには、次の手順に従います。

    • ノーマル モードで最上位モデルをシミュレートします。

    • ローカル データ ストアの場合は、Data Store Memory ブロックを含むモデルがモデル参照のノーマル モードでなければなりません。

    • データ ストア メモリに書き込む参照モデル内の任意のブロックは、モデル参照のノーマル モードで実行しなければなりません。

  • バスを含め、カスタム データ型を使用しているデータ ストアのログを作成することはできません。

Data Store Memory ブロックを使用したデータ ストアのログの作成

Data Store Memory ブロックを使用して作成したローカル データ ストアのログを作成するには、以下のようにします。

  1. モデルで、モデル データ エディターを開きます。[モデル化] タブで、[モデル データ エディター] をクリックします。

  2. [データ ストア] タブで、[ビューの変更] ドロップダウン リストを [インストルメンテーション] に設定します。

  3. データ テーブルで、ターゲット データ ストアの [ログ データ] 列のチェック ボックスをオンにします。

    ターゲット データ ストアがテーブルに表示されない場合は、[スコープの変更] ボタンをクリックして、現在のシステムのサブシステムで定義されているデータ ストアを表示します。

  4. オプションで、ログに記録するデータ点の最大数など、ログの他の特性を設定するには、プロパティ インスペクター ([モデル化] タブの [設計] の下で [プロパティ インスペクター] をクリック) を開きます。プロパティ インスペクターを使用してブロック ダイアログ ボックスを開き、[ログ] タブを調べます。

  5. [モデル コンフィギュレーション パラメーター][データのインポート/エクスポート][データ ストア] パラメーターで、データ ストアのログ記録を有効にします。

  6. モデルのシミュレーションを実行します。

Data Store Memory ブロックのログ記録アイコン

モデルのログ記録を有効にし、ローカル データ ストアのログ記録を構成すると、Data Store Memory ブロックに青いアイコンが表示されます。モデルのログ記録を有効にしない場合、アイコンはグレーです。

Simulink.Signal オブジェクトを使用したデータ ストアのログの作成

Simulink.Signal オブジェクトを使用すると、ローカルおよびグローバルなデータ ストアを作成できます。詳細については、信号オブジェクトを使用したデータ ストアを参照してください。

Simulink.Signal オブジェクトを使用して作成したデータ ストアのログを作成するには、次の手順に従います。

  1. 信号オブジェクトを使用したデータ ストアの説明に従い、データ ストアにアクセスする必要のあるすべてのコンポーネントが認識するワークスペースに Simulink.Signal オブジェクトを作成します。

  2. データ ストアから読み込む Data Store Read ブロックとデータ ストアに書き込む Data Store Write ブロックの [データ ストア名] ブロック パラメーターに Simulink.Signal オブジェクトの名前を使用します。

  3. MATLAB® コマンド ラインで DataLogging (Simulink.SignalLoggingInfo プロパティ) を 1 に指定します。

    たとえば、データ ストアの作成に DataStoreSignalObject という Simulink.Signal オブジェクトを使用する場合は、次のコマンドを使用します。

    DataStoreSignalObject.LoggingInfo.DataLogging = 1
  4. オプションで、Simulink.Signal オブジェクトの次の LoggingInfo のプロパティを使用して、ログに記録するデータの量の制限を指定します。DecimationLimitDataPoints および MaxPoints

  5. [モデル コンフィギュレーション パラメーター][データのインポート/エクスポート][データ ストア] パラメーターで、データ ストアのログ記録を有効にします。

  6. モデルのシミュレーションを実行します。

データ ストアのログ データへのアクセス

次の 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 メソッドを使用します。

参考

| |

関連するトピック