メインコンテンツ

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

データ ストアのログ記録

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

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

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

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

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

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

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

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

  • 列挙データ型

  • 固定小数点データ型

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

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

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

  • Data Store Memory ブロックのデータを記録するには、以下に従います。

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

    • R2024b より前: ローカル データ ストアの場合は、Data Store Memory ブロックを含むモデルをノーマル モードでシミュレートする必要があります。

    • R2024b より前: データ ストア メモリに書き込む参照モデル内の任意のブロックは、ノーマル モードでシミュレートする必要があります。

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

メモ

アクセラレータ モードとラピッド アクセラレータ モードのシミュレーションでデータ ストアをログ記録できます。 (R2024b 以降)

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

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

  1. Data Store Memory ブロックをダブルクリックして [ブロック パラメーター] ダイアログ ボックスを開きます。

  2. [ログ] タブで [データ ストア データのログ] を選択します。

  3. オプションで、ログ名やログに記録するデータ点の最大数など、ログの他の特性を構成できます。

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

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

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 ブロック パスを表します。BlockPath オブジェクトは、すべてのモデル参照階層の取得に使用します。
Simulink.SimulationData.Datasetログに記録されたデータ要素を格納し、検索機能を提供します。Dataset オブジェクトは、他の要素オブジェクトを単一のオブジェクトにグループ化するために使用します。
Simulink.SimulationData.DataStoreMemoryシミュレーション中にデータ ストアのログ情報を格納します。

Dataset 以外の形式でログに記録されたデータを変換することもできます。詳細については、Dataset 形式へのデータの変換を参照してください。

データ ストア データの表示

既定では、ワークスペースにログ記録されたすべてのシミュレーション データが単一の Simulink.SimulationOutput オブジェクトとして out という既定の名前をもつ変数で返されます。SimulationOutput オブジェクトには、完全なシミュレーション メタデータと、ワークスペースにログ記録されたすべてのシミュレーション データが含まれます。

すべてのシミュレーション データを単一の SimulationOutput オブジェクトで返すようにモデルを構成すると、信号ログ データは SimulationOutput オブジェクトのプロパティとして dsmout という既定の変数名をもつ Simulink.SimulationData.Dataset オブジェクトに保存されます。単一のシミュレーション出力を返すようにモデルが構成されていない場合は、信号ログ データは dsmout という既定の変数名をもつ Dataset オブジェクトに入れてワークスペースに返されます。詳細については、複数のモデルに対するデータ ストアの使用を参照してください。

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

ログ記録されたデータ ストア内の要素を名前またはインデックスに基づいて検索するには、get 関数を使用します。たとえば、RefSignalVal という名前のログ記録されたデータ ストアを検索できます。

get(out.dsmout,"RefSignalVal")
ans = 

  Simulink.SimulationData.DataStoreMemory
  Package: Simulink.SimulationData

  Properties:
                   Name: 'RefSignalVal'
              BlockPath: [1×1 Simulink.SimulationData.BlockPath]
                  Scope: 'local'
    DSMWriterBlockPaths: [1×1 Simulink.SimulationData.BlockPath]
             DSMWriters: [1101369×1 uint32]
                 Values: [1×1 timeseries]


  Methods, Superclasses

データ ストア要素にインデックスでアクセスするには、中かっこを使用してインデックス構文を効率化できます。インデックスは、変数の要素数以下の正の整数でなければなりません。たとえば、dsmout データセットの 2 番目の要素を取得します。

out.dsmout{2}

参考

| |

トピック