enable log signals through command line.

조회 수: 4(최근 30일)
Pika
Pika 2012년 7월 20일
댓글: Cou 2020년 7월 27일
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.

채택된 답변

Albert Yam
Albert Yam 2012년 7월 20일
편집: Albert Yam 2012년 7월 20일
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.

추가 답변(1개)

Cou
Cou 2017년 11월 13일
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)
  댓글 수: 2
Cou
Cou 2020년 7월 27일
I am using 2016b.

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

태그

제품

Community Treasure Hunt

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

Start Hunting!

Translated by