How can I disable signal logging for all the signals in my model?

조회 수: 133 (최근 30일)
I've instrumented many signals in my Simulink model with the blue wi-fi badge. How can I disable data logging for all signals in my model?

채택된 답변

MathWorks Support Team
MathWorks Support Team 2025년 8월 11일
편집: MathWorks Support Team 2025년 8월 11일

Option 1: Disable DataLogging programmatically

You can disable signal logging for all signals using the following code (replace 'gcs' with your model name if needed):
mdlsignals = find_system(gcs,'FindAll','on','LookUnderMasks','all','FollowLinks','on','type','line','SegmentType','trunk'); ph = get_param(mdlsignals,'SrcPortHandle'); for i=1: length(ph) set_param(ph{i},'DataLogging','off'); end
To disable signal logging across an entire Simulink model, including any library-linked sub-models, referenced models, reference and library models within variant subsystems, see:

Option 2: Consider Signal Logging Override

Alternatively, consider using Signal Logging Override. This lets you temporarily disable all logging via the Signal Logging Selector, and easily revert to your original settings later.
To access it, open the Simulink Toolstrip, go to the Simulation tab, then Prepare > Configure Logging, and click "Configure Signals to Log." At the top of the dialog, select "Override signals" and use Ctrl+A to select all signals on the right and disable DataLogging:
You can also configure how model references behave here. To restore your original setup, simply switch back to "Log all signals as specified in model."
If your model includes subsystems or model references, the UI workflow can be cumbersome since you need to go through each one individually. In such cases, you can automate the process programmatically: 
  댓글 수: 3
Simon Silge
Simon Silge 2024년 7월 9일
편집: Simon Silge 2024년 7월 9일
Just to add another pointer: you can override your logging settings using the Signal Logging Selector and deactivate all logging for a model there. The advantage is that you can afterwards switch back to your original setup with all signals logging as specified before.
To open go to: Simulink Toolstrip: On the Modeling tab, click Model Settings > Data Import/Export. Then, click Configure Signals to Log.
On the top you can choose between different logging modes. Choose "Override signals". Next select all the signals on the list on the right (Ctrl+A to select all).
For model references you can also specify here how they should behave. When you want to go back to your original setting you can change from "override signals" to "Log all signals as specified in model".
If you have subsystems and model references the workflow via UI is still cumbersome as you need to go through them one by one. But you can also use this tool programmatically:
Stefanie Schwarz
Stefanie Schwarz 2025년 8월 11일
We added Signal Logging Override as another option to the original answer. Thanks!

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Keqin Xu
Keqin Xu 2020년 11월 3일
편집: Stefanie Schwarz 2025년 8월 11일
I made a convenient shortcut out of the following script.
% this will remove logging of any selected signals in the Simulinkmodel
mn=inputdlg({'Input SimuLink Model Name:'},'',1,{''});
if ~isempty(mn)
if exist(mn{1})==4
mdlsignals = find_system(mn,'FindAll','on','LookUnderMasks','all','FollowLinks','on','type','line','SegmentType','trunk');
ph = get_param(mdlsignals,'SrcPortHandle');
for i=1: length(ph)
set_param(ph{i},'datalogging','off')
end
msgbox(['Any signal loggings in "',mn{1},'" have been removed.'])
else
msgbox(['"',mn{1},'" is not a valid Simulink model.'])
end
end

카테고리

Help CenterFile Exchange에서 Save Run-Time Data from Simulation에 대해 자세히 알아보기

제품


릴리스

R2015b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by