Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

ログ記録用の信号の構成

ログ記録用の信号のマーク

以下のいずれかの手法で、信号をマークしてログを有効にします。

通常、Simulink® エディターのメニュー オプションを使用すると、信号をログ記録用に最も簡単にマークできます。

ログを有効にする信号は、"ログ信号" です。既定の設定では、Simulink はログ記録された信号ごとにログ信号インジケーター を表示します。

Simulink ツールストリップを使用したログの有効化

  1. Simulink エディターで、1 つ以上の信号を選択します。

  2. [シミュレーション] タブで、[信号のログ] をクリックします。

信号プロパティを使用したログの有効化

  1. Simulink エディターで信号を右クリックします。

  2. コンテキスト メニューから [プロパティ] を選択します。

  3. [信号プロパティ] ダイアログ ボックスの [ログとユーザー補助機能] タブで、[信号データのログ] を選択します。

  4. [OK] をクリックします。

あるいは、選択された信号を右クリックしたときに表示されるコンテキスト メニューから [選択した信号のログ] を選択することもできます。

モデル データ エディターを使用したログの有効化

モデル データ エディターに、モデル内の信号のフラット リストが表示されます。また、そのリストの並べ替え、グループ化およびフィルター処理を実行できます。この手法を使用して、以下のログ記録を有効にします。

  • 一度に多数の信号。

  • ブロック線図内で互いに近くにない信号。

  • 大規模なモデルまたはサブシステム階層で検索が困難な信号。

モデル データ エディターを使用してログ記録する信号を選択するには、次を実行します。

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

  2. モデル データ エディターで、[信号] タブを選択します。

  3. ドロップダウンで [計測] を選択します。

  4. ログ記録する信号の [Log Data] 列にあるボックスをオンにします。

詳細については、モデル データ エディターを参照してください。

プログラムによるインターフェイス

選択したブロックに関して信号ログをプログラムで有効にするには、出力 DataLogging プロパティを使用します。set_param コマンドを使用して、このプロパティを設定します。次に例を示します。

  1. MATLAB® コマンド ウィンドウでモデルを開きます。以下を入力します。

    vdp
  2. ログに記録する信号の端子ハンドルを取得します。たとえば、Mu ブロックの出力端子信号については次のようにします。

    ph = get_param('vdp/Mu','PortHandles')
  3. 目的の出力端子信号の信号のログを有効にします。

    set_param(ph.Outport(1),'DataLogging','on')

    ログ信号インジケーターが表示されます。

参照モデル信号のログ

参照モデルでログ信号をログに記録できます。信号ログ セレクターを使用して、モデル参照階層の信号ログを構成します。詳細については、モデル参照を使用するモデル信号ログ設定のオーバーライドを参照してください。

信号レベルのログ名の指定

Simulink が信号のログ データを格納するために使用するオブジェクトに、信号レベルのログ名を指定できます。信号レベルのログ名を使用することは、名前のない信号やモデルの階層構造内で別の信号と重複する名前を共有する信号に対して便利な場合があります。Simulink が生成するログ名を使用するのではなく、信号レベルのログ名を指定することにより、ログ データをより簡単に解析できるようになります。

信号レベルのログ名を指定するには、次の "いずれかの" 方法を使用します。

信号レベルのカスタム ログ名を指定しない場合、Simulink は信号名を使用します。信号に名前が付いていない場合、アクション Simulink は空の名前を使用します。

メモ

信号レベルのログ名はモデルレベルの信号ログ名とは異なります。モデルレベルの信号ログ名はモデル全体のすべてのログ信号データを含むオブジェクトの名前です。既定のモデル レベルの信号ログ名は、logsout です。モデル レベルの信号ログ名の詳細は、信号ログ データへの名前の指定を参照してください。

エディターでの信号レベルのログ名

  1. Simulink エディターで信号を右クリックします。

  2. コンテキスト メニューから [信号プロパティ] を選択します。

  3. ログ名を指定する:

    1. [信号プロパティ] ダイアログ ボックスで [ログとユーザー補助機能] タブを選択します。

    2. [ログ名] リストから、[カスタム] を選択します。

    3. 隣のテキスト フィールドにログ名を入力します。

モデル エクスプローラーでの信号レベルのログ名

  1. モデル エクスプローラーの [モデルの階層構造] ペインで、ログ名を指定する信号を含むノードを選択します。

  2. [コンテンツ] ペインに LoggingName プロパティが表示されない場合、LoggingName プロパティを現在のビューに追加します。列ビューの詳細については、モデル エクスプローラーを参照してください。

  3. LoggingName 列を使用して、1 つ以上の信号のログ名を入力します。

プログラムで指定する信号固有のログ名

出力端子の DataLogging プロパティを使用して、選択したブロックに関する信号ログをプログラムで有効にします。set_param コマンドを使用して、このプロパティを設定します。

  1. MATLAB コマンド ウィンドウでモデルを開きます。たとえば以下のように入力します。

    vdp
  2. ログに記録する信号の端子ハンドルを取得します。たとえば、Mu ブロックの出力端子信号については次のようにします。

    ph = get_param('vdp/Mu','PortHandles');
  3. 目的の出力端子信号の信号のログを有効にします。

    set_param(ph.Outport(1),'DataLogging','on');

    ログ信号インジケーターが表示されます。

  4. DataLoggingNameMode パラメーターと DataLoggingName パラメーターを使用するコマンドを発行します。以下に例を示します。

    set_param(ph.Outport(1),'DataLoggingNameMode','Custom');
    set_param(ph.Outport(1),'DataLoggingName','x2_log');

ログが作成されるデータの制限

次の操作で信号に対してログが作成されるデータを制限できます。

  • 間引き係数を指定する

  • サンプルの数を制限して最新のサンプルのみ保存する

[信号プロパティ] ダイアログ ボックス、モデル エクスプローラー、信号ログ セレクターまたはプログラムを使用して、信号に対してログが作成されるデータを制限することができます。次の節では、最初の 2 つの方法について説明します。

信号プロパティを使用したログが作成されるデータの制限

  1. Simulink エディターで信号を右クリックします。

  2. コンテキスト メニューから [信号プロパティ] を選択します。

  3. [信号プロパティ] ダイアログ ボックスで [ログとユーザー補助機能] タブをクリックします。次に以下のオプションのいずれかまたは両方を選択します。

    • データ点の制限

    • 間引き

モデル エクスプローラーを使用したログが作成されるデータの制限

  1. モデル エクスプローラーの [モデルの階層構造] ペインで、ログが作成されるデータを制限する信号を含むノードを選択します。

  2. [コンテンツ] ペインに DataLoggingDecimation プロパティまたは DataLoggingLimitDataPoints プロパティが表示されない場合、それらのプロパティのいずれかまたは両方を現在のビューに追加します。列ビューの詳細については、モデル エクスプローラーを参照してください。

  3. 間引き係数を指定するには、Decimation および DecimateData プロパティを編集します。ログが作成されるサンプルの数を制限するには、LimitDataPoints プロパティを編集します。

ログ信号のサンプル時間の設定

ログ信号のサンプル時間を設定するには、[信号プロパティ] ダイアログ ボックスで [サンプル時間] オプションを使用します。このオプションは以下を実現します。

  • ログ記録された信号に一貫したサンプル時間をもたせるために Rate Transition ブロックを挿入する必要がないため、設計とテストが分離される

  • 間引きが関連しない設定であるため、連続時間信号のログ データの量が減少

  • サンプル時間が異なる信号のログ信号データを後処理する必要を排除

使用に関するメモ

以下のサンプル時間は指定しないでください。

  • フレームベース信号

  • 継承されたサンプル時間を必要とする条件付きサブシステム (Function-Call Subsystem や Triggered Subsystem など) および条件付き参照モデル

SIL モードでシミュレートする場合、信号のログではログ信号に指定されたサンプル時間が無視されます。

信号のログ用に信号をマークすると、Simulink で非表示の To Workspace ブロックが挿入されます。ログ記録された信号のサンプル時間を指定すると、Simulink で非表示の Rate Transition ブロックと非表示の To Workspace ブロックが挿入されます。

信号のログでサンプル時間を指定しても、シミュレーションの結果には影響しません。ただし、ログ信号の信号のログ出力はサンプルレートを指定しているかどうかによって変わる可能性があります。たとえば、内挿法は信号のログでサンプル時間を指定したかどうかによって異なる場合があります。モデルに連続信号が含まれ、サンプル時間は継承される (-1) とします。この信号のログ出力には、内挿法が linear であることが示されます。

logsout.get(1).Values.DataInfo
tsdata.datametadata
  Package: tsdata

  Common Properties:
               Units: ''
       Interpolation: linear (tsdata.interpolation)

サンプル時間を連続 (0) に変更すると、その信号のログ出力には内挿法が zoh (ゼロ次ホールド) であることが示されます。

関連するトピック