setLogAsSpecifiedInModel
Set logging mode for top model or top-level Model block
Description
Examples
You can use the setLogAsSpecifiedInModel function to override signal logging settings specified in a model. For example, you can log only the top model or only a referenced model in a model hierarchy.
Open the IterativeCounter project. The project opens the CounterSystem model at startup. This model contains a Model block that references the CounterAlgorithm model. In total, four signals are marked for logging. The top model has three signals marked for logging: BatchData, Controls, and OuterCount. The referenced model has one signal marked for logging: InnerCount.
openProject("IterativeCounter"); mdl = 'CounterSystem'; mdlInner = 'CounterSystem/Model';
Create an empty Simulink.SimulationData.ModelLoggingInfo object so that no signals are logged when the logging mode is set to the override settings specified in the Signals property.
mdlInfo = Simulink.SimulationData.ModelLoggingInfo(mdl);
You can use the setLogAsSpecifiedInModel function to log only signals in the top model using the logging settings specified in that model. Set the outer model to log signals as specified in the model. Then, set the inner model to use override settings. Since the Signals property vector is empty, no signals are logged when override settings are applied.
mdlInfo = setLogAsSpecifiedInModel(mdlInfo,mdl,true); mdlInfo = setLogAsSpecifiedInModel(mdlInfo,mdlInner,false);
The getLogAsSpecifiedInModel function returns the logging mode.
outerLogMode = getLogAsSpecifiedInModel(mdlInfo,mdl)
outerLogMode = logical
1
innerLogMode = getLogAsSpecifiedInModel(mdlInfo,mdlInner)
innerLogMode = logical
0
Apply the model override object settings. Then, simulate the model. The software logs only those signals marked for logging in the top model.
set_param(mdl,DataLoggingOverride=mdlInfo); out1 = sim(mdl); out1.logsout
ans =
Simulink.SimulationData.Dataset 'logsout' with 3 elements
Name BlockPath
__________ _________________________
1 [1x1 Signal] BatchData CounterSystem/Concatenate
2 [1x1 Signal] OuterCount CounterSystem/Model
3 [1x1 Signal] Controls CounterSystem/Subsystem
- Use braces { } to access, modify, or add elements using index.
You can also use the setLogAsSpecifiedInModel function to log only signals in the referenced model using the logging settings specified in that model. Set the outer model to use override settings. Then, set the inner model to log signals as specified in the model.
mdlInfo = setLogAsSpecifiedInModel(mdlInfo,mdl,false); mdlInfo = setLogAsSpecifiedInModel(mdlInfo,mdlInner,true);
To verify that the logging mode for the top model and inner model have changed, you can use the getLogAsSpecifiedInModel function.
outerLogMode = getLogAsSpecifiedInModel(mdlInfo,mdl)
outerLogMode = logical
0
innerLogMode = getLogAsSpecifiedInModel(mdlInfo,mdlInner)
innerLogMode = logical
1
Apply the model override object settings. Then, simulate the model. This time, the software logs only the InnerCount signal.
set_param(mdl,DataLoggingOverride=mdlInfo); out2 = sim(mdl); out2.logsout
ans =
Simulink.SimulationData.Dataset 'logsout' with 1 element
Name BlockPath
__________ ________________________________________
1 [1x1 Signal] InnerCount ...l|CounterAlgorithm/For Each Subsystem
- Use braces { } to access, modify, or add elements using index.
Input Arguments
Model logging override object, specified as a
Simulink.SimulationData.ModelLoggingInfo object.
Target model, specified as a string or character vector. You can define the target model using one of these options:
Name of the top model
Block path of a Model block in the top model
Logging mode, specified as a numeric or logical 1
(true) or 0 (false).
true— The model specified bymdlis logged as specified in the model.false— The model specified bymdlis logged using the override settings specified in theSignalsproperty of theSimulink.SimulationData.ModelLogginIfoobject.
Version History
Introduced in R2012b
See Also
Objects
Functions
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Sélectionner un site web
Choisissez un site web pour accéder au contenu traduit dans votre langue (lorsqu'il est disponible) et voir les événements et les offres locales. D’après votre position, nous vous recommandons de sélectionner la région suivante : .
Vous pouvez également sélectionner un site web dans la liste suivante :
Comment optimiser les performances du site
Pour optimiser les performances du site, sélectionnez la région Chine (en chinois ou en anglais). Les sites de MathWorks pour les autres pays ne sont pas optimisés pour les visites provenant de votre région.
Amériques
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)