Main Content

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

信号ログ設定のオーバーライド

信号ログ設定をオーバーライドする利点

モデルを開発する際に、特定のシミュレーション実行用の信号ログ設定をオーバーライドする場合があります。Simulink® エディターでモデルを変更することなく、信号ログ プロパティをオーバーライドすることができます。

メモリのオーバーヘッドを削減し、シミュレーションのログ結果の解析を容易にするには、信号ログ プロパティをオーバーライドします。信号ログ設定をオーバーライドすると、モデルの再コンパイルを避けることができます。

信号ログ プロパティをオーバーライドすることは、次の項目を実行する際に役立ちます。

  • ログ記録用にマークが付けられたほとんどの信号のログを無効にして、いくつかの信号にのみ焦点を当てる。ログ記録用の信号のスーパーセットをマークしてから、ログ記録用の信号のさまざまなサブセットを選択することができます。

  • いくつかの信号を信号ログ出力から除外する。

  • 信号の特定の信号ログ プロパティ (間引きなど) をオーバーライドする。

  • 複数のテスト ベクトルを実行する場合に必要なもののみを収集する。

信号ログ設定をオーバーライドするための 2 つのインターフェイス

次の 2 つのインターフェイスのいずれかを使用して、信号ログ設定をオーバーライドします。

2 つのインターフェイスの組み合わせを使用することができます。オーバーライド設定の保存時に、信号ログ セレクターによって Simulink.SimulationData.ModelLoggingInfo オブジェクトが作成されます。コマンド ライン インターフェイスには、信号ログ セレクター インターフェイスに対応する名前をもつプロパティがあります。たとえば、Simulink.SimulationData.ModelLoggingInfo オブジェクトには LoggingMode プロパティがあります。このプロパティは信号ログ セレクターの [ログ モード] パラメーターに対応します。

信号ログ設定オーバーライドのスコープ

信号ログ設定をオーバーライドする場合、Simulink はモデルのシミュレーション時にそのオーバーライド設定を使用します。

Simulink は、指定した信号ログ オーバーライド コンフィギュレーションをモデルに保存します。ただし、Simulink はモデル内の各信号の [信号プロパティ] ダイアログ ボックスの信号ログ設定を変更しません。

信号ログ セレクターでは、一部の信号ログ設定をオーバーライドして、[ログ モード][すべての信号をモデルで指定されたようにログを取る] に設定した場合、モデルで設定されたログ設定が信号ログ セレクターに表示されます。オーバーライド設定はグレー表示され、これらの設定をオーバーライドできないことを示します。オーバーライド設定をもう一度有効にするには、[ログ モード][信号をオーバーライドする] に設定します。特定の信号のログをオーバーライドするために信号ログ セレクターを使用することは、その信号の信号ログ インジケーターには影響しません。

モデルを一度閉じてからもう一度開くと、そのモデルのログ モードを、信号をオーバーライドするに設定してある場合、ログ設定のオーバーライドが有効になります。モデルで信号ログ インジケーターを表示している場合、オーバーライドしたログ信号も含めてすべてのログ信号のインジケーターが表示されます。

メモ

モデルは次の状況でリビルドされます。

  1. モデルに、信号ログ用にマークされた 1 つ以上の信号が含まれる。

  2. ラピッド アクセラレータ モードでモデルがシミュレートされる。

  3. 信号ログ コンフィギュレーションを変更するために、信号ログ セレクターまたは MATLAB® コマンド ラインが使用される。

  4. ラピッド アクセラレータ モードでモデルが再シミュレートされる。

信号ログ セレクターによる信号ログ設定のオーバーライド

  1. 信号ログ セレクターを開きます。

    • [コンフィギュレーション パラメーター][データのインポート/エクスポート] ペインで、[ログを取るために信号を設定] ボタンをクリックします。

      The Configure Signals to Logbutton in the Configuration Parameters dialog box.

      ヒント

      [ログを取るために信号を設定] ボタンを有効にするには、[信号のログ] コンフィギュレーション パラメーターを選択します。

  2. [ログ モード][信号をオーバーライドする] に設定します。

    メモ

    [信号をオーバーライドする] 設定は、モデル階層のすべてのレベルに影響します。この設定の結果、既存の設定に基づいて、階層全体の信号のログ作成が無効になる場合があります。設定を確認するには、[モデルの階層構造] ペインで、適切なノードを選択します。

  3. オーバーライドするログ信号を含むノードを表示します。必要に応じて、ノードを拡張するか、マスク サブシステムを表示するように [モデルの階層構造] ペインを構成します。信号ログ セレクターを使用したログ コンフィギュレーションの表示を参照してください。

  4. 信号ログ設定をオーバーライドします。ご使用のモデルでモデル参照を使用しているかどうかに応じて、以下のいずれかの方法を使用します。

ヒント

信号ログ セレクターから [コンフィギュレーション パラメーター][データのインポート/エクスポート] ペインを開くには、 ボタンを使用します。

モデル参照なしのモデル: 信号ログ設定のオーバーライド

モデルがモデル参照を使用しない (つまり、モデルに Model ブロックが含まれない) 場合、次の手順に従って、信号ログ設定をオーバーライドします。

  1. 信号ログ セレクターを開きます。[コンフィギュレーション パラメーター][データのインポート/エクスポート] ペインで、[ログを取るために信号を設定] ボタンをクリックします。

    • 必要に応じて、信号のログ を選択して、[ログを取るために信号を設定] ボタンを選択します。

    The Signal Logging Selector shows the signal hierarchy and allows you to set the logging mode.

  2. [ログ モード][信号をオーバーライドする] に設定します。

  3. オーバーライドするログ信号を含むノードを表示します。必要に応じて、ノードを拡張するか、マスク サブシステムを表示するように [モデルの階層構造] ペインを構成します。信号ログ セレクターを使用したログ コンフィギュレーションの表示を参照してください。

  4. [コンテンツ] ペイン テーブルで、ログ設定をオーバーライドする信号を選択します。

  5. ログ設定のオーバーライド:

    • 信号のログ生成を無効にするには、その信号の DataLogging チェック ボックスをクリアします。

    • 他の信号ログ設定 (間引きなど) をオーバーライドするには、DataLogging チェック ボックスが選択されていることを確認します。次に、該当する列の値を編集します。

モデル参照を使用するモデル信号ログ設定のオーバーライド

モデルでモデル参照を使用する (つまり、モデルに 1 つ以上の Model ブロックが含まれる) 場合、次の手順のいずれか 1 つ以上を使用して、信号ログ設定をオーバーライドします。

すべてのログ信号のログを有効にする.  既定では、Simulink は、モデル参照階層全体のログ信号を含めて、1 つのモデルのすべてのログを生成します。

モデル参照階層内の最上位モデルまたは最上位 Model ブロック内の任意のログ信号でログ生成が無効になっている場合、[モデルの階層構造] ペインで、そのノードの左のチェック ボックスは以下のようになります。

  • 一部の信号に対してログ生成が無効になっていると、塗りつぶし () になります。

  • すべての信号に対してログ生成が無効になっていると、空 () になります。

ノードのすべてのログ信号のログ生成を有効にするには、次の手順に従います。

  1. 信号ログ セレクターを開きます。[コンフィギュレーション パラメーター][データのインポート/エクスポート] ペインで、[ログを取るために信号を設定] ボタンをクリックします。

  2. [ログ モード][信号をオーバーライドする] に設定します。

  3. オーバーライドするログ信号を含むノードを表示します。必要に応じて、ノードを拡張するか、マスク サブシステムを表示するように [モデルの階層構造] ペインを構成します。信号ログ セレクターを使用したログ コンフィギュレーションの表示を参照してください。

  4. [モデルの階層構造] ペインで、ノードの左のチェック ボックスを選択し、チェック ボックスにチェック マーク () が付くようにします。

    • 最上位モデルの場合、ログ生成は最上位モデル内のすべてのログ信号に対して有効になっていますが、モデル参照階層内のログ信号に対しては有効になっていません。

    • モデル参照階層の最上位にある Model ブロックの場合、ログ生成は選択した参照モデルのモデル参照階層全体に対して有効になっています。

ノードのすべての信号に対するログの無効化.  モデル ノード内の信号に対して信号ログが有効になっている場合、[モデルの階層構造] ペインで、ノードの左のチェック ボックスは以下のようになります。

  • 一部の信号に対してログ生成が有効になっていると、塗りつぶし () になります。

  • すべての信号に対してログ生成が有効になっていると、チェックマーク入り () になります。

モデルのノード内のすべてのログ信号に対してログ生成を無効にするには、次の手順に従います。

  1. 信号ログ セレクターを開きます。[コンフィギュレーション パラメーター][データのインポート/エクスポート] ペインで、[ログを取るために信号を設定] ボタンをクリックします。

  2. [ログ モード][信号をオーバーライドする] に設定します。

  3. オーバーライドするログ信号を含むノードを表示します。必要に応じて、ノードを拡張するか、マスク サブシステムを表示するように [モデルの階層構造] ペインを構成します。信号ログ セレクターを使用したログ コンフィギュレーションの表示を参照してください。

  4. [モデルの階層構造] ペインで、ノードの左のチェック ボックスをクリアし、チェック ボックスが空 () になるようにします。

    • 最上位モデルの場合、ログ生成は最上位モデル内のすべてのログ信号に対して無効になっていますが、モデル参照階層内のログ信号に対しては無効になっていません。

    • モデル参照階層の最上位にある Model ブロックの場合、ログ生成は選択した参照モデルのモデル参照階層全体に対して無効になっています。

信号のサブセットの信号ログのオーバーライド.  モデル ノード内のいくつかの (全部ではない) ログ信号のログを生成するには、次の手順に従います。

  1. 信号ログ セレクターを開きます。[コンフィギュレーション パラメーター][データのインポート/エクスポート] ペインで、[ログを取るために信号を設定] ボタンをクリックします。

  2. [ログ モード][信号をオーバーライドする] に設定します。

  3. オーバーライドするログ信号を含むノードを表示します。必要に応じて、ノードを拡張するか、マスク サブシステムを表示するように [モデルの階層構造] ペインを構成します。信号ログ セレクターを使用したログ コンフィギュレーションの表示を参照してください。

  4. [モデルの階層構造] ペインで、一部の信号に対してログ生成が無効になっている場合に、最上位モデルまたは Model ブロックのチェック ボックスが塗りつぶし () になっていて、すべての信号に対してログ生成が無効になっている場合に、チェック ボックスが空 () になっていることを確認します。チェック ボックスをクリックして、さまざまな状態を切り替えます。

  5. [コンテンツ] ペイン テーブルのログを生成する信号で DataLogging 列のチェック ボックスを選択します。

    複数の信号でログ生成を有効にするには、Shift キーまたは Ctrl キーを押しながら、一連の信号または個々の信号を選択します。強調表示した信号のいずれかの DataLogging 列のチェック ボックスを選択します。

他の信号ログ プロパティのオーバーライド.  信号の DataLogging プロパティの設定をオーバーライドするのに加えて、間引きなどの他の信号ログ プロパティをオーバーライドすることができます。

  1. 信号ログ セレクターを開きます。[コンフィギュレーション パラメーター][データのインポート/エクスポート] ペインで、[ログを取るために信号を設定] ボタンをクリックします。

  2. [ログ モード][信号をオーバーライドする] に設定します。

  3. オーバーライドするログ信号を含むノードを表示します。必要に応じて、ノードを拡張するか、マスク サブシステムを表示するように [モデルの階層構造] ペインを構成します。信号ログ セレクターを使用したログ コンフィギュレーションの表示を参照してください。

  4. [モデルの階層構造] ペインで、一部の信号に対してログ生成が無効になっている場合に、最上位モデルまたは Model ブロックのチェック ボックスが塗りつぶし () になっていて、すべての信号に対してログ生成が無効になっている場合に、チェック ボックスが空 () になっていることを確認します。チェック ボックスをクリックして、さまざまな状態を切り替えます。

  5. [コンテンツ] ペイン テーブルのログ プロパティをオーバーライドする信号で DataLogging 列のチェック ボックスを選択してログ生成を有効にします。

    複数の信号でログ生成を有効にするには、Shift キーまたは Ctrl キーを押しながら、一連の信号または個々の信号を選択します。強調表示した信号のいずれかの DataLogging 列のチェック ボックスを選択します。

  6. [コンテンツ] ペイン テーブルで、DecimateDataDecimation などのプロパティの設定を変更します。

MATLAB からの信号ログ設定のオーバーライド

信号ログ設定のオーバーライドに MATLAB コマンド ライン インターフェイスを使用できます。

  • モデルの信号ログ オーバーライド ステータスを照会するには、DataLoggingOverride モデル パラメーターを使用します。

  • コマンド ラインから信号ログを構成するには、次のオブジェクトの関数とプロパティを使用します。

    • Simulink.SimulationData.ModelLoggingInfo — モデルのオーバーライド設定。このオブジェクトは、信号ログ セレクター インターフェイス全体に対応します。

    • Simulink.SimulationData.SignalLoggingInfo — 特定の信号のオーバーライド設定。このオブジェクトは、信号ログ セレクターのログ プロパティの表にある行に対応します。

    • Simulink.SimulationData.LoggingInfoSimulink.SimulationData.SignalLoggingInfoLoggingInfo プロパティのオーバーライド設定。このオブジェクトは、信号ログ セレクターのログ プロパティの表にある行の編集可能な列に対応します。

  • 設定を適用するには、関数 set_paramDataLoggingOverride モデル パラメーターを使用します。

ログ信号を含むシステムの種類を制御できます。既定の設定では、Simulink.SimulationData.ModelLoggingInfo オブジェクトは以下のログ信号を含みます。

  • ライブラリ

  • マスク サブシステム

  • 参照モデル

  • アクティブなバリアント

次の節では、一般的な信号ログ コンフィギュレーション タスクを実行するための、コマンド ライン インターフェイスの使用方法について説明します。

ログ信号を含むモデル ログ オーバーライド オブジェクトの作成

モデル sldemo_mdlref_bus のモデル ログ オーバーライド オブジェクトを作成し、そのオブジェクトにモデル内の各ログ信号を自動的に追加できます。モデル sldemo_mdlref_bus には、ログ記録用にマークされた信号が 4 つあります。

mdl = 'sldemo_mdlref_bus';
open_system(mdl)
mdlInfo = Simulink.SimulationData.ModelLoggingInfo.createFromModel(mdl)
mdlInfo = 
  ModelLoggingInfo with properties:

                     Model: 'sldemo_mdlref_bus'
               LoggingMode: 'OverrideSignals'
    LogAsSpecifiedByModels: {}
                   Signals: [1x4 Simulink.SimulationData.SignalLoggingInfo]

LoggingMode プロパティは 'OverrideSignals' に設定され、Signals プロパティで指定された信号に限定してログを作成するようモデル ログ オーバーライド オブジェクトを設定します。

モデル オーバーライド オブジェクト設定を適用します。モデルを保存すると設定が保存されます。

set_param(mdl,'DataLoggingOverride',mdlInfo);

モデルでの指定に従った最上位モデルと参照モデルのログ記録

最上位モデルと参照モデルでオーバーライド信号ログ設定を使用するかまたはモデルによって指定された信号ログ設定を使用するかを制御できます。次の例は、最上位モデルとすべての参照モデルで指定されるように、すべての信号のログを作成する方法を表示します。

モデル sldemo_mdlref_bus には、ログ記録用にマークされた信号が 4 つあります。モデルの詳細については、Bus オブジェクトを使ったインターフェイス指定を参照してください。

mdl = "sldemo_mdlref_bus";
open_system(mdl)

モデル ログ オーバーライド オブジェクトを作成します。

mdlInfo = Simulink.SimulationData.ModelLoggingInfo(mdl);

モデルおよびすべての参照モデルで指定されている信号ログ設定を使用するか、それらの設定をオーバーライドするかを指定するには、モデル ログ オーバーライド オブジェクトの LoggingMode プロパティを使用します。

mdlInfo.LoggingMode = 'LogAllAsSpecifiedInModel'
mdlInfo = 
  ModelLoggingInfo with properties:

                     Model: 'sldemo_mdlref_bus'
               LoggingMode: 'LogAllAsSpecifiedInModel'
    LogAsSpecifiedByModels: {}
                   Signals: [0x0 Simulink.SimulationData.SignalLoggingInfo]

関数 set_param を使用してモデル オーバーライド オブジェクト設定を適用します。モデルを保存すると設定が保存されます。

set_param(mdl,'DataLoggingOverride',mdlInfo);

モデルをシミュレートします。信号ログ出力は topOut に保存されます。

sim(mdl);
topOut
topOut = 
Simulink.SimulationData.Dataset 'topOut' with 4 elements

                         Name          BlockPath                                
                         ____________  ________________________________________ 
    1  [1x1 Signal]      COUNTERBUS    sldemo_mdlref_bus/Concatenate           
    2  [1x1 Signal]      OUTERDATA     sldemo_mdlref_bus/CounterA              
    3  [1x1 Signal]      INCREMENTBUS  sldemo_mdlref_bus/IncrementBusCreator   
    4  [1x1 Signal]      INNERDATA     ...erA|sldemo_mdlref_counter_bus/COUNTER

  - Use braces { } to access, modify, or add elements using index.

モデル ログ オーバーライド オブジェクトのログ モードの設定

関数 setLogAsSpecifiedInModel を使用して、モデルで指定されている信号ログ設定をオーバーライドできます。たとえば、モデルの階層構造内の最上位モデルのみや参照モデルのみをログに記録できます。モデル sldemo_mdlref_bus には、モデル sldemo_mdlref_counter_bus を参照する CounterA という名前の Model ブロックが含まれています。合計で 4 つの信号がログ記録用にマークされています。ログ記録用にマークされた信号のうち、COUNTERBUSINCREMENTBUS、および OUTERDATA の 3 つは最上位モデルにあります。ログ記録用にマークされたもう 1 つの信号 INNERDATA は参照モデルにあります。

mdl = 'sldemo_mdlref_bus';
mdlInner = 'sldemo_mdlref_bus/CounterA';
open_system(mdl)

ログ モードを Signals プロパティで指定したオーバーライド設定に設定したときにいずれの信号もログに記録しないように、空の Simulink.SimulationData.ModelLoggingInfo オブジェクトを作成します。

mdlInfo = Simulink.SimulationData.ModelLoggingInfo(mdl);

関数 setLogAsSpecifiedInModel を使用して、最上位モデルの信号のみをそのモデルで指定されているログ設定を使用してログに記録できます。モデルでの指定に従って信号をログに記録するように外側のモデルを設定します。さらに、オーバーライド設定を使用するように内側のモデルを設定します。Signals プロパティのベクトルが空であるため、オーバーライド設定が適用されているときはいずれの信号もログに記録されません。

mdlInfo = setLogAsSpecifiedInModel(mdlInfo,mdl,true);
mdlInfo = setLogAsSpecifiedInModel(mdlInfo,mdlInner,false);

関数 getLogAsSpecifiedInModel でログ モードが返されます。

outerLogMode = getLogAsSpecifiedInModel(mdlInfo,mdl)
outerLogMode = logical
   1

innerLogMode = getLogAsSpecifiedInModel(mdlInfo,mdlInner)
innerLogMode = logical
   0

モデル オーバーライド オブジェクト設定を適用します。その後、モデルをシミュレートします。最上位モデルのログ記録用にマークされた信号のみがログに記録されます。

set_param(mdl,'DataLoggingOverride',mdlInfo);
sim(mdl);
topOut
topOut = 
Simulink.SimulationData.Dataset 'topOut' with 3 elements

                         Name          BlockPath                             
                         ____________  _____________________________________ 
    1  [1x1 Signal]      COUNTERBUS    sldemo_mdlref_bus/Concatenate        
    2  [1x1 Signal]      OUTERDATA     sldemo_mdlref_bus/CounterA           
    3  [1x1 Signal]      INCREMENTBUS  sldemo_mdlref_bus/IncrementBusCreator

  - Use braces { } to access, modify, or add elements using index.

また、関数 setLogAsSpecifiedInModel を使用して、参照モデルの信号のみをそのモデルで指定されているログ設定を使用してログに記録することもできます。オーバーライド設定を使用するように外側のモデルを設定します。さらに、モデルでの指定に従って信号をログに記録するように内側のモデルを設定します。

mdlInfo = setLogAsSpecifiedInModel(mdlInfo,mdl,false);
mdlInfo = setLogAsSpecifiedInModel(mdlInfo,mdlInner,true);

最上位モデルと内側のモデルのログ モードが変更されたことを確認するには、関数 getLogAsSpecifiedInModel を使用します。

outerLogMode = getLogAsSpecifiedInModel(mdlInfo,mdl)
outerLogMode = logical
   0

innerLogMode = getLogAsSpecifiedInModel(mdlInfo,mdlInner)
innerLogMode = logical
   1

モデル オーバーライド オブジェクト設定を適用します。その後、モデルをシミュレートします。今回は INNERDATA 信号のみがログに記録されます。

set_param(mdl,'DataLoggingOverride',mdlInfo);
sim(mdl);
topOut
topOut = 
Simulink.SimulationData.Dataset 'topOut' with 1 element

                         Name       BlockPath                                
                         _________  ________________________________________ 
    1  [1x1 Signal]      INNERDATA  ...erA|sldemo_mdlref_counter_bus/COUNTER

  - Use braces { } to access, modify, or add elements using index.

特定信号の信号ログ設定のオーバーライド

Simulink.SignalData.SignalLoggingInfo オブジェクトを使用して、特手の信号のログ設定をプログラムでオーバーライドできます。たとえば、Simulink.SimulationData.SignalLoggingInfo オブジェクトを作成して、ログ記録用にマークされた複数の信号のうちの 1 つのみをログ記録するように信号ログ設定をオーバーライドできます。

この例では、回転クラッチ システムのモデルを使用します。このモデルでは、10 個の信号がログ記録用にマークされています。モデルの詳細については、クラッチ ロックアップ モデルの作成を参照してください。

mdl = "sldemo_clutch_override";
open_system(mdl);

Simulink.SimulationData.SignalLoggingInfo オブジェクトを使用して、VehicleSpeed 信号のみをログに記録できます。VehicleSpeed 信号は、Unlocked サブシステムの 2 番目の出力端子に接続されています。BlockPath プロパティと OutputPortIndex プロパティを使用して、VehicleSpeed 信号の Simulink.SimulationData.SignalLoggingInfo オブジェクトを作成します。

blkPath = "sldemo_clutch_override/Unlocked";
portNum = 2;
sigInfo = Simulink.SimulationData.SignalLoggingInfo(blkPath,portNum);

空の Simulink.SimulationData.ModelLoggingInfo オブジェクトを作成します。その後、信号ログ オーバーライド設定 sigInfo をモデル ログ情報オブジェクトに割り当てます。

mdlInfo = Simulink.SimulationData.ModelLoggingInfo(mdl);
mdlInfo.Signals(1) = sigInfo;

関数 verifySignalAndModelPaths を使用して、モデルに有効な信号ログ設定を指定したことを確認します。

verifiedObj = verifySignalAndModelPaths(mdlInfo)
verifiedObj = 
  ModelLoggingInfo with properties:

                     Model: 'sldemo_clutch_override'
               LoggingMode: 'OverrideSignals'
    LogAsSpecifiedByModels: {}
                   Signals: [1x1 Simulink.SimulationData.SignalLoggingInfo]

関数 set_param を使用してモデル オーバーライド オブジェクト設定を適用します。

set_param(mdl,'DataLoggingOverride',mdlInfo)

モデルをシミュレートします。Simulink.SimulationData.Dataset オブジェクト sldemo_clutch_output にアクセスして、ログに記録された信号が VehicleSpeed のみであることを確認します。

sim(mdl);
sldemo_clutch_output
sldemo_clutch_output = 
Simulink.SimulationData.Dataset 'sldemo_clutch_output' with 1 element

                         Name          BlockPath                       
                         ____________  _______________________________ 
    1  [1x1 Signal]      VehicleSpeed  sldemo_clutch_override/Unlocked

  - Use braces { } to access, modify, or add elements using index.

サンプル点のサブセットのログ記録

Simulink.SimulationData.LoggingInfo オブジェクトを使用して、信号の一連の信号ログ オーバーライド設定を作成できます。たとえば、間引きの設定を変更して、信号のサンプル点のサブセットをログに記録できます。

モデル sldemo_mdlref_bus を開きます。既定では、このモデルはデータを間引きしません。モデルの詳細については、Bus オブジェクトを使ったインターフェイス指定を参照してください。

mdl = "sldemo_mdlref_bus";
open_system(mdl)

信号ログ オーバーライド オブジェクトの LoggingInfo プロパティで間引き係数を指定して、COUNTERBUS 信号のサンプル点のサブセットのみをログに記録するように信号ログ設定をオーバーライドできます。最初に、Simulink.SimulationData.LoggingInfo オブジェクトを既定の設定で作成します。

logInfo = Simulink.SimulationData.LoggingInfo;

最初のサンプル点からデータ点を 10 個ごとにログに記録するように DecimateData プロパティと Decimation プロパティを変更します。

logInfo.DecimateData = true;
logInfo.Decimation = 10;

COUNTERBUS 信号の Simulink.SimulationData.SignalLoggingInfo オブジェクトを作成します。次に、COUNTERBUS 信号のデータ点のサブセットのみをログに記録するために、信号ログ オーバーライド オブジェクトの LoggingInfo プロパティを logInfo に設定します。

blkPath = "sldemo_mdlref_bus/Concatenate";
sigInfo = Simulink.SimulationData.SignalLoggingInfo(blkPath);
sigInfo.LoggingInfo = logInfo;

空の Simulink.SimulationData.ModelLoggingInfo オブジェクトを作成します。その後、信号ログ オーバーライド設定 sigInfo をモデル ログ情報オブジェクトに割り当てます。

mdlInfo = Simulink.SimulationData.ModelLoggingInfo(mdl);
mdlInfo.Signals = sigInfo;

関数 set_param を使用してモデル オーバーライド オブジェクト設定を適用します。

set_param(mdl,'DataLoggingOverride',mdlInfo)

関連する例

詳細