Main Content

Simulink.SimulationData.SignalLoggingInfo

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

説明

Simulink.SimulationData.SignalLoggingInfo オブジェクトは、Simulink® エディターでモデルを変更することなく、単一のログ信号の信号ログ設定をオーバーライドするために使用します。

作成

説明

sigInfo = Simulink.SimulationData.SignalLoggingInfo は、信号の既定のログ設定を含む Simulink.SimulationData.LoggingInfo オブジェクトを作成します。

sigInfo = Simulink.SimulationData.SignalLoggingInfo(blkPath) は、BlockPath パラメーターを指定し、出力端子インデックスを 1 に設定します。

sigInfo = Simulink.SimulationData.SignalLoggingInfo(blkPath, portIdx) は、OutputPortIndex パラメーターを指定します。

プロパティ

すべて展開する

ログに記録する信号のソース ブロックのブロック パス。Simulink.BlockPath オブジェクト、文字ベクトル、または string として指定します。ブロック パスは完全なモデル参照階層を表します。

モデル参照を使用するモデルの場合、最上位モデルから始まるモデル参照階層を表す絶対パスを使用して信号の特定のインスタンスを指定します。次に例を示します。

openExample('sldemo_mdlref_basic')
sig_log_info = Simulink.SimulationData.SignalLoggingInfo(...
{'sldemo_mdlref_basic/CounterA','sldemo_mdlref_counter/Switch'})

信号ログ オーバーライド設定が適用される出力端子インデックス。正の整数として指定します。

ログ オーバーライド設定。Simulink.SimulationData.LoggingInfo オブジェクトとして指定します。ログ設定ではこの信号の信号ログがオーバーライドされるかどうかを指定します。また、ログ名、間引き係数、およびデータ点の最大数も指定できます。

すべて折りたたむ

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.

バージョン履歴

R2012b で導入