MATLAB Answers

enable log signals through command line.

2 views (last 30 days)
Pika
Pika on 20 Jul 2012
Answered: Cou on 13 Nov 2017
I have several reference models which has logging/test point signals. I use Simulink Signal Logging Selector to enable/disable these signals but I would like to do this through the command line. How do I do this? I have tried Simulink.SimulationData.ModelLoggingInfo.createFromModel. What do i do after this? I also then tried findSignal but it always comes back with an empty array.

  0 Comments

Sign in to comment.

Accepted Answer

Albert Yam
Albert Yam on 20 Jul 2012
Edited: Albert Yam on 20 Jul 2012
I remember doing this before, but I can't find the code. I had to : 1) find the block 2) get the line (out of the block) 3) go back and find the source port 4) set your options there
lh=get_param(gcb,'LineHandles');
lhh=get_param(lh.Outport,'Handle');
sph =get_param(lhh,'SrcPortHandle');
set_param(sph,'DataLogging',1); %this changed for newer versions I think
get_param(sph,'ObjectParameters') %there will be other things you will want
%decimation, limit results to last XX points
Edit:I'm using Simulink 6.6.1, so things might be different now.

  0 Comments

Sign in to comment.

More Answers (1)

Cou
Cou on 13 Nov 2017
I realize this is an old thread and an answer has been accepted, however it appears at the top of google search results. I thought I'd add a method that preserves the logged signal in the Simulink model but programmatically disables logging. The code below is essentially the same as unchecking the "DataLogging" boxes in the Simulink Signal Logging Selector. Make sure logging mode is set to "Override signals." This tutorial was helpful as well: Log Data in Library Charts
mi = Simulink.SimulationData.ModelLoggingInfo.createFromModel(gcs);
for i = 1:numel(mi.Signals)
mi.Signals(i).LoggingInfo.DataLogging = 0;
end
set_param(gcs, 'DataLoggingOverride', mi)

  0 Comments

Sign in to comment.

Sign in to answer this question.

Tags

Products


Translated by