Main Content


Signal logging override settings for signal


Use a Simulink.SimulationData.SignalLoggingInfo object to override signal logging settings for a single logged signal without changing the model in the Simulink® Editor.



sigInfo = Simulink.SimulationData.SignalLoggingInfo creates a Simulink.SimulationData.LoggingInfo object that contains default logging settings for a signal.

sigInfo = Simulink.SimulationData.SignalLoggingInfo(blkPath) specifies the BlockPath parameter and sets the output port index to 1.


sigInfo = Simulink.SimulationData.SignalLoggingInfo(blkPath, portIdx) specifies the OutputPortIndex parameter.


expand all

Block path of source block of the signal to log, specified as a Simulink.BlockPath object, a character vector, or a string. The block path represents the full model reference hierarchy.

For a model that uses model referencing, specify a specific instance of a signal by using an absolute path that reflects the model reference hierarchy, starting at the top model. For example:

sig_log_info = Simulink.SimulationData.SignalLoggingInfo(...

Output port index to which the signal logging override settings apply, specified as a positive integer.

Logging override settings, specified as a Simulink.SimulationData.LoggingInfo object. The logging settings specify whether signal logging is overridden for this signal. The logging settings also can specify a logging name, a decimation factor, and a maximum number of data points.


collapse all

You can use Simulink.SignalData.SignalLoggingInfo objects to programmatically override logging settings for specific signals. For example, you can create a Simulink.SimulationData.SignalLoggingInfo object to override the signal logging settings such that only one of several signals marked for logging is logged.

This example uses a model of a rotating clutch system. In the model, ten signals are marked for logging. For more information about the model, see Building a Clutch Lock-Up Model.

mdl = "sldemo_clutch_override";

You can use a Simulink.SimulationData.SignalLoggingInfo object to log only the VehicleSpeed signal. The VehicleSpeed signal is connected the second output port of the Unlocked subsystem. Create a Simulink.SimulationData.SignalLoggingInfo object for the VehicleSpeed signal by using the BlockPath and OutputPortIndex properties.

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

Create an empty Simulink.SimulationData.ModelLoggingInfo object. Then, assign the signal logging override settings sigInfo to the model logging information object.

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

Use the verifySignalAndModelPaths function to ensure that you specified valid signal logging settings for the model.

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

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

Apply the model override object settings using the set_param function.


Simulate the model. Verify that VehicleSpeed is the only signal logged by accessing the Simulink.SimulationData.Dataset object 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.

Version History

Introduced in R2012b